diff --git a/discovery/adexchangebuyer2-v2beta1.json b/discovery/adexchangebuyer2-v2beta1.json index 40b50550dac..0b34685c46c 100644 --- a/discovery/adexchangebuyer2-v2beta1.json +++ b/discovery/adexchangebuyer2-v2beta1.json @@ -3115,7 +3115,7 @@ } } }, - "revision": "20260319", + "revision": "20260602", "rootUrl": "https://adexchangebuyer.googleapis.com/", "schemas": { "AbsoluteDateRange": { @@ -3514,7 +3514,15 @@ "CompleteSetupRequest": { "description": "Request message for indicating that the proposal's setup step is complete.", "id": "CompleteSetupRequest", - "properties": {}, + "properties": { + "externalDealIds": { + "description": "The external deal ids of the deals to mark as setup completed. If empty, all the deals in the proposal will be marked as setup completed.", + "items": { + "type": "string" + }, + "type": "array" + } + }, "type": "object" }, "ContactInformation": { diff --git a/discovery/admin-directory_v1.json b/discovery/admin-directory_v1.json index 3b6be964ed3..498bd4ff65c 100644 --- a/discovery/admin-directory_v1.json +++ b/discovery/admin-directory_v1.json @@ -4729,7 +4729,7 @@ } } }, - "revision": "20260522", + "revision": "20260531", "rootUrl": "https://admin.googleapis.com/", "schemas": { "Alias": { @@ -8008,6 +8008,11 @@ "readOnly": true, "type": "array" }, + "archivalTime": { + "description": "Output only. User's account archival time. (Read-only)", + "readOnly": true, + "type": "string" + }, "archived": { "description": "Indicates if user is archived.", "type": "boolean" @@ -8213,6 +8218,11 @@ "readOnly": true, "type": "string" }, + "suspensionTime": { + "description": "Output only. User's account suspension time. (Read-only)", + "readOnly": true, + "type": "string" + }, "thumbnailPhotoEtag": { "description": "Output only. ETag of the user's photo (Read-only)", "readOnly": true, diff --git a/discovery/aiplatform-v1.json b/discovery/aiplatform-v1.json index a641b00c5b2..622d8b9af45 100644 --- a/discovery/aiplatform-v1.json +++ b/discovery/aiplatform-v1.json @@ -22751,7 +22751,7 @@ "type": "string" }, "updateMask": { - "description": "Optional. Mask specifying which fields to update. Supported fields: * `display_name` * `description` * `fact`", + "description": "Optional. Mask specifying which fields to update. The following fields are immutable: * `scope` * `memory_type`", "format": "google-fieldmask", "location": "query", "type": "string" @@ -32357,7 +32357,7 @@ } } }, - "revision": "20260509", + "revision": "20260523", "rootUrl": "https://aiplatform.googleapis.com/", "schemas": { "CloudAiLargeModelsVisionGenerateVideoExperiments": { @@ -32398,6 +32398,10 @@ "format": "int32", "type": "integer" }, + "originalRequestJson": { + "description": "The original REST API request JSON sent by the user, in the instances/parameters format. Preserved for saving alongside output artifacts so users can reproduce their requests. This field is populated by the API handler and is not user-settable.", + "type": "string" + }, "promptInputs": { "$ref": "CloudAiLargeModelsVisionPromptInputs", "description": "Prompt chunks for \"ProModel\" prompting. If set, the prompt will not be rewritten, and top-level prompt ignored." @@ -36063,6 +36067,18 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1CreateServingProfileOperationMetadata": { + "description": "Runtime operation metadata for ServingProfileService.CreateServingProfile.", + "id": "GoogleCloudAiplatformV1CreateServingProfileOperationMetadata", + "properties": { + "genericMetadata": { + "$ref": "GoogleCloudAiplatformV1GenericOperationMetadata", + "description": "Output only. The standard operation metadata for Vertex AI.", + "readOnly": true + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1CreateSpecialistPoolOperationMetadata": { "description": "Runtime operation information for SpecialistPoolService.CreateSpecialistPool.", "id": "GoogleCloudAiplatformV1CreateSpecialistPoolOperationMetadata", @@ -50959,7 +50975,7 @@ "type": "object" }, "GoogleCloudAiplatformV1PersistentDiskSpec": { - "description": "Represents the spec of persistent disk options.", + "description": "Represents the spec of persistent disk and hyperdisk options.", "id": "GoogleCloudAiplatformV1PersistentDiskSpec", "properties": { "diskSizeGb": { @@ -50968,7 +50984,7 @@ "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)", + "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) \"hyperdisk-balanced\" (Hyperdisk Balanced) \"hyperdisk-extreme\" (Hyperdisk Extreme) \"hyperdisk-balanced-high-availability\" (Hyperdisk Balanced High Availability) \"hyperdisk-ml\" (Hyperdisk ML) \"hyperdisk-throughput\" (Hyperdisk Throughput)", "type": "string" } }, @@ -55998,6 +56014,10 @@ "The default container image for Computer Use." ], "type": "string" + }, + "resources": { + "$ref": "GoogleCloudAiplatformV1SandboxEnvironmentTemplateResourceRequirements", + "description": "Optional. Resource requests and limits for the default container." } }, "type": "object" @@ -63186,6 +63206,10 @@ "$ref": "GoogleCloudAiplatformV1EnterpriseWebSearch", "description": "Optional. Tool to support searching public web data, powered by Vertex AI Search and Sec4 compliance." }, + "exaAiSearch": { + "$ref": "GoogleCloudAiplatformV1ToolExaAiSearch", + "description": "Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation" + }, "functionDeclarations": { "description": "Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided.", "items": { @@ -63350,6 +63374,25 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1ToolExaAiSearch": { + "description": "ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding.", + "id": "GoogleCloudAiplatformV1ToolExaAiSearch", + "properties": { + "apiKey": { + "description": "Required. The API key for ExaAiSearch.", + "type": "string" + }, + "customConfigs": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional. This field can be used to pass any parameter from the Exa.ai Search API.", + "type": "object" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1ToolGoogleSearch": { "description": "GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google.", "id": "GoogleCloudAiplatformV1ToolGoogleSearch", diff --git a/discovery/aiplatform-v1beta1.json b/discovery/aiplatform-v1beta1.json index 5ab500959af..bc03fbe70f1 100644 --- a/discovery/aiplatform-v1beta1.json +++ b/discovery/aiplatform-v1beta1.json @@ -8951,6 +8951,31 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "getSemanticGovernancePolicyEngine": { + "description": "Gets a SemanticGovernancePolicyEngine. A SemanticGovernancePolicyEngine is a singleton resource that is created when its parent is created, and deleted when its parent is deleted. This method retrieves the current state of the Semantic Governance Policy Engine.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/semanticGovernancePolicyEngine", + "httpMethod": "GET", + "id": "aiplatform.projects.locations.getSemanticGovernancePolicyEngine", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the SemanticGovernancePolicyEngine to retrieve. Format: projects/{project}/locations/{location}/semanticGovernancePolicyEngine", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/semanticGovernancePolicyEngine$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "GoogleCloudAiplatformV1beta1SemanticGovernancePolicyEngine" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "list": { "description": "Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.", "flatPath": "v1beta1/projects/{projectsId}/locations", @@ -9081,13 +9106,47 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] + }, + "updateSemanticGovernancePolicyEngine": { + "description": "Updates a SemanticGovernancePolicyEngine. This method performs an upsert operation. If the SemanticGovernancePolicyEngine resource does not exist, it will be created. Otherwise, it will be updated.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/semanticGovernancePolicyEngine", + "httpMethod": "PATCH", + "id": "aiplatform.projects.locations.updateSemanticGovernancePolicyEngine", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The resource name of the SemanticGovernancePolicyEngine. Format: projects/{project}/locations/{location}/semanticGovernancePolicyEngine", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/semanticGovernancePolicyEngine$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. Specifies the fields to be overwritten in the SemanticGovernancePolicyEngine resource by the update. The fields specified in the update_mask are relative to the resource itself. If no update_mask is provided, all fields are overwritten.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "request": { + "$ref": "GoogleCloudAiplatformV1beta1SemanticGovernancePolicyEngine" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] } }, "resources": { "agents": { "methods": { "create": { - "description": "Creates a new Agent in a given location.", + "description": "Creates an agent.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/agents", "httpMethod": "POST", "id": "aiplatform.projects.locations.agents.create", @@ -9115,7 +9174,7 @@ ] }, "delete": { - "description": "Deletes the specific Agent.", + "description": "Deletes an agent.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}", "httpMethod": "DELETE", "id": "aiplatform.projects.locations.agents.delete", @@ -9124,7 +9183,7 @@ ], "parameters": { "name": { - "description": "Required. The resource name of the agent. Format: `projects/{project}/locations/{location}/agents/{agent}`", + "description": "Required. The resource name of the agent to delete. Format: `projects/{project}/locations/{location}/agents/{agent}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$", "required": true, @@ -9140,7 +9199,7 @@ ] }, "get": { - "description": "Gets details of the specific Agent.", + "description": "Retrieves an agent.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}", "httpMethod": "GET", "id": "aiplatform.projects.locations.agents.get", @@ -9149,7 +9208,7 @@ ], "parameters": { "name": { - "description": "Required. The resource name of the agent. Format: `projects/{project}/locations/{location}/agents/{agent}`.", + "description": "Required. The resource name of the agent to retrieve. Format: `projects/{project}/locations/{location}/agents/{agent}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$", "required": true, @@ -9165,7 +9224,7 @@ ] }, "list": { - "description": "Lists Agents in a given location.", + "description": "Lists agents in a location.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/agents", "httpMethod": "GET", "id": "aiplatform.projects.locations.agents.list", @@ -9174,23 +9233,23 @@ ], "parameters": { "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` Example: `create_time desc`.", + "description": "Optional. A comma-separated list of fields to order by. Supported fields: * `create_time` * `update_time` Use `desc` after a field name for descending order. Example: `create_time desc`.", "location": "query", "type": "string" }, "pageSize": { - "description": "Optional. The maximum number of agents to return. The service may return fewer than this value. If unspecified, at most 100 agents will be returned.", + "description": "Optional. The maximum number of agents to return. The service may return fewer than this value. The maximum page size is 100; values above 100 will be coerced to 100. If unspecified, the default page size is 10.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "Optional. The next_page_token value returned from a previous list AgentService.ListAgents call.", + "description": "Optional. A page token, received from a previous AgentService.ListAgents call. Provide this to retrieve the subsequent page.", "location": "query", "type": "string" }, "parent": { - "description": "Required. The resource name of the location to list agents from. Format: `projects/{project}/locations/{location}", + "description": "Required. The resource name of the location to list agents from. Format: `projects/{project}/locations/{location}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -9206,7 +9265,7 @@ ] }, "patch": { - "description": "Updates the specific Agent.", + "description": "Updates an agent.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}", "httpMethod": "PATCH", "id": "aiplatform.projects.locations.agents.patch", @@ -9215,14 +9274,14 @@ ], "parameters": { "name": { - "description": "Identifier. The resource name of the Agent. Format: `projects/{project}/locations/{location}/agents/{agent}`.", + "description": "Identifier. The resource name of the agent. Format: `projects/{project}/locations/{location}/agents/{agent}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$", "required": true, "type": "string" }, "updateMask": { - "description": "Optional. Field mask is used to control which fields get updated. If the mask is not present, all fields will be updated.", + "description": "Optional. The list of fields to update. If not present, all fields are updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -31168,7 +31227,7 @@ "type": "string" }, "updateMask": { - "description": "Optional. Mask specifying which fields to update. Supported fields: * `display_name` * `description` * `fact`", + "description": "Optional. Mask specifying which fields to update. The following fields are immutable: * `scope` * `memory_type`", "format": "google-fieldmask", "location": "query", "type": "string" @@ -34511,6 +34570,166 @@ } }, "semanticGovernancePolicies": { + "methods": { + "create": { + "description": "Creates a SemanticGovernancePolicy.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/semanticGovernancePolicies", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.semanticGovernancePolicies.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The resource name of the Location into which to create the SemanticGovernancePolicy. Format: `projects/{project}/locations/{location}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "semanticGovernancePolicyId": { + "description": "Required. The ID to use for the SemanticGovernancePolicy, which will become the final component of the SemanticGovernancePolicy's 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. The last character must be a letter or a number.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+parent}/semanticGovernancePolicies", + "request": { + "$ref": "GoogleCloudAiplatformV1beta1SemanticGovernancePolicy" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a SemanticGovernancePolicy.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/semanticGovernancePolicies/{semanticGovernancePoliciesId}", + "httpMethod": "DELETE", + "id": "aiplatform.projects.locations.semanticGovernancePolicies.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "etag": { + "description": "Optional. The etag of the SemanticGovernancePolicy. If an etag is provided and does not match the current etag of the SemanticGovernancePolicy, deletion will be blocked and an ABORTED error will be returned.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The name of the SemanticGovernancePolicy resource to be deleted. Format: `projects/{project}/locations/{location}/semanticGovernancePolicies/{semantic_governance_policy}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/semanticGovernancePolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets a SemanticGovernancePolicy.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/semanticGovernancePolicies/{semanticGovernancePoliciesId}", + "httpMethod": "GET", + "id": "aiplatform.projects.locations.semanticGovernancePolicies.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the SemanticGovernancePolicy resource. Format: `projects/{project}/locations/{location}/semanticGovernancePolicies/{semantic_governance_policy}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/semanticGovernancePolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "GoogleCloudAiplatformV1beta1SemanticGovernancePolicy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists SemanticGovernancePolicies in a given location.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/semanticGovernancePolicies", + "httpMethod": "GET", + "id": "aiplatform.projects.locations.semanticGovernancePolicies.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. The list page size. If zero, a default page size of 10 is used.", + "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 from which to list the SemanticGovernancePolicies. Format: `projects/{project}/locations/{location}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/semanticGovernancePolicies", + "response": { + "$ref": "GoogleCloudAiplatformV1beta1ListSemanticGovernancePoliciesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates a SemanticGovernancePolicy.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/semanticGovernancePolicies/{semanticGovernancePoliciesId}", + "httpMethod": "PATCH", + "id": "aiplatform.projects.locations.semanticGovernancePolicies.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. Resource name of the SemanticGovernancePolicy.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/semanticGovernancePolicies/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. `update_mask` is used to specify the fields to be overwritten in the SemanticGovernancePolicy 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 mask is not present, then all fields that are populated in the request message will be overwritten. Set the `update_mask` to `*` to override all fields.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "request": { + "$ref": "GoogleCloudAiplatformV1beta1SemanticGovernancePolicy" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, "resources": { "operations": { "methods": { @@ -34637,169 +34856,9 @@ }, "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}/semanticGovernancePolicies/{semanticGovernancePoliciesId}/operations/{operationsId}:wait", - "httpMethod": "POST", - "id": "aiplatform.projects.locations.semanticGovernancePolicies.operations.wait", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "The name of the operation resource to wait on.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/semanticGovernancePolicies/[^/]+/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" - ] - } - } - } - } - }, - "semanticGovernancePolicyEngine": { - "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}/semanticGovernancePolicyEngine/operations/{operationsId}:cancel", - "httpMethod": "POST", - "id": "aiplatform.projects.locations.semanticGovernancePolicyEngine.operations.cancel", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "The name of the operation resource to be cancelled.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/semanticGovernancePolicyEngine/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}/semanticGovernancePolicyEngine/operations/{operationsId}", - "httpMethod": "DELETE", - "id": "aiplatform.projects.locations.semanticGovernancePolicyEngine.operations.delete", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "The name of the operation resource to be deleted.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/semanticGovernancePolicyEngine/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}/semanticGovernancePolicyEngine/operations/{operationsId}", - "httpMethod": "GET", - "id": "aiplatform.projects.locations.semanticGovernancePolicyEngine.operations.get", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "The name of the operation resource.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/semanticGovernancePolicyEngine/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}/semanticGovernancePolicyEngine/operations", - "httpMethod": "GET", - "id": "aiplatform.projects.locations.semanticGovernancePolicyEngine.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/[^/]+/semanticGovernancePolicyEngine$", - "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" - }, - "returnPartialSuccess": { - "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `\"projects/example/locations/-\"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", - "location": "query", - "type": "boolean" - } - }, - "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}/semanticGovernancePolicyEngine/operations/{operationsId}:wait", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/semanticGovernancePolicies/{semanticGovernancePoliciesId}/operations/{operationsId}:wait", "httpMethod": "POST", - "id": "aiplatform.projects.locations.semanticGovernancePolicyEngine.operations.wait", + "id": "aiplatform.projects.locations.semanticGovernancePolicies.operations.wait", "parameterOrder": [ "name" ], @@ -34807,7 +34866,7 @@ "name": { "description": "The name of the operation resource to wait on.", "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/semanticGovernancePolicyEngine/operations/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/semanticGovernancePolicies/[^/]+/operations/[^/]+$", "required": true, "type": "string" }, @@ -34830,6 +34889,38 @@ } } }, + "semanticGovernancePolicyEngine": { + "methods": { + "deprovision": { + "description": "Deprovisions the SemanticGovernancePolicyEngine, tearing down the associated tenant project, GKE cluster, and PSC service attachments. This operation is irreversible. Returns a long-running operation; poll for completion. The response contains the SemanticGovernancePolicyEngine in DEPROVISIONING state.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/semanticGovernancePolicyEngine:deprovision", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.semanticGovernancePolicyEngine.deprovision", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the SemanticGovernancePolicyEngine to deprovision. Format: projects/{project}/locations/{location}/semanticGovernancePolicyEngine", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/semanticGovernancePolicyEngine$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}:deprovision", + "request": { + "$ref": "GoogleCloudAiplatformV1beta1DeprovisionSemanticGovernancePolicyEngineRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "servingProfiles": { "resources": { "operations": { @@ -35009,7 +35100,7 @@ "type": "string" }, "skillId": { - "description": "Optional. The ID to use for the Skill, which will become the final component of the Skill's resource name. If not provided, a system-generated ID will be used. This value must be 1-63 characters. Valid characters are lowercase letters, numbers, and hyphens. The first character must be a lowercase letter, and the last character must be a lowercase letter or a number. Specifically, the ID must match the regular expression: `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$` See [AIP-122](https://aip.dev/122#resource-id-segments) for more details.", + "description": "Required. The ID to use for the Skill, which will become the final component of the Skill's resource name. If not provided, a system-generated ID will be used. This value must be 1-63 characters. Valid characters are lowercase letters, numbers, and hyphens. The first character must be a lowercase letter, and the last character must be a lowercase letter or a number. Specifically, the ID must match the regular expression: `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$` See [AIP-122](https://aip.dev/122#resource-id-segments) for more details.", "location": "query", "type": "string" } @@ -38668,6 +38759,34 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "processData": { + "description": "Processes data from a user's Cloud Storage bucket and saves the result to a destination Cloud Storage bucket. This method returns a long-running operation, and the `ProcessDataResponse` will be returned upon completion.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tuningJobs:processData", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.tuningJobs.processData", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The resource name of the Location to process the data in. Format: `projects/{project}/locations/{location}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/tuningJobs:processData", + "request": { + "$ref": "GoogleCloudAiplatformV1beta1ProcessDataRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "rebaseTunedModel": { "description": "Rebase a tuned model. A rebase operation takes a model that was previously tuned on a base model version, and retunes it on a new base model version. The rebase operation creates a new tuning job and a new tuned model.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tuningJobs:rebaseTunedModel", @@ -41300,7 +41419,7 @@ "type": "string" }, "updateMask": { - "description": "Optional. Mask specifying which fields to update. Supported fields: * `display_name` * `description` * `fact`", + "description": "Optional. Mask specifying which fields to update. The following fields are immutable: * `scope` * `memory_type`", "format": "google-fieldmask", "location": "query", "type": "string" @@ -44495,166 +44614,6 @@ } } }, - "semanticGovernancePolicyEngine": { - "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/semanticGovernancePolicyEngine/operations/{operationsId}:cancel", - "httpMethod": "POST", - "id": "aiplatform.semanticGovernancePolicyEngine.operations.cancel", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "The name of the operation resource to be cancelled.", - "location": "path", - "pattern": "^semanticGovernancePolicyEngine/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/semanticGovernancePolicyEngine/operations/{operationsId}", - "httpMethod": "DELETE", - "id": "aiplatform.semanticGovernancePolicyEngine.operations.delete", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "The name of the operation resource to be deleted.", - "location": "path", - "pattern": "^semanticGovernancePolicyEngine/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/semanticGovernancePolicyEngine/operations/{operationsId}", - "httpMethod": "GET", - "id": "aiplatform.semanticGovernancePolicyEngine.operations.get", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "The name of the operation resource.", - "location": "path", - "pattern": "^semanticGovernancePolicyEngine/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/semanticGovernancePolicyEngine/operations", - "httpMethod": "GET", - "id": "aiplatform.semanticGovernancePolicyEngine.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": "^semanticGovernancePolicyEngine$", - "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" - }, - "returnPartialSuccess": { - "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `\"projects/example/locations/-\"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", - "location": "query", - "type": "boolean" - } - }, - "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/semanticGovernancePolicyEngine/operations/{operationsId}:wait", - "httpMethod": "POST", - "id": "aiplatform.semanticGovernancePolicyEngine.operations.wait", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "The name of the operation resource to wait on.", - "location": "path", - "pattern": "^semanticGovernancePolicyEngine/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" - ] - } - } - } - } - }, "servingProfiles": { "resources": { "operations": { @@ -46515,7 +46474,7 @@ } } }, - "revision": "20260515", + "revision": "20260523", "rootUrl": "https://aiplatform.googleapis.com/", "schemas": { "CloudAiLargeModelsVisionGenerateVideoExperiments": { @@ -46556,6 +46515,10 @@ "format": "int32", "type": "integer" }, + "originalRequestJson": { + "description": "The original REST API request JSON sent by the user, in the instances/parameters format. Preserved for saving alongside output artifacts so users can reproduce their requests. This field is populated by the API handler and is not user-settable.", + "type": "string" + }, "promptInputs": { "$ref": "CloudAiLargeModelsVisionPromptInputs", "description": "Prompt chunks for \"ProModel\" prompting. If set, the prompt will not be rewritten, and top-level prompt ignored." @@ -47213,7 +47176,7 @@ "GenaiVertexV1beta1ArgumentsDelta": { "id": "GenaiVertexV1beta1ArgumentsDelta", "properties": { - "partial_arguments": { + "arguments": { "type": "string" } }, @@ -47355,12 +47318,12 @@ "enum": [ "DELIVERY_UNSPECIFIED", "INLINE", - "URL" + "URI" ], "enumDescriptions": [ "Default value. This value is unused.", "Audio data is returned inline in the response.", - "Audio data is returned as a URL." + "Audio data is returned as a URI." ], "type": "string" }, @@ -47791,6 +47754,107 @@ }, "type": "object" }, + "GenaiVertexV1beta1EnvironmentConfig": { + "description": "Configuration for a custom environment.", + "id": "GenaiVertexV1beta1EnvironmentConfig", + "properties": { + "networkAllowlist": { + "$ref": "GenaiVertexV1beta1EnvironmentConfigEnvironmentNetworkEgressAllowlist", + "description": "Allow only specific domains." + }, + "networkMode": { + "description": "Network egress mode.", + "enum": [ + "NETWORK_MODE_UNSPECIFIED", + "DISABLED" + ], + "enumDescriptions": [ + "Default value. Unused.", + "All network egress is blocked." + ], + "type": "string" + }, + "sources": { + "items": { + "$ref": "GenaiVertexV1beta1EnvironmentConfigSource" + }, + "type": "array" + } + }, + "type": "object" + }, + "GenaiVertexV1beta1EnvironmentConfigEgressRule": { + "description": "A network egress rule that controls which external domains the environment is allowed to reach. Each rule identifies a target domain and, optionally, a set of HTTP headers to inject into every matching outbound request.", + "id": "GenaiVertexV1beta1EnvironmentConfigEgressRule", + "properties": { + "domain": { + "description": "The domain pattern to match for this rule. Use an exact hostname (e.g., `github.com`), a wildcard prefix (e.g., `*.googleapis.com`), or `*` to match all domains.", + "type": "string" + }, + "transform": { + "additionalProperties": { + "type": "string" + }, + "description": "Headers to inject into requests matching this rule. Key: header name (e.g., \"Authorization\"). Value: header value (e.g., \"Bearer your-token\").", + "type": "object" + } + }, + "type": "object" + }, + "GenaiVertexV1beta1EnvironmentConfigEnvironmentNetworkEgressAllowlist": { + "description": "Network egress configuration for the environment.", + "id": "GenaiVertexV1beta1EnvironmentConfigEnvironmentNetworkEgressAllowlist", + "properties": { + "allowlist": { + "description": "List of allowed domains and their configurations.", + "items": { + "$ref": "GenaiVertexV1beta1EnvironmentConfigEgressRule" + }, + "type": "array" + } + }, + "type": "object" + }, + "GenaiVertexV1beta1EnvironmentConfigSource": { + "description": "A source to be mounted into the environment.", + "id": "GenaiVertexV1beta1EnvironmentConfigSource", + "properties": { + "content": { + "description": "The inline content if `type` is `INLINE`.", + "type": "string" + }, + "encoding": { + "description": "Optional encoding for inline content (e.g. `base64`).", + "type": "string" + }, + "source": { + "description": "The source of the environment. For GCS, this is the GCS path. For GitHub, this is the GitHub path.", + "type": "string" + }, + "target": { + "description": "Where the source should appear in the environment.", + "type": "string" + }, + "type": { + "enum": [ + "TYPE_UNSPECIFIED", + "GCS", + "INLINE", + "REPOSITORY", + "SKILL_REGISTRY" + ], + "enumDescriptions": [ + "", + "A GCS bucket.", + "Inline content.", + "A generic repository. The protocol prefix in the source URL identifies the provider (e.g., github://, gcs://).", + "A skill resource from the Skill Registry Service. Skill: projects/{project}/locations/{location}/skills/{skill} SkillRevision: projects/{project}/locations/{location}/skills/{skill}/revisions/{revision} Support mounting all skills under a project: projects/{project}/locations/{location}/skills." + ], + "type": "string" + } + }, + "type": "object" + }, "GenaiVertexV1beta1Error": { "description": "Error message from an interaction.", "id": "GenaiVertexV1beta1Error", @@ -48085,6 +48149,7 @@ "properties": { "image_config": { "$ref": "GenaiVertexV1beta1ImageConfig", + "deprecated": true, "description": "Configuration for image interaction." }, "max_output_tokens": { @@ -48747,12 +48812,12 @@ "enum": [ "DELIVERY_UNSPECIFIED", "INLINE", - "URL" + "URI" ], "enumDescriptions": [ "Default value. This value is unused.", "Image data is returned inline in the response.", - "Image data is returned as a URL." + "Image data is returned as a URI." ], "type": "string" }, @@ -48811,6 +48876,15 @@ "readOnly": true, "type": "string" }, + "env_id": { + "description": "The environment ID for the interaction. Can be 'remote' for default environment.", + "type": "string" + }, + "environment_id": { + "description": "Output only. The environment ID for the interaction. Only populated if environment config is set in the request.", + "readOnly": true, + "type": "string" + }, "id": { "description": "Required. Output only. A unique identifier for the interaction completion.", "readOnly": true, @@ -48833,6 +48907,9 @@ "description": "The ID of the previous interaction, if any.", "type": "string" }, + "remoteEnvironment": { + "$ref": "GenaiVertexV1beta1EnvironmentConfig" + }, "responseFormatList": { "$ref": "GenaiVertexV1beta1ResponseFormatList" }, @@ -48845,6 +48922,7 @@ "description": "Enforces that the generated response is a JSON object that complies with the JSON schema specified in this field." }, "response_mime_type": { + "deprecated": true, "description": "The mime type of the response. This is required if response_format is set.", "type": "string" }, @@ -48886,7 +48964,8 @@ "COMPLETED", "FAILED", "CANCELLED", - "INCOMPLETE" + "INCOMPLETE", + "BUDGET_EXCEEDED" ], "enumDescriptions": [ "Default value. This value is unused.", @@ -48895,7 +48974,8 @@ "The interaction is completed.", "The interaction failed.", "The interaction was cancelled.", - "The interaction is completed, but contains incomplete results (e.g. hitting max_tokens)." + "The interaction is completed, but contains incomplete results (e.g. hitting max_tokens).", + "The interaction was halted because the token budget was exceeded." ], "readOnly": true, "type": "string" @@ -48905,7 +48985,7 @@ "description": "Input only. The steps for the interaction." }, "steps": { - "description": "Output only. The steps that make up the interaction.", + "description": "Required. Output only. The steps that make up the interaction.", "items": { "$ref": "GenaiVertexV1beta1Step" }, @@ -48999,7 +49079,8 @@ "COMPLETED", "FAILED", "CANCELLED", - "INCOMPLETE" + "INCOMPLETE", + "BUDGET_EXCEEDED" ], "enumDescriptions": [ "Default value. This value is unused.", @@ -49008,7 +49089,8 @@ "The interaction is completed.", "The interaction failed.", "The interaction was cancelled.", - "The interaction is completed, but contains incomplete results (e.g. hitting max_tokens)." + "The interaction is completed, but contains incomplete results (e.g. hitting max_tokens).", + "The interaction was halted because the token budget was exceeded." ], "type": "string" } @@ -49060,6 +49142,10 @@ "$ref": "GenaiVertexV1beta1InteractionStatusUpdate", "description": "The interaction status data, used for interaction.status_update events." }, + "metadata": { + "$ref": "GenaiVertexV1beta1StreamMetadata", + "description": "Optional metadata accompanying ANY streamed event." + }, "stepDelta": { "$ref": "GenaiVertexV1beta1StepDelta", "description": "The step delta data, used for step.delta events." @@ -49427,9 +49513,6 @@ }, "text": { "$ref": "GenaiVertexV1beta1TextResponseFormat" - }, - "video": { - "$ref": "GenaiVertexV1beta1VideoResponseFormat" } }, "type": "object" @@ -49491,6 +49574,64 @@ }, "type": "object" }, + "GenaiVertexV1beta1ServerToolCallDelta": { + "id": "GenaiVertexV1beta1ServerToolCallDelta", + "properties": { + "codeExecutionCall": { + "$ref": "GenaiVertexV1beta1CodeExecutionCallDelta" + }, + "fileSearchCall": { + "$ref": "GenaiVertexV1beta1FileSearchCallDelta" + }, + "googleMapsCall": { + "$ref": "GenaiVertexV1beta1GoogleMapsCallDelta" + }, + "googleSearchCall": { + "$ref": "GenaiVertexV1beta1GoogleSearchCallDelta" + }, + "mcpServerToolCall": { + "$ref": "GenaiVertexV1beta1McpServerToolCallDelta" + }, + "signature": { + "description": "A signature hash for backend validation.", + "format": "byte", + "type": "string" + }, + "urlContextCall": { + "$ref": "GenaiVertexV1beta1UrlContextCallDelta" + } + }, + "type": "object" + }, + "GenaiVertexV1beta1ServerToolResultDelta": { + "id": "GenaiVertexV1beta1ServerToolResultDelta", + "properties": { + "codeExecutionResult": { + "$ref": "GenaiVertexV1beta1CodeExecutionResultDelta" + }, + "fileSearchResult": { + "$ref": "GenaiVertexV1beta1FileSearchResultDelta" + }, + "googleMapsResult": { + "$ref": "GenaiVertexV1beta1GoogleMapsResultDelta" + }, + "googleSearchResult": { + "$ref": "GenaiVertexV1beta1GoogleSearchResultDelta" + }, + "mcpServerToolResult": { + "$ref": "GenaiVertexV1beta1McpServerToolResultDelta" + }, + "signature": { + "description": "A signature hash for backend validation.", + "format": "byte", + "type": "string" + }, + "urlContextResult": { + "$ref": "GenaiVertexV1beta1UrlContextResultDelta" + } + }, + "type": "object" + }, "GenaiVertexV1beta1SpeechConfig": { "description": "The configuration for speech interaction.", "id": "GenaiVertexV1beta1SpeechConfig", @@ -49557,9 +49698,18 @@ "document": { "$ref": "GenaiVertexV1beta1DocumentDelta" }, + "functionResult": { + "$ref": "GenaiVertexV1beta1FunctionResultDelta" + }, "image": { "$ref": "GenaiVertexV1beta1ImageDelta" }, + "serverToolCall": { + "$ref": "GenaiVertexV1beta1ServerToolCallDelta" + }, + "serverToolResult": { + "$ref": "GenaiVertexV1beta1ServerToolResultDelta" + }, "text": { "$ref": "GenaiVertexV1beta1TextDelta" }, @@ -49615,6 +49765,15 @@ }, "type": "object" }, + "GenaiVertexV1beta1StreamMetadata": { + "id": "GenaiVertexV1beta1StreamMetadata", + "properties": { + "usage": { + "$ref": "GenaiVertexV1beta1InteractionUsage" + } + }, + "type": "object" + }, "GenaiVertexV1beta1TextAnnotationDelta": { "id": "GenaiVertexV1beta1TextAnnotationDelta", "properties": { @@ -50280,11 +50439,13 @@ "description": "Input provided by the user.", "id": "GenaiVertexV1beta1UserInputStep", "properties": { - "content": { - "items": { - "$ref": "GenaiVertexV1beta1Content" - }, - "type": "array" + "contentList": { + "$ref": "GenaiVertexV1beta1ContentList", + "description": "The content of the step. An array of Content objects." + }, + "contentString": { + "description": "The content of the step. A single string.", + "type": "string" } }, "type": "object" @@ -50427,12 +50588,6 @@ }, "type": "object" }, - "GenaiVertexV1beta1VideoResponseFormat": { - "description": "Configuration for video output format.", - "id": "GenaiVertexV1beta1VideoResponseFormat", - "properties": {}, - "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", @@ -50684,15 +50839,15 @@ "id": "GoogleCloudAiplatformV1beta1Agent", "properties": { "base_agent": { - "description": "Required. The base agent of the agent. Supported values: - \"antigravity-preview-05-2026\"", + "description": "Required. The base agent for the agent. Supported values: * `antigravity-preview-05-2026`", "type": "string" }, "base_environment": { - "description": "Optional. The environment config of the agent. Valid types are: - string value for environment_id, or 'remote' for default - struct value for EnvironmentConfig.", + "description": "Optional. The base environment configuration for the agent. Valid types: * A string value for the environment ID, or `remote` for the default. * A struct value for the `environment_config`.", "type": "any" }, "created": { - "description": "Output only. Timestamp when the agent was created.", + "description": "Output only. The time the agent was created.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -50702,38 +50857,38 @@ "type": "string" }, "id": { - "description": "Immutable. The ID to use for agent, which will become the final component of the agent resource name. If not provided, Vertex AI will generate a value for this ID. This value may be up to 63 characters, and valid characters are `[a-z0-9-]`. The first character must be a letter, the last character must be a letter or number.", + "description": "Immutable. The user-specified ID for the agent. This ID becomes the final component of the agent resource name. If not provided, Vertex AI will generate a value for this ID. The ID can be up to 63 characters and must match the regular expression `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`.", "type": "string" }, "metadata": { "additionalProperties": { "type": "string" }, - "description": "Optional. The metadata of the agent.", + "description": "Optional. The metadata for the agent.", "type": "object" }, "name": { - "description": "Identifier. The resource name of the Agent. Format: `projects/{project}/locations/{location}/agents/{agent}`.", + "description": "Identifier. The resource name of the agent. Format: `projects/{project}/locations/{location}/agents/{agent}`.", "type": "string" }, "object": { - "description": "Output only. The object type of this resource. Always set to \"agent\" in this case.", + "description": "Output only. The object type of the resource. For agents, the value is `agent`.", "readOnly": true, "type": "string" }, "system_instruction": { - "description": "Optional. The detailed struction that the agent should follow. The instruction is passed to LLM as system instruction.", + "description": "Optional. The instructions for the agent to follow. These instructions are passed to the LLM as a system instruction.", "type": "string" }, "tools": { - "description": "Optional. A list of tools that are available for the agent during the process of execucting the task.", + "description": "Optional. The tools available to the agent.", "items": { "$ref": "GoogleCloudAiplatformV1beta1AgentTool" }, "type": "array" }, "updated": { - "description": "Output only. Timestamp when the agent was last updated.", + "description": "Output only. The time the agent was last updated.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -50835,26 +50990,26 @@ "type": "object" }, "GoogleCloudAiplatformV1beta1AgentTool": { - "description": "A tool provides a list of actions that are available for the Agent during the process of executing the task.", + "description": "A tool provides a list of actions available to the Agent during the process of executing a task.", "id": "GoogleCloudAiplatformV1beta1AgentTool", "properties": { "headers": { "additionalProperties": { "type": "string" }, - "description": "Optional. Headers for the MCP server (e.g., authentication). Only applicable when `type` is \"mcp\".", + "description": "Optional. The headers for the MCP server, such as for authentication. Only applicable when `type` is `mcp_server`.", "type": "object" }, "name": { - "description": "Optional. The name of the MCP server. Only applicable when `type` is \"mcp\".", + "description": "Optional. The name of the MCP server. Only applicable when `type` is `mcp_server`.", "type": "string" }, "type": { - "description": "Required. Type of the tool. Supported types: - \"code_execution\" - \"filesystem\" - \"google_search\" - \"mcp\" - \"url_context\"", + "description": "Required. The type of the tool. Supported types: * `code_execution` * `filesystem` * `google_search` * `mcp_server` * `url_context`", "type": "string" }, "url": { - "description": "Optional. The full URL for the MCP server endpoint. Only applicable when `type` is \"mcp\".", + "description": "Optional. The URL for the MCP server endpoint. Only applicable when `type` is `mcp_server`.", "type": "string" } }, @@ -56005,6 +56160,12 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1DeprovisionSemanticGovernancePolicyEngineRequest": { + "description": "Request message for SemanticGovernancePolicyEngineService.DeprovisionSemanticGovernancePolicyEngine.", + "id": "GoogleCloudAiplatformV1beta1DeprovisionSemanticGovernancePolicyEngineRequest", + "properties": {}, + "type": "object" + }, "GoogleCloudAiplatformV1beta1DestinationFeatureSetting": { "id": "GoogleCloudAiplatformV1beta1DestinationFeatureSetting", "properties": { @@ -62408,6 +62569,61 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1GatewayConfig": { + "description": "Configuration for a single gateway.", + "id": "GoogleCloudAiplatformV1beta1GatewayConfig", + "properties": { + "dnsRecord": { + "description": "Output only. The fully qualified record name of the created A-record in Cloud DNS.", + "readOnly": true, + "type": "string" + }, + "dnsZoneName": { + "description": "Optional. FQDN of the private DNS zone to create DNS record set for PSC endpoint.", + "type": "string" + }, + "ipAddress": { + "description": "Output only. The private IP address of the PSC endpoint.", + "readOnly": true, + "type": "string" + }, + "network": { + "description": "Optional. The URI of the network resource where PSC-E will be provisioned. if not provided `default` network will be used. Format: projects/{project}/global/networks/{network}", + "type": "string" + }, + "pscEndpoint": { + "description": "Output only. The self-link or name of the Private Service Connect endpoint forwarding rule.", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. The state of the Gateway configuration.", + "enum": [ + "STATE_UNSPECIFIED", + "PROVISIONING", + "ACTIVE", + "DEPROVISIONING", + "INACTIVE", + "FAILED" + ], + "enumDescriptions": [ + "The default value. This value is used if the state is omitted.", + "The Gateway is being provisioned.", + "The Gateway is active and ready to use.", + "The Gateway is being de-provisioned.", + "The Gateway is inactive.", + "The Gateway failed to be provisioned." + ], + "readOnly": true, + "type": "string" + }, + "subnetwork": { + "description": "Optional. The URI of the subnetwork resource where PSC-E will be provisioned. if not provided `default` subnet will be used from the same {location} Format: projects/{project}/regions/{region}/subnetworks/{subnetwork}", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1GcsDestination": { "description": "The Google Cloud Storage location where the output is to be written to.", "id": "GoogleCloudAiplatformV1beta1GcsDestination", @@ -65483,14 +65699,14 @@ "id": "GoogleCloudAiplatformV1beta1ListAgentsResponse", "properties": { "agents": { - "description": "A list of agents matching the request.", + "description": "The agents matching the request.", "items": { "$ref": "GoogleCloudAiplatformV1beta1Agent" }, "type": "array" }, "nextPageToken": { - "description": "A token, which can be sent as ListAgentsRequest.page_token to retrieve the next page. Absence of this field indicates there are no subsequent pages.", + "description": "A token to retrieve the next page of results. Pass this value as ListAgentsRequest.page_token in a subsequent call.", "type": "string" } }, @@ -66667,6 +66883,24 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1ListSemanticGovernancePoliciesResponse": { + "description": "Response message for SemanticGovernancePolicyService.ListSemanticGovernancePolicies.", + "id": "GoogleCloudAiplatformV1beta1ListSemanticGovernancePoliciesResponse", + "properties": { + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass to ListSemanticGovernancePoliciesRequest.page_token to obtain that page.", + "type": "string" + }, + "semanticGovernancePolicies": { + "description": "The list of SemanticGovernancePolicies.", + "items": { + "$ref": "GoogleCloudAiplatformV1beta1SemanticGovernancePolicy" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1ListSessionsResponse": { "description": "Response message for SessionService.ListSessions.", "id": "GoogleCloudAiplatformV1beta1ListSessionsResponse", @@ -72587,7 +72821,7 @@ "type": "object" }, "GoogleCloudAiplatformV1beta1PersistentDiskSpec": { - "description": "Represents the spec of persistent disk options.", + "description": "Represents the spec of persistent disk and hyperdisk options.", "id": "GoogleCloudAiplatformV1beta1PersistentDiskSpec", "properties": { "diskSizeGb": { @@ -72596,7 +72830,7 @@ "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)", + "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) \"hyperdisk-balanced\" (Hyperdisk Balanced) \"hyperdisk-extreme\" (Hyperdisk Extreme) \"hyperdisk-balanced-high-availability\" (Hyperdisk Balanced High Availability) \"hyperdisk-ml\" (Hyperdisk ML) \"hyperdisk-throughput\" (Hyperdisk Throughput)", "type": "string" } }, @@ -74030,6 +74264,44 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1ProcessDataRequest": { + "description": "Request message for GenAiTuningService.ProcessData.", + "id": "GoogleCloudAiplatformV1beta1ProcessDataRequest", + "properties": { + "gcsDestination": { + "$ref": "GoogleCloudAiplatformV1beta1GcsDestination", + "description": "Optional. The GCS bucket to store the processed videos and captions data." + }, + "gcsSource": { + "$ref": "GoogleCloudAiplatformV1beta1GcsSource", + "description": "Optional. A JSONL file containing a list of files to process stored in the user's GCS bucket." + }, + "veoSpec": { + "$ref": "GoogleCloudAiplatformV1beta1ProcessDataRequestVeoSpec", + "description": "Optional. Spec for Veo data processing." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1ProcessDataRequestVeoSpec": { + "description": "Spec for Veo data processing.", + "id": "GoogleCloudAiplatformV1beta1ProcessDataRequestVeoSpec", + "properties": { + "processType": { + "description": "Optional. The type of data processing to perform.", + "enum": [ + "VEO_V1_AND_V2_DEFAULT", + "VEO_V3" + ], + "enumDescriptions": [ + "Process type for Veo 1 and 2.", + "Process type for Veo 3." + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1PscAutomatedEndpoints": { "description": "PscAutomatedEndpoints defines the output of the forwarding rule automatically created by each PscAutomationConfig.", "id": "GoogleCloudAiplatformV1beta1PscAutomatedEndpoints", @@ -78919,6 +79191,10 @@ "The default container image for Computer Use." ], "type": "string" + }, + "resources": { + "$ref": "GoogleCloudAiplatformV1beta1SandboxEnvironmentTemplateResourceRequirements", + "description": "Optional. Resource requests and limits for the default container." } }, "type": "object" @@ -84063,6 +84339,149 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1SemanticGovernancePolicy": { + "description": "Represents a governance policy applied to a specific Agent and optionally a specific Tool within that Agent.", + "id": "GoogleCloudAiplatformV1beta1SemanticGovernancePolicy", + "properties": { + "agent": { + "description": "Required. The name of the agent in Agent Registry that is affected by this policy.", + "type": "string" + }, + "agentIdentity": { + "description": "Output only. Represents the principal of the agent, used by the Policy Decision Point (PDP) for governance checks. For more information, see https://docs.cloud.google.com/agent-builder/agent-engine/agent-identity Format: `principal://TRUST_DOMAIN/NAMESPACE/AGENT_NAME` Example: `principal://agents.global.org-ORGANIZATION_ID.system.id.goog/resources/aiplatform/projects/PROJECT_NUMBER/locations/LOCATION/reasoningEngines/AGENT_ENGINE_ID`", + "readOnly": true, + "type": "string" + }, + "createTime": { + "description": "Output only. Timestamp when this SemanticGovernancePolicy was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. The description of the SemanticGovernancePolicy.", + "type": "string" + }, + "displayName": { + "description": "Optional. The user-defined name of the SemanticGovernancePolicy.", + "type": "string" + }, + "etag": { + "description": "Optional. Used to perform consistent read-modify-write transactions. If provided, the request will only succeed if the etag matches the current value. Otherwise, an ABORTED error will be returned.", + "type": "string" + }, + "mcpTools": { + "description": "Optional. The McpTools that are affected by this policy.", + "items": { + "$ref": "GoogleCloudAiplatformV1beta1SemanticGovernancePolicyMcpTool" + }, + "type": "array" + }, + "name": { + "description": "Identifier. Resource name of the SemanticGovernancePolicy.", + "type": "string" + }, + "naturalLanguageConstraint": { + "description": "Required. The natural language constraint of the SemanticGovernancePolicy.", + "type": "string" + }, + "updateTime": { + "description": "Output only. Timestamp when this SemanticGovernancePolicy was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1SemanticGovernancePolicyEngine": { + "description": "Define a singleton SemanticGovernancePolicyEngine resource under a project and location.", + "id": "GoogleCloudAiplatformV1beta1SemanticGovernancePolicyEngine", + "properties": { + "createTime": { + "description": "Output only. Timestamp when this SemanticGovernancePolicyEngine was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "gatewayConfigs": { + "additionalProperties": { + "$ref": "GoogleCloudAiplatformV1beta1GatewayConfig" + }, + "description": "Optional. Configurations for gateways. The keys are user-defined names for each gateway.", + "type": "object" + }, + "ipAddress": { + "description": "Output only. The private IPv4 address of the PSC endpoint.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Identifier. The resource name of the SemanticGovernancePolicyEngine. Format: projects/{project}/locations/{location}/semanticGovernancePolicyEngine", + "type": "string" + }, + "pscForwardingRule": { + "description": "Output only. The URI of the PSC endpoint resource created in customer project. Format: projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}", + "readOnly": true, + "type": "string" + }, + "pscServiceAttachment": { + "description": "Output only. URI of the PSC attachment resource provided by SGP. Format: projects/{project}/regions/{region}/serviceAttachments/{service_attachment}", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. The state of the SemanticGovernancePolicyEngine.", + "enum": [ + "STATE_UNSPECIFIED", + "PROVISIONING", + "ACTIVE", + "DEPROVISIONING", + "INACTIVE", + "FAILED" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "A provisioning operation is in progress. The engine will transition to ACTIVE on success or FAILED on failure.", + "The engine and all of its gateway configurations are provisioned and ready to serve traffic.", + "A deprovisioning operation is in progress. The engine will transition to INACTIVE on success or FAILED on failure.", + "The engine has no provisioned infrastructure: either never provisioned, or successfully deprovisioned.", + "The most recent provisioning or deprovisioning operation failed. The engine may have partial infrastructure that needs explicit deprovision; the engine may be either re-provisioned or deprovisioned to recover." + ], + "readOnly": true, + "type": "string" + }, + "targetProject": { + "description": "Optional. The project where network, subnetwork and dns resources are located. If not provided, it is assumed to be the same project of SemanticGovernancePolicyEngine. This field is for Shared VPC scenarios, where network resources may be in a target project and SGP engine in a service project.", + "type": "string" + }, + "updateTime": { + "description": "Output only. Timestamp when this SemanticGovernancePolicyEngine was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1SemanticGovernancePolicyMcpTool": { + "description": "Represents a governance policy applied to MCP tools used by an Agent.", + "id": "GoogleCloudAiplatformV1beta1SemanticGovernancePolicyMcpTool", + "properties": { + "mcpServer": { + "description": "Required. The resource name of the McpServer in Agent Registry that is affected by this policy. Format: `projects/{project}/locations/{location}/mcpServers/{mcp_server}`", + "type": "string" + }, + "tools": { + "description": "Optional. The resource names of the McpTools used by the Agent that is affected by this policy. If not specified, the policy applies to all McpTools in the McpServer.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1ServiceAccountSpec": { "description": "Configuration for the use of custom service account to run the workloads.", "id": "GoogleCloudAiplatformV1beta1ServiceAccountSpec", @@ -84391,7 +84810,7 @@ }, "skill": { "$ref": "GoogleCloudAiplatformV1beta1Skill", - "description": "Output only. The state of the Skill at this revision. TODO(b/503772996) Use a different proto for skill data included in skill revision", + "description": "Output only. The state of the Skill at this revision.", "readOnly": true }, "state": { @@ -87035,6 +87454,10 @@ "$ref": "GoogleCloudAiplatformV1beta1EnterpriseWebSearch", "description": "Optional. Tool to support searching public web data, powered by Vertex AI Search and Sec4 compliance." }, + "exaAiSearch": { + "$ref": "GoogleCloudAiplatformV1beta1ToolExaAiSearch", + "description": "Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation" + }, "functionDeclarations": { "description": "Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided.", "items": { @@ -87199,6 +87622,25 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1ToolExaAiSearch": { + "description": "ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding.", + "id": "GoogleCloudAiplatformV1beta1ToolExaAiSearch", + "properties": { + "apiKey": { + "description": "Required. The API key for ExaAiSearch.", + "type": "string" + }, + "customConfigs": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional. This field can be used to pass any parameter from the Exa.ai Search API.", + "type": "object" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1ToolGoogleSearch": { "description": "GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google.", "id": "GoogleCloudAiplatformV1beta1ToolGoogleSearch", diff --git a/discovery/alloydb-v1.json b/discovery/alloydb-v1.json index 282da4240d2..0a5d7ac3c7d 100644 --- a/discovery/alloydb-v1.json +++ b/discovery/alloydb-v1.json @@ -1879,7 +1879,7 @@ } } }, - "revision": "20260507", + "revision": "20260520", "rootUrl": "https://alloydb.googleapis.com/", "schemas": { "AuthorizedNetwork": { @@ -5280,9 +5280,17 @@ "type": "object" }, "StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata": { - "description": "Common model for database resource instance metadata. Next ID: 32", + "description": "Common model for database resource instance metadata. Next ID: 35", "id": "StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata", "properties": { + "additionalMetadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Field to ingest additional metadata whichd does not support proto format.", + "type": "object" + }, "availabilityConfiguration": { "$ref": "StorageDatabasecenterPartnerapiV1mainAvailabilityConfiguration", "description": "Availability configuration for this instance" @@ -5436,6 +5444,18 @@ ], "type": "string" }, + "internalAdditionalMetadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Field to ingest additional metadata which support proto format.", + "type": "object" + }, + "ipAddress": { + "$ref": "StorageDatabasecenterPartnerapiV1mainIpAddress", + "description": "Optional. Private and public IP address of the resource." + }, "isDeletionProtectionEnabled": { "description": "Optional. Whether deletion protection is enabled for this resource.", "type": "boolean" @@ -6098,6 +6118,21 @@ }, "type": "object" }, + "StorageDatabasecenterPartnerapiV1mainIpAddress": { + "description": "Used to send IP address information for a database resource.", + "id": "StorageDatabasecenterPartnerapiV1mainIpAddress", + "properties": { + "privateIp": { + "description": "The private IP address assigned to the resource within a Virtual Private Cloud (VPC). This IP is only reachable from within the same VPC network. Stored in standard string format (e.g., \"10.0.0.2\").", + "type": "string" + }, + "publicIp": { + "description": "The public IP address assigned to the resource. This IP is reachable from the internet. Stored in standard string format (e.g., \"34.72.1.1\").", + "type": "string" + } + }, + "type": "object" + }, "StorageDatabasecenterPartnerapiV1mainMachineConfiguration": { "description": "MachineConfiguration describes the configuration of a machine specific to Database Resource.", "id": "StorageDatabasecenterPartnerapiV1mainMachineConfiguration", @@ -6502,6 +6537,7 @@ "ENGINE_CLOUD_SPANNER_WITH_GOOGLESQL_DIALECT", "ENGINE_MEMORYSTORE_FOR_REDIS", "ENGINE_MEMORYSTORE_FOR_REDIS_CLUSTER", + "ENGINE_MEMORSTORE_FOR_VALKEY", "ENGINE_OTHER", "ENGINE_FIRESTORE_WITH_NATIVE_MODE", "ENGINE_FIRESTORE_WITH_DATASTORE_MODE", @@ -6528,6 +6564,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -6544,6 +6581,7 @@ "Cloud Spanner with Google SQL dialect.", "Memorystore with Redis dialect.", "Memorystore with Redis cluster dialect.", + "Memorystore with Valkey dialect.", "Other refers to rest of other database engine. This is to be when engine is known, but it is not present in this enum.", "Firestore with native mode.", "Firestore with datastore mode.", diff --git a/discovery/alloydb-v1alpha.json b/discovery/alloydb-v1alpha.json index 4f70a3afa1a..1f0a4d1e663 100644 --- a/discovery/alloydb-v1alpha.json +++ b/discovery/alloydb-v1alpha.json @@ -2086,7 +2086,7 @@ } } }, - "revision": "20260507", + "revision": "20260520", "rootUrl": "https://alloydb.googleapis.com/", "schemas": { "AuthorizedNetwork": { @@ -5830,9 +5830,17 @@ "type": "object" }, "StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata": { - "description": "Common model for database resource instance metadata. Next ID: 32", + "description": "Common model for database resource instance metadata. Next ID: 35", "id": "StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata", "properties": { + "additionalMetadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Field to ingest additional metadata whichd does not support proto format.", + "type": "object" + }, "availabilityConfiguration": { "$ref": "StorageDatabasecenterPartnerapiV1mainAvailabilityConfiguration", "description": "Availability configuration for this instance" @@ -5986,6 +5994,18 @@ ], "type": "string" }, + "internalAdditionalMetadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Field to ingest additional metadata which support proto format.", + "type": "object" + }, + "ipAddress": { + "$ref": "StorageDatabasecenterPartnerapiV1mainIpAddress", + "description": "Optional. Private and public IP address of the resource." + }, "isDeletionProtectionEnabled": { "description": "Optional. Whether deletion protection is enabled for this resource.", "type": "boolean" @@ -6648,6 +6668,21 @@ }, "type": "object" }, + "StorageDatabasecenterPartnerapiV1mainIpAddress": { + "description": "Used to send IP address information for a database resource.", + "id": "StorageDatabasecenterPartnerapiV1mainIpAddress", + "properties": { + "privateIp": { + "description": "The private IP address assigned to the resource within a Virtual Private Cloud (VPC). This IP is only reachable from within the same VPC network. Stored in standard string format (e.g., \"10.0.0.2\").", + "type": "string" + }, + "publicIp": { + "description": "The public IP address assigned to the resource. This IP is reachable from the internet. Stored in standard string format (e.g., \"34.72.1.1\").", + "type": "string" + } + }, + "type": "object" + }, "StorageDatabasecenterPartnerapiV1mainMachineConfiguration": { "description": "MachineConfiguration describes the configuration of a machine specific to Database Resource.", "id": "StorageDatabasecenterPartnerapiV1mainMachineConfiguration", @@ -7052,6 +7087,7 @@ "ENGINE_CLOUD_SPANNER_WITH_GOOGLESQL_DIALECT", "ENGINE_MEMORYSTORE_FOR_REDIS", "ENGINE_MEMORYSTORE_FOR_REDIS_CLUSTER", + "ENGINE_MEMORSTORE_FOR_VALKEY", "ENGINE_OTHER", "ENGINE_FIRESTORE_WITH_NATIVE_MODE", "ENGINE_FIRESTORE_WITH_DATASTORE_MODE", @@ -7078,6 +7114,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -7094,6 +7131,7 @@ "Cloud Spanner with Google SQL dialect.", "Memorystore with Redis dialect.", "Memorystore with Redis cluster dialect.", + "Memorystore with Valkey dialect.", "Other refers to rest of other database engine. This is to be when engine is known, but it is not present in this enum.", "Firestore with native mode.", "Firestore with datastore mode.", diff --git a/discovery/alloydb-v1beta.json b/discovery/alloydb-v1beta.json index 22f3753c662..504d0389379 100644 --- a/discovery/alloydb-v1beta.json +++ b/discovery/alloydb-v1beta.json @@ -2083,7 +2083,7 @@ } } }, - "revision": "20260507", + "revision": "20260520", "rootUrl": "https://alloydb.googleapis.com/", "schemas": { "AuthorizedNetwork": { @@ -5806,9 +5806,17 @@ "type": "object" }, "StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata": { - "description": "Common model for database resource instance metadata. Next ID: 32", + "description": "Common model for database resource instance metadata. Next ID: 35", "id": "StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata", "properties": { + "additionalMetadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Field to ingest additional metadata whichd does not support proto format.", + "type": "object" + }, "availabilityConfiguration": { "$ref": "StorageDatabasecenterPartnerapiV1mainAvailabilityConfiguration", "description": "Availability configuration for this instance" @@ -5962,6 +5970,18 @@ ], "type": "string" }, + "internalAdditionalMetadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Field to ingest additional metadata which support proto format.", + "type": "object" + }, + "ipAddress": { + "$ref": "StorageDatabasecenterPartnerapiV1mainIpAddress", + "description": "Optional. Private and public IP address of the resource." + }, "isDeletionProtectionEnabled": { "description": "Optional. Whether deletion protection is enabled for this resource.", "type": "boolean" @@ -6624,6 +6644,21 @@ }, "type": "object" }, + "StorageDatabasecenterPartnerapiV1mainIpAddress": { + "description": "Used to send IP address information for a database resource.", + "id": "StorageDatabasecenterPartnerapiV1mainIpAddress", + "properties": { + "privateIp": { + "description": "The private IP address assigned to the resource within a Virtual Private Cloud (VPC). This IP is only reachable from within the same VPC network. Stored in standard string format (e.g., \"10.0.0.2\").", + "type": "string" + }, + "publicIp": { + "description": "The public IP address assigned to the resource. This IP is reachable from the internet. Stored in standard string format (e.g., \"34.72.1.1\").", + "type": "string" + } + }, + "type": "object" + }, "StorageDatabasecenterPartnerapiV1mainMachineConfiguration": { "description": "MachineConfiguration describes the configuration of a machine specific to Database Resource.", "id": "StorageDatabasecenterPartnerapiV1mainMachineConfiguration", @@ -7028,6 +7063,7 @@ "ENGINE_CLOUD_SPANNER_WITH_GOOGLESQL_DIALECT", "ENGINE_MEMORYSTORE_FOR_REDIS", "ENGINE_MEMORYSTORE_FOR_REDIS_CLUSTER", + "ENGINE_MEMORSTORE_FOR_VALKEY", "ENGINE_OTHER", "ENGINE_FIRESTORE_WITH_NATIVE_MODE", "ENGINE_FIRESTORE_WITH_DATASTORE_MODE", @@ -7054,6 +7090,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -7070,6 +7107,7 @@ "Cloud Spanner with Google SQL dialect.", "Memorystore with Redis dialect.", "Memorystore with Redis cluster dialect.", + "Memorystore with Valkey dialect.", "Other refers to rest of other database engine. This is to be when engine is known, but it is not present in this enum.", "Firestore with native mode.", "Firestore with datastore mode.", diff --git a/discovery/analytics-v3.json b/discovery/analytics-v3.json deleted file mode 100644 index 25dfacefaff..00000000000 --- a/discovery/analytics-v3.json +++ /dev/null @@ -1,7459 +0,0 @@ -{ - "auth": { - "oauth2": { - "scopes": { - "https://www.googleapis.com/auth/analytics": { - "description": "View and manage your Google Analytics data" - }, - "https://www.googleapis.com/auth/analytics.edit": { - "description": "Edit Google Analytics management entities" - }, - "https://www.googleapis.com/auth/analytics.manage.users": { - "description": "Manage Google Analytics Account users by email address" - }, - "https://www.googleapis.com/auth/analytics.manage.users.readonly": { - "description": "View Google Analytics user permissions" - }, - "https://www.googleapis.com/auth/analytics.provision": { - "description": "Create a new Google Analytics account along with its default property and view" - }, - "https://www.googleapis.com/auth/analytics.readonly": { - "description": "View your Google Analytics data" - }, - "https://www.googleapis.com/auth/analytics.user.deletion": { - "description": "Manage Google Analytics user deletion requests" - } - } - } - }, - "basePath": "/analytics/v3/", - "baseUrl": "https://www.googleapis.com/analytics/v3/", - "batchPath": "batch/analytics/v3", - "description": "Views and manages your Google Analytics data.", - "discoveryVersion": "v1", - "documentationLink": "https://developers.google.com/analytics/", - "etag": "\"9eZ1uxVRThTDhLJCZHhqs3eQWz4/o_TVyaWurnALX6ZIQ952-U5m22Y\"", - "icons": { - "x16": "https://www.google.com/images/icons/product/analytics-16.png", - "x32": "https://www.google.com/images/icons/product/analytics-32.png" - }, - "id": "analytics:v3", - "kind": "discovery#restDescription", - "name": "analytics", - "ownerDomain": "google.com", - "ownerName": "Google", - "parameters": { - "alt": { - "default": "json", - "description": "Data format for the response.", - "enum": [ - "json" - ], - "enumDescriptions": [ - "Responses with Content-Type of application/json" - ], - "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": "false", - "description": "Returns response with indentations and line breaks.", - "location": "query", - "type": "boolean" - }, - "quotaUser": { - "description": "An opaque string that represents a user for quota purposes. Must not exceed 40 characters.", - "location": "query", - "type": "string" - }, - "userIp": { - "description": "Deprecated. Please use quotaUser instead.", - "location": "query", - "type": "string" - } - }, - "protocol": "rest", - "resources": { - "data": { - "resources": { - "ga": { - "methods": { - "get": { - "description": "Returns Analytics data for a view (profile).", - "httpMethod": "GET", - "id": "analytics.data.ga.get", - "parameterOrder": [ - "ids", - "start-date", - "end-date", - "metrics" - ], - "parameters": { - "dimensions": { - "description": "A comma-separated list of Analytics dimensions. E.g., 'ga:browser,ga:city'.", - "location": "query", - "pattern": "(ga:.+)?", - "type": "string" - }, - "end-date": { - "description": "End date for fetching Analytics data. Request can should specify an end date formatted as YYYY-MM-DD, or as a relative date (e.g., today, yesterday, or 7daysAgo). The default value is yesterday.", - "location": "query", - "pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2}|today|yesterday|[0-9]+(daysAgo)", - "required": true, - "type": "string" - }, - "filters": { - "description": "A comma-separated list of dimension or metric filters to be applied to Analytics data.", - "location": "query", - "pattern": "ga:.+", - "type": "string" - }, - "ids": { - "description": "Unique table ID for retrieving Analytics data. Table ID is of the form ga:XXXX, where XXXX is the Analytics view (profile) ID.", - "location": "query", - "pattern": "ga:[0-9]+", - "required": true, - "type": "string" - }, - "include-empty-rows": { - "description": "The response will include empty rows if this parameter is set to true, the default is true", - "location": "query", - "type": "boolean" - }, - "max-results": { - "description": "The maximum number of entries to include in this feed.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "metrics": { - "description": "A comma-separated list of Analytics metrics. E.g., 'ga:sessions,ga:pageviews'. At least one metric must be specified.", - "location": "query", - "pattern": "ga:.+", - "required": true, - "type": "string" - }, - "output": { - "description": "The selected format for the response. Default format is JSON.", - "enum": [ - "dataTable", - "json" - ], - "enumDescriptions": [ - "Returns the response in Google Charts Data Table format. This is useful in creating visualization using Google Charts.", - "Returns the response in standard JSON format." - ], - "location": "query", - "type": "string" - }, - "samplingLevel": { - "description": "The desired sampling level.", - "enum": [ - "DEFAULT", - "FASTER", - "HIGHER_PRECISION" - ], - "enumDescriptions": [ - "Returns response with a sample size that balances speed and accuracy.", - "Returns a fast response with a smaller sample size.", - "Returns a more accurate response using a large sample size, but this may result in the response being slower." - ], - "location": "query", - "type": "string" - }, - "segment": { - "description": "An Analytics segment to be applied to data.", - "location": "query", - "type": "string" - }, - "sort": { - "description": "A comma-separated list of dimensions or metrics that determine the sort order for Analytics data.", - "location": "query", - "pattern": "(-)?ga:.+", - "type": "string" - }, - "start-date": { - "description": "Start date for fetching Analytics data. Requests can specify a start date formatted as YYYY-MM-DD, or as a relative date (e.g., today, yesterday, or 7daysAgo). The default value is 7daysAgo.", - "location": "query", - "pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2}|today|yesterday|[0-9]+(daysAgo)", - "required": true, - "type": "string" - }, - "start-index": { - "description": "An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.", - "format": "int32", - "location": "query", - "minimum": "1", - "type": "integer" - } - }, - "path": "data/ga", - "response": { - "$ref": "GaData" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics", - "https://www.googleapis.com/auth/analytics.readonly" - ] - } - } - }, - "mcf": { - "methods": { - "get": { - "description": "Returns Analytics Multi-Channel Funnels data for a view (profile).", - "httpMethod": "GET", - "id": "analytics.data.mcf.get", - "parameterOrder": [ - "ids", - "start-date", - "end-date", - "metrics" - ], - "parameters": { - "dimensions": { - "description": "A comma-separated list of Multi-Channel Funnels dimensions. E.g., 'mcf:source,mcf:medium'.", - "location": "query", - "pattern": "(mcf:.+)?", - "type": "string" - }, - "end-date": { - "description": "End date for fetching Analytics data. Requests can specify a start date formatted as YYYY-MM-DD, or as a relative date (e.g., today, yesterday, or 7daysAgo). The default value is 7daysAgo.", - "location": "query", - "pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2}|today|yesterday|[0-9]+(daysAgo)", - "required": true, - "type": "string" - }, - "filters": { - "description": "A comma-separated list of dimension or metric filters to be applied to the Analytics data.", - "location": "query", - "pattern": "mcf:.+", - "type": "string" - }, - "ids": { - "description": "Unique table ID for retrieving Analytics data. Table ID is of the form ga:XXXX, where XXXX is the Analytics view (profile) ID.", - "location": "query", - "pattern": "ga:[0-9]+", - "required": true, - "type": "string" - }, - "max-results": { - "description": "The maximum number of entries to include in this feed.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "metrics": { - "description": "A comma-separated list of Multi-Channel Funnels metrics. E.g., 'mcf:totalConversions,mcf:totalConversionValue'. At least one metric must be specified.", - "location": "query", - "pattern": "mcf:.+", - "required": true, - "type": "string" - }, - "samplingLevel": { - "description": "The desired sampling level.", - "enum": [ - "DEFAULT", - "FASTER", - "HIGHER_PRECISION" - ], - "enumDescriptions": [ - "Returns response with a sample size that balances speed and accuracy.", - "Returns a fast response with a smaller sample size.", - "Returns a more accurate response using a large sample size, but this may result in the response being slower." - ], - "location": "query", - "type": "string" - }, - "sort": { - "description": "A comma-separated list of dimensions or metrics that determine the sort order for the Analytics data.", - "location": "query", - "pattern": "(-)?mcf:.+", - "type": "string" - }, - "start-date": { - "description": "Start date for fetching Analytics data. Requests can specify a start date formatted as YYYY-MM-DD, or as a relative date (e.g., today, yesterday, or 7daysAgo). The default value is 7daysAgo.", - "location": "query", - "pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2}|today|yesterday|[0-9]+(daysAgo)", - "required": true, - "type": "string" - }, - "start-index": { - "description": "An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.", - "format": "int32", - "location": "query", - "minimum": "1", - "type": "integer" - } - }, - "path": "data/mcf", - "response": { - "$ref": "McfData" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics", - "https://www.googleapis.com/auth/analytics.readonly" - ] - } - } - }, - "realtime": { - "methods": { - "get": { - "description": "Returns real time data for a view (profile).", - "httpMethod": "GET", - "id": "analytics.data.realtime.get", - "parameterOrder": [ - "ids", - "metrics" - ], - "parameters": { - "dimensions": { - "description": "A comma-separated list of real time dimensions. E.g., 'rt:medium,rt:city'.", - "location": "query", - "pattern": "(ga:.+)|(rt:.+)", - "type": "string" - }, - "filters": { - "description": "A comma-separated list of dimension or metric filters to be applied to real time data.", - "location": "query", - "pattern": "(ga:.+)|(rt:.+)", - "type": "string" - }, - "ids": { - "description": "Unique table ID for retrieving real time data. Table ID is of the form ga:XXXX, where XXXX is the Analytics view (profile) ID.", - "location": "query", - "pattern": "ga:[0-9]+", - "required": true, - "type": "string" - }, - "max-results": { - "description": "The maximum number of entries to include in this feed.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "metrics": { - "description": "A comma-separated list of real time metrics. E.g., 'rt:activeUsers'. At least one metric must be specified.", - "location": "query", - "pattern": "(ga:.+)|(rt:.+)", - "required": true, - "type": "string" - }, - "sort": { - "description": "A comma-separated list of dimensions or metrics that determine the sort order for real time data.", - "location": "query", - "pattern": "(-)?((ga:.+)|(rt:.+))", - "type": "string" - } - }, - "path": "data/realtime", - "response": { - "$ref": "RealtimeData" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics", - "https://www.googleapis.com/auth/analytics.readonly" - ] - } - } - } - } - }, - "management": { - "resources": { - "accountSummaries": { - "methods": { - "list": { - "description": "Lists account summaries (lightweight tree comprised of accounts/properties/profiles) to which the user has access.", - "httpMethod": "GET", - "id": "analytics.management.accountSummaries.list", - "parameters": { - "max-results": { - "description": "The maximum number of account summaries to include in this response, where the largest acceptable value is 1000.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "start-index": { - "description": "An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.", - "format": "int32", - "location": "query", - "minimum": "1", - "type": "integer" - } - }, - "path": "management/accountSummaries", - "response": { - "$ref": "AccountSummaries" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.edit", - "https://www.googleapis.com/auth/analytics.readonly" - ] - } - } - }, - "accountUserLinks": { - "methods": { - "delete": { - "description": "Removes a user from the given account.", - "httpMethod": "DELETE", - "id": "analytics.management.accountUserLinks.delete", - "parameterOrder": [ - "accountId", - "linkId" - ], - "parameters": { - "accountId": { - "description": "Account ID to delete the user link for.", - "location": "path", - "required": true, - "type": "string" - }, - "linkId": { - "description": "Link ID to delete the user link for.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/entityUserLinks/{linkId}", - "scopes": [ - "https://www.googleapis.com/auth/analytics.manage.users" - ] - }, - "insert": { - "description": "Adds a new user to the given account.", - "httpMethod": "POST", - "id": "analytics.management.accountUserLinks.insert", - "parameterOrder": [ - "accountId" - ], - "parameters": { - "accountId": { - "description": "Account ID to create the user link for.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/entityUserLinks", - "request": { - "$ref": "EntityUserLink" - }, - "response": { - "$ref": "EntityUserLink" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.manage.users" - ] - }, - "list": { - "description": "Lists account-user links for a given account.", - "httpMethod": "GET", - "id": "analytics.management.accountUserLinks.list", - "parameterOrder": [ - "accountId" - ], - "parameters": { - "accountId": { - "description": "Account ID to retrieve the user links for.", - "location": "path", - "required": true, - "type": "string" - }, - "max-results": { - "description": "The maximum number of account-user links to include in this response.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "start-index": { - "description": "An index of the first account-user link to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.", - "format": "int32", - "location": "query", - "minimum": "1", - "type": "integer" - } - }, - "path": "management/accounts/{accountId}/entityUserLinks", - "response": { - "$ref": "EntityUserLinks" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.manage.users", - "https://www.googleapis.com/auth/analytics.manage.users.readonly" - ] - }, - "update": { - "description": "Updates permissions for an existing user on the given account.", - "httpMethod": "PUT", - "id": "analytics.management.accountUserLinks.update", - "parameterOrder": [ - "accountId", - "linkId" - ], - "parameters": { - "accountId": { - "description": "Account ID to update the account-user link for.", - "location": "path", - "required": true, - "type": "string" - }, - "linkId": { - "description": "Link ID to update the account-user link for.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/entityUserLinks/{linkId}", - "request": { - "$ref": "EntityUserLink" - }, - "response": { - "$ref": "EntityUserLink" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.manage.users" - ] - } - } - }, - "accounts": { - "methods": { - "list": { - "description": "Lists all accounts to which the user has access.", - "httpMethod": "GET", - "id": "analytics.management.accounts.list", - "parameters": { - "max-results": { - "description": "The maximum number of accounts to include in this response.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "start-index": { - "description": "An index of the first account to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.", - "format": "int32", - "location": "query", - "minimum": "1", - "type": "integer" - } - }, - "path": "management/accounts", - "response": { - "$ref": "Accounts" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics", - "https://www.googleapis.com/auth/analytics.edit", - "https://www.googleapis.com/auth/analytics.readonly" - ] - } - } - }, - "clientId": { - "methods": { - "hashClientId": { - "description": "Hashes the given Client ID.", - "httpMethod": "POST", - "id": "analytics.management.clientId.hashClientId", - "path": "management/clientId:hashClientId", - "request": { - "$ref": "HashClientIdRequest" - }, - "response": { - "$ref": "HashClientIdResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.edit", - "https://www.googleapis.com/auth/analytics.readonly" - ] - } - } - }, - "customDataSources": { - "methods": { - "list": { - "description": "List custom data sources to which the user has access.", - "httpMethod": "GET", - "id": "analytics.management.customDataSources.list", - "parameterOrder": [ - "accountId", - "webPropertyId" - ], - "parameters": { - "accountId": { - "description": "Account Id for the custom data sources to retrieve.", - "location": "path", - "pattern": "\\d+", - "required": true, - "type": "string" - }, - "max-results": { - "description": "The maximum number of custom data sources to include in this response.", - "format": "int32", - "location": "query", - "minimum": "1", - "type": "integer" - }, - "start-index": { - "description": "A 1-based index of the first custom data source to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.", - "format": "int32", - "location": "query", - "minimum": "1", - "type": "integer" - }, - "webPropertyId": { - "description": "Web property Id for the custom data sources to retrieve.", - "location": "path", - "pattern": "UA-(\\d+)-(\\d+)", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources", - "response": { - "$ref": "CustomDataSources" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics", - "https://www.googleapis.com/auth/analytics.edit", - "https://www.googleapis.com/auth/analytics.readonly" - ] - } - } - }, - "customDimensions": { - "methods": { - "get": { - "description": "Get a custom dimension to which the user has access.", - "httpMethod": "GET", - "id": "analytics.management.customDimensions.get", - "parameterOrder": [ - "accountId", - "webPropertyId", - "customDimensionId" - ], - "parameters": { - "accountId": { - "description": "Account ID for the custom dimension to retrieve.", - "location": "path", - "required": true, - "type": "string" - }, - "customDimensionId": { - "description": "The ID of the custom dimension to retrieve.", - "location": "path", - "required": true, - "type": "string" - }, - "webPropertyId": { - "description": "Web property ID for the custom dimension to retrieve.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customDimensions/{customDimensionId}", - "response": { - "$ref": "CustomDimension" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.edit", - "https://www.googleapis.com/auth/analytics.readonly" - ] - }, - "insert": { - "description": "Create a new custom dimension.", - "httpMethod": "POST", - "id": "analytics.management.customDimensions.insert", - "parameterOrder": [ - "accountId", - "webPropertyId" - ], - "parameters": { - "accountId": { - "description": "Account ID for the custom dimension to create.", - "location": "path", - "required": true, - "type": "string" - }, - "webPropertyId": { - "description": "Web property ID for the custom dimension to create.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customDimensions", - "request": { - "$ref": "CustomDimension" - }, - "response": { - "$ref": "CustomDimension" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.edit" - ] - }, - "list": { - "description": "Lists custom dimensions to which the user has access.", - "httpMethod": "GET", - "id": "analytics.management.customDimensions.list", - "parameterOrder": [ - "accountId", - "webPropertyId" - ], - "parameters": { - "accountId": { - "description": "Account ID for the custom dimensions to retrieve.", - "location": "path", - "required": true, - "type": "string" - }, - "max-results": { - "description": "The maximum number of custom dimensions to include in this response.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "start-index": { - "description": "An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.", - "format": "int32", - "location": "query", - "minimum": "1", - "type": "integer" - }, - "webPropertyId": { - "description": "Web property ID for the custom dimensions to retrieve.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customDimensions", - "response": { - "$ref": "CustomDimensions" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics", - "https://www.googleapis.com/auth/analytics.readonly" - ] - }, - "patch": { - "description": "Updates an existing custom dimension. This method supports patch semantics.", - "httpMethod": "PATCH", - "id": "analytics.management.customDimensions.patch", - "parameterOrder": [ - "accountId", - "webPropertyId", - "customDimensionId" - ], - "parameters": { - "accountId": { - "description": "Account ID for the custom dimension to update.", - "location": "path", - "required": true, - "type": "string" - }, - "customDimensionId": { - "description": "Custom dimension ID for the custom dimension to update.", - "location": "path", - "required": true, - "type": "string" - }, - "ignoreCustomDataSourceLinks": { - "default": "false", - "description": "Force the update and ignore any warnings related to the custom dimension being linked to a custom data source / data set.", - "location": "query", - "type": "boolean" - }, - "webPropertyId": { - "description": "Web property ID for the custom dimension to update.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customDimensions/{customDimensionId}", - "request": { - "$ref": "CustomDimension" - }, - "response": { - "$ref": "CustomDimension" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.edit" - ] - }, - "update": { - "description": "Updates an existing custom dimension.", - "httpMethod": "PUT", - "id": "analytics.management.customDimensions.update", - "parameterOrder": [ - "accountId", - "webPropertyId", - "customDimensionId" - ], - "parameters": { - "accountId": { - "description": "Account ID for the custom dimension to update.", - "location": "path", - "required": true, - "type": "string" - }, - "customDimensionId": { - "description": "Custom dimension ID for the custom dimension to update.", - "location": "path", - "required": true, - "type": "string" - }, - "ignoreCustomDataSourceLinks": { - "default": "false", - "description": "Force the update and ignore any warnings related to the custom dimension being linked to a custom data source / data set.", - "location": "query", - "type": "boolean" - }, - "webPropertyId": { - "description": "Web property ID for the custom dimension to update.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customDimensions/{customDimensionId}", - "request": { - "$ref": "CustomDimension" - }, - "response": { - "$ref": "CustomDimension" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.edit" - ] - } - } - }, - "customMetrics": { - "methods": { - "get": { - "description": "Get a custom metric to which the user has access.", - "httpMethod": "GET", - "id": "analytics.management.customMetrics.get", - "parameterOrder": [ - "accountId", - "webPropertyId", - "customMetricId" - ], - "parameters": { - "accountId": { - "description": "Account ID for the custom metric to retrieve.", - "location": "path", - "required": true, - "type": "string" - }, - "customMetricId": { - "description": "The ID of the custom metric to retrieve.", - "location": "path", - "required": true, - "type": "string" - }, - "webPropertyId": { - "description": "Web property ID for the custom metric to retrieve.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customMetrics/{customMetricId}", - "response": { - "$ref": "CustomMetric" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.edit", - "https://www.googleapis.com/auth/analytics.readonly" - ] - }, - "insert": { - "description": "Create a new custom metric.", - "httpMethod": "POST", - "id": "analytics.management.customMetrics.insert", - "parameterOrder": [ - "accountId", - "webPropertyId" - ], - "parameters": { - "accountId": { - "description": "Account ID for the custom metric to create.", - "location": "path", - "required": true, - "type": "string" - }, - "webPropertyId": { - "description": "Web property ID for the custom dimension to create.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customMetrics", - "request": { - "$ref": "CustomMetric" - }, - "response": { - "$ref": "CustomMetric" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.edit" - ] - }, - "list": { - "description": "Lists custom metrics to which the user has access.", - "httpMethod": "GET", - "id": "analytics.management.customMetrics.list", - "parameterOrder": [ - "accountId", - "webPropertyId" - ], - "parameters": { - "accountId": { - "description": "Account ID for the custom metrics to retrieve.", - "location": "path", - "required": true, - "type": "string" - }, - "max-results": { - "description": "The maximum number of custom metrics to include in this response.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "start-index": { - "description": "An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.", - "format": "int32", - "location": "query", - "minimum": "1", - "type": "integer" - }, - "webPropertyId": { - "description": "Web property ID for the custom metrics to retrieve.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customMetrics", - "response": { - "$ref": "CustomMetrics" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics", - "https://www.googleapis.com/auth/analytics.readonly" - ] - }, - "patch": { - "description": "Updates an existing custom metric. This method supports patch semantics.", - "httpMethod": "PATCH", - "id": "analytics.management.customMetrics.patch", - "parameterOrder": [ - "accountId", - "webPropertyId", - "customMetricId" - ], - "parameters": { - "accountId": { - "description": "Account ID for the custom metric to update.", - "location": "path", - "required": true, - "type": "string" - }, - "customMetricId": { - "description": "Custom metric ID for the custom metric to update.", - "location": "path", - "required": true, - "type": "string" - }, - "ignoreCustomDataSourceLinks": { - "default": "false", - "description": "Force the update and ignore any warnings related to the custom metric being linked to a custom data source / data set.", - "location": "query", - "type": "boolean" - }, - "webPropertyId": { - "description": "Web property ID for the custom metric to update.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customMetrics/{customMetricId}", - "request": { - "$ref": "CustomMetric" - }, - "response": { - "$ref": "CustomMetric" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.edit" - ] - }, - "update": { - "description": "Updates an existing custom metric.", - "httpMethod": "PUT", - "id": "analytics.management.customMetrics.update", - "parameterOrder": [ - "accountId", - "webPropertyId", - "customMetricId" - ], - "parameters": { - "accountId": { - "description": "Account ID for the custom metric to update.", - "location": "path", - "required": true, - "type": "string" - }, - "customMetricId": { - "description": "Custom metric ID for the custom metric to update.", - "location": "path", - "required": true, - "type": "string" - }, - "ignoreCustomDataSourceLinks": { - "default": "false", - "description": "Force the update and ignore any warnings related to the custom metric being linked to a custom data source / data set.", - "location": "query", - "type": "boolean" - }, - "webPropertyId": { - "description": "Web property ID for the custom metric to update.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customMetrics/{customMetricId}", - "request": { - "$ref": "CustomMetric" - }, - "response": { - "$ref": "CustomMetric" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.edit" - ] - } - } - }, - "experiments": { - "methods": { - "delete": { - "description": "Delete an experiment.", - "httpMethod": "DELETE", - "id": "analytics.management.experiments.delete", - "parameterOrder": [ - "accountId", - "webPropertyId", - "profileId", - "experimentId" - ], - "parameters": { - "accountId": { - "description": "Account ID to which the experiment belongs", - "location": "path", - "required": true, - "type": "string" - }, - "experimentId": { - "description": "ID of the experiment to delete", - "location": "path", - "required": true, - "type": "string" - }, - "profileId": { - "description": "View (Profile) ID to which the experiment belongs", - "location": "path", - "required": true, - "type": "string" - }, - "webPropertyId": { - "description": "Web property ID to which the experiment belongs", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/experiments/{experimentId}", - "scopes": [ - "https://www.googleapis.com/auth/analytics", - "https://www.googleapis.com/auth/analytics.edit" - ] - }, - "get": { - "description": "Returns an experiment to which the user has access.", - "httpMethod": "GET", - "id": "analytics.management.experiments.get", - "parameterOrder": [ - "accountId", - "webPropertyId", - "profileId", - "experimentId" - ], - "parameters": { - "accountId": { - "description": "Account ID to retrieve the experiment for.", - "location": "path", - "required": true, - "type": "string" - }, - "experimentId": { - "description": "Experiment ID to retrieve the experiment for.", - "location": "path", - "required": true, - "type": "string" - }, - "profileId": { - "description": "View (Profile) ID to retrieve the experiment for.", - "location": "path", - "required": true, - "type": "string" - }, - "webPropertyId": { - "description": "Web property ID to retrieve the experiment for.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/experiments/{experimentId}", - "response": { - "$ref": "Experiment" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics", - "https://www.googleapis.com/auth/analytics.edit", - "https://www.googleapis.com/auth/analytics.readonly" - ] - }, - "insert": { - "description": "Create a new experiment.", - "httpMethod": "POST", - "id": "analytics.management.experiments.insert", - "parameterOrder": [ - "accountId", - "webPropertyId", - "profileId" - ], - "parameters": { - "accountId": { - "description": "Account ID to create the experiment for.", - "location": "path", - "required": true, - "type": "string" - }, - "profileId": { - "description": "View (Profile) ID to create the experiment for.", - "location": "path", - "required": true, - "type": "string" - }, - "webPropertyId": { - "description": "Web property ID to create the experiment for.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/experiments", - "request": { - "$ref": "Experiment" - }, - "response": { - "$ref": "Experiment" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics", - "https://www.googleapis.com/auth/analytics.edit" - ] - }, - "list": { - "description": "Lists experiments to which the user has access.", - "httpMethod": "GET", - "id": "analytics.management.experiments.list", - "parameterOrder": [ - "accountId", - "webPropertyId", - "profileId" - ], - "parameters": { - "accountId": { - "description": "Account ID to retrieve experiments for.", - "location": "path", - "pattern": "\\d+", - "required": true, - "type": "string" - }, - "max-results": { - "description": "The maximum number of experiments to include in this response.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "profileId": { - "description": "View (Profile) ID to retrieve experiments for.", - "location": "path", - "pattern": "\\d+", - "required": true, - "type": "string" - }, - "start-index": { - "description": "An index of the first experiment to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.", - "format": "int32", - "location": "query", - "minimum": "1", - "type": "integer" - }, - "webPropertyId": { - "description": "Web property ID to retrieve experiments for.", - "location": "path", - "pattern": "UA-(\\d+)-(\\d+)", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/experiments", - "response": { - "$ref": "Experiments" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics", - "https://www.googleapis.com/auth/analytics.edit", - "https://www.googleapis.com/auth/analytics.readonly" - ] - }, - "patch": { - "description": "Update an existing experiment. This method supports patch semantics.", - "httpMethod": "PATCH", - "id": "analytics.management.experiments.patch", - "parameterOrder": [ - "accountId", - "webPropertyId", - "profileId", - "experimentId" - ], - "parameters": { - "accountId": { - "description": "Account ID of the experiment to update.", - "location": "path", - "required": true, - "type": "string" - }, - "experimentId": { - "description": "Experiment ID of the experiment to update.", - "location": "path", - "required": true, - "type": "string" - }, - "profileId": { - "description": "View (Profile) ID of the experiment to update.", - "location": "path", - "required": true, - "type": "string" - }, - "webPropertyId": { - "description": "Web property ID of the experiment to update.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/experiments/{experimentId}", - "request": { - "$ref": "Experiment" - }, - "response": { - "$ref": "Experiment" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics", - "https://www.googleapis.com/auth/analytics.edit" - ] - }, - "update": { - "description": "Update an existing experiment.", - "httpMethod": "PUT", - "id": "analytics.management.experiments.update", - "parameterOrder": [ - "accountId", - "webPropertyId", - "profileId", - "experimentId" - ], - "parameters": { - "accountId": { - "description": "Account ID of the experiment to update.", - "location": "path", - "required": true, - "type": "string" - }, - "experimentId": { - "description": "Experiment ID of the experiment to update.", - "location": "path", - "required": true, - "type": "string" - }, - "profileId": { - "description": "View (Profile) ID of the experiment to update.", - "location": "path", - "required": true, - "type": "string" - }, - "webPropertyId": { - "description": "Web property ID of the experiment to update.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/experiments/{experimentId}", - "request": { - "$ref": "Experiment" - }, - "response": { - "$ref": "Experiment" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics", - "https://www.googleapis.com/auth/analytics.edit" - ] - } - } - }, - "filters": { - "methods": { - "delete": { - "description": "Delete a filter.", - "httpMethod": "DELETE", - "id": "analytics.management.filters.delete", - "parameterOrder": [ - "accountId", - "filterId" - ], - "parameters": { - "accountId": { - "description": "Account ID to delete the filter for.", - "location": "path", - "required": true, - "type": "string" - }, - "filterId": { - "description": "ID of the filter to be deleted.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/filters/{filterId}", - "response": { - "$ref": "Filter" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.edit" - ] - }, - "get": { - "description": "Returns filters to which the user has access.", - "httpMethod": "GET", - "id": "analytics.management.filters.get", - "parameterOrder": [ - "accountId", - "filterId" - ], - "parameters": { - "accountId": { - "description": "Account ID to retrieve filters for.", - "location": "path", - "required": true, - "type": "string" - }, - "filterId": { - "description": "Filter ID to retrieve filters for.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/filters/{filterId}", - "response": { - "$ref": "Filter" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.edit", - "https://www.googleapis.com/auth/analytics.readonly" - ] - }, - "insert": { - "description": "Create a new filter.", - "httpMethod": "POST", - "id": "analytics.management.filters.insert", - "parameterOrder": [ - "accountId" - ], - "parameters": { - "accountId": { - "description": "Account ID to create filter for.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/filters", - "request": { - "$ref": "Filter" - }, - "response": { - "$ref": "Filter" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.edit" - ] - }, - "list": { - "description": "Lists all filters for an account", - "httpMethod": "GET", - "id": "analytics.management.filters.list", - "parameterOrder": [ - "accountId" - ], - "parameters": { - "accountId": { - "description": "Account ID to retrieve filters for.", - "location": "path", - "pattern": "\\d+", - "required": true, - "type": "string" - }, - "max-results": { - "description": "The maximum number of filters to include in this response.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "start-index": { - "description": "An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.", - "format": "int32", - "location": "query", - "minimum": "1", - "type": "integer" - } - }, - "path": "management/accounts/{accountId}/filters", - "response": { - "$ref": "Filters" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.edit", - "https://www.googleapis.com/auth/analytics.readonly" - ] - }, - "patch": { - "description": "Updates an existing filter. This method supports patch semantics.", - "httpMethod": "PATCH", - "id": "analytics.management.filters.patch", - "parameterOrder": [ - "accountId", - "filterId" - ], - "parameters": { - "accountId": { - "description": "Account ID to which the filter belongs.", - "location": "path", - "required": true, - "type": "string" - }, - "filterId": { - "description": "ID of the filter to be updated.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/filters/{filterId}", - "request": { - "$ref": "Filter" - }, - "response": { - "$ref": "Filter" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.edit" - ] - }, - "update": { - "description": "Updates an existing filter.", - "httpMethod": "PUT", - "id": "analytics.management.filters.update", - "parameterOrder": [ - "accountId", - "filterId" - ], - "parameters": { - "accountId": { - "description": "Account ID to which the filter belongs.", - "location": "path", - "required": true, - "type": "string" - }, - "filterId": { - "description": "ID of the filter to be updated.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/filters/{filterId}", - "request": { - "$ref": "Filter" - }, - "response": { - "$ref": "Filter" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.edit" - ] - } - } - }, - "goals": { - "methods": { - "get": { - "description": "Gets a goal to which the user has access.", - "httpMethod": "GET", - "id": "analytics.management.goals.get", - "parameterOrder": [ - "accountId", - "webPropertyId", - "profileId", - "goalId" - ], - "parameters": { - "accountId": { - "description": "Account ID to retrieve the goal for.", - "location": "path", - "required": true, - "type": "string" - }, - "goalId": { - "description": "Goal ID to retrieve the goal for.", - "location": "path", - "required": true, - "type": "string" - }, - "profileId": { - "description": "View (Profile) ID to retrieve the goal for.", - "location": "path", - "required": true, - "type": "string" - }, - "webPropertyId": { - "description": "Web property ID to retrieve the goal for.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/goals/{goalId}", - "response": { - "$ref": "Goal" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.edit", - "https://www.googleapis.com/auth/analytics.readonly" - ] - }, - "insert": { - "description": "Create a new goal.", - "httpMethod": "POST", - "id": "analytics.management.goals.insert", - "parameterOrder": [ - "accountId", - "webPropertyId", - "profileId" - ], - "parameters": { - "accountId": { - "description": "Account ID to create the goal for.", - "location": "path", - "required": true, - "type": "string" - }, - "profileId": { - "description": "View (Profile) ID to create the goal for.", - "location": "path", - "required": true, - "type": "string" - }, - "webPropertyId": { - "description": "Web property ID to create the goal for.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/goals", - "request": { - "$ref": "Goal" - }, - "response": { - "$ref": "Goal" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.edit" - ] - }, - "list": { - "description": "Lists goals to which the user has access.", - "httpMethod": "GET", - "id": "analytics.management.goals.list", - "parameterOrder": [ - "accountId", - "webPropertyId", - "profileId" - ], - "parameters": { - "accountId": { - "description": "Account ID to retrieve goals for. Can either be a specific account ID or '~all', which refers to all the accounts that user has access to.", - "location": "path", - "required": true, - "type": "string" - }, - "max-results": { - "description": "The maximum number of goals to include in this response.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "profileId": { - "description": "View (Profile) ID to retrieve goals for. Can either be a specific view (profile) ID or '~all', which refers to all the views (profiles) that user has access to.", - "location": "path", - "required": true, - "type": "string" - }, - "start-index": { - "description": "An index of the first goal to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.", - "format": "int32", - "location": "query", - "minimum": "1", - "type": "integer" - }, - "webPropertyId": { - "description": "Web property ID to retrieve goals for. Can either be a specific web property ID or '~all', which refers to all the web properties that user has access to.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/goals", - "response": { - "$ref": "Goals" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics", - "https://www.googleapis.com/auth/analytics.edit", - "https://www.googleapis.com/auth/analytics.readonly" - ] - }, - "patch": { - "description": "Updates an existing goal. This method supports patch semantics.", - "httpMethod": "PATCH", - "id": "analytics.management.goals.patch", - "parameterOrder": [ - "accountId", - "webPropertyId", - "profileId", - "goalId" - ], - "parameters": { - "accountId": { - "description": "Account ID to update the goal.", - "location": "path", - "required": true, - "type": "string" - }, - "goalId": { - "description": "Index of the goal to be updated.", - "location": "path", - "required": true, - "type": "string" - }, - "profileId": { - "description": "View (Profile) ID to update the goal.", - "location": "path", - "required": true, - "type": "string" - }, - "webPropertyId": { - "description": "Web property ID to update the goal.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/goals/{goalId}", - "request": { - "$ref": "Goal" - }, - "response": { - "$ref": "Goal" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.edit" - ] - }, - "update": { - "description": "Updates an existing goal.", - "httpMethod": "PUT", - "id": "analytics.management.goals.update", - "parameterOrder": [ - "accountId", - "webPropertyId", - "profileId", - "goalId" - ], - "parameters": { - "accountId": { - "description": "Account ID to update the goal.", - "location": "path", - "required": true, - "type": "string" - }, - "goalId": { - "description": "Index of the goal to be updated.", - "location": "path", - "required": true, - "type": "string" - }, - "profileId": { - "description": "View (Profile) ID to update the goal.", - "location": "path", - "required": true, - "type": "string" - }, - "webPropertyId": { - "description": "Web property ID to update the goal.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/goals/{goalId}", - "request": { - "$ref": "Goal" - }, - "response": { - "$ref": "Goal" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.edit" - ] - } - } - }, - "profileFilterLinks": { - "methods": { - "delete": { - "description": "Delete a profile filter link.", - "httpMethod": "DELETE", - "id": "analytics.management.profileFilterLinks.delete", - "parameterOrder": [ - "accountId", - "webPropertyId", - "profileId", - "linkId" - ], - "parameters": { - "accountId": { - "description": "Account ID to which the profile filter link belongs.", - "location": "path", - "pattern": "\\d+", - "required": true, - "type": "string" - }, - "linkId": { - "description": "ID of the profile filter link to delete.", - "location": "path", - "pattern": "\\d+:\\d+", - "required": true, - "type": "string" - }, - "profileId": { - "description": "Profile ID to which the filter link belongs.", - "location": "path", - "pattern": "\\d+", - "required": true, - "type": "string" - }, - "webPropertyId": { - "description": "Web property Id to which the profile filter link belongs.", - "location": "path", - "pattern": "UA-(\\d+)-(\\d+)", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/profileFilterLinks/{linkId}", - "scopes": [ - "https://www.googleapis.com/auth/analytics.edit" - ] - }, - "get": { - "description": "Returns a single profile filter link.", - "httpMethod": "GET", - "id": "analytics.management.profileFilterLinks.get", - "parameterOrder": [ - "accountId", - "webPropertyId", - "profileId", - "linkId" - ], - "parameters": { - "accountId": { - "description": "Account ID to retrieve profile filter link for.", - "location": "path", - "pattern": "\\d+", - "required": true, - "type": "string" - }, - "linkId": { - "description": "ID of the profile filter link.", - "location": "path", - "pattern": "\\d+:\\d+", - "required": true, - "type": "string" - }, - "profileId": { - "description": "Profile ID to retrieve filter link for.", - "location": "path", - "pattern": "\\d+", - "required": true, - "type": "string" - }, - "webPropertyId": { - "description": "Web property Id to retrieve profile filter link for.", - "location": "path", - "pattern": "UA-(\\d+)-(\\d+)", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/profileFilterLinks/{linkId}", - "response": { - "$ref": "ProfileFilterLink" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.edit", - "https://www.googleapis.com/auth/analytics.readonly" - ] - }, - "insert": { - "description": "Create a new profile filter link.", - "httpMethod": "POST", - "id": "analytics.management.profileFilterLinks.insert", - "parameterOrder": [ - "accountId", - "webPropertyId", - "profileId" - ], - "parameters": { - "accountId": { - "description": "Account ID to create profile filter link for.", - "location": "path", - "pattern": "\\d+", - "required": true, - "type": "string" - }, - "profileId": { - "description": "Profile ID to create filter link for.", - "location": "path", - "pattern": "\\d+", - "required": true, - "type": "string" - }, - "webPropertyId": { - "description": "Web property Id to create profile filter link for.", - "location": "path", - "pattern": "UA-(\\d+)-(\\d+)", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/profileFilterLinks", - "request": { - "$ref": "ProfileFilterLink" - }, - "response": { - "$ref": "ProfileFilterLink" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.edit" - ] - }, - "list": { - "description": "Lists all profile filter links for a profile.", - "httpMethod": "GET", - "id": "analytics.management.profileFilterLinks.list", - "parameterOrder": [ - "accountId", - "webPropertyId", - "profileId" - ], - "parameters": { - "accountId": { - "description": "Account ID to retrieve profile filter links for.", - "location": "path", - "pattern": "\\d+", - "required": true, - "type": "string" - }, - "max-results": { - "description": "The maximum number of profile filter links to include in this response.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "profileId": { - "description": "Profile ID to retrieve filter links for. Can either be a specific profile ID or '~all', which refers to all the profiles that user has access to.", - "location": "path", - "required": true, - "type": "string" - }, - "start-index": { - "description": "An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.", - "format": "int32", - "location": "query", - "minimum": "1", - "type": "integer" - }, - "webPropertyId": { - "description": "Web property Id for profile filter links for. Can either be a specific web property ID or '~all', which refers to all the web properties that user has access to.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/profileFilterLinks", - "response": { - "$ref": "ProfileFilterLinks" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.edit", - "https://www.googleapis.com/auth/analytics.readonly" - ] - }, - "patch": { - "description": "Update an existing profile filter link. This method supports patch semantics.", - "httpMethod": "PATCH", - "id": "analytics.management.profileFilterLinks.patch", - "parameterOrder": [ - "accountId", - "webPropertyId", - "profileId", - "linkId" - ], - "parameters": { - "accountId": { - "description": "Account ID to which profile filter link belongs.", - "location": "path", - "pattern": "\\d+", - "required": true, - "type": "string" - }, - "linkId": { - "description": "ID of the profile filter link to be updated.", - "location": "path", - "pattern": "\\d+:\\d+", - "required": true, - "type": "string" - }, - "profileId": { - "description": "Profile ID to which filter link belongs", - "location": "path", - "pattern": "\\d+", - "required": true, - "type": "string" - }, - "webPropertyId": { - "description": "Web property Id to which profile filter link belongs", - "location": "path", - "pattern": "UA-(\\d+)-(\\d+)", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/profileFilterLinks/{linkId}", - "request": { - "$ref": "ProfileFilterLink" - }, - "response": { - "$ref": "ProfileFilterLink" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.edit" - ] - }, - "update": { - "description": "Update an existing profile filter link.", - "httpMethod": "PUT", - "id": "analytics.management.profileFilterLinks.update", - "parameterOrder": [ - "accountId", - "webPropertyId", - "profileId", - "linkId" - ], - "parameters": { - "accountId": { - "description": "Account ID to which profile filter link belongs.", - "location": "path", - "pattern": "\\d+", - "required": true, - "type": "string" - }, - "linkId": { - "description": "ID of the profile filter link to be updated.", - "location": "path", - "pattern": "\\d+:\\d+", - "required": true, - "type": "string" - }, - "profileId": { - "description": "Profile ID to which filter link belongs", - "location": "path", - "pattern": "\\d+", - "required": true, - "type": "string" - }, - "webPropertyId": { - "description": "Web property Id to which profile filter link belongs", - "location": "path", - "pattern": "UA-(\\d+)-(\\d+)", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/profileFilterLinks/{linkId}", - "request": { - "$ref": "ProfileFilterLink" - }, - "response": { - "$ref": "ProfileFilterLink" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.edit" - ] - } - } - }, - "profileUserLinks": { - "methods": { - "delete": { - "description": "Removes a user from the given view (profile).", - "httpMethod": "DELETE", - "id": "analytics.management.profileUserLinks.delete", - "parameterOrder": [ - "accountId", - "webPropertyId", - "profileId", - "linkId" - ], - "parameters": { - "accountId": { - "description": "Account ID to delete the user link for.", - "location": "path", - "required": true, - "type": "string" - }, - "linkId": { - "description": "Link ID to delete the user link for.", - "location": "path", - "required": true, - "type": "string" - }, - "profileId": { - "description": "View (Profile) ID to delete the user link for.", - "location": "path", - "required": true, - "type": "string" - }, - "webPropertyId": { - "description": "Web Property ID to delete the user link for.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/entityUserLinks/{linkId}", - "scopes": [ - "https://www.googleapis.com/auth/analytics.manage.users" - ] - }, - "insert": { - "description": "Adds a new user to the given view (profile).", - "httpMethod": "POST", - "id": "analytics.management.profileUserLinks.insert", - "parameterOrder": [ - "accountId", - "webPropertyId", - "profileId" - ], - "parameters": { - "accountId": { - "description": "Account ID to create the user link for.", - "location": "path", - "required": true, - "type": "string" - }, - "profileId": { - "description": "View (Profile) ID to create the user link for.", - "location": "path", - "required": true, - "type": "string" - }, - "webPropertyId": { - "description": "Web Property ID to create the user link for.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/entityUserLinks", - "request": { - "$ref": "EntityUserLink" - }, - "response": { - "$ref": "EntityUserLink" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.manage.users" - ] - }, - "list": { - "description": "Lists profile-user links for a given view (profile).", - "httpMethod": "GET", - "id": "analytics.management.profileUserLinks.list", - "parameterOrder": [ - "accountId", - "webPropertyId", - "profileId" - ], - "parameters": { - "accountId": { - "description": "Account ID which the given view (profile) belongs to.", - "location": "path", - "required": true, - "type": "string" - }, - "max-results": { - "description": "The maximum number of profile-user links to include in this response.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "profileId": { - "description": "View (Profile) ID to retrieve the profile-user links for. Can either be a specific profile ID or '~all', which refers to all the profiles that user has access to.", - "location": "path", - "required": true, - "type": "string" - }, - "start-index": { - "description": "An index of the first profile-user link to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.", - "format": "int32", - "location": "query", - "minimum": "1", - "type": "integer" - }, - "webPropertyId": { - "description": "Web Property ID which the given view (profile) belongs to. Can either be a specific web property ID or '~all', which refers to all the web properties that user has access to.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/entityUserLinks", - "response": { - "$ref": "EntityUserLinks" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.manage.users", - "https://www.googleapis.com/auth/analytics.manage.users.readonly" - ] - }, - "update": { - "description": "Updates permissions for an existing user on the given view (profile).", - "httpMethod": "PUT", - "id": "analytics.management.profileUserLinks.update", - "parameterOrder": [ - "accountId", - "webPropertyId", - "profileId", - "linkId" - ], - "parameters": { - "accountId": { - "description": "Account ID to update the user link for.", - "location": "path", - "required": true, - "type": "string" - }, - "linkId": { - "description": "Link ID to update the user link for.", - "location": "path", - "required": true, - "type": "string" - }, - "profileId": { - "description": "View (Profile ID) to update the user link for.", - "location": "path", - "required": true, - "type": "string" - }, - "webPropertyId": { - "description": "Web Property ID to update the user link for.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/entityUserLinks/{linkId}", - "request": { - "$ref": "EntityUserLink" - }, - "response": { - "$ref": "EntityUserLink" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.manage.users" - ] - } - } - }, - "profiles": { - "methods": { - "delete": { - "description": "Deletes a view (profile).", - "httpMethod": "DELETE", - "id": "analytics.management.profiles.delete", - "parameterOrder": [ - "accountId", - "webPropertyId", - "profileId" - ], - "parameters": { - "accountId": { - "description": "Account ID to delete the view (profile) for.", - "location": "path", - "required": true, - "type": "string" - }, - "profileId": { - "description": "ID of the view (profile) to be deleted.", - "location": "path", - "required": true, - "type": "string" - }, - "webPropertyId": { - "description": "Web property ID to delete the view (profile) for.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}", - "scopes": [ - "https://www.googleapis.com/auth/analytics.edit" - ] - }, - "get": { - "description": "Gets a view (profile) to which the user has access.", - "httpMethod": "GET", - "id": "analytics.management.profiles.get", - "parameterOrder": [ - "accountId", - "webPropertyId", - "profileId" - ], - "parameters": { - "accountId": { - "description": "Account ID to retrieve the view (profile) for.", - "location": "path", - "pattern": "[0-9]+", - "required": true, - "type": "string" - }, - "profileId": { - "description": "View (Profile) ID to retrieve the view (profile) for.", - "location": "path", - "pattern": "[0-9]+", - "required": true, - "type": "string" - }, - "webPropertyId": { - "description": "Web property ID to retrieve the view (profile) for.", - "location": "path", - "pattern": "UA-[0-9]+-[0-9]+", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}", - "response": { - "$ref": "Profile" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.edit", - "https://www.googleapis.com/auth/analytics.readonly" - ] - }, - "insert": { - "description": "Create a new view (profile).", - "httpMethod": "POST", - "id": "analytics.management.profiles.insert", - "parameterOrder": [ - "accountId", - "webPropertyId" - ], - "parameters": { - "accountId": { - "description": "Account ID to create the view (profile) for.", - "location": "path", - "required": true, - "type": "string" - }, - "webPropertyId": { - "description": "Web property ID to create the view (profile) for.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles", - "request": { - "$ref": "Profile" - }, - "response": { - "$ref": "Profile" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.edit" - ] - }, - "list": { - "description": "Lists views (profiles) to which the user has access.", - "httpMethod": "GET", - "id": "analytics.management.profiles.list", - "parameterOrder": [ - "accountId", - "webPropertyId" - ], - "parameters": { - "accountId": { - "description": "Account ID for the view (profiles) to retrieve. Can either be a specific account ID or '~all', which refers to all the accounts to which the user has access.", - "location": "path", - "required": true, - "type": "string" - }, - "max-results": { - "description": "The maximum number of views (profiles) to include in this response.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "start-index": { - "description": "An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.", - "format": "int32", - "location": "query", - "minimum": "1", - "type": "integer" - }, - "webPropertyId": { - "description": "Web property ID for the views (profiles) to retrieve. Can either be a specific web property ID or '~all', which refers to all the web properties to which the user has access.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles", - "response": { - "$ref": "Profiles" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics", - "https://www.googleapis.com/auth/analytics.edit", - "https://www.googleapis.com/auth/analytics.readonly" - ] - }, - "patch": { - "description": "Updates an existing view (profile). This method supports patch semantics.", - "httpMethod": "PATCH", - "id": "analytics.management.profiles.patch", - "parameterOrder": [ - "accountId", - "webPropertyId", - "profileId" - ], - "parameters": { - "accountId": { - "description": "Account ID to which the view (profile) belongs", - "location": "path", - "required": true, - "type": "string" - }, - "profileId": { - "description": "ID of the view (profile) to be updated.", - "location": "path", - "required": true, - "type": "string" - }, - "webPropertyId": { - "description": "Web property ID to which the view (profile) belongs", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}", - "request": { - "$ref": "Profile" - }, - "response": { - "$ref": "Profile" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.edit" - ] - }, - "update": { - "description": "Updates an existing view (profile).", - "httpMethod": "PUT", - "id": "analytics.management.profiles.update", - "parameterOrder": [ - "accountId", - "webPropertyId", - "profileId" - ], - "parameters": { - "accountId": { - "description": "Account ID to which the view (profile) belongs", - "location": "path", - "required": true, - "type": "string" - }, - "profileId": { - "description": "ID of the view (profile) to be updated.", - "location": "path", - "required": true, - "type": "string" - }, - "webPropertyId": { - "description": "Web property ID to which the view (profile) belongs", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}", - "request": { - "$ref": "Profile" - }, - "response": { - "$ref": "Profile" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.edit" - ] - } - } - }, - "remarketingAudience": { - "methods": { - "delete": { - "description": "Delete a remarketing audience.", - "httpMethod": "DELETE", - "id": "analytics.management.remarketingAudience.delete", - "parameterOrder": [ - "accountId", - "webPropertyId", - "remarketingAudienceId" - ], - "parameters": { - "accountId": { - "description": "Account ID to which the remarketing audience belongs.", - "location": "path", - "required": true, - "type": "string" - }, - "remarketingAudienceId": { - "description": "The ID of the remarketing audience to delete.", - "location": "path", - "required": true, - "type": "string" - }, - "webPropertyId": { - "description": "Web property ID to which the remarketing audience belongs.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/remarketingAudiences/{remarketingAudienceId}", - "scopes": [ - "https://www.googleapis.com/auth/analytics.edit" - ] - }, - "get": { - "description": "Gets a remarketing audience to which the user has access.", - "httpMethod": "GET", - "id": "analytics.management.remarketingAudience.get", - "parameterOrder": [ - "accountId", - "webPropertyId", - "remarketingAudienceId" - ], - "parameters": { - "accountId": { - "description": "The account ID of the remarketing audience to retrieve.", - "location": "path", - "required": true, - "type": "string" - }, - "remarketingAudienceId": { - "description": "The ID of the remarketing audience to retrieve.", - "location": "path", - "required": true, - "type": "string" - }, - "webPropertyId": { - "description": "The web property ID of the remarketing audience to retrieve.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/remarketingAudiences/{remarketingAudienceId}", - "response": { - "$ref": "RemarketingAudience" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.edit", - "https://www.googleapis.com/auth/analytics.readonly" - ] - }, - "insert": { - "description": "Creates a new remarketing audience.", - "httpMethod": "POST", - "id": "analytics.management.remarketingAudience.insert", - "parameterOrder": [ - "accountId", - "webPropertyId" - ], - "parameters": { - "accountId": { - "description": "The account ID for which to create the remarketing audience.", - "location": "path", - "required": true, - "type": "string" - }, - "webPropertyId": { - "description": "Web property ID for which to create the remarketing audience.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/remarketingAudiences", - "request": { - "$ref": "RemarketingAudience" - }, - "response": { - "$ref": "RemarketingAudience" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.edit" - ] - }, - "list": { - "description": "Lists remarketing audiences to which the user has access.", - "httpMethod": "GET", - "id": "analytics.management.remarketingAudience.list", - "parameterOrder": [ - "accountId", - "webPropertyId" - ], - "parameters": { - "accountId": { - "description": "The account ID of the remarketing audiences to retrieve.", - "location": "path", - "required": true, - "type": "string" - }, - "max-results": { - "description": "The maximum number of remarketing audiences to include in this response.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "start-index": { - "description": "An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.", - "format": "int32", - "location": "query", - "minimum": "1", - "type": "integer" - }, - "type": { - "default": "all", - "location": "query", - "type": "string" - }, - "webPropertyId": { - "description": "The web property ID of the remarketing audiences to retrieve.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/remarketingAudiences", - "response": { - "$ref": "RemarketingAudiences" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.edit", - "https://www.googleapis.com/auth/analytics.readonly" - ] - }, - "patch": { - "description": "Updates an existing remarketing audience. This method supports patch semantics.", - "httpMethod": "PATCH", - "id": "analytics.management.remarketingAudience.patch", - "parameterOrder": [ - "accountId", - "webPropertyId", - "remarketingAudienceId" - ], - "parameters": { - "accountId": { - "description": "The account ID of the remarketing audience to update.", - "location": "path", - "required": true, - "type": "string" - }, - "remarketingAudienceId": { - "description": "The ID of the remarketing audience to update.", - "location": "path", - "required": true, - "type": "string" - }, - "webPropertyId": { - "description": "The web property ID of the remarketing audience to update.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/remarketingAudiences/{remarketingAudienceId}", - "request": { - "$ref": "RemarketingAudience" - }, - "response": { - "$ref": "RemarketingAudience" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.edit" - ] - }, - "update": { - "description": "Updates an existing remarketing audience.", - "httpMethod": "PUT", - "id": "analytics.management.remarketingAudience.update", - "parameterOrder": [ - "accountId", - "webPropertyId", - "remarketingAudienceId" - ], - "parameters": { - "accountId": { - "description": "The account ID of the remarketing audience to update.", - "location": "path", - "required": true, - "type": "string" - }, - "remarketingAudienceId": { - "description": "The ID of the remarketing audience to update.", - "location": "path", - "required": true, - "type": "string" - }, - "webPropertyId": { - "description": "The web property ID of the remarketing audience to update.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/remarketingAudiences/{remarketingAudienceId}", - "request": { - "$ref": "RemarketingAudience" - }, - "response": { - "$ref": "RemarketingAudience" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.edit" - ] - } - } - }, - "segments": { - "methods": { - "list": { - "description": "Lists segments to which the user has access.", - "httpMethod": "GET", - "id": "analytics.management.segments.list", - "parameters": { - "max-results": { - "description": "The maximum number of segments to include in this response.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "start-index": { - "description": "An index of the first segment to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.", - "format": "int32", - "location": "query", - "minimum": "1", - "type": "integer" - } - }, - "path": "management/segments", - "response": { - "$ref": "Segments" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics", - "https://www.googleapis.com/auth/analytics.edit", - "https://www.googleapis.com/auth/analytics.readonly" - ] - } - } - }, - "unsampledReports": { - "methods": { - "delete": { - "description": "Deletes an unsampled report.", - "httpMethod": "DELETE", - "id": "analytics.management.unsampledReports.delete", - "parameterOrder": [ - "accountId", - "webPropertyId", - "profileId", - "unsampledReportId" - ], - "parameters": { - "accountId": { - "description": "Account ID to delete the unsampled report for.", - "location": "path", - "required": true, - "type": "string" - }, - "profileId": { - "description": "View (Profile) ID to delete the unsampled report for.", - "location": "path", - "required": true, - "type": "string" - }, - "unsampledReportId": { - "description": "ID of the unsampled report to be deleted.", - "location": "path", - "required": true, - "type": "string" - }, - "webPropertyId": { - "description": "Web property ID to delete the unsampled reports for.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/unsampledReports/{unsampledReportId}", - "scopes": [ - "https://www.googleapis.com/auth/analytics.edit" - ] - }, - "get": { - "description": "Returns a single unsampled report.", - "httpMethod": "GET", - "id": "analytics.management.unsampledReports.get", - "parameterOrder": [ - "accountId", - "webPropertyId", - "profileId", - "unsampledReportId" - ], - "parameters": { - "accountId": { - "description": "Account ID to retrieve unsampled report for.", - "location": "path", - "required": true, - "type": "string" - }, - "profileId": { - "description": "View (Profile) ID to retrieve unsampled report for.", - "location": "path", - "required": true, - "type": "string" - }, - "unsampledReportId": { - "description": "ID of the unsampled report to retrieve.", - "location": "path", - "required": true, - "type": "string" - }, - "webPropertyId": { - "description": "Web property ID to retrieve unsampled reports for.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/unsampledReports/{unsampledReportId}", - "response": { - "$ref": "UnsampledReport" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics", - "https://www.googleapis.com/auth/analytics.edit", - "https://www.googleapis.com/auth/analytics.readonly" - ] - }, - "insert": { - "description": "Create a new unsampled report.", - "httpMethod": "POST", - "id": "analytics.management.unsampledReports.insert", - "parameterOrder": [ - "accountId", - "webPropertyId", - "profileId" - ], - "parameters": { - "accountId": { - "description": "Account ID to create the unsampled report for.", - "location": "path", - "required": true, - "type": "string" - }, - "profileId": { - "description": "View (Profile) ID to create the unsampled report for.", - "location": "path", - "required": true, - "type": "string" - }, - "webPropertyId": { - "description": "Web property ID to create the unsampled report for.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/unsampledReports", - "request": { - "$ref": "UnsampledReport" - }, - "response": { - "$ref": "UnsampledReport" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics", - "https://www.googleapis.com/auth/analytics.edit" - ] - }, - "list": { - "description": "Lists unsampled reports to which the user has access.", - "httpMethod": "GET", - "id": "analytics.management.unsampledReports.list", - "parameterOrder": [ - "accountId", - "webPropertyId", - "profileId" - ], - "parameters": { - "accountId": { - "description": "Account ID to retrieve unsampled reports for. Must be a specific account ID, ~all is not supported.", - "location": "path", - "required": true, - "type": "string" - }, - "max-results": { - "description": "The maximum number of unsampled reports to include in this response.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "profileId": { - "description": "View (Profile) ID to retrieve unsampled reports for. Must be a specific view (profile) ID, ~all is not supported.", - "location": "path", - "required": true, - "type": "string" - }, - "start-index": { - "description": "An index of the first unsampled report to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.", - "format": "int32", - "location": "query", - "minimum": "1", - "type": "integer" - }, - "webPropertyId": { - "description": "Web property ID to retrieve unsampled reports for. Must be a specific web property ID, ~all is not supported.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/unsampledReports", - "response": { - "$ref": "UnsampledReports" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics", - "https://www.googleapis.com/auth/analytics.edit", - "https://www.googleapis.com/auth/analytics.readonly" - ] - } - } - }, - "uploads": { - "methods": { - "deleteUploadData": { - "description": "Delete data associated with a previous upload.", - "httpMethod": "POST", - "id": "analytics.management.uploads.deleteUploadData", - "parameterOrder": [ - "accountId", - "webPropertyId", - "customDataSourceId" - ], - "parameters": { - "accountId": { - "description": "Account Id for the uploads to be deleted.", - "location": "path", - "pattern": "\\d+", - "required": true, - "type": "string" - }, - "customDataSourceId": { - "description": "Custom data source Id for the uploads to be deleted.", - "location": "path", - "pattern": ".{22}", - "required": true, - "type": "string" - }, - "webPropertyId": { - "description": "Web property Id for the uploads to be deleted.", - "location": "path", - "pattern": "UA-(\\d+)-(\\d+)", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/deleteUploadData", - "request": { - "$ref": "AnalyticsDataimportDeleteUploadDataRequest" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics", - "https://www.googleapis.com/auth/analytics.edit" - ] - }, - "get": { - "description": "List uploads to which the user has access.", - "httpMethod": "GET", - "id": "analytics.management.uploads.get", - "parameterOrder": [ - "accountId", - "webPropertyId", - "customDataSourceId", - "uploadId" - ], - "parameters": { - "accountId": { - "description": "Account Id for the upload to retrieve.", - "location": "path", - "pattern": "\\d+", - "required": true, - "type": "string" - }, - "customDataSourceId": { - "description": "Custom data source Id for upload to retrieve.", - "location": "path", - "pattern": ".{22}", - "required": true, - "type": "string" - }, - "uploadId": { - "description": "Upload Id to retrieve.", - "location": "path", - "pattern": ".{22}", - "required": true, - "type": "string" - }, - "webPropertyId": { - "description": "Web property Id for the upload to retrieve.", - "location": "path", - "pattern": "UA-(\\d+)-(\\d+)", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/uploads/{uploadId}", - "response": { - "$ref": "Upload" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics", - "https://www.googleapis.com/auth/analytics.edit", - "https://www.googleapis.com/auth/analytics.readonly" - ] - }, - "list": { - "description": "List uploads to which the user has access.", - "httpMethod": "GET", - "id": "analytics.management.uploads.list", - "parameterOrder": [ - "accountId", - "webPropertyId", - "customDataSourceId" - ], - "parameters": { - "accountId": { - "description": "Account Id for the uploads to retrieve.", - "location": "path", - "pattern": "\\d+", - "required": true, - "type": "string" - }, - "customDataSourceId": { - "description": "Custom data source Id for uploads to retrieve.", - "location": "path", - "pattern": ".{22}", - "required": true, - "type": "string" - }, - "max-results": { - "description": "The maximum number of uploads to include in this response.", - "format": "int32", - "location": "query", - "minimum": "1", - "type": "integer" - }, - "start-index": { - "description": "A 1-based index of the first upload to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.", - "format": "int32", - "location": "query", - "minimum": "1", - "type": "integer" - }, - "webPropertyId": { - "description": "Web property Id for the uploads to retrieve.", - "location": "path", - "pattern": "UA-(\\d+)-(\\d+)", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/uploads", - "response": { - "$ref": "Uploads" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics", - "https://www.googleapis.com/auth/analytics.edit", - "https://www.googleapis.com/auth/analytics.readonly" - ] - }, - "uploadData": { - "description": "Upload data for a custom data source.", - "httpMethod": "POST", - "id": "analytics.management.uploads.uploadData", - "mediaUpload": { - "accept": [ - "application/octet-stream" - ], - "maxSize": "1GB", - "protocols": { - "resumable": { - "multipart": true, - "path": "/resumable/upload/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/uploads" - }, - "simple": { - "multipart": true, - "path": "/upload/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/uploads" - } - } - }, - "parameterOrder": [ - "accountId", - "webPropertyId", - "customDataSourceId" - ], - "parameters": { - "accountId": { - "description": "Account Id associated with the upload.", - "location": "path", - "pattern": "\\d+", - "required": true, - "type": "string" - }, - "customDataSourceId": { - "description": "Custom data source Id to which the data being uploaded belongs.", - "location": "path", - "required": true, - "type": "string" - }, - "webPropertyId": { - "description": "Web property UA-string associated with the upload.", - "location": "path", - "pattern": "UA-\\d+-\\d+", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/uploads", - "response": { - "$ref": "Upload" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics", - "https://www.googleapis.com/auth/analytics.edit" - ], - "supportsMediaUpload": true - } - } - }, - "webPropertyAdWordsLinks": { - "methods": { - "delete": { - "description": "Deletes a web property-Google Ads link.", - "httpMethod": "DELETE", - "id": "analytics.management.webPropertyAdWordsLinks.delete", - "parameterOrder": [ - "accountId", - "webPropertyId", - "webPropertyAdWordsLinkId" - ], - "parameters": { - "accountId": { - "description": "ID of the account which the given web property belongs to.", - "location": "path", - "required": true, - "type": "string" - }, - "webPropertyAdWordsLinkId": { - "description": "Web property Google Ads link ID.", - "location": "path", - "required": true, - "type": "string" - }, - "webPropertyId": { - "description": "Web property ID to delete the Google Ads link for.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/entityAdWordsLinks/{webPropertyAdWordsLinkId}", - "scopes": [ - "https://www.googleapis.com/auth/analytics.edit" - ] - }, - "get": { - "description": "Returns a web property-Google Ads link to which the user has access.", - "httpMethod": "GET", - "id": "analytics.management.webPropertyAdWordsLinks.get", - "parameterOrder": [ - "accountId", - "webPropertyId", - "webPropertyAdWordsLinkId" - ], - "parameters": { - "accountId": { - "description": "ID of the account which the given web property belongs to.", - "location": "path", - "required": true, - "type": "string" - }, - "webPropertyAdWordsLinkId": { - "description": "Web property-Google Ads link ID.", - "location": "path", - "required": true, - "type": "string" - }, - "webPropertyId": { - "description": "Web property ID to retrieve the Google Ads link for.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/entityAdWordsLinks/{webPropertyAdWordsLinkId}", - "response": { - "$ref": "EntityAdWordsLink" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.edit", - "https://www.googleapis.com/auth/analytics.readonly" - ] - }, - "insert": { - "description": "Creates a webProperty-Google Ads link.", - "httpMethod": "POST", - "id": "analytics.management.webPropertyAdWordsLinks.insert", - "parameterOrder": [ - "accountId", - "webPropertyId" - ], - "parameters": { - "accountId": { - "description": "ID of the Google Analytics account to create the link for.", - "location": "path", - "required": true, - "type": "string" - }, - "webPropertyId": { - "description": "Web property ID to create the link for.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/entityAdWordsLinks", - "request": { - "$ref": "EntityAdWordsLink" - }, - "response": { - "$ref": "EntityAdWordsLink" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.edit" - ] - }, - "list": { - "description": "Lists webProperty-Google Ads links for a given web property.", - "httpMethod": "GET", - "id": "analytics.management.webPropertyAdWordsLinks.list", - "parameterOrder": [ - "accountId", - "webPropertyId" - ], - "parameters": { - "accountId": { - "description": "ID of the account which the given web property belongs to.", - "location": "path", - "pattern": "\\d+", - "required": true, - "type": "string" - }, - "max-results": { - "description": "The maximum number of webProperty-Google Ads links to include in this response.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "start-index": { - "description": "An index of the first webProperty-Google Ads link to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.", - "format": "int32", - "location": "query", - "minimum": "1", - "type": "integer" - }, - "webPropertyId": { - "description": "Web property ID to retrieve the Google Ads links for.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/entityAdWordsLinks", - "response": { - "$ref": "EntityAdWordsLinks" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.edit", - "https://www.googleapis.com/auth/analytics.readonly" - ] - }, - "patch": { - "description": "Updates an existing webProperty-Google Ads link. This method supports patch semantics.", - "httpMethod": "PATCH", - "id": "analytics.management.webPropertyAdWordsLinks.patch", - "parameterOrder": [ - "accountId", - "webPropertyId", - "webPropertyAdWordsLinkId" - ], - "parameters": { - "accountId": { - "description": "ID of the account which the given web property belongs to.", - "location": "path", - "required": true, - "type": "string" - }, - "webPropertyAdWordsLinkId": { - "description": "Web property-Google Ads link ID.", - "location": "path", - "required": true, - "type": "string" - }, - "webPropertyId": { - "description": "Web property ID to retrieve the Google Ads link for.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/entityAdWordsLinks/{webPropertyAdWordsLinkId}", - "request": { - "$ref": "EntityAdWordsLink" - }, - "response": { - "$ref": "EntityAdWordsLink" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.edit" - ] - }, - "update": { - "description": "Updates an existing webProperty-Google Ads link.", - "httpMethod": "PUT", - "id": "analytics.management.webPropertyAdWordsLinks.update", - "parameterOrder": [ - "accountId", - "webPropertyId", - "webPropertyAdWordsLinkId" - ], - "parameters": { - "accountId": { - "description": "ID of the account which the given web property belongs to.", - "location": "path", - "required": true, - "type": "string" - }, - "webPropertyAdWordsLinkId": { - "description": "Web property-Google Ads link ID.", - "location": "path", - "required": true, - "type": "string" - }, - "webPropertyId": { - "description": "Web property ID to retrieve the Google Ads link for.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/entityAdWordsLinks/{webPropertyAdWordsLinkId}", - "request": { - "$ref": "EntityAdWordsLink" - }, - "response": { - "$ref": "EntityAdWordsLink" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.edit" - ] - } - } - }, - "webproperties": { - "methods": { - "get": { - "description": "Gets a web property to which the user has access.", - "httpMethod": "GET", - "id": "analytics.management.webproperties.get", - "parameterOrder": [ - "accountId", - "webPropertyId" - ], - "parameters": { - "accountId": { - "description": "Account ID to retrieve the web property for.", - "location": "path", - "pattern": "[0-9]+", - "required": true, - "type": "string" - }, - "webPropertyId": { - "description": "ID to retrieve the web property for.", - "location": "path", - "pattern": "UA-[0-9]+-[0-9]+", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/webproperties/{webPropertyId}", - "response": { - "$ref": "Webproperty" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.edit", - "https://www.googleapis.com/auth/analytics.readonly" - ] - }, - "insert": { - "description": "Create a new property if the account has fewer than 20 properties. Web properties are visible in the Google Analytics interface only if they have at least one profile.", - "httpMethod": "POST", - "id": "analytics.management.webproperties.insert", - "parameterOrder": [ - "accountId" - ], - "parameters": { - "accountId": { - "description": "Account ID to create the web property for.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/webproperties", - "request": { - "$ref": "Webproperty" - }, - "response": { - "$ref": "Webproperty" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.edit" - ] - }, - "list": { - "description": "Lists web properties to which the user has access.", - "httpMethod": "GET", - "id": "analytics.management.webproperties.list", - "parameterOrder": [ - "accountId" - ], - "parameters": { - "accountId": { - "description": "Account ID to retrieve web properties for. Can either be a specific account ID or '~all', which refers to all the accounts that user has access to.", - "location": "path", - "required": true, - "type": "string" - }, - "max-results": { - "description": "The maximum number of web properties to include in this response.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "start-index": { - "description": "An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.", - "format": "int32", - "location": "query", - "minimum": "1", - "type": "integer" - } - }, - "path": "management/accounts/{accountId}/webproperties", - "response": { - "$ref": "Webproperties" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics", - "https://www.googleapis.com/auth/analytics.edit", - "https://www.googleapis.com/auth/analytics.readonly" - ] - }, - "patch": { - "description": "Updates an existing web property. This method supports patch semantics.", - "httpMethod": "PATCH", - "id": "analytics.management.webproperties.patch", - "parameterOrder": [ - "accountId", - "webPropertyId" - ], - "parameters": { - "accountId": { - "description": "Account ID to which the web property belongs", - "location": "path", - "required": true, - "type": "string" - }, - "webPropertyId": { - "description": "Web property ID", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/webproperties/{webPropertyId}", - "request": { - "$ref": "Webproperty" - }, - "response": { - "$ref": "Webproperty" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.edit" - ] - }, - "update": { - "description": "Updates an existing web property.", - "httpMethod": "PUT", - "id": "analytics.management.webproperties.update", - "parameterOrder": [ - "accountId", - "webPropertyId" - ], - "parameters": { - "accountId": { - "description": "Account ID to which the web property belongs", - "location": "path", - "required": true, - "type": "string" - }, - "webPropertyId": { - "description": "Web property ID", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/webproperties/{webPropertyId}", - "request": { - "$ref": "Webproperty" - }, - "response": { - "$ref": "Webproperty" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.edit" - ] - } - } - }, - "webpropertyUserLinks": { - "methods": { - "delete": { - "description": "Removes a user from the given web property.", - "httpMethod": "DELETE", - "id": "analytics.management.webpropertyUserLinks.delete", - "parameterOrder": [ - "accountId", - "webPropertyId", - "linkId" - ], - "parameters": { - "accountId": { - "description": "Account ID to delete the user link for.", - "location": "path", - "required": true, - "type": "string" - }, - "linkId": { - "description": "Link ID to delete the user link for.", - "location": "path", - "required": true, - "type": "string" - }, - "webPropertyId": { - "description": "Web Property ID to delete the user link for.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/entityUserLinks/{linkId}", - "scopes": [ - "https://www.googleapis.com/auth/analytics.manage.users" - ] - }, - "insert": { - "description": "Adds a new user to the given web property.", - "httpMethod": "POST", - "id": "analytics.management.webpropertyUserLinks.insert", - "parameterOrder": [ - "accountId", - "webPropertyId" - ], - "parameters": { - "accountId": { - "description": "Account ID to create the user link for.", - "location": "path", - "required": true, - "type": "string" - }, - "webPropertyId": { - "description": "Web Property ID to create the user link for.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/entityUserLinks", - "request": { - "$ref": "EntityUserLink" - }, - "response": { - "$ref": "EntityUserLink" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.manage.users" - ] - }, - "list": { - "description": "Lists webProperty-user links for a given web property.", - "httpMethod": "GET", - "id": "analytics.management.webpropertyUserLinks.list", - "parameterOrder": [ - "accountId", - "webPropertyId" - ], - "parameters": { - "accountId": { - "description": "Account ID which the given web property belongs to.", - "location": "path", - "required": true, - "type": "string" - }, - "max-results": { - "description": "The maximum number of webProperty-user Links to include in this response.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "start-index": { - "description": "An index of the first webProperty-user link to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter.", - "format": "int32", - "location": "query", - "minimum": "1", - "type": "integer" - }, - "webPropertyId": { - "description": "Web Property ID for the webProperty-user links to retrieve. Can either be a specific web property ID or '~all', which refers to all the web properties that user has access to.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/entityUserLinks", - "response": { - "$ref": "EntityUserLinks" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.manage.users", - "https://www.googleapis.com/auth/analytics.manage.users.readonly" - ] - }, - "update": { - "description": "Updates permissions for an existing user on the given web property.", - "httpMethod": "PUT", - "id": "analytics.management.webpropertyUserLinks.update", - "parameterOrder": [ - "accountId", - "webPropertyId", - "linkId" - ], - "parameters": { - "accountId": { - "description": "Account ID to update the account-user link for.", - "location": "path", - "required": true, - "type": "string" - }, - "linkId": { - "description": "Link ID to update the account-user link for.", - "location": "path", - "required": true, - "type": "string" - }, - "webPropertyId": { - "description": "Web property ID to update the account-user link for.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "management/accounts/{accountId}/webproperties/{webPropertyId}/entityUserLinks/{linkId}", - "request": { - "$ref": "EntityUserLink" - }, - "response": { - "$ref": "EntityUserLink" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.manage.users" - ] - } - } - } - } - }, - "metadata": { - "resources": { - "columns": { - "methods": { - "list": { - "description": "Lists all columns for a report type", - "httpMethod": "GET", - "id": "analytics.metadata.columns.list", - "parameterOrder": [ - "reportType" - ], - "parameters": { - "reportType": { - "description": "Report type. Allowed Values: 'ga'. Where 'ga' corresponds to the Core Reporting API", - "location": "path", - "pattern": "ga", - "required": true, - "type": "string" - } - }, - "path": "metadata/{reportType}/columns", - "response": { - "$ref": "Columns" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics", - "https://www.googleapis.com/auth/analytics.edit", - "https://www.googleapis.com/auth/analytics.readonly" - ] - } - } - } - } - }, - "provisioning": { - "methods": { - "createAccountTicket": { - "description": "Creates an account ticket.", - "httpMethod": "POST", - "id": "analytics.provisioning.createAccountTicket", - "path": "provisioning/createAccountTicket", - "request": { - "$ref": "AccountTicket" - }, - "response": { - "$ref": "AccountTicket" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.provision" - ] - }, - "createAccountTree": { - "description": "Provision account.", - "httpMethod": "POST", - "id": "analytics.provisioning.createAccountTree", - "path": "provisioning/createAccountTree", - "request": { - "$ref": "AccountTreeRequest" - }, - "response": { - "$ref": "AccountTreeResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.provision" - ] - } - } - }, - "userDeletion": { - "resources": { - "userDeletionRequest": { - "methods": { - "upsert": { - "description": "Insert or update a user deletion requests.", - "httpMethod": "POST", - "id": "analytics.userDeletion.userDeletionRequest.upsert", - "path": "userDeletion/userDeletionRequests:upsert", - "request": { - "$ref": "UserDeletionRequest" - }, - "response": { - "$ref": "UserDeletionRequest" - }, - "scopes": [ - "https://www.googleapis.com/auth/analytics.user.deletion" - ] - } - } - } - } - } - }, - "revision": "20190807", - "rootUrl": "https://analytics.googleapis.com/", - "schemas": { - "Account": { - "description": "JSON template for Analytics account entry.", - "id": "Account", - "properties": { - "childLink": { - "description": "Child link for an account entry. Points to the list of web properties for this account.", - "properties": { - "href": { - "description": "Link to the list of web properties for this account.", - "type": "string" - }, - "type": { - "default": "analytics#webproperties", - "description": "Type of the child link. Its value is \"analytics#webproperties\".", - "type": "string" - } - }, - "type": "object" - }, - "created": { - "description": "Time the account was created.", - "format": "date-time", - "type": "string" - }, - "id": { - "description": "Account ID.", - "type": "string" - }, - "kind": { - "default": "analytics#account", - "description": "Resource type for Analytics account.", - "type": "string" - }, - "name": { - "description": "Account name.", - "type": "string" - }, - "permissions": { - "description": "Permissions the user has for this account.", - "properties": { - "effective": { - "description": "All the permissions that the user has for this account. These include any implied permissions (e.g., EDIT implies VIEW).", - "items": { - "type": "string" - }, - "readOnly": true, - "type": "array" - } - }, - "type": "object" - }, - "selfLink": { - "description": "Link for this account.", - "type": "string" - }, - "starred": { - "description": "Indicates whether this account is starred or not.", - "type": "boolean" - }, - "updated": { - "description": "Time the account was last modified.", - "format": "date-time", - "type": "string" - } - }, - "type": "object" - }, - "AccountRef": { - "description": "JSON template for a linked account.", - "id": "AccountRef", - "properties": { - "href": { - "description": "Link for this account.", - "type": "string" - }, - "id": { - "description": "Account ID.", - "type": "string" - }, - "kind": { - "default": "analytics#accountRef", - "description": "Analytics account reference.", - "type": "string" - }, - "name": { - "description": "Account name.", - "type": "string" - } - }, - "type": "object" - }, - "AccountSummaries": { - "description": "An AccountSummary collection lists a summary of accounts, properties and views (profiles) to which the user has access. Each resource in the collection corresponds to a single AccountSummary.", - "id": "AccountSummaries", - "properties": { - "items": { - "description": "A list of AccountSummaries.", - "items": { - "$ref": "AccountSummary" - }, - "type": "array" - }, - "itemsPerPage": { - "description": "The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.", - "format": "int32", - "type": "integer" - }, - "kind": { - "default": "analytics#accountSummaries", - "description": "Collection type.", - "type": "string" - }, - "nextLink": { - "description": "Link to next page for this AccountSummary collection.", - "type": "string" - }, - "previousLink": { - "description": "Link to previous page for this AccountSummary collection.", - "type": "string" - }, - "startIndex": { - "description": "The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter.", - "format": "int32", - "type": "integer" - }, - "totalResults": { - "description": "The total number of results for the query, regardless of the number of results in the response.", - "format": "int32", - "type": "integer" - }, - "username": { - "description": "Email ID of the authenticated user", - "type": "string" - } - }, - "type": "object" - }, - "AccountSummary": { - "description": "JSON template for an Analytics AccountSummary. An AccountSummary is a lightweight tree comprised of properties/profiles.", - "id": "AccountSummary", - "properties": { - "id": { - "description": "Account ID.", - "type": "string" - }, - "kind": { - "default": "analytics#accountSummary", - "description": "Resource type for Analytics AccountSummary.", - "type": "string" - }, - "name": { - "description": "Account name.", - "type": "string" - }, - "starred": { - "description": "Indicates whether this account is starred or not.", - "type": "boolean" - }, - "webProperties": { - "description": "List of web properties under this account.", - "items": { - "$ref": "WebPropertySummary" - }, - "type": "array" - } - }, - "type": "object" - }, - "AccountTicket": { - "description": "JSON template for an Analytics account ticket. The account ticket consists of the ticket ID and the basic information for the account, property and profile.", - "id": "AccountTicket", - "properties": { - "account": { - "$ref": "Account", - "description": "Account for this ticket." - }, - "id": { - "description": "Account ticket ID used to access the account ticket.", - "type": "string" - }, - "kind": { - "default": "analytics#accountTicket", - "description": "Resource type for account ticket.", - "type": "string" - }, - "profile": { - "$ref": "Profile", - "description": "View (Profile) for the account." - }, - "redirectUri": { - "description": "Redirect URI where the user will be sent after accepting Terms of Service. Must be configured in APIs console as a callback URL.", - "type": "string" - }, - "webproperty": { - "$ref": "Webproperty", - "description": "Web property for the account." - } - }, - "type": "object" - }, - "AccountTreeRequest": { - "description": "JSON template for an Analytics account tree requests. The account tree request is used in the provisioning api to create an account, property, and view (profile). It contains the basic information required to make these fields.", - "id": "AccountTreeRequest", - "properties": { - "accountName": { - "annotations": { - "required": [ - "analytics.provisioning.createAccountTree" - ] - }, - "type": "string" - }, - "kind": { - "default": "analytics#accountTreeRequest", - "description": "Resource type for account ticket.", - "type": "string" - }, - "profileName": { - "annotations": { - "required": [ - "analytics.provisioning.createAccountTree" - ] - }, - "type": "string" - }, - "timezone": { - "annotations": { - "required": [ - "analytics.provisioning.createAccountTree" - ] - }, - "type": "string" - }, - "webpropertyName": { - "annotations": { - "required": [ - "analytics.provisioning.createAccountTree" - ] - }, - "type": "string" - }, - "websiteUrl": { - "annotations": { - "required": [ - "analytics.provisioning.createAccountTree" - ] - }, - "type": "string" - } - }, - "type": "object" - }, - "AccountTreeResponse": { - "description": "JSON template for an Analytics account tree response. The account tree response is used in the provisioning api to return the result of creating an account, property, and view (profile).", - "id": "AccountTreeResponse", - "properties": { - "account": { - "$ref": "Account", - "description": "The account created." - }, - "kind": { - "default": "analytics#accountTreeResponse", - "description": "Resource type for account ticket.", - "type": "string" - }, - "profile": { - "$ref": "Profile", - "description": "View (Profile) for the account." - }, - "webproperty": { - "$ref": "Webproperty", - "description": "Web property for the account." - } - }, - "type": "object" - }, - "Accounts": { - "description": "An account collection provides a list of Analytics accounts to which a user has access. The account collection is the entry point to all management information. Each resource in the collection corresponds to a single Analytics account.", - "id": "Accounts", - "properties": { - "items": { - "description": "A list of accounts.", - "items": { - "$ref": "Account" - }, - "type": "array" - }, - "itemsPerPage": { - "description": "The maximum number of entries the response can contain, regardless of the actual number of entries returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.", - "format": "int32", - "type": "integer" - }, - "kind": { - "default": "analytics#accounts", - "description": "Collection type.", - "type": "string" - }, - "nextLink": { - "description": "Next link for this account collection.", - "type": "string" - }, - "previousLink": { - "description": "Previous link for this account collection.", - "type": "string" - }, - "startIndex": { - "description": "The starting index of the entries, which is 1 by default or otherwise specified by the start-index query parameter.", - "format": "int32", - "type": "integer" - }, - "totalResults": { - "description": "The total number of results for the query, regardless of the number of results in the response.", - "format": "int32", - "type": "integer" - }, - "username": { - "description": "Email ID of the authenticated user", - "type": "string" - } - }, - "type": "object" - }, - "AdWordsAccount": { - "description": "JSON template for an Google Ads account.", - "id": "AdWordsAccount", - "properties": { - "autoTaggingEnabled": { - "description": "True if auto-tagging is enabled on the Google Ads account. Read-only after the insert operation.", - "type": "boolean" - }, - "customerId": { - "annotations": { - "required": [ - "analytics.management.webPropertyAdWordsLinks.insert", - "analytics.management.webPropertyAdWordsLinks.update" - ] - }, - "description": "Customer ID. This field is required when creating a Google Ads link.", - "type": "string" - }, - "kind": { - "default": "analytics#adWordsAccount", - "description": "Resource type for Google Ads account.", - "type": "string" - } - }, - "type": "object" - }, - "AnalyticsDataimportDeleteUploadDataRequest": { - "description": "Request template for the delete upload data request.", - "id": "AnalyticsDataimportDeleteUploadDataRequest", - "properties": { - "customDataImportUids": { - "description": "A list of upload UIDs.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "Column": { - "description": "JSON template for a metadata column.", - "id": "Column", - "properties": { - "attributes": { - "additionalProperties": { - "description": "The name of the attribute.", - "type": "string" - }, - "description": "Map of attribute name and value for this column.", - "type": "object" - }, - "id": { - "description": "Column id.", - "type": "string" - }, - "kind": { - "default": "analytics#column", - "description": "Resource type for Analytics column.", - "type": "string" - } - }, - "type": "object" - }, - "Columns": { - "description": "Lists columns (dimensions and metrics) for a particular report type.", - "id": "Columns", - "properties": { - "attributeNames": { - "description": "List of attributes names returned by columns.", - "items": { - "type": "string" - }, - "type": "array" - }, - "etag": { - "description": "Etag of collection. This etag can be compared with the last response etag to check if response has changed.", - "type": "string" - }, - "items": { - "description": "List of columns for a report type.", - "items": { - "$ref": "Column" - }, - "type": "array" - }, - "kind": { - "default": "analytics#columns", - "description": "Collection type.", - "type": "string" - }, - "totalResults": { - "description": "Total number of columns returned in the response.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "CustomDataSource": { - "description": "JSON template for an Analytics custom data source.", - "id": "CustomDataSource", - "properties": { - "accountId": { - "description": "Account ID to which this custom data source belongs.", - "type": "string" - }, - "childLink": { - "properties": { - "href": { - "description": "Link to the list of daily uploads for this custom data source. Link to the list of uploads for this custom data source.", - "type": "string" - }, - "type": { - "description": "Value is \"analytics#dailyUploads\". Value is \"analytics#uploads\".", - "type": "string" - } - }, - "type": "object" - }, - "created": { - "description": "Time this custom data source was created.", - "format": "date-time", - "type": "string" - }, - "description": { - "description": "Description of custom data source.", - "type": "string" - }, - "id": { - "description": "Custom data source ID.", - "type": "string" - }, - "importBehavior": { - "type": "string" - }, - "kind": { - "default": "analytics#customDataSource", - "description": "Resource type for Analytics custom data source.", - "type": "string" - }, - "name": { - "description": "Name of this custom data source.", - "type": "string" - }, - "parentLink": { - "description": "Parent link for this custom data source. Points to the web property to which this custom data source belongs.", - "properties": { - "href": { - "description": "Link to the web property to which this custom data source belongs.", - "type": "string" - }, - "type": { - "default": "analytics#webproperty", - "description": "Value is \"analytics#webproperty\".", - "type": "string" - } - }, - "type": "object" - }, - "profilesLinked": { - "description": "IDs of views (profiles) linked to the custom data source.", - "items": { - "type": "string" - }, - "type": "array" - }, - "schema": { - "description": "Collection of schema headers of the custom data source.", - "items": { - "type": "string" - }, - "type": "array" - }, - "selfLink": { - "description": "Link for this Analytics custom data source.", - "type": "string" - }, - "type": { - "description": "Type of the custom data source.", - "type": "string" - }, - "updated": { - "description": "Time this custom data source was last modified.", - "format": "date-time", - "type": "string" - }, - "uploadType": { - "description": "Upload type of the custom data source.", - "type": "string" - }, - "webPropertyId": { - "description": "Web property ID of the form UA-XXXXX-YY to which this custom data source belongs.", - "type": "string" - } - }, - "type": "object" - }, - "CustomDataSources": { - "description": "Lists Analytics custom data sources to which the user has access. Each resource in the collection corresponds to a single Analytics custom data source.", - "id": "CustomDataSources", - "properties": { - "items": { - "description": "Collection of custom data sources.", - "items": { - "$ref": "CustomDataSource" - }, - "type": "array" - }, - "itemsPerPage": { - "description": "The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.", - "format": "int32", - "type": "integer" - }, - "kind": { - "default": "analytics#customDataSources", - "description": "Collection type.", - "type": "string" - }, - "nextLink": { - "description": "Link to next page for this custom data source collection.", - "type": "string" - }, - "previousLink": { - "description": "Link to previous page for this custom data source collection.", - "type": "string" - }, - "startIndex": { - "description": "The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter.", - "format": "int32", - "type": "integer" - }, - "totalResults": { - "description": "The total number of results for the query, regardless of the number of results in the response.", - "format": "int32", - "type": "integer" - }, - "username": { - "description": "Email ID of the authenticated user", - "type": "string" - } - }, - "type": "object" - }, - "CustomDimension": { - "description": "JSON template for Analytics Custom Dimension.", - "id": "CustomDimension", - "properties": { - "accountId": { - "description": "Account ID.", - "type": "string" - }, - "active": { - "description": "Boolean indicating whether the custom dimension is active.", - "type": "boolean" - }, - "created": { - "description": "Time the custom dimension was created.", - "format": "date-time", - "readOnly": true, - "type": "string" - }, - "id": { - "description": "Custom dimension ID.", - "type": "string" - }, - "index": { - "description": "Index of the custom dimension.", - "format": "int32", - "readOnly": true, - "type": "integer" - }, - "kind": { - "default": "analytics#customDimension", - "description": "Kind value for a custom dimension. Set to \"analytics#customDimension\". It is a read-only field.", - "readOnly": true, - "type": "string" - }, - "name": { - "description": "Name of the custom dimension.", - "type": "string" - }, - "parentLink": { - "description": "Parent link for the custom dimension. Points to the property to which the custom dimension belongs.", - "properties": { - "href": { - "description": "Link to the property to which the custom dimension belongs.", - "type": "string" - }, - "type": { - "default": "analytics#webproperty", - "description": "Type of the parent link. Set to \"analytics#webproperty\".", - "type": "string" - } - }, - "type": "object" - }, - "scope": { - "description": "Scope of the custom dimension: HIT, SESSION, USER or PRODUCT.", - "type": "string" - }, - "selfLink": { - "description": "Link for the custom dimension", - "readOnly": true, - "type": "string" - }, - "updated": { - "description": "Time the custom dimension was last modified.", - "format": "date-time", - "readOnly": true, - "type": "string" - }, - "webPropertyId": { - "description": "Property ID.", - "type": "string" - } - }, - "type": "object" - }, - "CustomDimensions": { - "description": "A custom dimension collection lists Analytics custom dimensions to which the user has access. Each resource in the collection corresponds to a single Analytics custom dimension.", - "id": "CustomDimensions", - "properties": { - "items": { - "description": "Collection of custom dimensions.", - "items": { - "$ref": "CustomDimension" - }, - "type": "array" - }, - "itemsPerPage": { - "description": "The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.", - "format": "int32", - "type": "integer" - }, - "kind": { - "default": "analytics#customDimensions", - "description": "Collection type.", - "type": "string" - }, - "nextLink": { - "description": "Link to next page for this custom dimension collection.", - "type": "string" - }, - "previousLink": { - "description": "Link to previous page for this custom dimension collection.", - "type": "string" - }, - "startIndex": { - "description": "The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter.", - "format": "int32", - "type": "integer" - }, - "totalResults": { - "description": "The total number of results for the query, regardless of the number of results in the response.", - "format": "int32", - "type": "integer" - }, - "username": { - "description": "Email ID of the authenticated user", - "type": "string" - } - }, - "type": "object" - }, - "CustomMetric": { - "description": "JSON template for Analytics Custom Metric.", - "id": "CustomMetric", - "properties": { - "accountId": { - "description": "Account ID.", - "type": "string" - }, - "active": { - "description": "Boolean indicating whether the custom metric is active.", - "type": "boolean" - }, - "created": { - "description": "Time the custom metric was created.", - "format": "date-time", - "readOnly": true, - "type": "string" - }, - "id": { - "description": "Custom metric ID.", - "type": "string" - }, - "index": { - "description": "Index of the custom metric.", - "format": "int32", - "readOnly": true, - "type": "integer" - }, - "kind": { - "default": "analytics#customMetric", - "description": "Kind value for a custom metric. Set to \"analytics#customMetric\". It is a read-only field.", - "readOnly": true, - "type": "string" - }, - "max_value": { - "description": "Max value of custom metric.", - "type": "string" - }, - "min_value": { - "description": "Min value of custom metric.", - "type": "string" - }, - "name": { - "description": "Name of the custom metric.", - "type": "string" - }, - "parentLink": { - "description": "Parent link for the custom metric. Points to the property to which the custom metric belongs.", - "properties": { - "href": { - "description": "Link to the property to which the custom metric belongs.", - "type": "string" - }, - "type": { - "default": "analytics#webproperty", - "description": "Type of the parent link. Set to \"analytics#webproperty\".", - "type": "string" - } - }, - "type": "object" - }, - "scope": { - "description": "Scope of the custom metric: HIT or PRODUCT.", - "type": "string" - }, - "selfLink": { - "description": "Link for the custom metric", - "readOnly": true, - "type": "string" - }, - "type": { - "description": "Data type of custom metric.", - "type": "string" - }, - "updated": { - "description": "Time the custom metric was last modified.", - "format": "date-time", - "readOnly": true, - "type": "string" - }, - "webPropertyId": { - "description": "Property ID.", - "type": "string" - } - }, - "type": "object" - }, - "CustomMetrics": { - "description": "A custom metric collection lists Analytics custom metrics to which the user has access. Each resource in the collection corresponds to a single Analytics custom metric.", - "id": "CustomMetrics", - "properties": { - "items": { - "description": "Collection of custom metrics.", - "items": { - "$ref": "CustomMetric" - }, - "type": "array" - }, - "itemsPerPage": { - "description": "The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.", - "format": "int32", - "type": "integer" - }, - "kind": { - "default": "analytics#customMetrics", - "description": "Collection type.", - "type": "string" - }, - "nextLink": { - "description": "Link to next page for this custom metric collection.", - "type": "string" - }, - "previousLink": { - "description": "Link to previous page for this custom metric collection.", - "type": "string" - }, - "startIndex": { - "description": "The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter.", - "format": "int32", - "type": "integer" - }, - "totalResults": { - "description": "The total number of results for the query, regardless of the number of results in the response.", - "format": "int32", - "type": "integer" - }, - "username": { - "description": "Email ID of the authenticated user", - "type": "string" - } - }, - "type": "object" - }, - "EntityAdWordsLink": { - "description": "JSON template for Analytics Entity Google Ads Link.", - "id": "EntityAdWordsLink", - "properties": { - "adWordsAccounts": { - "annotations": { - "required": [ - "analytics.management.webPropertyAdWordsLinks.insert", - "analytics.management.webPropertyAdWordsLinks.update" - ] - }, - "description": "A list of Google Ads client accounts. These cannot be MCC accounts. This field is required when creating a Google Ads link. It cannot be empty.", - "items": { - "$ref": "AdWordsAccount" - }, - "type": "array" - }, - "entity": { - "description": "Web property being linked.", - "properties": { - "webPropertyRef": { - "$ref": "WebPropertyRef" - } - }, - "type": "object" - }, - "id": { - "description": "Entity Google Ads link ID", - "type": "string" - }, - "kind": { - "default": "analytics#entityAdWordsLink", - "description": "Resource type for entity Google Ads link.", - "type": "string" - }, - "name": { - "annotations": { - "required": [ - "analytics.management.webPropertyAdWordsLinks.insert", - "analytics.management.webPropertyAdWordsLinks.update" - ] - }, - "description": "Name of the link. This field is required when creating a Google Ads link.", - "type": "string" - }, - "profileIds": { - "description": "IDs of linked Views (Profiles) represented as strings.", - "items": { - "type": "string" - }, - "type": "array" - }, - "selfLink": { - "description": "URL link for this Google Analytics - Google Ads link.", - "type": "string" - } - }, - "type": "object" - }, - "EntityAdWordsLinks": { - "description": "An entity Google Ads link collection provides a list of GA-Google Ads links Each resource in this collection corresponds to a single link.", - "id": "EntityAdWordsLinks", - "properties": { - "items": { - "description": "A list of entity Google Ads links.", - "items": { - "$ref": "EntityAdWordsLink" - }, - "type": "array" - }, - "itemsPerPage": { - "description": "The maximum number of entries the response can contain, regardless of the actual number of entries returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.", - "format": "int32", - "type": "integer" - }, - "kind": { - "default": "analytics#entityAdWordsLinks", - "description": "Collection type.", - "type": "string" - }, - "nextLink": { - "description": "Next link for this Google Ads link collection.", - "type": "string" - }, - "previousLink": { - "description": "Previous link for this Google Ads link collection.", - "type": "string" - }, - "startIndex": { - "description": "The starting index of the entries, which is 1 by default or otherwise specified by the start-index query parameter.", - "format": "int32", - "type": "integer" - }, - "totalResults": { - "description": "The total number of results for the query, regardless of the number of results in the response.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "EntityUserLink": { - "description": "JSON template for an Analytics Entity-User Link. Returns permissions that a user has for an entity.", - "id": "EntityUserLink", - "properties": { - "entity": { - "description": "Entity for this link. It can be an account, a web property, or a view (profile).", - "properties": { - "accountRef": { - "$ref": "AccountRef", - "description": "Account for this link." - }, - "profileRef": { - "$ref": "ProfileRef", - "description": "View (Profile) for this link." - }, - "webPropertyRef": { - "$ref": "WebPropertyRef", - "description": "Web property for this link." - } - }, - "type": "object" - }, - "id": { - "description": "Entity user link ID", - "type": "string" - }, - "kind": { - "default": "analytics#entityUserLink", - "description": "Resource type for entity user link.", - "type": "string" - }, - "permissions": { - "description": "Permissions the user has for this entity.", - "properties": { - "effective": { - "description": "Effective permissions represent all the permissions that a user has for this entity. These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent entity. Effective permissions are read-only.", - "items": { - "type": "string" - }, - "readOnly": true, - "type": "array" - }, - "local": { - "description": "Permissions that a user has been assigned at this very level. Does not include any implied or inherited permissions. Local permissions are modifiable.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "selfLink": { - "description": "Self link for this resource.", - "type": "string" - }, - "userRef": { - "$ref": "UserRef", - "description": "User reference." - } - }, - "type": "object" - }, - "EntityUserLinks": { - "description": "An entity user link collection provides a list of Analytics ACL links Each resource in this collection corresponds to a single link.", - "id": "EntityUserLinks", - "properties": { - "items": { - "description": "A list of entity user links.", - "items": { - "$ref": "EntityUserLink" - }, - "type": "array" - }, - "itemsPerPage": { - "description": "The maximum number of entries the response can contain, regardless of the actual number of entries returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.", - "format": "int32", - "type": "integer" - }, - "kind": { - "default": "analytics#entityUserLinks", - "description": "Collection type.", - "type": "string" - }, - "nextLink": { - "description": "Next link for this account collection.", - "type": "string" - }, - "previousLink": { - "description": "Previous link for this account collection.", - "type": "string" - }, - "startIndex": { - "description": "The starting index of the entries, which is 1 by default or otherwise specified by the start-index query parameter.", - "format": "int32", - "type": "integer" - }, - "totalResults": { - "description": "The total number of results for the query, regardless of the number of results in the response.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "Experiment": { - "description": "JSON template for Analytics experiment resource.", - "id": "Experiment", - "properties": { - "accountId": { - "description": "Account ID to which this experiment belongs. This field is read-only.", - "type": "string" - }, - "created": { - "description": "Time the experiment was created. This field is read-only.", - "format": "date-time", - "type": "string" - }, - "description": { - "description": "Notes about this experiment.", - "type": "string" - }, - "editableInGaUi": { - "description": "If true, the end user will be able to edit the experiment via the Google Analytics user interface.", - "type": "boolean" - }, - "endTime": { - "description": "The ending time of the experiment (the time the status changed from RUNNING to ENDED). This field is present only if the experiment has ended. This field is read-only.", - "format": "date-time", - "type": "string" - }, - "equalWeighting": { - "description": "Boolean specifying whether to distribute traffic evenly across all variations. If the value is False, content experiments follows the default behavior of adjusting traffic dynamically based on variation performance. Optional -- defaults to False. This field may not be changed for an experiment whose status is ENDED.", - "type": "boolean" - }, - "id": { - "annotations": { - "required": [ - "analytics.management.experiments.patch", - "analytics.management.experiments.update" - ] - }, - "description": "Experiment ID. Required for patch and update. Disallowed for create.", - "type": "string" - }, - "internalWebPropertyId": { - "description": "Internal ID for the web property to which this experiment belongs. This field is read-only.", - "type": "string" - }, - "kind": { - "default": "analytics#experiment", - "description": "Resource type for an Analytics experiment. This field is read-only.", - "type": "string" - }, - "minimumExperimentLengthInDays": { - "description": "An integer number in [3, 90]. Specifies the minimum length of the experiment. Can be changed for a running experiment. This field may not be changed for an experiments whose status is ENDED.", - "format": "int32", - "type": "integer" - }, - "name": { - "annotations": { - "required": [ - "analytics.management.experiments.insert", - "analytics.management.experiments.update" - ] - }, - "description": "Experiment name. This field may not be changed for an experiment whose status is ENDED. This field is required when creating an experiment.", - "type": "string" - }, - "objectiveMetric": { - "description": "The metric that the experiment is optimizing. Valid values: \"ga:goal(n)Completions\", \"ga:adsenseAdsClicks\", \"ga:adsenseAdsViewed\", \"ga:adsenseRevenue\", \"ga:bounces\", \"ga:pageviews\", \"ga:sessionDuration\", \"ga:transactions\", \"ga:transactionRevenue\". This field is required if status is \"RUNNING\" and servingFramework is one of \"REDIRECT\" or \"API\".", - "type": "string" - }, - "optimizationType": { - "description": "Whether the objectiveMetric should be minimized or maximized. Possible values: \"MAXIMUM\", \"MINIMUM\". Optional--defaults to \"MAXIMUM\". Cannot be specified without objectiveMetric. Cannot be modified when status is \"RUNNING\" or \"ENDED\".", - "type": "string" - }, - "parentLink": { - "description": "Parent link for an experiment. Points to the view (profile) to which this experiment belongs.", - "properties": { - "href": { - "description": "Link to the view (profile) to which this experiment belongs. This field is read-only.", - "type": "string" - }, - "type": { - "default": "analytics#profile", - "description": "Value is \"analytics#profile\". This field is read-only.", - "type": "string" - } - }, - "type": "object" - }, - "profileId": { - "description": "View (Profile) ID to which this experiment belongs. This field is read-only.", - "type": "string" - }, - "reasonExperimentEnded": { - "description": "Why the experiment ended. Possible values: \"STOPPED_BY_USER\", \"WINNER_FOUND\", \"EXPERIMENT_EXPIRED\", \"ENDED_WITH_NO_WINNER\", \"GOAL_OBJECTIVE_CHANGED\". \"ENDED_WITH_NO_WINNER\" means that the experiment didn't expire but no winner was projected to be found. If the experiment status is changed via the API to ENDED this field is set to STOPPED_BY_USER. This field is read-only.", - "type": "string" - }, - "rewriteVariationUrlsAsOriginal": { - "description": "Boolean specifying whether variations URLS are rewritten to match those of the original. This field may not be changed for an experiments whose status is ENDED.", - "type": "boolean" - }, - "selfLink": { - "description": "Link for this experiment. This field is read-only.", - "type": "string" - }, - "servingFramework": { - "description": "The framework used to serve the experiment variations and evaluate the results. One of: \n- REDIRECT: Google Analytics redirects traffic to different variation pages, reports the chosen variation and evaluates the results.\n- API: Google Analytics chooses and reports the variation to serve and evaluates the results; the caller is responsible for serving the selected variation.\n- EXTERNAL: The variations will be served externally and the chosen variation reported to Google Analytics. The caller is responsible for serving the selected variation and evaluating the results.", - "type": "string" - }, - "snippet": { - "description": "The snippet of code to include on the control page(s). This field is read-only.", - "type": "string" - }, - "startTime": { - "description": "The starting time of the experiment (the time the status changed from READY_TO_RUN to RUNNING). This field is present only if the experiment has started. This field is read-only.", - "format": "date-time", - "type": "string" - }, - "status": { - "annotations": { - "required": [ - "analytics.management.experiments.insert", - "analytics.management.experiments.update" - ] - }, - "description": "Experiment status. Possible values: \"DRAFT\", \"READY_TO_RUN\", \"RUNNING\", \"ENDED\". Experiments can be created in the \"DRAFT\", \"READY_TO_RUN\" or \"RUNNING\" state. This field is required when creating an experiment.", - "type": "string" - }, - "trafficCoverage": { - "description": "A floating-point number in (0, 1]. Specifies the fraction of the traffic that participates in the experiment. Can be changed for a running experiment. This field may not be changed for an experiments whose status is ENDED.", - "format": "double", - "type": "number" - }, - "updated": { - "description": "Time the experiment was last modified. This field is read-only.", - "format": "date-time", - "type": "string" - }, - "variations": { - "description": "Array of variations. The first variation in the array is the original. The number of variations may not change once an experiment is in the RUNNING state. At least two variations are required before status can be set to RUNNING.", - "items": { - "properties": { - "name": { - "annotations": { - "required": [ - "analytics.management.experiments.insert", - "analytics.management.experiments.update" - ] - }, - "description": "The name of the variation. This field is required when creating an experiment. This field may not be changed for an experiment whose status is ENDED.", - "type": "string" - }, - "status": { - "description": "Status of the variation. Possible values: \"ACTIVE\", \"INACTIVE\". INACTIVE variations are not served. This field may not be changed for an experiment whose status is ENDED.", - "type": "string" - }, - "url": { - "description": "The URL of the variation. This field may not be changed for an experiment whose status is RUNNING or ENDED.", - "type": "string" - }, - "weight": { - "description": "Weight that this variation should receive. Only present if the experiment is running. This field is read-only.", - "format": "double", - "type": "number" - }, - "won": { - "description": "True if the experiment has ended and this variation performed (statistically) significantly better than the original. This field is read-only.", - "type": "boolean" - } - }, - "type": "object" - }, - "type": "array" - }, - "webPropertyId": { - "description": "Web property ID to which this experiment belongs. The web property ID is of the form UA-XXXXX-YY. This field is read-only.", - "type": "string" - }, - "winnerConfidenceLevel": { - "description": "A floating-point number in (0, 1). Specifies the necessary confidence level to choose a winner. This field may not be changed for an experiments whose status is ENDED.", - "format": "double", - "type": "number" - }, - "winnerFound": { - "description": "Boolean specifying whether a winner has been found for this experiment. This field is read-only.", - "type": "boolean" - } - }, - "type": "object" - }, - "Experiments": { - "description": "An experiment collection lists Analytics experiments to which the user has access. Each view (profile) can have a set of experiments. Each resource in the Experiment collection corresponds to a single Analytics experiment.", - "id": "Experiments", - "properties": { - "items": { - "description": "A list of experiments.", - "items": { - "$ref": "Experiment" - }, - "type": "array" - }, - "itemsPerPage": { - "description": "The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.", - "format": "int32", - "type": "integer" - }, - "kind": { - "default": "analytics#experiments", - "description": "Collection type.", - "type": "string" - }, - "nextLink": { - "description": "Link to next page for this experiment collection.", - "type": "string" - }, - "previousLink": { - "description": "Link to previous page for this experiment collection.", - "type": "string" - }, - "startIndex": { - "description": "The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter.", - "format": "int32", - "type": "integer" - }, - "totalResults": { - "description": "The total number of results for the query, regardless of the number of resources in the result.", - "format": "int32", - "type": "integer" - }, - "username": { - "description": "Email ID of the authenticated user", - "type": "string" - } - }, - "type": "object" - }, - "Filter": { - "description": "JSON template for an Analytics account filter.", - "id": "Filter", - "properties": { - "accountId": { - "description": "Account ID to which this filter belongs.", - "type": "string" - }, - "advancedDetails": { - "description": "Details for the filter of the type ADVANCED.", - "properties": { - "caseSensitive": { - "description": "Indicates if the filter expressions are case sensitive.", - "type": "boolean" - }, - "extractA": { - "description": "Expression to extract from field A.", - "type": "string" - }, - "extractB": { - "description": "Expression to extract from field B.", - "type": "string" - }, - "fieldA": { - "description": "Field A.", - "type": "string" - }, - "fieldAIndex": { - "description": "The Index of the custom dimension. Required if field is a CUSTOM_DIMENSION.", - "format": "int32", - "type": "integer" - }, - "fieldARequired": { - "description": "Indicates if field A is required to match.", - "type": "boolean" - }, - "fieldB": { - "description": "Field B.", - "type": "string" - }, - "fieldBIndex": { - "description": "The Index of the custom dimension. Required if field is a CUSTOM_DIMENSION.", - "format": "int32", - "type": "integer" - }, - "fieldBRequired": { - "description": "Indicates if field B is required to match.", - "type": "boolean" - }, - "outputConstructor": { - "description": "Expression used to construct the output value.", - "type": "string" - }, - "outputToField": { - "description": "Output field.", - "type": "string" - }, - "outputToFieldIndex": { - "description": "The Index of the custom dimension. Required if field is a CUSTOM_DIMENSION.", - "format": "int32", - "type": "integer" - }, - "overrideOutputField": { - "description": "Indicates if the existing value of the output field, if any, should be overridden by the output expression.", - "type": "boolean" - } - }, - "type": "object" - }, - "created": { - "description": "Time this filter was created.", - "format": "date-time", - "readOnly": true, - "type": "string" - }, - "excludeDetails": { - "$ref": "FilterExpression", - "description": "Details for the filter of the type EXCLUDE." - }, - "id": { - "description": "Filter ID.", - "type": "string" - }, - "includeDetails": { - "$ref": "FilterExpression", - "description": "Details for the filter of the type INCLUDE." - }, - "kind": { - "default": "analytics#filter", - "description": "Resource type for Analytics filter.", - "readOnly": true, - "type": "string" - }, - "lowercaseDetails": { - "description": "Details for the filter of the type LOWER.", - "properties": { - "field": { - "description": "Field to use in the filter.", - "type": "string" - }, - "fieldIndex": { - "description": "The Index of the custom dimension. Required if field is a CUSTOM_DIMENSION.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "name": { - "annotations": { - "required": [ - "analytics.management.filters.insert", - "analytics.management.filters.update" - ] - }, - "description": "Name of this filter.", - "type": "string" - }, - "parentLink": { - "description": "Parent link for this filter. Points to the account to which this filter belongs.", - "properties": { - "href": { - "description": "Link to the account to which this filter belongs.", - "type": "string" - }, - "type": { - "default": "analytics#account", - "description": "Value is \"analytics#account\".", - "type": "string" - } - }, - "type": "object" - }, - "searchAndReplaceDetails": { - "description": "Details for the filter of the type SEARCH_AND_REPLACE.", - "properties": { - "caseSensitive": { - "description": "Determines if the filter is case sensitive.", - "type": "boolean" - }, - "field": { - "description": "Field to use in the filter.", - "type": "string" - }, - "fieldIndex": { - "description": "The Index of the custom dimension. Required if field is a CUSTOM_DIMENSION.", - "format": "int32", - "type": "integer" - }, - "replaceString": { - "description": "Term to replace the search term with.", - "type": "string" - }, - "searchString": { - "description": "Term to search.", - "type": "string" - } - }, - "type": "object" - }, - "selfLink": { - "description": "Link for this filter.", - "readOnly": true, - "type": "string" - }, - "type": { - "annotations": { - "required": [ - "analytics.management.filters.insert", - "analytics.management.filters.update" - ] - }, - "description": "Type of this filter. Possible values are INCLUDE, EXCLUDE, LOWERCASE, UPPERCASE, SEARCH_AND_REPLACE and ADVANCED.", - "type": "string" - }, - "updated": { - "description": "Time this filter was last modified.", - "format": "date-time", - "readOnly": true, - "type": "string" - }, - "uppercaseDetails": { - "description": "Details for the filter of the type UPPER.", - "properties": { - "field": { - "description": "Field to use in the filter.", - "type": "string" - }, - "fieldIndex": { - "description": "The Index of the custom dimension. Required if field is a CUSTOM_DIMENSION.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "FilterExpression": { - "description": "JSON template for an Analytics filter expression.", - "id": "FilterExpression", - "properties": { - "caseSensitive": { - "description": "Determines if the filter is case sensitive.", - "type": "boolean" - }, - "expressionValue": { - "description": "Filter expression value", - "type": "string" - }, - "field": { - "description": "Field to filter. Possible values: \n- Content and Traffic \n- PAGE_REQUEST_URI, \n- PAGE_HOSTNAME, \n- PAGE_TITLE, \n- REFERRAL, \n- COST_DATA_URI (Campaign target URL), \n- HIT_TYPE, \n- INTERNAL_SEARCH_TERM, \n- INTERNAL_SEARCH_TYPE, \n- SOURCE_PROPERTY_TRACKING_ID, \n- Campaign or AdGroup \n- CAMPAIGN_SOURCE, \n- CAMPAIGN_MEDIUM, \n- CAMPAIGN_NAME, \n- CAMPAIGN_AD_GROUP, \n- CAMPAIGN_TERM, \n- CAMPAIGN_CONTENT, \n- CAMPAIGN_CODE, \n- CAMPAIGN_REFERRAL_PATH, \n- E-Commerce \n- TRANSACTION_COUNTRY, \n- TRANSACTION_REGION, \n- TRANSACTION_CITY, \n- TRANSACTION_AFFILIATION (Store or order location), \n- ITEM_NAME, \n- ITEM_CODE, \n- ITEM_VARIATION, \n- TRANSACTION_ID, \n- TRANSACTION_CURRENCY_CODE, \n- PRODUCT_ACTION_TYPE, \n- Audience/Users \n- BROWSER, \n- BROWSER_VERSION, \n- BROWSER_SIZE, \n- PLATFORM, \n- PLATFORM_VERSION, \n- LANGUAGE, \n- SCREEN_RESOLUTION, \n- SCREEN_COLORS, \n- JAVA_ENABLED (Boolean Field), \n- FLASH_VERSION, \n- GEO_SPEED (Connection speed), \n- VISITOR_TYPE, \n- GEO_ORGANIZATION (ISP organization), \n- GEO_DOMAIN, \n- GEO_IP_ADDRESS, \n- GEO_IP_VERSION, \n- Location \n- GEO_COUNTRY, \n- GEO_REGION, \n- GEO_CITY, \n- Event \n- EVENT_CATEGORY, \n- EVENT_ACTION, \n- EVENT_LABEL, \n- Other \n- CUSTOM_FIELD_1, \n- CUSTOM_FIELD_2, \n- USER_DEFINED_VALUE, \n- Application \n- APP_ID, \n- APP_INSTALLER_ID, \n- APP_NAME, \n- APP_VERSION, \n- SCREEN, \n- IS_APP (Boolean Field), \n- IS_FATAL_EXCEPTION (Boolean Field), \n- EXCEPTION_DESCRIPTION, \n- Mobile device \n- IS_MOBILE (Boolean Field, Deprecated. Use DEVICE_CATEGORY=mobile), \n- IS_TABLET (Boolean Field, Deprecated. Use DEVICE_CATEGORY=tablet), \n- DEVICE_CATEGORY, \n- MOBILE_HAS_QWERTY_KEYBOARD (Boolean Field), \n- MOBILE_HAS_NFC_SUPPORT (Boolean Field), \n- MOBILE_HAS_CELLULAR_RADIO (Boolean Field), \n- MOBILE_HAS_WIFI_SUPPORT (Boolean Field), \n- MOBILE_BRAND_NAME, \n- MOBILE_MODEL_NAME, \n- MOBILE_MARKETING_NAME, \n- MOBILE_POINTING_METHOD, \n- Social \n- SOCIAL_NETWORK, \n- SOCIAL_ACTION, \n- SOCIAL_ACTION_TARGET, \n- Custom dimension \n- CUSTOM_DIMENSION (See accompanying field index),", - "type": "string" - }, - "fieldIndex": { - "description": "The Index of the custom dimension. Set only if the field is a is CUSTOM_DIMENSION.", - "format": "int32", - "type": "integer" - }, - "kind": { - "default": "analytics#filterExpression", - "description": "Kind value for filter expression", - "type": "string" - }, - "matchType": { - "description": "Match type for this filter. Possible values are BEGINS_WITH, EQUAL, ENDS_WITH, CONTAINS, or MATCHES. GEO_DOMAIN, GEO_IP_ADDRESS, PAGE_REQUEST_URI, or PAGE_HOSTNAME filters can use any match type; all other filters must use MATCHES.", - "type": "string" - } - }, - "type": "object" - }, - "FilterRef": { - "description": "JSON template for a profile filter link.", - "id": "FilterRef", - "properties": { - "accountId": { - "description": "Account ID to which this filter belongs.", - "readOnly": true, - "type": "string" - }, - "href": { - "description": "Link for this filter.", - "type": "string" - }, - "id": { - "annotations": { - "required": [ - "analytics.management.profileFilterLinks.insert" - ] - }, - "description": "Filter ID.", - "type": "string" - }, - "kind": { - "default": "analytics#filterRef", - "description": "Kind value for filter reference.", - "type": "string" - }, - "name": { - "description": "Name of this filter.", - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, - "Filters": { - "description": "A filter collection lists filters created by users in an Analytics account. Each resource in the collection corresponds to a filter.", - "id": "Filters", - "properties": { - "items": { - "description": "A list of filters.", - "items": { - "$ref": "Filter" - }, - "type": "array" - }, - "itemsPerPage": { - "description": "The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1,000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.", - "format": "int32", - "type": "integer" - }, - "kind": { - "default": "analytics#filters", - "description": "Collection type.", - "type": "string" - }, - "nextLink": { - "description": "Link to next page for this filter collection.", - "type": "string" - }, - "previousLink": { - "description": "Link to previous page for this filter collection.", - "type": "string" - }, - "startIndex": { - "description": "The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter.", - "format": "int32", - "type": "integer" - }, - "totalResults": { - "description": "The total number of results for the query, regardless of the number of results in the response.", - "format": "int32", - "type": "integer" - }, - "username": { - "description": "Email ID of the authenticated user", - "type": "string" - } - }, - "type": "object" - }, - "GaData": { - "description": "Analytics data for a given view (profile).", - "id": "GaData", - "properties": { - "columnHeaders": { - "description": "Column headers that list dimension names followed by the metric names. The order of dimensions and metrics is same as specified in the request.", - "items": { - "properties": { - "columnType": { - "description": "Column Type. Either DIMENSION or METRIC.", - "type": "string" - }, - "dataType": { - "description": "Data type. Dimension column headers have only STRING as the data type. Metric column headers have data types for metric values such as INTEGER, DOUBLE, CURRENCY etc.", - "type": "string" - }, - "name": { - "description": "Column name.", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "containsSampledData": { - "description": "Determines if Analytics data contains samples.", - "type": "boolean" - }, - "dataLastRefreshed": { - "description": "The last refreshed time in seconds for Analytics data.", - "format": "int64", - "type": "string" - }, - "dataTable": { - "properties": { - "cols": { - "items": { - "properties": { - "id": { - "type": "string" - }, - "label": { - "type": "string" - }, - "type": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "rows": { - "items": { - "properties": { - "c": { - "items": { - "properties": { - "v": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - } - }, - "type": "object" - }, - "type": "array" - } - }, - "type": "object" - }, - "id": { - "description": "Unique ID for this data response.", - "type": "string" - }, - "itemsPerPage": { - "description": "The maximum number of rows the response can contain, regardless of the actual number of rows returned. Its value ranges from 1 to 10,000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.", - "format": "int32", - "type": "integer" - }, - "kind": { - "default": "analytics#gaData", - "description": "Resource type.", - "type": "string" - }, - "nextLink": { - "description": "Link to next page for this Analytics data query.", - "type": "string" - }, - "previousLink": { - "description": "Link to previous page for this Analytics data query.", - "type": "string" - }, - "profileInfo": { - "description": "Information for the view (profile), for which the Analytics data was requested.", - "properties": { - "accountId": { - "description": "Account ID to which this view (profile) belongs.", - "type": "string" - }, - "internalWebPropertyId": { - "description": "Internal ID for the web property to which this view (profile) belongs.", - "type": "string" - }, - "profileId": { - "description": "View (Profile) ID.", - "type": "string" - }, - "profileName": { - "description": "View (Profile) name.", - "type": "string" - }, - "tableId": { - "description": "Table ID for view (profile).", - "type": "string" - }, - "webPropertyId": { - "description": "Web Property ID to which this view (profile) belongs.", - "type": "string" - } - }, - "type": "object" - }, - "query": { - "description": "Analytics data request query parameters.", - "properties": { - "dimensions": { - "description": "List of analytics dimensions.", - "type": "string" - }, - "end-date": { - "description": "End date.", - "type": "string" - }, - "filters": { - "description": "Comma-separated list of dimension or metric filters.", - "type": "string" - }, - "ids": { - "description": "Unique table ID.", - "type": "string" - }, - "max-results": { - "description": "Maximum results per page.", - "format": "int32", - "type": "integer" - }, - "metrics": { - "description": "List of analytics metrics.", - "items": { - "type": "string" - }, - "type": "array" - }, - "samplingLevel": { - "description": "Desired sampling level", - "type": "string" - }, - "segment": { - "description": "Analytics advanced segment.", - "type": "string" - }, - "sort": { - "description": "List of dimensions or metrics based on which Analytics data is sorted.", - "items": { - "type": "string" - }, - "type": "array" - }, - "start-date": { - "description": "Start date.", - "type": "string" - }, - "start-index": { - "description": "Start index.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "rows": { - "description": "Analytics data rows, where each row contains a list of dimension values followed by the metric values. The order of dimensions and metrics is same as specified in the request.", - "items": { - "items": { - "type": "string" - }, - "type": "array" - }, - "type": "array" - }, - "sampleSize": { - "description": "The number of samples used to calculate the result.", - "format": "int64", - "type": "string" - }, - "sampleSpace": { - "description": "Total size of the sample space from which the samples were selected.", - "format": "int64", - "type": "string" - }, - "selfLink": { - "description": "Link to this page.", - "type": "string" - }, - "totalResults": { - "description": "The total number of rows for the query, regardless of the number of rows in the response.", - "format": "int32", - "type": "integer" - }, - "totalsForAllResults": { - "additionalProperties": { - "description": "Key-value pair for the total value of a metric. Key is the metric name and the value is the total value for that metric.", - "type": "string" - }, - "description": "Total values for the requested metrics over all the results, not just the results returned in this response. The order of the metric totals is same as the metric order specified in the request.", - "type": "object" - } - }, - "type": "object" - }, - "Goal": { - "description": "JSON template for Analytics goal resource.", - "id": "Goal", - "properties": { - "accountId": { - "description": "Account ID to which this goal belongs.", - "type": "string" - }, - "active": { - "description": "Determines whether this goal is active.", - "type": "boolean" - }, - "created": { - "description": "Time this goal was created.", - "format": "date-time", - "type": "string" - }, - "eventDetails": { - "description": "Details for the goal of the type EVENT.", - "properties": { - "eventConditions": { - "description": "List of event conditions.", - "items": { - "properties": { - "comparisonType": { - "description": "Type of comparison. Possible values are LESS_THAN, GREATER_THAN or EQUAL.", - "type": "string" - }, - "comparisonValue": { - "description": "Value used for this comparison.", - "format": "int64", - "type": "string" - }, - "expression": { - "description": "Expression used for this match.", - "type": "string" - }, - "matchType": { - "description": "Type of the match to be performed. Possible values are REGEXP, BEGINS_WITH, or EXACT.", - "type": "string" - }, - "type": { - "description": "Type of this event condition. Possible values are CATEGORY, ACTION, LABEL, or VALUE.", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "useEventValue": { - "description": "Determines if the event value should be used as the value for this goal.", - "type": "boolean" - } - }, - "type": "object" - }, - "id": { - "description": "Goal ID.", - "type": "string" - }, - "internalWebPropertyId": { - "description": "Internal ID for the web property to which this goal belongs.", - "type": "string" - }, - "kind": { - "default": "analytics#goal", - "description": "Resource type for an Analytics goal.", - "type": "string" - }, - "name": { - "description": "Goal name.", - "type": "string" - }, - "parentLink": { - "description": "Parent link for a goal. Points to the view (profile) to which this goal belongs.", - "properties": { - "href": { - "description": "Link to the view (profile) to which this goal belongs.", - "type": "string" - }, - "type": { - "default": "analytics#profile", - "description": "Value is \"analytics#profile\".", - "type": "string" - } - }, - "type": "object" - }, - "profileId": { - "description": "View (Profile) ID to which this goal belongs.", - "type": "string" - }, - "selfLink": { - "description": "Link for this goal.", - "type": "string" - }, - "type": { - "description": "Goal type. Possible values are URL_DESTINATION, VISIT_TIME_ON_SITE, VISIT_NUM_PAGES, AND EVENT.", - "type": "string" - }, - "updated": { - "description": "Time this goal was last modified.", - "format": "date-time", - "type": "string" - }, - "urlDestinationDetails": { - "description": "Details for the goal of the type URL_DESTINATION.", - "properties": { - "caseSensitive": { - "description": "Determines if the goal URL must exactly match the capitalization of visited URLs.", - "type": "boolean" - }, - "firstStepRequired": { - "description": "Determines if the first step in this goal is required.", - "type": "boolean" - }, - "matchType": { - "description": "Match type for the goal URL. Possible values are HEAD, EXACT, or REGEX.", - "type": "string" - }, - "steps": { - "description": "List of steps configured for this goal funnel.", - "items": { - "properties": { - "name": { - "description": "Step name.", - "type": "string" - }, - "number": { - "description": "Step number.", - "format": "int32", - "type": "integer" - }, - "url": { - "description": "URL for this step.", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "url": { - "description": "URL for this goal.", - "type": "string" - } - }, - "type": "object" - }, - "value": { - "description": "Goal value.", - "format": "float", - "type": "number" - }, - "visitNumPagesDetails": { - "description": "Details for the goal of the type VISIT_NUM_PAGES.", - "properties": { - "comparisonType": { - "description": "Type of comparison. Possible values are LESS_THAN, GREATER_THAN, or EQUAL.", - "type": "string" - }, - "comparisonValue": { - "description": "Value used for this comparison.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "visitTimeOnSiteDetails": { - "description": "Details for the goal of the type VISIT_TIME_ON_SITE.", - "properties": { - "comparisonType": { - "description": "Type of comparison. Possible values are LESS_THAN or GREATER_THAN.", - "type": "string" - }, - "comparisonValue": { - "description": "Value used for this comparison.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "webPropertyId": { - "description": "Web property ID to which this goal belongs. The web property ID is of the form UA-XXXXX-YY.", - "type": "string" - } - }, - "type": "object" - }, - "Goals": { - "description": "A goal collection lists Analytics goals to which the user has access. Each view (profile) can have a set of goals. Each resource in the Goal collection corresponds to a single Analytics goal.", - "id": "Goals", - "properties": { - "items": { - "description": "A list of goals.", - "items": { - "$ref": "Goal" - }, - "type": "array" - }, - "itemsPerPage": { - "description": "The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.", - "format": "int32", - "type": "integer" - }, - "kind": { - "default": "analytics#goals", - "description": "Collection type.", - "type": "string" - }, - "nextLink": { - "description": "Link to next page for this goal collection.", - "type": "string" - }, - "previousLink": { - "description": "Link to previous page for this goal collection.", - "type": "string" - }, - "startIndex": { - "description": "The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter.", - "format": "int32", - "type": "integer" - }, - "totalResults": { - "description": "The total number of results for the query, regardless of the number of resources in the result.", - "format": "int32", - "type": "integer" - }, - "username": { - "description": "Email ID of the authenticated user", - "type": "string" - } - }, - "type": "object" - }, - "HashClientIdRequest": { - "description": "JSON template for a hash Client Id request resource.", - "id": "HashClientIdRequest", - "properties": { - "clientId": { - "type": "string" - }, - "kind": { - "default": "analytics#hashClientIdRequest", - "type": "string" - }, - "webPropertyId": { - "type": "string" - } - }, - "type": "object" - }, - "HashClientIdResponse": { - "description": "JSON template for a hash Client Id response resource.", - "id": "HashClientIdResponse", - "properties": { - "clientId": { - "type": "string" - }, - "hashedClientId": { - "type": "string" - }, - "kind": { - "default": "analytics#hashClientIdResponse", - "type": "string" - }, - "webPropertyId": { - "type": "string" - } - }, - "type": "object" - }, - "IncludeConditions": { - "description": "JSON template for an Analytics Remarketing Include Conditions.", - "id": "IncludeConditions", - "properties": { - "daysToLookBack": { - "description": "The look-back window lets you specify a time frame for evaluating the behavior that qualifies users for your audience. For example, if your filters include users from Central Asia, and Transactions Greater than 2, and you set the look-back window to 14 days, then any user from Central Asia whose cumulative transactions exceed 2 during the last 14 days is added to the audience.", - "format": "int32", - "type": "integer" - }, - "isSmartList": { - "description": "Boolean indicating whether this segment is a smart list. https://support.google.com/analytics/answer/4628577", - "type": "boolean" - }, - "kind": { - "default": "analytics#includeConditions", - "description": "Resource type for include conditions.", - "type": "string" - }, - "membershipDurationDays": { - "description": "Number of days (in the range 1 to 540) a user remains in the audience.", - "format": "int32", - "type": "integer" - }, - "segment": { - "description": "The segment condition that will cause a user to be added to an audience.", - "type": "string" - } - }, - "type": "object" - }, - "LinkedForeignAccount": { - "description": "JSON template for an Analytics Remarketing Audience Foreign Link.", - "id": "LinkedForeignAccount", - "properties": { - "accountId": { - "description": "Account ID to which this linked foreign account belongs.", - "type": "string" - }, - "eligibleForSearch": { - "description": "Boolean indicating whether this is eligible for search.", - "readOnly": true, - "type": "boolean" - }, - "id": { - "description": "Entity ad account link ID.", - "type": "string" - }, - "internalWebPropertyId": { - "description": "Internal ID for the web property to which this linked foreign account belongs.", - "readOnly": true, - "type": "string" - }, - "kind": { - "default": "analytics#linkedForeignAccount", - "description": "Resource type for linked foreign account.", - "type": "string" - }, - "linkedAccountId": { - "description": "The foreign account ID. For example the an Google Ads `linkedAccountId` has the following format XXX-XXX-XXXX.", - "type": "string" - }, - "remarketingAudienceId": { - "description": "Remarketing audience ID to which this linked foreign account belongs.", - "type": "string" - }, - "status": { - "description": "The status of this foreign account link.", - "type": "string" - }, - "type": { - "description": "The type of the foreign account. For example, `ADWORDS_LINKS`, `DBM_LINKS`, `MCC_LINKS` or `OPTIMIZE`.", - "type": "string" - }, - "webPropertyId": { - "description": "Web property ID of the form UA-XXXXX-YY to which this linked foreign account belongs.", - "type": "string" - } - }, - "type": "object" - }, - "McfData": { - "description": "Multi-Channel Funnels data for a given view (profile).", - "id": "McfData", - "properties": { - "columnHeaders": { - "description": "Column headers that list dimension names followed by the metric names. The order of dimensions and metrics is same as specified in the request.", - "items": { - "properties": { - "columnType": { - "description": "Column Type. Either DIMENSION or METRIC.", - "type": "string" - }, - "dataType": { - "description": "Data type. Dimension and metric values data types such as INTEGER, DOUBLE, CURRENCY, MCF_SEQUENCE etc.", - "type": "string" - }, - "name": { - "description": "Column name.", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "containsSampledData": { - "description": "Determines if the Analytics data contains sampled data.", - "type": "boolean" - }, - "id": { - "description": "Unique ID for this data response.", - "type": "string" - }, - "itemsPerPage": { - "description": "The maximum number of rows the response can contain, regardless of the actual number of rows returned. Its value ranges from 1 to 10,000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.", - "format": "int32", - "type": "integer" - }, - "kind": { - "default": "analytics#mcfData", - "description": "Resource type.", - "type": "string" - }, - "nextLink": { - "description": "Link to next page for this Analytics data query.", - "type": "string" - }, - "previousLink": { - "description": "Link to previous page for this Analytics data query.", - "type": "string" - }, - "profileInfo": { - "description": "Information for the view (profile), for which the Analytics data was requested.", - "properties": { - "accountId": { - "description": "Account ID to which this view (profile) belongs.", - "type": "string" - }, - "internalWebPropertyId": { - "description": "Internal ID for the web property to which this view (profile) belongs.", - "type": "string" - }, - "profileId": { - "description": "View (Profile) ID.", - "type": "string" - }, - "profileName": { - "description": "View (Profile) name.", - "type": "string" - }, - "tableId": { - "description": "Table ID for view (profile).", - "type": "string" - }, - "webPropertyId": { - "description": "Web Property ID to which this view (profile) belongs.", - "type": "string" - } - }, - "type": "object" - }, - "query": { - "description": "Analytics data request query parameters.", - "properties": { - "dimensions": { - "description": "List of analytics dimensions.", - "type": "string" - }, - "end-date": { - "description": "End date.", - "type": "string" - }, - "filters": { - "description": "Comma-separated list of dimension or metric filters.", - "type": "string" - }, - "ids": { - "description": "Unique table ID.", - "type": "string" - }, - "max-results": { - "description": "Maximum results per page.", - "format": "int32", - "type": "integer" - }, - "metrics": { - "description": "List of analytics metrics.", - "items": { - "type": "string" - }, - "type": "array" - }, - "samplingLevel": { - "description": "Desired sampling level", - "type": "string" - }, - "segment": { - "description": "Analytics advanced segment.", - "type": "string" - }, - "sort": { - "description": "List of dimensions or metrics based on which Analytics data is sorted.", - "items": { - "type": "string" - }, - "type": "array" - }, - "start-date": { - "description": "Start date.", - "type": "string" - }, - "start-index": { - "description": "Start index.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "rows": { - "description": "Analytics data rows, where each row contains a list of dimension values followed by the metric values. The order of dimensions and metrics is same as specified in the request.", - "items": { - "items": { - "description": "A union object representing a dimension or metric value. Only one of \"primitiveValue\" or \"conversionPathValue\" attribute will be populated.", - "properties": { - "conversionPathValue": { - "description": "A conversion path dimension value, containing a list of interactions with their attributes.", - "items": { - "properties": { - "interactionType": { - "description": "Type of an interaction on conversion path. Such as CLICK, IMPRESSION etc.", - "type": "string" - }, - "nodeValue": { - "description": "Node value of an interaction on conversion path. Such as source, medium etc.", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "primitiveValue": { - "description": "A primitive dimension value. A primitive metric value.", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "type": "array" - }, - "sampleSize": { - "description": "The number of samples used to calculate the result.", - "format": "int64", - "type": "string" - }, - "sampleSpace": { - "description": "Total size of the sample space from which the samples were selected.", - "format": "int64", - "type": "string" - }, - "selfLink": { - "description": "Link to this page.", - "type": "string" - }, - "totalResults": { - "description": "The total number of rows for the query, regardless of the number of rows in the response.", - "format": "int32", - "type": "integer" - }, - "totalsForAllResults": { - "additionalProperties": { - "description": "Key-value pair for the total value of a metric. Key is the metric name and the value is the total value for that metric.", - "type": "string" - }, - "description": "Total values for the requested metrics over all the results, not just the results returned in this response. The order of the metric totals is same as the metric order specified in the request.", - "type": "object" - } - }, - "type": "object" - }, - "Profile": { - "description": "JSON template for an Analytics view (profile).", - "id": "Profile", - "properties": { - "accountId": { - "description": "Account ID to which this view (profile) belongs.", - "type": "string" - }, - "botFilteringEnabled": { - "description": "Indicates whether bot filtering is enabled for this view (profile).", - "type": "boolean" - }, - "childLink": { - "description": "Child link for this view (profile). Points to the list of goals for this view (profile).", - "properties": { - "href": { - "description": "Link to the list of goals for this view (profile).", - "type": "string" - }, - "type": { - "default": "analytics#goals", - "description": "Value is \"analytics#goals\".", - "type": "string" - } - }, - "type": "object" - }, - "created": { - "description": "Time this view (profile) was created.", - "format": "date-time", - "readOnly": true, - "type": "string" - }, - "currency": { - "description": "The currency type associated with this view (profile), defaults to USD. The supported values are:\nUSD, JPY, EUR, GBP, AUD, KRW, BRL, CNY, DKK, RUB, SEK, NOK, PLN, TRY, TWD, HKD, THB, IDR, ARS, MXN, VND, PHP, INR, CHF, CAD, CZK, NZD, HUF, BGN, LTL, ZAR, UAH, AED, BOB, CLP, COP, EGP, HRK, ILS, MAD, MYR, PEN, PKR, RON, RSD, SAR, SGD, VEF, LVL", - "type": "string" - }, - "defaultPage": { - "description": "Default page for this view (profile).", - "type": "string" - }, - "eCommerceTracking": { - "description": "Indicates whether ecommerce tracking is enabled for this view (profile).", - "type": "boolean" - }, - "enhancedECommerceTracking": { - "description": "Indicates whether enhanced ecommerce tracking is enabled for this view (profile). This property can only be enabled if ecommerce tracking is enabled.", - "type": "boolean" - }, - "excludeQueryParameters": { - "description": "The query parameters that are excluded from this view (profile).", - "type": "string" - }, - "id": { - "description": "View (Profile) ID.", - "type": "string" - }, - "internalWebPropertyId": { - "description": "Internal ID for the web property to which this view (profile) belongs.", - "readOnly": true, - "type": "string" - }, - "kind": { - "default": "analytics#profile", - "description": "Resource type for Analytics view (profile).", - "readOnly": true, - "type": "string" - }, - "name": { - "description": "Name of this view (profile).", - "type": "string" - }, - "parentLink": { - "description": "Parent link for this view (profile). Points to the web property to which this view (profile) belongs.", - "properties": { - "href": { - "description": "Link to the web property to which this view (profile) belongs.", - "type": "string" - }, - "type": { - "default": "analytics#webproperty", - "description": "Value is \"analytics#webproperty\".", - "type": "string" - } - }, - "type": "object" - }, - "permissions": { - "description": "Permissions the user has for this view (profile).", - "properties": { - "effective": { - "description": "All the permissions that the user has for this view (profile). These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent web property.", - "items": { - "type": "string" - }, - "readOnly": true, - "type": "array" - } - }, - "type": "object" - }, - "selfLink": { - "description": "Link for this view (profile).", - "readOnly": true, - "type": "string" - }, - "siteSearchCategoryParameters": { - "description": "Site search category parameters for this view (profile).", - "type": "string" - }, - "siteSearchQueryParameters": { - "description": "The site search query parameters for this view (profile).", - "type": "string" - }, - "starred": { - "description": "Indicates whether this view (profile) is starred or not.", - "type": "boolean" - }, - "stripSiteSearchCategoryParameters": { - "description": "Whether or not Analytics will strip search category parameters from the URLs in your reports.", - "type": "boolean" - }, - "stripSiteSearchQueryParameters": { - "description": "Whether or not Analytics will strip search query parameters from the URLs in your reports.", - "type": "boolean" - }, - "timezone": { - "description": "Time zone for which this view (profile) has been configured. Time zones are identified by strings from the TZ database.", - "type": "string" - }, - "type": { - "description": "View (Profile) type. Supported types: WEB or APP.", - "type": "string" - }, - "updated": { - "description": "Time this view (profile) was last modified.", - "format": "date-time", - "readOnly": true, - "type": "string" - }, - "webPropertyId": { - "description": "Web property ID of the form UA-XXXXX-YY to which this view (profile) belongs.", - "readOnly": true, - "type": "string" - }, - "websiteUrl": { - "description": "Website URL for this view (profile).", - "type": "string" - } - }, - "type": "object" - }, - "ProfileFilterLink": { - "description": "JSON template for an Analytics profile filter link.", - "id": "ProfileFilterLink", - "properties": { - "filterRef": { - "$ref": "FilterRef", - "description": "Filter for this link." - }, - "id": { - "description": "Profile filter link ID.", - "type": "string" - }, - "kind": { - "default": "analytics#profileFilterLink", - "description": "Resource type for Analytics filter.", - "readOnly": true, - "type": "string" - }, - "profileRef": { - "$ref": "ProfileRef", - "description": "View (Profile) for this link." - }, - "rank": { - "description": "The rank of this profile filter link relative to the other filters linked to the same profile.\nFor readonly (i.e., list and get) operations, the rank always starts at 1.\nFor write (i.e., create, update, or delete) operations, you may specify a value between 0 and 255 inclusively, [0, 255]. In order to insert a link at the end of the list, either don't specify a rank or set a rank to a number greater than the largest rank in the list. In order to insert a link to the beginning of the list specify a rank that is less than or equal to 1. The new link will move all existing filters with the same or lower rank down the list. After the link is inserted/updated/deleted all profile filter links will be renumbered starting at 1.", - "format": "int32", - "type": "integer" - }, - "selfLink": { - "description": "Link for this profile filter link.", - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, - "ProfileFilterLinks": { - "description": "A profile filter link collection lists profile filter links between profiles and filters. Each resource in the collection corresponds to a profile filter link.", - "id": "ProfileFilterLinks", - "properties": { - "items": { - "description": "A list of profile filter links.", - "items": { - "$ref": "ProfileFilterLink" - }, - "type": "array" - }, - "itemsPerPage": { - "description": "The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1,000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.", - "format": "int32", - "type": "integer" - }, - "kind": { - "default": "analytics#profileFilterLinks", - "description": "Collection type.", - "type": "string" - }, - "nextLink": { - "description": "Link to next page for this profile filter link collection.", - "type": "string" - }, - "previousLink": { - "description": "Link to previous page for this profile filter link collection.", - "type": "string" - }, - "startIndex": { - "description": "The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter.", - "format": "int32", - "type": "integer" - }, - "totalResults": { - "description": "The total number of results for the query, regardless of the number of results in the response.", - "format": "int32", - "type": "integer" - }, - "username": { - "description": "Email ID of the authenticated user", - "type": "string" - } - }, - "type": "object" - }, - "ProfileRef": { - "description": "JSON template for a linked view (profile).", - "id": "ProfileRef", - "properties": { - "accountId": { - "description": "Account ID to which this view (profile) belongs.", - "type": "string" - }, - "href": { - "description": "Link for this view (profile).", - "type": "string" - }, - "id": { - "description": "View (Profile) ID.", - "type": "string" - }, - "internalWebPropertyId": { - "description": "Internal ID for the web property to which this view (profile) belongs.", - "type": "string" - }, - "kind": { - "default": "analytics#profileRef", - "description": "Analytics view (profile) reference.", - "type": "string" - }, - "name": { - "description": "Name of this view (profile).", - "type": "string" - }, - "webPropertyId": { - "description": "Web property ID of the form UA-XXXXX-YY to which this view (profile) belongs.", - "type": "string" - } - }, - "type": "object" - }, - "ProfileSummary": { - "description": "JSON template for an Analytics ProfileSummary. ProfileSummary returns basic information (i.e., summary) for a profile.", - "id": "ProfileSummary", - "properties": { - "id": { - "description": "View (profile) ID.", - "type": "string" - }, - "kind": { - "default": "analytics#profileSummary", - "description": "Resource type for Analytics ProfileSummary.", - "type": "string" - }, - "name": { - "description": "View (profile) name.", - "type": "string" - }, - "starred": { - "description": "Indicates whether this view (profile) is starred or not.", - "type": "boolean" - }, - "type": { - "description": "View (Profile) type. Supported types: WEB or APP.", - "type": "string" - } - }, - "type": "object" - }, - "Profiles": { - "description": "A view (profile) collection lists Analytics views (profiles) to which the user has access. Each resource in the collection corresponds to a single Analytics view (profile).", - "id": "Profiles", - "properties": { - "items": { - "description": "A list of views (profiles).", - "items": { - "$ref": "Profile" - }, - "type": "array" - }, - "itemsPerPage": { - "description": "The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.", - "format": "int32", - "type": "integer" - }, - "kind": { - "default": "analytics#profiles", - "description": "Collection type.", - "type": "string" - }, - "nextLink": { - "description": "Link to next page for this view (profile) collection.", - "type": "string" - }, - "previousLink": { - "description": "Link to previous page for this view (profile) collection.", - "type": "string" - }, - "startIndex": { - "description": "The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter.", - "format": "int32", - "type": "integer" - }, - "totalResults": { - "description": "The total number of results for the query, regardless of the number of results in the response.", - "format": "int32", - "type": "integer" - }, - "username": { - "description": "Email ID of the authenticated user", - "type": "string" - } - }, - "type": "object" - }, - "RealtimeData": { - "description": "Real time data for a given view (profile).", - "id": "RealtimeData", - "properties": { - "columnHeaders": { - "description": "Column headers that list dimension names followed by the metric names. The order of dimensions and metrics is same as specified in the request.", - "items": { - "properties": { - "columnType": { - "description": "Column Type. Either DIMENSION or METRIC.", - "type": "string" - }, - "dataType": { - "description": "Data type. Dimension column headers have only STRING as the data type. Metric column headers have data types for metric values such as INTEGER, DOUBLE, CURRENCY etc.", - "type": "string" - }, - "name": { - "description": "Column name.", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "id": { - "description": "Unique ID for this data response.", - "type": "string" - }, - "kind": { - "default": "analytics#realtimeData", - "description": "Resource type.", - "type": "string" - }, - "profileInfo": { - "description": "Information for the view (profile), for which the real time data was requested.", - "properties": { - "accountId": { - "description": "Account ID to which this view (profile) belongs.", - "type": "string" - }, - "internalWebPropertyId": { - "description": "Internal ID for the web property to which this view (profile) belongs.", - "type": "string" - }, - "profileId": { - "description": "View (Profile) ID.", - "type": "string" - }, - "profileName": { - "description": "View (Profile) name.", - "type": "string" - }, - "tableId": { - "description": "Table ID for view (profile).", - "type": "string" - }, - "webPropertyId": { - "description": "Web Property ID to which this view (profile) belongs.", - "type": "string" - } - }, - "type": "object" - }, - "query": { - "description": "Real time data request query parameters.", - "properties": { - "dimensions": { - "description": "List of real time dimensions.", - "type": "string" - }, - "filters": { - "description": "Comma-separated list of dimension or metric filters.", - "type": "string" - }, - "ids": { - "description": "Unique table ID.", - "type": "string" - }, - "max-results": { - "description": "Maximum results per page.", - "format": "int32", - "type": "integer" - }, - "metrics": { - "description": "List of real time metrics.", - "items": { - "type": "string" - }, - "type": "array" - }, - "sort": { - "description": "List of dimensions or metrics based on which real time data is sorted.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "rows": { - "description": "Real time data rows, where each row contains a list of dimension values followed by the metric values. The order of dimensions and metrics is same as specified in the request.", - "items": { - "items": { - "type": "string" - }, - "type": "array" - }, - "type": "array" - }, - "selfLink": { - "description": "Link to this page.", - "type": "string" - }, - "totalResults": { - "description": "The total number of rows for the query, regardless of the number of rows in the response.", - "format": "int32", - "type": "integer" - }, - "totalsForAllResults": { - "additionalProperties": { - "description": "Key-value pair for the total value of a metric. Key is the metric name and the value is the total value for that metric.", - "type": "string" - }, - "description": "Total values for the requested metrics over all the results, not just the results returned in this response. The order of the metric totals is same as the metric order specified in the request.", - "type": "object" - } - }, - "type": "object" - }, - "RemarketingAudience": { - "description": "JSON template for an Analytics remarketing audience.", - "id": "RemarketingAudience", - "properties": { - "accountId": { - "description": "Account ID to which this remarketing audience belongs.", - "type": "string" - }, - "audienceDefinition": { - "description": "The simple audience definition that will cause a user to be added to an audience.", - "properties": { - "includeConditions": { - "$ref": "IncludeConditions", - "description": "Defines the conditions to include users to the audience." - } - }, - "type": "object" - }, - "audienceType": { - "description": "The type of audience, either SIMPLE or STATE_BASED.", - "type": "string" - }, - "created": { - "description": "Time this remarketing audience was created.", - "format": "date-time", - "readOnly": true, - "type": "string" - }, - "description": { - "description": "The description of this remarketing audience.", - "readOnly": true, - "type": "string" - }, - "id": { - "description": "Remarketing Audience ID.", - "type": "string" - }, - "internalWebPropertyId": { - "description": "Internal ID for the web property to which this remarketing audience belongs.", - "readOnly": true, - "type": "string" - }, - "kind": { - "default": "analytics#remarketingAudience", - "description": "Collection type.", - "type": "string" - }, - "linkedAdAccounts": { - "description": "The linked ad accounts associated with this remarketing audience. A remarketing audience can have only one linkedAdAccount currently.", - "items": { - "$ref": "LinkedForeignAccount" - }, - "type": "array" - }, - "linkedViews": { - "description": "The views (profiles) that this remarketing audience is linked to.", - "items": { - "type": "string" - }, - "type": "array" - }, - "name": { - "description": "The name of this remarketing audience.", - "type": "string" - }, - "stateBasedAudienceDefinition": { - "description": "A state based audience definition that will cause a user to be added or removed from an audience.", - "properties": { - "excludeConditions": { - "description": "Defines the conditions to exclude users from the audience.", - "properties": { - "exclusionDuration": { - "description": "Whether to make the exclusion TEMPORARY or PERMANENT.", - "type": "string" - }, - "segment": { - "description": "The segment condition that will cause a user to be removed from an audience.", - "type": "string" - } - }, - "type": "object" - }, - "includeConditions": { - "$ref": "IncludeConditions", - "description": "Defines the conditions to include users to the audience." - } - }, - "type": "object" - }, - "updated": { - "description": "Time this remarketing audience was last modified.", - "format": "date-time", - "readOnly": true, - "type": "string" - }, - "webPropertyId": { - "description": "Web property ID of the form UA-XXXXX-YY to which this remarketing audience belongs.", - "type": "string" - } - }, - "type": "object" - }, - "RemarketingAudiences": { - "description": "A remarketing audience collection lists Analytics remarketing audiences to which the user has access. Each resource in the collection corresponds to a single Analytics remarketing audience.", - "id": "RemarketingAudiences", - "properties": { - "items": { - "description": "A list of remarketing audiences.", - "items": { - "$ref": "RemarketingAudience" - }, - "type": "array" - }, - "itemsPerPage": { - "description": "The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.", - "format": "int32", - "type": "integer" - }, - "kind": { - "default": "analytics#remarketingAudiences", - "description": "Collection type.", - "type": "string" - }, - "nextLink": { - "description": "Link to next page for this remarketing audience collection.", - "type": "string" - }, - "previousLink": { - "description": "Link to previous page for this view (profile) collection.", - "type": "string" - }, - "startIndex": { - "description": "The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter.", - "format": "int32", - "type": "integer" - }, - "totalResults": { - "description": "The total number of results for the query, regardless of the number of results in the response.", - "format": "int32", - "type": "integer" - }, - "username": { - "description": "Email ID of the authenticated user", - "type": "string" - } - }, - "type": "object" - }, - "Segment": { - "description": "JSON template for an Analytics segment.", - "id": "Segment", - "properties": { - "created": { - "description": "Time the segment was created.", - "format": "date-time", - "type": "string" - }, - "definition": { - "description": "Segment definition.", - "type": "string" - }, - "id": { - "description": "Segment ID.", - "type": "string" - }, - "kind": { - "default": "analytics#segment", - "description": "Resource type for Analytics segment.", - "type": "string" - }, - "name": { - "description": "Segment name.", - "type": "string" - }, - "segmentId": { - "description": "Segment ID. Can be used with the 'segment' parameter in Core Reporting API.", - "type": "string" - }, - "selfLink": { - "description": "Link for this segment.", - "type": "string" - }, - "type": { - "description": "Type for a segment. Possible values are \"BUILT_IN\" or \"CUSTOM\".", - "type": "string" - }, - "updated": { - "description": "Time the segment was last modified.", - "format": "date-time", - "type": "string" - } - }, - "type": "object" - }, - "Segments": { - "description": "An segment collection lists Analytics segments that the user has access to. Each resource in the collection corresponds to a single Analytics segment.", - "id": "Segments", - "properties": { - "items": { - "description": "A list of segments.", - "items": { - "$ref": "Segment" - }, - "type": "array" - }, - "itemsPerPage": { - "description": "The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.", - "format": "int32", - "type": "integer" - }, - "kind": { - "default": "analytics#segments", - "description": "Collection type for segments.", - "type": "string" - }, - "nextLink": { - "description": "Link to next page for this segment collection.", - "type": "string" - }, - "previousLink": { - "description": "Link to previous page for this segment collection.", - "type": "string" - }, - "startIndex": { - "description": "The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter.", - "format": "int32", - "type": "integer" - }, - "totalResults": { - "description": "The total number of results for the query, regardless of the number of results in the response.", - "format": "int32", - "type": "integer" - }, - "username": { - "description": "Email ID of the authenticated user", - "type": "string" - } - }, - "type": "object" - }, - "UnsampledReport": { - "description": "JSON template for Analytics unsampled report resource.", - "id": "UnsampledReport", - "properties": { - "accountId": { - "description": "Account ID to which this unsampled report belongs.", - "type": "string" - }, - "cloudStorageDownloadDetails": { - "description": "Download details for a file stored in Google Cloud Storage.", - "properties": { - "bucketId": { - "description": "Id of the bucket the file object is stored in.", - "type": "string" - }, - "objectId": { - "description": "Id of the file object containing the report data.", - "type": "string" - } - }, - "readOnly": true, - "type": "object" - }, - "created": { - "description": "Time this unsampled report was created.", - "format": "date-time", - "readOnly": true, - "type": "string" - }, - "dimensions": { - "description": "The dimensions for the unsampled report.", - "type": "string" - }, - "downloadType": { - "description": "The type of download you need to use for the report data file. Possible values include `GOOGLE_DRIVE` and `GOOGLE_CLOUD_STORAGE`. If the value is `GOOGLE_DRIVE`, see the `driveDownloadDetails` field. If the value is `GOOGLE_CLOUD_STORAGE`, see the `cloudStorageDownloadDetails` field.", - "readOnly": true, - "type": "string" - }, - "driveDownloadDetails": { - "description": "Download details for a file stored in Google Drive.", - "properties": { - "documentId": { - "description": "Id of the document/file containing the report data.", - "type": "string" - } - }, - "readOnly": true, - "type": "object" - }, - "end-date": { - "annotations": { - "required": [ - "analytics.management.filters.insert", - "analytics.management.unsampledReports.insert" - ] - }, - "description": "The end date for the unsampled report.", - "type": "string" - }, - "filters": { - "description": "The filters for the unsampled report.", - "type": "string" - }, - "id": { - "description": "Unsampled report ID.", - "type": "string" - }, - "kind": { - "default": "analytics#unsampledReport", - "description": "Resource type for an Analytics unsampled report.", - "readOnly": true, - "type": "string" - }, - "metrics": { - "annotations": { - "required": [ - "analytics.management.filters.insert", - "analytics.management.unsampledReports.insert" - ] - }, - "description": "The metrics for the unsampled report.", - "type": "string" - }, - "profileId": { - "description": "View (Profile) ID to which this unsampled report belongs.", - "type": "string" - }, - "segment": { - "description": "The segment for the unsampled report.", - "type": "string" - }, - "selfLink": { - "description": "Link for this unsampled report.", - "readOnly": true, - "type": "string" - }, - "start-date": { - "annotations": { - "required": [ - "analytics.management.filters.insert", - "analytics.management.unsampledReports.insert" - ] - }, - "description": "The start date for the unsampled report.", - "type": "string" - }, - "status": { - "description": "Status of this unsampled report. Possible values are PENDING, COMPLETED, or FAILED.", - "readOnly": true, - "type": "string" - }, - "title": { - "annotations": { - "required": [ - "analytics.management.filters.insert", - "analytics.management.unsampledReports.insert" - ] - }, - "description": "Title of the unsampled report.", - "type": "string" - }, - "updated": { - "description": "Time this unsampled report was last modified.", - "format": "date-time", - "readOnly": true, - "type": "string" - }, - "webPropertyId": { - "description": "Web property ID to which this unsampled report belongs. The web property ID is of the form UA-XXXXX-YY.", - "type": "string" - } - }, - "type": "object" - }, - "UnsampledReports": { - "description": "An unsampled report collection lists Analytics unsampled reports to which the user has access. Each view (profile) can have a set of unsampled reports. Each resource in the unsampled report collection corresponds to a single Analytics unsampled report.", - "id": "UnsampledReports", - "properties": { - "items": { - "description": "A list of unsampled reports.", - "items": { - "$ref": "UnsampledReport" - }, - "type": "array" - }, - "itemsPerPage": { - "description": "The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.", - "format": "int32", - "type": "integer" - }, - "kind": { - "default": "analytics#unsampledReports", - "description": "Collection type.", - "type": "string" - }, - "nextLink": { - "description": "Link to next page for this unsampled report collection.", - "type": "string" - }, - "previousLink": { - "description": "Link to previous page for this unsampled report collection.", - "type": "string" - }, - "startIndex": { - "description": "The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter.", - "format": "int32", - "type": "integer" - }, - "totalResults": { - "description": "The total number of results for the query, regardless of the number of resources in the result.", - "format": "int32", - "type": "integer" - }, - "username": { - "description": "Email ID of the authenticated user", - "type": "string" - } - }, - "type": "object" - }, - "Upload": { - "description": "Metadata returned for an upload operation.", - "id": "Upload", - "properties": { - "accountId": { - "description": "Account Id to which this upload belongs.", - "format": "int64", - "type": "string" - }, - "customDataSourceId": { - "description": "Custom data source Id to which this data import belongs.", - "type": "string" - }, - "errors": { - "description": "Data import errors collection.", - "items": { - "type": "string" - }, - "type": "array" - }, - "id": { - "description": "A unique ID for this upload.", - "type": "string" - }, - "kind": { - "default": "analytics#upload", - "description": "Resource type for Analytics upload.", - "type": "string" - }, - "status": { - "description": "Upload status. Possible values: PENDING, COMPLETED, FAILED, DELETING, DELETED.", - "type": "string" - }, - "uploadTime": { - "description": "Time this file is uploaded.", - "format": "date-time", - "type": "string" - } - }, - "type": "object" - }, - "Uploads": { - "description": "Upload collection lists Analytics uploads to which the user has access. Each custom data source can have a set of uploads. Each resource in the upload collection corresponds to a single Analytics data upload.", - "id": "Uploads", - "properties": { - "items": { - "description": "A list of uploads.", - "items": { - "$ref": "Upload" - }, - "type": "array" - }, - "itemsPerPage": { - "description": "The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.", - "format": "int32", - "type": "integer" - }, - "kind": { - "default": "analytics#uploads", - "description": "Collection type.", - "type": "string" - }, - "nextLink": { - "description": "Link to next page for this upload collection.", - "type": "string" - }, - "previousLink": { - "description": "Link to previous page for this upload collection.", - "type": "string" - }, - "startIndex": { - "description": "The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter.", - "format": "int32", - "type": "integer" - }, - "totalResults": { - "description": "The total number of results for the query, regardless of the number of resources in the result.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "UserDeletionRequest": { - "description": "JSON template for a user deletion request resource.", - "id": "UserDeletionRequest", - "properties": { - "deletionRequestTime": { - "description": "This marks the point in time for which all user data before should be deleted", - "format": "date-time", - "readOnly": true, - "type": "string" - }, - "firebaseProjectId": { - "description": "Firebase Project Id", - "type": "string" - }, - "id": { - "description": "User ID.", - "properties": { - "type": { - "description": "Type of user", - "type": "string" - }, - "userId": { - "description": "The User's id", - "type": "string" - } - }, - "type": "object" - }, - "kind": { - "default": "analytics#userDeletionRequest", - "description": "Value is \"analytics#userDeletionRequest\".", - "type": "string" - }, - "propertyId": { - "description": "Property ID", - "type": "string" - }, - "webPropertyId": { - "description": "Web property ID of the form UA-XXXXX-YY.", - "type": "string" - } - }, - "type": "object" - }, - "UserRef": { - "description": "JSON template for a user reference.", - "id": "UserRef", - "properties": { - "email": { - "description": "Email ID of this user.", - "type": "string" - }, - "id": { - "description": "User ID.", - "type": "string" - }, - "kind": { - "default": "analytics#userRef", - "type": "string" - } - }, - "type": "object" - }, - "WebPropertyRef": { - "description": "JSON template for a web property reference.", - "id": "WebPropertyRef", - "properties": { - "accountId": { - "description": "Account ID to which this web property belongs.", - "type": "string" - }, - "href": { - "description": "Link for this web property.", - "type": "string" - }, - "id": { - "description": "Web property ID of the form UA-XXXXX-YY.", - "type": "string" - }, - "internalWebPropertyId": { - "description": "Internal ID for this web property.", - "type": "string" - }, - "kind": { - "default": "analytics#webPropertyRef", - "description": "Analytics web property reference.", - "type": "string" - }, - "name": { - "description": "Name of this web property.", - "type": "string" - } - }, - "type": "object" - }, - "WebPropertySummary": { - "description": "JSON template for an Analytics WebPropertySummary. WebPropertySummary returns basic information (i.e., summary) for a web property.", - "id": "WebPropertySummary", - "properties": { - "id": { - "description": "Web property ID of the form UA-XXXXX-YY.", - "type": "string" - }, - "internalWebPropertyId": { - "description": "Internal ID for this web property.", - "type": "string" - }, - "kind": { - "default": "analytics#webPropertySummary", - "description": "Resource type for Analytics WebPropertySummary.", - "type": "string" - }, - "level": { - "description": "Level for this web property. Possible values are STANDARD or PREMIUM.", - "type": "string" - }, - "name": { - "description": "Web property name.", - "type": "string" - }, - "profiles": { - "description": "List of profiles under this web property.", - "items": { - "$ref": "ProfileSummary" - }, - "type": "array" - }, - "starred": { - "description": "Indicates whether this web property is starred or not.", - "type": "boolean" - }, - "websiteUrl": { - "description": "Website url for this web property.", - "type": "string" - } - }, - "type": "object" - }, - "Webproperties": { - "description": "A web property collection lists Analytics web properties to which the user has access. Each resource in the collection corresponds to a single Analytics web property.", - "id": "Webproperties", - "properties": { - "items": { - "description": "A list of web properties.", - "items": { - "$ref": "Webproperty" - }, - "type": "array" - }, - "itemsPerPage": { - "description": "The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter.", - "format": "int32", - "type": "integer" - }, - "kind": { - "default": "analytics#webproperties", - "description": "Collection type.", - "type": "string" - }, - "nextLink": { - "description": "Link to next page for this web property collection.", - "type": "string" - }, - "previousLink": { - "description": "Link to previous page for this web property collection.", - "type": "string" - }, - "startIndex": { - "description": "The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter.", - "format": "int32", - "type": "integer" - }, - "totalResults": { - "description": "The total number of results for the query, regardless of the number of results in the response.", - "format": "int32", - "type": "integer" - }, - "username": { - "description": "Email ID of the authenticated user", - "type": "string" - } - }, - "type": "object" - }, - "Webproperty": { - "description": "JSON template for an Analytics web property.", - "id": "Webproperty", - "properties": { - "accountId": { - "description": "Account ID to which this web property belongs.", - "type": "string" - }, - "childLink": { - "description": "Child link for this web property. Points to the list of views (profiles) for this web property.", - "properties": { - "href": { - "description": "Link to the list of views (profiles) for this web property.", - "type": "string" - }, - "type": { - "default": "analytics#profiles", - "description": "Type of the parent link. Its value is \"analytics#profiles\".", - "type": "string" - } - }, - "type": "object" - }, - "created": { - "description": "Time this web property was created.", - "format": "date-time", - "readOnly": true, - "type": "string" - }, - "dataRetentionResetOnNewActivity": { - "description": "Set to true to reset the retention period of the user identifier with each new event from that user (thus setting the expiration date to current time plus retention period).\nSet to false to delete data associated with the user identifier automatically after the rentention period.\nThis property cannot be set on insert.", - "type": "boolean" - }, - "dataRetentionTtl": { - "description": "The length of time for which user and event data is retained.\nThis property cannot be set on insert.", - "type": "string" - }, - "defaultProfileId": { - "description": "Default view (profile) ID.", - "format": "int64", - "type": "string" - }, - "id": { - "description": "Web property ID of the form UA-XXXXX-YY.", - "type": "string" - }, - "industryVertical": { - "description": "The industry vertical/category selected for this web property.", - "type": "string" - }, - "internalWebPropertyId": { - "description": "Internal ID for this web property.", - "readOnly": true, - "type": "string" - }, - "kind": { - "default": "analytics#webproperty", - "description": "Resource type for Analytics WebProperty.", - "readOnly": true, - "type": "string" - }, - "level": { - "description": "Level for this web property. Possible values are STANDARD or PREMIUM.", - "readOnly": true, - "type": "string" - }, - "name": { - "description": "Name of this web property.", - "type": "string" - }, - "parentLink": { - "description": "Parent link for this web property. Points to the account to which this web property belongs.", - "properties": { - "href": { - "description": "Link to the account for this web property.", - "type": "string" - }, - "type": { - "default": "analytics#account", - "description": "Type of the parent link. Its value is \"analytics#account\".", - "type": "string" - } - }, - "type": "object" - }, - "permissions": { - "description": "Permissions the user has for this web property.", - "properties": { - "effective": { - "description": "All the permissions that the user has for this web property. These include any implied permissions (e.g., EDIT implies VIEW) or inherited permissions from the parent account.", - "items": { - "type": "string" - }, - "readOnly": true, - "type": "array" - } - }, - "type": "object" - }, - "profileCount": { - "description": "View (Profile) count for this web property.", - "format": "int32", - "readOnly": true, - "type": "integer" - }, - "selfLink": { - "description": "Link for this web property.", - "readOnly": true, - "type": "string" - }, - "starred": { - "description": "Indicates whether this web property is starred or not.", - "type": "boolean" - }, - "updated": { - "description": "Time this web property was last modified.", - "format": "date-time", - "readOnly": true, - "type": "string" - }, - "websiteUrl": { - "description": "Website url for this web property.", - "type": "string" - } - }, - "type": "object" - } - }, - "servicePath": "analytics/v3/", - "title": "Google Analytics API", - "version": "v3" -} \ No newline at end of file diff --git a/discovery/androidpublisher-v3.json b/discovery/androidpublisher-v3.json index 0837d0e19ad..a1048ffa670 100644 --- a/discovery/androidpublisher-v3.json +++ b/discovery/androidpublisher-v3.json @@ -5639,7 +5639,7 @@ } } }, - "revision": "20260519", + "revision": "20260528", "rootUrl": "https://androidpublisher.googleapis.com/", "schemas": { "Abi": { @@ -8094,7 +8094,7 @@ "type": "object" }, "GeneratedApksPerSigningKey": { - "description": "Download metadata for split, standalone and universal APKs, as well as asset pack slices, signed with a given key. Next ID: 10", + "description": "Download metadata for split, standalone and universal APKs, as well as asset pack slices, signed with a given key.", "id": "GeneratedApksPerSigningKey", "properties": { "certificateSha256Hash": { diff --git a/discovery/apphub-v1.json b/discovery/apphub-v1.json index b3d9b56b448..5069019978f 100644 --- a/discovery/apphub-v1.json +++ b/discovery/apphub-v1.json @@ -281,7 +281,7 @@ "type": "string" }, "updateMask": { - "description": "Required. Field mask is used to specify the fields to be overwritten in the Boundary 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.", + "description": "Optional. Field mask is used to specify the fields to be overwritten in the Boundary 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" @@ -494,7 +494,7 @@ "type": "string" }, "updateMask": { - "description": "Required. Field mask is used to specify the fields to be overwritten in the Application resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. The API changes the values of the fields as specified in the update_mask. The API ignores the values of all fields not covered by the update_mask. You can also unset a field by not specifying it in the updated message, but adding the field to the mask. This clears whatever value the field previously had.", + "description": "Optional. Field mask is used to specify the fields to be overwritten in the Application resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. The API changes the values of the fields as specified in the update_mask. The API ignores the values of all fields not covered by the update_mask. You can also unset a field by not specifying it in the updated message, but adding the field to the mask. This clears whatever value the field previously had.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -732,7 +732,7 @@ "type": "string" }, "updateMask": { - "description": "Required. Field mask is used to specify the fields to be overwritten in the Service resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. The API changes the values of the fields as specified in the update_mask. The API ignores the values of all fields not covered by the update_mask. You can also unset a field by not specifying it in the updated message, but adding the field to the mask. This clears whatever value the field previously had.", + "description": "Optional. Field mask is used to specify the fields to be overwritten in the Service resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. The API changes the values of the fields as specified in the update_mask. The API ignores the values of all fields not covered by the update_mask. You can also unset a field by not specifying it in the updated message, but adding the field to the mask. This clears whatever value the field previously had.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -914,7 +914,7 @@ "type": "string" }, "updateMask": { - "description": "Required. Field mask is used to specify the fields to be overwritten in the Workload resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. The API changes the values of the fields as specified in the update_mask. The API ignores the values of all fields not covered by the update_mask. You can also unset a field by not specifying it in the updated message, but adding the field to the mask. This clears whatever value the field previously had.", + "description": "Optional. Field mask is used to specify the fields to be overwritten in the Workload resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. The API changes the values of the fields as specified in the update_mask. The API ignores the values of all fields not covered by the update_mask. You can also unset a field by not specifying it in the updated message, but adding the field to the mask. This clears whatever value the field previously had.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1486,7 +1486,7 @@ } } }, - "revision": "20260422", + "revision": "20260520", "rootUrl": "https://apphub.googleapis.com/", "schemas": { "Application": { diff --git a/discovery/apphub-v1alpha.json b/discovery/apphub-v1alpha.json index c9f9fa3b799..58e150a9d39 100644 --- a/discovery/apphub-v1alpha.json +++ b/discovery/apphub-v1alpha.json @@ -281,7 +281,7 @@ "type": "string" }, "updateMask": { - "description": "Required. Field mask is used to specify the fields to be overwritten in the Boundary 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.", + "description": "Optional. Field mask is used to specify the fields to be overwritten in the Boundary 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" @@ -494,7 +494,7 @@ "type": "string" }, "updateMask": { - "description": "Required. Field mask is used to specify the fields to be overwritten in the Application resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. The API changes the values of the fields as specified in the update_mask. The API ignores the values of all fields not covered by the update_mask. You can also unset a field by not specifying it in the updated message, but adding the field to the mask. This clears whatever value the field previously had.", + "description": "Optional. Field mask is used to specify the fields to be overwritten in the Application resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. The API changes the values of the fields as specified in the update_mask. The API ignores the values of all fields not covered by the update_mask. You can also unset a field by not specifying it in the updated message, but adding the field to the mask. This clears whatever value the field previously had.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -732,7 +732,7 @@ "type": "string" }, "updateMask": { - "description": "Required. Field mask is used to specify the fields to be overwritten in the Service resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. The API changes the values of the fields as specified in the update_mask. The API ignores the values of all fields not covered by the update_mask. You can also unset a field by not specifying it in the updated message, but adding the field to the mask. This clears whatever value the field previously had.", + "description": "Optional. Field mask is used to specify the fields to be overwritten in the Service resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. The API changes the values of the fields as specified in the update_mask. The API ignores the values of all fields not covered by the update_mask. You can also unset a field by not specifying it in the updated message, but adding the field to the mask. This clears whatever value the field previously had.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -914,7 +914,7 @@ "type": "string" }, "updateMask": { - "description": "Required. Field mask is used to specify the fields to be overwritten in the Workload resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. The API changes the values of the fields as specified in the update_mask. The API ignores the values of all fields not covered by the update_mask. You can also unset a field by not specifying it in the updated message, but adding the field to the mask. This clears whatever value the field previously had.", + "description": "Optional. Field mask is used to specify the fields to be overwritten in the Workload resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. The API changes the values of the fields as specified in the update_mask. The API ignores the values of all fields not covered by the update_mask. You can also unset a field by not specifying it in the updated message, but adding the field to the mask. This clears whatever value the field previously had.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1578,7 +1578,7 @@ } } }, - "revision": "20260422", + "revision": "20260520", "rootUrl": "https://apphub.googleapis.com/", "schemas": { "Application": { diff --git a/discovery/artifactregistry-v1.json b/discovery/artifactregistry-v1.json index 6726566ecf8..6b1a4ec2e9c 100644 --- a/discovery/artifactregistry-v1.json +++ b/discovery/artifactregistry-v1.json @@ -490,7 +490,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the [ListLocationsRequest.name] field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.", + "description": "Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.", "flatPath": "v1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "artifactregistry.projects.locations.list", @@ -499,7 +499,7 @@ ], "parameters": { "extraLocationTypes": { - "description": "Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage.", + "description": "Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage.", "location": "query", "repeated": true, "type": "string" @@ -667,6 +667,35 @@ }, "repositories": { "methods": { + "checkPrewarmedArtifact": { + "description": "Checks an artifact streaming.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}:checkPrewarmedArtifact", + "httpMethod": "POST", + "id": "artifactregistry.projects.locations.repositories.checkPrewarmedArtifact", + "parameterOrder": [ + "repository" + ], + "parameters": { + "repository": { + "description": "Required. The name of the repository, for example: `projects/p1/locations/us-central1/repositories/repo1`. If the package or version ID parts contain slashes, the slashes are escaped.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+repository}:checkPrewarmedArtifact", + "request": { + "$ref": "CheckPrewarmedArtifactRequest" + }, + "response": { + "$ref": "CheckPrewarmedArtifactResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, "create": { "description": "Creates a repository. The returned Operation will finish once the repository has been created. Its response will be the created Repository.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories", @@ -892,6 +921,64 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "prewarmArtifact": { + "description": "Prewarms an artifact for streaming.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}:prewarmArtifact", + "httpMethod": "POST", + "id": "artifactregistry.projects.locations.repositories.prewarmArtifact", + "parameterOrder": [ + "repository" + ], + "parameters": { + "repository": { + "description": "Required. The repository name, for example: `projects/p1/locations/us-central1/repositories/repo1`. If the package or version ID parts contain slashes, the slashes are escaped.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+repository}:prewarmArtifact", + "request": { + "$ref": "PrewarmArtifactRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, + "removePrewarmedArtifact": { + "description": "Removes an artifact from streaming.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}:removePrewarmedArtifact", + "httpMethod": "POST", + "id": "artifactregistry.projects.locations.repositories.removePrewarmedArtifact", + "parameterOrder": [ + "repository" + ], + "parameters": { + "repository": { + "description": "Required. The repository name, for example: `projects/p1/locations/us-central1/repositories/repo1`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+repository}:removePrewarmedArtifact", + "request": { + "$ref": "RemovePrewarmedArtifactRequest" + }, + "response": { + "$ref": "RemovePrewarmedArtifactResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, "setIamPolicy": { "description": "Updates the IAM policy for a given resource.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}:setIamPolicy", @@ -2276,6 +2363,52 @@ } } }, + "prewarmedArtifacts": { + "methods": { + "list": { + "description": "Lists all streamed artifacts in a repository.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/prewarmedArtifacts", + "httpMethod": "GET", + "id": "artifactregistry.projects.locations.repositories.prewarmedArtifacts.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter should only support The location of the prewarmed artifacts. multi-region is not supported for this field.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of prewarmed artifacts to return. Maximum page size is 1,000. Default page size is 100.", + "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 repository of the artifact to list. Format: projects/{project}/locations/{location}/repositories/{repository}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/prewarmedArtifacts", + "response": { + "$ref": "ListPrewarmedArtifactsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + } + } + }, "pythonPackages": { "methods": { "get": { @@ -2581,7 +2714,7 @@ } } }, - "revision": "20260320", + "revision": "20260522", "rootUrl": "https://artifactregistry.googleapis.com/", "schemas": { "AptArtifact": { @@ -2761,6 +2894,36 @@ "properties": {}, "type": "object" }, + "CheckPrewarmedArtifactRequest": { + "description": "The request for checking an artifact for streaming.", + "id": "CheckPrewarmedArtifactRequest", + "properties": { + "streamLocation": { + "description": "Optional. The location of the prewarmed artifact. multi-region is not supported for this field.", + "type": "string" + }, + "tag": { + "description": "Optional. The artifact tag Format:projects/{project}/locations/{location}/repositories/{repository}/packages/{package}/tags/{tag}", + "type": "string" + }, + "version": { + "description": "Optional. The artifact version Format: projects/{project}/locations/{location}/repositories/{repository}/packages/{package}/versions/{version}", + "type": "string" + } + }, + "type": "object" + }, + "CheckPrewarmedArtifactResponse": { + "description": "The response for checking an artifact for streaming.", + "id": "CheckPrewarmedArtifactResponse", + "properties": { + "prewarmedArtifact": { + "$ref": "PrewarmedArtifact", + "description": "The prewarmed artifact that was checked." + } + }, + "type": "object" + }, "CleanupPolicy": { "description": "Artifact policy configuration for repository cleanup policies.", "id": "CleanupPolicy", @@ -3790,6 +3953,24 @@ }, "type": "object" }, + "ListPrewarmedArtifactsResponse": { + "description": "The response for listing artifacts for streaming.", + "id": "ListPrewarmedArtifactsResponse", + "properties": { + "nextPageToken": { + "description": "The token to retrieve the next page of prewarmed artifacts, or empty if there are no more streamings to return.", + "type": "string" + }, + "prewarmedArtifacts": { + "description": "The prewarmed artifacts.", + "items": { + "$ref": "PrewarmedArtifact" + }, + "type": "array" + } + }, + "type": "object" + }, "ListPythonPackagesResponse": { "description": "The response from listing python packages.", "id": "ListPythonPackagesResponse", @@ -4206,6 +4387,65 @@ }, "type": "object" }, + "PrewarmArtifactRequest": { + "description": "The request for prewarming an artifact for streaming.", + "id": "PrewarmArtifactRequest", + "properties": { + "force": { + "description": "Optional. If true, old artifact will be evicted to make room for the new artifact.", + "type": "boolean" + }, + "retentionDays": { + "description": "Optional. The retention days of the prewarmed artifact. If not specified, the artifact will be cached for 3 days.", + "format": "int64", + "type": "string" + }, + "streamLocation": { + "description": "Optional. The location to cache the artifact in. If not specified, the artifact will be cached in the same location as the artifact. multi-region is not supported for this field.", + "type": "string" + }, + "tag": { + "description": "Optional. The artifact tag Format:projects/{project}/locations/{location}/repositories/{repository}/packages/{package}/tags/{tag}", + "type": "string" + }, + "version": { + "description": "Optional. The artifact version Format: projects/{project}/locations/{location}/repositories/{repository}/packages/{package}/versions/{version}", + "type": "string" + } + }, + "type": "object" + }, + "PrewarmArtifactResponse": { + "description": "The response for prewarming an artifact for streaming.", + "id": "PrewarmArtifactResponse", + "properties": { + "prewarmedArtifact": { + "$ref": "PrewarmedArtifact", + "description": "The prewarmed artifact that was prewarmed." + } + }, + "type": "object" + }, + "PrewarmedArtifact": { + "description": "PrewarmedArtifact represents a streamed artifact.", + "id": "PrewarmedArtifact", + "properties": { + "expirationTime": { + "description": "The expiration time of the prewarmed artifact.", + "format": "google-datetime", + "type": "string" + }, + "location": { + "description": "The location of the prewarmed artifact.", + "type": "string" + }, + "uri": { + "description": "URL to access the image. Example: us-west4-docker.pkg.dev/test-project/test-repo/nginx@sha256:e9954c1fc875017be1c3e36eca16be2d9e9bccc4bf072163515467d6a823c7cf", + "type": "string" + } + }, + "type": "object" + }, "ProjectConfig": { "description": "The Artifact Registry logging configurations that apply to a Project.", "id": "ProjectConfig", @@ -4370,6 +4610,36 @@ }, "type": "object" }, + "RemovePrewarmedArtifactRequest": { + "description": "The request for removing an artifact from streaming.", + "id": "RemovePrewarmedArtifactRequest", + "properties": { + "streamLocation": { + "description": "Optional. The location of the prewarmed artifact. multi-region is not supported for this field.", + "type": "string" + }, + "tag": { + "description": "Optional. The artifact tag Format:projects/{project}/locations/{location}/repositories/{repository}/packages/{package}/tags/{tag}", + "type": "string" + }, + "version": { + "description": "Optional. The artifact version Format: projects/{project}/locations/{location}/repositories/{repository}/packages/{package}/versions/{version}", + "type": "string" + } + }, + "type": "object" + }, + "RemovePrewarmedArtifactResponse": { + "description": "The response for removing an artifact from streaming.", + "id": "RemovePrewarmedArtifactResponse", + "properties": { + "prewarmedArtifact": { + "$ref": "PrewarmedArtifact", + "description": "The prewarmed artifact that was removed." + } + }, + "type": "object" + }, "Repository": { "description": "A Repository for storing artifacts with a specific format.", "id": "Repository", diff --git a/discovery/artifactregistry-v1beta1.json b/discovery/artifactregistry-v1beta1.json index f9afa46a58c..531942f7353 100644 --- a/discovery/artifactregistry-v1beta1.json +++ b/discovery/artifactregistry-v1beta1.json @@ -376,7 +376,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the [ListLocationsRequest.name] field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.", + "description": "Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.", "flatPath": "v1beta1/projects/{projectsId}/locations", "httpMethod": "GET", "id": "artifactregistry.projects.locations.list", @@ -385,7 +385,7 @@ ], "parameters": { "extraLocationTypes": { - "description": "Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage.", + "description": "Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage.", "location": "query", "repeated": true, "type": "string" @@ -1182,7 +1182,7 @@ } } }, - "revision": "20260320", + "revision": "20260522", "rootUrl": "https://artifactregistry.googleapis.com/", "schemas": { "Binding": { diff --git a/discovery/artifactregistry-v1beta2.json b/discovery/artifactregistry-v1beta2.json index 81018a0d983..d12303d83f3 100644 --- a/discovery/artifactregistry-v1beta2.json +++ b/discovery/artifactregistry-v1beta2.json @@ -438,7 +438,7 @@ ] }, "list": { - "description": "Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the [ListLocationsRequest.name] field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.", + "description": "Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.", "flatPath": "v1beta2/projects/{projectsId}/locations", "httpMethod": "GET", "id": "artifactregistry.projects.locations.list", @@ -447,7 +447,7 @@ ], "parameters": { "extraLocationTypes": { - "description": "Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage.", + "description": "Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage.", "location": "query", "repeated": true, "type": "string" @@ -1450,7 +1450,7 @@ } } }, - "revision": "20260320", + "revision": "20260522", "rootUrl": "https://artifactregistry.googleapis.com/", "schemas": { "AptArtifact": { diff --git a/discovery/chat-v1.json b/discovery/chat-v1.json index b82c94734be..98bc0e35944 100644 --- a/discovery/chat-v1.json +++ b/discovery/chat-v1.json @@ -964,7 +964,7 @@ "enumDescriptions": [ "Default behavior. Notification behavior is similar to when the human user sends the message using the Chat UI: no notification is sent to the human sender.", "Force notify recipients. This bypasses users' space notification settings and [Chat Do Not Disturb settings](https://support.google.com/chat/answer/9093489). This option does not bypass device-level Do Not Disturb settings. Requires [app authentication] (https://developers.google.com/workspace/chat/authenticate-authorize-chat-app).", - "Silence the notification as if the recipients have [Chat Do Not Disturb](https://support.google.com/chat/answer/9093489) enabled or have muted the space. Requires [app authentication] (https://developers.google.com/workspace/chat/authenticate-authorize-chat-app)." + "Do not notify recipients, and do not mark the message as unread. This behaves similarly to the user muting the conversation or enabling [Chat Do Not Disturb](https://support.google.com/chat/answer/9093489). Requires [app authentication] (https://developers.google.com/workspace/chat/authenticate-authorize-chat-app)." ], "location": "query", "type": "string" @@ -1849,7 +1849,7 @@ } } }, - "revision": "20260510", + "revision": "20260530", "rootUrl": "https://chat.googleapis.com/", "schemas": { "AccessSettings": { @@ -4895,6 +4895,23 @@ "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": { + "affiliation": { + "description": "Output only. A user's relationship to the Workspace organization that owns the space. In spaces owned by consumer accounts, the affiliation of all members is `EXTERNAL`.", + "enum": [ + "AFFILIATION_UNSPECIFIED", + "INTERNAL", + "EXTERNAL", + "MANAGED_EXTERNAL" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "An account managed by the same Google Workspace organization that owns the space.", + "An account external to the Google Workspace organization that owns the space (e.g., a consumer account, or an account managed by a different Workspace organization).", + "An account managed by the Workspace organization that owns the space, but provisioned for a user who is external to the organization (e.g., a Guest user). To learn more about guests, see https://support.google.com/chat/answer/16997417." + ], + "readOnly": true, + "type": "string" + }, "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", diff --git a/discovery/chromemanagement-v1.json b/discovery/chromemanagement-v1.json index 6de1c51c72c..83e8b1088af 100644 --- a/discovery/chromemanagement-v1.json +++ b/discovery/chromemanagement-v1.json @@ -1152,6 +1152,52 @@ "https://www.googleapis.com/auth/chrome.management.reports.readonly" ] }, + "countChromeProfileVersions": { + "description": "Generate report of installed Chrome versions on managed profiles.", + "flatPath": "v1/customers/{customersId}/reports:countChromeProfileVersions", + "httpMethod": "GET", + "id": "chromemanagement.customers.reports.countChromeProfileVersions", + "parameterOrder": [ + "customer" + ], + "parameters": { + "customer": { + "description": "Required. Customer id or \"my_customer\" to use the customer associated to the account making the request.", + "location": "path", + "pattern": "^customers/[^/]+$", + "required": true, + "type": "string" + }, + "filter": { + "description": "Optional. Query string to filter results, AND-separated fields in EBNF syntax. Note: OR operations are not supported in this filter. Supported filter fields: * last_active_date", + "location": "query", + "type": "string" + }, + "orgUnitId": { + "description": "The ID of the organizational unit. If omitted, all data will be returned.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Maximum number of results to return. Maximum and default are 100.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. Token to specify the page of the request to be returned.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+customer}/reports:countChromeProfileVersions", + "response": { + "$ref": "GoogleChromeManagementV1CountChromeProfileVersionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/chrome.management.reports.readonly" + ] + }, "countChromeVersions": { "description": "Generate report of installed Chrome versions.", "flatPath": "v1/customers/{customersId}/reports:countChromeVersions", @@ -2085,7 +2131,7 @@ } } }, - "revision": "20260520", + "revision": "20260601", "rootUrl": "https://chromemanagement.googleapis.com/", "schemas": { "GoogleChromeManagementV1AndroidAppInfo": { @@ -2988,6 +3034,29 @@ }, "type": "object" }, + "GoogleChromeManagementV1CountChromeProfileVersionsResponse": { + "description": "Response containing requested managed profile versions details and counts.", + "id": "GoogleChromeManagementV1CountChromeProfileVersionsResponse", + "properties": { + "nextPageToken": { + "description": "Token to specify the next page of the request.", + "type": "string" + }, + "profileBrowserVersions": { + "description": "List of all browser versions reported for profiles and their install counts.", + "items": { + "$ref": "GoogleChromeManagementV1BrowserVersion" + }, + "type": "array" + }, + "totalSize": { + "description": "Total number browser versions matching request.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "GoogleChromeManagementV1CountChromeVersionsResponse": { "description": "Response containing requested browser versions details and counts.", "id": "GoogleChromeManagementV1CountChromeVersionsResponse", @@ -3928,6 +3997,12 @@ "readOnly": true, "type": "array" }, + "profileCount": { + "description": "Output only. Count of Chrome Profiles with this app installed.", + "format": "int64", + "readOnly": true, + "type": "string" + }, "riskAssessment": { "$ref": "GoogleChromeManagementV1RiskAssessmentData", "description": "Output only. If available, the risk assessment data about this extension.", diff --git a/discovery/chromewebstore-v2.json b/discovery/chromewebstore-v2.json index 70bbb691bb1..b0ebcf0babe 100644 --- a/discovery/chromewebstore-v2.json +++ b/discovery/chromewebstore-v2.json @@ -272,7 +272,7 @@ } } }, - "revision": "20260517", + "revision": "20260601", "rootUrl": "https://chromewebstore.googleapis.com/", "schemas": { "CancelSubmissionRequest": { @@ -413,7 +413,7 @@ "id": "PublishItemRequest", "properties": { "blockOnWarnings": { - "description": "Optional. When set to true the request will fail if there are any warnings during validation and the details will be included in the error_details. Otherwise warnings are treated as non-blocking and will be ignored for validation but will be included in the response for inspection. Defaults to `false` if unset.", + "description": "Optional. When set to true the request will fail if there are any warnings during validation and the details will be included in the `error.details`. Otherwise warnings are treated as non-blocking and will be ignored for validation but will be included in the response for inspection. Defaults to `false` if unset.", "type": "boolean" }, "deployInfos": { @@ -560,7 +560,7 @@ "type": "string" }, "reason": { - "description": "The reason for the warning. This is a constant value that identifies the proximate cause of the warning. This should be at most 63 characters and match a regular expression of `A-Z+[A-Z0-9]`, which represents UPPER_SNAKE_CASE.", + "description": "The reason for the warning. This is a constant value that identifies the proximate cause of the warning.", "type": "string" } }, diff --git a/discovery/clouddeploy-v1.json b/discovery/clouddeploy-v1.json index 8428330b381..8cae7486537 100644 --- a/discovery/clouddeploy-v1.json +++ b/discovery/clouddeploy-v1.json @@ -15,6 +15,73 @@ "description": "", "discoveryVersion": "v1", "documentationLink": "https://cloud.google.com/deploy/", + "endpoints": [ + { + "description": "Regional Endpoint", + "endpointUrl": "https://clouddeploy.asia-south1.rep.googleapis.com/", + "location": "asia-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://clouddeploy.asia-south2.rep.googleapis.com/", + "location": "asia-south2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://clouddeploy.us-central1.rep.googleapis.com/", + "location": "us-central1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://clouddeploy.us-central2.rep.googleapis.com/", + "location": "us-central2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://clouddeploy.us-east1.rep.googleapis.com/", + "location": "us-east1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://clouddeploy.us-east4.rep.googleapis.com/", + "location": "us-east4" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://clouddeploy.us-east5.rep.googleapis.com/", + "location": "us-east5" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://clouddeploy.us-east7.rep.googleapis.com/", + "location": "us-east7" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://clouddeploy.us-south1.rep.googleapis.com/", + "location": "us-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://clouddeploy.us-west1.rep.googleapis.com/", + "location": "us-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://clouddeploy.us-west2.rep.googleapis.com/", + "location": "us-west2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://clouddeploy.us-west3.rep.googleapis.com/", + "location": "us-west3" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://clouddeploy.us-west4.rep.googleapis.com/", + "location": "us-west4" + } + ], "fullyEncodeReservedExpansion": true, "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", @@ -2359,7 +2426,7 @@ } } }, - "revision": "20260512", + "revision": "20260525", "rootUrl": "https://clouddeploy.googleapis.com/", "schemas": { "AbandonReleaseRequest": { diff --git a/discovery/clouderrorreporting-v1beta1.json b/discovery/clouderrorreporting-v1beta1.json index 45e2f7a8cfb..b40667d7db9 100644 --- a/discovery/clouderrorreporting-v1beta1.json +++ b/discovery/clouderrorreporting-v1beta1.json @@ -196,11 +196,6 @@ "endpointUrl": "https://clouderrorreporting.us-central1.rep.googleapis.com/", "location": "us-central1" }, - { - "description": "Regional Endpoint", - "endpointUrl": "https://clouderrorreporting.us-central2.rep.googleapis.com/", - "location": "us-central2" - }, { "description": "Regional Endpoint", "endpointUrl": "https://clouderrorreporting.us-east1.rep.googleapis.com/", @@ -216,11 +211,6 @@ "endpointUrl": "https://clouderrorreporting.us-east5.rep.googleapis.com/", "location": "us-east5" }, - { - "description": "Regional Endpoint", - "endpointUrl": "https://clouderrorreporting.us-east7.rep.googleapis.com/", - "location": "us-east7" - }, { "description": "Regional Endpoint", "endpointUrl": "https://clouderrorreporting.us-south1.rep.googleapis.com/", @@ -245,11 +235,6 @@ "description": "Regional Endpoint", "endpointUrl": "https://clouderrorreporting.us-west4.rep.googleapis.com/", "location": "us-west4" - }, - { - "description": "Regional Endpoint", - "endpointUrl": "https://clouderrorreporting.us-west8.rep.googleapis.com/", - "location": "us-west8" } ], "fullyEncodeReservedExpansion": true, @@ -965,7 +950,7 @@ } } }, - "revision": "20260508", + "revision": "20260529", "rootUrl": "https://clouderrorreporting.googleapis.com/", "schemas": { "DeleteEventsResponse": { diff --git a/discovery/cloudidentity-v1.json b/discovery/cloudidentity-v1.json index de994bcc340..32ae13510f9 100644 --- a/discovery/cloudidentity-v1.json +++ b/discovery/cloudidentity-v1.json @@ -2255,12 +2255,12 @@ "parameterOrder": [], "parameters": { "filter": { - "description": "Optional. A CEL expression for filtering the results. Policies can be filtered by application with this expression: setting.type.matches('^settings/gmail\\\\..*$') Policies can be filtered by setting type with this expression: setting.type.matches('^.*\\\\.service_status$') Policies can be filtered by customer with this expression: customer == \"customers/{customer}\" Where `customer` is the `id` from the [Admin SDK `Customer` resource](https://developers.google.com/admin-sdk/directory/reference/rest/v1/customers). You may use `customers/my_customer` to specify your own organization. When no customer is mentioned it will be default to customers/my_customer. You may only filter on policies for a single customer at a time. The above clauses can be combined together in a single filter expression with the `&&` and `||` operators, like in the following example: customer == \"customers/my_customer\" && ( setting.type.matches('^settings/gmail\\\\..*$') || setting.type.matches('^.*\\\\.service_status$') )", + "description": "Optional. A CEL expression for filtering the results. Policies can be filtered using the expression in the following ways: - Filter by application: `setting.type.matches('^settings/gmail\\\\..*$')` - Filter by setting type: `setting.type.matches('^.*\\\\.service_status$')` - Filter by customer: `customer == \"customers/{customer}\"` Where `customer` is the `id` from the [Admin SDK `Customer` resource](https://developers.google.com/admin-sdk/directory/reference/rest/v1/customers). You may use `customers/my_customer` to specify your own organization. When no `customer` is mentioned it will be default to `customers/my_customer`. You may only filter on policies for a single customer at a time. The above clauses can be combined together in a single filter expression with the `&&` and `||` operators, like in the following example: `customer == \"customers/my_customer\" && ( setting.type.matches('^settings/gmail\\\\..*$') || setting.type.matches('^.*\\\\.service_status$') )`.", "location": "query", "type": "string" }, "pageSize": { - "description": "Optional. The maximum number of results to return. The service can return fewer than this number. If omitted or set to 0, the default is 50 results per page. The maximum allowed value is 100. `page_size` values greater than 100 default to 100.", + "description": "Optional. The maximum number of results to return. The service can return fewer than this number. If omitted or set to `0`, the default is `50` results per page. The maximum allowed value is `100`. `page_size` values greater than `100` default to `100`.", "format": "int32", "location": "query", "type": "integer" @@ -2311,7 +2311,7 @@ } } }, - "revision": "20260524", + "revision": "20260601", "rootUrl": "https://cloudidentity.googleapis.com/", "schemas": { "AddIdpCredentialOperationMetadata": { diff --git a/discovery/cloudidentity-v1beta1.json b/discovery/cloudidentity-v1beta1.json index 6b677879076..821637288ae 100644 --- a/discovery/cloudidentity-v1beta1.json +++ b/discovery/cloudidentity-v1beta1.json @@ -2293,12 +2293,12 @@ "parameterOrder": [], "parameters": { "filter": { - "description": "Optional. A CEL expression for filtering the results. Policies can be filtered by application with this expression: setting.type.matches('^settings/gmail\\\\..*$') Policies can be filtered by setting type with this expression: setting.type.matches('^.*\\\\.service_status$') Policies can be filtered by customer with this expression: customer == \"customers/{customer}\" Where `customer` is the `id` from the [Admin SDK `Customer` resource](https://developers.google.com/admin-sdk/directory/reference/rest/v1/customers). You may use `customers/my_customer` to specify your own organization. When no customer is mentioned it will be default to customers/my_customer. You may only filter on policies for a single customer at a time. The above clauses can be combined together in a single filter expression with the `&&` and `||` operators, like in the following example: customer == \"customers/my_customer\" && ( setting.type.matches('^settings/gmail\\\\..*$') || setting.type.matches('^.*\\\\.service_status$') )", + "description": "Optional. A CEL expression for filtering the results. Policies can be filtered using the expression in the following ways: - Filter by application: `setting.type.matches('^settings/gmail\\\\..*$')` - Filter by setting type: `setting.type.matches('^.*\\\\.service_status$')` - Filter by customer: `customer == \"customers/{customer}\"` Where `customer` is the `id` from the [Admin SDK `Customer` resource](https://developers.google.com/admin-sdk/directory/reference/rest/v1/customers). You may use `customers/my_customer` to specify your own organization. When no `customer` is mentioned it will be default to `customers/my_customer`. You may only filter on policies for a single customer at a time. The above clauses can be combined together in a single filter expression with the `&&` and `||` operators, like in the following example: `customer == \"customers/my_customer\" && ( setting.type.matches('^settings/gmail\\\\..*$') || setting.type.matches('^.*\\\\.service_status$') )`.", "location": "query", "type": "string" }, "pageSize": { - "description": "Optional. The maximum number of results to return. The service can return fewer than this number. If omitted or set to 0, the default is 50 results per page. The maximum allowed value is 100. `page_size` values greater than 100 default to 100.", + "description": "Optional. The maximum number of results to return. The service can return fewer than this number. If omitted or set to `0`, the default is `50` results per page. The maximum allowed value is `100`. `page_size` values greater than `100` default to `100`.", "format": "int32", "location": "query", "type": "integer" @@ -2349,7 +2349,7 @@ } } }, - "revision": "20260524", + "revision": "20260601", "rootUrl": "https://cloudidentity.googleapis.com/", "schemas": { "AddIdpCredentialOperationMetadata": { @@ -5133,6 +5133,7 @@ "GROUP", "SHARED_DRIVE", "CBCM_BROWSER", + "CHROME_OS_DEVICE", "OTHER" ], "enumDescriptions": [ @@ -5142,6 +5143,7 @@ "Represents group type.", "Represents Shared drive.", "Represents a CBCM-managed Chrome Browser type.", + "Represents a ChromeOS-managed ChromeOS device type.", "Represents other type." ], "readOnly": true, diff --git a/discovery/cloudkms-v1.json b/discovery/cloudkms-v1.json index 2e54f515714..f96b0519ee6 100644 --- a/discovery/cloudkms-v1.json +++ b/discovery/cloudkms-v1.json @@ -227,7 +227,7 @@ ], "parameters": { "name": { - "description": "Required. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig` or `projects/{PROJECT_NUMBER}/autokeyConfig`.", + "description": "Required. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig`, `projects/{PROJECT_NUMBER}/autokeyConfig`, or `projects/{PROJECT_ID}/autokeyConfig`.", "location": "path", "pattern": "^folders/[^/]+/autokeyConfig$", "required": true, @@ -279,7 +279,7 @@ ], "parameters": { "name": { - "description": "Identifier. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig` or `projects/{PROJECT_NUMBER}/autokeyConfig`.", + "description": "Identifier. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig`, `projects/{PROJECT_NUMBER}/autokeyConfig`, or `projects/{PROJECT_ID}/autokeyConfig`.", "location": "path", "pattern": "^folders/[^/]+/autokeyConfig$", "required": true, @@ -418,7 +418,7 @@ ], "parameters": { "name": { - "description": "Required. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig` or `projects/{PROJECT_NUMBER}/autokeyConfig`.", + "description": "Required. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig`, `projects/{PROJECT_NUMBER}/autokeyConfig`, or `projects/{PROJECT_ID}/autokeyConfig`.", "location": "path", "pattern": "^projects/[^/]+/autokeyConfig$", "required": true, @@ -548,7 +548,7 @@ ], "parameters": { "name": { - "description": "Identifier. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig` or `projects/{PROJECT_NUMBER}/autokeyConfig`.", + "description": "Identifier. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig`, `projects/{PROJECT_NUMBER}/autokeyConfig`, or `projects/{PROJECT_ID}/autokeyConfig`.", "location": "path", "pattern": "^projects/[^/]+/autokeyConfig$", "required": true, @@ -2967,7 +2967,7 @@ } } }, - "revision": "20260514", + "revision": "20260522", "rootUrl": "https://cloudkms.googleapis.com/", "schemas": { "AddQuorumMember": { @@ -3212,7 +3212,7 @@ "type": "string" }, "name": { - "description": "Identifier. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig` or `projects/{PROJECT_NUMBER}/autokeyConfig`.", + "description": "Identifier. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER}/autokeyConfig`, `projects/{PROJECT_NUMBER}/autokeyConfig`, or `projects/{PROJECT_ID}/autokeyConfig`.", "type": "string" }, "state": { @@ -3221,13 +3221,22 @@ "STATE_UNSPECIFIED", "ACTIVE", "KEY_PROJECT_DELETED", - "UNINITIALIZED" + "UNINITIALIZED", + "KEY_PROJECT_PERMISSION_DENIED" + ], + "enumDeprecated": [ + false, + false, + false, + false, + true ], "enumDescriptions": [ "The state of the AutokeyConfig is unspecified.", "The AutokeyConfig is currently active.", "A previously configured key project has been deleted and the current AutokeyConfig is unusable.", - "The AutokeyConfig is not yet initialized or has been reset to its default uninitialized state." + "The AutokeyConfig is not yet initialized or has been reset to its default uninitialized state.", + "Deprecated: This state is not returned by the backend." ], "readOnly": true, "type": "string" diff --git a/discovery/cloudlocationfinder-v1.json b/discovery/cloudlocationfinder-v1.json index 5be683f2d77..619d4b861e6 100644 --- a/discovery/cloudlocationfinder-v1.json +++ b/discovery/cloudlocationfinder-v1.json @@ -304,7 +304,7 @@ } } }, - "revision": "20260422", + "revision": "20260527", "rootUrl": "https://cloudlocationfinder.googleapis.com/", "schemas": { "CloudLocation": { @@ -322,14 +322,12 @@ "CLOUD_LOCATION_TYPE_UNSPECIFIED", "CLOUD_LOCATION_TYPE_REGION", "CLOUD_LOCATION_TYPE_ZONE", - "CLOUD_LOCATION_TYPE_REGION_EXTENSION", "CLOUD_LOCATION_TYPE_GDCC_ZONE" ], "enumDescriptions": [ "Unspecified type.", "CloudLocation type for region.", "CloudLocation type for zone.", - "CloudLocation type for region extension.", "CloudLocation type for Google Distributed Cloud Connected Zone." ], "type": "string" diff --git a/discovery/cloudlocationfinder-v1alpha.json b/discovery/cloudlocationfinder-v1alpha.json index 47c4243b382..55562fe5b71 100644 --- a/discovery/cloudlocationfinder-v1alpha.json +++ b/discovery/cloudlocationfinder-v1alpha.json @@ -304,7 +304,7 @@ } } }, - "revision": "20260422", + "revision": "20260527", "rootUrl": "https://cloudlocationfinder.googleapis.com/", "schemas": { "CloudLocation": { @@ -322,14 +322,12 @@ "CLOUD_LOCATION_TYPE_UNSPECIFIED", "CLOUD_LOCATION_TYPE_REGION", "CLOUD_LOCATION_TYPE_ZONE", - "CLOUD_LOCATION_TYPE_REGION_EXTENSION", "CLOUD_LOCATION_TYPE_GDCC_ZONE" ], "enumDescriptions": [ "Unspecified type.", "CloudLocation type for region.", "CloudLocation type for zone.", - "CloudLocation type for region extension.", "CloudLocation type for Google Distributed Cloud Connected Zone." ], "type": "string" diff --git a/discovery/cloudnumberregistry-v1alpha.json b/discovery/cloudnumberregistry-v1alpha.json index d4c544c5181..b88f43d94ea 100644 --- a/discovery/cloudnumberregistry-v1alpha.json +++ b/discovery/cloudnumberregistry-v1alpha.json @@ -195,12 +195,12 @@ ], "parameters": { "customRangeId": { - "description": "Required. Id of the requesting object.", + "description": "Required. The ID to use for the CustomRange, which will become the final segment of the resource name.", "location": "query", "type": "string" }, "parent": { - "description": "Required. Value for parent.", + "description": "Required. The parent resource name where the CustomRange will be created.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -238,7 +238,7 @@ "type": "boolean" }, "name": { - "description": "Required. Name of the resource", + "description": "Required. The resource name of the CustomRange to delete.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/customRanges/[^/]+$", "required": true, @@ -274,7 +274,7 @@ "type": "integer" }, "name": { - "description": "Required. Name of the CustomRange.", + "description": "Required. The resource name of the CustomRange to search within.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/customRanges/[^/]+$", "required": true, @@ -310,7 +310,7 @@ ], "parameters": { "name": { - "description": "Required. Name of the resource", + "description": "Required. The resource name of the CustomRange to retrieve.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/customRanges/[^/]+$", "required": true, @@ -335,7 +335,7 @@ ], "parameters": { "filter": { - "description": "Optional. Filtering results.", + "description": "Optional. Filter expression to filter the results.", "location": "query", "type": "string" }, @@ -356,7 +356,7 @@ "type": "string" }, "parent": { - "description": "Required. Parent value for ListCustomRangesRequest", + "description": "Required. The parent resource name, for example `projects/*/locations/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -381,7 +381,7 @@ ], "parameters": { "name": { - "description": "Required. Identifier. name of resource", + "description": "Required. Identifier. The resource name of the CustomRange, in the format `projects/{project}/locations/{location}/customRanges/{custom_range}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/customRanges/[^/]+$", "required": true, @@ -420,7 +420,7 @@ ], "parameters": { "name": { - "description": "Required. Name of the resource", + "description": "Required. The resource name of the CustomRange.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/customRanges/[^/]+$", "required": true, @@ -455,7 +455,7 @@ "type": "integer" }, "name": { - "description": "Required. Name of the DiscoveredRange.", + "description": "Required. The resource name of the DiscoveredRange to search within.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/discoveredRanges/[^/]+$", "required": true, @@ -491,7 +491,7 @@ ], "parameters": { "name": { - "description": "Required. Name of the resource", + "description": "Required. The resource name of the DiscoveredRange to retrieve.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/discoveredRanges/[^/]+$", "required": true, @@ -516,7 +516,7 @@ ], "parameters": { "filter": { - "description": "Optional. Filtering results.", + "description": "Optional. Filter expression to filter the results.", "location": "query", "type": "string" }, @@ -537,7 +537,7 @@ "type": "string" }, "parent": { - "description": "Required. Parent value for ListDiscoveredRangesRequest", + "description": "Required. The parent resource name, for example `projects/*/locations/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -562,7 +562,7 @@ ], "parameters": { "name": { - "description": "Required. Name of the resource", + "description": "Required. The resource name of the DiscoveredRange.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/discoveredRanges/[^/]+$", "required": true, @@ -582,7 +582,7 @@ "ipamAdminScopes": { "methods": { "checkAvailability": { - "description": "Checks the availability of IPAM admin scopes in a given project and location.", + "description": "Checks the availability of IpamAdminScopes in a given project and location.", "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/ipamAdminScopes:checkAvailability", "httpMethod": "GET", "id": "cloudnumberregistry.projects.locations.ipamAdminScopes.checkAvailability", @@ -591,14 +591,14 @@ ], "parameters": { "parent": { - "description": "Required. Parent value for the IpamAdminScopes.", + "description": "Required. The parent resource name, for example `projects/*/locations/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" }, "scopes": { - "description": "Required. The scopes of the IpamAdminScopes to look for.", + "description": "Required. The administrative scopes to check for availability.", "location": "query", "repeated": true, "type": "string" @@ -622,7 +622,7 @@ ], "parameters": { "name": { - "description": "Required. Name of the resource", + "description": "Required. The resource name of the IpamAdminScope to clean up.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/ipamAdminScopes/[^/]+$", "required": true, @@ -650,12 +650,12 @@ ], "parameters": { "ipamAdminScopeId": { - "description": "Required. Id of the requesting object.", + "description": "Required. The ID to use for the IpamAdminScope, which will become the final segment of the resource name.", "location": "query", "type": "string" }, "parent": { - "description": "Required. Value for parent.", + "description": "Required. The parent resource name where the IpamAdminScope will be created.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -693,7 +693,7 @@ "type": "boolean" }, "name": { - "description": "Required. Name of the resource", + "description": "Required. The resource name of the IpamAdminScope to delete.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/ipamAdminScopes/[^/]+$", "required": true, @@ -723,7 +723,7 @@ ], "parameters": { "name": { - "description": "Required. Name of the resource", + "description": "Required. The resource name of the IpamAdminScope to disable.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/ipamAdminScopes/[^/]+$", "required": true, @@ -751,7 +751,7 @@ ], "parameters": { "name": { - "description": "Required. Name of the resource", + "description": "Required. The resource name of the IpamAdminScope to retrieve.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/ipamAdminScopes/[^/]+$", "required": true, @@ -767,7 +767,7 @@ ] }, "list": { - "description": "List all IPAM admin scopes in a given project and location.", + "description": "Lists IpamAdminScopes in a given project and location.", "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/ipamAdminScopes", "httpMethod": "GET", "id": "cloudnumberregistry.projects.locations.ipamAdminScopes.list", @@ -776,12 +776,12 @@ ], "parameters": { "filter": { - "description": "Optional. Filtering results", + "description": "Optional. Filter expression to filter the results.", "location": "query", "type": "string" }, "orderBy": { - "description": "Optional. Hint for how to order the results", + "description": "Optional. Hint for how to order the results.", "location": "query", "type": "string" }, @@ -797,7 +797,7 @@ "type": "string" }, "parent": { - "description": "Required. Parent value for ListIpamAdminScopesRequest", + "description": "Required. The parent resource name, for example `projects/*/locations/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -822,7 +822,7 @@ ], "parameters": { "name": { - "description": "Required. Identifier. name of resource", + "description": "Required. Identifier. The resource name of the IpamAdminScope.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/ipamAdminScopes/[^/]+$", "required": true, @@ -993,14 +993,14 @@ ], "parameters": { "parent": { - "description": "Required. Value for parent.", + "description": "Required. The parent resource name where the Realm will be created.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" }, "realmId": { - "description": "Required. Id of the requesting object.", + "description": "Required. The ID to use for the Realm, which will become the final segment of the resource name.", "location": "query", "type": "string" }, @@ -1036,7 +1036,7 @@ "type": "boolean" }, "name": { - "description": "Required. Name of the resource", + "description": "Required. The resource name of the Realm to delete.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+$", "required": true, @@ -1066,14 +1066,14 @@ ], "parameters": { "name": { - "description": "Required. Name of the resource", + "description": "Required. The resource name of the Realm to retrieve.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+$", "required": true, "type": "string" }, "view": { - "description": "Optional. The view of the Realm.", + "description": "Optional. The view of the Realm to retrieve.", "enum": [ "REALM_VIEW_UNSPECIFIED", "BASIC", @@ -1108,12 +1108,12 @@ ], "parameters": { "filter": { - "description": "Optional. Filtering results", + "description": "Optional. Filter expression to filter the results.", "location": "query", "type": "string" }, "orderBy": { - "description": "Optional. Hint for how to order the results", + "description": "Optional. Hint for how to order the results.", "location": "query", "type": "string" }, @@ -1129,14 +1129,14 @@ "type": "string" }, "parent": { - "description": "Required. Parent value for ListRealmsRequest", + "description": "Required. The parent resource name, for example `projects/*/locations/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" }, "view": { - "description": "Optional. The view of the Realm.", + "description": "Optional. The view of the Realm to retrieve.", "enum": [ "REALM_VIEW_UNSPECIFIED", "BASIC", @@ -1171,7 +1171,7 @@ ], "parameters": { "name": { - "description": "Required. Identifier. Unique name/ID of the realm", + "description": "Required. Identifier. The resource name of the Realm.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/realms/[^/]+$", "required": true, @@ -1214,14 +1214,14 @@ ], "parameters": { "parent": { - "description": "Required. Value for parent.", + "description": "Required. The parent resource name where the RegistryBook will be created.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" }, "registryBookId": { - "description": "Required. Id of the requesting object.", + "description": "Required. The ID to use for the RegistryBook, which will become the final segment of the resource name.", "location": "query", "type": "string" }, @@ -1257,7 +1257,7 @@ "type": "boolean" }, "name": { - "description": "Required. Name of the resource", + "description": "Required. The resource name of the RegistryBook to delete.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/registryBooks/[^/]+$", "required": true, @@ -1287,14 +1287,14 @@ ], "parameters": { "name": { - "description": "Required. Name of the resource", + "description": "Required. The resource name of the RegistryBook to retrieve.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/registryBooks/[^/]+$", "required": true, "type": "string" }, "view": { - "description": "Optional. The view of the RegistryBook.", + "description": "Optional. The view of the RegistryBook to retrieve.", "enum": [ "REGISTRY_BOOK_VIEW_UNSPECIFIED", "BASIC", @@ -1329,12 +1329,12 @@ ], "parameters": { "filter": { - "description": "Optional. Filtering results", + "description": "Optional. Filter expression to filter the results.", "location": "query", "type": "string" }, "orderBy": { - "description": "Optional. Hint for how to order the results", + "description": "Optional. Hint for how to order the results.", "location": "query", "type": "string" }, @@ -1350,14 +1350,14 @@ "type": "string" }, "parent": { - "description": "Required. Parent value for ListRegistryBooksRequest", + "description": "Required. The parent resource name, for example `projects/*/locations/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" }, "view": { - "description": "Optional. The view of the RegistryBook.", + "description": "Optional. The view of the RegistryBook to retrieve.", "enum": [ "REGISTRY_BOOK_VIEW_UNSPECIFIED", "BASIC", @@ -1392,7 +1392,7 @@ ], "parameters": { "name": { - "description": "Required. Identifier. name of resource", + "description": "Required. Identifier. The resource name of the RegistryBook.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/registryBooks/[^/]+$", "required": true, @@ -1431,7 +1431,7 @@ ], "parameters": { "name": { - "description": "Required. The name of the RegistryBook to search in.", + "description": "Required. The resource name of the RegistryBook to search in.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/registryBooks/[^/]+$", "required": true, @@ -1456,7 +1456,7 @@ } } }, - "revision": "20260506", + "revision": "20260527", "rootUrl": "https://cloudnumberregistry.googleapis.com/", "schemas": { "AggregatedData": { @@ -1464,25 +1464,25 @@ "id": "AggregatedData", "properties": { "customRangesCount": { - "description": "Output only. Number of custom ranges in the RegistryBook.", + "description": "Output only. Number of CustomRanges in the RegistryBook.", "format": "int32", "readOnly": true, "type": "integer" }, "customRealmsCount": { - "description": "Output only. Number of custom realms in the RegistryBook.", + "description": "Output only. Number of custom Realms in the RegistryBook.", "format": "int32", "readOnly": true, "type": "integer" }, "discoveredRangesCount": { - "description": "Output only. Number of discovered ranges in the RegistryBook.", + "description": "Output only. Number of DiscoveredRanges in the RegistryBook.", "format": "int32", "readOnly": true, "type": "integer" }, "discoveredRealmsCount": { - "description": "Output only. Number of discovered realms in the RegistryBook.", + "description": "Output only. Number of discovered Realms in the RegistryBook.", "format": "int32", "readOnly": true, "type": "integer" @@ -1497,15 +1497,15 @@ "type": "object" }, "Attribute": { - "description": "Message describing Attribute object", + "description": "A key-value pair representing a custom attribute associated with a resource.", "id": "Attribute", "properties": { "key": { - "description": "Required. Key of attribute", + "description": "Required. The key of the attribute.", "type": "string" }, "value": { - "description": "Required. Value of attribute", + "description": "Required. The value of the attribute.", "type": "string" } }, @@ -1518,7 +1518,7 @@ "type": "object" }, "CheckAvailabilityIpamAdminScopesResponse": { - "description": "Message for response to checking the availability of IpamAdminScopes", + "description": "Response message for the CloudNumberRegistry.CheckAvailabilityIpamAdminScopes method.", "id": "CheckAvailabilityIpamAdminScopesResponse", "properties": { "scopeAvailabilities": { @@ -1532,7 +1532,7 @@ "type": "object" }, "CleanupIpamAdminScopeRequest": { - "description": "Message for cleaning up a IpamAdminScope", + "description": "Request message for the CloudNumberRegistry.CleanupIpamAdminScope method.", "id": "CleanupIpamAdminScopeRequest", "properties": { "requestId": { @@ -1543,7 +1543,7 @@ "type": "object" }, "CustomRange": { - "description": "Message describing CustomRange object", + "description": "A CustomRange represents a user-defined IP address range.", "id": "CustomRange", "properties": { "attributes": { @@ -1554,7 +1554,7 @@ "type": "array" }, "description": { - "description": "Optional. Description of the CustomRange.", + "description": "Optional. The description of the CustomRange.", "type": "string" }, "ipv4CidrRange": { @@ -1569,23 +1569,23 @@ "additionalProperties": { "type": "string" }, - "description": "Optional. Labels as key value pairs", + "description": "Optional. User-defined labels.", "type": "object" }, "name": { - "description": "Required. Identifier. name of resource", + "description": "Required. Identifier. The resource name of the CustomRange, in the format `projects/{project}/locations/{location}/customRanges/{custom_range}`.", "type": "string" }, "parentRange": { - "description": "Optional. The parent range of the CustomRange. Do not allow setting parent range if realm is specified. Format must follow this pattern: projects/{project}/locations/{location}/customRanges/{custom_range}", + "description": "Optional. The resource name of the parent CustomRange, in the format `projects/{project}/locations/{location}/customRanges/{custom_range}`. If specified, the parent CustomRange must be in the same RegistryBook. This field is mutually exclusive with the `realm` field, as the Realm is inherited from the parent CustomRange.", "type": "string" }, "realm": { - "description": "Optional. The realm of the CustomRange. The realm must be in the same project as the custom range. Do not allow setting realm if parent range is specified, since the realm should be inherited from the parent range. Format must follow this pattern: projects/{project}/locations/{location}/realms/{realm}", + "description": "Optional. The resource name of the Realm associated with the CustomRange, in the format `projects/{project}/locations/{location}/realms/{realm}`. The Realm must be in the same project as the CustomRange. This field must not be set if the `parent_range` field is set, as the Realm will be inherited from the parent CustomRange.", "type": "string" }, "registryBook": { - "description": "Output only. The registry book of the CustomRange. This field is inherited from the realm or parent range depending on which one is specified.", + "description": "Output only. The RegistryBook of the CustomRange. This field is inherited from the Realm or parent CustomRange depending on which one is specified.", "readOnly": true, "type": "string" } @@ -1593,7 +1593,7 @@ "type": "object" }, "DisableIpamAdminScopeRequest": { - "description": "Message for disabling a IpamAdminScope", + "description": "Request message for the CloudNumberRegistry.DisableIpamAdminScope method.", "id": "DisableIpamAdminScopeRequest", "properties": { "requestId": { @@ -1604,7 +1604,7 @@ "type": "object" }, "DiscoveredRange": { - "description": "Message describing DiscoveredRange object", + "description": "A DiscoveredRange represents an IP address range automatically detected by the discovery pipeline.", "id": "DiscoveredRange", "properties": { "attributes": { @@ -1615,12 +1615,12 @@ "type": "array" }, "childCidrOverlapAllowed": { - "description": "Output only. If true, allow child ranges of this range to overlap with each other.", + "description": "Output only. If true, allows child DiscoveredRanges of this DiscoveredRange to overlap with each other.", "readOnly": true, "type": "boolean" }, "createTime": { - "description": "Output only. [Output only] Create time stamp", + "description": "Output only. The time at which the DiscoveredRange was created.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -1646,28 +1646,28 @@ "additionalProperties": { "type": "string" }, - "description": "Optional. Labels as key value pairs", + "description": "Optional. User-defined labels.", "type": "object" }, "name": { - "description": "Required. Identifier. Name of the DiscoveredRange.", + "description": "Required. Identifier. The resource name of the DiscoveredRange, in the format `projects/{project}/locations/{location}/discoveredRanges/{discovered_range}`.", "type": "string" }, "parentRange": { - "description": "Optional. The parent range of the DiscoveredRange.", + "description": "Optional. The resource name of the parent DiscoveredRange, in the format `projects/{project}/locations/{location}/discoveredRanges/{discovered_range}`.", "type": "string" }, "realm": { - "description": "Optional. The realm of the DiscoveredRange.", + "description": "Optional. The Realm of the DiscoveredRange.", "type": "string" }, "registryBook": { - "description": "Output only. The registry book of the DiscoveredRange.", + "description": "Output only. The RegistryBook of the DiscoveredRange.", "readOnly": true, "type": "string" }, "updateTime": { - "description": "Output only. [Output only] Update time stamp", + "description": "Output only. The time at which the DiscoveredRange was last updated.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -1676,7 +1676,7 @@ "type": "object" }, "DiscoveryMetadata": { - "description": "Discovery metadata of the discovered resource.", + "description": "Metadata about a discovered resource, tracking event times, state, and source information.", "id": "DiscoveryMetadata", "properties": { "createTime": { @@ -1707,7 +1707,7 @@ "type": "string" }, "sourceSubId": { - "description": "Output only. A single source resource can be the source of multiple CNR resources. This sub_id is used to distinguish between the different CNR resources derived from the same upstream resource. For example, a single subnetwork can be the source of multiple ranges, one for each protocol. In this case, the sub_id could be \"private-ipv4\" or \"private-ipv6\".", + "description": "Output only. A single source resource can be the source of multiple CNR resources. This sub_id is used to distinguish between the different CNR resources derived from the same upstream resource. For example, a single subnetwork can be the source of multiple Ranges, one for each protocol. In this case, the sub_id could be \"private-ipv4\" or \"private-ipv6\".", "readOnly": true, "type": "string" }, @@ -1746,11 +1746,11 @@ "type": "object" }, "FindCustomRangeFreeIpRangesResponse": { - "description": "Message for the response to finding free IP ranges.", + "description": "Response message for the CloudNumberRegistry.FindCustomRangeFreeIpRanges method.", "id": "FindCustomRangeFreeIpRangesResponse", "properties": { "freeIpCidrRanges": { - "description": "Output only. Free IP CIDR ranges found in the CustomRange.", + "description": "Output only. The free IP CIDR ranges found.", "items": { "type": "string" }, @@ -1761,11 +1761,11 @@ "type": "object" }, "FindDiscoveredRangeFreeIpRangesResponse": { - "description": "Message for the response to finding free IP ranges.", + "description": "Response message for the CloudNumberRegistry.FindDiscoveredRangeFreeIpRanges method.", "id": "FindDiscoveredRangeFreeIpRangesResponse", "properties": { "freeIpCidrRanges": { - "description": "Output only. Free IP CIDR ranges found in the DiscoveredRange.", + "description": "Output only. The free IP CIDR ranges found.", "items": { "type": "string" }, @@ -1776,17 +1776,17 @@ "type": "object" }, "IpamAdminScope": { - "description": "Message describing IpamAdminScope object", + "description": "An IpamAdminScope defines the administrative boundary for IP address discovery and management. It configures which platforms and organizational scopes are enabled for IP tracking.", "id": "IpamAdminScope", "properties": { "createTime": { - "description": "Output only. [Output only] Create time stamp", + "description": "Output only. The time at which the IpamAdminScope was created.", "format": "google-datetime", "readOnly": true, "type": "string" }, "enabledAddonPlatforms": { - "description": "Required. Addon platforms that are enabled for this IPAM admin scope. Cloud Number Registry only discovers the IP addresses from the enabled platforms.", + "description": "Required. Add-on platforms that are enabled for this IpamAdminScope. Cloud Number Registry only discovers the IP addresses from the enabled platforms.", "items": { "enum": [ "ADD_ON_PLATFORM_UNSPECIFIED", @@ -1811,11 +1811,11 @@ "additionalProperties": { "type": "string" }, - "description": "Optional. Labels as key value pairs", + "description": "Optional. User-defined labels.", "type": "object" }, "name": { - "description": "Required. Identifier. name of resource", + "description": "Required. Identifier. The resource name of the IpamAdminScope.", "type": "string" }, "scopes": { @@ -1859,7 +1859,7 @@ "type": "string" }, "updateTime": { - "description": "Output only. [Output only] Update time stamp", + "description": "Output only. The time at which the IpamAdminScope was last updated.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -1868,7 +1868,7 @@ "type": "object" }, "IpamAdminScopeAvailability": { - "description": "Message for the availability of an IpamAdminScope", + "description": "Availability details for a specific IpamAdminScope.", "id": "IpamAdminScopeAvailability", "properties": { "adminProject": { @@ -1898,18 +1898,18 @@ "type": "object" }, "ListCustomRangesResponse": { - "description": "Message for response to listing CustomRanges", + "description": "Response message for the CloudNumberRegistry.ListCustomRanges method.", "id": "ListCustomRangesResponse", "properties": { "customRanges": { - "description": "The list of CustomRange", + "description": "The list of CustomRanges.", "items": { "$ref": "CustomRange" }, "type": "array" }, "nextPageToken": { - "description": "A token identifying a page of results the server should return.", + "description": "A token to retrieve the next page of results, or empty if there are no more results in the list.", "type": "string" }, "unreachable": { @@ -1923,18 +1923,18 @@ "type": "object" }, "ListDiscoveredRangesResponse": { - "description": "Message for response to listing DiscoveredRanges", + "description": "Response message for the CloudNumberRegistry.ListDiscoveredRanges method.", "id": "ListDiscoveredRangesResponse", "properties": { "discoveredRanges": { - "description": "The list of DiscoveredRange", + "description": "The list of DiscoveredRanges.", "items": { "$ref": "DiscoveredRange" }, "type": "array" }, "nextPageToken": { - "description": "A token identifying a page of results the server should return.", + "description": "A token to retrieve the next page of results, or empty if there are no more results in the list.", "type": "string" }, "unreachable": { @@ -1948,18 +1948,18 @@ "type": "object" }, "ListIpamAdminScopesResponse": { - "description": "Message for response to listing ipamAdminScopes", + "description": "Response message for the CloudNumberRegistry.ListIpamAdminScopes method.", "id": "ListIpamAdminScopesResponse", "properties": { "ipamAdminScopes": { - "description": "The list of IpamAdminScope", + "description": "The list of IpamAdminScopes.", "items": { "$ref": "IpamAdminScope" }, "type": "array" }, "nextPageToken": { - "description": "A token identifying a page of results the server should return.", + "description": "A token to retrieve the next page of results, or empty if there are no more results in the list.", "type": "string" }, "unreachable": { @@ -2016,7 +2016,7 @@ "type": "object" }, "ListRealmsResponse": { - "description": "Message for response to listing Realms", + "description": "Response message for the CloudNumberRegistry.ListRealms method.", "id": "ListRealmsResponse", "properties": { "nextPageToken": { @@ -2024,7 +2024,7 @@ "type": "string" }, "realms": { - "description": "The list of Realm", + "description": "The list of Realms.", "items": { "$ref": "Realm" }, @@ -2041,7 +2041,7 @@ "type": "object" }, "ListRegistryBooksResponse": { - "description": "Message for response to listing RegistryBooks", + "description": "Response message for the CloudNumberRegistry.ListRegistryBooks method.", "id": "ListRegistryBooksResponse", "properties": { "nextPageToken": { @@ -2179,40 +2179,40 @@ "type": "object" }, "Range": { - "description": "Message describing either a CustomRange or a DiscoveredRange.", + "description": "Represents either a CustomRange or a DiscoveredRange.", "id": "Range", "properties": { "customRange": { "$ref": "CustomRange", - "description": "A custom range." + "description": "A CustomRange." }, "discoveredRange": { "$ref": "DiscoveredRange", - "description": "A discovered range." + "description": "A DiscoveredRange." }, "utilization": { "$ref": "RangeUtilization", - "description": "The utilization of the range." + "description": "The utilization of the Range." } }, "type": "object" }, "RangeUtilization": { - "description": "Message for the utilization of an IP range", + "description": "Utilization metrics for an IP Range, including consumed and produced address counts.", "id": "RangeUtilization", "properties": { "totalConsumed": { - "description": "Output only. The total number of IP addresses consumed in the range.", + "description": "Output only. The total number of IP addresses consumed in the Range.", "readOnly": true, "type": "string" }, "totalProduced": { - "description": "Output only. The total number of IP addresses produced in the range.", + "description": "Output only. The total number of IP addresses produced in the Range.", "readOnly": true, "type": "string" }, "usage": { - "description": "Output only. The usage of the range as a percentage. This is marked as optional so that we have presence tracking and API responses show 0.0 instead of NULL.", + "description": "Output only. The usage of the Range as a percentage. This is marked as optional so that we have presence tracking and API responses show 0.0 instead of NULL.", "format": "double", "readOnly": true, "type": "number" @@ -2221,7 +2221,7 @@ "type": "object" }, "Realm": { - "description": "Message describing Realm object", + "description": "A Realm represents a distinct network domain or security zone. It groups Ranges that share the same traffic and management characteristics. All the ranges in a Realm are routable to each other, meaning that they cannot overlap.", "id": "Realm", "properties": { "aggregatedData": { @@ -2230,18 +2230,18 @@ "readOnly": true }, "createTime": { - "description": "Output only. [Output only] Create time stamp", + "description": "Output only. The time at which the Realm was created.", "format": "google-datetime", "readOnly": true, "type": "string" }, "discoveryMetadata": { "$ref": "DiscoveryMetadata", - "description": "Output only. Discovery metadata of the realm.", + "description": "Output only. Discovery metadata of the Realm.", "readOnly": true }, "ipVersion": { - "description": "Optional. IP version of the realm.", + "description": "Optional. IP version of the Realm.", "enum": [ "IP_VERSION_UNSPECIFIED", "IPV4", @@ -2258,11 +2258,11 @@ "additionalProperties": { "type": "string" }, - "description": "Optional. Labels as key value pairs", + "description": "Optional. User-defined labels.", "type": "object" }, "managementType": { - "description": "Required. Management type of realm.", + "description": "Required. Management type of the Realm.", "enum": [ "MANAGEMENT_TYPE_UNSPECIFIED", "CNR", @@ -2276,15 +2276,15 @@ "type": "string" }, "name": { - "description": "Required. Identifier. Unique name/ID of the realm", + "description": "Required. Identifier. The resource name of the Realm.", "type": "string" }, "registryBook": { - "description": "Required. URI of the registry book that claims the realm.", + "description": "Required. Name of the RegistryBook that claims the Realm.", "type": "string" }, "trafficType": { - "description": "Required. Traffic type of realm.", + "description": "Required. Traffic type of the Realm.", "enum": [ "TRAFFIC_TYPE_UNSPECIFIED", "UNSET", @@ -2302,7 +2302,7 @@ "type": "string" }, "updateTime": { - "description": "Output only. [Output only] Update time stamp", + "description": "Output only. The time at which the Realm was last updated.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -2315,13 +2315,13 @@ "id": "RealmAggregatedData", "properties": { "customRangesCount": { - "description": "Output only. Number of custom ranges in the Realm.", + "description": "Output only. Number of CustomRanges in the Realm.", "format": "int32", "readOnly": true, "type": "integer" }, "discoveredRangesCount": { - "description": "Output only. Number of discovered ranges in the Realm.", + "description": "Output only. Number of DiscoveredRanges in the Realm.", "format": "int32", "readOnly": true, "type": "integer" @@ -2330,7 +2330,7 @@ "type": "object" }, "RegistryBook": { - "description": "Message describing RegistryBook object", + "description": "A RegistryBook organizes and manages IP address space. It claims specific scopes (such as projects) and groups related Realms and Ranges.", "id": "RegistryBook", "properties": { "aggregatedData": { @@ -2346,7 +2346,7 @@ "type": "array" }, "createTime": { - "description": "Output only. [Output only] Create time stamp", + "description": "Output only. The time at which the RegistryBook was created.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -2360,15 +2360,15 @@ "additionalProperties": { "type": "string" }, - "description": "Optional. Labels as key value pairs", + "description": "Optional. User-defined labels.", "type": "object" }, "name": { - "description": "Required. Identifier. name of resource", + "description": "Required. Identifier. The resource name of the RegistryBook.", "type": "string" }, "updateTime": { - "description": "Output only. [Output only] Update time stamp", + "description": "Output only. The time at which the RegistryBook was last updated.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -2377,11 +2377,11 @@ "type": "object" }, "SearchIpResourcesRequest": { - "description": "Message for searching IP resources", + "description": "Request message for the CloudNumberRegistry.SearchIpResources method.", "id": "SearchIpResourcesRequest", "properties": { "orderBy": { - "description": "Optional. Hint for how to order the results", + "description": "Optional. Hint for how to order the results. Supported sort fields are: - `name`: Sort alphabetically by the resource name. - `create_time`: Sort by the creation timestamp of the resource. - `update_time`: Sort by the last update timestamp of the resource. Supported directions are `asc` (ascending) and `desc` (descending). If unspecified, direction defaults to `asc`. Only sorting by a single field is supported.", "type": "string" }, "pageSize": { @@ -2394,11 +2394,11 @@ "type": "string" }, "query": { - "description": "Optional. Search query. This string filters resources in an AIP-160-like format. It has some limitations. You can only specify top level conjunctions or attribute level negations. Each restriction can only be used once except the attribute restriction. The available restrictions for ranges are: - `realm`: The realm name to search in. - `ip_address`: The IP address to search for within ranges. - `ip_version`: The IP version to filter by (e.g., \"IPV4\", \"IPV6\"). - `parent_range`: The parent range of the range to search for. - `attribute_text`: The attribute text to search for within ranges. - `attribute`: The attribute key and value to filter by. The available restrictions for realms are: - `ip_version`: The IP version to search for. Only one of attribute_text or multiple attribute filters can be specified. Examples: - `realm=test-realm` - `realm=test-realm AND ip_address=10.0.0.0` - `realm=test-realm AND ip_version=IPV6` - `realm=test-realm AND attribute_text=test` - `ip_address=10.0.0.0 AND attribute:(key1=value1) AND attribute:(key2=value2)` - `attribute_text=test AND parent_range=projects/123/locations/global/discoveredRanges/test-parent-range`", + "description": "Optional. Search query. This string filters resources in an AIP-160-like format. It has some limitations. You can only specify top level conjunctions or attribute level negations. Each restriction can only be used once except the attribute restriction. The available restrictions for Ranges are: - `realm`: The Realm name to search in. - `ip_address`: The IP address to search for within Ranges. - `ip_version`: The IP version to filter by (e.g., \"IPV4\", \"IPV6\"). - `parent_range`: The parent Range of the Range to search for. - `attribute_text`: The attribute text to search for within Ranges. - `attribute`: The attribute key and value to filter by. The available restrictions for Realms are: - `ip_version`: The IP version to search for. - `management_type`: The management type of the Realm (e.g., \"CNR\", \"USER\"). Only one of attribute_text or multiple attribute filters can be specified. Examples: - `realm=test-realm` - `realm=test-realm AND ip_address=10.0.0.0` - `realm=test-realm AND ip_version=IPV6` - `realm=test-realm AND attribute_text=test` - `ip_address=10.0.0.0 AND attribute:(key1=value1) AND attribute:(key2=value2)` - `attribute_text=test AND parent_range=projects/123/locations/global/discoveredRanges/test-parent-range` - `management_type=CNR`", "type": "string" }, "searchResourceTypes": { - "description": "Optional. The type of resources to search for. If not specified, the server will return ranges.", + "description": "Optional. The type of resources to search for. If not specified, the server will return Ranges.", "items": { "enum": [ "SEARCH_RESOURCE_TYPE_UNSPECIFIED", @@ -2407,22 +2407,22 @@ ], "enumDescriptions": [ "Unspecified search type.", - "Search for ranges.", - "Search for realms." + "Search for Ranges.", + "Search for Realms." ], "type": "string" }, "type": "array" }, "showUtilization": { - "description": "Optional. Whether to show the utilization of the ranges in the response.", + "description": "Optional. Whether to show the utilization of the Ranges in the response.", "type": "boolean" } }, "type": "object" }, "SearchIpResourcesResponse": { - "description": "Message for response to searching IP resources", + "description": "Response message for the CloudNumberRegistry.SearchIpResources method.", "id": "SearchIpResourcesResponse", "properties": { "nextPageToken": { @@ -2431,7 +2431,7 @@ }, "ranges": { "deprecated": true, - "description": "Deprecated: Use results field instead. The list of ranges matching the search query.", + "description": "Deprecated: Use results field instead. The list of Ranges matching the search query.", "items": { "$ref": "Range" }, @@ -2455,22 +2455,22 @@ "type": "object" }, "SearchIpResourcesResult": { - "description": "A result matching the search query, which can be either a range or a realm.", + "description": "A result matching the search query, which can be either a Range or a Realm.", "id": "SearchIpResourcesResult", "properties": { "range": { "$ref": "Range", - "description": "A range matching the search query." + "description": "A Range matching the search query." }, "realm": { "$ref": "Realm", - "description": "A realm matching the search query." + "description": "A Realm matching the search query." } }, "type": "object" }, "ShowCustomRangeUtilizationResponse": { - "description": "Message for the response to getting the utilization of a CustomRange", + "description": "Response message for the CloudNumberRegistry.ShowCustomRangeUtilization method.", "id": "ShowCustomRangeUtilizationResponse", "properties": { "customRange": { @@ -2479,13 +2479,13 @@ }, "rangeUtilization": { "$ref": "RangeUtilization", - "description": "The utilization of the CustomRange." + "description": "The utilization details of the CustomRange." } }, "type": "object" }, "ShowDiscoveredRangeUtilizationResponse": { - "description": "Message for the response to getting the utilization of a DiscoveredRange", + "description": "Response message for the CloudNumberRegistry.ShowDiscoveredRangeUtilization method.", "id": "ShowDiscoveredRangeUtilizationResponse", "properties": { "discoveredRange": { @@ -2494,7 +2494,7 @@ }, "rangeUtilization": { "$ref": "RangeUtilization", - "description": "The utilization of the DiscoveredRange." + "description": "The utilization details of the DiscoveredRange." } }, "type": "object" diff --git a/discovery/cloudtasks-v2.json b/discovery/cloudtasks-v2.json index a289bad3f80..6426ca6d71a 100644 --- a/discovery/cloudtasks-v2.json +++ b/discovery/cloudtasks-v2.json @@ -785,7 +785,7 @@ } } }, - "revision": "20260423", + "revision": "20260512", "rootUrl": "https://cloudtasks.googleapis.com/", "schemas": { "AppEngineHttpRequest": { @@ -1426,7 +1426,7 @@ "type": "integer" }, "maxDispatchesPerSecond": { - "description": "The maximum rate at which tasks are dispatched from this queue. If unspecified when the queue is created, Cloud Tasks will pick the default. * The maximum allowed value is 500. This field has the same meaning as [rate in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate).", + "description": "The maximum rate at which tasks are dispatched from this queue. If unspecified when the queue is created, Cloud Tasks will pick the default. The maximum allowed value is 500. This field has the same meaning as [rate in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate).", "format": "double", "type": "number" } @@ -1444,12 +1444,12 @@ "id": "RetryConfig", "properties": { "maxAttempts": { - "description": "Number of attempts per task. Cloud Tasks will attempt the task `max_attempts` times (that is, if the first attempt fails, then there will be `max_attempts - 1` retries). Must be >= -1. If unspecified when the queue is created, Cloud Tasks will pick the default. -1 indicates unlimited attempts. This field has the same meaning as [task_retry_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). Note: Cloud Tasks stops retrying only when `max_attempts` and `max_retry_duration` are both satisfied. When the task has been attempted `max_attempts` times and when the `max_retry_duration` time has passed, no further attempts are made, and the task is deleted. If you want your task to retry infinitely, you must set `max_attempts` to -1 and `max_retry_duration` to 0.", + "description": "Number of attempts per task, including the first attempt. (If the first attempt fails, there will be `max_attempts - 1` retries.) Must be greater than or equal to -1, which indicates unlimited attempts. Cloud Tasks stops retrying only when `max_attempts` and `max_retry_duration` are both satisfied, or when the task is successfully executed. When the task has been attempted `max_attempts` times and when the `max_retry_duration` time has passed, no further attempts are made, and the task is deleted. If `max_attempts` is set to -1 and `max_retry_duration` is set to 0, the task is retried until the [maximum task retention](https://docs.cloud.google.com/tasks/docs/quotas#limits) limit is reached. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [task_retry_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).", "format": "int32", "type": "integer" }, "maxBackoff": { - "description": "A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for \"seconds\"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_backoff` will be truncated to the nearest second. This field has the same meaning as [max_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).", + "description": "A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for \"seconds\"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_backoff` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [max_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).", "format": "google-duration", "type": "string" }, @@ -1459,12 +1459,12 @@ "type": "integer" }, "maxRetryDuration": { - "description": "If positive, `max_retry_duration` specifies the time limit for retrying a failed task, measured from when the task was first attempted. Once `max_retry_duration` time has passed *and* the task has been attempted max_attempts times, no further attempts will be made and the task will be deleted. If zero, then the task age is unlimited. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for \"seconds\"). For the maximum possible value or the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_retry_duration` will be truncated to the nearest second. This field has the same meaning as [task_age_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).", + "description": "If positive, `max_retry_duration` specifies the time limit for retrying a failed task, measured from when the task was first attempted. Once `max_retry_duration` time has passed *and* the task has been attempted max_attempts times, no further attempts are made and the task is deleted. A zero (0) indicates an unlimited duration, up to the [maximum task retention](https://docs.cloud.google.com/tasks/docs/quotas#limits) limit. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for \"seconds\"). For the maximum possible value or the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_retry_duration` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [task_age_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).", "format": "google-duration", "type": "string" }, "minBackoff": { - "description": "A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for \"seconds\"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `min_backoff` will be truncated to the nearest second. This field has the same meaning as [min_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).", + "description": "A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for \"seconds\"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `min_backoff` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [min_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).", "format": "google-duration", "type": "string" } diff --git a/discovery/cloudtasks-v2beta3.json b/discovery/cloudtasks-v2beta3.json index b90b870cd76..950613f91fc 100644 --- a/discovery/cloudtasks-v2beta3.json +++ b/discovery/cloudtasks-v2beta3.json @@ -797,7 +797,7 @@ } } }, - "revision": "20260423", + "revision": "20260512", "rootUrl": "https://cloudtasks.googleapis.com/", "schemas": { "AppEngineHttpQueue": { @@ -1531,7 +1531,7 @@ "type": "integer" }, "maxDispatchesPerSecond": { - "description": "The maximum rate at which tasks are dispatched from this queue. If unspecified when the queue is created, Cloud Tasks will pick the default. * For App Engine queues, the maximum allowed value is 500. This field has the same meaning as [rate in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate).", + "description": "The maximum rate at which tasks are dispatched from this queue. If unspecified when the queue is created, Cloud Tasks will pick the default. For App Engine queues, the maximum allowed value is 500. This field has the same meaning as [rate in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate).", "format": "double", "type": "number" } @@ -1549,12 +1549,12 @@ "id": "RetryConfig", "properties": { "maxAttempts": { - "description": "Number of attempts per task. Cloud Tasks will attempt the task `max_attempts` times (that is, if the first attempt fails, then there will be `max_attempts - 1` retries). Must be >= -1. If unspecified when the queue is created, Cloud Tasks will pick the default. -1 indicates unlimited attempts. This field has the same meaning as [task_retry_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). Note: Cloud Tasks stops retrying only when `max_attempts` and `max_retry_duration` are both satisfied. When the task has been attempted `max_attempts` times and when the `max_retry_duration` time has passed, no further attempts are made, and the task is deleted. If you want your task to retry infinitely, you must set `max_attempts` to -1 and `max_retry_duration` to 0.", + "description": "Number of attempts per task, including the first attempt. (If the first attempt fails, there will be `max_attempts - 1` retries.) Must be greater than or equal to -1, which indicates unlimited attempts. Cloud Tasks stops retrying only when `max_attempts` and `max_retry_duration` are both satisfied, or when the task is successfully executed. When the task has been attempted `max_attempts` times and when the `max_retry_duration` time has passed, no further attempts are made, and the task is deleted. If `max_attempts` is set to -1 and `max_retry_duration` is set to 0, the task is retried until the [maximum task retention](https://docs.cloud.google.com/tasks/docs/quotas#limits) limit is reached. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [task_retry_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).", "format": "int32", "type": "integer" }, "maxBackoff": { - "description": "A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for \"seconds\"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_backoff` will be truncated to the nearest second. This field has the same meaning as [max_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).", + "description": "A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for \"seconds\"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_backoff` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [max_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).", "format": "google-duration", "type": "string" }, @@ -1564,12 +1564,12 @@ "type": "integer" }, "maxRetryDuration": { - "description": "If positive, `max_retry_duration` specifies the time limit for retrying a failed task, measured from when the task was first attempted. Once `max_retry_duration` time has passed *and* the task has been attempted max_attempts times, no further attempts will be made and the task will be deleted. If zero, then the task age is unlimited. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for \"seconds\"). For the maximum possible value or the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_retry_duration` will be truncated to the nearest second. This field has the same meaning as [task_age_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).", + "description": "If positive, `max_retry_duration` specifies the time limit for retrying a failed task, measured from when the task was first attempted. Once `max_retry_duration` time has passed *and* the task has been attempted max_attempts times, no further attempts are made and the task is deleted. A zero (0) indicates an unlimited duration, up to the [maximum task retention](https://docs.cloud.google.com/tasks/docs/quotas#limits) limit. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for \"seconds\"). For the maximum possible value or the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_retry_duration` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [task_age_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).", "format": "google-duration", "type": "string" }, "minBackoff": { - "description": "A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for \"seconds\"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `min_backoff` will be truncated to the nearest second. This field has the same meaning as [min_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).", + "description": "A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for \"seconds\"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `min_backoff` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [min_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters).", "format": "google-duration", "type": "string" } diff --git a/discovery/cloudtrace-v1.json b/discovery/cloudtrace-v1.json index 29ae12d0be0..c00e6d6b9ae 100644 --- a/discovery/cloudtrace-v1.json +++ b/discovery/cloudtrace-v1.json @@ -192,11 +192,6 @@ "endpointUrl": "https://cloudtrace.us-central1.rep.googleapis.com/", "location": "us-central1" }, - { - "description": "Regional Endpoint", - "endpointUrl": "https://cloudtrace.us-central2.rep.googleapis.com/", - "location": "us-central2" - }, { "description": "Regional Endpoint", "endpointUrl": "https://cloudtrace.us-east1.rep.googleapis.com/", @@ -494,7 +489,7 @@ } } }, - "revision": "20260508", + "revision": "20260529", "rootUrl": "https://cloudtrace.googleapis.com/", "schemas": { "Empty": { diff --git a/discovery/cloudtrace-v2.json b/discovery/cloudtrace-v2.json index fe4efc51243..d202e59b416 100644 --- a/discovery/cloudtrace-v2.json +++ b/discovery/cloudtrace-v2.json @@ -189,11 +189,6 @@ "endpointUrl": "https://cloudtrace.us-central1.rep.googleapis.com/", "location": "us-central1" }, - { - "description": "Regional Endpoint", - "endpointUrl": "https://cloudtrace.us-central2.rep.googleapis.com/", - "location": "us-central2" - }, { "description": "Regional Endpoint", "endpointUrl": "https://cloudtrace.us-east1.rep.googleapis.com/", @@ -418,7 +413,7 @@ } } }, - "revision": "20260508", + "revision": "20260520", "rootUrl": "https://cloudtrace.googleapis.com/", "schemas": { "Annotation": { diff --git a/discovery/composer-v1beta1.json b/discovery/composer-v1beta1.json index 77e46c52efc..d081e8bd608 100644 --- a/discovery/composer-v1beta1.json +++ b/discovery/composer-v1beta1.json @@ -1278,7 +1278,7 @@ } } }, - "revision": "20260423", + "revision": "20260525", "rootUrl": "https://composer.googleapis.com/", "schemas": { "AirflowMetadataRetentionPolicyConfig": { @@ -2810,6 +2810,10 @@ "name": { "description": "Identifier. The resource name of the Secret, in the form: \"projects/{projectId}/locations/{locationId}/environments/{environmentId}/userWorkloadsSecrets/{userWorkloadsSecretId}\"", "type": "string" + }, + "type": { + "description": "Optional. The \"type\" field of Kubernetes Secret. For details see: https://kubernetes.io/docs/concepts/configuration/secret/#secret-types", + "type": "string" } }, "type": "object" diff --git a/discovery/compute-alpha.json b/discovery/compute-alpha.json index 03ea7c88373..a24b1c0de52 100644 --- a/discovery/compute-alpha.json +++ b/discovery/compute-alpha.json @@ -5525,6 +5525,358 @@ } } }, + "folderZoneVmExtensionPolicies": { + "methods": { + "delete": { + "description": "Deletes a specified zone VM extension policy within a folder.", + "flatPath": "folders/{foldersId}/zones/{zone}/vmExtensionPolicies/{vmExtensionPolicy}", + "httpMethod": "DELETE", + "id": "compute.folderZoneVmExtensionPolicies.delete", + "parameterOrder": [ + "folder", + "zone", + "vmExtensionPolicy" + ], + "parameters": { + "folder": { + "description": "Folder ID for this request.", + "location": "path", + "pattern": "folders/[0-9]{0,20}", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "vmExtensionPolicy": { + "description": "Name of the zone VM extension policy to delete.", + "location": "path", + "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": "{+folder}/zones/{zone}/vmExtensionPolicies/{vmExtensionPolicy}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "get": { + "description": "Retrieves details of a specific zone VM extension policy within a folder.", + "flatPath": "folders/{foldersId}/zones/{zone}/vmExtensionPolicies/{vmExtensionPolicy}", + "httpMethod": "GET", + "id": "compute.folderZoneVmExtensionPolicies.get", + "parameterOrder": [ + "folder", + "zone", + "vmExtensionPolicy" + ], + "parameters": { + "folder": { + "description": "Folder ID for this request.", + "location": "path", + "pattern": "folders/[0-9]{0,20}", + "required": true, + "type": "string" + }, + "vmExtensionPolicy": { + "description": "Name of the VM extension policy 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 for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + } + }, + "path": "{+folder}/zones/{zone}/vmExtensionPolicies/{vmExtensionPolicy}", + "response": { + "$ref": "VmExtensionPolicy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "getVmExtension": { + "description": "Retrieves details of a specific VM extension within a folder.", + "flatPath": "folders/{foldersId}/zones/{zone}/vmExtensions/{extensionName}", + "httpMethod": "GET", + "id": "compute.folderZoneVmExtensionPolicies.getVmExtension", + "parameterOrder": [ + "folder", + "zone", + "extensionName" + ], + "parameters": { + "extensionName": { + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "folder": { + "description": "Folder ID for this request.", + "location": "path", + "pattern": "folders/[0-9]{0,20}", + "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": "{+folder}/zones/{zone}/vmExtensions/{extensionName}", + "response": { + "$ref": "VmExtension" + }, + "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 zone-level VM extension policy within a folder.", + "flatPath": "folders/{foldersId}/zones/{zone}/vmExtensionPolicies", + "httpMethod": "POST", + "id": "compute.folderZoneVmExtensionPolicies.insert", + "parameterOrder": [ + "folder", + "zone" + ], + "parameters": { + "folder": { + "description": "Folder ID for this request.", + "location": "path", + "pattern": "folders/[0-9]{0,20}", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(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": "{+folder}/zones/{zone}/vmExtensionPolicies", + "request": { + "$ref": "VmExtensionPolicy" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "list": { + "description": "Lists all VM extension policies within a specific zone for a folder.", + "flatPath": "folders/{foldersId}/zones/{zone}/vmExtensionPolicies", + "httpMethod": "GET", + "id": "compute.folderZoneVmExtensionPolicies.list", + "parameterOrder": [ + "folder", + "zone" + ], + "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most\nCompute resources support two types of filter expressions:\nexpressions that support regular expressions and expressions that follow\nAPI improvement proposal AIP-160.\nThese two types of filter expressions cannot be mixed in one request.\n\nIf you want to use AIP-160, your expression must specify the field name, an\noperator, and the value that you want to use for filtering. The value\nmust be a string, a number, or a boolean. The operator\nmust be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.\n\nFor example, if you are filtering Compute Engine instances, you can\nexclude instances named `example-instance` by specifying\n`name != example-instance`.\n\nThe `:*` comparison can be used to test whether a key has been defined.\nFor example, to find all objects with `owner` label use:\n```\nlabels.owner:*\n```\n\nYou can also filter nested fields. For example, you could specify\n`scheduling.automaticRestart = false` to include instances only\nif they are not scheduled for automatic restarts. You can use filtering\non nested fields to filter based onresource labels.\n\nTo filter on multiple expressions, provide each separate expression within\nparentheses. For example:\n```\n(scheduling.automaticRestart = true)\n(cpuPlatform = \"Intel Skylake\")\n```\nBy default, each expression is an `AND` expression. However, you\ncan include `AND` and `OR` expressions explicitly.\nFor example:\n```\n(cpuPlatform = \"Intel Skylake\") OR\n(cpuPlatform = \"Intel Broadwell\") AND\n(scheduling.automaticRestart = true)\n```\n\nIf you want to use a regular expression, use the `eq` (equal) or `ne`\n(not equal) operator against a single un-parenthesized expression with or\nwithout quotes or against multiple parenthesized expressions. Examples:\n\n`fieldname eq unquoted literal`\n`fieldname eq 'single quoted literal'`\n`fieldname eq \"double quoted literal\"`\n`(fieldname1 eq literal) (fieldname2 ne \"literal\")`\n\nThe literal value is interpreted as a regular expression using GoogleRE2 library syntax.\nThe literal value must match the entire field.\n\nFor example, to filter for instances that do not end with name \"instance\",\nyou would use `name ne .*instance`.\n\nYou cannot combine constraints on multiple fields using regular\nexpressions.", + "location": "query", + "type": "string" + }, + "folder": { + "description": "Folder ID for this request.", + "location": "path", + "pattern": "folders/[0-9]{0,20}", + "required": true, + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned.\nIf the number of available results is larger than `maxResults`,\nCompute Engine returns a `nextPageToken` that can be used to get\nthe next page of results in subsequent list requests. Acceptable values are\n`0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results\nare returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation\ntimestamp using `orderBy=\"creationTimestamp desc\"`. This sorts\nresults based on the `creationTimestamp` field in\nreverse chronological order (newest result first). Use this to sort\nresources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by `name` or\n`creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the\n`nextPageToken` returned by a previous list request to get\nthe next page of results.", + "location": "query", + "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith 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": "{+folder}/zones/{zone}/vmExtensionPolicies", + "response": { + "$ref": "VmExtensionPolicyList" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "listVmExtensions": { + "description": "Lists all VM extensions within a specific zone for a folder.\nThis is a read-only API.", + "flatPath": "folders/{foldersId}/zones/{zone}/vmExtensions", + "httpMethod": "GET", + "id": "compute.folderZoneVmExtensionPolicies.listVmExtensions", + "parameterOrder": [ + "folder", + "zone" + ], + "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most\nCompute resources support two types of filter expressions:\nexpressions that support regular expressions and expressions that follow\nAPI improvement proposal AIP-160.\nThese two types of filter expressions cannot be mixed in one request.\n\nIf you want to use AIP-160, your expression must specify the field name, an\noperator, and the value that you want to use for filtering. The value\nmust be a string, a number, or a boolean. The operator\nmust be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.\n\nFor example, if you are filtering Compute Engine instances, you can\nexclude instances named `example-instance` by specifying\n`name != example-instance`.\n\nThe `:*` comparison can be used to test whether a key has been defined.\nFor example, to find all objects with `owner` label use:\n```\nlabels.owner:*\n```\n\nYou can also filter nested fields. For example, you could specify\n`scheduling.automaticRestart = false` to include instances only\nif they are not scheduled for automatic restarts. You can use filtering\non nested fields to filter based onresource labels.\n\nTo filter on multiple expressions, provide each separate expression within\nparentheses. For example:\n```\n(scheduling.automaticRestart = true)\n(cpuPlatform = \"Intel Skylake\")\n```\nBy default, each expression is an `AND` expression. However, you\ncan include `AND` and `OR` expressions explicitly.\nFor example:\n```\n(cpuPlatform = \"Intel Skylake\") OR\n(cpuPlatform = \"Intel Broadwell\") AND\n(scheduling.automaticRestart = true)\n```\n\nIf you want to use a regular expression, use the `eq` (equal) or `ne`\n(not equal) operator against a single un-parenthesized expression with or\nwithout quotes or against multiple parenthesized expressions. Examples:\n\n`fieldname eq unquoted literal`\n`fieldname eq 'single quoted literal'`\n`fieldname eq \"double quoted literal\"`\n`(fieldname1 eq literal) (fieldname2 ne \"literal\")`\n\nThe literal value is interpreted as a regular expression using GoogleRE2 library syntax.\nThe literal value must match the entire field.\n\nFor example, to filter for instances that do not end with name \"instance\",\nyou would use `name ne .*instance`.\n\nYou cannot combine constraints on multiple fields using regular\nexpressions.", + "location": "query", + "type": "string" + }, + "folder": { + "description": "Folder ID for this request.", + "location": "path", + "pattern": "folders/[0-9]{0,20}", + "required": true, + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned.\nIf the number of available results is larger than `maxResults`,\nCompute Engine returns a `nextPageToken` that can be used to get\nthe next page of results in subsequent list requests. Acceptable values are\n`0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results\nare returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation\ntimestamp using `orderBy=\"creationTimestamp desc\"`. This sorts\nresults based on the `creationTimestamp` field in\nreverse chronological order (newest result first). Use this to sort\nresources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by `name` or\n`creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the\n`nextPageToken` returned by a previous list request to get\nthe next page of results.", + "location": "query", + "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith 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": "{+folder}/zones/{zone}/vmExtensions", + "response": { + "$ref": "ListVmExtensionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "update": { + "description": "Modifies an existing zone VM extension policy within a folder.", + "flatPath": "folders/{foldersId}/zones/{zone}/vmExtensionPolicies/{vmExtensionPolicy}", + "httpMethod": "PATCH", + "id": "compute.folderZoneVmExtensionPolicies.update", + "parameterOrder": [ + "folder", + "zone", + "vmExtensionPolicy" + ], + "parameters": { + "folder": { + "description": "Folder ID for this request.", + "location": "path", + "pattern": "folders/[0-9]{0,20}", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "vmExtensionPolicy": { + "description": "Name of the zone VM extension policy to update.", + "location": "path", + "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": "{+folder}/zones/{zone}/vmExtensionPolicies/{vmExtensionPolicy}", + "request": { + "$ref": "VmExtensionPolicy" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + } + } + }, "forwardingRules": { "methods": { "aggregatedList": { @@ -9866,7 +10218,7 @@ "imageViews": { "methods": { "get": { - "description": "Returns the specified global Image resource by providing a regional\ncontext to read the metadata from the Global Clone in the region.", + "description": "Returns the specified global ImageView resource, with a regional\ncontext.", "flatPath": "projects/{project}/regions/{region}/imageViews/{resourceId}", "httpMethod": "GET", "id": "compute.imageViews.get", @@ -9909,7 +10261,7 @@ ] }, "list": { - "description": "Retrieves the list of global Image resources available to the project by\nproviding a regional context to read the metadata from the Global Clone in\nthe region.", + "description": "Returns a list of global ImageView resources, with a regional\ncontext.", "flatPath": "projects/{project}/regions/{region}/imageViews", "httpMethod": "GET", "id": "compute.imageViews.list", @@ -24425,6 +24777,533 @@ } } }, + "orgVmExtensionPolicies": { + "methods": { + "delete": { + "description": "Deletes a specified zone VM extension policy within an organization.", + "flatPath": "organizations/{organizationsId}/zones/{zone}/vmExtensionPolicies/{vmExtensionPolicy}", + "httpMethod": "DELETE", + "id": "compute.orgVmExtensionPolicies.delete", + "parameterOrder": [ + "organization", + "zone", + "vmExtensionPolicy" + ], + "parameters": { + "organization": { + "description": "Organization ID for this request.", + "location": "path", + "pattern": "organizations/[0-9]{0,20}", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "vmExtensionPolicy": { + "description": "Name of the zone VM extension policy to delete.", + "location": "path", + "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": "{+organization}/zones/{zone}/vmExtensionPolicies/{vmExtensionPolicy}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + } + } + }, + "organizationRolloutPlans": { + "methods": { + "delete": { + "description": "Deletes an OrganizationRolloutPlan.", + "flatPath": "organizations/{organizationsId}/global/rolloutPlans/{rolloutPlan}", + "httpMethod": "DELETE", + "id": "compute.organizationRolloutPlans.delete", + "parameterOrder": [ + "organization", + "rolloutPlan" + ], + "parameters": { + "organization": { + "description": "Organization ID for this request.", + "location": "path", + "pattern": "organizations/[0-9]{0,20}", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "rolloutPlan": { + "description": "Name of the OrganizationRolloutPlan 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": "{+organization}/global/rolloutPlans/{rolloutPlan}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "get": { + "description": "Gets details of a single organization-scoped RolloutPlan.", + "flatPath": "organizations/{organizationsId}/global/rolloutPlans/{rolloutPlan}", + "httpMethod": "GET", + "id": "compute.organizationRolloutPlans.get", + "parameterOrder": [ + "organization", + "rolloutPlan" + ], + "parameters": { + "organization": { + "description": "Organization ID for this request.", + "location": "path", + "pattern": "organizations/[0-9]{0,20}", + "required": true, + "type": "string" + }, + "rolloutPlan": { + "description": "Name of the persistent rollout plan 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": "{+organization}/global/rolloutPlans/{rolloutPlan}", + "response": { + "$ref": "RolloutPlan" + }, + "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 RolloutPlan in a given organization and location.", + "flatPath": "organizations/{organizationsId}/global/rolloutPlans", + "httpMethod": "POST", + "id": "compute.organizationRolloutPlans.insert", + "parameterOrder": [ + "organization" + ], + "parameters": { + "organization": { + "description": "Organization ID for this request.", + "location": "path", + "pattern": "organizations/[0-9]{0,20}", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "{+organization}/global/rolloutPlans", + "request": { + "$ref": "RolloutPlan" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "list": { + "description": "Lists OrganizationRolloutPlans in a given organization and location.", + "flatPath": "organizations/{organizationsId}/global/rolloutPlans", + "httpMethod": "GET", + "id": "compute.organizationRolloutPlans.list", + "parameterOrder": [ + "organization" + ], + "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most\nCompute resources support two types of filter expressions:\nexpressions that support regular expressions and expressions that follow\nAPI improvement proposal AIP-160.\nThese two types of filter expressions cannot be mixed in one request.\n\nIf you want to use AIP-160, your expression must specify the field name, an\noperator, and the value that you want to use for filtering. The value\nmust be a string, a number, or a boolean. The operator\nmust be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.\n\nFor example, if you are filtering Compute Engine instances, you can\nexclude instances named `example-instance` by specifying\n`name != example-instance`.\n\nThe `:*` comparison can be used to test whether a key has been defined.\nFor example, to find all objects with `owner` label use:\n```\nlabels.owner:*\n```\n\nYou can also filter nested fields. For example, you could specify\n`scheduling.automaticRestart = false` to include instances only\nif they are not scheduled for automatic restarts. You can use filtering\non nested fields to filter based onresource labels.\n\nTo filter on multiple expressions, provide each separate expression within\nparentheses. For example:\n```\n(scheduling.automaticRestart = true)\n(cpuPlatform = \"Intel Skylake\")\n```\nBy default, each expression is an `AND` expression. However, you\ncan include `AND` and `OR` expressions explicitly.\nFor example:\n```\n(cpuPlatform = \"Intel Skylake\") OR\n(cpuPlatform = \"Intel Broadwell\") AND\n(scheduling.automaticRestart = true)\n```\n\nIf you want to use a regular expression, use the `eq` (equal) or `ne`\n(not equal) operator against a single un-parenthesized expression with or\nwithout quotes or against multiple parenthesized expressions. Examples:\n\n`fieldname eq unquoted literal`\n`fieldname eq 'single quoted literal'`\n`fieldname eq \"double quoted literal\"`\n`(fieldname1 eq literal) (fieldname2 ne \"literal\")`\n\nThe literal value is interpreted as a regular expression using GoogleRE2 library syntax.\nThe literal value must match the entire field.\n\nFor example, to filter for instances that do not end with name \"instance\",\nyou would use `name ne .*instance`.\n\nYou cannot combine constraints on multiple fields using regular\nexpressions.", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned.\nIf the number of available results is larger than `maxResults`,\nCompute Engine returns a `nextPageToken` that can be used to get\nthe next page of results in subsequent list requests. Acceptable values are\n`0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results\nare returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation\ntimestamp using `orderBy=\"creationTimestamp desc\"`. This sorts\nresults based on the `creationTimestamp` field in\nreverse chronological order (newest result first). Use this to sort\nresources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by `name` or\n`creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "organization": { + "description": "Organization ID for this request.", + "location": "path", + "pattern": "organizations/[0-9]{0,20}", + "required": true, + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the\n`nextPageToken` returned by a previous list request to get\nthe next page of results.", + "location": "query", + "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.", + "location": "query", + "type": "boolean" + } + }, + "path": "{+organization}/global/rolloutPlans", + "response": { + "$ref": "RolloutPlansListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + } + } + }, + "organizationRollouts": { + "methods": { + "advance": { + "description": "Advances a Rollout to the next wave, or completes it if no waves remain.", + "flatPath": "organizations/{organizationsId}/global/rollouts/{rollout}/advance", + "httpMethod": "POST", + "id": "compute.organizationRollouts.advance", + "parameterOrder": [ + "organization", + "rollout" + ], + "parameters": { + "currentWaveNumber": { + "description": "Required. Wave number of the current wave.", + "format": "int64", + "location": "query", + "type": "string" + }, + "organization": { + "description": "Required. Organization ID for this request.", + "location": "path", + "pattern": "organizations/[0-9]{1,19}", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "rollout": { + "description": "Required. Name of the Rollout resource to advance.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "{+organization}/global/rollouts/{rollout}/advance", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "cancel": { + "description": "Cancels a Rollout.", + "flatPath": "organizations/{organizationsId}/global/rollouts/{rollout}", + "httpMethod": "PATCH", + "id": "compute.organizationRollouts.cancel", + "parameterOrder": [ + "organization", + "rollout" + ], + "parameters": { + "organization": { + "description": "Required. Organization ID for this request.", + "location": "path", + "pattern": "organizations/[0-9]{1,19}", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "rollback": { + "description": "Optional. If true, then the ongoing rollout must be rolled back. Else, just cancel\nthe rollout without taking any further actions. Note that products must\nsupport at least one of these options, however, it does not need to support\nboth.", + "location": "query", + "type": "boolean" + }, + "rollout": { + "description": "Name of the Rollout resource to cancel.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "{+organization}/global/rollouts/{rollout}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "delete": { + "description": "Deletes a Rollout.", + "flatPath": "organizations/{organizationsId}/global/rollouts/{rollout}", + "httpMethod": "DELETE", + "id": "compute.organizationRollouts.delete", + "parameterOrder": [ + "organization", + "rollout" + ], + "parameters": { + "organization": { + "description": "Required. Organization ID for this request.", + "location": "path", + "pattern": "organizations/[0-9]{1,19}", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "rollout": { + "description": "Name of the Rollout 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": "{+organization}/global/rollouts/{rollout}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "get": { + "description": "Gets details of a single organization-scoped Rollout.", + "flatPath": "organizations/{organizationsId}/global/rollouts/{rollout}", + "httpMethod": "GET", + "id": "compute.organizationRollouts.get", + "parameterOrder": [ + "organization", + "rollout" + ], + "parameters": { + "organization": { + "description": "Organization ID for this request.", + "location": "path", + "pattern": "organizations/[0-9]{0,20}", + "required": true, + "type": "string" + }, + "rollout": { + "description": "Name of the persistent rollout 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": "{+organization}/global/rollouts/{rollout}", + "response": { + "$ref": "Rollout" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "list": { + "description": "Lists Rollouts in a given organization and location.", + "flatPath": "organizations/{organizationsId}/global/rollouts", + "httpMethod": "GET", + "id": "compute.organizationRollouts.list", + "parameterOrder": [ + "organization" + ], + "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most\nCompute resources support two types of filter expressions:\nexpressions that support regular expressions and expressions that follow\nAPI improvement proposal AIP-160.\nThese two types of filter expressions cannot be mixed in one request.\n\nIf you want to use AIP-160, your expression must specify the field name, an\noperator, and the value that you want to use for filtering. The value\nmust be a string, a number, or a boolean. The operator\nmust be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.\n\nFor example, if you are filtering Compute Engine instances, you can\nexclude instances named `example-instance` by specifying\n`name != example-instance`.\n\nThe `:*` comparison can be used to test whether a key has been defined.\nFor example, to find all objects with `owner` label use:\n```\nlabels.owner:*\n```\n\nYou can also filter nested fields. For example, you could specify\n`scheduling.automaticRestart = false` to include instances only\nif they are not scheduled for automatic restarts. You can use filtering\non nested fields to filter based onresource labels.\n\nTo filter on multiple expressions, provide each separate expression within\nparentheses. For example:\n```\n(scheduling.automaticRestart = true)\n(cpuPlatform = \"Intel Skylake\")\n```\nBy default, each expression is an `AND` expression. However, you\ncan include `AND` and `OR` expressions explicitly.\nFor example:\n```\n(cpuPlatform = \"Intel Skylake\") OR\n(cpuPlatform = \"Intel Broadwell\") AND\n(scheduling.automaticRestart = true)\n```\n\nIf you want to use a regular expression, use the `eq` (equal) or `ne`\n(not equal) operator against a single un-parenthesized expression with or\nwithout quotes or against multiple parenthesized expressions. Examples:\n\n`fieldname eq unquoted literal`\n`fieldname eq 'single quoted literal'`\n`fieldname eq \"double quoted literal\"`\n`(fieldname1 eq literal) (fieldname2 ne \"literal\")`\n\nThe literal value is interpreted as a regular expression using GoogleRE2 library syntax.\nThe literal value must match the entire field.\n\nFor example, to filter for instances that do not end with name \"instance\",\nyou would use `name ne .*instance`.\n\nYou cannot combine constraints on multiple fields using regular\nexpressions.", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned.\nIf the number of available results is larger than `maxResults`,\nCompute Engine returns a `nextPageToken` that can be used to get\nthe next page of results in subsequent list requests. Acceptable values are\n`0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results\nare returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation\ntimestamp using `orderBy=\"creationTimestamp desc\"`. This sorts\nresults based on the `creationTimestamp` field in\nreverse chronological order (newest result first). Use this to sort\nresources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by `name` or\n`creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "organization": { + "description": "Required. Organization ID for this request.", + "location": "path", + "pattern": "organizations/[0-9]{1,19}", + "required": true, + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the\n`nextPageToken` returned by a previous list request to get\nthe next page of results.", + "location": "query", + "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.", + "location": "query", + "type": "boolean" + } + }, + "path": "{+organization}/global/rollouts", + "response": { + "$ref": "OrganizationRolloutsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "pause": { + "description": "Pauses a Rollout.", + "flatPath": "organizations/{organizationsId}/global/rollouts/{rollout}/pause", + "httpMethod": "POST", + "id": "compute.organizationRollouts.pause", + "parameterOrder": [ + "organization", + "rollout" + ], + "parameters": { + "etag": { + "description": "The etag of the Rollout.\nIf this is provided, the request will only succeed if the etag matches\nthe current etag of the Rollout.", + "location": "query", + "type": "string" + }, + "organization": { + "description": "Required. Organization ID for this request.", + "location": "path", + "pattern": "organizations/[0-9]{1,19}", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "rollout": { + "description": "Required. Name of the Rollout resource to pause.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "{+organization}/global/rollouts/{rollout}/pause", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "resume": { + "description": "Resumes a Rollout.", + "flatPath": "organizations/{organizationsId}/global/rollouts/{rollout}/resume", + "httpMethod": "POST", + "id": "compute.organizationRollouts.resume", + "parameterOrder": [ + "organization", + "rollout" + ], + "parameters": { + "etag": { + "description": "The etag of the Rollout.\nIf this is provided, the request will only succeed if the etag matches\nthe current etag of the Rollout.", + "location": "query", + "type": "string" + }, + "organization": { + "description": "Required. Organization ID for this request.", + "location": "path", + "pattern": "organizations/[0-9]{1,19}", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "rollout": { + "description": "Required. Name of the Rollout 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" + } + }, + "path": "{+organization}/global/rollouts/{rollout}/resume", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + } + } + }, "organizationSecurityPolicies": { "methods": { "addAssociation": { @@ -25072,6 +25951,312 @@ } } }, + "organizationZoneVmExtensionPolicies": { + "methods": { + "get": { + "description": "Retrieves details of a specific zone VM extension policy within an\norganization.", + "flatPath": "organizations/{organizationsId}/zones/{zone}/vmExtensionPolicies/{vmExtensionPolicy}", + "httpMethod": "GET", + "id": "compute.organizationZoneVmExtensionPolicies.get", + "parameterOrder": [ + "organization", + "zone", + "vmExtensionPolicy" + ], + "parameters": { + "organization": { + "description": "Organization ID for this request.", + "location": "path", + "pattern": "organizations/[0-9]{0,20}", + "required": true, + "type": "string" + }, + "vmExtensionPolicy": { + "description": "Name of the VM extension policy 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 for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + } + }, + "path": "{+organization}/zones/{zone}/vmExtensionPolicies/{vmExtensionPolicy}", + "response": { + "$ref": "VmExtensionPolicy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "getVmExtension": { + "description": "Retrieves details of a specific VM extension within an organization.", + "flatPath": "organizations/{organizationsId}/zones/{zone}/vmExtensions/{extensionName}", + "httpMethod": "GET", + "id": "compute.organizationZoneVmExtensionPolicies.getVmExtension", + "parameterOrder": [ + "organization", + "zone", + "extensionName" + ], + "parameters": { + "extensionName": { + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "organization": { + "description": "Organization ID for this request.", + "location": "path", + "pattern": "organizations/[0-9]{0,20}", + "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": "{+organization}/zones/{zone}/vmExtensions/{extensionName}", + "response": { + "$ref": "VmExtension" + }, + "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 zone-level VM extension policy within an organization.", + "flatPath": "organizations/{organizationsId}/zones/{zone}/vmExtensionPolicies", + "httpMethod": "POST", + "id": "compute.organizationZoneVmExtensionPolicies.insert", + "parameterOrder": [ + "organization", + "zone" + ], + "parameters": { + "organization": { + "description": "Organization ID for this request.", + "location": "path", + "pattern": "organizations/[0-9]{0,20}", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(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": "{+organization}/zones/{zone}/vmExtensionPolicies", + "request": { + "$ref": "VmExtensionPolicy" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "list": { + "description": "Lists all VM extension policies within a specific zone for an organization.", + "flatPath": "organizations/{organizationsId}/zones/{zone}/vmExtensionPolicies", + "httpMethod": "GET", + "id": "compute.organizationZoneVmExtensionPolicies.list", + "parameterOrder": [ + "organization", + "zone" + ], + "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most\nCompute resources support two types of filter expressions:\nexpressions that support regular expressions and expressions that follow\nAPI improvement proposal AIP-160.\nThese two types of filter expressions cannot be mixed in one request.\n\nIf you want to use AIP-160, your expression must specify the field name, an\noperator, and the value that you want to use for filtering. The value\nmust be a string, a number, or a boolean. The operator\nmust be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.\n\nFor example, if you are filtering Compute Engine instances, you can\nexclude instances named `example-instance` by specifying\n`name != example-instance`.\n\nThe `:*` comparison can be used to test whether a key has been defined.\nFor example, to find all objects with `owner` label use:\n```\nlabels.owner:*\n```\n\nYou can also filter nested fields. For example, you could specify\n`scheduling.automaticRestart = false` to include instances only\nif they are not scheduled for automatic restarts. You can use filtering\non nested fields to filter based onresource labels.\n\nTo filter on multiple expressions, provide each separate expression within\nparentheses. For example:\n```\n(scheduling.automaticRestart = true)\n(cpuPlatform = \"Intel Skylake\")\n```\nBy default, each expression is an `AND` expression. However, you\ncan include `AND` and `OR` expressions explicitly.\nFor example:\n```\n(cpuPlatform = \"Intel Skylake\") OR\n(cpuPlatform = \"Intel Broadwell\") AND\n(scheduling.automaticRestart = true)\n```\n\nIf you want to use a regular expression, use the `eq` (equal) or `ne`\n(not equal) operator against a single un-parenthesized expression with or\nwithout quotes or against multiple parenthesized expressions. Examples:\n\n`fieldname eq unquoted literal`\n`fieldname eq 'single quoted literal'`\n`fieldname eq \"double quoted literal\"`\n`(fieldname1 eq literal) (fieldname2 ne \"literal\")`\n\nThe literal value is interpreted as a regular expression using GoogleRE2 library syntax.\nThe literal value must match the entire field.\n\nFor example, to filter for instances that do not end with name \"instance\",\nyou would use `name ne .*instance`.\n\nYou cannot combine constraints on multiple fields using regular\nexpressions.", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned.\nIf the number of available results is larger than `maxResults`,\nCompute Engine returns a `nextPageToken` that can be used to get\nthe next page of results in subsequent list requests. Acceptable values are\n`0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results\nare returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation\ntimestamp using `orderBy=\"creationTimestamp desc\"`. This sorts\nresults based on the `creationTimestamp` field in\nreverse chronological order (newest result first). Use this to sort\nresources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by `name` or\n`creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "organization": { + "description": "Organization ID for this request.", + "location": "path", + "pattern": "organizations/[0-9]{0,20}", + "required": true, + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the\n`nextPageToken` returned by a previous list request to get\nthe next page of results.", + "location": "query", + "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith 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": "{+organization}/zones/{zone}/vmExtensionPolicies", + "response": { + "$ref": "VmExtensionPolicyList" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "listVmExtensions": { + "description": "Lists all VM extensions within a specific zone for an organization.\nThis is a read-only API.", + "flatPath": "organizations/{organizationsId}/zones/{zone}/vmExtensions", + "httpMethod": "GET", + "id": "compute.organizationZoneVmExtensionPolicies.listVmExtensions", + "parameterOrder": [ + "organization", + "zone" + ], + "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most\nCompute resources support two types of filter expressions:\nexpressions that support regular expressions and expressions that follow\nAPI improvement proposal AIP-160.\nThese two types of filter expressions cannot be mixed in one request.\n\nIf you want to use AIP-160, your expression must specify the field name, an\noperator, and the value that you want to use for filtering. The value\nmust be a string, a number, or a boolean. The operator\nmust be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.\n\nFor example, if you are filtering Compute Engine instances, you can\nexclude instances named `example-instance` by specifying\n`name != example-instance`.\n\nThe `:*` comparison can be used to test whether a key has been defined.\nFor example, to find all objects with `owner` label use:\n```\nlabels.owner:*\n```\n\nYou can also filter nested fields. For example, you could specify\n`scheduling.automaticRestart = false` to include instances only\nif they are not scheduled for automatic restarts. You can use filtering\non nested fields to filter based onresource labels.\n\nTo filter on multiple expressions, provide each separate expression within\nparentheses. For example:\n```\n(scheduling.automaticRestart = true)\n(cpuPlatform = \"Intel Skylake\")\n```\nBy default, each expression is an `AND` expression. However, you\ncan include `AND` and `OR` expressions explicitly.\nFor example:\n```\n(cpuPlatform = \"Intel Skylake\") OR\n(cpuPlatform = \"Intel Broadwell\") AND\n(scheduling.automaticRestart = true)\n```\n\nIf you want to use a regular expression, use the `eq` (equal) or `ne`\n(not equal) operator against a single un-parenthesized expression with or\nwithout quotes or against multiple parenthesized expressions. Examples:\n\n`fieldname eq unquoted literal`\n`fieldname eq 'single quoted literal'`\n`fieldname eq \"double quoted literal\"`\n`(fieldname1 eq literal) (fieldname2 ne \"literal\")`\n\nThe literal value is interpreted as a regular expression using GoogleRE2 library syntax.\nThe literal value must match the entire field.\n\nFor example, to filter for instances that do not end with name \"instance\",\nyou would use `name ne .*instance`.\n\nYou cannot combine constraints on multiple fields using regular\nexpressions.", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned.\nIf the number of available results is larger than `maxResults`,\nCompute Engine returns a `nextPageToken` that can be used to get\nthe next page of results in subsequent list requests. Acceptable values are\n`0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results\nare returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation\ntimestamp using `orderBy=\"creationTimestamp desc\"`. This sorts\nresults based on the `creationTimestamp` field in\nreverse chronological order (newest result first). Use this to sort\nresources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by `name` or\n`creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "organization": { + "description": "Organization ID for this request.", + "location": "path", + "pattern": "organizations/[0-9]{0,20}", + "required": true, + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the\n`nextPageToken` returned by a previous list request to get\nthe next page of results.", + "location": "query", + "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith 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": "{+organization}/zones/{zone}/vmExtensions", + "response": { + "$ref": "ListVmExtensionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "update": { + "description": "Modifies an existing zone VM extension policy within an organization.", + "flatPath": "organizations/{organizationsId}/zones/{zone}/vmExtensionPolicies/{vmExtensionPolicy}", + "httpMethod": "PATCH", + "id": "compute.organizationZoneVmExtensionPolicies.update", + "parameterOrder": [ + "organization", + "zone", + "vmExtensionPolicy" + ], + "parameters": { + "organization": { + "description": "Organization ID for this request.", + "location": "path", + "pattern": "organizations/[0-9]{0,20}", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "vmExtensionPolicy": { + "description": "Name of the zone VM extension policy to update.", + "location": "path", + "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": "{+organization}/zones/{zone}/vmExtensionPolicies/{vmExtensionPolicy}", + "request": { + "$ref": "VmExtensionPolicy" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + } + } + }, "packetMirrorings": { "methods": { "aggregatedList": { @@ -55121,7 +56306,7 @@ } } }, - "revision": "20260501", + "revision": "20260520", "rootUrl": "https://compute.googleapis.com/", "schemas": { "AWSV4Signature": { @@ -56600,7 +57785,8 @@ "VM_FAMILY_CLOUD_TPU_POD_SLICE_CT4P", "VM_FAMILY_CLOUD_TPU_POD_SLICE_CT5P", "VM_FAMILY_CLOUD_TPU_POD_SLICE_TPU7", - "VM_FAMILY_CLOUD_TPU_POD_SLICE_TPU7X" + "VM_FAMILY_CLOUD_TPU_POD_SLICE_TPU7X", + "VM_FAMILY_CLOUD_TPU_POD_SLICE_TPU8I_METAL" ], "enumDescriptions": [ "", @@ -56611,6 +57797,7 @@ "", "", "", + "", "" ], "type": "string" @@ -57960,7 +59147,7 @@ "Do not automatically scale the MIG in or out.\nThe recommended_size field contains the size of MIG that would be set if\nthe 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\nthe MIG in.", - "Automatically create VMs according to the policy, but do not scale\nthe MIG in." + "Automatically create VMs according to the policy, but do not scale\nthe MIG in.\nIt's recommended to use ONLY_SCALE_OUT instead of ONLY_UP." ], "type": "string" }, @@ -60470,6 +61657,20 @@ "description": "Denotes whether to enable logging for the load balancer\ntraffic served by this backend service. The default value is false.", "type": "boolean" }, + "loggingHttpRequestHeaders": { + "description": "The list of request headers that will be logged to Stackdriver.", + "items": { + "$ref": "BackendServiceLogConfigLoggingHttpHeader" + }, + "type": "array" + }, + "loggingHttpResponseHeaders": { + "description": "The list of response headers that will be logged to Stackdriver.", + "items": { + "$ref": "BackendServiceLogConfigLoggingHttpHeader" + }, + "type": "array" + }, "optional": { "deprecated": true, "description": "Deprecated in favor of optionalMode.\nThis field can only be specified if logging is enabled for this backend\nservice. Configures whether all, none or a subset of optional fields\nshould be added to the reported logs. One of [INCLUDE_ALL_OPTIONAL,\nEXCLUDE_ALL_OPTIONAL, CUSTOM]. Default is EXCLUDE_ALL_OPTIONAL.", @@ -60518,6 +61719,17 @@ }, "type": "object" }, + "BackendServiceLogConfigLoggingHttpHeader": { + "description": "Determines which HTTP headers will be logged to Stackdriver.", + "id": "BackendServiceLogConfigLoggingHttpHeader", + "properties": { + "headerName": { + "description": "The name of the header to be logged.", + "type": "string" + } + }, + "type": "object" + }, "BackendServiceNetworkPassThroughLbTrafficPolicy": { "id": "BackendServiceNetworkPassThroughLbTrafficPolicy", "properties": { @@ -62287,6 +63499,7 @@ "ACCELERATOR_OPTIMIZED_A4", "ACCELERATOR_OPTIMIZED_A4X", "ACCELERATOR_OPTIMIZED_A4X_MAX", + "ACCELERATOR_OPTIMIZED_A5X", "COMPUTE_OPTIMIZED", "COMPUTE_OPTIMIZED_C2D", "COMPUTE_OPTIMIZED_C3", @@ -62322,6 +63535,7 @@ "MEMORY_OPTIMIZED_X4_960_12T", "MEMORY_OPTIMIZED_X4_960_16T", "STORAGE_OPTIMIZED_Z3", + "STORAGE_OPTIMIZED_Z4D", "TYPE_UNSPECIFIED" ], "enumDescriptions": [ @@ -62357,6 +63571,7 @@ "", "", "", + "", "CUD bucket for X4 machine with 1440 vCPUs and 24TB of memory.", "", "CUD bucket for X4 machine with 1920 vCPUs and 32TB of memory.", @@ -62367,6 +63582,7 @@ "CUD bucket for X4 machine with 960 vCPUs and 12TB of memory.", "CUD bucket for X4 machine with 960 vCPUs and 16TB of memory.", "", + "CUD bucket for Z4D machines.", "Note for internal users: When adding a new enum Type for v1, make sure\nto also add it in the comment for the `optional Type type` definition.\nThis ensures that the public documentation displays the new enum Type." ], "type": "string" @@ -69637,7 +70853,8 @@ "VM_FAMILY_CLOUD_TPU_POD_SLICE_CT4P", "VM_FAMILY_CLOUD_TPU_POD_SLICE_CT5P", "VM_FAMILY_CLOUD_TPU_POD_SLICE_TPU7", - "VM_FAMILY_CLOUD_TPU_POD_SLICE_TPU7X" + "VM_FAMILY_CLOUD_TPU_POD_SLICE_TPU7X", + "VM_FAMILY_CLOUD_TPU_POD_SLICE_TPU8I_METAL" ], "enumDescriptions": [ "", @@ -69648,6 +70865,7 @@ "", "", "", + "", "" ], "type": "string" @@ -71635,12 +72853,6 @@ "description": "Name of the destination zone for the failover.", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "type": "string" - }, - "primaryZone": { - "deprecated": true, - "description": "Name of the destination zone for the failover.\nDeprecated: use failover_to_zone instead.", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "type": "string" } }, "type": "object" @@ -79021,6 +80233,27 @@ "InstanceGroupManagerUpdatePolicy": { "id": "InstanceGroupManagerUpdatePolicy", "properties": { + "allowedActions": { + "description": "Actions that are allowed to update instances within MIG.", + "items": { + "enum": [ + "NONE", + "REFRESH", + "REPLACE", + "RESTART", + "RESTART_IN_PLACE" + ], + "enumDescriptions": [ + "Do not perform any action.", + "Do not stop the instance.", + "(Default.) Replace the instance according to the replacement method\noption.", + "Stop the instance and start it again.", + "Restart the instance using the same capacity and preserving local SSDs." + ], + "type": "string" + }, + "type": "array" + }, "disruptionMode": { "description": "Whether the boot disk is allowed to be updated with restart.", "enum": [ @@ -79164,6 +80397,27 @@ "description": "Flag to update all instances instead of specified list of “instances”.\nIf the flag is set to true then the instances may not be specified\nin the request.", "type": "boolean" }, + "allowedActions": { + "description": "Actions that are allowed to update instances within MIG.", + "items": { + "enum": [ + "NONE", + "REFRESH", + "REPLACE", + "RESTART", + "RESTART_IN_PLACE" + ], + "enumDescriptions": [ + "Do not perform any action.", + "Do not stop the instance.", + "(Default.) Replace the instance according to the replacement method\noption.", + "Stop the instance and start it again.", + "Restart the instance using the same capacity and preserving local SSDs." + ], + "type": "string" + }, + "type": "array" + }, "disruptionMode": { "description": "Whether the boot disk is allowed to be updated with restart.", "enum": [ @@ -80650,16 +81904,16 @@ "properties": { "error": { "$ref": "InstanceManagedByIgmErrorManagedInstanceError", - "description": "Output only. [Output Only] Contents of the error.", + "description": "Output only. Contents of the error.", "readOnly": true }, "instanceActionDetails": { "$ref": "InstanceManagedByIgmErrorInstanceActionDetails", - "description": "Output only. [Output Only] Details of the instance action that triggered this error.\nMay be null, if the error was not caused by an action on an instance.\nThis field is optional.", + "description": "Output only. Details of the instance action that triggered this error.\nMay be null, if the error was not caused by an action on an instance.\nThis field is optional.", "readOnly": true }, "timestamp": { - "description": "Output only. [Output Only] The time that this error occurred.\nThis value is in RFC3339 text format.", + "description": "Output only. The time that this error occurred. This value is in RFC3339 text format.", "readOnly": true, "type": "string" } @@ -80670,7 +81924,7 @@ "id": "InstanceManagedByIgmErrorInstanceActionDetails", "properties": { "action": { - "description": "Output only. [Output Only] Action that managed instance group was executing on\nthe instance when the error occurred. Possible values:", + "description": "Output only. Action that managed instance group was executing on the instance when the\nerror occurred. Possible values:", "enum": [ "ABANDONING", "ADOPTING", @@ -80713,13 +81967,13 @@ "type": "string" }, "instance": { - "description": "Output only. [Output Only] The URL of the instance.\nThe URL can be set even if the instance has not yet been created.", + "description": "Output only. The URL of the instance. The URL can be set even if the instance has not\nyet been created.", "readOnly": true, "type": "string" }, "version": { "$ref": "ManagedInstanceVersion", - "description": "Output only. [Output Only] Version this instance was created from, or was being\ncreated from, but the creation failed. Corresponds to one of the versions\nthat were set on the Instance Group Manager resource at the time this\ninstance was being created.", + "description": "Output only. Version this instance was created from, or was being\ncreated from, but the creation failed. Corresponds to one of the versions\nthat were set on the Instance Group Manager resource at the time this\ninstance was being created.", "readOnly": true } }, @@ -80729,12 +81983,12 @@ "id": "InstanceManagedByIgmErrorManagedInstanceError", "properties": { "code": { - "description": "Output only. [Output Only] Error code.", + "description": "Output only. Error code.", "readOnly": true, "type": "string" }, "message": { - "description": "Output only. [Output Only] Error message.", + "description": "Output only. Error message.", "readOnly": true, "type": "string" } @@ -98215,327 +99469,491 @@ }, "type": "object" }, - "Operation": { - "description": "Represents an Operation resource.\n\nGoogle Compute Engine has three Operation resources:\n\n* [Global](/compute/docs/reference/rest/alpha/globalOperations)\n* [Regional](/compute/docs/reference/rest/alpha/regionOperations)\n* [Zonal](/compute/docs/reference/rest/alpha/zoneOperations)\n\nYou can use an operation resource to manage asynchronous API requests.\nFor more information, readHandling\nAPI responses.\n\nOperations can be global, regional or zonal.\n \n - For global operations, use the `globalOperations`\n resource. \n - For regional operations, use the\n `regionOperations` resource. \n - For zonal operations, use\n the `zoneOperations` resource.\n\n\n\nFor more information, read\nGlobal, Regional, and Zonal Resources.\n\nNote that completed Operation resources have a limited \nretention period.", - "id": "Operation", - "properties": { - "clientOperationId": { - "description": "[Output Only] The value of `requestId` if you provided it in the request.\nNot 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\nset when the operation is created.", - "type": "string" - }, - "endTime": { - "description": "[Output Only] The time that this operation was completed. This value is inRFC3339\ntext format.", - "type": "string" - }, - "error": { - "description": "[Output Only] If errors are generated during processing of the operation,\nthis field will be populated.", - "properties": { - "errors": { - "description": "[Output Only] The array of errors encountered while processing this\noperation.", - "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\ndetails. There is a set of defined message types to use for providing\ndetails.The syntax depends on the error code. For example,\nQuotaExceededInfo will have details when the error code is\nQUOTA_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.\nThis property is optional.", - "type": "string" - }, - "message": { - "description": "[Output Only] An optional, human-readable error message.", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - } - }, - "type": "object" - }, - "getVersionOperationMetadata": { - "$ref": "GetVersionOperationMetadata" - }, - "httpErrorMessage": { - "description": "[Output Only] If the operation fails, this field contains the HTTP error\nmessage that was returned, such as `NOT FOUND`.", - "type": "string" - }, - "httpErrorStatusCode": { - "description": "[Output Only] If the operation fails, this field contains the HTTP error\nstatus code that was returned. For example, a `404` means the\nresource was not found.", - "format": "int32", - "type": "integer" - }, - "id": { - "description": "[Output Only] The unique identifier for the operation. This identifier is\ndefined by the server.", - "format": "uint64", - "type": "string" - }, - "insertTime": { - "description": "[Output Only] The time that this operation was requested.\nThis value is inRFC3339\ntext format.", - "type": "string" - }, - "instancesBulkInsertOperationMetadata": { - "$ref": "InstancesBulkInsertOperationMetadata" - }, - "kind": { - "default": "compute#operation", - "description": "Output only. [Output Only] Type of the resource. Always `compute#operation` for\nOperation resources.", - "readOnly": true, - "type": "string" - }, - "name": { - "description": "[Output Only] Name of the operation.", - "type": "string" - }, - "operationGroupId": { - "description": "Output only. [Output Only] An ID that represents a group of operations, such as when a\ngroup of operations results from a `bulkInsert` API request.", - "readOnly": true, - "type": "string" - }, - "operationType": { - "description": "[Output Only] The type of operation, such as `insert`,\n`update`, or `delete`, and so on.", - "type": "string" - }, - "progress": { - "description": "[Output Only] An optional progress indicator that ranges from 0 to 100.\nThere is no requirement that this be linear or support any granularity of\noperations. This should not be used to guess when the operation will be\ncomplete. This number should monotonically increase as the operation\nprogresses.", - "format": "int32", - "type": "integer" - }, - "region": { - "description": "[Output Only] The URL of the region where the operation resides. Only\napplicable when performing regional operations.", - "type": "string" - }, - "selfLink": { - "description": "[Output Only] Server-defined URL for the resource.", - "type": "string" - }, - "selfLinkWithId": { - "description": "Output only. [Output Only] Server-defined URL for this resource with the resource id.", - "readOnly": true, - "type": "string" - }, - "setCommonInstanceMetadataOperationMetadata": { - "$ref": "SetCommonInstanceMetadataOperationMetadata", - "description": "Output only. [Output Only] If the operation is for projects.setCommonInstanceMetadata,\nthis field will contain information on all underlying zonal actions and\ntheir state.", - "readOnly": true - }, - "startTime": { - "description": "[Output Only] The time that this operation was started by the server.\nThis value is inRFC3339\ntext format.", - "type": "string" - }, - "status": { - "description": "[Output Only] The status of the operation, which can be one of the\nfollowing:\n`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\noperation.", - "type": "string" - }, - "targetId": { - "description": "[Output Only] The unique target ID, which identifies a specific incarnation\nof the target resource.", - "format": "uint64", - "type": "string" - }, - "targetLink": { - "description": "[Output Only] The URL of the resource that the operation modifies. For\noperations related to creating a snapshot, this points to the disk\nthat the snapshot was created from.", - "type": "string" - }, - "user": { - "description": "[Output Only] User who requested the operation, for example:\n`user@example.com` or\n`alice_smith_identifier (global/workforcePools/example-com-us-employees)`.", - "type": "string" - }, - "warnings": { - "description": "[Output Only] If warning messages are generated during processing of the\noperation, this field will be populated.", - "items": { - "properties": { - "code": { - "description": "[Output Only] A warning code, if applicable. For example, Compute\nEngine returns NO_RESULTS_ON_PAGE if there\nare no results in the response.", - "enum": [ - "CLEANUP_FAILED", - "DEPRECATED_RESOURCE_USED", - "DEPRECATED_TYPE_USED", - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", - "EXPERIMENTAL_TYPE_USED", - "EXTERNAL_API_WARNING", - "FIELD_VALUE_OVERRIDEN", - "INJECTED_KERNELS_DEPRECATED", - "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", - "LARGE_DEPLOYMENT_WARNING", - "LIST_OVERHEAD_QUOTA_EXCEED", - "MISSING_TYPE_DEPENDENCY", - "NEXT_HOP_ADDRESS_NOT_ASSIGNED", - "NEXT_HOP_CANNOT_IP_FORWARD", - "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", - "NEXT_HOP_INSTANCE_NOT_FOUND", - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", - "NEXT_HOP_NOT_RUNNING", - "NOT_CRITICAL_ERROR", - "NO_RESULTS_ON_PAGE", - "PARTIAL_SUCCESS", - "QUOTA_INFO_UNAVAILABLE", - "REQUIRED_TOS_AGREEMENT", - "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", - "RESOURCE_NOT_DELETED", - "SCHEMA_VALIDATION_IGNORED", - "SINGLE_INSTANCE_PROPERTY_TEMPLATE", - "UNDECLARED_PROPERTIES", - "UNREACHABLE" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "enumDescriptions": [ - "Warning about failed cleanup of transient changes made by a failed\noperation.", - "A link to a deprecated resource was created.", - "When deploying and at least one of the resources has a type marked as\ndeprecated", - "The user created a boot disk that is larger than image size.", - "When deploying and at least one of the resources has a type marked as\nexperimental", - "Warning that is present in an external api call", - "Warning that value of a field has been overridden.\nDeprecated unused field.", - "The operation involved use of an injected kernel, which is deprecated.", - "A WEIGHTED_MAGLEV backend service is associated with a health check that is\nnot of type HTTP/HTTPS/HTTP2.", - "When deploying a deployment with a exceedingly large number of resources", - "Resource can't be retrieved due to list overhead quota exceed\nwhich captures the amount of resources filtered out by\nuser-defined list filter.", - "A resource depends on a missing type", - "The route's nextHopIp address is not assigned to an instance on the\nnetwork.", - "The route's next hop instance cannot ip forward.", - "The route's nextHopInstance URL refers to an instance that does not have an\nipv6 interface on the same network as the route.", - "The route's nextHopInstance URL refers to an instance that does not exist.", - "The route's nextHopInstance URL refers to an instance that is not on the\nsame network as the route.", - "The route's next hop instance does not have a status of RUNNING.", - "Error which is not critical. We decided to continue the process despite\nthe mentioned error.", - "No results are present on a particular list page.", - "Success is reported, but some results may be missing due to errors", - "Quota information is not available to client requests (e.g:\nregions.list).", - "The user attempted to use a resource that requires a TOS they have not\naccepted.", - "Warning that a resource is in use.", - "One or more of the resources set to auto-delete could not be deleted\nbecause they were in use.", - "When a resource schema validation is ignored.", - "Instance template used in instance group manager is valid as such, but\nits application does not make a lot of sense, because it allows only\nsingle instance in instance group.", - "When undeclared properties in the schema are present", - "A given scope cannot be reached." - ], - "type": "string" - }, - "data": { - "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }", - "items": { - "properties": { - "key": { - "description": "[Output Only] A key that provides more detail on the warning being\nreturned. For example, for warnings where there are no results in a list\nrequest for a particular zone, this key might be scope and\nthe key value might be the zone name. Other examples might be a key\nindicating a deprecated resource and a suggested replacement, or a\nwarning about invalid network settings (for example, if an instance\nattempts to perform IP forwarding but is not enabled for IP forwarding).", - "type": "string" - }, - "value": { - "description": "[Output Only] A warning data value corresponding to the 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\napplicable when performing per-zone operations.", - "type": "string" - } - }, - "type": "object" - }, - "OperationAggregatedList": { - "id": "OperationAggregatedList", + "Operation": { + "description": "Represents an Operation resource.\n\nGoogle Compute Engine has three Operation resources:\n\n* [Global](/compute/docs/reference/rest/alpha/globalOperations)\n* [Regional](/compute/docs/reference/rest/alpha/regionOperations)\n* [Zonal](/compute/docs/reference/rest/alpha/zoneOperations)\n\nYou can use an operation resource to manage asynchronous API requests.\nFor more information, readHandling\nAPI responses.\n\nOperations can be global, regional or zonal.\n \n - For global operations, use the `globalOperations`\n resource. \n - For regional operations, use the\n `regionOperations` resource. \n - For zonal operations, use\n the `zoneOperations` resource.\n\n\n\nFor more information, read\nGlobal, Regional, and Zonal Resources.\n\nNote that completed Operation resources have a limited \nretention period.", + "id": "Operation", + "properties": { + "clientOperationId": { + "description": "[Output Only] The value of `requestId` if you provided it in the request.\nNot 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\nset when the operation is created.", + "type": "string" + }, + "endTime": { + "description": "[Output Only] The time that this operation was completed. This value is inRFC3339\ntext format.", + "type": "string" + }, + "error": { + "description": "[Output Only] If errors are generated during processing of the operation,\nthis field will be populated.", + "properties": { + "errors": { + "description": "[Output Only] The array of errors encountered while processing this\noperation.", + "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\ndetails. There is a set of defined message types to use for providing\ndetails.The syntax depends on the error code. For example,\nQuotaExceededInfo will have details when the error code is\nQUOTA_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.\nThis property is optional.", + "type": "string" + }, + "message": { + "description": "[Output Only] An optional, human-readable error message.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + }, + "getVersionOperationMetadata": { + "$ref": "GetVersionOperationMetadata" + }, + "httpErrorMessage": { + "description": "[Output Only] If the operation fails, this field contains the HTTP error\nmessage that was returned, such as `NOT FOUND`.", + "type": "string" + }, + "httpErrorStatusCode": { + "description": "[Output Only] If the operation fails, this field contains the HTTP error\nstatus code that was returned. For example, a `404` means the\nresource was not found.", + "format": "int32", + "type": "integer" + }, + "id": { + "description": "[Output Only] The unique identifier for the operation. This identifier is\ndefined by the server.", + "format": "uint64", + "type": "string" + }, + "insertTime": { + "description": "[Output Only] The time that this operation was requested.\nThis value is inRFC3339\ntext format.", + "type": "string" + }, + "instancesBulkInsertOperationMetadata": { + "$ref": "InstancesBulkInsertOperationMetadata" + }, + "kind": { + "default": "compute#operation", + "description": "Output only. [Output Only] Type of the resource. Always `compute#operation` for\nOperation resources.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "[Output Only] Name of the operation.", + "type": "string" + }, + "operationGroupId": { + "description": "Output only. [Output Only] An ID that represents a group of operations, such as when a\ngroup of operations results from a `bulkInsert` API request.", + "readOnly": true, + "type": "string" + }, + "operationType": { + "description": "[Output Only] The type of operation, such as `insert`,\n`update`, or `delete`, and so on.", + "type": "string" + }, + "progress": { + "description": "[Output Only] An optional progress indicator that ranges from 0 to 100.\nThere is no requirement that this be linear or support any granularity of\noperations. This should not be used to guess when the operation will be\ncomplete. This number should monotonically increase as the operation\nprogresses.", + "format": "int32", + "type": "integer" + }, + "region": { + "description": "[Output Only] The URL of the region where the operation resides. Only\napplicable when performing regional operations.", + "type": "string" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for the resource.", + "type": "string" + }, + "selfLinkWithId": { + "description": "Output only. [Output Only] Server-defined URL for this resource with the resource id.", + "readOnly": true, + "type": "string" + }, + "setCommonInstanceMetadataOperationMetadata": { + "$ref": "SetCommonInstanceMetadataOperationMetadata", + "description": "Output only. [Output Only] If the operation is for projects.setCommonInstanceMetadata,\nthis field will contain information on all underlying zonal actions and\ntheir state.", + "readOnly": true + }, + "startTime": { + "description": "[Output Only] The time that this operation was started by the server.\nThis value is inRFC3339\ntext format.", + "type": "string" + }, + "status": { + "description": "[Output Only] The status of the operation, which can be one of the\nfollowing:\n`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\noperation.", + "type": "string" + }, + "targetId": { + "description": "[Output Only] The unique target ID, which identifies a specific incarnation\nof the target resource.", + "format": "uint64", + "type": "string" + }, + "targetLink": { + "description": "[Output Only] The URL of the resource that the operation modifies. For\noperations related to creating a snapshot, this points to the disk\nthat the snapshot was created from.", + "type": "string" + }, + "user": { + "description": "[Output Only] User who requested the operation, for example:\n`user@example.com` or\n`alice_smith_identifier (global/workforcePools/example-com-us-employees)`.", + "type": "string" + }, + "warnings": { + "description": "[Output Only] If warning messages are generated during processing of the\noperation, this field will be populated.", + "items": { + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute\nEngine returns NO_RESULTS_ON_PAGE if there\nare no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "LIST_OVERHEAD_QUOTA_EXCEED", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed\noperation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as\ndeprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as\nexperimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden.\nDeprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is\nnot of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "Resource can't be retrieved due to list overhead quota exceed\nwhich captures the amount of resources filtered out by\nuser-defined list filter.", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the\nnetwork.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an\nipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the\nsame network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite\nthe mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g:\nregions.list).", + "The user attempted to use a resource that requires a TOS they have not\naccepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted\nbecause they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but\nits application does not make a lot of sense, because it allows only\nsingle instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being\nreturned. For example, for warnings where there are no results in a list\nrequest for a particular zone, this key might be scope and\nthe key value might be the zone name. Other examples might be a key\nindicating a deprecated resource and a suggested replacement, or a\nwarning about invalid network settings (for example, if an instance\nattempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the 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\napplicable 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\ndefined 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. [Output Only] Type of resource. Always `compute#operationAggregatedList`\nfor aggregated lists of operations.", + "readOnly": true, + "type": "string" + }, + "nextPageToken": { + "description": "[Output Only] This token allows you to get the next page of results for\nlist requests. If the number of results is larger than\n`maxResults`, use the `nextPageToken` as a value for\nthe query parameter `pageToken` in the next list request.\nSubsequent list requests will have their own `nextPageToken` to\ncontinue paging through the results.", + "type": "string" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for this resource.", + "type": "string" + }, + "unreachables": { + "description": "Output only. [Output Only] Unreachable resources.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "warning": { + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute\nEngine returns NO_RESULTS_ON_PAGE if there\nare no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "LIST_OVERHEAD_QUOTA_EXCEED", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed\noperation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as\ndeprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as\nexperimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden.\nDeprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is\nnot of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "Resource can't be retrieved due to list overhead quota exceed\nwhich captures the amount of resources filtered out by\nuser-defined list filter.", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the\nnetwork.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an\nipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the\nsame network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite\nthe mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g:\nregions.list).", + "The user attempted to use a resource that requires a TOS they have not\naccepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted\nbecause they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but\nits application does not make a lot of sense, because it allows only\nsingle instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being\nreturned. For example, for warnings where there are no results in a list\nrequest for a particular zone, this key might be scope and\nthe key value might be the zone name. Other examples might be a key\nindicating a deprecated resource and a suggested replacement, or a\nwarning about invalid network settings (for example, if an instance\nattempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "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\ndefined 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 list of Operation resources.", + "items": { + "$ref": "Operation" }, - "description": "[Output Only] A map of scoped operation lists.", - "type": "object" + "type": "array" }, "kind": { - "default": "compute#operationAggregatedList", - "description": "Output only. [Output Only] Type of resource. Always `compute#operationAggregatedList`\nfor aggregated lists of operations.", + "default": "compute#operationList", + "description": "Output only. [Output Only] Type of resource. Always `compute#operations` for Operations\nresource.", "readOnly": true, "type": "string" }, @@ -98547,14 +99965,6 @@ "description": "[Output Only] Server-defined URL for this resource.", "type": "string" }, - "unreachables": { - "description": "Output only. [Output Only] Unreachable resources.", - "items": { - "type": "string" - }, - "readOnly": true, - "type": "array" - }, "warning": { "description": "[Output Only] Informational warning message.", "properties": { @@ -98682,37 +100092,18 @@ }, "type": "object" }, - "OperationList": { - "description": "Contains a list of Operation resources.", - "id": "OperationList", + "OperationsScopedList": { + "id": "OperationsScopedList", "properties": { - "id": { - "description": "[Output Only] The unique identifier for the resource. This identifier is\ndefined by the server.", - "type": "string" - }, - "items": { - "description": "[Output Only] A list of Operation resources.", + "operations": { + "description": "[Output Only] A list of operations contained in this scope.", "items": { "$ref": "Operation" }, "type": "array" }, - "kind": { - "default": "compute#operationList", - "description": "Output only. [Output Only] Type of resource. Always `compute#operations` for Operations\nresource.", - "readOnly": true, - "type": "string" - }, - "nextPageToken": { - "description": "[Output Only] This token allows you to get the next page of results for\nlist requests. If the number of results is larger than\n`maxResults`, use the `nextPageToken` as a value for\nthe query parameter `pageToken` in the next list request.\nSubsequent list requests will have their own `nextPageToken` to\ncontinue 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.", + "description": "[Output Only] Informational warning which replaces the list of operations\nwhen the list is empty.", "properties": { "code": { "description": "[Output Only] A warning code, if applicable. For example, Compute\nEngine returns NO_RESULTS_ON_PAGE if there\nare no results in the response.", @@ -98838,18 +100229,42 @@ }, "type": "object" }, - "OperationsScopedList": { - "id": "OperationsScopedList", + "OrganizationRolloutsListResponse": { + "id": "OrganizationRolloutsListResponse", "properties": { - "operations": { - "description": "[Output Only] A list of operations contained in this scope.", + "etag": { + "type": "string" + }, + "id": { + "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "type": "string" + }, + "items": { + "description": "A list of Rollout resources.", "items": { - "$ref": "Operation" + "$ref": "Rollout" + }, + "type": "array" + }, + "nextPageToken": { + "description": "[Output Only] This token allows you to get the next page of results for\nlist requests. If the number of results is larger thanmaxResults, use the nextPageToken as a value for\nthe query parameter pageToken in the next list request.\nSubsequent list requests will have their own nextPageToken to\ncontinue paging through the results.", + "type": "string" + }, + "selfLink": { + "description": "Output only. [Output Only] Server-defined URL for this resource.", + "readOnly": true, + "type": "string" + }, + "unreachables": { + "description": "Output only. [Output Only] Unreachable resources.\nend_interface: MixerListResponseWithEtagBuilder", + "items": { + "type": "string" }, + "readOnly": true, "type": "array" }, "warning": { - "description": "[Output Only] Informational warning which replaces the list of operations\nwhen the list is empty.", + "description": "[Output Only] Informational warning message.", "properties": { "code": { "description": "[Output Only] A warning code, if applicable. For example, Compute\nEngine returns NO_RESULTS_ON_PAGE if there\nare no results in the response.", @@ -99957,10 +101372,10 @@ ], "enumDescriptions": [ "Default value.", - "A dedicated window for customers to perform their own maintenance. This\noften runs concurrently with a DISRUPTIVE_UPGRADE. This corresponds to\nthe Customer Maintenance Window for CME.", - "For disruptive updates, including host machine kernel or firmware\nupgrades. This corresponds to the Critical Services Maintenance Window\nfor CME.", - "A post-maintenance window for customers to conduct final testing and\nperformance validation before resuming full business operations. This\ncorresponds to Performance Stress Testing for CME.", - "For preliminary, non-disruptive tasks such as key rotations. This\ncorresponds to the Zone Swap Window for CME." + "A dedicated window for customers to perform their own maintenance. This\noften runs concurrently with a DISRUPTIVE_UPGRADE.", + "For disruptive updates, including host machine kernel or firmware\nupgrades.", + "A post-maintenance window for customers to conduct final testing and\nperformance validation before resuming full business operations.", + "For preliminary, non-disruptive tasks such as key rotations." ], "type": "string" }, @@ -105041,6 +106456,27 @@ "description": "Flag to update all instances instead of specified list of “instances”.\nIf the flag is set to true then the instances may not be specified\nin the request.", "type": "boolean" }, + "allowedActions": { + "description": "Actions that are allowed to update instances within MIG.", + "items": { + "enum": [ + "NONE", + "REFRESH", + "REPLACE", + "RESTART", + "RESTART_IN_PLACE" + ], + "enumDescriptions": [ + "Do not perform any action.", + "Do not stop the instance.", + "(Default.) Replace the instance according to the replacement method\noption.", + "Stop the instance and start it again.", + "Restart the instance using the same capacity and preserving local SSDs." + ], + "type": "string" + }, + "type": "array" + }, "disruptionMode": { "description": "Whether the boot disk is allowed to be updated with restart.", "enum": [ @@ -109439,6 +110875,11 @@ "description": "Represents the physical host topology of the host on which the VM is\nrunning.", "id": "ResourceStatusPhysicalHostTopology", "properties": { + "additionalAttributes": { + "$ref": "ResourceStatusPhysicalHostTopologyAdditionalAttributes", + "description": "Output only. [Output Only] Additional location information of the running instance.", + "readOnly": true + }, "block": { "description": "[Output Only] The ID of the block in which the running instance is\nlocated. Instances within the same block experience low network latency.", "type": "string" @@ -109458,6 +110899,21 @@ }, "type": "object" }, + "ResourceStatusPhysicalHostTopologyAdditionalAttributes": { + "description": "Additional location information of the running instance.", + "id": "ResourceStatusPhysicalHostTopologyAdditionalAttributes", + "properties": { + "acceleratorTopologyIds": { + "additionalProperties": { + "type": "string" + }, + "description": "Output only. The IDs of the accelerator topologies the instance belongs to. For\nexample\nThe key will be topologies like \"4x4\", \"2x2x2\" and the value will be\nthe location ID of the topologies.", + "readOnly": true, + "type": "object" + } + }, + "type": "object" + }, "ResourceStatusReservationConsumptionInfo": { "description": "Reservation consumption information that the instance is consuming from.", "id": "ResourceStatusReservationConsumptionInfo", @@ -111980,6 +113436,12 @@ }, "type": "array" }, + "effectiveTcpTimeWaitTimeoutSec": { + "description": "Output only. Effective timeout (in seconds) for TCP connections that are in TIME_WAIT\nstate. This value is equal to tcp_time_wait_timeout_sec if it is set,\notherwise it is equal to 120s. The field is output only.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, "enableDynamicPortAllocation": { "description": "Enable Dynamic Port Allocation.\n\n\nIf not specified, it is disabled by default.\n\n\nIf set to true,\n \n - Dynamic Port Allocation will be enabled on this NAT\n config.\n - enableEndpointIndependentMapping cannot be set to true.\n - If minPorts is set, minPortsPerVm must be set to a\n power of two greater than or equal to 32. If minPortsPerVm is not set, a\n minimum of 32 ports will be allocated to a VM from this NAT\n config.", "type": "boolean" @@ -117299,6 +118761,14 @@ }, "description": "The rules for the snapshot recycle bin policy. The key is either 'default'\nor namespacedName of the TagValue which can be in the format:\n`{organization_id}/{tag_key_short_name}/{tag_value_short_name}` or\n`{project_id}/{tag_key_short_name}/{tag_value_short_name}` or\n`{project_number}/{tag_key_short_name}/{tag_value_short_name}`. The default\nrule is applied if snapshots do not have any of these tags.\n The value is the rule for the key.", "type": "object" + }, + "systemRules": { + "additionalProperties": { + "$ref": "SnapshotRecycleBinPolicyRule" + }, + "description": "Output only. The system rules for snapshot recycle bin policy.\nDefines the default rule that applies if no customer-defined rule matches.", + "readOnly": true, + "type": "object" } }, "type": "object" diff --git a/discovery/compute-beta.json b/discovery/compute-beta.json index 7dcc21b4319..09a37f11c62 100644 --- a/discovery/compute-beta.json +++ b/discovery/compute-beta.json @@ -22836,6 +22836,483 @@ } } }, + "organizationRolloutPlans": { + "methods": { + "delete": { + "description": "Deletes an OrganizationRolloutPlan.", + "flatPath": "organizations/{organizationsId}/global/rolloutPlans/{rolloutPlan}", + "httpMethod": "DELETE", + "id": "compute.organizationRolloutPlans.delete", + "parameterOrder": [ + "organization", + "rolloutPlan" + ], + "parameters": { + "organization": { + "description": "Organization ID for this request.", + "location": "path", + "pattern": "organizations/[0-9]{0,20}", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "rolloutPlan": { + "description": "Name of the OrganizationRolloutPlan 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": "{+organization}/global/rolloutPlans/{rolloutPlan}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "get": { + "description": "Gets details of a single organization-scoped RolloutPlan.", + "flatPath": "organizations/{organizationsId}/global/rolloutPlans/{rolloutPlan}", + "httpMethod": "GET", + "id": "compute.organizationRolloutPlans.get", + "parameterOrder": [ + "organization", + "rolloutPlan" + ], + "parameters": { + "organization": { + "description": "Organization ID for this request.", + "location": "path", + "pattern": "organizations/[0-9]{0,20}", + "required": true, + "type": "string" + }, + "rolloutPlan": { + "description": "Name of the persistent rollout plan 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": "{+organization}/global/rolloutPlans/{rolloutPlan}", + "response": { + "$ref": "RolloutPlan" + }, + "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 RolloutPlan in a given organization and location.", + "flatPath": "organizations/{organizationsId}/global/rolloutPlans", + "httpMethod": "POST", + "id": "compute.organizationRolloutPlans.insert", + "parameterOrder": [ + "organization" + ], + "parameters": { + "organization": { + "description": "Organization ID for this request.", + "location": "path", + "pattern": "organizations/[0-9]{0,20}", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "{+organization}/global/rolloutPlans", + "request": { + "$ref": "RolloutPlan" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "list": { + "description": "Lists OrganizationRolloutPlans in a given organization and location.", + "flatPath": "organizations/{organizationsId}/global/rolloutPlans", + "httpMethod": "GET", + "id": "compute.organizationRolloutPlans.list", + "parameterOrder": [ + "organization" + ], + "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most\nCompute resources support two types of filter expressions:\nexpressions that support regular expressions and expressions that follow\nAPI improvement proposal AIP-160.\nThese two types of filter expressions cannot be mixed in one request.\n\nIf you want to use AIP-160, your expression must specify the field name, an\noperator, and the value that you want to use for filtering. The value\nmust be a string, a number, or a boolean. The operator\nmust be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.\n\nFor example, if you are filtering Compute Engine instances, you can\nexclude instances named `example-instance` by specifying\n`name != example-instance`.\n\nThe `:*` comparison can be used to test whether a key has been defined.\nFor example, to find all objects with `owner` label use:\n```\nlabels.owner:*\n```\n\nYou can also filter nested fields. For example, you could specify\n`scheduling.automaticRestart = false` to include instances only\nif they are not scheduled for automatic restarts. You can use filtering\non nested fields to filter based onresource labels.\n\nTo filter on multiple expressions, provide each separate expression within\nparentheses. For example:\n```\n(scheduling.automaticRestart = true)\n(cpuPlatform = \"Intel Skylake\")\n```\nBy default, each expression is an `AND` expression. However, you\ncan include `AND` and `OR` expressions explicitly.\nFor example:\n```\n(cpuPlatform = \"Intel Skylake\") OR\n(cpuPlatform = \"Intel Broadwell\") AND\n(scheduling.automaticRestart = true)\n```\n\nIf you want to use a regular expression, use the `eq` (equal) or `ne`\n(not equal) operator against a single un-parenthesized expression with or\nwithout quotes or against multiple parenthesized expressions. Examples:\n\n`fieldname eq unquoted literal`\n`fieldname eq 'single quoted literal'`\n`fieldname eq \"double quoted literal\"`\n`(fieldname1 eq literal) (fieldname2 ne \"literal\")`\n\nThe literal value is interpreted as a regular expression using GoogleRE2 library syntax.\nThe literal value must match the entire field.\n\nFor example, to filter for instances that do not end with name \"instance\",\nyou would use `name ne .*instance`.\n\nYou cannot combine constraints on multiple fields using regular\nexpressions.", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned.\nIf the number of available results is larger than `maxResults`,\nCompute Engine returns a `nextPageToken` that can be used to get\nthe next page of results in subsequent list requests. Acceptable values are\n`0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results\nare returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation\ntimestamp using `orderBy=\"creationTimestamp desc\"`. This sorts\nresults based on the `creationTimestamp` field in\nreverse chronological order (newest result first). Use this to sort\nresources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by `name` or\n`creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "organization": { + "description": "Organization ID for this request.", + "location": "path", + "pattern": "organizations/[0-9]{0,20}", + "required": true, + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the\n`nextPageToken` returned by a previous list request to get\nthe next page of results.", + "location": "query", + "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.", + "location": "query", + "type": "boolean" + } + }, + "path": "{+organization}/global/rolloutPlans", + "response": { + "$ref": "RolloutPlansListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + } + } + }, + "organizationRollouts": { + "methods": { + "advance": { + "description": "Advances a Rollout to the next wave, or completes it if no waves remain.", + "flatPath": "organizations/{organizationsId}/global/rollouts/{rollout}/advance", + "httpMethod": "POST", + "id": "compute.organizationRollouts.advance", + "parameterOrder": [ + "organization", + "rollout" + ], + "parameters": { + "currentWaveNumber": { + "description": "Required. Wave number of the current wave.", + "format": "int64", + "location": "query", + "type": "string" + }, + "organization": { + "description": "Required. Organization ID for this request.", + "location": "path", + "pattern": "organizations/[0-9]{1,19}", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "rollout": { + "description": "Required. Name of the Rollout resource to advance.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "{+organization}/global/rollouts/{rollout}/advance", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "cancel": { + "description": "Cancels a Rollout.", + "flatPath": "organizations/{organizationsId}/global/rollouts/{rollout}", + "httpMethod": "PATCH", + "id": "compute.organizationRollouts.cancel", + "parameterOrder": [ + "organization", + "rollout" + ], + "parameters": { + "organization": { + "description": "Required. Organization ID for this request.", + "location": "path", + "pattern": "organizations/[0-9]{1,19}", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "rollback": { + "description": "Optional. If true, then the ongoing rollout must be rolled back. Else, just cancel\nthe rollout without taking any further actions. Note that products must\nsupport at least one of these options, however, it does not need to support\nboth.", + "location": "query", + "type": "boolean" + }, + "rollout": { + "description": "Name of the Rollout resource to cancel.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "{+organization}/global/rollouts/{rollout}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "delete": { + "description": "Deletes a Rollout.", + "flatPath": "organizations/{organizationsId}/global/rollouts/{rollout}", + "httpMethod": "DELETE", + "id": "compute.organizationRollouts.delete", + "parameterOrder": [ + "organization", + "rollout" + ], + "parameters": { + "organization": { + "description": "Required. Organization ID for this request.", + "location": "path", + "pattern": "organizations/[0-9]{1,19}", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "rollout": { + "description": "Name of the Rollout 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": "{+organization}/global/rollouts/{rollout}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "get": { + "description": "Gets details of a single organization-scoped Rollout.", + "flatPath": "organizations/{organizationsId}/global/rollouts/{rollout}", + "httpMethod": "GET", + "id": "compute.organizationRollouts.get", + "parameterOrder": [ + "organization", + "rollout" + ], + "parameters": { + "organization": { + "description": "Organization ID for this request.", + "location": "path", + "pattern": "organizations/[0-9]{0,20}", + "required": true, + "type": "string" + }, + "rollout": { + "description": "Name of the persistent rollout 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": "{+organization}/global/rollouts/{rollout}", + "response": { + "$ref": "Rollout" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "list": { + "description": "Lists Rollouts in a given organization and location.", + "flatPath": "organizations/{organizationsId}/global/rollouts", + "httpMethod": "GET", + "id": "compute.organizationRollouts.list", + "parameterOrder": [ + "organization" + ], + "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most\nCompute resources support two types of filter expressions:\nexpressions that support regular expressions and expressions that follow\nAPI improvement proposal AIP-160.\nThese two types of filter expressions cannot be mixed in one request.\n\nIf you want to use AIP-160, your expression must specify the field name, an\noperator, and the value that you want to use for filtering. The value\nmust be a string, a number, or a boolean. The operator\nmust be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`.\n\nFor example, if you are filtering Compute Engine instances, you can\nexclude instances named `example-instance` by specifying\n`name != example-instance`.\n\nThe `:*` comparison can be used to test whether a key has been defined.\nFor example, to find all objects with `owner` label use:\n```\nlabels.owner:*\n```\n\nYou can also filter nested fields. For example, you could specify\n`scheduling.automaticRestart = false` to include instances only\nif they are not scheduled for automatic restarts. You can use filtering\non nested fields to filter based onresource labels.\n\nTo filter on multiple expressions, provide each separate expression within\nparentheses. For example:\n```\n(scheduling.automaticRestart = true)\n(cpuPlatform = \"Intel Skylake\")\n```\nBy default, each expression is an `AND` expression. However, you\ncan include `AND` and `OR` expressions explicitly.\nFor example:\n```\n(cpuPlatform = \"Intel Skylake\") OR\n(cpuPlatform = \"Intel Broadwell\") AND\n(scheduling.automaticRestart = true)\n```\n\nIf you want to use a regular expression, use the `eq` (equal) or `ne`\n(not equal) operator against a single un-parenthesized expression with or\nwithout quotes or against multiple parenthesized expressions. Examples:\n\n`fieldname eq unquoted literal`\n`fieldname eq 'single quoted literal'`\n`fieldname eq \"double quoted literal\"`\n`(fieldname1 eq literal) (fieldname2 ne \"literal\")`\n\nThe literal value is interpreted as a regular expression using GoogleRE2 library syntax.\nThe literal value must match the entire field.\n\nFor example, to filter for instances that do not end with name \"instance\",\nyou would use `name ne .*instance`.\n\nYou cannot combine constraints on multiple fields using regular\nexpressions.", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned.\nIf the number of available results is larger than `maxResults`,\nCompute Engine returns a `nextPageToken` that can be used to get\nthe next page of results in subsequent list requests. Acceptable values are\n`0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results\nare returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation\ntimestamp using `orderBy=\"creationTimestamp desc\"`. This sorts\nresults based on the `creationTimestamp` field in\nreverse chronological order (newest result first). Use this to sort\nresources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by `name` or\n`creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "organization": { + "description": "Required. Organization ID for this request.", + "location": "path", + "pattern": "organizations/[0-9]{1,19}", + "required": true, + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the\n`nextPageToken` returned by a previous list request to get\nthe next page of results.", + "location": "query", + "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case\nof failure. The default value is false.\n\nFor example, when partial success behavior is enabled, aggregatedList for a\nsingle zone scope either returns all resources in the zone or no resources,\nwith an error code.", + "location": "query", + "type": "boolean" + } + }, + "path": "{+organization}/global/rollouts", + "response": { + "$ref": "OrganizationRolloutsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "pause": { + "description": "Pauses a Rollout.", + "flatPath": "organizations/{organizationsId}/global/rollouts/{rollout}/pause", + "httpMethod": "POST", + "id": "compute.organizationRollouts.pause", + "parameterOrder": [ + "organization", + "rollout" + ], + "parameters": { + "etag": { + "description": "The etag of the Rollout.\nIf this is provided, the request will only succeed if the etag matches\nthe current etag of the Rollout.", + "location": "query", + "type": "string" + }, + "organization": { + "description": "Required. Organization ID for this request.", + "location": "path", + "pattern": "organizations/[0-9]{1,19}", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "rollout": { + "description": "Required. Name of the Rollout resource to pause.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "{+organization}/global/rollouts/{rollout}/pause", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "resume": { + "description": "Resumes a Rollout.", + "flatPath": "organizations/{organizationsId}/global/rollouts/{rollout}/resume", + "httpMethod": "POST", + "id": "compute.organizationRollouts.resume", + "parameterOrder": [ + "organization", + "rollout" + ], + "parameters": { + "etag": { + "description": "The etag of the Rollout.\nIf this is provided, the request will only succeed if the etag matches\nthe current etag of the Rollout.", + "location": "query", + "type": "string" + }, + "organization": { + "description": "Required. Organization ID for this request.", + "location": "path", + "pattern": "organizations/[0-9]{1,19}", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "rollout": { + "description": "Required. Name of the Rollout 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" + } + }, + "path": "{+organization}/global/rollouts/{rollout}/resume", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + } + } + }, "organizationSecurityPolicies": { "methods": { "addAssociation": { @@ -51930,7 +52407,7 @@ } } }, - "revision": "20260501", + "revision": "20260520", "rootUrl": "https://compute.googleapis.com/", "schemas": { "AWSV4Signature": { @@ -54613,7 +55090,7 @@ "Do not automatically scale the MIG in or out.\nThe recommended_size field contains the size of MIG that would be set if\nthe 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\nthe MIG in.", - "Automatically create VMs according to the policy, but do not scale\nthe MIG in." + "Automatically create VMs according to the policy, but do not scale\nthe MIG in.\nIt's recommended to use ONLY_SCALE_OUT instead of ONLY_UP." ], "type": "string" }, @@ -57083,6 +57560,20 @@ "description": "Denotes whether to enable logging for the load balancer\ntraffic served by this backend service. The default value is false.", "type": "boolean" }, + "loggingHttpRequestHeaders": { + "description": "The list of request headers that will be logged to Stackdriver.", + "items": { + "$ref": "BackendServiceLogConfigLoggingHttpHeader" + }, + "type": "array" + }, + "loggingHttpResponseHeaders": { + "description": "The list of response headers that will be logged to Stackdriver.", + "items": { + "$ref": "BackendServiceLogConfigLoggingHttpHeader" + }, + "type": "array" + }, "optionalFields": { "description": "This field can only be specified if logging is enabled for this backend\nservice and \"logConfig.optionalMode\" was set to CUSTOM. Contains a list\nof optional fields you want to include in the logs. For example:\nserverInstance, serverGkeDetails.cluster,\nserverGkeDetails.pod.podNamespace", "items": { @@ -57112,6 +57603,17 @@ }, "type": "object" }, + "BackendServiceLogConfigLoggingHttpHeader": { + "description": "Determines which HTTP headers will be logged to Stackdriver.", + "id": "BackendServiceLogConfigLoggingHttpHeader", + "properties": { + "headerName": { + "description": "The name of the header to be logged.", + "type": "string" + } + }, + "type": "object" + }, "BackendServiceNetworkPassThroughLbTrafficPolicy": { "id": "BackendServiceNetworkPassThroughLbTrafficPolicy", "properties": { @@ -60316,6 +60818,57 @@ }, "type": "object" }, + "DateTime": { + "description": "Represents civil time (or occasionally physical time).\n\nThis type can represent a civil time in one of a few possible ways:\n\n * When utc_offset is set and time_zone is unset: a civil time on a calendar\n day with a particular offset from UTC.\n * When time_zone is set and utc_offset is unset: a civil time on a calendar\n day in a particular time zone.\n * When neither time_zone nor utc_offset is set: a civil time on a calendar\n day in local time.\n\nThe date is relative to the Proleptic Gregorian Calendar.\n\nIf year, month, or day are 0, the DateTime is considered not to have a\nspecific year, month, or day respectively.\n\nThis type may also be used to represent a physical time if all the date and\ntime fields are set and either case of the `time_offset` oneof is set.\nConsider using `Timestamp` message for physical time instead. If your use\ncase also would like to store the user's timezone, that can be done in\nanother field.\n\nThis type is more flexible than some applications may want. Make sure to\ndocument and validate your application's limitations.", + "id": "DateTime", + "properties": { + "day": { + "description": "Optional. Day of month. Must be from 1 to 31 and valid for the year and\nmonth, 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\nto 0 (midnight). An API may choose to allow the value \"24:00:00\" for\nscenarios 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\ndatetime without a month.", + "format": "int32", + "type": "integer" + }, + "nanos": { + "description": "Optional. Fractions of seconds in nanoseconds. Must be from 0 to\n999,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,\ndefaults to 0. An API may allow the value 60 if it allows leap-seconds.", + "format": "int32", + "type": "integer" + }, + "timeZone": { + "$ref": "TimeZone", + "description": "Time zone." + }, + "utcOffset": { + "description": "UTC offset. Must be whole seconds, between -18 hours and +18 hours.\nFor example, a UTC offset of -4:00 would be represented as\n{ seconds: -14400 }.", + "format": "google-duration", + "type": "string" + }, + "year": { + "description": "Optional. Year of date. Must be from 1 to 9999, or 0 if specifying a\ndatetime without a year.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "DeprecationStatus": { "description": "Deprecation status for a public resource.", "id": "DeprecationStatus", @@ -69737,6 +70290,10 @@ "$ref": "HttpFaultInjection", "description": "The specification for fault injection introduced into traffic to test\nthe resiliency of clients to backend service failure. As part of fault\ninjection, when clients send requests to a backend service, delays can be\nintroduced by a load balancer on a percentage of requests before sending\nthose requests to the backend service. Similarly requests from clients can\nbe aborted by the load balancer for a percentage of requests.timeout and retry_policy is ignored by clients\nthat are configured with a fault_injection_policy if:\n1. The traffic is generated by fault injection AND\n2. The fault injection is not a delay fault injection.\nFault injection is not supported with the classic Application Load Balancer\n. To see which load balancers support fault injection,\nsee Load\nbalancing: Routing and traffic management features." }, + "imageOptimizationPolicy": { + "$ref": "ImageOptimizationPolicy", + "description": "Image optimization policy for this URL Map's route. Available only for\nGlobal EXTERNAL_MANAGED load balancer schemes.\nEither Cloud CDN must be enabled on the backend service or backend bucket\nserving the route, or cache policy must be configured on the same route" + }, "maxStreamDuration": { "$ref": "Duration", "description": "Specifies the maximum duration (timeout) for streams on the selected route.\nUnlike the timeout field where the timeout duration starts\nfrom the time the request has been fully processed (known as*end-of-stream*),\nthe duration in this field is computed from the beginning of the stream\nuntil the response has been processed, including all retries. A\nstream that does not complete in this duration is closed.\n\nIf not specified, this field uses the maximummaxStreamDuration value among all backend services associated\nwith the route.\n\nThis field is only allowed if the Url map is used with backend services\nwith loadBalancingScheme set toINTERNAL_SELF_MANAGED." @@ -70509,6 +71066,27 @@ }, "type": "object" }, + "ImageOptimizationPolicy": { + "description": "The configuration for Cloud CDN's image optimization feature. This feature\ndynamically processes and delivers images from the network edge.\nImage Optimization is only available for Global External Application Load\nBalancers.\nEither Cloud CDN must be enabled on the backend service or backend bucket\nserving the route, or cache policy must be configured on the same route.", + "id": "ImageOptimizationPolicy", + "properties": { + "queryParameterInterpretation": { + "description": "Specifies whether to interpret query parameters for image optimization.", + "enum": [ + "DISABLED", + "ENABLED", + "QUERY_PARAMETER_INTERPRETATION_UNSPECIFIED" + ], + "enumDescriptions": [ + "Query parameters for image optimization are ignored.", + "Query parameters for image optimization are interpreted.", + "Default value. This field value translates to the\ndefault behavior, which is to ignore query parameters for image\noptimization." + ], + "type": "string" + } + }, + "type": "object" + }, "ImageParams": { "description": "Additional image params.", "id": "ImageParams", @@ -71801,6 +72379,12 @@ "readOnly": true, "type": "integer" }, + "restartingInPlace": { + "description": "Output only. The number of instances in the managed instance group that\nare scheduled to be restarted or are currently being restarted.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, "resuming": { "description": "Output only. The number of instances in the managed instance group that\nare scheduled to be resumed or are currently being resumed.", "format": "int32", @@ -73150,6 +73734,27 @@ "InstanceGroupManagerUpdatePolicy": { "id": "InstanceGroupManagerUpdatePolicy", "properties": { + "allowedActions": { + "description": "Actions that are allowed to update instances within MIG.", + "items": { + "enum": [ + "NONE", + "REFRESH", + "REPLACE", + "RESTART", + "RESTART_IN_PLACE" + ], + "enumDescriptions": [ + "Do not perform any action.", + "Do not stop the instance.", + "(Default.) Replace the instance according to the replacement method\noption.", + "Stop the instance and start it again.", + "Restart the instance using the same capacity and preserving local SSDs." + ], + "type": "string" + }, + "type": "array" + }, "instanceRedistributionType": { "description": "The \ninstance redistribution policy for regional managed instance groups.\nValid values are: \n \n - PROACTIVE (default): The group attempts to maintain an\n even distribution of VM instances across zones in the region.\n - NONE: For non-autoscaled groups, proactive\n redistribution is disabled.", "enum": [ @@ -73181,13 +73786,15 @@ "NONE", "REFRESH", "REPLACE", - "RESTART" + "RESTART", + "RESTART_IN_PLACE" ], "enumDescriptions": [ "Do not perform any action.", "Do not stop the instance.", "(Default.) Replace the instance according to the replacement method\noption.", - "Stop the instance and start it again." + "Stop the instance and start it again.", + "Restart the instance using the same capacity and preserving local SSDs." ], "type": "string" }, @@ -73197,13 +73804,15 @@ "NONE", "REFRESH", "REPLACE", - "RESTART" + "RESTART", + "RESTART_IN_PLACE" ], "enumDescriptions": [ "Do not perform any action.", "Do not stop the instance.", "(Default.) Replace the instance according to the replacement method\noption.", - "Stop the instance and start it again." + "Stop the instance and start it again.", + "Restart the instance using the same capacity and preserving local SSDs." ], "type": "string" }, @@ -73273,6 +73882,27 @@ "description": "Flag to update all instances instead of specified list of “instances”.\nIf the flag is set to true then the instances may not be specified\nin the request.", "type": "boolean" }, + "allowedActions": { + "description": "Actions that are allowed to update instances within MIG.", + "items": { + "enum": [ + "NONE", + "REFRESH", + "REPLACE", + "RESTART", + "RESTART_IN_PLACE" + ], + "enumDescriptions": [ + "Do not perform any action.", + "Do not stop the instance.", + "(Default.) Replace the instance according to the replacement method\noption.", + "Stop the instance and start it again.", + "Restart the instance using the same capacity and preserving local SSDs." + ], + "type": "string" + }, + "type": "array" + }, "instances": { "description": "The list of URLs of one or more instances for which you want to apply\nupdates. Each URL can be a full URL or a partial URL, such aszones/[ZONE]/instances/[INSTANCE_NAME].", "items": { @@ -73286,13 +73916,15 @@ "NONE", "REFRESH", "REPLACE", - "RESTART" + "RESTART", + "RESTART_IN_PLACE" ], "enumDescriptions": [ "Do not perform any action.", "Do not stop the instance.", "(Default.) Replace the instance according to the replacement method\noption.", - "Stop the instance and start it again." + "Stop the instance and start it again.", + "Restart the instance using the same capacity and preserving local SSDs." ], "type": "string" }, @@ -73302,13 +73934,15 @@ "NONE", "REFRESH", "REPLACE", - "RESTART" + "RESTART", + "RESTART_IN_PLACE" ], "enumDescriptions": [ "Do not perform any action.", "Do not stop the instance.", "(Default.) Replace the instance according to the replacement method\noption.", - "Stop the instance and start it again." + "Stop the instance and start it again.", + "Restart the instance using the same capacity and preserving local SSDs." ], "type": "string" } @@ -74714,16 +75348,16 @@ "properties": { "error": { "$ref": "InstanceManagedByIgmErrorManagedInstanceError", - "description": "Output only. [Output Only] Contents of the error.", + "description": "Output only. Contents of the error.", "readOnly": true }, "instanceActionDetails": { "$ref": "InstanceManagedByIgmErrorInstanceActionDetails", - "description": "Output only. [Output Only] Details of the instance action that triggered this error.\nMay be null, if the error was not caused by an action on an instance.\nThis field is optional.", + "description": "Output only. Details of the instance action that triggered this error.\nMay be null, if the error was not caused by an action on an instance.\nThis field is optional.", "readOnly": true }, "timestamp": { - "description": "Output only. [Output Only] The time that this error occurred.\nThis value is in RFC3339 text format.", + "description": "Output only. The time that this error occurred. This value is in RFC3339 text format.", "readOnly": true, "type": "string" } @@ -74734,7 +75368,7 @@ "id": "InstanceManagedByIgmErrorInstanceActionDetails", "properties": { "action": { - "description": "Output only. [Output Only] Action that managed instance group was executing on\nthe instance when the error occurred. Possible values:", + "description": "Output only. Action that managed instance group was executing on the instance when the\nerror occurred. Possible values:", "enum": [ "ABANDONING", "ADOPTING", @@ -74745,6 +75379,7 @@ "RECREATING", "REFRESHING", "RESTARTING", + "RESTARTING_IN_PLACE", "RESUMING", "STARTING", "STOPPING", @@ -74761,6 +75396,7 @@ "The managed instance group is recreating this instance.", "The managed instance group is applying configuration changes to the\ninstance without stopping it. For example, the group can update the\ntarget pool list for an instance without stopping that instance.", "The managed instance group is restarting this instance.", + "The managed instance group is restarting this instance while preserving\nits capacity and local SSDs.", "The managed instance group is resuming this instance.", "The managed instance group is starting this instance.", "The managed instance group is stopping this instance.", @@ -74771,13 +75407,13 @@ "type": "string" }, "instance": { - "description": "Output only. [Output Only] The URL of the instance.\nThe URL can be set even if the instance has not yet been created.", + "description": "Output only. The URL of the instance. The URL can be set even if the instance has not\nyet been created.", "readOnly": true, "type": "string" }, "version": { "$ref": "ManagedInstanceVersion", - "description": "Output only. [Output Only] Version this instance was created from, or was being\ncreated from, but the creation failed. Corresponds to one of the versions\nthat were set on the Instance Group Manager resource at the time this\ninstance was being created.", + "description": "Output only. Version this instance was created from, or was being\ncreated from, but the creation failed. Corresponds to one of the versions\nthat were set on the Instance Group Manager resource at the time this\ninstance was being created.", "readOnly": true } }, @@ -74787,12 +75423,12 @@ "id": "InstanceManagedByIgmErrorManagedInstanceError", "properties": { "code": { - "description": "Output only. [Output Only] Error code.", + "description": "Output only. Error code.", "readOnly": true, "type": "string" }, "message": { - "description": "Output only. [Output Only] Error message.", + "description": "Output only. Error message.", "readOnly": true, "type": "string" } @@ -82559,6 +83195,7 @@ "RECREATING", "REFRESHING", "RESTARTING", + "RESTARTING_IN_PLACE", "RESUMING", "STARTING", "STOPPING", @@ -82575,6 +83212,7 @@ "The managed instance group is recreating this instance.", "The managed instance group is applying configuration changes to the\ninstance without stopping it. For example, the group can update the\ntarget pool list for an instance without stopping that instance.", "The managed instance group is restarting this instance.", + "The managed instance group is restarting this instance while preserving\nits capacity and local SSDs.", "The managed instance group is resuming this instance.", "The managed instance group is starting this instance.", "The managed instance group is stopping this instance.", @@ -91610,6 +92248,167 @@ }, "type": "object" }, + "OrganizationRolloutsListResponse": { + "id": "OrganizationRolloutsListResponse", + "properties": { + "etag": { + "type": "string" + }, + "id": { + "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "type": "string" + }, + "items": { + "description": "A list of Rollout resources.", + "items": { + "$ref": "Rollout" + }, + "type": "array" + }, + "nextPageToken": { + "description": "[Output Only] This token allows you to get the next page of results for\nlist requests. If the number of results is larger thanmaxResults, use the nextPageToken as a value for\nthe query parameter pageToken in the next list request.\nSubsequent list requests will have their own nextPageToken to\ncontinue paging through the results.", + "type": "string" + }, + "selfLink": { + "description": "Output only. [Output Only] Server-defined URL for this resource.", + "readOnly": true, + "type": "string" + }, + "unreachables": { + "description": "Output only. [Output Only] Unreachable resources.\nend_interface: MixerListResponseWithEtagBuilder", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "warning": { + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute\nEngine returns NO_RESULTS_ON_PAGE if there\nare no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "LIST_OVERHEAD_QUOTA_EXCEED", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed\noperation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as\ndeprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as\nexperimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden.\nDeprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is\nnot of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "Resource can't be retrieved due to list overhead quota exceed\nwhich captures the amount of resources filtered out by\nuser-defined list filter.", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the\nnetwork.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an\nipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the\nsame network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite\nthe mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g:\nregions.list).", + "The user attempted to use a resource that requires a TOS they have not\naccepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted\nbecause they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but\nits application does not make a lot of sense, because it allows only\nsingle instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key:\nvalue format. For example:\n\n\"data\": [\n {\n \"key\": \"scope\",\n \"value\": \"zones/us-east1-d\"\n }", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being\nreturned. For example, for warnings where there are no results in a list\nrequest for a particular zone, this key might be scope and\nthe key value might be the zone name. Other examples might be a key\nindicating a deprecated resource and a suggested replacement, or a\nwarning about invalid network settings (for example, if an instance\nattempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "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": { @@ -92551,6 +93350,54 @@ }, "type": "object" }, + "PeriodicPartialMaintenanceSchedule": { + "description": "The periodic partial maintenance schedule includes 52 weeks worth of\nmaintenance windows.\nLINT.IfChange(PeriodicPartialMaintenanceSchedule)", + "id": "PeriodicPartialMaintenanceSchedule", + "properties": { + "subType": { + "description": "The maintenance type in which the zone is during the given window.", + "enum": [ + "MAINTENANCE_SUBTYPE_UNSPECIFIED", + "MAINTENANCE_TYPE_CUSTOMER_MAINTENANCE", + "MAINTENANCE_TYPE_DISRUPTIVE_UPGRADE", + "MAINTENANCE_TYPE_STABLE", + "MAINTENANCE_TYPE_TRANSITION" + ], + "enumDescriptions": [ + "Default value.", + "A dedicated window for customers to perform their own maintenance. This\noften runs concurrently with a DISRUPTIVE_UPGRADE.", + "For disruptive updates, including host machine kernel or firmware\nupgrades.", + "A post-maintenance window for customers to conduct final testing and\nperformance validation before resuming full business operations.", + "For preliminary, non-disruptive tasks such as key rotations." + ], + "type": "string" + }, + "targetResource": { + "description": "The target resource that the maintenance window is for.\nFor example, \"projects/my-project/zones/us-central1-a\".", + "type": "string" + }, + "type": { + "enum": [ + "MAINTENANCE_TYPE_UNSPECIFIED", + "PRIVATE_ZONE_MAINTENANCE" + ], + "enumDescriptions": [ + "Default value.", + "The zone is in a private maintenance window." + ], + "type": "string" + }, + "windowEndTime": { + "$ref": "DateTime", + "description": "The end civil timestamp of the window (not inclusive).\nThis contains a time zone." + }, + "windowStartTime": { + "$ref": "DateTime", + "description": "The start civil timestamp of the window.\nThis contains a time zone." + } + }, + "type": "object" + }, "Policy": { "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members`, or principals, to a single `role`. Principals can be user\naccounts, service accounts, Google groups, and domains (such as G Suite). A\n`role` is a named list of permissions; each `role` can be an IAM predefined\nrole or a user-created custom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n```\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n```\n\n**YAML example:**\n\n```\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n etag: BwWWja0YfJA=\n version: 3\n```\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", "id": "Policy", @@ -95873,6 +96720,27 @@ "description": "Flag to update all instances instead of specified list of “instances”.\nIf the flag is set to true then the instances may not be specified\nin the request.", "type": "boolean" }, + "allowedActions": { + "description": "Actions that are allowed to update instances within MIG.", + "items": { + "enum": [ + "NONE", + "REFRESH", + "REPLACE", + "RESTART", + "RESTART_IN_PLACE" + ], + "enumDescriptions": [ + "Do not perform any action.", + "Do not stop the instance.", + "(Default.) Replace the instance according to the replacement method\noption.", + "Stop the instance and start it again.", + "Restart the instance using the same capacity and preserving local SSDs." + ], + "type": "string" + }, + "type": "array" + }, "instances": { "description": "The list of URLs of one or more instances for which you want to apply\nupdates. Each URL can be a full URL or a partial URL, such aszones/[ZONE]/instances/[INSTANCE_NAME].", "items": { @@ -95886,13 +96754,15 @@ "NONE", "REFRESH", "REPLACE", - "RESTART" + "RESTART", + "RESTART_IN_PLACE" ], "enumDescriptions": [ "Do not perform any action.", "Do not stop the instance.", "(Default.) Replace the instance according to the replacement method\noption.", - "Stop the instance and start it again." + "Stop the instance and start it again.", + "Restart the instance using the same capacity and preserving local SSDs." ], "type": "string" }, @@ -95902,13 +96772,15 @@ "NONE", "REFRESH", "REPLACE", - "RESTART" + "RESTART", + "RESTART_IN_PLACE" ], "enumDescriptions": [ "Do not perform any action.", "Do not stop the instance.", "(Default.) Replace the instance according to the replacement method\noption.", - "Stop the instance and start it again." + "Stop the instance and start it again.", + "Restart the instance using the same capacity and preserving local SSDs." ], "type": "string" } @@ -99754,6 +100626,11 @@ "description": "Represents the physical host topology of the host on which the VM is\nrunning.", "id": "ResourceStatusPhysicalHostTopology", "properties": { + "additionalAttributes": { + "$ref": "ResourceStatusPhysicalHostTopologyAdditionalAttributes", + "description": "Output only. [Output Only] Additional location information of the running instance.", + "readOnly": true + }, "block": { "description": "[Output Only] The ID of the block in which the running instance is\nlocated. Instances within the same block experience low network latency.", "type": "string" @@ -99773,6 +100650,21 @@ }, "type": "object" }, + "ResourceStatusPhysicalHostTopologyAdditionalAttributes": { + "description": "Additional location information of the running instance.", + "id": "ResourceStatusPhysicalHostTopologyAdditionalAttributes", + "properties": { + "acceleratorTopologyIds": { + "additionalProperties": { + "type": "string" + }, + "description": "Output only. The IDs of the accelerator topologies the instance belongs to. For\nexample\nThe key will be topologies like \"4x4\", \"2x2x2\" and the value will be\nthe location ID of the topologies.", + "readOnly": true, + "type": "object" + } + }, + "type": "object" + }, "ResourceStatusReservationConsumptionInfo": { "description": "Reservation consumption information that the instance is consuming from.", "id": "ResourceStatusReservationConsumptionInfo", @@ -99781,6 +100673,16 @@ "description": "Output only. [Output Only] The full resource name of the reservation that this\ninstance is consuming from.", "readOnly": true, "type": "string" + }, + "consumedReservationBlock": { + "description": "Output only. [Output Only] The full resource name of the reservation block that this\ninstance is consuming from.", + "readOnly": true, + "type": "string" + }, + "consumedReservationSubBlock": { + "description": "Output only. [Output Only] The full resource name of the reservation sub-block that\nthis instance is consuming from.", + "readOnly": true, + "type": "string" } }, "type": "object" @@ -99890,6 +100792,16 @@ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "type": "string" }, + "pauseTime": { + "description": "Output only. The timestamp at which the Rollout was paused.", + "readOnly": true, + "type": "string" + }, + "resumeTime": { + "description": "Output only. The timestamp at which the Rollout was resumed.", + "readOnly": true, + "type": "string" + }, "rolloutEntity": { "$ref": "RolloutRolloutEntity", "description": "Required. The resource being rolled out." @@ -102071,6 +102983,12 @@ }, "type": "array" }, + "effectiveTcpTimeWaitTimeoutSec": { + "description": "Output only. Effective timeout (in seconds) for TCP connections that are in TIME_WAIT\nstate. This value is equal to tcp_time_wait_timeout_sec if it is set,\notherwise it is equal to 120s. The field is output only.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, "enableDynamicPortAllocation": { "description": "Enable Dynamic Port Allocation.\n\n\nIf not specified, it is disabled by default.\n\n\nIf set to true,\n \n - Dynamic Port Allocation will be enabled on this NAT\n config.\n - enableEndpointIndependentMapping cannot be set to true.\n - If minPorts is set, minPortsPerVm must be set to a\n power of two greater than or equal to 32. If minPortsPerVm is not set, a\n minimum of 32 ports will be allocated to a VM from this NAT\n config.", "type": "boolean" @@ -115607,6 +116525,21 @@ }, "type": "object" }, + "TimeZone": { + "description": "Represents a time zone from the\n[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" + }, "Uint128": { "id": "Uint128", "properties": { @@ -119766,6 +120699,10 @@ "description": "[Output Only] Full URL reference to the region which hosts the zone.", "type": "string" }, + "resourceStatus": { + "$ref": "ZoneResourceStatus", + "readOnly": true + }, "selfLink": { "description": "[Output Only] Server-defined URL for the resource.", "type": "string" @@ -119947,6 +120884,20 @@ }, "type": "object" }, + "ZoneResourceStatus": { + "id": "ZoneResourceStatus", + "properties": { + "upcomingMaintenances": { + "description": "Output only. [Output Only] The upcoming maintenance schedule.", + "items": { + "$ref": "PeriodicPartialMaintenanceSchedule" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, "ZoneSetLabelsRequest": { "id": "ZoneSetLabelsRequest", "properties": { diff --git a/discovery/compute-v1.json b/discovery/compute-v1.json index 03f8c13a630..0505adf9887 100644 --- a/discovery/compute-v1.json +++ b/discovery/compute-v1.json @@ -5197,6 +5197,18 @@ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" + }, + "view": { + "enum": [ + "BASIC", + "FULL" + ], + "enumDescriptions": [ + "The default view of a ForwardingRule, which includes the basic fields.", + "The full view, including the ForwardingRule.`attached_extensions` field." + ], + "location": "query", + "type": "string" } }, "path": "projects/{project}/regions/{region}/forwardingRules/{forwardingRule}", @@ -6172,6 +6184,18 @@ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{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": { + "enum": [ + "BASIC", + "FULL" + ], + "enumDescriptions": [ + "The default view of a ForwardingRule, which includes the basic fields.", + "The full view, including the ForwardingRule.`attached_extensions` field." + ], + "location": "query", + "type": "string" } }, "path": "projects/{project}/global/forwardingRules/{forwardingRule}", @@ -37971,6 +37995,51 @@ }, "rollouts": { "methods": { + "advance": { + "description": "Advances a Rollout to the next wave, or completes it if no waves remain.", + "flatPath": "projects/{project}/global/rollouts/{rollout}/advance", + "httpMethod": "POST", + "id": "compute.rollouts.advance", + "parameterOrder": [ + "project", + "rollout" + ], + "parameters": { + "currentWaveNumber": { + "description": "Required. Wave number of the current wave.", + "format": "int64", + "location": "query", + "type": "string" + }, + "project": { + "description": "Required. Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "rollout": { + "description": "Required. Name of the Rollout resource to advance.", + "location": "path", + "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/rollouts/{rollout}/advance", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, "cancel": { "description": "Cancels a Rollout.", "flatPath": "projects/{project}/global/rollouts/{rollout}", @@ -38143,6 +38212,94 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly" ] + }, + "pause": { + "description": "Pauses a Rollout.", + "flatPath": "projects/{project}/global/rollouts/{rollout}/pause", + "httpMethod": "POST", + "id": "compute.rollouts.pause", + "parameterOrder": [ + "project", + "rollout" + ], + "parameters": { + "etag": { + "description": "The etag of the Rollout.\nIf this is provided, the request will only succeed if the etag matches\nthe current etag of the Rollout.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Required. Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "rollout": { + "description": "Required. Name of the Rollout resource to pause.", + "location": "path", + "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/rollouts/{rollout}/pause", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "resume": { + "description": "Resumes a Rollout.", + "flatPath": "projects/{project}/global/rollouts/{rollout}/resume", + "httpMethod": "POST", + "id": "compute.rollouts.resume", + "parameterOrder": [ + "project", + "rollout" + ], + "parameters": { + "etag": { + "description": "The etag of the Rollout.\nIf this is provided, the request will only succeed if the etag matches\nthe current etag of the Rollout.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Required. Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so\nthat if you must retry your request, the server will know to ignore the\nrequest if it has already been completed.\n\nFor example, consider a situation where you make an initial request and\nthe request times out. If you make the request again with the same\nrequest ID, the server can check if original operation with the same\nrequest ID was received, and if so, will ignore the second request. This\nprevents clients from accidentally creating duplicate commitments.\n\nThe request ID must be\na valid UUID with the exception that zero UUID is not supported\n(00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "rollout": { + "description": "Required. Name of the Rollout 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" + } + }, + "path": "projects/{project}/global/rollouts/{rollout}/resume", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] } } }, @@ -47746,7 +47903,7 @@ } } }, - "revision": "20260501", + "revision": "20260520", "rootUrl": "https://compute.googleapis.com/", "schemas": { "AWSV4Signature": { @@ -50367,7 +50524,7 @@ "Do not automatically scale the MIG in or out.\nThe recommended_size field contains the size of MIG that would be set if\nthe 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\nthe MIG in.", - "Automatically create VMs according to the policy, but do not scale\nthe MIG in." + "Automatically create VMs according to the policy, but do not scale\nthe MIG in.\nIt's recommended to use ONLY_SCALE_OUT instead of ONLY_UP." ], "type": "string" }, @@ -52757,6 +52914,20 @@ "description": "Denotes whether to enable logging for the load balancer\ntraffic served by this backend service. The default value is false.", "type": "boolean" }, + "loggingHttpRequestHeaders": { + "description": "The list of request headers that will be logged to Stackdriver.", + "items": { + "$ref": "BackendServiceLogConfigLoggingHttpHeader" + }, + "type": "array" + }, + "loggingHttpResponseHeaders": { + "description": "The list of response headers that will be logged to Stackdriver.", + "items": { + "$ref": "BackendServiceLogConfigLoggingHttpHeader" + }, + "type": "array" + }, "optionalFields": { "description": "This field can only be specified if logging is enabled for this backend\nservice and \"logConfig.optionalMode\" was set to CUSTOM. Contains a list\nof optional fields you want to include in the logs. For example:\nserverInstance, serverGkeDetails.cluster,\nserverGkeDetails.pod.podNamespace", "items": { @@ -52786,6 +52957,17 @@ }, "type": "object" }, + "BackendServiceLogConfigLoggingHttpHeader": { + "description": "Determines which HTTP headers will be logged to Stackdriver.", + "id": "BackendServiceLogConfigLoggingHttpHeader", + "properties": { + "headerName": { + "description": "The name of the header to be logged.", + "type": "string" + } + }, + "type": "object" + }, "BackendServiceNetworkPassThroughLbTrafficPolicy": { "id": "BackendServiceNetworkPassThroughLbTrafficPolicy", "properties": { @@ -55591,6 +55773,57 @@ }, "type": "object" }, + "DateTime": { + "description": "Represents civil time (or occasionally physical time).\n\nThis type can represent a civil time in one of a few possible ways:\n\n * When utc_offset is set and time_zone is unset: a civil time on a calendar\n day with a particular offset from UTC.\n * When time_zone is set and utc_offset is unset: a civil time on a calendar\n day in a particular time zone.\n * When neither time_zone nor utc_offset is set: a civil time on a calendar\n day in local time.\n\nThe date is relative to the Proleptic Gregorian Calendar.\n\nIf year, month, or day are 0, the DateTime is considered not to have a\nspecific year, month, or day respectively.\n\nThis type may also be used to represent a physical time if all the date and\ntime fields are set and either case of the `time_offset` oneof is set.\nConsider using `Timestamp` message for physical time instead. If your use\ncase also would like to store the user's timezone, that can be done in\nanother field.\n\nThis type is more flexible than some applications may want. Make sure to\ndocument and validate your application's limitations.", + "id": "DateTime", + "properties": { + "day": { + "description": "Optional. Day of month. Must be from 1 to 31 and valid for the year and\nmonth, 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\nto 0 (midnight). An API may choose to allow the value \"24:00:00\" for\nscenarios 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\ndatetime without a month.", + "format": "int32", + "type": "integer" + }, + "nanos": { + "description": "Optional. Fractions of seconds in nanoseconds. Must be from 0 to\n999,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,\ndefaults to 0. An API may allow the value 60 if it allows leap-seconds.", + "format": "int32", + "type": "integer" + }, + "timeZone": { + "$ref": "TimeZone", + "description": "Time zone." + }, + "utcOffset": { + "description": "UTC offset. Must be whole seconds, between -18 hours and +18 hours.\nFor example, a UTC offset of -4:00 would be represented as\n{ seconds: -14400 }.", + "format": "google-duration", + "type": "string" + }, + "year": { + "description": "Optional. Year of date. Must be from 1 to 9999, or 0 if specifying a\ndatetime without a year.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "DeprecationStatus": { "description": "Deprecation status for a public resource.", "id": "DeprecationStatus", @@ -58927,6 +59160,14 @@ "description": "This is used in PSC consumer ForwardingRule to control whether the PSC\nendpoint can be accessed from another region.", "type": "boolean" }, + "attachedExtensions": { + "description": "Output only. [Output Only]. The extensions that are attached to this ForwardingRule.", + "items": { + "$ref": "ForwardingRuleAttachedExtension" + }, + "readOnly": true, + "type": "array" + }, "backendService": { "description": "Identifies the backend service to which the forwarding rule sends traffic.\nRequired for internal and external passthrough Network Load Balancers;\nmust be omitted for all other load balancer types.", "type": "string" @@ -59319,6 +59560,18 @@ }, "type": "object" }, + "ForwardingRuleAttachedExtension": { + "description": "Reference to an extension resource that is attached to this ForwardingRule.", + "id": "ForwardingRuleAttachedExtension", + "properties": { + "reference": { + "description": "Output only. The resource name.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "ForwardingRuleList": { "description": "Contains a list of ForwardingRule resources.", "id": "ForwardingRuleList", @@ -69282,16 +69535,16 @@ "properties": { "error": { "$ref": "InstanceManagedByIgmErrorManagedInstanceError", - "description": "Output only. [Output Only] Contents of the error.", + "description": "Output only. Contents of the error.", "readOnly": true }, "instanceActionDetails": { "$ref": "InstanceManagedByIgmErrorInstanceActionDetails", - "description": "Output only. [Output Only] Details of the instance action that triggered this error.\nMay be null, if the error was not caused by an action on an instance.\nThis field is optional.", + "description": "Output only. Details of the instance action that triggered this error.\nMay be null, if the error was not caused by an action on an instance.\nThis field is optional.", "readOnly": true }, "timestamp": { - "description": "Output only. [Output Only] The time that this error occurred.\nThis value is in RFC3339 text format.", + "description": "Output only. The time that this error occurred. This value is in RFC3339 text format.", "readOnly": true, "type": "string" } @@ -69302,7 +69555,7 @@ "id": "InstanceManagedByIgmErrorInstanceActionDetails", "properties": { "action": { - "description": "Output only. [Output Only] Action that managed instance group was executing on\nthe instance when the error occurred. Possible values:", + "description": "Output only. Action that managed instance group was executing on the instance when the\nerror occurred. Possible values:", "enum": [ "ABANDONING", "CREATING", @@ -69337,13 +69590,13 @@ "type": "string" }, "instance": { - "description": "Output only. [Output Only] The URL of the instance.\nThe URL can be set even if the instance has not yet been created.", + "description": "Output only. The URL of the instance. The URL can be set even if the instance has not\nyet been created.", "readOnly": true, "type": "string" }, "version": { "$ref": "ManagedInstanceVersion", - "description": "Output only. [Output Only] Version this instance was created from, or was being\ncreated from, but the creation failed. Corresponds to one of the versions\nthat were set on the Instance Group Manager resource at the time this\ninstance was being created.", + "description": "Output only. Version this instance was created from, or was being\ncreated from, but the creation failed. Corresponds to one of the versions\nthat were set on the Instance Group Manager resource at the time this\ninstance was being created.", "readOnly": true } }, @@ -69353,12 +69606,12 @@ "id": "InstanceManagedByIgmErrorManagedInstanceError", "properties": { "code": { - "description": "Output only. [Output Only] Error code.", + "description": "Output only. Error code.", "readOnly": true, "type": "string" }, "message": { - "description": "Output only. [Output Only] Error message.", + "description": "Output only. Error message.", "readOnly": true, "type": "string" } @@ -85268,6 +85521,54 @@ }, "type": "object" }, + "PeriodicPartialMaintenanceSchedule": { + "description": "The periodic partial maintenance schedule includes 52 weeks worth of\nmaintenance windows.\nLINT.IfChange(PeriodicPartialMaintenanceSchedule)", + "id": "PeriodicPartialMaintenanceSchedule", + "properties": { + "subType": { + "description": "The maintenance type in which the zone is during the given window.", + "enum": [ + "MAINTENANCE_SUBTYPE_UNSPECIFIED", + "MAINTENANCE_TYPE_CUSTOMER_MAINTENANCE", + "MAINTENANCE_TYPE_DISRUPTIVE_UPGRADE", + "MAINTENANCE_TYPE_STABLE", + "MAINTENANCE_TYPE_TRANSITION" + ], + "enumDescriptions": [ + "Default value.", + "A dedicated window for customers to perform their own maintenance. This\noften runs concurrently with a DISRUPTIVE_UPGRADE.", + "For disruptive updates, including host machine kernel or firmware\nupgrades.", + "A post-maintenance window for customers to conduct final testing and\nperformance validation before resuming full business operations.", + "For preliminary, non-disruptive tasks such as key rotations." + ], + "type": "string" + }, + "targetResource": { + "description": "The target resource that the maintenance window is for.\nFor example, \"projects/my-project/zones/us-central1-a\".", + "type": "string" + }, + "type": { + "enum": [ + "MAINTENANCE_TYPE_UNSPECIFIED", + "PRIVATE_ZONE_MAINTENANCE" + ], + "enumDescriptions": [ + "Default value.", + "The zone is in a private maintenance window." + ], + "type": "string" + }, + "windowEndTime": { + "$ref": "DateTime", + "description": "The end civil timestamp of the window (not inclusive).\nThis contains a time zone." + }, + "windowStartTime": { + "$ref": "DateTime", + "description": "The start civil timestamp of the window.\nThis contains a time zone." + } + }, + "type": "object" + }, "Policy": { "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members`, or principals, to a single `role`. Principals can be user\naccounts, service accounts, Google groups, and domains (such as G Suite). A\n`role` is a named list of permissions; each `role` can be an IAM predefined\nrole or a user-created custom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n```\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n```\n\n**YAML example:**\n\n```\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n etag: BwWWja0YfJA=\n version: 3\n```\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", "id": "Policy", @@ -92306,6 +92607,11 @@ "description": "Represents the physical host topology of the host on which the VM is\nrunning.", "id": "ResourceStatusPhysicalHostTopology", "properties": { + "additionalAttributes": { + "$ref": "ResourceStatusPhysicalHostTopologyAdditionalAttributes", + "description": "Output only. [Output Only] Additional location information of the running instance.", + "readOnly": true + }, "block": { "description": "[Output Only] The ID of the block in which the running instance is\nlocated. Instances within the same block experience low network latency.", "type": "string" @@ -92325,6 +92631,21 @@ }, "type": "object" }, + "ResourceStatusPhysicalHostTopologyAdditionalAttributes": { + "description": "Additional location information of the running instance.", + "id": "ResourceStatusPhysicalHostTopologyAdditionalAttributes", + "properties": { + "acceleratorTopologyIds": { + "additionalProperties": { + "type": "string" + }, + "description": "Output only. The IDs of the accelerator topologies the instance belongs to. For\nexample\nThe key will be topologies like \"4x4\", \"2x2x2\" and the value will be\nthe location ID of the topologies.", + "readOnly": true, + "type": "object" + } + }, + "type": "object" + }, "ResourceStatusReservationConsumptionInfo": { "description": "Reservation consumption information that the instance is consuming from.", "id": "ResourceStatusReservationConsumptionInfo", @@ -92399,6 +92720,16 @@ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "type": "string" }, + "pauseTime": { + "description": "Output only. The timestamp at which the Rollout was paused.", + "readOnly": true, + "type": "string" + }, + "resumeTime": { + "description": "Output only. The timestamp at which the Rollout was resumed.", + "readOnly": true, + "type": "string" + }, "rolloutEntity": { "$ref": "RolloutRolloutEntity", "description": "Required. The resource being rolled out." @@ -93818,6 +94149,10 @@ }, "type": "array" }, + "nccGateway": { + "description": "URI of the ncc_gateway to which this router associated.", + "type": "string" + }, "network": { "annotations": { "required": [ @@ -94878,6 +95213,10 @@ }, "type": "array" }, + "nccGateway": { + "description": "URI of the ncc_gateway to which this router associated.", + "type": "string" + }, "network": { "description": "URI of the network to which this router belongs.", "type": "string" @@ -106953,6 +107292,21 @@ }, "type": "object" }, + "TimeZone": { + "description": "Represents a time zone from the\n[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" + }, "Uint128": { "id": "Uint128", "properties": { @@ -111032,6 +111386,10 @@ "description": "[Output Only] Full URL reference to the region which hosts the zone.", "type": "string" }, + "resourceStatus": { + "$ref": "ZoneResourceStatus", + "readOnly": true + }, "selfLink": { "description": "[Output Only] Server-defined URL for the resource.", "type": "string" @@ -111213,6 +111571,20 @@ }, "type": "object" }, + "ZoneResourceStatus": { + "id": "ZoneResourceStatus", + "properties": { + "upcomingMaintenances": { + "description": "Output only. [Output Only] The upcoming maintenance schedule.", + "items": { + "$ref": "PeriodicPartialMaintenanceSchedule" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, "ZoneSetLabelsRequest": { "id": "ZoneSetLabelsRequest", "properties": { diff --git a/discovery/connectors-v2.json b/discovery/connectors-v2.json index 405a76c5460..18440d49981 100644 --- a/discovery/connectors-v2.json +++ b/discovery/connectors-v2.json @@ -999,6 +999,12 @@ "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$", "required": true, "type": "string" + }, + "toolNames": { + "description": "List of tool names for selective tool fetching.", + "location": "query", + "repeated": true, + "type": "string" } }, "path": "v2/{+parent}/tools", @@ -1018,7 +1024,7 @@ } } }, - "revision": "20260427", + "revision": "20260527", "rootUrl": "https://connectors.googleapis.com/", "schemas": { "AccessCredentials": { diff --git a/discovery/contactcenterinsights-v1.json b/discovery/contactcenterinsights-v1.json index ae760f27297..ec860f3388f 100644 --- a/discovery/contactcenterinsights-v1.json +++ b/discovery/contactcenterinsights-v1.json @@ -193,34 +193,6 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, - "diagnoseConversations": { - "description": "Analyzes conversation data using specialized agentic workflows, such as ReAct, to diagnose issues and provide insights.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}:diagnoseConversations", - "httpMethod": "POST", - "id": "contactcenterinsights.projects.locations.diagnoseConversations", - "parameterOrder": [ - "parent" - ], - "parameters": { - "parent": { - "description": "Required. The parent resource where the analysis will be performed.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+parent}:diagnoseConversations", - "request": { - "$ref": "GoogleCloudContactcenterinsightsV1DiagnoseConversationsRequest" - }, - "response": { - "$ref": "GoogleLongrunningOperation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, "generativeInsights": { "description": "Natural language based Insights which powers the next generation of dashboards in Insights. Next generation of QueryMetrics.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}:generativeInsights", @@ -4507,111 +4479,6 @@ } } }, - "diagnostics": { - "methods": { - "delete": { - "description": "Deletes a diagnostic.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/diagnostics/{diagnosticsId}", - "httpMethod": "DELETE", - "id": "contactcenterinsights.projects.locations.diagnostics.delete", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The name of the diagnostic to delete.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/diagnostics/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+name}", - "response": { - "$ref": "GoogleProtobufEmpty" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "get": { - "description": "Gets a diagnostic.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/diagnostics/{diagnosticsId}", - "httpMethod": "GET", - "id": "contactcenterinsights.projects.locations.diagnostics.get", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The name of the diagnostic to retrieve.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/diagnostics/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+name}", - "response": { - "$ref": "GoogleCloudContactcenterinsightsV1Diagnostic" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "list": { - "description": "Lists diagnostics.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/diagnostics", - "httpMethod": "GET", - "id": "contactcenterinsights.projects.locations.diagnostics.list", - "parameterOrder": [ - "parent" - ], - "parameters": { - "appId": { - "description": "Optional. The CES App ID to filter diagnostics by.", - "location": "query", - "type": "string" - }, - "appVersion": { - "description": "Optional. The CES App version to filter diagnostics by.", - "location": "query", - "type": "string" - }, - "filter": { - "description": "Optional. A filter to apply to the list (e.g. `create_time > \"2023-01-01T00:00:00Z\"`).", - "location": "query", - "type": "string" - }, - "pageSize": { - "description": "Optional. The maximum number of diagnostics to return. The service may return fewer than this value. If unspecified, at most 100 diagnostics 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 `ListDiagnostics` call. Provide this to retrieve the subsequent page.", - "location": "query", - "type": "string" - }, - "parent": { - "description": "Required. The parent resource of the diagnostics.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+parent}/diagnostics", - "response": { - "$ref": "GoogleCloudContactcenterinsightsV1ListDiagnosticsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - } - } - }, "encryptionSpec": { "methods": { "initialize": { @@ -6234,527 +6101,157 @@ } } }, - "revision": "20260521", + "revision": "20260601", "rootUrl": "https://contactcenterinsights.googleapis.com/", "schemas": { - "GoogleCloudAiplatformV1Blob": { - "description": "A content blob. A Blob contains data of a specific media type. It is used to represent images, audio, and video.", - "id": "GoogleCloudAiplatformV1Blob", + "GoogleCloudCesV1mainAgentTransfer": { + "description": "Represents an event indicating the transfer of a conversation to a different agent.", + "id": "GoogleCloudCesV1mainAgentTransfer", "properties": { - "data": { - "description": "Required. The raw bytes of the data.", - "format": "byte", - "type": "string" - }, "displayName": { - "description": "Optional. The display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server-side tools (`code_execution`, `google_search`, and `url_context`) are enabled.", + "description": "Output only. Display name of the agent.", + "readOnly": true, "type": "string" }, - "mimeType": { - "description": "Required. The IANA standard MIME type of the source data.", + "targetAgent": { + "description": "Required. The agent to which the conversation is being transferred. The agent will handle the conversation from this point forward. Format: `projects/{project}/locations/{location}/apps/{app}/agents/{agent}`", "type": "string" } }, "type": "object" }, - "GoogleCloudAiplatformV1CodeExecutionResult": { - "description": "Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used.", - "id": "GoogleCloudAiplatformV1CodeExecutionResult", + "GoogleCloudCesV1mainBlob": { + "description": "Represents a blob input or output in the conversation.", + "id": "GoogleCloudCesV1mainBlob", "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. `output` contains the stdout, if any.", - "Code execution failed. `output` contains the stderr and stdout, if any.", - "Code execution ran for too long, and was cancelled. There may or may not be a partial `output` present." - ], + "data": { + "description": "Required. Raw bytes of the blob.", + "format": "byte", "type": "string" }, - "output": { - "description": "Optional. Contains stdout when code execution is successful, stderr or other description otherwise.", + "mimeType": { + "description": "Required. The IANA standard MIME type of the source data.", "type": "string" } }, "type": "object" }, - "GoogleCloudAiplatformV1Content": { - "description": "The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message.", - "id": "GoogleCloudAiplatformV1Content", + "GoogleCloudCesV1mainChunk": { + "description": "A chunk of content within a message.", + "id": "GoogleCloudCesV1mainChunk", "properties": { - "parts": { - "description": "Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part.", - "items": { - "$ref": "GoogleCloudAiplatformV1Part" - }, - "type": "array" + "agentTransfer": { + "$ref": "GoogleCloudCesV1mainAgentTransfer", + "description": "Optional. Agent transfer event." }, - "role": { - "description": "Optional. The producer of the content. Must be either 'user' or 'model'. If not set, the service will default to 'user'.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudAiplatformV1ExecutableCode": { - "description": "Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated.", - "id": "GoogleCloudAiplatformV1ExecutableCode", - "properties": { - "code": { - "description": "Required. The code to be executed.", - "type": "string" + "blob": { + "$ref": "GoogleCloudCesV1mainBlob", + "description": "Optional. Blob data." }, - "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" - }, - "GoogleCloudAiplatformV1FileData": { - "description": "URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage.", - "id": "GoogleCloudAiplatformV1FileData", - "properties": { - "displayName": { - "description": "Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled.", - "type": "string" + "defaultVariables": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "A struct represents default variables at the start of the conversation, keyed by variable names.", + "type": "object" }, - "fileUri": { - "description": "Required. The URI of the file in Google Cloud Storage.", - "type": "string" + "image": { + "$ref": "GoogleCloudCesV1mainImage", + "description": "Optional. Image data." }, - "mimeType": { - "description": "Required. The IANA standard MIME type of the source data.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudAiplatformV1FunctionCall": { - "description": "A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values.", - "id": "GoogleCloudAiplatformV1FunctionCall", - "properties": { - "args": { + "payload": { "additionalProperties": { "description": "Properties of the object.", "type": "any" }, - "description": "Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details.", + "description": "Optional. Custom payload data.", "type": "object" }, - "name": { - "description": "Optional. The name of the function to call. Matches FunctionDeclaration.name.", + "text": { + "description": "Optional. Text data.", "type": "string" }, - "partialArgs": { - "description": "Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally.", - "items": { - "$ref": "GoogleCloudAiplatformV1PartialArg" - }, - "type": "array" + "toolCall": { + "$ref": "GoogleCloudCesV1mainToolCall", + "description": "Optional. Tool execution request." }, - "willContinue": { - "description": "Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow.", - "type": "boolean" + "toolResponse": { + "$ref": "GoogleCloudCesV1mainToolResponse", + "description": "Optional. Tool execution response." + }, + "transcript": { + "description": "Optional. Transcript associated with the audio.", + "type": "string" + }, + "updatedVariables": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "A struct represents variables that were updated in the conversation, keyed by variable names.", + "type": "object" } }, "type": "object" }, - "GoogleCloudAiplatformV1FunctionResponse": { - "description": "The result output from a FunctionCall that contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a `FunctionCall` made based on model prediction.", - "id": "GoogleCloudAiplatformV1FunctionResponse", + "GoogleCloudCesV1mainEndSession": { + "description": "Indicates the session has terminated, due to either successful completion (e.g. user says \"Good bye!\" ) or an agent escalation. The agent will not process any further inputs after session is terminated and the client should half-close and disconnect after receiving all remaining responses from the agent.", + "id": "GoogleCloudCesV1mainEndSession", "properties": { - "name": { - "description": "Required. The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name.", - "type": "string" - }, - "parts": { - "description": "Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types.", - "items": { - "$ref": "GoogleCloudAiplatformV1FunctionResponsePart" - }, - "type": "array" - }, - "response": { + "metadata": { "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.", + "description": "Optional. Provides additional information about the end session signal, such as the reason for ending the session.", "type": "object" - }, - "scheduling": { - "description": "Optional. Specifies how the response should be scheduled in the conversation. Only applicable to NON_BLOCKING function calls, is ignored otherwise. Defaults to WHEN_IDLE.", - "enum": [ - "SCHEDULING_UNSPECIFIED", - "SILENT", - "WHEN_IDLE", - "INTERRUPT" - ], - "enumDescriptions": [ - "This value is unused.", - "Only add the result to the conversation context, do not interrupt or trigger generation.", - "Add the result to the conversation context, and prompt to generate output without interrupting ongoing generation.", - "Add the result to the conversation context, interrupt ongoing generation and prompt to generate output." - ], - "type": "string" } }, "type": "object" }, - "GoogleCloudAiplatformV1FunctionResponseBlob": { - "description": "Raw media bytes for function response. Text should not be sent as raw bytes, use the 'text' field.", - "id": "GoogleCloudAiplatformV1FunctionResponseBlob", + "GoogleCloudCesV1mainImage": { + "description": "Represents an image input or output in the conversation.", + "id": "GoogleCloudCesV1mainImage", "properties": { "data": { - "description": "Required. Raw bytes.", + "description": "Required. Raw bytes of the image.", "format": "byte", "type": "string" }, - "displayName": { - "description": "Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.", - "type": "string" - }, "mimeType": { - "description": "Required. The IANA standard MIME type of the source data.", + "description": "Required. The IANA standard MIME type of the source data. Supported image types includes: * image/png * image/jpeg * image/webp", "type": "string" } }, "type": "object" }, - "GoogleCloudAiplatformV1FunctionResponseFileData": { - "description": "URI based data for function response.", - "id": "GoogleCloudAiplatformV1FunctionResponseFileData", + "GoogleCloudCesV1mainMessage": { + "description": "A message within a conversation.", + "id": "GoogleCloudCesV1mainMessage", "properties": { - "displayName": { - "description": "Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.", - "type": "string" + "chunks": { + "description": "Optional. Content of the message as a series of chunks.", + "items": { + "$ref": "GoogleCloudCesV1mainChunk" + }, + "type": "array" }, - "fileUri": { - "description": "Required. URI.", + "eventTime": { + "description": "Optional. Timestamp when the message was sent or received. Should not be used if the message is part of an example.", + "format": "google-datetime", "type": "string" }, - "mimeType": { - "description": "Required. The IANA standard MIME type of the source data.", + "role": { + "description": "Optional. The role within the conversation, e.g., user, agent.", "type": "string" } }, "type": "object" }, - "GoogleCloudAiplatformV1FunctionResponsePart": { - "description": "A datatype containing media that is part of a `FunctionResponse` message. A `FunctionResponsePart` consists of data which has an associated datatype. A `FunctionResponsePart` can only contain one of the accepted types in `FunctionResponsePart.data`. A `FunctionResponsePart` must have a fixed IANA MIME type identifying the type and subtype of the media if the `inline_data` field is filled with raw bytes.", - "id": "GoogleCloudAiplatformV1FunctionResponsePart", - "properties": { - "fileData": { - "$ref": "GoogleCloudAiplatformV1FunctionResponseFileData", - "description": "URI based data." - }, - "inlineData": { - "$ref": "GoogleCloudAiplatformV1FunctionResponseBlob", - "description": "Inline media bytes." - } - }, - "type": "object" - }, - "GoogleCloudAiplatformV1Part": { - "description": "A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes.", - "id": "GoogleCloudAiplatformV1Part", - "properties": { - "codeExecutionResult": { - "$ref": "GoogleCloudAiplatformV1CodeExecutionResult", - "description": "Optional. The result of executing the ExecutableCode." - }, - "executableCode": { - "$ref": "GoogleCloudAiplatformV1ExecutableCode", - "description": "Optional. Code generated by the model that is intended to be executed." - }, - "fileData": { - "$ref": "GoogleCloudAiplatformV1FileData", - "description": "Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage." - }, - "functionCall": { - "$ref": "GoogleCloudAiplatformV1FunctionCall", - "description": "Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function." - }, - "functionResponse": { - "$ref": "GoogleCloudAiplatformV1FunctionResponse", - "description": "Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted." - }, - "inlineData": { - "$ref": "GoogleCloudAiplatformV1Blob", - "description": "Optional. The inline data content of the part. This can be used to include images, audio, or video in a request." - }, - "mediaResolution": { - "$ref": "GoogleCloudAiplatformV1PartMediaResolution", - "description": "per part media resolution. Media resolution for the input media." - }, - "text": { - "description": "Optional. The text content of the part. When sent from the VSCode Gemini Code Assist extension, references to @mentioned items will be converted to markdown boldface text. For example `@my-repo` will be converted to and sent as `**my-repo**` by the IDE agent.", - "type": "string" - }, - "thought": { - "description": "Optional. Indicates whether the `part` represents the model's thought process or reasoning.", - "type": "boolean" - }, - "thoughtSignature": { - "description": "Optional. An opaque signature for the thought so it can be reused in subsequent requests.", - "format": "byte", - "type": "string" - }, - "videoMetadata": { - "$ref": "GoogleCloudAiplatformV1VideoMetadata", - "description": "Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data." - } - }, - "type": "object" - }, - "GoogleCloudAiplatformV1PartMediaResolution": { - "description": "per part media resolution. Media resolution for the input media.", - "id": "GoogleCloudAiplatformV1PartMediaResolution", - "properties": { - "level": { - "description": "The tokenization quality used for given media.", - "enum": [ - "MEDIA_RESOLUTION_UNSPECIFIED", - "MEDIA_RESOLUTION_LOW", - "MEDIA_RESOLUTION_MEDIUM", - "MEDIA_RESOLUTION_HIGH", - "MEDIA_RESOLUTION_ULTRA_HIGH" - ], - "enumDescriptions": [ - "Media resolution has not been set.", - "Media resolution set to low.", - "Media resolution set to medium.", - "Media resolution set to high.", - "Media resolution set to ultra high. This is for image only." - ], - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudAiplatformV1PartialArg": { - "description": "Partial argument value of the function call.", - "id": "GoogleCloudAiplatformV1PartialArg", - "properties": { - "boolValue": { - "description": "Optional. Represents a boolean value.", - "type": "boolean" - }, - "jsonPath": { - "description": "Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. \"$.foo.bar[0].data\".", - "type": "string" - }, - "nullValue": { - "description": "Optional. Represents a null value.", - "enum": [ - "NULL_VALUE" - ], - "enumDescriptions": [ - "Null value." - ], - "type": "string" - }, - "numberValue": { - "description": "Optional. Represents a double value.", - "format": "double", - "type": "number" - }, - "stringValue": { - "description": "Optional. Represents a string value.", - "type": "string" - }, - "willContinue": { - "description": "Optional. Whether this is not the last part of the same json_path. If true, another PartialArg message for the current json_path is expected to follow.", - "type": "boolean" - } - }, - "type": "object" - }, - "GoogleCloudAiplatformV1VideoMetadata": { - "description": "Provides metadata for a video, including the start and end offsets for clipping and the frame rate.", - "id": "GoogleCloudAiplatformV1VideoMetadata", - "properties": { - "endOffset": { - "description": "Optional. The end offset of the video.", - "format": "google-duration", - "type": "string" - }, - "fps": { - "description": "Optional. The frame rate of the video sent to the model. If not specified, the default value is 1.0. The valid range is (0.0, 24.0].", - "format": "double", - "type": "number" - }, - "startOffset": { - "description": "Optional. The start offset of the video.", - "format": "google-duration", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudCesV1mainAgentTransfer": { - "description": "Represents an event indicating the transfer of a conversation to a different agent.", - "id": "GoogleCloudCesV1mainAgentTransfer", - "properties": { - "displayName": { - "description": "Output only. Display name of the agent.", - "readOnly": true, - "type": "string" - }, - "targetAgent": { - "description": "Required. The agent to which the conversation is being transferred. The agent will handle the conversation from this point forward. Format: `projects/{project}/locations/{location}/apps/{app}/agents/{agent}`", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudCesV1mainBlob": { - "description": "Represents a blob input or output in the conversation.", - "id": "GoogleCloudCesV1mainBlob", - "properties": { - "data": { - "description": "Required. Raw bytes of the blob.", - "format": "byte", - "type": "string" - }, - "mimeType": { - "description": "Required. The IANA standard MIME type of the source data.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudCesV1mainChunk": { - "description": "A chunk of content within a message.", - "id": "GoogleCloudCesV1mainChunk", - "properties": { - "agentTransfer": { - "$ref": "GoogleCloudCesV1mainAgentTransfer", - "description": "Optional. Agent transfer event." - }, - "blob": { - "$ref": "GoogleCloudCesV1mainBlob", - "description": "Optional. Blob data." - }, - "defaultVariables": { - "additionalProperties": { - "description": "Properties of the object.", - "type": "any" - }, - "description": "A struct represents default variables at the start of the conversation, keyed by variable names.", - "type": "object" - }, - "image": { - "$ref": "GoogleCloudCesV1mainImage", - "description": "Optional. Image data." - }, - "payload": { - "additionalProperties": { - "description": "Properties of the object.", - "type": "any" - }, - "description": "Optional. Custom payload data.", - "type": "object" - }, - "text": { - "description": "Optional. Text data.", - "type": "string" - }, - "toolCall": { - "$ref": "GoogleCloudCesV1mainToolCall", - "description": "Optional. Tool execution request." - }, - "toolResponse": { - "$ref": "GoogleCloudCesV1mainToolResponse", - "description": "Optional. Tool execution response." - }, - "transcript": { - "description": "Optional. Transcript associated with the audio.", - "type": "string" - }, - "updatedVariables": { - "additionalProperties": { - "description": "Properties of the object.", - "type": "any" - }, - "description": "A struct represents variables that were updated in the conversation, keyed by variable names.", - "type": "object" - } - }, - "type": "object" - }, - "GoogleCloudCesV1mainEndSession": { - "description": "Indicates the session has terminated, due to either successful completion (e.g. user says \"Good bye!\" ) or an agent escalation. The agent will not process any further inputs after session is terminated and the client should half-close and disconnect after receiving all remaining responses from the agent.", - "id": "GoogleCloudCesV1mainEndSession", - "properties": { - "metadata": { - "additionalProperties": { - "description": "Properties of the object.", - "type": "any" - }, - "description": "Optional. Provides additional information about the end session signal, such as the reason for ending the session.", - "type": "object" - } - }, - "type": "object" - }, - "GoogleCloudCesV1mainImage": { - "description": "Represents an image input or output in the conversation.", - "id": "GoogleCloudCesV1mainImage", - "properties": { - "data": { - "description": "Required. Raw bytes of the image.", - "format": "byte", - "type": "string" - }, - "mimeType": { - "description": "Required. The IANA standard MIME type of the source data. Supported image types includes: * image/png * image/jpeg * image/webp", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudCesV1mainMessage": { - "description": "A message within a conversation.", - "id": "GoogleCloudCesV1mainMessage", - "properties": { - "chunks": { - "description": "Optional. Content of the message as a series of chunks.", - "items": { - "$ref": "GoogleCloudCesV1mainChunk" - }, - "type": "array" - }, - "eventTime": { - "description": "Optional. Timestamp when the message was sent or received. Should not be used if the message is part of an example.", - "format": "google-datetime", - "type": "string" - }, - "role": { - "description": "Optional. The role within the conversation, e.g., user, agent.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudCesV1mainSpan": { - "description": "A span is a unit of work or a single operation during the request processing.", - "id": "GoogleCloudCesV1mainSpan", + "GoogleCloudCesV1mainSpan": { + "description": "A span is a unit of work or a single operation during the request processing.", + "id": "GoogleCloudCesV1mainSpan", "properties": { "attributes": { "additionalProperties": { @@ -9340,380 +8837,28 @@ "properties": {}, "type": "object" }, - "GoogleCloudContactcenterinsightsV1DiagnoseConversationsMetadata": { - "description": "Metadata for a DiagnoseConversations operation.", - "id": "GoogleCloudContactcenterinsightsV1DiagnoseConversationsMetadata", + "GoogleCloudContactcenterinsightsV1DialogflowIntent": { + "description": "The data for a Dialogflow intent. Represents a detected intent in the conversation, e.g. MAKES_PROMISE.", + "id": "GoogleCloudContactcenterinsightsV1DialogflowIntent", "properties": { - "createTime": { - "description": "Output only. The time the operation was created.", - "format": "google-datetime", - "readOnly": true, + "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" }, - "diagnosticReport": { - "$ref": "GoogleCloudContactcenterinsightsV1DiagnosticReport", - "description": "Output only. The diagnostic report containing metrics and intent breakdowns.", - "readOnly": true - }, - "endTime": { - "description": "Output only. The time the operation finished running.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "fullReport": { - "description": "Output only. If true, the agent generated a full diagnostic report for all sub-agents.", - "readOnly": true, - "type": "boolean" - }, - "latestStep": { - "$ref": "GoogleCloudContactcenterinsightsV1SherlockStep", - "description": "Output only. The most recent thought or action from the agent.", - "readOnly": true - }, - "metricType": { - "description": "Output only. The type of metric being diagnosed.", - "enum": [ - "DIAGNOSTIC_METRIC_TYPE_UNSPECIFIED", - "ESCALATION", - "CONTAINMENT" - ], - "enumDescriptions": [ - "Metric type is unspecified.", - "Escalation rate.", - "Containment rate." - ], - "readOnly": true, - "type": "string" - }, - "partialTrajectories": { - "deprecated": true, - "description": "Output only. Deprecated: Use partial_trajectory_steps instead. Output only. The intermediate trajectory updates (partial trajectory).", - "items": { - "type": "string" - }, - "readOnly": true, - "type": "array" - }, - "partialTrajectorySteps": { - "description": "Output only. The intermediate trajectory updates. This can be used for live progress tracking of the agent's thoughts and actions as it works through the analysis.", - "items": { - "$ref": "GoogleCloudContactcenterinsightsV1SherlockStep" - }, - "readOnly": true, - "type": "array" - }, - "request": { - "$ref": "GoogleCloudContactcenterinsightsV1DiagnoseConversationsRequest", - "description": "Output only. The request that created the operation.", - "readOnly": true - } - }, - "type": "object" - }, - "GoogleCloudContactcenterinsightsV1DiagnoseConversationsRequest": { - "description": "The request to analyze conversation data using agentic workflows. This RPC triggers a complex analysis process that may involve several steps of reasoning and tool execution.", - "id": "GoogleCloudContactcenterinsightsV1DiagnoseConversationsRequest", - "properties": { - "agentDisplayName": { - "description": "ces agent display name (e.g., \"Steering\", \"Billing\").", - "type": "string" - }, - "agentId": { - "description": "ces agent id to diagnose.", - "type": "string" - }, - "appId": { - "description": "Required. The CES App ID.", - "type": "string" - }, - "appVersion": { - "description": "Optional. Optional but highly recommended. ces app version. If provided, specific version of agent instruction will be retrieved. If empty or set to '-', will use the latest draft version of instruction.", - "type": "string" - }, - "dryRun": { - "deprecated": true, - "description": "Optional. Deprecated: If true, the request will be validated and a simulation of the analysis will be performed without actually executing the task. This field is unused. Use validate_only instead.", - "type": "boolean" - }, - "filter": { - "description": "Optional. AIP-160 compliant filter for selecting target conversations.", - "type": "string" - }, - "fullReport": { - "deprecated": true, - "description": "Optional. Deprecated: If true, the agent will generate a full diagnostic report for all sub-agents. Subagent reporting configuration is unused. The final diagnostic details are already persisted inside the Diagnostic resource instead.", - "type": "boolean" - }, - "groupId": { - "description": "Optional. A unique identifier used to group multiple diagnostic requests triggered under the same run batch or cron job.", - "type": "string" - }, - "instructions": { - "deprecated": true, - "description": "Optional. Deprecated: Specific instructions for the agent. Use app_id and subagent fields instead.", - "type": "string" - }, - "maxSteps": { - "description": "Optional. The maximum number of steps the agent can take during the execution of the task. Defaults to 10.", - "format": "int32", - "type": "integer" - }, - "metricType": { - "description": "Optional. The type of metric being diagnosed.", - "enum": [ - "DIAGNOSTIC_METRIC_TYPE_UNSPECIFIED", - "ESCALATION", - "CONTAINMENT" - ], - "enumDescriptions": [ - "Metric type is unspecified.", - "Escalation rate.", - "Containment rate." - ], - "type": "string" - }, - "outputConfig": { - "$ref": "GoogleCloudContactcenterinsightsV1OutputConfig", - "deprecated": true, - "description": "Optional. Deprecated: The configuration for the output of the task. The export destination is unused. Detailed markdown and conversation slices are already persisted inside the Diagnostic resource instead." - }, - "parent": { - "description": "Required. The parent resource where the analysis will be performed.", - "type": "string" - }, - "requestId": { - "description": "Optional. Required. A unique ID that identifies the request. If the service receives two `DiagnoseConversationsRequest`s with the same `request_id`, then the second request will be ignored; instead, the response of the first request will be returned. The ID must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters.", - "type": "string" - }, - "taskQuery": { - "description": "Optional. A natural language description of the analysis goal or question.", - "type": "string" - }, - "validateOnly": { - "description": "Optional. If true, the request will only be validated (permissions, filter syntax, etc.) without actually triggering the analysis.", - "type": "boolean" - } - }, - "type": "object" - }, - "GoogleCloudContactcenterinsightsV1DiagnoseConversationsResponse": { - "description": "The response from a DiagnoseConversations request.", - "id": "GoogleCloudContactcenterinsightsV1DiagnoseConversationsResponse", - "properties": { - "answer": { - "deprecated": true, - "description": "Output only. Deprecated: Output only. The final, high-level answer or diagnostic summary returned by the Sherlock worker is deprecated. The persistent analysis summary is stored inside the Diagnostic resource instead.", - "readOnly": true, - "type": "string" - }, - "exportUri": { - "deprecated": true, - "description": "Output only. Deprecated: Output only. If an external destination was requested, the URI of the exported data is deprecated. The persistent diagnostic details are stored inside the Diagnostic resource instead.", - "readOnly": true, - "type": "string" - }, - "fullTrajectories": { - "deprecated": true, - "description": "Output only. Deprecated: Use full_trajectory_steps instead. Output only. The complete sequence of thoughts and actions (full trajectory).", - "items": { - "type": "string" - }, - "readOnly": true, - "type": "array" - }, - "fullTrajectorySteps": { - "deprecated": true, - "description": "Output only. Deprecated: Output only. The complete sequence of thoughts and actions taken by the agent is deprecated under LRO response completions. Use the persistent details inside the Diagnostic resource instead.", - "items": { - "$ref": "GoogleCloudContactcenterinsightsV1SherlockStep" - }, - "readOnly": true, - "type": "array" - } - }, - "type": "object" - }, - "GoogleCloudContactcenterinsightsV1Diagnostic": { - "description": "The diagnostic resource.", - "id": "GoogleCloudContactcenterinsightsV1Diagnostic", - "properties": { - "agentDisplayName": { - "description": "Output only. The display name of the agent associated with the diagnostic.", - "readOnly": true, - "type": "string" - }, - "agentId": { - "description": "Output only. The ID of the agent associated with the diagnostic.", - "readOnly": true, - "type": "string" - }, - "analysisSummary": { - "description": "Output only. The complete sequence of thoughts and actions taken by the agent.", - "readOnly": true, - "type": "string" - }, - "appId": { - "description": "Output only. The application ID associated with the diagnostic.", - "readOnly": true, - "type": "string" - }, - "appVersion": { - "description": "Output only. The application version associated with the diagnostic.", - "readOnly": true, - "type": "string" - }, - "conversationFilter": { - "description": "Output only. The filter used to select the conversations that were included in the diagnostic.", - "readOnly": true, - "type": "string" - }, - "createTime": { - "description": "Output only. The time at which the diagnostic was created.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "groupCreateTime": { - "description": "Output only. The timestamp when the group was created.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "name": { - "description": "Immutable. Identifier. The resource name of the diagnostic.", - "type": "string" - }, - "report": { - "$ref": "GoogleCloudContactcenterinsightsV1DiagnosticReport", - "description": "Output only. The report containing the findings of the diagnostic.", - "readOnly": true - } - }, - "type": "object" - }, - "GoogleCloudContactcenterinsightsV1DiagnosticReport": { - "description": "A diagnostic report containing loss patterns and problematic slice stats.", - "id": "GoogleCloudContactcenterinsightsV1DiagnosticReport", - "properties": { - "conversationSlices": { - "additionalProperties": { - "$ref": "GoogleCloudContactcenterinsightsV1DiagnosticReportConversationSlice" - }, - "description": "Output only. A map of conversation slices used in the report.", - "readOnly": true, - "type": "object" - }, - "intentStats": { - "deprecated": true, - "description": "Output only. Deprecated: Intent breakdowns are no longer used.", - "items": { - "$ref": "GoogleCloudContactcenterinsightsV1DiagnosticReportIntentStats" - }, - "readOnly": true, - "type": "array" - }, - "lossPatterns": { - "description": "Output only. A list of loss patterns identified for the entire project/dataset.", - "items": { - "$ref": "GoogleCloudContactcenterinsightsV1LossPattern" - }, - "readOnly": true, - "type": "array" - }, - "metrics": { - "additionalProperties": { - "$ref": "GoogleCloudContactcenterinsightsV1MetricValue" - }, - "deprecated": true, - "description": "Output only. Deprecated: The type of the metric. Metrics for Outcome Based Insights derived from QueryMetrics.", - "readOnly": true, - "type": "object" - }, - "report": { - "description": "Output only. The final report in markdown format.", - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudContactcenterinsightsV1DiagnosticReportConversationSlice": { - "description": "Output only. A map of conversation slices used in the report.", - "id": "GoogleCloudContactcenterinsightsV1DiagnosticReportConversationSlice", - "properties": { - "conversationIds": { - "description": "The list of conversation IDs that match this slice.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "GoogleCloudContactcenterinsightsV1DiagnosticReportIntentStats": { - "description": "A breakdown of metrics grouped by intent.", - "id": "GoogleCloudContactcenterinsightsV1DiagnosticReportIntentStats", - "properties": { - "conversationCount": { - "description": "Output only. The number of conversations associated with this intent.", - "format": "int32", - "readOnly": true, - "type": "integer" - }, - "intentDisplayName": { - "description": "Output only. The display name of the intent.", - "readOnly": true, - "type": "string" - }, - "intentId": { - "description": "Output only. The unique identifier for the intent (from Discovery Engine).", - "readOnly": true, - "type": "string" - }, - "lossPatterns": { - "description": "Output only. A list of loss patterns identified for this intent.", - "items": { - "$ref": "GoogleCloudContactcenterinsightsV1LossPattern" - }, - "readOnly": true, - "type": "array" - }, - "metrics": { - "additionalProperties": { - "$ref": "GoogleCloudContactcenterinsightsV1MetricValue" - }, - "deprecated": true, - "description": "Output only. Deprecated: The type of the metric. Metrics for Outcome Based Insights derived from QueryMetrics.", - "readOnly": true, - "type": "object" - } - }, - "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}", + "dialogflowIntentId": { + "description": "The Dialogflow intent resource path. Format: projects/{project}/agent/{agent}/intents/{intent}", "type": "string" } }, @@ -11722,24 +10867,6 @@ }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1ListDiagnosticsResponse": { - "description": "The response from a ListDiagnostics request.", - "id": "GoogleCloudContactcenterinsightsV1ListDiagnosticsResponse", - "properties": { - "diagnostics": { - "description": "Optional. The diagnostics that match the request.", - "items": { - "$ref": "GoogleCloudContactcenterinsightsV1Diagnostic" - }, - "type": "array" - }, - "nextPageToken": { - "description": "Optional. 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" - }, "GoogleCloudContactcenterinsightsV1ListFeedbackLabelsResponse": { "description": "The response for listing feedback labels.", "id": "GoogleCloudContactcenterinsightsV1ListFeedbackLabelsResponse", @@ -11912,209 +11039,19 @@ }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1LossPattern": { - "description": "A loss pattern of a virtual agent and suggested fixes.", - "id": "GoogleCloudContactcenterinsightsV1LossPattern", + "GoogleCloudContactcenterinsightsV1MetricDefinition": { + "description": "A definition for a metric to be calculated during analysis.", + "id": "GoogleCloudContactcenterinsightsV1MetricDefinition", "properties": { - "conversationIds": { - "description": "Output only. A list of conversation IDs that match this loss pattern.", - "items": { - "type": "string" - }, - "readOnly": true, - "type": "array" - }, - "description": { - "description": "Output only. A markdown description of the loss pattern.", - "readOnly": true, - "type": "string" - }, "displayName": { - "description": "Output only. The display name of the loss pattern.", + "description": "Output only. The user-visible name of the metric (e.g., \"Containment Rate\").", "readOnly": true, "type": "string" }, - "examples": { - "description": "Output only. A markdown of loss pattern examples.", + "sourceId": { + "description": "Output only. The resource name of the underlying Insights primitive (e.g., Tag or QaQuestion) used to calculate this metric.", "readOnly": true, "type": "string" - }, - "id": { - "description": "Output only. The unique identifier for the loss pattern.", - "readOnly": true, - "type": "string" - }, - "links": { - "description": "Output only. A list of links to conversations or bot instructions.", - "items": { - "$ref": "GoogleCloudContactcenterinsightsV1LossPatternLink" - }, - "readOnly": true, - "type": "array" - }, - "percentage": { - "description": "Output only. The percentage of conversations that match this loss pattern.", - "format": "double", - "readOnly": true, - "type": "number" - }, - "suggestedFixes": { - "description": "Output only. A markdown description of the suggested fixes.", - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudContactcenterinsightsV1LossPatternLink": { - "description": "A link to a conversation or bot instruction.", - "id": "GoogleCloudContactcenterinsightsV1LossPatternLink", - "properties": { - "botInstructionLink": { - "$ref": "GoogleCloudContactcenterinsightsV1LossPatternLinkBotInstructionLink", - "description": "A link to a bot instruction." - }, - "conversationLink": { - "$ref": "GoogleCloudContactcenterinsightsV1LossPatternLinkConversationLink", - "description": "A link to a conversation." - }, - "endByteIndex": { - "description": "The end byte index of the highlighted text (exclusive).", - "format": "int32", - "type": "integer" - }, - "highlightedText": { - "description": "The text that is highlighted. (populated for debugging purposes)", - "type": "string" - }, - "locationType": { - "description": "The location type.", - "enum": [ - "LOCATION_TYPE_UNSPECIFIED", - "DESCRIPTION", - "SUGGESTED_FIXES", - "EXAMPLES" - ], - "enumDescriptions": [ - "Unspecified location type.", - "The link applies to the description field.", - "The link applies to the suggested_fixes field.", - "The link applies to the examples field." - ], - "type": "string" - }, - "startByteIndex": { - "description": "The start byte index of the highlighted text (inclusive).", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "GoogleCloudContactcenterinsightsV1LossPatternLinkBotInstructionLink": { - "description": "A link to a bot instruction.", - "id": "GoogleCloudContactcenterinsightsV1LossPatternLinkBotInstructionLink", - "properties": { - "endLine": { - "description": "The exclusive end line number of the instructions.", - "format": "int32", - "type": "integer" - }, - "startLine": { - "description": "The inclusive start line number of the instructions.", - "format": "int32", - "type": "integer" - }, - "subagent": { - "description": "The name of the subagent.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudContactcenterinsightsV1LossPatternLinkConversationLink": { - "description": "A link to a conversation.", - "id": "GoogleCloudContactcenterinsightsV1LossPatternLinkConversationLink", - "properties": { - "conversationId": { - "description": "The conversation ID.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudContactcenterinsightsV1MetricDefinition": { - "description": "A definition for a metric to be calculated during analysis.", - "id": "GoogleCloudContactcenterinsightsV1MetricDefinition", - "properties": { - "displayName": { - "description": "Output only. The user-visible name of the metric (e.g., \"Containment Rate\").", - "readOnly": true, - "type": "string" - }, - "sourceId": { - "description": "Output only. The resource name of the underlying Insights primitive (e.g., Tag or QaQuestion) used to calculate this metric.", - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudContactcenterinsightsV1MetricValue": { - "deprecated": true, - "description": "Deprecated: MetricValue is no longer used for diagnostics.", - "id": "GoogleCloudContactcenterinsightsV1MetricValue", - "properties": { - "conversations": { - "description": "Output only. The list of conversation names that contributed to this metric (hits). Format: `projects/{project}/locations/{location}/conversations/{conversation}`", - "items": { - "type": "string" - }, - "readOnly": true, - "type": "array" - }, - "displayName": { - "description": "Output only. The user-visible name of the metric (e.g., \"Containment Rate\").", - "readOnly": true, - "type": "string" - }, - "hitCount": { - "description": "Output only. The number of positive matches (hits) for this metric.", - "format": "int32", - "readOnly": true, - "type": "integer" - }, - "metricType": { - "description": "Output only. Deprecated: The type of the metric. Metrics for Outcome Based Insights derived from QueryMetrics.", - "enum": [ - "METRIC_TYPE_UNSPECIFIED", - "ESCALATION", - "CONTAINMENT" - ], - "enumDescriptions": [ - "Metric type is unspecified.", - "Escalation rate.", - "Containment rate." - ], - "readOnly": true, - "type": "string" - }, - "sourceId": { - "description": "Output only. The resource name of the underlying Insights primitive (e.g., Tag or QaQuestion) used to calculate this metric.", - "readOnly": true, - "type": "string" - }, - "totalCount": { - "description": "Output only. The total number of items evaluated for this metric.", - "format": "int32", - "readOnly": true, - "type": "integer" - }, - "value": { - "description": "Output only. The calculated value of the metric (usually a ratio or rate 0.0 - 1.0).", - "format": "double", - "readOnly": true, - "type": "number" } }, "type": "object" @@ -12192,70 +11129,6 @@ }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1OutputConfig": { - "description": "Configuration for where to export or return the analysis findings.", - "id": "GoogleCloudContactcenterinsightsV1OutputConfig", - "properties": { - "bigqueryDestination": { - "$ref": "GoogleCloudContactcenterinsightsV1OutputConfigBigQueryDestination", - "description": "Optional. Export to BigQuery." - }, - "gcsDestination": { - "$ref": "GoogleCloudContactcenterinsightsV1OutputConfigGcsDestination", - "description": "Optional. Export to a Cloud Storage bucket." - }, - "googleSheetsDestination": { - "$ref": "GoogleCloudContactcenterinsightsV1OutputConfigGoogleSheetsDestination", - "description": "Optional. Export directly to a Google Sheet." - } - }, - "type": "object" - }, - "GoogleCloudContactcenterinsightsV1OutputConfigBigQueryDestination": { - "description": "BigQuery destination configuration.", - "id": "GoogleCloudContactcenterinsightsV1OutputConfigBigQueryDestination", - "properties": { - "dataset": { - "description": "Required. The name of the BigQuery dataset.", - "type": "string" - }, - "projectId": { - "description": "Optional. A project ID or number.", - "type": "string" - }, - "table": { - "description": "Required. The BigQuery table name.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudContactcenterinsightsV1OutputConfigGcsDestination": { - "description": "Cloud Storage destination configuration.", - "id": "GoogleCloudContactcenterinsightsV1OutputConfigGcsDestination", - "properties": { - "uri": { - "description": "Required. The Cloud Storage URI to export the results to.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudContactcenterinsightsV1OutputConfigGoogleSheetsDestination": { - "description": "Google Sheets destination configuration.", - "id": "GoogleCloudContactcenterinsightsV1OutputConfigGoogleSheetsDestination", - "properties": { - "sheet": { - "description": "Optional. The sheet name.", - "type": "string" - }, - "spreadsheetId": { - "description": "Optional. An existing Google Sheets ID.", - "type": "string" - } - }, - "type": "object" - }, "GoogleCloudContactcenterinsightsV1PhraseMatchData": { "description": "The data for a matched phrase matcher. Represents information identifying a phrase matcher for a given match.", "id": "GoogleCloudContactcenterinsightsV1PhraseMatchData", @@ -13971,74 +12844,6 @@ }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1SherlockStep": { - "description": "A step in the agent's reasoning process (Trajectory Step).", - "id": "GoogleCloudContactcenterinsightsV1SherlockStep", - "properties": { - "agentId": { - "description": "Output only. The ID of the agent that produced/received this content.", - "readOnly": true, - "type": "string" - }, - "content": { - "$ref": "GoogleCloudAiplatformV1Content", - "description": "Output only. The content of the turn (either Model or User role).", - "readOnly": true - }, - "stateDeltas": { - "description": "Output only. List of state changes caused by this specific turn.", - "items": { - "additionalProperties": { - "description": "Properties of the object.", - "type": "any" - }, - "type": "object" - }, - "readOnly": true, - "type": "array" - }, - "stepId": { - "description": "Output only. Unique ID for this specific turn.", - "readOnly": true, - "type": "string" - }, - "textInput": { - "deprecated": true, - "description": "Output only. Deprecated: Use content instead.", - "items": { - "type": "string" - }, - "readOnly": true, - "type": "array" - }, - "thought": { - "deprecated": true, - "description": "Output only. Deprecated: Use content instead.", - "readOnly": true, - "type": "string" - }, - "toolCalls": { - "deprecated": true, - "description": "Output only. Deprecated: Use content instead.", - "items": { - "$ref": "GoogleCloudContactcenterinsightsV1ToolCall" - }, - "readOnly": true, - "type": "array" - }, - "toolOutput": { - "additionalProperties": { - "description": "Properties of the object.", - "type": "any" - }, - "deprecated": true, - "description": "Output only. Deprecated: Use content instead.", - "readOnly": true, - "type": "object" - } - }, - "type": "object" - }, "GoogleCloudContactcenterinsightsV1SignedAudioUris": { "description": "Signed audio URIs for a conversation.", "id": "GoogleCloudContactcenterinsightsV1SignedAudioUris", @@ -14311,27 +13116,6 @@ }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1ToolCall": { - "description": "A tool call from the agent.", - "id": "GoogleCloudContactcenterinsightsV1ToolCall", - "properties": { - "input": { - "additionalProperties": { - "description": "Properties of the object.", - "type": "any" - }, - "description": "Output only. The input arguments to the tool.", - "readOnly": true, - "type": "object" - }, - "toolName": { - "description": "Output only. The name of the tool being called.", - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, "GoogleCloudContactcenterinsightsV1TuneQaScorecardRevisionRequest": { "description": "Request for TuneQaScorecardRevision endpoint.", "id": "GoogleCloudContactcenterinsightsV1TuneQaScorecardRevisionRequest", @@ -16056,314 +14840,20 @@ "properties": {}, "type": "object" }, - "GoogleCloudContactcenterinsightsV1alpha1DiagnoseConversationsMetadata": { - "description": "Metadata for a DiagnoseConversations operation.", - "id": "GoogleCloudContactcenterinsightsV1alpha1DiagnoseConversationsMetadata", + "GoogleCloudContactcenterinsightsV1alpha1DialogflowIntent": { + "description": "The data for a Dialogflow intent. Represents a detected intent in the conversation, e.g. MAKES_PROMISE.", + "id": "GoogleCloudContactcenterinsightsV1alpha1DialogflowIntent", "properties": { - "createTime": { - "description": "Output only. The time the operation was created.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "diagnosticReport": { - "$ref": "GoogleCloudContactcenterinsightsV1alpha1DiagnosticReport", - "description": "Output only. The diagnostic report containing metrics and intent breakdowns.", - "readOnly": true - }, - "endTime": { - "description": "Output only. The time the operation finished running.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "fullReport": { - "description": "Output only. If true, the agent generated a full diagnostic report for all sub-agents.", - "readOnly": true, - "type": "boolean" - }, - "latestStep": { - "$ref": "GoogleCloudContactcenterinsightsV1alpha1SherlockStep", - "description": "Output only. The most recent thought or action from the agent.", - "readOnly": true - }, - "metricType": { - "description": "Output only. The type of metric being diagnosed.", - "enum": [ - "DIAGNOSTIC_METRIC_TYPE_UNSPECIFIED", - "ESCALATION", - "CONTAINMENT" - ], - "enumDescriptions": [ - "Metric type is unspecified.", - "Escalation rate.", - "Containment rate." - ], - "readOnly": true, + "displayName": { + "description": "The human-readable name of the intent.", "type": "string" - }, - "partialTrajectories": { - "deprecated": true, - "description": "Output only. Deprecated: Use partial_trajectory_steps instead. Output only. The intermediate trajectory updates (partial trajectory).", - "items": { - "type": "string" - }, - "readOnly": true, - "type": "array" - }, - "partialTrajectorySteps": { - "description": "Output only. The intermediate trajectory updates. This can be used for live progress tracking of the agent's thoughts and actions as it works through the analysis.", - "items": { - "$ref": "GoogleCloudContactcenterinsightsV1alpha1SherlockStep" - }, - "readOnly": true, - "type": "array" - }, - "request": { - "$ref": "GoogleCloudContactcenterinsightsV1alpha1DiagnoseConversationsRequest", - "description": "Output only. The request that created the operation.", - "readOnly": true } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1alpha1DiagnoseConversationsRequest": { - "description": "The request to analyze conversation data using agentic workflows. This RPC triggers a complex analysis process that may involve several steps of reasoning and tool execution.", - "id": "GoogleCloudContactcenterinsightsV1alpha1DiagnoseConversationsRequest", - "properties": { - "agentDisplayName": { - "description": "ces agent display name (e.g., \"Steering\", \"Billing\").", - "type": "string" - }, - "agentId": { - "description": "ces agent id to diagnose.", - "type": "string" - }, - "appId": { - "description": "Required. The CES App ID.", - "type": "string" - }, - "appVersion": { - "description": "Optional. Optional but highly recommended. ces app version. If provided, specific version of agent instruction will be retrieved. If empty or set to '-', will use the latest draft version of instruction.", - "type": "string" - }, - "dryRun": { - "deprecated": true, - "description": "Optional. Deprecated: If true, the request will be validated and a simulation of the analysis will be performed without actually executing the task. This field is unused. Use validate_only instead.", - "type": "boolean" - }, - "filter": { - "description": "Optional. AIP-160 compliant filter for selecting target conversations.", - "type": "string" - }, - "fullReport": { - "deprecated": true, - "description": "Optional. Deprecated: If true, the agent will generate a full diagnostic report for all sub-agents. Subagent reporting configuration is unused. The final diagnostic details are already persisted inside the Diagnostic resource instead.", - "type": "boolean" - }, - "groupId": { - "description": "Optional. A unique identifier used to group multiple diagnostic requests triggered under the same run batch or cron job.", - "type": "string" - }, - "instructions": { - "deprecated": true, - "description": "Optional. Deprecated: Specific instructions for the agent. Use app_id and subagent fields instead.", - "type": "string" - }, - "maxSteps": { - "description": "Optional. The maximum number of steps the agent can take during the execution of the task. Defaults to 10.", - "format": "int32", - "type": "integer" - }, - "metricType": { - "description": "Optional. The type of metric being diagnosed.", - "enum": [ - "DIAGNOSTIC_METRIC_TYPE_UNSPECIFIED", - "ESCALATION", - "CONTAINMENT" - ], - "enumDescriptions": [ - "Metric type is unspecified.", - "Escalation rate.", - "Containment rate." - ], - "type": "string" - }, - "outputConfig": { - "$ref": "GoogleCloudContactcenterinsightsV1alpha1OutputConfig", - "deprecated": true, - "description": "Optional. Deprecated: The configuration for the output of the task. The export destination is unused. Detailed markdown and conversation slices are already persisted inside the Diagnostic resource instead." - }, - "parent": { - "description": "Required. The parent resource where the analysis will be performed.", - "type": "string" - }, - "requestId": { - "description": "Optional. Required. A unique ID that identifies the request. If the service receives two `DiagnoseConversationsRequest`s with the same `request_id`, then the second request will be ignored; instead, the response of the first request will be returned. The ID must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters.", - "type": "string" - }, - "taskQuery": { - "description": "Optional. A natural language description of the analysis goal or question.", - "type": "string" - }, - "validateOnly": { - "description": "Optional. If true, the request will only be validated (permissions, filter syntax, etc.) without actually triggering the analysis.", - "type": "boolean" - } - }, - "type": "object" - }, - "GoogleCloudContactcenterinsightsV1alpha1DiagnoseConversationsResponse": { - "description": "The response from a DiagnoseConversations request.", - "id": "GoogleCloudContactcenterinsightsV1alpha1DiagnoseConversationsResponse", - "properties": { - "answer": { - "deprecated": true, - "description": "Output only. Deprecated: Output only. The final, high-level answer or diagnostic summary returned by the Sherlock worker is deprecated. The persistent analysis summary is stored inside the Diagnostic resource instead.", - "readOnly": true, - "type": "string" - }, - "exportUri": { - "deprecated": true, - "description": "Output only. Deprecated: Output only. If an external destination was requested, the URI of the exported data is deprecated. The persistent diagnostic details are stored inside the Diagnostic resource instead.", - "readOnly": true, - "type": "string" - }, - "fullTrajectories": { - "deprecated": true, - "description": "Output only. Deprecated: Use full_trajectory_steps instead. Output only. The complete sequence of thoughts and actions (full trajectory).", - "items": { - "type": "string" - }, - "readOnly": true, - "type": "array" - }, - "fullTrajectorySteps": { - "deprecated": true, - "description": "Output only. Deprecated: Output only. The complete sequence of thoughts and actions taken by the agent is deprecated under LRO response completions. Use the persistent details inside the Diagnostic resource instead.", - "items": { - "$ref": "GoogleCloudContactcenterinsightsV1alpha1SherlockStep" - }, - "readOnly": true, - "type": "array" - } - }, - "type": "object" - }, - "GoogleCloudContactcenterinsightsV1alpha1DiagnosticReport": { - "description": "A diagnostic report containing loss patterns and problematic slice stats.", - "id": "GoogleCloudContactcenterinsightsV1alpha1DiagnosticReport", - "properties": { - "conversationSlices": { - "additionalProperties": { - "$ref": "GoogleCloudContactcenterinsightsV1alpha1DiagnosticReportConversationSlice" - }, - "description": "Output only. A map of conversation slices used in the report.", - "readOnly": true, - "type": "object" - }, - "intentStats": { - "deprecated": true, - "description": "Output only. Deprecated: Intent breakdowns are no longer used.", - "items": { - "$ref": "GoogleCloudContactcenterinsightsV1alpha1DiagnosticReportIntentStats" - }, - "readOnly": true, - "type": "array" - }, - "lossPatterns": { - "description": "Output only. A list of loss patterns identified for the entire project/dataset.", - "items": { - "$ref": "GoogleCloudContactcenterinsightsV1alpha1LossPattern" - }, - "readOnly": true, - "type": "array" - }, - "metrics": { - "additionalProperties": { - "$ref": "GoogleCloudContactcenterinsightsV1alpha1MetricValue" - }, - "deprecated": true, - "description": "Output only. Deprecated: The type of the metric. Metrics for Outcome Based Insights derived from QueryMetrics.", - "readOnly": true, - "type": "object" - }, - "report": { - "description": "Output only. The final report in markdown format.", - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudContactcenterinsightsV1alpha1DiagnosticReportConversationSlice": { - "description": "Output only. A map of conversation slices used in the report.", - "id": "GoogleCloudContactcenterinsightsV1alpha1DiagnosticReportConversationSlice", - "properties": { - "conversationIds": { - "description": "The list of conversation IDs that match this slice.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "GoogleCloudContactcenterinsightsV1alpha1DiagnosticReportIntentStats": { - "description": "A breakdown of metrics grouped by intent.", - "id": "GoogleCloudContactcenterinsightsV1alpha1DiagnosticReportIntentStats", - "properties": { - "conversationCount": { - "description": "Output only. The number of conversations associated with this intent.", - "format": "int32", - "readOnly": true, - "type": "integer" - }, - "intentDisplayName": { - "description": "Output only. The display name of the intent.", - "readOnly": true, - "type": "string" - }, - "intentId": { - "description": "Output only. The unique identifier for the intent (from Discovery Engine).", - "readOnly": true, - "type": "string" - }, - "lossPatterns": { - "description": "Output only. A list of loss patterns identified for this intent.", - "items": { - "$ref": "GoogleCloudContactcenterinsightsV1alpha1LossPattern" - }, - "readOnly": true, - "type": "array" - }, - "metrics": { - "additionalProperties": { - "$ref": "GoogleCloudContactcenterinsightsV1alpha1MetricValue" - }, - "deprecated": true, - "description": "Output only. Deprecated: The type of the metric. Metrics for Outcome Based Insights derived from QueryMetrics.", - "readOnly": true, - "type": "object" - } - }, - "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", + "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).", @@ -17915,291 +16405,37 @@ }, "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" - }, - "GoogleCloudContactcenterinsightsV1alpha1LossPattern": { - "description": "A loss pattern of a virtual agent and suggested fixes.", - "id": "GoogleCloudContactcenterinsightsV1alpha1LossPattern", - "properties": { - "conversationIds": { - "description": "Output only. A list of conversation IDs that match this loss pattern.", - "items": { - "type": "string" - }, - "readOnly": true, - "type": "array" - }, - "description": { - "description": "Output only. A markdown description of the loss pattern.", - "readOnly": true, - "type": "string" - }, - "displayName": { - "description": "Output only. The display name of the loss pattern.", - "readOnly": true, - "type": "string" - }, - "examples": { - "description": "Output only. A markdown of loss pattern examples.", - "readOnly": true, - "type": "string" - }, - "id": { - "description": "Output only. The unique identifier for the loss pattern.", - "readOnly": true, - "type": "string" - }, - "links": { - "description": "Output only. A list of links to conversations or bot instructions.", - "items": { - "$ref": "GoogleCloudContactcenterinsightsV1alpha1LossPatternLink" - }, - "readOnly": true, - "type": "array" - }, - "percentage": { - "description": "Output only. The percentage of conversations that match this loss pattern.", - "format": "double", - "readOnly": true, - "type": "number" - }, - "suggestedFixes": { - "description": "Output only. A markdown description of the suggested fixes.", - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudContactcenterinsightsV1alpha1LossPatternLink": { - "description": "A link to a conversation or bot instruction.", - "id": "GoogleCloudContactcenterinsightsV1alpha1LossPatternLink", - "properties": { - "botInstructionLink": { - "$ref": "GoogleCloudContactcenterinsightsV1alpha1LossPatternLinkBotInstructionLink", - "description": "A link to a bot instruction." - }, - "conversationLink": { - "$ref": "GoogleCloudContactcenterinsightsV1alpha1LossPatternLinkConversationLink", - "description": "A link to a conversation." - }, - "endByteIndex": { - "description": "The end byte index of the highlighted text (exclusive).", - "format": "int32", - "type": "integer" - }, - "highlightedText": { - "description": "The text that is highlighted. (populated for debugging purposes)", - "type": "string" - }, - "locationType": { - "description": "The location type.", - "enum": [ - "LOCATION_TYPE_UNSPECIFIED", - "DESCRIPTION", - "SUGGESTED_FIXES", - "EXAMPLES" - ], - "enumDescriptions": [ - "Unspecified location type.", - "The link applies to the description field.", - "The link applies to the suggested_fixes field.", - "The link applies to the examples field." - ], - "type": "string" - }, - "startByteIndex": { - "description": "The start byte index of the highlighted text (inclusive).", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "GoogleCloudContactcenterinsightsV1alpha1LossPatternLinkBotInstructionLink": { - "description": "A link to a bot instruction.", - "id": "GoogleCloudContactcenterinsightsV1alpha1LossPatternLinkBotInstructionLink", - "properties": { - "endLine": { - "description": "The exclusive end line number of the instructions.", - "format": "int32", - "type": "integer" - }, - "startLine": { - "description": "The inclusive start line number of the instructions.", - "format": "int32", - "type": "integer" - }, - "subagent": { - "description": "The name of the subagent.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudContactcenterinsightsV1alpha1LossPatternLinkConversationLink": { - "description": "A link to a conversation.", - "id": "GoogleCloudContactcenterinsightsV1alpha1LossPatternLinkConversationLink", - "properties": { - "conversationId": { - "description": "The conversation ID.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudContactcenterinsightsV1alpha1MetricValue": { - "deprecated": true, - "description": "Deprecated: MetricValue is no longer used for diagnostics.", - "id": "GoogleCloudContactcenterinsightsV1alpha1MetricValue", - "properties": { - "conversations": { - "description": "Output only. The list of conversation names that contributed to this metric (hits). Format: `projects/{project}/locations/{location}/conversations/{conversation}`", - "items": { - "type": "string" - }, - "readOnly": true, - "type": "array" - }, - "displayName": { - "description": "Output only. The user-visible name of the metric (e.g., \"Containment Rate\").", - "readOnly": true, - "type": "string" - }, - "hitCount": { - "description": "Output only. The number of positive matches (hits) for this metric.", - "format": "int32", - "readOnly": true, - "type": "integer" - }, - "metricType": { - "description": "Output only. Deprecated: The type of the metric. Metrics for Outcome Based Insights derived from QueryMetrics.", - "enum": [ - "METRIC_TYPE_UNSPECIFIED", - "ESCALATION", - "CONTAINMENT" - ], - "enumDescriptions": [ - "Metric type is unspecified.", - "Escalation rate.", - "Containment rate." - ], - "readOnly": true, - "type": "string" - }, - "sourceId": { - "description": "Output only. The resource name of the underlying Insights primitive (e.g., Tag or QaQuestion) used to calculate this metric.", - "readOnly": true, - "type": "string" - }, - "totalCount": { - "description": "Output only. The total number of items evaluated for this metric.", - "format": "int32", - "readOnly": true, - "type": "integer" - }, - "value": { - "description": "Output only. The calculated value of the metric (usually a ratio or rate 0.0 - 1.0).", - "format": "double", - "readOnly": true, - "type": "number" - } - }, - "type": "object" - }, - "GoogleCloudContactcenterinsightsV1alpha1OutputConfig": { - "description": "Configuration for where to export or return the analysis findings.", - "id": "GoogleCloudContactcenterinsightsV1alpha1OutputConfig", - "properties": { - "bigqueryDestination": { - "$ref": "GoogleCloudContactcenterinsightsV1alpha1OutputConfigBigQueryDestination", - "description": "Optional. Export to BigQuery." - }, - "gcsDestination": { - "$ref": "GoogleCloudContactcenterinsightsV1alpha1OutputConfigGcsDestination", - "description": "Optional. Export to a Cloud Storage bucket." - }, - "googleSheetsDestination": { - "$ref": "GoogleCloudContactcenterinsightsV1alpha1OutputConfigGoogleSheetsDestination", - "description": "Optional. Export directly to a Google Sheet." - } - }, - "type": "object" - }, - "GoogleCloudContactcenterinsightsV1alpha1OutputConfigBigQueryDestination": { - "description": "BigQuery destination configuration.", - "id": "GoogleCloudContactcenterinsightsV1alpha1OutputConfigBigQueryDestination", - "properties": { - "dataset": { - "description": "Required. The name of the BigQuery dataset.", - "type": "string" - }, - "projectId": { - "description": "Optional. A project ID or number.", - "type": "string" - }, - "table": { - "description": "Required. The BigQuery table name.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudContactcenterinsightsV1alpha1OutputConfigGcsDestination": { - "description": "Cloud Storage destination configuration.", - "id": "GoogleCloudContactcenterinsightsV1alpha1OutputConfigGcsDestination", + "GoogleCloudContactcenterinsightsV1alpha1ListAllFeedbackLabelsResponse": { + "description": "The response for listing all feedback labels.", + "id": "GoogleCloudContactcenterinsightsV1alpha1ListAllFeedbackLabelsResponse", "properties": { - "uri": { - "description": "Required. The Cloud Storage URI to export the results to.", + "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" }, - "GoogleCloudContactcenterinsightsV1alpha1OutputConfigGoogleSheetsDestination": { - "description": "Google Sheets destination configuration.", - "id": "GoogleCloudContactcenterinsightsV1alpha1OutputConfigGoogleSheetsDestination", + "GoogleCloudContactcenterinsightsV1alpha1ListFeedbackLabelsResponse": { + "description": "The response for listing feedback labels.", + "id": "GoogleCloudContactcenterinsightsV1alpha1ListFeedbackLabelsResponse", "properties": { - "sheet": { - "description": "Optional. The sheet name.", - "type": "string" + "feedbackLabels": { + "description": "The feedback labels that match the request.", + "items": { + "$ref": "GoogleCloudContactcenterinsightsV1alpha1FeedbackLabel" + }, + "type": "array" }, - "spreadsheetId": { - "description": "Optional. An existing Google Sheets ID.", + "nextPageToken": { + "description": "The next page token.", "type": "string" } }, @@ -19191,74 +17427,6 @@ }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1alpha1SherlockStep": { - "description": "A step in the agent's reasoning process (Trajectory Step).", - "id": "GoogleCloudContactcenterinsightsV1alpha1SherlockStep", - "properties": { - "agentId": { - "description": "Output only. The ID of the agent that produced/received this content.", - "readOnly": true, - "type": "string" - }, - "content": { - "$ref": "GoogleCloudAiplatformV1Content", - "description": "Output only. The content of the turn (either Model or User role).", - "readOnly": true - }, - "stateDeltas": { - "description": "Output only. List of state changes caused by this specific turn.", - "items": { - "additionalProperties": { - "description": "Properties of the object.", - "type": "any" - }, - "type": "object" - }, - "readOnly": true, - "type": "array" - }, - "stepId": { - "description": "Output only. Unique ID for this specific turn.", - "readOnly": true, - "type": "string" - }, - "textInput": { - "deprecated": true, - "description": "Output only. Deprecated: Use content instead.", - "items": { - "type": "string" - }, - "readOnly": true, - "type": "array" - }, - "thought": { - "deprecated": true, - "description": "Output only. Deprecated: Use content instead.", - "readOnly": true, - "type": "string" - }, - "toolCalls": { - "deprecated": true, - "description": "Output only. Deprecated: Use content instead.", - "items": { - "$ref": "GoogleCloudContactcenterinsightsV1alpha1ToolCall" - }, - "readOnly": true, - "type": "array" - }, - "toolOutput": { - "additionalProperties": { - "description": "Properties of the object.", - "type": "any" - }, - "deprecated": true, - "description": "Output only. Deprecated: Use content instead.", - "readOnly": true, - "type": "object" - } - }, - "type": "object" - }, "GoogleCloudContactcenterinsightsV1alpha1SilenceData": { "description": "The data for a silence annotation.", "id": "GoogleCloudContactcenterinsightsV1alpha1SilenceData", @@ -19445,27 +17613,6 @@ }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1alpha1ToolCall": { - "description": "A tool call from the agent.", - "id": "GoogleCloudContactcenterinsightsV1alpha1ToolCall", - "properties": { - "input": { - "additionalProperties": { - "description": "Properties of the object.", - "type": "any" - }, - "description": "Output only. The input arguments to the tool.", - "readOnly": true, - "type": "object" - }, - "toolName": { - "description": "Output only. The name of the tool being called.", - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, "GoogleCloudContactcenterinsightsV1alpha1UndeployIssueModelMetadata": { "description": "Metadata for undeploying an issue model.", "id": "GoogleCloudContactcenterinsightsV1alpha1UndeployIssueModelMetadata", @@ -21261,321 +19408,27 @@ "type": "string" }, "request": { - "$ref": "GoogleCloudContactcenterinsightsV1mainDeployIssueModelRequest", - "description": "The original request for deployment." - } - }, - "type": "object" - }, - "GoogleCloudContactcenterinsightsV1mainDeployIssueModelRequest": { - "description": "The request to deploy an issue model.", - "id": "GoogleCloudContactcenterinsightsV1mainDeployIssueModelRequest", - "properties": { - "name": { - "description": "Required. The issue model to deploy.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudContactcenterinsightsV1mainDeployIssueModelResponse": { - "description": "The response to deploy an issue model.", - "id": "GoogleCloudContactcenterinsightsV1mainDeployIssueModelResponse", - "properties": {}, - "type": "object" - }, - "GoogleCloudContactcenterinsightsV1mainDiagnoseConversationsMetadata": { - "description": "Metadata for a DiagnoseConversations operation.", - "id": "GoogleCloudContactcenterinsightsV1mainDiagnoseConversationsMetadata", - "properties": { - "createTime": { - "description": "Output only. The time the operation was created.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "diagnosticReport": { - "$ref": "GoogleCloudContactcenterinsightsV1mainDiagnosticReport", - "description": "Output only. The diagnostic report containing metrics and intent breakdowns.", - "readOnly": true - }, - "endTime": { - "description": "Output only. The time the operation finished running.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "fullReport": { - "description": "Output only. If true, the agent generated a full diagnostic report for all sub-agents.", - "readOnly": true, - "type": "boolean" - }, - "latestStep": { - "$ref": "GoogleCloudContactcenterinsightsV1mainSherlockStep", - "description": "Output only. The most recent thought or action from the agent.", - "readOnly": true - }, - "metricType": { - "description": "Output only. The type of metric being diagnosed.", - "enum": [ - "DIAGNOSTIC_METRIC_TYPE_UNSPECIFIED", - "ESCALATION", - "CONTAINMENT" - ], - "enumDescriptions": [ - "Metric type is unspecified.", - "Escalation rate.", - "Containment rate." - ], - "readOnly": true, - "type": "string" - }, - "partialTrajectories": { - "deprecated": true, - "description": "Output only. Deprecated: Use partial_trajectory_steps instead. Output only. The intermediate trajectory updates (partial trajectory).", - "items": { - "type": "string" - }, - "readOnly": true, - "type": "array" - }, - "partialTrajectorySteps": { - "description": "Output only. The intermediate trajectory updates. This can be used for live progress tracking of the agent's thoughts and actions as it works through the analysis.", - "items": { - "$ref": "GoogleCloudContactcenterinsightsV1mainSherlockStep" - }, - "readOnly": true, - "type": "array" - }, - "request": { - "$ref": "GoogleCloudContactcenterinsightsV1mainDiagnoseConversationsRequest", - "description": "Output only. The request that created the operation.", - "readOnly": true - } - }, - "type": "object" - }, - "GoogleCloudContactcenterinsightsV1mainDiagnoseConversationsRequest": { - "description": "The request to analyze conversation data using agentic workflows. This RPC triggers a complex analysis process that may involve several steps of reasoning and tool execution.", - "id": "GoogleCloudContactcenterinsightsV1mainDiagnoseConversationsRequest", - "properties": { - "agentDisplayName": { - "description": "ces agent display name (e.g., \"Steering\", \"Billing\").", - "type": "string" - }, - "agentId": { - "description": "ces agent id to diagnose.", - "type": "string" - }, - "appId": { - "description": "Required. The CES App ID.", - "type": "string" - }, - "appVersion": { - "description": "Optional. Optional but highly recommended. ces app version. If provided, specific version of agent instruction will be retrieved. If empty or set to '-', will use the latest draft version of instruction.", - "type": "string" - }, - "dryRun": { - "deprecated": true, - "description": "Optional. Deprecated: If true, the request will be validated and a simulation of the analysis will be performed without actually executing the task. This field is unused. Use validate_only instead.", - "type": "boolean" - }, - "filter": { - "description": "Optional. AIP-160 compliant filter for selecting target conversations.", - "type": "string" - }, - "fullReport": { - "deprecated": true, - "description": "Optional. Deprecated: If true, the agent will generate a full diagnostic report for all sub-agents. Subagent reporting configuration is unused. The final diagnostic details are already persisted inside the Diagnostic resource instead.", - "type": "boolean" - }, - "groupId": { - "description": "Optional. A unique identifier used to group multiple diagnostic requests triggered under the same run batch or cron job.", - "type": "string" - }, - "instructions": { - "deprecated": true, - "description": "Optional. Deprecated: Specific instructions for the agent. Use app_id and subagent fields instead.", - "type": "string" - }, - "maxSteps": { - "description": "Optional. The maximum number of steps the agent can take during the execution of the task. Defaults to 10.", - "format": "int32", - "type": "integer" - }, - "metricType": { - "description": "Optional. The type of metric being diagnosed.", - "enum": [ - "DIAGNOSTIC_METRIC_TYPE_UNSPECIFIED", - "ESCALATION", - "CONTAINMENT" - ], - "enumDescriptions": [ - "Metric type is unspecified.", - "Escalation rate.", - "Containment rate." - ], - "type": "string" - }, - "outputConfig": { - "$ref": "GoogleCloudContactcenterinsightsV1mainOutputConfig", - "deprecated": true, - "description": "Optional. Deprecated: The configuration for the output of the task. The export destination is unused. Detailed markdown and conversation slices are already persisted inside the Diagnostic resource instead." - }, - "parent": { - "description": "Required. The parent resource where the analysis will be performed.", - "type": "string" - }, - "requestId": { - "description": "Optional. Required. A unique ID that identifies the request. If the service receives two `DiagnoseConversationsRequest`s with the same `request_id`, then the second request will be ignored; instead, the response of the first request will be returned. The ID must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters.", - "type": "string" - }, - "taskQuery": { - "description": "Optional. A natural language description of the analysis goal or question.", - "type": "string" - }, - "validateOnly": { - "description": "Optional. If true, the request will only be validated (permissions, filter syntax, etc.) without actually triggering the analysis.", - "type": "boolean" - } - }, - "type": "object" - }, - "GoogleCloudContactcenterinsightsV1mainDiagnoseConversationsResponse": { - "description": "The response from a DiagnoseConversations request.", - "id": "GoogleCloudContactcenterinsightsV1mainDiagnoseConversationsResponse", - "properties": { - "answer": { - "deprecated": true, - "description": "Output only. Deprecated: Output only. The final, high-level answer or diagnostic summary returned by the Sherlock worker is deprecated. The persistent analysis summary is stored inside the Diagnostic resource instead.", - "readOnly": true, - "type": "string" - }, - "exportUri": { - "deprecated": true, - "description": "Output only. Deprecated: Output only. If an external destination was requested, the URI of the exported data is deprecated. The persistent diagnostic details are stored inside the Diagnostic resource instead.", - "readOnly": true, - "type": "string" - }, - "fullTrajectories": { - "deprecated": true, - "description": "Output only. Deprecated: Use full_trajectory_steps instead. Output only. The complete sequence of thoughts and actions (full trajectory).", - "items": { - "type": "string" - }, - "readOnly": true, - "type": "array" - }, - "fullTrajectorySteps": { - "deprecated": true, - "description": "Output only. Deprecated: Output only. The complete sequence of thoughts and actions taken by the agent is deprecated under LRO response completions. Use the persistent details inside the Diagnostic resource instead.", - "items": { - "$ref": "GoogleCloudContactcenterinsightsV1mainSherlockStep" - }, - "readOnly": true, - "type": "array" - } - }, - "type": "object" - }, - "GoogleCloudContactcenterinsightsV1mainDiagnosticReport": { - "description": "A diagnostic report containing loss patterns and problematic slice stats.", - "id": "GoogleCloudContactcenterinsightsV1mainDiagnosticReport", - "properties": { - "conversationSlices": { - "additionalProperties": { - "$ref": "GoogleCloudContactcenterinsightsV1mainDiagnosticReportConversationSlice" - }, - "description": "Output only. A map of conversation slices used in the report.", - "readOnly": true, - "type": "object" - }, - "intentStats": { - "deprecated": true, - "description": "Output only. Deprecated: Intent breakdowns are no longer used.", - "items": { - "$ref": "GoogleCloudContactcenterinsightsV1mainDiagnosticReportIntentStats" - }, - "readOnly": true, - "type": "array" - }, - "lossPatterns": { - "description": "Output only. A list of loss patterns identified for the entire project/dataset.", - "items": { - "$ref": "GoogleCloudContactcenterinsightsV1mainLossPattern" - }, - "readOnly": true, - "type": "array" - }, - "metrics": { - "additionalProperties": { - "$ref": "GoogleCloudContactcenterinsightsV1mainMetricValue" - }, - "deprecated": true, - "description": "Output only. Deprecated: The type of the metric. Metrics for Outcome Based Insights derived from QueryMetrics.", - "readOnly": true, - "type": "object" - }, - "report": { - "description": "Output only. The final report in markdown format.", - "readOnly": true, - "type": "string" + "$ref": "GoogleCloudContactcenterinsightsV1mainDeployIssueModelRequest", + "description": "The original request for deployment." } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1mainDiagnosticReportConversationSlice": { - "description": "Output only. A map of conversation slices used in the report.", - "id": "GoogleCloudContactcenterinsightsV1mainDiagnosticReportConversationSlice", + "GoogleCloudContactcenterinsightsV1mainDeployIssueModelRequest": { + "description": "The request to deploy an issue model.", + "id": "GoogleCloudContactcenterinsightsV1mainDeployIssueModelRequest", "properties": { - "conversationIds": { - "description": "The list of conversation IDs that match this slice.", - "items": { - "type": "string" - }, - "type": "array" + "name": { + "description": "Required. The issue model to deploy.", + "type": "string" } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1mainDiagnosticReportIntentStats": { - "description": "A breakdown of metrics grouped by intent.", - "id": "GoogleCloudContactcenterinsightsV1mainDiagnosticReportIntentStats", - "properties": { - "conversationCount": { - "description": "Output only. The number of conversations associated with this intent.", - "format": "int32", - "readOnly": true, - "type": "integer" - }, - "intentDisplayName": { - "description": "Output only. The display name of the intent.", - "readOnly": true, - "type": "string" - }, - "intentId": { - "description": "Output only. The unique identifier for the intent (from Discovery Engine).", - "readOnly": true, - "type": "string" - }, - "lossPatterns": { - "description": "Output only. A list of loss patterns identified for this intent.", - "items": { - "$ref": "GoogleCloudContactcenterinsightsV1mainLossPattern" - }, - "readOnly": true, - "type": "array" - }, - "metrics": { - "additionalProperties": { - "$ref": "GoogleCloudContactcenterinsightsV1mainMetricValue" - }, - "deprecated": true, - "description": "Output only. Deprecated: The type of the metric. Metrics for Outcome Based Insights derived from QueryMetrics.", - "readOnly": true, - "type": "object" - } - }, + "GoogleCloudContactcenterinsightsV1mainDeployIssueModelResponse": { + "description": "The response to deploy an issue model.", + "id": "GoogleCloudContactcenterinsightsV1mainDeployIssueModelResponse", + "properties": {}, "type": "object" }, "GoogleCloudContactcenterinsightsV1mainDialogflowIntent": { @@ -23179,260 +21032,6 @@ }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1mainLossPattern": { - "description": "A loss pattern of a virtual agent and suggested fixes.", - "id": "GoogleCloudContactcenterinsightsV1mainLossPattern", - "properties": { - "conversationIds": { - "description": "Output only. A list of conversation IDs that match this loss pattern.", - "items": { - "type": "string" - }, - "readOnly": true, - "type": "array" - }, - "description": { - "description": "Output only. A markdown description of the loss pattern.", - "readOnly": true, - "type": "string" - }, - "displayName": { - "description": "Output only. The display name of the loss pattern.", - "readOnly": true, - "type": "string" - }, - "examples": { - "description": "Output only. A markdown of loss pattern examples.", - "readOnly": true, - "type": "string" - }, - "id": { - "description": "Output only. The unique identifier for the loss pattern.", - "readOnly": true, - "type": "string" - }, - "links": { - "description": "Output only. A list of links to conversations or bot instructions.", - "items": { - "$ref": "GoogleCloudContactcenterinsightsV1mainLossPatternLink" - }, - "readOnly": true, - "type": "array" - }, - "percentage": { - "description": "Output only. The percentage of conversations that match this loss pattern.", - "format": "double", - "readOnly": true, - "type": "number" - }, - "suggestedFixes": { - "description": "Output only. A markdown description of the suggested fixes.", - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudContactcenterinsightsV1mainLossPatternLink": { - "description": "A link to a conversation or bot instruction.", - "id": "GoogleCloudContactcenterinsightsV1mainLossPatternLink", - "properties": { - "botInstructionLink": { - "$ref": "GoogleCloudContactcenterinsightsV1mainLossPatternLinkBotInstructionLink", - "description": "A link to a bot instruction." - }, - "conversationLink": { - "$ref": "GoogleCloudContactcenterinsightsV1mainLossPatternLinkConversationLink", - "description": "A link to a conversation." - }, - "endByteIndex": { - "description": "The end byte index of the highlighted text (exclusive).", - "format": "int32", - "type": "integer" - }, - "highlightedText": { - "description": "The text that is highlighted. (populated for debugging purposes)", - "type": "string" - }, - "locationType": { - "description": "The location type.", - "enum": [ - "LOCATION_TYPE_UNSPECIFIED", - "DESCRIPTION", - "SUGGESTED_FIXES", - "EXAMPLES" - ], - "enumDescriptions": [ - "Unspecified location type.", - "The link applies to the description field.", - "The link applies to the suggested_fixes field.", - "The link applies to the examples field." - ], - "type": "string" - }, - "startByteIndex": { - "description": "The start byte index of the highlighted text (inclusive).", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "GoogleCloudContactcenterinsightsV1mainLossPatternLinkBotInstructionLink": { - "description": "A link to a bot instruction.", - "id": "GoogleCloudContactcenterinsightsV1mainLossPatternLinkBotInstructionLink", - "properties": { - "endLine": { - "description": "The exclusive end line number of the instructions.", - "format": "int32", - "type": "integer" - }, - "startLine": { - "description": "The inclusive start line number of the instructions.", - "format": "int32", - "type": "integer" - }, - "subagent": { - "description": "The name of the subagent.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudContactcenterinsightsV1mainLossPatternLinkConversationLink": { - "description": "A link to a conversation.", - "id": "GoogleCloudContactcenterinsightsV1mainLossPatternLinkConversationLink", - "properties": { - "conversationId": { - "description": "The conversation ID.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudContactcenterinsightsV1mainMetricValue": { - "deprecated": true, - "description": "Deprecated: MetricValue is no longer used for diagnostics.", - "id": "GoogleCloudContactcenterinsightsV1mainMetricValue", - "properties": { - "conversations": { - "description": "Output only. The list of conversation names that contributed to this metric (hits). Format: `projects/{project}/locations/{location}/conversations/{conversation}`", - "items": { - "type": "string" - }, - "readOnly": true, - "type": "array" - }, - "displayName": { - "description": "Output only. The user-visible name of the metric (e.g., \"Containment Rate\").", - "readOnly": true, - "type": "string" - }, - "hitCount": { - "description": "Output only. The number of positive matches (hits) for this metric.", - "format": "int32", - "readOnly": true, - "type": "integer" - }, - "metricType": { - "description": "Output only. Deprecated: The type of the metric. Metrics for Outcome Based Insights derived from QueryMetrics.", - "enum": [ - "METRIC_TYPE_UNSPECIFIED", - "ESCALATION", - "CONTAINMENT" - ], - "enumDescriptions": [ - "Metric type is unspecified.", - "Escalation rate.", - "Containment rate." - ], - "readOnly": true, - "type": "string" - }, - "sourceId": { - "description": "Output only. The resource name of the underlying Insights primitive (e.g., Tag or QaQuestion) used to calculate this metric.", - "readOnly": true, - "type": "string" - }, - "totalCount": { - "description": "Output only. The total number of items evaluated for this metric.", - "format": "int32", - "readOnly": true, - "type": "integer" - }, - "value": { - "description": "Output only. The calculated value of the metric (usually a ratio or rate 0.0 - 1.0).", - "format": "double", - "readOnly": true, - "type": "number" - } - }, - "type": "object" - }, - "GoogleCloudContactcenterinsightsV1mainOutputConfig": { - "description": "Configuration for where to export or return the analysis findings.", - "id": "GoogleCloudContactcenterinsightsV1mainOutputConfig", - "properties": { - "bigqueryDestination": { - "$ref": "GoogleCloudContactcenterinsightsV1mainOutputConfigBigQueryDestination", - "description": "Optional. Export to BigQuery." - }, - "gcsDestination": { - "$ref": "GoogleCloudContactcenterinsightsV1mainOutputConfigGcsDestination", - "description": "Optional. Export to a Cloud Storage bucket." - }, - "googleSheetsDestination": { - "$ref": "GoogleCloudContactcenterinsightsV1mainOutputConfigGoogleSheetsDestination", - "description": "Optional. Export directly to a Google Sheet." - } - }, - "type": "object" - }, - "GoogleCloudContactcenterinsightsV1mainOutputConfigBigQueryDestination": { - "description": "BigQuery destination configuration.", - "id": "GoogleCloudContactcenterinsightsV1mainOutputConfigBigQueryDestination", - "properties": { - "dataset": { - "description": "Required. The name of the BigQuery dataset.", - "type": "string" - }, - "projectId": { - "description": "Optional. A project ID or number.", - "type": "string" - }, - "table": { - "description": "Required. The BigQuery table name.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudContactcenterinsightsV1mainOutputConfigGcsDestination": { - "description": "Cloud Storage destination configuration.", - "id": "GoogleCloudContactcenterinsightsV1mainOutputConfigGcsDestination", - "properties": { - "uri": { - "description": "Required. The Cloud Storage URI to export the results to.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudContactcenterinsightsV1mainOutputConfigGoogleSheetsDestination": { - "description": "Google Sheets destination configuration.", - "id": "GoogleCloudContactcenterinsightsV1mainOutputConfigGoogleSheetsDestination", - "properties": { - "sheet": { - "description": "Optional. The sheet name.", - "type": "string" - }, - "spreadsheetId": { - "description": "Optional. An existing Google Sheets ID.", - "type": "string" - } - }, - "type": "object" - }, "GoogleCloudContactcenterinsightsV1mainPhraseMatchData": { "description": "The data for a matched phrase matcher. Represents information identifying a phrase matcher for a given match.", "id": "GoogleCloudContactcenterinsightsV1mainPhraseMatchData", @@ -24419,74 +22018,6 @@ }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1mainSherlockStep": { - "description": "A step in the agent's reasoning process (Trajectory Step).", - "id": "GoogleCloudContactcenterinsightsV1mainSherlockStep", - "properties": { - "agentId": { - "description": "Output only. The ID of the agent that produced/received this content.", - "readOnly": true, - "type": "string" - }, - "content": { - "$ref": "GoogleCloudAiplatformV1Content", - "description": "Output only. The content of the turn (either Model or User role).", - "readOnly": true - }, - "stateDeltas": { - "description": "Output only. List of state changes caused by this specific turn.", - "items": { - "additionalProperties": { - "description": "Properties of the object.", - "type": "any" - }, - "type": "object" - }, - "readOnly": true, - "type": "array" - }, - "stepId": { - "description": "Output only. Unique ID for this specific turn.", - "readOnly": true, - "type": "string" - }, - "textInput": { - "deprecated": true, - "description": "Output only. Deprecated: Use content instead.", - "items": { - "type": "string" - }, - "readOnly": true, - "type": "array" - }, - "thought": { - "deprecated": true, - "description": "Output only. Deprecated: Use content instead.", - "readOnly": true, - "type": "string" - }, - "toolCalls": { - "deprecated": true, - "description": "Output only. Deprecated: Use content instead.", - "items": { - "$ref": "GoogleCloudContactcenterinsightsV1mainToolCall" - }, - "readOnly": true, - "type": "array" - }, - "toolOutput": { - "additionalProperties": { - "description": "Properties of the object.", - "type": "any" - }, - "deprecated": true, - "description": "Output only. Deprecated: Use content instead.", - "readOnly": true, - "type": "object" - } - }, - "type": "object" - }, "GoogleCloudContactcenterinsightsV1mainSilenceData": { "description": "The data for a silence annotation.", "id": "GoogleCloudContactcenterinsightsV1mainSilenceData", @@ -24673,27 +22204,6 @@ }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1mainToolCall": { - "description": "A tool call from the agent.", - "id": "GoogleCloudContactcenterinsightsV1mainToolCall", - "properties": { - "input": { - "additionalProperties": { - "description": "Properties of the object.", - "type": "any" - }, - "description": "Output only. The input arguments to the tool.", - "readOnly": true, - "type": "object" - }, - "toolName": { - "description": "Output only. The name of the tool being called.", - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, "GoogleCloudContactcenterinsightsV1mainUndeployIssueModelMetadata": { "description": "Metadata for undeploying an issue model.", "id": "GoogleCloudContactcenterinsightsV1mainUndeployIssueModelMetadata", diff --git a/discovery/container-v1.json b/discovery/container-v1.json index 4e6e3968d76..75a26b7ae62 100644 --- a/discovery/container-v1.json +++ b/discovery/container-v1.json @@ -4,6 +4,12 @@ "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/container": { + "description": "See, edit, configure, and delete your Google Kubernetes Engine data and see the email address for your Google Account" + }, + "https://www.googleapis.com/auth/container.read-only": { + "description": "See your Google Kubernetes Engine data and the email address of your Google Account" } } } @@ -149,7 +155,9 @@ "$ref": "ListUsableSubnetworksResponse" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container", + "https://www.googleapis.com/auth/container.read-only" ] } } @@ -192,7 +200,9 @@ "$ref": "ServerConfig" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container", + "https://www.googleapis.com/auth/container.read-only" ] } }, @@ -221,7 +231,9 @@ "$ref": "CheckAutopilotCompatibilityResponse" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container", + "https://www.googleapis.com/auth/container.read-only" ] }, "completeIpRotation": { @@ -249,7 +261,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "create": { @@ -277,7 +290,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "delete": { @@ -320,7 +334,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "fetchClusterUpgradeInfo": { @@ -350,7 +365,9 @@ "$ref": "ClusterUpgradeInfo" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container", + "https://www.googleapis.com/auth/container.read-only" ] }, "get": { @@ -393,7 +410,9 @@ "$ref": "Cluster" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container", + "https://www.googleapis.com/auth/container.read-only" ] }, "getJwks": { @@ -452,7 +471,9 @@ "$ref": "ListClustersResponse" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container", + "https://www.googleapis.com/auth/container.read-only" ] }, "setAddons": { @@ -480,7 +501,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "setLegacyAbac": { @@ -508,7 +530,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "setLocations": { @@ -537,7 +560,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "setLogging": { @@ -565,7 +589,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "setMaintenancePolicy": { @@ -593,7 +618,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "setMasterAuth": { @@ -621,7 +647,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "setMonitoring": { @@ -649,7 +676,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "setNetworkPolicy": { @@ -677,7 +705,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "setResourceLabels": { @@ -705,7 +734,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "startIpRotation": { @@ -733,7 +763,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "update": { @@ -761,7 +792,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "updateMaster": { @@ -789,7 +821,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] } }, @@ -821,7 +854,8 @@ "$ref": "Empty" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "create": { @@ -849,7 +883,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "delete": { @@ -898,7 +933,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "fetchNodePoolUpgradeInfo": { @@ -928,7 +964,9 @@ "$ref": "NodePoolUpgradeInfo" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container", + "https://www.googleapis.com/auth/container.read-only" ] }, "get": { @@ -977,7 +1015,9 @@ "$ref": "NodePool" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container", + "https://www.googleapis.com/auth/container.read-only" ] }, "list": { @@ -1020,7 +1060,9 @@ "$ref": "ListNodePoolsResponse" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container", + "https://www.googleapis.com/auth/container.read-only" ] }, "rollback": { @@ -1048,7 +1090,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "setAutoscaling": { @@ -1076,7 +1119,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "setManagement": { @@ -1104,7 +1148,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "setSize": { @@ -1132,7 +1177,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "update": { @@ -1160,7 +1206,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] } } @@ -1220,7 +1267,8 @@ "$ref": "Empty" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "get": { @@ -1263,7 +1311,9 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container", + "https://www.googleapis.com/auth/container.read-only" ] }, "list": { @@ -1300,7 +1350,9 @@ "$ref": "ListOperationsResponse" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container", + "https://www.googleapis.com/auth/container.read-only" ] } } @@ -1342,7 +1394,9 @@ "$ref": "ServerConfig" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container", + "https://www.googleapis.com/auth/container.read-only" ] } }, @@ -1387,7 +1441,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "completeIpRotation": { @@ -1428,7 +1483,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "create": { @@ -1462,7 +1518,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "delete": { @@ -1505,7 +1562,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "fetchClusterUpgradeInfo": { @@ -1535,7 +1593,9 @@ "$ref": "ClusterUpgradeInfo" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container", + "https://www.googleapis.com/auth/container.read-only" ] }, "get": { @@ -1578,7 +1638,9 @@ "$ref": "Cluster" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container", + "https://www.googleapis.com/auth/container.read-only" ] }, "legacyAbac": { @@ -1619,7 +1681,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "list": { @@ -1655,7 +1718,9 @@ "$ref": "ListClustersResponse" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container", + "https://www.googleapis.com/auth/container.read-only" ] }, "locations": { @@ -1697,7 +1762,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "logging": { @@ -1738,7 +1804,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "master": { @@ -1779,7 +1846,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "monitoring": { @@ -1820,7 +1888,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "resourceLabels": { @@ -1861,7 +1930,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "setMaintenancePolicy": { @@ -1902,7 +1972,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "setMasterAuth": { @@ -1943,7 +2014,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "setNetworkPolicy": { @@ -1984,7 +2056,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "startIpRotation": { @@ -2025,7 +2098,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "update": { @@ -2066,7 +2140,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] } }, @@ -2118,7 +2193,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "create": { @@ -2159,7 +2235,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "delete": { @@ -2209,7 +2286,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "fetchNodePoolUpgradeInfo": { @@ -2239,7 +2317,9 @@ "$ref": "NodePoolUpgradeInfo" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container", + "https://www.googleapis.com/auth/container.read-only" ] }, "get": { @@ -2289,7 +2369,9 @@ "$ref": "NodePool" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container", + "https://www.googleapis.com/auth/container.read-only" ] }, "list": { @@ -2332,7 +2414,9 @@ "$ref": "ListNodePoolsResponse" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container", + "https://www.googleapis.com/auth/container.read-only" ] }, "rollback": { @@ -2380,7 +2464,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "setManagement": { @@ -2428,7 +2513,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "setSize": { @@ -2476,7 +2562,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "update": { @@ -2524,7 +2611,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] } } @@ -2571,7 +2659,8 @@ "$ref": "Empty" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "get": { @@ -2614,7 +2703,9 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container", + "https://www.googleapis.com/auth/container.read-only" ] }, "list": { @@ -2650,7 +2741,9 @@ "$ref": "ListOperationsResponse" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container", + "https://www.googleapis.com/auth/container.read-only" ] } } @@ -2660,7 +2753,7 @@ } } }, - "revision": "20260507", + "revision": "20260519", "rootUrl": "https://container.googleapis.com/", "schemas": { "AcceleratorConfig": { @@ -2798,6 +2891,10 @@ "description": "Configuration for the addons that can be automatically spun up in the cluster, enabling additional functionality.", "id": "AddonsConfig", "properties": { + "agentSandboxConfig": { + "$ref": "AgentSandboxConfig", + "description": "Optional. Configuration for the AgentSandbox addon." + }, "cloudRunConfig": { "$ref": "CloudRunConfig", "description": "Configuration for the Cloud Run addon, which allows the user to use a managed Knative service." @@ -2945,6 +3042,17 @@ }, "type": "object" }, + "AgentSandboxConfig": { + "description": "Configuration for the AgentSandbox addon.", + "id": "AgentSandboxConfig", + "properties": { + "enabled": { + "description": "Optional. Whether AgentSandbox is enabled for this cluster.", + "type": "boolean" + } + }, + "type": "object" + }, "AnonymousAuthenticationConfig": { "description": "AnonymousAuthenticationConfig defines the settings needed to limit endpoints that allow anonymous authentication.", "id": "AnonymousAuthenticationConfig", @@ -4143,6 +4251,14 @@ "$ref": "IdentityServiceConfig", "description": "The desired Identity Service component configuration." }, + "desiredImage": { + "description": "The desired name of the image to use for this node. This is used to create clusters using a custom image. NOTE: Set the \"desired_node_pool\" field as well.", + "type": "string" + }, + "desiredImageProject": { + "description": "The project containing the desired image to use for this node. This is used to create clusters using a custom image. NOTE: Set the \"desired_node_pool\" field as well.", + "type": "string" + }, "desiredImageType": { "description": "The desired image type for the node pool. NOTE: Set the \"desired_node_pool\" field as well.", "type": "string" @@ -4714,6 +4830,25 @@ }, "type": "object" }, + "CustomImageConfig": { + "description": "CustomImageConfig contains the information r", + "id": "CustomImageConfig", + "properties": { + "image": { + "description": "The name of the image to use for this node.", + "type": "string" + }, + "imageFamily": { + "description": "The name of the image family to use for this node.", + "type": "string" + }, + "imageProject": { + "description": "The project containing the image to use for this node.", + "type": "string" + } + }, + "type": "object" + }, "CustomNodeInit": { "description": "Support for running custom init code while bootstrapping nodes.", "id": "CustomNodeInit", @@ -4882,6 +5017,27 @@ }, "type": "object" }, + "DataplaneV2Config": { + "description": "DataplaneV2Config is the configuration for DPv2.", + "id": "DataplaneV2Config", + "properties": { + "scalabilityMode": { + "description": "Optional. Scalability mode for the cluster.", + "enum": [ + "SCALABILITY_MODE_UNSPECIFIED", + "DISABLED", + "SCALE_OPTIMIZED" + ], + "enumDescriptions": [ + "Default value.", + "Disables the scale optimized mode for DPv2.", + "Enables the scale optimized mode for DPv2." + ], + "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", @@ -6061,7 +6217,7 @@ "additionalProperties": { "type": "string" }, - "description": "The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes", + "description": "The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes", "type": "object" }, "transparentHugepageDefrag": { @@ -6608,6 +6764,10 @@ ], "type": "string" }, + "dataplaneV2Config": { + "$ref": "DataplaneV2Config", + "description": "Optional. DataplaneV2Config specifies the DPv2 configuration." + }, "defaultEnablePrivateNodes": { "description": "Controls whether by default nodes have private IP addresses only. It is invalid to specify both PrivateClusterConfig.enablePrivateNodes and this field at the same time. To update the default setting, use ClusterUpdate.desired_default_enable_private_nodes", "type": "boolean" @@ -6979,6 +7139,10 @@ "description": "Setting this field will assign instances of this pool to run on the specified node group. This is useful for running workloads on [sole tenant nodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes).", "type": "string" }, + "nodeImageConfig": { + "$ref": "CustomImageConfig", + "description": "The node image configuration to use for this node pool. Note that this is only applicable for node pools using image_type=CUSTOM." + }, "oauthScopes": { "description": "The set of Google API scopes to be made available on all of the node VMs under the \"default\" service account. The following scopes are recommended, but not required, and by default are not included: * `https://www.googleapis.com/auth/compute` is required for mounting persistent storage on your nodes. * `https://www.googleapis.com/auth/devstorage.read_only` is required for communicating with **gcr.io** (the [Artifact Registry](https://cloud.google.com/artifact-registry/)). If unspecified, no scopes are added, unless Cloud Logging or Cloud Monitoring are enabled, in which case their required scopes will be added.", "items": { @@ -7331,6 +7495,10 @@ "description": "Whether nodes have internal IP addresses only. If enable_private_nodes is not specified, then the value is derived from Cluster.NetworkConfig.default_enable_private_nodes", "type": "boolean" }, + "network": { + "description": "Optional. Immutable. The VPC network for the node pool.", + "type": "string" + }, "networkPerformanceConfig": { "$ref": "NetworkPerformanceConfig", "description": "Network bandwidth tier configuration." @@ -9731,6 +9899,14 @@ "$ref": "VirtualNIC", "description": "Enable or disable gvnic on the node pool." }, + "image": { + "description": "The desired name of the image name to use for this node. This is used to create clusters using a custom image.", + "type": "string" + }, + "imageProject": { + "description": "The project containing the desired image to use for this node pool. This is used to create clusters using a custom image.", + "type": "string" + }, "imageType": { "description": "Required. The desired image type for the node pool. Please see https://cloud.google.com/kubernetes-engine/docs/concepts/node-images for available image types.", "type": "string" diff --git a/discovery/container-v1beta1.json b/discovery/container-v1beta1.json index 59b81bdeb9e..29317eb0a7b 100644 --- a/discovery/container-v1beta1.json +++ b/discovery/container-v1beta1.json @@ -4,6 +4,12 @@ "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/container": { + "description": "See, edit, configure, and delete your Google Kubernetes Engine data and see the email address for your Google Account" + }, + "https://www.googleapis.com/auth/container.read-only": { + "description": "See your Google Kubernetes Engine data and the email address of your Google Account" } } } @@ -149,7 +155,9 @@ "$ref": "ListUsableSubnetworksResponse" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container", + "https://www.googleapis.com/auth/container.read-only" ] } } @@ -192,7 +200,9 @@ "$ref": "ServerConfig" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container", + "https://www.googleapis.com/auth/container.read-only" ] }, "list": { @@ -217,7 +227,8 @@ "$ref": "ListLocationsResponse" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] } }, @@ -246,7 +257,9 @@ "$ref": "CheckAutopilotCompatibilityResponse" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container", + "https://www.googleapis.com/auth/container.read-only" ] }, "completeControlPlaneUpgrade": { @@ -274,7 +287,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "completeIpRotation": { @@ -302,7 +316,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "create": { @@ -330,7 +345,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "delete": { @@ -373,7 +389,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "fetchClusterUpgradeInfo": { @@ -403,7 +420,9 @@ "$ref": "ClusterUpgradeInfo" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container", + "https://www.googleapis.com/auth/container.read-only" ] }, "get": { @@ -446,7 +465,9 @@ "$ref": "Cluster" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container", + "https://www.googleapis.com/auth/container.read-only" ] }, "getJwks": { @@ -505,7 +526,9 @@ "$ref": "ListClustersResponse" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container", + "https://www.googleapis.com/auth/container.read-only" ] }, "setAddons": { @@ -533,7 +556,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "setLegacyAbac": { @@ -561,7 +585,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "setLocations": { @@ -590,7 +615,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "setLogging": { @@ -618,7 +644,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "setMaintenancePolicy": { @@ -646,7 +673,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "setMasterAuth": { @@ -674,7 +702,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "setMonitoring": { @@ -702,7 +731,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "setNetworkPolicy": { @@ -730,7 +760,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "setResourceLabels": { @@ -758,7 +789,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "startIpRotation": { @@ -786,7 +818,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "update": { @@ -814,7 +847,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "updateMaster": { @@ -842,7 +876,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] } }, @@ -874,7 +909,8 @@ "$ref": "Empty" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "create": { @@ -902,7 +938,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "delete": { @@ -951,7 +988,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "fetchNodePoolUpgradeInfo": { @@ -981,7 +1019,9 @@ "$ref": "NodePoolUpgradeInfo" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container", + "https://www.googleapis.com/auth/container.read-only" ] }, "get": { @@ -1030,7 +1070,9 @@ "$ref": "NodePool" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container", + "https://www.googleapis.com/auth/container.read-only" ] }, "list": { @@ -1073,7 +1115,9 @@ "$ref": "ListNodePoolsResponse" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container", + "https://www.googleapis.com/auth/container.read-only" ] }, "rollback": { @@ -1101,7 +1145,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "setAutoscaling": { @@ -1129,7 +1174,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "setManagement": { @@ -1157,7 +1203,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "setSize": { @@ -1185,7 +1232,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "update": { @@ -1213,7 +1261,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] } } @@ -1273,7 +1322,8 @@ "$ref": "Empty" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "get": { @@ -1316,7 +1366,9 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container", + "https://www.googleapis.com/auth/container.read-only" ] }, "list": { @@ -1353,7 +1405,9 @@ "$ref": "ListOperationsResponse" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container", + "https://www.googleapis.com/auth/container.read-only" ] } } @@ -1395,7 +1449,9 @@ "$ref": "ServerConfig" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container", + "https://www.googleapis.com/auth/container.read-only" ] } }, @@ -1440,7 +1496,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "completeControlPlaneUpgrade": { @@ -1468,7 +1525,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "completeIpRotation": { @@ -1509,7 +1567,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "create": { @@ -1543,7 +1602,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "delete": { @@ -1586,7 +1646,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "fetchClusterUpgradeInfo": { @@ -1616,7 +1677,9 @@ "$ref": "ClusterUpgradeInfo" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container", + "https://www.googleapis.com/auth/container.read-only" ] }, "get": { @@ -1659,7 +1722,9 @@ "$ref": "Cluster" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container", + "https://www.googleapis.com/auth/container.read-only" ] }, "legacyAbac": { @@ -1700,7 +1765,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "list": { @@ -1736,7 +1802,9 @@ "$ref": "ListClustersResponse" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container", + "https://www.googleapis.com/auth/container.read-only" ] }, "locations": { @@ -1778,7 +1846,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "logging": { @@ -1819,7 +1888,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "master": { @@ -1860,7 +1930,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "monitoring": { @@ -1901,7 +1972,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "resourceLabels": { @@ -1942,7 +2014,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "setMaintenancePolicy": { @@ -1983,7 +2056,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "setMasterAuth": { @@ -2024,7 +2098,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "setNetworkPolicy": { @@ -2065,7 +2140,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "startIpRotation": { @@ -2106,7 +2182,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "update": { @@ -2147,7 +2224,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] } }, @@ -2199,7 +2277,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "create": { @@ -2240,7 +2319,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "delete": { @@ -2290,7 +2370,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "fetchNodePoolUpgradeInfo": { @@ -2320,7 +2401,9 @@ "$ref": "NodePoolUpgradeInfo" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container", + "https://www.googleapis.com/auth/container.read-only" ] }, "get": { @@ -2370,7 +2453,9 @@ "$ref": "NodePool" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container", + "https://www.googleapis.com/auth/container.read-only" ] }, "list": { @@ -2413,7 +2498,9 @@ "$ref": "ListNodePoolsResponse" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container", + "https://www.googleapis.com/auth/container.read-only" ] }, "rollback": { @@ -2461,7 +2548,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "setManagement": { @@ -2509,7 +2597,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "setSize": { @@ -2557,7 +2646,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "update": { @@ -2605,7 +2695,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] } } @@ -2652,7 +2743,8 @@ "$ref": "Empty" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container" ] }, "get": { @@ -2695,7 +2787,9 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container", + "https://www.googleapis.com/auth/container.read-only" ] }, "list": { @@ -2731,7 +2825,9 @@ "$ref": "ListOperationsResponse" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/container", + "https://www.googleapis.com/auth/container.read-only" ] } } @@ -2741,7 +2837,7 @@ } } }, - "revision": "20260507", + "revision": "20260519", "rootUrl": "https://container.googleapis.com/", "schemas": { "AcceleratorConfig": { @@ -4393,6 +4489,14 @@ "$ref": "IdentityServiceConfig", "description": "The desired Identity Service component configuration." }, + "desiredImage": { + "description": "The desired name of the image to use for this node. This is used to create clusters using a custom image.", + "type": "string" + }, + "desiredImageProject": { + "description": "The project containing the desired image to use for this node. This is used to create clusters using a custom image.", + "type": "string" + }, "desiredImageType": { "description": "The desired image type for the node pool. NOTE: Set the \"desired_node_pool\" field as well.", "type": "string" @@ -5040,6 +5144,25 @@ }, "type": "object" }, + "CustomImageConfig": { + "description": "CustomImageConfig contains the information r", + "id": "CustomImageConfig", + "properties": { + "image": { + "description": "The name of the image to use for this node.", + "type": "string" + }, + "imageFamily": { + "description": "The name of the image family to use for this node.", + "type": "string" + }, + "imageProject": { + "description": "The project containing the image to use for this node.", + "type": "string" + } + }, + "type": "object" + }, "CustomNodeInit": { "description": "Support for running custom init code while bootstrapping nodes.", "id": "CustomNodeInit", @@ -5208,6 +5331,27 @@ }, "type": "object" }, + "DataplaneV2Config": { + "description": "DataplaneV2Config is the configuration for DPv2.", + "id": "DataplaneV2Config", + "properties": { + "scalabilityMode": { + "description": "Optional. Scalability mode for the cluster.", + "enum": [ + "SCALABILITY_MODE_UNSPECIFIED", + "DISABLED", + "SCALE_OPTIMIZED" + ], + "enumDescriptions": [ + "Default value.", + "Disables the scale optimized mode for DPv2.", + "Enables the scale optimized mode for DPv2." + ], + "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", @@ -6465,7 +6609,7 @@ "additionalProperties": { "type": "string" }, - "description": "The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes", + "description": "The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes", "type": "object" }, "transparentHugepageDefrag": { @@ -7091,6 +7235,10 @@ ], "type": "string" }, + "dataplaneV2Config": { + "$ref": "DataplaneV2Config", + "description": "Optional. DataplaneV2Config specifies the DPv2 configuration." + }, "defaultEnablePrivateNodes": { "description": "Controls whether by default nodes have private IP addresses only. It is invalid to specify both PrivateClusterConfig.enablePrivateNodes and this field at the same time. To update the default setting, use ClusterUpdate.desired_default_enable_private_nodes", "type": "boolean" @@ -7482,6 +7630,10 @@ "description": "Setting this field will assign instances of this pool to run on the specified node group. This is useful for running workloads on [sole tenant nodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes).", "type": "string" }, + "nodeImageConfig": { + "$ref": "CustomImageConfig", + "description": "The node image configuration to use for this node pool. Note that this is only applicable for node pools using image_type=CUSTOM." + }, "oauthScopes": { "description": "The set of Google API scopes to be made available on all of the node VMs under the \"default\" service account. The following scopes are recommended, but not required, and by default are not included: * `https://www.googleapis.com/auth/compute` is required for mounting persistent storage on your nodes. * `https://www.googleapis.com/auth/devstorage.read_only` is required for communicating with **gcr.io** (the [Artifact Registry](https://cloud.google.com/artifact-registry/)). If unspecified, no scopes are added, unless Cloud Logging or Cloud Monitoring are enabled, in which case their required scopes will be added.", "items": { @@ -7838,6 +7990,10 @@ "description": "Whether nodes have internal IP addresses only. If enable_private_nodes is not specified, then the value is derived from Cluster.NetworkConfig.default_enable_private_nodes", "type": "boolean" }, + "network": { + "description": "Optional. Immutable. The VPC network for the node pool.", + "type": "string" + }, "networkPerformanceConfig": { "$ref": "NetworkPerformanceConfig", "description": "Network bandwidth tier configuration." @@ -10399,6 +10555,14 @@ "$ref": "VirtualNIC", "description": "Enable or disable gvnic on the node pool." }, + "image": { + "description": "The desired name of the image name to use for this node. This is used to create clusters using a custom image.", + "type": "string" + }, + "imageProject": { + "description": "The project containing the desired image to use for this node pool. This is used to create clusters using a custom image.", + "type": "string" + }, "imageType": { "description": "Required. The desired image type for the node pool. Please see https://cloud.google.com/kubernetes-engine/docs/concepts/node-images for available image types.", "type": "string" diff --git a/discovery/containeranalysis-v1.json b/discovery/containeranalysis-v1.json index e08ec614fcf..e9a4220aaa8 100644 --- a/discovery/containeranalysis-v1.json +++ b/discovery/containeranalysis-v1.json @@ -1715,7 +1715,7 @@ } } }, - "revision": "20260505", + "revision": "20260521", "rootUrl": "https://containeranalysis.googleapis.com/", "schemas": { "AISkillAnalysisNote": { @@ -2329,6 +2329,7 @@ "id": "CVSS", "properties": { "attackComplexity": { + "description": "Attack Complexity (AC). Defined in CVSS v2, v3, v4.", "enum": [ "ATTACK_COMPLEXITY_UNSPECIFIED", "ATTACK_COMPLEXITY_LOW", @@ -2336,15 +2337,29 @@ "ATTACK_COMPLEXITY_MEDIUM" ], "enumDescriptions": [ - "", - "", - "", - "" + "Unspecified.", + "Low attack complexity (AC:L). Defined in CVSS v2, v3, v4.", + "High attack complexity (AC:H). Defined in CVSS v2, v3, v4.", + "Medium attack complexity (AC:M). Defined in CVSS v2." + ], + "type": "string" + }, + "attackRequirements": { + "description": "Attack Requirements (AT). Defined in CVSS v4.", + "enum": [ + "ATTACK_REQUIREMENTS_UNSPECIFIED", + "ATTACK_REQUIREMENTS_NONE", + "ATTACK_REQUIREMENTS_PRESENT" + ], + "enumDescriptions": [ + "Unspecified.", + "No attack requirements (AT:N). Defined in CVSS v4.", + "Attack requirements: Present (AT:P). Defined in CVSS v4." ], "type": "string" }, "attackVector": { - "description": "Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments.", + "description": "Attack Vector (AV). Defined in CVSS v2, v3, v4.", "enum": [ "ATTACK_VECTOR_UNSPECIFIED", "ATTACK_VECTOR_NETWORK", @@ -2353,15 +2368,16 @@ "ATTACK_VECTOR_PHYSICAL" ], "enumDescriptions": [ - "", - "", - "", - "", - "" + "Unspecified.", + "Attack Vector: Network (AV:N). Defined in CVSS v2, v3, v4.", + "Attack Vector: Adjacent (AV:A). Defined in CVSS v2, v3, v4.", + "Attack Vector: Local (AV:L). Defined in CVSS v2, v3, v4.", + "Attack Vector: Physical (AV:P). Defined in CVSS v3, v4." ], "type": "string" }, "authentication": { + "description": "Authentication (Au). Defined in CVSS v2.", "enum": [ "AUTHENTICATION_UNSPECIFIED", "AUTHENTICATION_MULTIPLE", @@ -2369,14 +2385,15 @@ "AUTHENTICATION_NONE" ], "enumDescriptions": [ - "", - "", - "", - "" + "Unspecified.", + "Multiple authentication required (Au:M). Defined in CVSS v2.", + "Single authentication required (Au:S). Defined in CVSS v2.", + "No authentication required (Au:N). Defined in CVSS v2." ], "type": "string" }, "availabilityImpact": { + "description": "Availability Impact (A). Defined in CVSS v2, v3.", "enum": [ "IMPACT_UNSPECIFIED", "IMPACT_HIGH", @@ -2386,12 +2403,12 @@ "IMPACT_COMPLETE" ], "enumDescriptions": [ - "", - "", - "", - "", - "", - "" + "Unspecified.", + "High impact (H). Defined in CVSS v3, v4.", + "Low impact (L). Defined in CVSS v3, v4.", + "No impact (N). Defined in CVSS v2, v3, v4.", + "Partial impact (P). Defined in CVSS v2.", + "Complete impact (C). Defined in CVSS v2." ], "type": "string" }, @@ -2401,6 +2418,7 @@ "type": "number" }, "confidentialityImpact": { + "description": "Confidentiality Impact (C). Defined in CVSS v2, v3.", "enum": [ "IMPACT_UNSPECIFIED", "IMPACT_HIGH", @@ -2410,12 +2428,12 @@ "IMPACT_COMPLETE" ], "enumDescriptions": [ - "", - "", - "", - "", - "", - "" + "Unspecified.", + "High impact (H). Defined in CVSS v3, v4.", + "Low impact (L). Defined in CVSS v3, v4.", + "No impact (N). Defined in CVSS v2, v3, v4.", + "Partial impact (P). Defined in CVSS v2.", + "Complete impact (C). Defined in CVSS v2." ], "type": "string" }, @@ -2428,6 +2446,7 @@ "type": "number" }, "integrityImpact": { + "description": "Integrity Impact (I). Defined in CVSS v2, v3.", "enum": [ "IMPACT_UNSPECIFIED", "IMPACT_HIGH", @@ -2437,16 +2456,17 @@ "IMPACT_COMPLETE" ], "enumDescriptions": [ - "", - "", - "", - "", - "", - "" + "Unspecified.", + "High impact (H). Defined in CVSS v3, v4.", + "Low impact (L). Defined in CVSS v3, v4.", + "No impact (N). Defined in CVSS v2, v3, v4.", + "Partial impact (P). Defined in CVSS v2.", + "Complete impact (C). Defined in CVSS v2." ], "type": "string" }, "privilegesRequired": { + "description": "Privileges Required (PR). Defined in CVSS v3, v4.", "enum": [ "PRIVILEGES_REQUIRED_UNSPECIFIED", "PRIVILEGES_REQUIRED_NONE", @@ -2454,36 +2474,162 @@ "PRIVILEGES_REQUIRED_HIGH" ], "enumDescriptions": [ - "", - "", - "", - "" + "Unspecified.", + "No privileges required (PR:N). Defined in CVSS v3, v4.", + "Low privileges required (PR:L). Defined in CVSS v3, v4.", + "High privileges required (PR:H). Defined in CVSS v3, v4." ], "type": "string" }, "scope": { + "description": "Scope (S). Defined in CVSS v3.", "enum": [ "SCOPE_UNSPECIFIED", "SCOPE_UNCHANGED", "SCOPE_CHANGED" ], "enumDescriptions": [ - "", - "", - "" + "Unspecified.", + "Scope: Unchanged (S:U). Defined in CVSS v3.", + "Scope: Changed (S:C). Defined in CVSS v3." + ], + "type": "string" + }, + "subsequentSystemAvailabilityImpact": { + "description": "Subsequent System Availability Impact (SA). Defined in CVSS v4.", + "enum": [ + "IMPACT_UNSPECIFIED", + "IMPACT_HIGH", + "IMPACT_LOW", + "IMPACT_NONE", + "IMPACT_PARTIAL", + "IMPACT_COMPLETE" + ], + "enumDescriptions": [ + "Unspecified.", + "High impact (H). Defined in CVSS v3, v4.", + "Low impact (L). Defined in CVSS v3, v4.", + "No impact (N). Defined in CVSS v2, v3, v4.", + "Partial impact (P). Defined in CVSS v2.", + "Complete impact (C). Defined in CVSS v2." + ], + "type": "string" + }, + "subsequentSystemConfidentialityImpact": { + "description": "Subsequent System Confidentiality Impact (SC). Defined in CVSS v4.", + "enum": [ + "IMPACT_UNSPECIFIED", + "IMPACT_HIGH", + "IMPACT_LOW", + "IMPACT_NONE", + "IMPACT_PARTIAL", + "IMPACT_COMPLETE" + ], + "enumDescriptions": [ + "Unspecified.", + "High impact (H). Defined in CVSS v3, v4.", + "Low impact (L). Defined in CVSS v3, v4.", + "No impact (N). Defined in CVSS v2, v3, v4.", + "Partial impact (P). Defined in CVSS v2.", + "Complete impact (C). Defined in CVSS v2." + ], + "type": "string" + }, + "subsequentSystemIntegrityImpact": { + "description": "Subsequent System Integrity Impact (SI). Defined in CVSS v4.", + "enum": [ + "IMPACT_UNSPECIFIED", + "IMPACT_HIGH", + "IMPACT_LOW", + "IMPACT_NONE", + "IMPACT_PARTIAL", + "IMPACT_COMPLETE" + ], + "enumDescriptions": [ + "Unspecified.", + "High impact (H). Defined in CVSS v3, v4.", + "Low impact (L). Defined in CVSS v3, v4.", + "No impact (N). Defined in CVSS v2, v3, v4.", + "Partial impact (P). Defined in CVSS v2.", + "Complete impact (C). Defined in CVSS v2." ], "type": "string" }, "userInteraction": { + "description": "User Interaction (UI). Defined in CVSS v3, v4.", "enum": [ "USER_INTERACTION_UNSPECIFIED", "USER_INTERACTION_NONE", - "USER_INTERACTION_REQUIRED" + "USER_INTERACTION_REQUIRED", + "USER_INTERACTION_PASSIVE", + "USER_INTERACTION_ACTIVE" ], "enumDescriptions": [ - "", - "", - "" + "Unspecified.", + "No user interaction required (UI:N). Defined in CVSS v3, v4.", + "User interaction required (UI:R). Defined in CVSS v3.", + "Passive user interaction required (UI:P). Defined in CVSS v4.", + "Active user interaction required (UI:A). Defined in CVSS v4." + ], + "type": "string" + }, + "vulnerableSystemAvailabilityImpact": { + "description": "Vulnerable System Availability Impact (VA). Defined in CVSS v4.", + "enum": [ + "IMPACT_UNSPECIFIED", + "IMPACT_HIGH", + "IMPACT_LOW", + "IMPACT_NONE", + "IMPACT_PARTIAL", + "IMPACT_COMPLETE" + ], + "enumDescriptions": [ + "Unspecified.", + "High impact (H). Defined in CVSS v3, v4.", + "Low impact (L). Defined in CVSS v3, v4.", + "No impact (N). Defined in CVSS v2, v3, v4.", + "Partial impact (P). Defined in CVSS v2.", + "Complete impact (C). Defined in CVSS v2." + ], + "type": "string" + }, + "vulnerableSystemConfidentialityImpact": { + "description": "Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4.", + "enum": [ + "IMPACT_UNSPECIFIED", + "IMPACT_HIGH", + "IMPACT_LOW", + "IMPACT_NONE", + "IMPACT_PARTIAL", + "IMPACT_COMPLETE" + ], + "enumDescriptions": [ + "Unspecified.", + "High impact (H). Defined in CVSS v3, v4.", + "Low impact (L). Defined in CVSS v3, v4.", + "No impact (N). Defined in CVSS v2, v3, v4.", + "Partial impact (P). Defined in CVSS v2.", + "Complete impact (C). Defined in CVSS v2." + ], + "type": "string" + }, + "vulnerableSystemIntegrityImpact": { + "description": "Vulnerable System Integrity Impact (VI). Defined in CVSS v4.", + "enum": [ + "IMPACT_UNSPECIFIED", + "IMPACT_HIGH", + "IMPACT_LOW", + "IMPACT_NONE", + "IMPACT_PARTIAL", + "IMPACT_COMPLETE" + ], + "enumDescriptions": [ + "Unspecified.", + "High impact (H). Defined in CVSS v3, v4.", + "Low impact (L). Defined in CVSS v3, v4.", + "No impact (N). Defined in CVSS v2, v3, v4.", + "Partial impact (P). Defined in CVSS v2.", + "Complete impact (C). Defined in CVSS v2." ], "type": "string" } @@ -7294,12 +7440,14 @@ "enum": [ "CVSS_VERSION_UNSPECIFIED", "CVSS_VERSION_2", - "CVSS_VERSION_3" + "CVSS_VERSION_3", + "CVSS_VERSION_4" ], "enumDescriptions": [ - "", - "", - "" + "Unspecified.", + "CVSS v2.", + "CVSS v3.", + "CVSS v4." ], "type": "string" }, @@ -7363,12 +7511,14 @@ "enum": [ "CVSS_VERSION_UNSPECIFIED", "CVSS_VERSION_2", - "CVSS_VERSION_3" + "CVSS_VERSION_3", + "CVSS_VERSION_4" ], "enumDescriptions": [ - "", - "", - "" + "Unspecified.", + "CVSS v2.", + "CVSS v3.", + "CVSS v4." ], "type": "string" }, diff --git a/discovery/containeranalysis-v1beta1.json b/discovery/containeranalysis-v1beta1.json index 2dcd9bf413a..8fa8006294d 100644 --- a/discovery/containeranalysis-v1beta1.json +++ b/discovery/containeranalysis-v1beta1.json @@ -1771,7 +1771,7 @@ } } }, - "revision": "20260505", + "revision": "20260521", "rootUrl": "https://containeranalysis.googleapis.com/", "schemas": { "AISkillAnalysisNote": { @@ -2388,11 +2388,11 @@ "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", + "description": "Common Vulnerability Scoring System. This message is compatible with CVSS v2, v3, and v4. 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 For CVSS v4 details, see https://www.first.org/cvss/v4.0/user-guide CVSS v4 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v4-calculator", "id": "CVSS", "properties": { "attackComplexity": { - "description": "Defined in CVSS v3, CVSS v2", + "description": "Attack Complexity (AC). Defined in CVSS v2, v3, v4.", "enum": [ "ATTACK_COMPLEXITY_UNSPECIFIED", "ATTACK_COMPLEXITY_LOW", @@ -2400,15 +2400,29 @@ "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" + "Unspecified.", + "Low attack complexity (AC:L). Defined in CVSS v2, v3, v4.", + "High attack complexity (AC:H). Defined in CVSS v2, v3, v4.", + "Medium attack complexity (AC:M). Defined in CVSS v2." + ], + "type": "string" + }, + "attackRequirements": { + "description": "Attack Requirements (AT). Defined in CVSS v4.", + "enum": [ + "ATTACK_REQUIREMENTS_UNSPECIFIED", + "ATTACK_REQUIREMENTS_NONE", + "ATTACK_REQUIREMENTS_PRESENT" + ], + "enumDescriptions": [ + "Unspecified.", + "No attack requirements (AT:N). Defined in CVSS v4.", + "Attack requirements: Present (AT:P). Defined in CVSS v4." ], "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", + "description": "Attack Vector (AV). Defined in CVSS v2, v3, v4.", "enum": [ "ATTACK_VECTOR_UNSPECIFIED", "ATTACK_VECTOR_NETWORK", @@ -2417,16 +2431,16 @@ "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" + "Unspecified.", + "Attack Vector: Network (AV:N). Defined in CVSS v2, v3, v4.", + "Attack Vector: Adjacent (AV:A). Defined in CVSS v2, v3, v4.", + "Attack Vector: Local (AV:L). Defined in CVSS v2, v3, v4.", + "Attack Vector: Physical (AV:P). Defined in CVSS v3, v4." ], "type": "string" }, "authentication": { - "description": "Defined in CVSS v2", + "description": "Authentication (Au). Defined in CVSS v2.", "enum": [ "AUTHENTICATION_UNSPECIFIED", "AUTHENTICATION_MULTIPLE", @@ -2434,15 +2448,15 @@ "AUTHENTICATION_NONE" ], "enumDescriptions": [ - "Defined in CVSS v2", - "Defined in CVSS v2", - "Defined in CVSS v2", - "Defined in CVSS v2" + "Unspecified.", + "Multiple authentication required (Au:M). Defined in CVSS v2.", + "Single authentication required (Au:S). Defined in CVSS v2.", + "No authentication required (Au:N). Defined in CVSS v2." ], "type": "string" }, "availabilityImpact": { - "description": "Defined in CVSS v3, CVSS v2", + "description": "Availability Impact (A). Defined in CVSS v2, v3.", "enum": [ "IMPACT_UNSPECIFIED", "IMPACT_HIGH", @@ -2452,12 +2466,12 @@ "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" + "Unspecified.", + "High impact (H). Defined in CVSS v3, v4.", + "Low impact (L). Defined in CVSS v3, v4.", + "No impact (N). Defined in CVSS v2, v3, v4.", + "Partial impact (P). Defined in CVSS v2.", + "Complete impact (C). Defined in CVSS v2." ], "type": "string" }, @@ -2467,7 +2481,7 @@ "type": "number" }, "confidentialityImpact": { - "description": "Defined in CVSS v3, CVSS v2", + "description": "Confidentiality Impact (C). Defined in CVSS v2, v3.", "enum": [ "IMPACT_UNSPECIFIED", "IMPACT_HIGH", @@ -2477,12 +2491,12 @@ "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" + "Unspecified.", + "High impact (H). Defined in CVSS v3, v4.", + "Low impact (L). Defined in CVSS v3, v4.", + "No impact (N). Defined in CVSS v2, v3, v4.", + "Partial impact (P). Defined in CVSS v2.", + "Complete impact (C). Defined in CVSS v2." ], "type": "string" }, @@ -2495,7 +2509,7 @@ "type": "number" }, "integrityImpact": { - "description": "Defined in CVSS v3, CVSS v2", + "description": "Integrity Impact (I). Defined in CVSS v2, v3.", "enum": [ "IMPACT_UNSPECIFIED", "IMPACT_HIGH", @@ -2505,17 +2519,17 @@ "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" + "Unspecified.", + "High impact (H). Defined in CVSS v3, v4.", + "Low impact (L). Defined in CVSS v3, v4.", + "No impact (N). Defined in CVSS v2, v3, v4.", + "Partial impact (P). Defined in CVSS v2.", + "Complete impact (C). Defined in CVSS v2." ], "type": "string" }, "privilegesRequired": { - "description": "Defined in CVSS v3", + "description": "Privileges Required (PR). Defined in CVSS v3, v4.", "enum": [ "PRIVILEGES_REQUIRED_UNSPECIFIED", "PRIVILEGES_REQUIRED_NONE", @@ -2523,38 +2537,162 @@ "PRIVILEGES_REQUIRED_HIGH" ], "enumDescriptions": [ - "Defined in CVSS v3", - "Defined in CVSS v3", - "Defined in CVSS v3", - "Defined in CVSS v3" + "Unspecified.", + "No privileges required (PR:N). Defined in CVSS v3, v4.", + "Low privileges required (PR:L). Defined in CVSS v3, v4.", + "High privileges required (PR:H). Defined in CVSS v3, v4." ], "type": "string" }, "scope": { - "description": "Defined in CVSS v3", + "description": "Scope (S). Defined in CVSS v3.", "enum": [ "SCOPE_UNSPECIFIED", "SCOPE_UNCHANGED", "SCOPE_CHANGED" ], "enumDescriptions": [ - "Defined in CVSS v3", - "Defined in CVSS v3", - "Defined in CVSS v3" + "Unspecified.", + "Scope: Unchanged (S:U). Defined in CVSS v3.", + "Scope: Changed (S:C). Defined in CVSS v3." + ], + "type": "string" + }, + "subsequentSystemAvailabilityImpact": { + "description": "Subsequent System Availability Impact (SA). Defined in CVSS v4.", + "enum": [ + "IMPACT_UNSPECIFIED", + "IMPACT_HIGH", + "IMPACT_LOW", + "IMPACT_NONE", + "IMPACT_PARTIAL", + "IMPACT_COMPLETE" + ], + "enumDescriptions": [ + "Unspecified.", + "High impact (H). Defined in CVSS v3, v4.", + "Low impact (L). Defined in CVSS v3, v4.", + "No impact (N). Defined in CVSS v2, v3, v4.", + "Partial impact (P). Defined in CVSS v2.", + "Complete impact (C). Defined in CVSS v2." + ], + "type": "string" + }, + "subsequentSystemConfidentialityImpact": { + "description": "Subsequent System Confidentiality Impact (SC). Defined in CVSS v4.", + "enum": [ + "IMPACT_UNSPECIFIED", + "IMPACT_HIGH", + "IMPACT_LOW", + "IMPACT_NONE", + "IMPACT_PARTIAL", + "IMPACT_COMPLETE" + ], + "enumDescriptions": [ + "Unspecified.", + "High impact (H). Defined in CVSS v3, v4.", + "Low impact (L). Defined in CVSS v3, v4.", + "No impact (N). Defined in CVSS v2, v3, v4.", + "Partial impact (P). Defined in CVSS v2.", + "Complete impact (C). Defined in CVSS v2." + ], + "type": "string" + }, + "subsequentSystemIntegrityImpact": { + "description": "Subsequent System Integrity Impact (SI). Defined in CVSS v4.", + "enum": [ + "IMPACT_UNSPECIFIED", + "IMPACT_HIGH", + "IMPACT_LOW", + "IMPACT_NONE", + "IMPACT_PARTIAL", + "IMPACT_COMPLETE" + ], + "enumDescriptions": [ + "Unspecified.", + "High impact (H). Defined in CVSS v3, v4.", + "Low impact (L). Defined in CVSS v3, v4.", + "No impact (N). Defined in CVSS v2, v3, v4.", + "Partial impact (P). Defined in CVSS v2.", + "Complete impact (C). Defined in CVSS v2." ], "type": "string" }, "userInteraction": { - "description": "Defined in CVSS v3", + "description": "User Interaction (UI). Defined in CVSS v3, v4.", "enum": [ "USER_INTERACTION_UNSPECIFIED", "USER_INTERACTION_NONE", - "USER_INTERACTION_REQUIRED" + "USER_INTERACTION_REQUIRED", + "USER_INTERACTION_PASSIVE", + "USER_INTERACTION_ACTIVE" + ], + "enumDescriptions": [ + "Unspecified.", + "No user interaction required (UI:N). Defined in CVSS v3, v4.", + "User interaction required (UI:R). Defined in CVSS v3.", + "Passive user interaction required (UI:P). Defined in CVSS v4.", + "Active user interaction required (UI:A). Defined in CVSS v4." + ], + "type": "string" + }, + "vulnerableSystemAvailabilityImpact": { + "description": "Vulnerable System Availability Impact (VA). Defined in CVSS v4.", + "enum": [ + "IMPACT_UNSPECIFIED", + "IMPACT_HIGH", + "IMPACT_LOW", + "IMPACT_NONE", + "IMPACT_PARTIAL", + "IMPACT_COMPLETE" ], "enumDescriptions": [ - "Defined in CVSS v3", - "Defined in CVSS v3", - "Defined in CVSS v3" + "Unspecified.", + "High impact (H). Defined in CVSS v3, v4.", + "Low impact (L). Defined in CVSS v3, v4.", + "No impact (N). Defined in CVSS v2, v3, v4.", + "Partial impact (P). Defined in CVSS v2.", + "Complete impact (C). Defined in CVSS v2." + ], + "type": "string" + }, + "vulnerableSystemConfidentialityImpact": { + "description": "Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4.", + "enum": [ + "IMPACT_UNSPECIFIED", + "IMPACT_HIGH", + "IMPACT_LOW", + "IMPACT_NONE", + "IMPACT_PARTIAL", + "IMPACT_COMPLETE" + ], + "enumDescriptions": [ + "Unspecified.", + "High impact (H). Defined in CVSS v3, v4.", + "Low impact (L). Defined in CVSS v3, v4.", + "No impact (N). Defined in CVSS v2, v3, v4.", + "Partial impact (P). Defined in CVSS v2.", + "Complete impact (C). Defined in CVSS v2." + ], + "type": "string" + }, + "vulnerableSystemIntegrityImpact": { + "description": "Vulnerable System Integrity Impact (VI). Defined in CVSS v4.", + "enum": [ + "IMPACT_UNSPECIFIED", + "IMPACT_HIGH", + "IMPACT_LOW", + "IMPACT_NONE", + "IMPACT_PARTIAL", + "IMPACT_COMPLETE" + ], + "enumDescriptions": [ + "Unspecified.", + "High impact (H). Defined in CVSS v3, v4.", + "Low impact (L). Defined in CVSS v3, v4.", + "No impact (N). Defined in CVSS v2, v3, v4.", + "Partial impact (P). Defined in CVSS v2.", + "Complete impact (C). Defined in CVSS v2." ], "type": "string" } @@ -5442,12 +5580,14 @@ "enum": [ "CVSS_VERSION_UNSPECIFIED", "CVSS_VERSION_2", - "CVSS_VERSION_3" + "CVSS_VERSION_3", + "CVSS_VERSION_4" ], "enumDescriptions": [ - "", - "", - "" + "Unspecified.", + "CVSS v2.", + "CVSS v3.", + "CVSS v4." ], "type": "string" }, @@ -7584,12 +7724,14 @@ "enum": [ "CVSS_VERSION_UNSPECIFIED", "CVSS_VERSION_2", - "CVSS_VERSION_3" + "CVSS_VERSION_3", + "CVSS_VERSION_4" ], "enumDescriptions": [ - "", - "", - "" + "Unspecified.", + "CVSS v2.", + "CVSS v3.", + "CVSS v4." ], "type": "string" }, diff --git a/discovery/dataform-v1.json b/discovery/dataform-v1.json index 52e55156847..1cad3dc2118 100644 --- a/discovery/dataform-v1.json +++ b/discovery/dataform-v1.json @@ -3235,7 +3235,7 @@ } } }, - "revision": "20260515", + "revision": "20260529", "rootUrl": "https://dataform.googleapis.com/", "schemas": { "ActionErrorTable": { @@ -4165,6 +4165,10 @@ "readOnly": true, "type": "string" }, + "gitRepositoryLink": { + "description": "Optional. Resource name for the GitRepositoryLink used for machine credentials. Must be in the format `projects/*/locations/*/connections/*/gitRepositoryLinks/*`", + "type": "string" + }, "sshAuthenticationConfig": { "$ref": "SshAuthenticationConfig", "description": "Optional. Authentication fields for remote uris using SSH protocol." diff --git a/discovery/datalineage-v1.json b/discovery/datalineage-v1.json index 5b0fcdd052d..ef14427d405 100644 --- a/discovery/datalineage-v1.json +++ b/discovery/datalineage-v1.json @@ -1283,7 +1283,7 @@ } } }, - "revision": "20260515", + "revision": "20260522", "rootUrl": "https://datalineage.googleapis.com/", "schemas": { "GoogleCloudDatacatalogLineageConfigmanagementV1Config": { @@ -1955,7 +1955,7 @@ "description": "Optional. Limits for the search." }, "locations": { - "description": "Required. The locations to search in.", + "description": "Required. The locations to search in. This list should contain the location from the `parent` field.", "items": { "type": "string" }, diff --git a/discovery/datamanager-v1.json b/discovery/datamanager-v1.json index 1a9abfa6ae4..531c6e1ac76 100644 --- a/discovery/datamanager-v1.json +++ b/discovery/datamanager-v1.json @@ -820,13 +820,24 @@ } } }, - "revision": "20260507", + "revision": "20260527", "rootUrl": "https://datamanager.googleapis.com/", "schemas": { "AdIdentifiers": { "description": "Identifiers and other information used to match the conversion event with other online activity (such as ad clicks).", "id": "AdIdentifiers", "properties": { + "dclid": { + "description": "Optional. The display click ID associated with this event.", + "type": "string" + }, + "encryptedUserIds": { + "description": "Optional. Any number of encrypted user IDs.", + "items": { + "$ref": "EncryptedUserId" + }, + "type": "array" + }, "gbraid": { "description": "Optional. The click identifier for clicks associated with app events and originating from iOS devices starting with iOS14.", "type": "string" @@ -835,10 +846,18 @@ "description": "Optional. The Google click ID (gclid) associated with this event.", "type": "string" }, + "impressionId": { + "description": "Optional. The impression ID associated with this event.", + "type": "string" + }, "landingPageDeviceInfo": { "$ref": "DeviceInfo", "description": "Optional. Information gathered about the device being used (if any) at the time of landing onto the advertiser’s site after interacting with the ad." }, + "matchId": { + "description": "Optional. The match ID field used to join this event with a previous event.", + "type": "string" + }, "mobileDeviceId": { "description": "Optional. The mobile identifier for advertisers. This would be IDFA on iOS, AdID on Android, or other platforms’ identifiers for advertisers.", "type": "string" @@ -881,6 +900,10 @@ "description": "The audience member to be operated on.", "id": "AudienceMember", "properties": { + "compositeData": { + "$ref": "CompositeData", + "description": "Group of multiple identifier types." + }, "consent": { "$ref": "Consent", "description": "Optional. The consent setting for the user." @@ -999,6 +1022,24 @@ }, "type": "object" }, + "CompositeData": { + "description": "Composite data holding identifiers and associated data for a user. At least one of `user_data` or `ip_data` is required.", + "id": "CompositeData", + "properties": { + "ipData": { + "description": "Optional. IP address data representing customer interaction used to build the audience.", + "items": { + "$ref": "IpData" + }, + "type": "array" + }, + "userData": { + "$ref": "UserData", + "description": "Optional. User-provided data that identifies the user." + } + }, + "type": "object" + }, "Consent": { "description": "[Digital Markets Act (DMA)](//digital-markets-act.ec.europa.eu/index_en) consent settings for the user.", "id": "Consent", @@ -1087,6 +1128,36 @@ }, "type": "object" }, + "DataTypeCount": { + "description": "The count for a specific data type.", + "id": "DataTypeCount", + "properties": { + "count": { + "description": "The count for this data type.", + "format": "int64", + "type": "string" + }, + "type": { + "description": "The type of data.", + "enum": [ + "DATA_TYPE_UNSPECIFIED", + "EMAIL", + "PHONE_NUMBER", + "ADDRESS", + "IP_ADDRESS" + ], + "enumDescriptions": [ + "The data type is unspecified.", + "The data is an email address.", + "The data is a phone number.", + "The data is a physical address.", + "The data is an IP address." + ], + "type": "string" + } + }, + "type": "object" + }, "Destination": { "description": "The Google product you're sending data to. For example, a Google Ads account.", "id": "Destination", @@ -1177,6 +1248,58 @@ "properties": {}, "type": "object" }, + "EncryptedUserId": { + "description": "A user identifier issued to be used for attribution. All fields are required if this is used.", + "id": "EncryptedUserId", + "properties": { + "encryptedId": { + "description": "Required. The alphanumeric encrypted id.", + "type": "string" + }, + "entityId": { + "description": "Required. The encryption entity ID. This should match the encryption configuration for ad serving or Data Transfer.", + "format": "int64", + "type": "string" + }, + "entityType": { + "description": "Required. The encryption entity type. This should match the encryption configuration for ad serving or Data Transfer.", + "enum": [ + "ENCRYPTION_ENTITY_TYPE_UNSPECIFIED", + "CAMPAIGN_MANAGER_ACCOUNT", + "CAMPAIGN_MANAGER_ADVERTISER", + "DISPLAY_VIDEO_PARTNER", + "DISPLAY_VIDEO_ADVERTISER", + "GOOGLE_ADS_CUSTOMER", + "GOOGLE_AD_MANAGER_NETWORK_CODE" + ], + "enumDescriptions": [ + "Unspecified encryption entity type.", + "Campaign Manager 360 account.", + "Campaign Manager 360 advertiser.", + "Display & Video 360 partner.", + "Display & Video 360 advertiser.", + "Google Ads customer.", + "Google Ad Manager network code." + ], + "type": "string" + }, + "source": { + "description": "Required. Describes whether the encrypted cookie was received from ad serving (the %m macro) or from Data Transfer.", + "enum": [ + "ENCRYPTION_SOURCE_UNSPECIFIED", + "AD_SERVING", + "DATA_TRANSFER" + ], + "enumDescriptions": [ + "Unspecified encryption source.", + "Ad serving encryption source.", + "Data transfer encryption source." + ], + "type": "string" + } + }, + "type": "object" + }, "EncryptionInfo": { "description": "Encryption information for the data being ingested.", "id": "EncryptionInfo", @@ -1227,7 +1350,22 @@ "PROCESSING_ERROR_REASON_AWS_AUTH_FAILED", "PROCESSING_ERROR_REASON_USER_IDENTIFIER_DECRYPTION_ERROR", "PROCESSING_ERROR_OPERATING_ACCOUNT_MISMATCH_FOR_AD_IDENTIFIER", - "PROCESSING_ERROR_REASON_ONE_PER_CLICK_CONVERSION_ACTION_NOT_PERMITTED_WITH_BRAID" + "PROCESSING_ERROR_REASON_ONE_PER_CLICK_CONVERSION_ACTION_NOT_PERMITTED_WITH_BRAID", + "PROCESSING_ERROR_REASON_MATCH_ID_NOT_FOUND", + "PROCESSING_ERROR_REASON_USER_ID_NOT_FOUND_FOR_MATCH_ID", + "PROCESSING_ERROR_REASON_USER_ID_NOT_FOUND_FOR_GCLID", + "PROCESSING_ERROR_REASON_USER_ID_NOT_FOUND_FOR_DCLID", + "PROCESSING_ERROR_REASON_INVALID_AD_IDENTIFIERS", + "PROCESSING_ERROR_REASON_INVALID_MOBILE_ID_FORMAT", + "PROCESSING_ERROR_REASON_ORIGINAL_CONVERSIONS_NOT_FOUND", + "PROCESSING_ERROR_REASON_EVENT_ID_DECODE_ERROR", + "PROCESSING_ERROR_REASON_USER_ID_NOT_FOUND_FOR_IMPRESSION_ID", + "PROCESSING_ERROR_REASON_USER_ID_NOT_FOUND", + "PROCESSING_ERROR_REASON_CONVERSION_PRECEDES_CLICK", + "PROCESSING_ERROR_REASON_TOO_RECENT_CLICK", + "PROCESSING_ERROR_REASON_INVALID_CLICK", + "PROCESSING_ERROR_REASON_INVALID_OPERATING_ACCOUNT_FOR_CLICK", + "PROCESSING_ERROR_REASON_CLICK_NOT_FOUND" ], "enumDescriptions": [ "The processing error reason is unknown.", @@ -1258,7 +1396,22 @@ "The system failed to authenticate with AWS.", "Failed to decrypt the UserIdentifier data using the DEK.", "The user attempted to ingest events with an ad identifier that isn't from the operating account's ads.", - "One-per-click conversion actions cannot be used with BRAIDs." + "One-per-click conversion actions cannot be used with BRAIDs.", + "The match ID can not be found.", + "The user ID can not be found for the match ID.", + "The user ID can not be found for the GCLID.", + "The user ID can not be found for the DCLID.", + "There are ad identifiers that are invalid.", + "The mobile ID format is invalid.", + "The original conversions can't be found.", + "The event ID (dclid or impression ID) cannot be decoded.", + "The user ID cannot be found for the given impression ID.", + "The user ID cannot be found.", + "The event timestamp on the event was earlier than the associated click.", + "The click occurred too recently.", + "The event can't be attributed to a click (GCLID). This may be because the click did not come from a Google Ads campaign, for example.", + "The click from the event isn't associated with the `operating_account` of the destination.", + "A corresponding click can't be found that matches the provided attributes." ], "type": "string" }, @@ -1315,6 +1468,11 @@ "$ref": "Consent", "description": "Optional. Information about whether the associated user has provided different types of consent." }, + "conversionCount": { + "description": "Optional. The conversion quantity associated with the event, for counting-based conversions.", + "format": "double", + "type": "number" + }, "conversionValue": { "description": "Optional. The conversion value associated with the event, for value-based conversions.", "format": "double", @@ -1570,6 +1728,10 @@ "description": "The status of the ingest audience members request.", "id": "IngestAudienceMembersStatus", "properties": { + "compositeDataIngestionStatus": { + "$ref": "IngestCompositeDataStatus", + "description": "The status of the composite data ingestion to the destination." + }, "mobileDataIngestionStatus": { "$ref": "IngestMobileDataStatus", "description": "The status of the mobile data ingestion to the destination." @@ -1593,6 +1755,55 @@ }, "type": "object" }, + "IngestCompositeDataStatus": { + "description": "The status of the composite data ingestion to the destination containing stats related to the ingestion.", + "id": "IngestCompositeDataStatus", + "properties": { + "dataTypeCounts": { + "description": "The total count of data types sent in the upload request for the destination, broken down by data type. Includes all data types in the request, regardless of whether they were successfully ingested or not.", + "items": { + "$ref": "DataTypeCount" + }, + "type": "array" + }, + "recordCount": { + "description": "The total count of audience members sent in the upload request for the destination. Includes all audience members in the request, regardless of whether they were successfully ingested or not.", + "format": "int64", + "type": "string" + }, + "uploadMatchRateRange": { + "description": "The match rate range of the upload.", + "enum": [ + "MATCH_RATE_RANGE_UNKNOWN", + "MATCH_RATE_RANGE_NOT_ELIGIBLE", + "MATCH_RATE_RANGE_LESS_THAN_20", + "MATCH_RATE_RANGE_20_TO_30", + "MATCH_RATE_RANGE_31_TO_40", + "MATCH_RATE_RANGE_41_TO_50", + "MATCH_RATE_RANGE_51_TO_60", + "MATCH_RATE_RANGE_61_TO_70", + "MATCH_RATE_RANGE_71_TO_80", + "MATCH_RATE_RANGE_81_TO_90", + "MATCH_RATE_RANGE_91_TO_100" + ], + "enumDescriptions": [ + "The match rate range is unknown.", + "The match rate range is not eligible.", + "The match rate range is less than 20% (in the interval `[0, 20)`).", + "The match rate range is between 20% and 30% (in the interval `[20, 31)`).", + "The match rate range is between 31% and 40% (in the interval `[31, 41)`).", + "The match rate range is between 41% and 50% (in the interval `[41, 51)`).", + "The match rate range is between 51% and 60% (in the interval `[51, 61)`.", + "The match rate range is between 61% and 70% (in the interval `[61, 71)`).", + "The match rate range is between 71% and 80% (in the interval `[71, 81)`).", + "The match rate range is between 81% and 90% (in the interval `[81, 91)`).", + "The match rate range is between 91% and 100% (in the interval `[91, 100]`)." + ], + "type": "string" + } + }, + "type": "object" + }, "IngestEventsRequest": { "description": "Request to upload audience members to the provided destinations. Returns an IngestEventsResponse.", "id": "IngestEventsRequest", @@ -1832,6 +2043,27 @@ }, "type": "object" }, + "IpData": { + "description": "IP address information for a user. We recommend including observe_start_time and observe_end_time to help improve Customer Match match rates.", + "id": "IpData", + "properties": { + "ipAddress": { + "description": "Required. IP address captured at the time of customer interaction. Accepts standard string formats for both IPv4 and IPv6.", + "type": "string" + }, + "observeEndTime": { + "description": "Optional. Last recorded interaction time from this IP address in a session.", + "format": "google-datetime", + "type": "string" + }, + "observeStartTime": { + "description": "Optional. First recorded interaction time from this IP address in a session.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "Item": { "description": "Represents an item in the cart associated with the event.", "id": "Item", @@ -2285,7 +2517,8 @@ "DISPLAY_VIDEO_ADVERTISER", "DATA_PARTNER", "GOOGLE_ANALYTICS_PROPERTY", - "GOOGLE_AD_MANAGER_AUDIENCE_LINK" + "GOOGLE_AD_MANAGER_AUDIENCE_LINK", + "FLOODLIGHT_CONFIG" ], "enumDescriptions": [ "Unspecified product. Should never be used.", @@ -2294,7 +2527,8 @@ "Display & Video 360 advertiser.", "Data Partner.", "Google Analytics.", - "Google Ad Manager audience link." + "Google Ad Manager audience link.", + "Floodlight configuration." ], "type": "string" }, @@ -2407,6 +2641,10 @@ "description": "The status of the remove audience members request.", "id": "RemoveAudienceMembersStatus", "properties": { + "compositeDataRemovalStatus": { + "$ref": "RemoveCompositeDataStatus", + "description": "The status of the composite data removal from the destination." + }, "mobileDataRemovalStatus": { "$ref": "RemoveMobileDataStatus", "description": "The status of the mobile data removal from the destination." @@ -2430,6 +2668,25 @@ }, "type": "object" }, + "RemoveCompositeDataStatus": { + "description": "The status of the composite data removal from the destination.", + "id": "RemoveCompositeDataStatus", + "properties": { + "dataTypeCounts": { + "description": "The total count of data types sent in the removal request, broken down by data type. Includes all data types in the request, regardless of whether they were successfully removed or not.", + "items": { + "$ref": "DataTypeCount" + }, + "type": "array" + }, + "recordCount": { + "description": "The total count of audience members sent in the removal request. Includes all audience members in the request, regardless of whether they were successfully removed or not.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, "RemoveMobileDataStatus": { "description": "The status of the mobile data removal from the destination.", "id": "RemoveMobileDataStatus", diff --git a/discovery/datastream-v1.json b/discovery/datastream-v1.json index d24c412b9f4..b969031ab65 100644 --- a/discovery/datastream-v1.json +++ b/discovery/datastream-v1.json @@ -1503,7 +1503,7 @@ } } }, - "revision": "20260503", + "revision": "20260531", "rootUrl": "https://datastream.googleapis.com/", "schemas": { "AppendOnly": { @@ -1538,6 +1538,10 @@ "$ref": "PostgresqlRdbms", "description": "PostgreSQL data source objects to avoid backfilling." }, + "saasExcludedObjects": { + "$ref": "SourceCatalog", + "description": "Source catalog data source objects to avoid backfilling. This is mainly used to represent SaaS applications objects." + }, "salesforceExcludedObjects": { "$ref": "SalesforceOrg", "description": "Salesforce data source objects to avoid backfilling" @@ -1828,6 +1832,10 @@ "readOnly": true, "type": "string" }, + "dataverseProfile": { + "$ref": "DataverseProfile", + "description": "Profile for connecting to a Dataverse source." + }, "displayName": { "description": "Required. Display name.", "type": "string" @@ -1872,6 +1880,10 @@ "$ref": "PrivateConnectivity", "description": "Private connectivity." }, + "salesforceMarketingCloudProfile": { + "$ref": "SalesforceMarketingCloudProfile", + "description": "Profile for connecting to a Salesforce Marketing Cloud source." + }, "salesforceProfile": { "$ref": "SalesforceProfile", "description": "Profile for connecting to a Salesforce source." @@ -1886,6 +1898,10 @@ "readOnly": true, "type": "boolean" }, + "serviceNowProfile": { + "$ref": "ServiceNowProfile", + "description": "Profile for connecting to a ServiceNow source." + }, "spannerProfile": { "$ref": "SpannerProfile", "description": "Profile for connecting to a Spanner source." @@ -1941,6 +1957,45 @@ }, "type": "object" }, + "DataverseProfile": { + "description": "Profile for connecting to a Dataverse source.", + "id": "DataverseProfile", + "properties": { + "environmentUrl": { + "description": "Required. Environment URL of the Microsoft Dataverse instance. Example: `.crm.dynamics.com`", + "type": "string" + }, + "oauthClientCredentials": { + "$ref": "OauthClientCredentials", + "description": "Required. Credentials for authenticating with the Dataverse API." + }, + "tenantId": { + "description": "Required. Tenant id of the Microsoft Dataverse instance.", + "type": "string" + } + }, + "type": "object" + }, + "DataverseSourceConfig": { + "description": "Configuration for syncing data from a Dataverse source.", + "id": "DataverseSourceConfig", + "properties": { + "excludeObjects": { + "$ref": "SourceCatalog", + "description": "Optional. The objects to exclude from the stream." + }, + "includeObjects": { + "$ref": "SourceCatalog", + "description": "Optional. The objects to retrieve from the source." + }, + "pollingInterval": { + "description": "Required. Incremental sync polling interval for all objects. If not set, a default value of `5 minutes` is used. The duration must be from `5 minutes` to `24 hours`, inclusive.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, "DebugInfo": { "description": "Describes additional debugging info.", "id": "DebugInfo", @@ -2019,6 +2074,10 @@ "$ref": "SalesforceOrg", "description": "Optional. Salesforce organization to enrich with child data objects and metadata." }, + "sourceCatalog": { + "$ref": "SourceCatalog", + "description": "Optional. Source catalog to enrich with child data objects and metadata. This is mainly used to represent SaaS sources databases." + }, "spannerDatabase": { "$ref": "SpannerDatabase", "description": "Optional. Spanner database to enrich with child data objects and metadata." @@ -2054,6 +2113,10 @@ "$ref": "SalesforceOrg", "description": "Enriched Salesforce organization." }, + "sourceCatalog": { + "$ref": "SourceCatalog", + "description": "Enriched source catalog. This is mainly used to represent SaaS sources databases." + }, "spannerDatabase": { "$ref": "SpannerDatabase", "description": "Enriched Spanner database." @@ -3138,6 +3201,21 @@ }, "type": "object" }, + "OauthClientCredentials": { + "description": "OAuth Client Credentials.", + "id": "OauthClientCredentials", + "properties": { + "clientId": { + "description": "Required. Client ID for OAuth Client Credentials.", + "type": "string" + }, + "clientSecret": { + "$ref": "Secret", + "description": "Required. Client secret for OAuth Client Credentials." + } + }, + "type": "object" + }, "ObjectFilter": { "description": "Object filter to apply the rules to.", "id": "ObjectFilter", @@ -4039,6 +4117,46 @@ }, "type": "object" }, + "SalesforceMarketingCloudProfile": { + "description": "Profile for connecting to a Salesforce Marketing Cloud source.", + "id": "SalesforceMarketingCloudProfile", + "properties": { + "oauthClientCredentials": { + "$ref": "OauthClientCredentials", + "description": "Required. Input only. Credentials for authenticating with the Salesforce Marketing Cloud API." + }, + "subdomain": { + "description": "Required. Subdomain for the Salesforce Marketing Cloud connection. Example: if your specific endpoint is `https://{your-specific-subdomain}.rest.marketingcloudapis.com/`, the subdomain is `{your-specific-subdomain}`. Must be 1-63 characters, start and end with an alphanumeric character, and contain only lowercase letters, numbers, and hyphens (-).", + "type": "string" + } + }, + "type": "object" + }, + "SalesforceMarketingCloudSourceConfig": { + "description": "Configuration for syncing data from a Salesforce Marketing Cloud source.", + "id": "SalesforceMarketingCloudSourceConfig", + "properties": { + "excludeObjects": { + "$ref": "SourceCatalog", + "description": "Optional. The objects to exclude from the stream." + }, + "fullRefreshPollingInterval": { + "description": "Required. Specifies the polling interval for a full refresh of objects that do not support incremental sync. If not set, a default value of 24 hours is used. The duration must be between 1 and 24 hours, inclusive.", + "format": "google-duration", + "type": "string" + }, + "includeObjects": { + "$ref": "SourceCatalog", + "description": "Optional. The objects to retrieve from the source." + }, + "pollingInterval": { + "description": "Required. Incremental sync polling interval for all objects. If not set, a default value of `5 minutes` is used. The duration must be from `5 minutes` to `24 hours`, inclusive.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, "SalesforceObject": { "description": "Salesforce object.", "id": "SalesforceObject", @@ -4121,6 +4239,21 @@ }, "type": "object" }, + "Secret": { + "description": "A confidential piece of information where the actual value is either directly specified in the message as a raw string or stored in GCP secret manager.", + "id": "Secret", + "properties": { + "rawValue": { + "description": "Optional. Input only. The actual raw value of the secret as plain text.", + "type": "string" + }, + "secretVersion": { + "description": "Optional. A Secret Manager resource name storing the actual value of the secret. Supported formats: * projects/{project}/locations/{location}/secrets/{secret}/versions/{version} * projects/{project}/secrets/{secret}/versions/{version}", + "type": "string" + } + }, + "type": "object" + }, "ServerAndClientVerification": { "description": "Message represents the option where Datastream will enforce the encryption and authenticate the server identity as well as the client identity. ca_certificate, client_certificate and client_key must be set if user selects this option.", "id": "ServerAndClientVerification", @@ -4159,6 +4292,45 @@ }, "type": "object" }, + "ServiceNowProfile": { + "description": "Profile for connecting to a ServiceNow source.", + "id": "ServiceNowProfile", + "properties": { + "instance": { + "description": "Required. The instance of the ServiceNow account. This is the `` part of the URL `https://.service-now.com`.", + "type": "string" + }, + "oauthClientCredentials": { + "$ref": "OauthClientCredentials", + "description": "Credentials for authenticating with the ServiceNow API." + }, + "userPasswordCredentials": { + "$ref": "UserPasswordCredentials", + "description": "User-password authentication." + } + }, + "type": "object" + }, + "ServiceNowSourceConfig": { + "description": "Configuration for syncing data from a ServiceNow source.", + "id": "ServiceNowSourceConfig", + "properties": { + "excludeObjects": { + "$ref": "SourceCatalog", + "description": "Optional. The objects to exclude from the stream." + }, + "includeObjects": { + "$ref": "SourceCatalog", + "description": "Optional. The objects to retrieve from the source." + }, + "pollingInterval": { + "description": "Required. Incremental sync polling interval for all objects. If not set, a default value of `5 minutes` is used. The duration must be from `5 minutes` to `24 hours`, inclusive.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, "SingleTargetDataset": { "description": "A single target dataset to which all data will be streamed.", "id": "SingleTargetDataset", @@ -4170,10 +4342,28 @@ }, "type": "object" }, + "SourceCatalog": { + "description": "Source catalog.", + "id": "SourceCatalog", + "properties": { + "objects": { + "description": "Optional. Source objects in the catalog.", + "items": { + "$ref": "SourceObject" + }, + "type": "array" + } + }, + "type": "object" + }, "SourceConfig": { "description": "The configuration of the stream source.", "id": "SourceConfig", "properties": { + "dataverseSourceConfig": { + "$ref": "DataverseSourceConfig", + "description": "Dataverse data source configuration." + }, "mongodbSourceConfig": { "$ref": "MongodbSourceConfig", "description": "MongoDB data source configuration." @@ -4190,10 +4380,18 @@ "$ref": "PostgresqlSourceConfig", "description": "PostgreSQL data source configuration." }, + "salesforceMarketingCloudSourceConfig": { + "$ref": "SalesforceMarketingCloudSourceConfig", + "description": "Salesforce Marketing Cloud data source configuration." + }, "salesforceSourceConfig": { "$ref": "SalesforceSourceConfig", "description": "Salesforce data source configuration." }, + "serviceNowSourceConfig": { + "$ref": "ServiceNowSourceConfig", + "description": "ServiceNow data source configuration." + }, "sourceConnectionProfile": { "description": "Required. Source connection profile resource. Format: `projects/{project}/locations/{location}/connectionProfiles/{name}`", "type": "string" @@ -4224,6 +4422,24 @@ }, "type": "object" }, + "SourceObject": { + "description": "Source object.", + "id": "SourceObject", + "properties": { + "objectName": { + "description": "Required. The object name.", + "type": "string" + }, + "properties": { + "description": "Optional. Source properties. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing.", + "items": { + "$ref": "SourceProperty" + }, + "type": "array" + } + }, + "type": "object" + }, "SourceObjectIdentifier": { "description": "Represents an identifier of an object in the data source.", "id": "SourceObjectIdentifier", @@ -4259,6 +4475,28 @@ }, "type": "object" }, + "SourceProperty": { + "description": "Source property.", + "id": "SourceProperty", + "properties": { + "primaryKey": { + "description": "Optional. Whether or not the property is a primary key.", + "type": "boolean" + }, + "properties": { + "description": "Optional. Source properties. When specified, it means that the current property contains nested properties of its own. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing.", + "items": { + "$ref": "SourceProperty" + }, + "type": "array" + }, + "propertyName": { + "description": "Required. The property name.", + "type": "string" + } + }, + "type": "object" + }, "SpannerChangeStreamPosition": { "description": "Represents a position in a Spanner change stream from which to start replicating.", "id": "SpannerChangeStreamPosition", @@ -4994,6 +5232,21 @@ }, "type": "object" }, + "UserPasswordCredentials": { + "description": "User-password credentials.", + "id": "UserPasswordCredentials", + "properties": { + "password": { + "$ref": "Secret", + "description": "Required. Password for the connection." + }, + "username": { + "description": "Required. Username for the connection.", + "type": "string" + } + }, + "type": "object" + }, "Validation": { "description": "A validation to perform on a stream.", "id": "Validation", diff --git a/discovery/developerconnect-v1.json b/discovery/developerconnect-v1.json index 2f06c2cf25f..17fe92c47d5 100644 --- a/discovery/developerconnect-v1.json +++ b/discovery/developerconnect-v1.json @@ -1795,7 +1795,7 @@ } } }, - "revision": "20260426", + "revision": "20260527", "rootUrl": "https://developerconnect.googleapis.com/", "schemas": { "AccountConnector": { @@ -1954,6 +1954,14 @@ "readOnly": true, "type": "string" }, + "sourceCodeUris": { + "description": "Output only. The URIs of the source code, if available. For Cloud Run source deploy for example: `gs://my-bucket/my-folder/1234567890.abcde-fdbe.zip#1234567890`", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, "sourceCommitUris": { "description": "Output only. The source commits at which this artifact was built. Extracted from provenance.", "items": { diff --git a/discovery/developerknowledge-v1.json b/discovery/developerknowledge-v1.json index 18f17851993..5d83869ca2b 100644 --- a/discovery/developerknowledge-v1.json +++ b/discovery/developerknowledge-v1.json @@ -115,7 +115,7 @@ "parameterOrder": [], "parameters": { "names": { - "description": "Required. Specifies the names of the documents to retrieve. A maximum of 20 documents can be retrieved in a batch. The documents are returned in the same order as the `names` in the request. Format: `documents/{uri_without_scheme}` Example: `documents/docs.cloud.google.com/storage/docs/creating-buckets` If you are changing the batch size, consider the value of `maxConcurrentGCSFetches` constant in the service implementation: http://cs///depot/google3/devrel/boq/developerknowledge/service/developerknowledge.go", + "description": "Required. Specifies the names of the documents to retrieve. A maximum of 20 documents can be retrieved in a batch. The documents are returned in the same order as the `names` in the request. Format: `documents/{uri_without_scheme}` Example: `documents/docs.cloud.google.com/storage/docs/creating-buckets` ", "location": "query", "repeated": true, "type": "string" @@ -228,7 +228,7 @@ } } }, - "revision": "20260510", + "revision": "20260524", "rootUrl": "https://developerknowledge.googleapis.com/", "schemas": { "BatchGetDocumentsResponse": { diff --git a/discovery/developerknowledge-v1alpha.json b/discovery/developerknowledge-v1alpha.json index a8c41e1df0c..efe010f5d0d 100644 --- a/discovery/developerknowledge-v1alpha.json +++ b/discovery/developerknowledge-v1alpha.json @@ -115,7 +115,7 @@ "parameterOrder": [], "parameters": { "names": { - "description": "Required. Specifies the names of the documents to retrieve. A maximum of 20 documents can be retrieved in a batch. The documents are returned in the same order as the `names` in the request. Format: `documents/{uri_without_scheme}` Example: `documents/docs.cloud.google.com/storage/docs/creating-buckets` If you are changing the batch size, consider the value of `maxConcurrentGCSFetches` constant in the service implementation: http://cs///depot/google3/devrel/boq/developerknowledge/service/developerknowledge.go", + "description": "Required. Specifies the names of the documents to retrieve. A maximum of 20 documents can be retrieved in a batch. The documents are returned in the same order as the `names` in the request. Format: `documents/{uri_without_scheme}` Example: `documents/docs.cloud.google.com/storage/docs/creating-buckets` ", "location": "query", "repeated": true, "type": "string" @@ -250,7 +250,7 @@ } } }, - "revision": "20260510", + "revision": "20260524", "rootUrl": "https://developerknowledge.googleapis.com/", "schemas": { "Answer": { @@ -260,6 +260,49 @@ "answerText": { "description": "Contains the text of the answer.", "type": "string" + }, + "citations": { + "description": "Output only. Contains citations for the answer.", + "items": { + "$ref": "AnswerCitation" + }, + "readOnly": true, + "type": "array" + }, + "references": { + "description": "Output only. Contains references for the answer.", + "items": { + "$ref": "AnswerReference" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "AnswerCitation": { + "description": "Citation info for a segment.", + "id": "AnswerCitation", + "properties": { + "endIndex": { + "description": "Output only. Indicates the end of the segment, measured in bytes (UTF-8 unicode), exclusive. If there are multi-byte characters, such as non-ASCII characters, the index measurement is longer than the string length.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "sources": { + "description": "Output only. Contains citation sources for the attributed segment.", + "items": { + "$ref": "CitationSource" + }, + "readOnly": true, + "type": "array" + }, + "startIndex": { + "description": "Output only. Indicates the start of the segment, measured in bytes (UTF-8 unicode), inclusive. If there are multi-byte characters, such as non-ASCII characters, the index measurement is longer than the string length.", + "format": "int32", + "readOnly": true, + "type": "integer" } }, "type": "object" @@ -286,6 +329,18 @@ }, "type": "object" }, + "AnswerReference": { + "description": "Represents a reference to a source.", + "id": "AnswerReference", + "properties": { + "documentReference": { + "$ref": "DocumentReference", + "description": "Output only. The reference document.", + "readOnly": true + } + }, + "type": "object" + }, "BatchGetDocumentsResponse": { "description": "Response message for DeveloperKnowledge.BatchGetDocuments.", "id": "BatchGetDocumentsResponse", @@ -300,6 +355,19 @@ }, "type": "object" }, + "CitationSource": { + "description": "Citation source.", + "id": "CitationSource", + "properties": { + "referenceIndex": { + "description": "Output only. Contains the index of the Answer.AnswerReference in the `references` repeated field.", + "format": "int32", + "readOnly": true, + "type": "integer" + } + }, + "type": "object" + }, "Document": { "description": "A Document represents a piece of content from the Developer Knowledge corpus.", "id": "Document", @@ -386,6 +454,18 @@ }, "type": "object" }, + "DocumentReference": { + "description": "Represents a reference to a document.", + "id": "DocumentReference", + "properties": { + "documentChunk": { + "$ref": "DocumentChunk", + "description": "Output only. Contains the document chunk. The `document_chunk.id` field is not set and will be empty.", + "readOnly": true + } + }, + "type": "object" + }, "SearchDocumentChunksResponse": { "description": "Response message for DeveloperKnowledge.SearchDocumentChunks.", "id": "SearchDocumentChunksResponse", diff --git a/discovery/dfareporting-v5.json b/discovery/dfareporting-v5.json index 1f9dcde39d8..a557af20eb1 100644 --- a/discovery/dfareporting-v5.json +++ b/discovery/dfareporting-v5.json @@ -10091,7 +10091,7 @@ } } }, - "revision": "20260511", + "revision": "20260527", "rootUrl": "https://dfareporting.googleapis.com/", "schemas": { "Account": { @@ -16494,27 +16494,18 @@ "CONVERSION_CATEGORY_SIGNUP", "CONVERSION_CATEGORY_PAGE_VIEW", "CONVERSION_CATEGORY_DOWNLOAD", - "CONVERSION_CATEGORY_BOOM_EVENT", "CONVERSION_CATEGORY_ADD_TO_CART", "CONVERSION_CATEGORY_BEGIN_CHECKOUT", "CONVERSION_CATEGORY_SUBSCRIBE_PAID", - "CONVERSION_CATEGORY_SUBSCRIBE_FREE", - "CONVERSION_CATEGORY_PHONE_CALL_LEAD", - "CONVERSION_CATEGORY_IMPORTED_LEAD", "CONVERSION_CATEGORY_SUBMIT_LEAD_FORM", "CONVERSION_CATEGORY_BOOK_APPOINTMENT", "CONVERSION_CATEGORY_REQUEST_QUOTE", "CONVERSION_CATEGORY_GET_DIRECTIONS", "CONVERSION_CATEGORY_OUTBOUND_CLICK", "CONVERSION_CATEGORY_CONTACT", - "CONVERSION_CATEGORY_VIEW_KEY_PAGE", - "CONVERSION_CATEGORY_ENGAGEMENT", - "CONVERSION_CATEGORY_STORE_VISIT", - "CONVERSION_CATEGORY_STORE_SALE", "CONVERSION_CATEGORY_QUALIFIED_LEAD", "CONVERSION_CATEGORY_CONVERTED_LEAD", - "CONVERSION_CATEGORY_IN_APP_AD_REVENUE", - "CONVERSION_CATEGORY_MESSAGE_LEAD" + "CONVERSION_CATEGORY_IN_APP_AD_REVENUE" ], "enumDescriptions": [ "Unspecified category (called \"Other\" externally).", @@ -16522,27 +16513,18 @@ "Signup user action.", "User visiting a page.", "Software download action (as for an app). A conversion type that is created as a download type may not have its category changed.", - "Boom event (for user list creation). This is an internal-only category.", ". The addition of items to a shopping cart or bag on an advertiser site.", "When someone enters the checkout flow on an advertiser site.", "The start of a paid subscription for a product or service.", - "The start of a free subscription for a product or service.", - "A call to indicate interesting in an advertiser's offering. Note: this is different from support calls.", - "A lead conversion imported from an external source into Google Ads.", "A submission of a form on an advertiser site indicating business interest.", "A booking of an appointment with an advertiser's business.", "A quote or price estimate request.", "A search for an advertiser's business location.", "A click to an advertiser's partner site, e.g. a referral.", "A call, SMS, email, chat or other type of contact to an advertiser.", - "Key page views (ex: product page, article).", - "A website engagement event", - "A visit to a physical store location.", - "A sale occurring in a physical store.", "A lead conversion imported from an external source into Google Ads, that has been further qualified by the advertiser.", "A lead conversion imported from an external source into Google Ads, that has further completed a desired stage as defined by the lead gen advertiser.", - "Conversion event that provides the revenue value of impressions that were shown in-app to users.", - "Message exchanges which indicate an interest in an advertiser's offering." + "Conversion event that provides the revenue value of impressions that were shown in-app to users." ], "type": "string" }, diff --git a/discovery/dlp-v2.json b/discovery/dlp-v2.json index 2897d94ed31..9f080418f43 100644 --- a/discovery/dlp-v2.json +++ b/discovery/dlp-v2.json @@ -5128,7 +5128,7 @@ } } }, - "revision": "20260516", + "revision": "20260528", "rootUrl": "https://dlp.googleapis.com/", "schemas": { "GooglePrivacyDlpV2Action": { @@ -5512,6 +5512,29 @@ }, "type": "object" }, + "GooglePrivacyDlpV2BatchContentItem": { + "description": "Represents a batch of content to inspect or redact.", + "id": "GooglePrivacyDlpV2BatchContentItem", + "properties": { + "stringValueBatch": { + "$ref": "GooglePrivacyDlpV2StringValueBatch", + "description": "Optional. Represents a batch of string values to inspect or redact." + } + }, + "type": "object" + }, + "GooglePrivacyDlpV2BatchContentLocation": { + "description": "Location within a batch of content.", + "id": "GooglePrivacyDlpV2BatchContentLocation", + "properties": { + "itemIndex": { + "description": "Matches an index of a batch item in the batch provided in the request.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "GooglePrivacyDlpV2BigQueryDiscoveryTarget": { "description": "Target used to match against for discovery with BigQuery tables", "id": "GooglePrivacyDlpV2BigQueryDiscoveryTarget", @@ -6523,6 +6546,10 @@ "description": "Type of content to inspect.", "id": "GooglePrivacyDlpV2ContentItem", "properties": { + "batchContentItem": { + "$ref": "GooglePrivacyDlpV2BatchContentItem", + "description": "Represents a batch of items to inspect." + }, "byteItem": { "$ref": "GooglePrivacyDlpV2ByteContentItem", "description": "Content data to inspect or redact. Replaces `type` and `data`." @@ -6550,6 +6577,10 @@ "description": "Precise location of the finding within a document, record, image, or metadata container.", "id": "GooglePrivacyDlpV2ContentLocation", "properties": { + "batchContentLocation": { + "$ref": "GooglePrivacyDlpV2BatchContentLocation", + "description": "Location within a batch of content." + }, "containerName": { "description": "Name of the container where the finding is located. The top level name is the source file name or table name. Names of some common storage containers are formatted as follows: * BigQuery tables: `{project_id}:{dataset_id}.{table_id}` * Cloud Storage files: `gs://{bucket}/{path}` * Datastore namespace: {namespace} Nested names could be absent if the embedded object has no string identifier (for example, an image contained within a document).", "type": "string" @@ -12348,6 +12379,20 @@ }, "type": "object" }, + "GooglePrivacyDlpV2StringValueBatch": { + "description": "Represents a batch of string values to inspect or redact.", + "id": "GooglePrivacyDlpV2StringValueBatch", + "properties": { + "values": { + "description": "Optional. Represents string data to inspect or redact.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "GooglePrivacyDlpV2SummaryResult": { "description": "A collection that informs the user the number of times a particular `TransformationResultCode` and error details occurred.", "id": "GooglePrivacyDlpV2SummaryResult", diff --git a/discovery/firestore-v1.json b/discovery/firestore-v1.json index cfdd743662d..f9765cc9ebe 100644 --- a/discovery/firestore-v1.json +++ b/discovery/firestore-v1.json @@ -2435,7 +2435,7 @@ } } }, - "revision": "20260507", + "revision": "20260529", "rootUrl": "https://firestore.googleapis.com/", "schemas": { "Aggregation": { @@ -4185,7 +4185,7 @@ }, "searchIndexOptions": { "$ref": "GoogleFirestoreAdminV1SearchIndexOptions", - "description": "Optional. Options for search indexes that are at the index definition level." + "description": "Optional. Options for search indexes that are at the index definition level. This field is only currently supported for indexes with MONGODB_COMPATIBLE_API ApiScope." }, "shardCount": { "description": "Optional. The number of shards for the index.", @@ -4632,7 +4632,7 @@ "id": "GoogleFirestoreAdminV1SearchGeoSpec", "properties": { "geoJsonIndexingDisabled": { - "description": "Optional. Disables geoJSON indexing for the field. By default, geoJSON points are indexed. Firestore GeoPoints are indexed regardless of this value.", + "description": "Optional. Disables geoJSON indexing for the field. By default, geoJSON points are indexed.", "type": "boolean" } }, @@ -4647,7 +4647,7 @@ "type": "string" }, "textLanguageOverrideFieldPath": { - "description": "Optional. The field in the document that specifies which language to use for that specific document. If unspecified, the language is taken from the \"language\" field if it exists or from `text_language` if it does not.", + "description": "Optional. The field in the document that specifies which language to use for that specific document. For indexes with MONGODB_COMPATIBLE_API ApiScope: if unspecified, the language is taken from the \"language\" field if it exists or from `text_language` if it does not.", "type": "string" } }, @@ -4665,7 +4665,7 @@ ], "enumDescriptions": [ "The index type is unspecified. Not a valid option.", - "Field values are tokenized." + "Field values are tokenized. This is the only way currently supported for MONGODB_COMPATIBLE_API." ], "type": "string" }, @@ -4677,7 +4677,7 @@ ], "enumDescriptions": [ "The match type is unspecified. Not a valid option.", - "Match on any indexed field." + "Match on any indexed field. This is the only way currently supported for MONGODB_COMPATIBLE_API." ], "type": "string" } diff --git a/discovery/gkehub-v1alpha.json b/discovery/gkehub-v1alpha.json index 6439b4cb04e..bc1927eeef0 100644 --- a/discovery/gkehub-v1alpha.json +++ b/discovery/gkehub-v1alpha.json @@ -2598,7 +2598,7 @@ } } }, - "revision": "20260511", + "revision": "20260525", "rootUrl": "https://gkehub.googleapis.com/", "schemas": { "AppDevExperienceFeatureSpec": { @@ -7224,13 +7224,23 @@ "STATE_REASON_TYPE_UNSPECIFIED", "PAUSED_BY_USER", "PAUSED_BY_SYSTEM_CONFIG", - "PAUSED_WAITING_FOR_NEXT_STAGE" + "PAUSED_WAITING_FOR_NEXT_STAGE", + "CANCELLED_BY_USER", + "CANCELLED_PAUSED_TOO_LONG", + "CANCELLED_SUPERSEDED", + "CANCELLED_INCOMPATIBLE_ROLLOUT_SEQUENCE", + "CANCELLED_SUPERSEDED_BY_USER_ROLLOUT" ], "enumDescriptions": [ "Unspecified state reason.", "Paused by the user.", - "Paused by the RSv2 Orchestrator due to system config(ex. GKE freeze).", - "Paused waiting for the next stage to start." + "Paused by system config (ex. GKE freeze).", + "Paused waiting for the next stage to start.", + "Cancelled by the user.", + "Cancelled by the system because it was paused too long.", + "Cancelled by the system because the version is too old.", + "Cancelled by the system because the rollout sequence is incompatible, for example it has different number of stages, fleet projects or label selectors than the rollout.", + "Cancelled because of a new user-triggered rollout." ], "readOnly": true, "type": "string" @@ -7421,13 +7431,22 @@ "FORCED_SOAKING", "PAUSED" ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + true, + false + ], "enumDescriptions": [ "Default value.", - "The stage is pending.", - "The stage is running.", - "The stage is soaking.", + "The stage is waiting for previous stages to complete.", + "The stage targets are being upgraded.", + "The stage is waiting for a predetermined time before next stage.", "The stage is completed.", - "The stage is force soaking.", + "Deprecated: use SOAKING instead.", "The stage is paused." ], "readOnly": true, diff --git a/discovery/gkehub-v1beta.json b/discovery/gkehub-v1beta.json index 8a9af474572..b5acfec9ce6 100644 --- a/discovery/gkehub-v1beta.json +++ b/discovery/gkehub-v1beta.json @@ -2454,7 +2454,7 @@ } } }, - "revision": "20260511", + "revision": "20260525", "rootUrl": "https://gkehub.googleapis.com/", "schemas": { "AppDevExperienceFeatureSpec": { @@ -6833,13 +6833,23 @@ "STATE_REASON_TYPE_UNSPECIFIED", "PAUSED_BY_USER", "PAUSED_BY_SYSTEM_CONFIG", - "PAUSED_WAITING_FOR_NEXT_STAGE" + "PAUSED_WAITING_FOR_NEXT_STAGE", + "CANCELLED_BY_USER", + "CANCELLED_PAUSED_TOO_LONG", + "CANCELLED_SUPERSEDED", + "CANCELLED_INCOMPATIBLE_ROLLOUT_SEQUENCE", + "CANCELLED_SUPERSEDED_BY_USER_ROLLOUT" ], "enumDescriptions": [ "Unspecified state reason.", "Paused by the user.", - "Paused by the RSv2 Orchestrator due to system config(ex. GKE freeze).", - "Paused waiting for the next stage to start." + "Paused by system config (ex. GKE freeze).", + "Paused waiting for the next stage to start.", + "Cancelled by the user.", + "Cancelled by the system because it was paused too long.", + "Cancelled by the system because the version is too old.", + "Cancelled by the system because the rollout sequence is incompatible, for example it has different number of stages, fleet projects or label selectors than the rollout.", + "Cancelled because of a new user-triggered rollout." ], "readOnly": true, "type": "string" @@ -7030,13 +7040,22 @@ "FORCED_SOAKING", "PAUSED" ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + true, + false + ], "enumDescriptions": [ "Default value.", - "The stage is pending.", - "The stage is running.", - "The stage is soaking.", + "The stage is waiting for previous stages to complete.", + "The stage targets are being upgraded.", + "The stage is waiting for a predetermined time before next stage.", "The stage is completed.", - "The stage is force soaking.", + "Deprecated: use SOAKING instead.", "The stage is paused." ], "readOnly": true, diff --git a/discovery/health-v4.json b/discovery/health-v4.json index 287fc013dd0..c218d4b2c42 100644 --- a/discovery/health-v4.json +++ b/discovery/health-v4.json @@ -8,6 +8,9 @@ "https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly": { "description": "See your Google Health activity and fitness data" }, + "https://www.googleapis.com/auth/googlehealth.ecg.readonly": { + "description": "See your Google Health ECG data" + }, "https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly": { "description": "See your Google Health health metrics and measurement data" }, @@ -335,7 +338,7 @@ ], "parameters": { "filter": { - "description": "Optional. A filter to apply to the list of subscriptions. The filter syntax is described in https://google.aip.dev/160. The filter can be applied to the following fields: - `user` - `data_type` The `user` identifier (e.g., `user1` in `users/user1`) refers to the public `healthUserId` Example: user = \"users/user1\" Example: user = \"users/user1\" OR user = \"users/user2\" Example: user = \"users/user1\" AND (data_type = \"sleep\" OR data_type = \"weight\")", + "description": "Optional. A filter to apply to the list of subscriptions. The filter syntax is described in https://google.aip.dev/160. The filter can be applied to the following fields: - `user` - `data_type` The `user` identifier (e.g., `user1` in `users/user1`) refers to the public `health_user_id` Example: user = \"users/user1\" Example: user = \"users/user1\" OR user = \"users/user2\" Example: user = \"users/user1\" AND (data_type = \"sleep\" OR data_type = \"weight\")", "location": "query", "type": "string" }, @@ -431,7 +434,9 @@ }, "scopes": [ "https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly", + "https://www.googleapis.com/auth/googlehealth.ecg.readonly", "https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly", + "https://www.googleapis.com/auth/googlehealth.irn.readonly", "https://www.googleapis.com/auth/googlehealth.profile.readonly", "https://www.googleapis.com/auth/googlehealth.settings.readonly", "https://www.googleapis.com/auth/googlehealth.sleep.readonly" @@ -943,7 +948,7 @@ } } }, - "revision": "20260525", + "revision": "20260527", "rootUrl": "https://health.googleapis.com/", "schemas": { "ActiveEnergyBurned": { @@ -2901,6 +2906,17 @@ }, "type": "object" }, + "GoogleDevicesandservicesHealthV4User": { + "description": "Represents a user in the Google Health API. It matches the parent resource of collections owned by the user. Clients currently do not need to interact with this resource directly.", + "id": "GoogleDevicesandservicesHealthV4User", + "properties": { + "name": { + "description": "Identifier. The resource name of the user. The `{user}` ID is a system-generated identifier, as described in Identity.health_user_id. Format: `users/{user}`", + "type": "string" + } + }, + "type": "object" + }, "GoogleDevicesandservicesHealthV4WebhookNotificationCloudLog": { "description": "Log message for a webhook notification sent by the Google Health API to a subscriber's endpoint. Includes the HTTP response received from the endpoint.", "id": "GoogleDevicesandservicesHealthV4WebhookNotificationCloudLog", @@ -5143,7 +5159,7 @@ "id": "Subscription", "properties": { "dataTypes": { - "description": "Optional. Data types subscribed to. A subscriber will only receive notifications for data types that are declared here. A subscription can only subscribe to the data types of the subscriber. Supported data types are: \"altitude\", \"distance\", \"floors\", \"sleep\", \"steps\", \"weight\".", + "description": "Optional. Data types subscribed to. A subscriber will only receive notifications for data types that are declared here. A subscription can only subscribe to the data types of the subscriber. The values should be in the format \"users/{health_user_id}/dataTypes/{data_type}\" where `{data_type}` is one of \"altitude\", \"distance\", \"floors\", \"sleep\", \"steps\", \"weight\".", "items": { "type": "string" }, diff --git a/discovery/index.json b/discovery/index.json index 61e8b6349de..f45522ec843 100644 --- a/discovery/index.json +++ b/discovery/index.json @@ -361,21 +361,6 @@ "title": "AlloyDB API", "version": "v1" }, - { - "description": "The Analytics API provides access to Analytics configuration and report data.", - "discoveryRestUrl": "https://analytics.googleapis.com/$discovery/rest?version=v3", - "documentationLink": "http://code.google.com/apis/analytics/docs/mgmt/home.html", - "icons": { - "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", - "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" - }, - "id": "analytics:v3", - "kind": "discovery#directoryItem", - "name": "analytics", - "preferred": true, - "title": "Google Analytics API", - "version": "v3" - }, { "description": "Manage properties in Google Analytics. Warning: Creating multiple Customer Applications, Accounts, or Projects to simulate or act as a single Customer Application, Account, or Project (respectively) or to circumvent Service-specific usage limits or quotas is a direct violation of Google Cloud Platform Terms of Service as well as Google APIs Terms of Service. These actions can result in immediate termination of your GCP project(s) without any warning.", "discoveryRestUrl": "https://analyticsadmin.googleapis.com/$discovery/rest?version=v1alpha", diff --git a/discovery/logging-v2.json b/discovery/logging-v2.json index e7ff7bc1fbc..3d7052d8e94 100644 --- a/discovery/logging-v2.json +++ b/discovery/logging-v2.json @@ -9167,7 +9167,7 @@ } } }, - "revision": "20260501", + "revision": "20260522", "rootUrl": "https://logging.googleapis.com/", "schemas": { "AppHub": { @@ -11429,6 +11429,10 @@ "truncationGranularity": { "description": "The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively.", "type": "string" + }, + "virtualField": { + "$ref": "VirtualField", + "description": "Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set." } }, "type": "object" @@ -11990,6 +11994,32 @@ }, "type": "object" }, + "VirtualField": { + "description": "A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema.", + "id": "VirtualField", + "properties": { + "underlyingFieldSources": { + "description": "The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type.", + "items": { + "$ref": "FieldSource" + }, + "type": "array" + }, + "virtualFieldType": { + "description": "Required. The type of the virtual field.", + "enum": [ + "VIRTUAL_FIELD_TYPE_UNSPECIFIED", + "COALESCE" + ], + "enumDescriptions": [ + "Invalid value, do not use.", + "Creates a virtual field by selecting the first non-null value from the list of fields specified in underlying_field_sources, similar to a COALESCE function in SQL." + ], + "type": "string" + } + }, + "type": "object" + }, "WriteLogEntriesRequest": { "description": "The parameters to WriteLogEntries.", "id": "WriteLogEntriesRequest", diff --git a/discovery/merchantapi-accounts_v1.json b/discovery/merchantapi-accounts_v1.json index d64d51c0f25..3fec86e13a5 100644 --- a/discovery/merchantapi-accounts_v1.json +++ b/discovery/merchantapi-accounts_v1.json @@ -2438,7 +2438,7 @@ } } }, - "revision": "20260512", + "revision": "20260527", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "About": { @@ -4889,11 +4889,13 @@ "description": "The resource that changed, in this case it will always be `Product`.", "enum": [ "RESOURCE_UNSPECIFIED", - "PRODUCT" + "PRODUCT", + "ACCOUNT_SERVICE" ], "enumDescriptions": [ "Unspecified resource", - "Resource type : product" + "Resource type : product", + "Account service" ], "type": "string" } diff --git a/discovery/merchantapi-accounts_v1beta.json b/discovery/merchantapi-accounts_v1beta.json index fb68ca2e6fd..711ac8b1563 100644 --- a/discovery/merchantapi-accounts_v1beta.json +++ b/discovery/merchantapi-accounts_v1beta.json @@ -2388,7 +2388,7 @@ } } }, - "revision": "20260512", + "revision": "20260527", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "About": { @@ -4766,11 +4766,13 @@ "description": "The resource that changed, in this case it will always be `Product`.", "enum": [ "RESOURCE_UNSPECIFIED", - "PRODUCT" + "PRODUCT", + "ACCOUNT_SERVICE" ], "enumDescriptions": [ "Unspecified resource", - "Resource type : product" + "Resource type : product", + "Account service" ], "type": "string" } diff --git a/discovery/merchantapi-conversions_v1.json b/discovery/merchantapi-conversions_v1.json index a0b9fd843d8..f791ed62461 100644 --- a/discovery/merchantapi-conversions_v1.json +++ b/discovery/merchantapi-conversions_v1.json @@ -295,7 +295,7 @@ } } }, - "revision": "20260223", + "revision": "20260527", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "AttributionSettings": { @@ -628,11 +628,13 @@ "description": "The resource that changed, in this case it will always be `Product`.", "enum": [ "RESOURCE_UNSPECIFIED", - "PRODUCT" + "PRODUCT", + "ACCOUNT_SERVICE" ], "enumDescriptions": [ "Unspecified resource", - "Resource type : product" + "Resource type : product", + "Account service" ], "type": "string" } diff --git a/discovery/merchantapi-conversions_v1beta.json b/discovery/merchantapi-conversions_v1beta.json index 88796e73c5a..366b00fa05a 100644 --- a/discovery/merchantapi-conversions_v1beta.json +++ b/discovery/merchantapi-conversions_v1beta.json @@ -295,7 +295,7 @@ } } }, - "revision": "20260223", + "revision": "20260527", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "AttributionSettings": { @@ -628,11 +628,13 @@ "description": "The resource that changed, in this case it will always be `Product`.", "enum": [ "RESOURCE_UNSPECIFIED", - "PRODUCT" + "PRODUCT", + "ACCOUNT_SERVICE" ], "enumDescriptions": [ "Unspecified resource", - "Resource type : product" + "Resource type : product", + "Account service" ], "type": "string" } diff --git a/discovery/merchantapi-datasources_v1.json b/discovery/merchantapi-datasources_v1.json index e41d8a1baf2..fde44492507 100644 --- a/discovery/merchantapi-datasources_v1.json +++ b/discovery/merchantapi-datasources_v1.json @@ -321,7 +321,7 @@ } } }, - "revision": "20260303", + "revision": "20260527", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "DataSource": { @@ -942,11 +942,13 @@ "description": "The resource that changed, in this case it will always be `Product`.", "enum": [ "RESOURCE_UNSPECIFIED", - "PRODUCT" + "PRODUCT", + "ACCOUNT_SERVICE" ], "enumDescriptions": [ "Unspecified resource", - "Resource type : product" + "Resource type : product", + "Account service" ], "type": "string" } diff --git a/discovery/merchantapi-datasources_v1beta.json b/discovery/merchantapi-datasources_v1beta.json index c7cc7a7c445..d5bd1267824 100644 --- a/discovery/merchantapi-datasources_v1beta.json +++ b/discovery/merchantapi-datasources_v1beta.json @@ -321,7 +321,7 @@ } } }, - "revision": "20260303", + "revision": "20260527", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "DataSource": { @@ -954,11 +954,13 @@ "description": "The resource that changed, in this case it will always be `Product`.", "enum": [ "RESOURCE_UNSPECIFIED", - "PRODUCT" + "PRODUCT", + "ACCOUNT_SERVICE" ], "enumDescriptions": [ "Unspecified resource", - "Resource type : product" + "Resource type : product", + "Account service" ], "type": "string" } diff --git a/discovery/merchantapi-inventories_v1.json b/discovery/merchantapi-inventories_v1.json index 9e76f5e6728..170bf5d0609 100644 --- a/discovery/merchantapi-inventories_v1.json +++ b/discovery/merchantapi-inventories_v1.json @@ -300,7 +300,7 @@ } } }, - "revision": "20260408", + "revision": "20260527", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "Empty": { @@ -686,11 +686,13 @@ "description": "The resource that changed, in this case it will always be `Product`.", "enum": [ "RESOURCE_UNSPECIFIED", - "PRODUCT" + "PRODUCT", + "ACCOUNT_SERVICE" ], "enumDescriptions": [ "Unspecified resource", - "Resource type : product" + "Resource type : product", + "Account service" ], "type": "string" } diff --git a/discovery/merchantapi-inventories_v1beta.json b/discovery/merchantapi-inventories_v1beta.json index 6b1c1fc5d63..a3011ff3eb1 100644 --- a/discovery/merchantapi-inventories_v1beta.json +++ b/discovery/merchantapi-inventories_v1beta.json @@ -300,7 +300,7 @@ } } }, - "revision": "20260411", + "revision": "20260527", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "CustomAttribute": { @@ -610,11 +610,13 @@ "description": "The resource that changed, in this case it will always be `Product`.", "enum": [ "RESOURCE_UNSPECIFIED", - "PRODUCT" + "PRODUCT", + "ACCOUNT_SERVICE" ], "enumDescriptions": [ "Unspecified resource", - "Resource type : product" + "Resource type : product", + "Account service" ], "type": "string" } diff --git a/discovery/merchantapi-issueresolution_v1.json b/discovery/merchantapi-issueresolution_v1.json index 63f80c20ea0..51fadeb658c 100644 --- a/discovery/merchantapi-issueresolution_v1.json +++ b/discovery/merchantapi-issueresolution_v1.json @@ -268,7 +268,7 @@ } } }, - "revision": "20260429", + "revision": "20260527", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "Action": { @@ -986,11 +986,13 @@ "description": "The resource that changed, in this case it will always be `Product`.", "enum": [ "RESOURCE_UNSPECIFIED", - "PRODUCT" + "PRODUCT", + "ACCOUNT_SERVICE" ], "enumDescriptions": [ "Unspecified resource", - "Resource type : product" + "Resource type : product", + "Account service" ], "type": "string" } diff --git a/discovery/merchantapi-issueresolution_v1beta.json b/discovery/merchantapi-issueresolution_v1beta.json index aa4989cb50a..0b684e4a998 100644 --- a/discovery/merchantapi-issueresolution_v1beta.json +++ b/discovery/merchantapi-issueresolution_v1beta.json @@ -268,7 +268,7 @@ } } }, - "revision": "20260429", + "revision": "20260527", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "Action": { @@ -986,11 +986,13 @@ "description": "The resource that changed, in this case it will always be `Product`.", "enum": [ "RESOURCE_UNSPECIFIED", - "PRODUCT" + "PRODUCT", + "ACCOUNT_SERVICE" ], "enumDescriptions": [ "Unspecified resource", - "Resource type : product" + "Resource type : product", + "Account service" ], "type": "string" } diff --git a/discovery/merchantapi-lfp_v1.json b/discovery/merchantapi-lfp_v1.json index 683d0b0ce3d..6132bf8519c 100644 --- a/discovery/merchantapi-lfp_v1.json +++ b/discovery/merchantapi-lfp_v1.json @@ -327,7 +327,7 @@ } } }, - "revision": "20260223", + "revision": "20260527", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "CountrySettings": { @@ -886,11 +886,13 @@ "description": "The resource that changed, in this case it will always be `Product`.", "enum": [ "RESOURCE_UNSPECIFIED", - "PRODUCT" + "PRODUCT", + "ACCOUNT_SERVICE" ], "enumDescriptions": [ "Unspecified resource", - "Resource type : product" + "Resource type : product", + "Account service" ], "type": "string" } diff --git a/discovery/merchantapi-lfp_v1beta.json b/discovery/merchantapi-lfp_v1beta.json index a54a0b53416..e24d39f3955 100644 --- a/discovery/merchantapi-lfp_v1beta.json +++ b/discovery/merchantapi-lfp_v1beta.json @@ -327,7 +327,7 @@ } } }, - "revision": "20260223", + "revision": "20260527", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "CountrySettings": { @@ -886,11 +886,13 @@ "description": "The resource that changed, in this case it will always be `Product`.", "enum": [ "RESOURCE_UNSPECIFIED", - "PRODUCT" + "PRODUCT", + "ACCOUNT_SERVICE" ], "enumDescriptions": [ "Unspecified resource", - "Resource type : product" + "Resource type : product", + "Account service" ], "type": "string" } diff --git a/discovery/merchantapi-notifications_v1.json b/discovery/merchantapi-notifications_v1.json index b261037d232..58f8ac70953 100644 --- a/discovery/merchantapi-notifications_v1.json +++ b/discovery/merchantapi-notifications_v1.json @@ -262,7 +262,7 @@ } } }, - "revision": "20260223", + "revision": "20260527", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "Empty": { @@ -467,11 +467,13 @@ "description": "The resource that changed, in this case it will always be `Product`.", "enum": [ "RESOURCE_UNSPECIFIED", - "PRODUCT" + "PRODUCT", + "ACCOUNT_SERVICE" ], "enumDescriptions": [ "Unspecified resource", - "Resource type : product" + "Resource type : product", + "Account service" ], "type": "string" } diff --git a/discovery/merchantapi-notifications_v1beta.json b/discovery/merchantapi-notifications_v1beta.json index 3ba6c77bb13..39efbf68963 100644 --- a/discovery/merchantapi-notifications_v1beta.json +++ b/discovery/merchantapi-notifications_v1beta.json @@ -262,7 +262,7 @@ } } }, - "revision": "20260223", + "revision": "20260527", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "Empty": { @@ -467,11 +467,13 @@ "description": "The resource that changed, in this case it will always be `Product`.", "enum": [ "RESOURCE_UNSPECIFIED", - "PRODUCT" + "PRODUCT", + "ACCOUNT_SERVICE" ], "enumDescriptions": [ "Unspecified resource", - "Resource type : product" + "Resource type : product", + "Account service" ], "type": "string" } diff --git a/discovery/merchantapi-ordertracking_v1.json b/discovery/merchantapi-ordertracking_v1.json index dc92d733b1e..8a68edc4759 100644 --- a/discovery/merchantapi-ordertracking_v1.json +++ b/discovery/merchantapi-ordertracking_v1.json @@ -147,7 +147,7 @@ } } }, - "revision": "20260221", + "revision": "20260527", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "DateTime": { @@ -457,11 +457,13 @@ "description": "The resource that changed, in this case it will always be `Product`.", "enum": [ "RESOURCE_UNSPECIFIED", - "PRODUCT" + "PRODUCT", + "ACCOUNT_SERVICE" ], "enumDescriptions": [ "Unspecified resource", - "Resource type : product" + "Resource type : product", + "Account service" ], "type": "string" } diff --git a/discovery/merchantapi-ordertracking_v1beta.json b/discovery/merchantapi-ordertracking_v1beta.json index dfaa2109c5b..0d87cdea678 100644 --- a/discovery/merchantapi-ordertracking_v1beta.json +++ b/discovery/merchantapi-ordertracking_v1beta.json @@ -147,7 +147,7 @@ } } }, - "revision": "20260223", + "revision": "20260527", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "DateTime": { @@ -462,11 +462,13 @@ "description": "The resource that changed, in this case it will always be `Product`.", "enum": [ "RESOURCE_UNSPECIFIED", - "PRODUCT" + "PRODUCT", + "ACCOUNT_SERVICE" ], "enumDescriptions": [ "Unspecified resource", - "Resource type : product" + "Resource type : product", + "Account service" ], "type": "string" } diff --git a/discovery/merchantapi-products_v1.json b/discovery/merchantapi-products_v1.json index f1541f43d5b..9c929c01ee3 100644 --- a/discovery/merchantapi-products_v1.json +++ b/discovery/merchantapi-products_v1.json @@ -281,7 +281,7 @@ } } }, - "revision": "20260520", + "revision": "20260602", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "AutomatedDiscounts": { @@ -2005,7 +2005,7 @@ "type": "array" }, "questionsAndAnswers": { - "description": "Optional. Contains user-, merchant-, and manufacturer-authored [questions and answers](https://support.google.com/merchants/answer/17085211) about the product. Max 30 question and answer pairs. Max 5000 characters total. Each question can have max 1000 characters. Each answer can have max 1000 characters.", + "description": "Optional. Contains user-, merchant-, and manufacturer-authored [questions and answers](https://support.google.com/merchants/answer/17085211) about the product. Max 30 question and answer pairs. Max 10000 characters total. Each question can have max 1000 characters. Each answer can have max 1000 characters.", "items": { "$ref": "QuestionAndAnswer" }, @@ -2657,11 +2657,13 @@ "description": "The resource that changed, in this case it will always be `Product`.", "enum": [ "RESOURCE_UNSPECIFIED", - "PRODUCT" + "PRODUCT", + "ACCOUNT_SERVICE" ], "enumDescriptions": [ "Unspecified resource", - "Resource type : product" + "Resource type : product", + "Account service" ], "type": "string" } diff --git a/discovery/merchantapi-products_v1beta.json b/discovery/merchantapi-products_v1beta.json index dd367a027cb..60023be880e 100644 --- a/discovery/merchantapi-products_v1beta.json +++ b/discovery/merchantapi-products_v1beta.json @@ -281,7 +281,7 @@ } } }, - "revision": "20260512", + "revision": "20260527", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "Attributes": { @@ -1602,11 +1602,13 @@ "description": "The resource that changed, in this case it will always be `Product`.", "enum": [ "RESOURCE_UNSPECIFIED", - "PRODUCT" + "PRODUCT", + "ACCOUNT_SERVICE" ], "enumDescriptions": [ "Unspecified resource", - "Resource type : product" + "Resource type : product", + "Account service" ], "type": "string" } diff --git a/discovery/merchantapi-promotions_v1.json b/discovery/merchantapi-promotions_v1.json index ed7aaec0ca3..d741b59ff74 100644 --- a/discovery/merchantapi-promotions_v1.json +++ b/discovery/merchantapi-promotions_v1.json @@ -203,7 +203,7 @@ } } }, - "revision": "20260228", + "revision": "20260527", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "Attributes": { @@ -1015,11 +1015,13 @@ "description": "The resource that changed, in this case it will always be `Product`.", "enum": [ "RESOURCE_UNSPECIFIED", - "PRODUCT" + "PRODUCT", + "ACCOUNT_SERVICE" ], "enumDescriptions": [ "Unspecified resource", - "Resource type : product" + "Resource type : product", + "Account service" ], "type": "string" } diff --git a/discovery/merchantapi-promotions_v1beta.json b/discovery/merchantapi-promotions_v1beta.json index 603ab9852c1..0fb1635739c 100644 --- a/discovery/merchantapi-promotions_v1beta.json +++ b/discovery/merchantapi-promotions_v1beta.json @@ -203,7 +203,7 @@ } } }, - "revision": "20260228", + "revision": "20260527", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "Attributes": { @@ -1015,11 +1015,13 @@ "description": "The resource that changed, in this case it will always be `Product`.", "enum": [ "RESOURCE_UNSPECIFIED", - "PRODUCT" + "PRODUCT", + "ACCOUNT_SERVICE" ], "enumDescriptions": [ "Unspecified resource", - "Resource type : product" + "Resource type : product", + "Account service" ], "type": "string" } diff --git a/discovery/merchantapi-quota_v1.json b/discovery/merchantapi-quota_v1.json index 3cc420e09b9..1460f602b6c 100644 --- a/discovery/merchantapi-quota_v1.json +++ b/discovery/merchantapi-quota_v1.json @@ -220,7 +220,7 @@ } } }, - "revision": "20260223", + "revision": "20260527", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "AccountLimit": { @@ -469,11 +469,13 @@ "description": "The resource that changed, in this case it will always be `Product`.", "enum": [ "RESOURCE_UNSPECIFIED", - "PRODUCT" + "PRODUCT", + "ACCOUNT_SERVICE" ], "enumDescriptions": [ "Unspecified resource", - "Resource type : product" + "Resource type : product", + "Account service" ], "type": "string" } diff --git a/discovery/merchantapi-quota_v1beta.json b/discovery/merchantapi-quota_v1beta.json index 18fdd46f36d..aa25b21cf3b 100644 --- a/discovery/merchantapi-quota_v1beta.json +++ b/discovery/merchantapi-quota_v1beta.json @@ -150,7 +150,7 @@ } } }, - "revision": "20260223", + "revision": "20260527", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "ListQuotaGroupsResponse": { @@ -340,11 +340,13 @@ "description": "The resource that changed, in this case it will always be `Product`.", "enum": [ "RESOURCE_UNSPECIFIED", - "PRODUCT" + "PRODUCT", + "ACCOUNT_SERVICE" ], "enumDescriptions": [ "Unspecified resource", - "Resource type : product" + "Resource type : product", + "Account service" ], "type": "string" } diff --git a/discovery/merchantapi-reports_v1.json b/discovery/merchantapi-reports_v1.json index 90955e067a3..0f3ff9f2cb8 100644 --- a/discovery/merchantapi-reports_v1.json +++ b/discovery/merchantapi-reports_v1.json @@ -142,7 +142,7 @@ } } }, - "revision": "20260411", + "revision": "20260527", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "BestSellersBrandView": { @@ -1295,11 +1295,13 @@ "description": "The resource that changed, in this case it will always be `Product`.", "enum": [ "RESOURCE_UNSPECIFIED", - "PRODUCT" + "PRODUCT", + "ACCOUNT_SERVICE" ], "enumDescriptions": [ "Unspecified resource", - "Resource type : product" + "Resource type : product", + "Account service" ], "type": "string" } diff --git a/discovery/merchantapi-reports_v1beta.json b/discovery/merchantapi-reports_v1beta.json index 78b4670d199..3fb0125282b 100644 --- a/discovery/merchantapi-reports_v1beta.json +++ b/discovery/merchantapi-reports_v1beta.json @@ -142,7 +142,7 @@ } } }, - "revision": "20260411", + "revision": "20260527", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "BestSellersBrandView": { @@ -1295,11 +1295,13 @@ "description": "The resource that changed, in this case it will always be `Product`.", "enum": [ "RESOURCE_UNSPECIFIED", - "PRODUCT" + "PRODUCT", + "ACCOUNT_SERVICE" ], "enumDescriptions": [ "Unspecified resource", - "Resource type : product" + "Resource type : product", + "Account service" ], "type": "string" } diff --git a/discovery/merchantapi-reviews_v1beta.json b/discovery/merchantapi-reviews_v1beta.json index 8d65ce96039..f377a4c96fb 100644 --- a/discovery/merchantapi-reviews_v1beta.json +++ b/discovery/merchantapi-reviews_v1beta.json @@ -356,7 +356,7 @@ } } }, - "revision": "20260223", + "revision": "20260527", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "CustomAttribute": { @@ -1371,11 +1371,13 @@ "description": "The resource that changed, in this case it will always be `Product`.", "enum": [ "RESOURCE_UNSPECIFIED", - "PRODUCT" + "PRODUCT", + "ACCOUNT_SERVICE" ], "enumDescriptions": [ "Unspecified resource", - "Resource type : product" + "Resource type : product", + "Account service" ], "type": "string" } diff --git a/discovery/mybusinessverifications-v1.json b/discovery/mybusinessverifications-v1.json index b2db14e20f2..9325833234d 100644 --- a/discovery/mybusinessverifications-v1.json +++ b/discovery/mybusinessverifications-v1.json @@ -256,7 +256,7 @@ } } }, - "revision": "20260524", + "revision": "20260527", "rootUrl": "https://mybusinessverifications.googleapis.com/", "schemas": { "AddressVerificationData": { @@ -374,11 +374,6 @@ "description": "Request message for Verifications.GenerateInstantVerificationToken.", "id": "GenerateInstantVerificationTokenRequest", "properties": { - "locationData": { - "$ref": "LocationData", - "deprecated": true, - "description": "Immutable. Deprecated: Please use location_id instead. The address and other details of the location to generate an instant verification token for." - }, "locationId": { "description": "The location identifier associated with an unverified listing. This is the location id generated at the time that the listing was originally created. It is the final portion of a location resource name as generated by the Google My Business API. Note: the caller must be an owner or manager of this listing in order to generate a verification token. See the [location resource](/my-business/reference/rest/v4/accounts.locations) documentation for more information.", "type": "string" @@ -430,21 +425,6 @@ }, "type": "object" }, - "LocationData": { - "description": "The address and other details of the location to generate an instant verification token for.", - "id": "LocationData", - "properties": { - "address": { - "$ref": "PostalAddress", - "description": "Immutable. A precise, accurate address to describe your business location. PO boxes or mailboxes located at remote locations are not acceptable. At this time, you can specify a maximum of five `address_lines` values in the address." - }, - "name": { - "description": "Immutable. Name should reflect your business's real-world name, as used consistently on your storefront, website, and stationery, and as known to customers. Any additional information, when relevant, can be included in other fields of the resource (for example, `Address`, `Categories`). Don't add unnecessary information to your name (for example, prefer \"Google\" over \"Google Inc. - Mountain View Corporate Headquarters\"). Don't include marketing taglines, store codes, special characters, hours or closed/open status, phone numbers, website URLs, service/product information, location/address or directions, or containment information (for example, \"Chase ATM in Duane Reade\").", - "type": "string" - } - }, - "type": "object" - }, "PostalAddress": { "description": "Represents a postal address, such as for postal delivery or payments addresses. With a postal address, a postal service can deliver items to a premise, P.O. box, or similar. A postal address is not intended to model geographical locations like roads, towns, or 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 or 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", diff --git a/discovery/networkmanagement-v1.json b/discovery/networkmanagement-v1.json index 26bc0a904fb..13affd812ed 100644 --- a/discovery/networkmanagement-v1.json +++ b/discovery/networkmanagement-v1.json @@ -1795,7 +1795,7 @@ } } }, - "revision": "20260520", + "revision": "20260527", "rootUrl": "https://networkmanagement.googleapis.com/", "schemas": { "AbortInfo": { @@ -2821,6 +2821,10 @@ "$ref": "CloudFunctionEndpoint", "description": "A [Cloud Function](https://cloud.google.com/functions). Applicable only to source endpoint." }, + "cloudRunJob": { + "description": "A [Cloud Run](https://cloud.google.com/run) [job](https://docs.cloud.google.com/run/docs/reference/rest/v2/projects.locations.jobs#Job) URI. Applicable only to source endpoint. The format is: projects/{project}/locations/{location}/jobs/{job}", + "type": "string" + }, "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) Applicable only to source endpoint." diff --git a/discovery/networksecurity-v1.json b/discovery/networksecurity-v1.json index 23ef990e7fa..3042cb5bfb5 100644 --- a/discovery/networksecurity-v1.json +++ b/discovery/networksecurity-v1.json @@ -6131,7 +6131,7 @@ } } }, - "revision": "20260518", + "revision": "20260524", "rootUrl": "https://networksecurity.googleapis.com/", "schemas": { "AddAddressGroupItemsRequest": { @@ -8428,7 +8428,7 @@ "type": "string" }, "unreachable": { - "description": "Locations that could not be reached.", + "description": "Unordered list. Locations that could not be reached. See https://google.aip.dev/217 for more details.", "items": { "type": "string" }, diff --git a/discovery/networksecurity-v1beta1.json b/discovery/networksecurity-v1beta1.json index cb6b2f9dc37..323fc2da20b 100644 --- a/discovery/networksecurity-v1beta1.json +++ b/discovery/networksecurity-v1beta1.json @@ -688,6 +688,106 @@ "https://www.googleapis.com/auth/cloud-platform" ] } + }, + "resources": { + "wildfireVerdictChangeRequests": { + "methods": { + "create": { + "description": "Create WildfireVerdictChangeRequest in a given Firewall Endpoint in an organization and location.", + "flatPath": "v1beta1/organizations/{organizationsId}/locations/{locationsId}/firewallEndpoints/{firewallEndpointsId}/wildfireVerdictChangeRequests", + "httpMethod": "POST", + "id": "networksecurity.organizations.locations.firewallEndpoints.wildfireVerdictChangeRequests.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Parent value for CreateWildfireVerdictChangeRequestRequest. The parent is a firewall endpoint resource. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}", + "location": "path", + "pattern": "^organizations/[^/]+/locations/[^/]+/firewallEndpoints/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/wildfireVerdictChangeRequests", + "request": { + "$ref": "WildfireVerdictChangeRequest" + }, + "response": { + "$ref": "WildfireVerdictChangeRequest" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Get WildfireVerdictChangeRequest in a given Firewall Endpoint in an organization and location.", + "flatPath": "v1beta1/organizations/{organizationsId}/locations/{locationsId}/firewallEndpoints/{firewallEndpointsId}/wildfireVerdictChangeRequests/{wildfireVerdictChangeRequestsId}", + "httpMethod": "GET", + "id": "networksecurity.organizations.locations.firewallEndpoints.wildfireVerdictChangeRequests.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the WildfireVerdictChangeRequest to retrieve. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id} Where {wildfire_verdict_change_request_id} is the ID in the format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", + "location": "path", + "pattern": "^organizations/[^/]+/locations/[^/]+/firewallEndpoints/[^/]+/wildfireVerdictChangeRequests/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "WildfireVerdictChangeRequest" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists WildfireVerdictChangeRequests in a given Firewall Endpoint in an organization and location.", + "flatPath": "v1beta1/organizations/{organizationsId}/locations/{locationsId}/firewallEndpoints/{firewallEndpointsId}/wildfireVerdictChangeRequests", + "httpMethod": "GET", + "id": "networksecurity.organizations.locations.firewallEndpoints.wildfireVerdictChangeRequests.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter expression to filter the results. See AIP-160 for filtering syntax. Supported fields are: - `sha256` (string, equality only, e.g. `sha256 = \"...\"`) - `state` (enum, equality only, e.g. `state = \"ACTIVE\"`) - `create_time` (timestamp, comparisons, e.g. `create_time > \"2026-01-01T00:00:00Z\"`)", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, 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. Parent value for ListWildfireVerdictChangeRequestsRequest. The parent is a firewall endpoint resource. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}", + "location": "path", + "pattern": "^organizations/[^/]+/locations/[^/]+/firewallEndpoints/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/wildfireVerdictChangeRequests", + "response": { + "$ref": "ListWildfireVerdictChangeRequestsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } } }, "operations": { @@ -3046,6 +3146,106 @@ "https://www.googleapis.com/auth/cloud-platform" ] } + }, + "resources": { + "wildfireVerdictChangeRequests": { + "methods": { + "create": { + "description": "Create WildfireVerdictChangeRequest in a given Firewall Endpoint in a project and location.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/firewallEndpoints/{firewallEndpointsId}/wildfireVerdictChangeRequests", + "httpMethod": "POST", + "id": "networksecurity.projects.locations.firewallEndpoints.wildfireVerdictChangeRequests.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Parent value for CreateWildfireVerdictChangeRequestRequest. The parent is a firewall endpoint resource. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/firewallEndpoints/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/wildfireVerdictChangeRequests", + "request": { + "$ref": "WildfireVerdictChangeRequest" + }, + "response": { + "$ref": "WildfireVerdictChangeRequest" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Get WildfireVerdictChangeRequest in a given Firewall Endpoint in a project and location.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/firewallEndpoints/{firewallEndpointsId}/wildfireVerdictChangeRequests/{wildfireVerdictChangeRequestsId}", + "httpMethod": "GET", + "id": "networksecurity.projects.locations.firewallEndpoints.wildfireVerdictChangeRequests.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the WildfireVerdictChangeRequest to retrieve. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id} Where {wildfire_verdict_change_request_id} is the ID in the format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/firewallEndpoints/[^/]+/wildfireVerdictChangeRequests/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "WildfireVerdictChangeRequest" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists WildfireVerdictChangeRequests in a given Firewall Endpoint in a project and location.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/firewallEndpoints/{firewallEndpointsId}/wildfireVerdictChangeRequests", + "httpMethod": "GET", + "id": "networksecurity.projects.locations.firewallEndpoints.wildfireVerdictChangeRequests.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filter expression to filter the results. See AIP-160 for filtering syntax. Supported fields are: - `sha256` (string, equality only, e.g. `sha256 = \"...\"`) - `state` (enum, equality only, e.g. `state = \"ACTIVE\"`) - `create_time` (timestamp, comparisons, e.g. `create_time > \"2026-01-01T00:00:00Z\"`)", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, 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. Parent value for ListWildfireVerdictChangeRequestsRequest. The parent is a firewall endpoint resource. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/firewallEndpoints/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/wildfireVerdictChangeRequests", + "response": { + "$ref": "ListWildfireVerdictChangeRequestsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } } }, "gatewaySecurityPolicies": { @@ -6131,7 +6331,7 @@ } } }, - "revision": "20260518", + "revision": "20260524", "rootUrl": "https://networksecurity.googleapis.com/", "schemas": { "AddAddressGroupItemsRequest": { @@ -7160,6 +7360,10 @@ "format": "google-datetime", "readOnly": true, "type": "string" + }, + "wildfireSettings": { + "$ref": "FirewallEndpointWildfireSettings", + "description": "Optional. Settings for WildFire analysis." } }, "type": "object" @@ -7257,6 +7461,54 @@ "description": "Settings for the endpoint.", "id": "FirewallEndpointEndpointSettings", "properties": { + "contentCloudRegion": { + "description": "Optional. The content cloud region of the endpoint.", + "enum": [ + "CONTENT_CLOUD_REGION_UNSPECIFIED", + "US_CENTRAL", + "APAC", + "INDIA", + "UK", + "FRANCE", + "JAPAN", + "AUSTRALIA", + "CANADA", + "SWITZERLAND", + "NETHERLANDS", + "INDONESIA", + "QATAR", + "TAIWAN", + "POLAND", + "SOUTH_KOREA", + "SAUDI_ARABIA", + "ITALY" + ], + "enumDescriptions": [ + "PAN content cloud region not specified.", + "us.hawkeye.services-edge.paloaltonetworks.com", + "APAC content cloud portal: apac.hawkeye.services-edge.paloaltonetworks.com", + "India content cloud portal: in.hawkeye.services-edge.paloaltonetworks.com", + "UK content cloud portal: uk.hawkeye.services-edge.paloaltonetworks.com", + "France content cloud portal: fr.hawkeye.services-edge.paloaltonetworks.com", + "Japan content cloud portal: jp.hawkeye.services-edge.paloaltonetworks.com", + "Australia content cloud portal: au.hawkeye.services-edge.paloaltonetworks.com", + "Canada content cloud portal: ca.hawkeye.services-edge.paloaltonetworks.com", + "Switzerland content cloud portal: ch.hawkeye.services-edge.paloaltonetworks.com", + "Netherlands content cloud portal: nl.hawkeye.services-edge.paloaltonetworks.com", + "Indonesia content cloud portal: id.hawkeye.services-edge.paloaltonetworks.com", + "Qatar content cloud portal: qa.hawkeye.services-edge.paloaltonetworks.com", + "Taiwan content cloud portal: tw.hawkeye.services-edge.paloaltonetworks.com", + "Poland content cloud portal: pl.hawkeye.services-edge.paloaltonetworks.com", + "South Korea content cloud portal: kr.hawkeye.services-edge.paloaltonetworks.com", + "Saudi Arabia content cloud portal: sa.hawkeye.services-edge.paloaltonetworks.com", + "Italy content cloud portal: it.hawkeye.services-edge.paloaltonetworks.com" + ], + "type": "string" + }, + "httpPartialResponseBlocked": { + "description": "Optional. Whether to block HTTP partial responses for the endpoint. When this is true, resumption of blocked malicious HTTP file downloads will be blocked by the firewall. False provides maximum availability, true provides maximum security.", + "type": "boolean" + }, "jumboFramesEnabled": { "description": "Optional. Immutable. Indicates whether Jumbo Frames are enabled. Default value is false.", "type": "boolean" @@ -7264,6 +7516,116 @@ }, "type": "object" }, + "FirewallEndpointWildfireSettings": { + "description": "Settings for WildFire analysis.", + "id": "FirewallEndpointWildfireSettings", + "properties": { + "enabled": { + "description": "Optional. Indicates whether WildFire analysis is enabled. Default value is false.", + "type": "boolean" + }, + "wildfireInlineCloudAnalysisSettings": { + "$ref": "FirewallEndpointWildfireSettingsWildfireInlineCloudAnalysisSettings", + "description": "Optional. Settings for WildFire inline cloud analysis." + }, + "wildfireRealtimeLookupDuration": { + "description": "Optional. Duration in milliseconds on a file being held while the WildFire real time signature cloud performs a signature lookup. Value between 1 to 5000 is valid. Default value is 1000.", + "format": "google-duration", + "type": "string" + }, + "wildfireRealtimeLookupTimeoutAction": { + "description": "Optional. Action to take on WildFire real time signature lookup timeout. Default value is ALLOW.", + "enum": [ + "WILDFIRE_REALTIME_SIGNATURE_LOOKUP_TIMEOUT_ACTION_UNSPECIFIED", + "ALLOW", + "DENY" + ], + "enumDescriptions": [ + "WildFire real time signature lookup timeout action not specified.", + "The files that timed out in the signature lookup will be allowed to transmit.", + "The files that timed out in the signature lookup will be denied to transmit." + ], + "type": "string" + }, + "wildfireRegion": { + "description": "Optional. The region where WildFire analysis will be performed. PAN supports regions: https://docs.paloaltonetworks.com/advanced-wildfire/administration/advanced-wildfire-overview/advanced-wildfire-deployments/advanced-wildfire-global-cloud", + "enum": [ + "WILDFIRE_REGION_UNSPECIFIED", + "CANADA", + "UNITED_STATES", + "JAPAN", + "SINGAPORE", + "UNITED_KINGDOM", + "AUSTRALIA", + "GERMANY", + "INDIA", + "SWITZERLAND", + "POLAND", + "INDONESIA", + "TAIWAN", + "FRANCE", + "QATAR", + "SOUTH_KOREA", + "ISRAEL", + "SAUDI_ARABIA", + "SPAIN" + ], + "enumDescriptions": [ + "WildFire region not specified.", + "Canada cloud portal: ca.wildfire.paloaltonetworks.com", + "United States cloud portal: us-native.wildfire.paloaltonetworks.com", + "Japan cloud portal: jp.wildfire.paloaltonetworks.com", + "Singapore cloud portal: sg.wildfire.paloaltonetworks.com", + "United Kingdom cloud portal: uk.wildfire.paloaltonetworks.com", + "Australia cloud portal: au.wildfire.paloaltonetworks.com", + "Germany cloud portal: de.wildfire.paloaltonetworks.com", + "India cloud portal: in.wildfire.paloaltonetworks.com", + "Switzerland cloud portal: ch.wildfire.paloaltonetworks.com", + "Poland cloud portal: pl.wildfire.paloaltonetworks.com", + "Indonesia cloud portal: id.wildfire.paloaltonetworks.com", + "Taiwan cloud portal: tw.wildfire.paloaltonetworks.com", + "France cloud portal: fr.wildfire.paloaltonetworks.com", + "Qatar cloud portal: qatar.wildfire.paloaltonetworks.com", + "South Korea cloud portal: kr.wildfire.paloaltonetworks.com", + "Israel cloud portal: il.wildfire.paloaltonetworks.com", + "Saudi Arabia cloud portal: sa.wildfire.paloaltonetworks.com", + "Spain cloud portal: es.wildfire.paloaltonetworks.com" + ], + "type": "string" + } + }, + "type": "object" + }, + "FirewallEndpointWildfireSettingsWildfireInlineCloudAnalysisSettings": { + "description": "Settings for WildFire inline cloud analysis.", + "id": "FirewallEndpointWildfireSettingsWildfireInlineCloudAnalysisSettings", + "properties": { + "maxAnalysisDuration": { + "description": "Optional. Timeout in milliseconds on a file being held while WildFire inline cloud analysis is performed. Value between 1 to 240000 is valid. Default value is 30000.", + "format": "google-duration", + "type": "string" + }, + "submissionTimeoutLoggingDisabled": { + "description": "Optional. Whether to disable WildFire submission log generation for files that timeout during WildFire inline cloud analysis.", + "type": "boolean" + }, + "timeoutAction": { + "description": "Optional. Action to take when WildFire inline cloud analysis times out. Default value is ALLOW.", + "enum": [ + "WILDFIRE_INLINE_CLOUD_ANALYSIS_TIMEOUT_ACTION_UNSPECIFIED", + "ALLOW", + "DENY" + ], + "enumDescriptions": [ + "WildFire inline cloud analysis timeout action not specified.", + "The files that timed out will be allowed to transmit.", + "The files that timed out will be denied to transmit." + ], + "type": "string" + } + }, + "type": "object" + }, "GatewaySecurityPolicy": { "description": "The GatewaySecurityPolicy resource contains a collection of GatewaySecurityPolicyRules and associated metadata.", "id": "GatewaySecurityPolicy", @@ -8428,7 +8790,7 @@ "type": "string" }, "unreachable": { - "description": "Locations that could not be reached.", + "description": "Unordered list. Locations that could not be reached. See https://google.aip.dev/217 for more details.", "items": { "type": "string" }, @@ -8659,6 +9021,31 @@ }, "type": "object" }, + "ListWildfireVerdictChangeRequestsResponse": { + "description": "Message for response to listing WildfireVerdictChangeRequests.", + "id": "ListWildfireVerdictChangeRequestsResponse", + "properties": { + "nextPageToken": { + "description": "A token identifying a page of results the server should return.", + "type": "string" + }, + "unreachable": { + "description": "Unordered list. Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + }, + "wildfireVerdictChangeRequests": { + "description": "The list of WildfireVerdictChangeRequests", + "items": { + "$ref": "WildfireVerdictChangeRequest" + }, + "type": "array" + } + }, + "type": "object" + }, "Location": { "description": "A resource that represents a Google Cloud location.", "id": "Location", @@ -9593,14 +9980,16 @@ "THREAT_PREVENTION", "CUSTOM_MIRRORING", "CUSTOM_INTERCEPT", - "URL_FILTERING" + "URL_FILTERING", + "WILDFIRE_ANALYSIS" ], "enumDescriptions": [ "Profile type not specified.", "Profile type for threat prevention.", "Profile type for packet mirroring v2", "Profile type for TPPI.", - "Profile type for URL filtering." + "Profile type for URL filtering.", + "Profile type for WildFire Analysis." ], "type": "string" }, @@ -9613,6 +10002,10 @@ "urlFilteringProfile": { "$ref": "UrlFilteringProfile", "description": "The URL filtering configuration for the SecurityProfile." + }, + "wildfireAnalysisProfile": { + "$ref": "WildfireAnalysisProfile", + "description": "The WildFire Analysis configurations for SecurityProfile." } }, "type": "object" @@ -9674,6 +10067,10 @@ "urlFilteringProfile": { "description": "Optional. Reference to a SecurityProfile with the UrlFiltering configuration.", "type": "string" + }, + "wildfireAnalysisProfile": { + "description": "Optional. Reference to a SecurityProfile with the WildFire configuration.", + "type": "string" } }, "type": "object" @@ -10072,6 +10469,567 @@ } }, "type": "object" + }, + "WildfireAnalysisProfile": { + "description": "WildfireAnalysisProfile defines Palo Alto Networks WildFire behavior.", + "id": "WildfireAnalysisProfile", + "properties": { + "wildfireInlineCloudAnalysisRules": { + "description": "Optional. Configuration for WildFire inline cloud analysis.", + "items": { + "$ref": "WildfireInlineCloudAnalysisRule" + }, + "type": "array" + }, + "wildfireInlineMlOverrides": { + "description": "Optional. Configuration for overriding inline ML WildFire actions per protocol.", + "items": { + "$ref": "WildfireInlineMlOverride" + }, + "type": "array" + }, + "wildfireInlineMlSetting": { + "$ref": "WildfireInlineMlSettings", + "description": "Optional. Settings for WildFire Inline ML analysis." + }, + "wildfireInlineMlSettings": { + "deprecated": true, + "description": "Optional. Settings for WildFire Inline ML analysis.", + "items": { + "$ref": "WildfireInlineMlSettings" + }, + "type": "array" + }, + "wildfireOverrides": { + "description": "Optional. Configuration for overriding WildFire actions per protocol.", + "items": { + "$ref": "WildfireOverride" + }, + "type": "array" + }, + "wildfireRealtimeLookup": { + "description": "Optional. Whether to hold the transfer of a file while the WildFire real-time signature cloud performs a signature lookup. Default value is false.", + "type": "boolean" + }, + "wildfireSubmissionRules": { + "description": "Optional. Configurations for WildFire file submissions.", + "items": { + "$ref": "WildfireSubmissionRule" + }, + "type": "array" + }, + "wildfireThreatOverrides": { + "description": "Optional. Configuration for overriding WildFire threats action by threat_id match.", + "items": { + "$ref": "WildfireThreatOverride" + }, + "type": "array" + } + }, + "type": "object" + }, + "WildfireInlineCloudAnalysisRule": { + "description": "The list of file type configurations to be scanned by WildFire Inline Cloud Analysis.", + "id": "WildfireInlineCloudAnalysisRule", + "properties": { + "action": { + "description": "Required. Action to take when a threat is detected using WildFire Inline Cloud Analysis. The default Value is DENY.", + "enum": [ + "WILDFIRE_INLINE_CLOUD_ANALYSIS_ACTION_UNSPECIFIED", + "ALLOW", + "DENY", + "ALERT" + ], + "enumDescriptions": [ + "WildFire Inline Cloud Analysis action not specified.", + "The files caught by WildFire Inline Cloud Analysis will be allowed to transmit.", + "The files caught by WildFire Inline Cloud Analysis will be denied to transmit.", + "The files caught by WildFire Inline Cloud Analysis will be allowed to transmit, but a wildfire_submission_log entry will be sent to the consumer project." + ], + "type": "string" + }, + "customFileTypes": { + "$ref": "WildfireInlineCloudAnalysisRuleCustomFileTypes", + "description": "Submit a custom list of file types for WildFire analysis." + }, + "direction": { + "description": "Required. Direction for the file to be analyzed by WildFire Inline Cloud Analysis.", + "enum": [ + "DIRECTION_UNSPECIFIED", + "UPLOAD", + "DOWNLOAD", + "BOTH" + ], + "enumDescriptions": [ + "Direction not specified.", + "Upload direction.", + "Download direction.", + "Both upload and download directions." + ], + "type": "string" + }, + "fileSelectionMode": { + "description": "Required. File selection mode for WildFire inline cloud analysis.", + "enum": [ + "FILE_SELECTION_MODE_UNSPECIFIED", + "ALL_FILE_TYPES", + "CUSTOM_FILE_TYPES" + ], + "enumDescriptions": [ + "File selection mode not specified.", + "Submit all the file types for scan.", + "Submit a custom list of file types for scan." + ], + "type": "string" + } + }, + "type": "object" + }, + "WildfireInlineCloudAnalysisRuleCustomFileTypes": { + "description": "The options to submit a custom list of file types for scan.", + "id": "WildfireInlineCloudAnalysisRuleCustomFileTypes", + "properties": { + "fileTypes": { + "description": "Required. File types to be submitted for WildFire inline cloud analysis.", + "items": { + "enum": [ + "FILE_TYPE_UNSPECIFIED", + "PE" + ], + "enumDescriptions": [ + "File type not specified.", + "Portable Executable (PE) files." + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "WildfireInlineMlFileException": { + "description": "Defines the file to exclude from WildFire Inline ML analysis.", + "id": "WildfireInlineMlFileException", + "properties": { + "filename": { + "description": "Optional. Name of the file to exclude from WildFire Inline ML analysis.", + "type": "string" + }, + "partialHash": { + "description": "Required. Machine learning partial hash of the file to exclude from WildFire Inline ML analysis.", + "type": "string" + } + }, + "type": "object" + }, + "WildfireInlineMlOverride": { + "description": "Defines what action to take for WildFire Inline ML threats per protocol.", + "id": "WildfireInlineMlOverride", + "properties": { + "action": { + "description": "Required. The action to take for WildFire Inline ML override.", + "enum": [ + "WILDFIRE_THREAT_ACTION_UNSPECIFIED", + "WILDFIRE_DEFAULT_ACTION", + "WILDFIRE_ALLOW", + "WILDFIRE_ALERT", + "WILDFIRE_DENY" + ], + "enumDescriptions": [ + "Threat action not specified.", + "The default action (as specified by the vendor) is taken.", + "The packet matching this rule will be allowed to transmit.", + "The packet matching this rule will be allowed to transmit, but a threat_log entry will be sent to the consumer project.", + "The packet matching this rule will be dropped, and a threat_log entry will be sent to the consumer project." + ], + "type": "string" + }, + "protocol": { + "description": "Required. Protocol to match for WildFire Inline ML override.", + "enum": [ + "WILDFIRE_PROTOCOL_UNSPECIFIED", + "WILDFIRE_SMTP", + "WILDFIRE_SMB", + "WILDFIRE_POP3", + "WILDFIRE_IMAP", + "WILDFIRE_HTTP2", + "WILDFIRE_HTTP", + "WILDFIRE_FTP" + ], + "enumDescriptions": [ + "Protocol not specified.", + "SMTP protocol", + "SMB protocol", + "POP3 protocol", + "IMAP protocol", + "HTTP2 protocol", + "HTTP protocol", + "FTP protocol" + ], + "type": "string" + } + }, + "type": "object" + }, + "WildfireInlineMlSettings": { + "description": "Defines the settings for WildFire Inline ML analysis.", + "id": "WildfireInlineMlSettings", + "properties": { + "fileExceptions": { + "description": "Optional. List of files to exclude from WildFire Inline ML analysis.", + "items": { + "$ref": "WildfireInlineMlFileException" + }, + "type": "array" + }, + "inlineMlConfigs": { + "description": "Optional. List of Inline ML configs to enable in WildFire Inline ML analysis.", + "items": { + "$ref": "WildfireInlineMlSettingsInlineMlConfig" + }, + "type": "array" + } + }, + "type": "object" + }, + "WildfireInlineMlSettingsInlineMlConfig": { + "description": "Configuration for WildFire Inline ML analysis per file type.", + "id": "WildfireInlineMlSettingsInlineMlConfig", + "properties": { + "action": { + "description": "Required. Action to take when a threat is detected using Inline ML.", + "enum": [ + "INLINE_ML_ACTION_UNSPECIFIED", + "DISABLE", + "ALERT", + "ENABLE" + ], + "enumDescriptions": [ + "Inline ML threat action not specified.", + "Disable WildFire Inline ML for the associated file type.", + "Enable WildFire Inline ML for the associated file type. Overrides any protocol level settings with action stricter than ALERT to ALERT so that the malicious files detected generate a threat log to the consumer project but are not blocked.", + "Enable WildFire Inline ML for the associated file type, malicious files detected will be blocked." + ], + "type": "string" + }, + "fileType": { + "description": "Required. File type to configure Inline ML for.", + "enum": [ + "INLINE_ML_CONFIG_UNSPECIFIED", + "WINDOWS_EXECUTABLE", + "POWERSHELL_SCRIPT1", + "POWERSHELL_SCRIPT2", + "ELF", + "MS_OFFICE", + "SHELL", + "OOXML", + "MACHO" + ], + "enumDescriptions": [ + "Inline ML config not specified.", + "Enable machine learning engine to dynamically detect malicious PE files.", + "Enable machine learning engine to dynamically identify malicious PowerShell scripts with known length.", + "Enable machine learning engine to dynamically identify malicious PowerShell script without known length.", + "Enable machine learning engine to dynamically detect malicious ELF files.", + "Enable machine learning engine to dynamically detect malicious MSOffice (97-03) files.", + "Enable machine learning engine to dynamically detect malicious Shell files.", + "Enable machine learning engine to dynamically detect malicious Open Office XML files.", + "Enable machine learning engine to dynamically detect malicious Mach-O files." + ], + "type": "string" + } + }, + "type": "object" + }, + "WildfireOverride": { + "description": "Defines what action to take for WildFire threats per protocol.", + "id": "WildfireOverride", + "properties": { + "action": { + "description": "Required. Threat action override. For some threat types, only a subset of actions applies.", + "enum": [ + "WILDFIRE_THREAT_ACTION_UNSPECIFIED", + "WILDFIRE_DEFAULT_ACTION", + "WILDFIRE_ALLOW", + "WILDFIRE_ALERT", + "WILDFIRE_DENY" + ], + "enumDescriptions": [ + "Threat action not specified.", + "The default action (as specified by the vendor) is taken.", + "The packet matching this rule will be allowed to transmit.", + "The packet matching this rule will be allowed to transmit, but a threat_log entry will be sent to the consumer project.", + "The packet matching this rule will be dropped, and a threat_log entry will be sent to the consumer project." + ], + "type": "string" + }, + "protocol": { + "description": "Required. Protocol to match.", + "enum": [ + "WILDFIRE_PROTOCOL_UNSPECIFIED", + "WILDFIRE_SMTP", + "WILDFIRE_SMB", + "WILDFIRE_POP3", + "WILDFIRE_IMAP", + "WILDFIRE_HTTP2", + "WILDFIRE_HTTP", + "WILDFIRE_FTP" + ], + "enumDescriptions": [ + "Protocol not specified.", + "SMTP protocol", + "SMB protocol", + "POP3 protocol", + "IMAP protocol", + "HTTP2 protocol", + "HTTP protocol", + "FTP protocol" + ], + "type": "string" + } + }, + "type": "object" + }, + "WildfireSubmissionRule": { + "description": "Defines the file types to be submitted for WildFire analysis and the direction of the traffic.", + "id": "WildfireSubmissionRule", + "properties": { + "customFileTypes": { + "$ref": "WildfireSubmissionRuleCustomFileTypes", + "description": "Submit a custom list of file types for WildFire analysis." + }, + "direction": { + "description": "Required. Direction for the files to be analyzed by WildFire.", + "enum": [ + "DIRECTION_UNSPECIFIED", + "UPLOAD", + "DOWNLOAD", + "BOTH" + ], + "enumDescriptions": [ + "Direction not specified.", + "Upload direction.", + "Download direction.", + "Both upload and download directions." + ], + "type": "string" + }, + "fileSelectionMode": { + "description": "Required. File selection mode for WildFire analysis.", + "enum": [ + "FILE_SELECTION_MODE_UNSPECIFIED", + "ALL_FILE_TYPES", + "CUSTOM_FILE_TYPES" + ], + "enumDescriptions": [ + "File selection mode not specified.", + "Submit all the file types for scan.", + "Submit a custom list of file types for scan." + ], + "type": "string" + } + }, + "type": "object" + }, + "WildfireSubmissionRuleCustomFileTypes": { + "description": "The options to submit a custom list of file types for scan.", + "id": "WildfireSubmissionRuleCustomFileTypes", + "properties": { + "fileTypes": { + "description": "Required. File types to be submitted for WildFire analysis.", + "items": { + "enum": [ + "FILE_TYPE_UNSPECIFIED", + "APK", + "ARCHIVE", + "EMAIL_LINK", + "FLASH", + "JAR", + "LINUX", + "MS_OFFICE", + "PDF", + "PE", + "SCRIPT" + ], + "enumDescriptions": [ + "File type not specified.", + "Android Application Package (APK) files.", + "Roshal Archive (RAR) and 7-Zip (7z) archive files.", + "HTTP/HTTPS links contained in SMTP and POP3 email messages.", + "Adobe Flash applets and Flash content embedded in web pages.", + "Java applets (JAR/class files types).", + "Executable and Linkable Format (ELF) files.", + "Files used by Microsoft Office.", + "Portable Document Format (PDF) files.", + "Portable Executable (PE) files.", + "Various script files. Jscript (JS), VBScript (VBS), PowerShell Scripts (PS1), Batch (BAT), HTML Application (HTA)." + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "WildfireThreatOverride": { + "description": "Defines what action to take for a specific WildFire threat_id match.", + "id": "WildfireThreatOverride", + "properties": { + "action": { + "description": "Required. Threat action override.", + "enum": [ + "WILDFIRE_THREAT_ACTION_UNSPECIFIED", + "WILDFIRE_DEFAULT_ACTION", + "WILDFIRE_ALLOW", + "WILDFIRE_ALERT", + "WILDFIRE_DENY" + ], + "enumDescriptions": [ + "Threat action not specified.", + "The default action (as specified by the vendor) is taken.", + "The packet matching this rule will be allowed to transmit.", + "The packet matching this rule will be allowed to transmit, but a threat_log entry will be sent to the consumer project.", + "The packet matching this rule will be dropped, and a threat_log entry will be sent to the consumer project." + ], + "type": "string" + }, + "threatId": { + "description": "Required. Threat ID to match.", + "type": "string" + } + }, + "type": "object" + }, + "WildfireVerdictChangeRequest": { + "description": "Message for a WildfireVerdictChangeRequest.", + "id": "WildfireVerdictChangeRequest", + "properties": { + "comment": { + "description": "Required. The justification for the verdict change request. Max length 2048 characters.", + "type": "string" + }, + "createTime": { + "description": "Output only. The timestamp when the WildfireVerdictChangeRequest was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "fileName": { + "description": "Output only. The file name of the Malware Sample.", + "readOnly": true, + "type": "string" + }, + "fileType": { + "description": "Output only. The file type of the Malware Sample.", + "readOnly": true, + "type": "string" + }, + "finalVerdict": { + "description": "Output only. The final verdict of the Malware Sample.", + "enum": [ + "WILDFIRE_SAMPLE_VERDICT_UNKNOWN", + "BENIGN", + "MALWARE", + "GRAYWARE", + "PHISHING" + ], + "enumDescriptions": [ + "Default value. Malware is not yet classified.", + "Sample is safe and does not exhibit malicious behavior.", + "Sample is malware and poses a security threat.", + "Sample does not pose a direct security threat, but might display otherwise obtrusive behavior.", + "Link directs users to a phishing site and poses a security threat." + ], + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. Identifier. The relative name of the WildfireVerdictChangeRequest. Output only. This is a unique identifier generated by the third party API. Format: organizations|projects/{project_or_organization}/locations/{location}/firewallEndpoints/{firewall_endpoint}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id} Where {wildfire_verdict_change_request_id} is the ID in the format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", + "readOnly": true, + "type": "string" + }, + "newVerdict": { + "description": "Required. The suggested verdict to apply to the Malware Sample.", + "enum": [ + "WILDFIRE_SAMPLE_VERDICT_UNKNOWN", + "BENIGN", + "MALWARE", + "GRAYWARE", + "PHISHING" + ], + "enumDescriptions": [ + "Default value. Malware is not yet classified.", + "Sample is safe and does not exhibit malicious behavior.", + "Sample is malware and poses a security threat.", + "Sample does not pose a direct security threat, but might display otherwise obtrusive behavior.", + "Link directs users to a phishing site and poses a security threat." + ], + "type": "string" + }, + "oldVerdict": { + "description": "Output only. The original verdict of the Malware Sample.", + "enum": [ + "WILDFIRE_SAMPLE_VERDICT_UNKNOWN", + "BENIGN", + "MALWARE", + "GRAYWARE", + "PHISHING" + ], + "enumDescriptions": [ + "Default value. Malware is not yet classified.", + "Sample is safe and does not exhibit malicious behavior.", + "Sample is malware and poses a security threat.", + "Sample does not pose a direct security threat, but might display otherwise obtrusive behavior.", + "Link directs users to a phishing site and poses a security threat." + ], + "readOnly": true, + "type": "string" + }, + "resolutionTime": { + "description": "Output only. The timestamp when the WildfireVerdictChangeRequest was resolved.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "sha256": { + "description": "Required. The SHA256 hash of the Malware Sample to change the verdict of.", + "type": "string" + }, + "sourceRegion": { + "description": "Output only. The region of the file associated with the Malware Sample.", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. The review state of the WildfireVerdictChangeRequest.", + "enum": [ + "VERDICT_CHANGE_REQUEST_STATE_UNSPECIFIED", + "OPEN", + "CLOSED", + "PENDING" + ], + "enumDescriptions": [ + "Default value. Request does not have a state. This value is unused.", + "Request has been created and review has not started.", + "Malware Sample has been reviewed and the final verdict has been updated.", + "Malware Sample is currently being reviewed." + ], + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The timestamp when the WildfireVerdictChangeRequest was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "wildfireVerdictChangeRequestId": { + "description": "Output only. The ID of the WildfireVerdictChangeRequest. This is a unique identifier generated by the third party API. Format: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", + "readOnly": true, + "type": "string" + } + }, + "type": "object" } }, "servicePath": "", diff --git a/discovery/observability-v1.json b/discovery/observability-v1.json index 01ed8d84eb1..27a2642be65 100644 --- a/discovery/observability-v1.json +++ b/discovery/observability-v1.json @@ -31,11 +31,6 @@ "endpointUrl": "https://observability.asia-east2.rep.googleapis.com/", "location": "asia-east2" }, - { - "description": "Regional Endpoint", - "endpointUrl": "https://observability.asia-northeast1.rep.googleapis.com/", - "location": "asia-northeast1" - }, { "description": "Regional Endpoint", "endpointUrl": "https://observability.asia-northeast2.rep.googleapis.com/", @@ -56,11 +51,6 @@ "endpointUrl": "https://observability.asia-south2.rep.googleapis.com/", "location": "asia-south2" }, - { - "description": "Regional Endpoint", - "endpointUrl": "https://observability.asia-southeast1.rep.googleapis.com/", - "location": "asia-southeast1" - }, { "description": "Regional Endpoint", "endpointUrl": "https://observability.asia-southeast2.rep.googleapis.com/", @@ -71,56 +61,21 @@ "endpointUrl": "https://observability.asia-southeast3.rep.googleapis.com/", "location": "asia-southeast3" }, - { - "description": "Regional Endpoint", - "endpointUrl": "https://observability.australia-southeast1.rep.googleapis.com/", - "location": "australia-southeast1" - }, { "description": "Regional Endpoint", "endpointUrl": "https://observability.australia-southeast2.rep.googleapis.com/", "location": "australia-southeast2" }, - { - "description": "Regional Endpoint", - "endpointUrl": "https://observability.europe-central2.rep.googleapis.com/", - "location": "europe-central2" - }, - { - "description": "Regional Endpoint", - "endpointUrl": "https://observability.europe-north1.rep.googleapis.com/", - "location": "europe-north1" - }, { "description": "Regional Endpoint", "endpointUrl": "https://observability.europe-north2.rep.googleapis.com/", "location": "europe-north2" }, - { - "description": "Regional Endpoint", - "endpointUrl": "https://observability.europe-southwest1.rep.googleapis.com/", - "location": "europe-southwest1" - }, { "description": "Regional Endpoint", "endpointUrl": "https://observability.europe-west1.rep.googleapis.com/", "location": "europe-west1" }, - { - "description": "Regional Endpoint", - "endpointUrl": "https://observability.europe-west10.rep.googleapis.com/", - "location": "europe-west10" - }, - { - "description": "Regional Endpoint", - "endpointUrl": "https://observability.europe-west12.rep.googleapis.com/", - "location": "europe-west12" - }, - { - "description": "Regional Endpoint", - "endpointUrl": "https://observability.europe-west2.rep.googleapis.com/", - "location": "europe-west2" - }, { "description": "Regional Endpoint", "endpointUrl": "https://observability.europe-west3.rep.googleapis.com/", @@ -146,21 +101,6 @@ "endpointUrl": "https://observability.me-central1.rep.googleapis.com/", "location": "me-central1" }, - { - "description": "Regional Endpoint", - "endpointUrl": "https://observability.me-central2.rep.googleapis.com/", - "location": "me-central2" - }, - { - "description": "Regional Endpoint", - "endpointUrl": "https://observability.me-west1.rep.googleapis.com/", - "location": "me-west1" - }, - { - "description": "Regional Endpoint", - "endpointUrl": "https://observability.northamerica-northeast1.rep.googleapis.com/", - "location": "northamerica-northeast1" - }, { "description": "Regional Endpoint", "endpointUrl": "https://observability.northamerica-northeast2.rep.googleapis.com/", @@ -171,11 +111,6 @@ "endpointUrl": "https://observability.northamerica-south1.rep.googleapis.com/", "location": "northamerica-south1" }, - { - "description": "Regional Endpoint", - "endpointUrl": "https://observability.southamerica-east1.rep.googleapis.com/", - "location": "southamerica-east1" - }, { "description": "Regional Endpoint", "endpointUrl": "https://observability.southamerica-west1.rep.googleapis.com/", @@ -186,21 +121,11 @@ "endpointUrl": "https://observability.us-central1.rep.googleapis.com/", "location": "us-central1" }, - { - "description": "Regional Endpoint", - "endpointUrl": "https://observability.us-central2.rep.googleapis.com/", - "location": "us-central2" - }, { "description": "Regional Endpoint", "endpointUrl": "https://observability.us-east1.rep.googleapis.com/", "location": "us-east1" }, - { - "description": "Regional Endpoint", - "endpointUrl": "https://observability.us-east4.rep.googleapis.com/", - "location": "us-east4" - }, { "description": "Regional Endpoint", "endpointUrl": "https://observability.us-east5.rep.googleapis.com/", @@ -226,11 +151,6 @@ "endpointUrl": "https://observability.us-west3.rep.googleapis.com/", "location": "us-west3" }, - { - "description": "Regional Endpoint", - "endpointUrl": "https://observability.us-west4.rep.googleapis.com/", - "location": "us-west4" - }, { "description": "Regional Endpoint", "endpointUrl": "https://observability.us.rep.googleapis.com/", @@ -1726,7 +1646,7 @@ } } }, - "revision": "20260514", + "revision": "20260528", "rootUrl": "https://observability.googleapis.com/", "schemas": { "Bucket": { diff --git a/discovery/ondemandscanning-v1.json b/discovery/ondemandscanning-v1.json index 6ff812609a5..6ba08b1bd9a 100644 --- a/discovery/ondemandscanning-v1.json +++ b/discovery/ondemandscanning-v1.json @@ -344,7 +344,7 @@ } } }, - "revision": "20260511", + "revision": "20260601", "rootUrl": "https://ondemandscanning.googleapis.com/", "schemas": { "AISkillAnalysisOccurrence": { @@ -360,6 +360,16 @@ }, "maxSeverity": { "description": "Maximum severity found among findings.", + "enum": [ + "SEVERITY_UNSPECIFIED", + "CRITICAL", + "HIGH" + ], + "enumDescriptions": [ + "Unspecified severity.", + "Critical severity.", + "High severity." + ], "type": "string" }, "skillName": { @@ -1444,16 +1454,40 @@ "description": "Category of the finding.", "type": "string" }, + "details": { + "description": "Description of the finding category.", + "type": "string" + }, "location": { "$ref": "FindingLocation", "description": "Location (path and line) where the finding was detected." }, "scanner": { "description": "Scanner determines which engine (e.g. static, llm) emitted the finding.", + "enum": [ + "SCANNER_UNSPECIFIED", + "STATIC", + "LLM" + ], + "enumDescriptions": [ + "Unspecified scanner.", + "Static scanner.", + "LLM scanner." + ], "type": "string" }, "severity": { "description": "Severity of the finding.", + "enum": [ + "SEVERITY_UNSPECIFIED", + "CRITICAL", + "HIGH" + ], + "enumDescriptions": [ + "Unspecified severity.", + "Critical severity.", + "High severity." + ], "type": "string" } }, @@ -3408,6 +3442,10 @@ "$ref": "CVSS", "description": "The cvss v2 score for the vulnerability." }, + "cvssV4": { + "$ref": "CVSS", + "description": "The cvss v4 score for the vulnerability." + }, "cvssVersion": { "description": "Output only. CVSS version used to populate cvss_score and severity.", "enum": [ diff --git a/discovery/places-v1.json b/discovery/places-v1.json index 35363d3babb..cf45f400e5a 100644 --- a/discovery/places-v1.json +++ b/discovery/places-v1.json @@ -280,7 +280,7 @@ } } }, - "revision": "20260524", + "revision": "20260601", "rootUrl": "https://places.googleapis.com/", "schemas": { "GoogleGeoTypeViewport": { @@ -1077,7 +1077,7 @@ }, "currentOpeningHours": { "$ref": "GoogleMapsPlacesV1PlaceOpeningHours", - "description": "The hours of operation for the next seven days (including today). The time period starts at midnight on the date of the request and ends at 11:59 pm six days later. This field includes the special_days subfield of all hours, set for dates that have exceptional hours." + "description": "The hours of operation for the next seven days (including today) incorporating any special opening hours. The time period starts at midnight on the date of the request and ends at 11:59 pm six days later. If the actual opening hours are outside of this range, the opening hours will be truncated. For example, if a place is open from 10pm yesterday to 6am today, the opening hours will be truncated to 12am today to 6am today. This field includes the special_days subfield of all hours, set for dates that have exceptional hours." }, "currentSecondaryOpeningHours": { "description": "Contains an array of entries for the next seven days including information about secondary hours of a business. Secondary hours are different from a business's main hours. For example, a restaurant can specify drive through hours or delivery hours as its secondary hours. This field populates the type subfield, which draws from a predefined list of opening hours types (such as DRIVE_THROUGH, PICKUP, or TAKEOUT) based on the types of the place. This field includes the special_days subfield of all hours, set for dates that have exceptional hours.", @@ -1268,7 +1268,7 @@ }, "regularOpeningHours": { "$ref": "GoogleMapsPlacesV1PlaceOpeningHours", - "description": "The regular hours of operation. Note that if a place is always open (24 hours), the `close` field will not be set. Clients can rely on always open (24 hours) being represented as an [`open`](https://developers.google.com/maps/documentation/places/web-service/reference/rest/v1/places#Period) period containing [`day`](https://developers.google.com/maps/documentation/places/web-service/reference/rest/v1/places#Point) with value `0`, [`hour`](https://developers.google.com/maps/documentation/places/web-service/reference/rest/v1/places#Point) with value `0`, and [`minute`](https://developers.google.com/maps/documentation/places/web-service/reference/rest/v1/places#Point) with value `0`." + "description": "The regular hours are the hours of operation for a place on a typical schedule. Note that if a place is always open (24 hours), the `close` field will not be set. Clients can rely on always open (24 hours) being represented as an [`open`](https://developers.google.com/maps/documentation/places/web-service/reference/rest/v1/places#Period) period containing [`day`](https://developers.google.com/maps/documentation/places/web-service/reference/rest/v1/places#Point) with value `0`, [`hour`](https://developers.google.com/maps/documentation/places/web-service/reference/rest/v1/places#Point) with value `0`, and [`minute`](https://developers.google.com/maps/documentation/places/web-service/reference/rest/v1/places#Point) with value `0`." }, "regularSecondaryOpeningHours": { "description": "Contains an array of entries for information about regular secondary hours of a business. Secondary hours are different from a business's main hours. For example, a restaurant can specify drive through hours or delivery hours as its secondary hours. This field populates the type subfield, which draws from a predefined list of opening hours types (such as DRIVE_THROUGH, PICKUP, or TAKEOUT) based on the types of the place.", diff --git a/discovery/recaptchaenterprise-v1.json b/discovery/recaptchaenterprise-v1.json index 725b494bf68..27039da8054 100644 --- a/discovery/recaptchaenterprise-v1.json +++ b/discovery/recaptchaenterprise-v1.json @@ -786,7 +786,7 @@ } } }, - "revision": "20260505", + "revision": "20260517", "rootUrl": "https://recaptchaenterprise.googleapis.com/", "schemas": { "GoogleCloudRecaptchaenterpriseV1AccountDefenderAssessment": { @@ -833,13 +833,15 @@ "RISK_REASON_UNSPECIFIED", "CLIENT_HISTORICAL_BOT_ACTIVITY", "ACCOUNT_IN_LARGE_RELATED_GROUP", - "CLIENT_ACCESSED_MANY_ACCOUNTS" + "CLIENT_ACCESSED_MANY_ACCOUNTS", + "DISPOSABLE_EMAIL_DOMAIN" ], "enumDescriptions": [ "Default unspecified type.", "The client has been observed sending bot-like traffic to this site in the past. This reason incorporates historical reputation and indicates that the client is known to use bots, even if the current request is being made by a human.", "The account is part of a large group of related accounts, indicating that it may be part of a fraudulent network. Related accounts are identified based on having similar traffic patterns and request characteristics.", - "The client has been observed accessing many accounts on this site." + "The client has been observed accessing many accounts on this site.", + "This email domain is a suspected provider of disposable email addresses." ], "readOnly": true, "type": "string" diff --git a/discovery/redis-v1.json b/discovery/redis-v1.json index 167e54697ca..c5df8abf661 100644 --- a/discovery/redis-v1.json +++ b/discovery/redis-v1.json @@ -1608,7 +1608,7 @@ } } }, - "revision": "20260423", + "revision": "20260526", "rootUrl": "https://redis.googleapis.com/", "schemas": { "AOFConfig": { @@ -3321,9 +3321,17 @@ "type": "object" }, "DatabaseResourceMetadata": { - "description": "Common model for database resource instance metadata. Next ID: 32", + "description": "Common model for database resource instance metadata. Next ID: 35", "id": "DatabaseResourceMetadata", "properties": { + "additionalMetadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Field to ingest additional metadata whichd does not support proto format.", + "type": "object" + }, "availabilityConfiguration": { "$ref": "AvailabilityConfiguration", "description": "Availability configuration for this instance" @@ -3477,6 +3485,18 @@ ], "type": "string" }, + "internalAdditionalMetadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Field to ingest additional metadata which support proto format.", + "type": "object" + }, + "ipAddress": { + "$ref": "IpAddress", + "description": "Optional. Private and public IP address of the resource." + }, "isDeletionProtectionEnabled": { "description": "Optional. Whether deletion protection is enabled for this resource.", "type": "boolean" @@ -4703,6 +4723,21 @@ }, "type": "object" }, + "IpAddress": { + "description": "Used to send IP address information for a database resource.", + "id": "IpAddress", + "properties": { + "privateIp": { + "description": "The private IP address assigned to the resource within a Virtual Private Cloud (VPC). This IP is only reachable from within the same VPC network. Stored in standard string format (e.g., \"10.0.0.2\").", + "type": "string" + }, + "publicIp": { + "description": "The public IP address assigned to the resource. This IP is reachable from the internet. Stored in standard string format (e.g., \"34.72.1.1\").", + "type": "string" + } + }, + "type": "object" + }, "ListAclPoliciesResponse": { "description": "Response for `ListAclPolicies`.", "id": "ListAclPoliciesResponse", @@ -5373,6 +5408,7 @@ "ENGINE_CLOUD_SPANNER_WITH_GOOGLESQL_DIALECT", "ENGINE_MEMORYSTORE_FOR_REDIS", "ENGINE_MEMORYSTORE_FOR_REDIS_CLUSTER", + "ENGINE_MEMORSTORE_FOR_VALKEY", "ENGINE_OTHER", "ENGINE_FIRESTORE_WITH_NATIVE_MODE", "ENGINE_FIRESTORE_WITH_DATASTORE_MODE", @@ -5399,6 +5435,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -5415,6 +5452,7 @@ "Cloud Spanner with Google SQL dialect.", "Memorystore with Redis dialect.", "Memorystore with Redis cluster dialect.", + "Memorystore with Valkey dialect.", "Other refers to rest of other database engine. This is to be when engine is known, but it is not present in this enum.", "Firestore with native mode.", "Firestore with datastore mode.", @@ -5909,6 +5947,13 @@ "description": "Optional. Current Maintenance version of the database resource. Example: \"MYSQL_8_0_41.R20250531.01_15\"", "type": "string" }, + "nextAvailableMaintenanceVersions": { + "description": "Optional. List of next available maintenance versions.", + "items": { + "type": "string" + }, + "type": "array" + }, "upcomingMaintenance": { "$ref": "UpcomingMaintenance", "description": "Optional. Upcoming maintenance for the database resource. This field is populated once SLM generates and publishes upcoming maintenance window." diff --git a/discovery/redis-v1beta1.json b/discovery/redis-v1beta1.json index b0ef125c344..3a694d136d5 100644 --- a/discovery/redis-v1beta1.json +++ b/discovery/redis-v1beta1.json @@ -1604,7 +1604,7 @@ } } }, - "revision": "20260423", + "revision": "20260526", "rootUrl": "https://redis.googleapis.com/", "schemas": { "AOFConfig": { @@ -3317,9 +3317,17 @@ "type": "object" }, "DatabaseResourceMetadata": { - "description": "Common model for database resource instance metadata. Next ID: 32", + "description": "Common model for database resource instance metadata. Next ID: 35", "id": "DatabaseResourceMetadata", "properties": { + "additionalMetadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Field to ingest additional metadata whichd does not support proto format.", + "type": "object" + }, "availabilityConfiguration": { "$ref": "AvailabilityConfiguration", "description": "Availability configuration for this instance" @@ -3473,6 +3481,18 @@ ], "type": "string" }, + "internalAdditionalMetadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Field to ingest additional metadata which support proto format.", + "type": "object" + }, + "ipAddress": { + "$ref": "IpAddress", + "description": "Optional. Private and public IP address of the resource." + }, "isDeletionProtectionEnabled": { "description": "Optional. Whether deletion protection is enabled for this resource.", "type": "boolean" @@ -4706,6 +4726,21 @@ }, "type": "object" }, + "IpAddress": { + "description": "Used to send IP address information for a database resource.", + "id": "IpAddress", + "properties": { + "privateIp": { + "description": "The private IP address assigned to the resource within a Virtual Private Cloud (VPC). This IP is only reachable from within the same VPC network. Stored in standard string format (e.g., \"10.0.0.2\").", + "type": "string" + }, + "publicIp": { + "description": "The public IP address assigned to the resource. This IP is reachable from the internet. Stored in standard string format (e.g., \"34.72.1.1\").", + "type": "string" + } + }, + "type": "object" + }, "ListAclPoliciesResponse": { "description": "Response for `ListAclPolicies`.", "id": "ListAclPoliciesResponse", @@ -5376,6 +5411,7 @@ "ENGINE_CLOUD_SPANNER_WITH_GOOGLESQL_DIALECT", "ENGINE_MEMORYSTORE_FOR_REDIS", "ENGINE_MEMORYSTORE_FOR_REDIS_CLUSTER", + "ENGINE_MEMORSTORE_FOR_VALKEY", "ENGINE_OTHER", "ENGINE_FIRESTORE_WITH_NATIVE_MODE", "ENGINE_FIRESTORE_WITH_DATASTORE_MODE", @@ -5402,6 +5438,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -5418,6 +5455,7 @@ "Cloud Spanner with Google SQL dialect.", "Memorystore with Redis dialect.", "Memorystore with Redis cluster dialect.", + "Memorystore with Valkey dialect.", "Other refers to rest of other database engine. This is to be when engine is known, but it is not present in this enum.", "Firestore with native mode.", "Firestore with datastore mode.", @@ -5912,6 +5950,13 @@ "description": "Optional. Current Maintenance version of the database resource. Example: \"MYSQL_8_0_41.R20250531.01_15\"", "type": "string" }, + "nextAvailableMaintenanceVersions": { + "description": "Optional. List of next available maintenance versions.", + "items": { + "type": "string" + }, + "type": "array" + }, "upcomingMaintenance": { "$ref": "UpcomingMaintenance", "description": "Optional. Upcoming maintenance for the database resource. This field is populated once SLM generates and publishes upcoming maintenance window." diff --git a/discovery/saasservicemgmt-v1.json b/discovery/saasservicemgmt-v1.json index e91ab55a26f..4b6ae82a022 100644 --- a/discovery/saasservicemgmt-v1.json +++ b/discovery/saasservicemgmt-v1.json @@ -991,6 +991,164 @@ } } }, + "saasReleases": { + "methods": { + "create": { + "description": "Create a new saas release.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/saasReleases", + "httpMethod": "POST", + "id": "saasservicemgmt.projects.locations.saasReleases.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent of the saas release.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests.", + "location": "query", + "type": "string" + }, + "saasReleaseId": { + "description": "Required. The ID value for the new saas release.", + "location": "query", + "type": "string" + }, + "validateOnly": { + "description": "If \"validate_only\" is set to true, the service will try to validate that this request would succeed, but will not actually make changes.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1/{+parent}/saasReleases", + "request": { + "$ref": "SaasRelease" + }, + "response": { + "$ref": "SaasRelease" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Delete a single saas release.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/saasReleases/{saasReleasesId}", + "httpMethod": "DELETE", + "id": "saasservicemgmt.projects.locations.saasReleases.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "etag": { + "description": "The etag known to the client for the expected state of the saas release.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The resource name of the resource within a service.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/saasReleases/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests.", + "location": "query", + "type": "string" + }, + "validateOnly": { + "description": "If \"validate_only\" is set to true, the service will try to validate that this request would succeed, but will not actually make changes.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Retrieve a single saas release.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/saasReleases/{saasReleasesId}", + "httpMethod": "GET", + "id": "saasservicemgmt.projects.locations.saasReleases.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the resource within a service.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/saasReleases/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "SaasRelease" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Retrieve a collection of saas releases.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/saasReleases", + "httpMethod": "GET", + "id": "saasservicemgmt.projects.locations.saasReleases.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Filter the list as specified in https://google.aip.dev/160.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Order results as specified in https://google.aip.dev/132.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of saas releases to send per page.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The page token: If the next_page_token from a previous response is provided, this request will send the subsequent page.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent of the saas releases.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/saasReleases", + "response": { + "$ref": "ListSaasReleasesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "tenants": { "methods": { "create": { @@ -1193,6 +1351,322 @@ } } }, + "unitGroupOperations": { + "methods": { + "create": { + "description": "Create a new unit group operation.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/unitGroupOperations", + "httpMethod": "POST", + "id": "saasservicemgmt.projects.locations.unitGroupOperations.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent of the unit group operation.", + "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" + }, + "unitGroupOperationId": { + "description": "Required. The ID value for the new unit group operation.", + "location": "query", + "type": "string" + }, + "validateOnly": { + "description": "Optional. If \"validate_only\" is set to true, the service will try to validate that this request would succeed, but will not actually make changes.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1/{+parent}/unitGroupOperations", + "request": { + "$ref": "UnitGroupOperation" + }, + "response": { + "$ref": "UnitGroupOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Delete a single unit group operation.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/unitGroupOperations/{unitGroupOperationsId}", + "httpMethod": "DELETE", + "id": "saasservicemgmt.projects.locations.unitGroupOperations.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "etag": { + "description": "Optional. The etag known to the client for the expected state of the unit group operation. This is used with state-changing methods to prevent accidental overwrites when multiple user agents might be acting in parallel on the same resource. An etag wildcard provide optimistic concurrency based on the expected existence of the unit group operation. The Any wildcard (`*`) requires that the resource must already exists, and the Not Any wildcard (`!*`) requires that it must not.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The resource name of the resource within a service.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/unitGroupOperations/[^/]+$", + "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" + }, + "validateOnly": { + "description": "Optional. If \"validate_only\" is set to true, the service will try to validate that this request would succeed, but will not actually make changes.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Retrieve a single unit group operation.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/unitGroupOperations/{unitGroupOperationsId}", + "httpMethod": "GET", + "id": "saasservicemgmt.projects.locations.unitGroupOperations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the resource within a service.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/unitGroupOperations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "UnitGroupOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Retrieve a collection of unit group operations.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/unitGroupOperations", + "httpMethod": "GET", + "id": "saasservicemgmt.projects.locations.unitGroupOperations.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Filter the list as specified in https://google.aip.dev/160.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Order results as specified in https://google.aip.dev/132.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of unit group operations to send per page.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The page token: If the next_page_token from a previous response is provided, this request will send the subsequent page.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent of the unit group operation.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/unitGroupOperations", + "response": { + "$ref": "ListUnitGroupOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "unitGroups": { + "methods": { + "create": { + "description": "Create a new unit group.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/unitGroups", + "httpMethod": "POST", + "id": "saasservicemgmt.projects.locations.unitGroups.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent of the unit group.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests.", + "location": "query", + "type": "string" + }, + "unitGroupId": { + "description": "Required. The ID value for the new unit group.", + "location": "query", + "type": "string" + }, + "validateOnly": { + "description": "If \"validate_only\" is set to true, the service will try to validate that this request would succeed, but will not actually make changes.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1/{+parent}/unitGroups", + "request": { + "$ref": "UnitGroup" + }, + "response": { + "$ref": "UnitGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Delete a single unit group.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/unitGroups/{unitGroupsId}", + "httpMethod": "DELETE", + "id": "saasservicemgmt.projects.locations.unitGroups.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "etag": { + "description": "The etag known to the client for the expected state of the unit group.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The resource name of the resource within a service.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/unitGroups/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests.", + "location": "query", + "type": "string" + }, + "validateOnly": { + "description": "If \"validate_only\" is set to true, the service will try to validate that this request would succeed, but will not actually make changes.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Retrieve a single unit group.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/unitGroups/{unitGroupsId}", + "httpMethod": "GET", + "id": "saasservicemgmt.projects.locations.unitGroups.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the resource within a service.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/unitGroups/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "UnitGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Retrieve a collection of unit groups.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/unitGroups", + "httpMethod": "GET", + "id": "saasservicemgmt.projects.locations.unitGroups.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Filter the list as specified in https://google.aip.dev/160.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Order results as specified in https://google.aip.dev/132.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of unit groups to send per page.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The page token: If the next_page_token from a previous response is provided, this request will send the subsequent page.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent of the unit group.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/unitGroups", + "response": { + "$ref": "ListUnitGroupsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "unitKinds": { "methods": { "create": { @@ -1804,7 +2278,7 @@ } } }, - "revision": "20260505", + "revision": "20260526", "rootUrl": "https://saasservicemgmt.googleapis.com/", "schemas": { "Aggregate": { @@ -1859,9 +2333,21 @@ }, "type": "object" }, - "Deprovision": { - "description": "Deprovision is the unit operation that deprovision the underlying resources represented by a Unit. Can only execute if the Unit is currently provisioned.", - "id": "Deprovision", + "Deprovision": { + "description": "Deprovision is the unit operation that deprovision the underlying resources represented by a Unit. Can only execute if the Unit is currently provisioned.", + "id": "Deprovision", + "properties": {}, + "type": "object" + }, + "DeprovisionUnitGroup": { + "description": "DeprovisionUnitGroup is the unit group operation that deprovisions the underlying resources represented by a UnitGroup.", + "id": "DeprovisionUnitGroup", + "properties": {}, + "type": "object" + }, + "DetachUnitGroup": { + "description": "DetachUnitGroup is the unit group operation that detaches a provisioned UnitGroup.", + "id": "DetachUnitGroup", "properties": {}, "type": "object" }, @@ -2041,6 +2527,31 @@ }, "type": "object" }, + "ListSaasReleasesResponse": { + "description": "The response structure for the ListSaasReleases method.", + "id": "ListSaasReleasesResponse", + "properties": { + "nextPageToken": { + "description": "If present, the next page token can be provided to a subsequent ListSaasReleases call to list the next page. If empty, there are no more pages.", + "type": "string" + }, + "saasReleases": { + "description": "The resulting saas releases.", + "items": { + "$ref": "SaasRelease" + }, + "type": "array" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "ListSaasResponse": { "description": "The response structure for the ListSaas method.", "id": "ListSaasResponse", @@ -2091,6 +2602,56 @@ }, "type": "object" }, + "ListUnitGroupOperationsResponse": { + "description": "The response structure for the ListUnitGroupOperations method.", + "id": "ListUnitGroupOperationsResponse", + "properties": { + "nextPageToken": { + "description": "If present, the next page token can be provided to a subsequent ListUnitGroupOperations call to list the next page. If empty, there are no more pages.", + "type": "string" + }, + "unitGroupOperations": { + "description": "The resulting unit group operations.", + "items": { + "$ref": "UnitGroupOperation" + }, + "type": "array" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListUnitGroupsResponse": { + "description": "The response structure for the ListUnitGroups method.", + "id": "ListUnitGroupsResponse", + "properties": { + "nextPageToken": { + "description": "If present, the next page token can be provided to a subsequent ListUnitGroups call to list the next page. If empty, there are no more pages.", + "type": "string" + }, + "unitGroups": { + "description": "The resulting unit groups.", + "items": { + "$ref": "UnitGroup" + }, + "type": "array" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "ListUnitKindsResponse": { "description": "The response structure for the ListUnitKinds method.", "id": "ListUnitKindsResponse", @@ -2207,6 +2768,12 @@ }, "type": "object" }, + "ProvisionUnitGroup": { + "description": "ProvisionUnitGroup is the unit group operation that provisions the underlying resources represented by a UnitGroup.", + "id": "ProvisionUnitGroup", + "properties": {}, + "type": "object" + }, "Release": { "description": "A new version to be propagated and deployed to units. This includes pointers to packaged blueprints for actuation (e.g Helm or Terraform configuration packages) via artifact registry.", "id": "Release", @@ -2642,33 +3209,18 @@ "type": "string" }, "state": { - "description": "Output only. State of the Saas. It is always in ACTIVE state if the application_template is empty.", + "description": "Output only. State of the Saas. It is always in STATE_ACTIVE state if the application_template is empty.", "enum": [ "STATE_TYPE_UNSPECIFIED", "STATE_ACTIVE", "STATE_RUNNING", - "STATE_FAILED", - "ACTIVE", - "RUNNING", - "FAILED" - ], - "enumDeprecated": [ - false, - false, - false, - false, - true, - true, - true + "STATE_FAILED" ], "enumDescriptions": [ "State type is unspecified.", "The Saas is ready", "In the process of importing, synchronizing or replicating ApplicationTemplates", - "Failure during process of importing, synchronizing or replicating ApplicationTemplate processing", - "Deprecated: Use STATE_ACTIVE.", - "Deprecated: Use STATE_RUNNING.", - "Deprecated: Use STATE_FAILED." + "Failure during process of importing, synchronizing or replicating ApplicationTemplate processing" ], "readOnly": true, "type": "string" @@ -2737,6 +3289,67 @@ }, "type": "object" }, + "SaasRelease": { + "description": "SaasRelease is a collection of Releases that are assigned to a UnitGroup. It allows provisioning and updates of UnitGroup, which contains multiple Units of different UnitKinds.", + "id": "SaasRelease", + "properties": { + "annotations": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations", + "type": "object" + }, + "createTime": { + "description": "Output only. The timestamp when the resource was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "etag": { + "description": "Output only. An opaque value that uniquely identifies a version or generation of a resource. It can be used to confirm that the client and server agree on the ordering of a resource being written.", + "readOnly": true, + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels.", + "type": "object" + }, + "name": { + "description": "Identifier. The resource name (full URI of the resource) following the standard naming scheme: \"projects/{project}/locations/{location}/saasReleases/{saasRelease}\"", + "type": "string" + }, + "releases": { + "description": "Required. The Releases that are assigned to this SaasRelease.", + "items": { + "type": "string" + }, + "type": "array" + }, + "tierMappings": { + "description": "Required. A mapping between Tiers and UnitKinds that are part of this SaasRelease. While Tiers are defined as top-level resources, the mapping between Tiers and Unit Kinds is defined per SaasRelease.", + "items": { + "$ref": "TierMapping" + }, + "type": "array" + }, + "uid": { + "description": "Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4.", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "Schedule": { "description": "A time specification to schedule the maintenance.", "id": "Schedule", @@ -2831,6 +3444,42 @@ }, "type": "object" }, + "TierMapping": { + "description": "TierMapping describes the mapping between a Tier and its associated UnitKinds.", + "id": "TierMapping", + "properties": { + "tier": { + "description": "Required. The tier.", + "type": "string" + }, + "unitKinds": { + "items": { + "$ref": "TierUnitKind" + }, + "type": "array" + } + }, + "type": "object" + }, + "TierUnitKind": { + "description": "A description of a single Unit Kind that is part of a Tier.", + "id": "TierUnitKind", + "properties": { + "inputVariables": { + "description": "Optional. Output only. Input variables for the UnitKind.", + "items": { + "$ref": "UnitVariable" + }, + "readOnly": true, + "type": "array" + }, + "unitKind": { + "description": "Required. Immutable. The unique identifier of the UnitKind.", + "type": "string" + } + }, + "type": "object" + }, "ToMapping": { "description": "Input variables whose values will be passed on to dependencies", "id": "ToMapping", @@ -3043,6 +3692,11 @@ "readOnly": true, "type": "string" }, + "unitGroup": { + "description": "Optional. Output only. Reference to the UnitGroup this unit belongs to.", + "readOnly": true, + "type": "string" + }, "unitKind": { "description": "Optional. Reference to the UnitKind this Unit belongs to. Immutable once set.", "type": "string" @@ -3129,6 +3783,147 @@ }, "type": "object" }, + "UnitGroup": { + "description": "UnitGroup represents a set of Units to be used by a Tenant. In pooling scenarios, the UnitGroup may be created and provisioned before the Tenant is created.", + "id": "UnitGroup", + "properties": { + "annotations": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations", + "type": "object" + }, + "createTime": { + "description": "Output only. The timestamp when the resource was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "etag": { + "description": "Output only. An opaque value that uniquely identifies a version or generation of a resource. It can be used to confirm that the client and server agree on the ordering of a resource being written.", + "readOnly": true, + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels.", + "type": "object" + }, + "name": { + "description": "Identifier. The resource name (full URI of the resource) following the standard naming scheme: \"projects/{project}/locations/{location}/unitGroups/{unitGroup}\"", + "type": "string" + }, + "saas": { + "description": "Required. Immutable. The SaaS that this UnitGroup is created for.", + "type": "string" + }, + "saasRelease": { + "description": "Required. Immutable. Current SaasRelease that the UnitGroup is provisioned with.", + "type": "string" + }, + "state": { + "description": "Optional. Output only. State of the UnitGroup.", + "enum": [ + "UNIT_GROUP_STATE_UNSPECIFIED", + "UNIT_GROUP_STATE_NOT_PROVISIONED", + "UNIT_GROUP_STATE_PROVISIONING", + "UNIT_GROUP_STATE_UPDATING", + "UNIT_GROUP_STATE_DEPROVISIONING", + "UNIT_GROUP_STATE_READY", + "UNIT_GROUP_STATE_ERROR" + ], + "enumDescriptions": [ + "Unspecified state.", + "UnitGroup is not provisioned.", + "UnitGroup is being provisioned.", + "UnitGroup is being updated.", + "UnitGroup is being deprovisioned.", + "UnitGroup has been provisioned and is ready for use.", + "UnitGroup has an error." + ], + "readOnly": true, + "type": "string" + }, + "uid": { + "description": "Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4.", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "UnitGroupOperation": { + "description": "UnitGroupOperation represents an operation on a UnitGroup.", + "id": "UnitGroupOperation", + "properties": { + "annotations": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations", + "type": "object" + }, + "createTime": { + "description": "Output only. The timestamp when the resource was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "deprovisionUnitGroup": { + "$ref": "DeprovisionUnitGroup", + "description": "Optional. Represents a deprovision operation on a UnitGroup." + }, + "detachUnitGroup": { + "$ref": "DetachUnitGroup", + "description": "Optional. Represents a detach operation on a UnitGroup." + }, + "etag": { + "description": "Output only. An opaque value that uniquely identifies a version or generation of a resource. It can be used to confirm that the client and server agree on the ordering of a resource being written.", + "readOnly": true, + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels.", + "type": "object" + }, + "name": { + "description": "Identifier. The resource name (full URI of the resource) following the standard naming scheme: \"projects/{project}/locations/{location}/unitGroupOperations/{unitGroupOperation}\"", + "type": "string" + }, + "provisionUnitGroup": { + "$ref": "ProvisionUnitGroup", + "description": "Optional. Represents a provision operation on a UnitGroup." + }, + "tier": { + "description": "Optional. Tier represents the tier level of the UnitGroupOperation.", + "type": "string" + }, + "uid": { + "description": "Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4.", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "UnitKind": { "description": "Definition of a Unit. Units belonging to the same UnitKind are managed together; for example they follow the same release model (blueprints, versions etc.) and are typically rolled out together.", "id": "UnitKind", @@ -3140,6 +3935,21 @@ "description": "Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations", "type": "object" }, + "boundaryType": { + "description": "Optional. Output only. BoundaryType describes the type of boundary the Unit Kind represents.", + "enum": [ + "BOUNDARY_TYPE_UNSPECIFIED", + "BOUNDARY_TYPE_TENANT_PROJECT", + "BOUNDARY_TYPE_MANAGED_PROJECT" + ], + "enumDescriptions": [ + "", + "Tenant project boundary.", + "" + ], + "readOnly": true, + "type": "string" + }, "createTime": { "description": "Output only. The timestamp when the resource was created.", "format": "google-datetime", @@ -3300,7 +4110,8 @@ "type": "string" }, "provision": { - "$ref": "Provision" + "$ref": "Provision", + "description": "Optional. Provision operation." }, "rollout": { "description": "Optional. Specifies which rollout created this Unit Operation. This cannot be modified and is used for filtering purposes only. If a dependent unit and unit operation are created as part of another unit operation, they will use the same rolloutId.", diff --git a/discovery/saasservicemgmt-v1beta1.json b/discovery/saasservicemgmt-v1beta1.json index bcf3f1d79ea..2ec65652a28 100644 --- a/discovery/saasservicemgmt-v1beta1.json +++ b/discovery/saasservicemgmt-v1beta1.json @@ -1799,6 +1799,208 @@ } } }, + "saasReleases": { + "methods": { + "create": { + "description": "Create a new saas release.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/saasReleases", + "httpMethod": "POST", + "id": "saasservicemgmt.projects.locations.saasReleases.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent of the saas release.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests.", + "location": "query", + "type": "string" + }, + "saasReleaseId": { + "description": "Required. The ID value for the new saas release.", + "location": "query", + "type": "string" + }, + "validateOnly": { + "description": "If \"validate_only\" is set to true, the service will try to validate that this request would succeed, but will not actually make changes.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1beta1/{+parent}/saasReleases", + "request": { + "$ref": "SaasRelease" + }, + "response": { + "$ref": "SaasRelease" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Delete a single saas release.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/saasReleases/{saasReleasesId}", + "httpMethod": "DELETE", + "id": "saasservicemgmt.projects.locations.saasReleases.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "etag": { + "description": "The etag known to the client for the expected state of the saas release.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The resource name of the resource within a service.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/saasReleases/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests.", + "location": "query", + "type": "string" + }, + "validateOnly": { + "description": "If \"validate_only\" is set to true, the service will try to validate that this request would succeed, but will not actually make changes.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Retrieve a single saas release.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/saasReleases/{saasReleasesId}", + "httpMethod": "GET", + "id": "saasservicemgmt.projects.locations.saasReleases.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the resource within a service.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/saasReleases/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "SaasRelease" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Retrieve a collection of saas releases.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/saasReleases", + "httpMethod": "GET", + "id": "saasservicemgmt.projects.locations.saasReleases.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Filter the list as specified in https://google.aip.dev/160.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Order results as specified in https://google.aip.dev/132.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of saas releases to send per page.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The page token: If the next_page_token from a previous response is provided, this request will send the subsequent page.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent of the saas releases.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/saasReleases", + "response": { + "$ref": "ListSaasReleasesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Update a single saas release.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/saasReleases/{saasReleasesId}", + "httpMethod": "PATCH", + "id": "saasservicemgmt.projects.locations.saasReleases.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The resource name (full URI of the resource) following the standard naming scheme: \"projects/{project}/locations/{location}/saasReleases/{saasRelease}\"", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/saasReleases/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests.", + "location": "query", + "type": "string" + }, + "updateMask": { + "description": "Field mask is used to specify the fields to be overwritten.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + }, + "validateOnly": { + "description": "If \"validate_only\" is set to true, the service will try to validate that this request would succeed, but will not actually make changes.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1beta1/{+name}", + "request": { + "$ref": "SaasRelease" + }, + "response": { + "$ref": "SaasRelease" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "tenants": { "methods": { "create": { @@ -2001,6 +2203,410 @@ } } }, + "unitGroupOperations": { + "methods": { + "create": { + "description": "Create a new unit group operation.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/unitGroupOperations", + "httpMethod": "POST", + "id": "saasservicemgmt.projects.locations.unitGroupOperations.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent of the unit group operation.", + "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" + }, + "unitGroupOperationId": { + "description": "Required. The ID value for the new unit group operation.", + "location": "query", + "type": "string" + }, + "validateOnly": { + "description": "Optional. If \"validate_only\" is set to true, the service will try to validate that this request would succeed, but will not actually make changes.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1beta1/{+parent}/unitGroupOperations", + "request": { + "$ref": "UnitGroupOperation" + }, + "response": { + "$ref": "UnitGroupOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Delete a single unit group operation.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/unitGroupOperations/{unitGroupOperationsId}", + "httpMethod": "DELETE", + "id": "saasservicemgmt.projects.locations.unitGroupOperations.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "etag": { + "description": "Optional. The etag known to the client for the expected state of the unit group operation. This is used with state-changing methods to prevent accidental overwrites when multiple user agents might be acting in parallel on the same resource. An etag wildcard provide optimistic concurrency based on the expected existence of the unit group operation. The Any wildcard (`*`) requires that the resource must already exists, and the Not Any wildcard (`!*`) requires that it must not.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The resource name of the resource within a service.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/unitGroupOperations/[^/]+$", + "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" + }, + "validateOnly": { + "description": "Optional. If \"validate_only\" is set to true, the service will try to validate that this request would succeed, but will not actually make changes.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Retrieve a single unit group operation.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/unitGroupOperations/{unitGroupOperationsId}", + "httpMethod": "GET", + "id": "saasservicemgmt.projects.locations.unitGroupOperations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the resource within a service.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/unitGroupOperations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "UnitGroupOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Retrieve a collection of unit group operations.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/unitGroupOperations", + "httpMethod": "GET", + "id": "saasservicemgmt.projects.locations.unitGroupOperations.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Filter the list as specified in https://google.aip.dev/160.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Order results as specified in https://google.aip.dev/132.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of unit group operations to send per page.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The page token: If the next_page_token from a previous response is provided, this request will send the subsequent page.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent of the unit group operation.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/unitGroupOperations", + "response": { + "$ref": "ListUnitGroupOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Update a single unit group operation.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/unitGroupOperations/{unitGroupOperationsId}", + "httpMethod": "PATCH", + "id": "saasservicemgmt.projects.locations.unitGroupOperations.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The resource name (full URI of the resource) following the standard naming scheme: \"projects/{project}/locations/{location}/unitGroupOperations/{unitGroupOperation}\"", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/unitGroupOperations/[^/]+$", + "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 is used to specify the fields to be overwritten in the UnitGroupOperation 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 in the UnitGroupOperation will be overwritten.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + }, + "validateOnly": { + "description": "Optional. If \"validate_only\" is set to true, the service will try to validate that this request would succeed, but will not actually make changes.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1beta1/{+name}", + "request": { + "$ref": "UnitGroupOperation" + }, + "response": { + "$ref": "UnitGroupOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "unitGroups": { + "methods": { + "create": { + "description": "Create a new unit group.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/unitGroups", + "httpMethod": "POST", + "id": "saasservicemgmt.projects.locations.unitGroups.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent of the unit group.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests.", + "location": "query", + "type": "string" + }, + "unitGroupId": { + "description": "Required. The ID value for the new unit group.", + "location": "query", + "type": "string" + }, + "validateOnly": { + "description": "If \"validate_only\" is set to true, the service will try to validate that this request would succeed, but will not actually make changes.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1beta1/{+parent}/unitGroups", + "request": { + "$ref": "UnitGroup" + }, + "response": { + "$ref": "UnitGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Delete a single unit group.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/unitGroups/{unitGroupsId}", + "httpMethod": "DELETE", + "id": "saasservicemgmt.projects.locations.unitGroups.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "etag": { + "description": "The etag known to the client for the expected state of the unit group.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The resource name of the resource within a service.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/unitGroups/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests.", + "location": "query", + "type": "string" + }, + "validateOnly": { + "description": "If \"validate_only\" is set to true, the service will try to validate that this request would succeed, but will not actually make changes.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Retrieve a single unit group.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/unitGroups/{unitGroupsId}", + "httpMethod": "GET", + "id": "saasservicemgmt.projects.locations.unitGroups.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the resource within a service.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/unitGroups/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "UnitGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Retrieve a collection of unit groups.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/unitGroups", + "httpMethod": "GET", + "id": "saasservicemgmt.projects.locations.unitGroups.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Filter the list as specified in https://google.aip.dev/160.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Order results as specified in https://google.aip.dev/132.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of unit groups to send per page.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The page token: If the next_page_token from a previous response is provided, this request will send the subsequent page.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent of the unit group.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/unitGroups", + "response": { + "$ref": "ListUnitGroupsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Update a single unit group.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/unitGroups/{unitGroupsId}", + "httpMethod": "PATCH", + "id": "saasservicemgmt.projects.locations.unitGroups.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The resource name (full URI of the resource) following the standard naming scheme: \"projects/{project}/locations/{location}/unitGroups/{unitGroup}\"", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/unitGroups/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests.", + "location": "query", + "type": "string" + }, + "updateMask": { + "description": "Field mask is used to specify the fields to be overwritten.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + }, + "validateOnly": { + "description": "If \"validate_only\" is set to true, the service will try to validate that this request would succeed, but will not actually make changes.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1beta1/{+name}", + "request": { + "$ref": "UnitGroup" + }, + "response": { + "$ref": "UnitGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "unitKinds": { "methods": { "create": { @@ -2612,7 +3218,7 @@ } } }, - "revision": "20260505", + "revision": "20260526", "rootUrl": "https://saasservicemgmt.googleapis.com/", "schemas": { "Aggregate": { @@ -2763,9 +3369,21 @@ }, "type": "object" }, - "Deprovision": { - "description": "Deprovision is the unit operation that deprovision the underlying resources represented by a Unit. Can only execute if the Unit is currently provisioned.", - "id": "Deprovision", + "Deprovision": { + "description": "Deprovision is the unit operation that deprovision the underlying resources represented by a Unit. Can only execute if the Unit is currently provisioned.", + "id": "Deprovision", + "properties": {}, + "type": "object" + }, + "DeprovisionUnitGroup": { + "description": "DeprovisionUnitGroup is the unit group operation that deprovisions the underlying resources represented by a UnitGroup.", + "id": "DeprovisionUnitGroup", + "properties": {}, + "type": "object" + }, + "DetachUnitGroup": { + "description": "DetachUnitGroup is the unit group operation that detaches a provisioned UnitGroup.", + "id": "DetachUnitGroup", "properties": {}, "type": "object" }, @@ -3566,6 +4184,31 @@ }, "type": "object" }, + "ListSaasReleasesResponse": { + "description": "The response structure for the ListSaasReleases method.", + "id": "ListSaasReleasesResponse", + "properties": { + "nextPageToken": { + "description": "If present, the next page token can be provided to a subsequent ListSaasReleases call to list the next page. If empty, there are no more pages.", + "type": "string" + }, + "saasReleases": { + "description": "The resulting saas releases.", + "items": { + "$ref": "SaasRelease" + }, + "type": "array" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "ListSaasResponse": { "description": "The response structure for the ListSaas method.", "id": "ListSaasResponse", @@ -3616,6 +4259,56 @@ }, "type": "object" }, + "ListUnitGroupOperationsResponse": { + "description": "The response structure for the ListUnitGroupOperations method.", + "id": "ListUnitGroupOperationsResponse", + "properties": { + "nextPageToken": { + "description": "If present, the next page token can be provided to a subsequent ListUnitGroupOperations call to list the next page. If empty, there are no more pages.", + "type": "string" + }, + "unitGroupOperations": { + "description": "The resulting unit group operations.", + "items": { + "$ref": "UnitGroupOperation" + }, + "type": "array" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListUnitGroupsResponse": { + "description": "The response structure for the ListUnitGroups method.", + "id": "ListUnitGroupsResponse", + "properties": { + "nextPageToken": { + "description": "If present, the next page token can be provided to a subsequent ListUnitGroups call to list the next page. If empty, there are no more pages.", + "type": "string" + }, + "unitGroups": { + "description": "The resulting unit groups.", + "items": { + "$ref": "UnitGroup" + }, + "type": "array" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "ListUnitKindsResponse": { "description": "The response structure for the ListUnitKinds method.", "id": "ListUnitKindsResponse", @@ -3732,6 +4425,12 @@ }, "type": "object" }, + "ProvisionUnitGroup": { + "description": "ProvisionUnitGroup is the unit group operation that provisions the underlying resources represented by a UnitGroup.", + "id": "ProvisionUnitGroup", + "properties": {}, + "type": "object" + }, "Release": { "description": "A new version to be propagated and deployed to units. This includes pointers to packaged blueprints for actuation (e.g Helm or Terraform configuration packages) via artifact registry.", "id": "Release", @@ -4181,33 +4880,18 @@ "type": "string" }, "state": { - "description": "Output only. State of the Saas. It is always in ACTIVE state if the application_template is empty.", + "description": "Output only. State of the Saas. It is always in STATE_ACTIVE state if the application_template is empty.", "enum": [ "STATE_TYPE_UNSPECIFIED", "STATE_ACTIVE", "STATE_RUNNING", - "STATE_FAILED", - "ACTIVE", - "RUNNING", - "FAILED" - ], - "enumDeprecated": [ - false, - false, - false, - false, - true, - true, - true + "STATE_FAILED" ], "enumDescriptions": [ "State type is unspecified.", "The Saas is ready", "In the process of importing, synchronizing or replicating ApplicationTemplates", - "Failure during process of importing, synchronizing or replicating ApplicationTemplate processing", - "Deprecated: Use STATE_ACTIVE.", - "Deprecated: Use STATE_RUNNING.", - "Deprecated: Use STATE_FAILED." + "Failure during process of importing, synchronizing or replicating ApplicationTemplate processing" ], "readOnly": true, "type": "string" @@ -4276,6 +4960,67 @@ }, "type": "object" }, + "SaasRelease": { + "description": "SaasRelease is a collection of Releases that are assigned to a UnitGroup. It allows provisioning and updates of UnitGroup, which contains multiple Units of different UnitKinds.", + "id": "SaasRelease", + "properties": { + "annotations": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations", + "type": "object" + }, + "createTime": { + "description": "Output only. The timestamp when the resource was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "etag": { + "description": "Output only. An opaque value that uniquely identifies a version or generation of a resource. It can be used to confirm that the client and server agree on the ordering of a resource being written.", + "readOnly": true, + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels.", + "type": "object" + }, + "name": { + "description": "Identifier. The resource name (full URI of the resource) following the standard naming scheme: \"projects/{project}/locations/{location}/saasReleases/{saasRelease}\"", + "type": "string" + }, + "releases": { + "description": "Required. The Releases that are assigned to this SaasRelease.", + "items": { + "type": "string" + }, + "type": "array" + }, + "tierMappings": { + "description": "Required. A mapping between Tiers and UnitKinds that are part of this SaasRelease. While Tiers are defined as top-level resources, the mapping between Tiers and Unit Kinds is defined per SaasRelease.", + "items": { + "$ref": "TierMapping" + }, + "type": "array" + }, + "uid": { + "description": "Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4.", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "Schedule": { "description": "A time specification to schedule the maintenance.", "id": "Schedule", @@ -4297,23 +5042,12 @@ "enum": [ "TYPE_UNSPECIFIED", "TYPE_REGIONAL", - "TYPE_GLOBAL", - "REGIONAL", - "GLOBAL" - ], - "enumDeprecated": [ - false, - false, - false, - true, - true + "TYPE_GLOBAL" ], "enumDescriptions": [ "Unspecified type.", "Regional type.", - "Global type.", - "Deprecated: Use TYPE_REGIONAL.", - "Deprecated: Use TYPE_GLOBAL." + "Global type." ], "type": "string" } @@ -4402,6 +5136,42 @@ }, "type": "object" }, + "TierMapping": { + "description": "TierMapping describes the mapping between a Tier and its associated UnitKinds.", + "id": "TierMapping", + "properties": { + "tier": { + "description": "Required. The tier.", + "type": "string" + }, + "unitKinds": { + "items": { + "$ref": "TierUnitKind" + }, + "type": "array" + } + }, + "type": "object" + }, + "TierUnitKind": { + "description": "A description of a single Unit Kind that is part of a Tier.", + "id": "TierUnitKind", + "properties": { + "inputVariables": { + "description": "Optional. Output only. Input variables for the UnitKind.", + "items": { + "$ref": "UnitVariable" + }, + "readOnly": true, + "type": "array" + }, + "unitKind": { + "description": "Required. Immutable. The unique identifier of the UnitKind.", + "type": "string" + } + }, + "type": "object" + }, "ToMapping": { "description": "Input variables whose values will be passed on to dependencies", "id": "ToMapping", @@ -4623,6 +5393,11 @@ "readOnly": true, "type": "string" }, + "unitGroup": { + "description": "Optional. Output only. Reference to the UnitGroup this unit belongs to.", + "readOnly": true, + "type": "string" + }, "unitKind": { "description": "Optional. Reference to the UnitKind this Unit belongs to. Immutable once set.", "type": "string" @@ -4709,6 +5484,147 @@ }, "type": "object" }, + "UnitGroup": { + "description": "UnitGroup represents a set of Units to be used by a Tenant. In pooling scenarios, the UnitGroup may be created and provisioned before the Tenant is created.", + "id": "UnitGroup", + "properties": { + "annotations": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations", + "type": "object" + }, + "createTime": { + "description": "Output only. The timestamp when the resource was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "etag": { + "description": "Output only. An opaque value that uniquely identifies a version or generation of a resource. It can be used to confirm that the client and server agree on the ordering of a resource being written.", + "readOnly": true, + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels.", + "type": "object" + }, + "name": { + "description": "Identifier. The resource name (full URI of the resource) following the standard naming scheme: \"projects/{project}/locations/{location}/unitGroups/{unitGroup}\"", + "type": "string" + }, + "saas": { + "description": "Required. Immutable. The SaaS that this UnitGroup is created for.", + "type": "string" + }, + "saasRelease": { + "description": "Required. Immutable. Current SaasRelease that the UnitGroup is provisioned with.", + "type": "string" + }, + "state": { + "description": "Optional. Output only. State of the UnitGroup.", + "enum": [ + "UNIT_GROUP_STATE_UNSPECIFIED", + "UNIT_GROUP_STATE_NOT_PROVISIONED", + "UNIT_GROUP_STATE_PROVISIONING", + "UNIT_GROUP_STATE_UPDATING", + "UNIT_GROUP_STATE_DEPROVISIONING", + "UNIT_GROUP_STATE_READY", + "UNIT_GROUP_STATE_ERROR" + ], + "enumDescriptions": [ + "Unspecified state.", + "UnitGroup is not provisioned.", + "UnitGroup is being provisioned.", + "UnitGroup is being updated.", + "UnitGroup is being deprovisioned.", + "UnitGroup has been provisioned and is ready for use.", + "UnitGroup has an error." + ], + "readOnly": true, + "type": "string" + }, + "uid": { + "description": "Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4.", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "UnitGroupOperation": { + "description": "UnitGroupOperation represents an operation on a UnitGroup.", + "id": "UnitGroupOperation", + "properties": { + "annotations": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations", + "type": "object" + }, + "createTime": { + "description": "Output only. The timestamp when the resource was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "deprovisionUnitGroup": { + "$ref": "DeprovisionUnitGroup", + "description": "Optional. Represents a deprovision operation on a UnitGroup." + }, + "detachUnitGroup": { + "$ref": "DetachUnitGroup", + "description": "Optional. Represents a detach operation on a UnitGroup." + }, + "etag": { + "description": "Output only. An opaque value that uniquely identifies a version or generation of a resource. It can be used to confirm that the client and server agree on the ordering of a resource being written.", + "readOnly": true, + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels.", + "type": "object" + }, + "name": { + "description": "Identifier. The resource name (full URI of the resource) following the standard naming scheme: \"projects/{project}/locations/{location}/unitGroupOperations/{unitGroupOperation}\"", + "type": "string" + }, + "provisionUnitGroup": { + "$ref": "ProvisionUnitGroup", + "description": "Optional. Represents a provision operation on a UnitGroup." + }, + "tier": { + "description": "Optional. Tier represents the tier level of the UnitGroupOperation.", + "type": "string" + }, + "uid": { + "description": "Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4.", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "UnitKind": { "description": "Definition of a Unit. Units belonging to the same UnitKind are managed together; for example they follow the same release model (blueprints, versions etc.) and are typically rolled out together.", "id": "UnitKind", @@ -4729,6 +5645,21 @@ "description": "Output only. Reference to component and revision in a composite ApplicationTemplate.", "readOnly": true }, + "boundaryType": { + "description": "Optional. Output only. BoundaryType describes the type of boundary the Unit Kind represents.", + "enum": [ + "BOUNDARY_TYPE_UNSPECIFIED", + "BOUNDARY_TYPE_TENANT_PROJECT", + "BOUNDARY_TYPE_MANAGED_PROJECT" + ], + "enumDescriptions": [ + "", + "Tenant project boundary.", + "" + ], + "readOnly": true, + "type": "string" + }, "createTime": { "description": "Output only. The timestamp when the resource was created.", "format": "google-datetime", @@ -4889,7 +5820,8 @@ "type": "string" }, "provision": { - "$ref": "Provision" + "$ref": "Provision", + "description": "Optional. Provision operation." }, "rollout": { "description": "Optional. Specifies which rollout created this Unit Operation. This cannot be modified and is used for filtering purposes only. If a dependent unit and unit operation are created as part of another unit operation, they will use the same rolloutId.", diff --git a/discovery/searchads360-v23.json b/discovery/searchads360-v23.json new file mode 100644 index 00000000000..403e5122e2e --- /dev/null +++ b/discovery/searchads360-v23.json @@ -0,0 +1,59984 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/doubleclicksearch": { + "description": "View and manage your advertising data in DoubleClick Search" + } + } + } + }, + "basePath": "", + "baseUrl": "https://searchads360.googleapis.com/", + "batchPath": "batch", + "canonicalName": "SA360", + "description": "The Search Ads 360 API allows developers to automate downloading reports from Search Ads 360.", + "discoveryVersion": "v1", + "documentationLink": "https://developers.google.com/search-ads/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": "searchads360:v23", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://searchads360.mtls.googleapis.com/", + "name": "searchads360", + "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": { + "audienceInsights": { + "methods": { + "listInsightsEligibleDates": { + "description": "Lists date ranges for which audience insights data can be requested. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [RequestError]()", + "flatPath": "v23/audienceInsights:listInsightsEligibleDates", + "httpMethod": "POST", + "id": "searchads360.audienceInsights.listInsightsEligibleDates", + "parameterOrder": [], + "parameters": {}, + "path": "v23/audienceInsights:listInsightsEligibleDates", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__ListInsightsEligibleDatesRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__ListInsightsEligibleDatesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "customers": { + "methods": { + "createCustomerClient": { + "description": "Creates a new client under manager. The new client customer is returned. List of thrown errors: [AccessInvitationError]() [AuthenticationError]() [AuthorizationError]() [CurrencyCodeError]() [HeaderError]() [InternalError]() [ManagerLinkError]() [QuotaError]() [RequestError]() [StringLengthError]() [TimeZoneError]()", + "flatPath": "v23/customers/{customersId}:createCustomerClient", + "httpMethod": "POST", + "id": "searchads360.customers.createCustomerClient", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the Manager under whom client customer is being created.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}:createCustomerClient", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__CreateCustomerClientRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__CreateCustomerClientResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + }, + "generateAdGroupThemes": { + "description": "Returns a list of suggested AdGroups and suggested modifications (text, match type) for the given keywords. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CollectionSizeError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", + "flatPath": "v23/customers/{customersId}:generateAdGroupThemes", + "httpMethod": "POST", + "id": "searchads360.customers.generateAdGroupThemes", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}:generateAdGroupThemes", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__GenerateAdGroupThemesRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__GenerateAdGroupThemesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + }, + "generateAudienceCompositionInsights": { + "description": "Returns a collection of attributes that are represented in an audience of interest, with metrics that compare each attribute's share of the audience with its share of a baseline audience. List of thrown errors: [AudienceInsightsError]() [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [RequestError]()", + "flatPath": "v23/customers/{customersId}:generateAudienceCompositionInsights", + "httpMethod": "POST", + "id": "searchads360.customers.generateAudienceCompositionInsights", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}:generateAudienceCompositionInsights", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__GenerateAudienceCompositionInsightsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__GenerateAudienceCompositionInsightsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + }, + "generateAudienceDefinition": { + "description": "Returns a collection of audience attributes using generative AI based on the provided audience description. List of thrown errors: [AudienceInsightsError]() [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", + "flatPath": "v23/customers/{customersId}:generateAudienceDefinition", + "httpMethod": "POST", + "id": "searchads360.customers.generateAudienceDefinition", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}:generateAudienceDefinition", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__GenerateAudienceDefinitionRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__GenerateAudienceDefinitionResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + }, + "generateAudienceOverlapInsights": { + "description": "Returns a collection of audience attributes along with estimates of the overlap between their potential YouTube reach and that of a given input attribute. List of thrown errors: [AudienceInsightsError]() [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [RequestError]()", + "flatPath": "v23/customers/{customersId}:generateAudienceOverlapInsights", + "httpMethod": "POST", + "id": "searchads360.customers.generateAudienceOverlapInsights", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}:generateAudienceOverlapInsights", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__GenerateAudienceOverlapInsightsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__GenerateAudienceOverlapInsightsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + }, + "generateBenchmarksMetrics": { + "description": "Returns YouTube advertisement metrics for the given client against industry benchmarks. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [BenchmarksError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [RequestError]()", + "flatPath": "v23/customers/{customersId}:generateBenchmarksMetrics", + "httpMethod": "POST", + "id": "searchads360.customers.generateBenchmarksMetrics", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer. Supply a client customer ID to generate metrics for the customer. A manager account customer ID will not return customer metrics since it does not have any associated direct ad campaigns.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}:generateBenchmarksMetrics", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__GenerateBenchmarksMetricsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__GenerateBenchmarksMetricsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + }, + "generateInsightsFinderReport": { + "description": "Creates a saved report that can be viewed in the Insights Finder tool. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [RequestError]()", + "flatPath": "v23/customers/{customersId}:generateInsightsFinderReport", + "httpMethod": "POST", + "id": "searchads360.customers.generateInsightsFinderReport", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}:generateInsightsFinderReport", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__GenerateInsightsFinderReportRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__GenerateInsightsFinderReportResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + }, + "generateKeywordForecastMetrics": { + "description": "Returns metrics (such as impressions, clicks, total cost) of a keyword forecast for the given campaign. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CollectionSizeError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", + "flatPath": "v23/customers/{customersId}:generateKeywordForecastMetrics", + "httpMethod": "POST", + "id": "searchads360.customers.generateKeywordForecastMetrics", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "The ID of the customer.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}:generateKeywordForecastMetrics", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__GenerateKeywordForecastMetricsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__GenerateKeywordForecastMetricsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + }, + "generateKeywordHistoricalMetrics": { + "description": "Returns a list of keyword historical metrics. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CollectionSizeError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", + "flatPath": "v23/customers/{customersId}:generateKeywordHistoricalMetrics", + "httpMethod": "POST", + "id": "searchads360.customers.generateKeywordHistoricalMetrics", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "The ID of the customer with the recommendation.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}:generateKeywordHistoricalMetrics", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__GenerateKeywordHistoricalMetricsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__GenerateKeywordHistoricalMetricsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + }, + "generateKeywordIdeas": { + "description": "Returns a list of keyword ideas. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CollectionSizeError]() [HeaderError]() [InternalError]() [KeywordPlanIdeaError]() [QuotaError]() [RequestError]()", + "flatPath": "v23/customers/{customersId}:generateKeywordIdeas", + "httpMethod": "POST", + "id": "searchads360.customers.generateKeywordIdeas", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "The ID of the customer with the recommendation.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}:generateKeywordIdeas", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__GenerateKeywordIdeasRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__GenerateKeywordIdeaResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + }, + "generateReachForecast": { + "description": "Generates a reach forecast for a given targeting / product mix. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [ReachPlanError]() [RequestError]()", + "flatPath": "v23/customers/{customersId}:generateReachForecast", + "httpMethod": "POST", + "id": "searchads360.customers.generateReachForecast", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}:generateReachForecast", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__GenerateReachForecastRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__GenerateReachForecastResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + }, + "generateSuggestedTargetingInsights": { + "description": "Returns a collection of targeting insights (e.g. targetable audiences) that are relevant to the requested audience. List of thrown errors: [AudienceInsightsError]() [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [RequestError]()", + "flatPath": "v23/customers/{customersId}:generateSuggestedTargetingInsights", + "httpMethod": "POST", + "id": "searchads360.customers.generateSuggestedTargetingInsights", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}:generateSuggestedTargetingInsights", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__GenerateSuggestedTargetingInsightsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__GenerateSuggestedTargetingInsightsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + }, + "generateTargetingSuggestionMetrics": { + "description": "Returns potential reach metrics for targetable audiences. This method helps answer questions like \"How many Men aged 18+ interested in Camping can be reached on YouTube?\" List of thrown errors: [AudienceInsightsError]() [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [RequestError]()", + "flatPath": "v23/customers/{customersId}:generateTargetingSuggestionMetrics", + "httpMethod": "POST", + "id": "searchads360.customers.generateTargetingSuggestionMetrics", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}:generateTargetingSuggestionMetrics", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__GenerateTargetingSuggestionMetricsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__GenerateTargetingSuggestionMetricsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + }, + "getIdentityVerification": { + "description": "Returns Identity Verification information. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", + "flatPath": "v23/customers/{customersId}/getIdentityVerification", + "httpMethod": "GET", + "id": "searchads360.customers.getIdentityVerification", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer for whom we are requesting verification information.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/getIdentityVerification", + "response": { + "$ref": "GoogleAdsSearchads360V23Services__GetIdentityVerificationResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + }, + "listAccessibleCustomers": { + "description": "Returns resource names of customers directly accessible by the user authenticating the call. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", + "flatPath": "v23/customers:listAccessibleCustomers", + "httpMethod": "GET", + "id": "searchads360.customers.listAccessibleCustomers", + "parameterOrder": [], + "parameters": {}, + "path": "v23/customers:listAccessibleCustomers", + "response": { + "$ref": "GoogleAdsSearchads360V23Services__ListAccessibleCustomersResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + }, + "mutate": { + "description": "Updates a customer. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldMaskError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() [UrlFieldError]()", + "flatPath": "v23/customers/{customersId}:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCustomerRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCustomerResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + }, + "removeCampaignAutomaticallyCreatedAsset": { + "description": "Removes automatically created assets from a campaign. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ContextError]() [FieldError]() [InternalError]() [MutateError]() [PartialFailureError]() [QuotaError]() [RequestError]()", + "flatPath": "v23/customers/{customersId}:removeCampaignAutomaticallyCreatedAsset", + "httpMethod": "POST", + "id": "searchads360.customers.removeCampaignAutomaticallyCreatedAsset", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer whose assets are being removed.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}:removeCampaignAutomaticallyCreatedAsset", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__RemoveCampaignAutomaticallyCreatedAssetRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__RemoveCampaignAutomaticallyCreatedAssetResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + }, + "searchAudienceInsightsAttributes": { + "description": "Searches for audience attributes that can be used to generate insights. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [RequestError]()", + "flatPath": "v23/customers/{customersId}:searchAudienceInsightsAttributes", + "httpMethod": "POST", + "id": "searchads360.customers.searchAudienceInsightsAttributes", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}:searchAudienceInsightsAttributes", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__ListAudienceInsightsAttributesRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__ListAudienceInsightsAttributesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + }, + "startIdentityVerification": { + "description": "Starts Identity Verification for a given verification program type. Statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", + "flatPath": "v23/customers/{customersId}:startIdentityVerification", + "httpMethod": "POST", + "id": "searchads360.customers.startIdentityVerification", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The Id of the customer for whom we are creating this verification.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}:startIdentityVerification", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__StartIdentityVerificationRequest" + }, + "response": { + "$ref": "GoogleProtobuf__Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + }, + "suggestKeywordThemes": { + "description": "Suggests keyword themes to advertise on.", + "flatPath": "v23/customers/{customersId}:suggestKeywordThemes", + "httpMethod": "POST", + "id": "searchads360.customers.suggestKeywordThemes", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}:suggestKeywordThemes", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__SuggestKeywordThemesRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__SuggestKeywordThemesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + }, + "suggestSmartCampaignAd": { + "description": "Suggests a Smart campaign ad compatible with the Ad family of resources, based on data points such as targeting and the business to advertise.", + "flatPath": "v23/customers/{customersId}:suggestSmartCampaignAd", + "httpMethod": "POST", + "id": "searchads360.customers.suggestSmartCampaignAd", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}:suggestSmartCampaignAd", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__SuggestSmartCampaignAdRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__SuggestSmartCampaignAdResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + }, + "suggestSmartCampaignBudgetOptions": { + "description": "Returns BudgetOption suggestions.", + "flatPath": "v23/customers/{customersId}:suggestSmartCampaignBudgetOptions", + "httpMethod": "POST", + "id": "searchads360.customers.suggestSmartCampaignBudgetOptions", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer whose budget options are to be suggested.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}:suggestSmartCampaignBudgetOptions", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__SuggestSmartCampaignBudgetOptionsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__SuggestSmartCampaignBudgetOptionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + }, + "suggestTravelAssets": { + "description": "Returns Travel Asset suggestions. Asset suggestions are returned on a best-effort basis. There are no guarantees that all possible asset types will be returned for any given hotel property.", + "flatPath": "v23/customers/{customersId}:suggestTravelAssets", + "httpMethod": "POST", + "id": "searchads360.customers.suggestTravelAssets", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}:suggestTravelAssets", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__SuggestTravelAssetsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__SuggestTravelAssetsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + }, + "uploadUserData": { + "description": "Uploads the given user data. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CollectionSizeError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [OfflineUserDataJobError]() [QuotaError]() [RequestError]() [UserDataError]()", + "flatPath": "v23/customers/{customersId}:uploadUserData", + "httpMethod": "POST", + "id": "searchads360.customers.uploadUserData", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer for which to update the user data.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}:uploadUserData", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__UploadUserDataRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__UploadUserDataResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + }, + "resources": { + "AdGroupCriterionCustomizers": { + "methods": { + "mutate": { + "description": "Creates, updates or removes ad group criterion customizers. Operation statuses are returned.", + "flatPath": "v23/customers/{customersId}/AdGroupCriterionCustomizers:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.AdGroupCriterionCustomizers.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer whose ad group criterion customizers are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/AdGroupCriterionCustomizers:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupCriterionCustomizersRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupCriterionCustomizersResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "CampaignGoalConfigs": { + "methods": { + "mutate": { + "description": "Create or update campaign goal configs. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() [CampaignGoalConfigError]() [GoalServicesError]()", + "flatPath": "v23/customers/{customersId}/CampaignGoalConfigs:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.CampaignGoalConfigs.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer whose campaign goal configs are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/CampaignGoalConfigs:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCampaignGoalConfigsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCampaignGoalConfigsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "CustomerCustomizers": { + "methods": { + "mutate": { + "description": "Creates, updates or removes customer customizers. Operation statuses are returned.", + "flatPath": "v23/customers/{customersId}/CustomerCustomizers:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.CustomerCustomizers.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer whose customer customizers are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/CustomerCustomizers:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCustomerCustomizersRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCustomerCustomizersResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "Goals": { + "methods": { + "mutate": { + "description": "Create or update goals. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() [GoalError]() [GoalServicesError]()", + "flatPath": "v23/customers/{customersId}/Goals:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.Goals.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer whose goals are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/Goals:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateGoalsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateGoalsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "accountBudgetProposals": { + "methods": { + "mutate": { + "description": "Creates, updates, or removes account budget proposals. Operation statuses are returned. List of thrown errors: [AccountBudgetProposalError]() [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [DateError]() [FieldError]() [FieldMaskError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]() [StringLengthError]()", + "flatPath": "v23/customers/{customersId}/accountBudgetProposals:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.accountBudgetProposals.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/accountBudgetProposals:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAccountBudgetProposalRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAccountBudgetProposalResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "accountLinks": { + "methods": { + "create": { + "description": "Creates an account link. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]() [ThirdPartyAppAnalyticsLinkError]()", + "flatPath": "v23/customers/{customersId}/accountLinks:create", + "httpMethod": "POST", + "id": "searchads360.customers.accountLinks.create", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer for which the account link is created.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/accountLinks:create", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__CreateAccountLinkRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__CreateAccountLinkResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + }, + "mutate": { + "description": "Creates or removes an account link. From V5, create is not supported through AccountLinkService.MutateAccountLink. Use AccountLinkService.CreateAccountLink instead. List of thrown errors: [AccountLinkError]() [AuthenticationError]() [AuthorizationError]() [FieldMaskError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()", + "flatPath": "v23/customers/{customersId}/accountLinks:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.accountLinks.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/accountLinks:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAccountLinkRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAccountLinkResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "adGroupAdLabels": { + "methods": { + "mutate": { + "description": "Creates and removes ad group ad labels. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [HeaderError]() [InternalError]() [LabelError]() [MutateError]() [NewResourceCreationError]() [QuotaError]() [RequestError]()", + "flatPath": "v23/customers/{customersId}/adGroupAdLabels:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.adGroupAdLabels.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. ID of the customer whose ad group ad labels are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/adGroupAdLabels:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupAdLabelsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupAdLabelsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "adGroupAds": { + "methods": { + "mutate": { + "description": "Creates, updates, or removes ads. Operation statuses are returned. List of thrown errors: [AdCustomizerError]() [AdError]() [AdGroupAdError]() [AdSharingError]() [AdxError]() [AssetError]() [AssetLinkError]() [AuthenticationError]() [AuthorizationError]() [CollectionSizeError]() [ContextError]() [DatabaseError]() [DateError]() [DistinctError]() [FeedAttributeReferenceError]() [FieldError]() [FieldMaskError]() [FunctionError]() [FunctionParsingError]() [HeaderError]() [IdError]() [ImageError]() [InternalError]() [ListOperationError]() [MediaBundleError]() [MediaFileError]() [MutateError]() [NewResourceCreationError]() [NotEmptyError]() [NullError]() [OperationAccessDeniedError]() [OperatorError]() [PolicyFindingError]() [PolicyValidationParameterError]() [PolicyViolationError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]() [UrlFieldError]()", + "flatPath": "v23/customers/{customersId}/adGroupAds:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.adGroupAds.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer whose ads are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/adGroupAds:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupAdsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupAdsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + }, + "removeAutomaticallyCreatedAssets": { + "description": "Remove automatically created assets from an ad. List of thrown errors: [AdError]() [AuthenticationError]() [AuthorizationError]() [AutomaticallyCreatedAssetRemovalError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()", + "flatPath": "v23/customers/{customersId}/adGroupAds/{adGroupAdsId}:removeAutomaticallyCreatedAssets", + "httpMethod": "POST", + "id": "searchads360.customers.adGroupAds.removeAutomaticallyCreatedAssets", + "parameterOrder": [ + "adGroupAd" + ], + "parameters": { + "adGroupAd": { + "description": "Required. The resource name of the AdGroupAd from which to remove automatically created assets.", + "location": "path", + "pattern": "^customers/[^/]+/adGroupAds/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/{+adGroupAd}:removeAutomaticallyCreatedAssets", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__RemoveAutomaticallyCreatedAssetsRequest" + }, + "response": { + "$ref": "GoogleProtobuf__Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "adGroupAssetSets": { + "methods": { + "mutate": { + "description": "Creates, or removes ad group asset sets. Operation statuses are returned.", + "flatPath": "v23/customers/{customersId}/adGroupAssetSets:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.adGroupAssetSets.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer whose ad group asset sets are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/adGroupAssetSets:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupAssetSetsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupAssetSetsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "adGroupAssets": { + "methods": { + "mutate": { + "description": "Creates, updates, or removes ad group assets. Operation statuses are returned. List of thrown errors: [AssetLinkError]() [AuthenticationError]() [AuthorizationError]() [ContextError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [NotAllowlistedError]() [QuotaError]() [RequestError]()", + "flatPath": "v23/customers/{customersId}/adGroupAssets:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.adGroupAssets.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer whose ad group assets are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/adGroupAssets:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupAssetsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupAssetsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "adGroupBidModifiers": { + "methods": { + "mutate": { + "description": "Creates, updates, or removes ad group bid modifiers. Operation statuses are returned. List of thrown errors: [AdGroupBidModifierError]() [AuthenticationError]() [AuthorizationError]() [ContextError]() [CriterionError]() [DatabaseError]() [DistinctError]() [FieldError]() [FieldMaskError]() [HeaderError]() [IdError]() [InternalError]() [MutateError]() [NewResourceCreationError]() [NotEmptyError]() [OperatorError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]()", + "flatPath": "v23/customers/{customersId}/adGroupBidModifiers:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.adGroupBidModifiers.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. ID of the customer whose ad group bid modifiers are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/adGroupBidModifiers:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupBidModifiersRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupBidModifiersResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "adGroupCriteria": { + "methods": { + "mutate": { + "description": "Creates, updates, or removes criteria. Operation statuses are returned. List of thrown errors: [AdGroupCriterionError]() [AdxError]() [AuthenticationError]() [AuthorizationError]() [BiddingError]() [BiddingStrategyError]() [CollectionSizeError]() [ContextError]() [CriterionError]() [DatabaseError]() [DateError]() [DistinctError]() [FieldError]() [FieldMaskError]() [HeaderError]() [IdError]() [InternalError]() [MultiplierError]() [MutateError]() [NewResourceCreationError]() [NotEmptyError]() [NullError]() [OperationAccessDeniedError]() [OperatorError]() [PolicyViolationError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]() [UrlFieldError]()", + "flatPath": "v23/customers/{customersId}/adGroupCriteria:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.adGroupCriteria.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. ID of the customer whose criteria are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/adGroupCriteria:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupCriteriaRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupCriteriaResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "adGroupCriterionLabels": { + "methods": { + "mutate": { + "description": "Creates and removes ad group criterion labels. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", + "flatPath": "v23/customers/{customersId}/adGroupCriterionLabels:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.adGroupCriterionLabels.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. ID of the customer whose ad group criterion labels are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/adGroupCriterionLabels:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupCriterionLabelsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupCriterionLabelsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "adGroupCustomizers": { + "methods": { + "mutate": { + "description": "Creates, updates or removes ad group customizers. Operation statuses are returned.", + "flatPath": "v23/customers/{customersId}/adGroupCustomizers:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.adGroupCustomizers.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer whose ad group customizers are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/adGroupCustomizers:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupCustomizersRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupCustomizersResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "adGroupLabels": { + "methods": { + "mutate": { + "description": "Creates and removes ad group labels. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [LabelError]() [MutateError]() [NewResourceCreationError]() [QuotaError]() [RequestError]()", + "flatPath": "v23/customers/{customersId}/adGroupLabels:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.adGroupLabels.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. ID of the customer whose ad group labels are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/adGroupLabels:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupLabelsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupLabelsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "adGroups": { + "methods": { + "mutate": { + "description": "Creates, updates, or removes ad groups. Operation statuses are returned. List of thrown errors: [AdGroupError]() [AdxError]() [AuthenticationError]() [AuthorizationError]() [BiddingError]() [BiddingStrategyError]() [DatabaseError]() [DateError]() [DistinctError]() [FieldError]() [FieldMaskError]() [HeaderError]() [IdError]() [InternalError]() [ListOperationError]() [MultiplierError]() [MutateError]() [NewResourceCreationError]() [NotEmptyError]() [NullError]() [OperationAccessDeniedError]() [OperatorError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]() [SettingError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]() [UrlFieldError]()", + "flatPath": "v23/customers/{customersId}/adGroups:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.adGroups.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer whose ad groups are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/adGroups:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "adParameters": { + "methods": { + "mutate": { + "description": "Creates, updates, or removes ad parameters. Operation statuses are returned. List of thrown errors: [AdParameterError]() [AuthenticationError]() [AuthorizationError]() [ContextError]() [DatabaseError]() [FieldError]() [FieldMaskError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()", + "flatPath": "v23/customers/{customersId}/adParameters:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.adParameters.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer whose ad parameters are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/adParameters:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAdParametersRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAdParametersResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "ads": { + "methods": { + "mutate": { + "description": "Updates ads. Operation statuses are returned. Updating ads is not supported for TextAd, ExpandedDynamicSearchAd, GmailAd and ImageAd. List of thrown errors: [AdCustomizerError]() [AdError]() [AdSharingError]() [AdxError]() [AssetError]() [AssetLinkError]() [AuthenticationError]() [AuthorizationError]() [CollectionSizeError]() [DatabaseError]() [DateError]() [DistinctError]() [FeedAttributeReferenceError]() [FieldError]() [FieldMaskError]() [FunctionError]() [FunctionParsingError]() [HeaderError]() [IdError]() [ImageError]() [InternalError]() [ListOperationError]() [MediaBundleError]() [MediaFileError]() [MutateError]() [NewResourceCreationError]() [NotEmptyError]() [NullError]() [OperatorError]() [PolicyFindingError]() [PolicyViolationError]() [QuotaError]() [RangeError]() [RequestError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]() [UrlFieldError]()", + "flatPath": "v23/customers/{customersId}/ads:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.ads.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer whose ads are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/ads:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAdsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAdsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "assetGroupAssets": { + "methods": { + "mutate": { + "description": "Creates, updates or removes asset group assets. Operation statuses are returned.", + "flatPath": "v23/customers/{customersId}/assetGroupAssets:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.assetGroupAssets.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer whose asset group assets are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/assetGroupAssets:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAssetGroupAssetsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAssetGroupAssetsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "assetGroupListingGroupFilters": { + "methods": { + "mutate": { + "description": "Creates, updates or removes asset group listing group filters. Operation statuses are returned.", + "flatPath": "v23/customers/{customersId}/assetGroupListingGroupFilters:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.assetGroupListingGroupFilters.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer whose asset group listing group filters are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/assetGroupListingGroupFilters:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAssetGroupListingGroupFiltersRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAssetGroupListingGroupFiltersResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "assetGroupSignals": { + "methods": { + "mutate": { + "description": "Creates or removes asset group signals. Operation statuses are returned.", + "flatPath": "v23/customers/{customersId}/assetGroupSignals:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.assetGroupSignals.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer whose asset group signals are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/assetGroupSignals:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAssetGroupSignalsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAssetGroupSignalsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "assetGroups": { + "methods": { + "mutate": { + "description": "Creates, updates or removes asset groups. Operation statuses are returned.", + "flatPath": "v23/customers/{customersId}/assetGroups:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.assetGroups.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer whose asset groups are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/assetGroups:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAssetGroupsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAssetGroupsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "assetSetAssets": { + "methods": { + "mutate": { + "description": "Creates, updates or removes asset set assets. Operation statuses are returned.", + "flatPath": "v23/customers/{customersId}/assetSetAssets:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.assetSetAssets.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer whose asset set assets are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/assetSetAssets:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAssetSetAssetsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAssetSetAssetsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "assetSets": { + "methods": { + "mutate": { + "description": "Creates, updates or removes asset sets. Operation statuses are returned.", + "flatPath": "v23/customers/{customersId}/assetSets:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.assetSets.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer whose asset sets are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/assetSets:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAssetSetsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAssetSetsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "assets": { + "methods": { + "mutate": { + "description": "Creates assets. Operation statuses are returned. List of thrown errors: [AssetError]() [AuthenticationError]() [AuthorizationError]() [CollectionSizeError]() [CurrencyCodeError]() [DatabaseError]() [DateError]() [DistinctError]() [FieldError]() [FieldMaskError]() [HeaderError]() [IdError]() [InternalError]() [ListOperationError]() [MediaUploadError]() [MutateError]() [NotAllowlistedError]() [NotEmptyError]() [OperatorError]() [QuotaError]() [RangeError]() [RequestError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]() [UrlFieldError]() [YoutubeVideoRegistrationError]()", + "flatPath": "v23/customers/{customersId}/assets:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.assets.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer whose assets are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/assets:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAssetsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAssetsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "audiences": { + "methods": { + "mutate": { + "description": "Creates audiences. Operation statuses are returned. List of thrown errors: [AudienceError]()", + "flatPath": "v23/customers/{customersId}/audiences:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.audiences.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer whose audiences are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/audiences:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAudiencesRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAudiencesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "batchJobs": { + "methods": { + "addOperations": { + "description": "Add operations to the batch job. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [BatchJobError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() [ResourceCountLimitExceededError]()", + "flatPath": "v23/customers/{customersId}/batchJobs/{batchJobsId}:addOperations", + "httpMethod": "POST", + "id": "searchads360.customers.batchJobs.addOperations", + "parameterOrder": [ + "resourceName" + ], + "parameters": { + "resourceName": { + "description": "Required. The resource name of the batch job.", + "location": "path", + "pattern": "^customers/[^/]+/batchJobs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/{+resourceName}:addOperations", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__AddBatchJobOperationsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__AddBatchJobOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + }, + "listResults": { + "description": "Returns the results of the batch job. The job must be done. Supports standard list paging. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [BatchJobError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", + "flatPath": "v23/customers/{customersId}/batchJobs/{batchJobsId}:listResults", + "httpMethod": "GET", + "id": "searchads360.customers.batchJobs.listResults", + "parameterOrder": [ + "resourceName" + ], + "parameters": { + "pageSize": { + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Token of the page to retrieve. If not specified, the first page of results will be returned. Use the value obtained from `next_page_token` in the previous response in order to request the next page of results.", + "location": "query", + "type": "string" + }, + "resourceName": { + "description": "Required. The resource name of the batch job whose results are being listed.", + "location": "path", + "pattern": "^customers/[^/]+/batchJobs/[^/]+$", + "required": true, + "type": "string" + }, + "responseContentType": { + "description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned.", + "enum": [ + "UNSPECIFIED", + "RESOURCE_NAME_ONLY", + "MUTABLE_RESOURCE" + ], + "enumDescriptions": [ + "Not specified. Will return the resource name only in the response.", + "The mutate response will be the resource name.", + "The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." + ], + "location": "query", + "type": "string" + } + }, + "path": "v23/{+resourceName}:listResults", + "response": { + "$ref": "GoogleAdsSearchads360V23Services__ListBatchJobResultsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + }, + "mutate": { + "description": "Mutates a batch job. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() [ResourceCountLimitExceededError]()", + "flatPath": "v23/customers/{customersId}/batchJobs:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.batchJobs.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer for which to create a batch job.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/batchJobs:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateBatchJobRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateBatchJobResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + }, + "run": { + "description": "Runs the batch job. The Operation.metadata field type is BatchJobMetadata. When finished, the long running operation will not contain errors or a response. Instead, use ListBatchJobResults to get the results of the job. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [BatchJobError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", + "flatPath": "v23/customers/{customersId}/batchJobs/{batchJobsId}:run", + "httpMethod": "POST", + "id": "searchads360.customers.batchJobs.run", + "parameterOrder": [ + "resourceName" + ], + "parameters": { + "resourceName": { + "description": "Required. The resource name of the BatchJob to run.", + "location": "path", + "pattern": "^customers/[^/]+/batchJobs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/{+resourceName}:run", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__RunBatchJobRequest" + }, + "response": { + "$ref": "GoogleLongrunning__Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "biddingDataExclusions": { + "methods": { + "mutate": { + "description": "Creates, updates, or removes data exclusions. Operation statuses are returned.", + "flatPath": "v23/customers/{customersId}/biddingDataExclusions:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.biddingDataExclusions.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. ID of the customer whose data exclusions are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/biddingDataExclusions:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateBiddingDataExclusionsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateBiddingDataExclusionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "biddingSeasonalityAdjustments": { + "methods": { + "mutate": { + "description": "Creates, updates, or removes seasonality adjustments. Operation statuses are returned.", + "flatPath": "v23/customers/{customersId}/biddingSeasonalityAdjustments:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.biddingSeasonalityAdjustments.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. ID of the customer whose seasonality adjustments are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/biddingSeasonalityAdjustments:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateBiddingSeasonalityAdjustmentsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateBiddingSeasonalityAdjustmentsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "biddingStrategies": { + "methods": { + "mutate": { + "description": "Creates, updates, or removes bidding strategies. Operation statuses are returned. List of thrown errors: [AdxError]() [AuthenticationError]() [AuthorizationError]() [BiddingError]() [BiddingStrategyError]() [ContextError]() [DatabaseError]() [DateError]() [DistinctError]() [FieldError]() [FieldMaskError]() [HeaderError]() [IdError]() [InternalError]() [MutateError]() [NewResourceCreationError]() [NotEmptyError]() [NullError]() [OperationAccessDeniedError]() [OperatorError]() [QuotaError]() [RangeError]() [RequestError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]()", + "flatPath": "v23/customers/{customersId}/biddingStrategies:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.biddingStrategies.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer whose bidding strategies are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/biddingStrategies:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateBiddingStrategiesRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateBiddingStrategiesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "billingSetups": { + "methods": { + "mutate": { + "description": "Creates a billing setup, or cancels an existing billing setup. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [BillingSetupError]() [DateError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()", + "flatPath": "v23/customers/{customersId}/billingSetups:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.billingSetups.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. Id of the customer to apply the billing setup mutate operation to.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/billingSetups:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateBillingSetupRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateBillingSetupResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "campaignAssetSets": { + "methods": { + "mutate": { + "description": "Creates, updates or removes campaign asset sets. Operation statuses are returned.", + "flatPath": "v23/customers/{customersId}/campaignAssetSets:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.campaignAssetSets.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer whose campaign asset sets are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/campaignAssetSets:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCampaignAssetSetsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCampaignAssetSetsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "campaignAssets": { + "methods": { + "mutate": { + "description": "Creates or removes campaign assets. Operation statuses are returned. List of thrown errors: [AssetLinkError]() [AuthenticationError]() [AuthorizationError]() [ContextError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [NotAllowlistedError]() [QuotaError]() [RequestError]()", + "flatPath": "v23/customers/{customersId}/campaignAssets:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.campaignAssets.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer whose campaign assets are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/campaignAssets:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCampaignAssetsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCampaignAssetsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "campaignBidModifiers": { + "methods": { + "mutate": { + "description": "Creates, updates, or removes campaign bid modifiers. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ContextError]() [CriterionError]() [DatabaseError]() [DateError]() [DistinctError]() [FieldError]() [HeaderError]() [IdError]() [InternalError]() [MutateError]() [NewResourceCreationError]() [NotEmptyError]() [NullError]() [OperatorError]() [QuotaError]() [RangeError]() [RequestError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]()", + "flatPath": "v23/customers/{customersId}/campaignBidModifiers:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.campaignBidModifiers.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. ID of the customer whose campaign bid modifiers are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/campaignBidModifiers:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCampaignBidModifiersRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCampaignBidModifiersResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "campaignBudgets": { + "methods": { + "mutate": { + "description": "Creates, updates, or removes campaign budgets. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CampaignBudgetError]() [DatabaseError]() [DistinctError]() [FieldError]() [FieldMaskError]() [HeaderError]() [InternalError]() [MutateError]() [NewResourceCreationError]() [OperationAccessDeniedError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]() [StringLengthError]()", + "flatPath": "v23/customers/{customersId}/campaignBudgets:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.campaignBudgets.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer whose campaign budgets are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/campaignBudgets:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCampaignBudgetsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCampaignBudgetsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "campaignConversionGoals": { + "methods": { + "mutate": { + "description": "Creates, updates or removes campaign conversion goals. Operation statuses are returned.", + "flatPath": "v23/customers/{customersId}/campaignConversionGoals:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.campaignConversionGoals.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer whose campaign conversion goals are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/campaignConversionGoals:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCampaignConversionGoalsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCampaignConversionGoalsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "campaignCriteria": { + "methods": { + "mutate": { + "description": "Creates, updates, or removes criteria. Operation statuses are returned. List of thrown errors: [AdxError]() [AuthenticationError]() [AuthorizationError]() [CampaignCriterionError]() [CollectionSizeError]() [ContextError]() [CriterionError]() [DatabaseError]() [DistinctError]() [FieldError]() [FieldMaskError]() [FunctionError]() [HeaderError]() [IdError]() [InternalError]() [MutateError]() [NewResourceCreationError]() [NotEmptyError]() [NullError]() [OperationAccessDeniedError]() [OperatorError]() [QuotaError]() [RangeError]() [RegionCodeError]() [RequestError]() [ResourceCountLimitExceededError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]()", + "flatPath": "v23/customers/{customersId}/campaignCriteria:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.campaignCriteria.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer whose criteria are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/campaignCriteria:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCampaignCriteriaRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCampaignCriteriaResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "campaignCustomizers": { + "methods": { + "mutate": { + "description": "Creates, updates or removes campaign customizers. Operation statuses are returned.", + "flatPath": "v23/customers/{customersId}/campaignCustomizers:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.campaignCustomizers.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer whose campaign customizers are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/campaignCustomizers:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCampaignCustomizersRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCampaignCustomizersResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "campaignDrafts": { + "methods": { + "listAsyncErrors": { + "description": "Returns all errors that occurred during CampaignDraft promote. Throws an error if called before campaign draft is promoted. Supports standard list paging. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", + "flatPath": "v23/customers/{customersId}/campaignDrafts/{campaignDraftsId}:listAsyncErrors", + "httpMethod": "GET", + "id": "searchads360.customers.campaignDrafts.listAsyncErrors", + "parameterOrder": [ + "resourceName" + ], + "parameters": { + "pageSize": { + "description": "Number of elements to retrieve in a single page. When a page request is too large, the server may decide to further limit the number of returned resources.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Token of the page to retrieve. If not specified, the first page of results will be returned. Use the value obtained from `next_page_token` in the previous response in order to request the next page of results.", + "location": "query", + "type": "string" + }, + "resourceName": { + "description": "Required. The name of the campaign draft from which to retrieve the async errors.", + "location": "path", + "pattern": "^customers/[^/]+/campaignDrafts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/{+resourceName}:listAsyncErrors", + "response": { + "$ref": "GoogleAdsSearchads360V23Services__ListCampaignDraftAsyncErrorsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + }, + "mutate": { + "description": "Creates, updates, or removes campaign drafts. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CampaignDraftError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()", + "flatPath": "v23/customers/{customersId}/campaignDrafts:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.campaignDrafts.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer whose campaign drafts are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/campaignDrafts:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCampaignDraftsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCampaignDraftsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + }, + "promote": { + "description": "Promotes the changes in a draft back to the base campaign. This method returns a Long Running Operation (LRO) indicating if the Promote is done. Use google.longrunning.Operations.GetOperation to poll the LRO until it is done. Only a done status is returned in the response. See the status in the Campaign Draft resource to determine if the promotion was successful. If the LRO failed, use CampaignDraftService.ListCampaignDraftAsyncErrors to view the list of error reasons. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CampaignDraftError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", + "flatPath": "v23/customers/{customersId}/campaignDrafts/{campaignDraftsId}:promote", + "httpMethod": "POST", + "id": "searchads360.customers.campaignDrafts.promote", + "parameterOrder": [ + "campaignDraft" + ], + "parameters": { + "campaignDraft": { + "description": "Required. The resource name of the campaign draft to promote.", + "location": "path", + "pattern": "^customers/[^/]+/campaignDrafts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/{+campaignDraft}:promote", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__PromoteCampaignDraftRequest" + }, + "response": { + "$ref": "GoogleLongrunning__Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "campaignGroups": { + "methods": { + "mutate": { + "description": "Creates, updates, or removes campaign groups. Operation statuses are returned.", + "flatPath": "v23/customers/{customersId}/campaignGroups:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.campaignGroups.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer whose campaign groups are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/campaignGroups:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCampaignGroupsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCampaignGroupsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "campaignLabels": { + "methods": { + "mutate": { + "description": "Creates and removes campaign-label relationships. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [LabelError]() [MutateError]() [NewResourceCreationError]() [QuotaError]() [RequestError]()", + "flatPath": "v23/customers/{customersId}/campaignLabels:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.campaignLabels.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. ID of the customer whose campaign-label relationships are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/campaignLabels:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCampaignLabelsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCampaignLabelsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "campaignLifecycleGoal": { + "methods": { + "configureCampaignLifecycleGoals": { + "description": "Process the given campaign lifecycle configurations. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CampaignLifecycleGoalConfigError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", + "flatPath": "v23/customers/{customersId}/campaignLifecycleGoal:configureCampaignLifecycleGoals", + "httpMethod": "POST", + "id": "searchads360.customers.campaignLifecycleGoal.configureCampaignLifecycleGoals", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer performing the upload.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/campaignLifecycleGoal:configureCampaignLifecycleGoals", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__ConfigureCampaignLifecycleGoalsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__ConfigureCampaignLifecycleGoalsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "campaignSharedSets": { + "methods": { + "mutate": { + "description": "Creates or removes campaign shared sets. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CampaignSharedSetError]() [ContextError]() [DatabaseError]() [DateError]() [DistinctError]() [FieldError]() [HeaderError]() [IdError]() [InternalError]() [MutateError]() [NewResourceCreationError]() [NotEmptyError]() [NullError]() [OperatorError]() [QuotaError]() [RangeError]() [RequestError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]()", + "flatPath": "v23/customers/{customersId}/campaignSharedSets:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.campaignSharedSets.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer whose campaign shared sets are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/campaignSharedSets:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCampaignSharedSetsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCampaignSharedSetsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "campaigns": { + "methods": { + "enablePMaxBrandGuidelines": { + "description": "Enables Brand Guidelines for Performance Max campaigns. List of thrown errors: [AuthenticationError]() [AssetError]() [AssetLinkError]() [AuthorizationError]() [BrandGuidelinesMigrationError]() [CampaignError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]() [ResourceCountLimitExceededError]()", + "flatPath": "v23/customers/{customersId}/campaigns:enablePMaxBrandGuidelines", + "httpMethod": "POST", + "id": "searchads360.customers.campaigns.enablePMaxBrandGuidelines", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer whose campaigns are being enabled.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/campaigns:enablePMaxBrandGuidelines", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__EnablePMaxBrandGuidelinesRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__EnablePMaxBrandGuidelinesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + }, + "mutate": { + "description": "Creates, updates, or removes campaigns. Operation statuses are returned. List of thrown errors: [AdxError]() [AuthenticationError]() [AuthorizationError]() [BiddingError]() [BiddingStrategyError]() [CampaignBudgetError]() [CampaignError]() [ContextError]() [DatabaseError]() [DateError]() [DateRangeError]() [DistinctError]() [FieldError]() [FieldMaskError]() [HeaderError]() [IdError]() [InternalError]() [ListOperationError]() [MutateError]() [NewResourceCreationError]() [NotAllowlistedError]() [NotEmptyError]() [NullError]() [OperationAccessDeniedError]() [OperatorError]() [QuotaError]() [RangeError]() [RegionCodeError]() [RequestError]() [ResourceCountLimitExceededError]() [SettingError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]() [UrlFieldError]()", + "flatPath": "v23/customers/{customersId}/campaigns:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.campaigns.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer whose campaigns are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/campaigns:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCampaignsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCampaignsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "conversionActions": { + "methods": { + "mutate": { + "description": "Creates, updates or removes conversion actions. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ConversionActionError]() [CurrencyCodeError]() [DatabaseError]() [FieldError]() [FieldMaskError]() [HeaderError]() [InternalError]() [MutateError]() [NewResourceCreationError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]() [StringLengthError]()", + "flatPath": "v23/customers/{customersId}/conversionActions:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.conversionActions.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer whose conversion actions are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/conversionActions:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateConversionActionsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateConversionActionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "conversionCustomVariables": { + "methods": { + "mutate": { + "description": "Creates or updates conversion custom variables. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ConversionCustomVariableError]() [DatabaseError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", + "flatPath": "v23/customers/{customersId}/conversionCustomVariables:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.conversionCustomVariables.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer whose conversion custom variables are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/conversionCustomVariables:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateConversionCustomVariablesRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateConversionCustomVariablesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "conversionGoalCampaignConfigs": { + "methods": { + "mutate": { + "description": "Creates, updates or removes conversion goal campaign config. Operation statuses are returned.", + "flatPath": "v23/customers/{customersId}/conversionGoalCampaignConfigs:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.conversionGoalCampaignConfigs.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer whose custom conversion goals are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/conversionGoalCampaignConfigs:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateConversionGoalCampaignConfigsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateConversionGoalCampaignConfigsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "conversionValueRuleSets": { + "methods": { + "mutate": { + "description": "Creates, updates or removes conversion value rule sets. Operation statuses are returned.", + "flatPath": "v23/customers/{customersId}/conversionValueRuleSets:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.conversionValueRuleSets.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer whose conversion value rule sets are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/conversionValueRuleSets:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateConversionValueRuleSetsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateConversionValueRuleSetsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "conversionValueRules": { + "methods": { + "mutate": { + "description": "Creates, updates, or removes conversion value rules. Operation statuses are returned.", + "flatPath": "v23/customers/{customersId}/conversionValueRules:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.conversionValueRules.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer whose conversion value rules are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/conversionValueRules:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateConversionValueRulesRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateConversionValueRulesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "customAudiences": { + "methods": { + "mutate": { + "description": "Creates or updates custom audiences. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CustomAudienceError]() [CustomInterestError]() [FieldError]() [FieldMaskError]() [HeaderError]() [InternalError]() [MutateError]() [OperationAccessDeniedError]() [PolicyViolationError]() [QuotaError]() [RequestError]()", + "flatPath": "v23/customers/{customersId}/customAudiences:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.customAudiences.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer whose custom audiences are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/customAudiences:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCustomAudiencesRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCustomAudiencesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "customColumns": { + "methods": { + "get": { + "description": "Returns the requested custom column in full detail.", + "flatPath": "v23/customers/{customersId}/customColumns/{customColumnsId}", + "httpMethod": "GET", + "id": "searchads360.customers.customColumns.get", + "parameterOrder": [ + "resourceName" + ], + "parameters": { + "resourceName": { + "description": "Required. The resource name of the custom column to fetch.", + "location": "path", + "pattern": "^customers/[^/]+/customColumns/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/{+resourceName}", + "response": { + "$ref": "GoogleAdsSearchads360V23Resources__CustomColumn" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + }, + "list": { + "description": "Returns all the custom columns associated with the customer in full detail.", + "flatPath": "v23/customers/{customersId}/customColumns", + "httpMethod": "GET", + "id": "searchads360.customers.customColumns.list", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer to apply the CustomColumn list operation to.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/customColumns", + "response": { + "$ref": "GoogleAdsSearchads360V23Services__ListCustomColumnsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "customConversionGoals": { + "methods": { + "mutate": { + "description": "Creates, updates or removes custom conversion goals. Operation statuses are returned.", + "flatPath": "v23/customers/{customersId}/customConversionGoals:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.customConversionGoals.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer whose custom conversion goals are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/customConversionGoals:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCustomConversionGoalsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCustomConversionGoalsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "customInterests": { + "methods": { + "mutate": { + "description": "Creates or updates custom interests. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CriterionError]() [CustomInterestError]() [HeaderError]() [InternalError]() [MutateError]() [PolicyViolationError]() [QuotaError]() [RequestError]() [StringLengthError]()", + "flatPath": "v23/customers/{customersId}/customInterests:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.customInterests.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer whose custom interests are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/customInterests:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCustomInterestsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCustomInterestsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "customerAssetSets": { + "methods": { + "mutate": { + "description": "Creates, or removes customer asset sets. Operation statuses are returned.", + "flatPath": "v23/customers/{customersId}/customerAssetSets:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.customerAssetSets.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer whose customer asset sets are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/customerAssetSets:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCustomerAssetSetsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCustomerAssetSetsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "customerAssets": { + "methods": { + "mutate": { + "description": "Creates, updates, or removes customer assets. Operation statuses are returned. List of thrown errors: [AssetLinkError]() [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()", + "flatPath": "v23/customers/{customersId}/customerAssets:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.customerAssets.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer whose customer assets are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/customerAssets:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCustomerAssetsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCustomerAssetsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "customerClientLinks": { + "methods": { + "mutate": { + "description": "Creates or updates a customer client link. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [FieldMaskError]() [HeaderError]() [InternalError]() [ManagerLinkError]() [MutateError]() [NewResourceCreationError]() [QuotaError]() [RequestError]()", + "flatPath": "v23/customers/{customersId}/customerClientLinks:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.customerClientLinks.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer whose customer link are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/customerClientLinks:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCustomerClientLinkRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCustomerClientLinkResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "customerConversionGoals": { + "methods": { + "mutate": { + "description": "Creates, updates or removes customer conversion goals. Operation statuses are returned.", + "flatPath": "v23/customers/{customersId}/customerConversionGoals:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.customerConversionGoals.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer whose customer conversion goals are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/customerConversionGoals:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCustomerConversionGoalsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCustomerConversionGoalsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "customerLabels": { + "methods": { + "mutate": { + "description": "Creates and removes customer-label relationships. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [HeaderError]() [InternalError]() [LabelError]() [MutateError]() [QuotaError]() [RequestError]()", + "flatPath": "v23/customers/{customersId}/customerLabels:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.customerLabels.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. ID of the customer whose customer-label relationships are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/customerLabels:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCustomerLabelsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCustomerLabelsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "customerLifecycleGoal": { + "methods": { + "configureCustomerLifecycleGoals": { + "description": "Process the given customer lifecycle configurations. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CustomerLifecycleGoalConfigError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", + "flatPath": "v23/customers/{customersId}/customerLifecycleGoal:configureCustomerLifecycleGoals", + "httpMethod": "POST", + "id": "searchads360.customers.customerLifecycleGoal.configureCustomerLifecycleGoals", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer performing the upload.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/customerLifecycleGoal:configureCustomerLifecycleGoals", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__ConfigureCustomerLifecycleGoalsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__ConfigureCustomerLifecycleGoalsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "customerManagerLinks": { + "methods": { + "moveManagerLink": { + "description": "Moves a client customer to a new manager customer. This simplifies the complex request that requires two operations to move a client customer to a new manager, for example: 1. Update operation with Status INACTIVE (previous manager) and, 2. Update operation with Status ACTIVE (new manager). List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()", + "flatPath": "v23/customers/{customersId}/customerManagerLinks:moveManagerLink", + "httpMethod": "POST", + "id": "searchads360.customers.customerManagerLinks.moveManagerLink", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the client customer that is being moved.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/customerManagerLinks:moveManagerLink", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MoveManagerLinkRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MoveManagerLinkResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + }, + "mutate": { + "description": "Updates customer manager links. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [FieldMaskError]() [HeaderError]() [InternalError]() [ManagerLinkError]() [MutateError]() [QuotaError]() [RequestError]()", + "flatPath": "v23/customers/{customersId}/customerManagerLinks:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.customerManagerLinks.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer whose customer manager links are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/customerManagerLinks:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCustomerManagerLinkRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCustomerManagerLinkResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "customerNegativeCriteria": { + "methods": { + "mutate": { + "description": "Creates or removes criteria. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CriterionError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()", + "flatPath": "v23/customers/{customersId}/customerNegativeCriteria:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.customerNegativeCriteria.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer whose criteria are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/customerNegativeCriteria:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCustomerNegativeCriteriaRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCustomerNegativeCriteriaResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "customerSkAdNetworkConversionValueSchemas": { + "methods": { + "mutate": { + "description": "Creates or updates the CustomerSkAdNetworkConversionValueSchema. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [InternalError]() [MutateError]()", + "flatPath": "v23/customers/{customersId}/customerSkAdNetworkConversionValueSchemas:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.customerSkAdNetworkConversionValueSchemas.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "The ID of the customer whose shared sets are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/customerSkAdNetworkConversionValueSchemas:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCustomerSkAdNetworkConversionValueSchemaRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCustomerSkAdNetworkConversionValueSchemaResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "customerUserAccessInvitations": { + "methods": { + "mutate": { + "description": "Creates or removes an access invitation. List of thrown errors: [AccessInvitationError]() [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", + "flatPath": "v23/customers/{customersId}/customerUserAccessInvitations:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.customerUserAccessInvitations.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer whose access invitation is being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/customerUserAccessInvitations:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCustomerUserAccessInvitationRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCustomerUserAccessInvitationResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "customerUserAccesses": { + "methods": { + "mutate": { + "description": "Updates, removes permission of a user on a given customer. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CustomerUserAccessError]() [FieldMaskError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()", + "flatPath": "v23/customers/{customersId}/customerUserAccesses:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.customerUserAccesses.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/customerUserAccesses:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCustomerUserAccessRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCustomerUserAccessResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "customizerAttributes": { + "methods": { + "mutate": { + "description": "Creates, updates or removes customizer attributes. Operation statuses are returned.", + "flatPath": "v23/customers/{customersId}/customizerAttributes:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.customizerAttributes.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer whose customizer attributes are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/customizerAttributes:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCustomizerAttributesRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCustomizerAttributesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "dataLinks": { + "methods": { + "create": { + "description": "Creates a data link. The requesting Google Ads account name and account ID will be shared with the third party (such as YouTube creators for video links) to whom you are creating the link with. Only customers on the allow-list can create data links. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [DataLinkError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()", + "flatPath": "v23/customers/{customersId}/dataLinks:create", + "httpMethod": "POST", + "id": "searchads360.customers.dataLinks.create", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer for which the data link is created.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/dataLinks:create", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__CreateDataLinkRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__CreateDataLinkResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + }, + "remove": { + "description": "Remove a data link. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [DataLinkError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()", + "flatPath": "v23/customers/{customersId}/dataLinks:remove", + "httpMethod": "POST", + "id": "searchads360.customers.dataLinks.remove", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer for which the data link is updated.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/dataLinks:remove", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__RemoveDataLinkRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__RemoveDataLinkResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + }, + "update": { + "description": "Update a data link. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [DataLinkError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()", + "flatPath": "v23/customers/{customersId}/dataLinks:update", + "httpMethod": "POST", + "id": "searchads360.customers.dataLinks.update", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer for which the data link is created.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/dataLinks:update", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__UpdateDataLinkRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__UpdateDataLinkResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "experimentArms": { + "methods": { + "mutate": { + "description": "Creates, updates, or removes experiment arms. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ExperimentArmError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", + "flatPath": "v23/customers/{customersId}/experimentArms:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.experimentArms.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer whose experiments are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/experimentArms:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateExperimentArmsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateExperimentArmsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "experiments": { + "methods": { + "endExperiment": { + "description": "Immediately ends an experiment, changing the experiment's scheduled end date and without waiting for end of day. End date is updated to be the time of the request. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ExperimentError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", + "flatPath": "v23/customers/{customersId}/experiments/{experimentsId}:endExperiment", + "httpMethod": "POST", + "id": "searchads360.customers.experiments.endExperiment", + "parameterOrder": [ + "experiment" + ], + "parameters": { + "experiment": { + "description": "Required. The resource name of the campaign experiment to end.", + "location": "path", + "pattern": "^customers/[^/]+/experiments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/{+experiment}:endExperiment", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__EndExperimentRequest" + }, + "response": { + "$ref": "GoogleProtobuf__Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + }, + "graduateExperiment": { + "description": "Graduates an experiment to a full campaign. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ExperimentError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()", + "flatPath": "v23/customers/{customersId}/experiments/{experimentsId}:graduateExperiment", + "httpMethod": "POST", + "id": "searchads360.customers.experiments.graduateExperiment", + "parameterOrder": [ + "experiment" + ], + "parameters": { + "experiment": { + "description": "Required. The experiment to be graduated.", + "location": "path", + "pattern": "^customers/[^/]+/experiments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/{+experiment}:graduateExperiment", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__GraduateExperimentRequest" + }, + "response": { + "$ref": "GoogleProtobuf__Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + }, + "listExperimentAsyncErrors": { + "description": "Returns all errors that occurred during the last Experiment update (either scheduling or promotion). Supports standard list paging. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", + "flatPath": "v23/customers/{customersId}/experiments/{experimentsId}:listExperimentAsyncErrors", + "httpMethod": "GET", + "id": "searchads360.customers.experiments.listExperimentAsyncErrors", + "parameterOrder": [ + "resourceName" + ], + "parameters": { + "pageSize": { + "description": "Number of elements to retrieve in a single page. When a page request is too large, the server may decide to further limit the number of returned resources. The maximum page size is 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Token of the page to retrieve. If not specified, the first page of results will be returned. Use the value obtained from `next_page_token` in the previous response in order to request the next page of results.", + "location": "query", + "type": "string" + }, + "resourceName": { + "description": "Required. The name of the experiment from which to retrieve the async errors.", + "location": "path", + "pattern": "^customers/[^/]+/experiments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/{+resourceName}:listExperimentAsyncErrors", + "response": { + "$ref": "GoogleAdsSearchads360V23Services__ListExperimentAsyncErrorsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + }, + "mutate": { + "description": "Creates, updates, or removes experiments. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ExperimentError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", + "flatPath": "v23/customers/{customersId}/experiments:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.experiments.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer whose experiments are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/experiments:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateExperimentsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateExperimentsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + }, + "promoteExperiment": { + "description": "Promotes the trial campaign thus applying changes in the trial campaign to the base campaign. This method returns a long running operation that tracks the promotion of the experiment campaign. If it fails, a list of errors can be retrieved using the ListExperimentAsyncErrors method. The operation's metadata will be a string containing the resource name of the created experiment. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ExperimentError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", + "flatPath": "v23/customers/{customersId}/experiments/{experimentsId}:promoteExperiment", + "httpMethod": "POST", + "id": "searchads360.customers.experiments.promoteExperiment", + "parameterOrder": [ + "resourceName" + ], + "parameters": { + "resourceName": { + "description": "Required. The resource name of the experiment to promote.", + "location": "path", + "pattern": "^customers/[^/]+/experiments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/{+resourceName}:promoteExperiment", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__PromoteExperimentRequest" + }, + "response": { + "$ref": "GoogleLongrunning__Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + }, + "scheduleExperiment": { + "description": "Schedule an experiment. The in design campaign will be converted into a real campaign (called the experiment campaign) that will begin serving ads if successfully created. The experiment is scheduled immediately with status INITIALIZING. This method returns a long running operation that tracks the forking of the in design campaign. If the forking fails, a list of errors can be retrieved using the ListExperimentAsyncErrors method. The operation's metadata will be a string containing the resource name of the created experiment. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ExperimentError]() [DatabaseError]() [DateError]() [DateRangeError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [RequestError]()", + "flatPath": "v23/customers/{customersId}/experiments/{experimentsId}:scheduleExperiment", + "httpMethod": "POST", + "id": "searchads360.customers.experiments.scheduleExperiment", + "parameterOrder": [ + "resourceName" + ], + "parameters": { + "resourceName": { + "description": "Required. The scheduled experiment.", + "location": "path", + "pattern": "^customers/[^/]+/experiments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/{+resourceName}:scheduleExperiment", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__ScheduleExperimentRequest" + }, + "response": { + "$ref": "GoogleLongrunning__Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "incentives": { + "methods": { + "applyIncentive": { + "description": "Applies the incentive for the ads customer.", + "flatPath": "v23/customers/{customersId}/incentives/{incentivesId}:applyIncentive", + "httpMethod": "POST", + "id": "searchads360.customers.incentives.applyIncentive", + "parameterOrder": [ + "customerId", + "selectedIncentiveId" + ], + "parameters": { + "customerId": { + "description": "The customer ID of the account that the incentive is being applied to.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "selectedIncentiveId": { + "description": "The incentive ID of this incentive. This is used to identify which incentive is selected by the user in the CYO flow.", + "format": "int64", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/incentives/{+selectedIncentiveId}:applyIncentive", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__ApplyIncentiveRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__ApplyIncentiveResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "invoices": { + "methods": { + "list": { + "description": "Returns all invoices associated with a billing setup, for a given month. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [InvoiceError]() [QuotaError]() [RequestError]()", + "flatPath": "v23/customers/{customersId}/invoices", + "httpMethod": "GET", + "id": "searchads360.customers.invoices.list", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "billingSetup": { + "description": "Required. The billing setup resource name of the requested invoices. `customers/{customer_id}/billingSetups/{billing_setup_id}`", + "location": "query", + "type": "string" + }, + "customerId": { + "description": "Required. The ID of the customer to fetch invoices for.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + }, + "includeGranularLevelInvoiceDetails": { + "description": "Optional. When true, the response will include more granular level invoice details such as campaign level cost breakdown, itemized regulatory costs and adjustments. The default value is false.", + "location": "query", + "type": "boolean" + }, + "issueMonth": { + "description": "Required. The issue month to retrieve invoices.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "JANUARY", + "FEBRUARY", + "MARCH", + "APRIL", + "MAY", + "JUNE", + "JULY", + "AUGUST", + "SEPTEMBER", + "OCTOBER", + "NOVEMBER", + "DECEMBER" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "January.", + "February.", + "March.", + "April.", + "May.", + "June.", + "July.", + "August.", + "September.", + "October.", + "November.", + "December." + ], + "location": "query", + "type": "string" + }, + "issueYear": { + "description": "Required. The issue year to retrieve invoices, in yyyy format. Only invoices issued in 2019 or later can be retrieved.", + "location": "query", + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/invoices", + "response": { + "$ref": "GoogleAdsSearchads360V23Services__ListInvoicesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "keywordPlanAdGroupKeywords": { + "methods": { + "mutate": { + "description": "Creates, updates, or removes Keyword Plan ad group keywords. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [KeywordPlanAdGroupKeywordError]() [KeywordPlanError]() [MutateError]() [QuotaError]() [RequestError]() [ResourceCountLimitExceededError]()", + "flatPath": "v23/customers/{customersId}/keywordPlanAdGroupKeywords:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.keywordPlanAdGroupKeywords.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer whose Keyword Plan ad group keywords are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/keywordPlanAdGroupKeywords:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupKeywordsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupKeywordsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "keywordPlanAdGroups": { + "methods": { + "mutate": { + "description": "Creates, updates, or removes Keyword Plan ad groups. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [FieldMaskError]() [HeaderError]() [InternalError]() [KeywordPlanAdGroupError]() [KeywordPlanError]() [MutateError]() [NewResourceCreationError]() [QuotaError]() [RequestError]() [ResourceCountLimitExceededError]()", + "flatPath": "v23/customers/{customersId}/keywordPlanAdGroups:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.keywordPlanAdGroups.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer whose Keyword Plan ad groups are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/keywordPlanAdGroups:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "keywordPlanCampaignKeywords": { + "methods": { + "mutate": { + "description": "Creates, updates, or removes Keyword Plan campaign keywords. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [KeywordPlanAdGroupKeywordError]() [KeywordPlanCampaignKeywordError]() [QuotaError]() [RequestError]() [ResourceCountLimitExceededError]()", + "flatPath": "v23/customers/{customersId}/keywordPlanCampaignKeywords:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.keywordPlanCampaignKeywords.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer whose campaign keywords are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/keywordPlanCampaignKeywords:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignKeywordsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignKeywordsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "keywordPlanCampaigns": { + "methods": { + "mutate": { + "description": "Creates, updates, or removes Keyword Plan campaigns. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [FieldMaskError]() [HeaderError]() [InternalError]() [KeywordPlanCampaignError]() [KeywordPlanError]() [ListOperationError]() [MutateError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]()", + "flatPath": "v23/customers/{customersId}/keywordPlanCampaigns:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.keywordPlanCampaigns.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer whose Keyword Plan campaigns are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/keywordPlanCampaigns:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "keywordPlans": { + "methods": { + "mutate": { + "description": "Creates, updates, or removes keyword plans. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [KeywordPlanError]() [MutateError]() [NewResourceCreationError]() [QuotaError]() [RequestError]() [ResourceCountLimitExceededError]() [StringLengthError]()", + "flatPath": "v23/customers/{customersId}/keywordPlans:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.keywordPlans.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer whose keyword plans are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/keywordPlans:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateKeywordPlansRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateKeywordPlansResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "labels": { + "methods": { + "mutate": { + "description": "Creates, updates, or removes labels. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [DateError]() [DistinctError]() [FieldError]() [FieldMaskError]() [HeaderError]() [IdError]() [InternalError]() [LabelError]() [MutateError]() [NewResourceCreationError]() [NotEmptyError]() [NullError]() [OperatorError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]()", + "flatPath": "v23/customers/{customersId}/labels:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.labels.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. ID of the customer whose labels are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/labels:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateLabelsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateLabelsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "localServices": { + "methods": { + "appendLeadConversation": { + "description": "RPC to append Local Services Lead Conversation resources to Local Services Lead resources.", + "flatPath": "v23/customers/{customersId}/localServices:appendLeadConversation", + "httpMethod": "POST", + "id": "searchads360.customers.localServices.appendLeadConversation", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The Id of the customer which owns the leads onto which the conversations will be appended.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/localServices:appendLeadConversation", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__AppendLeadConversationRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__AppendLeadConversationResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "localServicesLeads": { + "methods": { + "provideLeadFeedback": { + "description": "RPC to provide feedback on Local Services Lead resources.", + "flatPath": "v23/customers/{customersId}/localServicesLeads/{localServicesLeadsId}:provideLeadFeedback", + "httpMethod": "POST", + "id": "searchads360.customers.localServicesLeads.provideLeadFeedback", + "parameterOrder": [ + "resourceName" + ], + "parameters": { + "resourceName": { + "description": "Required. The resource name of the local services lead that for which the feedback is being provided.", + "location": "path", + "pattern": "^customers/[^/]+/localServicesLeads/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/{+resourceName}:provideLeadFeedback", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__ProvideLeadFeedbackRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__ProvideLeadFeedbackResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "offlineUserDataJobs": { + "methods": { + "addOperations": { + "description": "Adds operations to the offline user data job. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [OfflineUserDataJobError]() [QuotaError]() [RequestError]()", + "flatPath": "v23/customers/{customersId}/offlineUserDataJobs/{offlineUserDataJobsId}:addOperations", + "httpMethod": "POST", + "id": "searchads360.customers.offlineUserDataJobs.addOperations", + "parameterOrder": [ + "resourceName" + ], + "parameters": { + "resourceName": { + "description": "Required. The resource name of the OfflineUserDataJob.", + "location": "path", + "pattern": "^customers/[^/]+/offlineUserDataJobs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/{+resourceName}:addOperations", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__AddOfflineUserDataJobOperationsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__AddOfflineUserDataJobOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + }, + "create": { + "description": "Creates an offline user data job. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [NotAllowlistedError]() [OfflineUserDataJobError]() [QuotaError]() [RequestError]()", + "flatPath": "v23/customers/{customersId}/offlineUserDataJobs:create", + "httpMethod": "POST", + "id": "searchads360.customers.offlineUserDataJobs.create", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer for which to create an offline user data job.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/offlineUserDataJobs:create", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__CreateOfflineUserDataJobRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__CreateOfflineUserDataJobResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + }, + "run": { + "description": "Runs the offline user data job. When finished, the long running operation will contain the processing result or failure information, if any. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [HeaderError]() [InternalError]() [OfflineUserDataJobError]() [QuotaError]() [RequestError]()", + "flatPath": "v23/customers/{customersId}/offlineUserDataJobs/{offlineUserDataJobsId}:run", + "httpMethod": "POST", + "id": "searchads360.customers.offlineUserDataJobs.run", + "parameterOrder": [ + "resourceName" + ], + "parameters": { + "resourceName": { + "description": "Required. The resource name of the OfflineUserDataJob to run.", + "location": "path", + "pattern": "^customers/[^/]+/offlineUserDataJobs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/{+resourceName}:run", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__RunOfflineUserDataJobRequest" + }, + "response": { + "$ref": "GoogleLongrunning__Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "paymentsAccounts": { + "methods": { + "list": { + "description": "Returns all payments accounts associated with all managers between the login customer ID and specified serving customer in the hierarchy, inclusive. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [PaymentsAccountError]() [QuotaError]() [RequestError]()", + "flatPath": "v23/customers/{customersId}/paymentsAccounts", + "httpMethod": "GET", + "id": "searchads360.customers.paymentsAccounts.list", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer to apply the PaymentsAccount list operation to.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/paymentsAccounts", + "response": { + "$ref": "GoogleAdsSearchads360V23Services__ListPaymentsAccountsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "productLinkInvitations": { + "methods": { + "create": { + "description": "Creates a product link invitation.", + "flatPath": "v23/customers/{customersId}/productLinkInvitations:create", + "httpMethod": "POST", + "id": "searchads360.customers.productLinkInvitations.create", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/productLinkInvitations:create", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__CreateProductLinkInvitationRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__CreateProductLinkInvitationResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + }, + "remove": { + "description": "Remove a product link invitation.", + "flatPath": "v23/customers/{customersId}/productLinkInvitations:remove", + "httpMethod": "POST", + "id": "searchads360.customers.productLinkInvitations.remove", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the product link invitation being removed.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/productLinkInvitations:remove", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__RemoveProductLinkInvitationRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__RemoveProductLinkInvitationResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + }, + "update": { + "description": "Update a product link invitation.", + "flatPath": "v23/customers/{customersId}/productLinkInvitations:update", + "httpMethod": "POST", + "id": "searchads360.customers.productLinkInvitations.update", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/productLinkInvitations:update", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__UpdateProductLinkInvitationRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__UpdateProductLinkInvitationResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "productLinks": { + "methods": { + "create": { + "description": "Creates a product link. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()", + "flatPath": "v23/customers/{customersId}/productLinks:create", + "httpMethod": "POST", + "id": "searchads360.customers.productLinks.create", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer for which the product link is created.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/productLinks:create", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__CreateProductLinkRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__CreateProductLinkResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + }, + "remove": { + "description": "Removes a product link. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldMaskError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]()", + "flatPath": "v23/customers/{customersId}/productLinks:remove", + "httpMethod": "POST", + "id": "searchads360.customers.productLinks.remove", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/productLinks:remove", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__RemoveProductLinkRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__RemoveProductLinkResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "recommendationSubscriptions": { + "methods": { + "mutateRecommendationSubscription": { + "description": "Mutates given subscription with corresponding apply parameters. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RecommendationError]() [RecommendationSubscriptionError]() [RequestError]() [UrlFieldError]()", + "flatPath": "v23/customers/{customersId}/recommendationSubscriptions:mutateRecommendationSubscription", + "httpMethod": "POST", + "id": "searchads360.customers.recommendationSubscriptions.mutateRecommendationSubscription", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the subscribing customer.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/recommendationSubscriptions:mutateRecommendationSubscription", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateRecommendationSubscriptionRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateRecommendationSubscriptionResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "recommendations": { + "methods": { + "apply": { + "description": "Applies given recommendations with corresponding apply parameters. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RecommendationError]() [RequestError]() [UrlFieldError]()", + "flatPath": "v23/customers/{customersId}/recommendations:apply", + "httpMethod": "POST", + "id": "searchads360.customers.recommendations.apply", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer with the recommendation.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/recommendations:apply", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__ApplyRecommendationRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__ApplyRecommendationResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + }, + "dismiss": { + "description": "Dismisses given recommendations. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RecommendationError]() [RequestError]()", + "flatPath": "v23/customers/{customersId}/recommendations:dismiss", + "httpMethod": "POST", + "id": "searchads360.customers.recommendations.dismiss", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer with the recommendation.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/recommendations:dismiss", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__DismissRecommendationRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__DismissRecommendationResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + }, + "generate": { + "description": "Generates Recommendations based off the requested recommendation_types. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RecommendationError]() [RequestError]()", + "flatPath": "v23/customers/{customersId}/recommendations:generate", + "httpMethod": "POST", + "id": "searchads360.customers.recommendations.generate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer generating recommendations.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/recommendations:generate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__GenerateRecommendationsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__GenerateRecommendationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "remarketingActions": { + "methods": { + "mutate": { + "description": "Creates or updates remarketing actions. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ConversionActionError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", + "flatPath": "v23/customers/{customersId}/remarketingActions:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.remarketingActions.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer whose remarketing actions are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/remarketingActions:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateRemarketingActionsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateRemarketingActionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "searchAds360": { + "methods": { + "mutate": { + "description": "This method is essentially a wrapper around a series of mutate methods. The only features it offers over calling those methods directly are: - Atomic transactions - Temp resource names (described below) - Somewhat reduced latency over making a series of mutate calls Note: Only resources that support atomic transactions are included, so this method can't replace all calls to individual services. ## Atomic Transaction Benefits Atomicity makes error handling much easier. If you're making a series of changes and one fails, it can leave your account in an inconsistent state. With atomicity, you either reach the chosen state directly, or the request fails and you can retry. ## Temp Resource Names Temp resource names are a special type of resource name used to create a resource and reference that resource in the same request. For example, if a is created with `resource_name` equal to ``, that resource name can be reused in the `` field in the same request. That way, the two resources are created and linked atomically. To create a temp resource name, put a negative number in the part of the name that the server would normally allocate. Note: - Resources must be created with a temp name before the name can be reused. For example, the previous example would fail if the mutate order was reversed. - Temp names are not remembered across requests. - There's no limit to the number of temp names in a request. - Each temp name must use a unique negative number, even if the resource types differ. ## Latency It's important to group mutates by resource type or the request may time out and fail. Latency is roughly equal to a series of calls to individual mutate methods, where each change in resource type is a new call. For example, mutating is like 2 calls, while mutating is like 4 calls. List of thrown errors: [AdCustomizerError]() [AdError]() [AdGroupAdError]() [AdGroupCriterionError]() [AdGroupError]() [AssetError]() [AuthenticationError]() [AuthorizationError]() [BiddingError]() [CampaignBudgetError]() [CampaignCriterionError]() [CampaignError]() [CampaignExperimentError]() [CampaignSharedSetError]() [CollectionSizeError]() [ContextError]() [ConversionActionError]() [CriterionError]() [CustomerFeedError]() [DatabaseError]() [DateError]() [DateRangeError]() [DistinctError]() [ExtensionFeedItemError]() [ExtensionSettingError]() [FeedAttributeReferenceError]() [FeedError]() [FeedItemError]() [FeedItemSetError]() [FieldError]() [FieldMaskError]() [FunctionParsingError]() [HeaderError]() [ImageError]() [InternalError]() [KeywordPlanAdGroupKeywordError]() [KeywordPlanCampaignError]() [KeywordPlanError]() [LabelError]() [ListOperationError]() [MediaUploadError]() [MutateError]() [NewResourceCreationError]() [NullError]() [OperationAccessDeniedError]() [PolicyFindingError]() [PolicyViolationError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]() [SettingError]() [SharedSetError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]() [UrlFieldError]() [UserListError]() [YoutubeVideoRegistrationError]()", + "flatPath": "v23/customers/{customersId}/searchAds360:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.searchAds360.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer whose resources are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/searchAds360:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateSearchAds360Request" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateSearchAds360Response" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + }, + "search": { + "description": "Returns all rows that match the search query. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ChangeEventError]() [ChangeStatusError]() [ClickViewError]() [HeaderError]() [InternalError]() [QueryError]() [QuotaError]() [RequestError]()", + "flatPath": "v23/customers/{customersId}/searchAds360:search", + "httpMethod": "POST", + "id": "searchads360.customers.searchAds360.search", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer being queried.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/searchAds360:search", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__SearchSearchAds360Request" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__SearchSearchAds360Response" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "sharedCriteria": { + "methods": { + "mutate": { + "description": "Creates or removes shared criteria. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CriterionError]() [DatabaseError]() [DistinctError]() [FieldError]() [HeaderError]() [IdError]() [InternalError]() [MutateError]() [NotEmptyError]() [NullError]() [OperatorError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]()", + "flatPath": "v23/customers/{customersId}/sharedCriteria:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.sharedCriteria.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer whose shared criteria are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/sharedCriteria:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateSharedCriteriaRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateSharedCriteriaResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "sharedSets": { + "methods": { + "mutate": { + "description": "Creates, updates, or removes shared sets. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [DateError]() [DistinctError]() [FieldError]() [FieldMaskError]() [HeaderError]() [IdError]() [InternalError]() [MutateError]() [NewResourceCreationError]() [NotEmptyError]() [NullError]() [OperatorError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]() [SharedSetError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]()", + "flatPath": "v23/customers/{customersId}/sharedSets:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.sharedSets.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer whose shared sets are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/sharedSets:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateSharedSetsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateSharedSetsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "smartCampaignSettings": { + "methods": { + "getSmartCampaignStatus": { + "description": "Returns the status of the requested Smart campaign.", + "flatPath": "v23/customers/{customersId}/smartCampaignSettings/{smartCampaignSettingsId}:getSmartCampaignStatus", + "httpMethod": "GET", + "id": "searchads360.customers.smartCampaignSettings.getSmartCampaignStatus", + "parameterOrder": [ + "resourceName" + ], + "parameters": { + "resourceName": { + "description": "Required. The resource name of the Smart campaign setting belonging to the Smart campaign to fetch the status of.", + "location": "path", + "pattern": "^customers/[^/]+/smartCampaignSettings/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/{+resourceName}:getSmartCampaignStatus", + "response": { + "$ref": "GoogleAdsSearchads360V23Services__GetSmartCampaignStatusResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + }, + "mutate": { + "description": "Updates Smart campaign settings for campaigns.", + "flatPath": "v23/customers/{customersId}/smartCampaignSettings:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.smartCampaignSettings.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer whose Smart campaign settings are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/smartCampaignSettings:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateSmartCampaignSettingsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateSmartCampaignSettingsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "thirdPartyAppAnalyticsLinks": { + "methods": { + "regenerateShareableLinkId": { + "description": "Regenerate ThirdPartyAppAnalyticsLink.shareable_link_id that should be provided to the third party when setting up app analytics. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", + "flatPath": "v23/customers/{customersId}/thirdPartyAppAnalyticsLinks/{thirdPartyAppAnalyticsLinksId}:regenerateShareableLinkId", + "httpMethod": "POST", + "id": "searchads360.customers.thirdPartyAppAnalyticsLinks.regenerateShareableLinkId", + "parameterOrder": [ + "resourceName" + ], + "parameters": { + "resourceName": { + "description": "Resource name of the third party app analytics link.", + "location": "path", + "pattern": "^customers/[^/]+/thirdPartyAppAnalyticsLinks/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/{+resourceName}:regenerateShareableLinkId", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__RegenerateShareableLinkIdRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__RegenerateShareableLinkIdResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "userListCustomerTypes": { + "methods": { + "mutate": { + "description": "Attach or remove user list customer types. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [UserListCustomerTypeError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", + "flatPath": "v23/customers/{customersId}/userListCustomerTypes:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.userListCustomerTypes.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer whose user list customer types are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/userListCustomerTypes:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateUserListCustomerTypesRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateUserListCustomerTypesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "userLists": { + "methods": { + "mutate": { + "description": "Creates or updates user lists. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CollectionSizeError]() [DatabaseError]() [DistinctError]() [FieldError]() [FieldMaskError]() [HeaderError]() [InternalError]() [MutateError]() [NewResourceCreationError]() [NotAllowlistedError]() [NotEmptyError]() [OperationAccessDeniedError]() [QuotaError]() [RangeError]() [RequestError]() [StringFormatError]() [StringLengthError]() [UserListError]()", + "flatPath": "v23/customers/{customersId}/userLists:mutate", + "httpMethod": "POST", + "id": "searchads360.customers.userLists.mutate", + "parameterOrder": [ + "customerId" + ], + "parameters": { + "customerId": { + "description": "Required. The ID of the customer whose user lists are being modified.", + "location": "path", + "pattern": "^[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/customers/{+customerId}/userLists:mutate", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__MutateUserListsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__MutateUserListsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + } + } + }, + "geoTargetConstants": { + "methods": { + "suggest": { + "description": "Returns GeoTargetConstant suggestions by location name or by resource name. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [GeoTargetConstantSuggestionError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", + "flatPath": "v23/geoTargetConstants:suggest", + "httpMethod": "POST", + "id": "searchads360.geoTargetConstants.suggest", + "parameterOrder": [], + "parameters": {}, + "path": "v23/geoTargetConstants:suggest", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__SuggestGeoTargetConstantsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__SuggestGeoTargetConstantsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "incentives": { + "methods": { + "fetchIncentive": { + "description": "Returns incentives for a given user.", + "flatPath": "v23/incentives:fetchIncentive", + "httpMethod": "GET", + "id": "searchads360.incentives.fetchIncentive", + "parameterOrder": [], + "parameters": { + "countryCode": { + "description": "Optional. User's country code. If not provided, the server will default to \"US\". Possible country codes: https://developers.google.com/google-ads/api/data/codes-formats#country_codes", + "location": "query", + "type": "string" + }, + "email": { + "description": "Optional. Email of the user that the requested incentive is meant for. Will be used for channel partners who do NOT use OAuth to authenticate on behalf of user.", + "location": "query", + "type": "string" + }, + "languageCode": { + "description": "Optional. User's language code. If not provided, the server will default to \"en\". Possible language codes: https://developers.google.com/google-ads/api/data/codes-formats#languages", + "location": "query", + "type": "string" + }, + "type": { + "description": "Optional. The type of incentive to get. Defaults to ACQUISITION.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ACQUISITION" + ], + "enumDescriptions": [ + "Not specified.", + "Unknown incentive type. Should not be used as a value explicitly.", + "An acquisition incentive." + ], + "location": "query", + "type": "string" + } + }, + "path": "v23/incentives:fetchIncentive", + "response": { + "$ref": "GoogleAdsSearchads360V23Services__FetchIncentiveResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "keywordThemeConstants": { + "methods": { + "suggest": { + "description": "Returns KeywordThemeConstant suggestions by keyword themes. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", + "flatPath": "v23/keywordThemeConstants:suggest", + "httpMethod": "POST", + "id": "searchads360.keywordThemeConstants.suggest", + "parameterOrder": [], + "parameters": {}, + "path": "v23/keywordThemeConstants:suggest", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__SuggestKeywordThemeConstantsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__SuggestKeywordThemeConstantsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "searchAds360Fields": { + "methods": { + "get": { + "description": "Returns just the requested field. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", + "flatPath": "v23/searchAds360Fields/{searchAds360FieldsId}", + "httpMethod": "GET", + "id": "searchads360.searchAds360Fields.get", + "parameterOrder": [ + "resourceName" + ], + "parameters": { + "resourceName": { + "description": "Required. The resource name of the field to get.", + "location": "path", + "pattern": "^searchAds360Fields/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v23/{+resourceName}", + "response": { + "$ref": "GoogleAdsSearchads360V23Resources__SearchAds360Field" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + }, + "search": { + "description": "Returns all fields that match the search [query](/search-ads/reporting/concepts/field-service#use_a_query_to_get_field_details). List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QueryError]() [QuotaError]() [RequestError]()", + "flatPath": "v23/searchAds360Fields:search", + "httpMethod": "POST", + "id": "searchads360.searchAds360Fields.search", + "parameterOrder": [], + "parameters": {}, + "path": "v23/searchAds360Fields:search", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__SearchSearchAds360FieldsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__SearchSearchAds360FieldsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + }, + "v23": { + "methods": { + "generateConversionRates": { + "description": "Returns a collection of conversion rate suggestions for supported plannable products. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", + "flatPath": "v23:generateConversionRates", + "httpMethod": "POST", + "id": "searchads360.generateConversionRates", + "parameterOrder": [], + "parameters": {}, + "path": "v23:generateConversionRates", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__GenerateConversionRatesRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__GenerateConversionRatesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + }, + "listBenchmarksAvailableDates": { + "description": "Returns a date range that supports benchmarks. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", + "flatPath": "v23:listBenchmarksAvailableDates", + "httpMethod": "POST", + "id": "searchads360.listBenchmarksAvailableDates", + "parameterOrder": [], + "parameters": {}, + "path": "v23:listBenchmarksAvailableDates", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__ListBenchmarksAvailableDatesRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__ListBenchmarksAvailableDatesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + }, + "listBenchmarksLocations": { + "description": "Returns the list of locations that support benchmarks (for example, countries). List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", + "flatPath": "v23:listBenchmarksLocations", + "httpMethod": "POST", + "id": "searchads360.listBenchmarksLocations", + "parameterOrder": [], + "parameters": {}, + "path": "v23:listBenchmarksLocations", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__ListBenchmarksLocationsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__ListBenchmarksLocationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + }, + "listBenchmarksProducts": { + "description": "Returns the list of products that supports benchmarks. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", + "flatPath": "v23:listBenchmarksProducts", + "httpMethod": "POST", + "id": "searchads360.listBenchmarksProducts", + "parameterOrder": [], + "parameters": {}, + "path": "v23:listBenchmarksProducts", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__ListBenchmarksProductsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__ListBenchmarksProductsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + }, + "listBenchmarksSources": { + "description": "Returns the list of benchmarks sources (for example, Industry Verticals). List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", + "flatPath": "v23:listBenchmarksSources", + "httpMethod": "POST", + "id": "searchads360.listBenchmarksSources", + "parameterOrder": [], + "parameters": {}, + "path": "v23:listBenchmarksSources", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__ListBenchmarksSourcesRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__ListBenchmarksSourcesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + }, + "listPlannableLocations": { + "description": "Returns the list of plannable locations (for example, countries). List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", + "flatPath": "v23:listPlannableLocations", + "httpMethod": "POST", + "id": "searchads360.listPlannableLocations", + "parameterOrder": [], + "parameters": {}, + "path": "v23:listPlannableLocations", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__ListPlannableLocationsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__ListPlannableLocationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + }, + "listPlannableProducts": { + "description": "Returns the list of per-location plannable YouTube ad formats with allowed targeting. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]()", + "flatPath": "v23:listPlannableProducts", + "httpMethod": "POST", + "id": "searchads360.listPlannableProducts", + "parameterOrder": [], + "parameters": {}, + "path": "v23:listPlannableProducts", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__ListPlannableProductsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__ListPlannableProductsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + }, + "listPlannableUserInterests": { + "description": "Returns the list of plannable user interests. A plannable user interest is one that can be targeted in a reach forecast using ReachPlanService.GenerateReachForecast. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [ListOperationError]() [QuotaError]() [RequestError]() [StringLengthError]()", + "flatPath": "v23:listPlannableUserInterests", + "httpMethod": "POST", + "id": "searchads360.listPlannableUserInterests", + "parameterOrder": [], + "parameters": {}, + "path": "v23:listPlannableUserInterests", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__ListPlannableUserInterestsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__ListPlannableUserInterestsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + }, + "listPlannableUserLists": { + "description": "Returns the list of plannable user lists with their plannable status. User lists may not be plannable for a number of reasons, including: - They are less than 10 days old. - They have a membership lifespan that is less than 30 days - They have less than 10,000 or more than 700,000 users. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [ReachPlanError]() [RequestError]()", + "flatPath": "v23:listPlannableUserLists", + "httpMethod": "POST", + "id": "searchads360.listPlannableUserLists", + "parameterOrder": [], + "parameters": {}, + "path": "v23:listPlannableUserLists", + "request": { + "$ref": "GoogleAdsSearchads360V23Services__ListPlannableUserListsRequest" + }, + "response": { + "$ref": "GoogleAdsSearchads360V23Services__ListPlannableUserListsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/doubleclicksearch" + ] + } + } + } + }, + "revision": "20260413", + "rootUrl": "https://searchads360.googleapis.com/", + "schemas": { + "GoogleAdsSearchads360V0Common__Value": { + "description": "A generic data container.", + "id": "GoogleAdsSearchads360V0Common__Value", + "properties": { + "booleanValue": { + "description": "A boolean.", + "type": "boolean" + }, + "doubleValue": { + "description": "A double.", + "format": "double", + "type": "number" + }, + "floatValue": { + "description": "A float.", + "format": "float", + "type": "number" + }, + "int64Value": { + "description": "An int64.", + "format": "int64", + "type": "string" + }, + "stringValue": { + "description": "A string.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V0Errors_ErrorLocation_FieldPathElement": { + "description": "A part of a field path.", + "id": "GoogleAdsSearchads360V0Errors_ErrorLocation_FieldPathElement", + "properties": { + "fieldName": { + "description": "The name of a field or a oneof", + "type": "string" + }, + "index": { + "description": "If field_name is a repeated field, this is the element that failed", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V0Errors__ErrorCode": { + "description": "The error reason represented by type and enum.", + "id": "GoogleAdsSearchads360V0Errors__ErrorCode", + "properties": { + "authenticationError": { + "description": "Indicates failure to properly authenticate user.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "AUTHENTICATION_ERROR", + "CLIENT_CUSTOMER_ID_INVALID", + "CUSTOMER_NOT_FOUND", + "GOOGLE_ACCOUNT_DELETED", + "GOOGLE_ACCOUNT_COOKIE_INVALID", + "GOOGLE_ACCOUNT_AUTHENTICATION_FAILED", + "GOOGLE_ACCOUNT_USER_AND_ADS_USER_MISMATCH", + "LOGIN_COOKIE_REQUIRED", + "NOT_ADS_USER", + "OAUTH_TOKEN_INVALID", + "OAUTH_TOKEN_EXPIRED", + "OAUTH_TOKEN_DISABLED", + "OAUTH_TOKEN_REVOKED", + "OAUTH_TOKEN_HEADER_INVALID", + "LOGIN_COOKIE_INVALID", + "USER_ID_INVALID", + "TWO_STEP_VERIFICATION_NOT_ENROLLED", + "ADVANCED_PROTECTION_NOT_ENROLLED" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Authentication of the request failed.", + "Client customer ID is not a number.", + "No customer found for the provided customer ID.", + "Client's Google account is deleted.", + "Account login token in the cookie is invalid.", + "A problem occurred during Google account authentication.", + "The user in the Google account login token does not match the user ID in the cookie.", + "Login cookie is required for authentication.", + "The Google account that generated the OAuth access token is not associated with a Search Ads 360 account. Create a new account, or add the Google account to an existing Search Ads 360 account.", + "OAuth token in the header is not valid.", + "OAuth token in the header has expired.", + "OAuth token in the header has been disabled.", + "OAuth token in the header has been revoked.", + "OAuth token HTTP header is malformed.", + "Login cookie is not valid.", + "User ID in the header is not a valid ID.", + "An account administrator changed this account's authentication settings. To access this account, enable 2-Step Verification in your Google account at https://www.google.com/landing/2step.", + "An account administrator changed this account's authentication settings. To access this account, enable Advanced Protection in your Google account at https://landing.google.com/advancedprotection." + ], + "type": "string" + }, + "authorizationError": { + "description": "An error encountered when trying to authorize a user.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "USER_PERMISSION_DENIED", + "PROJECT_DISABLED", + "AUTHORIZATION_ERROR", + "ACTION_NOT_PERMITTED", + "INCOMPLETE_SIGNUP", + "CUSTOMER_NOT_ENABLED", + "MISSING_TOS", + "INVALID_LOGIN_CUSTOMER_ID_SERVING_CUSTOMER_ID_COMBINATION", + "SERVICE_ACCESS_DENIED", + "ACCESS_DENIED_FOR_ACCOUNT_TYPE", + "METRIC_ACCESS_DENIED" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "User doesn't have permission to access customer. Note: If you're accessing a client customer, the manager's customer ID must be set in the `login-customer-id` header. Learn more at https://developers.google.com/search-ads/reporting/concepts/call-structure#login_customer_id_header", + "The Google Cloud project sent in the request does not have permission to access the api.", + "Authorization of the client failed.", + "The user does not have permission to perform this action (for example, ADD, UPDATE, REMOVE) on the resource or call a method.", + "Signup not complete.", + "The customer account can't be accessed because it is not yet enabled or has been deactivated.", + "The developer must sign the terms of service. They can be found here: https://developers.google.com/terms", + "The login customer specified does not have access to the account specified, so the request is invalid.", + "The developer specified does not have access to the service.", + "The customer (or login customer) isn't allowed in Search Ads 360 API. It belongs to another ads system.", + "The developer does not have access to the metrics queried." + ], + "type": "string" + }, + "conversionCustomVariableError": { + "description": "The reasons for the conversion custom variable error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "DUPLICATE_NAME", + "DUPLICATE_TAG", + "RESERVED_TAG", + "NOT_FOUND", + "NOT_AVAILABLE", + "INCOMPATIBLE_TYPE", + "INVALID_METRIC", + "EXCEEDS_CARDINALITY_LIMIT", + "INVALID_DIMENSION", + "INCOMPATIBLE_WITH_SELECTED_RESOURCE" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "A conversion custom variable with the specified name already exists.", + "A conversion custom variable with the specified tag already exists.", + "A conversion custom variable with the specified tag is reserved for other uses.", + "The conversion custom variable is not found.", + "The conversion custom variable is not available for use.", + "The conversion custom variable requested is incompatible with the current request.", + "The conversion custom variable requested is not of type METRIC.", + "The conversion custom variable's cardinality exceeds the segmentation limit.", + "The conversion custom variable requested is not of type DIMENSION.", + "The conversion custom variable requested is incompatible with the selected resource." + ], + "type": "string" + }, + "customColumnError": { + "description": "The reasons for the custom column error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CUSTOM_COLUMN_NOT_FOUND", + "CUSTOM_COLUMN_NOT_AVAILABLE" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "The custom column has not been found.", + "The custom column is not available." + ], + "type": "string" + }, + "dateError": { + "description": "The reasons for the date error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "INVALID_FIELD_VALUES_IN_DATE", + "INVALID_FIELD_VALUES_IN_DATE_TIME", + "INVALID_STRING_DATE", + "INVALID_STRING_DATE_TIME_MICROS", + "INVALID_STRING_DATE_TIME_SECONDS", + "INVALID_STRING_DATE_TIME_SECONDS_WITH_OFFSET", + "EARLIER_THAN_MINIMUM_DATE", + "LATER_THAN_MAXIMUM_DATE", + "DATE_RANGE_MINIMUM_DATE_LATER_THAN_MAXIMUM_DATE", + "DATE_RANGE_MINIMUM_AND_MAXIMUM_DATES_BOTH_NULL" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Given field values do not correspond to a valid date.", + "Given field values do not correspond to a valid date time.", + "The string date's format should be yyyy-mm-dd.", + "The string date time's format should be yyyy-mm-dd hh:mm:ss.ssssss.", + "The string date time's format should be yyyy-mm-dd hh:mm:ss.", + "The string date time's format should be yyyy-mm-dd hh:mm:ss+|-hh:mm.", + "Date is before allowed minimum.", + "Date is after allowed maximum.", + "Date range bounds are not in order.", + "Both dates in range are null." + ], + "type": "string" + }, + "dateRangeError": { + "description": "The reasons for the date range error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "INVALID_DATE", + "START_DATE_AFTER_END_DATE", + "CANNOT_SET_DATE_TO_PAST", + "AFTER_MAXIMUM_ALLOWABLE_DATE", + "CANNOT_MODIFY_START_DATE_IF_ALREADY_STARTED" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Invalid date.", + "The start date was after the end date.", + "Cannot set date to past time", + "A date was used that is past the system \"last\" date.", + "Trying to change start date on a resource that has started." + ], + "type": "string" + }, + "distinctError": { + "description": "The reasons for the distinct error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "DUPLICATE_ELEMENT", + "DUPLICATE_TYPE" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Duplicate element.", + "Duplicate type." + ], + "type": "string" + }, + "headerError": { + "description": "The reasons for the header error.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "INVALID_USER_SELECTED_CUSTOMER_ID", + "INVALID_LOGIN_CUSTOMER_ID" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "The user selected customer ID could not be validated.", + "The login customer ID could not be validated." + ], + "type": "string" + }, + "internalError": { + "description": "An unexpected server-side error.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "INTERNAL_ERROR", + "ERROR_CODE_NOT_PUBLISHED", + "TRANSIENT_ERROR", + "DEADLINE_EXCEEDED" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "API encountered unexpected internal error.", + "The intended error code doesn't exist in specified API version. It will be released in a future API version.", + "API encountered an unexpected transient error. The user should retry their request in these cases.", + "The request took longer than a deadline." + ], + "type": "string" + }, + "invalidParameterError": { + "description": "The reasons for invalid parameter errors.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "INVALID_CURRENCY_CODE" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "The specified currency code is invalid." + ], + "type": "string" + }, + "queryError": { + "description": "An error with the query", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "QUERY_ERROR", + "BAD_ENUM_CONSTANT", + "BAD_ESCAPE_SEQUENCE", + "BAD_FIELD_NAME", + "BAD_LIMIT_VALUE", + "BAD_NUMBER", + "BAD_OPERATOR", + "BAD_PARAMETER_NAME", + "BAD_PARAMETER_VALUE", + "BAD_RESOURCE_TYPE_IN_FROM_CLAUSE", + "BAD_SYMBOL", + "BAD_VALUE", + "DATE_RANGE_TOO_WIDE", + "DATE_RANGE_TOO_NARROW", + "EXPECTED_AND", + "EXPECTED_BY", + "EXPECTED_DIMENSION_FIELD_IN_SELECT_CLAUSE", + "EXPECTED_FILTERS_ON_DATE_RANGE", + "EXPECTED_FROM", + "EXPECTED_LIST", + "EXPECTED_REFERENCED_FIELD_IN_SELECT_CLAUSE", + "EXPECTED_SELECT", + "EXPECTED_SINGLE_VALUE", + "EXPECTED_VALUE_WITH_BETWEEN_OPERATOR", + "INVALID_DATE_FORMAT", + "MISALIGNED_DATE_FOR_FILTER", + "INVALID_STRING_VALUE", + "INVALID_VALUE_WITH_BETWEEN_OPERATOR", + "INVALID_VALUE_WITH_DURING_OPERATOR", + "INVALID_VALUE_WITH_LIKE_OPERATOR", + "OPERATOR_FIELD_MISMATCH", + "PROHIBITED_EMPTY_LIST_IN_CONDITION", + "PROHIBITED_ENUM_CONSTANT", + "PROHIBITED_FIELD_COMBINATION_IN_SELECT_CLAUSE", + "PROHIBITED_FIELD_IN_ORDER_BY_CLAUSE", + "PROHIBITED_FIELD_IN_SELECT_CLAUSE", + "PROHIBITED_FIELD_IN_WHERE_CLAUSE", + "PROHIBITED_RESOURCE_TYPE_IN_FROM_CLAUSE", + "PROHIBITED_RESOURCE_TYPE_IN_SELECT_CLAUSE", + "PROHIBITED_RESOURCE_TYPE_IN_WHERE_CLAUSE", + "PROHIBITED_METRIC_IN_SELECT_OR_WHERE_CLAUSE", + "PROHIBITED_SEGMENT_IN_SELECT_OR_WHERE_CLAUSE", + "PROHIBITED_SEGMENT_WITH_METRIC_IN_SELECT_OR_WHERE_CLAUSE", + "LIMIT_VALUE_TOO_LOW", + "PROHIBITED_NEWLINE_IN_STRING", + "PROHIBITED_VALUE_COMBINATION_IN_LIST", + "PROHIBITED_VALUE_COMBINATION_WITH_BETWEEN_OPERATOR", + "STRING_NOT_TERMINATED", + "TOO_MANY_SEGMENTS", + "UNEXPECTED_END_OF_QUERY", + "UNEXPECTED_FROM_CLAUSE", + "UNRECOGNIZED_FIELD", + "UNEXPECTED_INPUT", + "REQUESTED_METRICS_FOR_MANAGER", + "FILTER_HAS_TOO_MANY_VALUES", + "REQUIRED_SEGMENT_FIELD_MISSING" + ], + "enumDescriptions": [ + "Name unspecified.", + "The received error code is not known in this version.", + "Returned if all other query error reasons are not applicable.", + "A condition used in the query references an invalid enum constant.", + "Query contains an invalid escape sequence.", + "Field name is invalid.", + "Limit value is invalid (for example, not a number)", + "Encountered number can not be parsed.", + "Invalid operator encountered.", + "Parameter unknown or not supported.", + "Parameter have invalid value.", + "Invalid resource type was specified in the FROM clause.", + "Non-ASCII symbol encountered outside of strings.", + "Value is invalid.", + "Date filters fail to restrict date to a range smaller than 31 days. Applicable if the query is segmented by date.", + "Filters on date/week/month/quarter have a start date after end date.", + "Expected AND between values with BETWEEN operator.", + "Expecting ORDER BY to have BY.", + "There was no dimension field selected.", + "Missing filters on date related fields.", + "Missing FROM clause.", + "The operator used in the conditions requires the value to be a list.", + "Fields used in WHERE or ORDER BY clauses are missing from the SELECT clause.", + "SELECT is missing at the beginning of query.", + "A list was passed as a value to a condition whose operator expects a single value.", + "Missing one or both values with BETWEEN operator.", + "Invalid date format. Expected 'YYYY-MM-DD'.", + "Misaligned date value for the filter. The date should be the start of a week/month/quarter if the filtered field is segments.week/segments.month/segments.quarter.", + "Value passed was not a string when it should have been. For example, it was a number or unquoted literal.", + "A String value passed to the BETWEEN operator does not parse as a date.", + "The value passed to the DURING operator is not a Date range literal", + "A value was passed to the LIKE operator.", + "An operator was provided that is inapplicable to the field being filtered.", + "A Condition was found with an empty list.", + "A condition used in the query references an unsupported enum constant.", + "Fields that are not allowed to be selected together were included in the SELECT clause.", + "A field that is not orderable was included in the ORDER BY clause.", + "A field that is not selectable was included in the SELECT clause.", + "A field that is not filterable was included in the WHERE clause.", + "Resource type specified in the FROM clause is not supported by this service.", + "A field that comes from an incompatible resource was included in the SELECT clause.", + "A field that comes from an incompatible resource was included in the WHERE clause.", + "A metric incompatible with the main resource or other selected segmenting resources was included in the SELECT or WHERE clause.", + "A segment incompatible with the main resource or other selected segmenting resources was included in the SELECT or WHERE clause.", + "A segment in the SELECT clause is incompatible with a metric in the SELECT or WHERE clause.", + "The value passed to the limit clause is too low.", + "Query has a string containing a newline character.", + "List contains values of different types.", + "The values passed to the BETWEEN operator are not of the same type.", + "Query contains unterminated string.", + "Too many segments are specified in SELECT clause.", + "Query is incomplete and cannot be parsed.", + "FROM clause cannot be specified in this query.", + "Query contains one or more unrecognized fields.", + "Query has an unexpected extra part.", + "Metrics cannot be requested for a manager account. To retrieve metrics, issue separate requests against each client account under the manager account.", + "The number of values (right-hand-side operands) in a filter exceeds the limit.", + "Required segment field is missing." + ], + "type": "string" + }, + "quotaError": { + "description": "An error with the amount of quota remaining.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "RESOURCE_EXHAUSTED", + "RESOURCE_TEMPORARILY_EXHAUSTED" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Too many requests.", + "Too many requests in a short amount of time." + ], + "type": "string" + }, + "requestError": { + "description": "An error caused by the request", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "RESOURCE_NAME_MISSING", + "RESOURCE_NAME_MALFORMED", + "BAD_RESOURCE_ID", + "INVALID_PRODUCT_NAME", + "INVALID_CUSTOMER_ID", + "OPERATION_REQUIRED", + "RESOURCE_NOT_FOUND", + "INVALID_PAGE_TOKEN", + "EXPIRED_PAGE_TOKEN", + "INVALID_PAGE_SIZE", + "REQUIRED_FIELD_MISSING", + "IMMUTABLE_FIELD", + "TOO_MANY_MUTATE_OPERATIONS", + "CANNOT_BE_EXECUTED_BY_MANAGER_ACCOUNT", + "CANNOT_MODIFY_FOREIGN_FIELD", + "INVALID_ENUM_VALUE", + "LOGIN_CUSTOMER_ID_PARAMETER_MISSING", + "LOGIN_OR_LINKED_CUSTOMER_ID_PARAMETER_REQUIRED", + "VALIDATE_ONLY_REQUEST_HAS_PAGE_TOKEN", + "CANNOT_RETURN_SUMMARY_ROW_FOR_REQUEST_WITHOUT_METRICS", + "CANNOT_RETURN_SUMMARY_ROW_FOR_VALIDATE_ONLY_REQUESTS", + "INCONSISTENT_RETURN_SUMMARY_ROW_VALUE", + "TOTAL_RESULTS_COUNT_NOT_ORIGINALLY_REQUESTED", + "RPC_DEADLINE_TOO_SHORT", + "PRODUCT_NOT_SUPPORTED" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Resource name is required for this request.", + "Resource name provided is malformed.", + "Resource name provided is malformed.", + "Product name is invalid.", + "Customer ID is invalid.", + "Mutate operation should have either create, update, or remove specified.", + "Requested resource not found.", + "Next page token specified in user request is invalid.", + "Next page token specified in user request has expired.", + "Page size specified in user request is invalid.", + "Required field is missing.", + "The field cannot be modified because it's immutable. It's also possible that the field can be modified using 'create' operation but not 'update'.", + "Received too many entries in request.", + "Request cannot be executed by a manager account.", + "Mutate request was attempting to modify a readonly field. For instance, Budget fields can be requested for Ad Group, but are read-only for adGroups:mutate.", + "Enum value is not permitted.", + "The login-customer-id parameter is required for this request.", + "Either login-customer-id or linked-customer-id parameter is required for this request.", + "page_token is set in the validate only request", + "return_summary_row cannot be enabled if request did not select any metrics field.", + "return_summary_row should not be enabled for validate only requests.", + "return_summary_row parameter value should be the same between requests with page_token field set and their original request.", + "The total results count cannot be returned if it was not requested in the original request.", + "Deadline specified by the client was too short.", + "The product associated with the request is not supported for the current request." + ], + "type": "string" + }, + "sizeLimitError": { + "description": "The reasons for the size limit error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "REQUEST_SIZE_LIMIT_EXCEEDED", + "RESPONSE_SIZE_LIMIT_EXCEEDED" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "The number of entries in the request exceeds the system limit, or the contents of the operations exceed transaction limits due to their size or complexity. Try reducing the number of entries per request.", + "The number of entries in the response exceeds the system limit." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V0Errors__ErrorDetails": { + "description": "Additional error details.", + "id": "GoogleAdsSearchads360V0Errors__ErrorDetails", + "properties": { + "quotaErrorDetails": { + "$ref": "GoogleAdsSearchads360V0Errors__QuotaErrorDetails", + "description": "Details on the quota error, including the scope (account or developer), the rate bucket name and the retry delay." + }, + "unpublishedErrorCode": { + "description": "The error code that should have been returned, but wasn't. This is used when the error code is not published in the client specified version.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V0Errors__ErrorLocation": { + "description": "Describes the part of the request proto that caused the error.", + "id": "GoogleAdsSearchads360V0Errors__ErrorLocation", + "properties": { + "fieldPathElements": { + "description": "A field path that indicates which field was invalid in the request.", + "items": { + "$ref": "GoogleAdsSearchads360V0Errors_ErrorLocation_FieldPathElement" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V0Errors__QuotaErrorDetails": { + "description": "Additional quota error details when there is QuotaError.", + "id": "GoogleAdsSearchads360V0Errors__QuotaErrorDetails", + "properties": { + "rateName": { + "description": "The high level description of the quota bucket. Examples are \"Get requests for standard access\" or \"Requests per account\".", + "type": "string" + }, + "rateScope": { + "description": "The rate scope of the quota limit.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ACCOUNT", + "DEVELOPER" + ], + "enumDescriptions": [ + "Unspecified enum", + "Used for return value only. Represents value unknown in this version.", + "Per customer account quota", + "Per project quota" + ], + "type": "string" + }, + "retryDelay": { + "description": "Backoff period that customers should wait before sending next request.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V0Errors__SearchAds360Error": { + "description": "Search Ads 360-specific error.", + "id": "GoogleAdsSearchads360V0Errors__SearchAds360Error", + "properties": { + "details": { + "$ref": "GoogleAdsSearchads360V0Errors__ErrorDetails", + "description": "Additional error details, which are returned by certain error codes. Most error codes do not include details." + }, + "errorCode": { + "$ref": "GoogleAdsSearchads360V0Errors__ErrorCode", + "description": "An enum value that indicates which error occurred." + }, + "location": { + "$ref": "GoogleAdsSearchads360V0Errors__ErrorLocation", + "description": "Describes the part of the request proto that caused the error." + }, + "message": { + "description": "A human-readable description of the error.", + "type": "string" + }, + "trigger": { + "$ref": "GoogleAdsSearchads360V0Common__Value", + "description": "The value that triggered the error." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V0Errors__SearchAds360Failure": { + "description": "Describes how a Search Ads 360 API call failed. It's returned inside google.rpc.Status.details when a call fails.", + "id": "GoogleAdsSearchads360V0Errors__SearchAds360Failure", + "properties": { + "errors": { + "description": "The list of errors that occurred.", + "items": { + "$ref": "GoogleAdsSearchads360V0Errors__SearchAds360Error" + }, + "type": "array" + }, + "requestId": { + "description": "The unique ID of the request that is used for debugging purposes.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common_CampaignGoalSettings_CampaignRetentionGoalSettings": { + "description": "Retention campaign goal settings.", + "id": "GoogleAdsSearchads360V23Common_CampaignGoalSettings_CampaignRetentionGoalSettings", + "properties": { + "targetOption": { + "description": "Retention goal optimization mode for this campaign. Defaults to TARGET_ALL. Only customers on the allowlist can set target_option.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "TARGET_ALL", + "TARGET_SPECIFIC" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The mode is used when the campaign optimizes for all customers, which is the default value.", + "This mode configures the campaign to target only customers who have previously interacted but are now lapsed or disengaged." + ], + "type": "string" + }, + "valueSettingsOverride": { + "$ref": "GoogleAdsSearchads360V23Common__CustomerLifecycleOptimizationValueSettings", + "description": "Retention goal campaign specific value settings." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common_GoalSetting_RetentionGoal": { + "description": "Retention goal settings.", + "id": "GoogleAdsSearchads360V23Common_GoalSetting_RetentionGoal", + "properties": { + "valueSettings": { + "$ref": "GoogleAdsSearchads360V23Common__CustomerLifecycleOptimizationValueSettings", + "description": "Retention goal value settings." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common_LineupAttributeMetadata_SampleChannel": { + "description": "A YouTube channel returned as an example of the content in a lineup.", + "id": "GoogleAdsSearchads360V23Common_LineupAttributeMetadata_SampleChannel", + "properties": { + "displayName": { + "description": "The name of the sample channel.", + "type": "string" + }, + "youtubeChannel": { + "$ref": "GoogleAdsSearchads360V23Common__YouTubeChannelInfo", + "description": "A YouTube channel." + }, + "youtubeChannelMetadata": { + "$ref": "GoogleAdsSearchads360V23Common__YouTubeChannelAttributeMetadata", + "description": "Metadata for the sample channel." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common_PolicyTopicConstraint_CountryConstraint": { + "description": "Indicates that a resource's ability to serve in a particular country is constrained.", + "id": "GoogleAdsSearchads360V23Common_PolicyTopicConstraint_CountryConstraint", + "properties": { + "countryCriterion": { + "description": "Geo target constant resource name of the country in which serving is constrained.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common_PolicyTopicConstraint_CountryConstraintList": { + "description": "A list of countries where a resource's serving is constrained.", + "id": "GoogleAdsSearchads360V23Common_PolicyTopicConstraint_CountryConstraintList", + "properties": { + "countries": { + "description": "Countries in which serving is restricted.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common_PolicyTopicConstraint_CountryConstraint" + }, + "type": "array" + }, + "totalTargetedCountries": { + "description": "Total number of countries targeted by the resource.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common_PolicyTopicConstraint_ResellerConstraint": { + "description": "Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes.", + "id": "GoogleAdsSearchads360V23Common_PolicyTopicConstraint_ResellerConstraint", + "properties": {}, + "type": "object" + }, + "GoogleAdsSearchads360V23Common_PolicyTopicEvidence_DestinationMismatch": { + "description": "Evidence of mismatches between the URLs of a resource.", + "id": "GoogleAdsSearchads360V23Common_PolicyTopicEvidence_DestinationMismatch", + "properties": { + "urlTypes": { + "description": "The set of URLs that did not match each other.", + "items": { + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "DISPLAY_URL", + "FINAL_URL", + "FINAL_MOBILE_URL", + "TRACKING_URL", + "MOBILE_TRACKING_URL" + ], + "enumDescriptions": [ + "No value has been specified.", + "The received value is not known in this version. This is a response-only value.", + "The display url.", + "The final url.", + "The final mobile url.", + "The tracking url template, with substituted desktop url.", + "The tracking url template, with substituted mobile url." + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common_PolicyTopicEvidence_DestinationNotWorking": { + "description": "Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices.", + "id": "GoogleAdsSearchads360V23Common_PolicyTopicEvidence_DestinationNotWorking", + "properties": { + "device": { + "description": "The type of device that failed to load the URL.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "DESKTOP", + "ANDROID", + "IOS" + ], + "enumDescriptions": [ + "No value has been specified.", + "The received value is not known in this version. This is a response-only value.", + "Landing page doesn't work on desktop device.", + "Landing page doesn't work on Android device.", + "Landing page doesn't work on iOS device." + ], + "type": "string" + }, + "dnsErrorType": { + "description": "The type of DNS error.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "HOSTNAME_NOT_FOUND", + "GOOGLE_CRAWLER_DNS_ISSUE" + ], + "enumDescriptions": [ + "No value has been specified.", + "The received value is not known in this version. This is a response-only value.", + "Host name not found in DNS when fetching landing page.", + "Google internal crawler issue when communicating with DNS. This error doesn't mean the landing page doesn't work. Google will recrawl the landing page." + ], + "type": "string" + }, + "expandedUrl": { + "description": "The full URL that didn't work.", + "type": "string" + }, + "httpErrorCode": { + "description": "The HTTP error code.", + "format": "int64", + "type": "string" + }, + "lastCheckedDateTime": { + "description": "The time the URL was last checked. The format is \"YYYY-MM-DD HH:MM:SS\". Examples: \"2018-03-05 09:15:00\" or \"2018-02-01 14:34:30\"", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common_PolicyTopicEvidence_DestinationTextList": { + "description": "A list of strings found in a destination page that caused a policy finding.", + "id": "GoogleAdsSearchads360V23Common_PolicyTopicEvidence_DestinationTextList", + "properties": { + "destinationTexts": { + "description": "List of text found in the resource's destination page.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common_PolicyTopicEvidence_TextList": { + "description": "A list of fragments of text that violated a policy.", + "id": "GoogleAdsSearchads360V23Common_PolicyTopicEvidence_TextList", + "properties": { + "texts": { + "description": "The fragments of text from the resource that caused the policy finding.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common_PolicyTopicEvidence_WebsiteList": { + "description": "A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here.", + "id": "GoogleAdsSearchads360V23Common_PolicyTopicEvidence_WebsiteList", + "properties": { + "websites": { + "description": "Websites that caused the policy finding.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__ActivityCityInfo": { + "description": "The city where the travel activity is available.", + "id": "GoogleAdsSearchads360V23Common__ActivityCityInfo", + "properties": { + "value": { + "description": "String value of the activity city. The Geo Target Constant resource name.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__ActivityCountryInfo": { + "description": "The country where the travel activity is available.", + "id": "GoogleAdsSearchads360V23Common__ActivityCountryInfo", + "properties": { + "value": { + "description": "String value of the activity country. The Geo Target Constant resource name.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__ActivityIdInfo": { + "description": "Advertiser-specific activity ID.", + "id": "GoogleAdsSearchads360V23Common__ActivityIdInfo", + "properties": { + "value": { + "description": "String value of the activity ID.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__ActivityRatingInfo": { + "description": "Rating of the activity as a number 1 to 5, where 5 is the best.", + "id": "GoogleAdsSearchads360V23Common__ActivityRatingInfo", + "properties": { + "value": { + "description": "Long value of the activity rating.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__ActivityStateInfo": { + "description": "The state where the travel activity is available.", + "id": "GoogleAdsSearchads360V23Common__ActivityStateInfo", + "properties": { + "value": { + "description": "String value of the activity state. The Geo Target Constant resource name.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__AdAppDeepLinkAsset": { + "description": "An app deep link used inside an ad.", + "id": "GoogleAdsSearchads360V23Common__AdAppDeepLinkAsset", + "properties": { + "asset": { + "description": "The Asset resource name of this app deep link asset.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__AdAssetPolicySummary": { + "description": "Contains policy information for an asset inside an ad.", + "id": "GoogleAdsSearchads360V23Common__AdAssetPolicySummary", + "properties": { + "approvalStatus": { + "description": "The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "DISAPPROVED", + "APPROVED_LIMITED", + "APPROVED", + "AREA_OF_INTEREST_ONLY" + ], + "enumDescriptions": [ + "No value has been specified.", + "The received value is not known in this version. This is a response-only value.", + "Will not serve.", + "Serves with restrictions.", + "Serves without restrictions.", + "Will not serve in targeted countries, but may serve for users who are searching for information about the targeted countries." + ], + "type": "string" + }, + "policyTopicEntries": { + "description": "The list of policy findings for this asset.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__PolicyTopicEntry" + }, + "type": "array" + }, + "reviewStatus": { + "description": "Where in the review process this asset.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "REVIEW_IN_PROGRESS", + "REVIEWED", + "UNDER_APPEAL", + "ELIGIBLE_MAY_SERVE" + ], + "enumDescriptions": [ + "No value has been specified.", + "The received value is not known in this version. This is a response-only value.", + "Currently under review.", + "Primary review complete. Other reviews may be continuing.", + "The resource has been resubmitted for approval or its policy decision has been appealed.", + "The resource is eligible and may be serving but could still undergo further review." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__AdCallToActionAsset": { + "description": "A call to action asset used inside an ad.", + "id": "GoogleAdsSearchads360V23Common__AdCallToActionAsset", + "properties": { + "asset": { + "description": "The Asset resource name of this call to action asset.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__AdDemandGenCarouselCardAsset": { + "description": "A Demand Gen carousel card asset used inside an ad.", + "id": "GoogleAdsSearchads360V23Common__AdDemandGenCarouselCardAsset", + "properties": { + "asset": { + "description": "The Asset resource name of this discovery carousel card.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__AdImageAsset": { + "description": "An image asset used inside an ad.", + "id": "GoogleAdsSearchads360V23Common__AdImageAsset", + "properties": { + "asset": { + "description": "The Asset resource name of this image.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__AdMediaBundleAsset": { + "description": "A media bundle asset used inside an ad.", + "id": "GoogleAdsSearchads360V23Common__AdMediaBundleAsset", + "properties": { + "asset": { + "description": "The Asset resource name of this media bundle.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__AdScheduleInfo": { + "description": "Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day.", + "id": "GoogleAdsSearchads360V23Common__AdScheduleInfo", + "properties": { + "dayOfWeek": { + "description": "Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "MONDAY", + "TUESDAY", + "WEDNESDAY", + "THURSDAY", + "FRIDAY", + "SATURDAY", + "SUNDAY" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "Monday.", + "Tuesday.", + "Wednesday.", + "Thursday.", + "Friday.", + "Saturday.", + "Sunday." + ], + "type": "string" + }, + "endHour": { + "description": "Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.", + "format": "int32", + "type": "integer" + }, + "endMinute": { + "description": "Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ZERO", + "FIFTEEN", + "THIRTY", + "FORTY_FIVE" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "Zero minutes past the hour.", + "Fifteen minutes past the hour.", + "Thirty minutes past the hour.", + "Forty-five minutes past the hour." + ], + "type": "string" + }, + "startHour": { + "description": "Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.", + "format": "int32", + "type": "integer" + }, + "startMinute": { + "description": "Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ZERO", + "FIFTEEN", + "THIRTY", + "FORTY_FIVE" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "Zero minutes past the hour.", + "Fifteen minutes past the hour.", + "Thirty minutes past the hour.", + "Forty-five minutes past the hour." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__AdTextAsset": { + "description": "A text asset used inside an ad.", + "id": "GoogleAdsSearchads360V23Common__AdTextAsset", + "properties": { + "assetPerformanceLabel": { + "description": "The performance label of this text asset.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "PENDING", + "LEARNING", + "LOW", + "GOOD", + "BEST", + "NOT_APPLICABLE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "This asset does not yet have any performance informantion. This may be because it is still under review.", + "The asset has started getting impressions but the stats are not statistically significant enough to get an asset performance label.", + "Worst performing assets.", + "Good performing assets.", + "Best performing assets.", + "Performance label cannot be assigned to this asset. This may be because it's not used by asset based creatives." + ], + "type": "string" + }, + "pinnedField": { + "description": "The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "HEADLINE_1", + "HEADLINE_2", + "HEADLINE_3", + "DESCRIPTION_1", + "DESCRIPTION_2", + "HEADLINE", + "HEADLINE_IN_PORTRAIT", + "LONG_HEADLINE", + "DESCRIPTION", + "DESCRIPTION_IN_PORTRAIT", + "BUSINESS_NAME_IN_PORTRAIT", + "BUSINESS_NAME", + "MARKETING_IMAGE", + "MARKETING_IMAGE_IN_PORTRAIT", + "SQUARE_MARKETING_IMAGE", + "PORTRAIT_MARKETING_IMAGE", + "LOGO", + "LANDSCAPE_LOGO", + "CALL_TO_ACTION", + "YOU_TUBE_VIDEO", + "SITELINK", + "CALL", + "MOBILE_APP", + "CALLOUT", + "STRUCTURED_SNIPPET", + "PRICE", + "PROMOTION", + "AD_IMAGE", + "LEAD_FORM", + "BUSINESS_LOGO", + "DESCRIPTION_PREFIX", + "HEADLINE_AS_SITELINK_POSITION_ONE", + "HEADLINE_AS_SITELINK_POSITION_TWO", + "DESCRIPTION_LINE_HEADLINE_AS_SITELINK_POSITION_ONE", + "DESCRIPTION_LINE_HEADLINE_AS_SITELINK_POSITION_TWO" + ], + "enumDescriptions": [ + "No value has been specified.", + "The received value is not known in this version. This is a response-only value.", + "The asset is used in headline 1.", + "The asset is used in headline 2.", + "The asset is used in headline 3.", + "The asset is used in description 1.", + "The asset is used in description 2.", + "The asset was used in a headline. Use this only if there is only one headline in the ad. Otherwise, use the HEADLINE_1, HEADLINE_2 or HEADLINE_3 enums", + "The asset was used as a headline in portrait image.", + "The asset was used in a long headline (used in MultiAssetResponsiveAd).", + "The asset was used in a description. Use this only if there is only one description in the ad. Otherwise, use the DESCRIPTION_1 or DESCRIPTION_@ enums", + "The asset was used as description in portrait image.", + "The asset was used as business name in portrait image.", + "The asset was used as business name.", + "The asset was used as a marketing image.", + "The asset was used as a marketing image in portrait image.", + "The asset was used as a square marketing image.", + "The asset was used as a portrait marketing image.", + "The asset was used as a logo.", + "The asset was used as a landscape logo.", + "The asset was used as a call-to-action.", + "The asset was used as a YouTube video.", + "This asset is used as a sitelink.", + "This asset is used as a call.", + "This asset is used as a mobile app.", + "This asset is used as a callout.", + "This asset is used as a structured snippet.", + "This asset is used as a price.", + "This asset is used as a promotion.", + "This asset is used as an image.", + "The asset is used as a lead form.", + "The asset is used as a business logo.", + "The asset is used as a description prefix.", + "A headline asset used as a sitelink in position 1.", + "A headline asset used as a sitelink in position 2.", + "A description line asset used as a sitelink in position 1.", + "A description line asset used as a sitelink in position 2." + ], + "type": "string" + }, + "policySummaryInfo": { + "$ref": "GoogleAdsSearchads360V23Common__AdAssetPolicySummary", + "description": "The policy summary of this text asset." + }, + "text": { + "description": "Asset text.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__AdVideoAsset": { + "description": "A video asset used inside an ad.", + "id": "GoogleAdsSearchads360V23Common__AdVideoAsset", + "properties": { + "adVideoAssetInfo": { + "$ref": "GoogleAdsSearchads360V23Common__AdVideoAssetInfo", + "description": "Contains info fields for this AdVideoAsset." + }, + "asset": { + "description": "The Asset resource name of this video.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__AdVideoAssetInfo": { + "description": "Contains info fields for AdVideoAssets.", + "id": "GoogleAdsSearchads360V23Common__AdVideoAssetInfo", + "properties": { + "adVideoAssetFeatureControl": { + "$ref": "GoogleAdsSearchads360V23Common__AdVideoAssetLinkFeatureControl", + "description": "Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__AdVideoAssetLinkFeatureControl": { + "description": "YouTube Video Asset feature controls.", + "id": "GoogleAdsSearchads360V23Common__AdVideoAssetLinkFeatureControl", + "properties": { + "allowYoutubeComments": { + "description": "Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__AdditionalApplicationInfo": { + "description": "Additional information about the application/tool issuing the request. This field is only used by ContentCreatorInsightsService, AudienceInsightsService, and ReachPlanService APIs.", + "id": "GoogleAdsSearchads360V23Common__AdditionalApplicationInfo", + "properties": { + "applicationId": { + "description": "The unique identifier of the agency proprietary application. This identifier is generated by Google. Reach out to your Google representative to request an application_id for each new application being integrated.", + "type": "string" + }, + "applicationInstance": { + "description": "The instance type of the application sending the request.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "DEVELOPMENT_AND_TESTING", + "PRODUCTION" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "The instance is for development and testing purposes.", + "The instance is for production purposes." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__AddressInfo": { + "description": "Address for proximity criterion.", + "id": "GoogleAdsSearchads360V23Common__AddressInfo", + "properties": { + "cityName": { + "description": "Name of the city.", + "type": "string" + }, + "countryCode": { + "description": "Country code.", + "type": "string" + }, + "postalCode": { + "description": "Postal code.", + "type": "string" + }, + "provinceCode": { + "description": "Province or state code.", + "type": "string" + }, + "provinceName": { + "description": "Province or state name.", + "type": "string" + }, + "streetAddress": { + "description": "Street address line 1.", + "type": "string" + }, + "streetAddress2": { + "description": "Street address line 2. This field is write-only. It is only used for calculating the longitude and latitude of an address when geo_point is empty.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__AgeDimension": { + "description": "Dimension specifying users by their age.", + "id": "GoogleAdsSearchads360V23Common__AgeDimension", + "properties": { + "ageRanges": { + "description": "Contiguous age range to be included in the dimension.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AgeSegment" + }, + "type": "array" + }, + "includeUndetermined": { + "description": "Include users whose age is not determined.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__AgeRangeInfo": { + "description": "An age range criterion.", + "id": "GoogleAdsSearchads360V23Common__AgeRangeInfo", + "properties": { + "type": { + "description": "Type of the age range.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "AGE_RANGE_18_24", + "AGE_RANGE_25_34", + "AGE_RANGE_35_44", + "AGE_RANGE_45_54", + "AGE_RANGE_55_64", + "AGE_RANGE_65_UP", + "AGE_RANGE_UNDETERMINED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Between 18 and 24 years old.", + "Between 25 and 34 years old.", + "Between 35 and 44 years old.", + "Between 45 and 54 years old.", + "Between 55 and 64 years old.", + "65 years old and beyond.", + "Undetermined age range." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__AgeSegment": { + "description": "Contiguous age range.", + "id": "GoogleAdsSearchads360V23Common__AgeSegment", + "properties": { + "maxAge": { + "description": "Maximum age to include. A maximum age need not be specified. If specified, max_age must be greater than min_age, and allowed values are 24, 34, 44, 54, and 64.", + "format": "int32", + "type": "integer" + }, + "minAge": { + "description": "Minimum age to include. A minimum age must be specified and must be at least 18. Allowed values are 18, 25, 35, 45, 55, and 65.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__AppAdInfo": { + "description": "An app ad.", + "id": "GoogleAdsSearchads360V23Common__AppAdInfo", + "properties": { + "appDeepLink": { + "$ref": "GoogleAdsSearchads360V23Common__AdAppDeepLinkAsset", + "description": "An app deep link asset that may be used with the ad." + }, + "descriptions": { + "description": "List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AdTextAsset" + }, + "type": "array" + }, + "headlines": { + "description": "List of text assets for headlines. When the ad serves the headlines will be selected from this list.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AdTextAsset" + }, + "type": "array" + }, + "html5MediaBundles": { + "description": "List of media bundle assets that may be used with the ad.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AdMediaBundleAsset" + }, + "type": "array" + }, + "images": { + "description": "List of image assets that may be displayed with the ad.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AdImageAsset" + }, + "type": "array" + }, + "mandatoryAdText": { + "$ref": "GoogleAdsSearchads360V23Common__AdTextAsset", + "description": "Mandatory ad text." + }, + "youtubeVideos": { + "description": "List of YouTube video assets that may be displayed with the ad.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AdVideoAsset" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__AppDeepLinkAsset": { + "description": "An app deep link asset", + "id": "GoogleAdsSearchads360V23Common__AppDeepLinkAsset", + "properties": { + "appDeepLinkUri": { + "description": "The uri for the app deep link, The uri can be either a custom scheme uri (e.g. mystore://shoes) or universal uri (e.g. http://www.mystore.com/shoes).", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__AppEngagementAdInfo": { + "description": "App engagement ads allow you to write text encouraging a specific action in the app, like checking in, making a purchase, or booking a flight. They allow you to send users to a specific part of your app where they can find what they're looking for easier and faster.", + "id": "GoogleAdsSearchads360V23Common__AppEngagementAdInfo", + "properties": { + "descriptions": { + "description": "List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AdTextAsset" + }, + "type": "array" + }, + "headlines": { + "description": "List of text assets for headlines. When the ad serves the headlines will be selected from this list.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AdTextAsset" + }, + "type": "array" + }, + "images": { + "description": "List of image assets that may be displayed with the ad.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AdImageAsset" + }, + "type": "array" + }, + "videos": { + "description": "List of video assets that may be displayed with the ad.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AdVideoAsset" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__AppPaymentModelInfo": { + "description": "An app payment model criterion.", + "id": "GoogleAdsSearchads360V23Common__AppPaymentModelInfo", + "properties": { + "type": { + "description": "Type of the app payment model.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "PAID" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Represents paid-for apps." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__AppPreRegistrationAdInfo": { + "description": "App pre-registration ads link to your app or game listing on Google Play, and can run on Google Play, on YouTube (in-stream only), and within other apps and mobile websites on the Display Network. It will help capture people's interest in your app or game and generate an early install base for your app or game before a launch.", + "id": "GoogleAdsSearchads360V23Common__AppPreRegistrationAdInfo", + "properties": { + "descriptions": { + "description": "List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AdTextAsset" + }, + "type": "array" + }, + "headlines": { + "description": "List of text assets for headlines. When the ad serves the headlines will be selected from this list.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AdTextAsset" + }, + "type": "array" + }, + "images": { + "description": "List of image asset IDs whose images may be displayed with the ad.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AdImageAsset" + }, + "type": "array" + }, + "youtubeVideos": { + "description": "List of YouTube video asset IDs whose videos may be displayed with the ad.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AdVideoAsset" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__AssetDisapproved": { + "description": "Details related to AssetLinkPrimaryStatusReasonPB.ASSET_DISAPPROVED", + "id": "GoogleAdsSearchads360V23Common__AssetDisapproved", + "properties": { + "offlineEvaluationErrorReasons": { + "description": "Provides the quality evaluation disapproval reason of an asset.", + "items": { + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "PRICE_ASSET_DESCRIPTION_REPEATS_ROW_HEADER", + "PRICE_ASSET_REPETITIVE_HEADERS", + "PRICE_ASSET_HEADER_INCOMPATIBLE_WITH_PRICE_TYPE", + "PRICE_ASSET_DESCRIPTION_INCOMPATIBLE_WITH_ITEM_HEADER", + "PRICE_ASSET_DESCRIPTION_HAS_PRICE_QUALIFIER", + "PRICE_ASSET_UNSUPPORTED_LANGUAGE", + "PRICE_ASSET_OTHER_ERROR" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "One or more descriptions repeats its corresponding row header.", + "Price asset contains repetitive headers.", + "Price item header is not relevant to the price type.", + "Price item description is not relevant to the item header.", + "Price asset has a price qualifier in a description.", + "Unsupported language for price assets", + "Human raters identified an issue with the price asset that isn't captured by other error reasons. The primary purpose of this value is to represent legacy FeedItem disapprovals that are no longer produced." + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__AssetInteractionTarget": { + "description": "An AssetInteractionTarget segment.", + "id": "GoogleAdsSearchads360V23Common__AssetInteractionTarget", + "properties": { + "asset": { + "description": "The asset resource name.", + "type": "string" + }, + "interactionOnThisAsset": { + "description": "Only used with CustomerAsset, CampaignAsset and AdGroupAsset metrics. Indicates whether the interaction metrics occurred on the asset itself or a different asset or ad unit.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__AssetLinkPrimaryStatusDetails": { + "description": "Provides the detail of a PrimaryStatus. Each asset link has a PrimaryStatus value (e.g. NOT_ELIGIBLE, meaning not serving), and list of corroborating PrimaryStatusReasons (e.g. [ASSET_DISAPPROVED]). Each reason may have some additional details annotated with it. For instance, when the reason is ASSET_DISAPPROVED, the details field will contain additional information about the offline evaluation errors which led to the asset being disapproved.", + "id": "GoogleAdsSearchads360V23Common__AssetLinkPrimaryStatusDetails", + "properties": { + "assetDisapproved": { + "$ref": "GoogleAdsSearchads360V23Common__AssetDisapproved", + "description": "Provides the details for AssetLinkPrimaryStatusReason.ASSET_DISAPPROVED" + }, + "reason": { + "description": "Provides the reason of this PrimaryStatus.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ASSET_LINK_PAUSED", + "ASSET_LINK_REMOVED", + "ASSET_DISAPPROVED", + "ASSET_UNDER_REVIEW", + "ASSET_APPROVED_LABELED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The asset is paused for its linked rollup level. Contributes to a PrimaryStatus of PAUSED.", + "The asset is removed for its linked rollup level. Contributes to a PrimaryStatus of REMOVED.", + "The asset has been marked as disapproved. Contributes to a PrimaryStatus of NOT_ELIGIBLE", + "The asset has not completed policy review. Contributes to a PrimaryStatus of PENDING.", + "The asset is approved with policies applied. Contributes to a PrimaryStatus of LIMITED." + ], + "type": "string" + }, + "status": { + "description": "Provides the PrimaryStatus of this status detail.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ELIGIBLE", + "PAUSED", + "REMOVED", + "PENDING", + "LIMITED", + "NOT_ELIGIBLE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The asset is eligible to serve.", + "The user-specified asset link status is paused.", + "The user-specified asset link status is removed.", + "The asset may serve in the future.", + "The asset is serving in a partial capacity.", + "The asset is not eligible to serve." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__AssetUsage": { + "description": "Contains the usage information of the asset.", + "id": "GoogleAdsSearchads360V23Common__AssetUsage", + "properties": { + "asset": { + "description": "Resource name of the asset.", + "type": "string" + }, + "servedAssetFieldType": { + "description": "The served field type of the asset.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "HEADLINE_1", + "HEADLINE_2", + "HEADLINE_3", + "DESCRIPTION_1", + "DESCRIPTION_2", + "HEADLINE", + "HEADLINE_IN_PORTRAIT", + "LONG_HEADLINE", + "DESCRIPTION", + "DESCRIPTION_IN_PORTRAIT", + "BUSINESS_NAME_IN_PORTRAIT", + "BUSINESS_NAME", + "MARKETING_IMAGE", + "MARKETING_IMAGE_IN_PORTRAIT", + "SQUARE_MARKETING_IMAGE", + "PORTRAIT_MARKETING_IMAGE", + "LOGO", + "LANDSCAPE_LOGO", + "CALL_TO_ACTION", + "YOU_TUBE_VIDEO", + "SITELINK", + "CALL", + "MOBILE_APP", + "CALLOUT", + "STRUCTURED_SNIPPET", + "PRICE", + "PROMOTION", + "AD_IMAGE", + "LEAD_FORM", + "BUSINESS_LOGO", + "DESCRIPTION_PREFIX", + "HEADLINE_AS_SITELINK_POSITION_ONE", + "HEADLINE_AS_SITELINK_POSITION_TWO", + "DESCRIPTION_LINE_HEADLINE_AS_SITELINK_POSITION_ONE", + "DESCRIPTION_LINE_HEADLINE_AS_SITELINK_POSITION_TWO" + ], + "enumDescriptions": [ + "No value has been specified.", + "The received value is not known in this version. This is a response-only value.", + "The asset is used in headline 1.", + "The asset is used in headline 2.", + "The asset is used in headline 3.", + "The asset is used in description 1.", + "The asset is used in description 2.", + "The asset was used in a headline. Use this only if there is only one headline in the ad. Otherwise, use the HEADLINE_1, HEADLINE_2 or HEADLINE_3 enums", + "The asset was used as a headline in portrait image.", + "The asset was used in a long headline (used in MultiAssetResponsiveAd).", + "The asset was used in a description. Use this only if there is only one description in the ad. Otherwise, use the DESCRIPTION_1 or DESCRIPTION_@ enums", + "The asset was used as description in portrait image.", + "The asset was used as business name in portrait image.", + "The asset was used as business name.", + "The asset was used as a marketing image.", + "The asset was used as a marketing image in portrait image.", + "The asset was used as a square marketing image.", + "The asset was used as a portrait marketing image.", + "The asset was used as a logo.", + "The asset was used as a landscape logo.", + "The asset was used as a call-to-action.", + "The asset was used as a YouTube video.", + "This asset is used as a sitelink.", + "This asset is used as a call.", + "This asset is used as a mobile app.", + "This asset is used as a callout.", + "This asset is used as a structured snippet.", + "This asset is used as a price.", + "This asset is used as a promotion.", + "This asset is used as an image.", + "The asset is used as a lead form.", + "The asset is used as a business logo.", + "The asset is used as a description prefix.", + "A headline asset used as a sitelink in position 1.", + "A headline asset used as a sitelink in position 2.", + "A description line asset used as a sitelink in position 1.", + "A description line asset used as a sitelink in position 2." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__AudienceDimension": { + "description": "Positive dimension specifying user's audience.", + "id": "GoogleAdsSearchads360V23Common__AudienceDimension", + "properties": { + "age": { + "$ref": "GoogleAdsSearchads360V23Common__AgeDimension", + "description": "Dimension specifying users by their age." + }, + "audienceSegments": { + "$ref": "GoogleAdsSearchads360V23Common__AudienceSegmentDimension", + "description": "Dimension specifying users by their membership in other audience segments." + }, + "gender": { + "$ref": "GoogleAdsSearchads360V23Common__GenderDimension", + "description": "Dimension specifying users by their gender." + }, + "householdIncome": { + "$ref": "GoogleAdsSearchads360V23Common__HouseholdIncomeDimension", + "description": "Dimension specifying users by their household income." + }, + "parentalStatus": { + "$ref": "GoogleAdsSearchads360V23Common__ParentalStatusDimension", + "description": "Dimension specifying users by their parental status." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__AudienceExclusionDimension": { + "description": "Negative dimension specifying users to exclude from the audience.", + "id": "GoogleAdsSearchads360V23Common__AudienceExclusionDimension", + "properties": { + "exclusions": { + "description": "Audience segment to be excluded.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__ExclusionSegment" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__AudienceInfo": { + "description": "An audience criterion.", + "id": "GoogleAdsSearchads360V23Common__AudienceInfo", + "properties": { + "audience": { + "description": "The Audience resource name.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__AudienceInsightsAttribute": { + "description": "An audience attribute that can be used to request insights about the audience.", + "id": "GoogleAdsSearchads360V23Common__AudienceInsightsAttribute", + "properties": { + "ageRange": { + "$ref": "GoogleAdsSearchads360V23Common__AgeRangeInfo", + "description": "An audience attribute defined by an age range." + }, + "category": { + "$ref": "GoogleAdsSearchads360V23Common__AudienceInsightsCategory", + "description": "An audience attribute defined by interest in a Product & Service category." + }, + "device": { + "$ref": "GoogleAdsSearchads360V23Common__DeviceInfo", + "description": "A device type. (Mobile, Desktop, Tablet)" + }, + "entity": { + "$ref": "GoogleAdsSearchads360V23Common__AudienceInsightsEntity", + "description": "An audience attribute defined by interest in a topic represented by a Knowledge Graph entity." + }, + "gender": { + "$ref": "GoogleAdsSearchads360V23Common__GenderInfo", + "description": "An audience attribute defined by a gender." + }, + "incomeRange": { + "$ref": "GoogleAdsSearchads360V23Common__IncomeRangeInfo", + "description": "A household income percentile range." + }, + "lineup": { + "$ref": "GoogleAdsSearchads360V23Common__AudienceInsightsLineup", + "description": "A YouTube Lineup." + }, + "location": { + "$ref": "GoogleAdsSearchads360V23Common__LocationInfo", + "description": "An audience attribute defined by a geographic location." + }, + "parentalStatus": { + "$ref": "GoogleAdsSearchads360V23Common__ParentalStatusInfo", + "description": "A Parental Status value (parent, or not a parent)." + }, + "userInterest": { + "$ref": "GoogleAdsSearchads360V23Common__UserInterestInfo", + "description": "An Affinity or In-Market audience." + }, + "userList": { + "$ref": "GoogleAdsSearchads360V23Common__UserListInfo", + "description": "A User List." + }, + "youtubeChannel": { + "$ref": "GoogleAdsSearchads360V23Common__YouTubeChannelInfo", + "description": "A YouTube channel." + }, + "youtubeVideo": { + "$ref": "GoogleAdsSearchads360V23Common__YouTubeVideoInfo", + "description": "A YouTube video." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata": { + "description": "An audience attribute, with metadata about it, returned in response to a search.", + "id": "GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata", + "properties": { + "attribute": { + "$ref": "GoogleAdsSearchads360V23Common__AudienceInsightsAttribute", + "description": "The attribute itself." + }, + "dimension": { + "description": "The type of the attribute.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CATEGORY", + "KNOWLEDGE_GRAPH", + "GEO_TARGET_COUNTRY", + "SUB_COUNTRY_LOCATION", + "YOUTUBE_CHANNEL", + "AFFINITY_USER_INTEREST", + "IN_MARKET_USER_INTEREST", + "PARENTAL_STATUS", + "INCOME_RANGE", + "AGE_RANGE", + "GENDER", + "YOUTUBE_VIDEO", + "DEVICE", + "YOUTUBE_LINEUP", + "USER_LIST", + "LIFE_EVENT_USER_INTEREST" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "A Product & Service category.", + "A Knowledge Graph entity.", + "A country, represented by a geo target.", + "A geographic location within a country.", + "A YouTube channel.", + "An Affinity UserInterest.", + "An In-Market UserInterest.", + "A Parental Status value (parent, or not a parent).", + "A household income percentile range.", + "An age range.", + "A gender.", + "A YouTube video.", + "A device type, such as Mobile, Desktop, Tablet, and Connected TV.", + "A YouTube Lineup.", + "A User List.", + "A Life Event UserInterest." + ], + "type": "string" + }, + "displayInfo": { + "description": "A string that supplements the display_name to identify the attribute. If the dimension is TOPIC, this is a brief description of the Knowledge Graph entity, such as \"American singer-songwriter\". If the dimension is CATEGORY, this is the complete path to the category in The Product & Service taxonomy, for example \"/Apparel/Clothing/Outerwear\".", + "type": "string" + }, + "displayName": { + "description": "The human-readable name of the attribute.", + "type": "string" + }, + "knowledgeGraphAttributeMetadata": { + "$ref": "GoogleAdsSearchads360V23Common__KnowledgeGraphAttributeMetadata", + "description": "Special metadata for a Knowledge Graph Entity." + }, + "lineupAttributeMetadata": { + "$ref": "GoogleAdsSearchads360V23Common__LineupAttributeMetadata", + "description": "Special metadata for a YouTube Lineup." + }, + "locationAttributeMetadata": { + "$ref": "GoogleAdsSearchads360V23Common__LocationAttributeMetadata", + "description": "Special metadata for a Location." + }, + "potentialYoutubeReach": { + "description": "An estimate of the number of reachable YouTube users matching this attribute in the requested location, or zero if that information is not available for this attribute. This field is not populated in every response.", + "format": "int64", + "type": "string" + }, + "subscriberShare": { + "description": "The share of subscribers within this attribute, between and including 0 and 1. This field is not populated in every response.", + "format": "double", + "type": "number" + }, + "userInterestAttributeMetadata": { + "$ref": "GoogleAdsSearchads360V23Common__UserInterestAttributeMetadata", + "description": "Special metadata for a User Interest." + }, + "userListAttributeMetadata": { + "$ref": "GoogleAdsSearchads360V23Common__UserListAttributeMetadata", + "description": "Special metadata for a User List." + }, + "viewerShare": { + "description": "The share of viewers within this attribute, between and including 0 and 1. This field is not populated in every response.", + "format": "double", + "type": "number" + }, + "youtubeChannelMetadata": { + "$ref": "GoogleAdsSearchads360V23Common__YouTubeChannelAttributeMetadata", + "description": "Special metadata for a YouTube channel." + }, + "youtubeVideoMetadata": { + "$ref": "GoogleAdsSearchads360V23Common__YouTubeVideoAttributeMetadata", + "description": "Special metadata for a YouTube video." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadataGroup": { + "description": "A group of audience attributes with metadata, returned in response to a search.", + "id": "GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadataGroup", + "properties": { + "attributes": { + "description": "Attributes with metadata returned in response to a search.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__AudienceInsightsCategory": { + "description": "A Product and Service category.", + "id": "GoogleAdsSearchads360V23Common__AudienceInsightsCategory", + "properties": { + "categoryId": { + "description": "Required. The criterion ID of the category.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__AudienceInsightsEntity": { + "description": "A Knowledge Graph entity, represented by its machine id.", + "id": "GoogleAdsSearchads360V23Common__AudienceInsightsEntity", + "properties": { + "knowledgeGraphMachineId": { + "description": "Required. The machine ID (mid) of the Knowledge Graph entity.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__AudienceInsightsLineup": { + "description": "A YouTube Lineup.", + "id": "GoogleAdsSearchads360V23Common__AudienceInsightsLineup", + "properties": { + "lineupId": { + "description": "Required. The numeric ID of the lineup.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__AudienceSegment": { + "description": "Positive audience segment.", + "id": "GoogleAdsSearchads360V23Common__AudienceSegment", + "properties": { + "customAudience": { + "$ref": "GoogleAdsSearchads360V23Common__CustomAudienceSegment", + "description": "Custom audience segment." + }, + "detailedDemographic": { + "$ref": "GoogleAdsSearchads360V23Common__DetailedDemographicSegment", + "description": "Detailed demographic segment." + }, + "lifeEvent": { + "$ref": "GoogleAdsSearchads360V23Common__LifeEventSegment", + "description": "Live-event audience segment." + }, + "userInterest": { + "$ref": "GoogleAdsSearchads360V23Common__UserInterestSegment", + "description": "Affinity or In-market segment." + }, + "userList": { + "$ref": "GoogleAdsSearchads360V23Common__UserListSegment", + "description": "User list segment." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__AudienceSegmentDimension": { + "description": "Dimension specifying users by their membership in other audience segments.", + "id": "GoogleAdsSearchads360V23Common__AudienceSegmentDimension", + "properties": { + "segments": { + "description": "Included audience segments. Users are included if they belong to at least one segment.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AudienceSegment" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__BasicUserListInfo": { + "id": "GoogleAdsSearchads360V23Common__BasicUserListInfo", + "properties": { + "actions": { + "description": "Actions associated with this user list.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__UserListActionInfo" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__BookOnGoogleAsset": { + "description": "A Book on Google asset. Used to redirect user to book through Google. Book on Google will change the redirect url to book directly through Google.", + "id": "GoogleAdsSearchads360V23Common__BookOnGoogleAsset", + "properties": {}, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__BrandInfo": { + "description": "Represents a Brand Criterion used for targeting based on commercial knowledge graph.", + "id": "GoogleAdsSearchads360V23Common__BrandInfo", + "properties": { + "displayName": { + "description": "Output only. A text representation of a brand.", + "readOnly": true, + "type": "string" + }, + "entityId": { + "description": "The Commercial KG MID for the brand.", + "type": "string" + }, + "primaryUrl": { + "description": "Output only. The primary url of a brand.", + "readOnly": true, + "type": "string" + }, + "rejectionReason": { + "description": "Output only. The rejection reason when a brand status is REJECTED.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "EXISTING_BRAND", + "EXISTING_BRAND_VARIANT", + "INCORRECT_INFORMATION", + "NOT_A_BRAND" + ], + "enumDescriptions": [ + "No value has been specified.", + "Used for return value only. Represents value unknown in this version.", + "Brand is already present in the commercial brand set.", + "Brand is already present in the commercial brand set, but is a variant.", + "Brand information is not correct (eg: URL and name don't match).", + "Not a valid brand as per Google policy." + ], + "readOnly": true, + "type": "string" + }, + "status": { + "description": "Output only. The status of a brand.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ENABLED", + "DEPRECATED", + "UNVERIFIED", + "APPROVED", + "CANCELLED", + "REJECTED" + ], + "enumDescriptions": [ + "No value has been specified.", + "Used for return value only. Represents value unknown in this version.", + "Brand is verified and globally available for selection", + "Brand was globally available in past but is no longer a valid brand (based on business criteria)", + "Brand is unverified and customer scoped, but can be selected by customer (only who requested for same) for targeting", + "Was a customer-scoped (unverified) brand, which got approved by business and added to the global list. Its assigned CKG MID should be used instead of this", + "Was a customer-scoped (unverified) brand, but the request was canceled by customer and this brand id is no longer valid", + "Was a customer-scoped (unverified) brand, but the request was rejected by internal business team and this brand id is no longer valid" + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__BrandListInfo": { + "description": "A Brand List Criterion is used to specify a list of brands. The list is represented as a SharedSet id type BRAND_HINT. A criterion of this type can be either targeted or excluded.", + "id": "GoogleAdsSearchads360V23Common__BrandListInfo", + "properties": { + "sharedSet": { + "description": "Shared set resource name of the brand list.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__BudgetSimulationPoint": { + "description": "Projected metrics for a specific budget amount.", + "id": "GoogleAdsSearchads360V23Common__BudgetSimulationPoint", + "properties": { + "biddableConversions": { + "description": "Projected number of biddable conversions.", + "format": "double", + "type": "number" + }, + "biddableConversionsValue": { + "description": "Projected total value of biddable conversions.", + "format": "double", + "type": "number" + }, + "budgetAmountMicros": { + "description": "The simulated budget upon which projected metrics are based.", + "format": "int64", + "type": "string" + }, + "clicks": { + "description": "Projected number of clicks.", + "format": "int64", + "type": "string" + }, + "costMicros": { + "description": "Projected cost in micros.", + "format": "int64", + "type": "string" + }, + "impressions": { + "description": "Projected number of impressions.", + "format": "int64", + "type": "string" + }, + "interactions": { + "description": "Projected number of interactions. Only discovery advertising channel type supports this field.", + "format": "int64", + "type": "string" + }, + "requiredCpcBidCeilingMicros": { + "description": "Projected required daily cpc bid ceiling that the advertiser must set to realize this simulation, in micros of the advertiser currency. Only campaigns with the Target Spend bidding strategy support this field.", + "format": "int64", + "type": "string" + }, + "topSlotImpressions": { + "description": "Projected number of top slot impressions. Only search advertising channel type supports this field.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__BudgetSimulationPointList": { + "description": "A container for simulation points for simulations of type BUDGET.", + "id": "GoogleAdsSearchads360V23Common__BudgetSimulationPointList", + "properties": { + "points": { + "description": "Projected metrics for a series of budget amounts.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__BudgetSimulationPoint" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__BusinessMessageAsset": { + "description": "A business message asset.", + "id": "GoogleAdsSearchads360V23Common__BusinessMessageAsset", + "properties": { + "callToAction": { + "$ref": "GoogleAdsSearchads360V23Common__BusinessMessageCallToActionInfo", + "description": "A call to action for the business message asset." + }, + "facebookMessengerInfo": { + "$ref": "GoogleAdsSearchads360V23Common__FacebookMessengerBusinessMessageInfo", + "description": "Facebook Messenger." + }, + "messageProvider": { + "description": "Required. Message provider of the business message asset.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "WHATSAPP", + "FACEBOOK_MESSENGER", + "ZALO" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "WhatsApp message provider", + "Facebook Messenger message provider", + "Zalo message provider" + ], + "type": "string" + }, + "starterMessage": { + "description": "Required. A welcome message to prompt the user to initiate a conversation.", + "type": "string" + }, + "whatsappInfo": { + "$ref": "GoogleAdsSearchads360V23Common__WhatsappBusinessMessageInfo", + "description": "Whatsapp." + }, + "zaloInfo": { + "$ref": "GoogleAdsSearchads360V23Common__ZaloBusinessMessageInfo", + "description": "Zalo." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__BusinessMessageCallToActionInfo": { + "description": "Display information that encourages the user to take action.", + "id": "GoogleAdsSearchads360V23Common__BusinessMessageCallToActionInfo", + "properties": { + "callToActionDescription": { + "description": "Required. Text providing a clear value proposition of what users expect once they take the action. Examples: 'Message us for a quote', 'Ask our expert team'.", + "type": "string" + }, + "callToActionSelection": { + "description": "Required. Pre-defined call to action text.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "APPLY_NOW", + "BOOK_NOW", + "CONTACT_US", + "GET_INFO", + "GET_OFFER", + "GET_QUOTE", + "GET_STARTED", + "LEARN_MORE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Apply now.", + "Book now.", + "Contact us.", + "Get info.", + "Get offer.", + "Get quote.", + "Get started.", + "Learn more." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__BusinessProfileBusinessNameFilter": { + "description": "Business Profile location group business name filter.", + "id": "GoogleAdsSearchads360V23Common__BusinessProfileBusinessNameFilter", + "properties": { + "businessName": { + "description": "Business name string to use for filtering.", + "type": "string" + }, + "filterType": { + "description": "The type of string matching to use when filtering with business_name.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "EXACT" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The filter will use exact string matching." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__BusinessProfileLocation": { + "description": "Business Profile location data synced from the linked Business Profile account.", + "id": "GoogleAdsSearchads360V23Common__BusinessProfileLocation", + "properties": { + "labels": { + "description": "Advertiser specified label for the location on the Business Profile account. This is synced from the Business Profile account.", + "items": { + "type": "string" + }, + "type": "array" + }, + "listingId": { + "description": "Listing ID of this Business Profile location. This is synced from the linked Business Profile account.", + "format": "int64", + "type": "string" + }, + "storeCode": { + "description": "Business Profile store code of this location. This is synced from the Business Profile account.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__BusinessProfileLocationGroup": { + "description": "Information about a Business Profile dynamic location group. Only applicable if the sync level AssetSet's type is LOCATION_SYNC and sync source is Business Profile.", + "id": "GoogleAdsSearchads360V23Common__BusinessProfileLocationGroup", + "properties": { + "dynamicBusinessProfileLocationGroupFilter": { + "$ref": "GoogleAdsSearchads360V23Common__DynamicBusinessProfileLocationGroupFilter", + "description": "Filter for dynamic Business Profile location sets." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__BusinessProfileLocationSet": { + "description": "Data used to configure a location set populated from Google Business Profile locations. Different types of filters are AND'ed together, if they are specified.", + "id": "GoogleAdsSearchads360V23Common__BusinessProfileLocationSet", + "properties": { + "businessAccountId": { + "description": "Immutable. The account ID of the managed business whose locations are to be used. If this field is not set, then all businesses accessible by the user (specified by the emailAddress) are used.", + "type": "string" + }, + "businessNameFilter": { + "description": "Used to filter Google Business Profile listings by business name. If businessNameFilter is set, only listings with a matching business name are candidates to be sync'd into Assets.", + "type": "string" + }, + "emailAddress": { + "description": "Required. Immutable. Email address of a Google Business Profile account or email address of a manager of the Google Business Profile account.", + "type": "string" + }, + "httpAuthorizationToken": { + "description": "Required. Immutable. The HTTP authorization token used to obtain authorization.", + "type": "string" + }, + "labelFilters": { + "description": "Used to filter Google Business Profile listings by labels. If entries exist in labelFilters, only listings that have any of the labels set are candidates to be synchronized into Assets. If no entries exist in labelFilters, then all listings are candidates for syncing. Label filters are OR'ed together.", + "items": { + "type": "string" + }, + "type": "array" + }, + "listingIdFilters": { + "description": "Used to filter Google Business Profile listings by listing id. If entries exist in listingIdFilters, only listings specified by the filters are candidates to be synchronized into Assets. If no entries exist in listingIdFilters, then all listings are candidates for syncing. Listing ID filters are OR'ed together.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__CallAsset": { + "description": "A Call asset.", + "id": "GoogleAdsSearchads360V23Common__CallAsset", + "properties": { + "adScheduleTargets": { + "description": "List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AdScheduleInfo" + }, + "type": "array" + }, + "callConversionAction": { + "description": "The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.", + "type": "string" + }, + "callConversionReportingState": { + "description": "Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "DISABLED", + "USE_ACCOUNT_LEVEL_CALL_CONVERSION_ACTION", + "USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Call conversion action is disabled.", + "Call conversion action will use call conversion type set at the account level.", + "Call conversion action will use call conversion type set at the resource (call only ads/call extensions) level." + ], + "type": "string" + }, + "countryCode": { + "description": "Required. Two-letter country code of the phone number. Examples: 'US', 'us'.", + "type": "string" + }, + "phoneNumber": { + "description": "Required. The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__CallFeedItem": { + "description": "Represents a Call extension.", + "id": "GoogleAdsSearchads360V23Common__CallFeedItem", + "properties": { + "callConversionAction": { + "description": "The conversion action to attribute a call conversion to. If not set a default conversion action is used. This field only has effect if call_tracking_enabled is set to true. Otherwise this field is ignored.", + "type": "string" + }, + "callConversionReportingState": { + "description": "Enum value that indicates whether this call extension uses its own call conversion setting (or just have call conversion disabled), or following the account level setting.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "DISABLED", + "USE_ACCOUNT_LEVEL_CALL_CONVERSION_ACTION", + "USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Call conversion action is disabled.", + "Call conversion action will use call conversion type set at the account level.", + "Call conversion action will use call conversion type set at the resource (call only ads/call extensions) level." + ], + "type": "string" + }, + "callConversionTrackingDisabled": { + "description": "If true, disable call conversion tracking. call_conversion_action should not be set if this is true. Optional.", + "type": "boolean" + }, + "callTrackingEnabled": { + "description": "Indicates whether call tracking is enabled. By default, call tracking is not enabled.", + "type": "boolean" + }, + "countryCode": { + "description": "Uppercase two-letter country code of the advertiser's phone number. This string must not be empty.", + "type": "string" + }, + "phoneNumber": { + "description": "The advertiser's phone number to append to the ad. This string must not be empty.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__CallToActionAsset": { + "description": "A call to action asset.", + "id": "GoogleAdsSearchads360V23Common__CallToActionAsset", + "properties": { + "callToAction": { + "description": "Call to action.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "LEARN_MORE", + "GET_QUOTE", + "APPLY_NOW", + "SIGN_UP", + "CONTACT_US", + "SUBSCRIBE", + "DOWNLOAD", + "BOOK_NOW", + "SHOP_NOW", + "BUY_NOW", + "DONATE_NOW", + "ORDER_NOW", + "PLAY_NOW", + "SEE_MORE", + "START_NOW", + "VISIT_SITE", + "WATCH_NOW" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The call to action type is learn more.", + "The call to action type is get quote.", + "The call to action type is apply now.", + "The call to action type is sign up.", + "The call to action type is contact us.", + "The call to action type is subscribe.", + "The call to action type is download.", + "The call to action type is book now.", + "The call to action type is shop now.", + "The call to action type is buy now.", + "The call to action type is donate now.", + "The call to action type is order now.", + "The call to action type is play now.", + "The call to action type is see more.", + "The call to action type is start now.", + "The call to action type is visit site.", + "The call to action type is watch now." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__CalloutAsset": { + "description": "A Callout asset.", + "id": "GoogleAdsSearchads360V23Common__CalloutAsset", + "properties": { + "adScheduleTargets": { + "description": "List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AdScheduleInfo" + }, + "type": "array" + }, + "calloutText": { + "description": "Required. The callout text. The length of this string should be between 1 and 25, inclusive.", + "type": "string" + }, + "endDate": { + "description": "Last date of when this asset is effective and still serving, in yyyy-MM-dd format.", + "type": "string" + }, + "startDate": { + "description": "Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__CalloutFeedItem": { + "description": "Represents a callout extension.", + "id": "GoogleAdsSearchads360V23Common__CalloutFeedItem", + "properties": { + "calloutText": { + "description": "The callout text. The length of this string should be between 1 and 25, inclusive.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__CampaignThirdPartyBrandLiftIntegrationPartner": { + "description": "Container for third party Brand Lift integration data for Campaign.", + "id": "GoogleAdsSearchads360V23Common__CampaignThirdPartyBrandLiftIntegrationPartner", + "properties": { + "brandLiftIntegrationPartner": { + "description": "Allowed third party integration partners for Brand Lift verification.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "KANTAR_MILLWARD_BROWN", + "DYNATA", + "INTAGE", + "MACROMILL" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Kantar", + "Dynata", + "Intage", + "Macromill" + ], + "type": "string" + }, + "brandLiftIntegrationPartnerData": { + "$ref": "GoogleAdsSearchads360V23Common__ThirdPartyIntegrationPartnerData", + "description": "Third party partner data for YouTube Brand Lift verification. This is optional metadata for partners to join or attach data to Ads campaigns." + }, + "shareCost": { + "description": "If true, then cost data will be shared with this vendor.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__CampaignThirdPartyBrandSafetyIntegrationPartner": { + "description": "Container for third party brand safety integration data for Campaign.", + "id": "GoogleAdsSearchads360V23Common__CampaignThirdPartyBrandSafetyIntegrationPartner", + "properties": { + "brandSafetyIntegrationPartner": { + "description": "Allowed third party integration partners for brand safety verification.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "DOUBLE_VERIFY", + "INTEGRAL_AD_SCIENCE", + "ZEFR" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "DoubleVerify.", + "Integral Ad Science.", + "Zefr." + ], + "type": "string" + }, + "brandSafetyIntegrationPartnerData": { + "$ref": "GoogleAdsSearchads360V23Common__ThirdPartyIntegrationPartnerData", + "description": "Third party partner data for YouTube brand safety verification. This is optional metadata for partners to join or attach data to Ads campaigns." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__CampaignThirdPartyIntegrationPartners": { + "description": "Container for Campaign level third party integration partners.", + "id": "GoogleAdsSearchads360V23Common__CampaignThirdPartyIntegrationPartners", + "properties": { + "brandLiftIntegrationPartners": { + "description": "Third party integration partners for Brand Lift verification for this Campaign.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__CampaignThirdPartyBrandLiftIntegrationPartner" + }, + "type": "array" + }, + "brandSafetyIntegrationPartners": { + "description": "Third party integration partners for brand safety verification for this Campaign.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__CampaignThirdPartyBrandSafetyIntegrationPartner" + }, + "type": "array" + }, + "reachIntegrationPartners": { + "description": "Third party integration partners for reach verification for this Campaign.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__CampaignThirdPartyReachIntegrationPartner" + }, + "type": "array" + }, + "viewabilityIntegrationPartners": { + "description": "Third party integration partners for YouTube viewability verification for this Campaign.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__CampaignThirdPartyViewabilityIntegrationPartner" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__CampaignThirdPartyReachIntegrationPartner": { + "description": "Container for third party reach integration data for Campaign.", + "id": "GoogleAdsSearchads360V23Common__CampaignThirdPartyReachIntegrationPartner", + "properties": { + "reachIntegrationPartner": { + "description": "Allowed third party integration partners for reach verification.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "NIELSEN", + "COMSCORE", + "KANTAR_MILLWARD_BROWN", + "VIDEO_RESEARCH", + "GEMIUS", + "MEDIA_SCOPE", + "AUDIENCE_PROJECT", + "VIDEO_AMP", + "ISPOT_TV" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Nielsen.", + "Comscore.", + "Kantar.", + "Video Research.", + "Gemius.", + "MediaScope.", + "AudienceProject", + "VideoAmp", + "iSpot.tv" + ], + "type": "string" + }, + "reachIntegrationPartnerData": { + "$ref": "GoogleAdsSearchads360V23Common__ThirdPartyIntegrationPartnerData", + "description": "Third party partner data for YouTube Reach verification. This is optional metadata for partners to join or attach data to Ads campaigns." + }, + "shareCost": { + "description": "If true, then cost data will be shared with this vendor.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__CampaignThirdPartyViewabilityIntegrationPartner": { + "description": "Container for third party viewability integration data for Campaign.", + "id": "GoogleAdsSearchads360V23Common__CampaignThirdPartyViewabilityIntegrationPartner", + "properties": { + "shareCost": { + "description": "If true, then cost data will be shared with this vendor.", + "type": "boolean" + }, + "viewabilityIntegrationPartner": { + "description": "Allowed third party integration partners for YouTube viewability verification.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "DOUBLE_VERIFY", + "INTEGRAL_AD_SCIENCE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "DoubleVerify.", + "Integral Ad Science." + ], + "type": "string" + }, + "viewabilityIntegrationPartnerData": { + "$ref": "GoogleAdsSearchads360V23Common__ThirdPartyIntegrationPartnerData", + "description": "Third party partner data for YouTube viewability verification. This is optional metadata for partners to join or attach data to Ads campaigns." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__CarrierInfo": { + "description": "Represents a Carrier Criterion.", + "id": "GoogleAdsSearchads360V23Common__CarrierInfo", + "properties": { + "carrierConstant": { + "description": "The Carrier constant resource name.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__ChainFilter": { + "description": "One chain level filter on location in a feed item set. The filtering logic among all the fields is AND.", + "id": "GoogleAdsSearchads360V23Common__ChainFilter", + "properties": { + "chainId": { + "description": "Required. Used to filter chain locations by chain id. Only chain locations that belong to the specified chain will be in the asset set.", + "format": "int64", + "type": "string" + }, + "locationAttributes": { + "description": "Used to filter chain locations by location attributes. Only chain locations that belong to all of the specified attribute(s) will be in the asset set. If this field is empty, it means no filtering on this field.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__ChainLocationGroup": { + "description": "Represents information about a Chain dynamic location group. Only applicable if the sync level AssetSet's type is LOCATION_SYNC and sync source is chain.", + "id": "GoogleAdsSearchads360V23Common__ChainLocationGroup", + "properties": { + "dynamicChainLocationGroupFilters": { + "description": "Used to filter chain locations by chain ids. Only Locations that belong to the specified chain(s) will be in the asset set.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__ChainFilter" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__ChainSet": { + "description": "Data used to configure a location set populated with the specified chains.", + "id": "GoogleAdsSearchads360V23Common__ChainSet", + "properties": { + "chains": { + "description": "Required. A list of chain level filters, all filters are OR'ed together.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__ChainFilter" + }, + "type": "array" + }, + "relationshipType": { + "description": "Required. Immutable. Relationship type the specified chains have with this advertiser.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "AUTO_DEALERS", + "GENERAL_RETAILERS" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Auto dealer relationship.", + "General retailer relationship." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__ClickLocation": { + "description": "Location criteria associated with a click.", + "id": "GoogleAdsSearchads360V23Common__ClickLocation", + "properties": { + "city": { + "description": "The city location criterion associated with the impression.", + "type": "string" + }, + "country": { + "description": "The country location criterion associated with the impression.", + "type": "string" + }, + "metro": { + "description": "The metro location criterion associated with the impression.", + "type": "string" + }, + "mostSpecific": { + "description": "The most specific location criterion associated with the impression.", + "type": "string" + }, + "region": { + "description": "The region location criterion associated with the impression.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__CombinedAudienceInfo": { + "description": "A combined audience criterion.", + "id": "GoogleAdsSearchads360V23Common__CombinedAudienceInfo", + "properties": { + "combinedAudience": { + "description": "The CombinedAudience resource name.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__Commission": { + "description": "Commission is an automatic bidding strategy in which the advertiser pays a certain portion of the conversion value.", + "id": "GoogleAdsSearchads360V23Common__Commission", + "properties": { + "commissionRateMicros": { + "description": "Commission rate defines the portion of the conversion value that the advertiser will be billed. A commission rate of x should be passed into this field as (x * 1,000,000). For example, 106,000 represents a commission rate of 0.106 (10.6%).", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__ConceptGroup": { + "description": "The concept group for the keyword concept.", + "id": "GoogleAdsSearchads360V23Common__ConceptGroup", + "properties": { + "name": { + "description": "The concept group name.", + "type": "string" + }, + "type": { + "description": "The concept group type.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "BRAND", + "OTHER_BRANDS", + "NON_BRAND" + ], + "enumDescriptions": [ + "The concept group classification different from brand/non-brand. This is a catch all bucket for all classifications that are none of the below.", + "The value is unknown in this version.", + "The concept group classification is based on BRAND.", + "The concept group classification based on BRAND, that didn't fit well with the BRAND classifications. These are generally outliers and can have very few keywords in this type of classification.", + "These concept group classification is not based on BRAND. This is returned for generic keywords that don't have a brand association." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__Consent": { + "description": "Consent", + "id": "GoogleAdsSearchads360V23Common__Consent", + "properties": { + "adPersonalization": { + "description": "This represents consent for ad personalization. This can only be set for OfflineUserDataJobService and UserDataService.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "GRANTED", + "DENIED" + ], + "enumDescriptions": [ + "Not specified.", + "Output-only. Represents a format not yet defined in this enum.", + "Granted.", + "Denied." + ], + "type": "string" + }, + "adUserData": { + "description": "This represents consent for ad user data.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "GRANTED", + "DENIED" + ], + "enumDescriptions": [ + "Not specified.", + "Output-only. Represents a format not yet defined in this enum.", + "Granted.", + "Denied." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__ContentLabelInfo": { + "description": "Content Label for category exclusion.", + "id": "GoogleAdsSearchads360V23Common__ContentLabelInfo", + "properties": { + "type": { + "description": "Content label type, required for CREATE operations.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "SEXUALLY_SUGGESTIVE", + "BELOW_THE_FOLD", + "PARKED_DOMAIN", + "JUVENILE", + "PROFANITY", + "TRAGEDY", + "VIDEO", + "VIDEO_RATING_DV_G", + "VIDEO_RATING_DV_PG", + "VIDEO_RATING_DV_T", + "VIDEO_RATING_DV_MA", + "VIDEO_NOT_YET_RATED", + "EMBEDDED_VIDEO", + "LIVE_STREAMING_VIDEO", + "SOCIAL_ISSUES", + "BRAND_SUITABILITY_CONTENT_FOR_FAMILIES", + "BRAND_SUITABILITY_GAMES_FIGHTING", + "BRAND_SUITABILITY_GAMES_MATURE", + "BRAND_SUITABILITY_HEALTH_SENSITIVE", + "BRAND_SUITABILITY_HEALTH_SOURCE_UNDETERMINED", + "BRAND_SUITABILITY_NEWS_RECENT", + "BRAND_SUITABILITY_NEWS_SENSITIVE", + "BRAND_SUITABILITY_NEWS_SOURCE_NOT_FEATURED", + "BRAND_SUITABILITY_POLITICS", + "BRAND_SUITABILITY_RELIGION" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Sexually suggestive content.", + "Below the fold placement.", + "Parked domain.", + "Juvenile, gross & bizarre content.", + "Profanity & rough language.", + "Death & tragedy.", + "Video.", + "Content rating: G.", + "Content rating: PG.", + "Content rating: T.", + "Content rating: MA.", + "Content rating: not yet rated.", + "Embedded video.", + "Live streaming video.", + "Sensitive social issues.", + "Content that's suitable for families to view together, including Made for Kids videos on YouTube.", + "Video games that simulate hand-to-hand fighting or combat with the use of modern or medieval weapons.", + "Video games that feature mature content, such as violence, inappropriate language, or sexual suggestiveness.", + "Health content that people might find sensitive or upsetting, such as medical procedures or images and descriptions of various medical conditions.", + "Health content from sources that may provide accurate information but aren't as commonly cited as other, more well-known sources.", + "News content that's been recently announced, regardless of the themes or people being reported on.", + "News content that people might find sensitive or upsetting, such as crimes, accidents, and natural incidents, or commentary on potentially controversial social and political issues.", + "News content from sources that aren't featured on Google News or YouTube News.", + "Political content, such as political statements made by well-known politicians, political elections, or events widely perceived to be political in nature.", + "Content with religious themes, such as religious teachings or customs, holy sites or places of worship, well-known religious figures or people dressed in religious attire, or religious opinions on social and political issues." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__CpcBidSimulationPoint": { + "description": "Projected metrics for a specific CPC bid amount.", + "id": "GoogleAdsSearchads360V23Common__CpcBidSimulationPoint", + "properties": { + "biddableConversions": { + "description": "Projected number of biddable conversions.", + "format": "double", + "type": "number" + }, + "biddableConversionsValue": { + "description": "Projected total value of biddable conversions.", + "format": "double", + "type": "number" + }, + "clicks": { + "description": "Projected number of clicks.", + "format": "int64", + "type": "string" + }, + "costMicros": { + "description": "Projected cost in micros.", + "format": "int64", + "type": "string" + }, + "cpcBidMicros": { + "description": "The simulated CPC bid upon which projected metrics are based.", + "format": "int64", + "type": "string" + }, + "cpcBidScalingModifier": { + "description": "The simulated scaling modifier upon which projected metrics are based. All CPC bids relevant to the simulated entity are scaled by this modifier.", + "format": "double", + "type": "number" + }, + "impressions": { + "description": "Projected number of impressions.", + "format": "int64", + "type": "string" + }, + "requiredBudgetAmountMicros": { + "description": "Projected required daily budget that the advertiser must set in order to receive the estimated traffic, in micros of advertiser currency.", + "format": "int64", + "type": "string" + }, + "topSlotImpressions": { + "description": "Projected number of top slot impressions. Only search advertising channel type supports this field.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__CpcBidSimulationPointList": { + "description": "A container for simulation points for simulations of type CPC_BID.", + "id": "GoogleAdsSearchads360V23Common__CpcBidSimulationPointList", + "properties": { + "points": { + "description": "Projected metrics for a series of CPC bid amounts.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__CpcBidSimulationPoint" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__CpvBidSimulationPoint": { + "description": "Projected metrics for a specific CPV bid amount.", + "id": "GoogleAdsSearchads360V23Common__CpvBidSimulationPoint", + "properties": { + "costMicros": { + "description": "Projected cost in micros.", + "format": "int64", + "type": "string" + }, + "cpvBidMicros": { + "description": "The simulated CPV bid upon which projected metrics are based.", + "format": "int64", + "type": "string" + }, + "impressions": { + "description": "Projected number of impressions.", + "format": "int64", + "type": "string" + }, + "views": { + "description": "Projected number of views.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__CpvBidSimulationPointList": { + "description": "A container for simulation points for simulations of type CPV_BID.", + "id": "GoogleAdsSearchads360V23Common__CpvBidSimulationPointList", + "properties": { + "points": { + "description": "Projected metrics for a series of CPV bid amounts.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__CpvBidSimulationPoint" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__CriterionCategoryAvailability": { + "description": "Information of category availability, per advertising channel.", + "id": "GoogleAdsSearchads360V23Common__CriterionCategoryAvailability", + "properties": { + "channel": { + "$ref": "GoogleAdsSearchads360V23Common__CriterionCategoryChannelAvailability", + "description": "Channel types and subtypes that are available to the category." + }, + "locale": { + "description": "Locales that are available to the category for the channel.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__CriterionCategoryLocaleAvailability" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__CriterionCategoryChannelAvailability": { + "description": "Information of advertising channel type and subtypes a category is available in.", + "id": "GoogleAdsSearchads360V23Common__CriterionCategoryChannelAvailability", + "properties": { + "advertisingChannelSubType": { + "description": "Channel subtypes under the channel type the category is available to.", + "items": { + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "SEARCH_MOBILE_APP", + "DISPLAY_MOBILE_APP", + "SEARCH_EXPRESS", + "DISPLAY_EXPRESS", + "SHOPPING_SMART_ADS", + "DISPLAY_GMAIL_AD", + "DISPLAY_SMART_CAMPAIGN", + "VIDEO_ACTION", + "VIDEO_NON_SKIPPABLE", + "APP_CAMPAIGN", + "APP_CAMPAIGN_FOR_ENGAGEMENT", + "LOCAL_CAMPAIGN", + "SHOPPING_COMPARISON_LISTING_ADS", + "SMART_CAMPAIGN", + "VIDEO_SEQUENCE", + "APP_CAMPAIGN_FOR_PRE_REGISTRATION", + "VIDEO_REACH_TARGET_FREQUENCY", + "TRAVEL_ACTIVITIES", + "SOCIAL_FACEBOOK_TRACKING_ONLY" + ], + "enumDescriptions": [ + "Not specified.", + "Used as a return value only. Represents value unknown in this version.", + "Mobile app campaigns for Search.", + "Mobile app campaigns for Display.", + "AdWords express campaigns for search.", + "AdWords Express campaigns for display.", + "Smart Shopping campaigns.", + "Gmail Ad campaigns.", + "Smart display campaigns. New campaigns of this sub type cannot be created.", + "Video TrueView for Action campaigns.", + "Video campaigns with non-skippable video ads.", + "App Campaign that lets you easily promote your Android or iOS app across Google's top properties including Search, Play, YouTube, and the Google Display Network.", + "App Campaign for engagement, focused on driving re-engagement with the app across several of Google's top properties including Search, YouTube, and the Google Display Network.", + "Campaigns specialized for local advertising.", + "Shopping Comparison Listing campaigns.", + "Standard Smart campaigns.", + "Video campaigns with sequence video ads.", + "App Campaign for pre registration, specialized for advertising mobile app pre-registration, that targets multiple advertising channels across Google Play, YouTube and Display Network.", + "Video reach campaign with Target Frequency bidding strategy.", + "Travel Activities campaigns.", + "Facebook tracking only social campaigns." + ], + "type": "string" + }, + "type": "array" + }, + "advertisingChannelType": { + "description": "Channel type the category is available to.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "SEARCH", + "DISPLAY", + "SHOPPING", + "HOTEL", + "VIDEO", + "MULTI_CHANNEL", + "LOCAL", + "SMART", + "PERFORMANCE_MAX", + "LOCAL_SERVICES", + "TRAVEL", + "DEMAND_GEN", + "SOCIAL" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Search Network. Includes display bundled, and Search+ campaigns.", + "Google Display Network only.", + "Shopping campaigns serve on the shopping property and on google.com search results.", + "Hotel Ads campaigns.", + "Video campaigns.", + "App Campaigns, and App Campaigns for Engagement, that run across multiple channels.", + "Local ads campaigns.", + "Smart campaigns.", + "Performance Max campaigns.", + "Local services campaigns.", + "Travel campaigns.", + "Demand Gen campaigns.", + "Social campaigns." + ], + "type": "string" + }, + "availabilityMode": { + "description": "Format of the channel availability. Can be ALL_CHANNELS (the rest of the fields will not be set), CHANNEL_TYPE (only advertising_channel_type type will be set, the category is available to all sub types under it) or CHANNEL_TYPE_AND_SUBTYPES (advertising_channel_type, advertising_channel_sub_type, and include_default_channel_sub_type will all be set).", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ALL_CHANNELS", + "CHANNEL_TYPE_AND_ALL_SUBTYPES", + "CHANNEL_TYPE_AND_SUBSET_SUBTYPES" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The category is available to campaigns of all channel types and subtypes.", + "The category is available to campaigns of a specific channel type, including all subtypes under it.", + "The category is available to campaigns of a specific channel type and subtype(s)." + ], + "type": "string" + }, + "includeDefaultChannelSubType": { + "description": "Whether default channel sub type is included. For example, advertising_channel_type being DISPLAY and include_default_channel_sub_type being false means that the default display campaign where channel sub type is not set is not included in this availability configuration.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__CriterionCategoryLocaleAvailability": { + "description": "Information about which locales a category is available in.", + "id": "GoogleAdsSearchads360V23Common__CriterionCategoryLocaleAvailability", + "properties": { + "availabilityMode": { + "description": "Format of the locale availability. Can be LAUNCHED_TO_ALL (both country and language will be empty), COUNTRY (only country will be set), LANGUAGE (only language wil be set), COUNTRY_AND_LANGUAGE (both country and language will be set).", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ALL_LOCALES", + "COUNTRY_AND_ALL_LANGUAGES", + "LANGUAGE_AND_ALL_COUNTRIES", + "COUNTRY_AND_LANGUAGE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The category is available to campaigns of all locales.", + "The category is available to campaigns within a list of countries, regardless of language.", + "The category is available to campaigns within a list of languages, regardless of country.", + "The category is available to campaigns within a list of country, language pairs." + ], + "type": "string" + }, + "countryCode": { + "description": "The ISO-3166-1 alpha-2 country code associated with the category.", + "type": "string" + }, + "languageCode": { + "description": "ISO 639-1 code of the language associated with the category.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__CrmBasedUserListInfo": { + "description": "UserList of CRM users provided by the advertiser.", + "id": "GoogleAdsSearchads360V23Common__CrmBasedUserListInfo", + "properties": { + "appId": { + "description": "A string that uniquely identifies a mobile application from which the data was collected. For iOS, the ID string is the 9 digit string that appears at the end of an App Store URL (for example, \"476943146\" for \"Flood-It! 2\" whose App Store link is http://itunes.apple.com/us/app/flood-it!-2/id476943146). For Android, the ID string is the application's package name (for example, \"com.labpixies.colordrips\" for \"Color Drips\" given Google Play link https://play.google.com/store/apps/details?id=com.labpixies.colordrips). Required when creating CrmBasedUserList for uploading mobile advertising IDs.", + "type": "string" + }, + "dataSourceType": { + "description": "Data source of the list. Default value is FIRST_PARTY. Only customers on the allow-list can create third-party sourced CRM lists.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "FIRST_PARTY", + "THIRD_PARTY_CREDIT_BUREAU", + "THIRD_PARTY_VOTER_FILE", + "THIRD_PARTY_PARTNER_DATA" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The uploaded data is first-party data.", + "The uploaded data is from a third-party credit bureau.", + "The uploaded data is from a third-party voter file.", + "The uploaded data is third party partner data." + ], + "type": "string" + }, + "uploadKeyType": { + "description": "Matching key type of the list. Mixed data types are not allowed on the same list. This field is required for an ADD operation.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CONTACT_INFO", + "CRM_ID", + "MOBILE_ADVERTISING_ID" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Members are matched from customer info such as email address, phone number or physical address.", + "Members are matched from a user id generated and assigned by the advertiser.", + "Members are matched from mobile advertising ids." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__CustomAffinityInfo": { + "description": "A custom affinity criterion. A criterion of this type is only targetable.", + "id": "GoogleAdsSearchads360V23Common__CustomAffinityInfo", + "properties": { + "customAffinity": { + "description": "The CustomInterest resource name.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__CustomAudienceInfo": { + "description": "A custom audience criterion.", + "id": "GoogleAdsSearchads360V23Common__CustomAudienceInfo", + "properties": { + "customAudience": { + "description": "The CustomAudience resource name.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__CustomAudienceSegment": { + "description": "Custom audience segment.", + "id": "GoogleAdsSearchads360V23Common__CustomAudienceSegment", + "properties": { + "customAudience": { + "description": "The custom audience resource.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__CustomIntentInfo": { + "description": "A custom intent criterion. A criterion of this type is only targetable.", + "id": "GoogleAdsSearchads360V23Common__CustomIntentInfo", + "properties": { + "customIntent": { + "description": "The CustomInterest resource name.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__CustomParameter": { + "description": "A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.", + "id": "GoogleAdsSearchads360V23Common__CustomParameter", + "properties": { + "key": { + "description": "The key matching the parameter tag name.", + "type": "string" + }, + "value": { + "description": "The value to be substituted.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__CustomerLifecycleOptimizationValueSettings": { + "description": "Lifecycle goal optimization value settings.", + "id": "GoogleAdsSearchads360V23Common__CustomerLifecycleOptimizationValueSettings", + "properties": { + "additionalHighLifetimeValue": { + "description": "High lifetime value of the lifecycle goal. For example, for customer acquisition goals, high lifetime value is the incremental conversion value for lapsed customers who are of high value. High lifetime value should be greater than value, if set.", + "format": "double", + "type": "number" + }, + "additionalValue": { + "description": "Value of the lifecycle goal. For example, for retention goals, value is the incremental conversion value for lapsed customers who are not of high value.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__CustomerMatchUserListMetadata": { + "description": "Metadata for customer match user list.", + "id": "GoogleAdsSearchads360V23Common__CustomerMatchUserListMetadata", + "properties": { + "consent": { + "$ref": "GoogleAdsSearchads360V23Common__Consent", + "description": "The consent setting for all the users in this job." + }, + "userList": { + "description": "The resource name of remarketing list to update data. Required for job of CUSTOMER_MATCH_USER_LIST type.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__CustomerThirdPartyBrandLiftIntegrationPartner": { + "description": "Container for third party Brand Lift integration data for Customer.", + "id": "GoogleAdsSearchads360V23Common__CustomerThirdPartyBrandLiftIntegrationPartner", + "properties": { + "allowShareCost": { + "description": "If true, cost data can be shared with this vendor.", + "type": "boolean" + }, + "brandLiftIntegrationPartner": { + "description": "Allowed Third Party integration partners for Brand Lift verification.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "KANTAR_MILLWARD_BROWN", + "DYNATA", + "INTAGE", + "MACROMILL" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Kantar", + "Dynata", + "Intage", + "Macromill" + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__CustomerThirdPartyBrandSafetyIntegrationPartner": { + "description": "Container for third party brand safety integration data for Customer.", + "id": "GoogleAdsSearchads360V23Common__CustomerThirdPartyBrandSafetyIntegrationPartner", + "properties": { + "brandSafetyIntegrationPartner": { + "description": "Allowed third party integration partners for brand safety verification.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "DOUBLE_VERIFY", + "INTEGRAL_AD_SCIENCE", + "ZEFR" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "DoubleVerify.", + "Integral Ad Science.", + "Zefr." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__CustomerThirdPartyIntegrationPartners": { + "description": "Container for Customer level third party integration partners.", + "id": "GoogleAdsSearchads360V23Common__CustomerThirdPartyIntegrationPartners", + "properties": { + "brandLiftIntegrationPartners": { + "description": "Allowed third party integration partners for Brand Lift verification.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__CustomerThirdPartyBrandLiftIntegrationPartner" + }, + "type": "array" + }, + "brandSafetyIntegrationPartners": { + "description": "Allowed third party integration partners for brand safety verification.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__CustomerThirdPartyBrandSafetyIntegrationPartner" + }, + "type": "array" + }, + "reachIntegrationPartners": { + "description": "Allowed third party integration partners for reach verification.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__CustomerThirdPartyReachIntegrationPartner" + }, + "type": "array" + }, + "viewabilityIntegrationPartners": { + "description": "Allowed third party integration partners for YouTube viewability verification.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__CustomerThirdPartyViewabilityIntegrationPartner" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__CustomerThirdPartyReachIntegrationPartner": { + "description": "Container for third party reach integration data for Customer.", + "id": "GoogleAdsSearchads360V23Common__CustomerThirdPartyReachIntegrationPartner", + "properties": { + "allowShareCost": { + "description": "If true, cost data can be shared with this vendor.", + "type": "boolean" + }, + "reachIntegrationPartner": { + "description": "Allowed Third Party integration partners for reach verification.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "NIELSEN", + "COMSCORE", + "KANTAR_MILLWARD_BROWN", + "VIDEO_RESEARCH", + "GEMIUS", + "MEDIA_SCOPE", + "AUDIENCE_PROJECT", + "VIDEO_AMP", + "ISPOT_TV" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Nielsen.", + "Comscore.", + "Kantar.", + "Video Research.", + "Gemius.", + "MediaScope.", + "AudienceProject", + "VideoAmp", + "iSpot.tv" + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__CustomerThirdPartyViewabilityIntegrationPartner": { + "description": "Container for third party viewability integration data for Customer.", + "id": "GoogleAdsSearchads360V23Common__CustomerThirdPartyViewabilityIntegrationPartner", + "properties": { + "allowShareCost": { + "description": "If true, cost data can be shared with this vendor.", + "type": "boolean" + }, + "viewabilityIntegrationPartner": { + "description": "Allowed third party integration partners for YouTube viewability verification.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "DOUBLE_VERIFY", + "INTEGRAL_AD_SCIENCE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "DoubleVerify.", + "Integral Ad Science." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__CustomizerValue": { + "description": "A customizer value that is referenced in customizer linkage entities like CustomerCustomizer, CampaignCustomizer, etc.", + "id": "GoogleAdsSearchads360V23Common__CustomizerValue", + "properties": { + "stringValue": { + "description": "Required. Value to insert in creative text. Customizer values of all types are stored as string to make formatting unambiguous.", + "type": "string" + }, + "type": { + "description": "Required. The data type for the customizer value. It must match the attribute type. The string_value content must match the constraints associated with the type.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "TEXT", + "NUMBER", + "PRICE", + "PERCENT" + ], + "enumDescriptions": [ + "The status has not been specified.", + "The received value is not known in this version.", + "Text customizer.", + "Number customizer.", + "Price customizer consisting of a number and a currency.", + "Percentage customizer consisting of a number and a '%'." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__DateRange": { + "description": "A date range.", + "id": "GoogleAdsSearchads360V23Common__DateRange", + "properties": { + "endDate": { + "description": "The end date, in yyyy-mm-dd format. This date is inclusive.", + "type": "string" + }, + "startDate": { + "description": "The start date, in yyyy-mm-dd format. This date is inclusive.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__DemandGenCarouselAdInfo": { + "description": "A Demand Gen carousel ad.", + "id": "GoogleAdsSearchads360V23Common__DemandGenCarouselAdInfo", + "properties": { + "businessName": { + "description": "Required. The Advertiser/brand name.", + "type": "string" + }, + "callToActionText": { + "description": "Call to action text.", + "type": "string" + }, + "carouselCards": { + "description": "Required. Carousel cards that will display with the ad. Min 2 max 10.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AdDemandGenCarouselCardAsset" + }, + "type": "array" + }, + "description": { + "$ref": "GoogleAdsSearchads360V23Common__AdTextAsset", + "description": "Required. The descriptive text of the ad." + }, + "headline": { + "$ref": "GoogleAdsSearchads360V23Common__AdTextAsset", + "description": "Required. Headline of the ad." + }, + "logoImage": { + "$ref": "GoogleAdsSearchads360V23Common__AdImageAsset", + "description": "Required. Logo image to be used in the ad. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%)." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__DemandGenCarouselCardAsset": { + "description": "A Demand Gen Carousel Card asset.", + "id": "GoogleAdsSearchads360V23Common__DemandGenCarouselCardAsset", + "properties": { + "callToActionText": { + "description": "Call to action text.", + "type": "string" + }, + "headline": { + "description": "Required. Headline of the carousel card.", + "type": "string" + }, + "marketingImageAsset": { + "description": "Asset resource name of the associated 1.91:1 marketing image. This and/or square marketing image asset is required.", + "type": "string" + }, + "portraitMarketingImageAsset": { + "description": "Asset resource name of the associated 4:5 portrait marketing image.", + "type": "string" + }, + "squareMarketingImageAsset": { + "description": "Asset resource name of the associated square marketing image. This and/or a marketing image asset is required.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__DemandGenMultiAssetAdInfo": { + "description": "A Demand Gen multi asset ad.", + "id": "GoogleAdsSearchads360V23Common__DemandGenMultiAssetAdInfo", + "properties": { + "businessName": { + "description": "The Advertiser/brand name. Maximum display width is 25. Required.", + "type": "string" + }, + "callToActionText": { + "description": "Call to action text.", + "type": "string" + }, + "descriptions": { + "description": "The descriptive text of the ad. Maximum display width is 90. At least 1 and max 5 descriptions can be specified.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AdTextAsset" + }, + "type": "array" + }, + "headlines": { + "description": "Headline text asset of the ad. Maximum display width is 30. At least 1 and max 5 headlines can be specified.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AdTextAsset" + }, + "type": "array" + }, + "logoImages": { + "description": "Logo image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). At least 1 and max 5 logo images can be specified.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AdImageAsset" + }, + "type": "array" + }, + "marketingImages": { + "description": "Marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). Required if square_marketing_images is not present.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AdImageAsset" + }, + "type": "array" + }, + "portraitMarketingImages": { + "description": "Portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 480x600 and the aspect ratio must be 4:5 (+-1%).", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AdImageAsset" + }, + "type": "array" + }, + "squareMarketingImages": { + "description": "Square marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). Required if marketing_images is not present.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AdImageAsset" + }, + "type": "array" + }, + "tallPortraitMarketingImages": { + "description": "Tall portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x1067 and the aspect ratio must be 9:16 (+-1%). Combined with `marketing_images`, `square_marketing_images`, and `portrait_marketing_images`, the maximum is 20.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AdImageAsset" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__DemandGenProductAdInfo": { + "description": "A Demand Gen product ad.", + "id": "GoogleAdsSearchads360V23Common__DemandGenProductAdInfo", + "properties": { + "breadcrumb1": { + "description": "First part of text that appears in the ad with the displayed URL.", + "type": "string" + }, + "breadcrumb2": { + "description": "Second part of text that appears in the ad with the displayed URL.", + "type": "string" + }, + "businessName": { + "$ref": "GoogleAdsSearchads360V23Common__AdTextAsset", + "description": "Required. The advertiser/brand name." + }, + "callToAction": { + "$ref": "GoogleAdsSearchads360V23Common__AdCallToActionAsset", + "description": "Asset of type CallToActionAsset used for the \"Call To Action\" button." + }, + "description": { + "$ref": "GoogleAdsSearchads360V23Common__AdTextAsset", + "description": "Required. Text asset used for the description." + }, + "headline": { + "$ref": "GoogleAdsSearchads360V23Common__AdTextAsset", + "description": "Required. Text asset used for the short headline." + }, + "logoImage": { + "$ref": "GoogleAdsSearchads360V23Common__AdImageAsset", + "description": "Required. Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%)." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__DemandGenVideoResponsiveAdInfo": { + "description": "A Demand Gen video responsive ad.", + "id": "GoogleAdsSearchads360V23Common__DemandGenVideoResponsiveAdInfo", + "properties": { + "breadcrumb1": { + "description": "First part of text that appears in the ad with the displayed URL.", + "type": "string" + }, + "breadcrumb2": { + "description": "Second part of text that appears in the ad with the displayed URL.", + "type": "string" + }, + "businessName": { + "$ref": "GoogleAdsSearchads360V23Common__AdTextAsset", + "description": "Required. The advertiser/brand name." + }, + "callToActions": { + "description": "Assets of type CallToActionAsset used for the \"Call To Action\" button.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AdCallToActionAsset" + }, + "type": "array" + }, + "companionBanners": { + "description": "List of image assets used for the companion banner. Currently, only a single value for the companion banner asset is supported.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AdImageAsset" + }, + "type": "array" + }, + "descriptions": { + "description": "List of text assets used for the description.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AdTextAsset" + }, + "type": "array" + }, + "headlines": { + "description": "List of text assets used for the short headline.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AdTextAsset" + }, + "type": "array" + }, + "logoImages": { + "description": "Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%).", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AdImageAsset" + }, + "type": "array" + }, + "longHeadlines": { + "description": "List of text assets used for the long headline.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AdTextAsset" + }, + "type": "array" + }, + "videos": { + "description": "List of YouTube video assets used for the ad.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AdVideoAsset" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__DetailedDemographicSegment": { + "description": "Detailed demographic segment.", + "id": "GoogleAdsSearchads360V23Common__DetailedDemographicSegment", + "properties": { + "detailedDemographic": { + "description": "The detailed demographic resource.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__DeviceInfo": { + "description": "A device criterion.", + "id": "GoogleAdsSearchads360V23Common__DeviceInfo", + "properties": { + "type": { + "description": "Type of the device.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "MOBILE", + "TABLET", + "DESKTOP", + "CONNECTED_TV", + "OTHER" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "Mobile devices with full browsers.", + "Tablets with full browsers.", + "Computers.", + "Smart TVs and game consoles.", + "Other device types." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__DisplayUploadAdInfo": { + "description": "A generic type of display ad. The exact ad format is controlled by the `display_upload_product_type` field, which determines what kinds of data need to be included with the ad.", + "id": "GoogleAdsSearchads360V23Common__DisplayUploadAdInfo", + "properties": { + "displayUploadProductType": { + "description": "The product type of this ad. See comments on the enum for details.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "HTML5_UPLOAD_AD", + "DYNAMIC_HTML5_EDUCATION_AD", + "DYNAMIC_HTML5_FLIGHT_AD", + "DYNAMIC_HTML5_HOTEL_RENTAL_AD", + "DYNAMIC_HTML5_JOB_AD", + "DYNAMIC_HTML5_LOCAL_AD", + "DYNAMIC_HTML5_REAL_ESTATE_AD", + "DYNAMIC_HTML5_CUSTOM_AD", + "DYNAMIC_HTML5_TRAVEL_AD", + "DYNAMIC_HTML5_HOTEL_AD" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "HTML5 upload ad. This product type requires the upload_media_bundle field in DisplayUploadAdInfo to be set.", + "Dynamic HTML5 education ad. This product type requires the upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be used in an education campaign.", + "Dynamic HTML5 flight ad. This product type requires the upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be used in a flight campaign.", + "Dynamic HTML5 hotel and rental ad. This product type requires the upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be used in a hotel campaign.", + "Dynamic HTML5 job ad. This product type requires the upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be used in a job campaign.", + "Dynamic HTML5 local ad. This product type requires the upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be used in a local campaign.", + "Dynamic HTML5 real estate ad. This product type requires the upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be used in a real estate campaign.", + "Dynamic HTML5 custom ad. This product type requires the upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be used in a custom campaign.", + "Dynamic HTML5 travel ad. This product type requires the upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be used in a travel campaign.", + "Dynamic HTML5 hotel ad. This product type requires the upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be used in a hotel campaign." + ], + "type": "string" + }, + "mediaBundle": { + "$ref": "GoogleAdsSearchads360V23Common__AdMediaBundleAsset", + "description": "A media bundle asset to be used in the ad. For information about the media bundle for HTML5_UPLOAD_AD, see https://support.google.com/google-ads/answer/1722096 Media bundles that are part of dynamic product types use a special format that needs to be created through the Google Web Designer. See https://support.google.com/webdesigner/answer/7543898 for more information." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__DynamicBusinessProfileLocationGroupFilter": { + "description": "Represents a filter on Business Profile locations in an asset set. If multiple filters are provided, they are AND'ed together.", + "id": "GoogleAdsSearchads360V23Common__DynamicBusinessProfileLocationGroupFilter", + "properties": { + "businessNameFilter": { + "$ref": "GoogleAdsSearchads360V23Common__BusinessProfileBusinessNameFilter", + "description": "Used to filter Business Profile locations by business name." + }, + "labelFilters": { + "description": "Used to filter Business Profile locations by label. Only locations that have any of the listed labels will be in the asset set. Label filters are OR'ed together.", + "items": { + "type": "string" + }, + "type": "array" + }, + "listingIdFilters": { + "description": "Used to filter Business Profile locations by listing ids.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__DynamicCustomAsset": { + "description": "A dynamic custom asset.", + "id": "GoogleAdsSearchads360V23Common__DynamicCustomAsset", + "properties": { + "androidAppLink": { + "description": "Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.", + "type": "string" + }, + "contextualKeywords": { + "description": "Contextual keywords, for example, Sedans, 4 door sedans.", + "items": { + "type": "string" + }, + "type": "array" + }, + "formattedPrice": { + "description": "Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $20,000.00.", + "type": "string" + }, + "formattedSalePrice": { + "description": "Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $15,000.00.", + "type": "string" + }, + "id": { + "description": "Required. ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag, for example, sedan. Required.", + "type": "string" + }, + "id2": { + "description": "ID2 which can be any sequence of letters and digits, for example, red. ID sequence (ID + ID2) must be unique.", + "type": "string" + }, + "imageUrl": { + "description": "Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.", + "type": "string" + }, + "iosAppLink": { + "description": "iOS deep link, for example, exampleApp://content/page.", + "type": "string" + }, + "iosAppStoreId": { + "description": "iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.", + "format": "int64", + "type": "string" + }, + "itemAddress": { + "description": "Item address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403", + "type": "string" + }, + "itemCategory": { + "description": "Item category, for example, Sedans.", + "type": "string" + }, + "itemDescription": { + "description": "Item description, for example, Best selling mid-size car.", + "type": "string" + }, + "itemSubtitle": { + "description": "Item subtitle, for example, At your Mountain View dealership.", + "type": "string" + }, + "itemTitle": { + "description": "Required. Item title, for example, Mid-size sedan. Required.", + "type": "string" + }, + "price": { + "description": "Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 20,000.00 USD.", + "type": "string" + }, + "salePrice": { + "description": "Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 15,000.00 USD. Must be less than the 'price' field.", + "type": "string" + }, + "similarIds": { + "description": "Similar IDs.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__DynamicEducationAsset": { + "description": "A Dynamic Education asset.", + "id": "GoogleAdsSearchads360V23Common__DynamicEducationAsset", + "properties": { + "address": { + "description": "School address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403", + "type": "string" + }, + "androidAppLink": { + "description": "Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.", + "type": "string" + }, + "contextualKeywords": { + "description": "Contextual keywords, for example, Nursing certification, Health, Mountain View.", + "items": { + "type": "string" + }, + "type": "array" + }, + "imageUrl": { + "description": "Image url, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.", + "type": "string" + }, + "iosAppLink": { + "description": "iOS deep link, for example, exampleApp://content/page.", + "type": "string" + }, + "iosAppStoreId": { + "description": "iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.", + "format": "int64", + "type": "string" + }, + "locationId": { + "description": "Location ID which can be any sequence of letters and digits and must be unique.", + "type": "string" + }, + "programDescription": { + "description": "Program description, for example, Nursing Certification.", + "type": "string" + }, + "programId": { + "description": "Required. Program ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.", + "type": "string" + }, + "programName": { + "description": "Required. Program name, for example, Nursing. Required.", + "type": "string" + }, + "schoolName": { + "description": "School name, for example, Mountain View School of Nursing.", + "type": "string" + }, + "similarProgramIds": { + "description": "Similar program IDs.", + "items": { + "type": "string" + }, + "type": "array" + }, + "subject": { + "description": "Subject of study, for example, Health.", + "type": "string" + }, + "thumbnailImageUrl": { + "description": "Thumbnail image url, for example, http://www.example.com/thumbnail.png. The thumbnail image will not be uploaded as image asset.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__DynamicFlightsAsset": { + "description": "A dynamic flights asset.", + "id": "GoogleAdsSearchads360V23Common__DynamicFlightsAsset", + "properties": { + "androidAppLink": { + "description": "Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.", + "type": "string" + }, + "customMapping": { + "description": "A custom field which can be multiple key to values mapping separated by delimiters (\",\", \"|\" and \":\"), in the forms of \": , , ... , | : , ... , | ... | : , ... ,\" for example, wifi: most | aircraft: 320, 77W | flights: 42 | legroom: 32\".", + "type": "string" + }, + "destinationId": { + "description": "Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.", + "type": "string" + }, + "destinationName": { + "description": "Destination name, for example, Paris.", + "type": "string" + }, + "flightDescription": { + "description": "Required. Flight description, for example, Book your ticket. Required.", + "type": "string" + }, + "flightPrice": { + "description": "Flight price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.", + "type": "string" + }, + "flightSalePrice": { + "description": "Flight sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'flight_price' field.", + "type": "string" + }, + "formattedPrice": { + "description": "Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.", + "type": "string" + }, + "formattedSalePrice": { + "description": "Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.", + "type": "string" + }, + "imageUrl": { + "description": "Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.", + "type": "string" + }, + "iosAppLink": { + "description": "iOS deep link, for example, exampleApp://content/page.", + "type": "string" + }, + "iosAppStoreId": { + "description": "iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.", + "format": "int64", + "type": "string" + }, + "originId": { + "description": "Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.", + "type": "string" + }, + "originName": { + "description": "Origin name, for example, London.", + "type": "string" + }, + "similarDestinationIds": { + "description": "Similar destination IDs, for example, PAR,LON.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__DynamicHotelsAndRentalsAsset": { + "description": "A dynamic hotels and rentals asset.", + "id": "GoogleAdsSearchads360V23Common__DynamicHotelsAndRentalsAsset", + "properties": { + "address": { + "description": "Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403", + "type": "string" + }, + "androidAppLink": { + "description": "Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.", + "type": "string" + }, + "category": { + "description": "Category, for example, Hotel suite.", + "type": "string" + }, + "contextualKeywords": { + "description": "Contextual keywords, for example, Mountain View \"Hotels\", South Bay hotels.", + "items": { + "type": "string" + }, + "type": "array" + }, + "description": { + "description": "Description, for example, Close to SJC Airport.", + "type": "string" + }, + "destinationName": { + "description": "Destination name, for example, Downtown Mountain View.", + "type": "string" + }, + "formattedPrice": { + "description": "Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.", + "type": "string" + }, + "formattedSalePrice": { + "description": "Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.", + "type": "string" + }, + "imageUrl": { + "description": "Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.", + "type": "string" + }, + "iosAppLink": { + "description": "iOS deep link, for example, exampleApp://content/page.", + "type": "string" + }, + "iosAppStoreId": { + "description": "iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.", + "format": "int64", + "type": "string" + }, + "price": { + "description": "Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.", + "type": "string" + }, + "propertyId": { + "description": "Required. Property ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.", + "type": "string" + }, + "propertyName": { + "description": "Required. Property name, for example, Mountain View Hotel. Required.", + "type": "string" + }, + "salePrice": { + "description": "ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.", + "type": "string" + }, + "similarPropertyIds": { + "description": "Similar property IDs.", + "items": { + "type": "string" + }, + "type": "array" + }, + "starRating": { + "description": "Star rating. Must be a number between 1 to 5, inclusive.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__DynamicJobsAsset": { + "description": "A dynamic jobs asset.", + "id": "GoogleAdsSearchads360V23Common__DynamicJobsAsset", + "properties": { + "address": { + "description": "Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.", + "type": "string" + }, + "androidAppLink": { + "description": "Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.", + "type": "string" + }, + "contextualKeywords": { + "description": "Contextual keywords, for example, Software engineering job.", + "items": { + "type": "string" + }, + "type": "array" + }, + "description": { + "description": "Description, for example, Apply your technical skills.", + "type": "string" + }, + "imageUrl": { + "description": "Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.", + "type": "string" + }, + "iosAppLink": { + "description": "iOS deep link, for example, exampleApp://content/page.", + "type": "string" + }, + "iosAppStoreId": { + "description": "iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.", + "format": "int64", + "type": "string" + }, + "jobCategory": { + "description": "Job category, for example, Technical.", + "type": "string" + }, + "jobId": { + "description": "Required. Job ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.", + "type": "string" + }, + "jobSubtitle": { + "description": "Job subtitle, for example, Level II.", + "type": "string" + }, + "jobTitle": { + "description": "Required. Job title, for example, Software engineer. Required.", + "type": "string" + }, + "locationId": { + "description": "Location ID which can be any sequence of letters and digits. The ID sequence (job ID + location ID) must be unique.", + "type": "string" + }, + "salary": { + "description": "Salary, for example, $100,000.", + "type": "string" + }, + "similarJobIds": { + "description": "Similar job IDs, for example, 1275.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__DynamicLocalAsset": { + "description": "A dynamic local asset.", + "id": "GoogleAdsSearchads360V23Common__DynamicLocalAsset", + "properties": { + "address": { + "description": "Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.", + "type": "string" + }, + "androidAppLink": { + "description": "Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.", + "type": "string" + }, + "category": { + "description": "Category, for example, Food.", + "type": "string" + }, + "contextualKeywords": { + "description": "Contextual keywords, for example, Save groceries coupons.", + "items": { + "type": "string" + }, + "type": "array" + }, + "dealId": { + "description": "Required. Deal ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.", + "type": "string" + }, + "dealName": { + "description": "Required. Deal name, for example, 50% off at Mountain View Grocers. Required.", + "type": "string" + }, + "description": { + "description": "Description, for example, Save on your weekly bill.", + "type": "string" + }, + "formattedPrice": { + "description": "Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.", + "type": "string" + }, + "formattedSalePrice": { + "description": "Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.", + "type": "string" + }, + "imageUrl": { + "description": "Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.", + "type": "string" + }, + "iosAppLink": { + "description": "iOS deep link, for example, exampleApp://content/page.", + "type": "string" + }, + "iosAppStoreId": { + "description": "iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.", + "format": "int64", + "type": "string" + }, + "price": { + "description": "Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.", + "type": "string" + }, + "salePrice": { + "description": "Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.", + "type": "string" + }, + "similarDealIds": { + "description": "Similar deal IDs, for example, 1275.", + "items": { + "type": "string" + }, + "type": "array" + }, + "subtitle": { + "description": "Subtitle, for example, Groceries.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__DynamicRealEstateAsset": { + "description": "A dynamic real estate asset.", + "id": "GoogleAdsSearchads360V23Common__DynamicRealEstateAsset", + "properties": { + "address": { + "description": "Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403", + "type": "string" + }, + "androidAppLink": { + "description": "Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.", + "type": "string" + }, + "cityName": { + "description": "City name, for example, Mountain View, California.", + "type": "string" + }, + "contextualKeywords": { + "description": "Contextual keywords, for example, For sale; Houses for sale.", + "items": { + "type": "string" + }, + "type": "array" + }, + "description": { + "description": "Description, for example, 3 beds, 2 baths, 1568 sq. ft.", + "type": "string" + }, + "formattedPrice": { + "description": "Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $200,000.00.", + "type": "string" + }, + "imageUrl": { + "description": "Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.", + "type": "string" + }, + "iosAppLink": { + "description": "iOS deep link, for example, exampleApp://content/page.", + "type": "string" + }, + "iosAppStoreId": { + "description": "iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.", + "format": "int64", + "type": "string" + }, + "listingId": { + "description": "Required. Listing ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.", + "type": "string" + }, + "listingName": { + "description": "Required. Listing name, for example, Boulevard Bungalow. Required.", + "type": "string" + }, + "listingType": { + "description": "Listing type, for example, For sale.", + "type": "string" + }, + "price": { + "description": "Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 200,000.00 USD.", + "type": "string" + }, + "propertyType": { + "description": "Property type, for example, House.", + "type": "string" + }, + "similarListingIds": { + "description": "Similar listing IDs.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__DynamicTravelAsset": { + "description": "A dynamic travel asset.", + "id": "GoogleAdsSearchads360V23Common__DynamicTravelAsset", + "properties": { + "androidAppLink": { + "description": "Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234.", + "type": "string" + }, + "category": { + "description": "Category, for example, Express.", + "type": "string" + }, + "contextualKeywords": { + "description": "Contextual keywords, for example, Paris trains.", + "items": { + "type": "string" + }, + "type": "array" + }, + "destinationAddress": { + "description": "Destination address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403.", + "type": "string" + }, + "destinationId": { + "description": "Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required.", + "type": "string" + }, + "destinationName": { + "description": "Destination name, for example, Paris.", + "type": "string" + }, + "formattedPrice": { + "description": "Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00.", + "type": "string" + }, + "formattedSalePrice": { + "description": "Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00.", + "type": "string" + }, + "imageUrl": { + "description": "Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset.", + "type": "string" + }, + "iosAppLink": { + "description": "iOS deep link, for example, exampleApp://content/page.", + "type": "string" + }, + "iosAppStoreId": { + "description": "iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present.", + "format": "int64", + "type": "string" + }, + "originId": { + "description": "Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique.", + "type": "string" + }, + "originName": { + "description": "Origin name, for example, London.", + "type": "string" + }, + "price": { + "description": "Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD.", + "type": "string" + }, + "salePrice": { + "description": "Sale price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field.", + "type": "string" + }, + "similarDestinationIds": { + "description": "Similar destination IDs, for example, NYC.", + "items": { + "type": "string" + }, + "type": "array" + }, + "title": { + "description": "Required. Title, for example, Book your train ticket. Required.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__EnhancedCpc": { + "description": "An automated bidding strategy that raises bids for clicks that seem more likely to lead to a conversion and lowers them for clicks where they seem less likely. This bidding strategy is deprecated and cannot be created anymore. Use ManualCpc with enhanced_cpc_enabled set to true for equivalent functionality.", + "id": "GoogleAdsSearchads360V23Common__EnhancedCpc", + "properties": {}, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__EventAttribute": { + "description": "Advertiser defined events and their attributes. All the values in the nested fields are required.", + "id": "GoogleAdsSearchads360V23Common__EventAttribute", + "properties": { + "event": { + "description": "Required. Advertiser defined event to be used for remarketing. The accepted values are \"Viewed\", \"Cart\", \"Purchased\" and \"Recommended\".", + "type": "string" + }, + "eventDateTime": { + "description": "Required. Timestamp at which the event happened. The format is YYYY-MM-DD HH:MM:SS[+/-HH:MM], where [+/-HH:MM] is an optional timezone offset from UTC. If the offset is absent, the API will use the account's timezone as default.", + "type": "string" + }, + "itemAttribute": { + "description": "Required. Item attributes of the event.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__EventItemAttribute" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__EventItemAttribute": { + "description": "Event Item attributes of the Customer Match.", + "id": "GoogleAdsSearchads360V23Common__EventItemAttribute", + "properties": { + "itemId": { + "description": "Optional. A unique identifier of a product. It can be either the Merchant Center Item ID or GTIN (Global Trade Item Number).", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__ExclusionSegment": { + "description": "An audience segment to be excluded from an audience.", + "id": "GoogleAdsSearchads360V23Common__ExclusionSegment", + "properties": { + "userList": { + "$ref": "GoogleAdsSearchads360V23Common__UserListSegment", + "description": "User list segment to be excluded." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__ExpandedDynamicSearchAdInfo": { + "description": "An expanded dynamic search ad.", + "id": "GoogleAdsSearchads360V23Common__ExpandedDynamicSearchAdInfo", + "properties": { + "description": { + "description": "The description of the ad.", + "type": "string" + }, + "description2": { + "description": "The second description of the ad.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__ExpandedTextAdInfo": { + "description": "An expanded text ad.", + "id": "GoogleAdsSearchads360V23Common__ExpandedTextAdInfo", + "properties": { + "description": { + "description": "The description of the ad.", + "type": "string" + }, + "description2": { + "description": "The second description of the ad.", + "type": "string" + }, + "headlinePart1": { + "description": "The first part of the ad's headline.", + "type": "string" + }, + "headlinePart2": { + "description": "The second part of the ad's headline.", + "type": "string" + }, + "headlinePart3": { + "description": "The third part of the ad's headline.", + "type": "string" + }, + "path1": { + "description": "The text that can appear alongside the ad's displayed URL.", + "type": "string" + }, + "path2": { + "description": "Additional text that can appear alongside the ad's displayed URL.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__ExtendedDemographicInfo": { + "description": "Represents an extended demographic criterion.", + "id": "GoogleAdsSearchads360V23Common__ExtendedDemographicInfo", + "properties": { + "extendedDemographicId": { + "description": "Taxonomy id of the extended demographic group.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__FacebookMessengerBusinessMessageInfo": { + "description": "Facebook Messenger information to use for messaging.", + "id": "GoogleAdsSearchads360V23Common__FacebookMessengerBusinessMessageInfo", + "properties": { + "pageName": { + "description": "Required. Facebook page name used for starting a chat on Facebook Messenger.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__FinalAppUrl": { + "description": "A URL for deep linking into an app for the given operating system.", + "id": "GoogleAdsSearchads360V23Common__FinalAppUrl", + "properties": { + "osType": { + "description": "The operating system targeted by this URL. Required.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "IOS", + "ANDROID" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The Apple IOS operating system.", + "The Android operating system." + ], + "type": "string" + }, + "url": { + "description": "The app deep link URL. Deep links specify a location in an app that corresponds to the content you'd like to show, and should be of the form {scheme}://{host_path} The scheme identifies which app to open. For your app, you can use a custom scheme that starts with the app's name. The host and path specify the unique location in the app where your content exists. Example: \"exampleapp://productid_1234\". Required.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__FlexibleRuleOperandInfo": { + "description": "Flexible rule that wraps the common rule and a lookback window.", + "id": "GoogleAdsSearchads360V23Common__FlexibleRuleOperandInfo", + "properties": { + "lookbackWindowDays": { + "description": "Lookback window for this rule in days. From now until X days ago.", + "format": "int64", + "type": "string" + }, + "rule": { + "$ref": "GoogleAdsSearchads360V23Common__UserListRuleInfo", + "description": "List of rule item groups that defines this rule. Rule item groups are grouped together." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__FlexibleRuleUserListInfo": { + "description": "Flexible rule representation of visitors with one or multiple actions. The flexible user list is defined by two lists of operands – inclusive_operands and exclusive_operands; each operand represents a set of users based on actions they took in a given timeframe. These lists of operands are combined with the AND_NOT operator, so that users represented by the inclusive operands are included in the user list, minus the users represented by the exclusive operands.", + "id": "GoogleAdsSearchads360V23Common__FlexibleRuleUserListInfo", + "properties": { + "exclusiveOperands": { + "description": "Rules representing users that should be excluded from the user list. These are located on the right side of the AND_NOT operator, and joined together by OR.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__FlexibleRuleOperandInfo" + }, + "type": "array" + }, + "inclusiveOperands": { + "description": "Rules representing users that should be included in the user list. These are located on the left side of the AND_NOT operator, and joined together by either AND/OR as specified by the inclusive_rule_operator.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__FlexibleRuleOperandInfo" + }, + "type": "array" + }, + "inclusiveRuleOperator": { + "description": "Operator that defines how the inclusive operands are combined.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "AND", + "OR" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "A AND B.", + "A OR B." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__FrequencyCapEntry": { + "description": "A rule specifying the maximum number of times an ad (or some set of ads) can be shown to a user over a particular time period.", + "id": "GoogleAdsSearchads360V23Common__FrequencyCapEntry", + "properties": { + "cap": { + "description": "Maximum number of events allowed during the time range by this cap.", + "format": "int32", + "type": "integer" + }, + "key": { + "$ref": "GoogleAdsSearchads360V23Common__FrequencyCapKey", + "description": "The key of a particular frequency cap. There can be no more than one frequency cap with the same key." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__FrequencyCapKey": { + "description": "A group of fields used as keys for a frequency cap. There can be no more than one frequency cap with the same key.", + "id": "GoogleAdsSearchads360V23Common__FrequencyCapKey", + "properties": { + "eventType": { + "description": "The type of event that the cap applies to (for example, impression).", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "IMPRESSION", + "VIDEO_VIEW" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The cap applies on ad impressions.", + "The cap applies on video ad views." + ], + "type": "string" + }, + "level": { + "description": "The level on which the cap is to be applied (for example, ad group ad, ad group). The cap is applied to all the entities of this level.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "AD_GROUP_AD", + "AD_GROUP", + "CAMPAIGN" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The cap is applied at the ad group ad level.", + "The cap is applied at the ad group level.", + "The cap is applied at the campaign level." + ], + "type": "string" + }, + "timeLength": { + "description": "Number of time units the cap lasts.", + "format": "int32", + "type": "integer" + }, + "timeUnit": { + "description": "Unit of time the cap is defined at (for example, day, week).", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "DAY", + "WEEK", + "MONTH" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The cap would define limit per one day.", + "The cap would define limit per one week.", + "The cap would define limit per one month." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__GenderDimension": { + "description": "Dimension specifying users by their gender.", + "id": "GoogleAdsSearchads360V23Common__GenderDimension", + "properties": { + "genders": { + "description": "Included gender demographic segments.", + "items": { + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "MALE", + "FEMALE", + "UNDETERMINED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Male.", + "Female.", + "Undetermined gender." + ], + "type": "string" + }, + "type": "array" + }, + "includeUndetermined": { + "description": "Include users whose gender is not determined.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__GenderInfo": { + "description": "A gender criterion.", + "id": "GoogleAdsSearchads360V23Common__GenderInfo", + "properties": { + "type": { + "description": "Type of the gender.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "MALE", + "FEMALE", + "UNDETERMINED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Male.", + "Female.", + "Undetermined gender." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__GeoPointInfo": { + "description": "Geo point for proximity criterion.", + "id": "GoogleAdsSearchads360V23Common__GeoPointInfo", + "properties": { + "latitudeInMicroDegrees": { + "description": "Micro degrees for the latitude.", + "format": "int32", + "type": "integer" + }, + "longitudeInMicroDegrees": { + "description": "Micro degrees for the longitude.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__HistoricalMetricsOptions": { + "description": "Historical metrics options.", + "id": "GoogleAdsSearchads360V23Common__HistoricalMetricsOptions", + "properties": { + "includeAverageCpc": { + "description": "Indicates whether to include average cost per click value. Average CPC is provided only for legacy support.", + "type": "boolean" + }, + "yearMonthRange": { + "$ref": "GoogleAdsSearchads360V23Common__YearMonthRange", + "description": "The year month range for historical metrics. If not specified, metrics for the past 12 months are returned. Search metrics are available for the past 4 years. If the search volume is not available for the entire year_month_range provided, the subset of the year month range for which search volume is available are returned." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__HotelAdInfo": { + "description": "A hotel ad.", + "id": "GoogleAdsSearchads360V23Common__HotelAdInfo", + "properties": {}, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__HotelAdvanceBookingWindowInfo": { + "description": "Criterion for number of days prior to the stay the booking is being made.", + "id": "GoogleAdsSearchads360V23Common__HotelAdvanceBookingWindowInfo", + "properties": { + "maxDays": { + "description": "High end of the number of days prior to the stay.", + "format": "int64", + "type": "string" + }, + "minDays": { + "description": "Low end of the number of days prior to the stay.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__HotelCalloutAsset": { + "description": "An asset representing a hotel callout.", + "id": "GoogleAdsSearchads360V23Common__HotelCalloutAsset", + "properties": { + "languageCode": { + "description": "Required. The language of the hotel callout. Represented as BCP 47 language tag.", + "type": "string" + }, + "text": { + "description": "Required. The text of the hotel callout asset. The length of this string should be between 1 and 25, inclusive.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__HotelCheckInDateRangeInfo": { + "description": "Criterion for a check-in date range.", + "id": "GoogleAdsSearchads360V23Common__HotelCheckInDateRangeInfo", + "properties": { + "endDate": { + "description": "End date in the YYYY-MM-DD format.", + "type": "string" + }, + "startDate": { + "description": "Start date in the YYYY-MM-DD format.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__HotelCheckInDayInfo": { + "description": "Criterion for day of the week the booking is for.", + "id": "GoogleAdsSearchads360V23Common__HotelCheckInDayInfo", + "properties": { + "dayOfWeek": { + "description": "The day of the week.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "MONDAY", + "TUESDAY", + "WEDNESDAY", + "THURSDAY", + "FRIDAY", + "SATURDAY", + "SUNDAY" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "Monday.", + "Tuesday.", + "Wednesday.", + "Thursday.", + "Friday.", + "Saturday.", + "Sunday." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__HotelCityInfo": { + "description": "City the hotel is located in.", + "id": "GoogleAdsSearchads360V23Common__HotelCityInfo", + "properties": { + "cityCriterion": { + "description": "The Geo Target Constant resource name.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__HotelClassInfo": { + "description": "Class of the hotel as a number of stars 1 to 5.", + "id": "GoogleAdsSearchads360V23Common__HotelClassInfo", + "properties": { + "value": { + "description": "Long value of the hotel class.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__HotelCountryRegionInfo": { + "description": "Country or Region the hotel is located in.", + "id": "GoogleAdsSearchads360V23Common__HotelCountryRegionInfo", + "properties": { + "countryRegionCriterion": { + "description": "The Geo Target Constant resource name.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__HotelDateSelectionTypeInfo": { + "description": "Criterion for hotel date selection (default dates versus user selected).", + "id": "GoogleAdsSearchads360V23Common__HotelDateSelectionTypeInfo", + "properties": { + "type": { + "description": "Type of the hotel date selection", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "DEFAULT_SELECTION", + "USER_SELECTED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Dates selected by default.", + "Dates selected by the user." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__HotelIdInfo": { + "description": "Advertiser-specific hotel ID.", + "id": "GoogleAdsSearchads360V23Common__HotelIdInfo", + "properties": { + "value": { + "description": "String value of the hotel ID.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__HotelLengthOfStayInfo": { + "description": "Criterion for length of hotel stay in nights.", + "id": "GoogleAdsSearchads360V23Common__HotelLengthOfStayInfo", + "properties": { + "maxNights": { + "description": "High end of the number of nights in the stay.", + "format": "int64", + "type": "string" + }, + "minNights": { + "description": "Low end of the number of nights in the stay.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__HotelPropertyAsset": { + "description": "A hotel property asset.", + "id": "GoogleAdsSearchads360V23Common__HotelPropertyAsset", + "properties": { + "hotelAddress": { + "description": "Address of the hotel. Read-only.", + "type": "string" + }, + "hotelName": { + "description": "Name of the hotel. Read-only.", + "type": "string" + }, + "placeId": { + "description": "Place IDs uniquely identify a place in the Google Places database and on Google Maps. See https://developers.google.com/places/web-service/place-id to learn more.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__HotelStateInfo": { + "description": "State the hotel is located in.", + "id": "GoogleAdsSearchads360V23Common__HotelStateInfo", + "properties": { + "stateCriterion": { + "description": "The Geo Target Constant resource name.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__HouseholdIncomeDimension": { + "description": "Dimension specifying users by their household income.", + "id": "GoogleAdsSearchads360V23Common__HouseholdIncomeDimension", + "properties": { + "includeUndetermined": { + "description": "Include users whose household income is not determined.", + "type": "boolean" + }, + "incomeRanges": { + "description": "Included household income demographic segments.", + "items": { + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "INCOME_RANGE_0_50", + "INCOME_RANGE_50_60", + "INCOME_RANGE_60_70", + "INCOME_RANGE_70_80", + "INCOME_RANGE_80_90", + "INCOME_RANGE_90_UP", + "INCOME_RANGE_UNDETERMINED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "0%-50%.", + "50% to 60%.", + "60% to 70%.", + "70% to 80%.", + "80% to 90%.", + "Greater than 90%.", + "Undetermined income range." + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__ImageAdInfo": { + "description": "An image ad.", + "id": "GoogleAdsSearchads360V23Common__ImageAdInfo", + "properties": { + "adIdToCopyImageFrom": { + "description": "An ad ID to copy the image from.", + "format": "int64", + "type": "string" + }, + "data": { + "description": "Raw image data as bytes.", + "format": "byte", + "type": "string" + }, + "imageAsset": { + "$ref": "GoogleAdsSearchads360V23Common__AdImageAsset", + "description": "The image assets used for the ad." + }, + "imageUrl": { + "description": "URL of the full size image.", + "type": "string" + }, + "mimeType": { + "description": "The mime type of the image.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "IMAGE_JPEG", + "IMAGE_GIF", + "IMAGE_PNG", + "FLASH", + "TEXT_HTML", + "PDF", + "MSWORD", + "MSEXCEL", + "RTF", + "AUDIO_WAV", + "AUDIO_MP3", + "HTML5_AD_ZIP" + ], + "enumDescriptions": [ + "The mime type has not been specified.", + "The received value is not known in this version. This is a response-only value.", + "MIME type of image/jpeg.", + "MIME type of image/gif.", + "MIME type of image/png.", + "MIME type of application/x-shockwave-flash.", + "MIME type of text/html.", + "MIME type of application/pdf.", + "MIME type of application/msword.", + "MIME type of application/vnd.ms-excel.", + "MIME type of application/rtf.", + "MIME type of audio/wav.", + "MIME type of audio/mp3.", + "MIME type of application/x-html5-ad-zip." + ], + "type": "string" + }, + "name": { + "description": "The name of the image. If the image was created from a MediaFile, this is the MediaFile's name. If the image was created from bytes, this is empty.", + "type": "string" + }, + "pixelHeight": { + "description": "Height in pixels of the full size image.", + "format": "int64", + "type": "string" + }, + "pixelWidth": { + "description": "Width in pixels of the full size image.", + "format": "int64", + "type": "string" + }, + "previewImageUrl": { + "description": "URL of the preview size image.", + "type": "string" + }, + "previewPixelHeight": { + "description": "Height in pixels of the preview size image.", + "format": "int64", + "type": "string" + }, + "previewPixelWidth": { + "description": "Width in pixels of the preview size image.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__ImageAsset": { + "description": "An Image asset.", + "id": "GoogleAdsSearchads360V23Common__ImageAsset", + "properties": { + "data": { + "description": "The raw bytes data of an image. This field is mutate only.", + "format": "byte", + "type": "string" + }, + "fileSize": { + "description": "File size of the image asset in bytes.", + "format": "int64", + "type": "string" + }, + "fullSize": { + "$ref": "GoogleAdsSearchads360V23Common__ImageDimension", + "description": "Metadata for this image at its original size." + }, + "mimeType": { + "description": "MIME type of the image asset.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "IMAGE_JPEG", + "IMAGE_GIF", + "IMAGE_PNG", + "FLASH", + "TEXT_HTML", + "PDF", + "MSWORD", + "MSEXCEL", + "RTF", + "AUDIO_WAV", + "AUDIO_MP3", + "HTML5_AD_ZIP" + ], + "enumDescriptions": [ + "The mime type has not been specified.", + "The received value is not known in this version. This is a response-only value.", + "MIME type of image/jpeg.", + "MIME type of image/gif.", + "MIME type of image/png.", + "MIME type of application/x-shockwave-flash.", + "MIME type of text/html.", + "MIME type of application/pdf.", + "MIME type of application/msword.", + "MIME type of application/vnd.ms-excel.", + "MIME type of application/rtf.", + "MIME type of audio/wav.", + "MIME type of audio/mp3.", + "MIME type of application/x-html5-ad-zip." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__ImageDimension": { + "description": "Metadata for an image at a certain size, either original or resized.", + "id": "GoogleAdsSearchads360V23Common__ImageDimension", + "properties": { + "heightPixels": { + "description": "Height of the image.", + "format": "int64", + "type": "string" + }, + "url": { + "description": "A URL that returns the image with this height and width.", + "type": "string" + }, + "widthPixels": { + "description": "Width of the image.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__IncomeRangeInfo": { + "description": "An income range criterion.", + "id": "GoogleAdsSearchads360V23Common__IncomeRangeInfo", + "properties": { + "type": { + "description": "Type of the income range.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "INCOME_RANGE_0_50", + "INCOME_RANGE_50_60", + "INCOME_RANGE_60_70", + "INCOME_RANGE_70_80", + "INCOME_RANGE_80_90", + "INCOME_RANGE_90_UP", + "INCOME_RANGE_UNDETERMINED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "0%-50%.", + "50% to 60%.", + "60% to 70%.", + "70% to 80%.", + "80% to 90%.", + "Greater than 90%.", + "Undetermined income range." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__InteractionTypeInfo": { + "description": "Criterion for Interaction Type.", + "id": "GoogleAdsSearchads360V23Common__InteractionTypeInfo", + "properties": { + "type": { + "description": "The interaction type.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CALLS" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Calls." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__IpBlockInfo": { + "description": "An IpBlock criterion used for excluding IP addresses. We support excluding individual IP addresses or CIDR blocks. Create one IpBlockInfo criterion for each individual IP address or CIDR block you want to exclude. You can exclude up to 500 IP addresses per campaign. For more details, see [Exclude IP addresses](//support.google.com/google-ads/answer/2456098). IPv4 examples: * Individual address: 192.168.0.1 * Individual address as CIDR block: 192.168.0.1/32 * CIDR block: 192.168.0.0/24 IPv6 examples: * Individual address: 2001:db8:a0b:12f0::1 * Individual address as CIDR block: 2001:db8:a0b:12f0::1/128 * CIDR block: 2001:db8::/48", + "id": "GoogleAdsSearchads360V23Common__IpBlockInfo", + "properties": { + "ipAddress": { + "description": "The IP address or the CIDR block to be excluded.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__ItemAttribute": { + "description": "Item attributes of the transaction.", + "id": "GoogleAdsSearchads360V23Common__ItemAttribute", + "properties": { + "countryCode": { + "description": "Common Locale Data Repository (CLDR) territory code of the country associated with the feed where your items are uploaded. See https://developers.google.com/google-ads/api/reference/data/codes-formats#country-codes for more information. This information is useful to differentiate product information in cases where a product (identified by item_id) is associated with multiple countries.", + "type": "string" + }, + "itemId": { + "description": "A unique identifier of a product. It must be the exact same Merchant Center Item ID you use in your Google Merchant Center for this product. Required.", + "type": "string" + }, + "languageCode": { + "description": "ISO 639-1 code of the language associated with the feed where your items are uploaded. This information is useful to differentiate product information in cases where a product (identified by item_id) is associated with multiple languages.", + "type": "string" + }, + "merchantId": { + "description": "ID of the Merchant Center Account. Required.", + "format": "int64", + "type": "string" + }, + "quantity": { + "description": "The number of items sold. Defaults to 1 if not set.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__Keyword": { + "description": "A Keyword criterion segment.", + "id": "GoogleAdsSearchads360V23Common__Keyword", + "properties": { + "adGroupCriterion": { + "description": "The AdGroupCriterion resource name.", + "type": "string" + }, + "info": { + "$ref": "GoogleAdsSearchads360V23Common__KeywordInfo", + "description": "Keyword info." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__KeywordAnnotations": { + "description": "The annotations for the keyword plan keywords.", + "id": "GoogleAdsSearchads360V23Common__KeywordAnnotations", + "properties": { + "concepts": { + "description": "The list of concepts for the keyword.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__KeywordConcept" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__KeywordConcept": { + "description": "The concept for the keyword.", + "id": "GoogleAdsSearchads360V23Common__KeywordConcept", + "properties": { + "conceptGroup": { + "$ref": "GoogleAdsSearchads360V23Common__ConceptGroup", + "description": "The concept group of the concept details." + }, + "name": { + "description": "The concept name for the keyword in the concept_group.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__KeywordInfo": { + "description": "A keyword criterion.", + "id": "GoogleAdsSearchads360V23Common__KeywordInfo", + "properties": { + "matchType": { + "description": "The match type of the keyword.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "EXACT", + "PHRASE", + "BROAD" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Exact match.", + "Phrase match.", + "Broad match." + ], + "type": "string" + }, + "text": { + "description": "The text of the keyword (at most 80 characters and 10 words).", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__KeywordPlanAggregateMetricResults": { + "description": "The aggregated historical metrics for keyword plan keywords.", + "id": "GoogleAdsSearchads360V23Common__KeywordPlanAggregateMetricResults", + "properties": { + "deviceSearches": { + "description": "The aggregate searches for all the keywords segmented by device for the specified time. Supports the following device types: MOBILE, TABLET, DESKTOP. This is only set when KeywordPlanAggregateMetricTypeEnum.DEVICE is set in the KeywordPlanAggregateMetrics field in the request.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__KeywordPlanDeviceSearches" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__KeywordPlanAggregateMetrics": { + "description": "The aggregate metrics specification of the request.", + "id": "GoogleAdsSearchads360V23Common__KeywordPlanAggregateMetrics", + "properties": { + "aggregateMetricTypes": { + "description": "The list of aggregate metrics to fetch data.", + "items": { + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "DEVICE" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "The device breakdown of aggregate search volume." + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__KeywordPlanDeviceSearches": { + "description": "The total searches for the device type during the specified time period.", + "id": "GoogleAdsSearchads360V23Common__KeywordPlanDeviceSearches", + "properties": { + "device": { + "description": "The device type.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "MOBILE", + "TABLET", + "DESKTOP", + "CONNECTED_TV", + "OTHER" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "Mobile devices with full browsers.", + "Tablets with full browsers.", + "Computers.", + "Smart TVs and game consoles.", + "Other device types." + ], + "type": "string" + }, + "searchCount": { + "description": "The total searches for the device.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__KeywordPlanHistoricalMetrics": { + "description": "Historical metrics specific to the targeting options selected. Targeting options include geographies, network, and so on. Refer to https://support.google.com/google-ads/answer/3022575 for more details.", + "id": "GoogleAdsSearchads360V23Common__KeywordPlanHistoricalMetrics", + "properties": { + "averageCpcMicros": { + "description": "Average Cost Per Click in micros for the keyword.", + "format": "int64", + "type": "string" + }, + "avgMonthlySearches": { + "description": "Approximate number of monthly searches on this query, averaged for the past 12 months.", + "format": "int64", + "type": "string" + }, + "competition": { + "description": "The competition level for the query.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "LOW", + "MEDIUM", + "HIGH" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "Low competition. The Competition Index range for this is [0, 33].", + "Medium competition. The Competition Index range for this is [34, 66].", + "High competition. The Competition Index range for this is [67, 100]." + ], + "type": "string" + }, + "competitionIndex": { + "description": "The competition index for the query in the range [0, 100]. Shows how competitive ad placement is for a keyword. The level of competition from 0-100 is determined by the number of ad slots filled divided by the total number of ad slots available. If not enough data is available, null is returned.", + "format": "int64", + "type": "string" + }, + "highTopOfPageBidMicros": { + "description": "Top of page bid high range (80th percentile) in micros for the keyword.", + "format": "int64", + "type": "string" + }, + "lowTopOfPageBidMicros": { + "description": "Top of page bid low range (20th percentile) in micros for the keyword.", + "format": "int64", + "type": "string" + }, + "monthlySearchVolumes": { + "description": "Approximate number of searches on this query for the past twelve months.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__MonthlySearchVolume" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__KeywordThemeInfo": { + "description": "A Smart Campaign keyword theme.", + "id": "GoogleAdsSearchads360V23Common__KeywordThemeInfo", + "properties": { + "freeFormKeywordTheme": { + "description": "Free-form text to be matched to a Smart Campaign keyword theme constant on a best-effort basis.", + "type": "string" + }, + "keywordThemeConstant": { + "description": "The resource name of a Smart Campaign keyword theme constant. `keywordThemeConstants/{keyword_theme_id}~{sub_keyword_theme_id}`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__KnowledgeGraphAttributeMetadata": { + "description": "Metadata associated with a Knowledge Graph Entity attribute.", + "id": "GoogleAdsSearchads360V23Common__KnowledgeGraphAttributeMetadata", + "properties": { + "entityCapabilities": { + "description": "The capabilities of the entity used in ContentCreatorInsightsService.", + "items": { + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CONTENT_TRENDING_INSIGHTS", + "CREATOR_ATTRIBUTE" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "An entity that is supported to use as a trending topic in ContentCreatorInsightsService.GenerateTrendingInsights.", + "An entity that is supported to use as a creator attribute in ContentCreatorInsightsService.GenerateCreatorInsights." + ], + "type": "string" + }, + "type": "array" + }, + "relatedCategories": { + "description": "A list of CATEGORY attributes related to this entity.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__LanguageInfo": { + "description": "A language criterion.", + "id": "GoogleAdsSearchads360V23Common__LanguageInfo", + "properties": { + "languageConstant": { + "description": "The language constant resource name.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__LeadFormAsset": { + "description": "A Lead Form asset.", + "id": "GoogleAdsSearchads360V23Common__LeadFormAsset", + "properties": { + "backgroundImageAsset": { + "description": "Asset resource name of the background image. The image dimensions must be exactly 1200x628.", + "type": "string" + }, + "businessName": { + "description": "Required. The name of the business being advertised.", + "type": "string" + }, + "callToActionDescription": { + "description": "Required. Text giving a clear value proposition of what users expect once they expand the form.", + "type": "string" + }, + "callToActionType": { + "description": "Required. Pre-defined display text that encourages user to expand the form.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "LEARN_MORE", + "GET_QUOTE", + "APPLY_NOW", + "SIGN_UP", + "CONTACT_US", + "SUBSCRIBE", + "DOWNLOAD", + "BOOK_NOW", + "GET_OFFER", + "REGISTER", + "GET_INFO", + "REQUEST_DEMO", + "JOIN_NOW", + "GET_STARTED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Learn more.", + "Get quote.", + "Apply now.", + "Sign Up.", + "Contact us.", + "Subscribe.", + "Download.", + "Book now.", + "Get offer.", + "Register.", + "Get info.", + "Request a demo.", + "Join now.", + "Get started." + ], + "type": "string" + }, + "customDisclosure": { + "description": "Custom disclosure shown along with Google disclaimer on the lead form. Accessible to allowed customers only.", + "type": "string" + }, + "customQuestionFields": { + "description": "Ordered list of custom question fields. This field is subject to a limit of 5 qualifying questions per form.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__LeadFormCustomQuestionField" + }, + "type": "array" + }, + "deliveryMethods": { + "description": "Configured methods for collected lead data to be delivered to advertiser. Only one method typed as WebhookDelivery can be configured.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__LeadFormDeliveryMethod" + }, + "type": "array" + }, + "description": { + "description": "Required. Detailed description of the expanded form to describe what the form is asking for or facilitating.", + "type": "string" + }, + "desiredIntent": { + "description": "Chosen intent for the lead form, for example, more volume or more qualified.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "LOW_INTENT", + "HIGH_INTENT" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Deliver more leads at a potentially lower quality.", + "Deliver leads that are more qualified." + ], + "type": "string" + }, + "fields": { + "description": "Ordered list of input fields. This field can be updated by reordering questions, but not by adding or removing questions.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__LeadFormField" + }, + "type": "array" + }, + "headline": { + "description": "Required. Headline of the expanded form to describe what the form is asking for or facilitating.", + "type": "string" + }, + "postSubmitCallToActionType": { + "description": "Pre-defined display text that encourages user action after the form is submitted.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "VISIT_SITE", + "DOWNLOAD", + "LEARN_MORE", + "SHOP_NOW" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Visit site.", + "Download.", + "Learn more.", + "Shop now." + ], + "type": "string" + }, + "postSubmitDescription": { + "description": "Detailed description shown after form submission that describes how the advertiser will follow up with the user.", + "type": "string" + }, + "postSubmitHeadline": { + "description": "Headline of text shown after form submission that describes how the advertiser will follow up with the user.", + "type": "string" + }, + "privacyPolicyUrl": { + "description": "Required. Link to a page describing the policy on how the collected data is handled by the advertiser/business.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__LeadFormCustomQuestionField": { + "description": "One custom question input field instance within a form.", + "id": "GoogleAdsSearchads360V23Common__LeadFormCustomQuestionField", + "properties": { + "customQuestionText": { + "description": "The exact custom question field text (for example, \"What kind of vehicle do you have?\").", + "type": "string" + }, + "hasLocationAnswer": { + "description": "Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for \"What is your preferred dealership?\" question, for advertisers with Location Assets setup at campaign/account level.", + "type": "boolean" + }, + "singleChoiceAnswers": { + "$ref": "GoogleAdsSearchads360V23Common__LeadFormSingleChoiceAnswers", + "description": "Answer configuration for a single choice question. Minimum of 2 answers and maximum of 12 allowed." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__LeadFormDeliveryMethod": { + "description": "A configuration of how leads are delivered to the advertiser.", + "id": "GoogleAdsSearchads360V23Common__LeadFormDeliveryMethod", + "properties": { + "webhook": { + "$ref": "GoogleAdsSearchads360V23Common__WebhookDelivery", + "description": "Webhook method of delivery." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__LeadFormField": { + "description": "One input field instance within a form.", + "id": "GoogleAdsSearchads360V23Common__LeadFormField", + "properties": { + "hasLocationAnswer": { + "description": "Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for \"What is your preferred dealership?\" question, for advertisers with Location Assets setup at campaign/account level.", + "type": "boolean" + }, + "inputType": { + "description": "Describes the input type, which may be a predefined type such as \"full name\" or a pre-vetted question like \"What kind of vehicle do you have?\".", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "FULL_NAME", + "EMAIL", + "PHONE_NUMBER", + "POSTAL_CODE", + "STREET_ADDRESS", + "CITY", + "REGION", + "COUNTRY", + "WORK_EMAIL", + "COMPANY_NAME", + "WORK_PHONE", + "JOB_TITLE", + "GOVERNMENT_ISSUED_ID_CPF_BR", + "GOVERNMENT_ISSUED_ID_DNI_AR", + "GOVERNMENT_ISSUED_ID_DNI_PE", + "GOVERNMENT_ISSUED_ID_RUT_CL", + "GOVERNMENT_ISSUED_ID_CC_CO", + "GOVERNMENT_ISSUED_ID_CI_EC", + "GOVERNMENT_ISSUED_ID_RFC_MX", + "FIRST_NAME", + "LAST_NAME", + "VEHICLE_MODEL", + "VEHICLE_TYPE", + "PREFERRED_DEALERSHIP", + "VEHICLE_PURCHASE_TIMELINE", + "VEHICLE_OWNERSHIP", + "VEHICLE_PAYMENT_TYPE", + "VEHICLE_CONDITION", + "COMPANY_SIZE", + "ANNUAL_SALES", + "YEARS_IN_BUSINESS", + "JOB_DEPARTMENT", + "JOB_ROLE", + "OVER_18_AGE", + "OVER_19_AGE", + "OVER_20_AGE", + "OVER_21_AGE", + "OVER_22_AGE", + "OVER_23_AGE", + "OVER_24_AGE", + "OVER_25_AGE", + "OVER_26_AGE", + "OVER_27_AGE", + "OVER_28_AGE", + "OVER_29_AGE", + "OVER_30_AGE", + "OVER_31_AGE", + "OVER_32_AGE", + "OVER_33_AGE", + "OVER_34_AGE", + "OVER_35_AGE", + "OVER_36_AGE", + "OVER_37_AGE", + "OVER_38_AGE", + "OVER_39_AGE", + "OVER_40_AGE", + "OVER_41_AGE", + "OVER_42_AGE", + "OVER_43_AGE", + "OVER_44_AGE", + "OVER_45_AGE", + "OVER_46_AGE", + "OVER_47_AGE", + "OVER_48_AGE", + "OVER_49_AGE", + "OVER_50_AGE", + "OVER_51_AGE", + "OVER_52_AGE", + "OVER_53_AGE", + "OVER_54_AGE", + "OVER_55_AGE", + "OVER_56_AGE", + "OVER_57_AGE", + "OVER_58_AGE", + "OVER_59_AGE", + "OVER_60_AGE", + "OVER_61_AGE", + "OVER_62_AGE", + "OVER_63_AGE", + "OVER_64_AGE", + "OVER_65_AGE", + "EDUCATION_PROGRAM", + "EDUCATION_COURSE", + "PRODUCT", + "SERVICE", + "OFFER", + "CATEGORY", + "PREFERRED_CONTACT_METHOD", + "PREFERRED_LOCATION", + "PREFERRED_CONTACT_TIME", + "PURCHASE_TIMELINE", + "YEARS_OF_EXPERIENCE", + "JOB_INDUSTRY", + "LEVEL_OF_EDUCATION", + "PROPERTY_TYPE", + "REALTOR_HELP_GOAL", + "PROPERTY_COMMUNITY", + "PRICE_RANGE", + "NUMBER_OF_BEDROOMS", + "FURNISHED_PROPERTY", + "PETS_ALLOWED_PROPERTY", + "NEXT_PLANNED_PURCHASE", + "EVENT_SIGNUP_INTEREST", + "PREFERRED_SHOPPING_PLACES", + "FAVORITE_BRAND", + "TRANSPORTATION_COMMERCIAL_LICENSE_TYPE", + "EVENT_BOOKING_INTEREST", + "DESTINATION_COUNTRY", + "DESTINATION_CITY", + "DEPARTURE_COUNTRY", + "DEPARTURE_CITY", + "DEPARTURE_DATE", + "RETURN_DATE", + "NUMBER_OF_TRAVELERS", + "TRAVEL_BUDGET", + "TRAVEL_ACCOMMODATION" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The user will be asked to fill in their given and family name. This field cannot be set at the same time as GIVEN_NAME or FAMILY_NAME.", + "The user will be asked to fill in their email address.", + "The user will be asked to fill in their phone number.", + "The user will be asked to fill in their zip code.", + "The user will be asked to fill in their street address.", + "The user will be asked to fill in their city.", + "The user will be asked to fill in their region part of the address (for example, state for US, province for Canada).", + "The user will be asked to fill in their country.", + "The user will be asked to fill in their work email address.", + "The user will be asked to fill in their company name.", + "The user will be asked to fill in their work phone.", + "The user will be asked to fill in their job title.", + "The user will be asked to fill in their CPF for Brazil users.", + "The user will be asked to fill in their DNI for Argentina users.", + "The user will be asked to fill in their DNI for Peru users.", + "The user will be asked to fill in their RUT for Chile users.", + "The user will be asked to fill in their CC for Colombia users.", + "The user will be asked to fill in their CI for Ecuador users.", + "The user will be asked to fill in their RFC for Mexico users.", + "The user will be asked to fill in their first name. This field can not be set at the same time as FULL_NAME.", + "The user will be asked to fill in their last name. This field can not be set at the same time as FULL_NAME.", + "Question: \"Which model are you interested in?\" Category: \"Auto\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Which type of vehicle are you interested in?\" Category: \"Auto\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"What is your preferred dealership?\" Category: \"Auto\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"When do you plan on purchasing a vehicle?\" Category: \"Auto\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Do you own a vehicle?\" Category: \"Auto\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"What vehicle ownership option are you interested in?\" Category: \"Auto\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"What type of vehicle condition are you interested in?\" Category: \"Auto\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"What size is your company?\" Category: \"Business\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"What is your annual sales volume?\" Category: \"Business\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"How many years have you been in business?\" Category: \"Business\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"What is your job department?\" Category: \"Business\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"What is your job role?\" Category: \"Business\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 18 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 19 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 20 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 21 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 22 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 23 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 24 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 25 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 26 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 27 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 28 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 29 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 30 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 31 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 32 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 33 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 34 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 35 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 36 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 37 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 38 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 39 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 40 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 41 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 42 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 43 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 44 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 45 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 46 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 47 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 48 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 49 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 50 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 51 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 52 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 53 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 54 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 55 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 56 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 57 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 58 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 59 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 60 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 61 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 62 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 63 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 64 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 65 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Which program are you interested in?\" Category: \"Education\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Which course are you interested in?\" Category: \"Education\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Which product are you interested in?\" Category: \"General\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Which service are you interested in?\" Category: \"General\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Which offer are you interested in?\" Category: \"General\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Which category are you interested in?\" Category: \"General\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"What is your preferred method of contact?\" Category: \"General\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"What is your preferred location?\" Category: \"General\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"What is the best time to contact you?\" Category: \"General\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"When are you looking to make a purchase?\" Category: \"General\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"How many years of work experience do you have?\" Category: \"Jobs\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"What industry do you work in?\" Category: \"Jobs\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"What is your highest level of education?\" Category: \"Jobs\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"What type of property are you looking for?\" Category: \"Real Estate\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"What do you need a realtor's help with?\" Category: \"Real Estate\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"What neighborhood are you interested in?\" Category: \"Real Estate\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"What price range are you looking for?\" Category: \"Real Estate\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"How many bedrooms are you looking for?\" Category: \"Real Estate\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you looking for a fully furnished property?\" Category: \"Real Estate\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you looking for properties that allow pets?\" Category: \"Real Estate\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"What is the next product you plan to purchase?\" Category: \"Retail\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Would you like to sign up for an event?\" Category: \"Retail\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Where are you interested in shopping?\" Category: \"Retail\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"What is your favorite brand?\" Category: \"Retail\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Which type of valid commercial license do you have?\" Category: \"Transportation\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Interested in booking an event?\" Category: \"Travel\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"What is your destination country?\" Category: \"Travel\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"What is your destination city?\" Category: \"Travel\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"What is your departure country?\" Category: \"Travel\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"What is your departure city?\" Category: \"Travel\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"What is your departure date?\" Category: \"Travel\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"What is your return date?\" Category: \"Travel\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"How many people are you traveling with?\" Category: \"Travel\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"What is your travel budget?\" Category: \"Travel\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Where do you want to stay during your travel?\" Category: \"Travel\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields." + ], + "type": "string" + }, + "singleChoiceAnswers": { + "$ref": "GoogleAdsSearchads360V23Common__LeadFormSingleChoiceAnswers", + "description": "Answer configuration for a single choice question. Can be set only for pre-vetted question fields. Minimum of 2 answers required and maximum of 12 allowed." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__LeadFormSingleChoiceAnswers": { + "description": "Defines possible answers for a single choice question, usually presented as a single-choice drop-down list.", + "id": "GoogleAdsSearchads360V23Common__LeadFormSingleChoiceAnswers", + "properties": { + "answers": { + "description": "List of choices for a single question field. The order of entries defines UI order. Minimum of 2 answers required and maximum of 12 allowed.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__LegacyAppInstallAdInfo": { + "description": "A legacy app install ad that only can be used by a few select customers.", + "id": "GoogleAdsSearchads360V23Common__LegacyAppInstallAdInfo", + "properties": { + "appId": { + "description": "The ID of the mobile app.", + "type": "string" + }, + "appStore": { + "description": "The app store the mobile app is available in.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "APPLE_APP_STORE", + "GOOGLE_PLAY", + "WINDOWS_STORE", + "WINDOWS_PHONE_STORE", + "CN_APP_STORE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Apple iTunes.", + "Google Play.", + "Windows Store.", + "Windows Phone Store.", + "The app is hosted in a Chinese app store." + ], + "type": "string" + }, + "description1": { + "description": "The first description line of the ad.", + "type": "string" + }, + "description2": { + "description": "The second description line of the ad.", + "type": "string" + }, + "headline": { + "description": "The headline of the ad.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__LegacyResponsiveDisplayAdInfo": { + "description": "A legacy responsive display ad. Ads of this type are labeled 'Responsive ads' in the Google Ads UI.", + "id": "GoogleAdsSearchads360V23Common__LegacyResponsiveDisplayAdInfo", + "properties": { + "accentColor": { + "description": "The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.", + "type": "string" + }, + "allowFlexibleColor": { + "description": "Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.", + "type": "boolean" + }, + "businessName": { + "description": "The business name in the ad.", + "type": "string" + }, + "callToActionText": { + "description": "The call-to-action text for the ad.", + "type": "string" + }, + "description": { + "description": "The description of the ad.", + "type": "string" + }, + "formatSetting": { + "description": "Specifies which format the ad will be served in. Default is ALL_FORMATS.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ALL_FORMATS", + "NON_NATIVE", + "NATIVE" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "Text, image and native formats.", + "Text and image formats.", + "Native format, for example, the format rendering is controlled by the publisher and not by Google." + ], + "type": "string" + }, + "logoImage": { + "description": "The MediaFile resource name of the logo image used in the ad.", + "type": "string" + }, + "longHeadline": { + "description": "The long version of the ad's headline.", + "type": "string" + }, + "mainColor": { + "description": "The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.", + "type": "string" + }, + "marketingImage": { + "description": "The MediaFile resource name of the marketing image used in the ad.", + "type": "string" + }, + "pricePrefix": { + "description": "Prefix before price. For example, 'as low as'.", + "type": "string" + }, + "promoText": { + "description": "Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.", + "type": "string" + }, + "shortHeadline": { + "description": "The short version of the ad's headline.", + "type": "string" + }, + "squareLogoImage": { + "description": "The MediaFile resource name of the square logo image used in the ad.", + "type": "string" + }, + "squareMarketingImage": { + "description": "The MediaFile resource name of the square marketing image used in the ad.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__LifeEventInfo": { + "description": "Represents a life event criterion.", + "id": "GoogleAdsSearchads360V23Common__LifeEventInfo", + "properties": { + "lifeEventId": { + "description": "Taxonomy id of the life event.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__LifeEventSegment": { + "description": "Live event segment.", + "id": "GoogleAdsSearchads360V23Common__LifeEventSegment", + "properties": { + "lifeEvent": { + "description": "The life event resource.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__LifecycleGoalValueSettings": { + "description": "Lifecycle goal value settings.", + "id": "GoogleAdsSearchads360V23Common__LifecycleGoalValueSettings", + "properties": { + "highLifetimeValue": { + "description": "High lifetime value of the lifecycle goal. For example, for customer acquisition goal, high lifetime value is the incremental conversion value for new customers who are of high value. High lifetime value should be greater than value, if set.", + "format": "double", + "type": "number" + }, + "value": { + "description": "Value of the lifecycle goal. For example, for customer acquisition goal, value is the incremental conversion value for new customers who are not of high value.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__LineupAttributeMetadata": { + "description": "Metadata associated with a Lineup attribute.", + "id": "GoogleAdsSearchads360V23Common__LineupAttributeMetadata", + "properties": { + "channelCountLowerBound": { + "description": "The lower end of a range containing the number of channels in the lineup.", + "format": "int64", + "type": "string" + }, + "channelCountUpperBound": { + "description": "The upper end of a range containing the number of channels in the lineup.", + "format": "int64", + "type": "string" + }, + "inventoryCountry": { + "$ref": "GoogleAdsSearchads360V23Common__LocationInfo", + "description": "The national market associated with the lineup." + }, + "medianMonthlyInventory": { + "description": "The median number of impressions per month on this lineup.", + "format": "int64", + "type": "string" + }, + "sampleChannels": { + "description": "Examples of channels that are included in the lineup.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common_LineupAttributeMetadata_SampleChannel" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__ListingDimensionInfo": { + "description": "Listing dimensions for listing group criterion.", + "id": "GoogleAdsSearchads360V23Common__ListingDimensionInfo", + "properties": { + "activityCity": { + "$ref": "GoogleAdsSearchads360V23Common__ActivityCityInfo", + "description": "The city where the travel activity is available." + }, + "activityCountry": { + "$ref": "GoogleAdsSearchads360V23Common__ActivityCountryInfo", + "description": "The country where the travel activity is available." + }, + "activityId": { + "$ref": "GoogleAdsSearchads360V23Common__ActivityIdInfo", + "description": "Advertiser-specific activity ID." + }, + "activityRating": { + "$ref": "GoogleAdsSearchads360V23Common__ActivityRatingInfo", + "description": "Rating of the activity as a number 1 to 5, where 5 is the best." + }, + "activityState": { + "$ref": "GoogleAdsSearchads360V23Common__ActivityStateInfo", + "description": "The state where the travel activity is available." + }, + "hotelCity": { + "$ref": "GoogleAdsSearchads360V23Common__HotelCityInfo", + "description": "City the hotel is located in." + }, + "hotelClass": { + "$ref": "GoogleAdsSearchads360V23Common__HotelClassInfo", + "description": "Class of the hotel as a number of stars 1 to 5." + }, + "hotelCountryRegion": { + "$ref": "GoogleAdsSearchads360V23Common__HotelCountryRegionInfo", + "description": "Country or Region the hotel is located in." + }, + "hotelId": { + "$ref": "GoogleAdsSearchads360V23Common__HotelIdInfo", + "description": "Advertiser-specific hotel ID." + }, + "hotelState": { + "$ref": "GoogleAdsSearchads360V23Common__HotelStateInfo", + "description": "State the hotel is located in." + }, + "productBrand": { + "$ref": "GoogleAdsSearchads360V23Common__ProductBrandInfo", + "description": "Brand of a product offer." + }, + "productCategory": { + "$ref": "GoogleAdsSearchads360V23Common__ProductCategoryInfo", + "description": "Category of a product offer." + }, + "productChannel": { + "$ref": "GoogleAdsSearchads360V23Common__ProductChannelInfo", + "description": "Locality of a product offer." + }, + "productChannelExclusivity": { + "$ref": "GoogleAdsSearchads360V23Common__ProductChannelExclusivityInfo", + "description": "Availability of a product offer." + }, + "productCondition": { + "$ref": "GoogleAdsSearchads360V23Common__ProductConditionInfo", + "description": "Condition of a product offer." + }, + "productCustomAttribute": { + "$ref": "GoogleAdsSearchads360V23Common__ProductCustomAttributeInfo", + "description": "Custom attribute of a product offer." + }, + "productGrouping": { + "$ref": "GoogleAdsSearchads360V23Common__ProductGroupingInfo", + "description": "Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns." + }, + "productItemId": { + "$ref": "GoogleAdsSearchads360V23Common__ProductItemIdInfo", + "description": "Item id of a product offer." + }, + "productLabels": { + "$ref": "GoogleAdsSearchads360V23Common__ProductLabelsInfo", + "description": "Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns." + }, + "productLegacyCondition": { + "$ref": "GoogleAdsSearchads360V23Common__ProductLegacyConditionInfo", + "description": "Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns." + }, + "productType": { + "$ref": "GoogleAdsSearchads360V23Common__ProductTypeInfo", + "description": "Type of a product offer." + }, + "productTypeFull": { + "$ref": "GoogleAdsSearchads360V23Common__ProductTypeFullInfo", + "description": "Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns." + }, + "unknownListingDimension": { + "$ref": "GoogleAdsSearchads360V23Common__UnknownListingDimensionInfo", + "description": "Unknown dimension. Set when no other listing dimension is set." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__ListingDimensionPath": { + "description": "The path of dimensions defining a listing group.", + "id": "GoogleAdsSearchads360V23Common__ListingDimensionPath", + "properties": { + "dimensions": { + "description": "The complete path of dimensions through the listing group hierarchy, from the root (excluding the root itself) to this listing group.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__ListingDimensionInfo" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__ListingGroupInfo": { + "description": "A listing group criterion.", + "id": "GoogleAdsSearchads360V23Common__ListingGroupInfo", + "properties": { + "caseValue": { + "$ref": "GoogleAdsSearchads360V23Common__ListingDimensionInfo", + "description": "Dimension value with which this listing group is refining its parent. Undefined for the root group." + }, + "parentAdGroupCriterion": { + "description": "Resource name of ad group criterion which is the parent listing group subdivision. Null for the root group.", + "type": "string" + }, + "path": { + "$ref": "GoogleAdsSearchads360V23Common__ListingDimensionPath", + "description": "The path of dimensions defining this listing group." + }, + "type": { + "description": "Type of the listing group.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "SUBDIVISION", + "UNIT" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Subdivision of products along some listing dimension. These nodes are not used by serving to target listing entries, but is purely to define the structure of the tree.", + "Listing group unit that defines a bid." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__ListingScopeInfo": { + "description": "A listing scope criterion.", + "id": "GoogleAdsSearchads360V23Common__ListingScopeInfo", + "properties": { + "dimensions": { + "description": "Scope of the campaign criterion.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__ListingDimensionInfo" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__LocalAdInfo": { + "description": "A local ad.", + "id": "GoogleAdsSearchads360V23Common__LocalAdInfo", + "properties": { + "callToActions": { + "description": "List of text assets for call-to-actions. When the ad serves the call-to-actions will be selected from this list. At least 1 and at most 5 call-to-actions must be specified.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AdTextAsset" + }, + "type": "array" + }, + "descriptions": { + "description": "List of text assets for descriptions. When the ad serves the descriptions will be selected from this list. At least 1 and at most 5 descriptions must be specified.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AdTextAsset" + }, + "type": "array" + }, + "headlines": { + "description": "List of text assets for headlines. When the ad serves the headlines will be selected from this list. At least 1 and at most 5 headlines must be specified.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AdTextAsset" + }, + "type": "array" + }, + "logoImages": { + "description": "List of logo image assets that may be displayed with the ad. The images must be 128x128 pixels and not larger than 120KB. At least 1 and at most 5 image assets must be specified.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AdImageAsset" + }, + "type": "array" + }, + "marketingImages": { + "description": "List of marketing image assets that may be displayed with the ad. The images must be 314x600 pixels or 320x320 pixels. At least 1 and at most 20 image assets must be specified.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AdImageAsset" + }, + "type": "array" + }, + "path1": { + "description": "First part of optional text that can be appended to the URL in the ad.", + "type": "string" + }, + "path2": { + "description": "Second part of optional text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.", + "type": "string" + }, + "videos": { + "description": "List of YouTube video assets that may be displayed with the ad. At least 1 and at most 20 video assets must be specified.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AdVideoAsset" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__LocalServiceIdInfo": { + "description": "A Local Services Ads service ID. Represents a service type (such as install_faucet) that a Local Services Campaign can target.", + "id": "GoogleAdsSearchads360V23Common__LocalServiceIdInfo", + "properties": { + "serviceId": { + "description": "The criterion resource name.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__LocalServicesDocumentReadOnly": { + "description": "A Local Services Document with read only accessible data.", + "id": "GoogleAdsSearchads360V23Common__LocalServicesDocumentReadOnly", + "properties": { + "documentUrl": { + "description": "URL to access an already uploaded Local Services document.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__LocationAsset": { + "description": "A location asset.", + "id": "GoogleAdsSearchads360V23Common__LocationAsset", + "properties": { + "businessProfileLocations": { + "description": "The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__BusinessProfileLocation" + }, + "type": "array" + }, + "locationOwnershipType": { + "description": "The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "BUSINESS_OWNER", + "AFFILIATE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Business Owner of location(legacy location extension - LE).", + "Affiliate location(Third party location extension - ALE)." + ], + "type": "string" + }, + "placeId": { + "description": "Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__LocationAttributeMetadata": { + "description": "Metadata associated with a Location attribute.", + "id": "GoogleAdsSearchads360V23Common__LocationAttributeMetadata", + "properties": { + "countryLocation": { + "$ref": "GoogleAdsSearchads360V23Common__LocationInfo", + "description": "The country location that this attribute’s sub country location is located in." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__LocationGroupInfo": { + "description": "A radius around a list of locations specified through a feed.", + "id": "GoogleAdsSearchads360V23Common__LocationGroupInfo", + "properties": { + "enableCustomerLevelLocationAssetSet": { + "description": "Denotes that the latest customer level asset set is used for targeting. Used with radius and radius_units. Cannot be used with feed, geo target constants or feed item sets. When using asset sets, either this field or location_group_asset_sets should be specified. Both cannot be used at the same time. This can only be set in CREATE operations.", + "type": "boolean" + }, + "feedItemSets": { + "description": "FeedItemSets whose FeedItems are targeted. If multiple IDs are specified, then all items that appear in at least one set are targeted. This field cannot be used with geo_target_constants. This is optional and can only be set in CREATE operations.", + "items": { + "type": "string" + }, + "type": "array" + }, + "geoTargetConstants": { + "description": "Geo target constant(s) restricting the scope of the geographic area within the feed. Currently only one geo target constant is allowed.", + "items": { + "type": "string" + }, + "type": "array" + }, + "locationGroupAssetSets": { + "description": "AssetSets whose Assets are targeted. If multiple IDs are specified, then all items that appear in at least one set are targeted. This field cannot be used with feed, geo target constants or feed item sets. When using asset sets, either this field or enable_customer_level_location_asset_set should be specified. Both cannot be used at the same time. This can only be set in CREATE operations.", + "items": { + "type": "string" + }, + "type": "array" + }, + "radius": { + "description": "Distance in units specifying the radius around targeted locations. This is required and must be set in CREATE operations.", + "format": "int64", + "type": "string" + }, + "radiusUnits": { + "description": "Unit of the radius. Miles and meters are supported for geo target constants. Milli miles and meters are supported for feed item sets. This is required and must be set in CREATE operations.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "METERS", + "MILES", + "MILLI_MILES" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Meters", + "Miles", + "Milli Miles" + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__LocationInfo": { + "description": "A location criterion.", + "id": "GoogleAdsSearchads360V23Common__LocationInfo", + "properties": { + "geoTargetConstant": { + "description": "The geo target constant resource name.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__LocationSet": { + "description": "Data related to location set. One of the Google Business Profile (previously known as Google My Business) data, Chain data, and map location data need to be specified.", + "id": "GoogleAdsSearchads360V23Common__LocationSet", + "properties": { + "businessProfileLocationSet": { + "$ref": "GoogleAdsSearchads360V23Common__BusinessProfileLocationSet", + "description": "Data used to configure a location set populated from Google Business Profile locations." + }, + "chainLocationSet": { + "$ref": "GoogleAdsSearchads360V23Common__ChainSet", + "description": "Data used to configure a location on chain set populated with the specified chains." + }, + "locationOwnershipType": { + "description": "Required. Immutable. Location Ownership Type (owned location or affiliate location).", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "BUSINESS_OWNER", + "AFFILIATE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Business Owner of location(legacy location extension - LE).", + "Affiliate location(Third party location extension - ALE)." + ], + "type": "string" + }, + "mapsLocationSet": { + "$ref": "GoogleAdsSearchads360V23Common__MapsLocationSet", + "description": "Only set if locations are synced based on selected maps locations" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__LogicalUserListInfo": { + "description": "Represents a user list that is a custom combination of user lists.", + "id": "GoogleAdsSearchads360V23Common__LogicalUserListInfo", + "properties": { + "rules": { + "description": "Logical list rules that define this user list. The rules are defined as a logical operator (ALL/ANY/NONE) and a list of user lists. All the rules are ANDed when they are evaluated. Required for creating a logical user list.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__UserListLogicalRuleInfo" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__LogicalUserListOperandInfo": { + "description": "Operand of logical user list that consists of a user list.", + "id": "GoogleAdsSearchads360V23Common__LogicalUserListOperandInfo", + "properties": { + "userList": { + "description": "Resource name of a user list as an operand.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__LookalikeUserListInfo": { + "description": "LookalikeUserlist, composed of users similar to those of a configurable seed (set of UserLists)", + "id": "GoogleAdsSearchads360V23Common__LookalikeUserListInfo", + "properties": { + "countryCodes": { + "description": "Countries targeted by the Lookalike. Two-letter country code as defined by ISO-3166", + "items": { + "type": "string" + }, + "type": "array" + }, + "expansionLevel": { + "description": "Expansion level, reflecting the size of the lookalike audience", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "NARROW", + "BALANCED", + "BROAD" + ], + "enumDescriptions": [ + "Not specified.", + "Invalid expansion level.", + "Expansion to a small set of users that are similar to the seed lists", + "Expansion to a medium set of users that are similar to the seed lists. Includes all users of EXPANSION_LEVEL_NARROW, and more.", + "Expansion to a large set of users that are similar to the seed lists. Includes all users of EXPANSION_LEVEL_BALANCED, and more." + ], + "type": "string" + }, + "seedUserListIds": { + "description": "Seed UserList ID from which this list is derived, provided by user.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__ManualCpa": { + "description": "Manual bidding strategy that allows advertiser to set the bid per advertiser-specified action.", + "id": "GoogleAdsSearchads360V23Common__ManualCpa", + "properties": {}, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__ManualCpc": { + "description": "Manual click-based bidding where user pays per click.", + "id": "GoogleAdsSearchads360V23Common__ManualCpc", + "properties": { + "enhancedCpcEnabled": { + "description": "Whether bids are to be enhanced based on conversion optimizer data.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__ManualCpm": { + "description": "Manual impression-based bidding where user pays per thousand impressions.", + "id": "GoogleAdsSearchads360V23Common__ManualCpm", + "properties": {}, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__ManualCpv": { + "description": "View based bidding where user pays per video view.", + "id": "GoogleAdsSearchads360V23Common__ManualCpv", + "properties": {}, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__MapsLocationInfo": { + "description": "Wrapper for place ids", + "id": "GoogleAdsSearchads360V23Common__MapsLocationInfo", + "properties": { + "placeId": { + "description": "Place ID of the Maps location.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__MapsLocationSet": { + "description": "Wrapper for multiple maps location sync data", + "id": "GoogleAdsSearchads360V23Common__MapsLocationSet", + "properties": { + "mapsLocations": { + "description": "Required. A list of maps location info that user manually synced in.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__MapsLocationInfo" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__MaximizeConversionValue": { + "description": "An automated bidding strategy to help get the most conversion value for your campaigns while spending your budget.", + "id": "GoogleAdsSearchads360V23Common__MaximizeConversionValue", + "properties": { + "cpcBidCeilingMicros": { + "description": "Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.", + "format": "int64", + "type": "string" + }, + "cpcBidFloorMicros": { + "description": "Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.", + "format": "int64", + "type": "string" + }, + "targetRoas": { + "description": "The target return on ad spend (ROAS) option. If set, the bid strategy will maximize revenue while averaging the target return on ad spend. If the target ROAS is high, the bid strategy may not be able to spend the full budget. If the target ROAS is not set, the bid strategy will aim to achieve the highest possible ROAS for the budget.", + "format": "double", + "type": "number" + }, + "targetRoasTolerancePercentMillis": { + "description": "The percent of ROAS(return on advertising spend) degradation tolerance allowed to increase traffic diversity and conversion volume, specified in millis (for example, 10,000 = 10%). A value of 10,000 means that the advertiser can expect ROAS degradation of up to 10% of the specified target ROAS.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__MaximizeConversions": { + "description": "An automated bidding strategy to help get the most conversions for your campaigns while spending your budget.", + "id": "GoogleAdsSearchads360V23Common__MaximizeConversions", + "properties": { + "cpcBidCeilingMicros": { + "description": "Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.", + "format": "int64", + "type": "string" + }, + "cpcBidFloorMicros": { + "description": "Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.", + "format": "int64", + "type": "string" + }, + "targetCpaMicros": { + "description": "The target cost-per-action (CPA) option. This is the average amount that you would like to spend per conversion action specified in micro units of the bidding strategy's currency. If set, the bid strategy will get as many conversions as possible at or below the target cost-per-action. If the target CPA is not set, the bid strategy will aim to achieve the lowest possible CPA given the budget.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__MediaBundleAsset": { + "description": "A MediaBundle asset.", + "id": "GoogleAdsSearchads360V23Common__MediaBundleAsset", + "properties": { + "data": { + "description": "Media bundle (ZIP file) asset data. The format of the uploaded ZIP file depends on the ad field where it will be used. For more information on the format, see the documentation of the ad field where you plan on using the MediaBundleAsset. This field is mutate only.", + "format": "byte", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__MetricGoal": { + "description": "A metric goal for an experiment.", + "id": "GoogleAdsSearchads360V23Common__MetricGoal", + "properties": { + "direction": { + "description": "The metric direction of the goal. For example, increase, decrease, no change.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "NO_CHANGE", + "INCREASE", + "DECREASE", + "NO_CHANGE_OR_INCREASE", + "NO_CHANGE_OR_DECREASE" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "The goal of the experiment is to not change the metric.", + "The goal of the experiment is to increate the metric.", + "The goal of the experiment is to decrease the metric.", + "The goal of the experiment is to either not change or increase the metric.", + "The goal of the experiment is to either not change or decrease the metric." + ], + "type": "string" + }, + "metric": { + "description": "The metric of the goal. For example, clicks, impressions, cost, conversions, etc.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CLICKS", + "IMPRESSIONS", + "COST", + "CONVERSIONS_PER_INTERACTION_RATE", + "COST_PER_CONVERSION", + "CONVERSIONS_VALUE_PER_COST", + "AVERAGE_CPC", + "CTR", + "INCREMENTAL_CONVERSIONS", + "COMPLETED_VIDEO_VIEWS", + "CUSTOM_ALGORITHMS", + "CONVERSIONS", + "CONVERSION_VALUE" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "The goal of the experiment is clicks.", + "The goal of the experiment is impressions.", + "The goal of the experiment is cost.", + "The goal of the experiment is conversion rate.", + "The goal of the experiment is cost per conversion.", + "The goal of the experiment is conversion value per cost.", + "The goal of the experiment is avg cpc.", + "The goal of the experiment is ctr.", + "The goal of the experiment is incremental conversions.", + "The goal of the experiment is completed video views.", + "The goal of the experiment is custom algorithms.", + "The goal of the experiment is conversions.", + "The goal of the experiment is conversion value." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__Metrics": { + "description": "Metrics data.", + "id": "GoogleAdsSearchads360V23Common__Metrics", + "properties": { + "absoluteTopImpressionPercentage": { + "description": "Search absolute top impression share is the percentage of your Search ad impressions that are shown in the most prominent Search position.", + "format": "double", + "type": "number" + }, + "allConversions": { + "description": "The total number of conversions. This includes all conversions regardless of the value of include_in_conversions_metric.", + "format": "double", + "type": "number" + }, + "allConversionsByConversionDate": { + "description": "The total number of conversions. This includes all conversions regardless of the value of include_in_conversions_metric. When this column is selected with date, the values in date column means the conversion date. Details for the by_conversion_date columns are available at https://support.google.com/sa360/answer/9250611.", + "format": "double", + "type": "number" + }, + "allConversionsFromClickToCall": { + "description": "The number of times people clicked the \"Call\" button to call a business during or after clicking an ad. This number doesn't include whether or not calls were connected, or the duration of any calls. This metric applies to feed items only.", + "format": "double", + "type": "number" + }, + "allConversionsFromDirections": { + "description": "The number of times people clicked a \"Get directions\" button to navigate to a business after clicking an ad. This metric applies to feed items only.", + "format": "double", + "type": "number" + }, + "allConversionsFromInteractionsRate": { + "description": "All conversions from interactions (as oppose to view through conversions) divided by the number of ad interactions.", + "format": "double", + "type": "number" + }, + "allConversionsFromInteractionsValuePerInteraction": { + "description": "The value of all conversions from interactions divided by the total number of interactions.", + "format": "double", + "type": "number" + }, + "allConversionsFromMenu": { + "description": "The number of times people clicked a link to view a business's menu after clicking an ad. This metric applies to feed items only.", + "format": "double", + "type": "number" + }, + "allConversionsFromOrder": { + "description": "The number of times people placed an order at a business after clicking an ad. This metric applies to feed items only.", + "format": "double", + "type": "number" + }, + "allConversionsFromOtherEngagement": { + "description": "The number of other conversions (for example, posting a review or saving a location for a business) that occurred after people clicked an ad. This metric applies to feed items only.", + "format": "double", + "type": "number" + }, + "allConversionsFromStoreVisit": { + "description": "Estimated number of times people visited a business after clicking an ad. This metric applies to feed items only.", + "format": "double", + "type": "number" + }, + "allConversionsFromStoreWebsite": { + "description": "The number of times that people were taken to a business's URL after clicking an ad. This metric applies to feed items only.", + "format": "double", + "type": "number" + }, + "allConversionsValue": { + "description": "The value of all conversions.", + "format": "double", + "type": "number" + }, + "allConversionsValueByConversionDate": { + "description": "The value of all conversions. When this column is selected with date, the values in date column means the conversion date. Details for the by_conversion_date columns are available at https://support.google.com/sa360/answer/9250611.", + "format": "double", + "type": "number" + }, + "allConversionsValuePerCost": { + "description": "The value of all conversions divided by the total cost of ad interactions (such as clicks for text ads or views for video ads).", + "format": "double", + "type": "number" + }, + "averageCartSize": { + "description": "Average cart size is the average number of products in each order attributed to your ads. How it works: You report conversions with cart data for completed purchases on your website. Average cart size is the total number of products sold divided by the total number of orders you received. Example: You received 2 orders, the first included 3 products and the second included 2. The average cart size is 2.5 products = (3+2)/2. This metric is only available if you report conversions with cart data.", + "format": "double", + "type": "number" + }, + "averageCost": { + "description": "The average amount you pay per interaction. This amount is the total cost of your ads divided by the total number of interactions.", + "format": "double", + "type": "number" + }, + "averageCpc": { + "description": "The total cost of all clicks divided by the total number of clicks received. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause", + "format": "double", + "type": "number" + }, + "averageCpm": { + "description": "Average cost-per-thousand impressions (CPM). This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause", + "format": "double", + "type": "number" + }, + "averageImpressionFrequencyPerUser": { + "description": "The average number of times a unique user saw your ad during the requested time period. This metric cannot be aggregated, and can only be requested for date ranges of 92 days or less. This metric is available for following campaign types - Display, Video, Discovery and App.", + "format": "double", + "type": "number" + }, + "averageOrderValueMicros": { + "description": "Average order value is the average revenue you made per order attributed to your ads. How it works: You report conversions with cart data for completed purchases on your website. Average order value is the total revenue from your orders divided by the total number of orders. Example: You received 3 orders which made $10, $15 and $20 worth of revenue. The average order value is $15 = ($10 + $15 + $20)/3. This metric is only available if you report conversions with cart data.", + "format": "int64", + "type": "string" + }, + "averageQualityScore": { + "description": "The average quality score.", + "format": "double", + "type": "number" + }, + "clicks": { + "description": "The number of clicks.", + "format": "int64", + "type": "string" + }, + "clientAccountConversions": { + "description": "The number of client account conversions. This only includes conversion actions which include_in_client_account_conversions_metric attribute is set to true. If you use conversion-based bidding, your bid strategies will optimize for these conversions.", + "format": "double", + "type": "number" + }, + "clientAccountConversionsValue": { + "description": "The value of client account conversions. This only includes conversion actions which include_in_client_account_conversions_metric attribute is set to true. If you use conversion-based bidding, your bid strategies will optimize for these conversions.", + "format": "double", + "type": "number" + }, + "clientAccountCrossSellCostOfGoodsSoldMicros": { + "description": "Client account cross-sell cost of goods sold (COGS) is the total cost of products sold as a result of advertising a different product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If these products don't match then this is considered cross-sell. Cross-sell cost of goods sold is the total cost of the products sold that weren't advertised. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat has a cost of goods sold value of $3, the shirt has a cost of goods sold value of $5. The cross-sell cost of goods sold for this order is $5. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause", + "format": "int64", + "type": "string" + }, + "clientAccountCrossSellGrossProfitMicros": { + "description": "Client account cross-sell gross profit is the profit you made from products sold as a result of advertising a different product, minus cost of goods sold (COGS). How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the purchase is a sold product. If these products don't match then this is considered cross-sell. Cross-sell gross profit is the revenue you made from cross-sell attributed to your ads minus the cost of the goods sold. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The shirt is priced $20 and has a cost of goods sold value of $5. The cross-sell gross profit of this order is $15 = $20 - $5. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause", + "format": "int64", + "type": "string" + }, + "clientAccountCrossSellRevenueMicros": { + "description": "Client account cross-sell revenue is the total amount you made from products sold as a result of advertising a different product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If these products don't match then this is considered cross-sell. Cross-sell revenue is the total value you made from cross-sell attributed to your ads. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat is priced $10 and the shirt is priced $20. The cross-sell revenue of this order is $20. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause", + "format": "int64", + "type": "string" + }, + "clientAccountCrossSellUnitsSold": { + "description": "Client account cross-sell units sold is the total number of products sold as a result of advertising a different product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If these products don't match then this is considered cross-sell. Cross-sell units sold is the total number of cross-sold products from all orders attributed to your ads. Example: Someone clicked on a Shopping ad for a hat then bought the same hat, a shirt and a jacket. The cross-sell units sold in this order is 2. This metric is only available if you report conversions with cart data.", + "format": "double", + "type": "number" + }, + "clientAccountLeadCostOfGoodsSoldMicros": { + "description": "Client account lead cost of goods sold (COGS) is the total cost of products sold as a result of advertising the same product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If the advertised and sold products match, then the cost of these goods is counted under lead cost of goods sold. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat has a cost of goods sold value of $3, the shirt has a cost of goods sold value of $5. The lead cost of goods sold for this order is $3. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause", + "format": "int64", + "type": "string" + }, + "clientAccountLeadGrossProfitMicros": { + "description": "Client account lead gross profit is the profit you made from products sold as a result of advertising the same product, minus cost of goods sold (COGS). How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If the advertised and sold products match, then the revenue you made from these sales minus the cost of goods sold is your lead gross profit. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat is priced $10 and has a cost of goods sold value of $3. The lead gross profit of this order is $7 = $10 - $3. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause", + "format": "int64", + "type": "string" + }, + "clientAccountLeadRevenueMicros": { + "description": "Client account lead revenue is the total amount you made from products sold as a result of advertising the same product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If the advertised and sold products match, then the total value you made from the sales of these products is shown under lead revenue. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat is priced $10 and the shirt is priced $20. The lead revenue of this order is $10. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause", + "format": "int64", + "type": "string" + }, + "clientAccountLeadUnitsSold": { + "description": "Client account lead units sold is the total number of products sold as a result of advertising the same product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If the advertised and sold products match, then the total number of these products sold is shown under lead units sold. Example: Someone clicked on a Shopping ad for a hat then bought the same hat, a shirt and a jacket. The lead units sold in this order is 1. This metric is only available if you report conversions with cart data.", + "format": "double", + "type": "number" + }, + "clientAccountViewThroughConversions": { + "description": "The total number of view-through conversions. These happen when a customer sees an image or rich media ad, then later completes a conversion on your site without interacting with (for example, clicking on) another ad.", + "format": "int64", + "type": "string" + }, + "contentBudgetLostImpressionShare": { + "description": "The estimated percent of times that your ad was eligible to show on the Display Network but didn't because your budget was too low. Note: Content budget lost impression share is reported in the range of 0 to 0.9. Any value above 0.9 is reported as 0.9001.", + "format": "double", + "type": "number" + }, + "contentImpressionShare": { + "description": "The impressions you've received on the Display Network divided by the estimated number of impressions you were eligible to receive. Note: Content impression share is reported in the range of 0.1 to 1. Any value below 0.1 is reported as 0.0999.", + "format": "double", + "type": "number" + }, + "contentRankLostImpressionShare": { + "description": "The estimated percentage of impressions on the Display Network that your ads didn't receive due to poor Ad Rank. Note: Content rank lost impression share is reported in the range of 0 to 0.9. Any value above 0.9 is reported as 0.9001.", + "format": "double", + "type": "number" + }, + "conversionCustomMetrics": { + "description": "The conversion custom metrics.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__Value" + }, + "type": "array" + }, + "conversions": { + "description": "The number of conversions. This only includes conversion actions which include_in_conversions_metric attribute is set to true. If you use conversion-based bidding, your bid strategies will optimize for these conversions.", + "format": "double", + "type": "number" + }, + "conversionsByConversionDate": { + "description": "The sum of conversions by conversion date for biddable conversion types. Can be fractional due to attribution modeling. When this column is selected with date, the values in date column means the conversion date.", + "format": "double", + "type": "number" + }, + "conversionsFromInteractionsRate": { + "description": "Average biddable conversions (from interaction) per conversion eligible interaction. Shows how often, on average, an ad interaction leads to a biddable conversion.", + "format": "double", + "type": "number" + }, + "conversionsFromInteractionsValuePerInteraction": { + "description": "The value of conversions from interactions divided by the number of ad interactions. This only includes conversion actions which include_in_conversions_metric attribute is set to true. If you use conversion-based bidding, your bid strategies will optimize for these conversions.", + "format": "double", + "type": "number" + }, + "conversionsValue": { + "description": "The sum of conversion values for the conversions included in the \"conversions\" field. This metric is useful only if you entered a value for your conversion actions.", + "format": "double", + "type": "number" + }, + "conversionsValueByConversionDate": { + "description": "The sum of biddable conversions value by conversion date. When this column is selected with date, the values in date column means the conversion date.", + "format": "double", + "type": "number" + }, + "conversionsValuePerCost": { + "description": "The value of biddable conversion divided by the total cost of conversion eligible interactions.", + "format": "double", + "type": "number" + }, + "costMicros": { + "description": "The sum of your cost-per-click (CPC) and cost-per-thousand impressions (CPM) costs during this period. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause", + "format": "int64", + "type": "string" + }, + "costOfGoodsSoldMicros": { + "description": "Cost of goods sold (COGS) is the total cost of the products you sold in orders attributed to your ads. How it works: You can add a cost of goods sold value to every product in Merchant Center. If you report conversions with cart data, the products you sold are matched with their cost of goods sold value and this can be used to calculate the gross profit you made on each order. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat has a cost of goods sold value of $3, the shirt has a cost of goods sold value of $5. The cost of goods sold for this order is $8 = $3 + $5. This metric is only available if you report conversions with cart data.", + "format": "int64", + "type": "string" + }, + "costPerAllConversions": { + "description": "The cost of ad interactions divided by all conversions.", + "format": "double", + "type": "number" + }, + "costPerConversion": { + "description": "Average conversion eligible cost per biddable conversion.", + "format": "double", + "type": "number" + }, + "costPerCurrentModelAttributedConversion": { + "description": "The cost of ad interactions divided by current model attributed conversions. This only includes conversion actions which include_in_conversions_metric attribute is set to true. If you use conversion-based bidding, your bid strategies will optimize for these conversions.", + "format": "double", + "type": "number" + }, + "crossDeviceConversions": { + "description": "Conversions from when a customer clicks on an ad on one device, then converts on a different device or browser. Cross-device conversions are already included in all_conversions.", + "format": "double", + "type": "number" + }, + "crossDeviceConversionsByConversionDate": { + "description": "The number of cross-device conversions by conversion date. Details for the by_conversion_date columns are available at https://support.google.com/sa360/answer/9250611.", + "format": "double", + "type": "number" + }, + "crossDeviceConversionsValue": { + "description": "The sum of the value of cross-device conversions.", + "format": "double", + "type": "number" + }, + "crossDeviceConversionsValueByConversionDate": { + "description": "The sum of cross-device conversions value by conversion date. Details for the by_conversion_date columns are available at https://support.google.com/sa360/answer/9250611.", + "format": "double", + "type": "number" + }, + "crossSellCostOfGoodsSoldMicros": { + "description": "Cross-sell cost of goods sold (COGS) is the total cost of products sold as a result of advertising a different product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If these products don't match then this is considered cross-sell. Cross-sell cost of goods sold is the total cost of the products sold that weren't advertised. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat has a cost of goods sold value of $3, the shirt has a cost of goods sold value of $5. The cross-sell cost of goods sold for this order is $5. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause", + "format": "int64", + "type": "string" + }, + "crossSellGrossProfitMicros": { + "description": "Cross-sell gross profit is the profit you made from products sold as a result of advertising a different product, minus cost of goods sold (COGS). How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the purchase is a sold product. If these products don't match then this is considered cross-sell. Cross-sell gross profit is the revenue you made from cross-sell attributed to your ads minus the cost of the goods sold. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The shirt is priced $20 and has a cost of goods sold value of $5. The cross-sell gross profit of this order is $15 = $20 - $5. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause", + "format": "int64", + "type": "string" + }, + "crossSellRevenueMicros": { + "description": "Cross-sell revenue is the total amount you made from products sold as a result of advertising a different product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If these products don't match then this is considered cross-sell. Cross-sell revenue is the total value you made from cross-sell attributed to your ads. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat is priced $10 and the shirt is priced $20. The cross-sell revenue of this order is $20. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause", + "format": "int64", + "type": "string" + }, + "crossSellUnitsSold": { + "description": "Cross-sell units sold is the total number of products sold as a result of advertising a different product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If these products don't match then this is considered cross-sell. Cross-sell units sold is the total number of cross-sold products from all orders attributed to your ads. Example: Someone clicked on a Shopping ad for a hat then bought the same hat, a shirt and a jacket. The cross-sell units sold in this order is 2. This metric is only available if you report conversions with cart data.", + "format": "double", + "type": "number" + }, + "ctr": { + "description": "The number of clicks your ad receives (Clicks) divided by the number of times your ad is shown (Impressions).", + "format": "double", + "type": "number" + }, + "generalInvalidClickRate": { + "description": "The percentage of clicks that have been filtered out of your total number of clicks (filtered + non-filtered clicks) due to being general invalid clicks. These are clicks Google considers illegitimate that are detected through routine means of filtration (that is, known invalid data-center traffic, bots and spiders or other crawlers, irregular patterns, etc). You're not charged for them, and they don't affect your account statistics. See the help page at https://support.google.com/campaignmanager/answer/6076504 for details.", + "format": "double", + "type": "number" + }, + "generalInvalidClicks": { + "description": "Number of general invalid clicks. These are a subset of your invalid clicks that are detected through routine means of filtration (such as known invalid data-center traffic, bots and spiders or other crawlers, irregular patterns, etc.). You're not charged for them, and they don't affect your account statistics. See the help page at https://support.google.com/campaignmanager/answer/6076504 for details.", + "format": "int64", + "type": "string" + }, + "grossProfitMargin": { + "description": "Gross profit margin is the percentage gross profit you made from orders attributed to your ads, after taking out the cost of goods sold (COGS). How it works: You report conversions with cart data for completed purchases on your website. Gross profit margin is the gross profit you made divided by your total revenue and multiplied by 100%. Gross profit margin calculations only include products that have a cost of goods sold value in Merchant Center. Example: Someone bought a hat and a shirt in an order on your website. The hat is priced $10 and has a cost of goods sold value of $3. The shirt is priced $20 but has no cost of goods sold value. Gross profit margin for this order will only take into account the hat because it has a cost of goods sold value, so it's 70% = ($10 - $3)/$10 x 100%. This metric is only available if you report conversions with cart data.", + "format": "double", + "type": "number" + }, + "grossProfitMicros": { + "description": "Gross profit is the profit you made from orders attributed to your ads minus the cost of goods sold (COGS). How it works: Gross profit is the revenue you made from sales attributed to your ads minus cost of goods sold. Gross profit calculations only include products that have a cost of goods sold value in Merchant Center. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt in an order from your website. The hat is priced $10 and the shirt is priced $20. The hat has a cost of goods sold value of $3, but the shirt has no cost of goods sold value. Gross profit for this order will only take into account the hat, so it's $7 = $10 - $3. This metric is only available if you report conversions with cart data.", + "format": "int64", + "type": "string" + }, + "historicalCreativeQualityScore": { + "description": "The creative historical quality score.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "BELOW_AVERAGE", + "AVERAGE", + "ABOVE_AVERAGE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Quality of the creative is below average.", + "Quality of the creative is average.", + "Quality of the creative is above average." + ], + "type": "string" + }, + "historicalLandingPageQualityScore": { + "description": "The quality of historical landing page experience.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "BELOW_AVERAGE", + "AVERAGE", + "ABOVE_AVERAGE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Quality of the creative is below average.", + "Quality of the creative is average.", + "Quality of the creative is above average." + ], + "type": "string" + }, + "historicalQualityScore": { + "description": "The historical quality score.", + "format": "int64", + "type": "string" + }, + "historicalSearchPredictedCtr": { + "description": "The historical search predicted click through rate (CTR).", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "BELOW_AVERAGE", + "AVERAGE", + "ABOVE_AVERAGE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Quality of the creative is below average.", + "Quality of the creative is average.", + "Quality of the creative is above average." + ], + "type": "string" + }, + "impressions": { + "description": "Count of how often your ad has appeared on a search results page or website on the Google Network.", + "format": "int64", + "type": "string" + }, + "interactionEventTypes": { + "description": "The types of payable and free interactions.", + "items": { + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CLICK", + "ENGAGEMENT", + "VIDEO_VIEW", + "NONE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Click to site. In most cases, this interaction navigates to an external location, usually the advertiser's landing page. This is also the default InteractionEventType for click events.", + "The user's expressed intent to engage with the ad in-place.", + "User viewed a video ad.", + "The default InteractionEventType for ad conversion events. This is used when an ad conversion row does NOT indicate that the free interactions (for example, the ad conversions) should be 'promoted' and reported as part of the core metrics. These are simply other (ad) conversions." + ], + "type": "string" + }, + "type": "array" + }, + "interactionRate": { + "description": "How often people interact with your ad after it is shown to them. This is the number of interactions divided by the number of times your ad is shown.", + "format": "double", + "type": "number" + }, + "interactions": { + "description": "The number of interactions. An interaction is the main user action associated with an ad format-clicks for text and shopping ads, views for video ads, and so on.", + "format": "int64", + "type": "string" + }, + "invalidClickRate": { + "description": "The percentage of clicks filtered out of your total number of clicks (filtered + non-filtered clicks) during the reporting period.", + "format": "double", + "type": "number" + }, + "invalidClicks": { + "description": "Number of clicks Google considers illegitimate and doesn't charge you for.", + "format": "int64", + "type": "string" + }, + "leadCostOfGoodsSoldMicros": { + "description": "Lead cost of goods sold (COGS) is the total cost of products sold as a result of advertising the same product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If the advertised and sold products match, then the cost of these goods is counted under lead cost of goods sold. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat has a cost of goods sold value of $3, the shirt has a cost of goods sold value of $5. The lead cost of goods sold for this order is $3. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause", + "format": "int64", + "type": "string" + }, + "leadGrossProfitMicros": { + "description": "Lead gross profit is the profit you made from products sold as a result of advertising the same product, minus cost of goods sold (COGS). How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If the advertised and sold products match, then the revenue you made from these sales minus the cost of goods sold is your lead gross profit. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat is priced $10 and has a cost of goods sold value of $3. The lead gross profit of this order is $7 = $10 - $3. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause", + "format": "int64", + "type": "string" + }, + "leadRevenueMicros": { + "description": "Lead revenue is the total amount you made from products sold as a result of advertising the same product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If the advertised and sold products match, then the total value you made from the sales of these products is shown under lead revenue. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat is priced $10 and the shirt is priced $20. The lead revenue of this order is $10. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause", + "format": "int64", + "type": "string" + }, + "leadUnitsSold": { + "description": "Lead units sold is the total number of products sold as a result of advertising the same product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If the advertised and sold products match, then the total number of these products sold is shown under lead units sold. Example: Someone clicked on a Shopping ad for a hat then bought the same hat, a shirt and a jacket. The lead units sold in this order is 1. This metric is only available if you report conversions with cart data.", + "format": "double", + "type": "number" + }, + "mobileFriendlyClicksPercentage": { + "description": "The percentage of mobile clicks that go to a mobile-friendly page.", + "format": "double", + "type": "number" + }, + "orders": { + "description": "Orders is the total number of purchase conversions you received attributed to your ads. How it works: You report conversions with cart data for completed purchases on your website. If a conversion is attributed to previous interactions with your ads (clicks for text or Shopping ads, views for video ads etc.) it's counted as an order. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt in an order on your website. Even though they bought 2 products, this would count as 1 order. This metric is only available if you report conversions with cart data.", + "format": "double", + "type": "number" + }, + "rawEventConversionMetrics": { + "description": "The raw event conversion metrics.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__Value" + }, + "type": "array" + }, + "revenueMicros": { + "description": "Revenue is the total amount you made from orders attributed to your ads. How it works: You report conversions with cart data for completed purchases on your website. Revenue is the total value of all the orders you received attributed to your ads, minus any discount. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt in an order from your website. The hat is priced $10 and the shirt is priced $20. The entire order has a $5 discount. The revenue from this order is $25 = ($10 + $20) - $5. This metric is only available if you report conversions with cart data.", + "format": "int64", + "type": "string" + }, + "searchAbsoluteTopImpressionShare": { + "description": "The percentage of the customer's Shopping or Search ad impressions that are shown in the most prominent Shopping position. See https://support.google.com/sa360/answer/9566729 for details. Any value below 0.1 is reported as 0.0999.", + "format": "double", + "type": "number" + }, + "searchBudgetLostAbsoluteTopImpressionShare": { + "description": "The number estimating how often your ad wasn't the very first ad among the top ads in the search results due to a low budget. Note: Search budget lost absolute top impression share is reported in the range of 0 to 0.9. Any value above 0.9 is reported as 0.9001.", + "format": "double", + "type": "number" + }, + "searchBudgetLostImpressionShare": { + "description": "The estimated percent of times that your ad was eligible to show on the Search Network but didn't because your budget was too low. Note: Search budget lost impression share is reported in the range of 0 to 0.9. Any value above 0.9 is reported as 0.9001.", + "format": "double", + "type": "number" + }, + "searchBudgetLostTopImpressionShare": { + "description": "The number estimating how often your ad didn't show adjacent to the top organic search results due to a low budget. Note: Search budget lost top impression share is reported in the range of 0 to 0.9. Any value above 0.9 is reported as 0.9001.", + "format": "double", + "type": "number" + }, + "searchClickShare": { + "description": "The number of clicks you've received on the Search Network divided by the estimated number of clicks you were eligible to receive. Note: Search click share is reported in the range of 0.1 to 1. Any value below 0.1 is reported as 0.0999.", + "format": "double", + "type": "number" + }, + "searchExactMatchImpressionShare": { + "description": "The impressions you've received divided by the estimated number of impressions you were eligible to receive on the Search Network for search terms that matched your keywords exactly (or were close variants of your keyword), regardless of your keyword match types. Note: Search exact match impression share is reported in the range of 0.1 to 1. Any value below 0.1 is reported as 0.0999.", + "format": "double", + "type": "number" + }, + "searchImpressionShare": { + "description": "The impressions you've received on the Search Network divided by the estimated number of impressions you were eligible to receive. Note: Search impression share is reported in the range of 0.1 to 1. Any value below 0.1 is reported as 0.0999.", + "format": "double", + "type": "number" + }, + "searchRankLostAbsoluteTopImpressionShare": { + "description": "The number estimating how often your ad wasn't the very first ad among the top ads in the search results due to poor Ad Rank. Note: Search rank lost absolute top impression share is reported in the range of 0 to 0.9. Any value above 0.9 is reported as 0.9001.", + "format": "double", + "type": "number" + }, + "searchRankLostImpressionShare": { + "description": "The estimated percentage of impressions on the Search Network that your ads didn't receive due to poor Ad Rank. Note: Search rank lost impression share is reported in the range of 0 to 0.9. Any value above 0.9 is reported as 0.9001.", + "format": "double", + "type": "number" + }, + "searchRankLostTopImpressionShare": { + "description": "The number estimating how often your ad didn't show adjacent to the top organic search results due to poor Ad Rank. Note: Search rank lost top impression share is reported in the range of 0 to 0.9. Any value above 0.9 is reported as 0.9001.", + "format": "double", + "type": "number" + }, + "searchTopImpressionShare": { + "description": "The impressions you've received among the top ads compared to the estimated number of impressions you were eligible to receive among the top ads. Note: Search top impression share is reported in the range of 0.1 to 1. Any value below 0.1 is reported as 0.0999. Top ads are generally above the top organic results, although they may show below the top organic results on certain queries.", + "format": "double", + "type": "number" + }, + "topImpressionPercentage": { + "description": "The percent of your ad impressions that are shown adjacent to the top organic search results.", + "format": "double", + "type": "number" + }, + "uniqueUsers": { + "description": "The number of unique users who saw your ad during the requested time period. This metric cannot be aggregated, and can only be requested for date ranges of 92 days or less. This metric is available for following campaign types - Display, Video, Discovery and App.", + "format": "int64", + "type": "string" + }, + "unitsSold": { + "description": "Units sold is the total number of products sold from orders attributed to your ads. How it works: You report conversions with cart data for completed purchases on your website. Units sold is the total number of products sold from all orders attributed to your ads. Example: Someone clicked on a Shopping ad for a hat then bought the same hat, a shirt and a jacket. The units sold in this order is 3. This metric is only available if you report conversions with cart data.", + "format": "double", + "type": "number" + }, + "valuePerAllConversions": { + "description": "The value of all conversions divided by the number of all conversions.", + "format": "double", + "type": "number" + }, + "valuePerAllConversionsByConversionDate": { + "description": "The value of all conversions divided by the number of all conversions. When this column is selected with date, the values in date column means the conversion date. Details for the by_conversion_date columns are available at https://support.google.com/sa360/answer/9250611.", + "format": "double", + "type": "number" + }, + "valuePerConversion": { + "description": "The value of biddable conversion divided by the number of biddable conversions. Shows how much, on average, each of the biddable conversions is worth.", + "format": "double", + "type": "number" + }, + "valuePerConversionsByConversionDate": { + "description": "Biddable conversions value by conversion date divided by biddable conversions by conversion date. Shows how much, on average, each of the biddable conversions is worth (by conversion date). When this column is selected with date, the values in date column means the conversion date.", + "format": "double", + "type": "number" + }, + "visits": { + "description": "Clicks that Search Ads 360 has successfully recorded and forwarded to an advertiser's landing page.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__MobileAppAsset": { + "description": "An asset representing a mobile app.", + "id": "GoogleAdsSearchads360V23Common__MobileAppAsset", + "properties": { + "appId": { + "description": "Required. A string that uniquely identifies a mobile application. It should just contain the platform native id, like \"com.android.ebay\" for Android or \"12345689\" for iOS.", + "type": "string" + }, + "appStore": { + "description": "Required. The application store that distributes this specific app.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "APPLE_APP_STORE", + "GOOGLE_APP_STORE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Mobile app vendor for Apple app store.", + "Mobile app vendor for Google app store." + ], + "type": "string" + }, + "endDate": { + "description": "Last date of when this asset is effective and still serving, in yyyy-MM-dd format.", + "type": "string" + }, + "linkText": { + "description": "Required. The visible text displayed when the link is rendered in an ad. The length of this string should be between 1 and 25, inclusive.", + "type": "string" + }, + "startDate": { + "description": "Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__MobileAppCategoryInfo": { + "description": "A mobile app category criterion.", + "id": "GoogleAdsSearchads360V23Common__MobileAppCategoryInfo", + "properties": { + "mobileAppCategoryConstant": { + "description": "The mobile app category constant resource name.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__MobileApplicationInfo": { + "description": "A mobile application criterion.", + "id": "GoogleAdsSearchads360V23Common__MobileApplicationInfo", + "properties": { + "appId": { + "description": "A string that uniquely identifies a mobile application to Google Ads API. The format of this string is \"{platform}-{platform_native_id}\", where platform is \"1\" for iOS apps and \"2\" for Android apps, and where platform_native_id is the mobile application identifier native to the corresponding platform. For iOS, this native identifier is the 9 digit string that appears at the end of an App Store URL (for example, \"476943146\" for \"Flood-It! 2\" whose App Store link is \"http://itunes.apple.com/us/app/flood-it!-2/id476943146\"). For Android, this native identifier is the application's package name (for example, \"com.labpixies.colordrips\" for \"Color Drips\" given Google Play link \"https://play.google.com/store/apps/details?id=com.labpixies.colordrips\"). A well formed app id for Google Ads API would thus be \"1-476943146\" for iOS and \"2-com.labpixies.colordrips\" for Android. This field is required and must be set in CREATE operations.", + "type": "string" + }, + "name": { + "description": "Name of this mobile application.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__MobileDeviceInfo": { + "description": "A mobile device criterion.", + "id": "GoogleAdsSearchads360V23Common__MobileDeviceInfo", + "properties": { + "mobileDeviceConstant": { + "description": "The mobile device constant resource name.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__Money": { + "description": "Represents a price in a particular currency.", + "id": "GoogleAdsSearchads360V23Common__Money", + "properties": { + "amountMicros": { + "description": "Amount in micros. One million is equivalent to one unit.", + "format": "int64", + "type": "string" + }, + "currencyCode": { + "description": "Three-character ISO 4217 currency code.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__MonthlySearchVolume": { + "description": "Monthly search volume.", + "id": "GoogleAdsSearchads360V23Common__MonthlySearchVolume", + "properties": { + "month": { + "description": "The month of the search volume.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "JANUARY", + "FEBRUARY", + "MARCH", + "APRIL", + "MAY", + "JUNE", + "JULY", + "AUGUST", + "SEPTEMBER", + "OCTOBER", + "NOVEMBER", + "DECEMBER" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "January.", + "February.", + "March.", + "April.", + "May.", + "June.", + "July.", + "August.", + "September.", + "October.", + "November.", + "December." + ], + "type": "string" + }, + "monthlySearches": { + "description": "Approximate number of searches for the month. A null value indicates the search volume is unavailable for that month.", + "format": "int64", + "type": "string" + }, + "year": { + "description": "The year of the search volume (for example, 2020).", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__NegativeKeywordListInfo": { + "description": "A Negative Keyword List criterion. Represents a shared set of negative keywords that can be excluded at the account-level. Only one negative keyword list criterion can be attached per account.", + "id": "GoogleAdsSearchads360V23Common__NegativeKeywordListInfo", + "properties": { + "sharedSet": { + "description": "The NegativeKeywordListInfo shared set resource name.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__OfflineUserAddressInfo": { + "description": "Address identifier of offline data.", + "id": "GoogleAdsSearchads360V23Common__OfflineUserAddressInfo", + "properties": { + "city": { + "description": "City of the address. Only accepted for Store Sales.", + "type": "string" + }, + "countryCode": { + "description": "2-letter country code in ISO-3166-1 alpha-2 of the user's address.", + "type": "string" + }, + "hashedFirstName": { + "description": "First name of the user, which is hashed as SHA-256 after normalized (Lowercase all characters; Remove any extra spaces before, after, and in between).", + "type": "string" + }, + "hashedLastName": { + "description": "Last name of the user, which is hashed as SHA-256 after normalized (lower case only and no punctuation).", + "type": "string" + }, + "hashedStreetAddress": { + "description": "The street address of the user hashed using SHA-256 hash function after normalization (lower case only). Only accepted for ConversionAdjustmentUploadService.", + "type": "string" + }, + "postalCode": { + "description": "Postal code of the user's address.", + "type": "string" + }, + "state": { + "description": "State code of the address. Only accepted for Store Sales.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__OperatingSystemVersionInfo": { + "description": "Represents an operating system version to be targeted.", + "id": "GoogleAdsSearchads360V23Common__OperatingSystemVersionInfo", + "properties": { + "operatingSystemVersionConstant": { + "description": "The operating system version constant resource name.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__PageFeedAsset": { + "description": "A Page Feed asset.", + "id": "GoogleAdsSearchads360V23Common__PageFeedAsset", + "properties": { + "labels": { + "description": "Labels used to group the page urls.", + "items": { + "type": "string" + }, + "type": "array" + }, + "pageUrl": { + "description": "Required. The webpage that advertisers want to target.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__ParentalStatusDimension": { + "description": "Dimension specifying users by their parental status.", + "id": "GoogleAdsSearchads360V23Common__ParentalStatusDimension", + "properties": { + "includeUndetermined": { + "description": "Include users whose parental status is undetermined.", + "type": "boolean" + }, + "parentalStatuses": { + "description": "Included parental status demographic segments.", + "items": { + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "PARENT", + "NOT_A_PARENT", + "UNDETERMINED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Parent.", + "Not a parent.", + "Undetermined parental status." + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__ParentalStatusInfo": { + "description": "A parental status criterion.", + "id": "GoogleAdsSearchads360V23Common__ParentalStatusInfo", + "properties": { + "type": { + "description": "Type of the parental status.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "PARENT", + "NOT_A_PARENT", + "UNDETERMINED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Parent.", + "Not a parent.", + "Undetermined parental status." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__PercentCpc": { + "description": "A bidding strategy where bids are a fraction of the advertised price for some good or service.", + "id": "GoogleAdsSearchads360V23Common__PercentCpc", + "properties": { + "cpcBidCeilingMicros": { + "description": "Maximum bid limit that can be set by the bid strategy. This is an optional field entered by the advertiser and specified in local micros. Note: A zero value is interpreted in the same way as having bid_ceiling undefined.", + "format": "int64", + "type": "string" + }, + "enhancedCpcEnabled": { + "description": "Adjusts the bid for each auction upward or downward, depending on the likelihood of a conversion. Individual bids may exceed cpc_bid_ceiling_micros, but the average bid amount for a campaign should not.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__PercentCpcBidSimulationPoint": { + "description": "Projected metrics for a specific percent CPC amount. Only Hotel advertising channel type supports this field.", + "id": "GoogleAdsSearchads360V23Common__PercentCpcBidSimulationPoint", + "properties": { + "biddableConversions": { + "description": "Projected number of biddable conversions.", + "format": "double", + "type": "number" + }, + "biddableConversionsValue": { + "description": "Projected total value of biddable conversions in local currency.", + "format": "double", + "type": "number" + }, + "clicks": { + "description": "Projected number of clicks.", + "format": "int64", + "type": "string" + }, + "costMicros": { + "description": "Projected cost in micros.", + "format": "int64", + "type": "string" + }, + "impressions": { + "description": "Projected number of impressions.", + "format": "int64", + "type": "string" + }, + "percentCpcBidMicros": { + "description": "The simulated percent CPC upon which projected metrics are based. Percent CPC expressed as fraction of the advertised price for some good or service. The value stored here is 1,000,000 * [fraction].", + "format": "int64", + "type": "string" + }, + "topSlotImpressions": { + "description": "Projected number of top slot impressions.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__PercentCpcBidSimulationPointList": { + "description": "A container for simulation points for simulations of type PERCENT_CPC_BID.", + "id": "GoogleAdsSearchads360V23Common__PercentCpcBidSimulationPointList", + "properties": { + "points": { + "description": "Projected metrics for a series of percent CPC bid amounts.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__PercentCpcBidSimulationPoint" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__PlacementInfo": { + "description": "A placement criterion. This can be used to modify bids for sites when targeting the content network.", + "id": "GoogleAdsSearchads360V23Common__PlacementInfo", + "properties": { + "url": { + "description": "URL of the placement. For example, \"http://www.domain.com\".", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__PlacementListInfo": { + "description": "A Placement List criterion. Represents a shared set of placements that can be excluded at the account-level.", + "id": "GoogleAdsSearchads360V23Common__PlacementListInfo", + "properties": { + "sharedSet": { + "description": "The PlacementListInfo shared set resource name.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__PolicySummary": { + "description": "Contains policy summary information.", + "id": "GoogleAdsSearchads360V23Common__PolicySummary", + "properties": { + "approvalStatus": { + "description": "The overall approval status, which is calculated based on the status of its individual policy topic entries.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "DISAPPROVED", + "APPROVED_LIMITED", + "APPROVED", + "AREA_OF_INTEREST_ONLY" + ], + "enumDescriptions": [ + "No value has been specified.", + "The received value is not known in this version. This is a response-only value.", + "Will not serve.", + "Serves with restrictions.", + "Serves without restrictions.", + "Will not serve in targeted countries, but may serve for users who are searching for information about the targeted countries." + ], + "type": "string" + }, + "policyTopicEntries": { + "description": "The list of policy findings.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__PolicyTopicEntry" + }, + "type": "array" + }, + "reviewStatus": { + "description": "Where in the review process the resource is.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "REVIEW_IN_PROGRESS", + "REVIEWED", + "UNDER_APPEAL", + "ELIGIBLE_MAY_SERVE" + ], + "enumDescriptions": [ + "No value has been specified.", + "The received value is not known in this version. This is a response-only value.", + "Currently under review.", + "Primary review complete. Other reviews may be continuing.", + "The resource has been resubmitted for approval or its policy decision has been appealed.", + "The resource is eligible and may be serving but could still undergo further review." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__PolicyTopicConstraint": { + "description": "Describes the effect on serving that a policy topic entry will have.", + "id": "GoogleAdsSearchads360V23Common__PolicyTopicConstraint", + "properties": { + "certificateDomainMismatchInCountryList": { + "$ref": "GoogleAdsSearchads360V23Common_PolicyTopicConstraint_CountryConstraintList", + "description": "Countries where the resource's domain is not covered by the certificates associated with it." + }, + "certificateMissingInCountryList": { + "$ref": "GoogleAdsSearchads360V23Common_PolicyTopicConstraint_CountryConstraintList", + "description": "Countries where a certificate is required for serving." + }, + "countryConstraintList": { + "$ref": "GoogleAdsSearchads360V23Common_PolicyTopicConstraint_CountryConstraintList", + "description": "Countries where the resource cannot serve." + }, + "resellerConstraint": { + "$ref": "GoogleAdsSearchads360V23Common_PolicyTopicConstraint_ResellerConstraint", + "description": "Reseller constraint." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__PolicyTopicEntry": { + "description": "Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted.", + "id": "GoogleAdsSearchads360V23Common__PolicyTopicEntry", + "properties": { + "constraints": { + "description": "Indicates how serving of this resource may be affected (for example, not serving in a country).", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__PolicyTopicConstraint" + }, + "type": "array" + }, + "evidences": { + "description": "Additional information that explains policy finding (for example, the brand name for a trademark finding).", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__PolicyTopicEvidence" + }, + "type": "array" + }, + "topic": { + "description": "Policy topic this finding refers to. For example, \"ALCOHOL\", \"TRADEMARKS_IN_AD_TEXT\", or \"DESTINATION_NOT_WORKING\". The set of possible policy topics is not fixed for a particular API version and may change at any time.", + "type": "string" + }, + "type": { + "description": "Describes the negative or positive effect this policy will have on serving.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "PROHIBITED", + "LIMITED", + "FULLY_LIMITED", + "DESCRIPTIVE", + "BROADENING", + "AREA_OF_INTEREST_ONLY" + ], + "enumDescriptions": [ + "No value has been specified.", + "The received value is not known in this version. This is a response-only value.", + "The resource will not be served.", + "The resource will not be served under some circumstances.", + "The resource cannot serve at all because of the current targeting criteria.", + "May be of interest, but does not limit how the resource is served.", + "Could increase coverage beyond normal.", + "Constrained for all targeted countries, but may serve in other countries through area of interest." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__PolicyTopicEvidence": { + "description": "Additional information that explains a policy finding.", + "id": "GoogleAdsSearchads360V23Common__PolicyTopicEvidence", + "properties": { + "destinationMismatch": { + "$ref": "GoogleAdsSearchads360V23Common_PolicyTopicEvidence_DestinationMismatch", + "description": "Mismatch between the destinations of a resource's URLs." + }, + "destinationNotWorking": { + "$ref": "GoogleAdsSearchads360V23Common_PolicyTopicEvidence_DestinationNotWorking", + "description": "Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices." + }, + "destinationTextList": { + "$ref": "GoogleAdsSearchads360V23Common_PolicyTopicEvidence_DestinationTextList", + "description": "The text in the destination of the resource that is causing a policy finding." + }, + "languageCode": { + "description": "The language the resource was detected to be written in. This is an IETF language tag such as \"en-US\".", + "type": "string" + }, + "textList": { + "$ref": "GoogleAdsSearchads360V23Common_PolicyTopicEvidence_TextList", + "description": "List of evidence found in the text of a resource." + }, + "websiteList": { + "$ref": "GoogleAdsSearchads360V23Common_PolicyTopicEvidence_WebsiteList", + "description": "List of websites linked with this resource." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__PolicyValidationParameter": { + "description": "Parameter for controlling how policy exemption is done.", + "id": "GoogleAdsSearchads360V23Common__PolicyValidationParameter", + "properties": { + "exemptPolicyViolationKeys": { + "description": "The list of policy violation keys that should not cause a `PolicyViolationError` to be reported. Not all policy violations are exemptable. Refer to the `is_exemptible` field in the returned `PolicyViolationError`. This field is used for keyword policy exemptions. If this field is populated, then `ignorable_policy_topics` must be empty. Resources that violate these policies will be saved, but will not be eligible to serve. They may begin serving at a later time due to a change in policies, re-review of the resource, or a change in advertiser certificates.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__PolicyViolationKey" + }, + "type": "array" + }, + "ignorablePolicyTopics": { + "description": "The list of policy topics that should not cause a `PolicyFindingError` to be reported. This field is used for ad policy exemptions. It corresponds to the `PolicyTopicEntry.topic` field. If this field is populated, then `exempt_policy_violation_keys` must be empty. Resources that violate these policies will be saved, but will not be eligible to serve. They may begin serving at a later time due to a change in policies, re-review of the resource, or a change in advertiser certificates.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__PolicyViolationKey": { + "description": "Key of the violation. The key is used for referring to a violation when filing an exemption request.", + "id": "GoogleAdsSearchads360V23Common__PolicyViolationKey", + "properties": { + "policyName": { + "description": "Unique ID of the violated policy.", + "type": "string" + }, + "violatingText": { + "description": "The text that violates the policy if specified. Otherwise, refers to the policy in general (for example, when requesting to be exempt from the whole policy). If not specified for criterion exemptions, the whole policy is implied. Must be specified for ad exemptions.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__PriceAsset": { + "description": "An asset representing a list of price offers.", + "id": "GoogleAdsSearchads360V23Common__PriceAsset", + "properties": { + "languageCode": { + "description": "Required. The language of the price asset. Represented as BCP 47 language tag.", + "type": "string" + }, + "priceOfferings": { + "description": "The price offerings of the price asset. The size of this collection should be between 3 and 8, inclusive.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__PriceOffering" + }, + "type": "array" + }, + "priceQualifier": { + "description": "The price qualifier of the price asset.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "FROM", + "UP_TO", + "AVERAGE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "'From' qualifier for the price.", + "'Up to' qualifier for the price.", + "'Average' qualifier for the price." + ], + "type": "string" + }, + "type": { + "description": "Required. The type of the price asset.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "BRANDS", + "EVENTS", + "LOCATIONS", + "NEIGHBORHOODS", + "PRODUCT_CATEGORIES", + "PRODUCT_TIERS", + "SERVICES", + "SERVICE_CATEGORIES", + "SERVICE_TIERS" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The type for showing a list of brands.", + "The type for showing a list of events.", + "The type for showing locations relevant to your business.", + "The type for showing sub-regions or districts within a city or region.", + "The type for showing a collection of product categories.", + "The type for showing a collection of related product tiers.", + "The type for showing a collection of services offered by your business.", + "The type for showing a collection of service categories.", + "The type for showing a collection of related service tiers." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__PriceOffering": { + "description": "A single price offering within a PriceAsset.", + "id": "GoogleAdsSearchads360V23Common__PriceOffering", + "properties": { + "description": { + "description": "Required. The description of the price offering. The length of this string should be between 1 and 25, inclusive.", + "type": "string" + }, + "finalMobileUrl": { + "description": "The final mobile URL after all cross domain redirects.", + "type": "string" + }, + "finalUrl": { + "description": "Required. The final URL after all cross domain redirects.", + "type": "string" + }, + "header": { + "description": "Required. The header of the price offering. The length of this string should be between 1 and 25, inclusive.", + "type": "string" + }, + "price": { + "$ref": "GoogleAdsSearchads360V23Common__Money", + "description": "Required. The price value of the price offering." + }, + "unit": { + "description": "The price unit of the price offering.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "PER_HOUR", + "PER_DAY", + "PER_WEEK", + "PER_MONTH", + "PER_YEAR", + "PER_NIGHT" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Per hour.", + "Per day.", + "Per week.", + "Per month.", + "Per year.", + "Per night." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__ProductBrandInfo": { + "description": "Brand of the product.", + "id": "GoogleAdsSearchads360V23Common__ProductBrandInfo", + "properties": { + "value": { + "description": "String value of the product brand.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__ProductCategoryInfo": { + "description": "Category of a product offer.", + "id": "GoogleAdsSearchads360V23Common__ProductCategoryInfo", + "properties": { + "categoryId": { + "description": "ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436", + "format": "int64", + "type": "string" + }, + "level": { + "description": "Level of the product category.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "LEVEL1", + "LEVEL2", + "LEVEL3", + "LEVEL4", + "LEVEL5" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Level 1.", + "Level 2.", + "Level 3.", + "Level 4.", + "Level 5." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__ProductChannelExclusivityInfo": { + "description": "Availability of a product offer.", + "id": "GoogleAdsSearchads360V23Common__ProductChannelExclusivityInfo", + "properties": { + "channelExclusivity": { + "description": "Value of the availability.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "SINGLE_CHANNEL", + "MULTI_CHANNEL" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The item is sold through one channel only, either local stores or online as indicated by its ProductChannel.", + "The item is matched to its online or local stores counterpart, indicating it is available for purchase in both ShoppingProductChannels." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__ProductChannelInfo": { + "description": "Locality of a product offer.", + "id": "GoogleAdsSearchads360V23Common__ProductChannelInfo", + "properties": { + "channel": { + "description": "Value of the locality.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ONLINE", + "LOCAL" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The item is sold online.", + "The item is sold in local stores." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__ProductConditionInfo": { + "description": "Condition of a product offer.", + "id": "GoogleAdsSearchads360V23Common__ProductConditionInfo", + "properties": { + "condition": { + "description": "Value of the condition.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "NEW", + "REFURBISHED", + "USED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The product condition is new.", + "The product condition is refurbished.", + "The product condition is used." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__ProductCustomAttributeInfo": { + "description": "Custom attribute of a product offer.", + "id": "GoogleAdsSearchads360V23Common__ProductCustomAttributeInfo", + "properties": { + "index": { + "description": "Indicates the index of the custom attribute.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "INDEX0", + "INDEX1", + "INDEX2", + "INDEX3", + "INDEX4" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "First product custom attribute.", + "Second product custom attribute.", + "Third product custom attribute.", + "Fourth product custom attribute.", + "Fifth product custom attribute." + ], + "type": "string" + }, + "value": { + "description": "String value of the product custom attribute.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__ProductGroupingInfo": { + "description": "Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.", + "id": "GoogleAdsSearchads360V23Common__ProductGroupingInfo", + "properties": { + "value": { + "description": "String value of the product grouping.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__ProductItemIdInfo": { + "description": "Item id of a product offer.", + "id": "GoogleAdsSearchads360V23Common__ProductItemIdInfo", + "properties": { + "value": { + "description": "Value of the id.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__ProductLabelsInfo": { + "description": "Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.", + "id": "GoogleAdsSearchads360V23Common__ProductLabelsInfo", + "properties": { + "value": { + "description": "String value of the product labels.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__ProductLegacyConditionInfo": { + "description": "Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.", + "id": "GoogleAdsSearchads360V23Common__ProductLegacyConditionInfo", + "properties": { + "value": { + "description": "String value of the product legacy condition.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__ProductTypeFullInfo": { + "description": "Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.", + "id": "GoogleAdsSearchads360V23Common__ProductTypeFullInfo", + "properties": { + "value": { + "description": "String value of the product full type.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__ProductTypeInfo": { + "description": "Type of a product offer.", + "id": "GoogleAdsSearchads360V23Common__ProductTypeInfo", + "properties": { + "level": { + "description": "Level of the type.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "LEVEL1", + "LEVEL2", + "LEVEL3", + "LEVEL4", + "LEVEL5" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Level 1.", + "Level 2.", + "Level 3.", + "Level 4.", + "Level 5." + ], + "type": "string" + }, + "value": { + "description": "Value of the type.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__PromotionAsset": { + "description": "A Promotion asset.", + "id": "GoogleAdsSearchads360V23Common__PromotionAsset", + "properties": { + "adScheduleTargets": { + "description": "List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AdScheduleInfo" + }, + "type": "array" + }, + "discountModifier": { + "description": "A modifier for qualification of the discount.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "UP_TO" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "'Up to'." + ], + "type": "string" + }, + "endDate": { + "description": "Last date of when this asset is effective and still serving, in yyyy-MM-dd format.", + "type": "string" + }, + "languageCode": { + "description": "The language of the promotion. Represented as BCP 47 language tag.", + "type": "string" + }, + "moneyAmountOff": { + "$ref": "GoogleAdsSearchads360V23Common__Money", + "description": "Money amount off for discount in the promotion. Either this or percent_off is required." + }, + "occasion": { + "description": "The occasion the promotion was intended for. If an occasion is set, the redemption window will need to fall within the date range associated with the occasion.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "NEW_YEARS", + "CHINESE_NEW_YEAR", + "VALENTINES_DAY", + "EASTER", + "MOTHERS_DAY", + "FATHERS_DAY", + "LABOR_DAY", + "BACK_TO_SCHOOL", + "HALLOWEEN", + "BLACK_FRIDAY", + "CYBER_MONDAY", + "CHRISTMAS", + "BOXING_DAY", + "INDEPENDENCE_DAY", + "NATIONAL_DAY", + "END_OF_SEASON", + "WINTER_SALE", + "SUMMER_SALE", + "FALL_SALE", + "SPRING_SALE", + "RAMADAN", + "EID_AL_FITR", + "EID_AL_ADHA", + "SINGLES_DAY", + "WOMENS_DAY", + "HOLI", + "PARENTS_DAY", + "ST_NICHOLAS_DAY", + "CARNIVAL", + "EPIPHANY", + "ROSH_HASHANAH", + "PASSOVER", + "HANUKKAH", + "DIWALI", + "NAVRATRI", + "SONGKRAN", + "YEAR_END_GIFT" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "New Year's.", + "Chinese New Year.", + "Valentine's Day.", + "Easter.", + "Mother's Day.", + "Father's Day.", + "Labor Day.", + "Back To School.", + "Halloween.", + "Black Friday.", + "Cyber Monday.", + "Christmas.", + "Boxing Day.", + "Independence Day in any country.", + "National Day in any country.", + "End of any season.", + "Winter Sale.", + "Summer sale.", + "Fall Sale.", + "Spring Sale.", + "Ramadan.", + "Eid al-Fitr.", + "Eid al-Adha.", + "Singles Day.", + "Women's Day.", + "Holi.", + "Parent's Day.", + "St. Nicholas Day.", + "Carnival.", + "Epiphany, also known as Three Kings' Day.", + "Rosh Hashanah.", + "Passover.", + "Hanukkah.", + "Diwali.", + "Navratri.", + "Available in Thai: Songkran.", + "Available in Japanese: Year-end Gift." + ], + "type": "string" + }, + "ordersOverAmount": { + "$ref": "GoogleAdsSearchads360V23Common__Money", + "description": "The amount the total order needs to be for the user to be eligible for the promotion." + }, + "percentOff": { + "description": "Percentage off discount in the promotion. 1,000,000 = 100%. Either this or money_amount_off is required.", + "format": "int64", + "type": "string" + }, + "promotionBarcodeInfo": { + "$ref": "GoogleAdsSearchads360V23Common__PromotionBarcodeInfo", + "description": "Barcode info used to generate promotion barcode for user to be eligible for the promotion." + }, + "promotionCode": { + "description": "A code the user should use in order to be eligible for the promotion.", + "type": "string" + }, + "promotionQrCodeInfo": { + "$ref": "GoogleAdsSearchads360V23Common__PromotionQrCodeInfo", + "description": "QR code info used to generate promotion QR code for user to be eligible for the promotion." + }, + "promotionTarget": { + "description": "Required. A freeform description of what the promotion is targeting.", + "type": "string" + }, + "redemptionEndDate": { + "description": "Last date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.", + "type": "string" + }, + "redemptionStartDate": { + "description": "Start date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format.", + "type": "string" + }, + "startDate": { + "description": "Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.", + "type": "string" + }, + "termsAndConditionsText": { + "description": "Terms and conditions of the promotion.", + "type": "string" + }, + "termsAndConditionsUri": { + "description": "URI to the terms and conditions of the promotion.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__PromotionBarcodeInfo": { + "description": "Barcode info to generate promotion barcode.", + "id": "GoogleAdsSearchads360V23Common__PromotionBarcodeInfo", + "properties": { + "barcodeContent": { + "description": "Promotion message to be encoded in the barcode.", + "type": "string" + }, + "type": { + "description": "Barcode type used to generate barcode with the correct format.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "AZTEC", + "CODABAR", + "CODE39", + "CODE128", + "DATA_MATRIX", + "EAN8", + "EAN13", + "ITF", + "PDF417", + "UPC_A" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Aztec 2D barcode format. Max 350 characters and no links", + "CODABAR 1D format. Max 12 characters and no links. Supported characters include 0123456789-$:/.+ and optional start and end guards from ABCD.", + "Code 39 1D format. Max 8 characters and no links. Supported characters include 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. *$/+%.", + "Code 128 1D format. Max 18 ASCII characters only and no links", + "Data Matrix 2D barcode format. Max 525 ISO-8859-1 characters only and no links", + "EAN-8 1D format. The barcode value should be 7 digits (the check digit will be computed automatically) or 8 digits (if you are providing your own check digit).", + "EAN-13 1D format. The barcode value should be 12 digits (the check digit will be computed automatically) or 13 digits (if you are providing your own check digit).", + "ITF (Interleaved Two of Five) 1D format. Must be 14 digits long", + "PDF417 format. Max 140 characters and no links", + "UPC-A 1D format. The barcode value should be 11 digits (the check digit will be computed automatically) or 12 digits (if you are providing your own check digit)." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__PromotionQrCodeInfo": { + "description": "QR code info to generate promotion QR code.", + "id": "GoogleAdsSearchads360V23Common__PromotionQrCodeInfo", + "properties": { + "qrCodeContent": { + "description": "Promotion message to be encoded in the QR code.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__ProximityInfo": { + "description": "A Proximity criterion. The geo point and radius determine what geographical area is included. The address is a description of the geo point that does not affect ad serving. There are two ways to create a proximity. First, by setting an address and radius. The geo point will be automatically computed. Second, by setting a geo point and radius. The address is an optional label that won't be validated.", + "id": "GoogleAdsSearchads360V23Common__ProximityInfo", + "properties": { + "address": { + "$ref": "GoogleAdsSearchads360V23Common__AddressInfo", + "description": "Full address." + }, + "geoPoint": { + "$ref": "GoogleAdsSearchads360V23Common__GeoPointInfo", + "description": "Latitude and longitude." + }, + "radius": { + "description": "The radius of the proximity.", + "format": "double", + "type": "number" + }, + "radiusUnits": { + "description": "The unit of measurement of the radius. Default is KILOMETERS.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "MILES", + "KILOMETERS" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Miles", + "Kilometers" + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__RealTimeBiddingSetting": { + "description": "Settings for Real-Time Bidding, a feature only available for campaigns targeting the Ad Exchange network.", + "id": "GoogleAdsSearchads360V23Common__RealTimeBiddingSetting", + "properties": { + "optIn": { + "description": "Whether the campaign is opted in to real-time bidding.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__ResponsiveDisplayAdControlSpec": { + "description": "Specification for various creative controls for a responsive display ad.", + "id": "GoogleAdsSearchads360V23Common__ResponsiveDisplayAdControlSpec", + "properties": { + "enableAssetEnhancements": { + "description": "Whether the advertiser has opted into the asset enhancements feature.", + "type": "boolean" + }, + "enableAutogenVideo": { + "description": "Whether the advertiser has opted into auto-gen video feature.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__ResponsiveDisplayAdInfo": { + "description": "A responsive display ad.", + "id": "GoogleAdsSearchads360V23Common__ResponsiveDisplayAdInfo", + "properties": { + "accentColor": { + "description": "The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.", + "type": "string" + }, + "allowFlexibleColor": { + "description": "Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set.", + "type": "boolean" + }, + "businessName": { + "description": "The advertiser/brand name. Maximum display width is 25.", + "type": "string" + }, + "callToActionText": { + "description": "The call-to-action text for the ad. Maximum display width is 30.", + "type": "string" + }, + "controlSpec": { + "$ref": "GoogleAdsSearchads360V23Common__ResponsiveDisplayAdControlSpec", + "description": "Specification for various creative controls." + }, + "descriptions": { + "description": "Descriptive texts for the ad. The maximum length is 90 characters. At least 1 and max 5 headlines can be specified.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AdTextAsset" + }, + "type": "array" + }, + "formatSetting": { + "description": "Specifies which format the ad will be served in. Default is ALL_FORMATS.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ALL_FORMATS", + "NON_NATIVE", + "NATIVE" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "Text, image and native formats.", + "Text and image formats.", + "Native format, for example, the format rendering is controlled by the publisher and not by Google." + ], + "type": "string" + }, + "headlines": { + "description": "Short format headlines for the ad. The maximum length is 30 characters. At least 1 and max 5 headlines can be specified.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AdTextAsset" + }, + "type": "array" + }, + "logoImages": { + "description": "Logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 512x128 and the aspect ratio must be 4:1 (+-1%). Combined with `square_logo_images`, the maximum is 5.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AdImageAsset" + }, + "type": "array" + }, + "longHeadline": { + "$ref": "GoogleAdsSearchads360V23Common__AdTextAsset", + "description": "A required long format headline. The maximum length is 90 characters." + }, + "mainColor": { + "description": "The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well.", + "type": "string" + }, + "marketingImages": { + "description": "Marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). At least one `marketing_image` is required. Combined with `square_marketing_images`, the maximum is 15.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AdImageAsset" + }, + "type": "array" + }, + "pricePrefix": { + "description": "Prefix before price. For example, 'as low as'.", + "type": "string" + }, + "promoText": { + "description": "Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'.", + "type": "string" + }, + "squareLogoImages": { + "description": "Square logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). Combined with `logo_images`, the maximum is 5.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AdImageAsset" + }, + "type": "array" + }, + "squareMarketingImages": { + "description": "Square marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). At least one square `marketing_image` is required. Combined with `marketing_images`, the maximum is 15.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AdImageAsset" + }, + "type": "array" + }, + "youtubeVideos": { + "description": "Optional YouTube videos for the ad. A maximum of 5 videos can be specified.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AdVideoAsset" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__ResponsiveSearchAdInfo": { + "description": "A responsive search ad. Responsive search ads let you create an ad that adapts to show more text, and more relevant messages, to your customers. Enter multiple headlines and descriptions when creating a responsive search ad, and over time, Google Ads will automatically test different combinations and learn which combinations perform best. By adapting your ad's content to more closely match potential customers' search terms, responsive search ads may improve your campaign's performance. More information at https://support.google.com/google-ads/answer/7684791", + "id": "GoogleAdsSearchads360V23Common__ResponsiveSearchAdInfo", + "properties": { + "descriptions": { + "description": "List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AdTextAsset" + }, + "type": "array" + }, + "headlines": { + "description": "List of text assets for headlines. When the ad serves the headlines will be selected from this list.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AdTextAsset" + }, + "type": "array" + }, + "path1": { + "description": "First part of text that can be appended to the URL in the ad.", + "type": "string" + }, + "path2": { + "description": "Second part of text that can be appended to the URL in the ad. This field can only be set when `path1` is also set.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__RuleBasedUserListInfo": { + "description": "Representation of a userlist that is generated by a rule.", + "id": "GoogleAdsSearchads360V23Common__RuleBasedUserListInfo", + "properties": { + "flexibleRuleUserList": { + "$ref": "GoogleAdsSearchads360V23Common__FlexibleRuleUserListInfo", + "description": "Flexible rule representation of visitors with one or multiple actions. The flexible user list is defined by two lists of operands – inclusive_operands and exclusive_operands; each operand represents a set of users based on actions they took in a given timeframe. These lists of operands are combined with the AND_NOT operator, so that users represented by the inclusive operands are included in the user list, minus the users represented by the exclusive operands." + }, + "prepopulationStatus": { + "description": "The status of pre-population. The field is default to NONE if not set which means the previous users will not be considered. If set to REQUESTED, past site visitors or app users who match the list definition will be included in the list (works on the Display Network only). This will only add past users from within the last 30 days, depending on the list's membership duration and the date when the remarketing tag is added. The status will be updated to FINISHED once request is processed, or FAILED if the request fails.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "REQUESTED", + "FINISHED", + "FAILED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Prepopoulation is being requested.", + "Prepopulation is finished.", + "Prepopulation failed." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__SearchAds360ExpandedDynamicSearchAdInfo": { + "description": "An expanded dynamic search ad.", + "id": "GoogleAdsSearchads360V23Common__SearchAds360ExpandedDynamicSearchAdInfo", + "properties": { + "adTrackingId": { + "description": "The tracking id of the ad.", + "format": "int64", + "type": "string" + }, + "description1": { + "description": "The first line of the ad's description.", + "type": "string" + }, + "description2": { + "description": "The second line of the ad's description.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__SearchAds360ExpandedTextAdInfo": { + "description": "A Search Ads 360 expanded text ad.", + "id": "GoogleAdsSearchads360V23Common__SearchAds360ExpandedTextAdInfo", + "properties": { + "adTrackingId": { + "description": "The tracking id of the ad.", + "format": "int64", + "type": "string" + }, + "description1": { + "description": "The first line of the ad's description.", + "type": "string" + }, + "description2": { + "description": "The second line of the ad's description.", + "type": "string" + }, + "headline": { + "description": "The headline of the ad.", + "type": "string" + }, + "headline2": { + "description": "The second headline of the ad.", + "type": "string" + }, + "headline3": { + "description": "The third headline of the ad.", + "type": "string" + }, + "path1": { + "description": "Text appended to the auto-generated visible URL with a delimiter.", + "type": "string" + }, + "path2": { + "description": "Text appended to path1 with a delimiter.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__SearchAds360ProductAdInfo": { + "description": "A Search Ads 360 product ad.", + "id": "GoogleAdsSearchads360V23Common__SearchAds360ProductAdInfo", + "properties": {}, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__SearchAds360ResponsiveSearchAdInfo": { + "description": "A Search Ads 360 responsive search ad.", + "id": "GoogleAdsSearchads360V23Common__SearchAds360ResponsiveSearchAdInfo", + "properties": { + "adTrackingId": { + "description": "The tracking id of the ad.", + "format": "int64", + "type": "string" + }, + "descriptions": { + "description": "List of text assets for descriptions. When the ad serves the descriptions will be selected from this list.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AdTextAsset" + }, + "type": "array" + }, + "headlines": { + "description": "List of text assets for headlines. When the ad serves the headlines will be selected from this list.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AdTextAsset" + }, + "type": "array" + }, + "path1": { + "description": "Text appended to the auto-generated visible URL with a delimiter.", + "type": "string" + }, + "path2": { + "description": "Text appended to path1 with a delimiter.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__SearchAds360TextAdInfo": { + "description": "A Search Ads 360 text ad.", + "id": "GoogleAdsSearchads360V23Common__SearchAds360TextAdInfo", + "properties": { + "adTrackingId": { + "description": "The tracking id of the ad.", + "format": "int64", + "type": "string" + }, + "description1": { + "description": "The first line of the ad's description.", + "type": "string" + }, + "description2": { + "description": "The second line of the ad's description.", + "type": "string" + }, + "displayMobileUrl": { + "description": "The displayed mobile URL of the ad.", + "type": "string" + }, + "displayUrl": { + "description": "The displayed URL of the ad.", + "type": "string" + }, + "headline": { + "description": "The headline of the ad.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__SearchThemeInfo": { + "description": "A Search Theme criterion only on Performance Max campaign. Represents a keyword-like advertiser input.", + "id": "GoogleAdsSearchads360V23Common__SearchThemeInfo", + "properties": { + "text": { + "description": "Each Search Theme has a value of a simple string, like keywords. There are limits on overall length, allowed characters, and number of words.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__Segments": { + "description": "Segment only fields.", + "id": "GoogleAdsSearchads360V23Common__Segments", + "properties": { + "adFormatType": { + "description": "Ad Format type.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "OTHER", + "UNSEGMENTED", + "INSTREAM_SKIPPABLE", + "INSTREAM_NON_SKIPPABLE", + "INFEED", + "BUMPER", + "OUTSTREAM", + "MASTHEAD", + "AUDIO", + "SHORTS", + "PAUSE", + "VERTICAL_ADS_PROMOTION", + "VERTICAL_ADS_BOOKING_LINK", + "TEXT" + ], + "enumDescriptions": [ + "No value has been specified.", + "Used for return value only. Represents value unknown in this version.", + "Value assigned to formats (such as experimental formats) which don't support format segmentation in Video and Demand Gen campaigns. Note that these formats may change categories in the future, for example if an experimental format is exposed or a new format is added. We strongly recommend to not rely on this field for long term decisions.", + "Value assigned for Video TrueView for Action campaigns statistics. Note that statistics with this value may change categories in the future, for example if format segmentation support is added for new campaign types. We strongly recommend to not rely on this field for long term decisions.", + "Skippable in-stream ads.", + "Non-skippable in-stream ads.", + "In-feed YouTube or image ads served on feed surfaces (e.g. Discover Feed, YouTube Home, etc.).", + "Short (<7 secs) in-stream non-skippable YouTube ads.", + "Outstream ads.", + "Masthead ads.", + "Audio ads.", + "Vertical full-screen video or image ads served on YouTube Shorts or BrandConnect ads served as organic YouTube Shorts.", + "Image ads served when a user pauses an organic YouTube video on a TV screen. These ads are displayed directly next to the static video frame on the pause screen itself. Note that this does not include Demand Gen image ads served on the ad panel below or on top of a paused organic video. Those are reported under INFEED.", + "An ad format that promotes a specific entity within a vertical, for example, a hotel ad in the Travel vertical on Search.", + "An ad format for a booking link call-to-action within a vertical ad, for example a 'Book Now' link for a hotel ad.", + "A standard text ad format. This is currently only used for ads on the Search network." + ], + "type": "string" + }, + "adNetworkType": { + "description": "Ad network type.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "SEARCH", + "SEARCH_PARTNERS", + "CONTENT", + "MIXED", + "YOUTUBE", + "GOOGLE_TV", + "GOOGLE_OWNED_CHANNELS", + "GMAIL", + "DISCOVER", + "MAPS" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "Google search.", + "Search partners.", + "Display Network.", + "Cross-network.", + "YouTube", + "Google TV", + "", + "Gmail", + "Discover Feed", + "Maps" + ], + "type": "string" + }, + "assetInteractionTarget": { + "$ref": "GoogleAdsSearchads360V23Common__AssetInteractionTarget", + "description": "Only used with CustomerAsset, CampaignAsset and AdGroupAsset metrics. Indicates whether the interaction metrics occurred on the asset itself or a different asset or ad unit. Interactions (for example, clicks) are counted across all the parts of the served ad (for example, Ad itself and other components like Sitelinks) when they are served together. When interaction_on_this_asset is true, it means the interactions are on this specific asset and when interaction_on_this_asset is false, it means the interactions is not on this specific asset but on other parts of the served ad this asset is served with." + }, + "conversionAction": { + "description": "Resource name of the conversion action.", + "type": "string" + }, + "conversionActionCategory": { + "description": "Conversion action category.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "DEFAULT", + "PAGE_VIEW", + "PURCHASE", + "SIGNUP", + "DOWNLOAD", + "ADD_TO_CART", + "BEGIN_CHECKOUT", + "SUBSCRIBE_PAID", + "PHONE_CALL_LEAD", + "IMPORTED_LEAD", + "SUBMIT_LEAD_FORM", + "BOOK_APPOINTMENT", + "REQUEST_QUOTE", + "GET_DIRECTIONS", + "OUTBOUND_CLICK", + "CONTACT", + "ENGAGEMENT", + "STORE_VISIT", + "STORE_SALE", + "QUALIFIED_LEAD", + "CONVERTED_LEAD" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Default category.", + "User visiting a page.", + "Purchase, sales, or \"order placed\" event.", + "Signup user action.", + "Software download action (as for an app).", + "The addition of items to a shopping cart or bag on an advertiser site.", + "When someone enters the checkout flow on an advertiser site.", + "The start of a paid subscription for a product or service.", + "A call to indicate interest in an advertiser's offering.", + "A lead conversion imported from an external source into Google Ads.", + "A submission of a form on an advertiser site indicating business interest.", + "A booking of an appointment with an advertiser's business.", + "A quote or price estimate request.", + "A search for an advertiser's business location with intention to visit.", + "A click to an advertiser's partner's site.", + "A call, SMS, email, chat or other type of contact to an advertiser.", + "A website engagement event such as long site time or a Google Analytics (GA) Smart Goal. Intended to be used for GA, Firebase, GA Gold goal imports.", + "A visit to a physical store location.", + "A sale occurring in a physical store.", + "A lead conversion imported from an external source into Google Ads, that has been further qualified by the advertiser (marketing/sales team). In the lead-to-sale journey, advertisers get leads, then act on them by reaching out to the consumer. If the consumer is interested and may end up buying their product, the advertiser marks such leads as \"qualified leads\".", + "A lead conversion imported from an external source into Google Ads, that has further completed a chosen stage as defined by the lead gen advertiser." + ], + "type": "string" + }, + "conversionActionName": { + "description": "Conversion action name.", + "type": "string" + }, + "conversionCustomDimensions": { + "description": "The conversion custom dimensions.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__Value" + }, + "type": "array" + }, + "date": { + "description": "Date to which metrics apply. yyyy-MM-dd format, for example, 2018-04-17.", + "type": "string" + }, + "dayOfWeek": { + "description": "Day of the week, for example, MONDAY.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "MONDAY", + "TUESDAY", + "WEDNESDAY", + "THURSDAY", + "FRIDAY", + "SATURDAY", + "SUNDAY" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "Monday.", + "Tuesday.", + "Wednesday.", + "Thursday.", + "Friday.", + "Saturday.", + "Sunday." + ], + "type": "string" + }, + "device": { + "description": "Device to which metrics apply.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "MOBILE", + "TABLET", + "DESKTOP", + "CONNECTED_TV", + "OTHER" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "Mobile devices with full browsers.", + "Tablets with full browsers.", + "Computers.", + "Smart TVs and game consoles.", + "Other device types." + ], + "type": "string" + }, + "geoTargetCity": { + "description": "Resource name of the geo target constant that represents a city.", + "type": "string" + }, + "geoTargetCountry": { + "description": "Resource name of the geo target constant that represents a country.", + "type": "string" + }, + "geoTargetMetro": { + "description": "Resource name of the geo target constant that represents a metro.", + "type": "string" + }, + "geoTargetPostalCode": { + "description": "Resource name of the geo target constant that represents a postal code.", + "type": "string" + }, + "geoTargetRegion": { + "description": "Resource name of the geo target constant that represents a region.", + "type": "string" + }, + "hour": { + "description": "Hour of day as a number between 0 and 23, inclusive.", + "format": "int32", + "type": "integer" + }, + "keyword": { + "$ref": "GoogleAdsSearchads360V23Common__Keyword", + "description": "Keyword criterion." + }, + "month": { + "description": "Month as represented by the date of the first day of a month. Formatted as yyyy-MM-dd.", + "type": "string" + }, + "productBiddingCategoryLevel1": { + "description": "Bidding category (level 1) of the product.", + "type": "string" + }, + "productBiddingCategoryLevel2": { + "description": "Bidding category (level 2) of the product.", + "type": "string" + }, + "productBiddingCategoryLevel3": { + "description": "Bidding category (level 3) of the product.", + "type": "string" + }, + "productBiddingCategoryLevel4": { + "description": "Bidding category (level 4) of the product.", + "type": "string" + }, + "productBiddingCategoryLevel5": { + "description": "Bidding category (level 5) of the product.", + "type": "string" + }, + "productBrand": { + "description": "Brand of the product.", + "type": "string" + }, + "productChannel": { + "description": "Channel of the product.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ONLINE", + "LOCAL" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The item is sold online.", + "The item is sold in local stores." + ], + "type": "string" + }, + "productChannelExclusivity": { + "description": "Channel exclusivity of the product.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "SINGLE_CHANNEL", + "MULTI_CHANNEL" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The item is sold through one channel only, either local stores or online as indicated by its ProductChannel.", + "The item is matched to its online or local stores counterpart, indicating it is available for purchase in both ShoppingProductChannels." + ], + "type": "string" + }, + "productCondition": { + "description": "Condition of the product.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "NEW", + "REFURBISHED", + "USED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The product condition is new.", + "The product condition is refurbished.", + "The product condition is used." + ], + "type": "string" + }, + "productCountry": { + "description": "Resource name of the geo target constant for the country of sale of the product.", + "type": "string" + }, + "productCustomAttribute0": { + "description": "Custom attribute 0 of the product.", + "type": "string" + }, + "productCustomAttribute1": { + "description": "Custom attribute 1 of the product.", + "type": "string" + }, + "productCustomAttribute2": { + "description": "Custom attribute 2 of the product.", + "type": "string" + }, + "productCustomAttribute3": { + "description": "Custom attribute 3 of the product.", + "type": "string" + }, + "productCustomAttribute4": { + "description": "Custom attribute 4 of the product.", + "type": "string" + }, + "productItemId": { + "description": "Item ID of the product.", + "type": "string" + }, + "productLanguage": { + "description": "Resource name of the language constant for the language of the product.", + "type": "string" + }, + "productSoldBiddingCategoryLevel1": { + "description": "Bidding category (level 1) of the product sold.", + "type": "string" + }, + "productSoldBiddingCategoryLevel2": { + "description": "Bidding category (level 2) of the product sold.", + "type": "string" + }, + "productSoldBiddingCategoryLevel3": { + "description": "Bidding category (level 3) of the product sold.", + "type": "string" + }, + "productSoldBiddingCategoryLevel4": { + "description": "Bidding category (level 4) of the product sold.", + "type": "string" + }, + "productSoldBiddingCategoryLevel5": { + "description": "Bidding category (level 5) of the product sold.", + "type": "string" + }, + "productSoldBrand": { + "description": "Brand of the product sold.", + "type": "string" + }, + "productSoldCondition": { + "description": "Condition of the product sold.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "NEW", + "REFURBISHED", + "USED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The product condition is new.", + "The product condition is refurbished.", + "The product condition is used." + ], + "type": "string" + }, + "productSoldCustomAttribute0": { + "description": "Custom attribute 0 of the product sold.", + "type": "string" + }, + "productSoldCustomAttribute1": { + "description": "Custom attribute 1 of the product sold.", + "type": "string" + }, + "productSoldCustomAttribute2": { + "description": "Custom attribute 2 of the product sold.", + "type": "string" + }, + "productSoldCustomAttribute3": { + "description": "Custom attribute 3 of the product sold.", + "type": "string" + }, + "productSoldCustomAttribute4": { + "description": "Custom attribute 4 of the product sold.", + "type": "string" + }, + "productSoldItemId": { + "description": "Item ID of the product sold.", + "type": "string" + }, + "productSoldTitle": { + "description": "Title of the product sold.", + "type": "string" + }, + "productSoldTypeL1": { + "description": "Type (level 1) of the product sold.", + "type": "string" + }, + "productSoldTypeL2": { + "description": "Type (level 2) of the product sold.", + "type": "string" + }, + "productSoldTypeL3": { + "description": "Type (level 3) of the product sold.", + "type": "string" + }, + "productSoldTypeL4": { + "description": "Type (level 4) of the product sold.", + "type": "string" + }, + "productSoldTypeL5": { + "description": "Type (level 5) of the product sold.", + "type": "string" + }, + "productStoreId": { + "description": "Store ID of the product.", + "type": "string" + }, + "productTitle": { + "description": "Title of the product.", + "type": "string" + }, + "productTypeL1": { + "description": "Type (level 1) of the product.", + "type": "string" + }, + "productTypeL2": { + "description": "Type (level 2) of the product.", + "type": "string" + }, + "productTypeL3": { + "description": "Type (level 3) of the product.", + "type": "string" + }, + "productTypeL4": { + "description": "Type (level 4) of the product.", + "type": "string" + }, + "productTypeL5": { + "description": "Type (level 5) of the product.", + "type": "string" + }, + "quarter": { + "description": "Quarter as represented by the date of the first day of a quarter. Uses the calendar year for quarters, for example, the second quarter of 2018 starts on 2018-04-01. Formatted as yyyy-MM-dd.", + "type": "string" + }, + "rawEventConversionDimensions": { + "description": "The raw event conversion dimensions.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__Value" + }, + "type": "array" + }, + "verticalAdsEventParticipantDisplayNames": { + "description": "The display names of participants in an event listing, like performers, speakers, or teams.", + "type": "string" + }, + "verticalAdsHotelClass": { + "description": "The class of the hotel. Generally in the range of 1 to 5 stars, but fully customizable in the hotel feed.", + "format": "int64", + "type": "string" + }, + "verticalAdsListing": { + "description": "The listing associated with a listing impression, click or conversion.", + "type": "string" + }, + "verticalAdsListingBrand": { + "description": "The brand associated with a specific listing within a Vertical Ads context, for example, the brand of a car rental, a vacation home, or an event.", + "type": "string" + }, + "verticalAdsListingCity": { + "description": "The city where the vertical ads listing is located.", + "type": "string" + }, + "verticalAdsListingCountry": { + "description": "The country where the vertical ads listing is located.", + "type": "string" + }, + "verticalAdsListingRegion": { + "description": "The region where the vertical ads listing is located.", + "type": "string" + }, + "verticalAdsPartnerAccount": { + "description": "A specific partner account within a Partner Center (for example, Hotel Center) that supplies inventory feed data for Vertical Ads.", + "format": "int64", + "type": "string" + }, + "verticalAdsVertical": { + "description": "Type of vertical ad, such as Vacation Rentals, Car Rentals, or Events, used to categorize and segment data in the context of Vertical Ads.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "HOTELS", + "VACATION_RENTALS", + "RENTAL_CARS", + "EVENTS", + "THINGS_TO_DO", + "FLIGHTS" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Hotels travel vertical.", + "Vacation rentals travel vertical.", + "Rental cars travel vertical.", + "Events travel vertical.", + "Things to do travel vertical.", + "Flights travel vertical." + ], + "type": "string" + }, + "week": { + "description": "Week as defined as Monday through Sunday, and represented by the date of Monday. Formatted as yyyy-MM-dd.", + "type": "string" + }, + "year": { + "description": "Year, formatted as yyyy.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__ShoppingComparisonListingAdInfo": { + "description": "A Shopping Comparison Listing ad.", + "id": "GoogleAdsSearchads360V23Common__ShoppingComparisonListingAdInfo", + "properties": { + "headline": { + "description": "Headline of the ad. This field is required. Allowed length is between 25 and 45 characters.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__ShoppingLoyalty": { + "description": "The shopping loyalty related data. Shopping utilizes this data to provide users with a better experience. Accessible only to merchants on the allow-list.", + "id": "GoogleAdsSearchads360V23Common__ShoppingLoyalty", + "properties": { + "loyaltyTier": { + "description": "The membership tier. It is a free-form string as each merchant may have their own loyalty system. For example, it could be a number from 1 to 10, or a string such as \"Golden\" or \"Silver\", or even empty string \"\".", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__ShoppingProductAdInfo": { + "description": "A standard Shopping ad.", + "id": "GoogleAdsSearchads360V23Common__ShoppingProductAdInfo", + "properties": {}, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__ShoppingSmartAdInfo": { + "description": "A Smart Shopping ad.", + "id": "GoogleAdsSearchads360V23Common__ShoppingSmartAdInfo", + "properties": {}, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__SimilarUserListInfo": { + "description": "SimilarUserList is a list of users which are similar to users from another UserList. These lists are read-only and automatically created by Google.", + "id": "GoogleAdsSearchads360V23Common__SimilarUserListInfo", + "properties": { + "seedUserList": { + "description": "Seed UserList from which this list is derived.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__SitelinkAsset": { + "description": "A Sitelink asset.", + "id": "GoogleAdsSearchads360V23Common__SitelinkAsset", + "properties": { + "adScheduleTargets": { + "description": "List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AdScheduleInfo" + }, + "type": "array" + }, + "description1": { + "description": "First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.", + "type": "string" + }, + "description2": { + "description": "Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.", + "type": "string" + }, + "endDate": { + "description": "Last date of when this asset is effective and still serving, in yyyy-MM-dd format.", + "type": "string" + }, + "linkText": { + "description": "Required. URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.", + "type": "string" + }, + "startDate": { + "description": "Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__SitelinkFeedItem": { + "description": "Represents a sitelink.", + "id": "GoogleAdsSearchads360V23Common__SitelinkFeedItem", + "properties": { + "finalMobileUrls": { + "description": "A list of possible final mobile URLs after all cross domain redirects.", + "items": { + "type": "string" + }, + "type": "array" + }, + "finalUrlSuffix": { + "description": "Final URL suffix to be appended to landing page URLs served with parallel tracking.", + "type": "string" + }, + "finalUrls": { + "description": "A list of possible final URLs after all cross domain redirects.", + "items": { + "type": "string" + }, + "type": "array" + }, + "line1": { + "description": "First line of the description for the sitelink. If this value is set, line2 must also be set. The length of this string should be between 0 and 35, inclusive.", + "type": "string" + }, + "line2": { + "description": "Second line of the description for the sitelink. If this value is set, line1 must also be set. The length of this string should be between 0 and 35, inclusive.", + "type": "string" + }, + "linkText": { + "description": "URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.", + "type": "string" + }, + "trackingUrlTemplate": { + "description": "URL template for constructing a tracking URL.", + "type": "string" + }, + "urlCustomParameters": { + "description": "A list of mappings to be used for substituting URL custom parameter tags in the tracking_url_template, final_urls, and/or final_mobile_urls.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__CustomParameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__SmartCampaignAdInfo": { + "description": "A Smart campaign ad.", + "id": "GoogleAdsSearchads360V23Common__SmartCampaignAdInfo", + "properties": { + "descriptions": { + "description": "List of text assets, each of which corresponds to a description when the ad serves. This list consists of a minimum of 2 and up to 4 text assets.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AdTextAsset" + }, + "type": "array" + }, + "headlines": { + "description": "List of text assets, each of which corresponds to a headline when the ad serves. This list consists of a minimum of 3 and up to 15 text assets.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AdTextAsset" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__StoreAttribute": { + "description": "Store attributes of the transaction.", + "id": "GoogleAdsSearchads360V23Common__StoreAttribute", + "properties": { + "storeCode": { + "description": "Store code from https://support.google.com/business/answer/3370250#storecode", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__StoreSalesMetadata": { + "description": "Metadata for Store Sales Direct.", + "id": "GoogleAdsSearchads360V23Common__StoreSalesMetadata", + "properties": { + "customKey": { + "description": "Name of the store sales custom variable key. A predefined key that can be applied to the transaction and then later used for custom segmentation in reporting. Accessible only to customers on the allow-list.", + "type": "string" + }, + "loyaltyFraction": { + "description": "This is the fraction of all transactions that are identifiable (for example, associated with any form of customer information). Required. The fraction needs to be between 0 and 1 (excluding 0).", + "format": "double", + "type": "number" + }, + "thirdPartyMetadata": { + "$ref": "GoogleAdsSearchads360V23Common__StoreSalesThirdPartyMetadata", + "description": "Metadata for a third party Store Sales upload." + }, + "transactionUploadFraction": { + "description": "This is the ratio of sales being uploaded compared to the overall sales that can be associated with a customer. Required. The fraction needs to be between 0 and 1 (excluding 0). For example, if you upload half the sales that you are able to associate with a customer, this would be 0.5.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__StoreSalesThirdPartyMetadata": { + "description": "Metadata for a third party Store Sales. This product is only for customers on the allow-list. Contact your Google business development representative for details on the upload configuration.", + "id": "GoogleAdsSearchads360V23Common__StoreSalesThirdPartyMetadata", + "properties": { + "advertiserUploadDateTime": { + "description": "Time the advertiser uploaded the data to the partner. Required. The format is \"YYYY-MM-DD HH:MM:SS\". Examples: \"2018-03-05 09:15:00\" or \"2018-02-01 14:34:30\"", + "type": "string" + }, + "bridgeMapVersionId": { + "description": "Version of partner IDs to be used for uploads. Required.", + "type": "string" + }, + "partnerId": { + "description": "ID of the third party partner updating the transaction feed.", + "format": "int64", + "type": "string" + }, + "partnerMatchFraction": { + "description": "The fraction of valid transactions that are matched to a third party assigned user ID on the partner side. Required. The fraction needs to be between 0 and 1 (excluding 0).", + "format": "double", + "type": "number" + }, + "partnerUploadFraction": { + "description": "The fraction of valid transactions that are uploaded by the partner to Google. Required. The fraction needs to be between 0 and 1 (excluding 0).", + "format": "double", + "type": "number" + }, + "validTransactionFraction": { + "description": "The fraction of transactions that are valid. Invalid transactions may include invalid formats or values. Required. The fraction needs to be between 0 and 1 (excluding 0).", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__StructuredSnippetAsset": { + "description": "A Structured Snippet asset.", + "id": "GoogleAdsSearchads360V23Common__StructuredSnippetAsset", + "properties": { + "header": { + "description": "Required. The header of the snippet. This string should be one of the predefined values at https://developers.google.com/google-ads/api/reference/data/structured-snippet-headers", + "type": "string" + }, + "values": { + "description": "Required. The values in the snippet. The size of this collection should be between 3 and 10, inclusive. The length of each value should be between 1 and 25 characters, inclusive.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__TagSnippet": { + "description": "The site tag and event snippet pair for a TrackingCodeType.", + "id": "GoogleAdsSearchads360V23Common__TagSnippet", + "properties": { + "eventSnippet": { + "description": "The event snippet that works with the site tag to track actions that should be counted as conversions.", + "type": "string" + }, + "globalSiteTag": { + "description": "The site tag that adds visitors to your basic remarketing lists and sets new cookies on your domain.", + "type": "string" + }, + "pageFormat": { + "description": "The format of the web page where the tracking tag and snippet will be installed, for example, HTML.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "HTML", + "AMP" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Standard HTML page format.", + "Google AMP page format." + ], + "type": "string" + }, + "type": { + "description": "The type of the generated tag snippets for tracking conversions.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "WEBPAGE", + "WEBPAGE_ONCLICK", + "CLICK_TO_CALL", + "WEBSITE_CALL" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The snippet that is fired as a result of a website page loading.", + "The snippet contains a JavaScript function which fires the tag. This function is typically called from an onClick handler added to a link or button element on the page.", + "For embedding on a mobile webpage. The snippet contains a JavaScript function which fires the tag.", + "The snippet that is used to replace the phone number on your website with a Google forwarding number for call tracking purposes." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__TargetCpa": { + "description": "An automated bid strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set.", + "id": "GoogleAdsSearchads360V23Common__TargetCpa", + "properties": { + "cpcBidCeilingMicros": { + "description": "Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.", + "format": "int64", + "type": "string" + }, + "cpcBidFloorMicros": { + "description": "Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.", + "format": "int64", + "type": "string" + }, + "targetCpaMicros": { + "description": "Average CPA target. This target should be greater than or equal to minimum billable unit based on the currency for the account.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__TargetCpaSimulationPoint": { + "description": "Projected metrics for a specific target CPA amount.", + "id": "GoogleAdsSearchads360V23Common__TargetCpaSimulationPoint", + "properties": { + "appInstalls": { + "description": "Projected number of app installs.", + "format": "double", + "type": "number" + }, + "biddableConversions": { + "description": "Projected number of biddable conversions.", + "format": "double", + "type": "number" + }, + "biddableConversionsValue": { + "description": "Projected total value of biddable conversions.", + "format": "double", + "type": "number" + }, + "clicks": { + "description": "Projected number of clicks.", + "format": "int64", + "type": "string" + }, + "costMicros": { + "description": "Projected cost in micros.", + "format": "int64", + "type": "string" + }, + "impressions": { + "description": "Projected number of impressions.", + "format": "int64", + "type": "string" + }, + "inAppActions": { + "description": "Projected number of in-app actions.", + "format": "double", + "type": "number" + }, + "interactions": { + "description": "Projected number of interactions. Only discovery advertising channel type supports this field.", + "format": "int64", + "type": "string" + }, + "requiredBudgetAmountMicros": { + "description": "Projected required daily budget that the advertiser must set in order to receive the estimated traffic, in micros of advertiser currency.", + "format": "int64", + "type": "string" + }, + "targetCpaMicros": { + "description": "The simulated target CPA upon which projected metrics are based.", + "format": "int64", + "type": "string" + }, + "targetCpaScalingModifier": { + "description": "The simulated scaling modifier upon which projected metrics are based. All CPA targets relevant to the simulated entity are scaled by this modifier.", + "format": "double", + "type": "number" + }, + "topSlotImpressions": { + "description": "Projected number of top slot impressions. Only search advertising channel type supports this field.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__TargetCpaSimulationPointList": { + "description": "A container for simulation points for simulations of type TARGET_CPA.", + "id": "GoogleAdsSearchads360V23Common__TargetCpaSimulationPointList", + "properties": { + "points": { + "description": "Projected metrics for a series of target CPA amounts.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__TargetCpaSimulationPoint" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__TargetCpc": { + "description": "An automated bidding strategy that sets bids to help get as many clicks as possible at the target cost-per-click (CPC) you set.", + "id": "GoogleAdsSearchads360V23Common__TargetCpc", + "properties": { + "targetCpcMicros": { + "description": "Average CPC target. This target should be greater than or equal to minimum billable unit based on the currency for the account.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__TargetCpm": { + "description": "Target CPM (cost per thousand impressions) is an automated bidding strategy that sets bids to optimize performance given the target CPM you set.", + "id": "GoogleAdsSearchads360V23Common__TargetCpm", + "properties": {}, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__TargetImpressionShare": { + "description": "An automated bidding strategy that sets bids so that a certain percentage of search ads are shown at the top of the first page (or other targeted location).", + "id": "GoogleAdsSearchads360V23Common__TargetImpressionShare", + "properties": { + "cpcBidCeilingMicros": { + "description": "The highest CPC bid the automated bidding system is permitted to specify. This is a required field entered by the advertiser that sets the ceiling and specified in local micros.", + "format": "int64", + "type": "string" + }, + "location": { + "description": "The targeted location on the search results page.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ANYWHERE_ON_PAGE", + "TOP_OF_PAGE", + "ABSOLUTE_TOP_OF_PAGE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Any location on the web page.", + "Top box of ads.", + "Top slot in the top box of ads." + ], + "type": "string" + }, + "locationFractionMicros": { + "description": "The chosen fraction of ads to be shown in the targeted location in micros. For example, 1% equals 10,000.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__TargetImpressionShareSimulationPoint": { + "description": "Projected metrics for a specific target impression share value.", + "id": "GoogleAdsSearchads360V23Common__TargetImpressionShareSimulationPoint", + "properties": { + "absoluteTopImpressions": { + "description": "Projected number of absolute top impressions. Only search advertising channel type supports this field.", + "format": "int64", + "type": "string" + }, + "biddableConversions": { + "description": "Projected number of biddable conversions.", + "format": "double", + "type": "number" + }, + "biddableConversionsValue": { + "description": "Projected total value of biddable conversions.", + "format": "double", + "type": "number" + }, + "clicks": { + "description": "Projected number of clicks.", + "format": "int64", + "type": "string" + }, + "costMicros": { + "description": "Projected cost in micros.", + "format": "int64", + "type": "string" + }, + "impressions": { + "description": "Projected number of impressions.", + "format": "int64", + "type": "string" + }, + "requiredBudgetAmountMicros": { + "description": "Projected required daily budget that the advertiser must set in order to receive the estimated traffic, in micros of advertiser currency.", + "format": "int64", + "type": "string" + }, + "requiredCpcBidCeilingMicros": { + "description": "Projected required daily cpc bid ceiling that the advertiser must set to realize this simulation, in micros of the advertiser currency.", + "format": "int64", + "type": "string" + }, + "targetImpressionShareMicros": { + "description": "The simulated target impression share value (in micros) upon which projected metrics are based. For example, 10% impression share, which is equal to 0.1, is stored as 100_000. This value is validated and will not exceed 1M (100%).", + "format": "int64", + "type": "string" + }, + "topSlotImpressions": { + "description": "Projected number of top slot impressions. Only search advertising channel type supports this field.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__TargetImpressionShareSimulationPointList": { + "description": "A container for simulation points for simulations of type TARGET_IMPRESSION_SHARE.", + "id": "GoogleAdsSearchads360V23Common__TargetImpressionShareSimulationPointList", + "properties": { + "points": { + "description": "Projected metrics for a specific target impression share value.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__TargetImpressionShareSimulationPoint" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__TargetRestriction": { + "description": "The list of per-targeting-dimension targeting settings.", + "id": "GoogleAdsSearchads360V23Common__TargetRestriction", + "properties": { + "bidOnly": { + "description": "Indicates whether to restrict your ads to show only for the criteria you have selected for this targeting_dimension, or to target all values for this targeting_dimension and show ads based on your targeting in other TargetingDimensions. A value of `true` means that these criteria will only apply bid modifiers, and not affect targeting. A value of `false` means that these criteria will restrict targeting as well as applying bid modifiers.", + "type": "boolean" + }, + "targetingDimension": { + "description": "The targeting dimension that these settings apply to.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "KEYWORD", + "AUDIENCE", + "TOPIC", + "GENDER", + "AGE_RANGE", + "PLACEMENT", + "PARENTAL_STATUS", + "INCOME_RANGE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Keyword criteria, for example, 'mars cruise'. KEYWORD may be used as a custom bid dimension. Keywords are always a targeting dimension, so may not be set as a target \"ALL\" dimension with TargetRestriction.", + "Audience criteria, which include user list, user interest, custom affinity, and custom in market.", + "Topic criteria for targeting categories of content, for example, 'category::Animals>Pets' Used for Display and Video targeting.", + "Criteria for targeting gender.", + "Criteria for targeting age ranges.", + "Placement criteria, which include websites like 'www.flowers4sale.com', as well as mobile applications, mobile app categories, YouTube videos, and YouTube channels.", + "Criteria for parental status targeting.", + "Criteria for income range targeting." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__TargetRestrictionOperation": { + "description": "Operation to be performed on a target restriction list in a mutate.", + "id": "GoogleAdsSearchads360V23Common__TargetRestrictionOperation", + "properties": { + "operator": { + "description": "Type of list operation to perform.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ADD", + "REMOVE" + ], + "enumDescriptions": [ + "Unspecified.", + "Used for return value only. Represents value unknown in this version.", + "Add the restriction to the existing restrictions.", + "Remove the restriction from the existing restrictions." + ], + "type": "string" + }, + "value": { + "$ref": "GoogleAdsSearchads360V23Common__TargetRestriction", + "description": "The target restriction being added to or removed from the list." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__TargetRoas": { + "description": "An automated bidding strategy that helps you maximize revenue while averaging a specific target return on ad spend (ROAS).", + "id": "GoogleAdsSearchads360V23Common__TargetRoas", + "properties": { + "cpcBidCeilingMicros": { + "description": "Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.", + "format": "int64", + "type": "string" + }, + "cpcBidFloorMicros": { + "description": "Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.", + "format": "int64", + "type": "string" + }, + "targetRoas": { + "description": "Required. The chosen revenue (based on conversion data) per unit of spend. Value must be between 0.01 and 1000.0, inclusive.", + "format": "double", + "type": "number" + }, + "targetRoasTolerancePercentMillis": { + "description": "The percent of ROAS(return on advertising spend) degradation tolerance allowed to increase traffic diversity and conversion volume, specified in millis (for example, 10,000 = 10%). A value of 10,000 means that the advertiser can expect ROAS degradation of up to 10% of the specified target ROAS. This field is only mutable for portfolio bidding strategies.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__TargetRoasSimulationPoint": { + "description": "Projected metrics for a specific target ROAS amount.", + "id": "GoogleAdsSearchads360V23Common__TargetRoasSimulationPoint", + "properties": { + "biddableConversions": { + "description": "Projected number of biddable conversions.", + "format": "double", + "type": "number" + }, + "biddableConversionsValue": { + "description": "Projected total value of biddable conversions.", + "format": "double", + "type": "number" + }, + "clicks": { + "description": "Projected number of clicks.", + "format": "int64", + "type": "string" + }, + "costMicros": { + "description": "Projected cost in micros.", + "format": "int64", + "type": "string" + }, + "impressions": { + "description": "Projected number of impressions.", + "format": "int64", + "type": "string" + }, + "requiredBudgetAmountMicros": { + "description": "Projected required daily budget that the advertiser must set in order to receive the estimated traffic, in micros of advertiser currency.", + "format": "int64", + "type": "string" + }, + "targetRoas": { + "description": "The simulated target ROAS upon which projected metrics are based.", + "format": "double", + "type": "number" + }, + "topSlotImpressions": { + "description": "Projected number of top slot impressions. Only Search advertising channel type supports this field.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__TargetRoasSimulationPointList": { + "description": "A container for simulation points for simulations of type TARGET_ROAS.", + "id": "GoogleAdsSearchads360V23Common__TargetRoasSimulationPointList", + "properties": { + "points": { + "description": "Projected metrics for a series of target ROAS amounts.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__TargetRoasSimulationPoint" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__TargetSpend": { + "description": "An automated bid strategy that sets your bids to help get as many clicks as possible within your budget.", + "id": "GoogleAdsSearchads360V23Common__TargetSpend", + "properties": { + "cpcBidCeilingMicros": { + "description": "Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy.", + "format": "int64", + "type": "string" + }, + "targetSpendMicros": { + "deprecated": true, + "description": "Deprecated: The spend target under which to maximize clicks. A TargetSpend bidder will attempt to spend the smaller of this value or the natural throttling spend amount. If not specified, the budget is used as the spend target. This field is deprecated and should no longer be used. See https://ads-developers.googleblog.com/2020/05/reminder-about-sunset-creation-of.html for details.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__TargetingSetting": { + "description": "Settings for the targeting-related features, at the campaign and ad group levels. For more details about the targeting setting, visit https://support.google.com/google-ads/answer/7365594", + "id": "GoogleAdsSearchads360V23Common__TargetingSetting", + "properties": { + "targetRestrictionOperations": { + "description": "The list of operations changing the target restrictions. Adding a target restriction with a targeting dimension that already exists causes the existing target restriction to be replaced with the new value.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__TargetRestrictionOperation" + }, + "type": "array" + }, + "targetRestrictions": { + "description": "The per-targeting-dimension setting to restrict the reach of your campaign or ad group.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__TargetRestriction" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__TextAdInfo": { + "description": "A text ad.", + "id": "GoogleAdsSearchads360V23Common__TextAdInfo", + "properties": { + "description1": { + "description": "The first line of the ad's description.", + "type": "string" + }, + "description2": { + "description": "The second line of the ad's description.", + "type": "string" + }, + "headline": { + "description": "The headline of the ad.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__TextAsset": { + "description": "A Text asset.", + "id": "GoogleAdsSearchads360V23Common__TextAsset", + "properties": { + "text": { + "description": "Text content of the text asset.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__TextLabel": { + "description": "A type of label displaying text on a colored background.", + "id": "GoogleAdsSearchads360V23Common__TextLabel", + "properties": { + "backgroundColor": { + "description": "Background color of the label in HEX format. This string must match the regular expression '^\\#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$'. Note: The background color may not be visible for manager accounts.", + "type": "string" + }, + "description": { + "description": "A short description of the label. The length must be no more than 200 characters.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__ThirdPartyIntegrationPartnerData": { + "description": "Contains third party measurement partner related data for video campaigns.", + "id": "GoogleAdsSearchads360V23Common__ThirdPartyIntegrationPartnerData", + "properties": { + "clientId": { + "description": "The client ID that allows the measurement partner to join multiple campaigns for a particular advertiser.", + "type": "string" + }, + "thirdPartyPlacementId": { + "description": "The third party placement ID that maps the measurement partner data with a campaign (or a group of related campaigns) specific data.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__TopicInfo": { + "description": "A topic criterion. Use topics to target or exclude placements in the Google Display Network based on the category into which the placement falls (for example, \"Pets & Animals/Pets/Dogs\").", + "id": "GoogleAdsSearchads360V23Common__TopicInfo", + "properties": { + "path": { + "description": "The category to target or exclude. Each subsequent element in the array describes a more specific sub-category. For example, \"Pets & Animals\", \"Pets\", \"Dogs\" represents the \"Pets & Animals/Pets/Dogs\" category.", + "items": { + "type": "string" + }, + "type": "array" + }, + "topicConstant": { + "description": "The Topic Constant resource name.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__TransactionAttribute": { + "description": "Attribute of the store sales transaction.", + "id": "GoogleAdsSearchads360V23Common__TransactionAttribute", + "properties": { + "conversionAction": { + "description": "The resource name of conversion action to report conversions to. Required.", + "type": "string" + }, + "currencyCode": { + "description": "Transaction currency code. ISO 4217 three-letter code is used. Required.", + "type": "string" + }, + "customValue": { + "description": "Value of the custom variable for each transaction. Allowed only if a custom key is provided in the store sales metadata.", + "type": "string" + }, + "itemAttribute": { + "$ref": "GoogleAdsSearchads360V23Common__ItemAttribute", + "description": "Item attributes of the transaction. Accessible only to customers on the allow-list." + }, + "orderId": { + "description": "Transaction order id. Useful to group transactions which are part of the same order.", + "type": "string" + }, + "storeAttribute": { + "$ref": "GoogleAdsSearchads360V23Common__StoreAttribute", + "description": "Store attributes of the transaction." + }, + "transactionAmountMicros": { + "description": "Transaction amount in micros. Required. Transaction amount in micros needs to be greater than 1000. If item Attributes are provided, it represents the total value of the items, after multiplying the unit price per item by the quantity provided in the ItemAttributes.", + "format": "double", + "type": "number" + }, + "transactionDateTime": { + "description": "Timestamp when transaction occurred. Required. The format is \"YYYY-MM-DD HH:MM:SS[+/-HH:MM]\", where [+/-HH:MM] is an optional timezone offset from UTC. If the offset is absent, the API will use the account's timezone as default. Examples: \"2018-03-05 09:15:00\" or \"2018-02-01 14:34:30+03:00\"", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__TravelAdInfo": { + "description": "A travel ad.", + "id": "GoogleAdsSearchads360V23Common__TravelAdInfo", + "properties": {}, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__UnifiedCallAsset": { + "description": "A unified call asset.", + "id": "GoogleAdsSearchads360V23Common__UnifiedCallAsset", + "properties": { + "adScheduleTargets": { + "description": "List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AdScheduleInfo" + }, + "type": "array" + }, + "callConversionAction": { + "description": "The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.", + "type": "string" + }, + "callConversionReportingState": { + "description": "Output only. Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "DISABLED", + "USE_ACCOUNT_LEVEL_CALL_CONVERSION_ACTION", + "USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Call conversion action is disabled.", + "Call conversion action will use call conversion type set at the account level.", + "Call conversion action will use call conversion type set at the resource (call only ads/call extensions) level." + ], + "readOnly": true, + "type": "string" + }, + "callOnly": { + "description": "Whether the call only shows the phone number without a link to the website. Applies to Microsoft Ads.", + "type": "boolean" + }, + "callTrackingEnabled": { + "description": "Whether the call should be enabled on call tracking. Applies to Microsoft Ads.", + "type": "boolean" + }, + "countryCode": { + "description": "Two-letter country code of the phone number. Examples: 'US', 'us'.", + "type": "string" + }, + "endDate": { + "description": "Last date of when this asset is effective and still serving, in yyyy-MM-dd format.", + "type": "string" + }, + "phoneNumber": { + "description": "The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890'", + "type": "string" + }, + "startDate": { + "description": "Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.", + "type": "string" + }, + "useSearcherTimeZone": { + "description": "Whether to show the call extension in search user's time zone. Applies to Microsoft Ads.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__UnifiedCalloutAsset": { + "description": "A unified callout asset.", + "id": "GoogleAdsSearchads360V23Common__UnifiedCalloutAsset", + "properties": { + "adScheduleTargets": { + "description": "List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AdScheduleInfo" + }, + "type": "array" + }, + "calloutText": { + "description": "The callout text. The length of this string should be between 1 and 25, inclusive.", + "type": "string" + }, + "endDate": { + "description": "Last date of when this asset is effective and still serving, in yyyy-MM-dd format.", + "type": "string" + }, + "startDate": { + "description": "Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.", + "type": "string" + }, + "useSearcherTimeZone": { + "description": "Whether to show the asset in search user's time zone. Applies to Microsoft Ads.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__UnifiedLocationAsset": { + "description": "A unified location asset.", + "id": "GoogleAdsSearchads360V23Common__UnifiedLocationAsset", + "properties": { + "businessProfileLocations": { + "description": "The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__BusinessProfileLocation" + }, + "type": "array" + }, + "locationOwnershipType": { + "description": "The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "BUSINESS_OWNER", + "AFFILIATE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Business Owner of location(legacy location extension - LE).", + "Affiliate location(Third party location extension - ALE)." + ], + "type": "string" + }, + "placeId": { + "description": "Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__UnifiedPageFeedAsset": { + "description": "A Unified Page Feed asset.", + "id": "GoogleAdsSearchads360V23Common__UnifiedPageFeedAsset", + "properties": { + "labels": { + "description": "Labels used to group the page urls.", + "items": { + "type": "string" + }, + "type": "array" + }, + "pageUrl": { + "description": "The webpage that advertisers want to target.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__UnifiedSitelinkAsset": { + "description": "A unified sitelink asset.", + "id": "GoogleAdsSearchads360V23Common__UnifiedSitelinkAsset", + "properties": { + "adScheduleTargets": { + "description": "List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AdScheduleInfo" + }, + "type": "array" + }, + "description1": { + "description": "First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set.", + "type": "string" + }, + "description2": { + "description": "Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set.", + "type": "string" + }, + "endDate": { + "description": "Last date of when this asset is effective and still serving, in yyyy-MM-dd format.", + "type": "string" + }, + "linkText": { + "description": "URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive.", + "type": "string" + }, + "mobilePreferred": { + "description": "Whether the preference is for the sitelink asset to be displayed on mobile devices. Applies to Microsoft Ads.", + "type": "boolean" + }, + "startDate": { + "description": "Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format.", + "type": "string" + }, + "trackingId": { + "description": "ID used for tracking clicks for the sitelink asset. This is a Yahoo! Japan only field.", + "format": "int64", + "type": "string" + }, + "useSearcherTimeZone": { + "description": "Whether to show the sitelink asset in search user's time zone. Applies to Microsoft Ads.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__UnknownListingDimensionInfo": { + "description": "Unknown listing dimension.", + "id": "GoogleAdsSearchads360V23Common__UnknownListingDimensionInfo", + "properties": {}, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__UrlCollection": { + "description": "Collection of urls that is tagged with a unique identifier.", + "id": "GoogleAdsSearchads360V23Common__UrlCollection", + "properties": { + "finalMobileUrls": { + "description": "A list of possible final mobile URLs.", + "items": { + "type": "string" + }, + "type": "array" + }, + "finalUrls": { + "description": "A list of possible final URLs.", + "items": { + "type": "string" + }, + "type": "array" + }, + "trackingUrlTemplate": { + "description": "URL template for constructing a tracking URL.", + "type": "string" + }, + "urlCollectionId": { + "description": "Unique identifier for this UrlCollection instance.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__UserAttribute": { + "description": "User attribute, can only be used with CUSTOMER_MATCH_WITH_ATTRIBUTES job type.", + "id": "GoogleAdsSearchads360V23Common__UserAttribute", + "properties": { + "acquisitionDateTime": { + "description": "Timestamp when the user was acquired. The format is YYYY-MM-DD HH:MM:SS[+/-HH:MM], where [+/-HH:MM] is an optional timezone offset from UTC. If the offset is absent, the API will use the account's timezone as default.", + "type": "string" + }, + "averagePurchaseCount": { + "description": "Advertiser defined average number of purchases that are made by the user in a 30 day period.", + "format": "int32", + "type": "integer" + }, + "averagePurchaseValueMicros": { + "description": "Advertiser defined average purchase value in micros for the user.", + "format": "int64", + "type": "string" + }, + "eventAttribute": { + "description": "Optional. Advertiser defined events and their attributes. All the values in the nested fields are required. Currently this field is in beta.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__EventAttribute" + }, + "type": "array" + }, + "firstPurchaseDateTime": { + "description": "Optional. Timestamp of the first purchase made by the user. The format is YYYY-MM-DD HH:MM:SS[+/-HH:MM], where [+/-HH:MM] is an optional timezone offset from UTC. If the offset is absent, the API will use the account's timezone as default.", + "type": "string" + }, + "lastPurchaseDateTime": { + "description": "Timestamp of the last purchase made by the user. The format is YYYY-MM-DD HH:MM:SS[+/-HH:MM], where [+/-HH:MM] is an optional timezone offset from UTC. If the offset is absent, the API will use the account's timezone as default.", + "type": "string" + }, + "lifecycleStage": { + "description": "Optional. Advertiser defined lifecycle stage for the user. The accepted values are \"Lead\", \"Active\" and \"Churned\".", + "type": "string" + }, + "lifetimeValueBucket": { + "description": "Advertiser defined lifetime value bucket for the user. The valid range for a lifetime value bucket is from 1 (low) to 10 (high), except for remove operation where 0 will also be accepted.", + "format": "int32", + "type": "integer" + }, + "lifetimeValueMicros": { + "description": "Advertiser defined lifetime value for the user.", + "format": "int64", + "type": "string" + }, + "shoppingLoyalty": { + "$ref": "GoogleAdsSearchads360V23Common__ShoppingLoyalty", + "description": "The shopping loyalty related data. Shopping utilizes this data to provide users with a better experience. Accessible only to merchants on the allow-list with the user's consent." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__UserData": { + "description": "User data holding user identifiers and attributes.", + "id": "GoogleAdsSearchads360V23Common__UserData", + "properties": { + "consent": { + "$ref": "GoogleAdsSearchads360V23Common__Consent", + "description": "The consent setting for the user. If set, will override the job level consent for this user." + }, + "transactionAttribute": { + "$ref": "GoogleAdsSearchads360V23Common__TransactionAttribute", + "description": "Additional transactions/attributes associated with the user. Required when updating store sales data." + }, + "userAttribute": { + "$ref": "GoogleAdsSearchads360V23Common__UserAttribute", + "description": "Additional attributes associated with the user. Required when updating customer match attributes. These have an expiration of 540 days." + }, + "userIdentifiers": { + "description": "User identification info.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__UserIdentifier" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__UserIdentifier": { + "description": "identifying information.", + "id": "GoogleAdsSearchads360V23Common__UserIdentifier", + "properties": { + "addressInfo": { + "$ref": "GoogleAdsSearchads360V23Common__OfflineUserAddressInfo", + "description": "Address information." + }, + "hashedEmail": { + "description": "Hashed email address using SHA-256 hash function after normalization.", + "type": "string" + }, + "hashedPhoneNumber": { + "description": "Hashed phone number using SHA-256 hash function after normalization (E164 standard).", + "type": "string" + }, + "mobileId": { + "description": "Mobile device ID (advertising ID/IDFA).", + "type": "string" + }, + "thirdPartyUserId": { + "description": "Advertiser-assigned user ID for Customer Match upload, or third-party-assigned user ID for", + "type": "string" + }, + "userIdentifierSource": { + "description": "Source of the user identifier when the upload is from Store Sales", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "FIRST_PARTY", + "THIRD_PARTY" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version", + "Indicates that the user identifier was provided by the first party (advertiser).", + "Indicates that the user identifier was provided by the third party (partner)." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__UserInterestAttributeMetadata": { + "description": "Metadata associated with a User Interest attribute.", + "id": "GoogleAdsSearchads360V23Common__UserInterestAttributeMetadata", + "properties": { + "userInterestDescription": { + "description": "English language text description of the user interest category (200 characters max).", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__UserInterestInfo": { + "description": "Represents a particular interest-based topic to be targeted.", + "id": "GoogleAdsSearchads360V23Common__UserInterestInfo", + "properties": { + "userInterestCategory": { + "description": "The UserInterest resource name.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__UserInterestSegment": { + "description": "User interest segment.", + "id": "GoogleAdsSearchads360V23Common__UserInterestSegment", + "properties": { + "userInterestCategory": { + "description": "The user interest resource.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__UserListActionInfo": { + "description": "Represents an action type used for building remarketing user lists.", + "id": "GoogleAdsSearchads360V23Common__UserListActionInfo", + "properties": { + "conversionAction": { + "description": "A conversion action that's not generated from remarketing.", + "type": "string" + }, + "remarketingAction": { + "description": "A remarketing action.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__UserListAttributeMetadata": { + "description": "Metadata associated with a User List attribute.", + "id": "GoogleAdsSearchads360V23Common__UserListAttributeMetadata", + "properties": { + "userListType": { + "description": "The user list type.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "REMARKETING", + "LOGICAL", + "EXTERNAL_REMARKETING", + "RULE_BASED", + "SIMILAR", + "CRM_BASED", + "LOOKALIKE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "UserList represented as a collection of conversion types.", + "UserList represented as a combination of other user lists/interests.", + "UserList created in the Google Ad Manager platform.", + "UserList associated with a rule.", + "UserList with users similar to users of another UserList.", + "UserList of first-party CRM data provided by advertiser in the form of emails or other formats.", + "LookalikeUserlist, composed of users similar to those of a configurable seed (set of UserLists)" + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__UserListDateRuleItemInfo": { + "description": "A rule item composed of a date operation.", + "id": "GoogleAdsSearchads360V23Common__UserListDateRuleItemInfo", + "properties": { + "offsetInDays": { + "description": "The relative date value of the right hand side denoted by number of days offset from now. The value field will override this field when both are present.", + "format": "int64", + "type": "string" + }, + "operator": { + "description": "Date comparison operator. This field is required and must be populated when creating new date rule item.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "EQUALS", + "NOT_EQUALS", + "BEFORE", + "AFTER" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Equals.", + "Not Equals.", + "Before.", + "After." + ], + "type": "string" + }, + "value": { + "description": "String representing date value to be compared with the rule variable. Supported date format is YYYY-MM-DD. Times are reported in the customer's time zone.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__UserListInfo": { + "description": "A User List criterion. Represents a user list that is defined by the advertiser to be targeted.", + "id": "GoogleAdsSearchads360V23Common__UserListInfo", + "properties": { + "userList": { + "description": "The User List resource name.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__UserListLogicalRuleInfo": { + "description": "A user list logical rule. A rule has a logical operator (and/or/not) and a list of user lists as operands.", + "id": "GoogleAdsSearchads360V23Common__UserListLogicalRuleInfo", + "properties": { + "operator": { + "description": "The logical operator of the rule.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ALL", + "ANY", + "NONE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "And - all of the operands.", + "Or - at least one of the operands.", + "Not - none of the operands." + ], + "type": "string" + }, + "ruleOperands": { + "description": "The list of operands of the rule.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__LogicalUserListOperandInfo" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__UserListNumberRuleItemInfo": { + "description": "A rule item composed of a number operation.", + "id": "GoogleAdsSearchads360V23Common__UserListNumberRuleItemInfo", + "properties": { + "operator": { + "description": "Number comparison operator. This field is required and must be populated when creating a new number rule item.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "GREATER_THAN", + "GREATER_THAN_OR_EQUAL", + "EQUALS", + "NOT_EQUALS", + "LESS_THAN", + "LESS_THAN_OR_EQUAL" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Greater than.", + "Greater than or equal.", + "Equals.", + "Not equals.", + "Less than.", + "Less than or equal." + ], + "type": "string" + }, + "value": { + "description": "Number value to be compared with the variable. This field is required and must be populated when creating a new number rule item.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__UserListRuleInfo": { + "description": "A client defined rule based on custom parameters sent by web sites or uploaded by the advertiser.", + "id": "GoogleAdsSearchads360V23Common__UserListRuleInfo", + "properties": { + "ruleItemGroups": { + "description": "List of rule item groups that defines this rule. Rule item groups are grouped together based on rule_type.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__UserListRuleItemGroupInfo" + }, + "type": "array" + }, + "ruleType": { + "description": "Rule type is used to determine how to group rule items. The default is OR of ANDs (disjunctive normal form). That is, rule items will be ANDed together within rule item groups and the groups themselves will be ORed together. OR of ANDs is the only supported type for FlexibleRuleUserList.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "AND_OF_ORS", + "OR_OF_ANDS" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Conjunctive normal form.", + "Disjunctive normal form." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__UserListRuleItemGroupInfo": { + "description": "A group of rule items.", + "id": "GoogleAdsSearchads360V23Common__UserListRuleItemGroupInfo", + "properties": { + "ruleItems": { + "description": "Rule items that will be grouped together based on rule_type.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__UserListRuleItemInfo" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__UserListRuleItemInfo": { + "description": "An atomic rule item.", + "id": "GoogleAdsSearchads360V23Common__UserListRuleItemInfo", + "properties": { + "dateRuleItem": { + "$ref": "GoogleAdsSearchads360V23Common__UserListDateRuleItemInfo", + "description": "An atomic rule item composed of a date operation." + }, + "name": { + "description": "Rule variable name. It should match the corresponding key name fired by the pixel. A name must begin with US-ascii letters or underscore or UTF8 code that is greater than 127 and consist of US-ascii letters or digits or underscore or UTF8 code that is greater than 127. For websites, there are two built-in variable URL (name = 'url__') and referrer URL (name = 'ref_url__'). This field must be populated when creating a new rule item.", + "type": "string" + }, + "numberRuleItem": { + "$ref": "GoogleAdsSearchads360V23Common__UserListNumberRuleItemInfo", + "description": "An atomic rule item composed of a number operation." + }, + "stringRuleItem": { + "$ref": "GoogleAdsSearchads360V23Common__UserListStringRuleItemInfo", + "description": "An atomic rule item composed of a string operation." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__UserListSegment": { + "description": "User list segment.", + "id": "GoogleAdsSearchads360V23Common__UserListSegment", + "properties": { + "userList": { + "description": "The user list resource.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__UserListStringRuleItemInfo": { + "description": "A rule item composed of a string operation.", + "id": "GoogleAdsSearchads360V23Common__UserListStringRuleItemInfo", + "properties": { + "operator": { + "description": "String comparison operator. This field is required and must be populated when creating a new string rule item.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CONTAINS", + "EQUALS", + "STARTS_WITH", + "ENDS_WITH", + "NOT_EQUALS", + "NOT_CONTAINS", + "NOT_STARTS_WITH", + "NOT_ENDS_WITH" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Contains.", + "Equals.", + "Starts with.", + "Ends with.", + "Not equals.", + "Not contains.", + "Not starts with.", + "Not ends with." + ], + "type": "string" + }, + "value": { + "description": "The right hand side of the string rule item. For URLs or referrer URLs, the value can not contain illegal URL chars such as newlines, quotes, tabs, or parentheses. This field is required and must be populated when creating a new string rule item.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__Value": { + "description": "A generic data container.", + "id": "GoogleAdsSearchads360V23Common__Value", + "properties": { + "booleanValue": { + "description": "A boolean.", + "type": "boolean" + }, + "doubleValue": { + "description": "A double.", + "format": "double", + "type": "number" + }, + "floatValue": { + "description": "A float.", + "format": "float", + "type": "number" + }, + "int64Value": { + "description": "An int64.", + "format": "int64", + "type": "string" + }, + "stringValue": { + "description": "A string.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__VerticalAdsItemGroupRuleInfo": { + "description": "A criterion to represent a single item group rule in Vertical Ads.", + "id": "GoogleAdsSearchads360V23Common__VerticalAdsItemGroupRuleInfo", + "properties": { + "cityCriterionId": { + "description": "The resource name of the Geo Target Constant for the city.", + "type": "string" + }, + "countryCriterionId": { + "description": "The resource name of the Geo Target Constant for the country.", + "type": "string" + }, + "hotelClass": { + "description": "Integer value specifying the class rating for a hotel. Ranges from 1 to 5 stars.", + "format": "int64", + "type": "string" + }, + "itemCode": { + "description": "The id specifying a particular Vertical Ad listing.", + "type": "string" + }, + "regionCriterionId": { + "description": "The resource name of the Geo Target Constant for the region.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__VerticalAdsItemGroupRuleListInfo": { + "description": "A criterion for targeting a shared set of rules for item groups in Vertical Ads (e.g., for hotel ads).", + "id": "GoogleAdsSearchads360V23Common__VerticalAdsItemGroupRuleListInfo", + "properties": { + "sharedSet": { + "description": "The shared set resource name of the vertical ads item group rule list.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__VideoLineupInfo": { + "description": "A Video lineup criterion.", + "id": "GoogleAdsSearchads360V23Common__VideoLineupInfo", + "properties": { + "videoLineupId": { + "description": "ID for a Video lineup. Contact your Google business development representative for details.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__WebhookDelivery": { + "description": "Google notifies the advertiser of leads by making HTTP calls to an endpoint they specify. The requests contain JSON matching a schema that Google publishes as part of form ads documentation.", + "id": "GoogleAdsSearchads360V23Common__WebhookDelivery", + "properties": { + "advertiserWebhookUrl": { + "description": "Webhook url specified by advertiser to send the lead.", + "type": "string" + }, + "googleSecret": { + "description": "Anti-spoofing secret set by the advertiser as part of the webhook payload.", + "type": "string" + }, + "payloadSchemaVersion": { + "description": "The schema version that this delivery instance will use.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__WebpageConditionInfo": { + "description": "Logical expression for targeting webpages of an advertiser's website.", + "id": "GoogleAdsSearchads360V23Common__WebpageConditionInfo", + "properties": { + "argument": { + "description": "Argument of webpage targeting condition.", + "type": "string" + }, + "operand": { + "description": "Operand of webpage targeting condition.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "URL", + "CATEGORY", + "PAGE_TITLE", + "PAGE_CONTENT", + "CUSTOM_LABEL" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Operand denoting a webpage URL targeting condition.", + "Operand denoting a webpage category targeting condition.", + "Operand denoting a webpage title targeting condition.", + "Operand denoting a webpage content targeting condition.", + "Operand denoting a webpage custom label targeting condition." + ], + "type": "string" + }, + "operator": { + "description": "Operator of webpage targeting condition.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "EQUALS", + "CONTAINS" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The argument web condition is equal to the compared web condition.", + "The argument web condition is part of the compared web condition." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__WebpageInfo": { + "description": "Represents a criterion for targeting webpages of an advertiser's website.", + "id": "GoogleAdsSearchads360V23Common__WebpageInfo", + "properties": { + "conditions": { + "description": "Conditions, or logical expressions, for webpage targeting. The list of webpage targeting conditions are and-ed together when evaluated for targeting. An empty list of conditions indicates all pages of the campaign's website are targeted. This field is required for CREATE operations and is prohibited on UPDATE operations.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__WebpageConditionInfo" + }, + "type": "array" + }, + "coveragePercentage": { + "description": "Website criteria coverage percentage. This is the computed percentage of website coverage based on the website target, negative website target and negative keywords in the ad group and campaign. For instance, when coverage returns as 1, it indicates it has 100% coverage. This field is read-only.", + "format": "double", + "type": "number" + }, + "criterionName": { + "description": "The name of the criterion that is defined by this parameter. The name value will be used for identifying, sorting and filtering criteria with this type of parameters. This field is required for CREATE operations and is prohibited on UPDATE operations.", + "type": "string" + }, + "sample": { + "$ref": "GoogleAdsSearchads360V23Common__WebpageSampleInfo", + "description": "List of sample urls that match the website target. This field is read-only." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__WebpageListInfo": { + "description": "Represents a list of webpage criteria.", + "id": "GoogleAdsSearchads360V23Common__WebpageListInfo", + "properties": { + "sharedSet": { + "description": "Shared set resource name of the webpage list.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__WebpageSampleInfo": { + "description": "List of sample urls that match the website target", + "id": "GoogleAdsSearchads360V23Common__WebpageSampleInfo", + "properties": { + "sampleUrls": { + "description": "Webpage sample urls", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__WhatsappBusinessMessageInfo": { + "description": "Whatsapp information to use for messaging.", + "id": "GoogleAdsSearchads360V23Common__WhatsappBusinessMessageInfo", + "properties": { + "countryCode": { + "description": "Required. Two-letter country code of the phone number. Examples: 'US', 'us'.", + "type": "string" + }, + "phoneNumber": { + "description": "Required. Whatsapp phone number of the business. Examples: '1234567890', '(123)456-7890'.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__YearMonth": { + "description": "Year month.", + "id": "GoogleAdsSearchads360V23Common__YearMonth", + "properties": { + "month": { + "description": "The month of the year. (for example, FEBRUARY).", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "JANUARY", + "FEBRUARY", + "MARCH", + "APRIL", + "MAY", + "JUNE", + "JULY", + "AUGUST", + "SEPTEMBER", + "OCTOBER", + "NOVEMBER", + "DECEMBER" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "January.", + "February.", + "March.", + "April.", + "May.", + "June.", + "July.", + "August.", + "September.", + "October.", + "November.", + "December." + ], + "type": "string" + }, + "year": { + "description": "The year (for example, 2020).", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__YearMonthRange": { + "description": "The year month range inclusive of the start and end months. Eg: A year month range to represent Jan 2020 would be: (Jan 2020, Jan 2020).", + "id": "GoogleAdsSearchads360V23Common__YearMonthRange", + "properties": { + "end": { + "$ref": "GoogleAdsSearchads360V23Common__YearMonth", + "description": "The inclusive end year month." + }, + "start": { + "$ref": "GoogleAdsSearchads360V23Common__YearMonth", + "description": "The inclusive start year month." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__YouTubeChannelAttributeMetadata": { + "description": "Metadata associated with a YouTube channel attribute.", + "id": "GoogleAdsSearchads360V23Common__YouTubeChannelAttributeMetadata", + "properties": { + "subscriberCount": { + "description": "The approximate number of subscribers to the YouTube channel.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__YouTubeChannelInfo": { + "description": "A YouTube Channel criterion.", + "id": "GoogleAdsSearchads360V23Common__YouTubeChannelInfo", + "properties": { + "channelId": { + "description": "The YouTube uploader channel id or the channel code of a YouTube channel.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__YouTubeVideoAttributeMetadata": { + "description": "Metadata for a YouTube video attribute.", + "id": "GoogleAdsSearchads360V23Common__YouTubeVideoAttributeMetadata", + "properties": { + "commentsCount": { + "description": "The total number of comments.", + "format": "int64", + "type": "string" + }, + "likesCount": { + "description": "The total number of likes.", + "format": "int64", + "type": "string" + }, + "publishDate": { + "description": "The date that the video was created. Formatted as \"yyyy-mm-dd\".", + "type": "string" + }, + "thumbnailUrl": { + "description": "The URL of the video thumbnail, prefixed by \"https://img.youtube.com/\".", + "type": "string" + }, + "videoProperties": { + "description": "The properties of this video (such as shorts, live stream).", + "items": { + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "LIVE_STREAM", + "SHORTS" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "Video is a live stream.", + "Video is Shorts eligible." + ], + "type": "string" + }, + "type": "array" + }, + "videoUrl": { + "description": "The URL of the video, prefixed by \"https://www.youtube.com/\".", + "type": "string" + }, + "viewsCount": { + "description": "The total number of views.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__YouTubeVideoInfo": { + "description": "A YouTube Video criterion.", + "id": "GoogleAdsSearchads360V23Common__YouTubeVideoInfo", + "properties": { + "videoId": { + "description": "YouTube video id as it appears on the YouTube watch page.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__YoutubeVideoAsset": { + "description": "A YouTube asset.", + "id": "GoogleAdsSearchads360V23Common__YoutubeVideoAsset", + "properties": { + "youtubeVideoId": { + "description": "YouTube video id. This is the 11 character string value used in the YouTube video URL.", + "type": "string" + }, + "youtubeVideoTitle": { + "description": "YouTube video title.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Common__ZaloBusinessMessageInfo": { + "description": "Zalo information to use for messaging.", + "id": "GoogleAdsSearchads360V23Common__ZaloBusinessMessageInfo", + "properties": { + "customName": { + "description": "Custom name generated by the advertiser for their Zalo Account. These names will usually be registered brands or trademarks.", + "type": "string" + }, + "oaId": { + "description": "Zalo Official Account ID of the advertiser.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Errors_ErrorLocation_FieldPathElement": { + "description": "A part of a field path.", + "id": "GoogleAdsSearchads360V23Errors_ErrorLocation_FieldPathElement", + "properties": { + "fieldName": { + "description": "The name of a field or a oneof", + "type": "string" + }, + "index": { + "description": "If field_name is a repeated field, this is the element that failed", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Errors__BudgetPerDayMinimumErrorDetails": { + "description": "Error details for a budget below per-day minimum error.", + "id": "GoogleAdsSearchads360V23Errors__BudgetPerDayMinimumErrorDetails", + "properties": { + "budgetPerDayMinimumMicros": { + "description": "The minimum budget required by the campaign per day, in micros of the advertiser currency. Applies to both daily and custom budgets.", + "format": "int64", + "type": "string" + }, + "currencyCode": { + "description": "The advertiser's currency, represented as a three-letter ISO 4217 currency code (such as \"USD\").", + "type": "string" + }, + "failedBudgetAmountMicros": { + "description": "The budget amount value that was rejected as too low, in micros of the advertiser currency. Only set if this error is caused by the amount field value.", + "format": "int64", + "type": "string" + }, + "failedBudgetTotalAmountMicros": { + "description": "The budget total_amount value that was rejected as too low, in micros of the advertiser currency. Only set if this error is caused by the total_amount field value.", + "format": "int64", + "type": "string" + }, + "minimumBudgetAmountMicros": { + "description": "The minimum value for the budget's amount field required by the campaign, in micros of the advertiser currency. Only set if this error is caused by the amount field value.", + "format": "int64", + "type": "string" + }, + "minimumBudgetTotalAmountMicros": { + "description": "The minimum value for the budget's total_amount field required by the campaign given its configured start and end time, in micros of the advertiser currency. Only set if this error is caused by the total_amount field value.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Errors__ErrorCode": { + "description": "The error reason represented by type and enum.", + "id": "GoogleAdsSearchads360V23Errors__ErrorCode", + "properties": { + "accessInvitationError": { + "description": "The reasons for the access invitation error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "INVALID_EMAIL_ADDRESS", + "EMAIL_ADDRESS_ALREADY_HAS_ACCESS", + "INVALID_INVITATION_STATUS", + "GOOGLE_CONSUMER_ACCOUNT_NOT_ALLOWED", + "INVALID_INVITATION_ID", + "EMAIL_ADDRESS_ALREADY_HAS_PENDING_INVITATION", + "PENDING_INVITATIONS_LIMIT_EXCEEDED", + "EMAIL_DOMAIN_POLICY_VIOLATED" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "The email address is invalid for sending an invitation.", + "Email address already has access to this customer.", + "Invalid invitation status for the operation.", + "Email address cannot be like abc+foo@google.com.", + "Invalid invitation ID.", + "Email address already has a pending invitation.", + "Pending invitation limit exceeded for the customer.", + "Email address doesn't conform to the email domain policy. See https://support.google.com/google-ads/answer/2375456" + ], + "type": "string" + }, + "accountBudgetProposalError": { + "description": "The reasons for account budget proposal errors.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "FIELD_MASK_NOT_ALLOWED", + "IMMUTABLE_FIELD", + "REQUIRED_FIELD_MISSING", + "CANNOT_CANCEL_APPROVED_PROPOSAL", + "CANNOT_REMOVE_UNAPPROVED_BUDGET", + "CANNOT_REMOVE_RUNNING_BUDGET", + "CANNOT_END_UNAPPROVED_BUDGET", + "CANNOT_END_INACTIVE_BUDGET", + "BUDGET_NAME_REQUIRED", + "CANNOT_UPDATE_OLD_BUDGET", + "CANNOT_END_IN_PAST", + "CANNOT_EXTEND_END_TIME", + "PURCHASE_ORDER_NUMBER_REQUIRED", + "PENDING_UPDATE_PROPOSAL_EXISTS", + "MULTIPLE_BUDGETS_NOT_ALLOWED_FOR_UNAPPROVED_BILLING_SETUP", + "CANNOT_UPDATE_START_TIME_FOR_STARTED_BUDGET", + "SPENDING_LIMIT_LOWER_THAN_ACCRUED_COST_NOT_ALLOWED", + "UPDATE_IS_NO_OP", + "END_TIME_MUST_FOLLOW_START_TIME", + "BUDGET_DATE_RANGE_INCOMPATIBLE_WITH_BILLING_SETUP", + "NOT_AUTHORIZED", + "INVALID_BILLING_SETUP", + "OVERLAPS_EXISTING_BUDGET", + "CANNOT_CREATE_BUDGET_THROUGH_API", + "INVALID_MASTER_SERVICE_AGREEMENT", + "CANCELED_BILLING_SETUP" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "The field mask must be empty for create/end/remove proposals.", + "The field cannot be set because of the proposal type.", + "The field is required because of the proposal type.", + "Proposals that have been approved cannot be cancelled.", + "Budgets that haven't been approved cannot be removed.", + "Budgets that are currently running cannot be removed.", + "Budgets that haven't been approved cannot be truncated.", + "Only budgets that are currently running can be truncated.", + "All budgets must have names.", + "Expired budgets cannot be edited after a sufficient amount of time has passed.", + "It is not permissible a propose a new budget that ends in the past.", + "An expired budget cannot be extended to overlap with the running budget.", + "A purchase order number is required.", + "Budgets that have a pending update cannot be updated.", + "Cannot propose more than one budget when the corresponding billing setup hasn't been approved.", + "Cannot update the start time of a budget that has already started.", + "Cannot update the spending limit of a budget with an amount lower than what has already been spent.", + "Cannot propose a budget update without actually changing any fields.", + "The end time must come after the start time.", + "The budget's date range must fall within the date range of its billing setup.", + "The user is not authorized to mutate budgets for the given billing setup.", + "Mutates are not allowed for the given billing setup.", + "Budget creation failed as it overlaps with a pending budget proposal or an approved budget.", + "The control setting in user's payments profile doesn't allow budget creation through API. Log in to Google Ads to create budget.", + "Master service agreement has not been signed yet for the Payments Profile.", + "Budget mutates are not allowed because the given billing setup is canceled." + ], + "type": "string" + }, + "accountLinkError": { + "description": "The reasons for the account link status change error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "INVALID_STATUS", + "PERMISSION_DENIED" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "The new link status is invalid.", + "The authenticated user doesn't have the permission to do the change." + ], + "type": "string" + }, + "adCustomizerError": { + "description": "The reasons for the ad customizer error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "COUNTDOWN_INVALID_DATE_FORMAT", + "COUNTDOWN_DATE_IN_PAST", + "COUNTDOWN_INVALID_LOCALE", + "COUNTDOWN_INVALID_START_DAYS_BEFORE", + "UNKNOWN_USER_LIST" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Invalid date argument in countdown function.", + "Countdown end date is in the past.", + "Invalid locale string in countdown function.", + "Days-before argument to countdown function is not positive.", + "A user list referenced in an IF function does not exist." + ], + "type": "string" + }, + "adError": { + "description": "An error with an Ad Group Ad mutate.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "AD_CUSTOMIZERS_NOT_SUPPORTED_FOR_AD_TYPE", + "APPROXIMATELY_TOO_LONG", + "APPROXIMATELY_TOO_SHORT", + "BAD_SNIPPET", + "CANNOT_MODIFY_AD", + "CANNOT_SET_BUSINESS_NAME_IF_URL_SET", + "CANNOT_SET_FIELD", + "CANNOT_SET_FIELD_WITH_ORIGIN_AD_ID_SET", + "CANNOT_SET_FIELD_WITH_AD_ID_SET_FOR_SHARING", + "CANNOT_SET_ALLOW_FLEXIBLE_COLOR_FALSE", + "CANNOT_SET_COLOR_CONTROL_WHEN_NATIVE_FORMAT_SETTING", + "CANNOT_SET_URL", + "CANNOT_SET_WITHOUT_FINAL_URLS", + "CANNOT_SET_WITH_FINAL_URLS", + "CANNOT_SET_WITH_URL_DATA", + "CANNOT_USE_AD_SUBCLASS_FOR_OPERATOR", + "CUSTOMER_NOT_APPROVED_MOBILEADS", + "CUSTOMER_NOT_APPROVED_THIRDPARTY_ADS", + "CUSTOMER_NOT_APPROVED_THIRDPARTY_REDIRECT_ADS", + "CUSTOMER_NOT_ELIGIBLE", + "CUSTOMER_NOT_ELIGIBLE_FOR_UPDATING_BEACON_URL", + "DIMENSION_ALREADY_IN_UNION", + "DIMENSION_MUST_BE_SET", + "DIMENSION_NOT_IN_UNION", + "DISPLAY_URL_CANNOT_BE_SPECIFIED", + "DOMESTIC_PHONE_NUMBER_FORMAT", + "EMERGENCY_PHONE_NUMBER", + "EMPTY_FIELD", + "FEED_ATTRIBUTE_MUST_HAVE_MAPPING_FOR_TYPE_ID", + "FEED_ATTRIBUTE_MAPPING_TYPE_MISMATCH", + "ILLEGAL_AD_CUSTOMIZER_TAG_USE", + "ILLEGAL_TAG_USE", + "INCONSISTENT_DIMENSIONS", + "INCONSISTENT_STATUS_IN_TEMPLATE_UNION", + "INCORRECT_LENGTH", + "INELIGIBLE_FOR_UPGRADE", + "INVALID_AD_ADDRESS_CAMPAIGN_TARGET", + "INVALID_AD_TYPE", + "INVALID_ATTRIBUTES_FOR_MOBILE_IMAGE", + "INVALID_ATTRIBUTES_FOR_MOBILE_TEXT", + "INVALID_CALL_TO_ACTION_TEXT", + "INVALID_CHARACTER_FOR_URL", + "INVALID_COUNTRY_CODE", + "INVALID_EXPANDED_DYNAMIC_SEARCH_AD_TAG", + "INVALID_INPUT", + "INVALID_MARKUP_LANGUAGE", + "INVALID_MOBILE_CARRIER", + "INVALID_MOBILE_CARRIER_TARGET", + "INVALID_NUMBER_OF_ELEMENTS", + "INVALID_PHONE_NUMBER_FORMAT", + "INVALID_RICH_MEDIA_CERTIFIED_VENDOR_FORMAT_ID", + "INVALID_TEMPLATE_DATA", + "INVALID_TEMPLATE_ELEMENT_FIELD_TYPE", + "INVALID_TEMPLATE_ID", + "LINE_TOO_WIDE", + "MISSING_AD_CUSTOMIZER_MAPPING", + "MISSING_ADDRESS_COMPONENT", + "MISSING_ADVERTISEMENT_NAME", + "MISSING_BUSINESS_NAME", + "MISSING_DESCRIPTION1", + "MISSING_DESCRIPTION2", + "MISSING_DESTINATION_URL_TAG", + "MISSING_LANDING_PAGE_URL_TAG", + "MISSING_DIMENSION", + "MISSING_DISPLAY_URL", + "MISSING_HEADLINE", + "MISSING_HEIGHT", + "MISSING_IMAGE", + "MISSING_MARKETING_IMAGE_OR_PRODUCT_VIDEOS", + "MISSING_MARKUP_LANGUAGES", + "MISSING_MOBILE_CARRIER", + "MISSING_PHONE", + "MISSING_REQUIRED_TEMPLATE_FIELDS", + "MISSING_TEMPLATE_FIELD_VALUE", + "MISSING_TEXT", + "MISSING_VISIBLE_URL", + "MISSING_WIDTH", + "MULTIPLE_DISTINCT_FEEDS_UNSUPPORTED", + "MUST_USE_TEMP_AD_UNION_ID_ON_ADD", + "TOO_LONG", + "TOO_SHORT", + "UNION_DIMENSIONS_CANNOT_CHANGE", + "UNKNOWN_ADDRESS_COMPONENT", + "UNKNOWN_FIELD_NAME", + "UNKNOWN_UNIQUE_NAME", + "UNSUPPORTED_DIMENSIONS", + "URL_INVALID_SCHEME", + "URL_INVALID_TOP_LEVEL_DOMAIN", + "URL_MALFORMED", + "URL_NO_HOST", + "URL_NOT_EQUIVALENT", + "URL_HOST_NAME_TOO_LONG", + "URL_NO_SCHEME", + "URL_NO_TOP_LEVEL_DOMAIN", + "URL_PATH_NOT_ALLOWED", + "URL_PORT_NOT_ALLOWED", + "URL_QUERY_NOT_ALLOWED", + "URL_SCHEME_BEFORE_EXPANDED_DYNAMIC_SEARCH_AD_TAG", + "USER_DOES_NOT_HAVE_ACCESS_TO_TEMPLATE", + "INCONSISTENT_EXPANDABLE_SETTINGS", + "INVALID_FORMAT", + "INVALID_FIELD_TEXT", + "ELEMENT_NOT_PRESENT", + "IMAGE_ERROR", + "VALUE_NOT_IN_RANGE", + "FIELD_NOT_PRESENT", + "ADDRESS_NOT_COMPLETE", + "ADDRESS_INVALID", + "VIDEO_RETRIEVAL_ERROR", + "AUDIO_ERROR", + "INVALID_YOUTUBE_DISPLAY_URL", + "TOO_MANY_PRODUCT_IMAGES", + "TOO_MANY_PRODUCT_VIDEOS", + "INCOMPATIBLE_AD_TYPE_AND_DEVICE_PREFERENCE", + "CALLTRACKING_NOT_SUPPORTED_FOR_COUNTRY", + "CARRIER_SPECIFIC_SHORT_NUMBER_NOT_ALLOWED", + "DISALLOWED_NUMBER_TYPE", + "PHONE_NUMBER_NOT_SUPPORTED_FOR_COUNTRY", + "PHONE_NUMBER_NOT_SUPPORTED_WITH_CALLTRACKING_FOR_COUNTRY", + "PREMIUM_RATE_NUMBER_NOT_ALLOWED", + "VANITY_PHONE_NUMBER_NOT_ALLOWED", + "INVALID_CALL_CONVERSION_TYPE_ID", + "CANNOT_DISABLE_CALL_CONVERSION_AND_SET_CONVERSION_TYPE_ID", + "CANNOT_SET_PATH2_WITHOUT_PATH1", + "MISSING_DYNAMIC_SEARCH_ADS_SETTING_DOMAIN_NAME", + "INCOMPATIBLE_WITH_RESTRICTION_TYPE", + "CUSTOMER_CONSENT_FOR_CALL_RECORDING_REQUIRED", + "MISSING_IMAGE_OR_MEDIA_BUNDLE", + "PRODUCT_TYPE_NOT_SUPPORTED_IN_THIS_CAMPAIGN", + "PLACEHOLDER_CANNOT_HAVE_EMPTY_DEFAULT_VALUE", + "PLACEHOLDER_COUNTDOWN_FUNCTION_CANNOT_HAVE_DEFAULT_VALUE", + "PLACEHOLDER_DEFAULT_VALUE_MISSING", + "UNEXPECTED_PLACEHOLDER_DEFAULT_VALUE", + "AD_CUSTOMIZERS_MAY_NOT_BE_ADJACENT", + "UPDATING_AD_WITH_NO_ENABLED_ASSOCIATION", + "CALL_AD_VERIFICATION_URL_FINAL_URL_DOES_NOT_HAVE_SAME_DOMAIN", + "CALL_AD_FINAL_URL_AND_VERIFICATION_URL_CANNOT_BOTH_BE_EMPTY", + "TOO_MANY_AD_CUSTOMIZERS", + "INVALID_AD_CUSTOMIZER_FORMAT", + "NESTED_AD_CUSTOMIZER_SYNTAX", + "UNSUPPORTED_AD_CUSTOMIZER_SYNTAX", + "UNPAIRED_BRACE_IN_AD_CUSTOMIZER_TAG", + "MORE_THAN_ONE_COUNTDOWN_TAG_TYPE_EXISTS", + "DATE_TIME_IN_COUNTDOWN_TAG_IS_INVALID", + "DATE_TIME_IN_COUNTDOWN_TAG_IS_PAST", + "UNRECOGNIZED_AD_CUSTOMIZER_TAG_FOUND", + "CUSTOMIZER_TYPE_FORBIDDEN_FOR_FIELD", + "INVALID_CUSTOMIZER_ATTRIBUTE_NAME", + "STORE_MISMATCH", + "MISSING_REQUIRED_IMAGE_ASPECT_RATIO", + "MISMATCHED_ASPECT_RATIOS", + "DUPLICATE_IMAGE_ACROSS_CAROUSEL_CARDS", + "INVALID_YOUTUBE_VIDEO_ASSET_ID_FOR_VIDEO_ADS_SEQUENCING" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Ad customizers are not supported for ad type.", + "Estimating character sizes the string is too long.", + "Estimating character sizes the string is too short.", + "There is a problem with the snippet.", + "Cannot modify an ad.", + "business name and url cannot be set at the same time", + "The specified field is incompatible with this ad's type or settings.", + "Cannot set field when originAdId is set.", + "Cannot set field when an existing ad id is set for sharing.", + "Cannot set allowFlexibleColor false if no color is provided by user.", + "When user select native, no color control is allowed because we will always respect publisher color for native format serving.", + "Cannot specify a url for the ad type", + "Cannot specify a tracking or mobile url without also setting final urls", + "Cannot specify a legacy url and a final url simultaneously", + "Cannot specify a urls in UrlData and in template fields simultaneously.", + "This operator cannot be used with a subclass of Ad.", + "Customer is not approved for mobile ads.", + "Customer is not approved for 3PAS richmedia ads.", + "Customer is not approved for 3PAS redirect richmedia (Ad Exchange) ads.", + "Not an eligible customer", + "Customer is not eligible for updating beacon url", + "There already exists an ad with the same dimensions in the union.", + "Ad's dimension must be set before setting union dimension.", + "Ad's dimension must be included in the union dimensions.", + "Display Url cannot be specified (applies to Ad Exchange Ads)", + "Telephone number contains invalid characters or invalid format. Re-enter your number using digits (0-9), dashes (-), and parentheses only.", + "Emergency telephone numbers are not allowed. Enter a valid domestic phone number to connect customers to your business.", + "A required field was not specified or is an empty string.", + "A feed attribute referenced in an ad customizer tag is not in the ad customizer mapping for the feed.", + "The ad customizer field mapping for the feed attribute does not match the expected field type.", + "The use of ad customizer tags in the ad text is disallowed. Details in trigger.", + "Tags of the form {PH_x}, where x is a number, are disallowed in ad text.", + "The dimensions of the ad are specified or derived in multiple ways and are not consistent.", + "The status cannot differ among template ads of the same union.", + "The length of the string is not valid.", + "The ad is ineligible for upgrade.", + "User cannot create mobile ad for countries targeted in specified campaign.", + "Invalid Ad type. A specific type of Ad is required.", + "Headline, description or phone cannot be present when creating mobile image ad.", + "Image cannot be present when creating mobile text ad.", + "Invalid call to action text.", + "Invalid character in URL.", + "Creative's country code is not valid.", + "Invalid use of Expanded Dynamic Search Ads tags ({lpurl} etc.)", + "An input error whose real reason was not properly mapped (should not happen).", + "An invalid markup language was entered.", + "An invalid mobile carrier was entered.", + "Specified mobile carriers target a country not targeted by the campaign.", + "Wrong number of elements for given element type", + "The format of the telephone number is incorrect. Re-enter the number using the correct format.", + "The certified vendor format id is incorrect.", + "The template ad data contains validation errors.", + "The template field doesn't have have the correct type.", + "Invalid template id.", + "After substituting replacement strings, the line is too wide.", + "The feed referenced must have ad customizer mapping to be used in a customizer tag.", + "Missing address component in template element address field.", + "An ad name must be entered.", + "Business name must be entered.", + "Description (line 2) must be entered.", + "Description (line 3) must be entered.", + "The destination url must contain at least one tag (for example, {lpurl})", + "The tracking url template of ExpandedDynamicSearchAd must contain at least one tag. (for example, {lpurl})", + "A valid dimension must be specified for this ad.", + "A display URL must be entered.", + "Headline must be entered.", + "A height must be entered.", + "An image must be entered.", + "Marketing image or product videos are required.", + "The markup language in which your site is written must be entered.", + "A mobile carrier must be entered.", + "Phone number must be entered.", + "Missing required template fields", + "Missing a required field value", + "The ad must have text.", + "A visible URL must be entered.", + "A width must be entered.", + "Only 1 feed can be used as the source of ad customizer substitutions in a single ad.", + "TempAdUnionId must be use when adding template ads.", + "The string has too many characters.", + "The string has too few characters.", + "Ad union dimensions cannot change for saved ads.", + "Address component is not {country, lat, lng}.", + "Unknown unique field name", + "Unknown unique name (template element type specifier)", + "Unsupported ad dimension", + "URL starts with an invalid scheme.", + "URL ends with an invalid top-level domain name.", + "URL contains illegal characters.", + "URL must contain a host name.", + "URL not equivalent during upgrade.", + "URL host name too long to be stored as visible URL (applies to Ad Exchange ads)", + "URL must start with a scheme.", + "URL should end in a valid domain extension, such as .com or .net.", + "URL must not end with a path.", + "URL must not specify a port.", + "URL must not contain a query.", + "A url scheme is not allowed in front of tag in tracking url template (for example, http://{lpurl})", + "The user does not have permissions to create a template ad for the given template.", + "Expandable setting is inconsistent/wrong. For example, an AdX ad is invalid if it has a expandable vendor format but no expanding directions specified, or expanding directions is specified, but the vendor format is not expandable.", + "Format is invalid", + "The text of this field did not match a pattern of allowed values.", + "Template element is mising", + "Error occurred during image processing", + "The value is not within the valid range", + "Template element field is not present", + "Address is incomplete", + "Invalid address", + "Error retrieving specified video", + "Error processing audio", + "Display URL is incorrect for YouTube PYV ads", + "Too many product Images in GmailAd", + "Too many product Videos in GmailAd", + "The device preference is not compatible with the ad type", + "Call tracking is not supported for specified country.", + "Carrier specific short number is not allowed.", + "Specified phone number type is disallowed.", + "Phone number not supported for country.", + "Phone number not supported with call tracking enabled for country.", + "Premium rate phone number is not allowed.", + "Vanity phone number is not allowed.", + "Invalid call conversion type id.", + "Cannot disable call conversion and set conversion type id.", + "Cannot set path2 without path1.", + "Missing domain name in campaign setting when adding expanded dynamic search ad.", + "The associated ad is not compatible with restriction type.", + "Consent for call recording is required for creating/updating call only ads. See https://support.google.com/google-ads/answer/7412639.", + "Either an image or a media bundle is required in a display upload ad.", + "The display upload product type is not supported in this campaign.", + "The default value of an ad placeholder can not be the empty string.", + "Ad placeholders with countdown functions must not have a default value.", + "A previous ad placeholder that had a default value was found which means that all (non-countdown) placeholders must have a default value. This ad placeholder does not have a default value.", + "A previous ad placeholder that did not have a default value was found which means that no placeholders may have a default value. This ad placeholder does have a default value.", + "Two ad customizers may not be directly adjacent in an ad text. They must be separated by at least one character.", + "The ad is not associated with any enabled AdGroupAd, and cannot be updated.", + "Call Ad verification url and final url don't have same domain.", + "Final url and verification url cannot both be empty for call ads.", + "Too many ad customizers in one asset.", + "The ad customizer tag is recognized, but the format is invalid.", + "Customizer tags cannot be nested.", + "The ad customizer syntax used in the ad is not supported.", + "There exists unpaired brace in the ad customizer tag.", + "More than one type of countdown tag exists among all text lines.", + "Date time in the countdown tag is invalid.", + "Date time in the countdown tag is in the past.", + "Cannot recognize the ad customizer tag.", + "Customizer type forbidden for this field.", + "Customizer attribute name is invalid.", + "App store value does not match the value of the app store in the app specified in the campaign.", + "Missing required image aspect ratio.", + "Aspect ratios mismatch between different assets.", + "Images must be unique between different carousel card assets.", + "For video ads sequencing, YouTube video asset ID has to be defined in `campaign.video_campaign_settings.video_ad_sequence.steps.asset_id`." + ], + "type": "string" + }, + "adGroupAdError": { + "description": "The reasons for the ad group ad error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "AD_GROUP_AD_LABEL_DOES_NOT_EXIST", + "AD_GROUP_AD_LABEL_ALREADY_EXISTS", + "AD_NOT_UNDER_ADGROUP", + "CANNOT_OPERATE_ON_REMOVED_ADGROUPAD", + "CANNOT_CREATE_DEPRECATED_ADS", + "CANNOT_CREATE_TEXT_ADS", + "EMPTY_FIELD", + "RESOURCE_REFERENCED_IN_MULTIPLE_OPS", + "AD_TYPE_CANNOT_BE_PAUSED", + "AD_TYPE_CANNOT_BE_REMOVED", + "CANNOT_UPDATE_DEPRECATED_ADS", + "AD_SHARING_NOT_ALLOWED" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "No link found between the adgroup ad and the label.", + "The label has already been attached to the adgroup ad.", + "The specified ad was not found in the adgroup", + "Removed ads may not be modified", + "An ad of this type is deprecated and cannot be created. Only deletions are permitted.", + "Text ads are deprecated and cannot be created. Use expanded text ads instead.", + "A required field was not specified or is an empty string.", + "An ad may only be modified once per call", + "AdGroupAds with the given ad type cannot be paused.", + "AdGroupAds with the given ad type cannot be removed.", + "An ad of this type is deprecated and cannot be updated. Only removals are permitted.", + "Ad sharing is not allowed." + ], + "type": "string" + }, + "adGroupBidModifierError": { + "description": "The reasons for the ad group bid modifier error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CRITERION_ID_NOT_SUPPORTED", + "CANNOT_OVERRIDE_OPTED_OUT_CAMPAIGN_CRITERION_BID_MODIFIER" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "The criterion ID does not support bid modification.", + "Cannot override the bid modifier for the given criterion ID if the parent campaign is opted out of the same criterion." + ], + "type": "string" + }, + "adGroupCriterionCustomizerError": { + "description": "The reasons for the ad group criterion customizer error.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CRITERION_IS_NOT_KEYWORD" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Only keyword type criterion is allowed to link customizer attribute." + ], + "type": "string" + }, + "adGroupCriterionError": { + "description": "Indicates failure to properly authenticate user.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "AD_GROUP_CRITERION_LABEL_DOES_NOT_EXIST", + "AD_GROUP_CRITERION_LABEL_ALREADY_EXISTS", + "CANNOT_ADD_LABEL_TO_NEGATIVE_CRITERION", + "TOO_MANY_OPERATIONS", + "CANT_UPDATE_NEGATIVE", + "CONCRETE_TYPE_REQUIRED", + "BID_INCOMPATIBLE_WITH_ADGROUP", + "CANNOT_TARGET_AND_EXCLUDE", + "ILLEGAL_URL", + "INVALID_KEYWORD_TEXT", + "INVALID_DESTINATION_URL", + "MISSING_DESTINATION_URL_TAG", + "KEYWORD_LEVEL_BID_NOT_SUPPORTED_FOR_MANUALCPM", + "INVALID_USER_STATUS", + "CANNOT_ADD_CRITERIA_TYPE", + "CANNOT_EXCLUDE_CRITERIA_TYPE", + "CAMPAIGN_TYPE_NOT_COMPATIBLE_WITH_PARTIAL_FAILURE", + "OPERATIONS_FOR_TOO_MANY_SHOPPING_ADGROUPS", + "CANNOT_MODIFY_URL_FIELDS_WITH_DUPLICATE_ELEMENTS", + "CANNOT_SET_WITHOUT_FINAL_URLS", + "CANNOT_CLEAR_FINAL_URLS_IF_FINAL_MOBILE_URLS_EXIST", + "CANNOT_CLEAR_FINAL_URLS_IF_FINAL_APP_URLS_EXIST", + "CANNOT_CLEAR_FINAL_URLS_IF_TRACKING_URL_TEMPLATE_EXISTS", + "CANNOT_CLEAR_FINAL_URLS_IF_URL_CUSTOM_PARAMETERS_EXIST", + "CANNOT_SET_BOTH_DESTINATION_URL_AND_FINAL_URLS", + "CANNOT_SET_BOTH_DESTINATION_URL_AND_TRACKING_URL_TEMPLATE", + "FINAL_URLS_NOT_SUPPORTED_FOR_CRITERION_TYPE", + "FINAL_MOBILE_URLS_NOT_SUPPORTED_FOR_CRITERION_TYPE" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "No link found between the AdGroupCriterion and the label.", + "The label has already been attached to the AdGroupCriterion.", + "Negative AdGroupCriterion cannot have labels.", + "Too many operations for a single call.", + "Negative ad group criteria are not updateable.", + "Concrete type of criterion (keyword v.s. placement) is required for ADD and SET operations.", + "Bid is incompatible with ad group's bidding settings.", + "Cannot target and exclude the same criterion at once.", + "The URL of a placement is invalid.", + "Keyword text was invalid.", + "Destination URL was invalid.", + "The destination url must contain at least one tag (for example, {lpurl})", + "Keyword-level cpm bid is not supported", + "For example, cannot add a biddable ad group criterion that had been removed.", + "Criteria type cannot be targeted for the ad group. Either the account is restricted to keywords only, the criteria type is incompatible with the campaign's bidding strategy, or the criteria type can only be applied to campaigns.", + "Criteria type cannot be excluded for the ad group. Refer to the documentation for a specific criterion to check if it is excludable.", + "Partial failure is not supported for shopping campaign mutate operations.", + "Operations in the mutate request changes too many shopping ad groups. Split requests for multiple shopping ad groups across multiple requests.", + "Not allowed to modify url fields of an ad group criterion if there are duplicate elements for that ad group criterion in the request.", + "Cannot set url fields without also setting final urls.", + "Cannot clear final urls if final mobile urls exist.", + "Cannot clear final urls if final app urls exist.", + "Cannot clear final urls if tracking url template exists.", + "Cannot clear final urls if url custom parameters exist.", + "Cannot set both destination url and final urls.", + "Cannot set both destination url and tracking url template.", + "Final urls are not supported for this criterion type.", + "Final mobile urls are not supported for this criterion type." + ], + "type": "string" + }, + "adGroupCustomizerError": { + "description": "The reasons for the ad group customizer error.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version." + ], + "type": "string" + }, + "adGroupError": { + "description": "An error with an Ad Group mutate.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "DUPLICATE_ADGROUP_NAME", + "INVALID_ADGROUP_NAME", + "ADVERTISER_NOT_ON_CONTENT_NETWORK", + "BID_TOO_BIG", + "BID_TYPE_AND_BIDDING_STRATEGY_MISMATCH", + "MISSING_ADGROUP_NAME", + "ADGROUP_LABEL_DOES_NOT_EXIST", + "ADGROUP_LABEL_ALREADY_EXISTS", + "INVALID_CONTENT_BID_CRITERION_TYPE_GROUP", + "AD_GROUP_TYPE_NOT_VALID_FOR_ADVERTISING_CHANNEL_TYPE", + "ADGROUP_TYPE_NOT_SUPPORTED_FOR_CAMPAIGN_SALES_COUNTRY", + "CANNOT_ADD_ADGROUP_OF_TYPE_DSA_TO_CAMPAIGN_WITHOUT_DSA_SETTING", + "PROMOTED_HOTEL_AD_GROUPS_NOT_AVAILABLE_FOR_CUSTOMER", + "INVALID_EXCLUDED_PARENT_ASSET_FIELD_TYPE", + "INVALID_EXCLUDED_PARENT_ASSET_SET_TYPE", + "CANNOT_ADD_AD_GROUP_FOR_CAMPAIGN_TYPE", + "INVALID_STATUS", + "INVALID_STEP_ID_FOR_VIDEO_ADS_SEQUENCING", + "INVALID_AD_GROUP_TYPE_FOR_VIDEO_ADS_SEQUENCING", + "DUPLICATE_STEP_ID", + "INVALID_VERTICAL_ADS_FORMAT_SETTING", + "VERTICAL_ADS_FORMAT_SETTING_NOT_SUPPORTED_FOR_CAMPAIGNS_WITHOUT_AI_MAX", + "VERTICAL_ADS_FORMAT_SETTING_NOT_SUPPORTED_FOR_CAMPAIGNS_WITHOUT_ENABLED_TRAVEL_FEED" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "AdGroup with the same name already exists for the campaign.", + "AdGroup name is not valid.", + "Advertiser is not allowed to target sites or set site bids that are not on the Google Search Network.", + "Bid amount is too big.", + "AdGroup bid does not match the campaign's bidding strategy.", + "AdGroup name is required for Add.", + "No link found between the ad group and the label.", + "The label has already been attached to the ad group.", + "The CriterionTypeGroup is not supported for the content bid dimension.", + "The ad group type is not compatible with the campaign channel type.", + "The ad group type is not supported in the country of sale of the campaign.", + "Ad groups of AdGroupType.SEARCH_DYNAMIC_ADS can only be added to campaigns that have DynamicSearchAdsSetting attached.", + "Promoted hotels ad groups are only available to customers on the allow-list.", + "The field type cannot be excluded because an active ad group-asset link of this type exists.", + "The asset set type is invalid for setting the excluded_parent_asset_set_types field.", + "Cannot add ad groups for the campaign type.", + "Invalid status for the ad group.", + "For video ads sequencing, AdGroup `step_id` has to use a `step_id` defined in `campaign.video_campaign_settings.video_ad_sequence`.", + "For video ads sequencing, AdGroup type has to use a type defined in `campaign.video_campaign_settings.video_ad_sequence`.", + "Only one AdGroup is allowed for each step ID in video ads sequencing.", + "At least one Vertical Ads format must be enabled for a campaign under Travel Ads in Search Campaigns.", + "AI max setting must be enabled to enable Vertical Ads formats for a campaign under Travel Ads in Search Campaigns.", + "An enabled travel feed must be linked to enable Vertical Ads formats for a campaign under Travel Ads in Search Campaigns." + ], + "type": "string" + }, + "adGroupFeedError": { + "description": "The reasons for the ad group feed error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE", + "CANNOT_CREATE_FOR_REMOVED_FEED", + "ADGROUP_FEED_ALREADY_EXISTS", + "CANNOT_OPERATE_ON_REMOVED_ADGROUP_FEED", + "INVALID_PLACEHOLDER_TYPE", + "MISSING_FEEDMAPPING_FOR_PLACEHOLDER_TYPE", + "NO_EXISTING_LOCATION_CUSTOMER_FEED" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "An active feed already exists for this ad group and place holder type.", + "The specified feed is removed.", + "The AdGroupFeed already exists. UPDATE operation should be used to modify the existing AdGroupFeed.", + "Cannot operate on removed AdGroupFeed.", + "Invalid placeholder type.", + "Feed mapping for this placeholder type does not exist.", + "Location AdGroupFeeds cannot be created unless there is a location CustomerFeed for the specified feed." + ], + "type": "string" + }, + "adParameterError": { + "description": "The reasons for the ad parameter error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "AD_GROUP_CRITERION_MUST_BE_KEYWORD", + "INVALID_INSERTION_TEXT_FORMAT" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "The ad group criterion must be a keyword criterion.", + "The insertion text is invalid." + ], + "type": "string" + }, + "adSharingError": { + "description": "The reasons for the ad sharing error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "AD_GROUP_ALREADY_CONTAINS_AD", + "INCOMPATIBLE_AD_UNDER_AD_GROUP", + "CANNOT_SHARE_INACTIVE_AD" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Error resulting in attempting to add an Ad to an AdGroup that already contains the Ad.", + "Ad is not compatible with the AdGroup it is being shared with.", + "Cannot add AdGroupAd on inactive Ad." + ], + "type": "string" + }, + "adxError": { + "description": "The reasons for the adx error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "UNSUPPORTED_FEATURE" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Attempt to use non-AdX feature by AdX customer." + ], + "type": "string" + }, + "assetError": { + "description": "The reasons for the asset error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CUSTOMER_NOT_ON_ALLOWLIST_FOR_ASSET_TYPE", + "DUPLICATE_ASSET", + "DUPLICATE_ASSET_NAME", + "ASSET_DATA_IS_MISSING", + "CANNOT_MODIFY_ASSET_NAME", + "FIELD_INCOMPATIBLE_WITH_ASSET_TYPE", + "INVALID_CALL_TO_ACTION_TEXT", + "LEAD_FORM_INVALID_FIELDS_COMBINATION", + "LEAD_FORM_MISSING_AGREEMENT", + "INVALID_ASSET_STATUS", + "FIELD_CANNOT_BE_MODIFIED_FOR_ASSET_TYPE", + "SCHEDULES_CANNOT_OVERLAP", + "PROMOTION_CANNOT_SET_PERCENT_OFF_AND_MONEY_AMOUNT_OFF", + "PROMOTION_CANNOT_SET_PROMOTION_CODE_AND_ORDERS_OVER_AMOUNT", + "TOO_MANY_DECIMAL_PLACES_SPECIFIED", + "DUPLICATE_ASSETS_WITH_DIFFERENT_FIELD_VALUE", + "CALL_CARRIER_SPECIFIC_SHORT_NUMBER_NOT_ALLOWED", + "CALL_CUSTOMER_CONSENT_FOR_CALL_RECORDING_REQUIRED", + "CALL_DISALLOWED_NUMBER_TYPE", + "CALL_INVALID_CONVERSION_ACTION", + "CALL_INVALID_COUNTRY_CODE", + "CALL_INVALID_DOMESTIC_PHONE_NUMBER_FORMAT", + "CALL_INVALID_PHONE_NUMBER", + "CALL_PHONE_NUMBER_NOT_SUPPORTED_FOR_COUNTRY", + "CALL_PREMIUM_RATE_NUMBER_NOT_ALLOWED", + "CALL_VANITY_PHONE_NUMBER_NOT_ALLOWED", + "PRICE_HEADER_SAME_AS_DESCRIPTION", + "MOBILE_APP_INVALID_APP_ID", + "MOBILE_APP_INVALID_FINAL_URL_FOR_APP_DOWNLOAD_URL", + "NAME_REQUIRED_FOR_ASSET_TYPE", + "LEAD_FORM_LEGACY_QUALIFYING_QUESTIONS_DISALLOWED", + "NAME_CONFLICT_FOR_ASSET_TYPE", + "CANNOT_MODIFY_ASSET_SOURCE", + "CANNOT_MODIFY_AUTOMATICALLY_CREATED_ASSET", + "LEAD_FORM_LOCATION_ANSWER_TYPE_DISALLOWED", + "PAGE_FEED_INVALID_LABEL_TEXT", + "CUSTOMER_NOT_ON_ALLOWLIST_FOR_WHATSAPP_MESSAGE_ASSETS", + "CUSTOMER_NOT_ON_ALLOWLIST_FOR_APP_DEEP_LINK_ASSETS", + "PROMOTION_BARCODE_CANNOT_CONTAIN_LINKS", + "PROMOTION_BARCODE_INVALID_FORMAT", + "UNSUPPORTED_BARCODE_TYPE", + "PROMOTION_QR_CODE_CANNOT_CONTAIN_LINKS", + "PROMOTION_QR_CODE_INVALID_FORMAT", + "CUSTOMER_NOT_ON_ALLOWLIST_FOR_MESSAGE_ASSETS" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "The customer is not on the allow-list for this asset type.", + "Assets are duplicated across operations.", + "The asset name is duplicated, either across operations or with an existing asset.", + "The `Asset.asset_data` oneof is empty.", + "The asset has a name which is different from an existing duplicate that represents the same content.", + "The field cannot be set for this asset type.", + "Call to action must come from the list of supported values.", + "A lead form asset is created with an invalid combination of input fields.", + "Lead forms require that the Terms of Service have been agreed to before mutates can be executed.", + "Asset status is invalid in this operation.", + "The field cannot be modified by this asset type.", + "Ad schedules for the same asset cannot overlap.", + "Cannot set both percent off and money amount off fields of promotion asset.", + "Cannot set both promotion code and orders over amount fields of promotion asset.", + "The field has too many decimal places specified.", + "Duplicate assets across operations, which have identical `Asset.asset_data` oneof, cannot have different asset level fields for asset types which are deduped.", + "Carrier-specific short number is not allowed.", + "Customer consent required for call recording Terms of Service.", + "The type of the specified phone number is not allowed.", + "If the default `call_conversion_action` is not used, the customer must have a `ConversionAction` with the same id and the `ConversionAction` must be call conversion type.", + "The country code of the phone number is invalid.", + "The format of the phone number is incorrect.", + "The input phone number is not a valid phone number.", + "The phone number is not supported for this country.", + "Premium rate phone number is not allowed.", + "Vanity phone number is not allowed.", + "`PriceOffering` cannot have the same value for header and description.", + "`AppId` is invalid.", + "Invalid App download URL in final URLs.", + "Asset name is required for the asset type.", + "Legacy qualifying questions cannot be in the same Lead Form as custom questions.", + "Unique name is required for this asset type.", + "Cannot modify asset source.", + "User can not modify the automatically created asset.", + "Lead Form is disallowed to use `LOCATION` answer type.", + "Page Feed label text contains invalid characters.", + "The customer is not in the allow-list for whatsapp message asset type.", + "Only customers on the allowlist can create `AppDeepLinkAsset`.", + "Promotion barcode cannot contain links.", + "Failed to encode promotion barcode: Invalid format.", + "Barcode type is not supported.", + "Promotion QR code cannot contain links.", + "Failed to encode promotion QR code: Invalid format.", + "The customer is not in the allow-list for Business message asset type." + ], + "type": "string" + }, + "assetGenerationError": { + "description": "The reasons for the GenAI asset generation error.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "NO_ASSETS_GENERATED", + "FINAL_URL_REQUIRED", + "GENERATION_CONTEXT_MISSING_FINAL_URL", + "FINAL_URL_SENSITIVE", + "FINAL_URL_UNSUPPORTED_LANGUAGE", + "FINAL_URL_UNAVAILABLE", + "CAMPAIGN_TYPE_REQUIRED", + "UNSUPPORTED_CAMPAIGN_TYPE", + "UNSUPPORTED_FIELD_TYPE", + "UNSUPPORTED_FIELD_TYPE_FOR_CAMPAIGN_TYPE", + "FREEFORM_PROMPT_UNSUPPORTED_LANGUAGE", + "FREEFORM_PROMPT_SENSITIVE", + "INPUT_IMAGE_FILE_SIZE_TOO_LARGE", + "INPUT_IMAGE_EMPTY", + "GENERATION_TYPE_REQUIRED", + "TOO_MANY_KEYWORDS", + "KEYWORD_INVALID_LENGTH", + "NO_VALID_KEYWORDS", + "FREEFORM_PROMPT_INVALID_LENGTH", + "FREEFORM_PROMPT_REFERENCES_CHILDREN", + "FREEFORM_PROMPT_REFERENCES_SPECIFIC_PEOPLE", + "FREEFORM_PROMPT_VIOLATES_ADS_POLICY", + "FREEFORM_PROMPT_BRAND_CONTENT", + "INPUT_IMAGE_DEPICTS_CHILDREN", + "INPUT_IMAGE_CONTAINS_BRAND_CONTENT", + "INPUT_IMAGE_SENSITIVE", + "INPUT_IMAGE_VIOLATES_POLICY", + "ALL_OUTPUT_IMAGES_FILTERED_OUT_CHILDREN_DEPICTION", + "ALL_OUTPUT_IMAGES_FILTERED_OUT_SPECIFIC_PEOPLE", + "ALL_OUTPUT_IMAGES_FILTERED_OUT", + "INPUT_IMAGE_REQUIRED", + "INPUT_IMAGE_UNSUPPORTED_IMAGE_TYPE", + "CONTEXT_ASSET_GROUP_NOT_FOUND", + "CONTEXT_AD_GROUP_AD_NOT_FOUND", + "CONTEXT_CAMPAIGN_NOT_FOUND" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "No assets were generated for the given request.", + "A final URL is required but was not provided, and could not be sourced from the existing generation context because no existing generation context was provided.", + "A final URL is required but was not provided, and could not be sourced from the provided existing generation context.", + "The provided final URL is considered sensitive, and assets cannot be generated.", + "The language of the provided final URL is not supported.", + "The provided final URL was not indexed or could otherwise not be processed.", + "Campaign type is required but was not provided, and could not be sourced from the existing generation context because no existing generation context was provided.", + "The provided campaign type is not supported for this asset generation operation.", + "The provided field type is not supported for this asset generation operation.", + "The provided field type is not supported for the given campaign type.", + "The language of the provided freeform prompt is not supported.", + "The provided freeform prompt is considered sensitive, and assets cannot be generated.", + "The provided image file size exceeds the limit.", + "The provided image is empty.", + "Exactly one generation type must be provided.", + "Too many keywords provided in request.", + "A provided keyword does not have a valid length.", + "All keywords were filtered out.", + "The provided freeform prompt does not have a valid length.", + "The provided freeform prompt references children.", + "The provided freeform prompt references specific people.", + "The provided freeform prompt violates Ads Policy.", + "The provided freeform prompt contains brand content.", + "The provided image depicts children.", + "The provided image contains brand content.", + "The provided image contains sensitive subject matter.", + "The provided image may violate Google Ads policies.", + "All output images were filtered out because they included depictions of children.", + "All output images were filtered out because they included depictions of specific people.", + "All output images were filtered out for a reason not covered by a more specific error code.", + "At least one input image is required for certain requests.", + "The provided image is of an unsupported type.", + "Asset Group could not be found with the provided ID.", + "Ad Group Ad could not be found with the provided ID combination.", + "Could not find Campaign associated with the provided generation context." + ], + "type": "string" + }, + "assetGroupAssetError": { + "description": "The reasons for the asset group asset error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "DUPLICATE_RESOURCE", + "EXPANDABLE_TAGS_NOT_ALLOWED_IN_DESCRIPTION", + "AD_CUSTOMIZER_NOT_SUPPORTED", + "HOTEL_PROPERTY_ASSET_NOT_LINKED_TO_CAMPAIGN" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Cannot add duplicated asset group asset.", + "Expandable tags are not allowed in description assets.", + "Ad customizers are not supported in assetgroup's text assets.", + "Cannot add a HotelPropertyAsset to an AssetGroup that isn't linked to the parent campaign's hotel_property_asset_set field." + ], + "type": "string" + }, + "assetGroupError": { + "description": "The reasons for the asset group error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "DUPLICATE_NAME", + "CANNOT_ADD_ASSET_GROUP_FOR_CAMPAIGN_TYPE", + "NOT_ENOUGH_HEADLINE_ASSET", + "NOT_ENOUGH_LONG_HEADLINE_ASSET", + "NOT_ENOUGH_DESCRIPTION_ASSET", + "NOT_ENOUGH_BUSINESS_NAME_ASSET", + "NOT_ENOUGH_MARKETING_IMAGE_ASSET", + "NOT_ENOUGH_SQUARE_MARKETING_IMAGE_ASSET", + "NOT_ENOUGH_LOGO_ASSET", + "FINAL_URL_SHOPPING_MERCHANT_HOME_PAGE_URL_DOMAINS_DIFFER", + "PATH1_REQUIRED_WHEN_PATH2_IS_SET", + "SHORT_DESCRIPTION_REQUIRED", + "FINAL_URL_REQUIRED", + "FINAL_URL_CONTAINS_INVALID_DOMAIN_NAME", + "AD_CUSTOMIZER_NOT_SUPPORTED", + "CANNOT_MUTATE_ASSET_GROUP_FOR_REMOVED_CAMPAIGN" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Each asset group in a single campaign must have a unique name.", + "Cannot add asset group for the campaign type.", + "Not enough headline asset for a valid asset group.", + "Not enough long headline asset for a valid asset group.", + "Not enough description headline asset for a valid asset group.", + "Not enough business name asset for a valid asset group.", + "Not enough marketing image asset for a valid asset group.", + "Not enough square marketing image asset for a valid asset group.", + "Not enough logo asset for a valid asset group.", + "Final url and shopping merchant url does not have the same domain.", + "Path1 required when path2 is set.", + "At least one short description asset is required for a valid asset group.", + "Final url field is required for asset group.", + "Final url contains invalid domain name.", + "Ad customizers are not supported in asset group's text field.", + "Cannot mutate asset group for campaign with removed status." + ], + "type": "string" + }, + "assetGroupListingGroupFilterError": { + "description": "The reasons for the asset group listing group filter error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "TREE_TOO_DEEP", + "UNIT_CANNOT_HAVE_CHILDREN", + "SUBDIVISION_MUST_HAVE_EVERYTHING_ELSE_CHILD", + "DIFFERENT_DIMENSION_TYPE_BETWEEN_SIBLINGS", + "SAME_DIMENSION_VALUE_BETWEEN_SIBLINGS", + "SAME_DIMENSION_TYPE_BETWEEN_ANCESTORS", + "MULTIPLE_ROOTS", + "INVALID_DIMENSION_VALUE", + "MUST_REFINE_HIERARCHICAL_PARENT_TYPE", + "INVALID_PRODUCT_BIDDING_CATEGORY", + "CHANGING_CASE_VALUE_WITH_CHILDREN", + "SUBDIVISION_HAS_CHILDREN", + "CANNOT_REFINE_HIERARCHICAL_EVERYTHING_ELSE", + "DIMENSION_TYPE_NOT_ALLOWED", + "DUPLICATE_WEBPAGE_FILTER_UNDER_ASSET_GROUP", + "LISTING_SOURCE_NOT_ALLOWED", + "FILTER_EXCLUSION_NOT_ALLOWED", + "MULTIPLE_LISTING_SOURCES", + "MULTIPLE_WEBPAGE_CONDITION_TYPES_NOT_ALLOWED", + "MULTIPLE_WEBPAGE_TYPES_PER_ASSET_GROUP", + "PAGE_FEED_FILTER_HAS_PARENT", + "MULTIPLE_OPERATIONS_ON_ONE_NODE", + "TREE_WAS_INVALID_BEFORE_MUTATION" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Listing group tree is too deep.", + "Listing Group UNIT node cannot have children.", + "Listing Group SUBDIVISION node must have everything else child.", + "Dimension type of Listing Group must be the same as that of its siblings.", + "The sibling Listing Groups target exactly the same dimension value.", + "The dimension type is the same as one of the ancestor Listing Groups.", + "Each Listing Group tree must have a single root.", + "Invalid Listing Group dimension value.", + "Hierarchical dimension must refine a dimension of the same type.", + "Invalid Product Bidding Category.", + "Modifying case value is allowed only while updating the entire subtree at the same time.", + "Subdivision node has children which must be removed first.", + "Dimension can't subdivide everything-else node in its own hierarchy.", + "This dimension type is not allowed in this context.", + "All the webpage filters under an AssetGroup should be distinct.", + "Filter of the listing source type is not allowed in the context.", + "Exclusion filters are not allowed in the context.", + "All the filters under an AssetGroup should have the same listing source.", + "All the conditions in a webpage needs to be of same type.", + "All the webpage types of the filters under an AssetGroup should be of same type. Example: All the webpage types can be of type custom_label or url_contains but not both.", + "All page feed filter nodes are root nodes and they can't have a parent.", + "There cannot be more than one mutate operation per request that targets a single asset group listing group filter.", + "The tree is in an invalid state in the database. Any changes that don't fix its issues will fail validation." + ], + "type": "string" + }, + "assetGroupSignalError": { + "description": "The reasons for the asset group hint error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "TOO_MANY_WORDS", + "SEARCH_THEME_POLICY_VIOLATION", + "AUDIENCE_WITH_WRONG_ASSET_GROUP_ID" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "The number of words in the Search Theme signal exceed the allowed maximum. You can add up to 10 words in a keyword. See https://support.google.com/google-ads/answer/7476658 for details.", + "The search theme requested to be added violates certain policy. See https://support.google.com/adspolicy/answer/6008942.", + "The asset group referenced by the asset group signal does not match the asset group referenced by the audience being used in the asset group signal." + ], + "type": "string" + }, + "assetLinkError": { + "description": "The reasons for the asset link error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "PINNING_UNSUPPORTED", + "UNSUPPORTED_FIELD_TYPE", + "FIELD_TYPE_INCOMPATIBLE_WITH_ASSET_TYPE", + "FIELD_TYPE_INCOMPATIBLE_WITH_CAMPAIGN_TYPE", + "INCOMPATIBLE_ADVERTISING_CHANNEL_TYPE", + "IMAGE_NOT_WITHIN_SPECIFIED_DIMENSION_RANGE", + "INVALID_PINNED_FIELD", + "MEDIA_BUNDLE_ASSET_FILE_SIZE_TOO_LARGE", + "NOT_ENOUGH_AVAILABLE_ASSET_LINKS_FOR_VALID_COMBINATION", + "NOT_ENOUGH_AVAILABLE_ASSET_LINKS_WITH_FALLBACK", + "NOT_ENOUGH_AVAILABLE_ASSET_LINKS_WITH_FALLBACK_FOR_VALID_COMBINATION", + "YOUTUBE_VIDEO_REMOVED", + "YOUTUBE_VIDEO_TOO_LONG", + "YOUTUBE_VIDEO_TOO_SHORT", + "EXCLUDED_PARENT_FIELD_TYPE", + "INVALID_STATUS", + "YOUTUBE_VIDEO_DURATION_NOT_DEFINED", + "CANNOT_CREATE_AUTOMATICALLY_CREATED_LINKS", + "CANNOT_LINK_TO_AUTOMATICALLY_CREATED_ASSET", + "CANNOT_MODIFY_ASSET_LINK_SOURCE", + "CANNOT_LINK_LOCATION_LEAD_FORM_WITHOUT_LOCATION_ASSET", + "CUSTOMER_NOT_VERIFIED", + "UNSUPPORTED_CALL_TO_ACTION", + "BRAND_ASSETS_NOT_LINKED_AT_ASSET_GROUP_LEVEL", + "BRAND_ASSETS_NOT_LINKED_AT_CAMPAIGN_LEVEL" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Pinning is not supported for the given asset link field.", + "The given field type is not supported to be added directly through asset links.", + "The given asset's type and the specified field type are incompatible.", + "The specified field type is incompatible with the given campaign type.", + "The campaign advertising channel type cannot be associated with the given asset due to channel-based restrictions on the asset's fields.", + "The image asset provided is not within the dimension constraints specified for the submitted asset field.", + "The pinned field is not valid for the submitted asset field.", + "The media bundle asset provided is too large for the submitted asset field.", + "Not enough assets are available for use with other fields since other assets are pinned to specific fields.", + "Not enough assets with fallback are available. When validating the minimum number of assets, assets without fallback (for example, assets that contain location tag without default value \"{LOCATION(City)}\") will not be counted.", + "This is a combination of the NOT_ENOUGH_AVAILABLE_ASSET_LINKS_FOR_VALID_COMBINATION and NOT_ENOUGH_AVAILABLE_ASSET_LINKS_WITH_FALLBACK errors. Not enough assets with fallback are available since some assets are pinned.", + "The YouTube video referenced in the provided asset has been removed.", + "The YouTube video referenced in the provided asset is too long for the field submitted.", + "The YouTube video referenced in the provided asset is too short for the field submitted.", + "The specified field type is excluded for given campaign or ad group.", + "The status is invalid for the operation specified.", + "The YouTube video referenced in the provided asset has unknown duration. This might be the case for a livestream video or a video being currently uploaded to YouTube. In both cases, the video duration should eventually get resolved.", + "User cannot create automatically created links.", + "Advertiser links cannot link to automatically created asset.", + "Automatically created links cannot be changed into advertiser links or the reverse.", + "Lead Form asset with Location answer type can't be linked to the Customer/Campaign because there are no Location assets.", + "Customer is not verified.", + "Call to action value is not supported.", + "For Performance Max campaigns where brand_guidelines_enabled is false, business name and logo assets must be linked as AssetGroupAssets.", + "For Performance Max campaigns where brand_guidelines_enabled is true, business name and logo assets must be linked as CampaignAssets." + ], + "type": "string" + }, + "assetSetAssetError": { + "description": "The reasons for the asset set asset error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "INVALID_ASSET_TYPE", + "INVALID_ASSET_SET_TYPE", + "DUPLICATE_EXTERNAL_KEY", + "PARENT_LINKAGE_DOES_NOT_EXIST" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "The asset type is not eligible to be linked to the specific type of asset set.", + "The asset set type is not eligible to contain the specified type of assets.", + "The asset contains duplicate external key with another asset in the asset set.", + "When attaching a Location typed Asset to a LocationGroup typed AssetSet, the AssetSetAsset linkage between the parent LocationSync AssetSet and the Asset doesn't exist." + ], + "type": "string" + }, + "assetSetError": { + "description": "The reasons for the asset set error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "DUPLICATE_ASSET_SET_NAME", + "INVALID_PARENT_ASSET_SET_TYPE", + "ASSET_SET_SOURCE_INCOMPATIBLE_WITH_PARENT_ASSET_SET", + "ASSET_SET_TYPE_CANNOT_BE_LINKED_TO_CUSTOMER", + "INVALID_CHAIN_IDS", + "LOCATION_SYNC_ASSET_SET_DOES_NOT_SUPPORT_RELATIONSHIP_TYPE", + "NOT_UNIQUE_ENABLED_LOCATION_SYNC_TYPED_ASSET_SET", + "INVALID_PLACE_IDS", + "OAUTH_INFO_INVALID", + "OAUTH_INFO_MISSING", + "CANNOT_DELETE_AS_ENABLED_LINKAGES_EXIST" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "The asset set name matches that of another enabled asset set.", + "The type of AssetSet.asset_set_source does not match the type of AssetSet.location_set.source in its parent AssetSet.", + "The asset set source doesn't match its parent AssetSet's data.", + "This AssetSet type cannot be linked to CustomerAssetSet.", + "The chain id(s) in ChainSet of a LOCATION_SYNC typed AssetSet is invalid.", + "The relationship type in ChainSet of a LOCATION_SYNC typed AssetSet is not supported.", + "There is more than one enabled LocationSync typed AssetSet under one customer.", + "The place id(s) in a LocationSync typed AssetSet is invalid and can't be decoded.", + "The Google Business Profile OAuth info is invalid.", + "The Google Business Profile OAuth info is missing.", + "Can't delete an AssetSet if it has any enabled linkages (e.g. CustomerAssetSet), or AssetSet is a parent AssetSet and has enabled child AssetSet associated." + ], + "type": "string" + }, + "assetSetLinkError": { + "description": "The reasons for the asset set link error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "INCOMPATIBLE_ADVERTISING_CHANNEL_TYPE", + "DUPLICATE_FEED_LINK", + "INCOMPATIBLE_ASSET_SET_TYPE_WITH_CAMPAIGN_TYPE", + "DUPLICATE_ASSET_SET_LINK", + "ASSET_SET_LINK_CANNOT_BE_REMOVED" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Advertising channel type cannot be attached to the asset set due to channel-based restrictions.", + "For this asset set type, only one campaign to feed linkage is allowed.", + "The asset set type and campaign type are incompatible.", + "Cannot link duplicate asset sets to the same campaign.", + "Cannot remove the asset set link. If a campaign is linked with only one asset set and you attempt to unlink them, this error will be triggered." + ], + "type": "string" + }, + "audienceError": { + "description": "The reasons for the audience error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "NAME_ALREADY_IN_USE", + "DIMENSION_INVALID", + "AUDIENCE_SEGMENT_NOT_FOUND", + "AUDIENCE_SEGMENT_TYPE_NOT_SUPPORTED", + "DUPLICATE_AUDIENCE_SEGMENT", + "TOO_MANY_SEGMENTS", + "TOO_MANY_DIMENSIONS_OF_SAME_TYPE", + "IN_USE", + "MISSING_ASSET_GROUP_ID", + "CANNOT_CHANGE_FROM_CUSTOMER_TO_ASSET_GROUP_SCOPE" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "An audience with this name already exists.", + "A dimension within the audience definition is not valid.", + "One of the audience segment added is not found.", + "One of the audience segment type is not supported.", + "The same segment already exists in this audience.", + "Audience can't have more than allowed number segments.", + "Audience can't have multiple dimensions of same type.", + "The audience cannot be removed, because it is currently used in an ad group criterion or asset group signal in an (enabled or paused) ad group or campaign.", + "Asset Group scoped audience requires an asset group ID.", + "Audience scope may not be changed from Customer to AssetGroup." + ], + "type": "string" + }, + "audienceInsightsError": { + "description": "The reasons for the Audience Insights error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "DIMENSION_INCOMPATIBLE_WITH_TOPIC_AUDIENCE_COMBINATIONS" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "The dimensions cannot be used with topic audience combinations." + ], + "type": "string" + }, + "authenticationError": { + "description": "Indicates failure to properly authenticate user.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "AUTHENTICATION_ERROR", + "CLIENT_CUSTOMER_ID_INVALID", + "CUSTOMER_NOT_FOUND", + "GOOGLE_ACCOUNT_DELETED", + "GOOGLE_ACCOUNT_COOKIE_INVALID", + "GOOGLE_ACCOUNT_AUTHENTICATION_FAILED", + "GOOGLE_ACCOUNT_USER_AND_ADS_USER_MISMATCH", + "LOGIN_COOKIE_REQUIRED", + "NOT_ADS_USER", + "OAUTH_TOKEN_INVALID", + "OAUTH_TOKEN_EXPIRED", + "OAUTH_TOKEN_DISABLED", + "OAUTH_TOKEN_REVOKED", + "OAUTH_TOKEN_HEADER_INVALID", + "LOGIN_COOKIE_INVALID", + "INVALID_EMAIL_ADDRESS", + "USER_ID_INVALID", + "TWO_STEP_VERIFICATION_NOT_ENROLLED", + "ADVANCED_PROTECTION_NOT_ENROLLED", + "ORGANIZATION_NOT_RECOGNIZED", + "ORGANIZATION_NOT_APPROVED", + "ORGANIZATION_NOT_ASSOCIATED_WITH_DEVELOPER_TOKEN", + "DEVELOPER_TOKEN_INVALID" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Authentication of the request failed.", + "Client customer ID is not a number.", + "No customer found for the provided customer ID.", + "Client's Google account is deleted.", + "Account login token in the cookie is invalid.", + "A problem occurred during Google account authentication.", + "The user in the Google account login token does not match the user ID in the cookie.", + "Login cookie is required for authentication.", + "The Google account that generated the OAuth access token is not associated with a Search Ads 360 account. Create a new account, or add the Google account to an existing Search Ads 360 account.", + "OAuth token in the header is not valid.", + "OAuth token in the header has expired.", + "OAuth token in the header has been disabled.", + "OAuth token in the header has been revoked.", + "OAuth token HTTP header is malformed.", + "Login cookie is not valid.", + "The email address provided is invalid or does not exist.", + "User ID in the header is not a valid ID.", + "An account administrator changed this account's authentication settings. To access this account, enable 2-Step Verification in your Google account at https://www.google.com/landing/2step.", + "An account administrator changed this account's authentication settings. To access this account, enable Advanced Protection in your Google account at https://landing.google.com/advancedprotection.", + "The Cloud organization associated with the project is not recognized.", + "The Cloud organization associated with the project is not approved for prod access.", + "The Cloud organization associated with the project is not associated with the developer token.", + "The developer token is not valid." + ], + "type": "string" + }, + "authorizationError": { + "description": "An error encountered when trying to authorize a user.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "USER_PERMISSION_DENIED", + "DEVELOPER_TOKEN_NOT_ON_ALLOWLIST", + "DEVELOPER_TOKEN_PROHIBITED", + "PROJECT_DISABLED", + "AUTHORIZATION_ERROR", + "ACTION_NOT_PERMITTED", + "INCOMPLETE_SIGNUP", + "CUSTOMER_NOT_ENABLED", + "MISSING_TOS", + "DEVELOPER_TOKEN_NOT_APPROVED", + "INVALID_LOGIN_CUSTOMER_ID_SERVING_CUSTOMER_ID_COMBINATION", + "SERVICE_ACCESS_DENIED", + "ACCESS_DENIED_FOR_ACCOUNT_TYPE", + "METRIC_ACCESS_DENIED", + "CLOUD_PROJECT_NOT_UNDER_ORGANIZATION", + "ACTION_NOT_PERMITTED_FOR_SUSPENDED_ACCOUNT" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "User doesn't have permission to access customer. Note: If you're accessing a client customer, the manager's customer ID must be set in the `login-customer-id` header. Learn more at https://developers.google.com/search-ads/reporting/concepts/call-structure#login_customer_id_header", + "The developer token is not on the allow-list.", + "The developer token is not allowed with the project sent in the request.", + "The Google Cloud project sent in the request does not have permission to access the api.", + "Authorization of the client failed.", + "The user does not have permission to perform this action (for example, ADD, UPDATE, REMOVE) on the resource or call a method.", + "Signup not complete.", + "The customer account can't be accessed because it is not yet enabled or has been deactivated.", + "The developer must sign the terms of service. They can be found here: https://developers.google.com/terms", + "The developer token is only approved for use with test accounts. To access non-test accounts, apply for Basic or Standard access.", + "The login customer specified does not have access to the account specified, so the request is invalid.", + "The developer specified does not have access to the service.", + "The customer (or login customer) isn't allowed in Search Ads 360 API. It belongs to another ads system.", + "The developer does not have access to the metrics queried.", + "The Google Cloud project is not under the required organization.", + "The user does not have permission to perform this action on the resource or method because the Google Ads account is suspended." + ], + "type": "string" + }, + "automaticallyCreatedAssetRemovalError": { + "description": "The reasons for error in automatically created asset removal action.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "AD_DOES_NOT_EXIST", + "INVALID_AD_TYPE", + "ASSET_DOES_NOT_EXIST", + "ASSET_FIELD_TYPE_DOES_NOT_MATCH", + "NOT_AN_AUTOMATICALLY_CREATED_ASSET" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "The ad does not exist.", + "Ad type is not supported. Only Responsive Search Ad type is supported.", + "The asset does not exist.", + "The asset field type does not match.", + "Not an automatically created asset." + ], + "type": "string" + }, + "batchJobError": { + "description": "The reasons for the batch job error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CANNOT_MODIFY_JOB_AFTER_JOB_STARTS_RUNNING", + "EMPTY_OPERATIONS", + "INVALID_SEQUENCE_TOKEN", + "RESULTS_NOT_READY", + "INVALID_PAGE_SIZE", + "CAN_ONLY_REMOVE_PENDING_JOB", + "CANNOT_LIST_RESULTS", + "ASSET_GROUP_AND_ASSET_GROUP_ASSET_TRANSACTION_FAILURE", + "ASSET_GROUP_LISTING_GROUP_FILTER_TRANSACTION_FAILURE", + "REQUEST_TOO_LARGE", + "CAMPAIGN_AND_CAMPAIGN_ASSET_TRANSACTION_FAILURE" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "The batch job cannot add more operations or run after it has started running.", + "The operations for an AddBatchJobOperations request were empty.", + "The sequence token for an AddBatchJobOperations request was invalid.", + "Batch job results can only be retrieved once the job is finished.", + "The page size for ListBatchJobResults was invalid.", + "The batch job cannot be removed because it has started running.", + "The batch job cannot be listed due to unexpected errors such as duplicate checkpoints.", + "The request contains interdependent AssetGroup and AssetGroupAsset operations that are treated atomically as a single transaction, and one or more of the operations in that transaction failed, which caused the entire transaction, and therefore this mutate operation, to fail. The operations that caused the transaction to fail can be found in the consecutive AssetGroup or AssetGroupAsset results with the same asset group id. The mutate operation will be successful once the remaining errors in the transaction are fixed.", + "The request contains interdependent AssetGroupListingGroupFilter operations that are treated atomically as a single transaction, and one or more of the operations in that transaction failed, which caused the entire transaction, and therefore this mutate operation, to fail. The operations that caused the transaction to fail can be found in the consecutive AssetGroupListingGroupFilter results with the same asset group id. The mutate operation will be successful once the remaining errors in the transaction are fixed.", + "The AddBatchJobOperationsRequest is too large. Split the request into smaller requests. The maximum allowed request size is 10484504 bytes.", + "This error indicates a failed transaction involving interdependent Campaign and CampaignAsset operations that are treated atomically as a single transaction. Because some operations within the transaction failed, the entire set of changes was rejected. Related error details are found in the results for the Campaign and CampaignAssets sharing the same Campaign ID. The transaction will succeed after all associated errors are resolved." + ], + "type": "string" + }, + "benchmarksError": { + "description": "The reasons for the Benchmarks error.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "MAX_QUERY_COMPLEXITY_EXCEEDED" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "The combination of inputs to generate benchmarks is too complex. To reduce complexity, try selecting a more granular benchmarks source, a smaller date range, or a smaller set of products." + ], + "type": "string" + }, + "biddingError": { + "description": "The reasons for the bidding errors", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "BIDDING_STRATEGY_TRANSITION_NOT_ALLOWED", + "CANNOT_ATTACH_BIDDING_STRATEGY_TO_CAMPAIGN", + "INVALID_ANONYMOUS_BIDDING_STRATEGY_TYPE", + "INVALID_BIDDING_STRATEGY_TYPE", + "INVALID_BID", + "BIDDING_STRATEGY_NOT_AVAILABLE_FOR_ACCOUNT_TYPE", + "CANNOT_CREATE_CAMPAIGN_WITH_BIDDING_STRATEGY", + "CANNOT_TARGET_CONTENT_NETWORK_ONLY_WITH_CAMPAIGN_LEVEL_POP_BIDDING_STRATEGY", + "BIDDING_STRATEGY_NOT_SUPPORTED_WITH_AD_SCHEDULE", + "PAY_PER_CONVERSION_NOT_AVAILABLE_FOR_CUSTOMER", + "PAY_PER_CONVERSION_NOT_ALLOWED_WITH_TARGET_CPA", + "BIDDING_STRATEGY_NOT_ALLOWED_FOR_SEARCH_ONLY_CAMPAIGNS", + "BIDDING_STRATEGY_NOT_SUPPORTED_IN_DRAFTS_OR_EXPERIMENTS", + "BIDDING_STRATEGY_TYPE_DOES_NOT_SUPPORT_PRODUCT_TYPE_ADGROUP_CRITERION", + "BID_TOO_SMALL", + "BID_TOO_BIG", + "BID_TOO_MANY_FRACTIONAL_DIGITS", + "INVALID_DOMAIN_NAME", + "NOT_COMPATIBLE_WITH_PAYMENT_MODE", + "BIDDING_STRATEGY_TYPE_INCOMPATIBLE_WITH_SHARED_BUDGET", + "BIDDING_STRATEGY_AND_BUDGET_MUST_BE_ALIGNED", + "BIDDING_STRATEGY_AND_BUDGET_MUST_BE_ATTACHED_TO_THE_SAME_CAMPAIGNS_TO_ALIGN", + "BIDDING_STRATEGY_AND_BUDGET_MUST_BE_REMOVED_TOGETHER", + "CPC_BID_FLOOR_MICROS_GREATER_THAN_CPC_BID_CEILING_MICROS", + "TARGET_ROAS_TOLERANCE_PERCENT_MILLIS_MUST_BE_INTEGER" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Cannot transition to new bidding strategy.", + "Cannot attach bidding strategy to campaign.", + "Bidding strategy is not supported or cannot be used as anonymous.", + "The type does not match the named strategy's type.", + "The bid is invalid.", + "Bidding strategy is not available for the account type.", + "Campaign can not be created with given bidding strategy. It can be transitioned to the strategy, once eligible.", + "Cannot target content network only as campaign uses Page One Promoted bidding strategy.", + "Budget Optimizer and Target Spend bidding strategies are not supported for campaigns with AdSchedule targeting.", + "Pay per conversion is not available to all the customer, only few customers on the allow-list can use this.", + "Pay per conversion is not allowed with Target CPA.", + "Cannot set bidding strategy to Manual CPM for search network only campaigns.", + "The bidding strategy is not supported for use in drafts or experiments.", + "Bidding strategy type does not support product type ad group criterion.", + "Bid amount is too small.", + "Bid amount is too big.", + "Bid has too many fractional digit precision.", + "Invalid domain name specified.", + "The field is not compatible with the payment mode.", + "Bidding strategy type is incompatible with shared budget.", + "The attached bidding strategy and budget must be aligned with each other if alignment is specified on either entity.", + "The attached bidding strategy and budget must be attached to the same campaigns to become aligned.", + "The aligned bidding strategy and budget must be removed at the same time.", + "cpc_bid_floor_micros is greater than cpc_bid_ceiling_micros.", + "target_roas_tolerance_percent_millis must be integer." + ], + "type": "string" + }, + "biddingStrategyError": { + "description": "An error with a Bidding Strategy mutate.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "DUPLICATE_NAME", + "CANNOT_CHANGE_BIDDING_STRATEGY_TYPE", + "CANNOT_REMOVE_ASSOCIATED_STRATEGY", + "BIDDING_STRATEGY_NOT_SUPPORTED", + "INCOMPATIBLE_BIDDING_STRATEGY_AND_BIDDING_STRATEGY_GOAL_TYPE" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Each bidding strategy must have a unique name.", + "Bidding strategy type is immutable.", + "Only bidding strategies not linked to campaigns, adgroups or adgroup criteria can be removed.", + "The specified bidding strategy is not supported.", + "The bidding strategy is incompatible with the campaign's bidding strategy goal type." + ], + "type": "string" + }, + "billingSetupError": { + "description": "The reasons for the billing setup error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CANNOT_USE_EXISTING_AND_NEW_ACCOUNT", + "CANNOT_REMOVE_STARTED_BILLING_SETUP", + "CANNOT_CHANGE_BILLING_TO_SAME_PAYMENTS_ACCOUNT", + "BILLING_SETUP_NOT_PERMITTED_FOR_CUSTOMER_STATUS", + "INVALID_PAYMENTS_ACCOUNT", + "BILLING_SETUP_NOT_PERMITTED_FOR_CUSTOMER_CATEGORY", + "INVALID_START_TIME_TYPE", + "THIRD_PARTY_ALREADY_HAS_BILLING", + "BILLING_SETUP_IN_PROGRESS", + "NO_SIGNUP_PERMISSION", + "CHANGE_OF_BILL_TO_IN_PROGRESS", + "PAYMENTS_PROFILE_NOT_FOUND", + "PAYMENTS_ACCOUNT_NOT_FOUND", + "PAYMENTS_PROFILE_INELIGIBLE", + "PAYMENTS_ACCOUNT_INELIGIBLE", + "CUSTOMER_NEEDS_INTERNAL_APPROVAL", + "PAYMENTS_PROFILE_NEEDS_SERVICE_AGREEMENT_ACCEPTANCE", + "PAYMENTS_ACCOUNT_INELIGIBLE_CURRENCY_CODE_MISMATCH", + "FUTURE_START_TIME_PROHIBITED", + "TOO_MANY_BILLING_SETUPS_FOR_PAYMENTS_ACCOUNT" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Cannot specify both an existing payments account and a new payments account when setting up billing.", + "Cannot cancel an approved billing setup whose start time has passed.", + "Cannot perform a Change of Bill-To (CBT) to the same payments account.", + "Billing setups can only be used by customers with ENABLED or DRAFT status.", + "Billing setups must either include a correctly formatted existing payments account id, or a non-empty new payments account name.", + "Only billable and third-party customers can create billing setups.", + "Billing setup creations can only use NOW for start time type.", + "Billing setups can only be created for a third-party customer if they do not already have a setup.", + "Billing setups cannot be created if there is already a pending billing in progress.", + "Billing setups can only be created by customers who have permission to setup billings. Users can contact a representative for help setting up permissions.", + "Billing setups cannot be created if there is already a future-approved billing.", + "Requested payments profile not found.", + "Requested payments account not found.", + "Billing setup creation failed because the payments profile is ineligible.", + "Billing setup creation failed because the payments account is ineligible.", + "Billing setup creation failed because the payments profile needs internal approval.", + "Billing setup creation failed because the user needs to accept master service agreement on the payments profile.", + "Payments account has different currency code than the current customer and hence cannot be used to setup billing.", + "A start time in the future cannot be used because there is currently no active billing setup for this customer.", + "The payments account has maximum number of billing setups." + ], + "type": "string" + }, + "brandGuidelinesMigrationError": { + "description": "The reasons for the brand guidelines migration error.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "BRAND_GUIDELINES_ALREADY_ENABLED", + "CANNOT_ENABLE_BRAND_GUIDELINES_FOR_REMOVED_CAMPAIGN", + "BRAND_GUIDELINES_LOGO_LIMIT_EXCEEDED", + "CANNOT_AUTO_POPULATE_BRAND_ASSETS_WHEN_BRAND_ASSETS_PROVIDED", + "AUTO_POPULATE_BRAND_ASSETS_REQUIRED_WHEN_BRAND_ASSETS_OMITTED", + "TOO_MANY_ENABLE_OPERATIONS" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "This campaign is already enabled for Brand Guidelines.", + "Brand Guidelines can only be enabled for active or suspended campaigns.", + "Maximum of 5 square and landscape logos can be specified for Brand Guidelines.", + "Either auto_populate_brand_assets must be true or brand_assets must be provided, but not both.", + "Either auto_populate_brand_assets can be false or brand_assets can be omitted, but not both.", + "A maximum of 10 enable operations can be executed in a request." + ], + "type": "string" + }, + "campaignBudgetError": { + "description": "An error with a Campaign Budget mutate.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CAMPAIGN_BUDGET_CANNOT_BE_SHARED", + "CAMPAIGN_BUDGET_REMOVED", + "CAMPAIGN_BUDGET_IN_USE", + "CAMPAIGN_BUDGET_PERIOD_NOT_AVAILABLE", + "CANNOT_MODIFY_FIELD_OF_IMPLICITLY_SHARED_CAMPAIGN_BUDGET", + "CANNOT_UPDATE_CAMPAIGN_BUDGET_TO_IMPLICITLY_SHARED", + "CANNOT_UPDATE_CAMPAIGN_BUDGET_TO_EXPLICITLY_SHARED_WITHOUT_NAME", + "CANNOT_UPDATE_CAMPAIGN_BUDGET_TO_EXPLICITLY_SHARED", + "CANNOT_USE_IMPLICITLY_SHARED_CAMPAIGN_BUDGET_WITH_MULTIPLE_CAMPAIGNS", + "DUPLICATE_NAME", + "MONEY_AMOUNT_IN_WRONG_CURRENCY", + "MONEY_AMOUNT_LESS_THAN_CURRENCY_MINIMUM_CPC", + "MONEY_AMOUNT_TOO_LARGE", + "NEGATIVE_MONEY_AMOUNT", + "NON_MULTIPLE_OF_MINIMUM_CURRENCY_UNIT", + "TOTAL_BUDGET_AMOUNT_MUST_BE_UNSET_FOR_BUDGET_PERIOD_DAILY", + "INVALID_PERIOD", + "CANNOT_USE_ACCELERATED_DELIVERY_MODE", + "BUDGET_AMOUNT_MUST_BE_UNSET_FOR_CUSTOM_BUDGET_PERIOD", + "BUDGET_BELOW_PER_DAY_MINIMUM" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "The campaign budget cannot be shared.", + "The requested campaign budget no longer exists.", + "The campaign budget is associated with at least one campaign, and so the campaign budget cannot be removed.", + "Customer is not on the allow-list for this campaign budget period.", + "This field is not mutable on implicitly shared campaign budgets", + "Cannot change explicitly shared campaign budgets back to implicitly shared ones.", + "An implicit campaign budget without a name cannot be changed to explicitly shared campaign budget.", + "Cannot change an implicitly shared campaign budget to an explicitly shared one.", + "Only explicitly shared campaign budgets can be used with multiple campaigns.", + "A campaign budget with this name already exists.", + "A money amount was not in the expected currency.", + "A money amount was less than the minimum CPC for currency.", + "A money amount was greater than the maximum allowed.", + "A money amount was negative.", + "A money amount was not a multiple of a minimum unit.", + "Total budget amount must be unset when BudgetPeriod is DAILY.", + "The period of the budget is not allowed.", + "Cannot use accelerated delivery method on this budget.", + "Budget amount must be unset when BudgetPeriod is CUSTOM.", + "Budget amount or total amount must be above this campaign's per-day minimum. See the error's details.budget_per_day_minimum_error_details field for more information." + ], + "type": "string" + }, + "campaignConversionGoalError": { + "description": "The reasons for the campaign conversion goal error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CANNOT_USE_CAMPAIGN_GOAL_FOR_SEARCH_ADS_360_MANAGED_CAMPAIGN", + "CANNOT_USE_STORE_SALE_GOAL_FOR_PERFORMANCE_MAX_CAMPAIGN" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Campaign is managed by Search Ads 360 but uses Unified Goal.", + "Performance Max campaign cannot use an included store sale campaign goal." + ], + "type": "string" + }, + "campaignCriterionError": { + "description": "The reasons for the campaign criterion error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CONCRETE_TYPE_REQUIRED", + "INVALID_PLACEMENT_URL", + "CANNOT_EXCLUDE_CRITERIA_TYPE", + "CANNOT_SET_STATUS_FOR_CRITERIA_TYPE", + "CANNOT_SET_STATUS_FOR_EXCLUDED_CRITERIA", + "CANNOT_TARGET_AND_EXCLUDE", + "TOO_MANY_OPERATIONS", + "OPERATOR_NOT_SUPPORTED_FOR_CRITERION_TYPE", + "SHOPPING_CAMPAIGN_SALES_COUNTRY_NOT_SUPPORTED_FOR_SALES_CHANNEL", + "CANNOT_ADD_EXISTING_FIELD", + "CANNOT_UPDATE_NEGATIVE_CRITERION", + "CANNOT_SET_NEGATIVE_KEYWORD_THEME_CONSTANT_CRITERION", + "INVALID_KEYWORD_THEME_CONSTANT", + "MISSING_KEYWORD_THEME_CONSTANT_OR_FREE_FORM_KEYWORD_THEME", + "CANNOT_TARGET_BOTH_PROXIMITY_AND_LOCATION_CRITERIA_FOR_SMART_CAMPAIGN", + "CANNOT_TARGET_MULTIPLE_PROXIMITY_CRITERIA_FOR_SMART_CAMPAIGN", + "LOCATION_NOT_LAUNCHED_FOR_LOCAL_SERVICES_CAMPAIGN", + "LOCATION_INVALID_FOR_LOCAL_SERVICES_CAMPAIGN", + "CANNOT_TARGET_COUNTRY_FOR_LOCAL_SERVICES_CAMPAIGN", + "LOCATION_NOT_IN_HOME_COUNTRY_FOR_LOCAL_SERVICES_CAMPAIGN", + "CANNOT_ADD_OR_REMOVE_LOCATION_FOR_LOCAL_SERVICES_CAMPAIGN", + "AT_LEAST_ONE_POSITIVE_LOCATION_REQUIRED_FOR_LOCAL_SERVICES_CAMPAIGN", + "AT_LEAST_ONE_LOCAL_SERVICE_ID_CRITERION_REQUIRED_FOR_LOCAL_SERVICES_CAMPAIGN", + "LOCAL_SERVICE_ID_NOT_FOUND_FOR_CATEGORY", + "CANNOT_ATTACH_BRAND_LIST_TO_NON_QUALIFIED_SEARCH_CAMPAIGN", + "CANNOT_REMOVE_ALL_LOCATIONS_DUE_TO_TOO_MANY_COUNTRY_EXCLUSIONS", + "INVALID_VIDEO_LINEUP_ID" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Concrete type of criterion (keyword v.s. placement) is required for CREATE and UPDATE operations.", + "Invalid placement URL.", + "Criteria type can not be excluded for the campaign by the customer. like AOL account type cannot target site type criteria", + "Cannot set the campaign criterion status for this criteria type.", + "Cannot set the campaign criterion status for an excluded criteria.", + "Cannot target and exclude the same criterion.", + "The mutate contained too many operations.", + "This operator cannot be applied to a criterion of this type.", + "The Shopping campaign sales country is not supported for ProductSalesChannel targeting.", + "The existing field can't be updated with CREATE operation. It can be updated with UPDATE operation only.", + "Negative criteria are immutable, so updates are not allowed.", + "Only free form names are allowed for negative Smart campaign keyword theme.", + "Invalid Smart campaign keyword theme constant criterion.", + "A Smart campaign keyword theme constant or free-form Smart campaign keyword theme is required.", + "A Smart campaign may not target proximity and location criteria simultaneously.", + "A Smart campaign may not target multiple proximity criteria.", + "Location is not launched for Local Services Campaigns.", + "A Local Services campaign may not target certain criteria types.", + "Country locations are not supported for Local Services campaign.", + "Location is not within the home country of Local Services campaign.", + "Local Services profile does not exist for a particular Local Services campaign.", + "Local Services campaign must have at least one target location.", + "At least one positive local service ID criterion is required for a Local Services campaign.", + "Local service ID is not found under selected categories in local services campaign setting.", + "For search advertising channel, brand lists can only be applied to exclusive targeting, broad match campaigns for inclusive targeting or PMax generated campaigns.", + "Campaigns that target all countries and territories are limited to a certain number of top-level location exclusions. If removing a criterion causes the campaign to target all countries and territories and the campaign has more top-level location exclusions than the limit allows, then this error is returned.", + "Video lineup ID does not exist." + ], + "type": "string" + }, + "campaignCustomizerError": { + "description": "The reasons for the campaign customizer error.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version." + ], + "type": "string" + }, + "campaignDraftError": { + "description": "The reasons for the campaign draft error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "DUPLICATE_DRAFT_NAME", + "INVALID_STATUS_TRANSITION_FROM_REMOVED", + "INVALID_STATUS_TRANSITION_FROM_PROMOTED", + "INVALID_STATUS_TRANSITION_FROM_PROMOTE_FAILED", + "CUSTOMER_CANNOT_CREATE_DRAFT", + "CAMPAIGN_CANNOT_CREATE_DRAFT", + "INVALID_DRAFT_CHANGE", + "INVALID_STATUS_TRANSITION", + "MAX_NUMBER_OF_DRAFTS_PER_CAMPAIGN_REACHED", + "LIST_ERRORS_FOR_PROMOTED_DRAFT_ONLY" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "A draft with this name already exists for this campaign.", + "The draft is removed and cannot be transitioned to another status.", + "The draft has been promoted and cannot be transitioned to the specified status.", + "The draft has failed to be promoted and cannot be transitioned to the specified status.", + "This customer is not allowed to create drafts.", + "This campaign is not allowed to create drafts.", + "This modification cannot be made on a draft.", + "The draft cannot be transitioned to the specified status from its current status.", + "The campaign has reached the maximum number of drafts that can be created for a campaign throughout its lifetime. No additional drafts can be created for this campaign. Removed drafts also count towards this limit.", + "ListAsyncErrors was called without first promoting the draft." + ], + "type": "string" + }, + "campaignError": { + "description": "An error with a Campaign mutate.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CANNOT_TARGET_CONTENT_NETWORK", + "CANNOT_TARGET_SEARCH_NETWORK", + "CANNOT_TARGET_SEARCH_NETWORK_WITHOUT_GOOGLE_SEARCH", + "CANNOT_TARGET_GOOGLE_SEARCH_FOR_CPM_CAMPAIGN", + "CAMPAIGN_MUST_TARGET_AT_LEAST_ONE_NETWORK", + "CANNOT_TARGET_PARTNER_SEARCH_NETWORK", + "CANNOT_TARGET_CONTENT_NETWORK_ONLY_WITH_CRITERIA_LEVEL_BIDDING_STRATEGY", + "CAMPAIGN_DURATION_MUST_CONTAIN_ALL_RUNNABLE_TRIALS", + "CANNOT_MODIFY_FOR_TRIAL_CAMPAIGN", + "DUPLICATE_CAMPAIGN_NAME", + "INCOMPATIBLE_CAMPAIGN_FIELD", + "INVALID_CAMPAIGN_NAME", + "INVALID_AD_SERVING_OPTIMIZATION_STATUS", + "INVALID_TRACKING_URL", + "CANNOT_SET_BOTH_TRACKING_URL_TEMPLATE_AND_TRACKING_SETTING", + "MAX_IMPRESSIONS_NOT_IN_RANGE", + "TIME_UNIT_NOT_SUPPORTED", + "INVALID_OPERATION_IF_SERVING_STATUS_HAS_ENDED", + "BUDGET_CANNOT_BE_SHARED", + "CAMPAIGN_CANNOT_USE_SHARED_BUDGET", + "CANNOT_CHANGE_BUDGET_ON_CAMPAIGN_WITH_TRIALS", + "CAMPAIGN_LABEL_DOES_NOT_EXIST", + "CAMPAIGN_LABEL_ALREADY_EXISTS", + "MISSING_SHOPPING_SETTING", + "INVALID_SHOPPING_SALES_COUNTRY", + "ADVERTISING_CHANNEL_TYPE_NOT_AVAILABLE_FOR_ACCOUNT_TYPE", + "INVALID_ADVERTISING_CHANNEL_SUB_TYPE", + "AT_LEAST_ONE_CONVERSION_MUST_BE_SELECTED", + "CANNOT_SET_AD_ROTATION_MODE", + "CANNOT_MODIFY_START_DATE_IF_ALREADY_STARTED", + "CANNOT_SET_DATE_TO_PAST", + "MISSING_HOTEL_CUSTOMER_LINK", + "INVALID_HOTEL_CUSTOMER_LINK", + "MISSING_HOTEL_SETTING", + "CANNOT_USE_SHARED_CAMPAIGN_BUDGET_WHILE_PART_OF_CAMPAIGN_GROUP", + "APP_NOT_FOUND", + "SHOPPING_ENABLE_LOCAL_NOT_SUPPORTED_FOR_CAMPAIGN_TYPE", + "MERCHANT_NOT_ALLOWED_FOR_COMPARISON_LISTING_ADS", + "INSUFFICIENT_APP_INSTALLS_COUNT", + "SENSITIVE_CATEGORY_APP", + "HEC_AGREEMENT_REQUIRED", + "NOT_COMPATIBLE_WITH_VIEW_THROUGH_CONVERSION_OPTIMIZATION", + "INVALID_EXCLUDED_PARENT_ASSET_FIELD_TYPE", + "CANNOT_CREATE_APP_PRE_REGISTRATION_FOR_NON_ANDROID_APP", + "APP_NOT_AVAILABLE_TO_CREATE_APP_PRE_REGISTRATION_CAMPAIGN", + "INCOMPATIBLE_BUDGET_TYPE", + "LOCAL_SERVICES_DUPLICATE_CATEGORY_BID", + "LOCAL_SERVICES_INVALID_CATEGORY_BID", + "LOCAL_SERVICES_MISSING_CATEGORY_BID", + "INVALID_STATUS_CHANGE", + "MISSING_TRAVEL_CUSTOMER_LINK", + "INVALID_TRAVEL_CUSTOMER_LINK", + "INVALID_EXCLUDED_PARENT_ASSET_SET_TYPE", + "ASSET_SET_NOT_A_HOTEL_PROPERTY_ASSET_SET", + "HOTEL_PROPERTY_ASSET_SET_ONLY_FOR_PERFORMANCE_MAX_FOR_TRAVEL_GOALS", + "AVERAGE_DAILY_SPEND_TOO_HIGH", + "CANNOT_ATTACH_TO_REMOVED_CAMPAIGN_GROUP", + "CANNOT_ATTACH_TO_BIDDING_STRATEGY", + "CANNOT_CHANGE_BUDGET_PERIOD", + "NOT_ENOUGH_CONVERSIONS", + "CANNOT_SET_MORE_THAN_ONE_CONVERSION_ACTION", + "NOT_COMPATIBLE_WITH_BUDGET_TYPE", + "NOT_COMPATIBLE_WITH_UPLOAD_CLICKS_CONVERSION", + "APP_ID_MUST_MATCH_CONVERSION_ACTION_APP_ID", + "CONVERSION_ACTION_WITH_DOWNLOAD_CATEGORY_NOT_ALLOWED", + "CONVERSION_ACTION_WITH_DOWNLOAD_CATEGORY_REQUIRED", + "CONVERSION_TRACKING_NOT_ENABLED", + "NOT_COMPATIBLE_WITH_BIDDING_STRATEGY_TYPE", + "NOT_COMPATIBLE_WITH_GOOGLE_ATTRIBUTION_CONVERSIONS", + "CONVERSION_LAG_TOO_HIGH", + "NOT_LINKED_ADVERTISING_PARTNER", + "INVALID_NUMBER_OF_ADVERTISING_PARTNER_IDS", + "CANNOT_TARGET_DISPLAY_NETWORK_WITHOUT_YOUTUBE", + "CANNOT_LINK_TO_COMPARISON_SHOPPING_SERVICE_ACCOUNT", + "CANNOT_TARGET_NETWORK_FOR_COMPARISON_SHOPPING_SERVICE_LINKED_ACCOUNTS", + "CANNOT_MODIFY_TEXT_ASSET_AUTOMATION_WITH_ENABLED_TRIAL", + "DYNAMIC_TEXT_ASSET_CANNOT_OPT_OUT_WITH_FINAL_URL_EXPANSION_OPT_IN", + "CANNOT_SET_CAMPAIGN_KEYWORD_MATCH_TYPE", + "CANNOT_DISABLE_BROAD_MATCH_WHEN_KEYWORD_CONVERSION_IN_PROCESS", + "CANNOT_DISABLE_BROAD_MATCH_WHEN_TARGETING_BRANDS", + "CANNOT_ENABLE_BROAD_MATCH_FOR_BASE_CAMPAIGN_WITH_PROMOTING_TRIAL", + "CANNOT_ENABLE_BROAD_MATCH_FOR_PROMOTING_TRIAL_CAMPAIGN", + "REQUIRED_BUSINESS_NAME_ASSET_NOT_LINKED", + "REQUIRED_LOGO_ASSET_NOT_LINKED", + "BRAND_TARGETING_OVERRIDES_NOT_SUPPORTED", + "BRAND_GUIDELINES_NOT_ENABLED_FOR_CAMPAIGN", + "BRAND_GUIDELINES_MAIN_AND_ACCENT_COLORS_REQUIRED", + "BRAND_GUIDELINES_COLOR_INVALID_FORMAT", + "BRAND_GUIDELINES_UNSUPPORTED_FONT_FAMILY", + "BRAND_GUIDELINES_UNSUPPORTED_CHANNEL", + "CANNOT_ENABLE_BRAND_GUIDELINES_FOR_TRAVEL_GOALS", + "CUSTOMER_NOT_ALLOWLISTED_FOR_BRAND_GUIDELINES", + "THIRD_PARTY_INTEGRATION_PARTNER_NOT_ALLOWED", + "THIRD_PARTY_INTEGRATION_PARTNER_SHARE_COST_NOT_ALLOWED", + "DUPLICATE_INTERACTION_TYPE", + "INVALID_INTERACTION_TYPE", + "VIDEO_SEQUENCE_ERROR_SEQUENCE_DEFINITION_REQUIRED", + "AI_MAX_MUST_BE_ENABLED", + "DURATION_TOO_LONG_FOR_TOTAL_BUDGET", + "END_DATE_TIME_REQUIRED_FOR_TOTAL_BUDGET" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Cannot target content network.", + "Cannot target search network.", + "Cannot cover search network without google search network.", + "Cannot target Google Search network for a CPM campaign.", + "Must target at least one network.", + "Only some Google partners are allowed to target partner search network.", + "Cannot target content network only as campaign has criteria-level bidding strategy.", + "Cannot modify the start or end date such that the campaign duration would not contain the durations of all runnable trials.", + "Cannot modify dates, budget or status of a trial campaign.", + "Trying to modify the name of an active or paused campaign, where the name is already assigned to another active or paused campaign.", + "Two fields are in conflicting modes.", + "Campaign name cannot be used.", + "Given status is invalid.", + "Error in the campaign level tracking URL.", + "Cannot set both tracking URL template and tracking setting. A user has to clear legacy tracking setting in order to add tracking URL template.", + "The maximum number of impressions for Frequency Cap should be an integer greater than 0.", + "Only the Day, Week and Month time units are supported.", + "Operation not allowed on a campaign whose serving status has ended", + "This budget is exclusively linked to a Campaign that is using experiments so it cannot be shared.", + "Campaigns using experiments cannot use a shared budget.", + "A different budget cannot be assigned to a campaign when there are running or scheduled trials.", + "No link found between the campaign and the label.", + "The label has already been attached to the campaign.", + "A ShoppingSetting was not found when creating a shopping campaign.", + "The country in shopping setting is not an allowed country.", + "The requested channel type is not available according to the customer's account setting.", + "The AdvertisingChannelSubType is not a valid subtype of the primary channel type.", + "At least one conversion must be selected.", + "Setting ad rotation mode for a campaign is not allowed. Ad rotation mode at campaign is deprecated.", + "Trying to change start date on a campaign that has started.", + "Trying to modify a date into the past.", + "Hotel center id in the hotel setting does not match any customer links.", + "Hotel center id in the hotel setting must match an active customer link.", + "Hotel setting was not found when creating a hotel ads campaign.", + "A Campaign cannot use shared campaign budgets and be part of a campaign group.", + "The app ID was not found.", + "Campaign.shopping_setting.enable_local is not supported for the specified campaign type.", + "The merchant does not support the creation of campaigns for Shopping Comparison Listing Ads.", + "The App campaign for engagement cannot be created because there aren't enough installs.", + "The App campaign for engagement cannot be created because the app is sensitive.", + "Customers with Housing, Employment, or Credit ads must accept updated personalized ads policy to continue creating campaigns.", + "The field is not compatible with view through conversion optimization.", + "The field type cannot be excluded because an active campaign-asset link of this type exists.", + "The app pre-registration campaign cannot be created for non-Android applications.", + "The campaign cannot be created since the app is not available for pre-registration in any country.", + "The type of the Budget is not compatible with this Campaign.", + "Category bid list in the local services campaign setting contains multiple bids for the same category ID.", + "Category bid list in the local services campaign setting contains a bid for an invalid category ID.", + "Category bid list in the local services campaign setting is missing a bid for a category ID that must be present.", + "The requested change in status is not supported.", + "Travel Campaign's travel_account_id does not match any customer links.", + "Travel Campaign's travel_account_id matches an existing customer link but the customer link is not active.", + "The asset set type is invalid to be set in excluded_parent_asset_set_types field.", + "Campaign.hotel_property_asset_set must point to an asset set of type HOTEL_PROPERTY.", + "The hotel property asset set can only be set on Performance Max for travel goals campaigns.", + "Customer's average daily spend is too high to enable this feature.", + "Cannot attach the campaign to a deleted campaign group.", + "Cannot attach the campaign to this bidding strategy.", + "A budget with a different period cannot be assigned to the campaign.", + "Customer does not have enough conversions to enable this feature.", + "This campaign type can only have one conversion action.", + "The field is not compatible with the budget type.", + "The feature is incompatible with ConversionActionType.UPLOAD_CLICKS.", + "App campaign setting app ID must match selective optimization conversion action app ID.", + "Selective optimization conversion action with Download category is not allowed.", + "One software download for selective optimization conversion action is required for this campaign conversion action.", + "Conversion tracking is not enabled and is required for this feature.", + "The field is not compatible with the bidding strategy type.", + "Campaign is not compatible with a conversion tracker that has Google attribution enabled.", + "Customer level conversion lag is too high.", + "The advertiser set as an advertising partner is not an actively linked advertiser to this customer.", + "Invalid number of advertising partner IDs.", + "Cannot target the display network without also targeting YouTube.", + "This campaign type cannot be linked to a Comparison Shopping Service account.", + "Standard Shopping campaigns that are linked to a Comparison Shopping Service account cannot target this network.", + "Text asset automation settings can not be modified when there is an active Performance Max optimization automatically created assets experiment. End the experiment to modify these settings.", + "Dynamic text asset cannot be opted out when final URL expansion is opted in.", + "Can not set a campaign level match type.", + "The campaign level keyword match type cannot be switched to non-broad when keyword conversion to broad match is in process.", + "The campaign level keyword match type cannot be switched to non-broad when the campaign has any attached brand list or when a brand hint shared set is attached to the campaign.", + "Cannot set campaign level keyword match type to BROAD if the campaign is a base campaign with an associated trial that is currently promoting.", + "Cannot set campaign level keyword match type to BROAD if the campaign is a trial currently promoting.", + "Performance Max campaigns with Brand Guidelines enabled require at least one business name to be linked as a CampaignAsset. Performance Max campaigns for online sales with a product feed must meet this requirement only when there are assets that are linked to the campaign's asset groups.", + "Performance Max campaigns with Brand Guidelines enabled require at least one square logo to be linked as a CampaignAsset. Performance Max campaigns for online sales with a product feed must meet this requirement only when there are assets that are linked to the campaign's asset groups.", + "This campaign does not support brand targeting overrides. Brand targeting overrides are only supported for Performance Max campaigns that have a product feed.", + "Brand Guideline fields can only be set for campaigns that have Brand Guidelines enabled.", + "When a Brand Guidelines color field is set, both main color and accent color are required.", + "Brand Guidelines colors must be hex colors matching the regular expression '#[0-9a-fA-F]{6}', for example '#abc123'", + "Brand Guidelines font family must be one of the supported Google Fonts. See Campaign.brand_guidelines.predefined_font_family for the list of supported fonts.", + "Brand Guidelines cannot be set for this channel type. Brand Guidelines supports Performance Max campaigns.", + "Brand Guidelines cannot be enabled for Performance Max for travel goals campaigns.", + "This customer is not allowlisted for enabling Brand Guidelines.", + "Using campaign third-party integration partners that are not set at the customer level is not allowed.", + "Campaign third-party integration partners are not allowed to share cost if it is not enabled at the customer level.", + "Each `previous_step_interaction_type` can be used at most once for the same `previous_step_id`", + "Previous step interaction type cannot happen for previous step AdGroup type. For example, `SKIP` interaction type is not valid for non-skippable formats.", + "Campaign video ads sequence is required for `VIDEO_SEQUENCE` advertising channel sub type.", + "This feature is only available for campaigns with AI Max enabled.", + "Duration too long for total budget.", + "Campaigns with total budgets must have end date/time specified." + ], + "type": "string" + }, + "campaignExperimentError": { + "description": "The reasons for the campaign experiment error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "DUPLICATE_NAME", + "INVALID_TRANSITION", + "CANNOT_CREATE_EXPERIMENT_WITH_SHARED_BUDGET", + "CANNOT_CREATE_EXPERIMENT_FOR_REMOVED_BASE_CAMPAIGN", + "CANNOT_CREATE_EXPERIMENT_FOR_NON_PROPOSED_DRAFT", + "CUSTOMER_CANNOT_CREATE_EXPERIMENT", + "CAMPAIGN_CANNOT_CREATE_EXPERIMENT", + "EXPERIMENT_DURATIONS_MUST_NOT_OVERLAP", + "EXPERIMENT_DURATION_MUST_BE_WITHIN_CAMPAIGN_DURATION", + "CANNOT_MUTATE_EXPERIMENT_DUE_TO_STATUS" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "An active campaign or experiment with this name already exists.", + "Experiment cannot be updated from the current state to the requested target state. For example, an experiment can only graduate if its status is ENABLED.", + "Cannot create an experiment from a campaign using an explicitly shared budget.", + "Cannot create an experiment for a removed base campaign.", + "Cannot create an experiment from a draft, which has a status other than proposed.", + "This customer is not allowed to create an experiment.", + "This campaign is not allowed to create an experiment.", + "Trying to set an experiment duration which overlaps with another experiment.", + "All non-removed experiments must start and end within their campaign's duration.", + "The experiment cannot be modified because its status is in a terminal state, such as REMOVED." + ], + "type": "string" + }, + "campaignFeedError": { + "description": "The reasons for the campaign feed error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE", + "CANNOT_CREATE_FOR_REMOVED_FEED", + "CANNOT_CREATE_ALREADY_EXISTING_CAMPAIGN_FEED", + "CANNOT_MODIFY_REMOVED_CAMPAIGN_FEED", + "INVALID_PLACEHOLDER_TYPE", + "MISSING_FEEDMAPPING_FOR_PLACEHOLDER_TYPE", + "NO_EXISTING_LOCATION_CUSTOMER_FEED", + "LEGACY_FEED_TYPE_READ_ONLY" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "An active feed already exists for this campaign and placeholder type.", + "The specified feed is removed.", + "The CampaignFeed already exists. UPDATE should be used to modify the existing CampaignFeed.", + "Cannot update removed campaign feed.", + "Invalid placeholder type.", + "Feed mapping for this placeholder type does not exist.", + "Location CampaignFeeds cannot be created unless there is a location CustomerFeed for the specified feed.", + "Feed is read only." + ], + "type": "string" + }, + "campaignGoalConfigError": { + "description": "The reasons for the campaign goal config error.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "GOAL_NOT_FOUND", + "CAMPAIGN_NOT_FOUND", + "HIGH_LIFETIME_VALUE_PRESENT_BUT_VALUE_ABSENT", + "HIGH_LIFETIME_VALUE_LESS_THAN_OR_EQUAL_TO_VALUE", + "CUSTOMER_LIFECYCLE_OPTIMIZATION_CAMPAIGN_TYPE_NOT_SUPPORTED", + "CUSTOMER_NOT_ALLOWLISTED_FOR_RETENTION_ONLY" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Goal is either removed or does not exist for this account.", + "Campaign is either removed or does not exist.", + "If high lifetime value is present then value should be present.", + "High lifetime value should be greater than value.", + "When using customer lifecycle optimization goal, campaign type should be supported.", + "Customer must be allowlisted to use retention only goal." + ], + "type": "string" + }, + "campaignLifecycleGoalError": { + "description": "The reasons for the campaign lifecycle goal error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CAMPAIGN_MISSING", + "INVALID_CAMPAIGN", + "CUSTOMER_ACQUISITION_INVALID_OPTIMIZATION_MODE", + "INCOMPATIBLE_BIDDING_STRATEGY", + "MISSING_PURCHASE_GOAL", + "CUSTOMER_ACQUISITION_INVALID_HIGH_LIFETIME_VALUE", + "CUSTOMER_ACQUISITION_UNSUPPORTED_CAMPAIGN_TYPE", + "CUSTOMER_ACQUISITION_INVALID_VALUE", + "CUSTOMER_ACQUISITION_VALUE_MISSING", + "CUSTOMER_ACQUISITION_MISSING_EXISTING_CUSTOMER_DEFINITION", + "CUSTOMER_ACQUISITION_MISSING_HIGH_VALUE_CUSTOMER_DEFINITION" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Campaign is not specified.", + "Cannot find the specified campaign.", + "Optimization mode is unspecified or invalid.", + "The configured lifecycle goal setting is not compatible with the bidding strategy the campaign is using. Specifically, BID_HIGHER_FOR_NEW_CUSTOMER requires conversion-value based bidding strategy type such as MAXIMIZE_CONVERSION_VALUE.", + "Lifecycle goals require the campaign to optimize towards purchase conversion goal.", + "CampaignLifecycleGoal.customer_acquisition_goal_settings.value_settings.high_lifetime_value is invalid or not allowed, such as when the specified value is smaller than 0.01, when the optimization mode is not BID_HIGHER_FOR_NEW_CUSTOMER, or when CampaignLifecycleGoal.customer_acquisition_goal_settings.value_settings.high_lifetime_value is specified smaller than/without CampaignLifecycleGoal.customer_acquisition_goal_settings.value_settings.value.", + "Customer acquisition goal is not supported on this campaign type.", + "CampaignLifecycleGoal.customer_acquisition_goal_settings.value_settings.value is invalid or not allowed, such as when the specified value is smaller than 0.01, or when the optimization mode is not BID_HIGHER_FOR_NEW_CUSTOMER.", + "To use BID_HIGHER_FOR_NEW_CUSTOMER mode, either CampaignLifecycleGoal.customer_acquisition_goal_settings.value_settings.value or CustomerLifecycleGoal.customer_acquisition_goal_value_settings.value must have been specified. If a manager account is managing your account's conversion tracking, then only the CustomerLifecycleGoal of that manager account is used.", + "In order for a campaign to adopt the customer acquisition goal, CustomerLifecycleGoal.lifecycle_goal_customer_definition_settings.existing_user_lists must include active and accessible userlist with more than 1000 members in the Search/Youtube network. If a manager account is managing your account's conversion tracking, then only the CustomerLifecycleGoal of that manager account is used. Also make sure that the manager account shares audience segments with sub-accounts with continuous audience sharing.", + "In order for a campaign to adopt the customer acquisition goal with high lifetime value optimization, CustomerLifecycleGoal.lifecycle_goal_customer_definition_settings.high_lifetime_value_user_lists must include active and accessible userlist with more than 1000 members in the Search/Youtube network. If a manager account is managing your account's conversion tracking, then only the CustomerLifecycleGoal of that manager account is used. Also make sure that the manager account shares audience segments with sub-accounts using continuous audience sharing." + ], + "type": "string" + }, + "campaignSharedSetError": { + "description": "The reasons for the campaign shared set error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "SHARED_SET_ACCESS_DENIED" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "The shared set belongs to another customer and permission isn't granted." + ], + "type": "string" + }, + "changeEventError": { + "description": "The reasons for the change event error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "START_DATE_TOO_OLD", + "CHANGE_DATE_RANGE_INFINITE", + "CHANGE_DATE_RANGE_NEGATIVE", + "LIMIT_NOT_SPECIFIED", + "INVALID_LIMIT_CLAUSE" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "The requested start date is too old. It cannot be older than 30 days.", + "The change_event search request must specify a finite range filter on change_date_time.", + "The change event search request has specified invalid date time filters that can never logically produce any valid results (for example, start time after end time).", + "The change_event search request must specify a LIMIT.", + "The LIMIT specified by change_event request should be less than or equal to 10K." + ], + "type": "string" + }, + "changeStatusError": { + "description": "The reasons for the change status error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "START_DATE_TOO_OLD", + "CHANGE_DATE_RANGE_INFINITE", + "CHANGE_DATE_RANGE_NEGATIVE", + "LIMIT_NOT_SPECIFIED", + "INVALID_LIMIT_CLAUSE" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "The requested start date is too old.", + "The change_status search request must specify a finite range filter on last_change_date_time.", + "The change status search request has specified invalid date time filters that can never logically produce any valid results (for example, start time after end time).", + "The change_status search request must specify a LIMIT.", + "The LIMIT specified by change_status request should be less than or equal to 10K." + ], + "type": "string" + }, + "clickViewError": { + "description": "The reasons for the click view error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "EXPECTED_FILTER_ON_A_SINGLE_DAY", + "DATE_TOO_OLD" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Missing filter on a single day.", + "The requested date is too old." + ], + "type": "string" + }, + "collectionSizeError": { + "description": "The reasons for the collection size error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "TOO_FEW", + "TOO_MANY" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Too few.", + "Too many." + ], + "type": "string" + }, + "contextError": { + "description": "The reasons for the context error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "OPERATION_NOT_PERMITTED_FOR_CONTEXT", + "OPERATION_NOT_PERMITTED_FOR_REMOVED_RESOURCE" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "The operation is not allowed for the given context.", + "The operation is not allowed for removed resources." + ], + "type": "string" + }, + "conversionActionError": { + "description": "The reasons for the conversion action error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "DUPLICATE_NAME", + "DUPLICATE_APP_ID", + "TWO_CONVERSION_ACTIONS_BIDDING_ON_SAME_APP_DOWNLOAD", + "BIDDING_ON_SAME_APP_DOWNLOAD_AS_GLOBAL_ACTION", + "DATA_DRIVEN_MODEL_WAS_NEVER_GENERATED", + "DATA_DRIVEN_MODEL_EXPIRED", + "DATA_DRIVEN_MODEL_STALE", + "DATA_DRIVEN_MODEL_UNKNOWN", + "CREATION_NOT_SUPPORTED", + "UPDATE_NOT_SUPPORTED", + "CANNOT_SET_RULE_BASED_ATTRIBUTION_MODELS" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "The specified conversion action name already exists.", + "Another conversion action with the specified app id already exists.", + "Android first open action conflicts with Google play codeless download action tracking the same app.", + "Android first open action conflicts with Google play codeless download action tracking the same app.", + "The attribution model cannot be set to DATA_DRIVEN because a data-driven model has never been generated.", + "The attribution model cannot be set to DATA_DRIVEN because the data-driven model is expired.", + "The attribution model cannot be set to DATA_DRIVEN because the data-driven model is stale.", + "The attribution model cannot be set to DATA_DRIVEN because the data-driven model is unavailable or the conversion action was newly added.", + "Creation of this conversion action type isn't supported by Google Ads API.", + "Update of this conversion action isn't supported by Google Ads API.", + "Rule-based attribution models are deprecated and not allowed to be set by conversion action." + ], + "type": "string" + }, + "conversionAdjustmentUploadError": { + "description": "The reasons for the conversion adjustment upload error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "TOO_RECENT_CONVERSION_ACTION", + "CONVERSION_ALREADY_RETRACTED", + "CONVERSION_NOT_FOUND", + "CONVERSION_EXPIRED", + "ADJUSTMENT_PRECEDES_CONVERSION", + "MORE_RECENT_RESTATEMENT_FOUND", + "TOO_RECENT_CONVERSION", + "CANNOT_RESTATE_CONVERSION_ACTION_THAT_ALWAYS_USES_DEFAULT_CONVERSION_VALUE", + "TOO_MANY_ADJUSTMENTS_IN_REQUEST", + "TOO_MANY_ADJUSTMENTS", + "RESTATEMENT_ALREADY_EXISTS", + "DUPLICATE_ADJUSTMENT_IN_REQUEST", + "CUSTOMER_NOT_ACCEPTED_CUSTOMER_DATA_TERMS", + "CONVERSION_ACTION_NOT_ELIGIBLE_FOR_ENHANCEMENT", + "INVALID_USER_IDENTIFIER", + "UNSUPPORTED_USER_IDENTIFIER", + "GCLID_DATE_TIME_PAIR_AND_ORDER_ID_BOTH_SET", + "CONVERSION_ALREADY_ENHANCED", + "DUPLICATE_ENHANCEMENT_IN_REQUEST", + "CUSTOMER_DATA_POLICY_PROHIBITS_ENHANCEMENT", + "MISSING_ORDER_ID_FOR_WEBPAGE", + "ORDER_ID_CONTAINS_PII", + "INVALID_JOB_ID", + "NO_CONVERSION_ACTION_FOUND", + "INVALID_CONVERSION_ACTION_TYPE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Can't import events to a conversion action that was just created. Try importing again in 6 hours.", + "The conversion was already retracted. This adjustment was not processed.", + "The conversion for this conversion action and conversion identifier can't be found. Make sure your conversion identifiers are associated with the correct conversion action and try again.", + "Adjustment can't be made to a conversion that occurred more than 54 days ago.", + "Adjustment has an `adjustment_date_time` that occurred before the associated conversion. Make sure your `adjustment_date_time` is correct and try again.", + "More recent adjustment `adjustment_date_time` has already been reported for the associated conversion. Make sure your adjustment `adjustment_date_time` is correct and try again.", + "Adjustment can't be recorded because the conversion occurred too recently. Try adjusting a conversion that occurred at least 24 hours ago.", + "Can't make an adjustment to a conversion that is set up to use the default value. Check your conversion action value setting and try again.", + "Try uploading fewer than 2001 adjustments in a single API request.", + "The conversion has already been adjusted the maximum number of times. Make sure you're only making necessary adjustment to existing conversion.", + "The conversion has prior a restatement with the same `adjustment_date_time`. Make sure your adjustment has the correct and unique `adjustment_date_time` and try again.", + "Imported adjustment has a duplicate conversion adjustment with same `adjustment_date_time`. Make sure your adjustment has the correct `adjustment_date_time` and try again.", + "Make sure you agree to the customer data processing terms in conversion settings and try again.", + "Can't use enhanced conversions with the specified conversion action.", + "Make sure you hash user provided data using SHA-256 and ensure you are normalizing according to the guidelines.", + "Use user provided data such as emails or phone numbers hashed using SHA-256 and try again.", + "Cannot set both gclid_date_time_pair and order_id. Use only 1 type and try again.", + "Conversion already has enhancements with the same Order ID and conversion action. Make sure your data is correctly configured and try again.", + "Multiple enhancements have the same conversion action and Order ID. Make sure your data is correctly configured and try again.", + "Enhanced conversions can't be used for this account because of Google customer data policies. Contact your Google representative.", + "Adjustment for website conversion requires Order ID (ie, transaction ID). Make sure your website tags capture Order IDs and you send the same Order IDs with your adjustment.", + "Can't use adjustment with Order IDs containing personally-identifiable information (PII).", + "The provided job id in the request is not within the allowed range. A job ID must be a positive integer in the range [1, 2^31).", + "The conversion action specified in the adjustment request cannot be found. Make sure it's available in this account.", + "The type of the conversion action specified in the adjustment request isn't supported for uploading adjustments. A conversion adjustment of type `RETRACTION` or `RESTATEMENT` is only permitted for conversion actions of type `SALESFORCE`, `UPLOAD_CLICK` or `WEBPAGE`. A conversion adjustment of type `ENHANCEMENT` is only permitted for conversion actions of type `WEBPAGE`." + ], + "type": "string" + }, + "conversionCustomVariableError": { + "description": "The reasons for the conversion custom variable error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "DUPLICATE_NAME", + "DUPLICATE_TAG", + "RESERVED_TAG" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "A conversion custom variable with the specified name already exists.", + "A conversion custom variable with the specified tag already exists.", + "A conversion custom variable with the specified tag is reserved for other uses." + ], + "type": "string" + }, + "conversionGoalCampaignConfigError": { + "description": "The reasons for the conversion goal campaign config error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CANNOT_USE_CAMPAIGN_GOAL_FOR_SEARCH_ADS_360_MANAGED_CAMPAIGN", + "CUSTOM_GOAL_DOES_NOT_BELONG_TO_GOOGLE_ADS_CONVERSION_CUSTOMER", + "CAMPAIGN_CANNOT_USE_UNIFIED_GOALS", + "EMPTY_CONVERSION_GOALS", + "STORE_SALE_STORE_VISIT_CANNOT_BE_BOTH_INCLUDED", + "PERFORMANCE_MAX_CAMPAIGN_CANNOT_USE_CUSTOM_GOAL_WITH_STORE_SALES" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Campaign is managed by Search Ads 360 but uses Unified Goal.", + "The campaign is using a custom goal that does not belong to its Google Ads conversion customer (conversion tracking customer).", + "The campaign is not allowed to use unified goals.", + "The campaign is using campaign override goals but has no goals configured.", + "STORE_SALE and STORE_VISIT conversion types cannot be both included in campaign level goal.", + "Performance Max campaign is not allowed to use custom goal with store sales conversion type." + ], + "type": "string" + }, + "conversionUploadError": { + "description": "The reasons for the conversion upload error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "TOO_MANY_CONVERSIONS_IN_REQUEST", + "UNPARSEABLE_GCLID", + "CONVERSION_PRECEDES_EVENT", + "EXPIRED_EVENT", + "TOO_RECENT_EVENT", + "EVENT_NOT_FOUND", + "UNAUTHORIZED_CUSTOMER", + "TOO_RECENT_CONVERSION_ACTION", + "CONVERSION_TRACKING_NOT_ENABLED_AT_IMPRESSION_TIME", + "EXTERNAL_ATTRIBUTION_DATA_SET_FOR_NON_EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION", + "EXTERNAL_ATTRIBUTION_DATA_NOT_SET_FOR_EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION", + "ORDER_ID_NOT_PERMITTED_FOR_EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION", + "ORDER_ID_ALREADY_IN_USE", + "DUPLICATE_ORDER_ID", + "TOO_RECENT_CALL", + "EXPIRED_CALL", + "CALL_NOT_FOUND", + "CONVERSION_PRECEDES_CALL", + "CONVERSION_TRACKING_NOT_ENABLED_AT_CALL_TIME", + "UNPARSEABLE_CALLERS_PHONE_NUMBER", + "CLICK_CONVERSION_ALREADY_EXISTS", + "CALL_CONVERSION_ALREADY_EXISTS", + "DUPLICATE_CLICK_CONVERSION_IN_REQUEST", + "DUPLICATE_CALL_CONVERSION_IN_REQUEST", + "CUSTOM_VARIABLE_NOT_ENABLED", + "CUSTOM_VARIABLE_VALUE_CONTAINS_PII", + "INVALID_CUSTOMER_FOR_CLICK", + "INVALID_CUSTOMER_FOR_CALL", + "CONVERSION_NOT_COMPLIANT_WITH_ATT_POLICY", + "CLICK_NOT_FOUND", + "INVALID_USER_IDENTIFIER", + "EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION_NOT_PERMITTED_WITH_USER_IDENTIFIER", + "UNSUPPORTED_USER_IDENTIFIER", + "GBRAID_WBRAID_BOTH_SET", + "UNPARSEABLE_WBRAID", + "UNPARSEABLE_GBRAID", + "ONE_PER_CLICK_CONVERSION_ACTION_NOT_PERMITTED_WITH_BRAID", + "CUSTOMER_DATA_POLICY_PROHIBITS_ENHANCED_CONVERSIONS", + "CUSTOMER_NOT_ACCEPTED_CUSTOMER_DATA_TERMS", + "ORDER_ID_CONTAINS_PII", + "CUSTOMER_NOT_ENABLED_ENHANCED_CONVERSIONS_FOR_LEADS", + "INVALID_JOB_ID", + "NO_CONVERSION_ACTION_FOUND", + "INVALID_CONVERSION_ACTION_TYPE" + ], + "enumDescriptions": [ + "Enum unspecified.", + "Used for return value only. Represents value unknown in this version.", + "Upload fewer than 2001 events in a single request.", + "The imported gclid could not be decoded.", + "The imported event has a `conversion_date_time` that precedes the click. Make sure your `conversion_date_time` is correct and try again.", + "The imported event can't be recorded because its click occurred before this conversion's click-through window. Make sure you import the most recent data.", + "The click associated with the given identifier or iOS URL parameter occurred less than 6 hours ago. Retry after 6 hours have passed.", + "The imported event could not be attributed to a click. This may be because the event did not come from a Google Ads campaign.", + "The click ID or call is associated with an Ads account you don't have access to. Make sure you import conversions for accounts managed by your manager account.", + "Can't import events to a conversion action that was just created. Try importing again in 6 hours.", + "At the time of the click, conversion tracking was not enabled in the effective conversion account of the click's Google Ads account.", + "The imported event includes external attribution data, but the conversion action isn't set up to use an external attribution model. Make sure the conversion action is correctly configured and try again.", + "The conversion action is set up to use an external attribution model, but the imported event is missing data. Make sure imported events include the external attribution credit and all necessary fields.", + "Order IDs can't be used for a conversion measured with an external attribution model. Make sure the conversion is correctly configured and imported events include only necessary data and try again.", + "The imported event includes an order ID that was previously recorded, so the event was not processed.", + "Imported events include multiple conversions with the same order ID and were not processed. Make sure order IDs are unique and try again.", + "Can't import calls that occurred less than 6 hours ago. Try uploading again in 6 hours.", + "The call can't be recorded because it occurred before this conversion action's lookback window. Make sure your import is configured to get the most recent data.", + "The call or click leading to the imported event can't be found. Make sure your data source is set up to include correct identifiers.", + "The call has a `conversion_date_time` that precedes the associated click. Make sure your `conversion_date_time` is correct.", + "At the time of the imported call, conversion tracking was not enabled in the effective conversion account of the click's Google Ads account.", + "Make sure phone numbers are formatted as E.164 (+16502531234), International (+64 3-331 6005), or US national number (6502531234).", + "The imported event has the same click and `conversion_date_time` as an existing conversion. Use a unique `conversion_date_time` or order ID for each unique event and try again.", + "The imported call has the same `conversion_date_time` as an existing conversion. Make sure your `conversion_date_time` correctly configured and try again.", + "Multiple events have the same click and `conversion_date_time`. Make sure your `conversion_date_time` is correctly configured and try again.", + "Multiple events have the same call and `conversion_date_time`. Make sure your `conversion_date_time` is correctly configured and try again.", + "Enable the custom variable in your conversion settings and try again.", + "Can't import events with custom variables containing personally-identifiable information (PII). Remove these variables and try again.", + "The click from the imported event is associated with a different Google Ads account. Make sure you're importing to the correct account.", + "The click from the call is associated with a different Google Ads account. Make sure you're importing to the correct account. Query conversion_tracking_setting.google_ads_conversion_customer on Customer to identify the correct account.", + "The connversion can't be imported because the conversion source didn't comply with Apple App Transparency Tracking (ATT) policies or because the customer didn't consent to tracking.", + "The email address or phone number for this event can't be matched to a click. This may be because it didn't come from a Google Ads campaign, and you can safely ignore this warning. If this includes more imported events than is expected, you may need to check your setup.", + "Make sure you hash user provided data using SHA-256 and ensure you are normalizing according to the guidelines.", + "User provided data can't be used with external attribution models. Use a different attribution model or omit user identifiers and try again.", + "The provided user identifiers are not supported. Use only hashed email or phone number and try again.", + "Can't use both gbraid and wbraid parameters. Use only 1 and try again.", + "Can't parse event import data. Check if your wbraid parameter was not modified and try again.", + "Can't parse event import data. Check if your gbraid parameter was not modified and try again.", + "Conversion actions that use one-per-click counting can't be used with gbraid or wbraid parameters.", + "Enhanced conversions can't be used for this account because of Google customer data policies. Contact your Google representative.", + "Make sure you agree to the customer data processing terms in conversion settings and try again. You can check your setting by querying conversion_tracking_setting.accepted_customer_data_terms on Customer.", + "Can't import events with order IDs containing personally-identifiable information (PII).", + "Make sure you've turned on enhanced conversions for leads in conversion settings and try again. You can check your setting by querying conversion_tracking_setting.enhanced_conversions_for_leads_enabled on Customer.", + "The provided job id in the request is not within the allowed range. A job ID must be a positive integer in the range [1, 2^31).", + "The conversion action specified in the upload request cannot be found. Make sure it's available in this account.", + "The conversion action specified in the upload request isn't set up for uploading conversions." + ], + "type": "string" + }, + "conversionValueRuleError": { + "description": "The reasons for the conversion value rule error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "INVALID_GEO_TARGET_CONSTANT", + "CONFLICTING_INCLUDED_AND_EXCLUDED_GEO_TARGET", + "CONFLICTING_CONDITIONS", + "CANNOT_REMOVE_IF_INCLUDED_IN_VALUE_RULE_SET", + "CONDITION_NOT_ALLOWED", + "FIELD_MUST_BE_UNSET", + "CANNOT_PAUSE_UNLESS_VALUE_RULE_SET_IS_PAUSED", + "UNTARGETABLE_GEO_TARGET", + "INVALID_AUDIENCE_USER_LIST", + "INACCESSIBLE_USER_LIST", + "INVALID_AUDIENCE_USER_INTEREST", + "CANNOT_ADD_RULE_WITH_STATUS_REMOVED", + "NO_DAY_OF_WEEK_SELECTED" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "The value rule's geo location condition contains invalid geo target constant(s), for example, there's no matching geo target.", + "The value rule's geo location condition contains conflicting included and excluded geo targets. Specifically, some of the excluded geo target(s) are the same as or contain some of the included geo target(s). For example, the geo location condition includes California but excludes U.S.", + "User specified conflicting conditions for two value rules in the same value rule set.", + "The value rule cannot be removed because it's still included in some value rule set.", + "The value rule contains a condition that's not allowed by the value rule set including this value rule.", + "The value rule contains a field that should be unset.", + "Pausing the value rule requires pausing the value rule set because the value rule is (one of) the last enabled in the value rule set.", + "The value rule's geo location condition contains untargetable geo target constant(s).", + "The value rule's audience condition contains invalid user list(s). In another word, there's no matching user list.", + "The value rule's audience condition contains inaccessible user list(s).", + "The value rule's audience condition contains invalid user_interest(s). This might be because there is no matching user interest, or the user interest is not visible.", + "When a value rule is created, it shouldn't have REMOVED status.", + "The value rule's itinerary condition contains invalid travel start day, it contains no day of week." + ], + "type": "string" + }, + "conversionValueRuleSetError": { + "description": "The reasons for the conversion value rule set error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CONFLICTING_VALUE_RULE_CONDITIONS", + "INVALID_VALUE_RULE", + "DIMENSIONS_UPDATE_ONLY_ALLOW_APPEND", + "CONDITION_TYPE_NOT_ALLOWED", + "DUPLICATE_DIMENSIONS", + "INVALID_CAMPAIGN_ID", + "CANNOT_PAUSE_UNLESS_ALL_VALUE_RULES_ARE_PAUSED", + "SHOULD_PAUSE_WHEN_ALL_VALUE_RULES_ARE_PAUSED", + "VALUE_RULES_NOT_SUPPORTED_FOR_CAMPAIGN_TYPE", + "INELIGIBLE_CONVERSION_ACTION_CATEGORIES", + "DIMENSION_NO_CONDITION_USED_WITH_OTHER_DIMENSIONS", + "DIMENSION_NO_CONDITION_NOT_ALLOWED", + "UNSUPPORTED_CONVERSION_ACTION_CATEGORIES", + "DIMENSION_NOT_SUPPORTED_FOR_CAMPAIGN_TYPE" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Two value rules in this value rule set contain conflicting conditions.", + "This value rule set includes a value rule that cannot be found, has been permanently removed or belongs to a different customer.", + "An error that's thrown when a mutate operation is trying to replace/remove some existing elements in the dimensions field. In other words, ADD op is always fine and UPDATE op is fine if it's only appending new elements into dimensions list.", + "An error that's thrown when a mutate is adding new value rule(s) into a value rule set and the added value rule(s) include conditions that are not specified in the dimensions of the value rule set.", + "The dimensions field contains duplicate elements.", + "This value rule set is attached to an invalid campaign id. Either a campaign with this campaign id doesn't exist or it belongs to a different customer.", + "When a mutate request tries to pause a value rule set, the enabled value rules in this set must be paused in the same command, or this error will be thrown.", + "When a mutate request tries to pause all the value rules in a value rule set, the value rule set must be paused, or this error will be thrown.", + "This value rule set is attached to a campaign that does not support value rules. Currently, campaign level value rule sets can only be created on Search, or Display campaigns.", + "To add a value rule set that applies on Store Visits/Store Sales conversion action categories, the customer must have valid Store Visits/ Store Sales conversion actions.", + "If NO_CONDITION is used as a dimension of a value rule set, it must be the only dimension.", + "Dimension NO_CONDITION can only be used by Store Visits/Store Sales value rule set.", + "Value rule sets defined on the specified conversion action categories are not supported. The list of conversion action categories must be an empty list, only STORE_VISIT, or only STORE_SALE.", + "Dimension ITINERARY can only be used on campaigns with an advertising channel type of PERFORMANCE_MAX or HOTEL." + ], + "type": "string" + }, + "countryCodeError": { + "description": "The reasons for the country code error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "INVALID_COUNTRY_CODE" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "The country code is invalid." + ], + "type": "string" + }, + "criterionError": { + "description": "The reasons for the criterion error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CONCRETE_TYPE_REQUIRED", + "INVALID_EXCLUDED_CATEGORY", + "INVALID_KEYWORD_TEXT", + "KEYWORD_TEXT_TOO_LONG", + "KEYWORD_HAS_TOO_MANY_WORDS", + "KEYWORD_HAS_INVALID_CHARS", + "INVALID_PLACEMENT_URL", + "INVALID_USER_LIST", + "INVALID_USER_INTEREST", + "INVALID_FORMAT_FOR_PLACEMENT_URL", + "PLACEMENT_URL_IS_TOO_LONG", + "PLACEMENT_URL_HAS_ILLEGAL_CHAR", + "PLACEMENT_URL_HAS_MULTIPLE_SITES_IN_LINE", + "PLACEMENT_IS_NOT_AVAILABLE_FOR_TARGETING_OR_EXCLUSION", + "INVALID_TOPIC_PATH", + "INVALID_YOUTUBE_CHANNEL_ID", + "INVALID_YOUTUBE_VIDEO_ID", + "YOUTUBE_VERTICAL_CHANNEL_DEPRECATED", + "YOUTUBE_DEMOGRAPHIC_CHANNEL_DEPRECATED", + "YOUTUBE_URL_UNSUPPORTED", + "CANNOT_EXCLUDE_CRITERIA_TYPE", + "CANNOT_ADD_CRITERIA_TYPE", + "CANNOT_EXCLUDE_SIMILAR_USER_LIST", + "CANNOT_ADD_CLOSED_USER_LIST", + "CANNOT_ADD_DISPLAY_ONLY_LISTS_TO_SEARCH_ONLY_CAMPAIGNS", + "CANNOT_ADD_DISPLAY_ONLY_LISTS_TO_SEARCH_CAMPAIGNS", + "CANNOT_ADD_DISPLAY_ONLY_LISTS_TO_SHOPPING_CAMPAIGNS", + "CANNOT_ADD_USER_INTERESTS_TO_SEARCH_CAMPAIGNS", + "CANNOT_SET_BIDS_ON_CRITERION_TYPE_IN_SEARCH_CAMPAIGNS", + "CANNOT_ADD_URLS_TO_CRITERION_TYPE_FOR_CAMPAIGN_TYPE", + "INVALID_COMBINED_AUDIENCE", + "INVALID_CUSTOM_AFFINITY", + "INVALID_CUSTOM_INTENT", + "INVALID_CUSTOM_AUDIENCE", + "INVALID_IP_ADDRESS", + "INVALID_IP_FORMAT", + "INVALID_MOBILE_APP", + "INVALID_MOBILE_APP_CATEGORY", + "INVALID_CRITERION_ID", + "CANNOT_TARGET_CRITERION", + "CANNOT_TARGET_OBSOLETE_CRITERION", + "CRITERION_ID_AND_TYPE_MISMATCH", + "INVALID_PROXIMITY_RADIUS", + "INVALID_PROXIMITY_RADIUS_UNITS", + "INVALID_STREETADDRESS_LENGTH", + "INVALID_CITYNAME_LENGTH", + "INVALID_REGIONCODE_LENGTH", + "INVALID_REGIONNAME_LENGTH", + "INVALID_POSTALCODE_LENGTH", + "INVALID_COUNTRY_CODE", + "INVALID_LATITUDE", + "INVALID_LONGITUDE", + "PROXIMITY_GEOPOINT_AND_ADDRESS_BOTH_CANNOT_BE_NULL", + "INVALID_PROXIMITY_ADDRESS", + "INVALID_USER_DOMAIN_NAME", + "CRITERION_PARAMETER_TOO_LONG", + "AD_SCHEDULE_TIME_INTERVALS_OVERLAP", + "AD_SCHEDULE_INTERVAL_CANNOT_SPAN_MULTIPLE_DAYS", + "AD_SCHEDULE_INVALID_TIME_INTERVAL", + "AD_SCHEDULE_EXCEEDED_INTERVALS_PER_DAY_LIMIT", + "AD_SCHEDULE_CRITERION_ID_MISMATCHING_FIELDS", + "CANNOT_BID_MODIFY_CRITERION_TYPE", + "CANNOT_BID_MODIFY_CRITERION_CAMPAIGN_OPTED_OUT", + "CANNOT_BID_MODIFY_NEGATIVE_CRITERION", + "BID_MODIFIER_ALREADY_EXISTS", + "FEED_ID_NOT_ALLOWED", + "ACCOUNT_INELIGIBLE_FOR_CRITERIA_TYPE", + "CRITERIA_TYPE_INVALID_FOR_BIDDING_STRATEGY", + "CANNOT_EXCLUDE_CRITERION", + "CANNOT_REMOVE_CRITERION", + "INVALID_PRODUCT_BIDDING_CATEGORY", + "MISSING_SHOPPING_SETTING", + "INVALID_MATCHING_FUNCTION", + "LOCATION_FILTER_NOT_ALLOWED", + "INVALID_FEED_FOR_LOCATION_FILTER", + "LOCATION_FILTER_INVALID", + "CANNOT_SET_GEO_TARGET_CONSTANTS_WITH_FEED_ITEM_SETS", + "CANNOT_SET_BOTH_ASSET_SET_AND_FEED", + "CANNOT_SET_FEED_OR_FEED_ITEM_SETS_FOR_CUSTOMER", + "CANNOT_SET_ASSET_SET_FIELD_FOR_CUSTOMER", + "CANNOT_SET_GEO_TARGET_CONSTANTS_WITH_ASSET_SETS", + "CANNOT_SET_ASSET_SETS_WITH_FEED_ITEM_SETS", + "INVALID_LOCATION_GROUP_ASSET_SET", + "INVALID_LOCATION_GROUP_RADIUS", + "INVALID_LOCATION_GROUP_RADIUS_UNIT", + "CANNOT_ATTACH_CRITERIA_AT_CAMPAIGN_AND_ADGROUP", + "HOTEL_LENGTH_OF_STAY_OVERLAPS_WITH_EXISTING_CRITERION", + "HOTEL_ADVANCE_BOOKING_WINDOW_OVERLAPS_WITH_EXISTING_CRITERION", + "FIELD_INCOMPATIBLE_WITH_NEGATIVE_TARGETING", + "INVALID_WEBPAGE_CONDITION", + "INVALID_WEBPAGE_CONDITION_URL", + "WEBPAGE_CONDITION_URL_CANNOT_BE_EMPTY", + "WEBPAGE_CONDITION_URL_UNSUPPORTED_PROTOCOL", + "WEBPAGE_CONDITION_URL_CANNOT_BE_IP_ADDRESS", + "WEBPAGE_CONDITION_URL_DOMAIN_NOT_CONSISTENT_WITH_CAMPAIGN_SETTING", + "WEBPAGE_CONDITION_URL_CANNOT_BE_PUBLIC_SUFFIX", + "WEBPAGE_CONDITION_URL_INVALID_PUBLIC_SUFFIX", + "WEBPAGE_CONDITION_URL_VALUE_TRACK_VALUE_NOT_SUPPORTED", + "WEBPAGE_CRITERION_URL_EQUALS_CAN_HAVE_ONLY_ONE_CONDITION", + "WEBPAGE_CRITERION_NOT_SUPPORTED_ON_NON_DSA_AD_GROUP", + "CANNOT_TARGET_USER_LIST_FOR_SMART_DISPLAY_CAMPAIGNS", + "CANNOT_TARGET_PLACEMENTS_FOR_SEARCH_CAMPAIGNS", + "LISTING_SCOPE_TOO_MANY_DIMENSION_TYPES", + "LISTING_SCOPE_TOO_MANY_IN_OPERATORS", + "LISTING_SCOPE_IN_OPERATOR_NOT_SUPPORTED", + "DUPLICATE_LISTING_DIMENSION_TYPE", + "DUPLICATE_LISTING_DIMENSION_VALUE", + "CANNOT_SET_BIDS_ON_LISTING_GROUP_SUBDIVISION", + "LISTING_GROUP_ERROR_IN_ANOTHER_OPERATION", + "INVALID_LISTING_GROUP_HIERARCHY", + "LISTING_GROUP_TREE_WAS_INVALID_BEFORE_MUTATION", + "LISTING_GROUP_UNIT_CANNOT_HAVE_CHILDREN", + "LISTING_GROUP_SUBDIVISION_REQUIRES_OTHERS_CASE", + "LISTING_GROUP_REQUIRES_SAME_DIMENSION_TYPE_AS_SIBLINGS", + "LISTING_GROUP_ALREADY_EXISTS", + "LISTING_GROUP_DOES_NOT_EXIST", + "LISTING_GROUP_CANNOT_BE_REMOVED", + "INVALID_LISTING_GROUP_TYPE", + "LISTING_GROUP_ADD_MAY_ONLY_USE_TEMP_ID", + "LISTING_SCOPE_TOO_LONG", + "LISTING_SCOPE_TOO_MANY_DIMENSIONS", + "LISTING_GROUP_TOO_LONG", + "LISTING_GROUP_TREE_TOO_DEEP", + "INVALID_LISTING_DIMENSION", + "INVALID_LISTING_DIMENSION_TYPE", + "ADVERTISER_NOT_ON_ALLOWLIST_FOR_COMBINED_AUDIENCE_ON_DISPLAY", + "CANNOT_TARGET_REMOVED_COMBINED_AUDIENCE", + "INVALID_COMBINED_AUDIENCE_ID", + "CANNOT_TARGET_REMOVED_CUSTOM_AUDIENCE", + "HOTEL_CHECK_IN_DATE_RANGE_OVERLAPS_WITH_EXISTING_CRITERION", + "HOTEL_CHECK_IN_DATE_RANGE_START_DATE_TOO_EARLY", + "HOTEL_CHECK_IN_DATE_RANGE_END_DATE_TOO_LATE", + "HOTEL_CHECK_IN_DATE_RANGE_REVERSED", + "BROAD_MATCH_MODIFIER_KEYWORD_NOT_ALLOWED", + "ONE_AUDIENCE_ALLOWED_PER_ASSET_GROUP", + "AUDIENCE_NOT_ELIGIBLE_FOR_CAMPAIGN_TYPE", + "AUDIENCE_NOT_ALLOWED_TO_ATTACH_WHEN_AUDIENCE_GROUPED_SET_TO_FALSE", + "CANNOT_TARGET_CUSTOMER_MATCH_USER_LIST", + "NEGATIVE_KEYWORD_SHARED_SET_DOES_NOT_EXIST", + "CANNOT_ADD_REMOVED_NEGATIVE_KEYWORD_SHARED_SET", + "CANNOT_HAVE_MULTIPLE_NEGATIVE_KEYWORD_LIST_PER_ACCOUNT", + "CUSTOMER_CANNOT_ADD_CRITERION_OF_THIS_TYPE", + "CANNOT_TARGET_SIMILAR_USER_LIST", + "CANNOT_ADD_AUDIENCE_SEGMENT_CRITERION_WHEN_AUDIENCE_GROUPED_IS_SET", + "ONE_AUDIENCE_ALLOWED_PER_AD_GROUP", + "INVALID_DETAILED_DEMOGRAPHIC", + "CANNOT_RECOGNIZE_BRAND", + "BRAND_SHARED_SET_DOES_NOT_EXIST", + "CANNOT_ADD_REMOVED_BRAND_SHARED_SET", + "ONLY_EXCLUSION_BRAND_LIST_ALLOWED_FOR_CAMPAIGN_TYPE", + "LOCATION_TARGETING_NOT_ELIGIBLE_FOR_RESTRICTED_CAMPAIGN", + "ONLY_INCLUSION_BRAND_LIST_ALLOWED_FOR_AD_GROUPS", + "CANNOT_ADD_REMOVED_PLACEMENT_LIST_SHARED_SET", + "PLACEMENT_LIST_SHARED_SET_DOES_NOT_EXIST", + "AI_MAX_MUST_BE_ENABLED", + "NOT_AVAILABLE_FOR_AI_MAX_CAMPAIGNS", + "MISSING_EU_POLITICAL_ADVERTISING_SELF_DECLARATION", + "INVALID_CAMPAIGN_TYPE_FOR_THIRD_PARTY_PARTNER_DATA_LIST", + "CANNOT_ADD_USER_LIST_PENDING_PRIVACY_REVIEW", + "VERTICAL_ADS_ITEM_GROUP_RULE_LIST_DOES_NOT_EXIST", + "CANNOT_ADD_REMOVED_VERTICAL_ADS_ITEM_GROUP_RULE_LIST_SHARED_SET", + "VERTICAL_ADS_ITEM_GROUP_RULE_LIST_NOT_SUPPORTED_FOR_CAMPAIGNS_WITHOUT_ENABLED_TRAVEL_FEED", + "VERTICAL_ADS_ITEM_GROUP_RULE_LIST_NOT_SUPPORTED_FOR_CAMPAIGNS_WITHOUT_AI_MAX", + "VERTICAL_ADS_ITEM_GROUP_RULE_NOT_SUPPORTED_FOR_THE_VERTICAL_TYPE" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Concrete type of criterion is required for CREATE and UPDATE operations.", + "The category requested for exclusion is invalid.", + "Invalid keyword criteria text.", + "Keyword text should be less than 80 chars.", + "Keyword text has too many words.", + "Keyword text has invalid characters or symbols.", + "Invalid placement URL.", + "Invalid user list criterion.", + "Invalid user interest criterion.", + "Placement URL has wrong format.", + "Placement URL is too long.", + "Indicates the URL contains an illegal character.", + "Indicates the URL contains multiple comma separated URLs.", + "Indicates the domain is blocked.", + "Invalid topic path.", + "The YouTube Channel Id is invalid.", + "The YouTube Video Id is invalid.", + "Indicates the placement is a YouTube vertical channel, which is no longer supported.", + "Indicates the placement is a YouTube demographic channel, which is no longer supported.", + "YouTube urls are not supported in Placement criterion. Use YouTubeChannel and YouTubeVideo criterion instead.", + "Criteria type can not be excluded by the customer, like AOL account type cannot target site type criteria.", + "Criteria type can not be targeted.", + "Not allowed to exclude similar user list.", + "Not allowed to target a closed user list.", + "Not allowed to add display only UserLists to search only campaigns.", + "Not allowed to add display only UserLists to search plus campaigns.", + "Not allowed to add display only UserLists to shopping campaigns.", + "Not allowed to add User interests to search only campaigns.", + "Not allowed to set bids for this criterion type in search campaigns", + "Final URLs, URL Templates and CustomParameters cannot be set for the criterion types of Gender, AgeRange, UserList, Placement, MobileApp, and MobileAppCategory in search campaigns and shopping campaigns.", + "Invalid combined audience criterion.", + "Invalid custom affinity criterion.", + "Invalid custom intent criterion.", + "Invalid custom audience criterion.", + "IP address is not valid.", + "IP format is not valid.", + "Mobile application is not valid.", + "Mobile application category is not valid.", + "The CriterionId does not exist or is of the incorrect type.", + "The Criterion is not allowed to be targeted.", + "The criterion is not allowed to be targeted as it is deprecated.", + "The CriterionId is not valid for the type.", + "Distance for the radius for the proximity criterion is invalid.", + "Units for the distance for the radius for the proximity criterion is invalid.", + "Street address in the address is not valid.", + "City name in the address is not valid.", + "Region code in the address is not valid.", + "Region name in the address is not valid.", + "Postal code in the address is not valid.", + "Country code in the address is not valid.", + "Latitude for the GeoPoint is not valid.", + "Longitude for the GeoPoint is not valid.", + "The Proximity input is not valid. Both address and geoPoint cannot be null.", + "The Proximity address cannot be geocoded to a valid lat/long.", + "User domain name is not valid.", + "Length of serialized criterion parameter exceeded size limit.", + "Time interval in the AdSchedule overlaps with another AdSchedule.", + "AdSchedule time interval cannot span multiple days.", + "AdSchedule time interval specified is invalid, endTime cannot be earlier than startTime.", + "The number of AdSchedule entries in a day exceeds the limit.", + "CriteriaId does not match the interval of the AdSchedule specified.", + "Cannot set bid modifier for this criterion type.", + "Cannot bid modify criterion, since it is opted out of the campaign.", + "Cannot set bid modifier for a negative criterion.", + "Bid Modifier already exists. Use SET operation to update.", + "Feed Id is not allowed in these Location Groups.", + "The account may not use the requested criteria type. For example, some accounts are restricted to keywords only.", + "The requested criteria type cannot be used with campaign or ad group bidding strategy.", + "The Criterion is not allowed to be excluded.", + "The criterion is not allowed to be removed. For example, we cannot remove any of the device criterion.", + "Bidding categories do not form a valid path in the Shopping bidding category taxonomy.", + "ShoppingSetting must be added to the campaign before ProductScope criteria can be added.", + "Matching function is invalid.", + "Filter parameters not allowed for location groups targeting.", + "Feed not found, or the feed is not an enabled location feed.", + "Given location filter parameter is invalid for location groups targeting.", + "Cannot set geo target constants and feed item sets at the same time.", + "Cannot set both assetset and feed at the same time.", + "Cannot set feed or feed item sets for Customer.", + "Cannot set AssetSet criteria for customer.", + "Cannot set geo target constants and asset sets at the same time.", + "Cannot set asset sets and feed item sets at the same time.", + "The location group asset set id is invalid", + "The location group radius is in the range but not at the valid increment.", + "The location group radius unit is invalid.", + "Criteria type cannot be associated with a campaign and its ad group(s) simultaneously.", + "Range represented by hotel length of stay's min nights and max nights overlaps with an existing criterion.", + "Range represented by hotel advance booking window's min days and max days overlaps with an existing criterion.", + "The field is not allowed to be set when the negative field is set to true, for example, we don't allow bids in negative ad group or campaign criteria.", + "The combination of operand and operator in webpage condition is invalid.", + "The URL of webpage condition is invalid.", + "The URL of webpage condition cannot be empty or contain white space.", + "The URL of webpage condition contains an unsupported protocol.", + "The URL of webpage condition cannot be an IP address.", + "The domain of the URL is not consistent with the domain in campaign setting.", + "The URL of webpage condition cannot be a public suffix itself.", + "The URL of webpage condition has an invalid public suffix.", + "Value track parameter is not supported in webpage condition URL.", + "Only one URL-EQUALS webpage condition is allowed in a webpage criterion and it cannot be combined with other conditions.", + "A webpage criterion cannot be added to a non-DSA ad group.", + "Cannot add positive user list criteria in Smart Display campaigns.", + "Cannot add positive placement criterion types in search campaigns.", + "Listing scope contains too many dimension types.", + "Listing scope has too many IN operators.", + "Listing scope contains IN operator on an unsupported dimension type.", + "There are dimensions with duplicate dimension type.", + "There are dimensions with duplicate dimension value.", + "Listing group SUBDIVISION nodes cannot have bids.", + "Product group operation is invalid because another operation targeting the same AdGroupId is failing.", + "Ad group is invalid due to the listing groups it contains.", + "Tree was invalid before the mutation.", + "Listing group unit cannot have children.", + "Subdivided listing groups must have an \"others\" case.", + "Dimension type of listing group must be the same as that of its siblings.", + "Listing group cannot be added to the ad group because it already exists.", + "Listing group referenced in the operation was not found in the ad group.", + "Recursive removal failed because listing group subdivision is being created or modified in this request.", + "Listing group type is not allowed for specified ad group criterion type.", + "Listing group in an ADD operation specifies a non temporary criterion id.", + "The combined length of dimension values of the Listing scope criterion is too long.", + "Listing scope contains too many dimensions.", + "The combined length of dimension values of the Listing group criterion is too long.", + "Listing group tree is too deep.", + "Listing dimension is invalid (for example, dimension contains illegal value, dimension type is represented with wrong class, etc). Listing dimension value can not contain \"==\" or \"&+\".", + "Listing dimension type is either invalid for campaigns of this type or cannot be used in the current context. BIDDING_CATEGORY_Lx and PRODUCT_TYPE_Lx dimensions must be used in ascending order of their levels: L1, L2, L3, L4, L5... The levels must be specified sequentially and start from L1. Furthermore, an \"others\" Listing group cannot be subdivided with a dimension of the same type but of a higher level (\"others\" BIDDING_CATEGORY_L3 can be subdivided with BRAND but not with BIDDING_CATEGORY_L4).", + "Customer is not on allowlist for composite audience in display campaigns.", + "Cannot target on a removed combined audience.", + "Combined audience ID is invalid.", + "Can not target removed combined audience.", + "Range represented by hotel check-in date's start date and end date overlaps with an existing criterion.", + "Start date is earlier than earliest allowed value of yesterday UTC.", + "End date later is than latest allowed day of 330 days in the future UTC.", + "Start date is after end date.", + "Broad match modifier (BMM) keywords can no longer be created. See https://ads-developers.googleblog.com/2021/06/broad-match-modifier-upcoming-changes.html.", + "Only one audience is allowed in an asset group.", + "Audience is not supported for the specified campaign type.", + "Audience is not allowed to attach when use_audience_grouped bit is set to false.", + "Targeting is not allowed for Customer Match lists as per Customer Match policy. See https://support.google.com/google-ads/answer/6299717.", + "Cannot create a negative keyword list criterion with a shared set that does not exist.", + "Cannot create a negative keyword list with deleted shared set.", + "Can only have one Negative Keyword List per account.", + "Only allowlisted customers can add criteria of this type.", + "Targeting for Similar audiences is not supported, since this feature has been deprecated. See https://support.google.com/google-ads/answer/12463119 to learn more.", + "Audience segment criteria cannot be added when use_audience_grouped bit is set.", + "Only one audience is allowed in an ad group.", + "Invalid detailed demographics criterion.", + "The brand criteria has a brand input that is not recognized as a valid brand.", + "The brand_list.shared_set_id references a shared set that does not exist.", + "Cannot create a brand list with deleted shared set.", + "Brand list can only be negatively targeted for the campaign type.", + "Cannot positively target locations outside of restricted area for campaign.", + "Ad group level brand list criteria only support inclusionary targeting. Negative targeting at this level is not supported.", + "Cannot create a placement list with deleted shared set.", + "The placement_list.shared_set_id references a shared set that does not exist.", + "This feature is only available for AI Max campaigns.", + "This feature is not available for AI Max campaigns.", + "The operation failed because the campaign is missing the self-declaration on political advertising status in the EU.", + "Targeting this UserList is not allowed for this campaign type.", + "The user list cannot be used while it is pending privacy review.", + "The referenced Vertical Ads item group rule list shared set does not exist.", + "Cannot add Vertical Ads Item Group Rule List with deleted shared set.", + "Vertical Ads Item Group Rule List is not supported for campaigns that do not have an active travel feed.", + "Vertical Ads Item Group Rule List is not supported for campaigns that do not have AI max enabled.", + "The dimension of the Vertical Ads Item Group Rule criterion is not supported for the shared set vertical type." + ], + "type": "string" + }, + "currencyCodeError": { + "description": "The reasons for the currency code error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "UNSUPPORTED" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "The currency code is not supported." + ], + "type": "string" + }, + "currencyError": { + "description": "The reasons for the currency errors.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "VALUE_NOT_MULTIPLE_OF_BILLABLE_UNIT" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Bid must be a multiple of billable unit." + ], + "type": "string" + }, + "customAudienceError": { + "description": "The reasons for the custom audience error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "NAME_ALREADY_USED", + "CANNOT_REMOVE_WHILE_IN_USE", + "RESOURCE_ALREADY_REMOVED", + "MEMBER_TYPE_AND_PARAMETER_ALREADY_EXISTED", + "INVALID_MEMBER_TYPE", + "MEMBER_TYPE_AND_VALUE_DOES_NOT_MATCH", + "POLICY_VIOLATION", + "INVALID_TYPE_CHANGE" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "New name in the custom audience is duplicated ignoring cases.", + "Cannot remove a custom audience while it's still being used as targeting.", + "Cannot update or remove a custom audience that is already removed.", + "The pair of [type, value] already exists in members.", + "Member type is invalid.", + "Member type does not have associated value.", + "Custom audience contains a member that violates policy.", + "Change in custom audience type is not allowed." + ], + "type": "string" + }, + "customColumnError": { + "description": "The reasons for the custom column error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CUSTOM_COLUMN_NOT_FOUND", + "CUSTOM_COLUMN_NOT_AVAILABLE" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "The custom column has not been found.", + "The custom column is not available." + ], + "type": "string" + }, + "customConversionGoalError": { + "description": "The reasons for the custom conversion goal error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "INVALID_CONVERSION_ACTION", + "CONVERSION_ACTION_NOT_ENABLED", + "CANNOT_REMOVE_LINKED_CUSTOM_CONVERSION_GOAL", + "CUSTOM_GOAL_DUPLICATE_NAME", + "DUPLICATE_CONVERSION_ACTION_LIST", + "NON_BIDDABLE_CONVERSION_ACTION_NOT_ELIGIBLE_FOR_CUSTOM_GOAL" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Cannot find a conversion action with the specified id.", + "The conversion action is not enabled so it cannot be included in a custom conversion goal.", + "The custom conversion goal cannot be removed because it's linked to a campaign.", + "Custom goal with the same name already exists.", + "Custom goal with the same conversion action list already exists.", + "Conversion types that cannot be biddable should not be included in custom goal." + ], + "type": "string" + }, + "customInterestError": { + "description": "The reasons for the custom interest error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "NAME_ALREADY_USED", + "CUSTOM_INTEREST_MEMBER_ID_AND_TYPE_PARAMETER_NOT_PRESENT_IN_REMOVE", + "TYPE_AND_PARAMETER_NOT_FOUND", + "TYPE_AND_PARAMETER_ALREADY_EXISTED", + "INVALID_CUSTOM_INTEREST_MEMBER_TYPE", + "CANNOT_REMOVE_WHILE_IN_USE", + "CANNOT_CHANGE_TYPE" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Duplicate custom interest name ignoring case.", + "In the remove custom interest member operation, both member ID and pair [type, parameter] are not present.", + "The pair of [type, parameter] does not exist.", + "The pair of [type, parameter] already exists.", + "Unsupported custom interest member type.", + "Cannot remove a custom interest while it's still being targeted.", + "Cannot mutate custom interest type." + ], + "type": "string" + }, + "customerClientLinkError": { + "description": "The reasons for the customer client link error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CLIENT_ALREADY_INVITED_BY_THIS_MANAGER", + "CLIENT_ALREADY_MANAGED_IN_HIERARCHY", + "CYCLIC_LINK_NOT_ALLOWED", + "CUSTOMER_HAS_TOO_MANY_ACCOUNTS", + "CLIENT_HAS_TOO_MANY_INVITATIONS", + "CANNOT_HIDE_OR_UNHIDE_MANAGER_ACCOUNTS", + "CUSTOMER_HAS_TOO_MANY_ACCOUNTS_AT_MANAGER", + "CLIENT_HAS_TOO_MANY_MANAGERS" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Trying to manage a client that already in being managed by customer.", + "Already managed by some other manager in the hierarchy.", + "Attempt to create a cycle in the hierarchy.", + "Managed accounts has the maximum number of linked accounts.", + "Invitor has the maximum pending invitations.", + "Attempt to change hidden status of a link that is not active.", + "Parent manager account has the maximum number of linked accounts.", + "Client has too many managers." + ], + "type": "string" + }, + "customerCustomizerError": { + "description": "The reasons for the customer customizer error.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version." + ], + "type": "string" + }, + "customerError": { + "description": "The reasons for the customer error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "STATUS_CHANGE_DISALLOWED", + "ACCOUNT_NOT_SET_UP", + "CREATION_DENIED_FOR_POLICY_VIOLATION", + "CREATION_DENIED_INELIGIBLE_MCC" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Customer status is not allowed to be changed from DRAFT and CLOSED. Currency code and at least one of country code and time zone needs to be set when status is changed to ENABLED.", + "CustomerService cannot get a customer that has not been fully set up.", + "Customer creation is denied for policy violation.", + "Manager account is ineligible to create new accounts." + ], + "type": "string" + }, + "customerFeedError": { + "description": "The reasons for the customer feed error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE", + "CANNOT_CREATE_FOR_REMOVED_FEED", + "CANNOT_CREATE_ALREADY_EXISTING_CUSTOMER_FEED", + "CANNOT_MODIFY_REMOVED_CUSTOMER_FEED", + "INVALID_PLACEHOLDER_TYPE", + "MISSING_FEEDMAPPING_FOR_PLACEHOLDER_TYPE", + "PLACEHOLDER_TYPE_NOT_ALLOWED_ON_CUSTOMER_FEED" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "An active feed already exists for this customer and place holder type.", + "The specified feed is removed.", + "The CustomerFeed already exists. Update should be used to modify the existing CustomerFeed.", + "Cannot update removed customer feed.", + "Invalid placeholder type.", + "Feed mapping for this placeholder type does not exist.", + "Placeholder not allowed at the account level." + ], + "type": "string" + }, + "customerLifecycleGoalError": { + "description": "The reasons for the customer lifecycle goal error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CUSTOMER_ACQUISITION_VALUE_MISSING", + "CUSTOMER_ACQUISITION_INVALID_VALUE", + "CUSTOMER_ACQUISITION_INVALID_HIGH_LIFETIME_VALUE", + "CUSTOMER_ACQUISITION_VALUE_CANNOT_BE_CLEARED", + "CUSTOMER_ACQUISITION_HIGH_LIFETIME_VALUE_CANNOT_BE_CLEARED", + "INVALID_EXISTING_USER_LIST", + "INVALID_HIGH_LIFETIME_VALUE_USER_LIST" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "CustomerLifecycleGoal.customer_acquisition_goal_value_settings.value must be set.", + "CustomerLifecycleGoal.customer_acquisition_goal_value_settings.value must be no less than 0.01.", + "CustomerLifecycleGoal.customer_acquisition_goal_value_settings.high_lifetime_value must be no less than 0.01. Also, to set this field, CustomerLifecycleGoal.customer_acquisition_goal_value_settings.value must also be present, and high_lifetime_value must be greater than value.", + "CustomerLifecycleGoal.customer_acquisition_goal_value_settings.value cannot be cleared. This value would have no effect as long as none of your campaigns adopt the customer acquisitiong goal.", + "CustomerLifecycleGoal.customer_acquisition_goal_value_settings.high_lifetime_value cannot be cleared. This value would have no effect as long as none of your campaigns adopt the high value optimization of customer acquisitiong goal.", + "Found invalid value in CustomerLifecycleGoal.lifecycle_goal_customer_definition_settings.existing_user_lists. The userlist must be accessible, active and belong to one of the following types: CRM_BASED, RULE_BASED, REMARKETING.", + "Found invalid value in CustomerLifecycleGoal.lifecycle_goal_customer_definition_settings.high_lifetime_value_user_lists. The userlist must be accessible, active and belong to one of the following types: CRM_BASED, RULE_BASED, REMARKETING." + ], + "type": "string" + }, + "customerManagerLinkError": { + "description": "The reasons for the customer manager link error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "NO_PENDING_INVITE", + "SAME_CLIENT_MORE_THAN_ONCE_PER_CALL", + "MANAGER_HAS_MAX_NUMBER_OF_LINKED_ACCOUNTS", + "CANNOT_UNLINK_ACCOUNT_WITHOUT_ACTIVE_USER", + "CANNOT_REMOVE_LAST_CLIENT_ACCOUNT_OWNER", + "CANNOT_CHANGE_ROLE_BY_NON_ACCOUNT_OWNER", + "CANNOT_CHANGE_ROLE_FOR_NON_ACTIVE_LINK_ACCOUNT", + "DUPLICATE_CHILD_FOUND", + "TEST_ACCOUNT_LINKS_TOO_MANY_CHILD_ACCOUNTS" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "No pending invitation.", + "Attempt to operate on the same client more than once in the same call.", + "Manager account has the maximum number of linked accounts.", + "If no active user on account it cannot be unlinked from its manager.", + "Account should have at least one active owner on it before being unlinked.", + "Only account owners may change their permission role.", + "When a client's link to its manager is not active, the link role cannot be changed.", + "Attempt to link a child to a parent that contains or will contain duplicate children.", + "The authorized customer is a test account. It can add no more than the allowed number of accounts" + ], + "type": "string" + }, + "customerSkAdNetworkConversionValueSchemaError": { + "description": "The reasons for the customer SK Ad network conversion value schema error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "INVALID_LINK_ID", + "INVALID_APP_ID", + "INVALID_SCHEMA", + "LINK_CODE_NOT_FOUND", + "INVALID_EVENT_COUNTER", + "INVALID_EVENT_NAME" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "The customer link ID provided is invalid.", + "The app ID provided is invalid.", + "The conversion value schema provided is invalid.", + "The customer link id provided could not be found.", + "The SkAdNetwork event counter provided is invalid.", + "The SkAdNetwork event name provided is invalid." + ], + "type": "string" + }, + "customerUserAccessError": { + "description": "The reasons for the customer user access mutate error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "INVALID_USER_ID", + "REMOVAL_DISALLOWED", + "DISALLOWED_ACCESS_ROLE", + "LAST_ADMIN_USER_OF_SERVING_CUSTOMER", + "LAST_ADMIN_USER_OF_MANAGER" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "There is no user associated with the user id specified.", + "Unable to remove the access between the user and customer.", + "Unable to add or update the access role as specified.", + "The user can't remove itself from an active serving customer if it's the last admin user and the customer doesn't have any owner manager", + "Last admin user cannot be removed from a manager." + ], + "type": "string" + }, + "customizerAttributeError": { + "description": "The reasons for the customizer attribute error.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "DUPLICATE_CUSTOMIZER_ATTRIBUTE_NAME" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "CustomizerAttribute name matches that of another active CustomizerAttribute." + ], + "type": "string" + }, + "dataLinkError": { + "description": "The reasons for the data link error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "YOUTUBE_CHANNEL_ID_INVALID", + "YOUTUBE_VIDEO_ID_INVALID", + "YOUTUBE_VIDEO_FROM_DIFFERENT_CHANNEL", + "PERMISSION_DENIED", + "INVALID_STATUS", + "INVALID_UPDATE_STATUS", + "INVALID_RESOURCE_NAME" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "The requested YouTube Channel ID is invalid.", + "The requested YouTube Video ID is invalid.", + "The requested YouTube Video ID doesn't belong to the requested YouTube Channel ID.", + "A link cannot be created because the customer doesn't have the permission.", + "A link can not be removed or updated because the status is invalid.", + "The input status in the update request is invalid.", + "The input resource name is invalid." + ], + "type": "string" + }, + "databaseError": { + "description": "The reasons for the database error.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CONCURRENT_MODIFICATION", + "DATA_CONSTRAINT_VIOLATION", + "REQUEST_TOO_LARGE" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Multiple requests were attempting to modify the same resource at once. Retry the request.", + "The request conflicted with existing data. This error will usually be replaced with a more specific error if the request is retried.", + "The data written is too large. Split the request into smaller requests." + ], + "type": "string" + }, + "dateError": { + "description": "The reasons for the date error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "INVALID_FIELD_VALUES_IN_DATE", + "INVALID_FIELD_VALUES_IN_DATE_TIME", + "INVALID_STRING_DATE", + "INVALID_STRING_DATE_TIME_MICROS", + "INVALID_STRING_DATE_TIME_SECONDS", + "INVALID_STRING_DATE_TIME_SECONDS_WITH_OFFSET", + "EARLIER_THAN_MINIMUM_DATE", + "LATER_THAN_MAXIMUM_DATE", + "DATE_RANGE_MINIMUM_DATE_LATER_THAN_MAXIMUM_DATE", + "DATE_RANGE_MINIMUM_AND_MAXIMUM_DATES_BOTH_NULL", + "DATE_RANGE_ERROR_START_TIME_MUST_BE_THE_START_OF_A_DAY", + "DATE_RANGE_ERROR_END_TIME_MUST_BE_THE_END_OF_A_DAY" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Given field values do not correspond to a valid date.", + "Given field values do not correspond to a valid date time.", + "The string date's format should be yyyy-mm-dd.", + "The string date time's format should be yyyy-mm-dd hh:mm:ss.ssssss.", + "The string date time's format should be yyyy-mm-dd hh:mm:ss.", + "The string date time's format should be yyyy-mm-dd hh:mm:ss+|-hh:mm.", + "Date is before allowed minimum.", + "Date is after allowed maximum.", + "Date range bounds are not in order.", + "Both dates in range are null.", + "This campaign type doesn't support a start date time that isn't the start of the day.", + "This campaign type doesn't support an end date time that isn't the end of the day." + ], + "type": "string" + }, + "dateRangeError": { + "description": "The reasons for the date range error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "INVALID_DATE", + "START_DATE_AFTER_END_DATE", + "CANNOT_SET_DATE_TO_PAST", + "AFTER_MAXIMUM_ALLOWABLE_DATE", + "CANNOT_MODIFY_START_DATE_IF_ALREADY_STARTED" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Invalid date.", + "The start date was after the end date.", + "Cannot set date to past time", + "A date was used that is past the system \"last\" date.", + "Trying to change start date on a resource that has started." + ], + "type": "string" + }, + "distinctError": { + "description": "The reasons for the distinct error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "DUPLICATE_ELEMENT", + "DUPLICATE_TYPE" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Duplicate element.", + "Duplicate type." + ], + "type": "string" + }, + "enumError": { + "description": "The reason for enum error.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ENUM_VALUE_NOT_PERMITTED" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "The enum value is not permitted." + ], + "type": "string" + }, + "experimentArmError": { + "description": "The reasons for the experiment arm error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "EXPERIMENT_ARM_COUNT_LIMIT_EXCEEDED", + "INVALID_CAMPAIGN_STATUS", + "DUPLICATE_EXPERIMENT_ARM_NAME", + "CANNOT_SET_TREATMENT_ARM_CAMPAIGN", + "CANNOT_MODIFY_CAMPAIGN_IDS", + "CANNOT_MODIFY_CAMPAIGN_WITHOUT_SUFFIX_SET", + "CANNOT_MUTATE_TRAFFIC_SPLIT_AFTER_START", + "CANNOT_ADD_CAMPAIGN_WITH_SHARED_BUDGET", + "CANNOT_ADD_CAMPAIGN_WITH_CUSTOM_BUDGET", + "CANNOT_ADD_CAMPAIGNS_WITH_DYNAMIC_ASSETS_ENABLED", + "UNSUPPORTED_CAMPAIGN_ADVERTISING_CHANNEL_SUB_TYPE", + "CANNOT_ADD_BASE_CAMPAIGN_WITH_DATE_RANGE", + "BIDDING_STRATEGY_NOT_SUPPORTED_IN_EXPERIMENTS", + "TRAFFIC_SPLIT_NOT_SUPPORTED_FOR_CHANNEL_TYPE" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Number of experiment arms is above limit.", + "Cannot add campaign with invalid status to the experiment arm.", + "Cannot add duplicate experiment arm name in one experiment.", + "Cannot set campaigns of treatment experiment arm.", + "Cannot edit campaign ids in trial arms in non SETUP experiment.", + "Cannot modify the campaigns in the control arm if there is not a suffix set in the trial.", + "Traffic split related settings (like traffic share bounds) can't be modified after the trial has started.", + "Cannot use shared budget on experiment's control campaign.", + "Cannot use custom budget on experiment's control campaigns.", + "Cannot have enable_dynamic_assets turned on in experiment's campaigns.", + "Cannot use campaign's advertising channel sub type in experiment.", + "Experiment date range must be within base campaign's date range.", + "Bidding strategy is not supported in experiments.", + "Traffic split is not supported for some channel types." + ], + "type": "string" + }, + "experimentError": { + "description": "The reasons for the experiment error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CANNOT_SET_START_DATE_IN_PAST", + "END_DATE_BEFORE_START_DATE", + "START_DATE_TOO_FAR_IN_FUTURE", + "DUPLICATE_EXPERIMENT_NAME", + "CANNOT_MODIFY_REMOVED_EXPERIMENT", + "START_DATE_ALREADY_PASSED", + "CANNOT_SET_END_DATE_IN_PAST", + "CANNOT_SET_STATUS_TO_REMOVED", + "CANNOT_MODIFY_PAST_END_DATE", + "INVALID_STATUS", + "INVALID_CAMPAIGN_CHANNEL_TYPE", + "OVERLAPPING_MEMBERS_AND_DATE_RANGE", + "INVALID_TRIAL_ARM_TRAFFIC_SPLIT", + "TRAFFIC_SPLIT_OVERLAPPING", + "SUM_TRIAL_ARM_TRAFFIC_UNEQUALS_TO_TRIAL_TRAFFIC_SPLIT_DENOMINATOR", + "CANNOT_MODIFY_TRAFFIC_SPLIT_AFTER_START", + "EXPERIMENT_NOT_FOUND", + "EXPERIMENT_NOT_YET_STARTED", + "CANNOT_HAVE_MULTIPLE_CONTROL_ARMS", + "IN_DESIGN_CAMPAIGNS_NOT_SET", + "CANNOT_SET_STATUS_TO_GRADUATED", + "CANNOT_CREATE_EXPERIMENT_CAMPAIGN_WITH_SHARED_BUDGET", + "CANNOT_CREATE_EXPERIMENT_CAMPAIGN_WITH_CUSTOM_BUDGET", + "STATUS_TRANSITION_INVALID", + "DUPLICATE_EXPERIMENT_CAMPAIGN_NAME", + "CANNOT_REMOVE_IN_CREATION_EXPERIMENT", + "CANNOT_ADD_CAMPAIGN_WITH_DEPRECATED_AD_TYPES", + "CANNOT_ENABLE_SYNC_FOR_UNSUPPORTED_EXPERIMENT_TYPE", + "INVALID_DURATION_FOR_AN_EXPERIMENT", + "MISSING_EU_POLITICAL_ADVERTISING_SELF_DECLARATION" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "The start date of an experiment cannot be set in the past. Use a start date in the future.", + "The end date of an experiment is before its start date. Use an end date after the start date.", + "The start date of an experiment is too far in the future. Use a start date no more than 1 year in the future.", + "The experiment has the same name as an existing active experiment.", + "Experiments can only be modified when they are ENABLED.", + "The start date of an experiment cannot be modified if the existing start date has already passed.", + "The end date of an experiment cannot be set in the past.", + "The status of an experiment cannot be set to REMOVED.", + "The end date of an expired experiment cannot be modified.", + "The status is invalid.", + "Experiment arm contains campaigns with invalid advertising channel type.", + "A pair of trials share members and have overlapping date ranges.", + "Experiment arm contains invalid traffic split.", + "Experiment contains trial arms with overlapping traffic split.", + "The total traffic split of trial arms is not equal to 100.", + "Traffic split related settings (like traffic share bounds) can't be modified after the experiment has started.", + "The experiment could not be found.", + "Experiment has not begun.", + "The experiment cannot have more than one control arm.", + "The experiment doesn't set in-design campaigns.", + "Clients must use the graduate action to graduate experiments and cannot set the status to GRADUATED directly.", + "Cannot use shared budget on base campaign when scheduling an experiment.", + "Cannot use custom budget on base campaign when scheduling an experiment.", + "Invalid status transition.", + "The experiment campaign name conflicts with a pre-existing campaign.", + "Cannot remove in creation experiments.", + "Cannot add campaign with deprecated ad types. Deprecated ad types: ENHANCED_DISPLAY, GALLERY, GMAIL, KEYWORDLESS, TEXT.", + "Sync can only be enabled for supported experiment types. Supported experiment types: SEARCH_CUSTOM, DISPLAY_CUSTOM, DISPLAY_AUTOMATED_BIDDING_STRATEGY, SEARCH_AUTOMATED_BIDDING_STRATEGY.", + "Experiment length cannot be longer than max length.", + "The experiment's campaigns must self-declare whether they contain political advertising that targets the European Union." + ], + "type": "string" + }, + "extensionFeedItemError": { + "description": "The reasons for the extension feed item error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "VALUE_OUT_OF_RANGE", + "URL_LIST_TOO_LONG", + "CANNOT_HAVE_RESTRICTION_ON_EMPTY_GEO_TARGETING", + "CANNOT_SET_WITH_FINAL_URLS", + "CANNOT_SET_WITHOUT_FINAL_URLS", + "INVALID_PHONE_NUMBER", + "PHONE_NUMBER_NOT_SUPPORTED_FOR_COUNTRY", + "CARRIER_SPECIFIC_SHORT_NUMBER_NOT_ALLOWED", + "PREMIUM_RATE_NUMBER_NOT_ALLOWED", + "DISALLOWED_NUMBER_TYPE", + "INVALID_DOMESTIC_PHONE_NUMBER_FORMAT", + "VANITY_PHONE_NUMBER_NOT_ALLOWED", + "INVALID_CALL_CONVERSION_ACTION", + "CUSTOMER_NOT_ON_ALLOWLIST_FOR_CALLTRACKING", + "CALLTRACKING_NOT_SUPPORTED_FOR_COUNTRY", + "CUSTOMER_CONSENT_FOR_CALL_RECORDING_REQUIRED", + "INVALID_APP_ID", + "QUOTES_IN_REVIEW_EXTENSION_SNIPPET", + "HYPHENS_IN_REVIEW_EXTENSION_SNIPPET", + "REVIEW_EXTENSION_SOURCE_INELIGIBLE", + "SOURCE_NAME_IN_REVIEW_EXTENSION_TEXT", + "INCONSISTENT_CURRENCY_CODES", + "PRICE_EXTENSION_HAS_DUPLICATED_HEADERS", + "PRICE_ITEM_HAS_DUPLICATED_HEADER_AND_DESCRIPTION", + "PRICE_EXTENSION_HAS_TOO_FEW_ITEMS", + "PRICE_EXTENSION_HAS_TOO_MANY_ITEMS", + "UNSUPPORTED_VALUE", + "UNSUPPORTED_VALUE_IN_SELECTED_LANGUAGE", + "INVALID_DEVICE_PREFERENCE", + "INVALID_SCHEDULE_END", + "DATE_TIME_MUST_BE_IN_ACCOUNT_TIME_ZONE", + "INVALID_SNIPPETS_HEADER", + "CANNOT_OPERATE_ON_REMOVED_FEED_ITEM", + "PHONE_NUMBER_NOT_SUPPORTED_WITH_CALLTRACKING_FOR_COUNTRY", + "CONFLICTING_CALL_CONVERSION_SETTINGS", + "EXTENSION_TYPE_MISMATCH", + "EXTENSION_SUBTYPE_REQUIRED", + "EXTENSION_TYPE_UNSUPPORTED", + "CANNOT_OPERATE_ON_FEED_WITH_MULTIPLE_MAPPINGS", + "CANNOT_OPERATE_ON_FEED_WITH_KEY_ATTRIBUTES", + "INVALID_PRICE_FORMAT", + "PROMOTION_INVALID_TIME", + "TOO_MANY_DECIMAL_PLACES_SPECIFIED", + "CONCRETE_EXTENSION_TYPE_REQUIRED", + "SCHEDULE_END_NOT_AFTER_START" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Value is not within the accepted range.", + "Url list is too long.", + "Cannot have a geo targeting restriction without having geo targeting.", + "Cannot simultaneously set sitelink field with final urls.", + "Must set field with final urls.", + "Phone number for a call extension is invalid.", + "Phone number for a call extension is not supported for the given country code.", + "A carrier specific number in short format is not allowed for call extensions.", + "Premium rate numbers are not allowed for call extensions.", + "Phone number type for a call extension is not allowed. For example, personal number is not allowed for a call extension in most regions.", + "Phone number for a call extension does not meet domestic format requirements.", + "Vanity phone numbers (for example, those including letters) are not allowed for call extensions.", + "Call conversion action provided for a call extension is invalid.", + "For a call extension, the customer is not on the allow-list for call tracking.", + "Call tracking is not supported for the given country for a call extension.", + "Customer hasn't consented for call recording, which is required for creating/updating call feed items. See https://support.google.com/google-ads/answer/7412639.", + "App id provided for an app extension is invalid.", + "Quotation marks present in the review text for a review extension.", + "Hyphen character present in the review text for a review extension.", + "A denylisted review source name or url was provided for a review extension.", + "Review source name should not be found in the review text.", + "Inconsistent currency codes.", + "Price extension cannot have duplicated headers.", + "Price item cannot have duplicated header and description.", + "Price extension has too few items.", + "Price extension has too many items.", + "The input value is not currently supported.", + "The input value is not currently supported in the selected language of an extension.", + "Unknown or unsupported device preference.", + "Invalid feed item schedule end time (for example, endHour = 24 and endMinute != 0).", + "Date time zone does not match the account's time zone.", + "Invalid structured snippet header.", + "Cannot operate on removed feed item.", + "Phone number not supported when call tracking enabled for country.", + "Cannot set call_conversion_action while call_conversion_tracking_enabled is set to true.", + "The type of the input extension feed item doesn't match the existing extension feed item.", + "The oneof field extension for example, subtype of extension feed item is required.", + "The referenced feed item is not mapped to a supported extension type.", + "Cannot operate on a Feed with more than one active FeedMapping.", + "Cannot operate on a Feed that has key attributes.", + "Input price is not in a valid format.", + "The promotion time is invalid.", + "This field has too many decimal places specified.", + "Concrete sub type of ExtensionFeedItem is required for this operation.", + "Feed item schedule end time must be after start time." + ], + "type": "string" + }, + "extensionSettingError": { + "description": "The reasons for the extension setting error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "EXTENSIONS_REQUIRED", + "FEED_TYPE_EXTENSION_TYPE_MISMATCH", + "INVALID_FEED_TYPE", + "INVALID_FEED_TYPE_FOR_CUSTOMER_EXTENSION_SETTING", + "CANNOT_CHANGE_FEED_ITEM_ON_CREATE", + "CANNOT_UPDATE_NEWLY_CREATED_EXTENSION", + "NO_EXISTING_AD_GROUP_EXTENSION_SETTING_FOR_TYPE", + "NO_EXISTING_CAMPAIGN_EXTENSION_SETTING_FOR_TYPE", + "NO_EXISTING_CUSTOMER_EXTENSION_SETTING_FOR_TYPE", + "AD_GROUP_EXTENSION_SETTING_ALREADY_EXISTS", + "CAMPAIGN_EXTENSION_SETTING_ALREADY_EXISTS", + "CUSTOMER_EXTENSION_SETTING_ALREADY_EXISTS", + "AD_GROUP_FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE", + "CAMPAIGN_FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE", + "CUSTOMER_FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE", + "VALUE_OUT_OF_RANGE", + "CANNOT_SET_FIELD_WITH_FINAL_URLS", + "FINAL_URLS_NOT_SET", + "INVALID_PHONE_NUMBER", + "PHONE_NUMBER_NOT_SUPPORTED_FOR_COUNTRY", + "CARRIER_SPECIFIC_SHORT_NUMBER_NOT_ALLOWED", + "PREMIUM_RATE_NUMBER_NOT_ALLOWED", + "DISALLOWED_NUMBER_TYPE", + "INVALID_DOMESTIC_PHONE_NUMBER_FORMAT", + "VANITY_PHONE_NUMBER_NOT_ALLOWED", + "INVALID_COUNTRY_CODE", + "INVALID_CALL_CONVERSION_TYPE_ID", + "CUSTOMER_NOT_IN_ALLOWLIST_FOR_CALLTRACKING", + "CALLTRACKING_NOT_SUPPORTED_FOR_COUNTRY", + "INVALID_APP_ID", + "QUOTES_IN_REVIEW_EXTENSION_SNIPPET", + "HYPHENS_IN_REVIEW_EXTENSION_SNIPPET", + "REVIEW_EXTENSION_SOURCE_NOT_ELIGIBLE", + "SOURCE_NAME_IN_REVIEW_EXTENSION_TEXT", + "MISSING_FIELD", + "INCONSISTENT_CURRENCY_CODES", + "PRICE_EXTENSION_HAS_DUPLICATED_HEADERS", + "PRICE_ITEM_HAS_DUPLICATED_HEADER_AND_DESCRIPTION", + "PRICE_EXTENSION_HAS_TOO_FEW_ITEMS", + "PRICE_EXTENSION_HAS_TOO_MANY_ITEMS", + "UNSUPPORTED_VALUE", + "INVALID_DEVICE_PREFERENCE", + "INVALID_SCHEDULE_END", + "DATE_TIME_MUST_BE_IN_ACCOUNT_TIME_ZONE", + "OVERLAPPING_SCHEDULES_NOT_ALLOWED", + "SCHEDULE_END_NOT_AFTER_START", + "TOO_MANY_SCHEDULES_PER_DAY", + "DUPLICATE_EXTENSION_FEED_ITEM_EDIT", + "INVALID_SNIPPETS_HEADER", + "PHONE_NUMBER_NOT_SUPPORTED_WITH_CALLTRACKING_FOR_COUNTRY", + "CAMPAIGN_TARGETING_MISMATCH", + "CANNOT_OPERATE_ON_REMOVED_FEED", + "EXTENSION_TYPE_REQUIRED", + "INCOMPATIBLE_UNDERLYING_MATCHING_FUNCTION", + "START_DATE_AFTER_END_DATE", + "INVALID_PRICE_FORMAT", + "PROMOTION_INVALID_TIME", + "PROMOTION_CANNOT_SET_PERCENT_DISCOUNT_AND_MONEY_DISCOUNT", + "PROMOTION_CANNOT_SET_PROMOTION_CODE_AND_ORDERS_OVER_AMOUNT", + "TOO_MANY_DECIMAL_PLACES_SPECIFIED", + "INVALID_LANGUAGE_CODE", + "UNSUPPORTED_LANGUAGE", + "CUSTOMER_CONSENT_FOR_CALL_RECORDING_REQUIRED", + "EXTENSION_SETTING_UPDATE_IS_A_NOOP", + "DISALLOWED_TEXT" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "A platform restriction was provided without input extensions or existing extensions.", + "The provided feed type does not correspond to the provided extensions.", + "The provided feed type cannot be used.", + "The provided feed type cannot be used at the customer level.", + "Cannot change a feed item field on a CREATE operation.", + "Cannot update an extension that is not already in this setting.", + "There is no existing AdGroupExtensionSetting for this type.", + "There is no existing CampaignExtensionSetting for this type.", + "There is no existing CustomerExtensionSetting for this type.", + "The AdGroupExtensionSetting already exists. UPDATE should be used to modify the existing AdGroupExtensionSetting.", + "The CampaignExtensionSetting already exists. UPDATE should be used to modify the existing CampaignExtensionSetting.", + "The CustomerExtensionSetting already exists. UPDATE should be used to modify the existing CustomerExtensionSetting.", + "An active ad group feed already exists for this place holder type.", + "An active campaign feed already exists for this place holder type.", + "An active customer feed already exists for this place holder type.", + "Value is not within the accepted range.", + "Cannot simultaneously set specified field with final urls.", + "Must set field with final urls.", + "Phone number for a call extension is invalid.", + "Phone number for a call extension is not supported for the given country code.", + "A carrier specific number in short format is not allowed for call extensions.", + "Premium rate numbers are not allowed for call extensions.", + "Phone number type for a call extension is not allowed.", + "Phone number for a call extension does not meet domestic format requirements.", + "Vanity phone numbers (for example, those including letters) are not allowed for call extensions.", + "Country code provided for a call extension is invalid.", + "Call conversion type id provided for a call extension is invalid.", + "For a call extension, the customer is not on the allow-list for call tracking.", + "Call tracking is not supported for the given country for a call extension.", + "App id provided for an app extension is invalid.", + "Quotation marks present in the review text for a review extension.", + "Hyphen character present in the review text for a review extension.", + "A blocked review source name or url was provided for a review extension.", + "Review source name should not be found in the review text.", + "Field must be set.", + "Inconsistent currency codes.", + "Price extension cannot have duplicated headers.", + "Price item cannot have duplicated header and description.", + "Price extension has too few items", + "Price extension has too many items", + "The input value is not currently supported.", + "Unknown or unsupported device preference.", + "Invalid feed item schedule end time (for example, endHour = 24 and endMinute != 0).", + "Date time zone does not match the account's time zone.", + "Overlapping feed item schedule times (for example, 7-10AM and 8-11AM) are not allowed.", + "Feed item schedule end time must be after start time.", + "There are too many feed item schedules per day.", + "Cannot edit the same extension feed item more than once in the same request.", + "Invalid structured snippet header.", + "Phone number with call tracking enabled is not supported for the specified country.", + "The targeted adgroup must belong to the targeted campaign.", + "The feed used by the ExtensionSetting is removed and cannot be operated on. Remove the ExtensionSetting to allow a new one to be created using an active feed.", + "The ExtensionFeedItem type is required for this operation.", + "The matching function that links the extension feed to the customer, campaign, or ad group is not compatible with the ExtensionSetting services.", + "Start date must be before end date.", + "Input price is not in a valid format.", + "The promotion time is invalid.", + "Cannot set both percent discount and money discount fields.", + "Cannot set both promotion code and orders over amount fields.", + "This field has too many decimal places specified.", + "The language code is not valid.", + "The language is not supported.", + "Customer hasn't consented for call recording, which is required for adding/updating call extensions. See https://support.google.com/google-ads/answer/7412639.", + "The UPDATE operation does not specify any fields other than the resource name in the update mask.", + "The extension contains text which has been prohibited on policy grounds." + ], + "type": "string" + }, + "feedAttributeReferenceError": { + "description": "The reasons for the feed attribute reference error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CANNOT_REFERENCE_REMOVED_FEED", + "INVALID_FEED_NAME", + "INVALID_FEED_ATTRIBUTE_NAME" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "A feed referenced by ID has been removed.", + "There is no enabled feed with the given name.", + "There is no feed attribute in an enabled feed with the given name." + ], + "type": "string" + }, + "feedError": { + "description": "The reasons for the feed error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ATTRIBUTE_NAMES_NOT_UNIQUE", + "ATTRIBUTES_DO_NOT_MATCH_EXISTING_ATTRIBUTES", + "CANNOT_SPECIFY_USER_ORIGIN_FOR_SYSTEM_FEED", + "CANNOT_SPECIFY_GOOGLE_ORIGIN_FOR_NON_SYSTEM_FEED", + "CANNOT_SPECIFY_FEED_ATTRIBUTES_FOR_SYSTEM_FEED", + "CANNOT_UPDATE_FEED_ATTRIBUTES_WITH_ORIGIN_GOOGLE", + "FEED_REMOVED", + "INVALID_ORIGIN_VALUE", + "FEED_ORIGIN_IS_NOT_USER", + "INVALID_AUTH_TOKEN_FOR_EMAIL", + "INVALID_EMAIL", + "DUPLICATE_FEED_NAME", + "INVALID_FEED_NAME", + "MISSING_OAUTH_INFO", + "NEW_ATTRIBUTE_CANNOT_BE_PART_OF_UNIQUE_KEY", + "TOO_MANY_ATTRIBUTES", + "INVALID_BUSINESS_ACCOUNT", + "BUSINESS_ACCOUNT_CANNOT_ACCESS_LOCATION_ACCOUNT", + "INVALID_AFFILIATE_CHAIN_ID", + "DUPLICATE_SYSTEM_FEED", + "GMB_ACCESS_ERROR", + "CANNOT_HAVE_LOCATION_AND_AFFILIATE_LOCATION_FEEDS", + "LEGACY_EXTENSION_TYPE_READ_ONLY" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "The names of the FeedAttributes must be unique.", + "The attribute list must be an exact copy of the existing list if the attribute ID's are present.", + "Cannot specify USER origin for a system generated feed.", + "Cannot specify GOOGLE origin for a non-system generated feed.", + "Cannot specify feed attributes for system feed.", + "Cannot update FeedAttributes on feed with origin GOOGLE.", + "The given ID refers to a removed Feed. Removed Feeds are immutable.", + "The origin of the feed is not valid for the client.", + "A user can only create and modify feeds with USER origin.", + "Invalid auth token for the given email.", + "Invalid email specified.", + "Feed name matches that of another active Feed.", + "Name of feed is not allowed.", + "Missing OAuthInfo.", + "New FeedAttributes must not affect the unique key.", + "Too many FeedAttributes for a Feed.", + "The business account is not valid.", + "Business account cannot access Business Profile.", + "Invalid chain ID provided for affiliate location feed.", + "There is already a feed with the given system feed generation data.", + "An error occurred accessing Business Profile.", + "A customer cannot have both LOCATION and AFFILIATE_LOCATION feeds.", + "Feed-based extension is read-only for this extension type." + ], + "type": "string" + }, + "feedItemError": { + "description": "The reasons for the feed item error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CANNOT_CONVERT_ATTRIBUTE_VALUE_FROM_STRING", + "CANNOT_OPERATE_ON_REMOVED_FEED_ITEM", + "DATE_TIME_MUST_BE_IN_ACCOUNT_TIME_ZONE", + "KEY_ATTRIBUTES_NOT_FOUND", + "INVALID_URL", + "MISSING_KEY_ATTRIBUTES", + "KEY_ATTRIBUTES_NOT_UNIQUE", + "CANNOT_MODIFY_KEY_ATTRIBUTE_VALUE", + "SIZE_TOO_LARGE_FOR_MULTI_VALUE_ATTRIBUTE", + "LEGACY_FEED_TYPE_READ_ONLY" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Cannot convert the feed attribute value from string to its real type.", + "Cannot operate on removed feed item.", + "Date time zone does not match the account's time zone.", + "Feed item with the key attributes could not be found.", + "Url feed attribute value is not valid.", + "Some key attributes are missing.", + "Feed item has same key attributes as another feed item.", + "Cannot modify key attributes on an existing feed item.", + "The feed attribute value is too large.", + "Feed is read only." + ], + "type": "string" + }, + "feedItemSetError": { + "description": "The reasons for the feed item set error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "FEED_ITEM_SET_REMOVED", + "CANNOT_CLEAR_DYNAMIC_FILTER", + "CANNOT_CREATE_DYNAMIC_FILTER", + "INVALID_FEED_TYPE", + "DUPLICATE_NAME", + "WRONG_DYNAMIC_FILTER_FOR_FEED_TYPE", + "DYNAMIC_FILTER_INVALID_CHAIN_IDS" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "The given ID refers to a removed FeedItemSet.", + "The dynamic filter of a feed item set cannot be cleared on UPDATE if it exists. A set is either static or dynamic once added, and that cannot change.", + "The dynamic filter of a feed item set cannot be created on UPDATE if it does not exist. A set is either static or dynamic once added, and that cannot change.", + "FeedItemSets can only be made for location or affiliate location feeds.", + "FeedItemSets duplicate name. Name should be unique within an account.", + "The feed type of the parent Feed is not compatible with the type of dynamic filter being set. For example, you can only set dynamic_location_set_filter for LOCATION feed item sets.", + "Chain ID specified for AffiliateLocationFeedData is invalid." + ], + "type": "string" + }, + "feedItemSetLinkError": { + "description": "The reasons for the feed item set link error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "FEED_ID_MISMATCH", + "NO_MUTATE_ALLOWED_FOR_DYNAMIC_SET" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "The feed IDs of the FeedItemSet and FeedItem do not match. Only FeedItems in a given Feed can be linked to a FeedItemSet in that Feed.", + "Cannot add or remove links to a dynamic set." + ], + "type": "string" + }, + "feedItemTargetError": { + "description": "The reasons for the feed item target error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "MUST_SET_TARGET_ONEOF_ON_CREATE", + "FEED_ITEM_TARGET_ALREADY_EXISTS", + "FEED_ITEM_SCHEDULES_CANNOT_OVERLAP", + "TARGET_LIMIT_EXCEEDED_FOR_GIVEN_TYPE", + "TOO_MANY_SCHEDULES_PER_DAY", + "CANNOT_HAVE_ENABLED_CAMPAIGN_AND_ENABLED_AD_GROUP_TARGETS", + "DUPLICATE_AD_SCHEDULE", + "DUPLICATE_KEYWORD" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "On CREATE, the FeedItemTarget must have a populated field in the oneof target.", + "The specified feed item target already exists, so it cannot be added.", + "The schedules for a given feed item cannot overlap.", + "Too many targets of a given type were added for a single feed item.", + "Too many AdSchedules are enabled for the feed item for the given day.", + "A feed item may either have an enabled campaign target or an enabled ad group target.", + "Duplicate ad schedules aren't allowed.", + "Duplicate keywords aren't allowed." + ], + "type": "string" + }, + "feedItemValidationError": { + "description": "The reasons for the feed item validation error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "STRING_TOO_SHORT", + "STRING_TOO_LONG", + "VALUE_NOT_SPECIFIED", + "INVALID_DOMESTIC_PHONE_NUMBER_FORMAT", + "INVALID_PHONE_NUMBER", + "PHONE_NUMBER_NOT_SUPPORTED_FOR_COUNTRY", + "PREMIUM_RATE_NUMBER_NOT_ALLOWED", + "DISALLOWED_NUMBER_TYPE", + "VALUE_OUT_OF_RANGE", + "CALLTRACKING_NOT_SUPPORTED_FOR_COUNTRY", + "CUSTOMER_NOT_IN_ALLOWLIST_FOR_CALLTRACKING", + "INVALID_COUNTRY_CODE", + "INVALID_APP_ID", + "MISSING_ATTRIBUTES_FOR_FIELDS", + "INVALID_TYPE_ID", + "INVALID_EMAIL_ADDRESS", + "INVALID_HTTPS_URL", + "MISSING_DELIVERY_ADDRESS", + "START_DATE_AFTER_END_DATE", + "MISSING_FEED_ITEM_START_TIME", + "MISSING_FEED_ITEM_END_TIME", + "MISSING_FEED_ITEM_ID", + "VANITY_PHONE_NUMBER_NOT_ALLOWED", + "INVALID_REVIEW_EXTENSION_SNIPPET", + "INVALID_NUMBER_FORMAT", + "INVALID_DATE_FORMAT", + "INVALID_PRICE_FORMAT", + "UNKNOWN_PLACEHOLDER_FIELD", + "MISSING_ENHANCED_SITELINK_DESCRIPTION_LINE", + "REVIEW_EXTENSION_SOURCE_INELIGIBLE", + "HYPHENS_IN_REVIEW_EXTENSION_SNIPPET", + "DOUBLE_QUOTES_IN_REVIEW_EXTENSION_SNIPPET", + "QUOTES_IN_REVIEW_EXTENSION_SNIPPET", + "INVALID_FORM_ENCODED_PARAMS", + "INVALID_URL_PARAMETER_NAME", + "NO_GEOCODING_RESULT", + "SOURCE_NAME_IN_REVIEW_EXTENSION_TEXT", + "CARRIER_SPECIFIC_SHORT_NUMBER_NOT_ALLOWED", + "INVALID_PLACEHOLDER_FIELD_ID", + "INVALID_URL_TAG", + "LIST_TOO_LONG", + "INVALID_ATTRIBUTES_COMBINATION", + "DUPLICATE_VALUES", + "INVALID_CALL_CONVERSION_ACTION_ID", + "CANNOT_SET_WITHOUT_FINAL_URLS", + "APP_ID_DOESNT_EXIST_IN_APP_STORE", + "INVALID_FINAL_URL", + "INVALID_TRACKING_URL", + "INVALID_FINAL_URL_FOR_APP_DOWNLOAD_URL", + "LIST_TOO_SHORT", + "INVALID_USER_ACTION", + "INVALID_TYPE_NAME", + "INVALID_EVENT_CHANGE_STATUS", + "INVALID_SNIPPETS_HEADER", + "INVALID_ANDROID_APP_LINK", + "NUMBER_TYPE_WITH_CALLTRACKING_NOT_SUPPORTED_FOR_COUNTRY", + "RESERVED_KEYWORD_OTHER", + "DUPLICATE_OPTION_LABELS", + "DUPLICATE_OPTION_PREFILLS", + "UNEQUAL_LIST_LENGTHS", + "INCONSISTENT_CURRENCY_CODES", + "PRICE_EXTENSION_HAS_DUPLICATED_HEADERS", + "ITEM_HAS_DUPLICATED_HEADER_AND_DESCRIPTION", + "PRICE_EXTENSION_HAS_TOO_FEW_ITEMS", + "UNSUPPORTED_VALUE", + "INVALID_FINAL_MOBILE_URL", + "INVALID_KEYWORDLESS_AD_RULE_LABEL", + "VALUE_TRACK_PARAMETER_NOT_SUPPORTED", + "UNSUPPORTED_VALUE_IN_SELECTED_LANGUAGE", + "INVALID_IOS_APP_LINK", + "MISSING_IOS_APP_LINK_OR_IOS_APP_STORE_ID", + "PROMOTION_INVALID_TIME", + "PROMOTION_CANNOT_SET_PERCENT_OFF_AND_MONEY_AMOUNT_OFF", + "PROMOTION_CANNOT_SET_PROMOTION_CODE_AND_ORDERS_OVER_AMOUNT", + "TOO_MANY_DECIMAL_PLACES_SPECIFIED", + "AD_CUSTOMIZERS_NOT_ALLOWED", + "INVALID_LANGUAGE_CODE", + "UNSUPPORTED_LANGUAGE", + "IF_FUNCTION_NOT_ALLOWED", + "INVALID_FINAL_URL_SUFFIX", + "INVALID_TAG_IN_FINAL_URL_SUFFIX", + "INVALID_FINAL_URL_SUFFIX_FORMAT", + "CUSTOMER_CONSENT_FOR_CALL_RECORDING_REQUIRED", + "ONLY_ONE_DELIVERY_OPTION_IS_ALLOWED", + "NO_DELIVERY_OPTION_IS_SET", + "INVALID_CONVERSION_REPORTING_STATE", + "IMAGE_SIZE_WRONG", + "EMAIL_DELIVERY_NOT_AVAILABLE_IN_COUNTRY", + "AUTO_REPLY_NOT_AVAILABLE_IN_COUNTRY", + "INVALID_LATITUDE_VALUE", + "INVALID_LONGITUDE_VALUE", + "TOO_MANY_LABELS", + "INVALID_IMAGE_URL", + "MISSING_LATITUDE_VALUE", + "MISSING_LONGITUDE_VALUE", + "ADDRESS_NOT_FOUND", + "ADDRESS_NOT_TARGETABLE", + "INVALID_ASSET_ID", + "INCOMPATIBLE_ASSET_TYPE", + "IMAGE_ERROR_UNEXPECTED_SIZE", + "IMAGE_ERROR_ASPECT_RATIO_NOT_ALLOWED", + "IMAGE_ERROR_FILE_TOO_LARGE", + "IMAGE_ERROR_FORMAT_NOT_ALLOWED", + "IMAGE_ERROR_CONSTRAINTS_VIOLATED", + "IMAGE_ERROR_SERVER_ERROR" + ], + "enumDescriptions": [ + "No value has been specified.", + "Used for return value only. Represents value unknown in this version.", + "String is too short.", + "String is too long.", + "Value is not provided.", + "Phone number format is invalid for region.", + "String does not represent a phone number.", + "Phone number format is not compatible with country code.", + "Premium rate number is not allowed.", + "Phone number type is not allowed.", + "Specified value is outside of the valid range.", + "Call tracking is not supported in the selected country.", + "Customer is not on the allow-list for call tracking.", + "Country code is invalid.", + "The specified mobile app id is invalid.", + "Some required field attributes are missing.", + "Invalid email button type for email extension.", + "Email address is invalid.", + "The HTTPS URL in email extension is invalid.", + "Delivery address is missing from email extension.", + "FeedItem scheduling start date comes after end date.", + "FeedItem scheduling start time is missing.", + "FeedItem scheduling end time is missing.", + "Cannot compute system attributes on a FeedItem that has no FeedItemId.", + "Call extension vanity phone numbers are not supported.", + "Invalid review text.", + "Invalid format for numeric value in ad parameter.", + "Invalid format for date value in ad parameter.", + "Invalid format for price value in ad parameter.", + "Unrecognized type given for value in ad parameter.", + "Enhanced sitelinks must have both description lines specified.", + "Review source is ineligible.", + "Review text cannot contain hyphens or dashes.", + "Review text cannot contain double quote characters.", + "Review text cannot contain quote characters.", + "Parameters are encoded in the wrong format.", + "URL parameter name must contain only letters, numbers, underscores, and dashes.", + "Cannot find address location.", + "Review extension text has source name.", + "Some phone numbers can be shorter than usual. Some of these short numbers are carrier-specific, and we disallow those in ad extensions because they will not be available to all users.", + "Triggered when a request references a placeholder field id that does not exist.", + "URL contains invalid ValueTrack tags or format.", + "Provided list exceeds acceptable size.", + "Certain combinations of attributes aren't allowed to be specified in the same feed item.", + "An attribute has the same value repeatedly.", + "Advertisers can link a conversion action with a phone number to indicate that sufficiently long calls forwarded to that phone number should be counted as conversions of the specified type. This is an error message indicating that the conversion action specified is invalid (for example, the conversion action does not exist within the appropriate Google Ads account, or it is a type of conversion not appropriate to phone call conversions).", + "Tracking template requires final url to be set.", + "An app id was provided that doesn't exist in the given app store.", + "Invalid U2 final url.", + "Invalid U2 tracking url.", + "Final URL should start from App download URL.", + "List provided is too short.", + "User Action field has invalid value.", + "Type field has invalid value.", + "Change status for event is invalid.", + "The header of a structured snippets extension is not one of the valid headers.", + "Android app link is not formatted correctly", + "Phone number incompatible with call tracking for country.", + "The input is identical to a reserved keyword", + "Each option label in the message extension must be unique.", + "Each option prefill in the message extension must be unique.", + "In message extensions, the number of optional labels and optional prefills must be the same.", + "All currency codes in an ad extension must be the same.", + "Headers in price extension are not unique.", + "Header and description in an item are the same.", + "Price extension has too few items.", + "The given value is not supported.", + "Invalid final mobile url.", + "The given string value of Label contains invalid characters", + "The given URL contains value track parameters.", + "The given value is not supported in the selected language of an extension.", + "The iOS app link is not formatted correctly.", + "iOS app link or iOS app store id is missing.", + "Promotion time is invalid.", + "Both the percent off and money amount off fields are set.", + "Both the promotion code and orders over amount fields are set.", + "Too many decimal places are specified.", + "Ad Customizers are present and not allowed.", + "Language code is not valid.", + "Language is not supported.", + "IF Function is present and not allowed.", + "Final url suffix is not valid.", + "Final url suffix contains an invalid tag.", + "Final url suffix is formatted incorrectly.", + "Consent for call recording, which is required for the use of call extensions, was not provided by the advertiser. See https://support.google.com/google-ads/answer/7412639.", + "Multiple message delivery options are set.", + "No message delivery option is set.", + "String value of conversion reporting state field is not valid.", + "Image size is not right.", + "Email delivery is not supported in the country specified in the country code field.", + "Auto reply is not supported in the country specified in the country code field.", + "Invalid value specified for latitude.", + "Invalid value specified for longitude.", + "Too many label fields provided.", + "Invalid image url.", + "Latitude value is missing.", + "Longitude value is missing.", + "Unable to find address.", + "Cannot target provided address.", + "The specified asset ID does not exist.", + "The asset type cannot be set for the field.", + "The image has unexpected size.", + "The image aspect ratio is not allowed.", + "The image file is too large.", + "The image format is unsupported.", + "Image violates constraints without more details.", + "An error occurred when validating image." + ], + "type": "string" + }, + "feedMappingError": { + "description": "The reasons for the feed mapping error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "INVALID_PLACEHOLDER_FIELD", + "INVALID_CRITERION_FIELD", + "INVALID_PLACEHOLDER_TYPE", + "INVALID_CRITERION_TYPE", + "NO_ATTRIBUTE_FIELD_MAPPINGS", + "FEED_ATTRIBUTE_TYPE_MISMATCH", + "CANNOT_OPERATE_ON_MAPPINGS_FOR_SYSTEM_GENERATED_FEED", + "MULTIPLE_MAPPINGS_FOR_PLACEHOLDER_TYPE", + "MULTIPLE_MAPPINGS_FOR_CRITERION_TYPE", + "MULTIPLE_MAPPINGS_FOR_PLACEHOLDER_FIELD", + "MULTIPLE_MAPPINGS_FOR_CRITERION_FIELD", + "UNEXPECTED_ATTRIBUTE_FIELD_MAPPINGS", + "LOCATION_PLACEHOLDER_ONLY_FOR_PLACES_FEEDS", + "CANNOT_MODIFY_MAPPINGS_FOR_TYPED_FEED", + "INVALID_PLACEHOLDER_TYPE_FOR_NON_SYSTEM_GENERATED_FEED", + "INVALID_PLACEHOLDER_TYPE_FOR_SYSTEM_GENERATED_FEED_TYPE", + "ATTRIBUTE_FIELD_MAPPING_MISSING_FIELD", + "LEGACY_FEED_TYPE_READ_ONLY" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "The given placeholder field does not exist.", + "The given criterion field does not exist.", + "The given placeholder type does not exist.", + "The given criterion type does not exist.", + "A feed mapping must contain at least one attribute field mapping.", + "The type of the feed attribute referenced in the attribute field mapping must match the type of the placeholder field.", + "A feed mapping for a system generated feed cannot be operated on.", + "Only one feed mapping for a placeholder type is allowed per feed or customer (depending on the placeholder type).", + "Only one feed mapping for a criterion type is allowed per customer.", + "Only one feed attribute mapping for a placeholder field is allowed (depending on the placeholder type).", + "Only one feed attribute mapping for a criterion field is allowed (depending on the criterion type).", + "This feed mapping may not contain any explicit attribute field mappings.", + "Location placeholder feed mappings can only be created for Places feeds.", + "Mappings for typed feeds cannot be modified.", + "The given placeholder type can only be mapped to system generated feeds.", + "The given placeholder type cannot be mapped to a system generated feed with the given type.", + "The \"field\" oneof was not set in an AttributeFieldMapping.", + "Feed is read only." + ], + "type": "string" + }, + "fieldError": { + "description": "The reasons for the field error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "REQUIRED", + "IMMUTABLE_FIELD", + "INVALID_VALUE", + "VALUE_MUST_BE_UNSET", + "REQUIRED_NONEMPTY_LIST", + "FIELD_CANNOT_BE_CLEARED", + "BLOCKED_VALUE", + "FIELD_CAN_ONLY_BE_CLEARED" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "The required field was not present.", + "The field attempted to be mutated is immutable.", + "The field's value is invalid.", + "The field cannot be set.", + "The required repeated field was empty.", + "The field cannot be cleared.", + "The field's value is on a deny-list for this field.", + "The field's value cannot be modified, except for clearing." + ], + "type": "string" + }, + "fieldMaskError": { + "description": "An error with a field mask", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "FIELD_MASK_MISSING", + "FIELD_MASK_NOT_ALLOWED", + "FIELD_NOT_FOUND", + "FIELD_HAS_SUBFIELDS" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "The field mask must be provided for update operations.", + "The field mask must be empty for create and remove operations.", + "The field mask contained an invalid field.", + "The field mask updated a field with subfields. Fields with subfields may be cleared, but not updated. To fix this, the field mask should select all the subfields of the invalid field." + ], + "type": "string" + }, + "finalUrlExpansionAssetViewError": { + "description": "The reasons for the final url expansion asset view error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "MISSING_REQUIRED_FILTER", + "REQUIRES_ADVERTISING_CHANNEL_TYPE_FILTER", + "INVALID_ADVERTISING_CHANNEL_TYPE_IN_FILTER", + "CANNOT_SELECT_ASSET_GROUP", + "CANNOT_SELECT_AD_GROUP", + "REQUIRES_FILTER_BY_SINGLE_RESOURCE", + "CANNOT_SELECT_BOTH_AD_GROUP_AND_ASSET_GROUP", + "CANNOT_FILTER_BY_BOTH_AD_GROUP_AND_ASSET_GROUP" + ], + "enumDescriptions": [ + "Name unspecified.", + "The received error code is not known in this version.", + "At least one required filter has to be applied in the query.", + "Advertising channel type filter is required.", + "Advertising channel type filter has an invalid value.", + "Asset group cannot be selected in the query.", + "Ad group cannot be selected in the query.", + "A selected field/resource requires filtering by a single resource.", + "Both ad group and asset group cannot be selected in the query.", + "Both ad group and asset group cannot be filtered in the query." + ], + "type": "string" + }, + "functionError": { + "description": "The reasons for the function error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "INVALID_FUNCTION_FORMAT", + "DATA_TYPE_MISMATCH", + "INVALID_CONJUNCTION_OPERANDS", + "INVALID_NUMBER_OF_OPERANDS", + "INVALID_OPERAND_TYPE", + "INVALID_OPERATOR", + "INVALID_REQUEST_CONTEXT_TYPE", + "INVALID_FUNCTION_FOR_CALL_PLACEHOLDER", + "INVALID_FUNCTION_FOR_PLACEHOLDER", + "INVALID_OPERAND", + "MISSING_CONSTANT_OPERAND_VALUE", + "INVALID_CONSTANT_OPERAND_VALUE", + "INVALID_NESTING", + "MULTIPLE_FEED_IDS_NOT_SUPPORTED", + "INVALID_FUNCTION_FOR_FEED_WITH_FIXED_SCHEMA", + "INVALID_ATTRIBUTE_NAME" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "The format of the function is not recognized as a supported function format.", + "Operand data types do not match.", + "The operands cannot be used together in a conjunction.", + "Invalid numer of Operands.", + "Operand Type not supported.", + "Operator not supported.", + "Request context type not supported.", + "The matching function is not allowed for call placeholders", + "The matching function is not allowed for the specified placeholder", + "Invalid operand.", + "Missing value for the constant operand.", + "The value of the constant operand is invalid.", + "Invalid function nesting.", + "The Feed ID was different from another Feed ID in the same function.", + "The matching function is invalid for use with a feed with a fixed schema.", + "Invalid attribute name." + ], + "type": "string" + }, + "functionParsingError": { + "description": "The reasons for the function parsing error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "NO_MORE_INPUT", + "EXPECTED_CHARACTER", + "UNEXPECTED_SEPARATOR", + "UNMATCHED_LEFT_BRACKET", + "UNMATCHED_RIGHT_BRACKET", + "TOO_MANY_NESTED_FUNCTIONS", + "MISSING_RIGHT_HAND_OPERAND", + "INVALID_OPERATOR_NAME", + "FEED_ATTRIBUTE_OPERAND_ARGUMENT_NOT_INTEGER", + "NO_OPERANDS", + "TOO_MANY_OPERANDS" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Unexpected end of function string.", + "Could not find an expected character.", + "Unexpected separator character.", + "Unmatched left bracket or parenthesis.", + "Unmatched right bracket or parenthesis.", + "Functions are nested too deeply.", + "Missing right-hand-side operand.", + "Invalid operator/function name.", + "Feed attribute operand's argument is not an integer.", + "Missing function operands.", + "Function had too many operands." + ], + "type": "string" + }, + "geoTargetConstantSuggestionError": { + "description": "The reasons for the geo target constant suggestion error.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "LOCATION_NAME_SIZE_LIMIT", + "LOCATION_NAME_LIMIT", + "INVALID_COUNTRY_CODE", + "REQUEST_PARAMETERS_UNSET" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "A location name cannot be greater than 300 characters.", + "At most 25 location names can be specified in a SuggestGeoTargetConstants method.", + "The country code is invalid.", + "Geo target constant resource names or location names must be provided in the request." + ], + "type": "string" + }, + "goalError": { + "description": "The reasons for the goal error.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "RETENTION_GOAL_ALREADY_EXISTS", + "HIGH_LIFETIME_VALUE_PRESENT_BUT_VALUE_ABSENT", + "HIGH_LIFETIME_VALUE_LESS_THAN_OR_EQUAL_TO_VALUE", + "CUSTOMER_LIFECYCLE_OPTIMIZATION_ACCOUNT_TYPE_NOT_ALLOWED" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Retention goal already exists.", + "When using customer lifecycle optimization goal, if high lifetime value is present then value should be present.", + "When using customer lifecycle optimization goal, high lifetime value should be greater than value.", + "Only Google Ads account can have customer lifecycle optimization goal." + ], + "type": "string" + }, + "headerError": { + "description": "The reasons for the header error.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "INVALID_LOGIN_CUSTOMER_ID", + "INVALID_LINKED_CUSTOMER_ID" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "The login customer ID could not be validated.", + "The linked customer ID could not be validated." + ], + "type": "string" + }, + "idError": { + "description": "The reasons for the id error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "NOT_FOUND" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "ID not found" + ], + "type": "string" + }, + "identityVerificationError": { + "description": "The reasons for an identity verification error.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "NO_EFFECTIVE_BILLING", + "BILLING_NOT_ON_MONTHLY_INVOICING", + "VERIFICATION_ALREADY_STARTED" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "No effective billing linked to this customer.", + "Customer is not on monthly invoicing.", + "Verification for this program type was already started." + ], + "type": "string" + }, + "imageError": { + "description": "The reasons for the image error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "INVALID_IMAGE", + "STORAGE_ERROR", + "BAD_REQUEST", + "UNEXPECTED_SIZE", + "ANIMATED_NOT_ALLOWED", + "ANIMATION_TOO_LONG", + "SERVER_ERROR", + "CMYK_JPEG_NOT_ALLOWED", + "FLASH_NOT_ALLOWED", + "FLASH_WITHOUT_CLICKTAG", + "FLASH_ERROR_AFTER_FIXING_CLICK_TAG", + "ANIMATED_VISUAL_EFFECT", + "FLASH_ERROR", + "LAYOUT_PROBLEM", + "PROBLEM_READING_IMAGE_FILE", + "ERROR_STORING_IMAGE", + "ASPECT_RATIO_NOT_ALLOWED", + "FLASH_HAS_NETWORK_OBJECTS", + "FLASH_HAS_NETWORK_METHODS", + "FLASH_HAS_URL", + "FLASH_HAS_MOUSE_TRACKING", + "FLASH_HAS_RANDOM_NUM", + "FLASH_SELF_TARGETS", + "FLASH_BAD_GETURL_TARGET", + "FLASH_VERSION_NOT_SUPPORTED", + "FLASH_WITHOUT_HARD_CODED_CLICK_URL", + "INVALID_FLASH_FILE", + "FAILED_TO_FIX_CLICK_TAG_IN_FLASH", + "FLASH_ACCESSES_NETWORK_RESOURCES", + "FLASH_EXTERNAL_JS_CALL", + "FLASH_EXTERNAL_FS_CALL", + "FILE_TOO_LARGE", + "IMAGE_DATA_TOO_LARGE", + "IMAGE_PROCESSING_ERROR", + "IMAGE_TOO_SMALL", + "INVALID_INPUT", + "PROBLEM_READING_FILE", + "IMAGE_CONSTRAINTS_VIOLATED", + "FORMAT_NOT_ALLOWED" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "The image is not valid.", + "The image could not be stored.", + "There was a problem with the request.", + "The image is not of legal dimensions.", + "Animated image are not permitted.", + "Animation is too long.", + "There was an error on the server.", + "Image cannot be in CMYK color format.", + "Flash images are not permitted.", + "Flash images must support clickTag.", + "A flash error has occurred after fixing the click tag.", + "Unacceptable visual effects.", + "There was a problem with the flash image.", + "Incorrect image layout.", + "There was a problem reading the image file.", + "There was an error storing the image.", + "The aspect ratio of the image is not allowed.", + "Flash cannot have network objects.", + "Flash cannot have network methods.", + "Flash cannot have a Url.", + "Flash cannot use mouse tracking.", + "Flash cannot have a random number.", + "Ad click target cannot be '_self'.", + "GetUrl method should only use '_blank'.", + "Flash version is not supported.", + "Flash movies need to have hard coded click URL or clickTAG", + "Uploaded flash file is corrupted.", + "Uploaded flash file can be parsed, but the click tag can not be fixed properly.", + "Flash movie accesses network resources", + "Flash movie attempts to call external javascript code", + "Flash movie attempts to call flash system commands", + "Image file is too large.", + "Image data is too large.", + "Error while processing the image.", + "Image is too small.", + "Input was invalid.", + "There was a problem reading the image file.", + "Image constraints are violated, but details like ASPECT_RATIO_NOT_ALLOWED can't be provided. This happens when asset spec contains more than one constraint and different criteria of different constraints are violated.", + "Image format is not allowed." + ], + "type": "string" + }, + "incentiveError": { + "description": "The reasons for the incentive error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "INVALID_INCENTIVE_ID" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "The incentive ID is either invalid or not supported for the given country." + ], + "type": "string" + }, + "internalError": { + "description": "An unexpected server-side error.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "INTERNAL_ERROR", + "ERROR_CODE_NOT_PUBLISHED", + "TRANSIENT_ERROR", + "DEADLINE_EXCEEDED" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "API encountered unexpected internal error.", + "The intended error code doesn't exist in specified API version. It will be released in a future API version.", + "API encountered an unexpected transient error. The user should retry their request in these cases.", + "The request took longer than a deadline." + ], + "type": "string" + }, + "invalidParameterError": { + "description": "The reasons for invalid parameter errors.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "INVALID_CURRENCY_CODE" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "The specified currency code is invalid." + ], + "type": "string" + }, + "invoiceError": { + "description": "The reasons for the invoice error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "YEAR_MONTH_TOO_OLD", + "NOT_INVOICED_CUSTOMER", + "BILLING_SETUP_NOT_APPROVED", + "BILLING_SETUP_NOT_ON_MONTHLY_INVOICING", + "NON_SERVING_CUSTOMER" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Cannot request invoices issued before 2019-01-01.", + "Cannot request invoices for customer who doesn't receive invoices.", + "Cannot request invoices for a non approved billing setup.", + "Cannot request invoices for a billing setup that is not on monthly invoicing.", + "Cannot request invoices for a non serving customer." + ], + "type": "string" + }, + "keywordPlanAdGroupError": { + "description": "The reason for keyword plan ad group error.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "INVALID_NAME", + "DUPLICATE_NAME" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "The keyword plan ad group name is missing, empty, longer than allowed limit or contains invalid chars.", + "The keyword plan ad group name is duplicate to an existing keyword plan AdGroup name or other keyword plan AdGroup name in the request." + ], + "type": "string" + }, + "keywordPlanAdGroupKeywordError": { + "description": "The reason for keyword plan ad group keyword error.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "INVALID_KEYWORD_MATCH_TYPE", + "DUPLICATE_KEYWORD", + "KEYWORD_TEXT_TOO_LONG", + "KEYWORD_HAS_INVALID_CHARS", + "KEYWORD_HAS_TOO_MANY_WORDS", + "INVALID_KEYWORD_TEXT", + "NEGATIVE_KEYWORD_HAS_CPC_BID", + "NEW_BMM_KEYWORDS_NOT_ALLOWED" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "A keyword or negative keyword has invalid match type.", + "A keyword or negative keyword with same text and match type already exists.", + "Keyword or negative keyword text exceeds the allowed limit.", + "Keyword or negative keyword text has invalid characters or symbols.", + "Keyword or negative keyword text has too many words.", + "Keyword or negative keyword has invalid text.", + "Cpc Bid set for negative keyword.", + "New broad match modifier (BMM) KpAdGroupKeywords are not allowed." + ], + "type": "string" + }, + "keywordPlanCampaignError": { + "description": "The reason for keyword plan campaign error.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "INVALID_NAME", + "INVALID_LANGUAGES", + "INVALID_GEOS", + "DUPLICATE_NAME", + "MAX_GEOS_EXCEEDED", + "MAX_LANGUAGES_EXCEEDED" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "A keyword plan campaign name is missing, empty, longer than allowed limit or contains invalid chars.", + "A keyword plan campaign contains one or more untargetable languages.", + "A keyword plan campaign contains one or more invalid geo targets.", + "The keyword plan campaign name is duplicate to an existing keyword plan campaign name or other keyword plan campaign name in the request.", + "The number of geo targets in the keyword plan campaign exceeds limits.", + "The number of languages in the keyword plan campaign exceeds limits." + ], + "type": "string" + }, + "keywordPlanCampaignKeywordError": { + "description": "The reason for keyword plan campaign keyword error.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CAMPAIGN_KEYWORD_IS_POSITIVE" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Keyword plan campaign keyword is positive." + ], + "type": "string" + }, + "keywordPlanError": { + "description": "The reason for keyword plan error.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "BID_MULTIPLIER_OUT_OF_RANGE", + "BID_TOO_HIGH", + "BID_TOO_LOW", + "BID_TOO_MANY_FRACTIONAL_DIGITS", + "DAILY_BUDGET_TOO_LOW", + "DAILY_BUDGET_TOO_MANY_FRACTIONAL_DIGITS", + "INVALID_VALUE", + "KEYWORD_PLAN_HAS_NO_KEYWORDS", + "KEYWORD_PLAN_NOT_ENABLED", + "KEYWORD_PLAN_NOT_FOUND", + "MISSING_BID", + "MISSING_FORECAST_PERIOD", + "INVALID_FORECAST_DATE_RANGE", + "INVALID_NAME" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "The plan's bid multiplier value is outside the valid range.", + "The plan's bid value is too high.", + "The plan's bid value is too low.", + "The plan's cpc bid is not a multiple of the minimum billable unit.", + "The plan's daily budget value is too low.", + "The plan's daily budget is not a multiple of the minimum billable unit.", + "The input has an invalid value.", + "The plan has no keyword.", + "The plan is not enabled and API cannot provide mutation, forecast or stats.", + "The requested plan cannot be found for providing forecast or stats.", + "The plan is missing a cpc bid.", + "The plan is missing required forecast_period field.", + "The plan's forecast_period has invalid forecast date range.", + "The plan's name is invalid." + ], + "type": "string" + }, + "keywordPlanIdeaError": { + "description": "The reason for keyword idea error.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "URL_CRAWL_ERROR", + "INVALID_VALUE" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Error when crawling the input URL.", + "The input has an invalid value." + ], + "type": "string" + }, + "labelError": { + "description": "The reason for the label error.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CANNOT_APPLY_INACTIVE_LABEL", + "CANNOT_APPLY_LABEL_TO_DISABLED_AD_GROUP_CRITERION", + "CANNOT_APPLY_LABEL_TO_NEGATIVE_AD_GROUP_CRITERION", + "EXCEEDED_LABEL_LIMIT_PER_TYPE", + "INVALID_RESOURCE_FOR_MANAGER_LABEL", + "DUPLICATE_NAME", + "INVALID_LABEL_NAME", + "CANNOT_ATTACH_LABEL_TO_DRAFT", + "CANNOT_ATTACH_NON_MANAGER_LABEL_TO_CUSTOMER" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "An inactive label cannot be applied.", + "A label cannot be applied to a disabled ad group criterion.", + "A label cannot be applied to a negative ad group criterion.", + "Cannot apply more than 50 labels per resource.", + "Labels from a manager account cannot be applied to campaign, ad group, ad group ad, or ad group criterion resources.", + "Label names must be unique.", + "Label names cannot be empty.", + "Labels cannot be applied to a draft.", + "Labels not from a manager account cannot be applied to the customer resource." + ], + "type": "string" + }, + "languageCodeError": { + "description": "The reasons for the language code error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "LANGUAGE_CODE_NOT_FOUND", + "INVALID_LANGUAGE_CODE" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "The input language code is not recognized.", + "The language code is not supported." + ], + "type": "string" + }, + "listOperationError": { + "description": "An error with a list operation.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "REQUIRED_FIELD_MISSING", + "DUPLICATE_VALUES" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Field required in value is missing.", + "Duplicate or identical value is sent in multiple list operations." + ], + "type": "string" + }, + "managerLinkError": { + "description": "The reasons for the manager link error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ACCOUNTS_NOT_COMPATIBLE_FOR_LINKING", + "TOO_MANY_MANAGERS", + "TOO_MANY_INVITES", + "ALREADY_INVITED_BY_THIS_MANAGER", + "ALREADY_MANAGED_BY_THIS_MANAGER", + "ALREADY_MANAGED_IN_HIERARCHY", + "DUPLICATE_CHILD_FOUND", + "CLIENT_HAS_NO_ADMIN_USER", + "MAX_DEPTH_EXCEEDED", + "CYCLE_NOT_ALLOWED", + "TOO_MANY_ACCOUNTS", + "TOO_MANY_ACCOUNTS_AT_MANAGER", + "NON_OWNER_USER_CANNOT_MODIFY_LINK", + "SUSPENDED_ACCOUNT_CANNOT_ADD_CLIENTS", + "CLIENT_OUTSIDE_TREE", + "INVALID_STATUS_CHANGE", + "INVALID_CHANGE", + "CUSTOMER_CANNOT_MANAGE_SELF", + "CREATING_ENABLED_LINK_NOT_ALLOWED" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "The manager and client have incompatible account types.", + "Client is already linked to too many managers.", + "Manager has too many pending invitations.", + "Client is already invited by this manager.", + "The client is already managed by this manager.", + "Client is already managed in hierarchy.", + "Manager and sub-manager to be linked have duplicate client.", + "Client has no active user that can access the client account.", + "Adding this link would exceed the maximum hierarchy depth.", + "Adding this link will create a cycle.", + "Manager account has the maximum number of linked clients.", + "Parent manager account has the maximum number of linked clients.", + "The account is not authorized owner.", + "Your manager account is suspended, and you are no longer allowed to link to clients.", + "You are not allowed to move a client to a manager that is not under your current hierarchy.", + "The changed status for mutate link is invalid.", + "The change for mutate link is invalid.", + "You are not allowed to link a manager account to itself.", + "The link was created with status ACTIVE and not PENDING." + ], + "type": "string" + }, + "mediaBundleError": { + "description": "The reasons for the media bundle error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "BAD_REQUEST", + "DOUBLECLICK_BUNDLE_NOT_ALLOWED", + "EXTERNAL_URL_NOT_ALLOWED", + "FILE_TOO_LARGE", + "GOOGLE_WEB_DESIGNER_ZIP_FILE_NOT_PUBLISHED", + "INVALID_INPUT", + "INVALID_MEDIA_BUNDLE", + "INVALID_MEDIA_BUNDLE_ENTRY", + "INVALID_MIME_TYPE", + "INVALID_PATH", + "INVALID_URL_REFERENCE", + "MEDIA_DATA_TOO_LARGE", + "MISSING_PRIMARY_MEDIA_BUNDLE_ENTRY", + "SERVER_ERROR", + "STORAGE_ERROR", + "SWIFFY_BUNDLE_NOT_ALLOWED", + "TOO_MANY_FILES", + "UNEXPECTED_SIZE", + "UNSUPPORTED_GOOGLE_WEB_DESIGNER_ENVIRONMENT", + "UNSUPPORTED_HTML5_FEATURE", + "URL_IN_MEDIA_BUNDLE_NOT_SSL_COMPLIANT", + "CUSTOM_EXIT_NOT_ALLOWED" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "There was a problem with the request.", + "HTML5 ads using DoubleClick Studio created ZIP files are not supported.", + "Cannot reference URL external to the media bundle.", + "Media bundle file is too large.", + "ZIP file from Google Web Designer is not published.", + "Input was invalid.", + "There was a problem with the media bundle.", + "There was a problem with one or more of the media bundle entries.", + "The media bundle contains a file with an unknown mime type", + "The media bundle contain an invalid asset path.", + "HTML5 ad is trying to reference an asset not in .ZIP file", + "Media data is too large.", + "The media bundle contains no primary entry.", + "There was an error on the server.", + "The image could not be stored.", + "Media bundle created with the Swiffy tool is not allowed.", + "The media bundle contains too many files.", + "The media bundle is not of legal dimensions.", + "Google Web Designer not created for \"Google Ads\" environment.", + "Unsupported HTML5 feature in HTML5 asset.", + "URL in HTML5 entry is not ssl compliant.", + "Custom exits not allowed in HTML5 entry." + ], + "type": "string" + }, + "mediaFileError": { + "description": "The reasons for the media file error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CANNOT_CREATE_STANDARD_ICON", + "CANNOT_SELECT_STANDARD_ICON_WITH_OTHER_TYPES", + "CANNOT_SPECIFY_MEDIA_FILE_ID_AND_DATA", + "DUPLICATE_MEDIA", + "EMPTY_FIELD", + "RESOURCE_REFERENCED_IN_MULTIPLE_OPS", + "FIELD_NOT_SUPPORTED_FOR_MEDIA_SUB_TYPE", + "INVALID_MEDIA_FILE_ID", + "INVALID_MEDIA_SUB_TYPE", + "INVALID_MEDIA_FILE_TYPE", + "INVALID_MIME_TYPE", + "INVALID_REFERENCE_ID", + "INVALID_YOU_TUBE_ID", + "MEDIA_FILE_FAILED_TRANSCODING", + "MEDIA_NOT_TRANSCODED", + "MEDIA_TYPE_DOES_NOT_MATCH_MEDIA_FILE_TYPE", + "NO_FIELDS_SPECIFIED", + "NULL_REFERENCE_ID_AND_MEDIA_ID", + "TOO_LONG", + "UNSUPPORTED_TYPE", + "YOU_TUBE_SERVICE_UNAVAILABLE", + "YOU_TUBE_VIDEO_HAS_NON_POSITIVE_DURATION", + "YOU_TUBE_VIDEO_NOT_FOUND" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Cannot create a standard icon type.", + "May only select Standard Icons alone.", + "Image contains both a media file ID and data.", + "A media file with given type and reference ID already exists.", + "A required field was not specified or is an empty string.", + "A media file may only be modified once per call.", + "Field is not supported for the media sub type.", + "The media file ID is invalid.", + "The media subtype is invalid.", + "The media file type is invalid.", + "The mimetype is invalid.", + "The media reference ID is invalid.", + "The YouTube video ID is invalid.", + "Media file has failed transcoding", + "Media file has not been transcoded.", + "The media type does not match the actual media file's type.", + "None of the fields have been specified.", + "One of reference ID or media file ID must be specified.", + "The string has too many characters.", + "The specified type is not supported.", + "YouTube is unavailable for requesting video data.", + "The YouTube video has a non positive duration.", + "The YouTube video ID is syntactically valid but the video was not found." + ], + "type": "string" + }, + "mediaUploadError": { + "description": "The reasons for media uploading errors.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "FILE_TOO_BIG", + "UNPARSEABLE_IMAGE", + "ANIMATED_IMAGE_NOT_ALLOWED", + "FORMAT_NOT_ALLOWED", + "EXTERNAL_URL_NOT_ALLOWED", + "INVALID_URL_REFERENCE", + "MISSING_PRIMARY_MEDIA_BUNDLE_ENTRY", + "ANIMATED_VISUAL_EFFECT", + "ANIMATION_TOO_LONG", + "ASPECT_RATIO_NOT_ALLOWED", + "AUDIO_NOT_ALLOWED_IN_MEDIA_BUNDLE", + "CMYK_JPEG_NOT_ALLOWED", + "FLASH_NOT_ALLOWED", + "FRAME_RATE_TOO_HIGH", + "GOOGLE_WEB_DESIGNER_ZIP_FILE_NOT_PUBLISHED", + "IMAGE_CONSTRAINTS_VIOLATED", + "INVALID_MEDIA_BUNDLE", + "INVALID_MEDIA_BUNDLE_ENTRY", + "INVALID_MIME_TYPE", + "INVALID_PATH", + "LAYOUT_PROBLEM", + "MALFORMED_URL", + "MEDIA_BUNDLE_NOT_ALLOWED", + "MEDIA_BUNDLE_NOT_COMPATIBLE_TO_PRODUCT_TYPE", + "MEDIA_BUNDLE_REJECTED_BY_MULTIPLE_ASSET_SPECS", + "TOO_MANY_FILES_IN_MEDIA_BUNDLE", + "UNSUPPORTED_GOOGLE_WEB_DESIGNER_ENVIRONMENT", + "UNSUPPORTED_HTML5_FEATURE", + "URL_IN_MEDIA_BUNDLE_NOT_SSL_COMPLIANT", + "VIDEO_FILE_NAME_TOO_LONG", + "VIDEO_MULTIPLE_FILES_WITH_SAME_NAME", + "VIDEO_NOT_ALLOWED_IN_MEDIA_BUNDLE", + "CANNOT_UPLOAD_MEDIA_TYPE_THROUGH_API", + "DIMENSIONS_NOT_ALLOWED" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "The uploaded file is too big.", + "Image data is unparseable.", + "Animated images are not allowed.", + "The image or media bundle format is not allowed.", + "Cannot reference URL external to the media bundle.", + "HTML5 ad is trying to reference an asset not in .ZIP file.", + "The media bundle contains no primary entry.", + "Animation has disallowed visual effects.", + "Animation longer than the allowed 30 second limit.", + "The aspect ratio of the image does not match the expected aspect ratios provided in the asset spec.", + "Audio files are not allowed in bundle.", + "CMYK jpegs are not supported.", + "Flash movies are not allowed.", + "The frame rate of the video is higher than the allowed 5fps.", + "ZIP file from Google Web Designer is not published.", + "Image constraints are violated, but more details (like DIMENSIONS_NOT_ALLOWED or ASPECT_RATIO_NOT_ALLOWED) can not be provided. This happens when asset spec contains more than one constraint and criteria of different constraints are violated.", + "Media bundle data is unrecognizable.", + "There was a problem with one or more of the media bundle entries.", + "The asset has an invalid mime type.", + "The media bundle contains an invalid asset path.", + "Image has layout problem.", + "An asset had a URL reference that is malformed per RFC 1738 convention.", + "The uploaded media bundle format is not allowed.", + "The media bundle is not compatible with the asset spec product type. (For example, Gmail, dynamic remarketing, etc.)", + "A bundle being uploaded that is incompatible with multiple assets for different reasons.", + "The media bundle contains too many files.", + "Google Web Designer not created for \"Google Ads\" environment.", + "Unsupported HTML5 feature in HTML5 asset.", + "URL in HTML5 entry is not SSL compliant.", + "Video file name is longer than the 50 allowed characters.", + "Multiple videos with same name in a bundle.", + "Videos are not allowed in media bundle.", + "This type of media cannot be uploaded through the Google Ads API.", + "The dimensions of the image are not allowed." + ], + "type": "string" + }, + "merchantCenterError": { + "description": "Container for enum describing possible merchant center errors.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "MERCHANT_ID_CANNOT_BE_ACCESSED", + "CUSTOMER_NOT_ALLOWED_FOR_SHOPPING_PERFORMANCE_MAX" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Merchant ID is either not found or not linked to the Google Ads customer.", + "Customer not allowlisted for Shopping in Performance Max Campaign." + ], + "type": "string" + }, + "multiplierError": { + "description": "The reasons for the multiplier error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "MULTIPLIER_TOO_HIGH", + "MULTIPLIER_TOO_LOW", + "TOO_MANY_FRACTIONAL_DIGITS", + "MULTIPLIER_NOT_ALLOWED_FOR_BIDDING_STRATEGY", + "MULTIPLIER_NOT_ALLOWED_WHEN_BASE_BID_IS_MISSING", + "NO_MULTIPLIER_SPECIFIED", + "MULTIPLIER_CAUSES_BID_TO_EXCEED_DAILY_BUDGET", + "MULTIPLIER_CAUSES_BID_TO_EXCEED_MONTHLY_BUDGET", + "MULTIPLIER_CAUSES_BID_TO_EXCEED_CUSTOM_BUDGET", + "MULTIPLIER_CAUSES_BID_TO_EXCEED_MAX_ALLOWED_BID", + "BID_LESS_THAN_MIN_ALLOWED_BID_WITH_MULTIPLIER", + "MULTIPLIER_AND_BIDDING_STRATEGY_TYPE_MISMATCH" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Multiplier value is too high", + "Multiplier value is too low", + "Too many fractional digits", + "A multiplier cannot be set for this bidding strategy", + "A multiplier cannot be set when there is no base bid (for example, content max cpc)", + "A bid multiplier must be specified", + "Multiplier causes bid to exceed daily budget", + "Multiplier causes bid to exceed monthly budget", + "Multiplier causes bid to exceed custom budget", + "Multiplier causes bid to exceed maximum allowed bid", + "Multiplier causes bid to become less than the minimum bid allowed", + "Multiplier type (cpc versus cpm) needs to match campaign's bidding strategy" + ], + "type": "string" + }, + "mutateError": { + "description": "An error with a mutate", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "RESOURCE_NOT_FOUND", + "ID_EXISTS_IN_MULTIPLE_MUTATES", + "INCONSISTENT_FIELD_VALUES", + "MUTATE_NOT_ALLOWED", + "RESOURCE_NOT_IN_GOOGLE_ADS", + "RESOURCE_ALREADY_EXISTS", + "RESOURCE_DOES_NOT_SUPPORT_VALIDATE_ONLY", + "OPERATION_DOES_NOT_SUPPORT_PARTIAL_FAILURE", + "RESOURCE_READ_ONLY", + "EU_POLITICAL_ADVERTISING_DECLARATION_REQUIRED" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Requested resource was not found.", + "Cannot mutate the same resource twice in one request.", + "The field's contents don't match another field that represents the same data.", + "Mutates are not allowed for the requested resource.", + "The resource isn't in Google Ads. It belongs to another ads system.", + "The resource being created already exists.", + "This resource cannot be used with \"validate_only\".", + "This operation cannot be used with \"partial_failure\".", + "Attempt to write to read-only fields.", + "Mutates are generally not allowed if the customer contains non-exempt campaigns without the EU political advertising declaration." + ], + "type": "string" + }, + "newResourceCreationError": { + "description": "The reasons for the new resource creation error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CANNOT_SET_ID_FOR_CREATE", + "DUPLICATE_TEMP_IDS", + "TEMP_ID_RESOURCE_HAD_ERRORS" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Do not set the id field while creating new resources.", + "Creating more than one resource with the same temp ID is not allowed.", + "Parent resource with specified temp ID failed validation, so no validation will be done for this child resource." + ], + "type": "string" + }, + "notAllowlistedError": { + "description": "The reasons for the not allowlisted error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CUSTOMER_NOT_ALLOWLISTED_FOR_THIS_FEATURE" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Customer is not allowlisted for accessing this feature." + ], + "type": "string" + }, + "notEmptyError": { + "description": "The reasons for the not empty error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "EMPTY_LIST" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Empty list." + ], + "type": "string" + }, + "nullError": { + "description": "The reasons for the null error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "NULL_CONTENT" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Specified list/container must not contain any null elements" + ], + "type": "string" + }, + "offlineUserDataJobError": { + "description": "The reasons for the offline user data job error.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "INVALID_USER_LIST_ID", + "INVALID_USER_LIST_TYPE", + "NOT_ON_ALLOWLIST_FOR_USER_ID", + "INCOMPATIBLE_UPLOAD_KEY_TYPE", + "MISSING_USER_IDENTIFIER", + "INVALID_MOBILE_ID_FORMAT", + "TOO_MANY_USER_IDENTIFIERS", + "NOT_ON_ALLOWLIST_FOR_STORE_SALES_DIRECT", + "NOT_ON_ALLOWLIST_FOR_UNIFIED_STORE_SALES", + "INVALID_PARTNER_ID", + "INVALID_ENCODING", + "INVALID_COUNTRY_CODE", + "INCOMPATIBLE_USER_IDENTIFIER", + "FUTURE_TRANSACTION_TIME", + "INVALID_CONVERSION_ACTION", + "MOBILE_ID_NOT_SUPPORTED", + "INVALID_OPERATION_ORDER", + "CONFLICTING_OPERATION", + "EXTERNAL_UPDATE_ID_ALREADY_EXISTS", + "JOB_ALREADY_STARTED", + "REMOVE_NOT_SUPPORTED", + "REMOVE_ALL_NOT_SUPPORTED", + "INVALID_SHA256_FORMAT", + "CUSTOM_KEY_DISABLED", + "CUSTOM_KEY_NOT_PREDEFINED", + "CUSTOM_KEY_NOT_SET", + "CUSTOMER_NOT_ACCEPTED_CUSTOMER_DATA_TERMS", + "ATTRIBUTES_NOT_APPLICABLE_FOR_CUSTOMER_MATCH_USER_LIST", + "LIFETIME_VALUE_BUCKET_NOT_IN_RANGE", + "INCOMPATIBLE_USER_IDENTIFIER_FOR_ATTRIBUTES", + "FUTURE_TIME_NOT_ALLOWED", + "LAST_PURCHASE_TIME_LESS_THAN_ACQUISITION_TIME", + "CUSTOMER_IDENTIFIER_NOT_ALLOWED", + "INVALID_ITEM_ID", + "FIRST_PURCHASE_TIME_GREATER_THAN_LAST_PURCHASE_TIME", + "INVALID_LIFECYCLE_STAGE", + "INVALID_EVENT_VALUE", + "EVENT_ATTRIBUTE_ALL_FIELDS_ARE_REQUIRED", + "OPERATION_LEVEL_CONSENT_PROVIDED" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "The user list ID provided for the job is invalid.", + "Type of the user list is not applicable for the job.", + "Customer is not allowisted for using user ID in upload data.", + "Upload data is not compatible with the upload key type of the associated user list.", + "The user identifier is missing valid data.", + "The mobile ID is malformed.", + "Maximum number of user identifiers allowed per request is 100,000 and per operation is 20.", + "Customer is not on the allow-list for store sales direct data.", + "Customer is not on the allow-list for unified store sales data.", + "The partner ID in store sales direct metadata is invalid.", + "The data in user identifier should not be encoded.", + "The country code is invalid.", + "Incompatible user identifier when using third_party_user_id for store sales direct first party data or not using third_party_user_id for store sales third party data.", + "A transaction time in the future is not allowed.", + "The conversion_action specified in transaction_attributes is used to report conversions to a conversion action configured in Google Ads. This error indicates there is no such conversion action in the account.", + "Mobile ID is not supported for store sales direct data.", + "When a remove-all operation is provided, it has to be the first operation of the operation list.", + "Mixing creation and removal of offline data in the same job is not allowed.", + "The external update ID already exists.", + "Once the upload job is started, new operations cannot be added.", + "Remove operation is not allowed for store sales direct updates.", + "Remove-all is not supported for certain offline user data job types.", + "The SHA256 encoded value is malformed.", + "The custom key specified is not enabled for the unified store sales upload.", + "The custom key specified is not predefined through the Google Ads UI.", + "The custom key specified is not set in the upload.", + "The customer has not accepted the customer data terms in the conversion settings page.", + "User attributes cannot be uploaded into a user list.", + "Lifetime bucket value must be a number from 0 to 10; 0 is only accepted for remove operations", + "Identifiers not supported for Customer Match attributes. User attributes can only be provided with contact info (email, phone, address) user identifiers.", + "A time in the future is not allowed.", + "Last purchase date time cannot be less than acquisition date time.", + "Only emails are accepted as user identifiers for shopping loyalty match. {-- api.dev/not-precedent: The identifier is not limited to ids, but also include other user info eg. phone numbers.}", + "Provided item ID is invalid.", + "First purchase date time cannot be greater than the last purchase date time.", + "Provided lifecycle stage is invalid.", + "The event value of the Customer Match user attribute is invalid.", + "All the fields are not present in the EventAttribute of the Customer Match.", + "Consent was provided at the operation level for an OfflineUserDataJobType that expects it at the job level. The provided operation-level consent will be ignored." + ], + "type": "string" + }, + "operationAccessDeniedError": { + "description": "The reasons for the operation access denied error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ACTION_NOT_PERMITTED", + "CREATE_OPERATION_NOT_PERMITTED", + "REMOVE_OPERATION_NOT_PERMITTED", + "UPDATE_OPERATION_NOT_PERMITTED", + "MUTATE_ACTION_NOT_PERMITTED_FOR_CLIENT", + "OPERATION_NOT_PERMITTED_FOR_CAMPAIGN_TYPE", + "CREATE_AS_REMOVED_NOT_PERMITTED", + "OPERATION_NOT_PERMITTED_FOR_REMOVED_RESOURCE", + "OPERATION_NOT_PERMITTED_FOR_AD_GROUP_TYPE", + "MUTATE_NOT_PERMITTED_FOR_CUSTOMER" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Unauthorized invocation of a service's method (get, mutate, etc.)", + "Unauthorized CREATE operation in invoking a service's mutate method.", + "Unauthorized REMOVE operation in invoking a service's mutate method.", + "Unauthorized UPDATE operation in invoking a service's mutate method.", + "A mutate action is not allowed on this resource, from this client.", + "This operation is not permitted on this campaign type", + "A CREATE operation may not set status to REMOVED.", + "This operation is not allowed because the resource is removed.", + "This operation is not permitted on this ad group type.", + "The mutate is not allowed for this customer." + ], + "type": "string" + }, + "operatorError": { + "description": "The reasons for the operator error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "OPERATOR_NOT_SUPPORTED" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Operator not supported." + ], + "type": "string" + }, + "partialFailureError": { + "description": "The reasons for the mutate job error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "PARTIAL_FAILURE_MODE_REQUIRED" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "The partial failure field was false in the request. This method requires this field be set to true." + ], + "type": "string" + }, + "paymentsAccountError": { + "description": "The reasons for errors in payments accounts service", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "NOT_SUPPORTED_FOR_MANAGER_CUSTOMER" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Manager customers are not supported for payments account service." + ], + "type": "string" + }, + "policyFindingError": { + "description": "The reasons for the policy finding error.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "POLICY_FINDING", + "POLICY_TOPIC_NOT_FOUND" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "The resource has been disapproved since the policy summary includes policy topics of type PROHIBITED.", + "The given policy topic does not exist." + ], + "type": "string" + }, + "policyValidationParameterError": { + "description": "The reasons for the policy validation parameter error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "UNSUPPORTED_AD_TYPE_FOR_IGNORABLE_POLICY_TOPICS", + "UNSUPPORTED_AD_TYPE_FOR_EXEMPT_POLICY_VIOLATION_KEYS", + "CANNOT_SET_BOTH_IGNORABLE_POLICY_TOPICS_AND_EXEMPT_POLICY_VIOLATION_KEYS" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Ignorable policy topics are not supported for the ad type.", + "Exempt policy violation keys are not supported for the ad type.", + "Cannot set ignorable policy topics and exempt policy violation keys in the same policy violation parameter." + ], + "type": "string" + }, + "policyViolationError": { + "description": "The reasons for the policy violation error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "POLICY_ERROR" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "A policy was violated. See PolicyViolationDetails for more detail." + ], + "type": "string" + }, + "productLinkError": { + "description": "The reasons for the product link error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "INVALID_OPERATION", + "CREATION_NOT_PERMITTED", + "INVITATION_EXISTS", + "LINK_EXISTS" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "The requested operation is invalid. For example, you are not allowed to remove a link from a partner account.", + "The creation request is not permitted.", + "A link cannot be created because a pending link already exists.", + "A link cannot be created because an active link already exists." + ], + "type": "string" + }, + "productLinkInvitationError": { + "description": "The reasons for the product link invitation error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "INVALID_STATUS", + "PERMISSION_DENIED", + "NO_INVITATION_REQUIRED", + "CUSTOMER_NOT_PERMITTED_TO_CREATE_INVITATION" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in the version.", + "The invitation status is invalid.", + "The customer doesn't have the permission to perform this action", + "An invitation could not be created, since the user already has admin access to the invited account. Use the ProductLinkService to directly create an active link.", + "The customer is not permitted to create the invitation." + ], + "type": "string" + }, + "queryError": { + "description": "An error with the query", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "QUERY_ERROR", + "BAD_ENUM_CONSTANT", + "BAD_ESCAPE_SEQUENCE", + "BAD_FIELD_NAME", + "BAD_LIMIT_VALUE", + "BAD_NUMBER", + "BAD_OPERATOR", + "BAD_PARAMETER_NAME", + "BAD_PARAMETER_VALUE", + "BAD_RESOURCE_TYPE_IN_FROM_CLAUSE", + "BAD_SYMBOL", + "BAD_VALUE", + "DATE_RANGE_TOO_WIDE", + "DATE_RANGE_TOO_NARROW", + "EXPECTED_AND", + "EXPECTED_BY", + "EXPECTED_DIMENSION_FIELD_IN_SELECT_CLAUSE", + "EXPECTED_FILTERS_ON_DATE_RANGE", + "EXPECTED_FROM", + "EXPECTED_LIST", + "EXPECTED_REFERENCED_FIELD_IN_SELECT_CLAUSE", + "EXPECTED_SELECT", + "EXPECTED_SINGLE_VALUE", + "EXPECTED_VALUE_WITH_BETWEEN_OPERATOR", + "INVALID_DATE_FORMAT", + "MISALIGNED_DATE_FOR_FILTER", + "INVALID_STRING_VALUE", + "INVALID_VALUE_WITH_BETWEEN_OPERATOR", + "INVALID_VALUE_WITH_DURING_OPERATOR", + "INVALID_VALUE_WITH_LIKE_OPERATOR", + "OPERATOR_FIELD_MISMATCH", + "PROHIBITED_EMPTY_LIST_IN_CONDITION", + "PROHIBITED_ENUM_CONSTANT", + "PROHIBITED_FIELD_COMBINATION_IN_SELECT_CLAUSE", + "PROHIBITED_FIELD_IN_ORDER_BY_CLAUSE", + "PROHIBITED_FIELD_IN_SELECT_CLAUSE", + "PROHIBITED_FIELD_IN_WHERE_CLAUSE", + "PROHIBITED_RESOURCE_TYPE_IN_FROM_CLAUSE", + "PROHIBITED_RESOURCE_TYPE_IN_SELECT_CLAUSE", + "PROHIBITED_RESOURCE_TYPE_IN_WHERE_CLAUSE", + "PROHIBITED_METRIC_IN_SELECT_OR_WHERE_CLAUSE", + "PROHIBITED_SEGMENT_IN_SELECT_OR_WHERE_CLAUSE", + "PROHIBITED_SEGMENT_WITH_METRIC_IN_SELECT_OR_WHERE_CLAUSE", + "PROHIBITED_FIELD_OR_SEGMENT_WITH_METRIC", + "LIMIT_VALUE_TOO_LOW", + "PROHIBITED_NEWLINE_IN_STRING", + "PROHIBITED_VALUE_COMBINATION_IN_LIST", + "PROHIBITED_VALUE_COMBINATION_WITH_BETWEEN_OPERATOR", + "STRING_NOT_TERMINATED", + "TOO_MANY_SEGMENTS", + "UNEXPECTED_END_OF_QUERY", + "UNEXPECTED_FROM_CLAUSE", + "UNRECOGNIZED_FIELD", + "UNEXPECTED_INPUT", + "REQUESTED_METRICS_FOR_MANAGER", + "FILTER_HAS_TOO_MANY_VALUES", + "REQUIRED_SEGMENT_FIELD_MISSING" + ], + "enumDescriptions": [ + "Name unspecified.", + "The received error code is not known in this version.", + "Returned if all other query error reasons are not applicable.", + "A condition used in the query references an invalid enum constant.", + "Query contains an invalid escape sequence.", + "Field name is invalid.", + "Limit value is invalid (for example, not a number)", + "Encountered number can not be parsed.", + "Invalid operator encountered.", + "Parameter unknown or not supported.", + "Parameter have invalid value.", + "Invalid resource type was specified in the FROM clause.", + "Non-ASCII symbol encountered outside of strings.", + "Value is invalid.", + "Date filters fail to restrict date to a range smaller than 31 days. Applicable if the query is segmented by date.", + "Filters on date/week/month/quarter have a start date after end date.", + "Expected AND between values with BETWEEN operator.", + "Expecting ORDER BY to have BY.", + "There was no dimension field selected.", + "Missing filters on date related fields.", + "Missing FROM clause.", + "The operator used in the conditions requires the value to be a list.", + "Fields used in WHERE or ORDER BY clauses are missing from the SELECT clause.", + "SELECT is missing at the beginning of query.", + "A list was passed as a value to a condition whose operator expects a single value.", + "Missing one or both values with BETWEEN operator.", + "Invalid date format. Expected 'YYYY-MM-DD'.", + "Misaligned date value for the filter. The date should be the start of a week/month/quarter if the filtered field is segments.week/segments.month/segments.quarter.", + "Value passed was not a string when it should have been. For example, it was a number or unquoted literal.", + "A String value passed to the BETWEEN operator does not parse as a date.", + "The value passed to the DURING operator is not a Date range literal", + "A value was passed to the LIKE operator.", + "An operator was provided that is inapplicable to the field being filtered.", + "A Condition was found with an empty list.", + "A condition used in the query references an unsupported enum constant.", + "Fields that are not allowed to be selected together were included in the SELECT clause.", + "A field that is not orderable was included in the ORDER BY clause.", + "A field that is not selectable was included in the SELECT clause.", + "A field that is not filterable was included in the WHERE clause.", + "Resource type specified in the FROM clause is not supported by this service.", + "A field that comes from an incompatible resource was included in the SELECT clause.", + "A field that comes from an incompatible resource was included in the WHERE clause.", + "A metric incompatible with the main resource or other selected segmenting resources was included in the SELECT or WHERE clause.", + "A segment incompatible with the main resource or other selected segmenting resources was included in the SELECT or WHERE clause.", + "A segment in the SELECT clause is incompatible with a metric in the SELECT or WHERE clause.", + "A metric may not be selected with one of the selected resource fields, or segmented by one of the selected segment fields.", + "The value passed to the limit clause is too low.", + "Query has a string containing a newline character.", + "List contains values of different types.", + "The values passed to the BETWEEN operator are not of the same type.", + "Query contains unterminated string.", + "Too many segments are specified in SELECT clause.", + "Query is incomplete and cannot be parsed.", + "FROM clause cannot be specified in this query.", + "Query contains one or more unrecognized fields.", + "Query has an unexpected extra part.", + "Metrics cannot be requested for a manager account. To retrieve metrics, issue separate requests against each client account under the manager account.", + "The number of values (right-hand-side operands) in a filter exceeds the limit.", + "Required segment field is missing." + ], + "type": "string" + }, + "quotaError": { + "description": "An error with the amount of quota remaining.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "RESOURCE_EXHAUSTED", + "ACCESS_PROHIBITED", + "RESOURCE_TEMPORARILY_EXHAUSTED", + "EXCESSIVE_SHORT_TERM_QUERY_RESOURCE_CONSUMPTION", + "EXCESSIVE_LONG_TERM_QUERY_RESOURCE_CONSUMPTION", + "PAYMENTS_PROFILE_ACTIVATION_RATE_LIMIT_EXCEEDED" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Too many requests.", + "Access is prohibited.", + "Too many requests in a short amount of time.", + "Too many expensive requests from query pattern over a short amount of time.", + "Too many expensive requests from query pattern over an extended duration of time.", + "To activate ad serving in a customer account, it has to be linked with a payment profile (also known as a Billing Customer Number, or BCN), which is then billed for the costs incurred by that customer account. This error will be thrown if too many customer accounts are activated in a short period of time for the same payment profile. Once this rate limit is exceeded, the customer should wait for a week before trying again, or contact Google Ads customer support to reset the rate limits. See https://support.google.com/google-ads/answer/6372658 to learn more about this limit." + ], + "type": "string" + }, + "rangeError": { + "description": "The reasons for the range error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "TOO_LOW", + "TOO_HIGH" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Too low.", + "Too high." + ], + "type": "string" + }, + "reachPlanError": { + "description": "The reasons for the reach plan error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "NOT_FORECASTABLE_MISSING_RATE", + "NOT_FORECASTABLE_NOT_ENOUGH_INVENTORY", + "NOT_FORECASTABLE_ACCOUNT_NOT_ENABLED" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Not forecastable due to missing rate card data.", + "Not forecastable due to not enough inventory.", + "Not forecastable due to account not being enabled." + ], + "type": "string" + }, + "recommendationError": { + "description": "The reasons for error in applying a recommendation", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "BUDGET_AMOUNT_TOO_SMALL", + "BUDGET_AMOUNT_TOO_LARGE", + "INVALID_BUDGET_AMOUNT", + "POLICY_ERROR", + "INVALID_BID_AMOUNT", + "ADGROUP_KEYWORD_LIMIT", + "RECOMMENDATION_ALREADY_APPLIED", + "RECOMMENDATION_INVALIDATED", + "TOO_MANY_OPERATIONS", + "NO_OPERATIONS", + "DIFFERENT_TYPES_NOT_SUPPORTED", + "DUPLICATE_RESOURCE_NAME", + "RECOMMENDATION_ALREADY_DISMISSED", + "INVALID_APPLY_REQUEST", + "RECOMMENDATION_TYPE_APPLY_NOT_SUPPORTED", + "INVALID_MULTIPLIER", + "ADVERTISING_CHANNEL_TYPE_GENERATE_NOT_SUPPORTED", + "RECOMMENDATION_TYPE_GENERATE_NOT_SUPPORTED", + "RECOMMENDATION_TYPES_CANNOT_BE_EMPTY", + "CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_REQUIRES_BIDDING_INFO", + "CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_REQUIRES_BIDDING_STRATEGY_TYPE", + "CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_REQUIRES_ASSET_GROUP_INFO", + "CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_REQUIRES_ASSET_GROUP_INFO_WITH_FINAL_URL", + "CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_REQUIRES_COUNTRY_CODES_FOR_SEARCH_CHANNEL", + "CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_INVALID_COUNTRY_CODE_FOR_SEARCH_CHANNEL", + "CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_REQUIRES_LANGUAGE_CODES_FOR_SEARCH_CHANNEL", + "CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_REQUIRES_EITHER_POSITIVE_OR_NEGATIVE_LOCATION_IDS_FOR_SEARCH_CHANNEL", + "CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_REQUIRES_AD_GROUP_INFO_FOR_SEARCH_CHANNEL", + "CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_REQUIRES_KEYWORDS_FOR_SEARCH_CHANNEL", + "CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_WITH_CHANNEL_TYPE_SEARCH_AND_BIDDING_STRATEGY_TYPE_TARGET_IMPRESSION_SHARE_REQUIRES_LOCATION", + "CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_WITH_CHANNEL_TYPE_SEARCH_AND_BIDDING_STRATEGY_TYPE_TARGET_IMPRESSION_SHARE_REQUIRES_TARGET_IMPRESSION_SHARE_MICROS", + "CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_TARGET_IMPRESSION_SHARE_MICROS_BETWEEN_1_AND_1000000", + "CAMPAIGN_BUDGET_RECOMMENDATION_TYPE_WITH_CHANNEL_TYPE_SEARCH_AND_BIDDING_STRATEGY_TYPE_TARGET_IMPRESSION_SHARE_REQUIRES_TARGET_IMPRESSION_SHARE_INFO", + "MERCHANT_CENTER_ACCOUNT_ID_NOT_SUPPORTED_ADVERTISING_CHANNEL_TYPE" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "The specified budget amount is too low for example, lower than minimum currency unit or lower than ad group minimum cost-per-click.", + "The specified budget amount is too large.", + "The specified budget amount is not a valid amount, for example, not a multiple of minimum currency unit.", + "The specified keyword or ad violates ad policy.", + "The specified bid amount is not valid, for example, too many fractional digits, or negative amount.", + "The number of keywords in ad group have reached the maximum allowed.", + "The recommendation requested to apply has already been applied.", + "The recommendation requested to apply has been invalidated.", + "The number of operations in a single request exceeds the maximum allowed.", + "There are no operations in the request.", + "Operations with multiple recommendation types are not supported when partial failure mode is not enabled.", + "Request contains multiple operations with the same resource_name.", + "The recommendation requested to dismiss has already been dismissed.", + "The recommendation apply request was malformed and invalid.", + "The type of recommendation requested to apply is not supported.", + "The target multiplier specified is invalid.", + "The passed in advertising_channel_type is not supported.", + "The passed in recommendation_type is not supported.", + "One or more recommendation_types need to be passed into the generate recommendations request.", + "Bidding info is required for the CAMPAIGN_BUDGET recommendation type.", + "Bidding strategy type is required for the CAMPAIGN_BUDGET recommendation type.", + "Asset group info is required for the campaign budget recommendation type.", + "Asset group info with final url is required for the CAMPAIGN_BUDGET recommendation type.", + "Country codes are required for the CAMPAIGN_BUDGET recommendation type for SEARCH channel.", + "Country code is invalid for the CAMPAIGN_BUDGET recommendation type for SEARCH channel.", + "Language codes are required for the CAMPAIGN_BUDGET recommendation type for SEARCH channel.", + "Either positive or negative location ids are required for the CAMPAIGN_BUDGET recommendation type for SEARCH channel.", + "Ad group info is required for the CAMPAIGN_BUDGET recommendation type for SEARCH channel.", + "Keywords are required for the CAMPAIGN_BUDGET recommendation type for SEARCH channel.", + "Location is required for the CAMPAIGN_BUDGET recommendation type for bidding strategy type TARGET_IMPRESSION_SHARE.", + "Target impression share micros are required for the CAMPAIGN_BUDGET recommendation type for bidding strategy type TARGET_IMPRESSION_SHARE.", + "Target impression share micros are required to be between 1 and 1000000 for the CAMPAIGN_BUDGET recommendation type for bidding strategy type TARGET_IMPRESSION_SHARE.", + "Target impression share info is required for the CAMPAIGN_BUDGET recommendation type for bidding strategy type TARGET_IMPRESSION_SHARE.", + "Merchant Center Account ID is only supported for advertising_channel_type PERFORMANCE_MAX." + ], + "type": "string" + }, + "recommendationSubscriptionError": { + "description": "The reasons for the recommendation subscription error.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version." + ], + "type": "string" + }, + "regionCodeError": { + "description": "The reasons for the region code error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "INVALID_REGION_CODE" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Invalid region code." + ], + "type": "string" + }, + "requestError": { + "description": "An error caused by the request", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "RESOURCE_NAME_MISSING", + "RESOURCE_NAME_MALFORMED", + "BAD_RESOURCE_ID", + "INVALID_CUSTOMER_ID", + "OPERATION_REQUIRED", + "RESOURCE_NOT_FOUND", + "INVALID_PAGE_TOKEN", + "EXPIRED_PAGE_TOKEN", + "INVALID_PAGE_SIZE", + "PAGE_SIZE_NOT_SUPPORTED", + "REQUIRED_FIELD_MISSING", + "IMMUTABLE_FIELD", + "TOO_MANY_MUTATE_OPERATIONS", + "CANNOT_BE_EXECUTED_BY_MANAGER_ACCOUNT", + "CANNOT_MODIFY_FOREIGN_FIELD", + "INVALID_ENUM_VALUE", + "DEVELOPER_TOKEN_PARAMETER_MISSING", + "LOGIN_CUSTOMER_ID_PARAMETER_MISSING", + "VALIDATE_ONLY_REQUEST_HAS_PAGE_TOKEN", + "CANNOT_RETURN_SUMMARY_ROW_FOR_REQUEST_WITHOUT_METRICS", + "CANNOT_RETURN_SUMMARY_ROW_FOR_VALIDATE_ONLY_REQUESTS", + "INCONSISTENT_RETURN_SUMMARY_ROW_VALUE", + "TOTAL_RESULTS_COUNT_NOT_ORIGINALLY_REQUESTED", + "RPC_DEADLINE_TOO_SHORT", + "UNSUPPORTED_VERSION", + "CLOUD_PROJECT_NOT_FOUND" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Resource name is required for this request.", + "Resource name provided is malformed.", + "Resource name provided is malformed.", + "Customer ID is invalid.", + "Mutate operation should have either create, update, or remove specified.", + "Requested resource not found.", + "Next page token specified in user request is invalid.", + "Next page token specified in user request has expired.", + "Page size specified in user request is invalid.", + "Setting the page size is not supported, and will be unavailable in a future version.", + "Required field is missing.", + "The field cannot be modified because it's immutable. It's also possible that the field can be modified using 'create' operation but not 'update'.", + "Received too many entries in request.", + "Request cannot be executed by a manager account.", + "Mutate request was attempting to modify a readonly field. For instance, Budget fields can be requested for Ad Group, but are read-only for adGroups:mutate.", + "Enum value is not permitted.", + "The developer-token parameter is required for all requests.", + "The login-customer-id parameter is required for this request.", + "page_token is set in the validate only request", + "return_summary_row cannot be enabled if request did not select any metrics field.", + "return_summary_row should not be enabled for validate only requests.", + "return_summary_row parameter value should be the same between requests with page_token field set and their original request.", + "The total results count cannot be returned if it was not requested in the original request.", + "Deadline specified by the client was too short.", + "This API version has been sunset and is no longer supported.", + "The Google Cloud project in the request was not found." + ], + "type": "string" + }, + "resourceAccessDeniedError": { + "description": "The reasons for the resource access denied error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "WRITE_ACCESS_DENIED" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "User did not have write access." + ], + "type": "string" + }, + "resourceCountLimitExceededError": { + "description": "The reasons for the resource count limit exceeded error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ACCOUNT_LIMIT", + "CAMPAIGN_LIMIT", + "ADGROUP_LIMIT", + "AD_GROUP_AD_LIMIT", + "AD_GROUP_CRITERION_LIMIT", + "SHARED_SET_LIMIT", + "MATCHING_FUNCTION_LIMIT", + "RESPONSE_ROW_LIMIT_EXCEEDED", + "RESOURCE_LIMIT" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Indicates that this request would exceed the number of allowed resources for the Google Ads account. The exact resource type and limit being checked can be inferred from accountLimitType.", + "Indicates that this request would exceed the number of allowed resources in a Campaign. The exact resource type and limit being checked can be inferred from accountLimitType, and the numeric id of the Campaign involved is given by enclosingId.", + "Indicates that this request would exceed the number of allowed resources in an ad group. The exact resource type and limit being checked can be inferred from accountLimitType, and the numeric id of the ad group involved is given by enclosingId.", + "Indicates that this request would exceed the number of allowed resources in an ad group ad. The exact resource type and limit being checked can be inferred from accountLimitType, and the enclosingId contains the ad group id followed by the ad id, separated by a single comma (,).", + "Indicates that this request would exceed the number of allowed resources in an ad group criterion. The exact resource type and limit being checked can be inferred from accountLimitType, and the enclosingId contains the ad group id followed by the criterion id, separated by a single comma (,).", + "Indicates that this request would exceed the number of allowed resources in this shared set. The exact resource type and limit being checked can be inferred from accountLimitType, and the numeric id of the shared set involved is given by enclosingId.", + "Exceeds a limit related to a matching function.", + "The response for this request would exceed the maximum number of rows that can be returned.", + "This request would exceed a limit on the number of allowed resources. The details of which type of limit was exceeded will eventually be returned in ErrorDetails." + ], + "type": "string" + }, + "searchTermInsightError": { + "description": "The reasons for the Search term insight error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "FILTERING_NOT_ALLOWED_WITH_SEGMENTS", + "LIMIT_NOT_ALLOWED_WITH_SEGMENTS", + "MISSING_FIELD_IN_SELECT_CLAUSE", + "REQUIRES_FILTER_BY_SINGLE_RESOURCE", + "SORTING_NOT_ALLOWED_WITH_SEGMENTS", + "SUMMARY_ROW_NOT_ALLOWED_WITH_SEGMENTS" + ], + "enumDescriptions": [ + "Name unspecified.", + "The received error code is not known in this version.", + "Search term insights cannot be filtered by metrics when segmenting.", + "Search term insights cannot have a LIMIT when segmenting.", + "A selected field requires another field to be selected with it.", + "A selected field/resource requires filtering by a single resource.", + "Search term insights cannot be sorted when segmenting.", + "Search term insights cannot have a summary row when segmenting." + ], + "type": "string" + }, + "settingError": { + "description": "The reasons for the setting error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "SETTING_TYPE_IS_NOT_AVAILABLE", + "SETTING_TYPE_IS_NOT_COMPATIBLE_WITH_CAMPAIGN", + "TARGETING_SETTING_CONTAINS_INVALID_CRITERION_TYPE_GROUP", + "TARGETING_SETTING_DEMOGRAPHIC_CRITERION_TYPE_GROUPS_MUST_BE_SET_TO_TARGET_ALL", + "TARGETING_SETTING_CANNOT_CHANGE_TARGET_ALL_TO_FALSE_FOR_DEMOGRAPHIC_CRITERION_TYPE_GROUP", + "DYNAMIC_SEARCH_ADS_SETTING_AT_LEAST_ONE_FEED_ID_MUST_BE_PRESENT", + "DYNAMIC_SEARCH_ADS_SETTING_CONTAINS_INVALID_DOMAIN_NAME", + "DYNAMIC_SEARCH_ADS_SETTING_CONTAINS_SUBDOMAIN_NAME", + "DYNAMIC_SEARCH_ADS_SETTING_CONTAINS_INVALID_LANGUAGE_CODE", + "TARGET_ALL_IS_NOT_ALLOWED_FOR_PLACEMENT_IN_SEARCH_CAMPAIGN", + "SETTING_VALUE_NOT_COMPATIBLE_WITH_CAMPAIGN", + "BID_ONLY_IS_NOT_ALLOWED_TO_BE_MODIFIED_WITH_CUSTOMER_MATCH_TARGETING" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "The campaign setting is not available for this Google Ads account.", + "The setting is not compatible with the campaign.", + "The supplied TargetingSetting contains an invalid CriterionTypeGroup. See CriterionTypeGroup documentation for CriterionTypeGroups allowed in Campaign or AdGroup TargetingSettings.", + "TargetingSetting must not explicitly set any of the Demographic CriterionTypeGroups (AGE_RANGE, GENDER, PARENT, INCOME_RANGE) to false (it's okay to not set them at all, in which case the system will set them to true automatically).", + "TargetingSetting cannot change any of the Demographic CriterionTypeGroups (AGE_RANGE, GENDER, PARENT, INCOME_RANGE) from true to false.", + "At least one feed id should be present.", + "The supplied DynamicSearchAdsSetting contains an invalid domain name.", + "The supplied DynamicSearchAdsSetting contains a subdomain name.", + "The supplied DynamicSearchAdsSetting contains an invalid language code.", + "TargetingSettings in search campaigns should not have CriterionTypeGroup.PLACEMENT set to targetAll.", + "The setting value is not compatible with the campaign type.", + "Switching from observation setting to targeting setting is not allowed for Customer Match lists. See https://support.google.com/google-ads/answer/6299717." + ], + "type": "string" + }, + "shareablePreviewError": { + "description": "The reasons for the shareable preview error.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "TOO_MANY_ASSET_GROUPS_IN_REQUEST", + "ASSET_GROUP_DOES_NOT_EXIST_UNDER_THIS_CUSTOMER" + ], + "enumDescriptions": [ + "Enum unspecified.", + "Used for return value only. Represents value unknown in this version.", + "The maximum of 10 asset groups was exceeded.", + "asset group does not exist under this customer." + ], + "type": "string" + }, + "sharedCriterionError": { + "description": "The reasons for the shared criterion error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CRITERION_TYPE_NOT_ALLOWED_FOR_SHARED_SET_TYPE" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "The criterion is not appropriate for the shared set type." + ], + "type": "string" + }, + "sharedSetError": { + "description": "The reasons for the shared set error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CUSTOMER_CANNOT_CREATE_SHARED_SET_OF_THIS_TYPE", + "DUPLICATE_NAME", + "SHARED_SET_REMOVED", + "SHARED_SET_IN_USE" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "The customer cannot create this type of shared set.", + "A shared set with this name already exists.", + "Removed shared sets cannot be mutated.", + "The shared set cannot be removed because it is in use." + ], + "type": "string" + }, + "shoppingProductError": { + "description": "The reasons for error in querying shopping product.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "MISSING_CAMPAIGN_FILTER", + "MISSING_AD_GROUP_FILTER", + "UNSUPPORTED_DATE_SEGMENTATION" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "A filter on the `campaign` resource name is missing.", + "A filter on the `ad_group` resource name is missing.", + "Date segmentation is not supported." + ], + "type": "string" + }, + "sizeLimitError": { + "description": "The reasons for the size limit error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "REQUEST_SIZE_LIMIT_EXCEEDED", + "RESPONSE_SIZE_LIMIT_EXCEEDED" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "The number of entries in the request exceeds the system limit, or the contents of the operations exceed transaction limits due to their size or complexity. Try reducing the number of entries per request.", + "The number of entries in the response exceeds the system limit." + ], + "type": "string" + }, + "smartCampaignError": { + "description": "The reasons for the Smart campaign error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "INVALID_BUSINESS_LOCATION_ID", + "INVALID_CAMPAIGN", + "BUSINESS_NAME_OR_BUSINESS_LOCATION_ID_MISSING", + "REQUIRED_SUGGESTION_FIELD_MISSING", + "GEO_TARGETS_REQUIRED", + "CANNOT_DETERMINE_SUGGESTION_LOCALE", + "FINAL_URL_NOT_CRAWLABLE" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "The business location id is invalid.", + "The SmartCampaignSetting resource is only applicable for campaigns with advertising channel type SMART.", + "The business name or business location id is required.", + "A Smart campaign suggestion request field is required.", + "A location list or proximity is required.", + "The locale could not be determined.", + "The final URL could not be crawled." + ], + "type": "string" + }, + "stringFormatError": { + "description": "The reasons for the string format error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ILLEGAL_CHARS", + "INVALID_FORMAT" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "The input string value contains disallowed characters.", + "The input string value is invalid for the associated field." + ], + "type": "string" + }, + "stringLengthError": { + "description": "The reasons for the string length error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "EMPTY", + "TOO_SHORT", + "TOO_LONG" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "The specified field should have a least one non-whitespace character in it.", + "Too short.", + "Too long." + ], + "type": "string" + }, + "thirdPartyAppAnalyticsLinkError": { + "description": "The reasons for the third party app analytics link mutate error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "INVALID_ANALYTICS_PROVIDER_ID", + "INVALID_MOBILE_APP_ID", + "MOBILE_APP_IS_NOT_ENABLED", + "CANNOT_REGENERATE_SHAREABLE_LINK_ID_FOR_REMOVED_LINK" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "The provided analytics provider ID is invalid.", + "The provided mobile app ID is invalid.", + "The mobile app corresponding to the provided app ID is not active/enabled.", + "Regenerating shareable link ID is only allowed on active links" + ], + "type": "string" + }, + "timeZoneError": { + "description": "The reasons for the time zone error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "INVALID_TIME_ZONE" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Time zone is not valid." + ], + "type": "string" + }, + "urlFieldError": { + "description": "An error with a URL field mutate.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "INVALID_TRACKING_URL_TEMPLATE", + "INVALID_TAG_IN_TRACKING_URL_TEMPLATE", + "MISSING_TRACKING_URL_TEMPLATE_TAG", + "MISSING_PROTOCOL_IN_TRACKING_URL_TEMPLATE", + "INVALID_PROTOCOL_IN_TRACKING_URL_TEMPLATE", + "MALFORMED_TRACKING_URL_TEMPLATE", + "MISSING_HOST_IN_TRACKING_URL_TEMPLATE", + "INVALID_TLD_IN_TRACKING_URL_TEMPLATE", + "REDUNDANT_NESTED_TRACKING_URL_TEMPLATE_TAG", + "INVALID_FINAL_URL", + "INVALID_TAG_IN_FINAL_URL", + "REDUNDANT_NESTED_FINAL_URL_TAG", + "MISSING_PROTOCOL_IN_FINAL_URL", + "INVALID_PROTOCOL_IN_FINAL_URL", + "MALFORMED_FINAL_URL", + "MISSING_HOST_IN_FINAL_URL", + "INVALID_TLD_IN_FINAL_URL", + "INVALID_FINAL_MOBILE_URL", + "INVALID_TAG_IN_FINAL_MOBILE_URL", + "REDUNDANT_NESTED_FINAL_MOBILE_URL_TAG", + "MISSING_PROTOCOL_IN_FINAL_MOBILE_URL", + "INVALID_PROTOCOL_IN_FINAL_MOBILE_URL", + "MALFORMED_FINAL_MOBILE_URL", + "MISSING_HOST_IN_FINAL_MOBILE_URL", + "INVALID_TLD_IN_FINAL_MOBILE_URL", + "INVALID_FINAL_APP_URL", + "INVALID_TAG_IN_FINAL_APP_URL", + "REDUNDANT_NESTED_FINAL_APP_URL_TAG", + "MULTIPLE_APP_URLS_FOR_OSTYPE", + "INVALID_OSTYPE", + "INVALID_PROTOCOL_FOR_APP_URL", + "INVALID_PACKAGE_ID_FOR_APP_URL", + "URL_CUSTOM_PARAMETERS_COUNT_EXCEEDS_LIMIT", + "INVALID_CHARACTERS_IN_URL_CUSTOM_PARAMETER_KEY", + "INVALID_CHARACTERS_IN_URL_CUSTOM_PARAMETER_VALUE", + "INVALID_TAG_IN_URL_CUSTOM_PARAMETER_VALUE", + "REDUNDANT_NESTED_URL_CUSTOM_PARAMETER_TAG", + "MISSING_PROTOCOL", + "INVALID_PROTOCOL", + "INVALID_URL", + "DESTINATION_URL_DEPRECATED", + "INVALID_TAG_IN_URL", + "MISSING_URL_TAG", + "DUPLICATE_URL_ID", + "INVALID_URL_ID", + "FINAL_URL_SUFFIX_MALFORMED", + "INVALID_TAG_IN_FINAL_URL_SUFFIX", + "INVALID_TOP_LEVEL_DOMAIN", + "MALFORMED_TOP_LEVEL_DOMAIN", + "MALFORMED_URL", + "MISSING_HOST", + "NULL_CUSTOM_PARAMETER_VALUE", + "VALUE_TRACK_PARAMETER_NOT_SUPPORTED", + "UNSUPPORTED_APP_STORE" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "The tracking url template is invalid.", + "The tracking url template contains invalid tag.", + "The tracking url template must contain at least one tag (for example, {lpurl}), This applies only to tracking url template associated with website ads or product ads.", + "The tracking url template must start with a valid protocol (or lpurl tag).", + "The tracking url template starts with an invalid protocol.", + "The tracking url template contains illegal characters.", + "The tracking url template must contain a host name (or lpurl tag).", + "The tracking url template has an invalid or missing top level domain extension.", + "The tracking url template contains nested occurrences of the same conditional tag (for example, {ifmobile:{ifmobile:x}}).", + "The final url is invalid.", + "The final url contains invalid tag.", + "The final url contains nested occurrences of the same conditional tag (for example, {ifmobile:{ifmobile:x}}).", + "The final url must start with a valid protocol.", + "The final url starts with an invalid protocol.", + "The final url contains illegal characters.", + "The final url must contain a host name.", + "The tracking url template has an invalid or missing top level domain extension.", + "The final mobile url is invalid.", + "The final mobile url contains invalid tag.", + "The final mobile url contains nested occurrences of the same conditional tag (for example, {ifmobile:{ifmobile:x}}).", + "The final mobile url must start with a valid protocol.", + "The final mobile url starts with an invalid protocol.", + "The final mobile url contains illegal characters.", + "The final mobile url must contain a host name.", + "The tracking url template has an invalid or missing top level domain extension.", + "The final app url is invalid.", + "The final app url contains invalid tag.", + "The final app url contains nested occurrences of the same conditional tag (for example, {ifmobile:{ifmobile:x}}).", + "More than one app url found for the same OS type.", + "The OS type given for an app url is not valid.", + "The protocol given for an app url is not valid. (For example, \"android-app://\")", + "The package id (app id) given for an app url is not valid.", + "The number of url custom parameters for an resource exceeds the maximum limit allowed.", + "An invalid character appears in the parameter key.", + "An invalid character appears in the parameter value.", + "The url custom parameter value fails url tag validation.", + "The custom parameter contains nested occurrences of the same conditional tag (for example, {ifmobile:{ifmobile:x}}).", + "The protocol (http:// or https://) is missing.", + "Unsupported protocol in URL. Only http and https are supported.", + "The url is invalid.", + "Destination Url is deprecated.", + "The url contains invalid tag.", + "The url must contain at least one tag (for example, {lpurl}).", + "Duplicate url id.", + "Invalid url id.", + "The final url suffix cannot begin with '?' or '&' characters and must be a valid query string.", + "The final url suffix cannot contain {lpurl} related or {ignore} tags.", + "The top level domain is invalid, for example, not a public top level domain listed in publicsuffix.org.", + "Malformed top level domain in URL.", + "Malformed URL.", + "No host found in URL.", + "Custom parameter value cannot be null.", + "Track parameter is not supported.", + "The app store connected to the url is not supported." + ], + "type": "string" + }, + "userDataError": { + "description": "The reasons for the user data error.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "OPERATIONS_FOR_CUSTOMER_MATCH_NOT_ALLOWED", + "TOO_MANY_USER_IDENTIFIERS", + "USER_LIST_NOT_APPLICABLE" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Customer is not allowed to perform operations related to Customer Match.", + "Maximum number of user identifiers allowed for each request is 100 and for each operation is 20.", + "Current user list is not applicable for the given customer." + ], + "type": "string" + }, + "userListCustomerTypeError": { + "description": "The reasons for a user list customer type error.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CONFLICTING_CUSTOMER_TYPES", + "NO_ACCESS_TO_USER_LIST", + "USERLIST_NOT_ELIGIBLE", + "CONVERSION_TRACKING_NOT_ENABLED_OR_NOT_MCC_MANAGER_ACCOUNT", + "TOO_MANY_USER_LISTS_FOR_THE_CUSTOMER_TYPE" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Cannot add the conflicting customer types to the same user list. Conflicting labels: 1. Purchasers - Converted Leads 2. Purchasers - Qualified Leads 3. Purchasers - Cart Abandoners 4. Qualified Leads - Converted Leads 5. Disengaged customers - Converted Leads 6. Disengaged customers - Qualified Leads 7. Disengaged customers - Cart Abandoners 8. Converted Leads - Loyalty Tier X Members (X = 1..7) 9. Qualified Leads - Loyalty Tier X Members (X = 1..7) 10. Loyalty Tier X Members - Loyalty Tier Y Members (X != Y)", + "The account does not have access to the user list.", + "The given user list is not eligible for applying customer types. The user list must belong to one of the following types: CRM_BASED, RULE_BASED, ADVERTISER_DATA_MODEL_BASED, GCN.", + "To edit the user list customer type, conversion tracking must be enabled in your account. If cross-tracking is enabled, your account must be a MCC manager account to modify user list customer types. More info at https://support.google.com/google-ads/answer/3030657", + "Too many user lists for the customer type." + ], + "type": "string" + }, + "userListError": { + "description": "The reasons for the user list error", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "EXTERNAL_REMARKETING_USER_LIST_MUTATE_NOT_SUPPORTED", + "CONCRETE_TYPE_REQUIRED", + "CONVERSION_TYPE_ID_REQUIRED", + "DUPLICATE_CONVERSION_TYPES", + "INVALID_CONVERSION_TYPE", + "INVALID_DESCRIPTION", + "INVALID_NAME", + "INVALID_TYPE", + "CAN_NOT_ADD_LOGICAL_LIST_AS_LOGICAL_LIST_OPERAND", + "INVALID_USER_LIST_LOGICAL_RULE_OPERAND", + "NAME_ALREADY_USED", + "NEW_CONVERSION_TYPE_NAME_REQUIRED", + "CONVERSION_TYPE_NAME_ALREADY_USED", + "OWNERSHIP_REQUIRED_FOR_SET", + "USER_LIST_MUTATE_NOT_SUPPORTED", + "INVALID_RULE", + "INVALID_DATE_RANGE", + "CAN_NOT_MUTATE_SENSITIVE_USERLIST", + "MAX_NUM_RULEBASED_USERLISTS", + "CANNOT_MODIFY_BILLABLE_RECORD_COUNT", + "APP_ID_NOT_SET", + "USERLIST_NAME_IS_RESERVED_FOR_SYSTEM_LIST", + "ADVERTISER_NOT_ON_ALLOWLIST_FOR_USING_UPLOADED_DATA", + "RULE_TYPE_IS_NOT_SUPPORTED", + "CAN_NOT_ADD_A_SIMILAR_USERLIST_AS_LOGICAL_LIST_OPERAND", + "CAN_NOT_MIX_CRM_BASED_IN_LOGICAL_LIST_WITH_OTHER_LISTS", + "APP_ID_NOT_ALLOWED", + "CANNOT_MUTATE_SYSTEM_LIST", + "MOBILE_APP_IS_SENSITIVE", + "SEED_LIST_DOES_NOT_EXIST", + "INVALID_SEED_LIST_ACCESS_REASON", + "INVALID_SEED_LIST_TYPE", + "INVALID_COUNTRY_CODES", + "PARTNER_AUDIENCE_SOURCE_NOT_SUPPORTED_FOR_USER_LIST_TYPE", + "COMMERCE_PARTNER_NOT_ALLOWED", + "PARTNER_AUDIENCE_INFO_NOT_SUPPORTED_FOR_USER_LIST_TYPE", + "PARTNER_MANAGER_ACCOUNT_DISALLOWED", + "PARTNER_NOT_ALLOWLISTED_FOR_THIRD_PARTY_PARTNER_DATA", + "ADVERTISER_TOS_NOT_ACCEPTED", + "ADVERTISER_PARTNER_LINK_MISSING", + "ADVERTISER_NOT_ALLOWLISTED_FOR_THIRD_PARTY_PARTNER_DATA", + "ACCOUNT_SETTING_TYPE_NOT_ALLOWED" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Creating and updating external remarketing user lists is not supported.", + "Concrete type of user list is required.", + "Creating/updating user list conversion types requires specifying the conversion type Id.", + "Remarketing user list cannot have duplicate conversion types.", + "Conversion type is invalid/unknown.", + "User list description is empty or invalid.", + "User list name is empty or invalid.", + "Type of the UserList does not match.", + "Embedded logical user lists are not allowed.", + "User list rule operand is invalid.", + "Name is already being used for another user list for the account.", + "Name is required when creating a new conversion type.", + "The given conversion type name has been used.", + "Only an owner account may edit a user list.", + "Creating user list without setting type in oneof user_list field, or creating/updating read-only user list types is not allowed.", + "Rule is invalid.", + "The specified date range is empty.", + "A UserList which is privacy sensitive or legal rejected cannot be mutated by external users.", + "Maximum number of rulebased user lists a customer can have.", + "BasicUserList's billable record field cannot be modified once it is set.", + "crm_based_user_list.app_id field must be set when upload_key_type is MOBILE_ADVERTISING_ID.", + "Name of the user list is reserved for system generated lists and cannot be used.", + "Advertiser needs to be on the allow-list to use remarketing lists created from advertiser uploaded data (for example, Customer Match lists).", + "The provided rule_type is not supported for the user list.", + "Similar user list cannot be used as a logical user list operand.", + "Logical user list should not have a mix of CRM based user list and other types of lists in its rules.", + "crm_based_user_list.app_id field can only be set when upload_key_type is MOBILE_ADVERTISING_ID.", + "Google system generated user lists cannot be mutated.", + "The mobile app associated with the remarketing list is sensitive.", + "One or more given seed lists do not exist.", + "One or more given seed lists are not accessible to the current user.", + "One or more given seed lists have an unsupported type.", + "One or more invalid country codes are added to Lookalike UserList.", + "The partner audience source is not supported for the user list type.", + "The commerce partner is only supported for COMMERCE_AUDIENCE.", + "The partner audience info is not supported for the user list type.", + "Manager account is not allowed to create this UserList.", + "This UserList can only be created by allowlisted partners.", + "The advertiser must accept the Terms of Service to create this UserList.", + "The advertiser must have an active link to the partner to create this UserList.", + "This UserList can only be created for allowlisted advertisers.", + "This UserList is not allowed for this account type." + ], + "type": "string" + }, + "videoCampaignError": { + "description": "An error with a Video Campaign mutate.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "MUTATE_REQUIRES_RESERVATION" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Cannot modify the video campaign without reservation. See https://support.google.com/google-ads/answer/9547606." + ], + "type": "string" + }, + "youtubeVideoRegistrationError": { + "description": "The reasons for YouTube video registration errors.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "VIDEO_NOT_FOUND", + "VIDEO_NOT_ACCESSIBLE", + "VIDEO_NOT_ELIGIBLE" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Video to be registered wasn't found.", + "Video to be registered is not accessible (for example, private).", + "Video to be registered is not eligible (for example, mature content)." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Errors__ErrorDetails": { + "description": "Additional error details.", + "id": "GoogleAdsSearchads360V23Errors__ErrorDetails", + "properties": { + "budgetPerDayMinimumErrorDetails": { + "$ref": "GoogleAdsSearchads360V23Errors__BudgetPerDayMinimumErrorDetails", + "description": "Details for a budget below per-day minimum error." + }, + "policyFindingDetails": { + "$ref": "GoogleAdsSearchads360V23Errors__PolicyFindingDetails", + "description": "Describes policy violation findings." + }, + "policyViolationDetails": { + "$ref": "GoogleAdsSearchads360V23Errors__PolicyViolationDetails", + "description": "Describes an ad policy violation." + }, + "quotaErrorDetails": { + "$ref": "GoogleAdsSearchads360V23Errors__QuotaErrorDetails", + "description": "Details on the quota error, including the scope (account or developer), the rate bucket name and the retry delay." + }, + "resourceCountDetails": { + "$ref": "GoogleAdsSearchads360V23Errors__ResourceCountDetails", + "description": "Details for a resource count limit exceeded error." + }, + "unpublishedErrorCode": { + "description": "The error code that should have been returned, but wasn't. This is used when the error code is not published in the client specified version.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Errors__ErrorLocation": { + "description": "Describes the part of the request proto that caused the error.", + "id": "GoogleAdsSearchads360V23Errors__ErrorLocation", + "properties": { + "fieldPathElements": { + "description": "A field path that indicates which field was invalid in the request.", + "items": { + "$ref": "GoogleAdsSearchads360V23Errors_ErrorLocation_FieldPathElement" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Errors__PolicyFindingDetails": { + "description": "Error returned as part of a mutate response. This error indicates one or more policy findings in the fields of a resource.", + "id": "GoogleAdsSearchads360V23Errors__PolicyFindingDetails", + "properties": { + "policyTopicEntries": { + "description": "The list of policy topics for the resource. Contains the PROHIBITED or FULLY_LIMITED policy topic entries that prevented the resource from being saved (among any other entries the resource may also have).", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__PolicyTopicEntry" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Errors__PolicyViolationDetails": { + "description": "Error returned as part of a mutate response. This error indicates single policy violation by some text in one of the fields.", + "id": "GoogleAdsSearchads360V23Errors__PolicyViolationDetails", + "properties": { + "externalPolicyDescription": { + "description": "Human readable description of policy violation.", + "type": "string" + }, + "externalPolicyName": { + "description": "Human readable name of the policy.", + "type": "string" + }, + "isExemptible": { + "description": "Whether user can file an exemption request for this violation.", + "type": "boolean" + }, + "key": { + "$ref": "GoogleAdsSearchads360V23Common__PolicyViolationKey", + "description": "Unique identifier for this violation. If policy is exemptible, this key may be used to request exemption." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Errors__QuotaErrorDetails": { + "description": "Additional quota error details when there is QuotaError.", + "id": "GoogleAdsSearchads360V23Errors__QuotaErrorDetails", + "properties": { + "rateName": { + "description": "The high level description of the quota bucket. Examples are \"Get requests for standard access\" or \"Requests per account\".", + "type": "string" + }, + "rateScope": { + "description": "The rate scope of the quota limit.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ACCOUNT", + "DEVELOPER" + ], + "enumDescriptions": [ + "Unspecified enum", + "Used for return value only. Represents value unknown in this version.", + "Per customer account quota", + "Per project quota" + ], + "type": "string" + }, + "retryDelay": { + "description": "Backoff period that customers should wait before sending next request.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Errors__ResourceCountDetails": { + "description": "Error details returned when an resource count limit was exceeded.", + "id": "GoogleAdsSearchads360V23Errors__ResourceCountDetails", + "properties": { + "enclosingId": { + "description": "The ID of the resource whose limit was exceeded. External customer ID if the limit is for a customer.", + "type": "string" + }, + "enclosingResource": { + "description": "The name of the resource ( etc.) whose limit was exceeded.", + "type": "string" + }, + "existingCount": { + "description": "The count of existing entities.", + "format": "int32", + "type": "integer" + }, + "limit": { + "description": "The limit which was exceeded.", + "format": "int32", + "type": "integer" + }, + "limitType": { + "description": "The resource limit type which was exceeded.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CAMPAIGNS_PER_CUSTOMER", + "BASE_CAMPAIGNS_PER_CUSTOMER", + "EXPERIMENT_CAMPAIGNS_PER_CUSTOMER", + "HOTEL_CAMPAIGNS_PER_CUSTOMER", + "SMART_SHOPPING_CAMPAIGNS_PER_CUSTOMER", + "AD_GROUPS_PER_CAMPAIGN", + "AD_GROUPS_PER_SHOPPING_CAMPAIGN", + "AD_GROUPS_PER_HOTEL_CAMPAIGN", + "REPORTING_AD_GROUPS_PER_LOCAL_CAMPAIGN", + "REPORTING_AD_GROUPS_PER_APP_CAMPAIGN", + "MANAGED_AD_GROUPS_PER_SMART_CAMPAIGN", + "AD_GROUP_CRITERIA_PER_CUSTOMER", + "BASE_AD_GROUP_CRITERIA_PER_CUSTOMER", + "EXPERIMENT_AD_GROUP_CRITERIA_PER_CUSTOMER", + "AD_GROUP_CRITERIA_PER_CAMPAIGN", + "CAMPAIGN_CRITERIA_PER_CUSTOMER", + "BASE_CAMPAIGN_CRITERIA_PER_CUSTOMER", + "EXPERIMENT_CAMPAIGN_CRITERIA_PER_CUSTOMER", + "WEBPAGE_CRITERIA_PER_CUSTOMER", + "BASE_WEBPAGE_CRITERIA_PER_CUSTOMER", + "EXPERIMENT_WEBPAGE_CRITERIA_PER_CUSTOMER", + "COMBINED_AUDIENCE_CRITERIA_PER_AD_GROUP", + "CUSTOMER_NEGATIVE_PLACEMENT_CRITERIA_PER_CUSTOMER", + "CUSTOMER_NEGATIVE_YOUTUBE_CHANNEL_CRITERIA_PER_CUSTOMER", + "CRITERIA_PER_AD_GROUP", + "LISTING_GROUPS_PER_AD_GROUP", + "EXPLICITLY_SHARED_BUDGETS_PER_CUSTOMER", + "IMPLICITLY_SHARED_BUDGETS_PER_CUSTOMER", + "COMBINED_AUDIENCE_CRITERIA_PER_CAMPAIGN", + "NEGATIVE_KEYWORDS_PER_CAMPAIGN", + "NEGATIVE_PLACEMENTS_PER_CAMPAIGN", + "GEO_TARGETS_PER_CAMPAIGN", + "NEGATIVE_IP_BLOCKS_PER_CAMPAIGN", + "PROXIMITIES_PER_CAMPAIGN", + "LISTING_SCOPES_PER_SHOPPING_CAMPAIGN", + "LISTING_SCOPES_PER_NON_SHOPPING_CAMPAIGN", + "NEGATIVE_KEYWORDS_PER_SHARED_SET", + "NEGATIVE_PLACEMENTS_PER_SHARED_SET", + "SHARED_SETS_PER_CUSTOMER_FOR_TYPE_DEFAULT", + "SHARED_SETS_PER_CUSTOMER_FOR_NEGATIVE_PLACEMENT_LIST_LOWER", + "HOTEL_ADVANCE_BOOKING_WINDOW_BID_MODIFIERS_PER_AD_GROUP", + "BIDDING_STRATEGIES_PER_CUSTOMER", + "BASIC_USER_LISTS_PER_CUSTOMER", + "LOGICAL_USER_LISTS_PER_CUSTOMER", + "RULE_BASED_USER_LISTS_PER_CUSTOMER", + "BASE_AD_GROUP_ADS_PER_CUSTOMER", + "EXPERIMENT_AD_GROUP_ADS_PER_CUSTOMER", + "AD_GROUP_ADS_PER_CAMPAIGN", + "TEXT_AND_OTHER_ADS_PER_AD_GROUP", + "IMAGE_ADS_PER_AD_GROUP", + "SHOPPING_SMART_ADS_PER_AD_GROUP", + "RESPONSIVE_SEARCH_ADS_PER_AD_GROUP", + "APP_ADS_PER_AD_GROUP", + "APP_ENGAGEMENT_ADS_PER_AD_GROUP", + "LOCAL_ADS_PER_AD_GROUP", + "VIDEO_ADS_PER_AD_GROUP", + "LEAD_FORM_CAMPAIGN_ASSETS_PER_CAMPAIGN", + "PROMOTION_CUSTOMER_ASSETS_PER_CUSTOMER", + "PROMOTION_CAMPAIGN_ASSETS_PER_CAMPAIGN", + "PROMOTION_AD_GROUP_ASSETS_PER_AD_GROUP", + "CALLOUT_CUSTOMER_ASSETS_PER_CUSTOMER", + "CALLOUT_CAMPAIGN_ASSETS_PER_CAMPAIGN", + "CALLOUT_AD_GROUP_ASSETS_PER_AD_GROUP", + "SITELINK_CUSTOMER_ASSETS_PER_CUSTOMER", + "SITELINK_CAMPAIGN_ASSETS_PER_CAMPAIGN", + "SITELINK_AD_GROUP_ASSETS_PER_AD_GROUP", + "STRUCTURED_SNIPPET_CUSTOMER_ASSETS_PER_CUSTOMER", + "STRUCTURED_SNIPPET_CAMPAIGN_ASSETS_PER_CAMPAIGN", + "STRUCTURED_SNIPPET_AD_GROUP_ASSETS_PER_AD_GROUP", + "MOBILE_APP_CUSTOMER_ASSETS_PER_CUSTOMER", + "MOBILE_APP_CAMPAIGN_ASSETS_PER_CAMPAIGN", + "MOBILE_APP_AD_GROUP_ASSETS_PER_AD_GROUP", + "HOTEL_CALLOUT_CUSTOMER_ASSETS_PER_CUSTOMER", + "HOTEL_CALLOUT_CAMPAIGN_ASSETS_PER_CAMPAIGN", + "HOTEL_CALLOUT_AD_GROUP_ASSETS_PER_AD_GROUP", + "CALL_CUSTOMER_ASSETS_PER_CUSTOMER", + "CALL_CAMPAIGN_ASSETS_PER_CAMPAIGN", + "CALL_AD_GROUP_ASSETS_PER_AD_GROUP", + "PRICE_CUSTOMER_ASSETS_PER_CUSTOMER", + "PRICE_CAMPAIGN_ASSETS_PER_CAMPAIGN", + "PRICE_AD_GROUP_ASSETS_PER_AD_GROUP", + "AD_IMAGE_CAMPAIGN_ASSETS_PER_CAMPAIGN", + "AD_IMAGE_AD_GROUP_ASSETS_PER_AD_GROUP", + "PAGE_FEED_ASSET_SETS_PER_CUSTOMER", + "DYNAMIC_EDUCATION_FEED_ASSET_SETS_PER_CUSTOMER", + "ASSETS_PER_PAGE_FEED_ASSET_SET", + "ASSETS_PER_DYNAMIC_EDUCATION_FEED_ASSET_SET", + "DYNAMIC_REAL_ESTATE_ASSET_SETS_PER_CUSTOMER", + "ASSETS_PER_DYNAMIC_REAL_ESTATE_ASSET_SET", + "DYNAMIC_CUSTOM_ASSET_SETS_PER_CUSTOMER", + "ASSETS_PER_DYNAMIC_CUSTOM_ASSET_SET", + "DYNAMIC_HOTELS_AND_RENTALS_ASSET_SETS_PER_CUSTOMER", + "ASSETS_PER_DYNAMIC_HOTELS_AND_RENTALS_ASSET_SET", + "DYNAMIC_LOCAL_ASSET_SETS_PER_CUSTOMER", + "ASSETS_PER_DYNAMIC_LOCAL_ASSET_SET", + "DYNAMIC_FLIGHTS_ASSET_SETS_PER_CUSTOMER", + "ASSETS_PER_DYNAMIC_FLIGHTS_ASSET_SET", + "DYNAMIC_TRAVEL_ASSET_SETS_PER_CUSTOMER", + "ASSETS_PER_DYNAMIC_TRAVEL_ASSET_SET", + "DYNAMIC_JOBS_ASSET_SETS_PER_CUSTOMER", + "ASSETS_PER_DYNAMIC_JOBS_ASSET_SET", + "BUSINESS_NAME_CAMPAIGN_ASSETS_PER_CAMPAIGN", + "BUSINESS_LOGO_CAMPAIGN_ASSETS_PER_CAMPAIGN", + "VERSIONS_PER_AD", + "USER_FEEDS_PER_CUSTOMER", + "SYSTEM_FEEDS_PER_CUSTOMER", + "FEED_ATTRIBUTES_PER_FEED", + "FEED_ITEMS_PER_CUSTOMER", + "CAMPAIGN_FEEDS_PER_CUSTOMER", + "BASE_CAMPAIGN_FEEDS_PER_CUSTOMER", + "EXPERIMENT_CAMPAIGN_FEEDS_PER_CUSTOMER", + "AD_GROUP_FEEDS_PER_CUSTOMER", + "BASE_AD_GROUP_FEEDS_PER_CUSTOMER", + "EXPERIMENT_AD_GROUP_FEEDS_PER_CUSTOMER", + "AD_GROUP_FEEDS_PER_CAMPAIGN", + "FEED_ITEM_SETS_PER_CUSTOMER", + "FEED_ITEMS_PER_FEED_ITEM_SET", + "CAMPAIGN_EXPERIMENTS_PER_CUSTOMER", + "EXPERIMENT_ARMS_PER_VIDEO_EXPERIMENT", + "OWNED_LABELS_PER_CUSTOMER", + "LABELS_PER_CAMPAIGN", + "LABELS_PER_AD_GROUP", + "LABELS_PER_AD_GROUP_AD", + "LABELS_PER_AD_GROUP_CRITERION", + "TARGET_CUSTOMERS_PER_LABEL", + "KEYWORD_PLANS_PER_USER_PER_CUSTOMER", + "KEYWORD_PLAN_AD_GROUP_KEYWORDS_PER_KEYWORD_PLAN", + "KEYWORD_PLAN_AD_GROUPS_PER_KEYWORD_PLAN", + "KEYWORD_PLAN_NEGATIVE_KEYWORDS_PER_KEYWORD_PLAN", + "KEYWORD_PLAN_CAMPAIGNS_PER_KEYWORD_PLAN", + "CONVERSION_ACTIONS_PER_CUSTOMER", + "BATCH_JOB_OPERATIONS_PER_JOB", + "BATCH_JOBS_PER_CUSTOMER", + "HOTEL_CHECK_IN_DATE_RANGE_BID_MODIFIERS_PER_AD_GROUP", + "SHARED_SETS_PER_ACCOUNT_FOR_ACCOUNT_LEVEL_NEGATIVE_KEYWORDS", + "ACCOUNT_LEVEL_NEGATIVE_KEYWORDS_PER_SHARED_SET", + "ENABLED_ASSET_PER_HOTEL_PROPERTY_ASSET_SET", + "ENABLED_HOTEL_PROPERTY_ASSET_LINKS_PER_ASSET_GROUP", + "BRANDS_PER_SHARED_SET", + "ENABLED_BRAND_LIST_CRITERIA_PER_CAMPAIGN", + "SHARED_SETS_PER_ACCOUNT_FOR_BRAND", + "LOOKALIKE_USER_LISTS_PER_CUSTOMER", + "LOGO_CAMPAIGN_ASSETS_PER_CAMPAIGN", + "BUSINESS_MESSAGE_ASSET_LINKS_PER_CUSTOMER", + "WHATSAPP_BUSINESS_MESSAGE_ASSET_LINKS_PER_CAMPAIGN", + "WHATSAPP_BUSINESS_MESSAGE_ASSET_LINKS_PER_AD_GROUP", + "BRAND_LIST_CRITERIA_PER_AD_GROUP" + ], + "enumDescriptions": [ + "No value has been specified.", + "Used for return value only. Represents an unclassified operation unknown in this version.", + "Number of ENABLED and PAUSED campaigns per customer.", + "Number of ENABLED and PAUSED base campaigns per customer.", + "Number of ENABLED and PAUSED experiment campaigns per customer.", + "Number of ENABLED and PAUSED Hotel campaigns per customer.", + "Number of ENABLED and PAUSED Smart Shopping campaigns per customer.", + "Number of ENABLED ad groups per campaign.", + "Number of ENABLED ad groups per Shopping campaign.", + "Number of ENABLED ad groups per Hotel campaign.", + "Number of ENABLED reporting ad groups per local campaign.", + "Number of ENABLED reporting ad groups per App campaign. It includes app campaign and app campaign for engagement.", + "Number of ENABLED managed ad groups per smart campaign.", + "Number of ENABLED ad group criteria per customer. An ad group criterion is considered as ENABLED if: 1. it's not REMOVED 2. its ad group is not REMOVED 3. its campaign is not REMOVED.", + "Number of ad group criteria across all base campaigns for a customer.", + "Number of ad group criteria across all experiment campaigns for a customer.", + "Number of ENABLED ad group criteria per campaign. An ad group criterion is considered as ENABLED if: 1. it's not REMOVED 2. its ad group is not REMOVED.", + "Number of ENABLED campaign criteria per customer.", + "Number of ENABLED campaign criteria across all base campaigns for a customer.", + "Number of ENABLED campaign criteria across all experiment campaigns for a customer.", + "Number of ENABLED webpage criteria per customer, including campaign level and ad group level.", + "Number of ENABLED webpage criteria across all base campaigns for a customer.", + "Meximum number of ENABLED webpage criteria across all experiment campaigns for a customer.", + "Number of combined audience criteria per ad group.", + "Limit for placement criterion type group in customer negative criterion.", + "Limit for YouTube TV channels in customer negative criterion.", + "Number of ENABLED criteria per ad group.", + "Number of listing group criteria per ad group.", + "Number of ENABLED explicitly shared budgets per customer.", + "Number of ENABLED implicitly shared budgets per customer.", + "Number of combined audience criteria per campaign.", + "Number of negative keywords per campaign.", + "Number of excluded campaign criteria in placement dimension, for example, placement, mobile application, YouTube channel, etc. The API criterion type is NOT limited to placement only, and this does not include exclusions at the ad group or other levels.", + "Number of geo targets per campaign.", + "Number of negative IP blocks per campaign.", + "Number of proximity targets per campaign.", + "Number of listing scopes per Shopping campaign.", + "Number of listing scopes per non-Shopping campaign.", + "Number of criteria per negative keyword shared set.", + "Number of criteria per negative placement shared set.", + "Default number of shared sets allowed per type per customer.", + "Number of shared sets of negative placement list type for a manager customer.", + "Number of hotel_advance_booking_window bid modifiers per ad group.", + "Number of ENABLED shared bidding strategies per customer.", + "Number of open basic user lists per customer.", + "Number of open logical user lists per customer.", + "Number of open rule based user lists per customer.", + "Number of ENABLED and PAUSED ad group ads across all base campaigns for a customer.", + "Number of ENABLED and PAUSED ad group ads across all experiment campaigns for a customer.", + "Number of ENABLED and PAUSED ad group ads per campaign.", + "Number of ENABLED ads per ad group that do not fall in to other buckets. Includes text and many other types.", + "Number of ENABLED image ads per ad group.", + "Number of ENABLED shopping smart ads per ad group.", + "Number of ENABLED responsive search ads per ad group.", + "Number of ENABLED app ads per ad group.", + "Number of ENABLED app engagement ads per ad group.", + "Number of ENABLED local ads per ad group.", + "Number of ENABLED video ads per ad group.", + "Number of ENABLED lead form CampaignAssets per campaign.", + "Number of ENABLED promotion CustomerAssets per customer.", + "Number of ENABLED promotion CampaignAssets per campaign.", + "Number of ENABLED promotion AdGroupAssets per ad group.", + "Number of ENABLED callout CustomerAssets per customer.", + "Number of ENABLED callout CampaignAssets per campaign.", + "Number of ENABLED callout AdGroupAssets per ad group.", + "Number of ENABLED sitelink CustomerAssets per customer.", + "Number of ENABLED sitelink CampaignAssets per campaign.", + "Number of ENABLED sitelink AdGroupAssets per ad group.", + "Number of ENABLED structured snippet CustomerAssets per customer.", + "Number of ENABLED structured snippet CampaignAssets per campaign.", + "Number of ENABLED structured snippet AdGroupAssets per ad group.", + "Number of ENABLED mobile app CustomerAssets per customer.", + "Number of ENABLED mobile app CampaignAssets per campaign.", + "Number of ENABLED mobile app AdGroupAssets per ad group.", + "Number of ENABLED hotel callout CustomerAssets per customer.", + "Number of ENABLED hotel callout CampaignAssets per campaign.", + "Number of ENABLED hotel callout AdGroupAssets per ad group.", + "Number of ENABLED call CustomerAssets per customer.", + "Number of ENABLED call CampaignAssets per campaign.", + "Number of ENABLED call AdGroupAssets per ad group.", + "Number of ENABLED price CustomerAssets per customer.", + "Number of ENABLED price CampaignAssets per campaign.", + "Number of ENABLED price AdGroupAssets per ad group.", + "Number of ENABLED ad image CampaignAssets per campaign.", + "Number of ENABLED ad image AdGroupAssets per ad group.", + "Number of ENABLED page feed asset sets per customer.", + "Number of ENABLED dynamic education feed asset sets per customer.", + "Number of ENABLED assets per page feed asset set.", + "Number of ENABLED assets per dynamic education asset set.", + "Number of ENABLED dynamic real estate asset sets per customer.", + "Number of ENABLED assets per dynamic real estate asset set.", + "Number of ENABLED dynamic custom asset sets per customer.", + "Number of ENABLED assets per dynamic custom asset set.", + "Number of ENABLED dynamic hotels and rentals asset sets per customer.", + "Number of ENABLED assets per dynamic hotels and rentals asset set.", + "Number of ENABLED dynamic local asset sets per customer.", + "Number of ENABLED assets per dynamic local asset set.", + "Number of ENABLED dynamic flights asset sets per customer.", + "Number of ENABLED assets per dynamic flights asset set.", + "Number of ENABLED dynamic travel asset sets per customer.", + "Number of ENABLED assets per dynamic travel asset set.", + "Number of ENABLED dynamic jobs asset sets per customer.", + "Number of ENABLED assets per dynamic jobs asset set.", + "Number of ENABLED business name CampaignAssets per campaign.", + "Number of ENABLED business logo CampaignAssets per campaign.", + "Number of versions per ad.", + "Number of ENABLED user feeds per customer.", + "Number of ENABLED system feeds per customer.", + "Number of feed attributes per feed.", + "Number of ENABLED feed items per customer.", + "Number of ENABLED campaign feeds per customer.", + "Number of ENABLED campaign feeds across all base campaigns for a customer.", + "Number of ENABLED campaign feeds across all experiment campaigns for a customer.", + "Number of ENABLED ad group feeds per customer.", + "Number of ENABLED ad group feeds across all base campaigns for a customer.", + "Number of ENABLED ad group feeds across all experiment campaigns for a customer.", + "Number of ENABLED ad group feeds per campaign.", + "Number of ENABLED feed items per customer.", + "Number of feed items per feed item set.", + "Number of ENABLED campaign experiments per customer.", + "Number of video experiment arms per experiment.", + "Number of owned labels per customer.", + "Number of applied labels per campaign.", + "Number of applied labels per ad group.", + "Number of applied labels per ad group ad.", + "Number of applied labels per ad group criterion.", + "Number of customers with a single label applied.", + "Number of ENABLED keyword plans per user per customer. The limit is applied per pair because by default a plan is private to a user of a customer. Each user of a customer has their own independent limit.", + "Number of keyword plan ad group keywords per keyword plan.", + "Number of keyword plan ad groups per keyword plan.", + "Number of keyword plan negative keywords (both campaign and ad group) per keyword plan.", + "Number of keyword plan campaigns per keyword plan.", + "Number of ENABLED conversion actions per customer.", + "Number of operations in a single batch job.", + "Number of PENDING or ENABLED batch jobs per customer.", + "Number of hotel check-in date range bid modifiers per ad agroup.", + "Number of shared sets of type ACCOUNT_LEVEL_NEGATIVE_KEYWORDS per account.", + "Number of keywords per ACCOUNT_LEVEL_NEGATIVE_KEYWORDS shared set.", + "Maximum number of asset per hotel property asset set.", + "Maximum number of enabled hotel property assets per asset group.", + "Number of criteria per brand shared set.", + "Number of active brand list criteria per campaign.", + "Maximum number of shared sets of brand type for an account.", + "Maximum number of lookalike lists per customer.", + "Total number of enabled IMAGE CampaignAssets with LOGO and LANDSCAPE_LOGO field types per campaign.", + "Maximum number of active business message asset links at customer level.", + "Maximum number of active WhatsApp business message asset links at campaign level.", + "Maximum number of active WhatsApp business message asset links at ad group level.", + "Number of ENABLED brand list criteria per ad group." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Errors__SearchAds360Error": { + "description": "Search Ads 360-specific error.", + "id": "GoogleAdsSearchads360V23Errors__SearchAds360Error", + "properties": { + "details": { + "$ref": "GoogleAdsSearchads360V23Errors__ErrorDetails", + "description": "Additional error details, which are returned by certain error codes. Most error codes do not include details." + }, + "errorCode": { + "$ref": "GoogleAdsSearchads360V23Errors__ErrorCode", + "description": "An enum value that indicates which error occurred." + }, + "location": { + "$ref": "GoogleAdsSearchads360V23Errors__ErrorLocation", + "description": "Describes the part of the request proto that caused the error." + }, + "message": { + "description": "A human-readable description of the error.", + "type": "string" + }, + "trigger": { + "$ref": "GoogleAdsSearchads360V23Common__Value", + "description": "The value that triggered the error." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Errors__SearchAds360Failure": { + "description": "Describes how a Search Ads 360 API call failed. It's returned inside google.rpc.Status.details when a call fails.", + "id": "GoogleAdsSearchads360V23Errors__SearchAds360Failure", + "properties": { + "errors": { + "description": "The list of errors that occurred.", + "items": { + "$ref": "GoogleAdsSearchads360V23Errors__SearchAds360Error" + }, + "type": "array" + }, + "requestId": { + "description": "The unique ID of the request that is used for debugging purposes.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_MaximizeConversionValue": { + "description": "An automated bidding strategy to help get the most conversion value for your campaigns while spending your budget.", + "id": "GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_MaximizeConversionValue", + "properties": { + "targetRoas": { + "description": "Output only. The target return on ad spend (ROAS) option. If set, the bid strategy will maximize revenue while averaging the target return on ad spend. If the target ROAS is high, the bid strategy may not be able to spend the full budget. If the target ROAS is not set, the bid strategy will aim to achieve the highest possible ROAS for the budget.", + "format": "double", + "readOnly": true, + "type": "number" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_MaximizeConversions": { + "description": "An automated bidding strategy to help get the most conversions for your campaigns while spending your budget.", + "id": "GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_MaximizeConversions", + "properties": { + "targetCpaMicros": { + "description": "Output only. The target cost per acquisition (CPA) option. This is the average amount that you would like to spend per acquisition.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_TargetCpa": { + "description": "An automated bid strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set.", + "id": "GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_TargetCpa", + "properties": { + "targetCpaMicros": { + "description": "Output only. Average CPA target. This target should be greater than or equal to minimum billable unit based on the currency for the account.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_TargetImpressionShare": { + "description": "An automated bidding strategy that sets bids so that a certain percentage of search ads are shown at the top of the first page (or other targeted location).", + "id": "GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_TargetImpressionShare", + "properties": { + "cpcBidCeilingMicros": { + "description": "Output only. The highest CPC bid the automated bidding system is permitted to specify. This is a required field entered by the advertiser that sets the ceiling and specified in local micros.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "location": { + "description": "Output only. The targeted location on the search results page.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ANYWHERE_ON_PAGE", + "TOP_OF_PAGE", + "ABSOLUTE_TOP_OF_PAGE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Any location on the web page.", + "Top box of ads.", + "Top slot in the top box of ads." + ], + "readOnly": true, + "type": "string" + }, + "locationFractionMicros": { + "description": "The chosen fraction of ads to be shown in the targeted location in micros. For example, 1% equals 10,000.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_TargetRoas": { + "description": "An automated bidding strategy that helps you maximize revenue while averaging a specific target return on ad spend (ROAS).", + "id": "GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_TargetRoas", + "properties": { + "targetRoas": { + "description": "Output only. The chosen revenue (based on conversion data) per unit of spend.", + "format": "double", + "readOnly": true, + "type": "number" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_TargetSpend": { + "description": "An automated bid strategy that sets your bids to help get as many clicks as possible within your budget.", + "id": "GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_TargetSpend", + "properties": { + "cpcBidCeilingMicros": { + "description": "Output only. Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "targetSpendMicros": { + "deprecated": true, + "description": "Output only. The spend target under which to maximize clicks. A TargetSpend bidder will attempt to spend the smaller of this value or the natural throttling spend amount. If not specified, the budget is used as the spend target. This field is deprecated and should no longer be used. See https://ads-developers.googleblog.com/2020/05/reminder-about-sunset-creation-of.html for details.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_AccountBudget_PendingAccountBudgetProposal": { + "description": "A pending proposal associated with the enclosing account-level budget, if applicable.", + "id": "GoogleAdsSearchads360V23Resources_AccountBudget_PendingAccountBudgetProposal", + "properties": { + "accountBudgetProposal": { + "description": "Output only. The resource name of the proposal. AccountBudgetProposal resource names have the form: `customers/{customer_id}/accountBudgetProposals/{account_budget_proposal_id}`", + "readOnly": true, + "type": "string" + }, + "creationDateTime": { + "description": "Output only. The time when this account-level budget proposal was created. Formatted as yyyy-MM-dd HH:mm:ss.", + "readOnly": true, + "type": "string" + }, + "endDateTime": { + "description": "Output only. The end time in yyyy-MM-dd HH:mm:ss format.", + "readOnly": true, + "type": "string" + }, + "endTimeType": { + "description": "Output only. The end time as a well-defined type, for example, FOREVER.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "NOW", + "FOREVER" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "As soon as possible.", + "An infinite point in the future." + ], + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. The name to assign to the account-level budget.", + "readOnly": true, + "type": "string" + }, + "notes": { + "description": "Output only. Notes associated with this budget.", + "readOnly": true, + "type": "string" + }, + "proposalType": { + "description": "Output only. The type of this proposal, for example, END to end the budget associated with this proposal.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CREATE", + "UPDATE", + "END", + "REMOVE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Identifies a request to create a new budget.", + "Identifies a request to edit an existing budget.", + "Identifies a request to end a budget that has already started.", + "Identifies a request to remove a budget that hasn't started yet." + ], + "readOnly": true, + "type": "string" + }, + "purchaseOrderNumber": { + "description": "Output only. A purchase order number is a value that helps users reference this budget in their monthly invoices.", + "readOnly": true, + "type": "string" + }, + "spendingLimitMicros": { + "description": "Output only. The spending limit in micros. One million is equivalent to one unit.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "spendingLimitType": { + "description": "Output only. The spending limit as a well-defined type, for example, INFINITE.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "INFINITE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Infinite, indicates unlimited spending power." + ], + "readOnly": true, + "type": "string" + }, + "startDateTime": { + "description": "Output only. The start time in yyyy-MM-dd HH:mm:ss format.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_AdGroupCriterion_PositionEstimates": { + "description": "Estimates for criterion bids at various positions.", + "id": "GoogleAdsSearchads360V23Resources_AdGroupCriterion_PositionEstimates", + "properties": { + "estimatedAddClicksAtFirstPositionCpc": { + "description": "Output only. Estimate of how many clicks per week you might get by changing your keyword bid to the value in first_position_cpc_micros.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "estimatedAddCostAtFirstPositionCpc": { + "description": "Output only. Estimate of how your cost per week might change when changing your keyword bid to the value in first_position_cpc_micros.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "firstPageCpcMicros": { + "description": "Output only. The estimate of the CPC bid required for ad to be shown on first page of search results.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "firstPositionCpcMicros": { + "description": "Output only. The estimate of the CPC bid required for ad to be displayed in first position, at the top of the first page of search results.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "topOfPageCpcMicros": { + "description": "Output only. The estimate of the CPC bid required for ad to be displayed at the top of the first page of search results.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_AdGroupCriterion_QualityInfo": { + "description": "A container for ad group criterion quality information.", + "id": "GoogleAdsSearchads360V23Resources_AdGroupCriterion_QualityInfo", + "properties": { + "creativeQualityScore": { + "description": "Output only. The performance of the ad compared to other advertisers.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "BELOW_AVERAGE", + "AVERAGE", + "ABOVE_AVERAGE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Quality of the creative is below average.", + "Quality of the creative is average.", + "Quality of the creative is above average." + ], + "readOnly": true, + "type": "string" + }, + "postClickQualityScore": { + "description": "Output only. The quality score of the landing page.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "BELOW_AVERAGE", + "AVERAGE", + "ABOVE_AVERAGE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Quality of the creative is below average.", + "Quality of the creative is average.", + "Quality of the creative is above average." + ], + "readOnly": true, + "type": "string" + }, + "qualityScore": { + "description": "Output only. The quality score. This field may not be populated if Google does not have enough information to determine a value.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "searchPredictedCtr": { + "description": "Output only. The click-through rate compared to that of other advertisers.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "BELOW_AVERAGE", + "AVERAGE", + "ABOVE_AVERAGE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Quality of the creative is below average.", + "Quality of the creative is average.", + "Quality of the creative is above average." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_AdGroupDemandGenAdGroupSettingsDemandGenChannelControls_DemandGenSelectedChannels": { + "description": "Explicitly selected channels for channel controls in Demand Gen ad groups.", + "id": "GoogleAdsSearchads360V23Resources_AdGroupDemandGenAdGroupSettingsDemandGenChannelControls_DemandGenSelectedChannels", + "properties": { + "discover": { + "description": "Whether to enable ads on the Discover channel.", + "type": "boolean" + }, + "display": { + "description": "Whether to enable ads on the Display channel.", + "type": "boolean" + }, + "gmail": { + "description": "Whether to enable ads on the Gmail channel.", + "type": "boolean" + }, + "youtubeInFeed": { + "description": "Whether to enable ads on the YouTube In-Feed channel.", + "type": "boolean" + }, + "youtubeInStream": { + "description": "Whether to enable ads on the YouTube In-Stream channel.", + "type": "boolean" + }, + "youtubeShorts": { + "description": "Whether to enable ads on the YouTube Shorts channel.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_AdGroupDemandGenAdGroupSettings_DemandGenChannelControls": { + "description": "Channel controls for Demand Gen ad groups.", + "id": "GoogleAdsSearchads360V23Resources_AdGroupDemandGenAdGroupSettings_DemandGenChannelControls", + "properties": { + "channelConfig": { + "description": "Output only. Channel configuration reflecting which field in the oneof is populated.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CHANNEL_STRATEGY", + "SELECTED_CHANNELS" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "The channel controls configuration uses a general channel strategy; individual channels are not configured separately.", + "The channel controls configuration explicitly defines the selected channels." + ], + "readOnly": true, + "type": "string" + }, + "channelStrategy": { + "description": "High level channel strategy.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ALL_CHANNELS", + "ALL_OWNED_AND_OPERATED_CHANNELS" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "All channels are enabled.", + "All Google-owned and operated channels are enabled; third-party channels (e.g., Display) are disabled." + ], + "type": "string" + }, + "selectedChannels": { + "$ref": "GoogleAdsSearchads360V23Resources_AdGroupDemandGenAdGroupSettingsDemandGenChannelControls_DemandGenSelectedChannels", + "description": "Explicitly selected channels. This field should be set with at least one true value when present." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_AdGroup_AiMaxAdGroupSetting": { + "description": "Settings for AI Max feature in standard search adgroups.", + "id": "GoogleAdsSearchads360V23Resources_AdGroup_AiMaxAdGroupSetting", + "properties": { + "disableSearchTermMatching": { + "description": "Disable search term matching for this adgroup when AI Max is enabled. Search term matching uses broad match, asset-based, and landing page-based technology to improve reach.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_AdGroup_AudienceSetting": { + "description": "Settings for the audience targeting.", + "id": "GoogleAdsSearchads360V23Resources_AdGroup_AudienceSetting", + "properties": { + "useAudienceGrouped": { + "description": "Immutable. If true, this ad group uses an Audience resource for audience targeting. If false, this ad group may use audience segment criteria instead.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_AdGroup_DemandGenAdGroupSettings": { + "description": "Settings for Demand Gen ad groups.", + "id": "GoogleAdsSearchads360V23Resources_AdGroup_DemandGenAdGroupSettings", + "properties": { + "channelControls": { + "$ref": "GoogleAdsSearchads360V23Resources_AdGroupDemandGenAdGroupSettings_DemandGenChannelControls", + "description": "Channel controls for Demand Gen ad groups." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_AdGroup_VerticalAdsFormatSetting": { + "description": "Vertical ads setting feature to enable/disable ad group format controls in search campaigns.", + "id": "GoogleAdsSearchads360V23Resources_AdGroup_VerticalAdsFormatSetting", + "properties": { + "disableTextAds": { + "description": "If true, text ads will be disabled for this ad group.", + "type": "boolean" + }, + "enableBookingLinks": { + "description": "If true, booking links will be enabled for this ad group.", + "type": "boolean" + }, + "enableVerticalPromotionAds": { + "description": "If true, vertical promotion ads will be enabled for this ad group.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_AdStrengthActionItem_AddAssetDetails": { + "description": "The details of the asset to add.", + "id": "GoogleAdsSearchads360V23Resources_AdStrengthActionItem_AddAssetDetails", + "properties": { + "assetCount": { + "description": "Output only. The number of assets to add.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "assetFieldType": { + "description": "Output only. The asset field type of the asset(s) to add.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "HEADLINE", + "DESCRIPTION", + "MANDATORY_AD_TEXT", + "MARKETING_IMAGE", + "MEDIA_BUNDLE", + "YOUTUBE_VIDEO", + "BOOK_ON_GOOGLE", + "LEAD_FORM", + "PROMOTION", + "CALLOUT", + "STRUCTURED_SNIPPET", + "SITELINK", + "MOBILE_APP", + "HOTEL_CALLOUT", + "CALL", + "PRICE", + "LONG_HEADLINE", + "BUSINESS_NAME", + "SQUARE_MARKETING_IMAGE", + "PORTRAIT_MARKETING_IMAGE", + "LOGO", + "LANDSCAPE_LOGO", + "VIDEO", + "CALL_TO_ACTION_SELECTION", + "AD_IMAGE", + "BUSINESS_LOGO", + "HOTEL_PROPERTY", + "DEMAND_GEN_CAROUSEL_CARD", + "BUSINESS_MESSAGE", + "TALL_PORTRAIT_MARKETING_IMAGE", + "LANDING_PAGE_PREVIEW", + "LONG_DESCRIPTION", + "CALL_TO_ACTION" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The asset is linked for use as a headline.", + "The asset is linked for use as a description.", + "The asset is linked for use as mandatory ad text.", + "The asset is linked for use as a marketing image.", + "The asset is linked for use as a media bundle.", + "The asset is linked for use as a YouTube video.", + "The asset is linked to indicate that a hotels campaign is \"Book on Google\" enabled.", + "The asset is linked for use as a Lead Form extension.", + "The asset is linked for use as a Promotion extension.", + "The asset is linked for use as a Callout extension.", + "The asset is linked for use as a Structured Snippet extension.", + "The asset is linked for use as a Sitelink.", + "The asset is linked for use as a Mobile App extension.", + "The asset is linked for use as a Hotel Callout extension.", + "The asset is linked for use as a Call extension.", + "The asset is linked for use as a Price extension.", + "The asset is linked for use as a long headline.", + "The asset is linked for use as a business name.", + "The asset is linked for use as a square marketing image.", + "The asset is linked for use as a portrait marketing image.", + "The asset is linked for use as a logo.", + "The asset is linked for use as a landscape logo.", + "The asset is linked for use as a non YouTube logo.", + "The asset is linked for use to select a call-to-action.", + "The asset is linked for use to select an ad image.", + "The asset is linked for use as a business logo.", + "The asset is linked for use as a hotel property in a Performance Max for travel goals campaign.", + "The asset is linked for use as a Demand Gen carousel card.", + "The asset is linked for use as a Business Message.", + "The asset is linked for use as a tall portrait marketing image.", + "The asset is linked for use as a landing page preview image.", + "The asset is linked for use as a long description.", + "The asset is linked for use as a call-to-action." + ], + "readOnly": true, + "type": "string" + }, + "videoAspectRatioRequirement": { + "description": "Output only. For video field types, the required aspect ratio of the video. When unset and asset_field_type is YOUTUBE_VIDEO, the system recommends the advertiser upload any YouTube video, regardless of aspect ratio.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "HORIZONTAL", + "SQUARE", + "VERTICAL" + ], + "enumDescriptions": [ + "Not specified.", + "The received value is not known in this version.", + "The video requires a horizontal aspect ratio.", + "The video requires a square aspect ratio.", + "The video requires a vertical aspect ratio." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_AssetSet_HotelPropertyData": { + "description": "For Performance Max for travel goals campaigns with a Hotel Center account link. Read-only.", + "id": "GoogleAdsSearchads360V23Resources_AssetSet_HotelPropertyData", + "properties": { + "hotelCenterId": { + "description": "Output only. The hotel center ID of the partner.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "partnerName": { + "description": "Output only. Name of the hotel partner.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_AssetSet_MerchantCenterFeed": { + "description": "Merchant ID and Feed Label from Google Merchant Center.", + "id": "GoogleAdsSearchads360V23Resources_AssetSet_MerchantCenterFeed", + "properties": { + "feedLabel": { + "description": "Optional. Feed Label from Google Merchant Center.", + "type": "string" + }, + "merchantId": { + "description": "Required. Merchant ID from Google Merchant Center", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_BatchJob_BatchJobMetadata": { + "description": "Additional information about the batch job. This message is also used as metadata returned in batch job Long Running Operations.", + "id": "GoogleAdsSearchads360V23Resources_BatchJob_BatchJobMetadata", + "properties": { + "completionDateTime": { + "description": "Output only. The time when this batch job was completed. Formatted as yyyy-MM-dd HH:mm:ss. Example: \"2018-03-05 09:16:00\"", + "readOnly": true, + "type": "string" + }, + "creationDateTime": { + "description": "Output only. The time when this batch job was created. Formatted as yyyy-mm-dd hh:mm:ss. Example: \"2018-03-05 09:15:00\"", + "readOnly": true, + "type": "string" + }, + "estimatedCompletionRatio": { + "description": "Output only. The fraction (between 0.0 and 1.0) of mutates that have been processed. This is empty if the job hasn't started running yet.", + "format": "double", + "readOnly": true, + "type": "number" + }, + "executedOperationCount": { + "description": "Output only. The number of mutate operations executed by the batch job. Present only if the job has started running.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "executionLimitSeconds": { + "description": "Immutable. The approximate upper bound for how long a batch job can be executed, in seconds. If the job runs more than the given upper bound, the job will be canceled.", + "format": "int32", + "type": "integer" + }, + "operationCount": { + "description": "Output only. The number of mutate operations in the batch job.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "startDateTime": { + "description": "Output only. The time when this batch job started running. Formatted as yyyy-mm-dd hh:mm:ss. Example: \"2018-03-05 09:15:30\"", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_BillingSetup_PaymentsAccountInfo": { + "description": "Container of payments account information for this billing.", + "id": "GoogleAdsSearchads360V23Resources_BillingSetup_PaymentsAccountInfo", + "properties": { + "paymentsAccountId": { + "description": "Output only. A 16 digit id used to identify the payments account associated with the billing setup. This must be passed as a string with dashes, for example, \"1234-5678-9012-3456\".", + "readOnly": true, + "type": "string" + }, + "paymentsAccountName": { + "description": "Immutable. The name of the payments account associated with the billing setup. This enables the user to specify a meaningful name for a payments account to aid in reconciling monthly invoices. This name will be printed in the monthly invoices.", + "type": "string" + }, + "paymentsProfileId": { + "description": "Immutable. A 12 digit id used to identify the payments profile associated with the billing setup. This must be passed in as a string with dashes, for example, \"1234-5678-9012\".", + "type": "string" + }, + "paymentsProfileName": { + "description": "Output only. The name of the payments profile associated with the billing setup.", + "readOnly": true, + "type": "string" + }, + "secondaryPaymentsProfileId": { + "description": "Output only. A secondary payments profile id present in uncommon situations, for example, when a sequential liability agreement has been arranged.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_CampaignPmaxCampaignSettings_BrandTargetingOverrides": { + "description": "Overrides of brand targeting for various ad types.", + "id": "GoogleAdsSearchads360V23Resources_CampaignPmaxCampaignSettings_BrandTargetingOverrides", + "properties": { + "ignoreExclusionsForShoppingAds": { + "description": "If true, brand exclusions are ignored for Shopping ads.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Campaign_AiMaxSetting": { + "description": "Settings for AI Max in search campaigns.", + "id": "GoogleAdsSearchads360V23Resources_Campaign_AiMaxSetting", + "properties": { + "bundlingRequired": { + "description": "Output only. Indicates whether a search campaign has adopted AI Max before, and is required to have AI Max enabled to adopt campaign-level text asset automation and brand list targeting in all API versions.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "NOT_REQUIRED", + "REQUIRED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Search campaign is using text asset automation or brand list targeting, and AI Max is not required to be enabled to serve these features.", + "AI Max is required to be enabled for this search campaign to serve existing text asset automation and brand list targeting, or to add new text asset automation and brand list targeting settings." + ], + "readOnly": true, + "type": "string" + }, + "enableAiMax": { + "description": "Controls whether or not AI Max features are served for this campaign. Individual AI Max features are enabled or disabled by their respective settings. But if enable_ai_max is set to false or cleared, then no AI Max features will serve for this campaign, regardless of the other settings. Search Term Matching is enabled by default when AI Max is enabled, and can be disabled at the ad group level.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Campaign_AppCampaignSetting": { + "description": "Campaign-level settings for App Campaigns.", + "id": "GoogleAdsSearchads360V23Resources_Campaign_AppCampaignSetting", + "properties": { + "appId": { + "description": "Immutable. A string that uniquely identifies a mobile application.", + "type": "string" + }, + "appStore": { + "description": "Immutable. The application store that distributes this specific app.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "APPLE_APP_STORE", + "GOOGLE_APP_STORE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Apple app store.", + "Google play." + ], + "type": "string" + }, + "biddingStrategyGoalType": { + "description": "Represents the goal which the bidding strategy of this app campaign should optimize towards.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "OPTIMIZE_INSTALLS_TARGET_INSTALL_COST", + "OPTIMIZE_IN_APP_CONVERSIONS_TARGET_INSTALL_COST", + "OPTIMIZE_IN_APP_CONVERSIONS_TARGET_CONVERSION_COST", + "OPTIMIZE_RETURN_ON_ADVERTISING_SPEND", + "OPTIMIZE_PRE_REGISTRATION_CONVERSION_VOLUME", + "OPTIMIZE_INSTALLS_WITHOUT_TARGET_INSTALL_COST", + "OPTIMIZE_IN_APP_CONVERSIONS_WITHOUT_TARGET_CPA", + "OPTIMIZE_TOTAL_VALUE_WITHOUT_TARGET_ROAS" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Aim to maximize the number of app installs. The cpa bid is the target cost per install.", + "Aim to maximize the long term number of selected in-app conversions from app installs. The cpa bid is the target cost per install.", + "Aim to maximize the long term number of selected in-app conversions from app installs. The cpa bid is the target cost per in-app conversion. Note that the actual cpa may seem higher than the target cpa at first, since the long term conversions haven't happened yet.", + "Aim to maximize all conversions' value, for example, install + selected in-app conversions while achieving or exceeding target return on advertising spend.", + "Aim to maximize the pre-registration of the app.", + "Aim to maximize installation of the app without target cost-per-install.", + "Aim to maximize the selected in-app conversion's volume while spending the full budget. No advertiser-specific target CPA.", + "Aim to maximize total conversion value, such as install and selected in-app conversions, while spending the full budget. No advertiser-specified target ROAS." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Campaign_AssetAutomationSetting": { + "description": "Asset automation setting contains pair of AssetAutomationType and the asset automation opt-in/out status", + "id": "GoogleAdsSearchads360V23Resources_Campaign_AssetAutomationSetting", + "properties": { + "assetAutomationStatus": { + "description": "The opt-in/out status of asset automation type.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "OPTED_IN", + "OPTED_OUT" + ], + "enumDescriptions": [ + "Not specified.", + "Used as a return value only. Represents value unknown in this version.", + "Opted-in will enable generating and serving an asset automation type.", + "Opted-out will stop generating and serving an asset automation type." + ], + "type": "string" + }, + "assetAutomationType": { + "description": "The asset automation type advertiser would like to opt-in/out.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "TEXT_ASSET_AUTOMATION", + "GENERATE_VERTICAL_YOUTUBE_VIDEOS", + "GENERATE_SHORTER_YOUTUBE_VIDEOS", + "GENERATE_LANDING_PAGE_PREVIEW", + "GENERATE_ENHANCED_YOUTUBE_VIDEOS", + "GENERATE_IMAGE_ENHANCEMENT", + "GENERATE_IMAGE_EXTRACTION", + "GENERATE_DESIGN_VERSIONS_FOR_IMAGES", + "FINAL_URL_EXPANSION_TEXT_ASSET_AUTOMATION", + "GENERATE_VIDEOS_FROM_OTHER_ASSETS" + ], + "enumDescriptions": [ + "Not specified.", + "Used as a return value only. Represents value unknown in this version.", + "Text asset automation includes headlines and descriptions. By default, advertisers are opted-in for Performance Max and opted-out for Search.", + "Converts horizontal video assets to vertical orientation using content-aware technology. By default, advertisers are opted in for DemandGenVideoResponsiveAd.", + "Shortens video assets to better capture user attention using content-aware technology.", + "Generates a preview of the landing page shown in the engagement panel. By using this feature, you confirm that you own all legal rights to the images on the landing page used by this account (or you have permission to share the images with Google). You hereby instruct Google to publish these images on your behalf for advertising or other commercial purposes.", + "Generates video enhancements (vertical and shorter videos) for PMax campaigns. Opted in by default.", + "Generates image enhancements (AutoCrop and AutoEnhance). Opted in by default for pmax.", + "Generates image extraction. It defaults to account level Dynamic Image Extension control value.", + "Adds design elements and embeds text assets into image assets to create images with different aspect ratios. By default, advertisers are opted in for DemandGenMultiAssetAd.", + "Controls automation for text assets related to Final URL expansion. This includes automatically creating dynamic landing pages from the final URL and generating text assets from the content of those landing pages. This setting is turned OFF by default for Search campaigns, but it is turned ON by default for Performance Max campaigns.", + "Generates videos using other Assets as input, such as images and text. By default, advertisers are opted in for DemandGenMultiAssetAd." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Campaign_AudienceSetting": { + "description": "Settings for the audience targeting.", + "id": "GoogleAdsSearchads360V23Resources_Campaign_AudienceSetting", + "properties": { + "useAudienceGrouped": { + "description": "Immutable. If true, this campaign uses an Audience resource for audience targeting. If false, this campaign may use audience segment criteria instead.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Campaign_BrandGuidelines": { + "description": "Settings that control the visual appearance of your brand in a campaign's automatically generated assets and formats. Only applicable to Performance Max campaigns.", + "id": "GoogleAdsSearchads360V23Resources_Campaign_BrandGuidelines", + "properties": { + "accentColor": { + "description": "The accent brand color, entered as a hex code (e.g., #00ff00). You must provide the accent_color if you provide a main_color.", + "type": "string" + }, + "mainColor": { + "description": "The main brand color, entered as a hex code (e.g., #00ff00). You must provide the main_color if you provide an accent_color.", + "type": "string" + }, + "predefinedFontFamily": { + "description": "The brand's font family. Must be one of the following Google Fonts (case sensitive): Open Sans, Roboto, Montserrat, Poppins, Lato, Oswald, Playfair Display, Roboto Slab.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Campaign_CategoryBid": { + "description": "Category bids in LocalServicesReportingCampaignSettings.", + "id": "GoogleAdsSearchads360V23Resources_Campaign_CategoryBid", + "properties": { + "categoryId": { + "description": "Category for which the bid will be associated with. For example, xcat:service_area_business_plumber.", + "type": "string" + }, + "manualCpaBidMicros": { + "description": "Manual CPA bid for the category. Bid must be greater than the reserve price associated for that category. Value is in micros and in the advertiser's currency.", + "format": "int64", + "type": "string" + }, + "targetCpaBidMicros": { + "description": "Target CPA bid for the category. Value is in micros and in the advertiser's currency.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Campaign_DemandGenCampaignSettings": { + "description": "Settings for Demand Gen campaign.", + "id": "GoogleAdsSearchads360V23Resources_Campaign_DemandGenCampaignSettings", + "properties": { + "upgradedTargeting": { + "description": "Immutable. Specifies whether this campaign uses upgraded targeting options. When this field is set to `true`, you can use location and language targeting at the ad group level as opposed to the standard campaign-level targeting.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Campaign_DynamicSearchAdsSetting": { + "description": "The setting for controlling Dynamic Search Ads (DSA).", + "id": "GoogleAdsSearchads360V23Resources_Campaign_DynamicSearchAdsSetting", + "properties": { + "domainName": { + "description": "Required. The Internet domain name that this setting represents, for example, \"google.com\" or \"www.google.com\".", + "type": "string" + }, + "languageCode": { + "description": "Required. The language code specifying the language of the domain, for example, \"en\".", + "type": "string" + }, + "useSuppliedUrlsOnly": { + "description": "Whether the campaign uses advertiser supplied URLs exclusively.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Campaign_GeoTargetTypeSetting": { + "description": "Represents a collection of settings related to ads geotargeting.", + "id": "GoogleAdsSearchads360V23Resources_Campaign_GeoTargetTypeSetting", + "properties": { + "negativeGeoTargetType": { + "description": "The setting used for negative geotargeting in this particular campaign.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "PRESENCE_OR_INTEREST", + "PRESENCE" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "Specifies that a user is excluded from seeing the ad if they are in, or show interest in, advertiser's excluded locations.", + "Specifies that a user is excluded from seeing the ad if they are in advertiser's excluded locations." + ], + "type": "string" + }, + "positiveGeoTargetType": { + "description": "The setting used for positive geotargeting in this particular campaign.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "PRESENCE_OR_INTEREST", + "SEARCH_INTEREST", + "PRESENCE" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "Specifies that an ad is triggered if the user is in, or shows interest in, advertiser's targeted locations.", + "Specifies that an ad is triggered if the user searches for advertiser's targeted locations. This can only be used with Search and standard Shopping campaigns.", + "Specifies that an ad is triggered if the user is in or regularly in advertiser's targeted locations." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Campaign_HotelSettingInfo": { + "description": "Campaign-level settings for hotel ads.", + "id": "GoogleAdsSearchads360V23Resources_Campaign_HotelSettingInfo", + "properties": { + "hotelCenterId": { + "description": "Output only. The linked Hotel Center account.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Campaign_LocalCampaignSetting": { + "description": "Campaign setting for local campaigns.", + "id": "GoogleAdsSearchads360V23Resources_Campaign_LocalCampaignSetting", + "properties": { + "locationSourceType": { + "description": "The location source type for this local campaign.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "GOOGLE_MY_BUSINESS", + "AFFILIATE" + ], + "enumDescriptions": [ + "No value has been specified.", + "Used for return value only. Represents value unknown in this version.", + "Locations associated with the customer's linked Business Profile.", + "Affiliate (chain) store locations. For example, Best Buy store locations." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Campaign_LocalServicesCampaignSettings": { + "description": "Settings for LocalServicesCampaign subresource.", + "id": "GoogleAdsSearchads360V23Resources_Campaign_LocalServicesCampaignSettings", + "properties": { + "categoryBids": { + "description": "Categorical level bids associated with MANUAL_CPA bidding strategy.", + "items": { + "$ref": "GoogleAdsSearchads360V23Resources_Campaign_CategoryBid" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Campaign_NetworkSettings": { + "description": "The network settings for the campaign.", + "id": "GoogleAdsSearchads360V23Resources_Campaign_NetworkSettings", + "properties": { + "targetContentNetwork": { + "description": "Whether ads will be served on specified placements in the Google Display Network. Placements are specified using the Placement criterion.", + "type": "boolean" + }, + "targetGoogleSearch": { + "description": "Whether ads will be served with google.com search results.", + "type": "boolean" + }, + "targetGoogleTvNetwork": { + "description": "Whether ads will be served on the Google TV network.", + "type": "boolean" + }, + "targetPartnerSearchNetwork": { + "description": "Whether ads will be served on the partner network. This is available only to some select partner accounts. Unless you have been instructed to use this field, it likely does not apply to your account. This does not control whether ads will be served on Google Search Partners Network; use `target_search_network` for that instead.", + "type": "boolean" + }, + "targetSearchNetwork": { + "description": "Whether ads will be served on sites in the Google Search Partners Network (requires `target_google_search` to also be `true`).", + "type": "boolean" + }, + "targetYoutube": { + "description": "Whether ads will be served on YouTube.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Campaign_OptimizationGoalSetting": { + "description": "Optimization goal setting for this campaign, which includes a set of optimization goal types.", + "id": "GoogleAdsSearchads360V23Resources_Campaign_OptimizationGoalSetting", + "properties": { + "optimizationGoalTypes": { + "description": "The list of optimization goal types.", + "items": { + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CALL_CLICKS", + "DRIVING_DIRECTIONS", + "APP_PRE_REGISTRATION" + ], + "enumDescriptions": [ + "Not specified.", + "Used as a return value only. Represents value unknown in this version.", + "Optimize for call clicks. Call click conversions are times people selected 'Call' to contact a store after viewing an ad.", + "Optimize for driving directions. Driving directions conversions are times people selected 'Get directions' to navigate to a store after viewing an ad.", + "Optimize for pre-registration. Pre-registration conversions are the number of pre-registration signups to receive a notification when the app is released." + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Campaign_PerformanceMaxUpgrade": { + "description": "Information about a campaign being upgraded to Performance Max.", + "id": "GoogleAdsSearchads360V23Resources_Campaign_PerformanceMaxUpgrade", + "properties": { + "performanceMaxCampaign": { + "description": "Output only. The resource name of the Performance Max campaign the campaign is upgraded to.", + "readOnly": true, + "type": "string" + }, + "preUpgradeCampaign": { + "description": "Output only. The resource name of the legacy campaign upgraded to Performance Max.", + "readOnly": true, + "type": "string" + }, + "status": { + "description": "Output only. The upgrade status of a campaign requested to be upgraded to Performance Max.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "UPGRADE_IN_PROGRESS", + "UPGRADE_COMPLETE", + "UPGRADE_FAILED", + "UPGRADE_ELIGIBLE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The upgrade to a Performance Max campaign is in progress.", + "The upgrade to a Performance Max campaign is complete.", + "The upgrade to a Performance Max campaign failed. The campaign will still serve as it was before upgrade was attempted.", + "The campaign is eligible for upgrade to a Performance Max campaign." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Campaign_PmaxCampaignSettings": { + "description": "Settings for Performance Max campaigns.", + "id": "GoogleAdsSearchads360V23Resources_Campaign_PmaxCampaignSettings", + "properties": { + "brandTargetingOverrides": { + "$ref": "GoogleAdsSearchads360V23Resources_CampaignPmaxCampaignSettings_BrandTargetingOverrides", + "description": "Overrides of brand targeting for various ad types." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Campaign_SelectiveOptimization": { + "description": "Selective optimization setting for this campaign, which includes a set of conversion actions to optimize this campaign towards. This feature only applies to app campaigns that use MULTI_CHANNEL as AdvertisingChannelType and APP_CAMPAIGN or APP_CAMPAIGN_FOR_ENGAGEMENT as AdvertisingChannelSubType.", + "id": "GoogleAdsSearchads360V23Resources_Campaign_SelectiveOptimization", + "properties": { + "conversionActions": { + "description": "The selected set of resource names for conversion actions for optimizing this campaign.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Campaign_ShoppingSetting": { + "description": "The setting for Shopping campaigns. Defines the universe of products that can be advertised by the campaign, and how this campaign interacts with other Shopping campaigns.", + "id": "GoogleAdsSearchads360V23Resources_Campaign_ShoppingSetting", + "properties": { + "advertisingPartnerIds": { + "description": "The list of Google Ads accounts IDs of advertising partners cooperating within the campaign. This feature is currently available only for accounts having an advertising partner link. This feature is currently supported only for Performance Max, Shopping, Search and Demand Gen campaign types.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "campaignPriority": { + "description": "Priority of the campaign. Campaigns with numerically higher priorities take precedence over those with lower priorities. This field is required for Shopping campaigns, with values between 0 and 2, inclusive. This field is optional for Smart Shopping campaigns, but must be equal to 3 if set.", + "format": "int32", + "type": "integer" + }, + "disableProductFeed": { + "description": "Disable the optional product feed. This field is currently supported only for Demand Gen campaigns. See https://support.google.com/google-ads/answer/13721750 to learn more about this feature.", + "type": "boolean" + }, + "enableLocal": { + "description": "Whether to include local products.", + "type": "boolean" + }, + "feedLabel": { + "description": "Feed label of products to include in the campaign. Valid feed labels may contain a maximum of 20 characters including uppercase letters, numbers, hyphens, and underscores. If you previously used the deprecated `sales_country` in the two-letter country code (`XX`) format, the `feed_label` field should be used instead. For more information see the [feed label](//support.google.com/merchants/answer/12453549) support article.", + "type": "string" + }, + "merchantId": { + "description": "ID of the Merchant Center account. This field is required for create operations. This field is immutable for Shopping campaigns.", + "format": "int64", + "type": "string" + }, + "useVehicleInventory": { + "description": "Immutable. Whether to target Vehicle Listing inventory.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Campaign_TrackingSetting": { + "description": "Campaign-level settings for tracking information.", + "id": "GoogleAdsSearchads360V23Resources_Campaign_TrackingSetting", + "properties": { + "trackingUrl": { + "description": "Output only. The url used for dynamic tracking.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Campaign_TravelCampaignSettings": { + "description": "Settings for Travel campaign.", + "id": "GoogleAdsSearchads360V23Resources_Campaign_TravelCampaignSettings", + "properties": { + "travelAccountId": { + "description": "Immutable. The Travel account ID associated with the Travel campaign.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Campaign_VanityPharma": { + "description": "Describes how unbranded pharma ads will be displayed.", + "id": "GoogleAdsSearchads360V23Resources_Campaign_VanityPharma", + "properties": { + "vanityPharmaDisplayUrlMode": { + "description": "The display mode for vanity pharma URLs.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "MANUFACTURER_WEBSITE_URL", + "WEBSITE_DESCRIPTION" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Replace vanity pharma URL with manufacturer website url.", + "Replace vanity pharma URL with description of the website." + ], + "type": "string" + }, + "vanityPharmaText": { + "description": "The text that will be displayed in display URL of the text ad when website description is the selected display mode for vanity pharma URLs.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "PRESCRIPTION_TREATMENT_WEBSITE_EN", + "PRESCRIPTION_TREATMENT_WEBSITE_ES", + "PRESCRIPTION_DEVICE_WEBSITE_EN", + "PRESCRIPTION_DEVICE_WEBSITE_ES", + "MEDICAL_DEVICE_WEBSITE_EN", + "MEDICAL_DEVICE_WEBSITE_ES", + "PREVENTATIVE_TREATMENT_WEBSITE_EN", + "PREVENTATIVE_TREATMENT_WEBSITE_ES", + "PRESCRIPTION_CONTRACEPTION_WEBSITE_EN", + "PRESCRIPTION_CONTRACEPTION_WEBSITE_ES", + "PRESCRIPTION_VACCINE_WEBSITE_EN", + "PRESCRIPTION_VACCINE_WEBSITE_ES" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Prescription treatment website with website content in English.", + "Prescription treatment website with website content in Spanish (Sitio de tratamientos con receta).", + "Prescription device website with website content in English.", + "Prescription device website with website content in Spanish (Sitio de dispositivos con receta).", + "Medical device website with website content in English.", + "Medical device website with website content in Spanish (Sitio de dispositivos médicos).", + "Preventative treatment website with website content in English.", + "Preventative treatment website with website content in Spanish (Sitio de tratamientos preventivos).", + "Prescription contraception website with website content in English.", + "Prescription contraception website with website content in Spanish (Sitio de anticonceptivos con receta).", + "Prescription vaccine website with website content in English.", + "Prescription vaccine website with website content in Spanish (Sitio de vacunas con receta)." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_ChangeEvent_ChangedResource": { + "description": "A wrapper proto presenting all supported resources. Only the resource of the change_resource_type will be set.", + "id": "GoogleAdsSearchads360V23Resources_ChangeEvent_ChangedResource", + "properties": { + "ad": { + "$ref": "GoogleAdsSearchads360V23Resources__Ad", + "description": "Output only. Set if change_resource_type == AD.", + "readOnly": true + }, + "adGroup": { + "$ref": "GoogleAdsSearchads360V23Resources__AdGroup", + "description": "Output only. Set if change_resource_type == AD_GROUP.", + "readOnly": true + }, + "adGroupAd": { + "$ref": "GoogleAdsSearchads360V23Resources__AdGroupAd", + "description": "Output only. Set if change_resource_type == AD_GROUP_AD.", + "readOnly": true + }, + "adGroupAsset": { + "$ref": "GoogleAdsSearchads360V23Resources__AdGroupAsset", + "description": "Output only. Set if change_resource_type == AD_GROUP_ASSET.", + "readOnly": true + }, + "adGroupBidModifier": { + "$ref": "GoogleAdsSearchads360V23Resources__AdGroupBidModifier", + "description": "Output only. Set if change_resource_type == AD_GROUP_BID_MODIFIER.", + "readOnly": true + }, + "adGroupCriterion": { + "$ref": "GoogleAdsSearchads360V23Resources__AdGroupCriterion", + "description": "Output only. Set if change_resource_type == AD_GROUP_CRITERION.", + "readOnly": true + }, + "asset": { + "$ref": "GoogleAdsSearchads360V23Resources__Asset", + "description": "Output only. Set if change_resource_type == ASSET.", + "readOnly": true + }, + "assetSet": { + "$ref": "GoogleAdsSearchads360V23Resources__AssetSet", + "description": "Output only. Set if change_resource_type == ASSET_SET.", + "readOnly": true + }, + "assetSetAsset": { + "$ref": "GoogleAdsSearchads360V23Resources__AssetSetAsset", + "description": "Output only. Set if change_resource_type == ASSET_SET_ASSET.", + "readOnly": true + }, + "campaign": { + "$ref": "GoogleAdsSearchads360V23Resources__Campaign", + "description": "Output only. Set if change_resource_type == CAMPAIGN.", + "readOnly": true + }, + "campaignAsset": { + "$ref": "GoogleAdsSearchads360V23Resources__CampaignAsset", + "description": "Output only. Set if change_resource_type == CAMPAIGN_ASSET.", + "readOnly": true + }, + "campaignAssetSet": { + "$ref": "GoogleAdsSearchads360V23Resources__CampaignAssetSet", + "description": "Output only. Set if change_resource_type == CAMPAIGN_ASSET_SET.", + "readOnly": true + }, + "campaignBudget": { + "$ref": "GoogleAdsSearchads360V23Resources__CampaignBudget", + "description": "Output only. Set if change_resource_type == CAMPAIGN_BUDGET.", + "readOnly": true + }, + "campaignCriterion": { + "$ref": "GoogleAdsSearchads360V23Resources__CampaignCriterion", + "description": "Output only. Set if change_resource_type == CAMPAIGN_CRITERION.", + "readOnly": true + }, + "customerAsset": { + "$ref": "GoogleAdsSearchads360V23Resources__CustomerAsset", + "description": "Output only. Set if change_resource_type == CUSTOMER_ASSET.", + "readOnly": true + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_ConversionAction_AttributionModelSettings": { + "description": "Settings related to this conversion action's attribution model.", + "id": "GoogleAdsSearchads360V23Resources_ConversionAction_AttributionModelSettings", + "properties": { + "attributionModel": { + "description": "The attribution model type of this conversion action.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "EXTERNAL", + "GOOGLE_ADS_LAST_CLICK", + "GOOGLE_SEARCH_ATTRIBUTION_FIRST_CLICK", + "GOOGLE_SEARCH_ATTRIBUTION_LINEAR", + "GOOGLE_SEARCH_ATTRIBUTION_TIME_DECAY", + "GOOGLE_SEARCH_ATTRIBUTION_POSITION_BASED", + "GOOGLE_SEARCH_ATTRIBUTION_DATA_DRIVEN" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Uses external attribution.", + "Attributes all credit for a conversion to its last click.", + "Attributes all credit for a conversion to its first click using Google Search attribution.", + "Attributes credit for a conversion equally across all of its clicks using Google Search attribution.", + "Attributes exponentially more credit for a conversion to its more recent clicks using Google Search attribution (half-life is 1 week).", + "Attributes 40% of the credit for a conversion to its first and last clicks. Remaining 20% is evenly distributed across all other clicks. This uses Google Search attribution.", + "Flexible model that uses machine learning to determine the appropriate distribution of credit among clicks using Google Search attribution." + ], + "type": "string" + }, + "dataDrivenModelStatus": { + "description": "Output only. The status of the data-driven attribution model for the conversion action.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "AVAILABLE", + "STALE", + "EXPIRED", + "NEVER_GENERATED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The data driven model is available.", + "The data driven model is stale. It hasn't been updated for at least 7 days. It is still being used, but will become expired if it does not get updated for 30 days.", + "The data driven model expired. It hasn't been updated for at least 30 days and cannot be used. Most commonly this is because there hasn't been the required number of events in a recent 30-day period.", + "The data driven model has never been generated. Most commonly this is because there has never been the required number of events in any 30-day period." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_ConversionAction_FirebaseSettings": { + "description": "Settings related to a Firebase conversion action.", + "id": "GoogleAdsSearchads360V23Resources_ConversionAction_FirebaseSettings", + "properties": { + "eventName": { + "description": "Output only. The event name of a Firebase conversion.", + "readOnly": true, + "type": "string" + }, + "projectId": { + "description": "Output only. The Firebase project ID of the conversion.", + "readOnly": true, + "type": "string" + }, + "propertyId": { + "description": "Output only. The GA property ID of the conversion.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "propertyName": { + "description": "Output only. The GA property name of the conversion.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_ConversionAction_FloodlightSettings": { + "description": "Settings related to a Floodlight conversion action.", + "id": "GoogleAdsSearchads360V23Resources_ConversionAction_FloodlightSettings", + "properties": { + "activityGroupTag": { + "description": "Output only. String used to identify a Floodlight activity group when reporting conversions.", + "readOnly": true, + "type": "string" + }, + "activityId": { + "description": "Output only. ID of the Floodlight activity in DoubleClick Campaign Manager (DCM).", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "activityTag": { + "description": "Output only. String used to identify a Floodlight activity when reporting conversions.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_ConversionAction_GoogleAnalytics4Settings": { + "description": "Settings related to a Google Analytics 4 conversion action.", + "id": "GoogleAdsSearchads360V23Resources_ConversionAction_GoogleAnalytics4Settings", + "properties": { + "eventName": { + "description": "Output only. The name of the GA 4 event.", + "readOnly": true, + "type": "string" + }, + "propertyId": { + "description": "Output only. The ID of the GA 4 property.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "propertyName": { + "description": "Output only. The name of the GA 4 property.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_ConversionAction_ThirdPartyAppAnalyticsSettings": { + "description": "Settings related to a third party app analytics conversion action.", + "id": "GoogleAdsSearchads360V23Resources_ConversionAction_ThirdPartyAppAnalyticsSettings", + "properties": { + "eventName": { + "description": "Output only. The event name of a third-party app analytics conversion.", + "readOnly": true, + "type": "string" + }, + "providerName": { + "description": "Output only. Name of the third-party app analytics provider.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_ConversionAction_ValueSettings": { + "description": "Settings related to the value for conversion events associated with this conversion action.", + "id": "GoogleAdsSearchads360V23Resources_ConversionAction_ValueSettings", + "properties": { + "alwaysUseDefaultValue": { + "description": "Controls whether the default value and default currency code are used in place of the value and currency code specified in conversion events for this conversion action.", + "type": "boolean" + }, + "defaultCurrencyCode": { + "description": "The currency code to use when conversion events for this conversion action are sent with an invalid or missing currency code, or when this conversion action is configured to always use the default value.", + "type": "string" + }, + "defaultValue": { + "description": "The value to use when conversion events for this conversion action are sent with an invalid, disallowed or missing value, or when this conversion action is configured to always use the default value.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_ConversionCustomVariable_FloodlightConversionCustomVariableInfo": { + "description": "Information for Search Ads 360 Floodlight Conversion Custom Variables.", + "id": "GoogleAdsSearchads360V23Resources_ConversionCustomVariable_FloodlightConversionCustomVariableInfo", + "properties": { + "floodlightVariableDataType": { + "description": "Output only. Floodlight variable data type defined in Search Ads 360.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "NUMBER", + "STRING" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Represents a floodlight variable of \"Number\" type. This variable may be assigned to floodlight variables of DIMENSION or METRIC types.", + "Represents a floodlight variable of \"String\" type. This variable may be assigned to floodlight variables of DIMENSION type." + ], + "readOnly": true, + "type": "string" + }, + "floodlightVariableType": { + "description": "Output only. Floodlight variable type defined in Search Ads 360.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "DIMENSION", + "METRIC", + "UNSET" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Dimension floodlight variable type.", + "Metric floodlight variable type.", + "Floodlight variable type is unset." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleAction": { + "description": "Action applied when rule is applied.", + "id": "GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleAction", + "properties": { + "operation": { + "description": "Specifies applied operation.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ADD", + "MULTIPLY", + "SET" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Add provided value to conversion value.", + "Multiply conversion value by provided value.", + "Set conversion value to provided value." + ], + "type": "string" + }, + "value": { + "description": "Specifies applied value.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleAudienceCondition": { + "description": "Condition on Audience dimension.", + "id": "GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleAudienceCondition", + "properties": { + "userInterests": { + "description": "User Interests.", + "items": { + "type": "string" + }, + "type": "array" + }, + "userLists": { + "description": "User Lists.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleDeviceCondition": { + "description": "Condition on Device dimension.", + "id": "GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleDeviceCondition", + "properties": { + "deviceTypes": { + "description": "Value for device type condition.", + "items": { + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "MOBILE", + "DESKTOP", + "TABLET" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Mobile device.", + "Desktop device.", + "Tablet device." + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleGeoLocationCondition": { + "description": "Condition on Geo dimension.", + "id": "GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleGeoLocationCondition", + "properties": { + "excludedGeoMatchType": { + "description": "Excluded Geo location match type.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ANY", + "LOCATION_OF_PRESENCE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Either Area of Interest or Location of Presence can be used to match.", + "Only Location of Presence can be used to match." + ], + "type": "string" + }, + "excludedGeoTargetConstants": { + "description": "Geo locations that advertisers want to exclude.", + "items": { + "type": "string" + }, + "type": "array" + }, + "geoMatchType": { + "description": "Included Geo location match type.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ANY", + "LOCATION_OF_PRESENCE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Either Area of Interest or Location of Presence can be used to match.", + "Only Location of Presence can be used to match." + ], + "type": "string" + }, + "geoTargetConstants": { + "description": "Geo locations that advertisers want to include.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleItineraryAdvanceBookingWindow": { + "description": "Range for the number of days between the date of the booking and the start of the itinerary.", + "id": "GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleItineraryAdvanceBookingWindow", + "properties": { + "maxDays": { + "description": "Maximum number of days between the date of the booking the start date.", + "format": "int32", + "type": "integer" + }, + "minDays": { + "description": "Minimum number of days between the date of the booking the start date.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleItineraryCondition": { + "description": "Condition on Itinerary dimension.", + "id": "GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleItineraryCondition", + "properties": { + "advanceBookingWindow": { + "$ref": "GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleItineraryAdvanceBookingWindow", + "description": "Range for the number of days between the date of the booking and the start of the itinerary." + }, + "travelLength": { + "$ref": "GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleItineraryTravelLength", + "description": "Range for the itinerary length in number of nights." + }, + "travelStartDay": { + "$ref": "GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleItineraryTravelStartDay", + "description": "The days of the week on which this itinerary's travel can start." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleItineraryTravelLength": { + "description": "Range for the itinerary length in number of nights.", + "id": "GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleItineraryTravelLength", + "properties": { + "maxNights": { + "description": "Maximum number of days between the start date and the end date.", + "format": "int32", + "type": "integer" + }, + "minNights": { + "description": "Minimum number of nights between the start date and the end date.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleItineraryTravelStartDay": { + "description": "The days of the week on which an itinerary's travel can start.", + "id": "GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleItineraryTravelStartDay", + "properties": { + "friday": { + "description": "The travel can start on Friday.", + "type": "boolean" + }, + "monday": { + "description": "The travel can start on Monday.", + "type": "boolean" + }, + "saturday": { + "description": "The travel can start on Saturday.", + "type": "boolean" + }, + "sunday": { + "description": "The travel can start on Sunday.", + "type": "boolean" + }, + "thursday": { + "description": "The travel can start on Thursday.", + "type": "boolean" + }, + "tuesday": { + "description": "The travel can start on Tuesday.", + "type": "boolean" + }, + "wednesday": { + "description": "The travel can start on Wednesday.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchemaEvent_EventOccurrenceRange": { + "description": "Defines a range for event counter values.", + "id": "GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchemaEvent_EventOccurrenceRange", + "properties": { + "maxEventCount": { + "description": "Output only. For event counter ranges, the maximum of the defined range. A value of 0 will be treated as unset.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "minEventCount": { + "description": "Output only. For event counter ranges, the minimum of the defined range. A value of 0 will be treated as unset.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchemaEvent_RevenueRange": { + "description": "Defines a range for revenue values.", + "id": "GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchemaEvent_RevenueRange", + "properties": { + "maxEventRevenue": { + "description": "Output only. For revenue ranges, the maximum value in `currency_code` for which this conversion value would be updated. A value of 0 will be treated as unset.", + "format": "double", + "readOnly": true, + "type": "number" + }, + "minEventRevenue": { + "description": "Output only. For revenue ranges, the minimum value in `currency_code` for which this conversion value would be updated. A value of 0 will be treated as unset.", + "format": "double", + "readOnly": true, + "type": "number" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_CoarseGrainedConversionValueMappings": { + "description": "Mappings for coarse grained conversion values.", + "id": "GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_CoarseGrainedConversionValueMappings", + "properties": { + "highConversionValueMapping": { + "$ref": "GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_ConversionValueMapping", + "description": "Output only. Mapping for \"high\" coarse conversion value.", + "readOnly": true + }, + "lowConversionValueMapping": { + "$ref": "GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_ConversionValueMapping", + "description": "Output only. Mapping for \"low\" coarse conversion value.", + "readOnly": true + }, + "mediumConversionValueMapping": { + "$ref": "GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_ConversionValueMapping", + "description": "Output only. Mapping for \"medium\" coarse conversion value.", + "readOnly": true + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_ConversionValueMapping": { + "description": "Represents mapping from one conversion value to one or more conversion events.", + "id": "GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_ConversionValueMapping", + "properties": { + "mappedEvents": { + "description": "Output only. The conversion value may be mapped to multiple events with various attributes.", + "items": { + "$ref": "GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_Event" + }, + "readOnly": true, + "type": "array" + }, + "maxTimePostInstallHours": { + "description": "Output only. The maximum of the time range in which a user was last active during the measurement window.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "minTimePostInstallHours": { + "description": "Output only. The minimum of the time range in which a user was last active during the measurement window.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_Event": { + "description": "Defines a Google conversion event that the conversion value is mapped to.", + "id": "GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_Event", + "properties": { + "currencyCode": { + "description": "Output only. The reported currency for the event_revenue. ISO 4217 three-letter currency code, for example, \"USD\"", + "readOnly": true, + "type": "string" + }, + "eventCounter": { + "description": "Output only. For specific event counter values.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "eventOccurrenceRange": { + "$ref": "GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchemaEvent_EventOccurrenceRange", + "description": "Output only. The event counter range.", + "readOnly": true + }, + "eventRevenueRange": { + "$ref": "GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchemaEvent_RevenueRange", + "description": "Output only. The event revenue range.", + "readOnly": true + }, + "eventRevenueValue": { + "description": "Output only. The specific event revenue value.", + "format": "double", + "readOnly": true, + "type": "number" + }, + "mappedEventName": { + "description": "Output only. Google event name represented by this conversion value.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_FineGrainedConversionValueMappings": { + "description": "Mappings for fine grained conversion value.", + "id": "GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_FineGrainedConversionValueMappings", + "properties": { + "conversionValueMapping": { + "$ref": "GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_ConversionValueMapping", + "description": "Output only. Conversion events the fine grained conversion value maps to.", + "readOnly": true + }, + "fineGrainedConversionValue": { + "description": "Output only. Fine grained conversion value. Valid values are in the inclusive range [0,63].", + "format": "int32", + "readOnly": true, + "type": "integer" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_PostbackMapping": { + "description": "Mappings for each postback in multiple conversion windows.", + "id": "GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_PostbackMapping", + "properties": { + "coarseGrainedConversionValueMappings": { + "$ref": "GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_CoarseGrainedConversionValueMappings", + "description": "Output only. Conversion value mappings for all coarse grained conversion values.", + "readOnly": true + }, + "lockWindowCoarseConversionValue": { + "description": "Output only. Coarse grained conversion value that triggers conversion window lock.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "UNAVAILABLE", + "LOW", + "MEDIUM", + "HIGH", + "NONE" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "The value was not present in the postback or we do not have this data for other reasons.", + "A low coarse conversion value.", + "A medium coarse conversion value.", + "A high coarse conversion value.", + "A coarse conversion value was not configured." + ], + "readOnly": true, + "type": "string" + }, + "lockWindowEvent": { + "description": "Output only. Event name that triggers conversion window lock.", + "readOnly": true, + "type": "string" + }, + "lockWindowFineConversionValue": { + "description": "Output only. Fine grained conversion value that triggers conversion window lock.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "postbackSequenceIndex": { + "description": "Output only. 0-based index that indicates the order of postback. Valid values are in the inclusive range [0,2].", + "format": "int32", + "readOnly": true, + "type": "integer" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchema_SkAdNetworkConversionValueSchema": { + "description": "The CustomerLink specific SkAdNetworkConversionValueSchema.", + "id": "GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchema_SkAdNetworkConversionValueSchema", + "properties": { + "appId": { + "description": "Required. Output only. Apple App Store app ID.", + "readOnly": true, + "type": "string" + }, + "fineGrainedConversionValueMappings": { + "description": "Output only. Fine grained conversion value mappings.", + "items": { + "$ref": "GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_FineGrainedConversionValueMappings" + }, + "readOnly": true, + "type": "array" + }, + "measurementWindowHours": { + "description": "Output only. A time window (measured in hours) post-install, after which the App Attribution Partner or advertiser stops calling [updateConversionValue] (https://developer.apple.com/documentation/storekit/skadnetwork/3566697-updateconversionvalue).", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "postbackMappings": { + "description": "Output only. Per-postback conversion value mappings for postbacks in multiple conversion windows. Only applicable for SkAdNetwork versions >= 4.0.", + "items": { + "$ref": "GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_PostbackMapping" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_ExperimentArm_AssetGroupAssetInfo": { + "description": "Holds the details of an asset within an asset group for an Optimize Assets experiment arm.", + "id": "GoogleAdsSearchads360V23Resources_ExperimentArm_AssetGroupAssetInfo", + "properties": { + "asset": { + "description": "Asset resource name of the asset group asset.", + "type": "string" + }, + "fieldType": { + "description": "Field type of the asset group asset.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "HEADLINE", + "DESCRIPTION", + "MANDATORY_AD_TEXT", + "MARKETING_IMAGE", + "MEDIA_BUNDLE", + "YOUTUBE_VIDEO", + "BOOK_ON_GOOGLE", + "LEAD_FORM", + "PROMOTION", + "CALLOUT", + "STRUCTURED_SNIPPET", + "SITELINK", + "MOBILE_APP", + "HOTEL_CALLOUT", + "CALL", + "PRICE", + "LONG_HEADLINE", + "BUSINESS_NAME", + "SQUARE_MARKETING_IMAGE", + "PORTRAIT_MARKETING_IMAGE", + "LOGO", + "LANDSCAPE_LOGO", + "VIDEO", + "CALL_TO_ACTION_SELECTION", + "AD_IMAGE", + "BUSINESS_LOGO", + "HOTEL_PROPERTY", + "DEMAND_GEN_CAROUSEL_CARD", + "BUSINESS_MESSAGE", + "TALL_PORTRAIT_MARKETING_IMAGE", + "LANDING_PAGE_PREVIEW", + "LONG_DESCRIPTION", + "CALL_TO_ACTION" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The asset is linked for use as a headline.", + "The asset is linked for use as a description.", + "The asset is linked for use as mandatory ad text.", + "The asset is linked for use as a marketing image.", + "The asset is linked for use as a media bundle.", + "The asset is linked for use as a YouTube video.", + "The asset is linked to indicate that a hotels campaign is \"Book on Google\" enabled.", + "The asset is linked for use as a Lead Form extension.", + "The asset is linked for use as a Promotion extension.", + "The asset is linked for use as a Callout extension.", + "The asset is linked for use as a Structured Snippet extension.", + "The asset is linked for use as a Sitelink.", + "The asset is linked for use as a Mobile App extension.", + "The asset is linked for use as a Hotel Callout extension.", + "The asset is linked for use as a Call extension.", + "The asset is linked for use as a Price extension.", + "The asset is linked for use as a long headline.", + "The asset is linked for use as a business name.", + "The asset is linked for use as a square marketing image.", + "The asset is linked for use as a portrait marketing image.", + "The asset is linked for use as a logo.", + "The asset is linked for use as a landscape logo.", + "The asset is linked for use as a non YouTube logo.", + "The asset is linked for use to select a call-to-action.", + "The asset is linked for use to select an ad image.", + "The asset is linked for use as a business logo.", + "The asset is linked for use as a hotel property in a Performance Max for travel goals campaign.", + "The asset is linked for use as a Demand Gen carousel card.", + "The asset is linked for use as a Business Message.", + "The asset is linked for use as a tall portrait marketing image.", + "The asset is linked for use as a landing page preview image.", + "The asset is linked for use as a long description.", + "The asset is linked for use as a call-to-action." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_ExperimentArm_AssetGroupInfo": { + "description": "Holds the asset groups included in an arm of an Optimize Assets experiment.", + "id": "GoogleAdsSearchads360V23Resources_ExperimentArm_AssetGroupInfo", + "properties": { + "assetGroup": { + "description": "Asset group resource name.", + "type": "string" + }, + "assetGroupAssets": { + "description": "List of asset group assets under the asset group.", + "items": { + "$ref": "GoogleAdsSearchads360V23Resources_ExperimentArm_AssetGroupAssetInfo" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Invoice_AccountBudgetSummary": { + "description": "Represents a summarized account budget billable cost.", + "id": "GoogleAdsSearchads360V23Resources_Invoice_AccountBudgetSummary", + "properties": { + "accountBudget": { + "description": "Output only. The resource name of the account budget associated with this summarized billable cost. AccountBudget resource names have the form: `customers/{customer_id}/accountBudgets/{account_budget_id}`", + "readOnly": true, + "type": "string" + }, + "accountBudgetName": { + "description": "Output only. The name of the account budget. It appears on the invoice PDF as \"Account budget\".", + "readOnly": true, + "type": "string" + }, + "billableActivityDateRange": { + "$ref": "GoogleAdsSearchads360V23Common__DateRange", + "description": "Output only. The billable activity date range of the account budget, within the service date range of this invoice. The end date is inclusive. This can be different from the account budget's start and end time.", + "readOnly": true + }, + "billedAmountMicros": { + "description": "Output only. The pretax billed amount attributable to this budget during the service period, in micros. This does not account for any adjustments.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "campaignSummaries": { + "description": "Output only. The list of summarized campaign level information associated with this account budget.", + "items": { + "$ref": "GoogleAdsSearchads360V23Resources_Invoice_CampaignSummary" + }, + "readOnly": true, + "type": "array" + }, + "customer": { + "description": "Output only. The resource name of the customer associated with this account budget. This contains the customer ID, which appears on the invoice PDF as \"Account ID\". Customer resource names have the form: `customers/{customer_id}`", + "readOnly": true, + "type": "string" + }, + "customerDescriptiveName": { + "description": "Output only. The descriptive name of the account budget's customer. It appears on the invoice PDF as \"Account\".", + "readOnly": true, + "type": "string" + }, + "invalidActivityAmountMicros": { + "description": "Output only. The pretax invalid activity amount attributable to this budget in previous months, in micros (negative value).", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "invalidActivitySummaries": { + "description": "Output only. The list of summarized invalid activity credits with original linkages.", + "items": { + "$ref": "GoogleAdsSearchads360V23Resources_Invoice_InvalidActivitySummary" + }, + "readOnly": true, + "type": "array" + }, + "overdeliveryAmountMicros": { + "description": "Output only. The pretax overdelivery amount attributable to this budget during the service period, in micros (negative value).", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "purchaseOrderNumber": { + "description": "Output only. The purchase order number of the account budget. It appears on the invoice PDF as \"Purchase order\".", + "readOnly": true, + "type": "string" + }, + "servedAmountMicros": { + "description": "Output only. The pretax served amount attributable to this budget during the service period, in micros. This is only useful to reconcile invoice and delivery data.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "subtotalAmountMicros": { + "description": "Output only. The pretax subtotal amount attributable to this budget during the service period, in micros.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "taxAmountMicros": { + "description": "Output only. The tax amount attributable to this budget during the service period, in micros.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "totalAmountMicros": { + "description": "Output only. The total amount attributable to this budget during the service period, in micros. This equals the sum of the account budget subtotal amount and the account budget tax amount.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Invoice_AccountSummary": { + "description": "Represents a summarized view at account level.", + "id": "GoogleAdsSearchads360V23Resources_Invoice_AccountSummary", + "properties": { + "adjustmentSummaries": { + "description": "Output only. The list of adjustment information associated with this account.", + "items": { + "$ref": "GoogleAdsSearchads360V23Resources_Invoice_AdjustmentSummary" + }, + "readOnly": true, + "type": "array" + }, + "billingCorrectionSubtotalAmountMicros": { + "description": "Output only. Pretax billing correction subtotal amount, in micros.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "billingCorrectionTaxAmountMicros": { + "description": "Output only. Tax on billing correction, in micros.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "billingCorrectionTotalAmountMicros": { + "description": "Output only. Total billing correction amount, in micros.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "couponAdjustmentSubtotalAmountMicros": { + "description": "Output only. Pretax coupon adjustment subtotal amount, in micros.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "couponAdjustmentTaxAmountMicros": { + "description": "Output only. Tax on coupon adjustment, in micros.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "couponAdjustmentTotalAmountMicros": { + "description": "Output only. Total coupon adjustment amount, in micros.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "customer": { + "description": "Output only. The account associated with the account summary.", + "readOnly": true, + "type": "string" + }, + "excessCreditAdjustmentSubtotalAmountMicros": { + "description": "Output only. Pretax excess credit adjustment subtotal amount, in micros.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "excessCreditAdjustmentTaxAmountMicros": { + "description": "Output only. Tax on excess credit adjustment, in micros.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "excessCreditAdjustmentTotalAmountMicros": { + "description": "Output only. Total excess credit adjustment amount, in micros.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "exportChargeSubtotalAmountMicros": { + "description": "Output only. Pretax export charge subtotal amount, in micros.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "exportChargeTaxAmountMicros": { + "description": "Output only. Tax on export charge, in micros.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "exportChargeTotalAmountMicros": { + "description": "Output only. Total export charge amount, in micros.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "regulatoryCostSummaries": { + "description": "Output only. The list of regulatory cost information associated with this account.", + "items": { + "$ref": "GoogleAdsSearchads360V23Resources_Invoice_RegulatoryCostSummary" + }, + "readOnly": true, + "type": "array" + }, + "regulatoryCostsSubtotalAmountMicros": { + "description": "Output only. Pretax regulatory costs subtotal amount, in micros.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "regulatoryCostsTaxAmountMicros": { + "description": "Output only. Tax on regulatory costs, in micros.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "regulatoryCostsTotalAmountMicros": { + "description": "Output only. Total regulatory costs amount, in micros.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "subtotalAmountMicros": { + "description": "Output only. Total pretax subtotal amount attributable to the account during the service period, in micros.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "taxAmountMicros": { + "description": "Output only. Total tax amount attributable to the account during the service period, in micros.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "totalAmountMicros": { + "description": "Output only. Total amount attributable to the account during the service period, in micros. This equals the sum of the subtotal_amount_micros and tax_amount_micros.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Invoice_AdjustmentSummary": { + "description": "Represents adjustment information associated with an account.", + "id": "GoogleAdsSearchads360V23Resources_Invoice_AdjustmentSummary", + "properties": { + "adjustmentDescription": { + "description": "Output only. The description of the adjustment. Example: Incentive Adjustment, discount.", + "readOnly": true, + "type": "string" + }, + "amountMicros": { + "description": "Output only. The amount of the adjustment, in micros. The currency code for this amount is the same as the Invoice.currency_code.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Invoice_CampaignSummary": { + "description": "Represents campaign level billable cost information associated with an account budget.", + "id": "GoogleAdsSearchads360V23Resources_Invoice_CampaignSummary", + "properties": { + "amountMicros": { + "description": "Output only. The amount attributable to this campaign for the given unit of measure during the service period, in micros. The currency code for this amount is the same as the Invoice.currency_code.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "campaignDescription": { + "description": "Output only. The description of the campaign. This is generally the same as the campaign name, but may differ.", + "readOnly": true, + "type": "string" + }, + "quantity": { + "description": "Output only. The quantity served for the given unit of measure.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "unitOfMeasure": { + "description": "Output only. The unit of measure for the quantity served.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CLICKS", + "IMPRESSIONS", + "ACQUISITIONS", + "PHONE_CALLS", + "VIDEO_PLAYS", + "DAYS", + "AUDIO_PLAYS", + "ENGAGEMENTS", + "SECONDS", + "LEADS", + "GUEST_STAYS", + "HOURS" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Clicks as unit of measure.", + "Impressions as unit of measure.", + "Acquisitions as unit of measure.", + "Phone calls as unit of measure.", + "Video plays as unit of measure.", + "Days as unit of measure.", + "Audio plays as unit of measure.", + "Engagements as unit of measure.", + "Seconds as unit of measure.", + "Leads as unit of measure.", + "Guest stays as unit of measure.", + "Hours as unit of measure." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Invoice_InvalidActivitySummary": { + "description": "Details about the invalid activity for the invoice that contain additional details about invoice against which corrections are made.", + "id": "GoogleAdsSearchads360V23Resources_Invoice_InvalidActivitySummary", + "properties": { + "amountMicros": { + "description": "Output only. Invalid activity amount in micros.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "originalAccountBudgetName": { + "description": "Output only. Original account budget name related to this invalid activity credit.", + "readOnly": true, + "type": "string" + }, + "originalInvoiceId": { + "description": "Output only. Original invoice number related to this invalid activity credit.", + "readOnly": true, + "type": "string" + }, + "originalMonthOfService": { + "description": "Output only. Original month of service related to this invalid activity credit.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "JANUARY", + "FEBRUARY", + "MARCH", + "APRIL", + "MAY", + "JUNE", + "JULY", + "AUGUST", + "SEPTEMBER", + "OCTOBER", + "NOVEMBER", + "DECEMBER" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "January.", + "February.", + "March.", + "April.", + "May.", + "June.", + "July.", + "August.", + "September.", + "October.", + "November.", + "December." + ], + "readOnly": true, + "type": "string" + }, + "originalPurchaseOrderNumber": { + "description": "Output only. Original purchase order number related to this invalid activity credit.", + "readOnly": true, + "type": "string" + }, + "originalYearOfService": { + "description": "Output only. Original year of service related to this invalid activity credit.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Invoice_RegulatoryCostSummary": { + "description": "Represents regulatory cost information associated with an account.", + "id": "GoogleAdsSearchads360V23Resources_Invoice_RegulatoryCostSummary", + "properties": { + "amountMicros": { + "description": "Output only. The amount of the regulatory fee, in micros. The currency code for this amount is the same as the Invoice.currency_code.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "regulatoryFeeType": { + "description": "Output only. The type of regulatory fee.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "AUSTRIA_DST_FEE", + "TURKIYE_REGULATORY_OPERATING_COST", + "UK_DST_FEE", + "SPAIN_REGULATORY_OPERATING_COST", + "FRANCE_REGULATORY_OPERATING_COST", + "ITALY_REGULATORY_OPERATING_COST", + "INDIA_REGULATORY_OPERATING_COST", + "POLAND_REGULATORY_OPERATING_COST", + "OPERATING_CHARGES", + "CANADA_DST_FEE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Represents Austria DST fee.", + "Represents Türkiye regulatory operating cost.", + "Represents UK DST fee.", + "Represents Spain regulatory operating cost.", + "Represents France regulatory operating cost.", + "Represents Italy regulatory operating cost.", + "Represents India regulatory operating cost.", + "Represents Poland regulatory operating cost.", + "Represents operating charges.", + "Represents Canada DST fee." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductBrand": { + "description": "Brand of the product.", + "id": "GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductBrand", + "properties": { + "value": { + "description": "String value of the product brand.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductCategory": { + "description": "One element of a category at a certain level. Top-level categories are at level 1, their children at level 2, and so on. We currently support up to 5 levels. The user must specify a dimension type that indicates the level of the category. All cases of the same subdivision must have the same dimension type (category level).", + "id": "GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductCategory", + "properties": { + "categoryId": { + "description": "ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436", + "format": "int64", + "type": "string" + }, + "level": { + "description": "Indicates the level of the category in the taxonomy.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "LEVEL1", + "LEVEL2", + "LEVEL3", + "LEVEL4", + "LEVEL5" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Level 1.", + "Level 2.", + "Level 3.", + "Level 4.", + "Level 5." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductChannel": { + "description": "Locality of a product offer.", + "id": "GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductChannel", + "properties": { + "channel": { + "description": "Value of the locality.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ONLINE", + "LOCAL" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The item is sold online.", + "The item is sold in local stores." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductCondition": { + "description": "Condition of a product offer.", + "id": "GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductCondition", + "properties": { + "condition": { + "description": "Value of the condition.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "NEW", + "REFURBISHED", + "USED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The product condition is new.", + "The product condition is refurbished.", + "The product condition is used." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductCustomAttribute": { + "description": "Custom attribute of a product offer.", + "id": "GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductCustomAttribute", + "properties": { + "index": { + "description": "Indicates the index of the custom attribute.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "INDEX0", + "INDEX1", + "INDEX2", + "INDEX3", + "INDEX4" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "First listing group filter custom attribute.", + "Second listing group filter custom attribute.", + "Third listing group filter custom attribute.", + "Fourth listing group filter custom attribute.", + "Fifth listing group filter custom attribute." + ], + "type": "string" + }, + "value": { + "description": "String value of the product custom attribute.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductItemId": { + "description": "Item id of a product offer.", + "id": "GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductItemId", + "properties": { + "value": { + "description": "Value of the id.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductType": { + "description": "Type of a product offer.", + "id": "GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductType", + "properties": { + "level": { + "description": "Level of the type.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "LEVEL1", + "LEVEL2", + "LEVEL3", + "LEVEL4", + "LEVEL5" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Level 1.", + "Level 2.", + "Level 3.", + "Level 4.", + "Level 5." + ], + "type": "string" + }, + "value": { + "description": "Value of the type.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_Webpage": { + "description": "Filters for URLs in a page feed and URLs from the advertiser web domain. Several root nodes with this dimension are allowed in an asset group and their conditions are considered in OR.", + "id": "GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_Webpage", + "properties": { + "conditions": { + "description": "The webpage conditions are case sensitive and these are and-ed together when evaluated for filtering. All the conditions should be of same type. Example1: for URL1 = www.ads.google.com?ocid=1&euid=2 and URL2 = www.ads.google.com?ocid=1 and with \"ocid\" and \"euid\" as url_contains conditions, URL1 will be matched, but URL2 not. Example2 : If URL1 has Label1, Label2 and URL2 has Label2, Label3, then with Label1 and Label2 as custom_label conditions, URL1 will be matched but not URL2. With Label2 as the only custom_label condition then both URL1 and URL2 will be matched.", + "items": { + "$ref": "GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_WebpageCondition" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_WebpageCondition": { + "description": "Matching condition for URL filtering.", + "id": "GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_WebpageCondition", + "properties": { + "customLabel": { + "description": "Filters the URLs in a page feed that have this custom label. A custom label can be added to a campaign by creating an AssetSet of type PAGE_FEED and linking it to the campaign using CampaignAssetSet.", + "type": "string" + }, + "urlContains": { + "description": "Filters the URLs in a page feed and the URLs from the advertiser web domain that contain this string.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_ProductCategoryConstant_ProductCategoryLocalization": { + "description": "Localization for the product category.", + "id": "GoogleAdsSearchads360V23Resources_ProductCategoryConstant_ProductCategoryLocalization", + "properties": { + "languageCode": { + "description": "Output only. Two-letter ISO 639-1 language code of the localized category.", + "readOnly": true, + "type": "string" + }, + "regionCode": { + "description": "Output only. Upper-case two-letter ISO 3166-1 country code of the localized category.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Output only. The name of the category in the specified locale.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_RecommendationCampaignBudgetRecommendation_CampaignBudgetRecommendationOption": { + "description": "The impact estimates for a given budget amount.", + "id": "GoogleAdsSearchads360V23Resources_RecommendationCampaignBudgetRecommendation_CampaignBudgetRecommendationOption", + "properties": { + "budgetAmountMicros": { + "description": "Output only. The budget amount for this option.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "impact": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_RecommendationImpact", + "description": "Output only. The impact estimate if budget is changed to amount specified in this option.", + "readOnly": true + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_RecommendationKeywordRecommendation_SearchTerm": { + "description": "Information about a search term as related to a keyword recommendation.", + "id": "GoogleAdsSearchads360V23Resources_RecommendationKeywordRecommendation_SearchTerm", + "properties": { + "estimatedWeeklySearchCount": { + "description": "Output only. Estimated number of historical weekly searches for this search term.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "text": { + "description": "Output only. The text of the search term.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_RecommendationTargetCpaOptInRecommendation_TargetCpaOptInRecommendationOption": { + "description": "The Target CPA opt-in option with impact estimate.", + "id": "GoogleAdsSearchads360V23Resources_RecommendationTargetCpaOptInRecommendation_TargetCpaOptInRecommendationOption", + "properties": { + "goal": { + "description": "Output only. The goal achieved by this option.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "SAME_COST", + "SAME_CONVERSIONS", + "SAME_CPA", + "CLOSEST_CPA" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Recommendation to set Target CPA to maintain the same cost.", + "Recommendation to set Target CPA to maintain the same conversions.", + "Recommendation to set Target CPA to maintain the same CPA.", + "Recommendation to set Target CPA to a value that is as close as possible to, yet lower than, the actual CPA (computed for past 28 days)." + ], + "readOnly": true, + "type": "string" + }, + "impact": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_RecommendationImpact", + "description": "Output only. The impact estimate if this option is selected.", + "readOnly": true + }, + "requiredCampaignBudgetAmountMicros": { + "description": "Output only. The minimum campaign budget, in local currency for the account, required to achieve the target CPA. Amount is specified in micros, where one million is equivalent to one currency unit.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "targetCpaMicros": { + "description": "Output only. Average CPA target.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Recommendation_AccountInfo": { + "description": "Wrapper for information about a Google Ads account.", + "id": "GoogleAdsSearchads360V23Resources_Recommendation_AccountInfo", + "properties": { + "customerId": { + "description": "Output only. The customer ID of the account.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "descriptiveName": { + "description": "Output only. The descriptive name of the account.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Recommendation_CallAssetRecommendation": { + "description": "The call asset recommendation.", + "id": "GoogleAdsSearchads360V23Resources_Recommendation_CallAssetRecommendation", + "properties": {}, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Recommendation_CalloutAssetRecommendation": { + "description": "The callout asset recommendation.", + "id": "GoogleAdsSearchads360V23Resources_Recommendation_CalloutAssetRecommendation", + "properties": { + "recommendedCampaignCalloutAssets": { + "description": "Output only. New callout extension assets recommended at the campaign level.", + "items": { + "$ref": "GoogleAdsSearchads360V23Resources__Asset" + }, + "readOnly": true, + "type": "array" + }, + "recommendedCustomerCalloutAssets": { + "description": "Output only. New callout extension assets recommended at the customer level.", + "items": { + "$ref": "GoogleAdsSearchads360V23Resources__Asset" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Recommendation_CampaignBudget": { + "description": "A campaign budget shared amongst various budget recommendation types.", + "id": "GoogleAdsSearchads360V23Resources_Recommendation_CampaignBudget", + "properties": { + "currentAmountMicros": { + "description": "Output only. Current budget amount.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "newStartDate": { + "description": "Output only. The date when the new budget would start being used. This field will be set for the following recommendation types: FORECASTING_SET_TARGET_ROAS YYYY-MM-DD format, for example, 2018-04-17.", + "readOnly": true, + "type": "string" + }, + "recommendedNewAmountMicros": { + "description": "Output only. Recommended budget amount.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Recommendation_CampaignBudgetRecommendation": { + "description": "The budget recommendation for budget constrained campaigns.", + "id": "GoogleAdsSearchads360V23Resources_Recommendation_CampaignBudgetRecommendation", + "properties": { + "budgetOptions": { + "description": "Output only. The budget amounts and associated impact estimates for some values of possible budget amounts.", + "items": { + "$ref": "GoogleAdsSearchads360V23Resources_RecommendationCampaignBudgetRecommendation_CampaignBudgetRecommendationOption" + }, + "readOnly": true, + "type": "array" + }, + "currentBudgetAmountMicros": { + "description": "Output only. The current budget amount in micros.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "recommendedBudgetAmountMicros": { + "description": "Output only. The recommended budget amount in micros.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Recommendation_CustomAudienceOptInRecommendation": { + "description": "The Custom Audience Opt In recommendation.", + "id": "GoogleAdsSearchads360V23Resources_Recommendation_CustomAudienceOptInRecommendation", + "properties": { + "keywords": { + "description": "Output only. The list of keywords to use for custom audience creation.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__KeywordInfo" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Recommendation_DisplayExpansionOptInRecommendation": { + "description": "The Display Expansion opt-in recommendation.", + "id": "GoogleAdsSearchads360V23Resources_Recommendation_DisplayExpansionOptInRecommendation", + "properties": {}, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Recommendation_DynamicImageExtensionOptInRecommendation": { + "description": "Recommendation to enable dynamic image extensions on the account, allowing Google to find the best images from ad landing pages and complement text ads.", + "id": "GoogleAdsSearchads360V23Resources_Recommendation_DynamicImageExtensionOptInRecommendation", + "properties": {}, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Recommendation_EnhancedCpcOptInRecommendation": { + "description": "The Enhanced Cost-Per-Click Opt-In recommendation.", + "id": "GoogleAdsSearchads360V23Resources_Recommendation_EnhancedCpcOptInRecommendation", + "properties": {}, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Recommendation_ForecastingSetTargetCpaRecommendation": { + "description": "The set target CPA recommendations.", + "id": "GoogleAdsSearchads360V23Resources_Recommendation_ForecastingSetTargetCpaRecommendation", + "properties": { + "campaignBudget": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_CampaignBudget", + "description": "Output only. The campaign budget.", + "readOnly": true + }, + "recommendedTargetCpaMicros": { + "description": "Output only. The recommended target CPA.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Recommendation_ForecastingSetTargetRoasRecommendation": { + "description": "The forecasting set target ROAS recommendation.", + "id": "GoogleAdsSearchads360V23Resources_Recommendation_ForecastingSetTargetRoasRecommendation", + "properties": { + "campaignBudget": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_CampaignBudget", + "description": "Output only. The campaign budget.", + "readOnly": true + }, + "recommendedTargetRoas": { + "description": "Output only. The recommended target ROAS (revenue per unit of spend). The value is between 0.01 and 1000.0, inclusive.", + "format": "double", + "readOnly": true, + "type": "number" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Recommendation_ImproveDemandGenAdStrengthRecommendation": { + "description": "The improve Demand Gen ad strength recommendation.", + "id": "GoogleAdsSearchads360V23Resources_Recommendation_ImproveDemandGenAdStrengthRecommendation", + "properties": { + "ad": { + "description": "Output only. The resource name of the ad that can be improved.", + "readOnly": true, + "type": "string" + }, + "adStrength": { + "description": "Output only. The current ad strength.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "PENDING", + "NO_ADS", + "POOR", + "AVERAGE", + "GOOD", + "EXCELLENT" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The ad strength is currently pending.", + "No ads could be generated.", + "Poor strength.", + "Average strength.", + "Good strength.", + "Excellent strength." + ], + "readOnly": true, + "type": "string" + }, + "demandGenAssetActionItems": { + "description": "Output only. A list of recommendations to improve the ad strength.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Recommendation_ImproveGoogleTagCoverageRecommendation": { + "description": "Recommendation to deploy Google Tag on more pages.", + "id": "GoogleAdsSearchads360V23Resources_Recommendation_ImproveGoogleTagCoverageRecommendation", + "properties": {}, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Recommendation_ImprovePerformanceMaxAdStrengthRecommendation": { + "description": "Recommendation to improve the asset group strength of a Performance Max campaign to an \"Excellent\" rating.", + "id": "GoogleAdsSearchads360V23Resources_Recommendation_ImprovePerformanceMaxAdStrengthRecommendation", + "properties": { + "adStrength": { + "description": "Output only. The current ad strength score of the asset group.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "PENDING", + "NO_ADS", + "POOR", + "AVERAGE", + "GOOD", + "EXCELLENT" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The ad strength is currently pending.", + "No ads could be generated.", + "Poor strength.", + "Average strength.", + "Good strength.", + "Excellent strength." + ], + "readOnly": true, + "type": "string" + }, + "assetGroup": { + "description": "Output only. The asset group resource name.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Recommendation_KeywordMatchTypeRecommendation": { + "description": "The keyword match type recommendation.", + "id": "GoogleAdsSearchads360V23Resources_Recommendation_KeywordMatchTypeRecommendation", + "properties": { + "keyword": { + "$ref": "GoogleAdsSearchads360V23Common__KeywordInfo", + "description": "Output only. The existing keyword where the match type should be more broad.", + "readOnly": true + }, + "recommendedMatchType": { + "description": "Output only. The recommended new match type.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "EXACT", + "PHRASE", + "BROAD" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Exact match.", + "Phrase match.", + "Broad match." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Recommendation_KeywordRecommendation": { + "description": "The keyword recommendation.", + "id": "GoogleAdsSearchads360V23Resources_Recommendation_KeywordRecommendation", + "properties": { + "keyword": { + "$ref": "GoogleAdsSearchads360V23Common__KeywordInfo", + "description": "Output only. The recommended keyword.", + "readOnly": true + }, + "recommendedCpcBidMicros": { + "description": "Output only. The recommended CPC (cost-per-click) bid.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "searchTerms": { + "description": "Output only. A list of search terms this keyword matches. The same search term may be repeated for multiple keywords.", + "items": { + "$ref": "GoogleAdsSearchads360V23Resources_RecommendationKeywordRecommendation_SearchTerm" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Recommendation_LeadFormAssetRecommendation": { + "description": "The lead form asset recommendation.", + "id": "GoogleAdsSearchads360V23Resources_Recommendation_LeadFormAssetRecommendation", + "properties": {}, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Recommendation_LowerTargetRoasRecommendation": { + "description": "Recommendation to lower Target ROAS.", + "id": "GoogleAdsSearchads360V23Resources_Recommendation_LowerTargetRoasRecommendation", + "properties": { + "targetAdjustment": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_TargetAdjustmentInfo", + "description": "Output only. The relevant information describing the recommended target adjustment.", + "readOnly": true + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Recommendation_MaximizeClicksOptInRecommendation": { + "description": "The Maximize Clicks opt-in recommendation.", + "id": "GoogleAdsSearchads360V23Resources_Recommendation_MaximizeClicksOptInRecommendation", + "properties": { + "recommendedBudgetAmountMicros": { + "description": "Output only. The recommended new budget amount. Only set if the current budget is too high.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Recommendation_MaximizeConversionValueOptInRecommendation": { + "description": "Recommendation to opt into Maximize Conversion Value bidding strategy.", + "id": "GoogleAdsSearchads360V23Resources_Recommendation_MaximizeConversionValueOptInRecommendation", + "properties": {}, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Recommendation_MaximizeConversionsOptInRecommendation": { + "description": "The Maximize Conversions Opt-In recommendation.", + "id": "GoogleAdsSearchads360V23Resources_Recommendation_MaximizeConversionsOptInRecommendation", + "properties": { + "recommendedBudgetAmountMicros": { + "description": "Output only. The recommended new budget amount.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Recommendation_MerchantInfo": { + "description": "The Merchant Center account details.", + "id": "GoogleAdsSearchads360V23Resources_Recommendation_MerchantInfo", + "properties": { + "id": { + "description": "Output only. The Merchant Center account ID.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "multiClient": { + "description": "Output only. Whether the Merchant Center account is a Multi-Client account (MCA).", + "readOnly": true, + "type": "boolean" + }, + "name": { + "description": "Output only. The name of the Merchant Center account.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Recommendation_MigrateDynamicSearchAdsCampaignToPerformanceMaxRecommendation": { + "description": "The Dynamic Search Ads to Performance Max migration recommendation.", + "id": "GoogleAdsSearchads360V23Resources_Recommendation_MigrateDynamicSearchAdsCampaignToPerformanceMaxRecommendation", + "properties": { + "applyLink": { + "description": "Output only. A link to the Google Ads UI where the customer can manually apply the recommendation.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Recommendation_MoveUnusedBudgetRecommendation": { + "description": "The move unused budget recommendation.", + "id": "GoogleAdsSearchads360V23Resources_Recommendation_MoveUnusedBudgetRecommendation", + "properties": { + "budgetRecommendation": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_CampaignBudgetRecommendation", + "description": "Output only. The recommendation for the constrained budget to increase.", + "readOnly": true + }, + "excessCampaignBudget": { + "description": "Output only. The excess budget's resource_name.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Recommendation_OptimizeAdRotationRecommendation": { + "description": "The Optimize Ad Rotation recommendation.", + "id": "GoogleAdsSearchads360V23Resources_Recommendation_OptimizeAdRotationRecommendation", + "properties": {}, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Recommendation_PerformanceMaxFinalUrlOptInRecommendation": { + "description": "Recommendation to turn on Final URL expansion for your Performance Max campaigns.", + "id": "GoogleAdsSearchads360V23Resources_Recommendation_PerformanceMaxFinalUrlOptInRecommendation", + "properties": {}, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Recommendation_PerformanceMaxOptInRecommendation": { + "description": "The Performance Max Opt In recommendation.", + "id": "GoogleAdsSearchads360V23Resources_Recommendation_PerformanceMaxOptInRecommendation", + "properties": {}, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Recommendation_RaiseTargetCpaBidTooLowRecommendation": { + "description": "The raise target CPA bid too low recommendation.", + "id": "GoogleAdsSearchads360V23Resources_Recommendation_RaiseTargetCpaBidTooLowRecommendation", + "properties": { + "averageTargetCpaMicros": { + "description": "Output only. The current average target CPA of the campaign, in micros of customer local currency.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "recommendedTargetMultiplier": { + "description": "Output only. A number greater than 1.0 indicating the factor by which we recommend the target CPA should be increased.", + "format": "double", + "readOnly": true, + "type": "number" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Recommendation_RaiseTargetCpaRecommendation": { + "description": "Recommendation to raise Target CPA.", + "id": "GoogleAdsSearchads360V23Resources_Recommendation_RaiseTargetCpaRecommendation", + "properties": { + "appBiddingGoal": { + "description": "Output only. Represents the goal towards which the bidding strategy should optimize. Only populated for App Campaigns.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "OPTIMIZE_FOR_INSTALL_CONVERSION_VOLUME", + "OPTIMIZE_FOR_IN_APP_CONVERSION_VOLUME", + "OPTIMIZE_FOR_TOTAL_CONVERSION_VALUE", + "OPTIMIZE_FOR_TARGET_IN_APP_CONVERSION", + "OPTIMIZE_FOR_RETURN_ON_ADVERTISING_SPEND", + "OPTIMIZE_FOR_INSTALL_CONVERSION_VOLUME_WITHOUT_TARGET_CPI", + "OPTIMIZE_FOR_PRE_REGISTRATION_CONVERSION_VOLUME" + ], + "enumDescriptions": [ + "Not specified.", + "Represents value unknown in this version of the API.", + "The bidding strategy of the app campaign should aim to maximize installation of the app.", + "The bidding strategy of the app campaign should aim to maximize the selected in-app conversions' volume.", + "The bidding strategy of the app campaign should aim to maximize all conversions' value, that is, install and selected in-app conversions.", + "The bidding strategy of the app campaign should aim to maximize just the selected in-app conversion's volume, while achieving or exceeding target cost per in-app conversion.", + "The bidding strategy of the app campaign should aim to maximize all conversions' value, that is, install and selected in-app conversions while achieving or exceeding target return on advertising spend.", + "This bidding strategy of the app campaign should aim to maximize installation of the app without advertiser-provided target cost-per-install.", + "This bidding strategy of the app campaign should aim to maximize pre-registration of the app." + ], + "readOnly": true, + "type": "string" + }, + "targetAdjustment": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_TargetAdjustmentInfo", + "description": "Output only. The relevant information describing the recommended target adjustment.", + "readOnly": true + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Recommendation_RecommendationImpact": { + "description": "The impact of making the change as described in the recommendation. Some types of recommendations may not have impact information.", + "id": "GoogleAdsSearchads360V23Resources_Recommendation_RecommendationImpact", + "properties": { + "baseMetrics": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_RecommendationMetrics", + "description": "Output only. Base metrics at the time the recommendation was generated.", + "readOnly": true + }, + "potentialMetrics": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_RecommendationMetrics", + "description": "Output only. Estimated metrics if the recommendation is applied.", + "readOnly": true + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Recommendation_RecommendationMetrics": { + "description": "Weekly account performance metrics. For some recommendation types, these are averaged over the past 90-day period and hence can be fractional.", + "id": "GoogleAdsSearchads360V23Resources_Recommendation_RecommendationMetrics", + "properties": { + "clicks": { + "description": "Output only. Number of ad clicks.", + "format": "double", + "readOnly": true, + "type": "number" + }, + "conversions": { + "description": "Output only. Number of conversions.", + "format": "double", + "readOnly": true, + "type": "number" + }, + "conversionsValue": { + "description": "Output only. Sum of the conversion value of the conversions.", + "format": "double", + "readOnly": true, + "type": "number" + }, + "costMicros": { + "description": "Output only. Cost (in micros) for advertising, in the local currency for the account.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "impressions": { + "description": "Output only. Number of ad impressions.", + "format": "double", + "readOnly": true, + "type": "number" + }, + "videoViews": { + "description": "Output only. Number of video views for a video ad campaign.", + "format": "double", + "readOnly": true, + "type": "number" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Recommendation_RefreshCustomerMatchListRecommendation": { + "description": "The recommendation to update a customer list that hasn't been updated in the last 90 days. The customer receiving the recommendation is not necessarily the owner account. The owner account should update the customer list.", + "id": "GoogleAdsSearchads360V23Resources_Recommendation_RefreshCustomerMatchListRecommendation", + "properties": { + "daysSinceLastRefresh": { + "description": "Output only. Days since last refresh.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "ownerAccount": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_AccountInfo", + "description": "Output only. The owner account. This is the account that should update the customer list.", + "readOnly": true + }, + "targetingAccountsCount": { + "description": "Output only. User lists can be shared with other accounts by the owner. targeting_accounts_count is the number of those accounts that can use it for targeting.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "topSpendingAccount": { + "description": "Output only. The top spending account.", + "items": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_AccountInfo" + }, + "readOnly": true, + "type": "array" + }, + "userListId": { + "description": "Output only. The user list ID.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "userListName": { + "description": "Output only. The name of the list.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Recommendation_ResponsiveSearchAdAssetRecommendation": { + "description": "The add responsive search ad asset recommendation.", + "id": "GoogleAdsSearchads360V23Resources_Recommendation_ResponsiveSearchAdAssetRecommendation", + "properties": { + "currentAd": { + "$ref": "GoogleAdsSearchads360V23Resources__Ad", + "description": "Output only. The current ad to be updated.", + "readOnly": true + }, + "recommendedAssets": { + "$ref": "GoogleAdsSearchads360V23Resources__Ad", + "description": "Output only. The recommended assets. This is populated only with the new headlines and/or descriptions, and is otherwise empty.", + "readOnly": true + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Recommendation_ResponsiveSearchAdImproveAdStrengthRecommendation": { + "description": "The responsive search ad improve ad strength recommendation.", + "id": "GoogleAdsSearchads360V23Resources_Recommendation_ResponsiveSearchAdImproveAdStrengthRecommendation", + "properties": { + "currentAd": { + "$ref": "GoogleAdsSearchads360V23Resources__Ad", + "description": "Output only. The current ad to be updated.", + "readOnly": true + }, + "recommendedAd": { + "$ref": "GoogleAdsSearchads360V23Resources__Ad", + "description": "Output only. The updated ad.", + "readOnly": true + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Recommendation_ResponsiveSearchAdRecommendation": { + "description": "The add responsive search ad recommendation.", + "id": "GoogleAdsSearchads360V23Resources_Recommendation_ResponsiveSearchAdRecommendation", + "properties": { + "ad": { + "$ref": "GoogleAdsSearchads360V23Resources__Ad", + "description": "Output only. Recommended ad.", + "readOnly": true + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Recommendation_SearchPartnersOptInRecommendation": { + "description": "The Search Partners Opt-In recommendation.", + "id": "GoogleAdsSearchads360V23Resources_Recommendation_SearchPartnersOptInRecommendation", + "properties": {}, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Recommendation_ShoppingAddProductsToCampaignRecommendation": { + "description": "The shopping recommendation to add products to a Shopping Campaign Inventory.", + "id": "GoogleAdsSearchads360V23Resources_Recommendation_ShoppingAddProductsToCampaignRecommendation", + "properties": { + "feedLabel": { + "description": "Output only. The feed label for the campaign.", + "readOnly": true, + "type": "string" + }, + "merchant": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_MerchantInfo", + "description": "Output only. The details of the Merchant Center account.", + "readOnly": true + }, + "reason": { + "description": "Output only. The reason why no products are attached to the campaign.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "MERCHANT_CENTER_ACCOUNT_HAS_NO_SUBMITTED_PRODUCTS", + "MERCHANT_CENTER_ACCOUNT_HAS_NO_SUBMITTED_PRODUCTS_IN_FEED", + "ADS_ACCOUNT_EXCLUDES_OFFERS_FROM_CAMPAIGN", + "ALL_PRODUCTS_ARE_EXCLUDED_FROM_CAMPAIGN" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The Merchant Center account does not have any submitted products.", + "The Merchant Center account does not have any submitted products in the feed.", + "The Google Ads account has active campaign filters that prevents inclusion of offers in the campaign.", + "All products available have been explicitly excluded from being targeted by the campaign." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Recommendation_ShoppingFixDisapprovedProductsRecommendation": { + "description": "The shopping recommendation to fix disapproved products in a Shopping Campaign Inventory.", + "id": "GoogleAdsSearchads360V23Resources_Recommendation_ShoppingFixDisapprovedProductsRecommendation", + "properties": { + "disapprovedProductsCount": { + "description": "Output only. The numbers of products of the campaign that are disapproved.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "feedLabel": { + "description": "Output only. The feed label for the campaign.", + "readOnly": true, + "type": "string" + }, + "merchant": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_MerchantInfo", + "description": "Output only. The details of the Merchant Center account.", + "readOnly": true + }, + "productsCount": { + "description": "Output only. The number of products of the campaign.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Recommendation_ShoppingMerchantCenterAccountSuspensionRecommendation": { + "description": "The shopping recommendation to fix Merchant Center account suspension issues.", + "id": "GoogleAdsSearchads360V23Resources_Recommendation_ShoppingMerchantCenterAccountSuspensionRecommendation", + "properties": { + "feedLabel": { + "description": "Output only. The feed label of the campaign for which the suspension happened.", + "readOnly": true, + "type": "string" + }, + "merchant": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_MerchantInfo", + "description": "Output only. The details of the Merchant Center account.", + "readOnly": true + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Recommendation_ShoppingMigrateRegularShoppingCampaignOffersToPerformanceMaxRecommendation": { + "description": "The shopping recommendation to migrate Regular Shopping Campaign targeted offers to Performance Max campaigns.", + "id": "GoogleAdsSearchads360V23Resources_Recommendation_ShoppingMigrateRegularShoppingCampaignOffersToPerformanceMaxRecommendation", + "properties": { + "feedLabel": { + "description": "Output only. The feed label of the offers targeted by the campaigns sharing this suggestion.", + "readOnly": true, + "type": "string" + }, + "merchant": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_MerchantInfo", + "description": "Output only. The details of the Merchant Center account.", + "readOnly": true + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Recommendation_ShoppingOfferAttributeRecommendation": { + "description": "The shopping recommendation to add an attribute to offers that are demoted because it is missing.", + "id": "GoogleAdsSearchads360V23Resources_Recommendation_ShoppingOfferAttributeRecommendation", + "properties": { + "demotedOffersCount": { + "description": "Output only. The number of online, servable offers that are demoted for missing attributes. Visit the Merchant Center for more details.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "feedLabel": { + "description": "Output only. The campaign feed label.", + "readOnly": true, + "type": "string" + }, + "merchant": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_MerchantInfo", + "description": "Output only. The details of the Merchant Center account.", + "readOnly": true + }, + "offersCount": { + "description": "Output only. The number of online, servable offers.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Recommendation_ShoppingTargetAllOffersRecommendation": { + "description": "The shopping recommendation to create a catch-all campaign that targets all offers.", + "id": "GoogleAdsSearchads360V23Resources_Recommendation_ShoppingTargetAllOffersRecommendation", + "properties": { + "feedLabel": { + "description": "Output only. The offer feed label.", + "readOnly": true, + "type": "string" + }, + "merchant": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_MerchantInfo", + "description": "Output only. The details of the Merchant Center account.", + "readOnly": true + }, + "untargetedOffersCount": { + "description": "Output only. The number of untargeted offers.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Recommendation_SitelinkAssetRecommendation": { + "description": "The sitelink asset recommendation.", + "id": "GoogleAdsSearchads360V23Resources_Recommendation_SitelinkAssetRecommendation", + "properties": { + "recommendedCampaignSitelinkAssets": { + "description": "Output only. New sitelink assets recommended at the campaign level.", + "items": { + "$ref": "GoogleAdsSearchads360V23Resources__Asset" + }, + "readOnly": true, + "type": "array" + }, + "recommendedCustomerSitelinkAssets": { + "description": "Output only. New sitelink assets recommended at the customer level.", + "items": { + "$ref": "GoogleAdsSearchads360V23Resources__Asset" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Recommendation_TargetAdjustmentInfo": { + "description": "Information of a target adjustment recommendation.", + "id": "GoogleAdsSearchads360V23Resources_Recommendation_TargetAdjustmentInfo", + "properties": { + "currentAverageTargetMicros": { + "description": "Output only. The current average target of the campaign or portfolio targeted by this recommendation.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "recommendedTargetMultiplier": { + "description": "Output only. The factor by which we recommend the target to be adjusted by.", + "format": "double", + "readOnly": true, + "type": "number" + }, + "sharedSet": { + "description": "Output only. The shared set resource name of the portfolio bidding strategy where the target is defined. Only populated if the recommendation is portfolio level.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Recommendation_TargetCpaOptInRecommendation": { + "description": "The Target CPA opt-in recommendation.", + "id": "GoogleAdsSearchads360V23Resources_Recommendation_TargetCpaOptInRecommendation", + "properties": { + "options": { + "description": "Output only. The available goals and corresponding options for Target CPA strategy.", + "items": { + "$ref": "GoogleAdsSearchads360V23Resources_RecommendationTargetCpaOptInRecommendation_TargetCpaOptInRecommendationOption" + }, + "readOnly": true, + "type": "array" + }, + "recommendedTargetCpaMicros": { + "description": "Output only. The recommended average CPA target. See required budget amount and impact of using this recommendation in options list.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Recommendation_TargetRoasOptInRecommendation": { + "description": "The Target ROAS opt-in recommendation.", + "id": "GoogleAdsSearchads360V23Resources_Recommendation_TargetRoasOptInRecommendation", + "properties": { + "recommendedTargetRoas": { + "description": "Output only. The recommended target ROAS (revenue per unit of spend). The value is between 0.01 and 1000.0, inclusive.", + "format": "double", + "readOnly": true, + "type": "number" + }, + "requiredCampaignBudgetAmountMicros": { + "description": "Output only. The minimum campaign budget, in local currency for the account, required to achieve the target ROAS. Amount is specified in micros, where one million is equivalent to one currency unit.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Recommendation_TextAdRecommendation": { + "description": "The text ad recommendation.", + "id": "GoogleAdsSearchads360V23Resources_Recommendation_TextAdRecommendation", + "properties": { + "ad": { + "$ref": "GoogleAdsSearchads360V23Resources__Ad", + "description": "Output only. Recommended ad.", + "readOnly": true + }, + "autoApplyDate": { + "description": "Output only. Date, if present, is the earliest when the recommendation will be auto applied. YYYY-MM-DD format, for example, 2018-04-17.", + "readOnly": true, + "type": "string" + }, + "creationDate": { + "description": "Output only. Creation date of the recommended ad. YYYY-MM-DD format, for example, 2018-04-17.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Recommendation_UpgradeLocalCampaignToPerformanceMaxRecommendation": { + "description": "The Upgrade Local campaign to Performance Max campaign recommendation.", + "id": "GoogleAdsSearchads360V23Resources_Recommendation_UpgradeLocalCampaignToPerformanceMaxRecommendation", + "properties": {}, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Recommendation_UpgradeSmartShoppingCampaignToPerformanceMaxRecommendation": { + "description": "The upgrade a Smart Shopping campaign to a Performance Max campaign recommendation.", + "id": "GoogleAdsSearchads360V23Resources_Recommendation_UpgradeSmartShoppingCampaignToPerformanceMaxRecommendation", + "properties": { + "merchantId": { + "description": "Output only. ID of Merchant Center account.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "salesCountryCode": { + "description": "Output only. Country whose products from merchant's inventory should be included.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_Recommendation_UseBroadMatchKeywordRecommendation": { + "description": "The use broad match keyword recommendation.", + "id": "GoogleAdsSearchads360V23Resources_Recommendation_UseBroadMatchKeywordRecommendation", + "properties": { + "campaignKeywordsCount": { + "description": "Output only. Total number of keywords in the campaign.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "campaignUsesSharedBudget": { + "description": "Output only. Whether the associated campaign uses a shared budget.", + "readOnly": true, + "type": "boolean" + }, + "keyword": { + "description": "Output only. Sample of keywords to be expanded to Broad Match.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__KeywordInfo" + }, + "readOnly": true, + "type": "array" + }, + "requiredCampaignBudgetAmountMicros": { + "description": "Output only. The budget recommended to avoid becoming budget constrained after applying the recommendation.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "suggestedKeywordsCount": { + "description": "Output only. Total number of keywords to be expanded to Broad Match in the campaign.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_ShoppingProduct_ProductIssue": { + "description": "An issue affecting whether a product can show in ads.", + "id": "GoogleAdsSearchads360V23Resources_ShoppingProduct_ProductIssue", + "properties": { + "adsSeverity": { + "description": "Output only. The severity of the issue in Google Ads.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "WARNING", + "ERROR" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The issue limits the performance of the product in ads.", + "The issue prevents the product from showing in ads." + ], + "readOnly": true, + "type": "string" + }, + "affectedRegions": { + "description": "Output only. List of upper-case two-letter ISO 3166-1 codes of the regions affected by the issue. If empty, all regions are affected.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "attributeName": { + "description": "Output only. The name of the product's attribute, if any, that triggered the issue.", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Output only. The short description of the issue in English.", + "readOnly": true, + "type": "string" + }, + "detail": { + "description": "Output only. The detailed description of the issue in English.", + "readOnly": true, + "type": "string" + }, + "documentation": { + "description": "Output only. The URL of the Help Center article for the issue.", + "readOnly": true, + "type": "string" + }, + "errorCode": { + "description": "Output only. The error code that identifies the issue.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_SmartCampaignSetting_AdOptimizedBusinessProfileSetting": { + "description": "Settings for configuring a business profile optimized for ads as this campaign's landing page.", + "id": "GoogleAdsSearchads360V23Resources_SmartCampaignSetting_AdOptimizedBusinessProfileSetting", + "properties": { + "includeLeadForm": { + "description": "Enabling a lead form on your business profile enables prospective customers to contact your business by filling out a simple form, and you'll receive their information through email.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources_SmartCampaignSetting_PhoneNumber": { + "description": "Phone number and country code in smart campaign settings.", + "id": "GoogleAdsSearchads360V23Resources_SmartCampaignSetting_PhoneNumber", + "properties": { + "countryCode": { + "description": "Upper-case, two-letter country code as defined by ISO-3166.", + "type": "string" + }, + "phoneNumber": { + "description": "Phone number of the smart campaign.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__AccessibleBiddingStrategy": { + "description": "Represents a view of BiddingStrategies owned by and shared with the customer. In contrast to BiddingStrategy, this resource includes strategies owned by managers of the customer and shared with this customer - in addition to strategies owned by this customer. This resource does not provide metrics and only exposes a limited subset of the BiddingStrategy attributes.", + "id": "GoogleAdsSearchads360V23Resources__AccessibleBiddingStrategy", + "properties": { + "id": { + "description": "Output only. The ID of the bidding strategy.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "maximizeConversionValue": { + "$ref": "GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_MaximizeConversionValue", + "description": "Output only. An automated bidding strategy to help get the most conversion value for your campaigns while spending your budget.", + "readOnly": true + }, + "maximizeConversions": { + "$ref": "GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_MaximizeConversions", + "description": "Output only. An automated bidding strategy to help get the most conversions for your campaigns while spending your budget.", + "readOnly": true + }, + "name": { + "description": "Output only. The name of the bidding strategy.", + "readOnly": true, + "type": "string" + }, + "ownerCustomerId": { + "description": "Output only. The ID of the Customer which owns the bidding strategy.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "ownerDescriptiveName": { + "description": "Output only. descriptive_name of the Customer which owns the bidding strategy.", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Output only. The resource name of the accessible bidding strategy. AccessibleBiddingStrategy resource names have the form: `customers/{customer_id}/accessibleBiddingStrategies/{bidding_strategy_id}`", + "readOnly": true, + "type": "string" + }, + "targetCpa": { + "$ref": "GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_TargetCpa", + "description": "Output only. A bidding strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set.", + "readOnly": true + }, + "targetImpressionShare": { + "$ref": "GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_TargetImpressionShare", + "description": "Output only. A bidding strategy that automatically optimizes towards a chosen percentage of impressions.", + "readOnly": true + }, + "targetRoas": { + "$ref": "GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_TargetRoas", + "description": "Output only. A bidding strategy that helps you maximize revenue while averaging a specific target Return On Ad Spend (ROAS).", + "readOnly": true + }, + "targetSpend": { + "$ref": "GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_TargetSpend", + "description": "Output only. A bid strategy that sets your bids to help get as many clicks as possible within your budget.", + "readOnly": true + }, + "type": { + "description": "Output only. The type of the bidding strategy.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "COMMISSION", + "ENHANCED_CPC", + "INVALID", + "MANUAL_CPA", + "MANUAL_CPC", + "MANUAL_CPM", + "MANUAL_CPV", + "MAXIMIZE_CONVERSIONS", + "MAXIMIZE_CONVERSION_VALUE", + "PAGE_ONE_PROMOTED", + "PERCENT_CPC", + "TARGET_CPA", + "TARGET_CPC", + "TARGET_CPM", + "TARGET_IMPRESSION_SHARE", + "TARGET_OUTRANK_SHARE", + "TARGET_ROAS", + "TARGET_SPEND" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Commission is an automatic bidding strategy in which the advertiser pays a certain portion of the conversion value.", + "Enhanced CPC is a bidding strategy that raises bids for clicks that seem more likely to lead to a conversion and lowers them for clicks where they seem less likely.", + "Used for return value only. Indicates that a campaign does not have a bidding strategy. This prevents the campaign from serving. For example, a campaign may be attached to a manager bidding strategy and the serving account is subsequently unlinked from the manager account. In this case the campaign will automatically be detached from the now inaccessible manager bidding strategy and transition to the INVALID bidding strategy type.", + "Manual bidding strategy that allows advertiser to set the bid per advertiser-specified action.", + "Manual click based bidding where user pays per click.", + "Manual impression based bidding where user pays per thousand impressions.", + "A bidding strategy that pays a configurable amount per video view.", + "A bidding strategy that automatically maximizes number of conversions given a daily budget.", + "An automated bidding strategy that automatically sets bids to maximize revenue while spending your budget.", + "Page-One Promoted bidding scheme, which sets max cpc bids to target impressions on page one or page one promoted slots on google.com. This enum value is deprecated.", + "Percent Cpc is bidding strategy where bids are a fraction of the advertised price for some good or service.", + "Target CPA is an automated bid strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set.", + "Target CPC is an automated bid strategy that sets bids to help get as many clicks as possible at the target cost-per-click (CPC) you set.", + "Target CPM is an automated bid strategy that sets bids to help get as many impressions as possible at the target cost per one thousand impressions (CPM) you set.", + "An automated bidding strategy that sets bids so that a certain percentage of search ads are shown at the top of the first page (or other targeted location).", + "Target Outrank Share is an automated bidding strategy that sets bids based on the target fraction of auctions where the advertiser should outrank a specific competitor. This enum value is deprecated.", + "Target ROAS is an automated bidding strategy that helps you maximize revenue while averaging a specific target Return On Average Spend (ROAS).", + "Target Spend is an automated bid strategy that sets your bids to help get as many clicks as possible within your budget." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__AccountBudget": { + "description": "An account-level budget. It contains information about the budget itself, as well as the most recently approved changes to the budget and proposed changes that are pending approval. The proposed changes that are pending approval, if any, are found in 'pending_proposal'. Effective details about the budget are found in fields prefixed 'approved_', 'adjusted_' and those without a prefix. Since some effective details may differ from what the user had originally requested (for example, spending limit), these differences are juxtaposed through 'proposed_', 'approved_', and possibly 'adjusted_' fields. This resource is mutated using AccountBudgetProposal and cannot be mutated directly. A budget may have at most one pending proposal at any given time. It is read through pending_proposal. Once approved, a budget may be subject to adjustments, such as credit adjustments. Adjustments create differences between the 'approved' and 'adjusted' fields, which would otherwise be identical.", + "id": "GoogleAdsSearchads360V23Resources__AccountBudget", + "properties": { + "adjustedSpendingLimitMicros": { + "description": "Output only. The adjusted spending limit in micros. One million is equivalent to one unit. If the approved spending limit is finite, the adjusted spending limit may vary depending on the types of adjustments applied to this budget, if applicable. The different kinds of adjustments are described here: https://support.google.com/google-ads/answer/1704323 For example, a debit adjustment reduces how much the account is allowed to spend.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "adjustedSpendingLimitType": { + "description": "Output only. The adjusted spending limit as a well-defined type, for example, INFINITE. This will only be populated if the adjusted spending limit is INFINITE, which is guaranteed to be true if the approved spending limit is INFINITE.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "INFINITE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Infinite, indicates unlimited spending power." + ], + "readOnly": true, + "type": "string" + }, + "amountServedMicros": { + "description": "Output only. The value of Ads that have been served, in micros. This includes overdelivery costs, in which case a credit might be automatically applied to the budget (see total_adjustments_micros).", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "approvedEndDateTime": { + "description": "Output only. The approved end time in yyyy-MM-dd HH:mm:ss format.", + "readOnly": true, + "type": "string" + }, + "approvedEndTimeType": { + "description": "Output only. The approved end time as a well-defined type, for example, FOREVER.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "NOW", + "FOREVER" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "As soon as possible.", + "An infinite point in the future." + ], + "readOnly": true, + "type": "string" + }, + "approvedSpendingLimitMicros": { + "description": "Output only. The approved spending limit in micros. One million is equivalent to one unit. This will only be populated if the proposed spending limit is finite, and will always be greater than or equal to the proposed spending limit.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "approvedSpendingLimitType": { + "description": "Output only. The approved spending limit as a well-defined type, for example, INFINITE. This will only be populated if the approved spending limit is INFINITE.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "INFINITE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Infinite, indicates unlimited spending power." + ], + "readOnly": true, + "type": "string" + }, + "approvedStartDateTime": { + "description": "Output only. The approved start time of the account-level budget in yyyy-MM-dd HH:mm:ss format. For example, if a new budget is approved after the proposed start time, the approved start time is the time of approval.", + "readOnly": true, + "type": "string" + }, + "billingSetup": { + "description": "Output only. The resource name of the billing setup associated with this account-level budget. BillingSetup resource names have the form: `customers/{customer_id}/billingSetups/{billing_setup_id}`", + "readOnly": true, + "type": "string" + }, + "id": { + "description": "Output only. The ID of the account-level budget.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. The name of the account-level budget.", + "readOnly": true, + "type": "string" + }, + "notes": { + "description": "Output only. Notes associated with the budget.", + "readOnly": true, + "type": "string" + }, + "pendingProposal": { + "$ref": "GoogleAdsSearchads360V23Resources_AccountBudget_PendingAccountBudgetProposal", + "description": "Output only. The pending proposal to modify this budget, if applicable.", + "readOnly": true + }, + "proposedEndDateTime": { + "description": "Output only. The proposed end time in yyyy-MM-dd HH:mm:ss format.", + "readOnly": true, + "type": "string" + }, + "proposedEndTimeType": { + "description": "Output only. The proposed end time as a well-defined type, for example, FOREVER.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "NOW", + "FOREVER" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "As soon as possible.", + "An infinite point in the future." + ], + "readOnly": true, + "type": "string" + }, + "proposedSpendingLimitMicros": { + "description": "Output only. The proposed spending limit in micros. One million is equivalent to one unit.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "proposedSpendingLimitType": { + "description": "Output only. The proposed spending limit as a well-defined type, for example, INFINITE.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "INFINITE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Infinite, indicates unlimited spending power." + ], + "readOnly": true, + "type": "string" + }, + "proposedStartDateTime": { + "description": "Output only. The proposed start time of the account-level budget in yyyy-MM-dd HH:mm:ss format. If a start time type of NOW was proposed, this is the time of request.", + "readOnly": true, + "type": "string" + }, + "purchaseOrderNumber": { + "description": "Output only. A purchase order number is a value that helps users reference this budget in their monthly invoices.", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Output only. The resource name of the account-level budget. AccountBudget resource names have the form: `customers/{customer_id}/accountBudgets/{account_budget_id}`", + "readOnly": true, + "type": "string" + }, + "status": { + "description": "Output only. The status of this account-level budget.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "PENDING", + "APPROVED", + "CANCELLED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The account budget is pending approval.", + "The account budget has been approved.", + "The account budget has been cancelled by the user." + ], + "readOnly": true, + "type": "string" + }, + "totalAdjustmentsMicros": { + "description": "Output only. The total adjustments amount. An example of an adjustment is courtesy credits.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__AccountBudgetProposal": { + "description": "An account-level budget proposal. All fields prefixed with 'proposed' may not necessarily be applied directly. For example, proposed spending limits may be adjusted before their application. This is true if the 'proposed' field has an 'approved' counterpart, for example, spending limits. Note that the proposal type (proposal_type) changes which fields are required and which must remain empty.", + "id": "GoogleAdsSearchads360V23Resources__AccountBudgetProposal", + "properties": { + "accountBudget": { + "description": "Immutable. The resource name of the account-level budget associated with this proposal.", + "type": "string" + }, + "approvalDateTime": { + "description": "Output only. The date time when this account-level budget was approved, if applicable.", + "readOnly": true, + "type": "string" + }, + "approvedEndDateTime": { + "description": "Output only. The approved end date time in yyyy-mm-dd hh:mm:ss format.", + "readOnly": true, + "type": "string" + }, + "approvedEndTimeType": { + "description": "Output only. The approved end date time as a well-defined type, for example, FOREVER.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "NOW", + "FOREVER" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "As soon as possible.", + "An infinite point in the future." + ], + "readOnly": true, + "type": "string" + }, + "approvedSpendingLimitMicros": { + "description": "Output only. The approved spending limit in micros. One million is equivalent to one unit.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "approvedSpendingLimitType": { + "description": "Output only. The approved spending limit as a well-defined type, for example, INFINITE.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "INFINITE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Infinite, indicates unlimited spending power." + ], + "readOnly": true, + "type": "string" + }, + "approvedStartDateTime": { + "description": "Output only. The approved start date time in yyyy-mm-dd hh:mm:ss format.", + "readOnly": true, + "type": "string" + }, + "billingSetup": { + "description": "Immutable. The resource name of the billing setup associated with this proposal.", + "type": "string" + }, + "creationDateTime": { + "description": "Output only. The date time when this account-level budget proposal was created, which is not the same as its approval date time, if applicable.", + "readOnly": true, + "type": "string" + }, + "id": { + "description": "Output only. The ID of the proposal.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "proposalType": { + "description": "Immutable. The type of this proposal, for example, END to end the budget associated with this proposal.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CREATE", + "UPDATE", + "END", + "REMOVE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Identifies a request to create a new budget.", + "Identifies a request to edit an existing budget.", + "Identifies a request to end a budget that has already started.", + "Identifies a request to remove a budget that hasn't started yet." + ], + "type": "string" + }, + "proposedEndDateTime": { + "description": "Immutable. The proposed end date time in yyyy-mm-dd hh:mm:ss format.", + "type": "string" + }, + "proposedEndTimeType": { + "description": "Immutable. The proposed end date time as a well-defined type, for example, FOREVER.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "NOW", + "FOREVER" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "As soon as possible.", + "An infinite point in the future." + ], + "type": "string" + }, + "proposedName": { + "description": "Immutable. The name to assign to the account-level budget.", + "type": "string" + }, + "proposedNotes": { + "description": "Immutable. Notes associated with this budget.", + "type": "string" + }, + "proposedPurchaseOrderNumber": { + "description": "Immutable. A purchase order number is a value that enables the user to help them reference this budget in their monthly invoices.", + "type": "string" + }, + "proposedSpendingLimitMicros": { + "description": "Immutable. The proposed spending limit in micros. One million is equivalent to one unit.", + "format": "int64", + "type": "string" + }, + "proposedSpendingLimitType": { + "description": "Immutable. The proposed spending limit as a well-defined type, for example, INFINITE.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "INFINITE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Infinite, indicates unlimited spending power." + ], + "type": "string" + }, + "proposedStartDateTime": { + "description": "Immutable. The proposed start date time in yyyy-mm-dd hh:mm:ss format.", + "type": "string" + }, + "proposedStartTimeType": { + "description": "Immutable. The proposed start date time as a well-defined type, for example, NOW.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "NOW", + "FOREVER" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "As soon as possible.", + "An infinite point in the future." + ], + "type": "string" + }, + "resourceName": { + "description": "Immutable. The resource name of the proposal. AccountBudgetProposal resource names have the form: `customers/{customer_id}/accountBudgetProposals/{account_budget_proposal_id}`", + "type": "string" + }, + "status": { + "description": "Output only. The status of this proposal. When a new proposal is created, the status defaults to PENDING.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "PENDING", + "APPROVED_HELD", + "APPROVED", + "CANCELLED", + "REJECTED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The proposal is pending approval.", + "The proposal has been approved but the corresponding billing setup has not. This can occur for proposals that set up the first budget when signing up for billing or when performing a change of bill-to operation.", + "The proposal has been approved.", + "The proposal has been cancelled by the user.", + "The proposal has been rejected by the user, for example, by rejecting an acceptance email." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__AccountLink": { + "description": "Represents the data sharing connection between a Google Ads account and another account", + "id": "GoogleAdsSearchads360V23Resources__AccountLink", + "properties": { + "accountLinkId": { + "description": "Output only. The ID of the link. This field is read only.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Immutable. Resource name of the account link. AccountLink resource names have the form: `customers/{customer_id}/accountLinks/{account_link_id}`", + "type": "string" + }, + "status": { + "description": "The status of the link.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ENABLED", + "REMOVED", + "REQUESTED", + "PENDING_APPROVAL", + "REJECTED", + "REVOKED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The link is enabled.", + "The link is removed/disabled.", + "The link to the other account has been requested. A user on the other account may now approve the link by setting the status to ENABLED.", + "This link has been requested by a user on the other account. It may be approved by a user on this account by setting the status to ENABLED.", + "The link is rejected by the approver.", + "The link is revoked by the user who requested the link." + ], + "type": "string" + }, + "thirdPartyAppAnalytics": { + "$ref": "GoogleAdsSearchads360V23Resources__ThirdPartyAppAnalyticsLinkIdentifier", + "description": "Immutable. A third party app analytics link." + }, + "type": { + "description": "Output only. The type of the linked account.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "THIRD_PARTY_APP_ANALYTICS" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "A link to provide third party app analytics data." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__Ad": { + "description": "An ad.", + "id": "GoogleAdsSearchads360V23Resources__Ad", + "properties": { + "addedByGoogleAds": { + "description": "Output only. Indicates if this ad was automatically added by Google Ads and not by a user. For example, this could happen when ads are automatically created as suggestions for new ads based on knowledge of how existing ads are performing.", + "readOnly": true, + "type": "boolean" + }, + "appAd": { + "$ref": "GoogleAdsSearchads360V23Common__AppAdInfo", + "description": "Details pertaining to an app ad." + }, + "appEngagementAd": { + "$ref": "GoogleAdsSearchads360V23Common__AppEngagementAdInfo", + "description": "Details pertaining to an app engagement ad." + }, + "appPreRegistrationAd": { + "$ref": "GoogleAdsSearchads360V23Common__AppPreRegistrationAdInfo", + "description": "Details pertaining to an app pre-registration ad." + }, + "demandGenCarouselAd": { + "$ref": "GoogleAdsSearchads360V23Common__DemandGenCarouselAdInfo", + "description": "Details pertaining to a Demand Gen carousel ad." + }, + "demandGenMultiAssetAd": { + "$ref": "GoogleAdsSearchads360V23Common__DemandGenMultiAssetAdInfo", + "description": "Details pertaining to a Demand Gen multi asset ad." + }, + "demandGenProductAd": { + "$ref": "GoogleAdsSearchads360V23Common__DemandGenProductAdInfo", + "description": "Details pertaining to a Demand Gen product ad." + }, + "demandGenVideoResponsiveAd": { + "$ref": "GoogleAdsSearchads360V23Common__DemandGenVideoResponsiveAdInfo", + "description": "Details pertaining to a Demand Gen video responsive ad." + }, + "devicePreference": { + "description": "The device preference for the ad. You can only specify a preference for mobile devices. When this preference is set the ad will be preferred over other ads when being displayed on a mobile device. The ad can still be displayed on other device types, for example, if no other ads are available. If unspecified (no device preference), all devices are targeted. This is only supported by some ad types.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "MOBILE", + "TABLET", + "DESKTOP", + "CONNECTED_TV", + "OTHER" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "Mobile devices with full browsers.", + "Tablets with full browsers.", + "Computers.", + "Smart TVs and game consoles.", + "Other device types." + ], + "type": "string" + }, + "displayUploadAd": { + "$ref": "GoogleAdsSearchads360V23Common__DisplayUploadAdInfo", + "description": "Details pertaining to a display upload ad." + }, + "displayUrl": { + "description": "The URL that appears in the ad description for some ad formats.", + "type": "string" + }, + "expandedDynamicSearchAd": { + "$ref": "GoogleAdsSearchads360V23Common__ExpandedDynamicSearchAdInfo", + "description": "Immutable. Details pertaining to an Expanded Dynamic Search Ad. This type of ad has its headline, final URLs, and display URL auto-generated at serving time according to domain name specific information provided by `dynamic_search_ads_setting` linked at the campaign level." + }, + "expandedTextAd": { + "$ref": "GoogleAdsSearchads360V23Common__ExpandedTextAdInfo", + "description": "Details pertaining to an expanded text ad." + }, + "finalAppUrls": { + "description": "A list of final app URLs that will be used on mobile if the user has the specific app installed.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__FinalAppUrl" + }, + "type": "array" + }, + "finalMobileUrls": { + "description": "The list of possible final mobile URLs after all cross-domain redirects for the ad.", + "items": { + "type": "string" + }, + "type": "array" + }, + "finalUrlSuffix": { + "description": "The suffix to use when constructing a final URL.", + "type": "string" + }, + "finalUrls": { + "description": "The list of possible final URLs after all cross-domain redirects for the ad.", + "items": { + "type": "string" + }, + "type": "array" + }, + "hotelAd": { + "$ref": "GoogleAdsSearchads360V23Common__HotelAdInfo", + "description": "Details pertaining to a hotel ad." + }, + "id": { + "description": "Output only. The ID of the ad.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "imageAd": { + "$ref": "GoogleAdsSearchads360V23Common__ImageAdInfo", + "description": "Immutable. Details pertaining to an Image ad." + }, + "legacyAppInstallAd": { + "$ref": "GoogleAdsSearchads360V23Common__LegacyAppInstallAdInfo", + "description": "Immutable. Details pertaining to a legacy app install ad." + }, + "legacyResponsiveDisplayAd": { + "$ref": "GoogleAdsSearchads360V23Common__LegacyResponsiveDisplayAdInfo", + "description": "Details pertaining to a legacy responsive display ad." + }, + "localAd": { + "$ref": "GoogleAdsSearchads360V23Common__LocalAdInfo", + "description": "Details pertaining to a local ad." + }, + "name": { + "description": "Immutable. The name of the ad. This is only used to be able to identify the ad. It does not need to be unique and does not affect the served ad.", + "type": "string" + }, + "productAd": { + "$ref": "GoogleAdsSearchads360V23Common__SearchAds360ProductAdInfo", + "description": "Immutable. Details pertaining to a product ad." + }, + "resourceName": { + "description": "Immutable. The resource name of the ad. Ad resource names have the form: `customers/{customer_id}/ads/{ad_id}`", + "type": "string" + }, + "responsiveDisplayAd": { + "$ref": "GoogleAdsSearchads360V23Common__ResponsiveDisplayAdInfo", + "description": "Details pertaining to a responsive display ad." + }, + "responsiveSearchAd": { + "$ref": "GoogleAdsSearchads360V23Common__ResponsiveSearchAdInfo", + "description": "Details pertaining to a responsive search ad." + }, + "searchAds360ExpandedDynamicSearchAd": { + "$ref": "GoogleAdsSearchads360V23Common__SearchAds360ExpandedDynamicSearchAdInfo", + "description": "Immutable. Details pertaining to an expanded dynamic search ad." + }, + "searchAds360ExpandedTextAd": { + "$ref": "GoogleAdsSearchads360V23Common__SearchAds360ExpandedTextAdInfo", + "description": "Immutable. Details pertaining to an expanded text ad." + }, + "searchAds360ResponsiveSearchAd": { + "$ref": "GoogleAdsSearchads360V23Common__SearchAds360ResponsiveSearchAdInfo", + "description": "Immutable. Details pertaining to a responsive search ad." + }, + "searchAds360TextAd": { + "$ref": "GoogleAdsSearchads360V23Common__SearchAds360TextAdInfo", + "description": "Immutable. Details pertaining to a text ad." + }, + "shoppingComparisonListingAd": { + "$ref": "GoogleAdsSearchads360V23Common__ShoppingComparisonListingAdInfo", + "description": "Details pertaining to a Shopping Comparison Listing ad." + }, + "shoppingProductAd": { + "$ref": "GoogleAdsSearchads360V23Common__ShoppingProductAdInfo", + "description": "Details pertaining to a Shopping product ad." + }, + "shoppingSmartAd": { + "$ref": "GoogleAdsSearchads360V23Common__ShoppingSmartAdInfo", + "description": "Details pertaining to a Smart Shopping ad." + }, + "smartCampaignAd": { + "$ref": "GoogleAdsSearchads360V23Common__SmartCampaignAdInfo", + "description": "Details pertaining to a Smart campaign ad." + }, + "systemManagedResourceSource": { + "description": "Output only. If this ad is system managed, then this field will indicate the source. This field is read-only.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "AD_VARIATIONS" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Generated ad variations experiment ad." + ], + "readOnly": true, + "type": "string" + }, + "textAd": { + "$ref": "GoogleAdsSearchads360V23Common__TextAdInfo", + "description": "Immutable. Details pertaining to a text ad." + }, + "trackingUrlTemplate": { + "description": "The URL template for constructing a tracking URL.", + "type": "string" + }, + "travelAd": { + "$ref": "GoogleAdsSearchads360V23Common__TravelAdInfo", + "description": "Details pertaining to a travel ad." + }, + "type": { + "description": "Output only. The type of ad.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "TEXT_AD", + "EXPANDED_TEXT_AD", + "EXPANDED_DYNAMIC_SEARCH_AD", + "HOTEL_AD", + "SHOPPING_SMART_AD", + "SHOPPING_PRODUCT_AD", + "VIDEO_AD", + "IMAGE_AD", + "RESPONSIVE_SEARCH_AD", + "LEGACY_RESPONSIVE_DISPLAY_AD", + "APP_AD", + "LEGACY_APP_INSTALL_AD", + "RESPONSIVE_DISPLAY_AD", + "LOCAL_AD", + "HTML5_UPLOAD_AD", + "DYNAMIC_HTML5_AD", + "APP_ENGAGEMENT_AD", + "SHOPPING_COMPARISON_LISTING_AD", + "VIDEO_BUMPER_AD", + "VIDEO_NON_SKIPPABLE_IN_STREAM_AD", + "VIDEO_TRUEVIEW_IN_STREAM_AD", + "VIDEO_RESPONSIVE_AD", + "SMART_CAMPAIGN_AD", + "CALL_AD", + "APP_PRE_REGISTRATION_AD", + "DEMAND_GEN_MULTI_ASSET_AD", + "DEMAND_GEN_CAROUSEL_AD", + "TRAVEL_AD", + "DEMAND_GEN_VIDEO_RESPONSIVE_AD", + "DEMAND_GEN_PRODUCT_AD", + "MULTIMEDIA_AD" + ], + "enumDescriptions": [ + "No value has been specified.", + "The received value is not known in this version. This is a response-only value.", + "The ad is a text ad.", + "The ad is an expanded text ad.", + "The ad is an expanded dynamic search ad.", + "The ad is a hotel ad.", + "The ad is a Smart Shopping ad.", + "The ad is a standard Shopping ad.", + "The ad is a video ad.", + "This ad is an Image ad.", + "The ad is a responsive search ad.", + "The ad is a legacy responsive display ad.", + "The ad is an app ad.", + "The ad is a legacy app install ad.", + "The ad is a responsive display ad.", + "The ad is a local ad.", + "The ad is a display upload ad with the HTML5_UPLOAD_AD product type.", + "The ad is a display upload ad with one of the DYNAMIC_HTML5_* product types.", + "The ad is an app engagement ad.", + "The ad is a Shopping Comparison Listing ad.", + "Video bumper ad.", + "Video non-skippable in-stream ad.", + "Video TrueView in-stream ad.", + "Video responsive ad.", + "Smart campaign ad.", + "Call ad.", + "Universal app pre-registration ad.", + "Demand Gen multi asset ad.", + "Demand Gen carousel ad.", + "Travel ad.", + "Demand Gen video responsive ad.", + "Demand Gen product ad.", + "Multimedia ad." + ], + "readOnly": true, + "type": "string" + }, + "urlCollections": { + "description": "Additional URLs for the ad that are tagged with a unique identifier that can be referenced from other fields in the ad.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__UrlCollection" + }, + "type": "array" + }, + "urlCustomParameters": { + "description": "The list of mappings that can be used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`. For mutates, use url custom parameter operations.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__CustomParameter" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__AdGroup": { + "description": "An ad group.", + "id": "GoogleAdsSearchads360V23Resources__AdGroup", + "properties": { + "adRotationMode": { + "description": "The ad rotation mode of the ad group.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "OPTIMIZE", + "ROTATE_FOREVER" + ], + "enumDescriptions": [ + "The ad rotation mode has not been specified.", + "The received value is not known in this version. This is a response-only value.", + "Optimize ad group ads based on clicks or conversions.", + "Rotate evenly forever." + ], + "type": "string" + }, + "aiMaxAdGroupSetting": { + "$ref": "GoogleAdsSearchads360V23Resources_AdGroup_AiMaxAdGroupSetting", + "description": "Settings for AI Max feature in standard search adgroups." + }, + "audienceSetting": { + "$ref": "GoogleAdsSearchads360V23Resources_AdGroup_AudienceSetting", + "description": "Immutable. Setting for audience related features." + }, + "baseAdGroup": { + "description": "Output only. For draft or experiment ad groups, this field is the resource name of the base ad group from which this ad group was created. If a draft or experiment ad group does not have a base ad group, then this field is null. For base ad groups, this field equals the ad group resource name. This field is read-only.", + "readOnly": true, + "type": "string" + }, + "campaign": { + "description": "Immutable. The campaign to which the ad group belongs.", + "type": "string" + }, + "cpcBidMicros": { + "description": "The maximum CPC (cost-per-click) bid. This field is used when the ad group's effective bidding strategy is Manual CPC. This field is not applicable and will be ignored if the ad group's campaign is using a portfolio bidding strategy.", + "format": "int64", + "type": "string" + }, + "cpmBidMicros": { + "description": "The maximum CPM (cost-per-thousand viewable impressions) bid.", + "format": "int64", + "type": "string" + }, + "cpvBidMicros": { + "description": "The CPV (cost-per-view) bid.", + "format": "int64", + "type": "string" + }, + "creationTime": { + "description": "Output only. The timestamp when this ad_group was created. The timestamp is in the customer's time zone and in \"yyyy-MM-dd HH:mm:ss\" format.", + "readOnly": true, + "type": "string" + }, + "demandGenAdGroupSettings": { + "$ref": "GoogleAdsSearchads360V23Resources_AdGroup_DemandGenAdGroupSettings", + "description": "Settings for Demand Gen ad groups." + }, + "displayCustomBidDimension": { + "description": "Lets advertisers specify a targeting dimension on which to place absolute bids. This is only applicable for campaigns that target only the display network and not search.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "KEYWORD", + "AUDIENCE", + "TOPIC", + "GENDER", + "AGE_RANGE", + "PLACEMENT", + "PARENTAL_STATUS", + "INCOME_RANGE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Keyword criteria, for example, 'mars cruise'. KEYWORD may be used as a custom bid dimension. Keywords are always a targeting dimension, so may not be set as a target \"ALL\" dimension with TargetRestriction.", + "Audience criteria, which include user list, user interest, custom affinity, and custom in market.", + "Topic criteria for targeting categories of content, for example, 'category::Animals>Pets' Used for Display and Video targeting.", + "Criteria for targeting gender.", + "Criteria for targeting age ranges.", + "Placement criteria, which include websites like 'www.flowers4sale.com', as well as mobile applications, mobile app categories, YouTube videos, and YouTube channels.", + "Criteria for parental status targeting.", + "Criteria for income range targeting." + ], + "type": "string" + }, + "effectiveCpcBidMicros": { + "description": "Output only. Value will be same as that of the CPC (cost-per-click) bid value when the bidding strategy is one of manual cpc, enhanced cpc, page one promoted or target outrank share, otherwise the value will be null.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "effectiveLabels": { + "description": "Output only. The resource names of effective labels attached to this ad group. An effective label is a label inherited or directly assigned to this ad group.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "effectiveTargetCpaMicros": { + "description": "Output only. The effective target CPA (cost-per-acquisition). This field is read-only.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "effectiveTargetCpaSource": { + "description": "Output only. Source of the effective target CPA. This field is read-only.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CAMPAIGN_BIDDING_STRATEGY", + "AD_GROUP", + "AD_GROUP_CRITERION" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Effective bid or target is inherited from campaign bidding strategy.", + "The bid or target is defined on the ad group.", + "The bid or target is defined on the ad group criterion." + ], + "readOnly": true, + "type": "string" + }, + "effectiveTargetCpc": { + "description": "Output only. The effective target CPC (cost-per-click). This field is read-only.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "effectiveTargetCpcSource": { + "description": "Output only. Source of the effective target CPC. This field is read-only.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CAMPAIGN_BIDDING_STRATEGY", + "AD_GROUP", + "AD_GROUP_CRITERION" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Effective bid or target is inherited from campaign bidding strategy.", + "The bid or target is defined on the ad group.", + "The bid or target is defined on the ad group criterion." + ], + "readOnly": true, + "type": "string" + }, + "effectiveTargetRoas": { + "description": "Output only. The effective target ROAS (return-on-ad-spend). This field is read-only.", + "format": "double", + "readOnly": true, + "type": "number" + }, + "effectiveTargetRoasSource": { + "description": "Output only. Source of the effective target ROAS. This field is read-only.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CAMPAIGN_BIDDING_STRATEGY", + "AD_GROUP", + "AD_GROUP_CRITERION" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Effective bid or target is inherited from campaign bidding strategy.", + "The bid or target is defined on the ad group.", + "The bid or target is defined on the ad group criterion." + ], + "readOnly": true, + "type": "string" + }, + "endDate": { + "description": "Output only. Date when the ad group ends serving ads. By default, the ad group ends on the ad group's end date. If this field is set, then the ad group ends at the end of the specified date in the customer's time zone. This field is only available for Microsoft Advertising and Facebook gateway accounts. Format: YYYY-MM-DD Example: 2019-03-14", + "readOnly": true, + "type": "string" + }, + "engineId": { + "description": "Output only. ID of the ad group in the external engine account. This field is for non-Google Ads account only, for example, Yahoo Japan, Microsoft, Baidu etc. For Google Ads entity, use \"ad_group.id\" instead.", + "readOnly": true, + "type": "string" + }, + "engineStatus": { + "description": "Output only. The Engine Status for ad group.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "AD_GROUP_ELIGIBLE", + "AD_GROUP_EXPIRED", + "AD_GROUP_REMOVED", + "AD_GROUP_DRAFT", + "AD_GROUP_PAUSED", + "AD_GROUP_SERVING", + "AD_GROUP_SUBMITTED", + "CAMPAIGN_PAUSED", + "ACCOUNT_PAUSED" + ], + "enumDeprecated": [ + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Deprecated. Do not use.", + "No ads are running for this ad group, because the ad group's end date has passed.", + "The ad group has been deleted.", + "No ads are running for this ad group because the associated ad group is still in draft form.", + "The ad group has been paused.", + "The ad group is active and currently serving ads.", + "The ad group has been submitted (Microsoft Bing Ads legacy status).", + "No ads are running for this ad group, because the campaign has been paused.", + "No ads are running for this ad group, because the account has been paused." + ], + "readOnly": true, + "type": "string" + }, + "excludeDemographicExpansion": { + "description": "When this value is true, demographics will be excluded from the types of targeting which are expanded when optimized_targeting_enabled is true. When optimized_targeting_enabled is false, this field is ignored. Default is false.", + "type": "boolean" + }, + "excludedParentAssetFieldTypes": { + "description": "The asset field types that should be excluded from this ad group. Asset links with these field types will not be inherited by this ad group from the upper levels.", + "items": { + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "HEADLINE", + "DESCRIPTION", + "MANDATORY_AD_TEXT", + "MARKETING_IMAGE", + "MEDIA_BUNDLE", + "YOUTUBE_VIDEO", + "BOOK_ON_GOOGLE", + "LEAD_FORM", + "PROMOTION", + "CALLOUT", + "STRUCTURED_SNIPPET", + "SITELINK", + "MOBILE_APP", + "HOTEL_CALLOUT", + "CALL", + "PRICE", + "LONG_HEADLINE", + "BUSINESS_NAME", + "SQUARE_MARKETING_IMAGE", + "PORTRAIT_MARKETING_IMAGE", + "LOGO", + "LANDSCAPE_LOGO", + "VIDEO", + "CALL_TO_ACTION_SELECTION", + "AD_IMAGE", + "BUSINESS_LOGO", + "HOTEL_PROPERTY", + "DEMAND_GEN_CAROUSEL_CARD", + "BUSINESS_MESSAGE", + "TALL_PORTRAIT_MARKETING_IMAGE", + "LANDING_PAGE_PREVIEW", + "LONG_DESCRIPTION", + "CALL_TO_ACTION" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The asset is linked for use as a headline.", + "The asset is linked for use as a description.", + "The asset is linked for use as mandatory ad text.", + "The asset is linked for use as a marketing image.", + "The asset is linked for use as a media bundle.", + "The asset is linked for use as a YouTube video.", + "The asset is linked to indicate that a hotels campaign is \"Book on Google\" enabled.", + "The asset is linked for use as a Lead Form extension.", + "The asset is linked for use as a Promotion extension.", + "The asset is linked for use as a Callout extension.", + "The asset is linked for use as a Structured Snippet extension.", + "The asset is linked for use as a Sitelink.", + "The asset is linked for use as a Mobile App extension.", + "The asset is linked for use as a Hotel Callout extension.", + "The asset is linked for use as a Call extension.", + "The asset is linked for use as a Price extension.", + "The asset is linked for use as a long headline.", + "The asset is linked for use as a business name.", + "The asset is linked for use as a square marketing image.", + "The asset is linked for use as a portrait marketing image.", + "The asset is linked for use as a logo.", + "The asset is linked for use as a landscape logo.", + "The asset is linked for use as a non YouTube logo.", + "The asset is linked for use to select a call-to-action.", + "The asset is linked for use to select an ad image.", + "The asset is linked for use as a business logo.", + "The asset is linked for use as a hotel property in a Performance Max for travel goals campaign.", + "The asset is linked for use as a Demand Gen carousel card.", + "The asset is linked for use as a Business Message.", + "The asset is linked for use as a tall portrait marketing image.", + "The asset is linked for use as a landing page preview image.", + "The asset is linked for use as a long description.", + "The asset is linked for use as a call-to-action." + ], + "type": "string" + }, + "type": "array" + }, + "excludedParentAssetSetTypes": { + "description": "The asset set types that should be excluded from this ad group. Asset set links with these types will not be inherited by this ad group from the upper levels. Location group types (GMB_DYNAMIC_LOCATION_GROUP, CHAIN_DYNAMIC_LOCATION_GROUP, and STATIC_LOCATION_GROUP) are child types of LOCATION_SYNC. Therefore, if LOCATION_SYNC is set for this field, all location group asset sets are not allowed to be linked to this ad group, and all Location Extension (LE) and Affiliate Location Extensions (ALE) will not be served under this ad group. Only LOCATION_SYNC is currently supported.", + "items": { + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "PAGE_FEED", + "DYNAMIC_EDUCATION", + "MERCHANT_CENTER_FEED", + "DYNAMIC_REAL_ESTATE", + "DYNAMIC_CUSTOM", + "DYNAMIC_HOTELS_AND_RENTALS", + "DYNAMIC_FLIGHTS", + "DYNAMIC_TRAVEL", + "DYNAMIC_LOCAL", + "DYNAMIC_JOBS", + "LOCATION_SYNC", + "BUSINESS_PROFILE_DYNAMIC_LOCATION_GROUP", + "CHAIN_DYNAMIC_LOCATION_GROUP", + "STATIC_LOCATION_GROUP", + "HOTEL_PROPERTY", + "TRAVEL_FEED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Page asset set.", + "Dynamic education asset set.", + "Google Merchant Center asset set.", + "Dynamic real estate asset set.", + "Dynamic custom asset set.", + "Dynamic hotels and rentals asset set.", + "Dynamic flights asset set.", + "Dynamic travel asset set.", + "Dynamic local asset set.", + "Dynamic jobs asset set.", + "Location sync level asset set.", + "Business Profile location group asset set.", + "Chain location group asset set which can be used for both owned locations and affiliate locations.", + "Static location group asset set which can be used for both owned locations and affiliate locations.", + "Hotel Property asset set which is used to link a hotel property feed to Performance Max for travel goals campaigns.", + "Travel Feed asset set type. Can represent either a Hotel feed or a Things to Do (activities) feed." + ], + "type": "string" + }, + "type": "array" + }, + "finalUrlSuffix": { + "description": "URL template for appending params to Final URL.", + "type": "string" + }, + "fixedCpmMicros": { + "description": "The fixed amount in micros that the advertiser pays for every thousand impressions of the ad.", + "format": "int64", + "type": "string" + }, + "id": { + "description": "Output only. The ID of the ad group.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "labels": { + "description": "Output only. The resource names of labels attached to this ad group.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "languageCode": { + "description": "Output only. The language of the ads and keywords in an ad group. This field is only available for Microsoft Advertising accounts. More details: https://docs.microsoft.com/en-us/advertising/guides/ad-languages?view=bingads-13#adlanguage", + "readOnly": true, + "type": "string" + }, + "lastModifiedTime": { + "description": "Output only. The datetime when this ad group was last modified. The datetime is in the customer's time zone and in \"yyyy-MM-dd HH:mm:ss.ssssss\" format.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "The name of the ad group. This field is required and should not be empty when creating new ad groups. It must contain fewer than 255 UTF-8 full-width characters. It must not contain any null (code point 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD) characters.", + "type": "string" + }, + "optimizedTargetingEnabled": { + "description": "True if optimized targeting is enabled. Optimized Targeting is the replacement for Audience Expansion.", + "type": "boolean" + }, + "percentCpcBidMicros": { + "description": "The percent cpc bid amount, expressed as a fraction of the advertised price for some good or service. The valid range for the fraction is [0,1) and the value stored here is 1,000,000 * [fraction].", + "format": "int64", + "type": "string" + }, + "primaryStatus": { + "description": "Output only. Provides aggregated view into why an ad group is not serving or not serving optimally.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ELIGIBLE", + "PAUSED", + "REMOVED", + "PENDING", + "NOT_ELIGIBLE", + "LIMITED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The ad group is eligible to serve.", + "The ad group is paused.", + "The ad group is removed.", + "The ad group may serve in the future.", + "The ad group is not eligible to serve.", + "The ad group has limited servability." + ], + "readOnly": true, + "type": "string" + }, + "primaryStatusReasons": { + "description": "Output only. Provides reasons for why an ad group is not serving or not serving optimally.", + "items": { + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CAMPAIGN_REMOVED", + "CAMPAIGN_PAUSED", + "CAMPAIGN_PENDING", + "CAMPAIGN_ENDED", + "AD_GROUP_PAUSED", + "AD_GROUP_REMOVED", + "AD_GROUP_INCOMPLETE", + "KEYWORDS_PAUSED", + "NO_KEYWORDS", + "AD_GROUP_ADS_PAUSED", + "NO_AD_GROUP_ADS", + "HAS_ADS_DISAPPROVED", + "HAS_ADS_LIMITED_BY_POLICY", + "MOST_ADS_UNDER_REVIEW", + "CAMPAIGN_DRAFT", + "AD_GROUP_PAUSED_DUE_TO_LOW_ACTIVITY" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The user-specified campaign status is removed. Contributes to AdGroupPrimaryStatus.NOT_ELIGIBLE.", + "The user-specified campaign status is paused. Contributes to AdGroupPrimaryStatus.NOT_ELIGIBLE.", + "The user-specified time for this campaign to start is in the future. Contributes to AdGroupPrimaryStatus.NOT_ELIGIBLE", + "The user-specified time for this campaign to end has passed. Contributes to AdGroupPrimaryStatus.NOT_ELIGIBLE.", + "The user-specified ad group status is paused. Contributes to AdGroupPrimaryStatus.PAUSED.", + "The user-specified ad group status is removed. Contributes to AdGroupPrimaryStatus.REMOVED.", + "The construction of this ad group is not yet complete. Contributes to AdGroupPrimaryStatus.NOT_ELIGIBLE.", + "The user-specified keyword statuses in this ad group are all paused. Contributes to AdGroupPrimaryStatus.NOT_ELIGIBLE.", + "No eligible keywords exist in this ad group. Contributes to AdGroupPrimaryStatus.NOT_ELIGIBLE.", + "The user-specified ad group ads statuses in this ad group are all paused. Contributes to AdGroupPrimaryStatus.NOT_ELIGIBLE.", + "No eligible ad group ads exist in this ad group. Contributes to AdGroupPrimaryStatus.NOT_ELIGIBLE.", + "Policy status reason when at least one ad is disapproved. Contributes to multiple AdGroupPrimaryStatus.", + "Policy status reason when at least one ad is limited by policy. Contributes to multiple AdGroupPrimaryStatus.", + "Policy status reason when most ads are pending review. Contributes to AdGroupPrimaryStatus.PENDING.", + "The AdGroup belongs to a Draft campaign. Contributes to AdGroupPrimaryStatus.NOT_ELIGIBLE.", + "Ad group has been paused due to prolonged low activity in serving. Contributes to AdGroupPrimaryStatus.PAUSED." + ], + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "resourceName": { + "description": "Immutable. The resource name of the ad group. Ad group resource names have the form: `customers/{customer_id}/adGroups/{ad_group_id}`", + "type": "string" + }, + "startDate": { + "description": "Output only. Date when this ad group starts serving ads. By default, the ad group starts now or the ad group's start date, whichever is later. If this field is set, then the ad group starts at the beginning of the specified date in the customer's time zone. This field is only available for Microsoft Advertising and Facebook gateway accounts. Format: YYYY-MM-DD Example: 2019-03-14", + "readOnly": true, + "type": "string" + }, + "status": { + "description": "The status of the ad group.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ENABLED", + "PAUSED", + "REMOVED" + ], + "enumDescriptions": [ + "The status has not been specified.", + "The received value is not known in this version. This is a response-only value.", + "The ad group is enabled.", + "The ad group is paused.", + "The ad group is removed." + ], + "type": "string" + }, + "targetCpaMicros": { + "description": "The target CPA (cost-per-acquisition). If the ad group's campaign bidding strategy is TargetCpa or MaximizeConversions (with its target_cpa field set), then this field overrides the target CPA specified in the campaign's bidding strategy. Otherwise, this value is ignored.", + "format": "int64", + "type": "string" + }, + "targetCpcMicros": { + "description": "Average amount in micros that the advertiser is willing to pay for every ad click. Overrides the target CPC configured at the campaign level.", + "format": "int64", + "type": "string" + }, + "targetCpmMicros": { + "description": "Average amount in micros that the advertiser is willing to pay for every thousand times the ad is shown.", + "format": "int64", + "type": "string" + }, + "targetCpvMicros": { + "description": "Average amount in micros that the advertiser is willing to pay for every ad view.", + "format": "int64", + "type": "string" + }, + "targetRoas": { + "description": "The target ROAS (return-on-ad-spend) for this ad group. This field lets you override the target ROAS specified in the campaign's bidding strategy, but only if the campaign is using a standard (not portfolio) `TargetRoas` strategy or a standard `MaximizeConversionValue` strategy with its `target_roas` field set. If the campaign is using a portfolio bidding strategy, this field cannot be set and attempting to do so will result in an error. For any other bidding strategies, this value is ignored. To see the actual target ROAS being used by the ad group, considering potential overrides, query the `effective_target_roas` and `effective_target_roas_source` fields.", + "format": "double", + "type": "number" + }, + "targetingSetting": { + "$ref": "GoogleAdsSearchads360V23Common__TargetingSetting", + "description": "Setting for targeting related features." + }, + "trackingUrlTemplate": { + "description": "The URL template for constructing a tracking URL.", + "type": "string" + }, + "type": { + "description": "Immutable. The type of the ad group.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "SEARCH_STANDARD", + "DISPLAY_STANDARD", + "SHOPPING_PRODUCT_ADS", + "HOTEL_ADS", + "SHOPPING_SMART_ADS", + "VIDEO_BUMPER", + "VIDEO_TRUE_VIEW_IN_STREAM", + "VIDEO_TRUE_VIEW_IN_DISPLAY", + "VIDEO_NON_SKIPPABLE_IN_STREAM", + "SEARCH_DYNAMIC_ADS", + "SHOPPING_COMPARISON_LISTING_ADS", + "PROMOTED_HOTEL_ADS", + "VIDEO_RESPONSIVE", + "VIDEO_EFFICIENT_REACH", + "SMART_CAMPAIGN_ADS", + "TRAVEL_ADS" + ], + "enumDescriptions": [ + "The type has not been specified.", + "The received value is not known in this version. This is a response-only value.", + "The default ad group type for Search campaigns.", + "The default ad group type for Display campaigns.", + "The ad group type for Shopping campaigns serving standard product ads.", + "The default ad group type for Hotel campaigns.", + "The type for ad groups in Smart Shopping campaigns.", + "Short unskippable in-stream video ads.", + "TrueView (skippable) in-stream video ads.", + "TrueView in-display video ads.", + "Unskippable in-stream video ads.", + "Ad group type for Dynamic Search Ads ad groups.", + "The type for ad groups in Shopping Comparison Listing campaigns.", + "The ad group type for Promoted Hotel ad groups.", + "Video responsive ad groups.", + "Video efficient reach ad groups.", + "Ad group type for Smart campaigns.", + "Ad group type for Travel campaigns." + ], + "type": "string" + }, + "urlCustomParameters": { + "description": "The list of mappings used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__CustomParameter" + }, + "type": "array" + }, + "verticalAdsFormatSetting": { + "$ref": "GoogleAdsSearchads360V23Resources_AdGroup_VerticalAdsFormatSetting", + "description": "Vertical ads setting feature to enable/disable ad group format controls in search campaigns. This setting requires AiMaxAdGroupSetting to be enabled and a travel feed to be attached to the campaign." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__AdGroupAd": { + "description": "An ad group ad.", + "id": "GoogleAdsSearchads360V23Resources__AdGroupAd", + "properties": { + "actionItems": { + "description": "Output only. A list of recommendations to improve the ad strength. For example, a recommendation could be \"Try adding a few more unique headlines or unpinning some assets.\".", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "ad": { + "$ref": "GoogleAdsSearchads360V23Resources__Ad", + "description": "Immutable. The ad." + }, + "adGroup": { + "description": "Immutable. The ad group to which the ad belongs.", + "type": "string" + }, + "adGroupAdAssetAutomationSettings": { + "description": "Settings that control the types of asset automation. See the AssetAutomationTypeEnum documentation for the default opt in/out behavior of each type.", + "items": { + "$ref": "GoogleAdsSearchads360V23Resources__AdGroupAdAssetAutomationSetting" + }, + "type": "array" + }, + "adStrength": { + "description": "Output only. Overall ad strength for this ad group ad.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "PENDING", + "NO_ADS", + "POOR", + "AVERAGE", + "GOOD", + "EXCELLENT" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The ad strength is currently pending.", + "No ads could be generated.", + "Poor strength.", + "Average strength.", + "Good strength.", + "Excellent strength." + ], + "readOnly": true, + "type": "string" + }, + "creationTime": { + "description": "Output only. The timestamp when this ad_group_ad was created. The datetime is in the customer's time zone and in \"yyyy-MM-dd HH:mm:ss.ssssss\" format.", + "readOnly": true, + "type": "string" + }, + "effectiveLabels": { + "description": "Output only. The resource names of effective labels attached to this ad. An effective label is a label inherited or directly assigned to this ad.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "engineId": { + "description": "Output only. ID of the ad in the external engine account. This field is for Search Ads 360 account only, for example, Yahoo Japan, Microsoft, Baidu etc. For non-Search Ads 360 entity, use \"ad_group_ad.ad.id\" instead.", + "readOnly": true, + "type": "string" + }, + "engineStatus": { + "description": "Output only. Additional status of the ad in the external engine account. Possible statuses (depending on the type of external account) include active, eligible, pending review, etc.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "AD_GROUP_AD_ELIGIBLE", + "AD_GROUP_AD_INAPPROPRIATE_FOR_CAMPAIGN", + "AD_GROUP_AD_MOBILE_URL_UNDER_REVIEW", + "AD_GROUP_AD_PARTIALLY_INVALID", + "AD_GROUP_AD_TO_BE_ACTIVATED", + "AD_GROUP_AD_NOT_REVIEWED", + "AD_GROUP_AD_ON_HOLD", + "AD_GROUP_AD_PAUSED", + "AD_GROUP_AD_REMOVED", + "AD_GROUP_AD_PENDING_REVIEW", + "AD_GROUP_AD_UNDER_REVIEW", + "AD_GROUP_AD_APPROVED", + "AD_GROUP_AD_DISAPPROVED", + "AD_GROUP_AD_SERVING", + "AD_GROUP_AD_ACCOUNT_PAUSED", + "AD_GROUP_AD_CAMPAIGN_PAUSED", + "AD_GROUP_AD_AD_GROUP_PAUSED" + ], + "enumDeprecated": [ + false, + false, + true, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "No value has been specified.", + "Used for return value only. Represents value unknown in this version.", + "Deprecated. Do not use.", + "Baidu: Creative was not approved.", + "Baidu: Mobile URL in process to be reviewed.", + "Baidu: Creative is invalid on mobile device but valid on desktop.", + "Baidu: Creative is ready for activation.", + "Baidu: Creative not reviewed.", + "Deprecated. Do not use. Previously used by Gemini", + "Creative has been paused.", + "Creative has been removed.", + "Creative is pending review.", + "Creative is under review.", + "Creative has been approved.", + "Creative has been disapproved.", + "Creative is serving.", + "Creative has been paused because the account is paused.", + "Creative has been paused because the campaign is paused.", + "Creative has been paused because the ad group is paused." + ], + "readOnly": true, + "type": "string" + }, + "labels": { + "description": "Output only. The resource names of labels attached to this ad group ad.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "lastModifiedTime": { + "description": "Output only. The datetime when this ad group ad was last modified. The datetime is in the customer's time zone and in \"yyyy-MM-dd HH:mm:ss.ssssss\" format.", + "readOnly": true, + "type": "string" + }, + "policySummary": { + "$ref": "GoogleAdsSearchads360V23Resources__AdGroupAdPolicySummary", + "description": "Output only. Policy information for the ad.", + "readOnly": true + }, + "primaryStatus": { + "description": "Output only. Provides aggregated view into why an ad group ad is not serving or not serving optimally.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ELIGIBLE", + "PAUSED", + "REMOVED", + "PENDING", + "LIMITED", + "NOT_ELIGIBLE" + ], + "enumDescriptions": [ + "No value has been specified.", + "Used for return value only. Represents value unknown in this version.", + "The ad group ad is eligible to serve.", + "The ad group ad is paused.", + "The ad group ad is removed.", + "The ad cannot serve now, but may serve later without advertiser action.", + "The ad group ad is serving in a limited capacity.", + "The ad group ad is not eligible to serve." + ], + "readOnly": true, + "type": "string" + }, + "primaryStatusReasons": { + "description": "Output only. Provides reasons for why an ad group ad is not serving or not serving optimally.", + "items": { + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CAMPAIGN_REMOVED", + "CAMPAIGN_PAUSED", + "CAMPAIGN_PENDING", + "CAMPAIGN_ENDED", + "AD_GROUP_PAUSED", + "AD_GROUP_REMOVED", + "AD_GROUP_AD_PAUSED", + "AD_GROUP_AD_REMOVED", + "AD_GROUP_AD_DISAPPROVED", + "AD_GROUP_AD_UNDER_REVIEW", + "AD_GROUP_AD_POOR_QUALITY", + "AD_GROUP_AD_NO_ADS", + "AD_GROUP_AD_APPROVED_LABELED", + "AD_GROUP_AD_AREA_OF_INTEREST_ONLY", + "AD_GROUP_AD_UNDER_APPEAL" + ], + "enumDescriptions": [ + "No value has been specified.", + "Used for return value only. Represents value unknown in this version.", + "The user-specified campaign status is removed. Contributes to AdGroupAdPrimaryStatus.REMOVED.", + "The user-specified campaign status is paused. Contributes to AdGroupAdPrimaryStatus.PAUSED.", + "The user-specified time for this campaign to start is in the future. Contributes to AdGroupAdPrimaryStatus.PENDING.", + "The user-specified time for this campaign to end has passed. Contributes to AdGroupAdPrimaryStatus.ENDED.", + "The user-specified ad group status is paused. Contributes to AdGroupAdPrimaryStatus.PAUSED.", + "The user-specified ad group status is removed. Contributes to AdGroupAdPrimaryStatus.REMOVED.", + "The user-specified ad status is paused. Contributes to AdGroupAdPrimaryStatus.PAUSED.", + "The user-specified ad status is removed. Contributes to AdGroupAdPrimaryStatus.REMOVED.", + "The ad is disapproved. Contributes to AdGroupAdPrimaryStatus.NOT_ELIGIBLE.", + "The ad is under review. Contributes to AdGroupAdPrimaryStatus.PENDING.", + "The ad is poor quality. This is determined by the serving stack that served the Ad. Contributes to AdGroupAdPrimaryStatus.LIMITED.", + "No eligible ads instances could be generated. Contributes to AdGroupAdPrimaryStatus.PENDING.", + "The ad is internally labeled with a limiting label. Contributes to AdGroupAdPrimaryStatus.LIMITED.", + "The ad is only serving in the user-specified area of interest. Contributes to AdGroupAdPrimaryStatus.LIMITED.", + "The ad is part of an ongoing appeal. This reason does not impact AdGroupAdPrimaryStatus." + ], + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "resourceName": { + "description": "Immutable. The resource name of the ad. Ad group ad resource names have the form: `customers/{customer_id}/adGroupAds/{ad_group_id}~{ad_id}`", + "type": "string" + }, + "status": { + "description": "The status of the ad.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ENABLED", + "PAUSED", + "REMOVED" + ], + "enumDescriptions": [ + "No value has been specified.", + "The received value is not known in this version. This is a response-only value.", + "The ad group ad is enabled.", + "The ad group ad is paused.", + "The ad group ad is removed." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__AdGroupAdAssetAutomationSetting": { + "description": "Asset automation setting for an AdGroupAd.", + "id": "GoogleAdsSearchads360V23Resources__AdGroupAdAssetAutomationSetting", + "properties": { + "assetAutomationStatus": { + "description": "The opt-in/out status for the specified asset automation type.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "OPTED_IN", + "OPTED_OUT" + ], + "enumDescriptions": [ + "Not specified.", + "Used as a return value only. Represents value unknown in this version.", + "Opted-in will enable generating and serving an asset automation type.", + "Opted-out will stop generating and serving an asset automation type." + ], + "type": "string" + }, + "assetAutomationType": { + "description": "The asset automation type that this setting configures.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "TEXT_ASSET_AUTOMATION", + "GENERATE_VERTICAL_YOUTUBE_VIDEOS", + "GENERATE_SHORTER_YOUTUBE_VIDEOS", + "GENERATE_LANDING_PAGE_PREVIEW", + "GENERATE_ENHANCED_YOUTUBE_VIDEOS", + "GENERATE_IMAGE_ENHANCEMENT", + "GENERATE_IMAGE_EXTRACTION", + "GENERATE_DESIGN_VERSIONS_FOR_IMAGES", + "FINAL_URL_EXPANSION_TEXT_ASSET_AUTOMATION", + "GENERATE_VIDEOS_FROM_OTHER_ASSETS" + ], + "enumDescriptions": [ + "Not specified.", + "Used as a return value only. Represents value unknown in this version.", + "Text asset automation includes headlines and descriptions. By default, advertisers are opted-in for Performance Max and opted-out for Search.", + "Converts horizontal video assets to vertical orientation using content-aware technology. By default, advertisers are opted in for DemandGenVideoResponsiveAd.", + "Shortens video assets to better capture user attention using content-aware technology.", + "Generates a preview of the landing page shown in the engagement panel. By using this feature, you confirm that you own all legal rights to the images on the landing page used by this account (or you have permission to share the images with Google). You hereby instruct Google to publish these images on your behalf for advertising or other commercial purposes.", + "Generates video enhancements (vertical and shorter videos) for PMax campaigns. Opted in by default.", + "Generates image enhancements (AutoCrop and AutoEnhance). Opted in by default for pmax.", + "Generates image extraction. It defaults to account level Dynamic Image Extension control value.", + "Adds design elements and embeds text assets into image assets to create images with different aspect ratios. By default, advertisers are opted in for DemandGenMultiAssetAd.", + "Controls automation for text assets related to Final URL expansion. This includes automatically creating dynamic landing pages from the final URL and generating text assets from the content of those landing pages. This setting is turned OFF by default for Search campaigns, but it is turned ON by default for Performance Max campaigns.", + "Generates videos using other Assets as input, such as images and text. By default, advertisers are opted in for DemandGenMultiAssetAd." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__AdGroupAdAssetCombinationView": { + "description": "A view on the usage of ad group ad asset combination. Now we only support AdGroupAdAssetCombinationView for Responsive Search Ads, with more ad types planned for the future.", + "id": "GoogleAdsSearchads360V23Resources__AdGroupAdAssetCombinationView", + "properties": { + "enabled": { + "description": "Output only. The status between the asset combination and the latest version of the ad. If true, the asset combination is linked to the latest version of the ad. If false, it means the link once existed but has been removed and is no longer present in the latest version of the ad.", + "readOnly": true, + "type": "boolean" + }, + "resourceName": { + "description": "Output only. The resource name of the ad group ad asset combination view. The combination ID is 128 bits long, where the upper 64 bits are stored in asset_combination_id_high, and the lower 64 bits are stored in asset_combination_id_low. AdGroupAd Asset Combination view resource names have the form: `customers/{customer_id}/adGroupAdAssetCombinationViews/{AdGroupAd.ad_group_id}~{AdGroupAd.ad.ad_id}~{AssetCombination.asset_combination_id_low}~{AssetCombination.asset_combination_id_high}`", + "readOnly": true, + "type": "string" + }, + "servedAssets": { + "description": "Output only. Served assets.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AssetUsage" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__AdGroupAdAssetPolicySummary": { + "description": "Contains policy information for an ad group ad asset.", + "id": "GoogleAdsSearchads360V23Resources__AdGroupAdAssetPolicySummary", + "properties": { + "approvalStatus": { + "description": "Output only. The overall approval status of this ad group ad asset, calculated based on the status of its individual policy topic entries.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "DISAPPROVED", + "APPROVED_LIMITED", + "APPROVED", + "AREA_OF_INTEREST_ONLY" + ], + "enumDescriptions": [ + "No value has been specified.", + "The received value is not known in this version. This is a response-only value.", + "Will not serve.", + "Serves with restrictions.", + "Serves without restrictions.", + "Will not serve in targeted countries, but may serve for users who are searching for information about the targeted countries." + ], + "readOnly": true, + "type": "string" + }, + "policyTopicEntries": { + "description": "Output only. The list of policy findings for the ad group ad asset.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__PolicyTopicEntry" + }, + "readOnly": true, + "type": "array" + }, + "reviewStatus": { + "description": "Output only. Where in the review process this ad group ad asset is.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "REVIEW_IN_PROGRESS", + "REVIEWED", + "UNDER_APPEAL", + "ELIGIBLE_MAY_SERVE" + ], + "enumDescriptions": [ + "No value has been specified.", + "The received value is not known in this version. This is a response-only value.", + "Currently under review.", + "Primary review complete. Other reviews may be continuing.", + "The resource has been resubmitted for approval or its policy decision has been appealed.", + "The resource is eligible and may be serving but could still undergo further review." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__AdGroupAdAssetView": { + "description": "Represents a link between an AdGroupAd and an Asset. This view provides insights into the performance of assets within specific ads. AdGroupAdAssetView supports the following ad types: * App Ads * Demand Gen campaigns * Responsive Search Ads It does not support Responsive Display Ads.", + "id": "GoogleAdsSearchads360V23Resources__AdGroupAdAssetView", + "properties": { + "adGroupAd": { + "description": "Output only. The ad group ad to which the asset is linked.", + "readOnly": true, + "type": "string" + }, + "asset": { + "description": "Output only. The asset which is linked to the ad group ad.", + "readOnly": true, + "type": "string" + }, + "enabled": { + "description": "Output only. The status between the asset and the latest version of the ad. If true, the asset is linked to the latest version of the ad. If false, it means the link once existed but has been removed and is no longer present in the latest version of the ad.", + "readOnly": true, + "type": "boolean" + }, + "fieldType": { + "description": "Output only. Role that the asset takes in the ad.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "HEADLINE", + "DESCRIPTION", + "MANDATORY_AD_TEXT", + "MARKETING_IMAGE", + "MEDIA_BUNDLE", + "YOUTUBE_VIDEO", + "BOOK_ON_GOOGLE", + "LEAD_FORM", + "PROMOTION", + "CALLOUT", + "STRUCTURED_SNIPPET", + "SITELINK", + "MOBILE_APP", + "HOTEL_CALLOUT", + "CALL", + "PRICE", + "LONG_HEADLINE", + "BUSINESS_NAME", + "SQUARE_MARKETING_IMAGE", + "PORTRAIT_MARKETING_IMAGE", + "LOGO", + "LANDSCAPE_LOGO", + "VIDEO", + "CALL_TO_ACTION_SELECTION", + "AD_IMAGE", + "BUSINESS_LOGO", + "HOTEL_PROPERTY", + "DEMAND_GEN_CAROUSEL_CARD", + "BUSINESS_MESSAGE", + "TALL_PORTRAIT_MARKETING_IMAGE", + "LANDING_PAGE_PREVIEW", + "LONG_DESCRIPTION", + "CALL_TO_ACTION" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The asset is linked for use as a headline.", + "The asset is linked for use as a description.", + "The asset is linked for use as mandatory ad text.", + "The asset is linked for use as a marketing image.", + "The asset is linked for use as a media bundle.", + "The asset is linked for use as a YouTube video.", + "The asset is linked to indicate that a hotels campaign is \"Book on Google\" enabled.", + "The asset is linked for use as a Lead Form extension.", + "The asset is linked for use as a Promotion extension.", + "The asset is linked for use as a Callout extension.", + "The asset is linked for use as a Structured Snippet extension.", + "The asset is linked for use as a Sitelink.", + "The asset is linked for use as a Mobile App extension.", + "The asset is linked for use as a Hotel Callout extension.", + "The asset is linked for use as a Call extension.", + "The asset is linked for use as a Price extension.", + "The asset is linked for use as a long headline.", + "The asset is linked for use as a business name.", + "The asset is linked for use as a square marketing image.", + "The asset is linked for use as a portrait marketing image.", + "The asset is linked for use as a logo.", + "The asset is linked for use as a landscape logo.", + "The asset is linked for use as a non YouTube logo.", + "The asset is linked for use to select a call-to-action.", + "The asset is linked for use to select an ad image.", + "The asset is linked for use as a business logo.", + "The asset is linked for use as a hotel property in a Performance Max for travel goals campaign.", + "The asset is linked for use as a Demand Gen carousel card.", + "The asset is linked for use as a Business Message.", + "The asset is linked for use as a tall portrait marketing image.", + "The asset is linked for use as a landing page preview image.", + "The asset is linked for use as a long description.", + "The asset is linked for use as a call-to-action." + ], + "readOnly": true, + "type": "string" + }, + "performanceLabel": { + "description": "Output only. Performance of an asset linkage.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "PENDING", + "LEARNING", + "LOW", + "GOOD", + "BEST", + "NOT_APPLICABLE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "This asset does not yet have any performance informantion. This may be because it is still under review.", + "The asset has started getting impressions but the stats are not statistically significant enough to get an asset performance label.", + "Worst performing assets.", + "Good performing assets.", + "Best performing assets.", + "Performance label cannot be assigned to this asset. This may be because it's not used by asset based creatives." + ], + "readOnly": true, + "type": "string" + }, + "pinnedField": { + "description": "Output only. Pinned field.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "HEADLINE_1", + "HEADLINE_2", + "HEADLINE_3", + "DESCRIPTION_1", + "DESCRIPTION_2", + "HEADLINE", + "HEADLINE_IN_PORTRAIT", + "LONG_HEADLINE", + "DESCRIPTION", + "DESCRIPTION_IN_PORTRAIT", + "BUSINESS_NAME_IN_PORTRAIT", + "BUSINESS_NAME", + "MARKETING_IMAGE", + "MARKETING_IMAGE_IN_PORTRAIT", + "SQUARE_MARKETING_IMAGE", + "PORTRAIT_MARKETING_IMAGE", + "LOGO", + "LANDSCAPE_LOGO", + "CALL_TO_ACTION", + "YOU_TUBE_VIDEO", + "SITELINK", + "CALL", + "MOBILE_APP", + "CALLOUT", + "STRUCTURED_SNIPPET", + "PRICE", + "PROMOTION", + "AD_IMAGE", + "LEAD_FORM", + "BUSINESS_LOGO", + "DESCRIPTION_PREFIX", + "HEADLINE_AS_SITELINK_POSITION_ONE", + "HEADLINE_AS_SITELINK_POSITION_TWO", + "DESCRIPTION_LINE_HEADLINE_AS_SITELINK_POSITION_ONE", + "DESCRIPTION_LINE_HEADLINE_AS_SITELINK_POSITION_TWO" + ], + "enumDescriptions": [ + "No value has been specified.", + "The received value is not known in this version. This is a response-only value.", + "The asset is used in headline 1.", + "The asset is used in headline 2.", + "The asset is used in headline 3.", + "The asset is used in description 1.", + "The asset is used in description 2.", + "The asset was used in a headline. Use this only if there is only one headline in the ad. Otherwise, use the HEADLINE_1, HEADLINE_2 or HEADLINE_3 enums", + "The asset was used as a headline in portrait image.", + "The asset was used in a long headline (used in MultiAssetResponsiveAd).", + "The asset was used in a description. Use this only if there is only one description in the ad. Otherwise, use the DESCRIPTION_1 or DESCRIPTION_@ enums", + "The asset was used as description in portrait image.", + "The asset was used as business name in portrait image.", + "The asset was used as business name.", + "The asset was used as a marketing image.", + "The asset was used as a marketing image in portrait image.", + "The asset was used as a square marketing image.", + "The asset was used as a portrait marketing image.", + "The asset was used as a logo.", + "The asset was used as a landscape logo.", + "The asset was used as a call-to-action.", + "The asset was used as a YouTube video.", + "This asset is used as a sitelink.", + "This asset is used as a call.", + "This asset is used as a mobile app.", + "This asset is used as a callout.", + "This asset is used as a structured snippet.", + "This asset is used as a price.", + "This asset is used as a promotion.", + "This asset is used as an image.", + "The asset is used as a lead form.", + "The asset is used as a business logo.", + "The asset is used as a description prefix.", + "A headline asset used as a sitelink in position 1.", + "A headline asset used as a sitelink in position 2.", + "A description line asset used as a sitelink in position 1.", + "A description line asset used as a sitelink in position 2." + ], + "readOnly": true, + "type": "string" + }, + "policySummary": { + "$ref": "GoogleAdsSearchads360V23Resources__AdGroupAdAssetPolicySummary", + "description": "Output only. Policy information for the ad group ad asset.", + "readOnly": true + }, + "resourceName": { + "description": "Output only. The resource name of the ad group ad asset view. Ad group ad asset view resource names have the form (Before V4): `customers/{customer_id}/adGroupAdAssets/{AdGroupAdAsset.ad_group_id}~{AdGroupAdAsset.ad.ad_id}~{AdGroupAdAsset.asset_id}~{AdGroupAdAsset.field_type}` Ad group ad asset view resource names have the form (Beginning from V4): `customers/{customer_id}/adGroupAdAssetViews/{AdGroupAdAsset.ad_group_id}~{AdGroupAdAsset.ad_id}~{AdGroupAdAsset.asset_id}~{AdGroupAdAsset.field_type}`", + "readOnly": true, + "type": "string" + }, + "source": { + "description": "Output only. Source of the ad group ad asset.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ADVERTISER", + "AUTOMATICALLY_CREATED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The asset or asset link is provided by advertiser.", + "The asset or asset link is generated by Google." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__AdGroupAdEffectiveLabel": { + "description": "A relationship between an ad group ad and an effective label. An effective label is a label inherited or directly assigned to this ad group ad.", + "id": "GoogleAdsSearchads360V23Resources__AdGroupAdEffectiveLabel", + "properties": { + "adGroupAd": { + "description": "Immutable. The ad group ad to which the effective label is attached.", + "type": "string" + }, + "label": { + "description": "Immutable. The effective label assigned to the ad group ad.", + "type": "string" + }, + "ownerCustomerId": { + "description": "Output only. The ID of the Customer which owns the effective label.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Immutable. The resource name of the ad group ad effective label. Ad group ad effective label resource names have the form: `customers/{owner_customer_id}/adGroupAdEffectiveLabels/{ad_group_id}~{ad_id}~{label_id}`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__AdGroupAdLabel": { + "description": "A relationship between an ad group ad and a label.", + "id": "GoogleAdsSearchads360V23Resources__AdGroupAdLabel", + "properties": { + "adGroupAd": { + "description": "Immutable. The ad group ad to which the label is attached.", + "type": "string" + }, + "label": { + "description": "Immutable. The label assigned to the ad group ad.", + "type": "string" + }, + "ownerCustomerId": { + "description": "Output only. The ID of the Customer which owns the label.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Immutable. The resource name of the ad group ad label. Ad group ad label resource names have the form: `customers/{owner_customer_id}/adGroupAdLabels/{ad_group_id}~{ad_id}~{label_id}`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__AdGroupAdPolicySummary": { + "description": "Contains policy information for an ad.", + "id": "GoogleAdsSearchads360V23Resources__AdGroupAdPolicySummary", + "properties": { + "approvalStatus": { + "description": "Output only. The overall approval status of this ad, calculated based on the status of its individual policy topic entries.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "DISAPPROVED", + "APPROVED_LIMITED", + "APPROVED", + "AREA_OF_INTEREST_ONLY" + ], + "enumDescriptions": [ + "No value has been specified.", + "The received value is not known in this version. This is a response-only value.", + "Will not serve.", + "Serves with restrictions.", + "Serves without restrictions.", + "Will not serve in targeted countries, but may serve for users who are searching for information about the targeted countries." + ], + "readOnly": true, + "type": "string" + }, + "policyTopicEntries": { + "description": "Output only. The list of policy findings for this ad.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__PolicyTopicEntry" + }, + "readOnly": true, + "type": "array" + }, + "reviewStatus": { + "description": "Output only. Where in the review process this ad is.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "REVIEW_IN_PROGRESS", + "REVIEWED", + "UNDER_APPEAL", + "ELIGIBLE_MAY_SERVE" + ], + "enumDescriptions": [ + "No value has been specified.", + "The received value is not known in this version. This is a response-only value.", + "Currently under review.", + "Primary review complete. Other reviews may be continuing.", + "The resource has been resubmitted for approval or its policy decision has been appealed.", + "The resource is eligible and may be serving but could still undergo further review." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__AdGroupAsset": { + "description": "A link between an ad group and an asset.", + "id": "GoogleAdsSearchads360V23Resources__AdGroupAsset", + "properties": { + "adGroup": { + "description": "Required. Immutable. The ad group to which the asset is linked.", + "type": "string" + }, + "asset": { + "description": "Required. Immutable. The asset which is linked to the ad group.", + "type": "string" + }, + "fieldType": { + "description": "Required. Immutable. Role that the asset takes under the linked ad group.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "HEADLINE", + "DESCRIPTION", + "MANDATORY_AD_TEXT", + "MARKETING_IMAGE", + "MEDIA_BUNDLE", + "YOUTUBE_VIDEO", + "BOOK_ON_GOOGLE", + "LEAD_FORM", + "PROMOTION", + "CALLOUT", + "STRUCTURED_SNIPPET", + "SITELINK", + "MOBILE_APP", + "HOTEL_CALLOUT", + "CALL", + "PRICE", + "LONG_HEADLINE", + "BUSINESS_NAME", + "SQUARE_MARKETING_IMAGE", + "PORTRAIT_MARKETING_IMAGE", + "LOGO", + "LANDSCAPE_LOGO", + "VIDEO", + "CALL_TO_ACTION_SELECTION", + "AD_IMAGE", + "BUSINESS_LOGO", + "HOTEL_PROPERTY", + "DEMAND_GEN_CAROUSEL_CARD", + "BUSINESS_MESSAGE", + "TALL_PORTRAIT_MARKETING_IMAGE", + "LANDING_PAGE_PREVIEW", + "LONG_DESCRIPTION", + "CALL_TO_ACTION" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The asset is linked for use as a headline.", + "The asset is linked for use as a description.", + "The asset is linked for use as mandatory ad text.", + "The asset is linked for use as a marketing image.", + "The asset is linked for use as a media bundle.", + "The asset is linked for use as a YouTube video.", + "The asset is linked to indicate that a hotels campaign is \"Book on Google\" enabled.", + "The asset is linked for use as a Lead Form extension.", + "The asset is linked for use as a Promotion extension.", + "The asset is linked for use as a Callout extension.", + "The asset is linked for use as a Structured Snippet extension.", + "The asset is linked for use as a Sitelink.", + "The asset is linked for use as a Mobile App extension.", + "The asset is linked for use as a Hotel Callout extension.", + "The asset is linked for use as a Call extension.", + "The asset is linked for use as a Price extension.", + "The asset is linked for use as a long headline.", + "The asset is linked for use as a business name.", + "The asset is linked for use as a square marketing image.", + "The asset is linked for use as a portrait marketing image.", + "The asset is linked for use as a logo.", + "The asset is linked for use as a landscape logo.", + "The asset is linked for use as a non YouTube logo.", + "The asset is linked for use to select a call-to-action.", + "The asset is linked for use to select an ad image.", + "The asset is linked for use as a business logo.", + "The asset is linked for use as a hotel property in a Performance Max for travel goals campaign.", + "The asset is linked for use as a Demand Gen carousel card.", + "The asset is linked for use as a Business Message.", + "The asset is linked for use as a tall portrait marketing image.", + "The asset is linked for use as a landing page preview image.", + "The asset is linked for use as a long description.", + "The asset is linked for use as a call-to-action." + ], + "type": "string" + }, + "primaryStatus": { + "description": "Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain \"status\" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ELIGIBLE", + "PAUSED", + "REMOVED", + "PENDING", + "LIMITED", + "NOT_ELIGIBLE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The asset is eligible to serve.", + "The user-specified asset link status is paused.", + "The user-specified asset link status is removed.", + "The asset may serve in the future.", + "The asset is serving in a partial capacity.", + "The asset is not eligible to serve." + ], + "readOnly": true, + "type": "string" + }, + "primaryStatusDetails": { + "description": "Output only. Provides the details of the primary status and its associated reasons.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AssetLinkPrimaryStatusDetails" + }, + "readOnly": true, + "type": "array" + }, + "primaryStatusReasons": { + "description": "Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.", + "items": { + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ASSET_LINK_PAUSED", + "ASSET_LINK_REMOVED", + "ASSET_DISAPPROVED", + "ASSET_UNDER_REVIEW", + "ASSET_APPROVED_LABELED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The asset is paused for its linked rollup level. Contributes to a PrimaryStatus of PAUSED.", + "The asset is removed for its linked rollup level. Contributes to a PrimaryStatus of REMOVED.", + "The asset has been marked as disapproved. Contributes to a PrimaryStatus of NOT_ELIGIBLE", + "The asset has not completed policy review. Contributes to a PrimaryStatus of PENDING.", + "The asset is approved with policies applied. Contributes to a PrimaryStatus of LIMITED." + ], + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "resourceName": { + "description": "Immutable. The resource name of the ad group asset. AdGroupAsset resource names have the form: `customers/{customer_id}/adGroupAssets/{ad_group_id}~{asset_id}~{field_type}`", + "type": "string" + }, + "source": { + "description": "Output only. Source of the adgroup asset link.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ADVERTISER", + "AUTOMATICALLY_CREATED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The asset or asset link is provided by advertiser.", + "The asset or asset link is generated by Google." + ], + "readOnly": true, + "type": "string" + }, + "status": { + "description": "Status of the ad group asset.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ENABLED", + "REMOVED", + "PAUSED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Asset link is enabled.", + "Asset link has been removed.", + "Asset link is paused." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__AdGroupAssetSet": { + "description": "AdGroupAssetSet is the linkage between an ad group and an asset set. Creating an AdGroupAssetSet links an asset set with an ad group.", + "id": "GoogleAdsSearchads360V23Resources__AdGroupAssetSet", + "properties": { + "adGroup": { + "description": "Immutable. The ad group to which this asset set is linked.", + "type": "string" + }, + "assetSet": { + "description": "Immutable. The asset set which is linked to the ad group.", + "type": "string" + }, + "resourceName": { + "description": "Immutable. The resource name of the ad group asset set. Ad group asset set resource names have the form: `customers/{customer_id}/adGroupAssetSets/{ad_group_id}~{asset_set_id}`", + "type": "string" + }, + "status": { + "description": "Output only. The status of the ad group asset set. Read-only.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ENABLED", + "REMOVED" + ], + "enumDescriptions": [ + "The status has not been specified.", + "The received value is not known in this version. This is a response-only value.", + "The linkage between asset set and its container is enabled.", + "The linkage between asset set and its container is removed." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__AdGroupAudienceView": { + "description": "An ad group audience view. Includes performance data from interests and remarketing lists for Display Network and YouTube Network ads, and remarketing lists for search ads (RLSA), aggregated at the audience level.", + "id": "GoogleAdsSearchads360V23Resources__AdGroupAudienceView", + "properties": { + "resourceName": { + "description": "Output only. The resource name of the ad group audience view. Ad group audience view resource names have the form: `customers/{customer_id}/adGroupAudienceViews/{ad_group_id}~{criterion_id}`", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__AdGroupBidModifier": { + "description": "Represents an ad group bid modifier.", + "id": "GoogleAdsSearchads360V23Resources__AdGroupBidModifier", + "properties": { + "adGroup": { + "description": "Immutable. The ad group to which this criterion belongs.", + "type": "string" + }, + "baseAdGroup": { + "description": "Output only. The base ad group from which this draft/trial adgroup bid modifier was created. If ad_group is a base ad group then this field will be equal to ad_group. If the ad group was created in the draft or trial and has no corresponding base ad group, then this field will be null. This field is readonly.", + "readOnly": true, + "type": "string" + }, + "bidModifier": { + "description": "The modifier for the bid when the criterion matches. The modifier must be in the range: 0.1 - 10.0. Use 0 to opt out of a Device type.", + "format": "double", + "type": "number" + }, + "bidModifierSource": { + "description": "Output only. Bid modifier source.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CAMPAIGN", + "AD_GROUP" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The bid modifier is specified at the campaign level, on the campaign level criterion.", + "The bid modifier is specified (overridden) at the ad group level." + ], + "readOnly": true, + "type": "string" + }, + "criterionId": { + "description": "Output only. The ID of the criterion to bid modify. This field is ignored for mutates.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "device": { + "$ref": "GoogleAdsSearchads360V23Common__DeviceInfo", + "description": "Immutable. A device criterion." + }, + "hotelAdvanceBookingWindow": { + "$ref": "GoogleAdsSearchads360V23Common__HotelAdvanceBookingWindowInfo", + "description": "Immutable. Criterion for number of days prior to the stay the booking is being made." + }, + "hotelCheckInDateRange": { + "$ref": "GoogleAdsSearchads360V23Common__HotelCheckInDateRangeInfo", + "description": "Immutable. Criterion for a hotel check-in date range." + }, + "hotelCheckInDay": { + "$ref": "GoogleAdsSearchads360V23Common__HotelCheckInDayInfo", + "description": "Immutable. Criterion for day of the week the booking is for." + }, + "hotelDateSelectionType": { + "$ref": "GoogleAdsSearchads360V23Common__HotelDateSelectionTypeInfo", + "description": "Immutable. Criterion for hotel date selection (default dates versus user selected)." + }, + "hotelLengthOfStay": { + "$ref": "GoogleAdsSearchads360V23Common__HotelLengthOfStayInfo", + "description": "Immutable. Criterion for length of hotel stay in nights." + }, + "resourceName": { + "description": "Immutable. The resource name of the ad group bid modifier. Ad group bid modifier resource names have the form: `customers/{customer_id}/adGroupBidModifiers/{ad_group_id}~{criterion_id}`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__AdGroupCriterion": { + "description": "An ad group criterion. The ad_group_criterion report only returns criteria that were explicitly added to the ad group.", + "id": "GoogleAdsSearchads360V23Resources__AdGroupCriterion", + "properties": { + "adGroup": { + "description": "Immutable. The ad group to which the criterion belongs.", + "type": "string" + }, + "ageRange": { + "$ref": "GoogleAdsSearchads360V23Common__AgeRangeInfo", + "description": "Immutable. Age range." + }, + "appPaymentModel": { + "$ref": "GoogleAdsSearchads360V23Common__AppPaymentModelInfo", + "description": "Immutable. App Payment Model." + }, + "approvalStatus": { + "description": "Output only. Approval status of the criterion.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "APPROVED", + "DISAPPROVED", + "PENDING_REVIEW", + "UNDER_REVIEW" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "Approved.", + "Disapproved.", + "Pending Review.", + "Under review." + ], + "readOnly": true, + "type": "string" + }, + "audience": { + "$ref": "GoogleAdsSearchads360V23Common__AudienceInfo", + "description": "Immutable. Audience." + }, + "bidModifier": { + "description": "The modifier for the bid when the criterion matches. The modifier must be in the range: 0.1 - 10.0. Most targetable criteria types support modifiers.", + "format": "double", + "type": "number" + }, + "brandList": { + "$ref": "GoogleAdsSearchads360V23Common__BrandListInfo", + "description": "Immutable. Brand list criterion." + }, + "combinedAudience": { + "$ref": "GoogleAdsSearchads360V23Common__CombinedAudienceInfo", + "description": "Immutable. Combined Audience." + }, + "cpcBidMicros": { + "description": "The CPC (cost-per-click) bid.", + "format": "int64", + "type": "string" + }, + "cpmBidMicros": { + "description": "The CPM (cost-per-thousand viewable impressions) bid.", + "format": "int64", + "type": "string" + }, + "cpvBidMicros": { + "description": "The CPV (cost-per-view) bid.", + "format": "int64", + "type": "string" + }, + "creationTime": { + "description": "Output only. The timestamp when this ad group criterion was created. The timestamp is in the customer's time zone and in \"yyyy-MM-dd HH:mm:ss\" format.", + "readOnly": true, + "type": "string" + }, + "criterionId": { + "description": "Output only. The ID of the criterion.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "customAffinity": { + "$ref": "GoogleAdsSearchads360V23Common__CustomAffinityInfo", + "description": "Immutable. Custom Affinity." + }, + "customAudience": { + "$ref": "GoogleAdsSearchads360V23Common__CustomAudienceInfo", + "description": "Immutable. Custom Audience." + }, + "customIntent": { + "$ref": "GoogleAdsSearchads360V23Common__CustomIntentInfo", + "description": "Immutable. Custom Intent." + }, + "disapprovalReasons": { + "description": "Output only. List of disapproval reasons of the criterion. The different reasons for disapproving a criterion can be found here: https://support.google.com/adspolicy/answer/6008942 This field is read-only.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "displayName": { + "description": "Output only. The display name of the criterion.", + "readOnly": true, + "type": "string" + }, + "effectiveCpcBidMicros": { + "description": "Output only. The effective CPC (cost-per-click) bid.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "effectiveCpcBidSource": { + "description": "Output only. Source of the effective CPC bid.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CAMPAIGN_BIDDING_STRATEGY", + "AD_GROUP", + "AD_GROUP_CRITERION" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Effective bid or target is inherited from campaign bidding strategy.", + "The bid or target is defined on the ad group.", + "The bid or target is defined on the ad group criterion." + ], + "readOnly": true, + "type": "string" + }, + "effectiveCpmBidMicros": { + "description": "Output only. The effective CPM (cost-per-thousand viewable impressions) bid.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "effectiveCpmBidSource": { + "description": "Output only. Source of the effective CPM bid.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CAMPAIGN_BIDDING_STRATEGY", + "AD_GROUP", + "AD_GROUP_CRITERION" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Effective bid or target is inherited from campaign bidding strategy.", + "The bid or target is defined on the ad group.", + "The bid or target is defined on the ad group criterion." + ], + "readOnly": true, + "type": "string" + }, + "effectiveCpvBidMicros": { + "description": "Output only. The effective CPV (cost-per-view) bid.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "effectiveCpvBidSource": { + "description": "Output only. Source of the effective CPV bid.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CAMPAIGN_BIDDING_STRATEGY", + "AD_GROUP", + "AD_GROUP_CRITERION" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Effective bid or target is inherited from campaign bidding strategy.", + "The bid or target is defined on the ad group.", + "The bid or target is defined on the ad group criterion." + ], + "readOnly": true, + "type": "string" + }, + "effectiveLabels": { + "description": "Output only. The resource names of effective labels attached to this ad group criterion. An effective label is a label inherited or directly assigned to this ad group criterion.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "effectivePercentCpcBidMicros": { + "description": "Output only. The effective Percent CPC bid amount.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "effectivePercentCpcBidSource": { + "description": "Output only. Source of the effective Percent CPC bid.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CAMPAIGN_BIDDING_STRATEGY", + "AD_GROUP", + "AD_GROUP_CRITERION" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Effective bid or target is inherited from campaign bidding strategy.", + "The bid or target is defined on the ad group.", + "The bid or target is defined on the ad group criterion." + ], + "readOnly": true, + "type": "string" + }, + "engineId": { + "description": "Output only. ID of the ad group criterion in the external engine account. This field is for non-Google Ads account only, for example, Yahoo Japan, Microsoft, Baidu etc. For Google Ads entity, use \"ad_group_criterion.criterion_id\" instead.", + "readOnly": true, + "type": "string" + }, + "engineStatus": { + "description": "Output only. The Engine Status for ad group criterion.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "AD_GROUP_CRITERION_ELIGIBLE", + "AD_GROUP_CRITERION_INAPPROPRIATE_FOR_CAMPAIGN", + "AD_GROUP_CRITERION_INVALID_MOBILE_SEARCH", + "AD_GROUP_CRITERION_INVALID_PC_SEARCH", + "AD_GROUP_CRITERION_INVALID_SEARCH", + "AD_GROUP_CRITERION_LOW_SEARCH_VOLUME", + "AD_GROUP_CRITERION_MOBILE_URL_UNDER_REVIEW", + "AD_GROUP_CRITERION_PARTIALLY_INVALID", + "AD_GROUP_CRITERION_TO_BE_ACTIVATED", + "AD_GROUP_CRITERION_UNDER_REVIEW", + "AD_GROUP_CRITERION_NOT_REVIEWED", + "AD_GROUP_CRITERION_ON_HOLD", + "AD_GROUP_CRITERION_PENDING_REVIEW", + "AD_GROUP_CRITERION_PAUSED", + "AD_GROUP_CRITERION_REMOVED", + "AD_GROUP_CRITERION_APPROVED", + "AD_GROUP_CRITERION_DISAPPROVED", + "AD_GROUP_CRITERION_SERVING", + "AD_GROUP_CRITERION_ACCOUNT_PAUSED" + ], + "enumDeprecated": [ + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Deprecated. Do not use.", + "Baidu: Bid or quality too low to be displayed.", + "Baidu: Bid or quality too low for mobile, but eligible to display for desktop.", + "Baidu: Bid or quality too low for desktop, but eligible to display for mobile.", + "Baidu: Bid or quality too low to be displayed.", + "Baidu: Paused by Baidu due to low search volume.", + "Baidu: Mobile URL in process to be reviewed.", + "Baidu: The landing page for one device is invalid, while the landing page for the other device is valid.", + "Baidu: Keyword has been created and paused by Baidu account management, and is now ready for you to activate it.", + "Baidu: In process to be reviewed by Baidu. Gemini: Criterion under review.", + "Baidu: Criterion to be reviewed.", + "Deprecated. Do not use. Previously used by Gemini", + "Y!J : Criterion pending review", + "Criterion has been paused.", + "Criterion has been removed.", + "Criterion has been approved.", + "Criterion has been disapproved.", + "Criterion is active and serving.", + "Criterion has been paused since the account is paused." + ], + "readOnly": true, + "type": "string" + }, + "extendedDemographic": { + "$ref": "GoogleAdsSearchads360V23Common__ExtendedDemographicInfo", + "description": "Immutable. Extended demographic criterion." + }, + "finalMobileUrls": { + "description": "The list of possible final mobile URLs after all cross-domain redirects.", + "items": { + "type": "string" + }, + "type": "array" + }, + "finalUrlSuffix": { + "description": "URL template for appending params to final URL.", + "type": "string" + }, + "finalUrls": { + "description": "The list of possible final URLs after all cross-domain redirects for the ad.", + "items": { + "type": "string" + }, + "type": "array" + }, + "gender": { + "$ref": "GoogleAdsSearchads360V23Common__GenderInfo", + "description": "Immutable. Gender." + }, + "incomeRange": { + "$ref": "GoogleAdsSearchads360V23Common__IncomeRangeInfo", + "description": "Immutable. Income range." + }, + "keyword": { + "$ref": "GoogleAdsSearchads360V23Common__KeywordInfo", + "description": "Immutable. Keyword." + }, + "labels": { + "description": "Output only. The resource names of labels attached to this ad group criterion.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "language": { + "$ref": "GoogleAdsSearchads360V23Common__LanguageInfo", + "description": "Immutable. Language." + }, + "lastModifiedTime": { + "description": "Output only. The datetime when this ad group criterion was last modified. The datetime is in the customer's time zone and in \"yyyy-MM-dd HH:mm:ss.ssssss\" format.", + "readOnly": true, + "type": "string" + }, + "lifeEvent": { + "$ref": "GoogleAdsSearchads360V23Common__LifeEventInfo", + "description": "Immutable. Life event campaign criterion." + }, + "listingGroup": { + "$ref": "GoogleAdsSearchads360V23Common__ListingGroupInfo", + "description": "Immutable. Listing group." + }, + "location": { + "$ref": "GoogleAdsSearchads360V23Common__LocationInfo", + "description": "Immutable. Location." + }, + "mobileAppCategory": { + "$ref": "GoogleAdsSearchads360V23Common__MobileAppCategoryInfo", + "description": "Immutable. Mobile app category." + }, + "mobileApplication": { + "$ref": "GoogleAdsSearchads360V23Common__MobileApplicationInfo", + "description": "Immutable. Mobile application." + }, + "negative": { + "description": "Immutable. Whether to target (`false`) or exclude (`true`) the criterion. This field is immutable. To switch a criterion from positive to negative, remove then re-add it.", + "type": "boolean" + }, + "parentalStatus": { + "$ref": "GoogleAdsSearchads360V23Common__ParentalStatusInfo", + "description": "Immutable. Parental status." + }, + "percentCpcBidMicros": { + "description": "The CPC bid amount, expressed as a fraction of the advertised price for some good or service. The valid range for the fraction is [0,1) and the value stored here is 1,000,000 * [fraction].", + "format": "int64", + "type": "string" + }, + "placement": { + "$ref": "GoogleAdsSearchads360V23Common__PlacementInfo", + "description": "Immutable. Placement." + }, + "positionEstimates": { + "$ref": "GoogleAdsSearchads360V23Resources_AdGroupCriterion_PositionEstimates", + "description": "Output only. Estimates for criterion bids at various positions.", + "readOnly": true + }, + "primaryStatus": { + "description": "Output only. The primary status for the ad group criterion.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ELIGIBLE", + "PAUSED", + "REMOVED", + "PENDING", + "NOT_ELIGIBLE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The ad group criterion is eligible to serve.", + "The ad group criterion is paused.", + "The ad group criterion is removed.", + "The ad group criterion is pending.", + "The ad group criterion is not eligible to serve." + ], + "readOnly": true, + "type": "string" + }, + "primaryStatusReasons": { + "description": "Output only. The primary status reasons for the ad group criterion.", + "items": { + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CAMPAIGN_PENDING", + "CAMPAIGN_CRITERION_NEGATIVE", + "CAMPAIGN_PAUSED", + "CAMPAIGN_REMOVED", + "CAMPAIGN_ENDED", + "AD_GROUP_PAUSED", + "AD_GROUP_REMOVED", + "AD_GROUP_CRITERION_DISAPPROVED", + "AD_GROUP_CRITERION_RARELY_SERVED", + "AD_GROUP_CRITERION_LOW_QUALITY", + "AD_GROUP_CRITERION_UNDER_REVIEW", + "AD_GROUP_CRITERION_PENDING_REVIEW", + "AD_GROUP_CRITERION_BELOW_FIRST_PAGE_BID", + "AD_GROUP_CRITERION_NEGATIVE", + "AD_GROUP_CRITERION_RESTRICTED", + "AD_GROUP_CRITERION_PAUSED", + "AD_GROUP_CRITERION_PAUSED_DUE_TO_LOW_ACTIVITY", + "AD_GROUP_CRITERION_REMOVED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents unknown value in this version.", + "The user-specified time for this campaign to start is in the future. Contributes to AdGroupCriterionPrimaryStatus.PENDING.", + "The ad group criterion is overridden by negative campaign criterion. Contributes to AdGroupCriterionPrimaryStatus.NOT_ELIGIBLE.", + "The user-specified campaign status is paused. Contributes to AdGroupCriterionPrimaryStatus.PAUSED.", + "The user-specified campaign status is removed. Contributes to AdGroupCriterionPrimaryStatus.REMOVED.", + "The user-specified time for this campaign to end has passed. Contributes to AdGroupCriterionPrimaryStatus.ENDED.", + "The user-specified ad group status is paused. Contributes to AdGroupCriterionPrimaryStatus.PAUSED.", + "The user-specified ad group status is removed. Contributes to AdGroupCriterionPrimaryStatus.REMOVED.", + "The ad group criterion is disapproved by the ads approval system. Contributes to AdGroupCriterionPrimaryStatus.NOT_ELIGIBLE.", + "The ad group criterion is rarely served. Contributes to AdGroupCriterionPrimaryStatus.NOT_ELIGIBLE.", + "The ad group criterion has a low quality score. Contributes to AdGroupCriterionPrimaryStatus.LIMITED.", + "The ad group criterion is under review. Contributes to AdGroupCriterionPrimaryStatus.PENDING.", + "The ad group criterion is pending review. Contributes to AdGroupCriterionPrimaryStatus.NOT_ELIGIBLE.", + "The ad group criterion's bid is below the value necessary to serve on the first page. Contributes to AdGroupCriterionPrimaryStatus.LIMITED.", + "The ad group criterion is negative. Contributes to AdGroupCriterionPrimaryStatus.NOT_ELIGIBLE.", + "The ad group criterion is restricted. Contributes to AdGroupCriterionPrimaryStatus.NOT_ELIGIBLE.", + "The user-specified ad group criterion status is paused. Contributes to AdGroupCriterionPrimaryStatus.PAUSED.", + "The ad group criterion has been paused due to prolonged low activity in serving. Contributes to AdGroupCriterionPrimaryStatus.PAUSED.", + "The user-specified ad group criterion status is removed. Contributes to AdGroupCriterionPrimaryStatus.REMOVED." + ], + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "qualityInfo": { + "$ref": "GoogleAdsSearchads360V23Resources_AdGroupCriterion_QualityInfo", + "description": "Output only. Information regarding the quality of the criterion.", + "readOnly": true + }, + "resourceName": { + "description": "Immutable. The resource name of the ad group criterion. Ad group criterion resource names have the form: `customers/{customer_id}/adGroupCriteria/{ad_group_id}~{criterion_id}`", + "type": "string" + }, + "status": { + "description": "The status of the criterion. This is the status of the ad group criterion entity, set by the client. Note: UI reports may incorporate additional information that affects whether a criterion is eligible to run. In some cases a criterion that's REMOVED in the API can still show as enabled in the UI. For example, campaigns by default show to users of all age ranges unless excluded. The UI will show each age range as \"enabled\", since they're eligible to see the ads; but AdGroupCriterion.status will show \"removed\", since no positive criterion was added.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ENABLED", + "PAUSED", + "REMOVED" + ], + "enumDescriptions": [ + "No value has been specified.", + "The received value is not known in this version. This is a response-only value.", + "The ad group criterion is enabled.", + "The ad group criterion is paused.", + "The ad group criterion is removed." + ], + "type": "string" + }, + "systemServingStatus": { + "description": "Output only. Serving status of the criterion.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ELIGIBLE", + "RARELY_SERVED" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "Eligible.", + "Low search volume." + ], + "readOnly": true, + "type": "string" + }, + "topic": { + "$ref": "GoogleAdsSearchads360V23Common__TopicInfo", + "description": "Immutable. Topic." + }, + "trackingUrlTemplate": { + "description": "The URL template for constructing a tracking URL.", + "type": "string" + }, + "type": { + "description": "Output only. The type of the criterion.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "KEYWORD", + "PLACEMENT", + "MOBILE_APP_CATEGORY", + "MOBILE_APPLICATION", + "DEVICE", + "LOCATION", + "LISTING_GROUP", + "AD_SCHEDULE", + "AGE_RANGE", + "GENDER", + "INCOME_RANGE", + "PARENTAL_STATUS", + "YOUTUBE_VIDEO", + "YOUTUBE_CHANNEL", + "USER_LIST", + "PROXIMITY", + "TOPIC", + "LISTING_SCOPE", + "LANGUAGE", + "IP_BLOCK", + "CONTENT_LABEL", + "CARRIER", + "USER_INTEREST", + "WEBPAGE", + "OPERATING_SYSTEM_VERSION", + "APP_PAYMENT_MODEL", + "MOBILE_DEVICE", + "CUSTOM_AFFINITY", + "CUSTOM_INTENT", + "LOCATION_GROUP", + "CUSTOM_AUDIENCE", + "COMBINED_AUDIENCE", + "KEYWORD_THEME", + "AUDIENCE", + "NEGATIVE_KEYWORD_LIST", + "LOCAL_SERVICE_ID", + "SEARCH_THEME", + "BRAND", + "BRAND_LIST", + "LIFE_EVENT", + "WEBPAGE_LIST", + "VIDEO_LINEUP", + "PLACEMENT_LIST", + "VERTICAL_ADS_ITEM_GROUP_RULE_LIST", + "VERTICAL_ADS_ITEM_GROUP_RULE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Keyword, for example, 'mars cruise'.", + "Placement, also known as Website, for example, 'www.flowers4sale.com'", + "Mobile application categories to target.", + "Mobile applications to target.", + "Devices to target.", + "Locations to target.", + "Listing groups to target.", + "Ad Schedule.", + "Age range.", + "Gender.", + "Income Range.", + "Parental status.", + "YouTube Video.", + "YouTube Channel.", + "User list.", + "Proximity.", + "A topic target on the display network (for example, \"Pets & Animals\").", + "Listing scope to target.", + "Language.", + "IpBlock.", + "Content Label for category exclusion.", + "Carrier.", + "A category the user is interested in.", + "Webpage criterion for dynamic search ads.", + "Operating system version.", + "App payment model.", + "Mobile device.", + "Custom affinity.", + "Custom intent.", + "Location group.", + "Custom audience", + "Combined audience", + "Smart Campaign keyword theme", + "Audience", + "Negative Keyword List", + "Local Services Ads Service ID.", + "Search Theme.", + "Brand", + "Brand List", + "Life Event", + "Webpage List", + "Video lineup", + "Placement List", + "A list of rules for item groups in Vertical Ads.", + "A rule for an item group in Vertical Ads." + ], + "readOnly": true, + "type": "string" + }, + "urlCustomParameters": { + "description": "The list of mappings used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__CustomParameter" + }, + "type": "array" + }, + "userInterest": { + "$ref": "GoogleAdsSearchads360V23Common__UserInterestInfo", + "description": "Immutable. User Interest." + }, + "userList": { + "$ref": "GoogleAdsSearchads360V23Common__UserListInfo", + "description": "Immutable. User List." + }, + "verticalAdsItemGroupRuleList": { + "$ref": "GoogleAdsSearchads360V23Common__VerticalAdsItemGroupRuleListInfo", + "description": "Immutable. Vertical ads item group rule list criterion." + }, + "videoLineup": { + "$ref": "GoogleAdsSearchads360V23Common__VideoLineupInfo", + "description": "Immutable. Video lineup criterion." + }, + "webpage": { + "$ref": "GoogleAdsSearchads360V23Common__WebpageInfo", + "description": "Immutable. Webpage" + }, + "youtubeChannel": { + "$ref": "GoogleAdsSearchads360V23Common__YouTubeChannelInfo", + "description": "Immutable. YouTube Channel." + }, + "youtubeVideo": { + "$ref": "GoogleAdsSearchads360V23Common__YouTubeVideoInfo", + "description": "Immutable. YouTube Video." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__AdGroupCriterionCustomizer": { + "description": "A customizer value for the associated CustomizerAttribute at the AdGroupCriterion level.", + "id": "GoogleAdsSearchads360V23Resources__AdGroupCriterionCustomizer", + "properties": { + "adGroupCriterion": { + "description": "Immutable. The ad group criterion to which the customizer attribute is linked. It must be a keyword criterion.", + "type": "string" + }, + "customizerAttribute": { + "description": "Required. Immutable. The customizer attribute which is linked to the ad group criterion.", + "type": "string" + }, + "resourceName": { + "description": "Immutable. The resource name of the ad group criterion customizer. Ad group criterion customizer resource names have the form: `customers/{customer_id}/adGroupCriterionCustomizers/{ad_group_id}~{criterion_id}~{customizer_attribute_id}`", + "type": "string" + }, + "status": { + "description": "Output only. The status of the ad group criterion customizer.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ENABLED", + "REMOVED" + ], + "enumDescriptions": [ + "The status has not been specified.", + "The received value is not known in this version.", + "The customizer value is enabled.", + "The customizer value is removed." + ], + "readOnly": true, + "type": "string" + }, + "value": { + "$ref": "GoogleAdsSearchads360V23Common__CustomizerValue", + "description": "Required. The value to associate with the customizer attribute at this level. The value must be of the type specified for the CustomizerAttribute." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__AdGroupCriterionEffectiveLabel": { + "description": "A relationship between an ad group criterion and an effective label. An effective label is a label inherited or directly assigned to this ad group criterion.", + "id": "GoogleAdsSearchads360V23Resources__AdGroupCriterionEffectiveLabel", + "properties": { + "adGroupCriterion": { + "description": "Immutable. The ad group criterion to which the effective label is attached.", + "type": "string" + }, + "label": { + "description": "Immutable. The effective label assigned to the ad group criterion.", + "type": "string" + }, + "ownerCustomerId": { + "description": "Output only. The ID of the Customer which owns the effective label.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Immutable. The resource name of the ad group criterion effective label. Ad group criterion effective label resource names have the form: `customers/{owner_customer_id}/adGroupCriterionEffectiveLabels/{ad_group_id}~{criterion_id}~{label_id}`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__AdGroupCriterionLabel": { + "description": "A relationship between an ad group criterion and a label.", + "id": "GoogleAdsSearchads360V23Resources__AdGroupCriterionLabel", + "properties": { + "adGroupCriterion": { + "description": "Immutable. The ad group criterion to which the label is attached.", + "type": "string" + }, + "label": { + "description": "Immutable. The label assigned to the ad group criterion.", + "type": "string" + }, + "ownerCustomerId": { + "description": "Output only. The ID of the Customer which owns the label.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Immutable. The resource name of the ad group criterion label. Ad group criterion label resource names have the form: `customers/{owner_customer_id}/adGroupCriterionLabels/{ad_group_id}~{criterion_id}~{label_id}`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__AdGroupCriterionSimulation": { + "description": "An ad group criterion simulation. Supported combinations of advertising channel type, criterion type, simulation type, and simulation modification method are detailed below respectively. Hotel AdGroupCriterion simulation operations starting in V5. 1. DISPLAY - KEYWORD - CPC_BID - UNIFORM 2. SEARCH - KEYWORD - CPC_BID - UNIFORM 3. SHOPPING - LISTING_GROUP - CPC_BID - UNIFORM 4. HOTEL - LISTING_GROUP - CPC_BID - UNIFORM 5. HOTEL - LISTING_GROUP - PERCENT_CPC_BID - UNIFORM", + "id": "GoogleAdsSearchads360V23Resources__AdGroupCriterionSimulation", + "properties": { + "adGroupId": { + "description": "Output only. AdGroup ID of the simulation.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "cpcBidPointList": { + "$ref": "GoogleAdsSearchads360V23Common__CpcBidSimulationPointList", + "description": "Output only. Simulation points if the simulation type is CPC_BID.", + "readOnly": true + }, + "criterionId": { + "description": "Output only. Criterion ID of the simulation.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "endDate": { + "description": "Output only. Last day on which the simulation is based, in YYYY-MM-DD format.", + "readOnly": true, + "type": "string" + }, + "modificationMethod": { + "description": "Output only. How the simulation modifies the field.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "UNIFORM", + "DEFAULT", + "SCALING" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The values in a simulation were applied to all children of a given resource uniformly. Overrides on child resources were not respected.", + "The values in a simulation were applied to the given resource. Overrides on child resources were respected, and traffic estimates do not include these resources.", + "The values in a simulation were all scaled by the same factor. For example, in a simulated TargetCpa campaign, the campaign target and all ad group targets were scaled by a factor of X." + ], + "readOnly": true, + "type": "string" + }, + "percentCpcBidPointList": { + "$ref": "GoogleAdsSearchads360V23Common__PercentCpcBidSimulationPointList", + "description": "Output only. Simulation points if the simulation type is PERCENT_CPC_BID.", + "readOnly": true + }, + "resourceName": { + "description": "Output only. The resource name of the ad group criterion simulation. Ad group criterion simulation resource names have the form: `customers/{customer_id}/adGroupCriterionSimulations/{ad_group_id}~{criterion_id}~{type}~{modification_method}~{start_date}~{end_date}`", + "readOnly": true, + "type": "string" + }, + "startDate": { + "description": "Output only. First day on which the simulation is based, in YYYY-MM-DD format.", + "readOnly": true, + "type": "string" + }, + "type": { + "description": "Output only. The field that the simulation modifies.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CPC_BID", + "CPV_BID", + "TARGET_CPA", + "BID_MODIFIER", + "TARGET_ROAS", + "PERCENT_CPC_BID", + "TARGET_IMPRESSION_SHARE", + "BUDGET" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The simulation is for a CPC bid.", + "The simulation is for a CPV bid.", + "The simulation is for a CPA target.", + "The simulation is for a bid modifier.", + "The simulation is for a ROAS target.", + "The simulation is for a percent CPC bid.", + "The simulation is for an impression share target.", + "The simulation is for a budget." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__AdGroupCustomizer": { + "description": "A customizer value for the associated CustomizerAttribute at the AdGroup level.", + "id": "GoogleAdsSearchads360V23Resources__AdGroupCustomizer", + "properties": { + "adGroup": { + "description": "Immutable. The ad group to which the customizer attribute is linked.", + "type": "string" + }, + "customizerAttribute": { + "description": "Required. Immutable. The customizer attribute which is linked to the ad group.", + "type": "string" + }, + "resourceName": { + "description": "Immutable. The resource name of the ad group customizer. Ad group customizer resource names have the form: `customers/{customer_id}/adGroupCustomizers/{ad_group_id}~{customizer_attribute_id}`", + "type": "string" + }, + "status": { + "description": "Output only. The status of the ad group customizer.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ENABLED", + "REMOVED" + ], + "enumDescriptions": [ + "The status has not been specified.", + "The received value is not known in this version.", + "The customizer value is enabled.", + "The customizer value is removed." + ], + "readOnly": true, + "type": "string" + }, + "value": { + "$ref": "GoogleAdsSearchads360V23Common__CustomizerValue", + "description": "Required. The value to associate with the customizer attribute at this level. The value must be of the type specified for the CustomizerAttribute." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__AdGroupEffectiveLabel": { + "description": "A relationship between an ad group and an effective label. An effective label is a label inherited or directly assigned to this ad group.", + "id": "GoogleAdsSearchads360V23Resources__AdGroupEffectiveLabel", + "properties": { + "adGroup": { + "description": "Immutable. The ad group to which the effective label is attached.", + "type": "string" + }, + "label": { + "description": "Immutable. The effective label assigned to the ad group.", + "type": "string" + }, + "ownerCustomerId": { + "description": "Output only. The ID of the Customer which owns the effective label.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Immutable. The resource name of the ad group effective label. Ad group effective label resource names have the form: `customers/{owner_customer_id}/adGroupEffectiveLabels/{ad_group_id}~{label_id}`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__AdGroupLabel": { + "description": "A relationship between an ad group and a label.", + "id": "GoogleAdsSearchads360V23Resources__AdGroupLabel", + "properties": { + "adGroup": { + "description": "Immutable. The ad group to which the label is attached.", + "type": "string" + }, + "label": { + "description": "Immutable. The label assigned to the ad group.", + "type": "string" + }, + "ownerCustomerId": { + "description": "Output only. The ID of the Customer which owns the label.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Immutable. The resource name of the ad group label. Ad group label resource names have the form: `customers/{owner_customer_id}/adGroupLabels/{ad_group_id}~{label_id}`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__AdGroupSimulation": { + "description": "An ad group simulation. Supported combinations of advertising channel type, simulation type and simulation modification method is detailed below respectively. 1. SEARCH - CPC_BID - DEFAULT 2. SEARCH - CPC_BID - UNIFORM 3. SEARCH - TARGET_CPA - UNIFORM 4. SEARCH - TARGET_ROAS - UNIFORM 5. DISPLAY - CPC_BID - DEFAULT 6. DISPLAY - CPC_BID - UNIFORM 7. DISPLAY - TARGET_CPA - UNIFORM", + "id": "GoogleAdsSearchads360V23Resources__AdGroupSimulation", + "properties": { + "adGroupId": { + "description": "Output only. Ad group id of the simulation.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "cpcBidPointList": { + "$ref": "GoogleAdsSearchads360V23Common__CpcBidSimulationPointList", + "description": "Output only. Simulation points if the simulation type is CPC_BID.", + "readOnly": true + }, + "cpvBidPointList": { + "$ref": "GoogleAdsSearchads360V23Common__CpvBidSimulationPointList", + "description": "Output only. Simulation points if the simulation type is CPV_BID.", + "readOnly": true + }, + "endDate": { + "description": "Output only. Last day on which the simulation is based, in YYYY-MM-DD format", + "readOnly": true, + "type": "string" + }, + "modificationMethod": { + "description": "Output only. How the simulation modifies the field.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "UNIFORM", + "DEFAULT", + "SCALING" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The values in a simulation were applied to all children of a given resource uniformly. Overrides on child resources were not respected.", + "The values in a simulation were applied to the given resource. Overrides on child resources were respected, and traffic estimates do not include these resources.", + "The values in a simulation were all scaled by the same factor. For example, in a simulated TargetCpa campaign, the campaign target and all ad group targets were scaled by a factor of X." + ], + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Output only. The resource name of the ad group simulation. Ad group simulation resource names have the form: `customers/{customer_id}/adGroupSimulations/{ad_group_id}~{type}~{modification_method}~{start_date}~{end_date}`", + "readOnly": true, + "type": "string" + }, + "startDate": { + "description": "Output only. First day on which the simulation is based, in YYYY-MM-DD format.", + "readOnly": true, + "type": "string" + }, + "targetCpaPointList": { + "$ref": "GoogleAdsSearchads360V23Common__TargetCpaSimulationPointList", + "description": "Output only. Simulation points if the simulation type is TARGET_CPA.", + "readOnly": true + }, + "targetRoasPointList": { + "$ref": "GoogleAdsSearchads360V23Common__TargetRoasSimulationPointList", + "description": "Output only. Simulation points if the simulation type is TARGET_ROAS.", + "readOnly": true + }, + "type": { + "description": "Output only. The field that the simulation modifies.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CPC_BID", + "CPV_BID", + "TARGET_CPA", + "BID_MODIFIER", + "TARGET_ROAS", + "PERCENT_CPC_BID", + "TARGET_IMPRESSION_SHARE", + "BUDGET" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The simulation is for a CPC bid.", + "The simulation is for a CPV bid.", + "The simulation is for a CPA target.", + "The simulation is for a bid modifier.", + "The simulation is for a ROAS target.", + "The simulation is for a percent CPC bid.", + "The simulation is for an impression share target.", + "The simulation is for a budget." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__AdParameter": { + "description": "An ad parameter that is used to update numeric values (such as prices or inventory levels) in any text line of an ad (including URLs). There can be a maximum of two AdParameters per ad group criterion. (One with parameter_index = 1 and one with parameter_index = 2.) In the ad the parameters are referenced by a placeholder of the form \"{param#:value}\". For example, \"{param1:$17}\"", + "id": "GoogleAdsSearchads360V23Resources__AdParameter", + "properties": { + "adGroupCriterion": { + "description": "Immutable. The ad group criterion that this ad parameter belongs to.", + "type": "string" + }, + "insertionText": { + "description": "Numeric value to insert into the ad text. The following restrictions apply: - Can use comma or period as a separator, with an optional period or comma (respectively) for fractional values. For example, 1,000,000.00 and 2.000.000,10 are valid. - Can be prepended or appended with a currency symbol. For example, $99.99 is valid. - Can be prepended or appended with a currency code. For example, 99.99USD and EUR200 are valid. - Can use '%'. For example, 1.0% and 1,0% are valid. - Can use plus or minus. For example, -10.99 and 25+ are valid. - Can use '/' between two numbers. For example 4/1 and 0.95/0.45 are valid.", + "type": "string" + }, + "parameterIndex": { + "description": "Immutable. The unique index of this ad parameter. Must be either 1 or 2.", + "format": "int64", + "type": "string" + }, + "resourceName": { + "description": "Immutable. The resource name of the ad parameter. Ad parameter resource names have the form: `customers/{customer_id}/adParameters/{ad_group_id}~{criterion_id}~{parameter_index}`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__AdScheduleView": { + "description": "An ad schedule view summarizes the performance of campaigns by AdSchedule criteria.", + "id": "GoogleAdsSearchads360V23Resources__AdScheduleView", + "properties": { + "resourceName": { + "description": "Output only. The resource name of the ad schedule view. AdSchedule view resource names have the form: `customers/{customer_id}/adScheduleViews/{campaign_id}~{criterion_id}`", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__AdStrengthActionItem": { + "description": "An action item to improve the ad strength of an asset group.", + "id": "GoogleAdsSearchads360V23Resources__AdStrengthActionItem", + "properties": { + "actionItemType": { + "description": "Output only. The action item type.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ADD_ASSET" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "This action item suggests adding an asset to the asset group." + ], + "readOnly": true, + "type": "string" + }, + "addAssetDetails": { + "$ref": "GoogleAdsSearchads360V23Resources_AdStrengthActionItem_AddAssetDetails", + "description": "Output only. The action item details for action item type ADD_ASSET.", + "readOnly": true + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__AdvertisingPartnerIdentifier": { + "description": "The identifier for the Advertising Partner Google Ads account.", + "id": "GoogleAdsSearchads360V23Resources__AdvertisingPartnerIdentifier", + "properties": { + "customer": { + "description": "Output only. The resource name of the advertising partner Google Ads account. This field is required and should not be empty when creating a new Advertising Partner link. It is unable to be modified after the creation of the link.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__AdvertisingPartnerLinkInvitationIdentifier": { + "description": "The identifier for the Advertising Partner Google Ads account.", + "id": "GoogleAdsSearchads360V23Resources__AdvertisingPartnerLinkInvitationIdentifier", + "properties": { + "customer": { + "description": "Immutable. The resource name of the advertising partner Google Ads account. This field is read only.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__AgeRangeView": { + "description": "An age range view.", + "id": "GoogleAdsSearchads360V23Resources__AgeRangeView", + "properties": { + "resourceName": { + "description": "Output only. The resource name of the age range view. Age range view resource names have the form: `customers/{customer_id}/ageRangeViews/{ad_group_id}~{criterion_id}`", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__AiMaxSearchTermAdCombinationView": { + "description": "AiMaxSearchTermAdCombinationView Resource.", + "id": "GoogleAdsSearchads360V23Resources__AiMaxSearchTermAdCombinationView", + "properties": { + "adGroup": { + "description": "Output only. Ad group where the search term served.", + "readOnly": true, + "type": "string" + }, + "headline": { + "description": "Output only. The concatenated string containing headline assets for the ad. Up to three headline assets are concatenated, separated by \" | \". This field is read-only.", + "readOnly": true, + "type": "string" + }, + "landingPage": { + "description": "Output only. The destination URL, which was dynamically generated. This field is read-only.", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Output only. The resource name of the AI Max Search Term Ad Combination view AI Max Search Term Ad Combination view resource names have the form: `customers/{customer_id}/aiMaxSearchTermAdCombinationViews/{ad_group_id}~{URL-base64_search_term}~{URL-base64_landing_page}~{URL-base64_headline}`", + "readOnly": true, + "type": "string" + }, + "searchTerm": { + "description": "Output only. The search term that triggered the ad. This field is read-only.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__AndroidPrivacySharedKeyGoogleAdGroup": { + "description": "An Android privacy shared key view for Google ad group key.", + "id": "GoogleAdsSearchads360V23Resources__AndroidPrivacySharedKeyGoogleAdGroup", + "properties": { + "adGroupId": { + "description": "Output only. The ad group ID used in the share key encoding.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "androidPrivacyInteractionDate": { + "description": "Output only. The interaction date used in the shared key encoding in the format of \"YYYY-MM-DD\" in UTC timezone.", + "readOnly": true, + "type": "string" + }, + "androidPrivacyInteractionType": { + "description": "Output only. The interaction type enum used in the share key encoding.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CLICK", + "ENGAGED_VIEW", + "VIEW" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "The physical click interaction type.", + "The 10 seconds engaged view interaction type.", + "The view (ad impression) interaction type." + ], + "readOnly": true, + "type": "string" + }, + "androidPrivacyNetworkType": { + "description": "Output only. The network type enum used in the share key encoding.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "SEARCH", + "DISPLAY", + "YOUTUBE" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "Search Network.", + "Display Network.", + "YouTube Network." + ], + "readOnly": true, + "type": "string" + }, + "campaignId": { + "description": "Output only. The campaign ID used in the share key encoding.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Output only. The resource name of the Android privacy shared key. Android privacy shared key resource names have the form: `customers/{customer_id}/androidPrivacySharedKeyGoogleAdGroups/{campaign_id}~{ad_group_id}~{android_privacy_interaction_type}~{android_privacy_network_type}~{android_privacy_interaction_date(yyyy-mm-dd)}`", + "readOnly": true, + "type": "string" + }, + "sharedAdGroupKey": { + "description": "Output only. 128 bit hex string of the encoded shared ad group key, including a '0x' prefix. This key can be used to do a bitwise OR operator with the aggregate conversion key to create a full aggregation key to retrieve the Aggregate API Report in Android Privacy Sandbox.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__AndroidPrivacySharedKeyGoogleCampaign": { + "description": "An Android privacy shared key view for Google campaign key.", + "id": "GoogleAdsSearchads360V23Resources__AndroidPrivacySharedKeyGoogleCampaign", + "properties": { + "androidPrivacyInteractionDate": { + "description": "Output only. The interaction date used in the shared key encoding in the format of \"YYYY-MM-DD\" in UTC timezone.", + "readOnly": true, + "type": "string" + }, + "androidPrivacyInteractionType": { + "description": "Output only. The interaction type enum used in the share key encoding.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CLICK", + "ENGAGED_VIEW", + "VIEW" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "The physical click interaction type.", + "The 10 seconds engaged view interaction type.", + "The view (ad impression) interaction type." + ], + "readOnly": true, + "type": "string" + }, + "campaignId": { + "description": "Output only. The campaign ID used in the share key encoding.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Output only. The resource name of the Android privacy shared key. Android privacy shared key resource names have the form: `customers/{customer_id}/androidPrivacySharedKeyGoogleCampaigns/{campaign_id}~{android_privacy_interaction_type}~{android_privacy_interaction_date(yyyy-mm-dd)}`", + "readOnly": true, + "type": "string" + }, + "sharedCampaignKey": { + "description": "Output only. 128 bit hex string of the encoded shared campaign key, including a '0x' prefix. This key can be used to do a bitwise OR operator with the aggregate conversion key to create a full aggregation key to retrieve the Aggregate API Report in Android Privacy Sandbox.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__AndroidPrivacySharedKeyGoogleNetworkType": { + "description": "An Android privacy shared key view for Google network type key.", + "id": "GoogleAdsSearchads360V23Resources__AndroidPrivacySharedKeyGoogleNetworkType", + "properties": { + "androidPrivacyInteractionDate": { + "description": "Output only. The interaction date used in the shared key encoding in the format of \"YYYY-MM-DD\" in UTC timezone.", + "readOnly": true, + "type": "string" + }, + "androidPrivacyInteractionType": { + "description": "Output only. The interaction type enum used in the share key encoding.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CLICK", + "ENGAGED_VIEW", + "VIEW" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "The physical click interaction type.", + "The 10 seconds engaged view interaction type.", + "The view (ad impression) interaction type." + ], + "readOnly": true, + "type": "string" + }, + "androidPrivacyNetworkType": { + "description": "Output only. The network type enum used in the share key encoding.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "SEARCH", + "DISPLAY", + "YOUTUBE" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "Search Network.", + "Display Network.", + "YouTube Network." + ], + "readOnly": true, + "type": "string" + }, + "campaignId": { + "description": "Output only. The campaign ID used in the share key encoding.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Output only. The resource name of the Android privacy shared key. Android privacy shared key resource names have the form: `customers/{customer_id}/androidPrivacySharedKeyGoogleNetworkTypes/{campaign_id}~{android_privacy_interaction_type}~{android_privacy_network_type}~{android_privacy_interaction_date(yyyy-mm-dd)}`", + "readOnly": true, + "type": "string" + }, + "sharedNetworkTypeKey": { + "description": "Output only. 128 bit hex string of the encoded shared network type key, including a '0x' prefix. This key can be used to do a bitwise OR operator with the aggregate conversion key to create a full aggregation key to retrieve the Aggregate API Report in Android Privacy Sandbox.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__Asset": { + "description": "Asset is a part of an ad which can be shared across multiple ads. It can be an image (ImageAsset), a video (YoutubeVideoAsset), etc. Assets are immutable and cannot be removed. To stop an asset from serving, remove the asset from the entity that is using it.", + "id": "GoogleAdsSearchads360V23Resources__Asset", + "properties": { + "appDeepLinkAsset": { + "$ref": "GoogleAdsSearchads360V23Common__AppDeepLinkAsset", + "description": "Immutable. An app deep link asset." + }, + "bookOnGoogleAsset": { + "$ref": "GoogleAdsSearchads360V23Common__BookOnGoogleAsset", + "description": "A book on google asset." + }, + "businessMessageAsset": { + "$ref": "GoogleAdsSearchads360V23Common__BusinessMessageAsset", + "description": "A business message asset." + }, + "callAsset": { + "$ref": "GoogleAdsSearchads360V23Common__CallAsset", + "description": "A call asset." + }, + "callToActionAsset": { + "$ref": "GoogleAdsSearchads360V23Common__CallToActionAsset", + "description": "Immutable. A call to action asset." + }, + "calloutAsset": { + "$ref": "GoogleAdsSearchads360V23Common__CalloutAsset", + "description": "A callout asset." + }, + "creationTime": { + "description": "Output only. The timestamp when this asset was created. The timestamp is in the customer's time zone and in \"yyyy-MM-dd HH:mm:ss\" format.", + "readOnly": true, + "type": "string" + }, + "demandGenCarouselCardAsset": { + "$ref": "GoogleAdsSearchads360V23Common__DemandGenCarouselCardAsset", + "description": "Immutable. A Demand Gen carousel card asset." + }, + "dynamicCustomAsset": { + "$ref": "GoogleAdsSearchads360V23Common__DynamicCustomAsset", + "description": "A dynamic custom asset." + }, + "dynamicEducationAsset": { + "$ref": "GoogleAdsSearchads360V23Common__DynamicEducationAsset", + "description": "A dynamic education asset." + }, + "dynamicFlightsAsset": { + "$ref": "GoogleAdsSearchads360V23Common__DynamicFlightsAsset", + "description": "A dynamic flights asset." + }, + "dynamicHotelsAndRentalsAsset": { + "$ref": "GoogleAdsSearchads360V23Common__DynamicHotelsAndRentalsAsset", + "description": "A dynamic hotels and rentals asset." + }, + "dynamicJobsAsset": { + "$ref": "GoogleAdsSearchads360V23Common__DynamicJobsAsset", + "description": "A dynamic jobs asset." + }, + "dynamicLocalAsset": { + "$ref": "GoogleAdsSearchads360V23Common__DynamicLocalAsset", + "description": "A dynamic local asset." + }, + "dynamicRealEstateAsset": { + "$ref": "GoogleAdsSearchads360V23Common__DynamicRealEstateAsset", + "description": "A dynamic real estate asset." + }, + "dynamicTravelAsset": { + "$ref": "GoogleAdsSearchads360V23Common__DynamicTravelAsset", + "description": "A dynamic travel asset." + }, + "engineStatus": { + "description": "Output only. The Engine Status for an asset.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "SERVING", + "SERVING_LIMITED", + "DISAPPROVED", + "DISABLED", + "REMOVED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The asset is active.", + "The asset is active limited.", + "The asset is disapproved (not eligible).", + "The asset is inactive (pending).", + "The asset has been removed." + ], + "readOnly": true, + "type": "string" + }, + "fieldTypePolicySummaries": { + "description": "Output only. Policy information for the asset for each FieldType.", + "items": { + "$ref": "GoogleAdsSearchads360V23Resources__AssetFieldTypePolicySummary" + }, + "readOnly": true, + "type": "array" + }, + "finalMobileUrls": { + "description": "A list of possible final mobile URLs after all cross domain redirects.", + "items": { + "type": "string" + }, + "type": "array" + }, + "finalUrlSuffix": { + "description": "URL template for appending params to landing page URLs served with parallel tracking.", + "type": "string" + }, + "finalUrls": { + "description": "A list of possible final URLs after all cross domain redirects.", + "items": { + "type": "string" + }, + "type": "array" + }, + "hotelCalloutAsset": { + "$ref": "GoogleAdsSearchads360V23Common__HotelCalloutAsset", + "description": "A hotel callout asset." + }, + "hotelPropertyAsset": { + "$ref": "GoogleAdsSearchads360V23Common__HotelPropertyAsset", + "description": "Immutable. A hotel property asset." + }, + "id": { + "description": "Output only. The ID of the asset.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "imageAsset": { + "$ref": "GoogleAdsSearchads360V23Common__ImageAsset", + "description": "Output only. An image asset.", + "readOnly": true + }, + "lastModifiedTime": { + "description": "Output only. The datetime when this asset was last modified. The datetime is in the customer's time zone and in \"yyyy-MM-dd HH:mm:ss.ssssss\" format.", + "readOnly": true, + "type": "string" + }, + "leadFormAsset": { + "$ref": "GoogleAdsSearchads360V23Common__LeadFormAsset", + "description": "A lead form asset." + }, + "locationAsset": { + "$ref": "GoogleAdsSearchads360V23Common__LocationAsset", + "description": "Output only. A location asset.", + "readOnly": true + }, + "mediaBundleAsset": { + "$ref": "GoogleAdsSearchads360V23Common__MediaBundleAsset", + "description": "Immutable. A media bundle asset." + }, + "mobileAppAsset": { + "$ref": "GoogleAdsSearchads360V23Common__MobileAppAsset", + "description": "A mobile app asset." + }, + "name": { + "description": "Optional name of the asset.", + "type": "string" + }, + "orientation": { + "description": "Output only. Orientation of the asset. This is only supported for image and video assets.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "LANDSCAPE", + "PORTRAIT", + "SQUARE" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "Landscape orientation.", + "Portrait orientation.", + "Square orientation." + ], + "readOnly": true, + "type": "string" + }, + "pageFeedAsset": { + "$ref": "GoogleAdsSearchads360V23Common__PageFeedAsset", + "description": "A page feed asset." + }, + "policySummary": { + "$ref": "GoogleAdsSearchads360V23Resources__AssetPolicySummary", + "description": "Output only. Policy information for the asset.", + "readOnly": true + }, + "priceAsset": { + "$ref": "GoogleAdsSearchads360V23Common__PriceAsset", + "description": "A price asset." + }, + "promotionAsset": { + "$ref": "GoogleAdsSearchads360V23Common__PromotionAsset", + "description": "A promotion asset." + }, + "resourceName": { + "description": "Immutable. The resource name of the asset. Asset resource names have the form: `customers/{customer_id}/assets/{asset_id}`", + "type": "string" + }, + "searchAds360CallAsset": { + "$ref": "GoogleAdsSearchads360V23Common__UnifiedCallAsset", + "description": "Output only. A unified call asset.", + "readOnly": true + }, + "searchAds360CalloutAsset": { + "$ref": "GoogleAdsSearchads360V23Common__UnifiedCalloutAsset", + "description": "Output only. A unified callout asset.", + "readOnly": true + }, + "searchAds360LocationAsset": { + "$ref": "GoogleAdsSearchads360V23Common__UnifiedLocationAsset", + "description": "Output only. A unified location asset.", + "readOnly": true + }, + "searchAds360PageFeedAsset": { + "$ref": "GoogleAdsSearchads360V23Common__UnifiedPageFeedAsset", + "description": "Output only. A unified page feed asset.", + "readOnly": true + }, + "searchAds360SitelinkAsset": { + "$ref": "GoogleAdsSearchads360V23Common__UnifiedSitelinkAsset", + "description": "Output only. A unified sitelink asset.", + "readOnly": true + }, + "sitelinkAsset": { + "$ref": "GoogleAdsSearchads360V23Common__SitelinkAsset", + "description": "A sitelink asset." + }, + "source": { + "description": "Output only. Source of the asset.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ADVERTISER", + "AUTOMATICALLY_CREATED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The asset or asset link is provided by advertiser.", + "The asset or asset link is generated by Google." + ], + "readOnly": true, + "type": "string" + }, + "status": { + "description": "Output only. The status of the asset.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ENABLED", + "REMOVED", + "ARCHIVED", + "PENDING_SYSTEM_GENERATED" + ], + "enumDescriptions": [ + "The status has not been specified.", + "The received value is not known in this version. This is a response-only value.", + "The asset is enabled.", + "The asset is removed.", + "The asset is archived.", + "The asset is system generated pending user review." + ], + "readOnly": true, + "type": "string" + }, + "structuredSnippetAsset": { + "$ref": "GoogleAdsSearchads360V23Common__StructuredSnippetAsset", + "description": "A structured snippet asset." + }, + "textAsset": { + "$ref": "GoogleAdsSearchads360V23Common__TextAsset", + "description": "Immutable. A text asset." + }, + "trackingUrlTemplate": { + "description": "URL template for constructing a tracking URL.", + "type": "string" + }, + "type": { + "description": "Output only. Type of the asset.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "YOUTUBE_VIDEO", + "MEDIA_BUNDLE", + "IMAGE", + "TEXT", + "LEAD_FORM", + "BOOK_ON_GOOGLE", + "PROMOTION", + "CALLOUT", + "STRUCTURED_SNIPPET", + "SITELINK", + "PAGE_FEED", + "DYNAMIC_EDUCATION", + "MOBILE_APP", + "HOTEL_CALLOUT", + "CALL", + "PRICE", + "CALL_TO_ACTION", + "DYNAMIC_REAL_ESTATE", + "DYNAMIC_CUSTOM", + "DYNAMIC_HOTELS_AND_RENTALS", + "DYNAMIC_FLIGHTS", + "DYNAMIC_TRAVEL", + "DYNAMIC_LOCAL", + "DYNAMIC_JOBS", + "LOCATION", + "HOTEL_PROPERTY", + "DEMAND_GEN_CAROUSEL_CARD", + "BUSINESS_MESSAGE", + "APP_DEEP_LINK" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "YouTube video asset.", + "Media bundle asset.", + "Image asset.", + "Text asset.", + "Lead form asset.", + "Book on Google asset.", + "Promotion asset.", + "Callout asset.", + "Structured Snippet asset.", + "Sitelink asset.", + "Page Feed asset.", + "Dynamic Education asset.", + "Mobile app asset.", + "Hotel callout asset.", + "Call asset.", + "Price asset.", + "Call to action asset.", + "Dynamic real estate asset.", + "Dynamic custom asset.", + "Dynamic hotels and rentals asset.", + "Dynamic flights asset.", + "Dynamic travel asset.", + "Dynamic local asset.", + "Dynamic jobs asset.", + "Location asset.", + "Hotel property asset.", + "Demand Gen Carousel Card asset.", + "Business message asset.", + "App deep link asset." + ], + "readOnly": true, + "type": "string" + }, + "urlCustomParameters": { + "description": "A list of mappings to be used for substituting URL custom parameter tags in the tracking_url_template, final_urls, and/or final_mobile_urls.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__CustomParameter" + }, + "type": "array" + }, + "youtubeVideoAsset": { + "$ref": "GoogleAdsSearchads360V23Common__YoutubeVideoAsset", + "description": "Immutable. A YouTube video asset." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__AssetCoverage": { + "description": "Information about the asset coverage of an asset group.", + "id": "GoogleAdsSearchads360V23Resources__AssetCoverage", + "properties": { + "adStrengthActionItems": { + "description": "Output only. A list of action items to improve the ad strength of an asset group.", + "items": { + "$ref": "GoogleAdsSearchads360V23Resources__AdStrengthActionItem" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__AssetFieldTypePolicySummary": { + "description": "Contains policy information for an asset under AssetFieldType context.", + "id": "GoogleAdsSearchads360V23Resources__AssetFieldTypePolicySummary", + "properties": { + "assetFieldType": { + "description": "Output only. FieldType of this asset.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "HEADLINE", + "DESCRIPTION", + "MANDATORY_AD_TEXT", + "MARKETING_IMAGE", + "MEDIA_BUNDLE", + "YOUTUBE_VIDEO", + "BOOK_ON_GOOGLE", + "LEAD_FORM", + "PROMOTION", + "CALLOUT", + "STRUCTURED_SNIPPET", + "SITELINK", + "MOBILE_APP", + "HOTEL_CALLOUT", + "CALL", + "PRICE", + "LONG_HEADLINE", + "BUSINESS_NAME", + "SQUARE_MARKETING_IMAGE", + "PORTRAIT_MARKETING_IMAGE", + "LOGO", + "LANDSCAPE_LOGO", + "VIDEO", + "CALL_TO_ACTION_SELECTION", + "AD_IMAGE", + "BUSINESS_LOGO", + "HOTEL_PROPERTY", + "DEMAND_GEN_CAROUSEL_CARD", + "BUSINESS_MESSAGE", + "TALL_PORTRAIT_MARKETING_IMAGE", + "LANDING_PAGE_PREVIEW", + "LONG_DESCRIPTION", + "CALL_TO_ACTION" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The asset is linked for use as a headline.", + "The asset is linked for use as a description.", + "The asset is linked for use as mandatory ad text.", + "The asset is linked for use as a marketing image.", + "The asset is linked for use as a media bundle.", + "The asset is linked for use as a YouTube video.", + "The asset is linked to indicate that a hotels campaign is \"Book on Google\" enabled.", + "The asset is linked for use as a Lead Form extension.", + "The asset is linked for use as a Promotion extension.", + "The asset is linked for use as a Callout extension.", + "The asset is linked for use as a Structured Snippet extension.", + "The asset is linked for use as a Sitelink.", + "The asset is linked for use as a Mobile App extension.", + "The asset is linked for use as a Hotel Callout extension.", + "The asset is linked for use as a Call extension.", + "The asset is linked for use as a Price extension.", + "The asset is linked for use as a long headline.", + "The asset is linked for use as a business name.", + "The asset is linked for use as a square marketing image.", + "The asset is linked for use as a portrait marketing image.", + "The asset is linked for use as a logo.", + "The asset is linked for use as a landscape logo.", + "The asset is linked for use as a non YouTube logo.", + "The asset is linked for use to select a call-to-action.", + "The asset is linked for use to select an ad image.", + "The asset is linked for use as a business logo.", + "The asset is linked for use as a hotel property in a Performance Max for travel goals campaign.", + "The asset is linked for use as a Demand Gen carousel card.", + "The asset is linked for use as a Business Message.", + "The asset is linked for use as a tall portrait marketing image.", + "The asset is linked for use as a landing page preview image.", + "The asset is linked for use as a long description.", + "The asset is linked for use as a call-to-action." + ], + "readOnly": true, + "type": "string" + }, + "assetSource": { + "description": "Output only. Source of this asset.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ADVERTISER", + "AUTOMATICALLY_CREATED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The asset or asset link is provided by advertiser.", + "The asset or asset link is generated by Google." + ], + "readOnly": true, + "type": "string" + }, + "policySummaryInfo": { + "$ref": "GoogleAdsSearchads360V23Resources__AssetPolicySummary", + "description": "Output only. Policy summary.", + "readOnly": true + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__AssetFieldTypeView": { + "description": "An asset field type view. This view reports non-overcounted metrics for each asset field type when the asset is used as extension.", + "id": "GoogleAdsSearchads360V23Resources__AssetFieldTypeView", + "properties": { + "fieldType": { + "description": "Output only. The asset field type of the asset field type view.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "HEADLINE", + "DESCRIPTION", + "MANDATORY_AD_TEXT", + "MARKETING_IMAGE", + "MEDIA_BUNDLE", + "YOUTUBE_VIDEO", + "BOOK_ON_GOOGLE", + "LEAD_FORM", + "PROMOTION", + "CALLOUT", + "STRUCTURED_SNIPPET", + "SITELINK", + "MOBILE_APP", + "HOTEL_CALLOUT", + "CALL", + "PRICE", + "LONG_HEADLINE", + "BUSINESS_NAME", + "SQUARE_MARKETING_IMAGE", + "PORTRAIT_MARKETING_IMAGE", + "LOGO", + "LANDSCAPE_LOGO", + "VIDEO", + "CALL_TO_ACTION_SELECTION", + "AD_IMAGE", + "BUSINESS_LOGO", + "HOTEL_PROPERTY", + "DEMAND_GEN_CAROUSEL_CARD", + "BUSINESS_MESSAGE", + "TALL_PORTRAIT_MARKETING_IMAGE", + "LANDING_PAGE_PREVIEW", + "LONG_DESCRIPTION", + "CALL_TO_ACTION" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The asset is linked for use as a headline.", + "The asset is linked for use as a description.", + "The asset is linked for use as mandatory ad text.", + "The asset is linked for use as a marketing image.", + "The asset is linked for use as a media bundle.", + "The asset is linked for use as a YouTube video.", + "The asset is linked to indicate that a hotels campaign is \"Book on Google\" enabled.", + "The asset is linked for use as a Lead Form extension.", + "The asset is linked for use as a Promotion extension.", + "The asset is linked for use as a Callout extension.", + "The asset is linked for use as a Structured Snippet extension.", + "The asset is linked for use as a Sitelink.", + "The asset is linked for use as a Mobile App extension.", + "The asset is linked for use as a Hotel Callout extension.", + "The asset is linked for use as a Call extension.", + "The asset is linked for use as a Price extension.", + "The asset is linked for use as a long headline.", + "The asset is linked for use as a business name.", + "The asset is linked for use as a square marketing image.", + "The asset is linked for use as a portrait marketing image.", + "The asset is linked for use as a logo.", + "The asset is linked for use as a landscape logo.", + "The asset is linked for use as a non YouTube logo.", + "The asset is linked for use to select a call-to-action.", + "The asset is linked for use to select an ad image.", + "The asset is linked for use as a business logo.", + "The asset is linked for use as a hotel property in a Performance Max for travel goals campaign.", + "The asset is linked for use as a Demand Gen carousel card.", + "The asset is linked for use as a Business Message.", + "The asset is linked for use as a tall portrait marketing image.", + "The asset is linked for use as a landing page preview image.", + "The asset is linked for use as a long description.", + "The asset is linked for use as a call-to-action." + ], + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Output only. The resource name of the asset field type view. Asset field type view resource names have the form: `customers/{customer_id}/assetFieldTypeViews/{field_type}`", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__AssetGroup": { + "description": "An asset group. AssetGroupAsset is used to link an asset to the asset group. AssetGroupSignal is used to associate a signal to an asset group.", + "id": "GoogleAdsSearchads360V23Resources__AssetGroup", + "properties": { + "adStrength": { + "description": "Output only. Overall ad strength of this asset group.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "PENDING", + "NO_ADS", + "POOR", + "AVERAGE", + "GOOD", + "EXCELLENT" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The ad strength is currently pending.", + "No ads could be generated.", + "Poor strength.", + "Average strength.", + "Good strength.", + "Excellent strength." + ], + "readOnly": true, + "type": "string" + }, + "assetCoverage": { + "$ref": "GoogleAdsSearchads360V23Resources__AssetCoverage", + "description": "Output only. The asset coverage of this asset group.", + "readOnly": true + }, + "campaign": { + "description": "Immutable. The campaign with which this asset group is associated. The asset which is linked to the asset group.", + "type": "string" + }, + "finalMobileUrls": { + "description": "A list of final mobile URLs after all cross domain redirects. In performance max, by default, the urls are eligible for expansion unless opted out.", + "items": { + "type": "string" + }, + "type": "array" + }, + "finalUrls": { + "description": "A list of final URLs after all cross domain redirects. In performance max, by default, the urls are eligible for expansion unless opted out.", + "items": { + "type": "string" + }, + "type": "array" + }, + "id": { + "description": "Output only. The ID of the asset group.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Required. Name of the asset group. Required. It must have a minimum length of 1 and maximum length of 128. It must be unique under a campaign.", + "type": "string" + }, + "path1": { + "description": "First part of text that may appear appended to the url displayed in the ad.", + "type": "string" + }, + "path2": { + "description": "Second part of text that may appear appended to the url displayed in the ad. This field can only be set when path1 is set.", + "type": "string" + }, + "primaryStatus": { + "description": "Output only. The primary status of the asset group. Provides insights into why an asset group is not serving or not serving optimally.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ELIGIBLE", + "PAUSED", + "REMOVED", + "NOT_ELIGIBLE", + "LIMITED", + "PENDING" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The asset group is eligible to serve.", + "The asset group is paused.", + "The asset group is removed.", + "The asset group is not eligible to serve.", + "The asset group has limited servability.", + "The asset group is pending approval and may serve in the future." + ], + "readOnly": true, + "type": "string" + }, + "primaryStatusReasons": { + "description": "Output only. Provides reasons into why an asset group is not serving or not serving optimally. It will be empty when the asset group is serving without issues.", + "items": { + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ASSET_GROUP_PAUSED", + "ASSET_GROUP_REMOVED", + "CAMPAIGN_REMOVED", + "CAMPAIGN_PAUSED", + "CAMPAIGN_PENDING", + "CAMPAIGN_ENDED", + "ASSET_GROUP_LIMITED", + "ASSET_GROUP_DISAPPROVED", + "ASSET_GROUP_UNDER_REVIEW" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The user-specified asset group status is paused. Contributes to AssetGroupPrimaryStatus.PAUSED", + "The user-specified asset group status is removed. Contributes to AssetGroupPrimaryStatus.REMOVED.", + "The user-specified campaign status is removed. Contributes to AssetGroupPrimaryStatus.NOT_ELIGIBLE.", + "The user-specified campaign status is paused. Contributes to AssetGroupPrimaryStatus.NOT_ELIGIBLE.", + "The user-specified time for this campaign to start is in the future. Contributes to AssetGroupPrimaryStatus.NOT_ELIGIBLE.", + "The user-specified time for this campaign to end has passed. Contributes to AssetGroupPrimaryStatus.NOT_ELIGIBLE.", + "The asset group is approved but only serves in limited capacity due to policies. Contributes to AssetGroupPrimaryStatus.LIMITED.", + "The asset group has been marked as disapproved. Contributes to AssetGroupPrimaryStatus.NOT_ELIGIBLE.", + "The asset group has not completed policy review. Contributes to AssetGroupPrimaryStatus.PENDING." + ], + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "resourceName": { + "description": "Immutable. The resource name of the asset group. Asset group resource names have the form: `customers/{customer_id}/assetGroups/{asset_group_id}`", + "type": "string" + }, + "status": { + "description": "The status of the asset group.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ENABLED", + "PAUSED", + "REMOVED" + ], + "enumDescriptions": [ + "The status has not been specified.", + "The received value is not known in this version.", + "The asset group is enabled.", + "The asset group is paused.", + "The asset group is removed." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__AssetGroupAsset": { + "description": "AssetGroupAsset is the link between an asset and an asset group. Adding an AssetGroupAsset links an asset with an asset group.", + "id": "GoogleAdsSearchads360V23Resources__AssetGroupAsset", + "properties": { + "asset": { + "description": "Immutable. The asset which this asset group asset is linking.", + "type": "string" + }, + "assetGroup": { + "description": "Immutable. The asset group which this asset group asset is linking.", + "type": "string" + }, + "fieldType": { + "description": "The description of the placement of the asset within the asset group. For example: HEADLINE, YOUTUBE_VIDEO etc", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "HEADLINE", + "DESCRIPTION", + "MANDATORY_AD_TEXT", + "MARKETING_IMAGE", + "MEDIA_BUNDLE", + "YOUTUBE_VIDEO", + "BOOK_ON_GOOGLE", + "LEAD_FORM", + "PROMOTION", + "CALLOUT", + "STRUCTURED_SNIPPET", + "SITELINK", + "MOBILE_APP", + "HOTEL_CALLOUT", + "CALL", + "PRICE", + "LONG_HEADLINE", + "BUSINESS_NAME", + "SQUARE_MARKETING_IMAGE", + "PORTRAIT_MARKETING_IMAGE", + "LOGO", + "LANDSCAPE_LOGO", + "VIDEO", + "CALL_TO_ACTION_SELECTION", + "AD_IMAGE", + "BUSINESS_LOGO", + "HOTEL_PROPERTY", + "DEMAND_GEN_CAROUSEL_CARD", + "BUSINESS_MESSAGE", + "TALL_PORTRAIT_MARKETING_IMAGE", + "LANDING_PAGE_PREVIEW", + "LONG_DESCRIPTION", + "CALL_TO_ACTION" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The asset is linked for use as a headline.", + "The asset is linked for use as a description.", + "The asset is linked for use as mandatory ad text.", + "The asset is linked for use as a marketing image.", + "The asset is linked for use as a media bundle.", + "The asset is linked for use as a YouTube video.", + "The asset is linked to indicate that a hotels campaign is \"Book on Google\" enabled.", + "The asset is linked for use as a Lead Form extension.", + "The asset is linked for use as a Promotion extension.", + "The asset is linked for use as a Callout extension.", + "The asset is linked for use as a Structured Snippet extension.", + "The asset is linked for use as a Sitelink.", + "The asset is linked for use as a Mobile App extension.", + "The asset is linked for use as a Hotel Callout extension.", + "The asset is linked for use as a Call extension.", + "The asset is linked for use as a Price extension.", + "The asset is linked for use as a long headline.", + "The asset is linked for use as a business name.", + "The asset is linked for use as a square marketing image.", + "The asset is linked for use as a portrait marketing image.", + "The asset is linked for use as a logo.", + "The asset is linked for use as a landscape logo.", + "The asset is linked for use as a non YouTube logo.", + "The asset is linked for use to select a call-to-action.", + "The asset is linked for use to select an ad image.", + "The asset is linked for use as a business logo.", + "The asset is linked for use as a hotel property in a Performance Max for travel goals campaign.", + "The asset is linked for use as a Demand Gen carousel card.", + "The asset is linked for use as a Business Message.", + "The asset is linked for use as a tall portrait marketing image.", + "The asset is linked for use as a landing page preview image.", + "The asset is linked for use as a long description.", + "The asset is linked for use as a call-to-action." + ], + "type": "string" + }, + "policySummary": { + "$ref": "GoogleAdsSearchads360V23Common__PolicySummary", + "description": "Output only. The policy information for this asset group asset.", + "readOnly": true + }, + "primaryStatus": { + "description": "Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain \"status\" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ELIGIBLE", + "PAUSED", + "REMOVED", + "PENDING", + "LIMITED", + "NOT_ELIGIBLE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The asset is eligible to serve.", + "The user-specified asset link status is paused.", + "The user-specified asset link status is removed.", + "The asset may serve in the future.", + "The asset is serving in a partial capacity.", + "The asset is not eligible to serve." + ], + "readOnly": true, + "type": "string" + }, + "primaryStatusDetails": { + "description": "Output only. Provides the details of the primary status and its associated reasons.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AssetLinkPrimaryStatusDetails" + }, + "readOnly": true, + "type": "array" + }, + "primaryStatusReasons": { + "description": "Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.", + "items": { + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ASSET_LINK_PAUSED", + "ASSET_LINK_REMOVED", + "ASSET_DISAPPROVED", + "ASSET_UNDER_REVIEW", + "ASSET_APPROVED_LABELED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The asset is paused for its linked rollup level. Contributes to a PrimaryStatus of PAUSED.", + "The asset is removed for its linked rollup level. Contributes to a PrimaryStatus of REMOVED.", + "The asset has been marked as disapproved. Contributes to a PrimaryStatus of NOT_ELIGIBLE", + "The asset has not completed policy review. Contributes to a PrimaryStatus of PENDING.", + "The asset is approved with policies applied. Contributes to a PrimaryStatus of LIMITED." + ], + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "resourceName": { + "description": "Immutable. The resource name of the asset group asset. Asset group asset resource name have the form: `customers/{customer_id}/assetGroupAssets/{asset_group_id}~{asset_id}~{field_type}`", + "type": "string" + }, + "source": { + "description": "Output only. Source of the asset group asset.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ADVERTISER", + "AUTOMATICALLY_CREATED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The asset or asset link is provided by advertiser.", + "The asset or asset link is generated by Google." + ], + "readOnly": true, + "type": "string" + }, + "status": { + "description": "The status of the link between an asset and asset group.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ENABLED", + "REMOVED", + "PAUSED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Asset link is enabled.", + "Asset link has been removed.", + "Asset link is paused." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__AssetGroupAssetCombinationData": { + "description": "Asset group asset combination data", + "id": "GoogleAdsSearchads360V23Resources__AssetGroupAssetCombinationData", + "properties": { + "assetCombinationServedAssets": { + "description": "Output only. Served assets.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AssetUsage" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__AssetGroupListingGroupFilter": { + "description": "AssetGroupListingGroupFilter represents a listing group filter tree node in an asset group.", + "id": "GoogleAdsSearchads360V23Resources__AssetGroupListingGroupFilter", + "properties": { + "assetGroup": { + "description": "Immutable. The asset group which this asset group listing group filter is part of.", + "type": "string" + }, + "caseValue": { + "$ref": "GoogleAdsSearchads360V23Resources__ListingGroupFilterDimension", + "description": "Dimension value with which this listing group is refining its parent. Undefined for the root group." + }, + "id": { + "description": "Output only. The ID of the ListingGroupFilter.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "listingSource": { + "description": "Immutable. The source of listings filtered by this listing group filter.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "SHOPPING", + "WEBPAGE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Listings from a Shopping source, like products from Google Merchant Center.", + "Listings from a webpage source, like URLs from a page feed or from the advertiser web domain." + ], + "type": "string" + }, + "parentListingGroupFilter": { + "description": "Immutable. Resource name of the parent listing group subdivision. Null for the root listing group filter node.", + "type": "string" + }, + "path": { + "$ref": "GoogleAdsSearchads360V23Resources__ListingGroupFilterDimensionPath", + "description": "Output only. The path of dimensions defining this listing group filter.", + "readOnly": true + }, + "resourceName": { + "description": "Immutable. The resource name of the asset group listing group filter. Asset group listing group filter resource name have the form: `customers/{customer_id}/assetGroupListingGroupFilters/{asset_group_id}~{listing_group_filter_id}`", + "type": "string" + }, + "type": { + "description": "Immutable. Type of a listing group filter node.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "SUBDIVISION", + "UNIT_INCLUDED", + "UNIT_EXCLUDED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Subdivision of products along some listing dimensions.", + "An included listing group filter leaf node.", + "An excluded listing group filter leaf node." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__AssetGroupProductGroupView": { + "description": "An asset group product group view.", + "id": "GoogleAdsSearchads360V23Resources__AssetGroupProductGroupView", + "properties": { + "assetGroup": { + "description": "Output only. The asset group associated with the listing group filter.", + "readOnly": true, + "type": "string" + }, + "assetGroupListingGroupFilter": { + "description": "Output only. The resource name of the asset group listing group filter.", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Output only. The resource name of the asset group product group view. Asset group product group view resource names have the form: `customers/{customer_id}/assetGroupProductGroupViews/{asset_group_id}~{listing_group_filter_id}`", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__AssetGroupSignal": { + "description": "AssetGroupSignal represents a signal in an asset group. The existence of a signal tells the performance max campaign who's most likely to convert. Performance Max uses the signal to look for new people with similar or stronger intent to find conversions across Search, Display, Video, and more.", + "id": "GoogleAdsSearchads360V23Resources__AssetGroupSignal", + "properties": { + "approvalStatus": { + "description": "Output only. Approval status is the output value for search theme signal after Google ads policy review. When using Audience signal, this field is not used and will be absent.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "APPROVED", + "LIMITED", + "DISAPPROVED", + "UNDER_REVIEW" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "Search Theme is eligible to show ads.", + "Low search volume; Below first page bid estimate.", + "Search Theme is inactive and isn't showing ads. A disapproved Search Theme usually means there's an issue with one or more of our advertising policies.", + "Search Theme is under review. It won’t be able to trigger ads until it's been reviewed." + ], + "readOnly": true, + "type": "string" + }, + "assetGroup": { + "description": "Immutable. The asset group which this asset group signal belongs to.", + "type": "string" + }, + "audience": { + "$ref": "GoogleAdsSearchads360V23Common__AudienceInfo", + "description": "Immutable. The audience signal to be used by the performance max campaign." + }, + "disapprovalReasons": { + "description": "Output only. Computed for SearchTheme signals. When using Audience signal, this field is not used and will be absent.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "resourceName": { + "description": "Immutable. The resource name of the asset group signal. Asset group signal resource name have the form: `customers/{customer_id}/assetGroupSignals/{asset_group_id}~{signal_id}`", + "type": "string" + }, + "searchTheme": { + "$ref": "GoogleAdsSearchads360V23Common__SearchThemeInfo", + "description": "Immutable. The search_theme signal to be used by the performance max campaign. Mutate errors of search_theme criterion includes AssetGroupSignalError.UNSPECIFIED AssetGroupSignalError.UNKNOWN AssetGroupSignalError.TOO_MANY_WORDS AssetGroupSignalError.SEARCH_THEME_POLICY_VIOLATION FieldError.REQUIRED StringFormatError.ILLEGAL_CHARS StringLengthError.TOO_LONG ResourceCountLimitExceededError.RESOURCE_LIMIT" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__AssetGroupTopCombinationView": { + "description": "A view on the usage of asset group asset top combinations.", + "id": "GoogleAdsSearchads360V23Resources__AssetGroupTopCombinationView", + "properties": { + "assetGroupTopCombinations": { + "description": "Output only. The top combinations of assets that served together.", + "items": { + "$ref": "GoogleAdsSearchads360V23Resources__AssetGroupAssetCombinationData" + }, + "readOnly": true, + "type": "array" + }, + "resourceName": { + "description": "Output only. The resource name of the asset group top combination view. AssetGroup Top Combination view resource names have the form: `\"customers/{customer_id}/assetGroupTopCombinationViews/{asset_group_id}~{asset_combination_category}\"", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__AssetPolicySummary": { + "description": "Contains policy information for an asset.", + "id": "GoogleAdsSearchads360V23Resources__AssetPolicySummary", + "properties": { + "approvalStatus": { + "description": "Output only. The overall approval status of this asset, calculated based on the status of its individual policy topic entries.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "DISAPPROVED", + "APPROVED_LIMITED", + "APPROVED", + "AREA_OF_INTEREST_ONLY" + ], + "enumDescriptions": [ + "No value has been specified.", + "The received value is not known in this version. This is a response-only value.", + "Will not serve.", + "Serves with restrictions.", + "Serves without restrictions.", + "Will not serve in targeted countries, but may serve for users who are searching for information about the targeted countries." + ], + "readOnly": true, + "type": "string" + }, + "policyTopicEntries": { + "description": "Output only. The list of policy findings for this asset.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__PolicyTopicEntry" + }, + "readOnly": true, + "type": "array" + }, + "reviewStatus": { + "description": "Output only. Where in the review process this asset is.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "REVIEW_IN_PROGRESS", + "REVIEWED", + "UNDER_APPEAL", + "ELIGIBLE_MAY_SERVE" + ], + "enumDescriptions": [ + "No value has been specified.", + "The received value is not known in this version. This is a response-only value.", + "Currently under review.", + "Primary review complete. Other reviews may be continuing.", + "The resource has been resubmitted for approval or its policy decision has been appealed.", + "The resource is eligible and may be serving but could still undergo further review." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__AssetSet": { + "description": "An asset set representing a collection of assets. Use AssetSetAsset to link an asset to the asset set.", + "id": "GoogleAdsSearchads360V23Resources__AssetSet", + "properties": { + "businessProfileLocationGroup": { + "$ref": "GoogleAdsSearchads360V23Common__BusinessProfileLocationGroup", + "description": "Business Profile location group asset set data." + }, + "chainLocationGroup": { + "$ref": "GoogleAdsSearchads360V23Common__ChainLocationGroup", + "description": "Represents information about a Chain dynamic location group. Only applicable if the sync level AssetSet's type is LOCATION_SYNC and sync source is chain." + }, + "hotelPropertyData": { + "$ref": "GoogleAdsSearchads360V23Resources_AssetSet_HotelPropertyData", + "description": "Output only. For Performance Max for travel goals campaigns with a Hotel Center account link. Read-only.", + "readOnly": true + }, + "id": { + "description": "Output only. The ID of the asset set.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "locationGroupParentAssetSetId": { + "description": "Immutable. Parent asset set ID for the asset set where the elements of this asset set come from. For example: the sync level location AssetSet id where the elements in LocationGroup AssetSet come from. This field is required and only applicable for Location Group typed AssetSet.", + "format": "int64", + "type": "string" + }, + "locationSet": { + "$ref": "GoogleAdsSearchads360V23Common__LocationSet", + "description": "Location asset set data. This will be used for sync level location set. This can only be set if AssetSet's type is LOCATION_SYNC." + }, + "merchantCenterFeed": { + "$ref": "GoogleAdsSearchads360V23Resources_AssetSet_MerchantCenterFeed", + "description": "Merchant ID and Feed Label from Google Merchant Center." + }, + "name": { + "description": "Required. Name of the asset set. Required. It must have a minimum length of 1 and maximum length of 128.", + "type": "string" + }, + "resourceName": { + "description": "Immutable. The resource name of the asset set. Asset set resource names have the form: `customers/{customer_id}/assetSets/{asset_set_id}`", + "type": "string" + }, + "status": { + "description": "Output only. The status of the asset set. Read-only.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ENABLED", + "REMOVED" + ], + "enumDescriptions": [ + "The status has not been specified.", + "The received value is not known in this version. This is a response-only value.", + "The asset set is enabled.", + "The asset set is removed." + ], + "readOnly": true, + "type": "string" + }, + "type": { + "description": "Required. Immutable. The type of the asset set. Required.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "PAGE_FEED", + "DYNAMIC_EDUCATION", + "MERCHANT_CENTER_FEED", + "DYNAMIC_REAL_ESTATE", + "DYNAMIC_CUSTOM", + "DYNAMIC_HOTELS_AND_RENTALS", + "DYNAMIC_FLIGHTS", + "DYNAMIC_TRAVEL", + "DYNAMIC_LOCAL", + "DYNAMIC_JOBS", + "LOCATION_SYNC", + "BUSINESS_PROFILE_DYNAMIC_LOCATION_GROUP", + "CHAIN_DYNAMIC_LOCATION_GROUP", + "STATIC_LOCATION_GROUP", + "HOTEL_PROPERTY", + "TRAVEL_FEED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Page asset set.", + "Dynamic education asset set.", + "Google Merchant Center asset set.", + "Dynamic real estate asset set.", + "Dynamic custom asset set.", + "Dynamic hotels and rentals asset set.", + "Dynamic flights asset set.", + "Dynamic travel asset set.", + "Dynamic local asset set.", + "Dynamic jobs asset set.", + "Location sync level asset set.", + "Business Profile location group asset set.", + "Chain location group asset set which can be used for both owned locations and affiliate locations.", + "Static location group asset set which can be used for both owned locations and affiliate locations.", + "Hotel Property asset set which is used to link a hotel property feed to Performance Max for travel goals campaigns.", + "Travel Feed asset set type. Can represent either a Hotel feed or a Things to Do (activities) feed." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__AssetSetAsset": { + "description": "AssetSetAsset is the link between an asset and an asset set. Adding an AssetSetAsset links an asset with an asset set.", + "id": "GoogleAdsSearchads360V23Resources__AssetSetAsset", + "properties": { + "asset": { + "description": "Immutable. The asset which this asset set asset is linking to.", + "type": "string" + }, + "assetSet": { + "description": "Immutable. The asset set which this asset set asset is linking to.", + "type": "string" + }, + "resourceName": { + "description": "Immutable. The resource name of the asset set asset. Asset set asset resource names have the form: `customers/{customer_id}/assetSetAssets/{asset_set_id}~{asset_id}`", + "type": "string" + }, + "status": { + "description": "Output only. The status of the asset set asset. Read-only.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ENABLED", + "REMOVED" + ], + "enumDescriptions": [ + "The status has not been specified.", + "The received value is not known in this version. This is a response-only value.", + "The asset set asset is enabled.", + "The asset set asset is removed." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__AssetSetTypeView": { + "description": "An asset set type view. This view reports non-overcounted metrics for each asset set type. Child asset set types are not included in this report. Their stats are aggregated under the parent asset set type.", + "id": "GoogleAdsSearchads360V23Resources__AssetSetTypeView", + "properties": { + "assetSetType": { + "description": "Output only. The asset set type of the asset set type view.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "PAGE_FEED", + "DYNAMIC_EDUCATION", + "MERCHANT_CENTER_FEED", + "DYNAMIC_REAL_ESTATE", + "DYNAMIC_CUSTOM", + "DYNAMIC_HOTELS_AND_RENTALS", + "DYNAMIC_FLIGHTS", + "DYNAMIC_TRAVEL", + "DYNAMIC_LOCAL", + "DYNAMIC_JOBS", + "LOCATION_SYNC", + "BUSINESS_PROFILE_DYNAMIC_LOCATION_GROUP", + "CHAIN_DYNAMIC_LOCATION_GROUP", + "STATIC_LOCATION_GROUP", + "HOTEL_PROPERTY", + "TRAVEL_FEED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Page asset set.", + "Dynamic education asset set.", + "Google Merchant Center asset set.", + "Dynamic real estate asset set.", + "Dynamic custom asset set.", + "Dynamic hotels and rentals asset set.", + "Dynamic flights asset set.", + "Dynamic travel asset set.", + "Dynamic local asset set.", + "Dynamic jobs asset set.", + "Location sync level asset set.", + "Business Profile location group asset set.", + "Chain location group asset set which can be used for both owned locations and affiliate locations.", + "Static location group asset set which can be used for both owned locations and affiliate locations.", + "Hotel Property asset set which is used to link a hotel property feed to Performance Max for travel goals campaigns.", + "Travel Feed asset set type. Can represent either a Hotel feed or a Things to Do (activities) feed." + ], + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Output only. The resource name of the asset set type view. Asset set type view resource names have the form: `customers/{customer_id}/assetSetTypeViews/{asset_set_type}`", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__Audience": { + "description": "Audience is an effective targeting option that lets you intersect different segment attributes, such as detailed demographics and affinities, to create audiences that represent sections of your target segments.", + "id": "GoogleAdsSearchads360V23Resources__Audience", + "properties": { + "assetGroup": { + "description": "Immutable. The asset group that this audience is scoped under. Must be set if and only if scope is ASSET_GROUP. Immutable after creation. If an audience with ASSET_GROUP scope is upgraded to CUSTOMER scope, this field will automatically be cleared.", + "type": "string" + }, + "description": { + "description": "Description of this audience.", + "type": "string" + }, + "dimensions": { + "description": "Positive dimensions specifying the audience composition.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AudienceDimension" + }, + "type": "array" + }, + "exclusionDimension": { + "$ref": "GoogleAdsSearchads360V23Common__AudienceExclusionDimension", + "description": "Negative dimension specifying the audience composition." + }, + "id": { + "description": "Output only. ID of the audience.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Name of the audience. It should be unique across all audiences within the account. It must have a minimum length of 1 and maximum length of 255. Required when scope is not set or is set to CUSTOMER. Cannot be set or updated when scope is ASSET_GROUP.", + "type": "string" + }, + "resourceName": { + "description": "Immutable. The resource name of the audience. Audience names have the form: `customers/{customer_id}/audiences/{audience_id}`", + "type": "string" + }, + "scope": { + "description": "Defines the scope this audience can be used in. By default, the scope is CUSTOMER. Audiences can be created with a scope of ASSET_GROUP for exclusive use by a single asset_group. Scope may change from ASSET_GROUP to CUSTOMER but not from CUSTOMER to ASSET_GROUP.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CUSTOMER", + "ASSET_GROUP" + ], + "enumDescriptions": [ + "The scope has not been specified.", + "The received value is not known in this version.", + "The audience is scoped at the customer level.", + "The audience is scoped under a specific AssetGroup." + ], + "type": "string" + }, + "status": { + "description": "Output only. Status of this audience. Indicates whether the audience is enabled or removed.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ENABLED", + "REMOVED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Enabled status - audience is enabled and can be targeted.", + "Removed status - audience is removed and cannot be used for targeting." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__BackgroundCheckVerificationArtifact": { + "description": "specific to local services background check.", + "id": "GoogleAdsSearchads360V23Resources__BackgroundCheckVerificationArtifact", + "properties": { + "caseUrl": { + "description": "Output only. URL to access background case.", + "readOnly": true, + "type": "string" + }, + "finalAdjudicationDateTime": { + "description": "Output only. The timestamp when this background check case result was adjudicated. The format is \"YYYY-MM-DD HH:MM:SS\" in the Google Ads account's timezone. Examples: \"2018-03-05 09:15:00\" or \"2018-02-01 14:34:30\"", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__BatchJob": { + "description": "A list of mutates being processed asynchronously. The mutates are uploaded by the user. The mutates themselves aren't readable and the results of the job can only be read using BatchJobService.ListBatchJobResults.", + "id": "GoogleAdsSearchads360V23Resources__BatchJob", + "properties": { + "id": { + "description": "Output only. ID of this batch job.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "longRunningOperation": { + "description": "Output only. The resource name of the long-running operation that can be used to poll for completion. Only set when the batch job status is RUNNING or DONE.", + "readOnly": true, + "type": "string" + }, + "metadata": { + "$ref": "GoogleAdsSearchads360V23Resources_BatchJob_BatchJobMetadata", + "description": "Output only. Contains additional information about this batch job.", + "readOnly": true + }, + "nextAddSequenceToken": { + "description": "Output only. The next sequence token to use when adding operations. Only set when the batch job status is PENDING.", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Immutable. The resource name of the batch job. Batch job resource names have the form: `customers/{customer_id}/batchJobs/{batch_job_id}`", + "type": "string" + }, + "status": { + "description": "Output only. Status of this batch job.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "PENDING", + "RUNNING", + "DONE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The job is not currently running.", + "The job is running.", + "The job is done." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__BiddingDataExclusion": { + "description": "Represents a bidding data exclusion. Bidding data exclusions can be set in client accounts only, and cannot be used in manager accounts. See \"About data exclusions\" at https://support.google.com/google-ads/answer/10370710. Note: A customer account can have a maximum of 500 active bidding data exclusions.", + "id": "GoogleAdsSearchads360V23Resources__BiddingDataExclusion", + "properties": { + "advertisingChannelTypes": { + "description": "The data_exclusion will apply to all the campaigns under the listed channels retroactively as well as going forward when the scope of this exclusion is CHANNEL. The supported advertising channel types are DISPLAY, SEARCH and SHOPPING. Note: a data exclusion with both advertising_channel_types and campaign_ids is not supported.", + "items": { + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "SEARCH", + "DISPLAY", + "SHOPPING", + "HOTEL", + "VIDEO", + "MULTI_CHANNEL", + "LOCAL", + "SMART", + "PERFORMANCE_MAX", + "LOCAL_SERVICES", + "TRAVEL", + "DEMAND_GEN", + "SOCIAL" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Search Network. Includes display bundled, and Search+ campaigns.", + "Google Display Network only.", + "Shopping campaigns serve on the shopping property and on google.com search results.", + "Hotel Ads campaigns.", + "Video campaigns.", + "App Campaigns, and App Campaigns for Engagement, that run across multiple channels.", + "Local ads campaigns.", + "Smart campaigns.", + "Performance Max campaigns.", + "Local services campaigns.", + "Travel campaigns.", + "Demand Gen campaigns.", + "Social campaigns." + ], + "type": "string" + }, + "type": "array" + }, + "campaigns": { + "description": "The data exclusion will apply to the campaigns listed when the scope of this exclusion is CAMPAIGN. The maximum number of campaigns per event is 2000. Note: a data exclusion with both advertising_channel_types and campaign_ids is not supported.", + "items": { + "type": "string" + }, + "type": "array" + }, + "dataExclusionId": { + "description": "Output only. The ID of the data exclusion.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "The description of the data exclusion. The description can be at most 2048 characters.", + "type": "string" + }, + "devices": { + "description": "If not specified, all devices will be included in this exclusion. Otherwise, only the specified targeted devices will be included in this exclusion.", + "items": { + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "MOBILE", + "TABLET", + "DESKTOP", + "CONNECTED_TV", + "OTHER" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "Mobile devices with full browsers.", + "Tablets with full browsers.", + "Computers.", + "Smart TVs and game consoles.", + "Other device types." + ], + "type": "string" + }, + "type": "array" + }, + "endDateTime": { + "description": "Required. The exclusive end time of the data exclusion in yyyy-MM-dd HH:mm:ss format. The length of [start_date_time, end_date_time) interval must be within (0, 14 days].", + "type": "string" + }, + "name": { + "description": "The name of the data exclusion. The name can be at most 255 characters.", + "type": "string" + }, + "resourceName": { + "description": "Immutable. The resource name of the data exclusion. Data exclusion resource names have the form: `customers/{customer_id}/biddingDataExclusions/{data_exclusion_id}`", + "type": "string" + }, + "scope": { + "description": "The scope of the data exclusion.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CUSTOMER", + "CAMPAIGN", + "CHANNEL" + ], + "enumDescriptions": [ + "No value has been specified.", + "The received value is not known in this version. This is a response-only value.", + "The seasonality event is applied to all the customer's traffic for supported advertising channel types and device types. The CUSTOMER scope cannot be used in mutates.", + "The seasonality event is applied to all specified campaigns.", + "The seasonality event is applied to all campaigns that belong to specified channel types." + ], + "type": "string" + }, + "startDateTime": { + "description": "Required. The inclusive start time of the data exclusion in yyyy-MM-dd HH:mm:ss format. A data exclusion is backward looking and should be used for events that start in the past and end either in the past or future.", + "type": "string" + }, + "status": { + "description": "Output only. The status of the data exclusion.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ENABLED", + "REMOVED" + ], + "enumDescriptions": [ + "No value has been specified.", + "The received value is not known in this version. This is a response-only value.", + "The seasonality event is enabled.", + "The seasonality event is removed." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__BiddingSeasonalityAdjustment": { + "description": "Represents a bidding seasonality adjustment. Cannot be used in manager accounts. See \"About seasonality adjustments\" at https://support.google.com/google-ads/answer/10369906.", + "id": "GoogleAdsSearchads360V23Resources__BiddingSeasonalityAdjustment", + "properties": { + "advertisingChannelTypes": { + "description": "The seasonality adjustment will apply to all the campaigns under the listed channels retroactively as well as going forward when the scope of this adjustment is CHANNEL. The supported advertising channel types are DISPLAY, SEARCH and SHOPPING. Note: a seasonality adjustment with both advertising_channel_types and campaign_ids is not supported.", + "items": { + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "SEARCH", + "DISPLAY", + "SHOPPING", + "HOTEL", + "VIDEO", + "MULTI_CHANNEL", + "LOCAL", + "SMART", + "PERFORMANCE_MAX", + "LOCAL_SERVICES", + "TRAVEL", + "DEMAND_GEN", + "SOCIAL" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Search Network. Includes display bundled, and Search+ campaigns.", + "Google Display Network only.", + "Shopping campaigns serve on the shopping property and on google.com search results.", + "Hotel Ads campaigns.", + "Video campaigns.", + "App Campaigns, and App Campaigns for Engagement, that run across multiple channels.", + "Local ads campaigns.", + "Smart campaigns.", + "Performance Max campaigns.", + "Local services campaigns.", + "Travel campaigns.", + "Demand Gen campaigns.", + "Social campaigns." + ], + "type": "string" + }, + "type": "array" + }, + "campaigns": { + "description": "The seasonality adjustment will apply to the campaigns listed when the scope of this adjustment is CAMPAIGN. The maximum number of campaigns per event is 2000. Note: a seasonality adjustment with both advertising_channel_types and campaign_ids is not supported.", + "items": { + "type": "string" + }, + "type": "array" + }, + "conversionRateModifier": { + "description": "Conversion rate modifier estimated based on expected conversion rate changes. When this field is unset or set to 1.0 no adjustment will be applied to traffic. The allowed range is 0.1 to 10.0.", + "format": "double", + "type": "number" + }, + "description": { + "description": "The description of the seasonality adjustment. The description can be at most 2048 characters.", + "type": "string" + }, + "devices": { + "description": "If not specified, all devices will be included in this adjustment. Otherwise, only the specified targeted devices will be included in this adjustment.", + "items": { + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "MOBILE", + "TABLET", + "DESKTOP", + "CONNECTED_TV", + "OTHER" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "Mobile devices with full browsers.", + "Tablets with full browsers.", + "Computers.", + "Smart TVs and game consoles.", + "Other device types." + ], + "type": "string" + }, + "type": "array" + }, + "endDateTime": { + "description": "Required. The exclusive end time of the seasonality adjustment in yyyy-MM-dd HH:mm:ss format. The length of [start_date_time, end_date_time) interval must be within (0, 14 days].", + "type": "string" + }, + "name": { + "description": "The name of the seasonality adjustment. The name can be at most 255 characters.", + "type": "string" + }, + "resourceName": { + "description": "Immutable. The resource name of the seasonality adjustment. Seasonality adjustment resource names have the form: `customers/{customer_id}/biddingSeasonalityAdjustments/{seasonality_adjustment_id}`", + "type": "string" + }, + "scope": { + "description": "The scope of the seasonality adjustment.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CUSTOMER", + "CAMPAIGN", + "CHANNEL" + ], + "enumDescriptions": [ + "No value has been specified.", + "The received value is not known in this version. This is a response-only value.", + "The seasonality event is applied to all the customer's traffic for supported advertising channel types and device types. The CUSTOMER scope cannot be used in mutates.", + "The seasonality event is applied to all specified campaigns.", + "The seasonality event is applied to all campaigns that belong to specified channel types." + ], + "type": "string" + }, + "seasonalityAdjustmentId": { + "description": "Output only. The ID of the seasonality adjustment.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "startDateTime": { + "description": "Required. The inclusive start time of the seasonality adjustment in yyyy-MM-dd HH:mm:ss format. A seasonality adjustment is forward looking and should be used for events that start and end in the future.", + "type": "string" + }, + "status": { + "description": "Output only. The status of the seasonality adjustment.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ENABLED", + "REMOVED" + ], + "enumDescriptions": [ + "No value has been specified.", + "The received value is not known in this version. This is a response-only value.", + "The seasonality event is enabled.", + "The seasonality event is removed." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__BiddingStrategy": { + "description": "A bidding strategy.", + "id": "GoogleAdsSearchads360V23Resources__BiddingStrategy", + "properties": { + "alignedCampaignBudgetId": { + "description": "ID of the campaign budget that this portfolio bidding strategy is aligned with. When a portfolio and a campaign budget are aligned, that means that they are attached to the same set of campaigns. After a bidding strategy is aligned with a campaign budget, campaigns that are added to the bidding strategy must also use the aligned campaign budget.", + "format": "int64", + "type": "string" + }, + "campaignCount": { + "description": "Output only. The number of campaigns attached to this bidding strategy. This field is read-only.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "currencyCode": { + "description": "Immutable. The currency used by the bidding strategy (ISO 4217 three-letter code). For bidding strategies in manager customers, this currency can be set on creation and defaults to the manager customer's currency. For serving customers, this field cannot be set; all strategies in a serving customer implicitly use the serving customer's currency. In all cases the effective_currency_code field returns the currency used by the strategy.", + "type": "string" + }, + "effectiveCurrencyCode": { + "description": "Output only. The currency used by the bidding strategy (ISO 4217 three-letter code). For bidding strategies in manager customers, this is the currency set by the advertiser when creating the strategy. For serving customers, this is the customer's currency_code. Bidding strategy metrics are reported in this currency. This field is read-only.", + "readOnly": true, + "type": "string" + }, + "enhancedCpc": { + "$ref": "GoogleAdsSearchads360V23Common__EnhancedCpc", + "description": "A bidding strategy that raises bids for clicks that seem more likely to lead to a conversion and lowers them for clicks where they seem less likely." + }, + "id": { + "description": "Output only. The ID of the bidding strategy.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "maximizeConversionValue": { + "$ref": "GoogleAdsSearchads360V23Common__MaximizeConversionValue", + "description": "An automated bidding strategy to help get the most conversion value for your campaigns while spending your budget." + }, + "maximizeConversions": { + "$ref": "GoogleAdsSearchads360V23Common__MaximizeConversions", + "description": "An automated bidding strategy to help get the most conversions for your campaigns while spending your budget." + }, + "name": { + "description": "The name of the bidding strategy. All bidding strategies within an account must be named distinctly. The length of this string should be between 1 and 255, inclusive, in UTF-8 bytes, (trimmed).", + "type": "string" + }, + "nonRemovedCampaignCount": { + "description": "Output only. The number of non-removed campaigns attached to this bidding strategy. This field is read-only.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Immutable. The resource name of the bidding strategy. Bidding strategy resource names have the form: `customers/{customer_id}/biddingStrategies/{bidding_strategy_id}`", + "type": "string" + }, + "status": { + "description": "Output only. The status of the bidding strategy. This field is read-only.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ENABLED", + "REMOVED" + ], + "enumDescriptions": [ + "No value has been specified.", + "The received value is not known in this version. This is a response-only value.", + "The bidding strategy is enabled.", + "The bidding strategy is removed." + ], + "readOnly": true, + "type": "string" + }, + "targetCpa": { + "$ref": "GoogleAdsSearchads360V23Common__TargetCpa", + "description": "A bidding strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set." + }, + "targetImpressionShare": { + "$ref": "GoogleAdsSearchads360V23Common__TargetImpressionShare", + "description": "A bidding strategy that automatically optimizes towards a chosen percentage of impressions." + }, + "targetRoas": { + "$ref": "GoogleAdsSearchads360V23Common__TargetRoas", + "description": "A bidding strategy that helps you maximize revenue while averaging a specific target Return On Ad Spend (ROAS)." + }, + "targetSpend": { + "$ref": "GoogleAdsSearchads360V23Common__TargetSpend", + "description": "A bid strategy that sets your bids to help get as many clicks as possible within your budget." + }, + "type": { + "description": "Output only. The type of the bidding strategy. Create a bidding strategy by setting the bidding scheme. This field is read-only.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "COMMISSION", + "ENHANCED_CPC", + "INVALID", + "MANUAL_CPA", + "MANUAL_CPC", + "MANUAL_CPM", + "MANUAL_CPV", + "MAXIMIZE_CONVERSIONS", + "MAXIMIZE_CONVERSION_VALUE", + "PAGE_ONE_PROMOTED", + "PERCENT_CPC", + "TARGET_CPA", + "TARGET_CPC", + "TARGET_CPM", + "TARGET_IMPRESSION_SHARE", + "TARGET_OUTRANK_SHARE", + "TARGET_ROAS", + "TARGET_SPEND" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Commission is an automatic bidding strategy in which the advertiser pays a certain portion of the conversion value.", + "Enhanced CPC is a bidding strategy that raises bids for clicks that seem more likely to lead to a conversion and lowers them for clicks where they seem less likely.", + "Used for return value only. Indicates that a campaign does not have a bidding strategy. This prevents the campaign from serving. For example, a campaign may be attached to a manager bidding strategy and the serving account is subsequently unlinked from the manager account. In this case the campaign will automatically be detached from the now inaccessible manager bidding strategy and transition to the INVALID bidding strategy type.", + "Manual bidding strategy that allows advertiser to set the bid per advertiser-specified action.", + "Manual click based bidding where user pays per click.", + "Manual impression based bidding where user pays per thousand impressions.", + "A bidding strategy that pays a configurable amount per video view.", + "A bidding strategy that automatically maximizes number of conversions given a daily budget.", + "An automated bidding strategy that automatically sets bids to maximize revenue while spending your budget.", + "Page-One Promoted bidding scheme, which sets max cpc bids to target impressions on page one or page one promoted slots on google.com. This enum value is deprecated.", + "Percent Cpc is bidding strategy where bids are a fraction of the advertised price for some good or service.", + "Target CPA is an automated bid strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set.", + "Target CPC is an automated bid strategy that sets bids to help get as many clicks as possible at the target cost-per-click (CPC) you set.", + "Target CPM is an automated bid strategy that sets bids to help get as many impressions as possible at the target cost per one thousand impressions (CPM) you set.", + "An automated bidding strategy that sets bids so that a certain percentage of search ads are shown at the top of the first page (or other targeted location).", + "Target Outrank Share is an automated bidding strategy that sets bids based on the target fraction of auctions where the advertiser should outrank a specific competitor. This enum value is deprecated.", + "Target ROAS is an automated bidding strategy that helps you maximize revenue while averaging a specific target Return On Average Spend (ROAS).", + "Target Spend is an automated bid strategy that sets your bids to help get as many clicks as possible within your budget." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__BiddingStrategySimulation": { + "description": "A bidding strategy simulation. Supported combinations of simulation type and simulation modification method are detailed below respectively. 1. TARGET_CPA - UNIFORM 2. TARGET_ROAS - UNIFORM", + "id": "GoogleAdsSearchads360V23Resources__BiddingStrategySimulation", + "properties": { + "biddingStrategyId": { + "description": "Output only. Bidding strategy shared set id of the simulation.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "endDate": { + "description": "Output only. Last day on which the simulation is based, in YYYY-MM-DD format", + "readOnly": true, + "type": "string" + }, + "modificationMethod": { + "description": "Output only. How the simulation modifies the field.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "UNIFORM", + "DEFAULT", + "SCALING" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The values in a simulation were applied to all children of a given resource uniformly. Overrides on child resources were not respected.", + "The values in a simulation were applied to the given resource. Overrides on child resources were respected, and traffic estimates do not include these resources.", + "The values in a simulation were all scaled by the same factor. For example, in a simulated TargetCpa campaign, the campaign target and all ad group targets were scaled by a factor of X." + ], + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Output only. The resource name of the bidding strategy simulation. Bidding strategy simulation resource names have the form: `customers/{customer_id}/biddingStrategySimulations/{bidding_strategy_id}~{type}~{modification_method}~{start_date}~{end_date}`", + "readOnly": true, + "type": "string" + }, + "startDate": { + "description": "Output only. First day on which the simulation is based, in YYYY-MM-DD format.", + "readOnly": true, + "type": "string" + }, + "targetCpaPointList": { + "$ref": "GoogleAdsSearchads360V23Common__TargetCpaSimulationPointList", + "description": "Output only. Simulation points if the simulation type is TARGET_CPA.", + "readOnly": true + }, + "targetRoasPointList": { + "$ref": "GoogleAdsSearchads360V23Common__TargetRoasSimulationPointList", + "description": "Output only. Simulation points if the simulation type is TARGET_ROAS.", + "readOnly": true + }, + "type": { + "description": "Output only. The field that the simulation modifies.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CPC_BID", + "CPV_BID", + "TARGET_CPA", + "BID_MODIFIER", + "TARGET_ROAS", + "PERCENT_CPC_BID", + "TARGET_IMPRESSION_SHARE", + "BUDGET" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The simulation is for a CPC bid.", + "The simulation is for a CPV bid.", + "The simulation is for a CPA target.", + "The simulation is for a bid modifier.", + "The simulation is for a ROAS target.", + "The simulation is for a percent CPC bid.", + "The simulation is for an impression share target.", + "The simulation is for a budget." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__BillingSetup": { + "description": "A billing setup, which associates a payments account and an advertiser. A billing setup is specific to one advertiser.", + "id": "GoogleAdsSearchads360V23Resources__BillingSetup", + "properties": { + "endDateTime": { + "description": "Output only. The end date time in yyyy-MM-dd or yyyy-MM-dd HH:mm:ss format.", + "readOnly": true, + "type": "string" + }, + "endTimeType": { + "description": "Output only. The end time as a type. The only possible value is FOREVER.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "NOW", + "FOREVER" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "As soon as possible.", + "An infinite point in the future." + ], + "readOnly": true, + "type": "string" + }, + "id": { + "description": "Output only. The ID of the billing setup.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "paymentsAccount": { + "description": "Immutable. The resource name of the payments account associated with this billing setup. Payments resource names have the form: `customers/{customer_id}/paymentsAccounts/{payments_account_id}` When setting up billing, this is used to signup with an existing payments account (and then payments_account_info should not be set). When getting a billing setup, this and payments_account_info will be populated.", + "type": "string" + }, + "paymentsAccountInfo": { + "$ref": "GoogleAdsSearchads360V23Resources_BillingSetup_PaymentsAccountInfo", + "description": "Immutable. The payments account information associated with this billing setup. When setting up billing, this is used to signup with a new payments account (and then payments_account should not be set). When getting a billing setup, this and payments_account will be populated." + }, + "resourceName": { + "description": "Immutable. The resource name of the billing setup. BillingSetup resource names have the form: `customers/{customer_id}/billingSetups/{billing_setup_id}`", + "type": "string" + }, + "startDateTime": { + "description": "Immutable. The start date time in yyyy-MM-dd or yyyy-MM-dd HH:mm:ss format. Only a future time is allowed.", + "type": "string" + }, + "startTimeType": { + "description": "Immutable. The start time as a type. Only NOW is allowed.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "NOW", + "FOREVER" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "As soon as possible.", + "An infinite point in the future." + ], + "type": "string" + }, + "status": { + "description": "Output only. The status of the billing setup.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "PENDING", + "APPROVED_HELD", + "APPROVED", + "CANCELLED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The billing setup is pending approval.", + "The billing setup has been approved but the corresponding first budget has not. This can only occur for billing setups configured for monthly invoicing.", + "The billing setup has been approved.", + "The billing setup was cancelled by the user prior to approval." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__BusinessRegistrationCheckVerificationArtifact": { + "description": "specific to a local services business registration check.", + "id": "GoogleAdsSearchads360V23Resources__BusinessRegistrationCheckVerificationArtifact", + "properties": { + "checkId": { + "description": "Output only. The id of the check, such as vat_tax_id, representing \"VAT Tax ID\" requirement.", + "readOnly": true, + "type": "string" + }, + "registrationDocument": { + "$ref": "GoogleAdsSearchads360V23Resources__BusinessRegistrationDocument", + "description": "Output only. Message storing document info for the business.", + "readOnly": true + }, + "registrationNumber": { + "$ref": "GoogleAdsSearchads360V23Resources__BusinessRegistrationNumber", + "description": "Output only. Message storing government issued number for the business.", + "readOnly": true + }, + "registrationType": { + "description": "Output only. The type of business registration check (number, document).", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "NUMBER", + "DOCUMENT" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Registration number check type.", + "Registration document check type." + ], + "readOnly": true, + "type": "string" + }, + "rejectionReason": { + "description": "Output only. Registration document rejection reason.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "BUSINESS_NAME_MISMATCH", + "BUSINESS_DETAILS_MISMATCH", + "ID_NOT_FOUND", + "POOR_DOCUMENT_IMAGE_QUALITY", + "DOCUMENT_EXPIRED", + "DOCUMENT_INVALID", + "DOCUMENT_TYPE_MISMATCH", + "DOCUMENT_UNVERIFIABLE", + "OTHER" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Business name doesn't match business name for the Local Services Ad.", + "Business details mismatch.", + "Business registration ID not found.", + "Uploaded document not clear, blurry, etc.", + "Uploaded document has expired.", + "Document revoked or annuled.", + "Document type mismatch.", + "Uploaded document could not be verified as legitimate.", + "The business registration process could not be completed due to an issue. Contact https://support.google.com/localservices to learn more." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__BusinessRegistrationDocument": { + "description": "specific to a local services business registration document.", + "id": "GoogleAdsSearchads360V23Resources__BusinessRegistrationDocument", + "properties": { + "documentReadonly": { + "$ref": "GoogleAdsSearchads360V23Common__LocalServicesDocumentReadOnly", + "description": "Output only. The readonly field containing the information for an uploaded business registration document.", + "readOnly": true + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__BusinessRegistrationNumber": { + "description": "specific to a local services business registration number.", + "id": "GoogleAdsSearchads360V23Resources__BusinessRegistrationNumber", + "properties": { + "number": { + "description": "Output only. Government-issued number for the business.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__CallReportingSetting": { + "description": "Call reporting setting for a customer.", + "id": "GoogleAdsSearchads360V23Resources__CallReportingSetting", + "properties": { + "callConversionAction": { + "description": "Customer-level call conversion action to attribute a call conversion to. If not set a default conversion action is used. Only in effect when call_conversion_reporting_enabled is set to true.", + "type": "string" + }, + "callConversionReportingEnabled": { + "description": "Whether to enable call conversion reporting.", + "type": "boolean" + }, + "callReportingEnabled": { + "description": "Enable reporting of phone call events by redirecting them through Google System.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__CallView": { + "description": "A call view that includes data for call tracking of call-only ads or call extensions.", + "id": "GoogleAdsSearchads360V23Resources__CallView", + "properties": { + "callDurationSeconds": { + "description": "Output only. The advertiser-provided call duration in seconds.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "callStatus": { + "description": "Output only. The status of the call.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "MISSED", + "RECEIVED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The call was missed.", + "The call was received." + ], + "readOnly": true, + "type": "string" + }, + "callTrackingDisplayLocation": { + "description": "Output only. The call tracking display location.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "AD", + "LANDING_PAGE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The phone call placed from the ad.", + "The phone call placed from the landing page ad points to." + ], + "readOnly": true, + "type": "string" + }, + "callerAreaCode": { + "description": "Output only. Area code of the caller. Null if the call duration is shorter than 15 seconds.", + "readOnly": true, + "type": "string" + }, + "callerCountryCode": { + "description": "Output only. code of the caller.", + "readOnly": true, + "type": "string" + }, + "endCallDateTime": { + "description": "Output only. The advertiser-provided call end date time.", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Output only. The resource name of the call view. Call view resource names have the form: `customers/{customer_id}/callViews/{call_detail_id}`", + "readOnly": true, + "type": "string" + }, + "startCallDateTime": { + "description": "Output only. The advertiser-provided call start date time.", + "readOnly": true, + "type": "string" + }, + "type": { + "description": "Output only. The type of the call.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "MANUALLY_DIALED", + "HIGH_END_MOBILE_SEARCH" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The phone call was manually dialed.", + "The phone call was a mobile click-to-call." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__Campaign": { + "description": "A campaign.", + "id": "GoogleAdsSearchads360V23Resources__Campaign", + "properties": { + "accessibleBiddingStrategy": { + "description": "Output only. Resource name of AccessibleBiddingStrategy, a read-only view of the unrestricted attributes of the attached portfolio bidding strategy identified by 'bidding_strategy'. Empty, if the campaign does not use a portfolio strategy. Unrestricted strategy attributes are available to all customers with whom the strategy is shared and are read from the AccessibleBiddingStrategy resource. In contrast, restricted attributes are only available to the owner customer of the strategy and their managers. Restricted attributes can only be read from the BiddingStrategy resource.", + "readOnly": true, + "type": "string" + }, + "adServingOptimizationStatus": { + "description": "The ad serving optimization status of the campaign.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "OPTIMIZE", + "CONVERSION_OPTIMIZE", + "ROTATE", + "ROTATE_INDEFINITELY", + "UNAVAILABLE" + ], + "enumDescriptions": [ + "No value has been specified.", + "The received value is not known in this version. This is a response-only value.", + "Ad serving is optimized based on CTR for the campaign.", + "Ad serving is optimized based on CTR * Conversion for the campaign. If the campaign is not in the conversion optimizer bidding strategy, it will default to OPTIMIZED.", + "Ads are rotated evenly for 90 days, then optimized for clicks.", + "Show lower performing ads more evenly with higher performing ads, and do not optimize.", + "Ad serving optimization status is not available." + ], + "type": "string" + }, + "advertisingChannelSubType": { + "description": "Immutable. Optional refinement to `advertising_channel_type`. Must be a valid sub-type of the parent channel type. Can be set only when creating campaigns. After campaign is created, the field can not be changed.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "SEARCH_MOBILE_APP", + "DISPLAY_MOBILE_APP", + "SEARCH_EXPRESS", + "DISPLAY_EXPRESS", + "SHOPPING_SMART_ADS", + "DISPLAY_GMAIL_AD", + "DISPLAY_SMART_CAMPAIGN", + "VIDEO_ACTION", + "VIDEO_NON_SKIPPABLE", + "APP_CAMPAIGN", + "APP_CAMPAIGN_FOR_ENGAGEMENT", + "LOCAL_CAMPAIGN", + "SHOPPING_COMPARISON_LISTING_ADS", + "SMART_CAMPAIGN", + "VIDEO_SEQUENCE", + "APP_CAMPAIGN_FOR_PRE_REGISTRATION", + "VIDEO_REACH_TARGET_FREQUENCY", + "TRAVEL_ACTIVITIES", + "SOCIAL_FACEBOOK_TRACKING_ONLY" + ], + "enumDescriptions": [ + "Not specified.", + "Used as a return value only. Represents value unknown in this version.", + "Mobile app campaigns for Search.", + "Mobile app campaigns for Display.", + "AdWords express campaigns for search.", + "AdWords Express campaigns for display.", + "Smart Shopping campaigns.", + "Gmail Ad campaigns.", + "Smart display campaigns. New campaigns of this sub type cannot be created.", + "Video TrueView for Action campaigns.", + "Video campaigns with non-skippable video ads.", + "App Campaign that lets you easily promote your Android or iOS app across Google's top properties including Search, Play, YouTube, and the Google Display Network.", + "App Campaign for engagement, focused on driving re-engagement with the app across several of Google's top properties including Search, YouTube, and the Google Display Network.", + "Campaigns specialized for local advertising.", + "Shopping Comparison Listing campaigns.", + "Standard Smart campaigns.", + "Video campaigns with sequence video ads.", + "App Campaign for pre registration, specialized for advertising mobile app pre-registration, that targets multiple advertising channels across Google Play, YouTube and Display Network.", + "Video reach campaign with Target Frequency bidding strategy.", + "Travel Activities campaigns.", + "Facebook tracking only social campaigns." + ], + "type": "string" + }, + "advertisingChannelType": { + "description": "Immutable. The primary serving target for ads within the campaign. The targeting options can be refined in `network_settings`. This field is required and should not be empty when creating new campaigns. Can be set only when creating campaigns. After the campaign is created, the field can not be changed.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "SEARCH", + "DISPLAY", + "SHOPPING", + "HOTEL", + "VIDEO", + "MULTI_CHANNEL", + "LOCAL", + "SMART", + "PERFORMANCE_MAX", + "LOCAL_SERVICES", + "TRAVEL", + "DEMAND_GEN", + "SOCIAL" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Search Network. Includes display bundled, and Search+ campaigns.", + "Google Display Network only.", + "Shopping campaigns serve on the shopping property and on google.com search results.", + "Hotel Ads campaigns.", + "Video campaigns.", + "App Campaigns, and App Campaigns for Engagement, that run across multiple channels.", + "Local ads campaigns.", + "Smart campaigns.", + "Performance Max campaigns.", + "Local services campaigns.", + "Travel campaigns.", + "Demand Gen campaigns.", + "Social campaigns." + ], + "type": "string" + }, + "aiMaxSetting": { + "$ref": "GoogleAdsSearchads360V23Resources_Campaign_AiMaxSetting", + "description": "Settings for AI Max in search campaigns." + }, + "appCampaignSetting": { + "$ref": "GoogleAdsSearchads360V23Resources_Campaign_AppCampaignSetting", + "description": "The setting related to App Campaign." + }, + "assetAutomationSettings": { + "description": "Contains the opt-in/out status of each AssetAutomationType. See documentation of each asset automation type enum for default opt in/out behavior.", + "items": { + "$ref": "GoogleAdsSearchads360V23Resources_Campaign_AssetAutomationSetting" + }, + "type": "array" + }, + "audienceSetting": { + "$ref": "GoogleAdsSearchads360V23Resources_Campaign_AudienceSetting", + "description": "Immutable. Setting for audience related features." + }, + "baseCampaign": { + "description": "Output only. The resource name of the base campaign of a draft or experiment campaign. For base campaigns, this is equal to `resource_name`. This field is read-only.", + "readOnly": true, + "type": "string" + }, + "biddingStrategy": { + "description": "The resource name of the portfolio bidding strategy used by the campaign.", + "type": "string" + }, + "biddingStrategySystemStatus": { + "description": "Output only. The system status of the campaign's bidding strategy.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ENABLED", + "LEARNING_NEW", + "LEARNING_SETTING_CHANGE", + "LEARNING_BUDGET_CHANGE", + "LEARNING_COMPOSITION_CHANGE", + "LEARNING_CONVERSION_TYPE_CHANGE", + "LEARNING_CONVERSION_SETTING_CHANGE", + "LIMITED_BY_CPC_BID_CEILING", + "LIMITED_BY_CPC_BID_FLOOR", + "LIMITED_BY_DATA", + "LIMITED_BY_BUDGET", + "LIMITED_BY_LOW_PRIORITY_SPEND", + "LIMITED_BY_LOW_QUALITY", + "LIMITED_BY_INVENTORY", + "MISCONFIGURED_ZERO_ELIGIBILITY", + "MISCONFIGURED_CONVERSION_TYPES", + "MISCONFIGURED_CONVERSION_SETTINGS", + "MISCONFIGURED_SHARED_BUDGET", + "MISCONFIGURED_STRATEGY_TYPE", + "PAUSED", + "UNAVAILABLE", + "MULTIPLE_LEARNING", + "MULTIPLE_LIMITED", + "MULTIPLE_MISCONFIGURED", + "MULTIPLE" + ], + "enumDescriptions": [ + "Signals that an unexpected error occurred, for example, no bidding strategy type was found, or no status information was found.", + "Used for return value only. Represents value unknown in this version.", + "The bid strategy is active, and AdWords cannot find any specific issues with the strategy.", + "The bid strategy is learning because it has been recently created or recently reactivated.", + "The bid strategy is learning because of a recent setting change.", + "The bid strategy is learning because of a recent budget change.", + "The bid strategy is learning because of recent change in number of campaigns, ad groups or keywords attached to it.", + "The bid strategy depends on conversion reporting and the customer recently modified conversion types that were relevant to the bid strategy.", + "The bid strategy depends on conversion reporting and the customer recently changed their conversion settings.", + "The bid strategy is limited by its bid ceiling.", + "The bid strategy is limited by its bid floor.", + "The bid strategy is limited because there was not enough conversion traffic over the past weeks.", + "A significant fraction of keywords in this bid strategy are limited by budget.", + "The bid strategy cannot reach its target spend because its spend has been de-prioritized.", + "A significant fraction of keywords in this bid strategy have a low Quality Score.", + "The bid strategy cannot fully spend its budget because of narrow targeting.", + "Missing conversion tracking (no pings present) and/or remarketing lists for SSC.", + "The bid strategy depends on conversion reporting and the customer is lacking conversion types that might be reported against this strategy.", + "The bid strategy depends on conversion reporting and the customer's conversion settings are misconfigured.", + "There are campaigns outside the bid strategy that share budgets with campaigns included in the strategy.", + "The campaign has an invalid strategy type and is not serving.", + "The bid strategy is not active. Either there are no active campaigns, ad groups or keywords attached to the bid strategy. Or there are no active budgets connected to the bid strategy.", + "This bid strategy currently does not support status reporting.", + "There were multiple LEARNING_* system statuses for this bid strategy during the time in question.", + "There were multiple LIMITED_* system statuses for this bid strategy during the time in question.", + "There were multiple MISCONFIGURED_* system statuses for this bid strategy during the time in question.", + "There were multiple system statuses for this bid strategy during the time in question." + ], + "readOnly": true, + "type": "string" + }, + "biddingStrategyType": { + "description": "Output only. The type of bidding strategy. A bidding strategy can be created by setting either the bidding scheme to create a standard bidding strategy or the `bidding_strategy` field to create a portfolio bidding strategy. This field is read-only.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "COMMISSION", + "ENHANCED_CPC", + "INVALID", + "MANUAL_CPA", + "MANUAL_CPC", + "MANUAL_CPM", + "MANUAL_CPV", + "MAXIMIZE_CONVERSIONS", + "MAXIMIZE_CONVERSION_VALUE", + "PAGE_ONE_PROMOTED", + "PERCENT_CPC", + "TARGET_CPA", + "TARGET_CPC", + "TARGET_CPM", + "TARGET_IMPRESSION_SHARE", + "TARGET_OUTRANK_SHARE", + "TARGET_ROAS", + "TARGET_SPEND" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Commission is an automatic bidding strategy in which the advertiser pays a certain portion of the conversion value.", + "Enhanced CPC is a bidding strategy that raises bids for clicks that seem more likely to lead to a conversion and lowers them for clicks where they seem less likely.", + "Used for return value only. Indicates that a campaign does not have a bidding strategy. This prevents the campaign from serving. For example, a campaign may be attached to a manager bidding strategy and the serving account is subsequently unlinked from the manager account. In this case the campaign will automatically be detached from the now inaccessible manager bidding strategy and transition to the INVALID bidding strategy type.", + "Manual bidding strategy that allows advertiser to set the bid per advertiser-specified action.", + "Manual click based bidding where user pays per click.", + "Manual impression based bidding where user pays per thousand impressions.", + "A bidding strategy that pays a configurable amount per video view.", + "A bidding strategy that automatically maximizes number of conversions given a daily budget.", + "An automated bidding strategy that automatically sets bids to maximize revenue while spending your budget.", + "Page-One Promoted bidding scheme, which sets max cpc bids to target impressions on page one or page one promoted slots on google.com. This enum value is deprecated.", + "Percent Cpc is bidding strategy where bids are a fraction of the advertised price for some good or service.", + "Target CPA is an automated bid strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set.", + "Target CPC is an automated bid strategy that sets bids to help get as many clicks as possible at the target cost-per-click (CPC) you set.", + "Target CPM is an automated bid strategy that sets bids to help get as many impressions as possible at the target cost per one thousand impressions (CPM) you set.", + "An automated bidding strategy that sets bids so that a certain percentage of search ads are shown at the top of the first page (or other targeted location).", + "Target Outrank Share is an automated bidding strategy that sets bids based on the target fraction of auctions where the advertiser should outrank a specific competitor. This enum value is deprecated.", + "Target ROAS is an automated bidding strategy that helps you maximize revenue while averaging a specific target Return On Average Spend (ROAS).", + "Target Spend is an automated bid strategy that sets your bids to help get as many clicks as possible within your budget." + ], + "readOnly": true, + "type": "string" + }, + "brandGuidelines": { + "$ref": "GoogleAdsSearchads360V23Resources_Campaign_BrandGuidelines" + }, + "brandGuidelinesEnabled": { + "description": "Immutable. Whether Brand Guidelines are enabled for this Campaign. Only applicable to Performance Max campaigns. If enabled, business name and logo assets must be linked as CampaignAssets instead of AssetGroupAssets.", + "type": "boolean" + }, + "campaignBudget": { + "description": "The resource name of the campaign budget of the campaign.", + "type": "string" + }, + "campaignGroup": { + "description": "The resource name of the campaign group that this campaign belongs to.", + "type": "string" + }, + "commission": { + "$ref": "GoogleAdsSearchads360V23Common__Commission", + "description": "Commission is an automatic bidding strategy in which the advertiser pays a certain portion of the conversion value." + }, + "containsEuPoliticalAdvertising": { + "description": "The advertiser should self-declare whether this campaign contains political advertising content targeted towards the European Union.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CONTAINS_EU_POLITICAL_ADVERTISING", + "DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The campaign contains political advertising targeted towards the EU. The campaign will be restricted from serving ads in the EU.", + "The campaign does not contain political advertising targeted towards the EU. No additional serving restrictions will apply." + ], + "type": "string" + }, + "demandGenCampaignSettings": { + "$ref": "GoogleAdsSearchads360V23Resources_Campaign_DemandGenCampaignSettings", + "description": "Settings for Demand Gen campaign." + }, + "dynamicSearchAdsSetting": { + "$ref": "GoogleAdsSearchads360V23Resources_Campaign_DynamicSearchAdsSetting", + "description": "The setting for controlling Dynamic Search Ads (DSA)." + }, + "effectiveLabels": { + "description": "Output only. The resource names of effective labels attached to this campaign. An effective label is a label inherited or directly assigned to this campaign.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "endDateTime": { + "description": "The last day and time of the campaign in serving customer's timezone in \"yyyy-MM-dd HH:mm:ss\" format. Set the time component to 23:59:59 for daily granularity, time granularity is only supported for some campaign types. On create, defaults to running indefinitely. To set an existing campaign to run indefinitely, clear this field.", + "type": "string" + }, + "engineId": { + "description": "Output only. ID of the campaign in the external engine account. This field is for non-Google Ads account only, for example, Yahoo Japan, Microsoft, Baidu etc. For Google Ads entity, use \"campaign.id\" instead.", + "readOnly": true, + "type": "string" + }, + "excludedParentAssetFieldTypes": { + "description": "The asset field types that should be excluded from this campaign. Asset links with these field types will not be inherited by this campaign from the upper level.", + "items": { + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "HEADLINE", + "DESCRIPTION", + "MANDATORY_AD_TEXT", + "MARKETING_IMAGE", + "MEDIA_BUNDLE", + "YOUTUBE_VIDEO", + "BOOK_ON_GOOGLE", + "LEAD_FORM", + "PROMOTION", + "CALLOUT", + "STRUCTURED_SNIPPET", + "SITELINK", + "MOBILE_APP", + "HOTEL_CALLOUT", + "CALL", + "PRICE", + "LONG_HEADLINE", + "BUSINESS_NAME", + "SQUARE_MARKETING_IMAGE", + "PORTRAIT_MARKETING_IMAGE", + "LOGO", + "LANDSCAPE_LOGO", + "VIDEO", + "CALL_TO_ACTION_SELECTION", + "AD_IMAGE", + "BUSINESS_LOGO", + "HOTEL_PROPERTY", + "DEMAND_GEN_CAROUSEL_CARD", + "BUSINESS_MESSAGE", + "TALL_PORTRAIT_MARKETING_IMAGE", + "LANDING_PAGE_PREVIEW", + "LONG_DESCRIPTION", + "CALL_TO_ACTION" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The asset is linked for use as a headline.", + "The asset is linked for use as a description.", + "The asset is linked for use as mandatory ad text.", + "The asset is linked for use as a marketing image.", + "The asset is linked for use as a media bundle.", + "The asset is linked for use as a YouTube video.", + "The asset is linked to indicate that a hotels campaign is \"Book on Google\" enabled.", + "The asset is linked for use as a Lead Form extension.", + "The asset is linked for use as a Promotion extension.", + "The asset is linked for use as a Callout extension.", + "The asset is linked for use as a Structured Snippet extension.", + "The asset is linked for use as a Sitelink.", + "The asset is linked for use as a Mobile App extension.", + "The asset is linked for use as a Hotel Callout extension.", + "The asset is linked for use as a Call extension.", + "The asset is linked for use as a Price extension.", + "The asset is linked for use as a long headline.", + "The asset is linked for use as a business name.", + "The asset is linked for use as a square marketing image.", + "The asset is linked for use as a portrait marketing image.", + "The asset is linked for use as a logo.", + "The asset is linked for use as a landscape logo.", + "The asset is linked for use as a non YouTube logo.", + "The asset is linked for use to select a call-to-action.", + "The asset is linked for use to select an ad image.", + "The asset is linked for use as a business logo.", + "The asset is linked for use as a hotel property in a Performance Max for travel goals campaign.", + "The asset is linked for use as a Demand Gen carousel card.", + "The asset is linked for use as a Business Message.", + "The asset is linked for use as a tall portrait marketing image.", + "The asset is linked for use as a landing page preview image.", + "The asset is linked for use as a long description.", + "The asset is linked for use as a call-to-action." + ], + "type": "string" + }, + "type": "array" + }, + "excludedParentAssetSetTypes": { + "description": "The asset set types that should be excluded from this campaign. Asset set links with these types will not be inherited by this campaign from the upper level. Location group types (GMB_DYNAMIC_LOCATION_GROUP, CHAIN_DYNAMIC_LOCATION_GROUP, and STATIC_LOCATION_GROUP) are child types of LOCATION_SYNC. Therefore, if LOCATION_SYNC is set for this field, all location group asset sets are not allowed to be linked to this campaign, and all Location Extension (LE) and Affiliate Location Extensions (ALE) will not be served under this campaign. Only LOCATION_SYNC is currently supported.", + "items": { + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "PAGE_FEED", + "DYNAMIC_EDUCATION", + "MERCHANT_CENTER_FEED", + "DYNAMIC_REAL_ESTATE", + "DYNAMIC_CUSTOM", + "DYNAMIC_HOTELS_AND_RENTALS", + "DYNAMIC_FLIGHTS", + "DYNAMIC_TRAVEL", + "DYNAMIC_LOCAL", + "DYNAMIC_JOBS", + "LOCATION_SYNC", + "BUSINESS_PROFILE_DYNAMIC_LOCATION_GROUP", + "CHAIN_DYNAMIC_LOCATION_GROUP", + "STATIC_LOCATION_GROUP", + "HOTEL_PROPERTY", + "TRAVEL_FEED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Page asset set.", + "Dynamic education asset set.", + "Google Merchant Center asset set.", + "Dynamic real estate asset set.", + "Dynamic custom asset set.", + "Dynamic hotels and rentals asset set.", + "Dynamic flights asset set.", + "Dynamic travel asset set.", + "Dynamic local asset set.", + "Dynamic jobs asset set.", + "Location sync level asset set.", + "Business Profile location group asset set.", + "Chain location group asset set which can be used for both owned locations and affiliate locations.", + "Static location group asset set which can be used for both owned locations and affiliate locations.", + "Hotel Property asset set which is used to link a hotel property feed to Performance Max for travel goals campaigns.", + "Travel Feed asset set type. Can represent either a Hotel feed or a Things to Do (activities) feed." + ], + "type": "string" + }, + "type": "array" + }, + "experimentType": { + "description": "Output only. The type of campaign: normal, draft, or experiment.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "BASE", + "DRAFT", + "EXPERIMENT" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "This is a regular campaign.", + "This is a draft version of a campaign. It has some modifications from a base campaign, but it does not serve or accrue metrics.", + "This is an experiment version of a campaign. It has some modifications from a base campaign, and a percentage of traffic is being diverted from the BASE campaign to this experiment campaign." + ], + "readOnly": true, + "type": "string" + }, + "feedTypes": { + "description": "Output only. Types of feeds that are attached directly to this campaign.", + "items": { + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "PAGE_FEED", + "DYNAMIC_EDUCATION", + "MERCHANT_CENTER_FEED", + "DYNAMIC_REAL_ESTATE", + "DYNAMIC_CUSTOM", + "DYNAMIC_HOTELS_AND_RENTALS", + "DYNAMIC_FLIGHTS", + "DYNAMIC_TRAVEL", + "DYNAMIC_LOCAL", + "DYNAMIC_JOBS", + "LOCATION_SYNC", + "BUSINESS_PROFILE_DYNAMIC_LOCATION_GROUP", + "CHAIN_DYNAMIC_LOCATION_GROUP", + "STATIC_LOCATION_GROUP", + "HOTEL_PROPERTY", + "TRAVEL_FEED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Page asset set.", + "Dynamic education asset set.", + "Google Merchant Center asset set.", + "Dynamic real estate asset set.", + "Dynamic custom asset set.", + "Dynamic hotels and rentals asset set.", + "Dynamic flights asset set.", + "Dynamic travel asset set.", + "Dynamic local asset set.", + "Dynamic jobs asset set.", + "Location sync level asset set.", + "Business Profile location group asset set.", + "Chain location group asset set which can be used for both owned locations and affiliate locations.", + "Static location group asset set which can be used for both owned locations and affiliate locations.", + "Hotel Property asset set which is used to link a hotel property feed to Performance Max for travel goals campaigns.", + "Travel Feed asset set type. Can represent either a Hotel feed or a Things to Do (activities) feed." + ], + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "finalUrlSuffix": { + "description": "Suffix used to append query parameters to landing pages that are served with parallel tracking.", + "type": "string" + }, + "frequencyCaps": { + "description": "A list that limits how often each user will see this campaign's ads.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__FrequencyCapEntry" + }, + "type": "array" + }, + "geoTargetTypeSetting": { + "$ref": "GoogleAdsSearchads360V23Resources_Campaign_GeoTargetTypeSetting", + "description": "The setting for ads geotargeting." + }, + "hotelPropertyAssetSet": { + "description": "Immutable. The resource name for a set of hotel properties for Performance Max for travel goals campaigns.", + "type": "string" + }, + "hotelSetting": { + "$ref": "GoogleAdsSearchads360V23Resources_Campaign_HotelSettingInfo", + "description": "Output only. The hotel setting for the campaign.", + "readOnly": true + }, + "id": { + "description": "Output only. The ID of the campaign.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "keywordMatchType": { + "description": "Keyword match type of Campaign. Set to BROAD to set broad matching for all keywords in a campaign.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "BROAD" + ], + "enumDescriptions": [ + "No value has been specified.", + "Used for return value only. Represents value unknown in this version.", + "Campaign level broad match." + ], + "type": "string" + }, + "labels": { + "description": "Output only. The resource names of labels attached to this campaign.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "lastModifiedTime": { + "description": "Output only. The datetime when this campaign was last modified. The datetime is in the customer's time zone and in \"yyyy-MM-dd HH:mm:ss.ssssss\" format.", + "readOnly": true, + "type": "string" + }, + "listingType": { + "description": "Immutable. Listing type of ads served for this campaign. Field is restricted for usage with Performance Max campaigns.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "VEHICLES" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "This campaign serves vehicle ads." + ], + "type": "string" + }, + "localCampaignSetting": { + "$ref": "GoogleAdsSearchads360V23Resources_Campaign_LocalCampaignSetting", + "description": "The setting for local campaign." + }, + "localServicesCampaignSettings": { + "$ref": "GoogleAdsSearchads360V23Resources_Campaign_LocalServicesCampaignSettings", + "description": "The Local Services Campaign related settings." + }, + "manualCpa": { + "$ref": "GoogleAdsSearchads360V23Common__ManualCpa", + "description": "Standard Manual CPA bidding strategy. Manual bidding strategy that allows advertiser to set the bid per advertiser-specified action. Supported only for Local Services campaigns." + }, + "manualCpc": { + "$ref": "GoogleAdsSearchads360V23Common__ManualCpc", + "description": "Standard Manual CPC bidding strategy. Manual click-based bidding where user pays per click." + }, + "manualCpm": { + "$ref": "GoogleAdsSearchads360V23Common__ManualCpm", + "description": "Standard Manual CPM bidding strategy. Manual impression-based bidding where user pays per thousand impressions." + }, + "manualCpv": { + "$ref": "GoogleAdsSearchads360V23Common__ManualCpv", + "description": "A bidding strategy that pays a configurable amount per video view." + }, + "maximizeConversionValue": { + "$ref": "GoogleAdsSearchads360V23Common__MaximizeConversionValue", + "description": "Standard Maximize Conversion Value bidding strategy that automatically sets bids to maximize revenue while spending your budget." + }, + "maximizeConversions": { + "$ref": "GoogleAdsSearchads360V23Common__MaximizeConversions", + "description": "Standard Maximize Conversions bidding strategy that automatically maximizes number of conversions while spending your budget." + }, + "missingEuPoliticalAdvertisingDeclaration": { + "description": "Output only. Indicates whether this campaign is missing a declaration about whether it contains political advertising targeted towards the EU and is ineligible for any exemptions. If this field is true, use the contains_eu_political_advertising field to add the required declaration. This field is read-only.", + "readOnly": true, + "type": "boolean" + }, + "name": { + "description": "The name of the campaign. This field is required and should not be empty when creating new campaigns. It must not contain any null (code point 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD) characters.", + "type": "string" + }, + "networkSettings": { + "$ref": "GoogleAdsSearchads360V23Resources_Campaign_NetworkSettings", + "description": "The network settings for the campaign." + }, + "optimizationGoalSetting": { + "$ref": "GoogleAdsSearchads360V23Resources_Campaign_OptimizationGoalSetting", + "description": "Optimization goal setting for this campaign, which includes a set of optimization goal types." + }, + "optimizationScore": { + "description": "Output only. Optimization score of the campaign. Optimization score is an estimate of how well a campaign is set to perform. It ranges from 0% (0.0) to 100% (1.0), with 100% indicating that the campaign is performing at full potential. This field is null for unscored campaigns. See \"About optimization score\" at https://support.google.com/google-ads/answer/9061546. This field is read-only.", + "format": "double", + "readOnly": true, + "type": "number" + }, + "paymentMode": { + "description": "Payment mode for the campaign.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CLICKS", + "CONVERSION_VALUE", + "CONVERSIONS", + "GUEST_STAY" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Pay per interaction.", + "Pay per conversion value. This mode is only supported by campaigns with AdvertisingChannelType.HOTEL, BiddingStrategyType.COMMISSION, and BudgetType..", + "Pay per conversion. This mode is only supported by campaigns with AdvertisingChannelType.DISPLAY (excluding AdvertisingChannelSubType.DISPLAY_GMAIL), BiddingStrategyType.TARGET_CPA, and BudgetType.FIXED_CPA. The customer must also be eligible for this mode. See Customer.eligibility_failure_reasons for details.", + "Pay per guest stay value. This mode is only supported by campaigns with AdvertisingChannelType.HOTEL, BiddingStrategyType.COMMISSION, and BudgetType.STANDARD." + ], + "type": "string" + }, + "percentCpc": { + "$ref": "GoogleAdsSearchads360V23Common__PercentCpc", + "description": "Standard Percent Cpc bidding strategy where bids are a fraction of the advertised price for some good or service." + }, + "performanceMaxUpgrade": { + "$ref": "GoogleAdsSearchads360V23Resources_Campaign_PerformanceMaxUpgrade", + "description": "Output only. Information about campaigns being upgraded to Performance Max.", + "readOnly": true + }, + "pmaxCampaignSettings": { + "$ref": "GoogleAdsSearchads360V23Resources_Campaign_PmaxCampaignSettings", + "description": "Settings for Performance Max campaign." + }, + "primaryStatus": { + "description": "Output only. The primary status of the campaign. Provides insight into why a campaign is not serving or not serving optimally. Modification to the campaign and its related entities might take a while to be reflected in this status.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ELIGIBLE", + "PAUSED", + "REMOVED", + "ENDED", + "PENDING", + "MISCONFIGURED", + "LIMITED", + "LEARNING", + "NOT_ELIGIBLE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The campaign is eligible to serve.", + "The user-specified campaign status is paused.", + "The user-specified campaign status is removed.", + "The user-specified time for this campaign to end has passed.", + "The campaign may serve in the future.", + "The campaign or its associated entities have incorrect user-specified settings.", + "The campaign or its associated entities are limited by user-specified settings.", + "The automated bidding system is adjusting to user-specified changes to the campaign or associated entities.", + "The campaign is not eligible to serve." + ], + "readOnly": true, + "type": "string" + }, + "primaryStatusReasons": { + "description": "Output only. The primary status reasons of the campaign. Provides insight into why a campaign is not serving or not serving optimally. These reasons are aggregated to determine an overall CampaignPrimaryStatus.", + "items": { + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CAMPAIGN_REMOVED", + "CAMPAIGN_PAUSED", + "CAMPAIGN_PENDING", + "CAMPAIGN_ENDED", + "CAMPAIGN_DRAFT", + "BIDDING_STRATEGY_MISCONFIGURED", + "BIDDING_STRATEGY_LIMITED", + "BIDDING_STRATEGY_LEARNING", + "BIDDING_STRATEGY_CONSTRAINED", + "BUDGET_CONSTRAINED", + "BUDGET_MISCONFIGURED", + "SEARCH_VOLUME_LIMITED", + "AD_GROUPS_PAUSED", + "NO_AD_GROUPS", + "KEYWORDS_PAUSED", + "NO_KEYWORDS", + "AD_GROUP_ADS_PAUSED", + "NO_AD_GROUP_ADS", + "HAS_ADS_LIMITED_BY_POLICY", + "HAS_ADS_DISAPPROVED", + "MOST_ADS_UNDER_REVIEW", + "MISSING_LEAD_FORM_EXTENSION", + "MISSING_CALL_EXTENSION", + "LEAD_FORM_EXTENSION_UNDER_REVIEW", + "LEAD_FORM_EXTENSION_DISAPPROVED", + "CALL_EXTENSION_UNDER_REVIEW", + "CALL_EXTENSION_DISAPPROVED", + "NO_MOBILE_APPLICATION_AD_GROUP_CRITERIA", + "CAMPAIGN_GROUP_PAUSED", + "CAMPAIGN_GROUP_ALL_GROUP_BUDGETS_ENDED", + "APP_NOT_RELEASED", + "APP_PARTIALLY_RELEASED", + "HAS_ASSET_GROUPS_DISAPPROVED", + "HAS_ASSET_GROUPS_LIMITED_BY_POLICY", + "MOST_ASSET_GROUPS_UNDER_REVIEW", + "NO_ASSET_GROUPS", + "ASSET_GROUPS_PAUSED", + "MISSING_LOCATION_TARGETING" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The user-specified campaign status is removed.", + "The user-specified campaign status is paused.", + "The user-specified time for this campaign to start is in the future.", + "The user-specified time for this campaign to end has passed.", + "The campaign is a draft.", + "The bidding strategy has incorrect user-specified settings.", + "The bidding strategy is limited by user-specified settings such as lack of data or similar.", + "The automated bidding system is adjusting to user-specified changes to the bidding strategy.", + "Campaign could capture more conversion value by adjusting CPA/ROAS targets.", + "The budget is limiting the campaign's ability to serve.", + "The budget has incorrect user-specified settings.", + "Campaign is not targeting all relevant queries.", + "The user-specified ad group statuses are all paused.", + "No eligible ad groups exist in this campaign.", + "The user-specified keyword statuses are all paused.", + "No eligible keywords exist in this campaign.", + "The user-specified ad group ad statuses are all paused.", + "No eligible ad group ads exist in this campaign.", + "At least one ad in this campaign is limited by policy.", + "At least one ad in this campaign is disapproved.", + "Most ads in this campaign are pending review.", + "The campaign has a lead form goal, and the lead form extension is missing.", + "The campaign has a call goal, and the call extension is missing.", + "The lead form extension is under review.", + "The lead extension is disapproved.", + "The call extension is under review.", + "The call extension is disapproved.", + "No eligible mobile application ad group criteria exist in this campaign.", + "The user-specified campaign group status is paused.", + "The user-specified times of all group budgets associated with the parent campaign group has passed.", + "The app associated with this ACi campaign is not released in the target countries of the campaign.", + "The app associated with this ACi campaign is partially released in the target countries of the campaign.", + "At least one asset group in this campaign is disapproved.", + "At least one asset group in this campaign is limited by policy.", + "Most asset groups in this campaign are pending review.", + "No eligible asset groups exist in this campaign.", + "All asset groups in this campaign are paused.", + "The campaign has location restrictions but does not specify location targeting." + ], + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "realTimeBiddingSetting": { + "$ref": "GoogleAdsSearchads360V23Common__RealTimeBiddingSetting", + "description": "Settings for Real-Time Bidding, a feature only available for campaigns targeting the Ad Exchange network." + }, + "resourceName": { + "description": "Immutable. The resource name of the campaign. Campaign resource names have the form: `customers/{customer_id}/campaigns/{campaign_id}`", + "type": "string" + }, + "selectiveOptimization": { + "$ref": "GoogleAdsSearchads360V23Resources_Campaign_SelectiveOptimization", + "description": "Selective optimization setting for this campaign, which includes a set of conversion actions to optimize this campaign towards. This feature only applies to app campaigns that use MULTI_CHANNEL as AdvertisingChannelType and APP_CAMPAIGN or APP_CAMPAIGN_FOR_ENGAGEMENT as AdvertisingChannelSubType." + }, + "selectiveOptimizationMode": { + "description": "Selective optimization mode for this campaign.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "UNCONSTRAINED", + "MATCHES_SEARCH_ADS360_EFFECTIVE_CAMPAIGN_LEVEL_CONFIG" + ], + "enumDescriptions": [ + "The selective optimization mode has not been specified.", + "The selective optimization mode is not known in this version.", + "Google Ads selective optimization setting has no constraints.", + "Google Ads selective optimization setting matches Search Ads 360 effective campaign level selective optimization setting." + ], + "type": "string" + }, + "servingStatus": { + "description": "Output only. The ad serving status of the campaign.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "SERVING", + "NONE", + "ENDED", + "PENDING", + "SUSPENDED" + ], + "enumDescriptions": [ + "No value has been specified.", + "The received value is not known in this version. This is a response-only value.", + "Serving.", + "None.", + "Ended.", + "Pending.", + "Suspended." + ], + "readOnly": true, + "type": "string" + }, + "shoppingSetting": { + "$ref": "GoogleAdsSearchads360V23Resources_Campaign_ShoppingSetting", + "description": "The setting for controlling Shopping campaigns." + }, + "startDateTime": { + "description": "The date and time when campaign started in serving. The timestamp is in the customer's time zone and in \"yyyy-MM-dd HH:mm:ss\" format. Set the time component to 00:00:00 for daily granularity, time granularity is only supported for some campaign types.", + "type": "string" + }, + "status": { + "description": "The status of the campaign. When a new campaign is added, the status defaults to ENABLED.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ENABLED", + "PAUSED", + "REMOVED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Campaign is active and can show ads.", + "Campaign has been paused by the user.", + "Campaign has been removed." + ], + "type": "string" + }, + "targetCpa": { + "$ref": "GoogleAdsSearchads360V23Common__TargetCpa", + "description": "Standard Target CPA bidding strategy that automatically sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set." + }, + "targetCpc": { + "$ref": "GoogleAdsSearchads360V23Common__TargetCpc", + "description": "An automated bidding strategy that sets bids to help get as many clicks as possible at the target cost-per-click (CPC) you set." + }, + "targetCpm": { + "$ref": "GoogleAdsSearchads360V23Common__TargetCpm", + "description": "A bidding strategy that automatically optimizes cost per thousand impressions." + }, + "targetImpressionShare": { + "$ref": "GoogleAdsSearchads360V23Common__TargetImpressionShare", + "description": "Target Impression Share bidding strategy. An automated bidding strategy that sets bids to achieve a chosen percentage of impressions." + }, + "targetRoas": { + "$ref": "GoogleAdsSearchads360V23Common__TargetRoas", + "description": "Standard Target ROAS bidding strategy that automatically maximizes revenue while averaging a specific target return on ad spend (ROAS)." + }, + "targetSpend": { + "$ref": "GoogleAdsSearchads360V23Common__TargetSpend", + "description": "Standard Target Spend bidding strategy that automatically sets your bids to help get as many clicks as possible within your budget." + }, + "targetingSetting": { + "$ref": "GoogleAdsSearchads360V23Common__TargetingSetting", + "description": "Setting for targeting related features." + }, + "thirdPartyIntegrationPartners": { + "$ref": "GoogleAdsSearchads360V23Common__CampaignThirdPartyIntegrationPartners", + "description": "Third-Party integration partners." + }, + "trackingSetting": { + "$ref": "GoogleAdsSearchads360V23Resources_Campaign_TrackingSetting", + "description": "Output only. Campaign-level settings for tracking information.", + "readOnly": true + }, + "trackingUrlTemplate": { + "description": "The URL template for constructing a tracking URL.", + "type": "string" + }, + "travelCampaignSettings": { + "$ref": "GoogleAdsSearchads360V23Resources_Campaign_TravelCampaignSettings", + "description": "Settings for Travel campaign." + }, + "urlCustomParameters": { + "description": "The list of mappings used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__CustomParameter" + }, + "type": "array" + }, + "vanityPharma": { + "$ref": "GoogleAdsSearchads360V23Resources_Campaign_VanityPharma", + "description": "Describes how unbranded pharma ads will be displayed." + }, + "videoBrandSafetySuitability": { + "description": "Brand Safety setting at the individual campaign level. Allows for selecting an inventory type to show your ads on content that is the right fit for your brand. See https://support.google.com/google-ads/answer/7515513.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "EXPANDED_INVENTORY", + "STANDARD_INVENTORY", + "LIMITED_INVENTORY" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "This option lets you show ads across all inventory on YouTube and video partners that meet our standards for monetization. This option may be an appropriate choice for brands that want maximum access to the full breadth of videos eligible for ads, including, for example, videos that have strong profanity in the context of comedy or a documentary, or excessive violence as featured in video games.", + "This option lets you show ads across a wide range of content that's appropriate for most brands, such as popular music videos, documentaries, and movie trailers. The content you can show ads on is based on YouTube's advertiser-friendly content guidelines that take into account, for example, the strength or frequency of profanity, or the appropriateness of subject matter like sensitive events. Ads won't show, for example, on content with repeated strong profanity, strong sexual content, or graphic violence.", + "This option lets you show ads on a reduced range of content that's appropriate for brands with particularly strict guidelines around inappropriate language and sexual suggestiveness; above and beyond what YouTube's advertiser-friendly content guidelines address. The videos accessible in this sensitive category meet heightened requirements, especially for inappropriate language and sexual suggestiveness. For example, your ads will be excluded from showing on some of YouTube's most popular music videos and other pop culture content across YouTube and Google video partners." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__CampaignAsset": { + "description": "A link between a Campaign and an Asset.", + "id": "GoogleAdsSearchads360V23Resources__CampaignAsset", + "properties": { + "asset": { + "description": "Immutable. The asset which is linked to the campaign.", + "type": "string" + }, + "campaign": { + "description": "Immutable. The campaign to which the asset is linked.", + "type": "string" + }, + "fieldType": { + "description": "Immutable. Role that the asset takes under the linked campaign. Required.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "HEADLINE", + "DESCRIPTION", + "MANDATORY_AD_TEXT", + "MARKETING_IMAGE", + "MEDIA_BUNDLE", + "YOUTUBE_VIDEO", + "BOOK_ON_GOOGLE", + "LEAD_FORM", + "PROMOTION", + "CALLOUT", + "STRUCTURED_SNIPPET", + "SITELINK", + "MOBILE_APP", + "HOTEL_CALLOUT", + "CALL", + "PRICE", + "LONG_HEADLINE", + "BUSINESS_NAME", + "SQUARE_MARKETING_IMAGE", + "PORTRAIT_MARKETING_IMAGE", + "LOGO", + "LANDSCAPE_LOGO", + "VIDEO", + "CALL_TO_ACTION_SELECTION", + "AD_IMAGE", + "BUSINESS_LOGO", + "HOTEL_PROPERTY", + "DEMAND_GEN_CAROUSEL_CARD", + "BUSINESS_MESSAGE", + "TALL_PORTRAIT_MARKETING_IMAGE", + "LANDING_PAGE_PREVIEW", + "LONG_DESCRIPTION", + "CALL_TO_ACTION" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The asset is linked for use as a headline.", + "The asset is linked for use as a description.", + "The asset is linked for use as mandatory ad text.", + "The asset is linked for use as a marketing image.", + "The asset is linked for use as a media bundle.", + "The asset is linked for use as a YouTube video.", + "The asset is linked to indicate that a hotels campaign is \"Book on Google\" enabled.", + "The asset is linked for use as a Lead Form extension.", + "The asset is linked for use as a Promotion extension.", + "The asset is linked for use as a Callout extension.", + "The asset is linked for use as a Structured Snippet extension.", + "The asset is linked for use as a Sitelink.", + "The asset is linked for use as a Mobile App extension.", + "The asset is linked for use as a Hotel Callout extension.", + "The asset is linked for use as a Call extension.", + "The asset is linked for use as a Price extension.", + "The asset is linked for use as a long headline.", + "The asset is linked for use as a business name.", + "The asset is linked for use as a square marketing image.", + "The asset is linked for use as a portrait marketing image.", + "The asset is linked for use as a logo.", + "The asset is linked for use as a landscape logo.", + "The asset is linked for use as a non YouTube logo.", + "The asset is linked for use to select a call-to-action.", + "The asset is linked for use to select an ad image.", + "The asset is linked for use as a business logo.", + "The asset is linked for use as a hotel property in a Performance Max for travel goals campaign.", + "The asset is linked for use as a Demand Gen carousel card.", + "The asset is linked for use as a Business Message.", + "The asset is linked for use as a tall portrait marketing image.", + "The asset is linked for use as a landing page preview image.", + "The asset is linked for use as a long description.", + "The asset is linked for use as a call-to-action." + ], + "type": "string" + }, + "primaryStatus": { + "description": "Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain \"status\" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ELIGIBLE", + "PAUSED", + "REMOVED", + "PENDING", + "LIMITED", + "NOT_ELIGIBLE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The asset is eligible to serve.", + "The user-specified asset link status is paused.", + "The user-specified asset link status is removed.", + "The asset may serve in the future.", + "The asset is serving in a partial capacity.", + "The asset is not eligible to serve." + ], + "readOnly": true, + "type": "string" + }, + "primaryStatusDetails": { + "description": "Output only. Provides the details of the primary status and its associated reasons.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AssetLinkPrimaryStatusDetails" + }, + "readOnly": true, + "type": "array" + }, + "primaryStatusReasons": { + "description": "Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.", + "items": { + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ASSET_LINK_PAUSED", + "ASSET_LINK_REMOVED", + "ASSET_DISAPPROVED", + "ASSET_UNDER_REVIEW", + "ASSET_APPROVED_LABELED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The asset is paused for its linked rollup level. Contributes to a PrimaryStatus of PAUSED.", + "The asset is removed for its linked rollup level. Contributes to a PrimaryStatus of REMOVED.", + "The asset has been marked as disapproved. Contributes to a PrimaryStatus of NOT_ELIGIBLE", + "The asset has not completed policy review. Contributes to a PrimaryStatus of PENDING.", + "The asset is approved with policies applied. Contributes to a PrimaryStatus of LIMITED." + ], + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "resourceName": { + "description": "Immutable. The resource name of the campaign asset. CampaignAsset resource names have the form: `customers/{customer_id}/campaignAssets/{campaign_id}~{asset_id}~{field_type}`", + "type": "string" + }, + "source": { + "description": "Output only. Source of the campaign asset link.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ADVERTISER", + "AUTOMATICALLY_CREATED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The asset or asset link is provided by advertiser.", + "The asset or asset link is generated by Google." + ], + "readOnly": true, + "type": "string" + }, + "status": { + "description": "Status of the campaign asset.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ENABLED", + "REMOVED", + "PAUSED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Asset link is enabled.", + "Asset link has been removed.", + "Asset link is paused." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__CampaignAssetSet": { + "description": "CampaignAssetSet is the linkage between a campaign and an asset set. Adding a CampaignAssetSet links an asset set with a campaign.", + "id": "GoogleAdsSearchads360V23Resources__CampaignAssetSet", + "properties": { + "assetSet": { + "description": "Immutable. The asset set which is linked to the campaign.", + "type": "string" + }, + "campaign": { + "description": "Immutable. The campaign to which this asset set is linked.", + "type": "string" + }, + "resourceName": { + "description": "Immutable. The resource name of the campaign asset set. Asset set asset resource names have the form: `customers/{customer_id}/campaignAssetSets/{campaign_id}~{asset_set_id}`", + "type": "string" + }, + "status": { + "description": "Output only. The status of the campaign asset set asset. Read-only.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ENABLED", + "REMOVED" + ], + "enumDescriptions": [ + "The status has not been specified.", + "The received value is not known in this version. This is a response-only value.", + "The linkage between asset set and its container is enabled.", + "The linkage between asset set and its container is removed." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__CampaignAudienceView": { + "description": "A campaign audience view. Includes performance data from interests and remarketing lists for Display Network and YouTube Network ads, and remarketing lists for search ads (RLSA), aggregated by campaign and audience criterion. This view only includes audiences attached at the campaign level.", + "id": "GoogleAdsSearchads360V23Resources__CampaignAudienceView", + "properties": { + "resourceName": { + "description": "Output only. The resource name of the campaign audience view. Campaign audience view resource names have the form: `customers/{customer_id}/campaignAudienceViews/{campaign_id}~{criterion_id}`", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__CampaignBidModifier": { + "description": "Represents a bid-modifiable only criterion at the campaign level.", + "id": "GoogleAdsSearchads360V23Resources__CampaignBidModifier", + "properties": { + "bidModifier": { + "description": "The modifier for the bid when the criterion matches.", + "format": "double", + "type": "number" + }, + "campaign": { + "description": "Output only. The campaign to which this criterion belongs.", + "readOnly": true, + "type": "string" + }, + "criterionId": { + "description": "Output only. The ID of the criterion to bid modify. This field is ignored for mutates.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "interactionType": { + "$ref": "GoogleAdsSearchads360V23Common__InteractionTypeInfo", + "description": "Immutable. Criterion for interaction type. Only supported for search campaigns." + }, + "resourceName": { + "description": "Immutable. The resource name of the campaign bid modifier. Campaign bid modifier resource names have the form: `customers/{customer_id}/campaignBidModifiers/{campaign_id}~{criterion_id}`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__CampaignBudget": { + "description": "A campaign budget.", + "id": "GoogleAdsSearchads360V23Resources__CampaignBudget", + "properties": { + "alignedBiddingStrategyId": { + "description": "ID of the portfolio bidding strategy that this shared campaign budget is aligned with. When a bidding strategy and a campaign budget are aligned, they are attached to the same set of campaigns. After a campaign budget is aligned with a bidding strategy, campaigns that are added to the campaign budget must also use the aligned bidding strategy.", + "format": "int64", + "type": "string" + }, + "amountMicros": { + "description": "The average daily amount to be spent by the campaign. This field is used when the CampaignBudget `period` is set to `DAILY`, which is the default. Amount is specified in micros in the account's local currency. One million micros is equivalent to one currency unit. The effective monthly spend is capped at 30.4 times this daily amount. This field is mutually exclusive with 'total_amount_micros'. Only one of 'amount_micros' or 'total_amount_micros' should be set.", + "format": "int64", + "type": "string" + }, + "deliveryMethod": { + "description": "The delivery method that determines the rate at which the campaign budget is spent. Defaults to STANDARD if unspecified in a create operation.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "STANDARD", + "ACCELERATED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The budget server will throttle serving evenly across the entire time period.", + "The budget server will not throttle serving, and ads will serve as fast as possible." + ], + "type": "string" + }, + "explicitlyShared": { + "description": "Specifies whether the budget is explicitly shared. Defaults to true if unspecified in a create operation. If true, the budget was created with the purpose of sharing across one or more campaigns. If false, the budget was created with the intention of only being used with a single campaign. The budget's name and status will stay in sync with the campaign's name and status. Attempting to share the budget with a second campaign will result in an error. A non-shared budget can become an explicitly shared. The same operation must also assign the budget a name. A shared campaign budget can never become non-shared.", + "type": "boolean" + }, + "hasRecommendedBudget": { + "description": "Output only. Indicates whether there is a recommended budget for this campaign budget. This field is read-only.", + "readOnly": true, + "type": "boolean" + }, + "id": { + "description": "Output only. The ID of the campaign budget. A campaign budget is created using the CampaignBudgetService create operation and is assigned a budget ID. A budget ID can be shared across different campaigns; the system will then allocate the campaign budget among different campaigns to get optimum results.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "The name of the campaign budget. When creating a campaign budget through CampaignBudgetService, every explicitly shared campaign budget must have a non-null, non-empty name. Campaign budgets that are not explicitly shared derive their name from the attached campaign's name. The length of this string must be between 1 and 255, inclusive, in UTF-8 bytes, (trimmed).", + "type": "string" + }, + "period": { + "description": "Immutable. Period over which to spend the budget. Defaults to DAILY if not specified.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "DAILY", + "CUSTOM_PERIOD" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Daily budget.", + "Custom budget can be used with total_amount to specify lifetime budget limit." + ], + "type": "string" + }, + "recommendedBudgetAmountMicros": { + "description": "Output only. The recommended budget amount. If no recommendation is available, this will be set to the budget amount. Amount is specified in micros, where one million is equivalent to one currency unit. This field is read-only.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "recommendedBudgetEstimatedChangeWeeklyClicks": { + "description": "Output only. The estimated change in weekly clicks if the recommended budget is applied. This field is read-only.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "recommendedBudgetEstimatedChangeWeeklyCostMicros": { + "description": "Output only. The estimated change in weekly cost in micros if the recommended budget is applied. One million is equivalent to one currency unit. This field is read-only.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "recommendedBudgetEstimatedChangeWeeklyInteractions": { + "description": "Output only. The estimated change in weekly interactions if the recommended budget is applied. This field is read-only.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "recommendedBudgetEstimatedChangeWeeklyViews": { + "description": "Output only. The estimated change in weekly views if the recommended budget is applied. This field is read-only.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "referenceCount": { + "description": "Output only. The number of campaigns actively using the budget. This field is read-only.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Immutable. The resource name of the campaign budget. Campaign budget resource names have the form: `customers/{customer_id}/campaignBudgets/{campaign_budget_id}`", + "type": "string" + }, + "status": { + "description": "Output only. The status of this campaign budget. This field is read-only.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ENABLED", + "REMOVED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Budget is enabled.", + "Budget is removed." + ], + "readOnly": true, + "type": "string" + }, + "totalAmountMicros": { + "description": "The total amount to be spent by the campaign over its entire duration. This field is used *only* when the CampaignBudget `period` is set to `CUSTOM_PERIOD`. It represents the budget cap for the campaign's lifetime, rather than a daily limit. The amount is specified in micros in the account's local currency. One million micros is equivalent to one currency unit. This field is mutually exclusive with 'amount_micros'. Only one of 'total_amount_micros' or 'amount_micros' should be set.", + "format": "int64", + "type": "string" + }, + "type": { + "description": "Immutable. The type of the campaign budget.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "STANDARD", + "FIXED_CPA", + "SMART_CAMPAIGN", + "LOCAL_SERVICES" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Budget type for standard Google Ads usage. Caps daily spend at two times the specified budget amount. Full details: https://support.google.com/google-ads/answer/6385083", + "Budget type with a fixed cost-per-acquisition (conversion). Full details: https://support.google.com/google-ads/answer/7528254 This type is only supported by campaigns with AdvertisingChannelType.DISPLAY (excluding AdvertisingChannelSubType.DISPLAY_GMAIL), BiddingStrategyType.TARGET_CPA and PaymentMode.CONVERSIONS.", + "Budget type for Smart Campaign. Full details: https://support.google.com/google-ads/answer/7653509 This type is only supported by campaigns with AdvertisingChannelType.SMART and AdvertisingChannelSubType.SMART_CAMPAIGN.", + "Budget type for Local Services Campaign. Full details: https://support.google.com/localservices/answer/7434558 This type is only supported by campaigns with AdvertisingChannelType.LOCAL_SERVICES." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__CampaignConversionGoal": { + "description": "The biddability setting for the specified campaign only for all conversion actions with a matching category and origin.", + "id": "GoogleAdsSearchads360V23Resources__CampaignConversionGoal", + "properties": { + "biddable": { + "description": "The biddability of the campaign conversion goal.", + "type": "boolean" + }, + "campaign": { + "description": "Immutable. The campaign with which this campaign conversion goal is associated.", + "type": "string" + }, + "category": { + "description": "The conversion category of this campaign conversion goal.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "DEFAULT", + "PAGE_VIEW", + "PURCHASE", + "SIGNUP", + "DOWNLOAD", + "ADD_TO_CART", + "BEGIN_CHECKOUT", + "SUBSCRIBE_PAID", + "PHONE_CALL_LEAD", + "IMPORTED_LEAD", + "SUBMIT_LEAD_FORM", + "BOOK_APPOINTMENT", + "REQUEST_QUOTE", + "GET_DIRECTIONS", + "OUTBOUND_CLICK", + "CONTACT", + "ENGAGEMENT", + "STORE_VISIT", + "STORE_SALE", + "QUALIFIED_LEAD", + "CONVERTED_LEAD" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Default category.", + "User visiting a page.", + "Purchase, sales, or \"order placed\" event.", + "Signup user action.", + "Software download action (as for an app).", + "The addition of items to a shopping cart or bag on an advertiser site.", + "When someone enters the checkout flow on an advertiser site.", + "The start of a paid subscription for a product or service.", + "A call to indicate interest in an advertiser's offering.", + "A lead conversion imported from an external source into Google Ads.", + "A submission of a form on an advertiser site indicating business interest.", + "A booking of an appointment with an advertiser's business.", + "A quote or price estimate request.", + "A search for an advertiser's business location with intention to visit.", + "A click to an advertiser's partner's site.", + "A call, SMS, email, chat or other type of contact to an advertiser.", + "A website engagement event such as long site time or a Google Analytics (GA) Smart Goal. Intended to be used for GA, Firebase, GA Gold goal imports.", + "A visit to a physical store location.", + "A sale occurring in a physical store.", + "A lead conversion imported from an external source into Google Ads, that has been further qualified by the advertiser (marketing/sales team). In the lead-to-sale journey, advertisers get leads, then act on them by reaching out to the consumer. If the consumer is interested and may end up buying their product, the advertiser marks such leads as \"qualified leads\".", + "A lead conversion imported from an external source into Google Ads, that has further completed a chosen stage as defined by the lead gen advertiser." + ], + "type": "string" + }, + "origin": { + "description": "The conversion origin of this campaign conversion goal.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "WEBSITE", + "GOOGLE_HOSTED", + "APP", + "CALL_FROM_ADS", + "STORE", + "YOUTUBE_HOSTED", + "FLOODLIGHT" + ], + "enumDescriptions": [ + "The conversion origin has not been specified.", + "The conversion origin is not known in this version.", + "Conversion that occurs when a user visits a website or takes an action there after viewing an ad.", + "Conversions reported by an offline pipeline which collects local actions from Google-hosted pages (for example, Google Maps, Google Place Page, etc) and attributes them to relevant ad events.", + "Conversion that occurs when a user performs an action through any app platforms.", + "Conversion that occurs when a user makes a call from ads.", + "Conversion that occurs when a user visits or makes a purchase at a physical store.", + "Conversion that occurs on YouTube.", + "Conversions that occur through Floodlight tag." + ], + "type": "string" + }, + "resourceName": { + "description": "Immutable. The resource name of the campaign conversion goal. Campaign conversion goal resource names have the form: `customers/{customer_id}/campaignConversionGoals/{campaign_id}~{category}~{origin}`", + "type": "string" + }, + "searchAds360Biddable": { + "description": "Search Ads 360 biddability of the campaign conversion goal.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__CampaignCriterion": { + "description": "A campaign criterion.", + "id": "GoogleAdsSearchads360V23Resources__CampaignCriterion", + "properties": { + "adSchedule": { + "$ref": "GoogleAdsSearchads360V23Common__AdScheduleInfo", + "description": "Immutable. Ad Schedule." + }, + "ageRange": { + "$ref": "GoogleAdsSearchads360V23Common__AgeRangeInfo", + "description": "Immutable. Age range." + }, + "bidModifier": { + "description": "The modifier for the bids when the criterion matches. The modifier must be in the range: 0.1 - 10.0. Most targetable criteria types support modifiers. Use 0 to opt out of a Device type.", + "format": "float", + "type": "number" + }, + "brandList": { + "$ref": "GoogleAdsSearchads360V23Common__BrandListInfo", + "description": "Immutable. Brand list campaign criterion." + }, + "campaign": { + "description": "Immutable. The campaign to which the criterion belongs.", + "type": "string" + }, + "carrier": { + "$ref": "GoogleAdsSearchads360V23Common__CarrierInfo", + "description": "Immutable. Carrier." + }, + "combinedAudience": { + "$ref": "GoogleAdsSearchads360V23Common__CombinedAudienceInfo", + "description": "Immutable. Combined Audience." + }, + "contentLabel": { + "$ref": "GoogleAdsSearchads360V23Common__ContentLabelInfo", + "description": "Immutable. ContentLabel." + }, + "criterionId": { + "description": "Output only. The ID of the criterion. This field is ignored during mutate.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "device": { + "$ref": "GoogleAdsSearchads360V23Common__DeviceInfo", + "description": "Immutable. Device." + }, + "displayName": { + "description": "Output only. The display name of the criterion. This field is ignored for mutates.", + "readOnly": true, + "type": "string" + }, + "extendedDemographic": { + "$ref": "GoogleAdsSearchads360V23Common__ExtendedDemographicInfo", + "description": "Immutable. Extended demographic criterion." + }, + "gender": { + "$ref": "GoogleAdsSearchads360V23Common__GenderInfo", + "description": "Immutable. Gender." + }, + "incomeRange": { + "$ref": "GoogleAdsSearchads360V23Common__IncomeRangeInfo", + "description": "Immutable. Income range." + }, + "ipBlock": { + "$ref": "GoogleAdsSearchads360V23Common__IpBlockInfo", + "description": "Immutable. IpBlock. You can exclude up to 500 IP addresses per campaign." + }, + "keyword": { + "$ref": "GoogleAdsSearchads360V23Common__KeywordInfo", + "description": "Immutable. Keyword." + }, + "keywordTheme": { + "$ref": "GoogleAdsSearchads360V23Common__KeywordThemeInfo", + "description": "Immutable. Smart Campaign Keyword Theme." + }, + "language": { + "$ref": "GoogleAdsSearchads360V23Common__LanguageInfo", + "description": "Immutable. Language." + }, + "lastModifiedTime": { + "description": "Output only. The datetime when this campaign criterion was last modified. The datetime is in the customer's time zone and in \"yyyy-MM-dd HH:mm:ss.ssssss\" format.", + "readOnly": true, + "type": "string" + }, + "lifeEvent": { + "$ref": "GoogleAdsSearchads360V23Common__LifeEventInfo", + "description": "Immutable. Life event campaign criterion." + }, + "listingScope": { + "$ref": "GoogleAdsSearchads360V23Common__ListingScopeInfo", + "description": "Immutable. Listing scope." + }, + "localServiceId": { + "$ref": "GoogleAdsSearchads360V23Common__LocalServiceIdInfo", + "description": "Immutable. GLS service campaign criterion." + }, + "location": { + "$ref": "GoogleAdsSearchads360V23Common__LocationInfo", + "description": "Immutable. Location." + }, + "locationGroup": { + "$ref": "GoogleAdsSearchads360V23Common__LocationGroupInfo", + "description": "Immutable. Location Group" + }, + "mobileAppCategory": { + "$ref": "GoogleAdsSearchads360V23Common__MobileAppCategoryInfo", + "description": "Immutable. Mobile app category." + }, + "mobileApplication": { + "$ref": "GoogleAdsSearchads360V23Common__MobileApplicationInfo", + "description": "Immutable. Mobile application." + }, + "mobileDevice": { + "$ref": "GoogleAdsSearchads360V23Common__MobileDeviceInfo", + "description": "Immutable. Mobile Device." + }, + "negative": { + "description": "Immutable. Whether to target (`false`) or exclude (`true`) the criterion.", + "type": "boolean" + }, + "operatingSystemVersion": { + "$ref": "GoogleAdsSearchads360V23Common__OperatingSystemVersionInfo", + "description": "Immutable. Operating system version." + }, + "parentalStatus": { + "$ref": "GoogleAdsSearchads360V23Common__ParentalStatusInfo", + "description": "Immutable. Parental status." + }, + "placement": { + "$ref": "GoogleAdsSearchads360V23Common__PlacementInfo", + "description": "Immutable. Placement." + }, + "proximity": { + "$ref": "GoogleAdsSearchads360V23Common__ProximityInfo", + "description": "Immutable. Proximity." + }, + "resourceName": { + "description": "Immutable. The resource name of the campaign criterion. Campaign criterion resource names have the form: `customers/{customer_id}/campaignCriteria/{campaign_id}~{criterion_id}`", + "type": "string" + }, + "status": { + "description": "The status of the criterion.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ENABLED", + "PAUSED", + "REMOVED" + ], + "enumDescriptions": [ + "No value has been specified.", + "The received value is not known in this version. This is a response-only value.", + "The campaign criterion is enabled.", + "The campaign criterion is paused.", + "The campaign criterion is removed." + ], + "type": "string" + }, + "topic": { + "$ref": "GoogleAdsSearchads360V23Common__TopicInfo", + "description": "Immutable. Topic." + }, + "type": { + "description": "Output only. The type of the criterion.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "KEYWORD", + "PLACEMENT", + "MOBILE_APP_CATEGORY", + "MOBILE_APPLICATION", + "DEVICE", + "LOCATION", + "LISTING_GROUP", + "AD_SCHEDULE", + "AGE_RANGE", + "GENDER", + "INCOME_RANGE", + "PARENTAL_STATUS", + "YOUTUBE_VIDEO", + "YOUTUBE_CHANNEL", + "USER_LIST", + "PROXIMITY", + "TOPIC", + "LISTING_SCOPE", + "LANGUAGE", + "IP_BLOCK", + "CONTENT_LABEL", + "CARRIER", + "USER_INTEREST", + "WEBPAGE", + "OPERATING_SYSTEM_VERSION", + "APP_PAYMENT_MODEL", + "MOBILE_DEVICE", + "CUSTOM_AFFINITY", + "CUSTOM_INTENT", + "LOCATION_GROUP", + "CUSTOM_AUDIENCE", + "COMBINED_AUDIENCE", + "KEYWORD_THEME", + "AUDIENCE", + "NEGATIVE_KEYWORD_LIST", + "LOCAL_SERVICE_ID", + "SEARCH_THEME", + "BRAND", + "BRAND_LIST", + "LIFE_EVENT", + "WEBPAGE_LIST", + "VIDEO_LINEUP", + "PLACEMENT_LIST", + "VERTICAL_ADS_ITEM_GROUP_RULE_LIST", + "VERTICAL_ADS_ITEM_GROUP_RULE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Keyword, for example, 'mars cruise'.", + "Placement, also known as Website, for example, 'www.flowers4sale.com'", + "Mobile application categories to target.", + "Mobile applications to target.", + "Devices to target.", + "Locations to target.", + "Listing groups to target.", + "Ad Schedule.", + "Age range.", + "Gender.", + "Income Range.", + "Parental status.", + "YouTube Video.", + "YouTube Channel.", + "User list.", + "Proximity.", + "A topic target on the display network (for example, \"Pets & Animals\").", + "Listing scope to target.", + "Language.", + "IpBlock.", + "Content Label for category exclusion.", + "Carrier.", + "A category the user is interested in.", + "Webpage criterion for dynamic search ads.", + "Operating system version.", + "App payment model.", + "Mobile device.", + "Custom affinity.", + "Custom intent.", + "Location group.", + "Custom audience", + "Combined audience", + "Smart Campaign keyword theme", + "Audience", + "Negative Keyword List", + "Local Services Ads Service ID.", + "Search Theme.", + "Brand", + "Brand List", + "Life Event", + "Webpage List", + "Video lineup", + "Placement List", + "A list of rules for item groups in Vertical Ads.", + "A rule for an item group in Vertical Ads." + ], + "readOnly": true, + "type": "string" + }, + "userInterest": { + "$ref": "GoogleAdsSearchads360V23Common__UserInterestInfo", + "description": "Immutable. User Interest." + }, + "userList": { + "$ref": "GoogleAdsSearchads360V23Common__UserListInfo", + "description": "Immutable. User List." + }, + "videoLineup": { + "$ref": "GoogleAdsSearchads360V23Common__VideoLineupInfo", + "description": "Immutable. Video lineup criterion." + }, + "webpage": { + "$ref": "GoogleAdsSearchads360V23Common__WebpageInfo", + "description": "Immutable. Webpage." + }, + "webpageList": { + "$ref": "GoogleAdsSearchads360V23Common__WebpageListInfo", + "description": "Immutable. Webpage list. This criterion is not publicly available." + }, + "youtubeChannel": { + "$ref": "GoogleAdsSearchads360V23Common__YouTubeChannelInfo", + "description": "Immutable. YouTube Channel." + }, + "youtubeVideo": { + "$ref": "GoogleAdsSearchads360V23Common__YouTubeVideoInfo", + "description": "Immutable. YouTube Video." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__CampaignCustomizer": { + "description": "A customizer value for the associated CustomizerAttribute at the Campaign level.", + "id": "GoogleAdsSearchads360V23Resources__CampaignCustomizer", + "properties": { + "campaign": { + "description": "Immutable. The campaign to which the customizer attribute is linked.", + "type": "string" + }, + "customizerAttribute": { + "description": "Required. Immutable. The customizer attribute which is linked to the campaign.", + "type": "string" + }, + "resourceName": { + "description": "Immutable. The resource name of the campaign customizer. Campaign customizer resource names have the form: `customers/{customer_id}/campaignCustomizers/{campaign_id}~{customizer_attribute_id}`", + "type": "string" + }, + "status": { + "description": "Output only. The status of the campaign customizer.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ENABLED", + "REMOVED" + ], + "enumDescriptions": [ + "The status has not been specified.", + "The received value is not known in this version.", + "The customizer value is enabled.", + "The customizer value is removed." + ], + "readOnly": true, + "type": "string" + }, + "value": { + "$ref": "GoogleAdsSearchads360V23Common__CustomizerValue", + "description": "Required. The value to associate with the customizer attribute at this level. The value must be of the type specified for the CustomizerAttribute." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__CampaignDraft": { + "description": "A campaign draft.", + "id": "GoogleAdsSearchads360V23Resources__CampaignDraft", + "properties": { + "baseCampaign": { + "description": "Immutable. The base campaign to which the draft belongs.", + "type": "string" + }, + "draftCampaign": { + "description": "Output only. Resource name of the Campaign that results from overlaying the draft changes onto the base campaign. This field is read-only.", + "readOnly": true, + "type": "string" + }, + "draftId": { + "description": "Output only. The ID of the draft. This field is read-only.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "hasExperimentRunning": { + "description": "Output only. Whether there is an experiment based on this draft currently serving.", + "readOnly": true, + "type": "boolean" + }, + "longRunningOperation": { + "description": "Output only. The resource name of the long-running operation that can be used to poll for completion of draft promotion. This is only set if the draft promotion is in progress or finished.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "The name of the campaign draft. This field is required and should not be empty when creating new campaign drafts. It must not contain any null (code point 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD) characters.", + "type": "string" + }, + "resourceName": { + "description": "Immutable. The resource name of the campaign draft. Campaign draft resource names have the form: `customers/{customer_id}/campaignDrafts/{base_campaign_id}~{draft_id}`", + "type": "string" + }, + "status": { + "description": "Output only. The status of the campaign draft. This field is read-only. When a new campaign draft is added, the status defaults to PROPOSED.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "PROPOSED", + "REMOVED", + "PROMOTING", + "PROMOTED", + "PROMOTE_FAILED" + ], + "enumDescriptions": [ + "The status has not been specified.", + "Used for return value only. Represents value unknown in this version.", + "Initial state of the draft, the advertiser can start adding changes with no effect on serving.", + "The campaign draft is removed.", + "Advertiser requested to promote draft's changes back into the original campaign. Advertiser can poll the long running operation returned by the promote action to see the status of the promotion.", + "The process to merge changes in the draft back to the original campaign has completed successfully.", + "The promotion failed after it was partially applied. Promote cannot be attempted again safely, so the issue must be corrected in the original campaign." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__CampaignEffectiveLabel": { + "description": "Represents a relationship between a campaign and an effective label. An effective label is a label inherited or directly assigned to this campaign.", + "id": "GoogleAdsSearchads360V23Resources__CampaignEffectiveLabel", + "properties": { + "campaign": { + "description": "Immutable. The campaign to which the effective label is attached.", + "type": "string" + }, + "label": { + "description": "Immutable. The effective label assigned to the campaign.", + "type": "string" + }, + "ownerCustomerId": { + "description": "Output only. The ID of the Customer which owns the effective label.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Immutable. Name of the resource. CampaignEffectivelabel resource names have the form: `customers/{owner_customer_id}/campaignEffectiveLabels/{campaign_id}~{label_id}`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__CampaignGoalConfig": { + "description": "A link between a campaign and a goal enabling campaign-specific optimization.", + "id": "GoogleAdsSearchads360V23Resources__CampaignGoalConfig", + "properties": { + "campaign": { + "description": "Immutable. The resource name of the campaign for this link.", + "type": "string" + }, + "campaignRetentionSettings": { + "$ref": "GoogleAdsSearchads360V23Common_CampaignGoalSettings_CampaignRetentionGoalSettings", + "description": "Retention goal campaign settings." + }, + "goal": { + "description": "Immutable. The resource name of the goal this link is attached to.", + "type": "string" + }, + "goalType": { + "description": "Output only. The goal type this link is attached to.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CUSTOMER_RETENTION" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Retention goal, which allows advertisers to optimize campaigns to win back lapsed customers. (https://support.google.com/google-ads/answer/14792043?hl=en)" + ], + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Immutable. The resource name of the campaign goal config. campaign goal config resource names have the form: `customers/{customer_id}/campaignGoalConfigs/{campaign_id}~{goal_id}`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__CampaignGroup": { + "description": "A campaign group.", + "id": "GoogleAdsSearchads360V23Resources__CampaignGroup", + "properties": { + "id": { + "description": "Output only. The ID of the campaign group.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "The name of the campaign group. This field is required and should not be empty when creating new campaign groups. It must not contain any null (code point 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD) characters.", + "type": "string" + }, + "resourceName": { + "description": "Immutable. The resource name of the campaign group. Campaign group resource names have the form: `customers/{customer_id}/campaignGroups/{campaign_group_id}`", + "type": "string" + }, + "status": { + "description": "The status of the campaign group. When a new campaign group is added, the status defaults to ENABLED.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ENABLED", + "REMOVED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The campaign group is active.", + "The campaign group has been removed." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__CampaignLabel": { + "description": "Represents a relationship between a campaign and a label.", + "id": "GoogleAdsSearchads360V23Resources__CampaignLabel", + "properties": { + "campaign": { + "description": "Immutable. The campaign to which the label is attached.", + "type": "string" + }, + "label": { + "description": "Immutable. The label assigned to the campaign.", + "type": "string" + }, + "ownerCustomerId": { + "description": "Output only. The ID of the Customer which owns the label.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Immutable. Name of the resource. Campaign label resource names have the form: `customers/{owner_customer_id}/campaignLabels/{campaign_id}~{label_id}`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__CampaignLifecycleGoal": { + "description": "Campaign level customer lifecycle goal settings.", + "id": "GoogleAdsSearchads360V23Resources__CampaignLifecycleGoal", + "properties": { + "campaign": { + "description": "Output only. The campaign where the goal is attached.", + "readOnly": true, + "type": "string" + }, + "customerAcquisitionGoalSettings": { + "$ref": "GoogleAdsSearchads360V23Resources__CustomerAcquisitionGoalSettings", + "description": "Output only. The customer acquisition goal settings for the campaign. The customer acquisition goal is described in this article: https://support.google.com/google-ads/answer/12080169", + "readOnly": true + }, + "resourceName": { + "description": "Immutable. The resource name of the customer lifecycle goal of a campaign. `customers/{customer_id}/campaignLifecycleGoal/{campaign_id}`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__CampaignSearchTermInsight": { + "description": "This report provides a high-level view of search demand at the campaign level by grouping similar search terms into categories and showing their search volume. Historical data is available starting March 2023.", + "id": "GoogleAdsSearchads360V23Resources__CampaignSearchTermInsight", + "properties": { + "campaignId": { + "description": "Output only. The ID of the campaign.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "categoryLabel": { + "description": "Output only. The label for the search category. An empty string denotes the catch-all category for search terms that didn't fit into another category.", + "readOnly": true, + "type": "string" + }, + "id": { + "description": "Output only. The ID of the insight.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Output only. The resource name of the campaign level search term insight. Campaign level search term insight resource names have the form: `customers/{customer_id}/campaignSearchTermInsights/{campaign_id}~{category_id}`", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__CampaignSearchTermView": { + "description": "This report provides granular performance data, including cost metrics, for each individual search term that triggered your ads. If keyword-related segments are used, Performance Max data will be excluded from the results.", + "id": "GoogleAdsSearchads360V23Resources__CampaignSearchTermView", + "properties": { + "campaign": { + "description": "Output only. The campaign the search term served in.", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Output only. The resource name of the campaign search term view. Campaign search term view resource names have the form: `customers/{customer_id}/campaignSearchTermViews/{campaign_id}~{URL-base64_search_term}`", + "readOnly": true, + "type": "string" + }, + "searchTerm": { + "description": "Output only. The search term.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__CampaignSharedSet": { + "description": "CampaignSharedSets are used for managing the shared sets associated with a campaign.", + "id": "GoogleAdsSearchads360V23Resources__CampaignSharedSet", + "properties": { + "campaign": { + "description": "Immutable. The campaign to which the campaign shared set belongs.", + "type": "string" + }, + "resourceName": { + "description": "Immutable. The resource name of the campaign shared set. Campaign shared set resource names have the form: `customers/{customer_id}/campaignSharedSets/{campaign_id}~{shared_set_id}`", + "type": "string" + }, + "sharedSet": { + "description": "Immutable. The shared set associated with the campaign. This may be a negative keyword shared set of another customer. This customer should be a manager of the other customer, otherwise the campaign shared set will exist but have no serving effect. Only negative keyword shared sets can be associated with Shopping campaigns. Only negative placement shared sets can be associated with Display mobile app campaigns.", + "type": "string" + }, + "status": { + "description": "Output only. The status of this campaign shared set. Read only.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ENABLED", + "REMOVED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The campaign shared set is enabled.", + "The campaign shared set is removed and can no longer be used." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__CampaignSimulation": { + "description": "A campaign simulation. Supported combinations of advertising channel type, simulation type and simulation modification method is detailed below respectively. * SEARCH - CPC_BID - UNIFORM * SEARCH - CPC_BID - SCALING * SEARCH - TARGET_CPA - UNIFORM * SEARCH - TARGET_CPA - SCALING * SEARCH - TARGET_ROAS - UNIFORM * SEARCH - TARGET_IMPRESSION_SHARE - UNIFORM * SEARCH - BUDGET - UNIFORM * SHOPPING - BUDGET - UNIFORM * SHOPPING - TARGET_ROAS - UNIFORM * MULTI_CHANNEL - TARGET_CPA - UNIFORM * MULTI_CHANNEL - TARGET_ROAS - UNIFORM * DEMAND_GEN - TARGET_CPA - DEFAULT * DISPLAY - TARGET_CPA - UNIFORM * PERFORMANCE_MAX - TARGET_CPA - UNIFORM * PERFORMANCE_MAX - TARGET_ROAS - UNIFORM * PERFORMANCE_MAX - BUDGET - UNIFORM", + "id": "GoogleAdsSearchads360V23Resources__CampaignSimulation", + "properties": { + "budgetPointList": { + "$ref": "GoogleAdsSearchads360V23Common__BudgetSimulationPointList", + "description": "Output only. Simulation points if the simulation type is BUDGET.", + "readOnly": true + }, + "campaignId": { + "description": "Output only. Campaign id of the simulation.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "cpcBidPointList": { + "$ref": "GoogleAdsSearchads360V23Common__CpcBidSimulationPointList", + "description": "Output only. Simulation points if the simulation type is CPC_BID.", + "readOnly": true + }, + "endDate": { + "description": "Output only. Last day on which the simulation is based, in YYYY-MM-DD format", + "readOnly": true, + "type": "string" + }, + "modificationMethod": { + "description": "Output only. How the simulation modifies the field.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "UNIFORM", + "DEFAULT", + "SCALING" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The values in a simulation were applied to all children of a given resource uniformly. Overrides on child resources were not respected.", + "The values in a simulation were applied to the given resource. Overrides on child resources were respected, and traffic estimates do not include these resources.", + "The values in a simulation were all scaled by the same factor. For example, in a simulated TargetCpa campaign, the campaign target and all ad group targets were scaled by a factor of X." + ], + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Output only. The resource name of the campaign simulation. Campaign simulation resource names have the form: `customers/{customer_id}/campaignSimulations/{campaign_id}~{type}~{modification_method}~{start_date}~{end_date}`", + "readOnly": true, + "type": "string" + }, + "startDate": { + "description": "Output only. First day on which the simulation is based, in YYYY-MM-DD format.", + "readOnly": true, + "type": "string" + }, + "targetCpaPointList": { + "$ref": "GoogleAdsSearchads360V23Common__TargetCpaSimulationPointList", + "description": "Output only. Simulation points if the simulation type is TARGET_CPA.", + "readOnly": true + }, + "targetImpressionSharePointList": { + "$ref": "GoogleAdsSearchads360V23Common__TargetImpressionShareSimulationPointList", + "description": "Output only. Simulation points if the simulation type is TARGET_IMPRESSION_SHARE.", + "readOnly": true + }, + "targetRoasPointList": { + "$ref": "GoogleAdsSearchads360V23Common__TargetRoasSimulationPointList", + "description": "Output only. Simulation points if the simulation type is TARGET_ROAS.", + "readOnly": true + }, + "type": { + "description": "Output only. The field that the simulation modifies.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CPC_BID", + "CPV_BID", + "TARGET_CPA", + "BID_MODIFIER", + "TARGET_ROAS", + "PERCENT_CPC_BID", + "TARGET_IMPRESSION_SHARE", + "BUDGET" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The simulation is for a CPC bid.", + "The simulation is for a CPV bid.", + "The simulation is for a CPA target.", + "The simulation is for a bid modifier.", + "The simulation is for a ROAS target.", + "The simulation is for a percent CPC bid.", + "The simulation is for an impression share target.", + "The simulation is for a budget." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__CarrierConstant": { + "description": "A carrier criterion that can be used in campaign targeting.", + "id": "GoogleAdsSearchads360V23Resources__CarrierConstant", + "properties": { + "countryCode": { + "description": "Output only. The country code of the country where the carrier is located, for example, \"AR\", \"FR\", etc.", + "readOnly": true, + "type": "string" + }, + "id": { + "description": "Output only. The ID of the carrier criterion.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. The full name of the carrier in English.", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Output only. The resource name of the carrier criterion. Carrier criterion resource names have the form: `carrierConstants/{criterion_id}`", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__CartDataSalesView": { + "description": "Cart data sales view. Provides information about the products which were purchased if conversions with cart data is implemented. Performance metrics like revenue, gross profit, lead/cross-sell metrics etc. and Merchant Center attributes such as brand, category etc. are available for products defined in an inventory feed and sold as a result of Google ads. For purchases attributed to clicks on Shopping ads, dimensions of both clicked and sold products can be viewed together.", + "id": "GoogleAdsSearchads360V23Resources__CartDataSalesView", + "properties": { + "resourceName": { + "description": "Output only. The resource name of the Cart data sales view. Cart data sales view resource names have the form: `customers/{customer_id}/cartDataSalesView`", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__ChangeEvent": { + "description": "Describes the granular change of returned resources of certain resource types. Changes made through the UI or API in the past 30 days are included. Previous and new values of the changed fields are shown. ChangeEvent could have up to 3 minutes delay to reflect a new change.", + "id": "GoogleAdsSearchads360V23Resources__ChangeEvent", + "properties": { + "adGroup": { + "description": "Output only. The AdGroup affected by this change.", + "readOnly": true, + "type": "string" + }, + "asset": { + "description": "Output only. The Asset affected by this change.", + "readOnly": true, + "type": "string" + }, + "campaign": { + "description": "Output only. The Campaign affected by this change.", + "readOnly": true, + "type": "string" + }, + "changeDateTime": { + "description": "Output only. Time at which the change was committed on this resource.", + "readOnly": true, + "type": "string" + }, + "changeResourceName": { + "description": "Output only. The Simply resource this change occurred on.", + "readOnly": true, + "type": "string" + }, + "changeResourceType": { + "description": "Output only. The type of the changed resource. This dictates what resource will be set in old_resource and new_resource.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "AD", + "AD_GROUP", + "AD_GROUP_CRITERION", + "CAMPAIGN", + "CAMPAIGN_BUDGET", + "AD_GROUP_BID_MODIFIER", + "CAMPAIGN_CRITERION", + "FEED", + "FEED_ITEM", + "CAMPAIGN_FEED", + "AD_GROUP_FEED", + "AD_GROUP_AD", + "ASSET", + "CUSTOMER_ASSET", + "CAMPAIGN_ASSET", + "AD_GROUP_ASSET", + "ASSET_SET", + "ASSET_SET_ASSET", + "CAMPAIGN_ASSET_SET" + ], + "enumDescriptions": [ + "No value has been specified.", + "Used for return value only. Represents an unclassified resource unknown in this version.", + "An Ad resource change.", + "An AdGroup resource change.", + "An AdGroupCriterion resource change.", + "A Campaign resource change.", + "A CampaignBudget resource change.", + "An AdGroupBidModifier resource change.", + "A CampaignCriterion resource change.", + "A Feed resource change.", + "A FeedItem resource change.", + "A CampaignFeed resource change.", + "An AdGroupFeed resource change.", + "An AdGroupAd resource change.", + "An Asset resource change.", + "A CustomerAsset resource change.", + "A CampaignAsset resource change.", + "An AdGroupAsset resource change.", + "An AssetSet resource change.", + "An AssetSetAsset resource change.", + "A CampaignAssetSet resource change." + ], + "readOnly": true, + "type": "string" + }, + "changedFields": { + "description": "Output only. A list of fields that are changed in the returned resource.", + "format": "google-fieldmask", + "readOnly": true, + "type": "string" + }, + "clientType": { + "description": "Output only. Where the change was made through.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "GOOGLE_ADS_WEB_CLIENT", + "GOOGLE_ADS_AUTOMATED_RULE", + "GOOGLE_ADS_SCRIPTS", + "GOOGLE_ADS_BULK_UPLOAD", + "GOOGLE_ADS_API", + "GOOGLE_ADS_EDITOR", + "GOOGLE_ADS_MOBILE_APP", + "GOOGLE_ADS_RECOMMENDATIONS", + "SEARCH_ADS_360_SYNC", + "SEARCH_ADS_360_POST", + "INTERNAL_TOOL", + "OTHER", + "GOOGLE_ADS_RECOMMENDATIONS_SUBSCRIPTION" + ], + "enumDescriptions": [ + "No value has been specified.", + "Used for return value only. Represents an unclassified client type unknown in this version.", + "Changes made through the \"ads.google.com\". For example, changes made through campaign management.", + "Changes made through Google Ads automated rules.", + "Changes made through Google Ads scripts.", + "Changes made by Google Ads bulk upload.", + "Changes made by Google Ads API.", + "Changes made by Google Ads Editor. This value is a placeholder. The API does not return these changes.", + "Changes made by Google Ads mobile app.", + "Changes made through Google Ads recommendations.", + "Changes made through Search Ads 360 Sync.", + "Changes made through Search Ads 360 Post.", + "Changes made through internal tools. For example, when a user sets a URL template on an entity like a Campaign, it's automatically wrapped with the SA360 Clickserver URL.", + "Types of changes that are not categorized, for example, changes made by coupon redemption through Google Ads.", + "Changes made by subscribing to Google Ads recommendations." + ], + "readOnly": true, + "type": "string" + }, + "newResource": { + "$ref": "GoogleAdsSearchads360V23Resources_ChangeEvent_ChangedResource", + "description": "Output only. The new resource after the change. Only changed fields will be populated.", + "readOnly": true + }, + "oldResource": { + "$ref": "GoogleAdsSearchads360V23Resources_ChangeEvent_ChangedResource", + "description": "Output only. The old resource before the change. Only changed fields will be populated.", + "readOnly": true + }, + "resourceChangeOperation": { + "description": "Output only. The operation on the changed resource.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CREATE", + "UPDATE", + "REMOVE" + ], + "enumDescriptions": [ + "No value has been specified.", + "Used for return value only. Represents an unclassified operation unknown in this version.", + "The resource was created.", + "The resource was modified.", + "The resource was removed." + ], + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Output only. The resource name of the change event. Change event resource names have the form: `customers/{customer_id}/changeEvents/{timestamp_micros}~{command_index}~{mutate_index}`", + "readOnly": true, + "type": "string" + }, + "userEmail": { + "description": "Output only. The email of the user who made this change.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__ChangeStatus": { + "description": "Describes the status of returned resource. ChangeStatus could have up to 3 minutes delay to reflect a new change.", + "id": "GoogleAdsSearchads360V23Resources__ChangeStatus", + "properties": { + "adGroup": { + "description": "Output only. The AdGroup affected by this change.", + "readOnly": true, + "type": "string" + }, + "adGroupAd": { + "description": "Output only. The AdGroupAd affected by this change.", + "readOnly": true, + "type": "string" + }, + "adGroupAsset": { + "description": "Output only. The AdGroupAsset affected by this change.", + "readOnly": true, + "type": "string" + }, + "adGroupBidModifier": { + "description": "Output only. The AdGroupBidModifier affected by this change.", + "readOnly": true, + "type": "string" + }, + "adGroupCriterion": { + "description": "Output only. The AdGroupCriterion affected by this change.", + "readOnly": true, + "type": "string" + }, + "asset": { + "description": "Output only. The Asset affected by this change.", + "readOnly": true, + "type": "string" + }, + "assetGroup": { + "description": "Output only. The AssetGroup affected by this change.", + "readOnly": true, + "type": "string" + }, + "assetSet": { + "description": "Output only. The AssetSet affected by this change.", + "readOnly": true, + "type": "string" + }, + "campaign": { + "description": "Output only. The Campaign affected by this change.", + "readOnly": true, + "type": "string" + }, + "campaignAsset": { + "description": "Output only. The CampaignAsset affected by this change.", + "readOnly": true, + "type": "string" + }, + "campaignAssetSet": { + "description": "Output only. The CampaignAssetSet affected by this change.", + "readOnly": true, + "type": "string" + }, + "campaignBudget": { + "description": "Output only. The CampaignBudget affected by this change.", + "readOnly": true, + "type": "string" + }, + "campaignCriterion": { + "description": "Output only. The CampaignCriterion affected by this change.", + "readOnly": true, + "type": "string" + }, + "campaignSharedSet": { + "description": "Output only. The CampaignSharedSet affected by this change.", + "readOnly": true, + "type": "string" + }, + "combinedAudience": { + "description": "Output only. The CombinedAudience affected by this change.", + "readOnly": true, + "type": "string" + }, + "customerAsset": { + "description": "Output only. The CustomerAsset affected by this change.", + "readOnly": true, + "type": "string" + }, + "lastChangeDateTime": { + "description": "Output only. Time at which the most recent change has occurred on this resource.", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Output only. The resource name of the change status. Change status resource names have the form: `customers/{customer_id}/changeStatus/{change_status_id}`", + "readOnly": true, + "type": "string" + }, + "resourceStatus": { + "description": "Output only. Represents the status of the changed resource.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ADDED", + "CHANGED", + "REMOVED" + ], + "enumDescriptions": [ + "No value has been specified.", + "Used for return value only. Represents an unclassified resource unknown in this version.", + "The resource was created.", + "The resource was modified.", + "The resource was removed." + ], + "readOnly": true, + "type": "string" + }, + "resourceType": { + "description": "Output only. Represents the type of the changed resource. This dictates what fields will be set. For example, for AD_GROUP, campaign and ad_group fields will be set.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "AD_GROUP", + "AD_GROUP_AD", + "AD_GROUP_CRITERION", + "CAMPAIGN", + "CAMPAIGN_CRITERION", + "CAMPAIGN_BUDGET", + "FEED", + "FEED_ITEM", + "AD_GROUP_FEED", + "CAMPAIGN_FEED", + "AD_GROUP_BID_MODIFIER", + "SHARED_SET", + "CAMPAIGN_SHARED_SET", + "ASSET", + "CUSTOMER_ASSET", + "CAMPAIGN_ASSET", + "AD_GROUP_ASSET", + "COMBINED_AUDIENCE", + "ASSET_GROUP", + "ASSET_SET", + "CAMPAIGN_ASSET_SET" + ], + "enumDescriptions": [ + "No value has been specified.", + "Used for return value only. Represents an unclassified resource unknown in this version.", + "An AdGroup resource change.", + "An AdGroupAd resource change.", + "An AdGroupCriterion resource change.", + "A Campaign resource change.", + "A CampaignCriterion resource change.", + "A CampaignBudget resource change.", + "A Feed resource change.", + "A FeedItem resource change.", + "An AdGroupFeed resource change.", + "A CampaignFeed resource change.", + "An AdGroupBidModifier resource change.", + "A SharedSet resource change.", + "A CampaignSharedSet resource change.", + "An Asset resource change.", + "A CustomerAsset resource change.", + "A CampaignAsset resource change.", + "An AdGroupAsset resource change.", + "A CombinedAudience resource change.", + "An AssetGroup resource change.", + "An AssetSet resource change.", + "A CampaignAssetSet resource change." + ], + "readOnly": true, + "type": "string" + }, + "sharedSet": { + "description": "Output only. The SharedSet affected by this change.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__ClickView": { + "description": "A click view with metrics aggregated at each click level, including both valid and invalid clicks. For non-Search campaigns, metrics.clicks represents the number of valid and invalid interactions. Queries including ClickView must have a filter limiting the results to one day and can be requested for dates back to 90 days before the time of the request. GCLIDs are not available in this report for App Campaigns for Installs (ACi) and App Campaigns for Pre-registration (ACpre).", + "id": "GoogleAdsSearchads360V23Resources__ClickView", + "properties": { + "adGroupAd": { + "description": "Output only. The associated ad.", + "readOnly": true, + "type": "string" + }, + "areaOfInterest": { + "$ref": "GoogleAdsSearchads360V23Common__ClickLocation", + "description": "Output only. The location criteria matching the area of interest associated with the impression.", + "readOnly": true + }, + "campaignLocationTarget": { + "description": "Output only. The associated campaign location target, if one exists.", + "readOnly": true, + "type": "string" + }, + "gclid": { + "description": "Output only. The Google Click ID.", + "readOnly": true, + "type": "string" + }, + "keyword": { + "description": "Output only. The associated keyword, if one exists and the click corresponds to the SEARCH channel.", + "readOnly": true, + "type": "string" + }, + "keywordInfo": { + "$ref": "GoogleAdsSearchads360V23Common__KeywordInfo", + "description": "Output only. Basic information about the associated keyword, if it exists.", + "readOnly": true + }, + "locationOfPresence": { + "$ref": "GoogleAdsSearchads360V23Common__ClickLocation", + "description": "Output only. The location criteria matching the location of presence associated with the impression.", + "readOnly": true + }, + "pageNumber": { + "description": "Output only. Page number in search results where the ad was shown.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Output only. The resource name of the click view. Click view resource names have the form: `customers/{customer_id}/clickViews/{date (yyyy-MM-dd)}~{gclid}`", + "readOnly": true, + "type": "string" + }, + "userList": { + "description": "Output only. The associated user list, if one exists.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__CombinedAudience": { + "description": "Describe a resource for combined audiences which includes different audiences.", + "id": "GoogleAdsSearchads360V23Resources__CombinedAudience", + "properties": { + "description": { + "description": "Output only. Description of this combined audience.", + "readOnly": true, + "type": "string" + }, + "id": { + "description": "Output only. ID of the combined audience.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. Name of the combined audience. It should be unique across all combined audiences.", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Immutable. The resource name of the combined audience. Combined audience names have the form: `customers/{customer_id}/combinedAudience/{combined_audience_id}`", + "type": "string" + }, + "status": { + "description": "Output only. Status of this combined audience. Indicates whether the combined audience is enabled or removed.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ENABLED", + "REMOVED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Enabled status - combined audience is enabled and can be targeted.", + "Removed status - combined audience is removed and cannot be used for targeting." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__ContactDetails": { + "description": "Fields containing consumer contact details.", + "id": "GoogleAdsSearchads360V23Resources__ContactDetails", + "properties": { + "consumerName": { + "description": "Output only. Consumer name if consumer provided name from Message or Booking form on google.com", + "readOnly": true, + "type": "string" + }, + "email": { + "description": "Output only. Consumer email address.", + "readOnly": true, + "type": "string" + }, + "phoneNumber": { + "description": "Output only. Phone number of the consumer for the lead. This can be a real phone number or a tracking number. The phone number is returned in E164 format. See https://support.google.com/google-ads/answer/16355235?hl=en to learn more. Example: +16504519489.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__ContentCriterionView": { + "description": "A content criterion view.", + "id": "GoogleAdsSearchads360V23Resources__ContentCriterionView", + "properties": { + "resourceName": { + "description": "Output only. The resource name of the content criterion view. Content criterion view resource names have the form: `customers/{customer_id}/contentCriterionViews/{ad_group_id}~{criterion_id}`", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__Conversion": { + "description": "A conversion.", + "id": "GoogleAdsSearchads360V23Resources__Conversion", + "properties": { + "adId": { + "description": "Output only. Ad ID. A value of 0 indicates that the ad is unattributed.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "advertiserConversionId": { + "description": "Output only. For offline conversions, this is an ID provided by advertisers. If an advertiser doesn't specify such an ID, Search Ads 360 generates one. For online conversions, this is equal to the id column or the floodlight_order_id column depending on the advertiser's Floodlight instructions.", + "readOnly": true, + "type": "string" + }, + "assetFieldType": { + "description": "Output only. Asset field type of the conversion event.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "HEADLINE", + "DESCRIPTION", + "MANDATORY_AD_TEXT", + "MARKETING_IMAGE", + "MEDIA_BUNDLE", + "YOUTUBE_VIDEO", + "BOOK_ON_GOOGLE", + "LEAD_FORM", + "PROMOTION", + "CALLOUT", + "STRUCTURED_SNIPPET", + "SITELINK", + "MOBILE_APP", + "HOTEL_CALLOUT", + "CALL", + "PRICE", + "LONG_HEADLINE", + "BUSINESS_NAME", + "SQUARE_MARKETING_IMAGE", + "PORTRAIT_MARKETING_IMAGE", + "LOGO", + "LANDSCAPE_LOGO", + "VIDEO", + "CALL_TO_ACTION_SELECTION", + "AD_IMAGE", + "BUSINESS_LOGO", + "HOTEL_PROPERTY", + "DEMAND_GEN_CAROUSEL_CARD", + "BUSINESS_MESSAGE", + "TALL_PORTRAIT_MARKETING_IMAGE", + "LANDING_PAGE_PREVIEW", + "LONG_DESCRIPTION", + "CALL_TO_ACTION" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The asset is linked for use as a headline.", + "The asset is linked for use as a description.", + "The asset is linked for use as mandatory ad text.", + "The asset is linked for use as a marketing image.", + "The asset is linked for use as a media bundle.", + "The asset is linked for use as a YouTube video.", + "The asset is linked to indicate that a hotels campaign is \"Book on Google\" enabled.", + "The asset is linked for use as a Lead Form extension.", + "The asset is linked for use as a Promotion extension.", + "The asset is linked for use as a Callout extension.", + "The asset is linked for use as a Structured Snippet extension.", + "The asset is linked for use as a Sitelink.", + "The asset is linked for use as a Mobile App extension.", + "The asset is linked for use as a Hotel Callout extension.", + "The asset is linked for use as a Call extension.", + "The asset is linked for use as a Price extension.", + "The asset is linked for use as a long headline.", + "The asset is linked for use as a business name.", + "The asset is linked for use as a square marketing image.", + "The asset is linked for use as a portrait marketing image.", + "The asset is linked for use as a logo.", + "The asset is linked for use as a landscape logo.", + "The asset is linked for use as a non YouTube logo.", + "The asset is linked for use to select a call-to-action.", + "The asset is linked for use to select an ad image.", + "The asset is linked for use as a business logo.", + "The asset is linked for use as a hotel property in a Performance Max for travel goals campaign.", + "The asset is linked for use as a Demand Gen carousel card.", + "The asset is linked for use as a Business Message.", + "The asset is linked for use as a tall portrait marketing image.", + "The asset is linked for use as a landing page preview image.", + "The asset is linked for use as a long description.", + "The asset is linked for use as a call-to-action." + ], + "readOnly": true, + "type": "string" + }, + "assetId": { + "description": "Output only. ID of the asset which was interacted with during the conversion event.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "attributionType": { + "description": "Output only. What the conversion is attributed to: Visit or Keyword+Ad.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "VISIT", + "CRITERION_AD" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The conversion is attributed to a visit.", + "The conversion is attributed to a criterion and ad pair." + ], + "readOnly": true, + "type": "string" + }, + "clickId": { + "description": "Output only. A unique string, for the visit that the conversion is attributed to, that is passed to the landing page as the click id URL parameter.", + "readOnly": true, + "type": "string" + }, + "conversionDateTime": { + "description": "Output only. The timestamp of the conversion event.", + "readOnly": true, + "type": "string" + }, + "conversionLastModifiedDateTime": { + "description": "Output only. The timestamp of the last time the conversion was modified.", + "readOnly": true, + "type": "string" + }, + "conversionQuantity": { + "description": "Output only. The quantity of items recorded by the conversion, as determined by the qty url parameter. The advertiser is responsible for dynamically populating the parameter (such as number of items sold in the conversion), otherwise it defaults to 1.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "conversionRevenueMicros": { + "description": "Output only. The adjusted revenue in micros for the conversion event. This will always be in the currency of the serving account.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "conversionVisitDateTime": { + "description": "Output only. The timestamp of the visit that the conversion is attributed to.", + "readOnly": true, + "type": "string" + }, + "criterionId": { + "description": "Output only. Search Ads 360 criterion ID. A value of 0 indicates that the criterion is unattributed.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "floodlightOrderId": { + "description": "Output only. The Floodlight order ID provided by the advertiser for the conversion.", + "readOnly": true, + "type": "string" + }, + "floodlightOriginalRevenue": { + "description": "Output only. The original, unchanged revenue associated with the Floodlight event (in the currency of the current report), before Floodlight currency instruction modifications.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "id": { + "description": "Output only. The ID of the conversion", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "merchantId": { + "description": "Output only. The Search Ads 360 inventory account ID containing the product that was clicked on. Search Ads 360 generates this ID when you link an inventory account in Search Ads 360.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "productChannel": { + "description": "Output only. The sales channel of the product that was clicked on: Online or Local.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ONLINE", + "LOCAL" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The item is sold online.", + "The item is sold in local stores." + ], + "readOnly": true, + "type": "string" + }, + "productCountryCode": { + "description": "Output only. The country (ISO-3166-format) registered for the inventory feed that contains the product clicked on.", + "readOnly": true, + "type": "string" + }, + "productId": { + "description": "Output only. The ID of the product clicked on.", + "readOnly": true, + "type": "string" + }, + "productLanguageCode": { + "description": "Output only. The language (ISO-639-1) that has been set for the Merchant Center feed containing data about the product.", + "readOnly": true, + "type": "string" + }, + "productStoreId": { + "description": "Output only. The store in the Local Inventory Ad that was clicked on. This should match the store IDs used in your local products feed.", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Output only. The resource name of the conversion. Conversion resource names have the form: `customers/{customer_id}/conversions/{ad_group_id}~{criterion_id}~{ds_conversion_id}`", + "readOnly": true, + "type": "string" + }, + "status": { + "description": "Output only. The status of the conversion, either ENABLED or REMOVED..", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ENABLED", + "REMOVED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The conversion is enabled.", + "The conversion has been removed." + ], + "readOnly": true, + "type": "string" + }, + "visitId": { + "description": "Output only. The Search Ads 360 visit ID that the conversion is attributed to.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__ConversionAction": { + "description": "A conversion action.", + "id": "GoogleAdsSearchads360V23Resources__ConversionAction", + "properties": { + "appId": { + "description": "App ID for an app conversion action.", + "type": "string" + }, + "attributionModelSettings": { + "$ref": "GoogleAdsSearchads360V23Resources_ConversionAction_AttributionModelSettings", + "description": "Settings related to this conversion action's attribution model." + }, + "category": { + "description": "The category of conversions reported for this conversion action.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "DEFAULT", + "PAGE_VIEW", + "PURCHASE", + "SIGNUP", + "DOWNLOAD", + "ADD_TO_CART", + "BEGIN_CHECKOUT", + "SUBSCRIBE_PAID", + "PHONE_CALL_LEAD", + "IMPORTED_LEAD", + "SUBMIT_LEAD_FORM", + "BOOK_APPOINTMENT", + "REQUEST_QUOTE", + "GET_DIRECTIONS", + "OUTBOUND_CLICK", + "CONTACT", + "ENGAGEMENT", + "STORE_VISIT", + "STORE_SALE", + "QUALIFIED_LEAD", + "CONVERTED_LEAD" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Default category.", + "User visiting a page.", + "Purchase, sales, or \"order placed\" event.", + "Signup user action.", + "Software download action (as for an app).", + "The addition of items to a shopping cart or bag on an advertiser site.", + "When someone enters the checkout flow on an advertiser site.", + "The start of a paid subscription for a product or service.", + "A call to indicate interest in an advertiser's offering.", + "A lead conversion imported from an external source into Google Ads.", + "A submission of a form on an advertiser site indicating business interest.", + "A booking of an appointment with an advertiser's business.", + "A quote or price estimate request.", + "A search for an advertiser's business location with intention to visit.", + "A click to an advertiser's partner's site.", + "A call, SMS, email, chat or other type of contact to an advertiser.", + "A website engagement event such as long site time or a Google Analytics (GA) Smart Goal. Intended to be used for GA, Firebase, GA Gold goal imports.", + "A visit to a physical store location.", + "A sale occurring in a physical store.", + "A lead conversion imported from an external source into Google Ads, that has been further qualified by the advertiser (marketing/sales team). In the lead-to-sale journey, advertisers get leads, then act on them by reaching out to the consumer. If the consumer is interested and may end up buying their product, the advertiser marks such leads as \"qualified leads\".", + "A lead conversion imported from an external source into Google Ads, that has further completed a chosen stage as defined by the lead gen advertiser." + ], + "type": "string" + }, + "clickThroughLookbackWindowDays": { + "description": "The maximum number of days that may elapse between an interaction (for example, a click) and a conversion event.", + "format": "int64", + "type": "string" + }, + "countingType": { + "description": "How to count conversion events for the conversion action.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ONE_PER_CLICK", + "MANY_PER_CLICK" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Count only one conversion per click.", + "Count all conversions per click." + ], + "type": "string" + }, + "creationTime": { + "description": "Output only. Timestamp of the Floodlight activity's creation, formatted in ISO 8601.", + "readOnly": true, + "type": "string" + }, + "firebaseSettings": { + "$ref": "GoogleAdsSearchads360V23Resources_ConversionAction_FirebaseSettings", + "description": "Output only. Firebase settings for Firebase conversion types.", + "readOnly": true + }, + "floodlightSettings": { + "$ref": "GoogleAdsSearchads360V23Resources_ConversionAction_FloodlightSettings", + "description": "Output only. Floodlight settings for Floodlight conversion types.", + "readOnly": true + }, + "googleAnalytics4Settings": { + "$ref": "GoogleAdsSearchads360V23Resources_ConversionAction_GoogleAnalytics4Settings", + "description": "Output only. Google Analytics 4 settings for Google Analytics 4 conversion types.", + "readOnly": true + }, + "id": { + "description": "Output only. The ID of the conversion action.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "includeInClientAccountConversionsMetric": { + "description": "Whether this conversion action should be included in the \"client_account_conversions\" metric.", + "type": "boolean" + }, + "includeInConversionsMetric": { + "description": "Output only. Whether this conversion action should be included in the \"conversions\" metric.", + "readOnly": true, + "type": "boolean" + }, + "mobileAppVendor": { + "description": "Output only. Mobile app vendor for an app conversion action.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "APPLE_APP_STORE", + "GOOGLE_APP_STORE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Mobile app vendor for Apple app store.", + "Mobile app vendor for Google app store." + ], + "readOnly": true, + "type": "string" + }, + "name": { + "description": "The name of the conversion action. This field is required and should not be empty when creating new conversion actions.", + "type": "string" + }, + "origin": { + "description": "Output only. The conversion origin of this conversion action.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "WEBSITE", + "GOOGLE_HOSTED", + "APP", + "CALL_FROM_ADS", + "STORE", + "YOUTUBE_HOSTED", + "FLOODLIGHT" + ], + "enumDescriptions": [ + "The conversion origin has not been specified.", + "The conversion origin is not known in this version.", + "Conversion that occurs when a user visits a website or takes an action there after viewing an ad.", + "Conversions reported by an offline pipeline which collects local actions from Google-hosted pages (for example, Google Maps, Google Place Page, etc) and attributes them to relevant ad events.", + "Conversion that occurs when a user performs an action through any app platforms.", + "Conversion that occurs when a user makes a call from ads.", + "Conversion that occurs when a user visits or makes a purchase at a physical store.", + "Conversion that occurs on YouTube.", + "Conversions that occur through Floodlight tag." + ], + "readOnly": true, + "type": "string" + }, + "ownerCustomer": { + "description": "Output only. The resource name of the conversion action owner customer, or null if this is a system-defined conversion action.", + "readOnly": true, + "type": "string" + }, + "phoneCallDurationSeconds": { + "description": "The phone call duration in seconds after which a conversion should be reported for this conversion action. The value must be between 0 and 10000, inclusive.", + "format": "int64", + "type": "string" + }, + "primaryForGoal": { + "description": "If a conversion action's primary_for_goal bit is false, the conversion action is non-biddable for all campaigns regardless of their customer conversion goal or campaign conversion goal. However, custom conversion goals do not respect primary_for_goal, so if a campaign has a custom conversion goal configured with a primary_for_goal = false conversion action, that conversion action is still biddable. By default, primary_for_goal will be true if not set. In V9, primary_for_goal can only be set to false after creation through an 'update' operation because it's not declared as optional.", + "type": "boolean" + }, + "resourceName": { + "description": "Immutable. The resource name of the conversion action. Conversion action resource names have the form: `customers/{customer_id}/conversionActions/{conversion_action_id}`", + "type": "string" + }, + "status": { + "description": "The status of this conversion action for conversion event accrual.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ENABLED", + "REMOVED", + "HIDDEN" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Conversions will be recorded.", + "Conversions will not be recorded.", + "Conversions will not be recorded and the conversion action will not appear in the UI." + ], + "type": "string" + }, + "tagSnippets": { + "description": "Output only. The snippets used for tracking conversions.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__TagSnippet" + }, + "readOnly": true, + "type": "array" + }, + "thirdPartyAppAnalyticsSettings": { + "$ref": "GoogleAdsSearchads360V23Resources_ConversionAction_ThirdPartyAppAnalyticsSettings", + "description": "Output only. Third Party App Analytics settings for third party conversion types.", + "readOnly": true + }, + "type": { + "description": "Immutable. The type of this conversion action.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "AD_CALL", + "CLICK_TO_CALL", + "GOOGLE_PLAY_DOWNLOAD", + "GOOGLE_PLAY_IN_APP_PURCHASE", + "UPLOAD_CALLS", + "UPLOAD_CLICKS", + "WEBPAGE", + "WEBSITE_CALL", + "STORE_SALES_DIRECT_UPLOAD", + "STORE_SALES", + "FIREBASE_ANDROID_FIRST_OPEN", + "FIREBASE_ANDROID_IN_APP_PURCHASE", + "FIREBASE_ANDROID_CUSTOM", + "FIREBASE_IOS_FIRST_OPEN", + "FIREBASE_IOS_IN_APP_PURCHASE", + "FIREBASE_IOS_CUSTOM", + "THIRD_PARTY_APP_ANALYTICS_ANDROID_FIRST_OPEN", + "THIRD_PARTY_APP_ANALYTICS_ANDROID_IN_APP_PURCHASE", + "THIRD_PARTY_APP_ANALYTICS_ANDROID_CUSTOM", + "THIRD_PARTY_APP_ANALYTICS_IOS_FIRST_OPEN", + "THIRD_PARTY_APP_ANALYTICS_IOS_IN_APP_PURCHASE", + "THIRD_PARTY_APP_ANALYTICS_IOS_CUSTOM", + "ANDROID_APP_PRE_REGISTRATION", + "ANDROID_INSTALLS_ALL_OTHER_APPS", + "FLOODLIGHT_ACTION", + "FLOODLIGHT_TRANSACTION", + "GOOGLE_HOSTED", + "LEAD_FORM_SUBMIT", + "SALESFORCE", + "SEARCH_ADS_360", + "SMART_CAMPAIGN_AD_CLICKS_TO_CALL", + "SMART_CAMPAIGN_MAP_CLICKS_TO_CALL", + "SMART_CAMPAIGN_MAP_DIRECTIONS", + "SMART_CAMPAIGN_TRACKED_CALLS", + "STORE_VISITS", + "WEBPAGE_CODELESS", + "UNIVERSAL_ANALYTICS_GOAL", + "UNIVERSAL_ANALYTICS_TRANSACTION", + "GOOGLE_ANALYTICS_4_CUSTOM", + "GOOGLE_ANALYTICS_4_PURCHASE" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Conversions that occur when a user clicks on an ad's call extension.", + "Conversions that occur when a user on a mobile device clicks a phone number.", + "Conversions that occur when a user downloads a mobile app from the Google Play Store.", + "Conversions that occur when a user makes a purchase in an app through Android billing.", + "Call conversions that are tracked by the advertiser and uploaded.", + "Conversions that are tracked by the advertiser and uploaded with attributed clicks.", + "Conversions that occur on a webpage.", + "Conversions that occur when a user calls a dynamically-generated phone number from an advertiser's website.", + "Store Sales conversion based on first-party or third-party merchant data uploads. Only customers on the allowlist can use store sales direct upload types.", + "Store Sales conversion based on first-party or third-party merchant data uploads and/or from in-store purchases using cards from payment networks. Only customers on the allowlist can use store sales types. Read only.", + "Android app first open conversions tracked through Firebase.", + "Android app in app purchase conversions tracked through Firebase.", + "Android app custom conversions tracked through Firebase.", + "iOS app first open conversions tracked through Firebase.", + "iOS app in app purchase conversions tracked through Firebase.", + "iOS app custom conversions tracked through Firebase.", + "Android app first open conversions tracked through Third Party App Analytics.", + "Android app in app purchase conversions tracked through Third Party App Analytics.", + "Android app custom conversions tracked through Third Party App Analytics.", + "iOS app first open conversions tracked through Third Party App Analytics.", + "iOS app in app purchase conversions tracked through Third Party App Analytics.", + "iOS app custom conversions tracked through Third Party App Analytics.", + "Conversions that occur when a user pre-registers a mobile app from the Google Play Store. Read only.", + "Conversions that track all Google Play downloads which aren't tracked by an app-specific type. Read only.", + "Floodlight activity that counts the number of times that users have visited a particular webpage after seeing or clicking on one of an advertiser's ads. Read only.", + "Floodlight activity that tracks the number of sales made or the number of items purchased. Can also capture the total value of each sale. Read only.", + "Conversions that track local actions from Google's products and services after interacting with an ad. Read only.", + "Conversions reported when a user submits a lead form. Read only.", + "Deprecated: The Salesforce integration will be going away and replaced with an improved way to import your conversions from Salesforce. - see https://support.google.com/google-ads/answer/14728349", + "Conversions imported from Search Ads 360 Floodlight data. Read only.", + "Call conversions that occur on Smart campaign Ads without call tracking setup, using Smart campaign custom criteria. Read only.", + "The user clicks on a call element within Google Maps. Smart campaign only. Read only.", + "The user requests directions to a business location within Google Maps. Smart campaign only. Read only.", + "Call conversions that occur on Smart campaign Ads with call tracking setup, using Smart campaign custom criteria. Read only.", + "Conversions that occur when a user visits an advertiser's retail store. Read only.", + "Conversions created from website events (such as form submissions or page loads), that don't use individually coded event snippets. Read only.", + "Conversions that come from linked Universal Analytics goals.", + "Conversions that come from linked Universal Analytics transactions.", + "Conversions that come from linked Google Analytics 4 custom event conversions.", + "Conversions that come from linked Google Analytics 4 purchase conversions." + ], + "type": "string" + }, + "valueSettings": { + "$ref": "GoogleAdsSearchads360V23Resources_ConversionAction_ValueSettings", + "description": "Settings related to the value for conversion events associated with this conversion action." + }, + "viewThroughLookbackWindowDays": { + "description": "The maximum number of days which may elapse between an impression and a conversion without an interaction.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__ConversionCustomVariable": { + "description": "A conversion custom variable. See \"About custom Floodlight metrics and dimensions in the new Search Ads 360\" at https://support.google.com/sa360/answer/13567857", + "id": "GoogleAdsSearchads360V23Resources__ConversionCustomVariable", + "properties": { + "cardinality": { + "description": "Output only. Cardinality of the conversion custom variable.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "BELOW_ALL_LIMITS", + "EXCEEDS_SEGMENTATION_LIMIT_BUT_NOT_STATS_LIMIT", + "APPROACHES_STATS_LIMIT", + "EXCEEDS_STATS_LIMIT" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The conversion custom variable has cardinality below all limits. The variable can be used for segmentation, and stats can accrue for new values if the variable is enabled.", + "The conversion custom variable has cardinality that exceeds the segmentation limit, but does not exceed the stats limit. Segmentation will be disabled, but stats can accrue for new values if the variable is enabled.", + "The conversion custom variable has exceeded the segmentation limits, and is approaching the stats limits (> 90%). Segmentation will be disabled, but stats can accrue for new values if the variable is enabled.", + "The conversion custom variable has exceeded both the segmentation limits and stats limits. Segmentation will be disabled, and stats for enabled variables can accrue only if the existing values do not increase the cardinality of the variable any further." + ], + "readOnly": true, + "type": "string" + }, + "customColumnIds": { + "description": "Output only. The IDs of custom columns that use this conversion custom variable.", + "items": { + "format": "int64", + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "family": { + "description": "Output only. Family of the conversion custom variable.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "STANDARD", + "FLOODLIGHT" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The standard conversion custom variable. Customers are required to activate before use.", + "The conversion custom variable imported from a custom floodlight variable." + ], + "readOnly": true, + "type": "string" + }, + "floodlightConversionCustomVariableInfo": { + "$ref": "GoogleAdsSearchads360V23Resources_ConversionCustomVariable_FloodlightConversionCustomVariableInfo", + "description": "Output only. Fields for Search Ads 360 floodlight conversion custom variables.", + "readOnly": true + }, + "id": { + "description": "Output only. The ID of the conversion custom variable.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Required. The name of the conversion custom variable. Name should be unique. The maximum length of name is 100 characters. There should not be any extra spaces before and after.", + "type": "string" + }, + "ownerCustomer": { + "description": "Output only. The resource name of the customer that owns the conversion custom variable.", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Immutable. The resource name of the conversion custom variable. Conversion custom variable resource names have the form: `customers/{customer_id}/conversionCustomVariables/{conversion_custom_variable_id}`", + "type": "string" + }, + "status": { + "description": "The status of the conversion custom variable for conversion event accrual.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ACTIVATION_NEEDED", + "ENABLED", + "PAUSED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The conversion custom variable is pending activation and will not accrue stats until set to ENABLED. This status can't be used in CREATE and UPDATE requests.", + "The conversion custom variable is enabled and will accrue stats.", + "The conversion custom variable is paused and will not accrue stats until set to ENABLED again." + ], + "type": "string" + }, + "tag": { + "description": "Required. Immutable. The tag of the conversion custom variable. Tag should be unique and consist of a \"u\" character directly followed with a number less than ormequal to 100. For example: \"u4\".", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__ConversionGoalCampaignConfig": { + "description": "Conversion goal settings for a Campaign.", + "id": "GoogleAdsSearchads360V23Resources__ConversionGoalCampaignConfig", + "properties": { + "campaign": { + "description": "Immutable. The campaign with which this conversion goal campaign config is associated.", + "type": "string" + }, + "customConversionGoal": { + "description": "The custom conversion goal the campaign is using for optimization.", + "type": "string" + }, + "goalConfigLevel": { + "description": "The level of goal config the campaign is using.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CUSTOMER", + "CAMPAIGN" + ], + "enumDescriptions": [ + "The goal config level has not been specified.", + "The goal config level is not known in this version.", + "The goal config is defined at the customer level.", + "The goal config is defined at the campaign level." + ], + "type": "string" + }, + "resourceName": { + "description": "Immutable. The resource name of the conversion goal campaign config. Conversion goal campaign config resource names have the form: `customers/{customer_id}/conversionGoalCampaignConfigs/{campaign_id}`", + "type": "string" + }, + "searchAds360CustomConversionGoal": { + "description": "The Search Ads 360 custom conversion goal the campaign is using for optimization.", + "type": "string" + }, + "searchAds360GoalConfigLevel": { + "description": "The level of Search Ads 360 goal config the campaign is using.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CUSTOMER", + "CAMPAIGN" + ], + "enumDescriptions": [ + "The goal config level has not been specified.", + "The goal config level is not known in this version.", + "The goal config is defined at the customer level.", + "The goal config is defined at the campaign level." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__ConversionTrackingSetting": { + "description": "A collection of customer-wide settings related to Search Ads 360 Conversion Tracking.", + "id": "GoogleAdsSearchads360V23Resources__ConversionTrackingSetting", + "properties": { + "acceptedCustomerDataTerms": { + "description": "Output only. Whether the customer has accepted customer data terms. If using cross-account conversion tracking, this value is inherited from the manager. This field is read-only. For more information, see https://support.google.com/adspolicy/answer/7475709.", + "readOnly": true, + "type": "boolean" + }, + "conversionTrackingId": { + "description": "Output only. The conversion tracking id used for this account. This id doesn't indicate whether the customer uses conversion tracking (conversion_tracking_status does). This field is read-only.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "conversionTrackingStatus": { + "description": "Output only. Conversion tracking status. It indicates whether the customer is using conversion tracking, and who is the conversion tracking owner of this customer. If this customer is using cross-account conversion tracking, the value returned will differ based on the `login-customer-id` of the request.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "NOT_CONVERSION_TRACKED", + "CONVERSION_TRACKING_MANAGED_BY_SELF", + "CONVERSION_TRACKING_MANAGED_BY_THIS_MANAGER", + "CONVERSION_TRACKING_MANAGED_BY_ANOTHER_MANAGER" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Customer does not use any conversion tracking.", + "The conversion actions are created and managed by this customer.", + "The conversion actions are created and managed by the manager specified in the request's `login-customer-id`.", + "The conversion actions are created and managed by a manager different from the customer or manager specified in the request's `login-customer-id`." + ], + "readOnly": true, + "type": "string" + }, + "crossAccountConversionTrackingId": { + "description": "Output only. The conversion tracking id of the customer's manager. This is set when the customer is opted into cross-account conversion tracking, and it overrides conversion_tracking_id.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "enhancedConversionsForLeadsEnabled": { + "description": "Output only. Whether the customer is opted-in for enhanced conversions for leads. If using cross-account conversion tracking, this value is inherited from the manager. This field is read-only.", + "readOnly": true, + "type": "boolean" + }, + "googleAdsConversionCustomer": { + "description": "The resource name of the customer where conversions are created and managed. This field is read-only.", + "type": "string" + }, + "googleAdsCrossAccountConversionTrackingId": { + "description": "Output only. The conversion tracking id of the customer's manager. This is set when the customer is opted into conversion tracking, and it overrides conversion_tracking_id. This field can only be managed through the Google Ads UI. This field is read-only.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__ConversionValueRule": { + "description": "A conversion value rule", + "id": "GoogleAdsSearchads360V23Resources__ConversionValueRule", + "properties": { + "action": { + "$ref": "GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleAction", + "description": "Action applied when the rule is triggered." + }, + "audienceCondition": { + "$ref": "GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleAudienceCondition", + "description": "Condition for audience that must be satisfied for the value rule to apply." + }, + "deviceCondition": { + "$ref": "GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleDeviceCondition", + "description": "Condition for device type that must be satisfied for the value rule to apply." + }, + "geoLocationCondition": { + "$ref": "GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleGeoLocationCondition", + "description": "Condition for Geo location that must be satisfied for the value rule to apply." + }, + "id": { + "description": "Output only. The ID of the conversion value rule.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "itineraryCondition": { + "$ref": "GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleItineraryCondition", + "description": "Condition for itinerary that must be satisfied for the value rule to apply." + }, + "ownerCustomer": { + "description": "Output only. The resource name of the conversion value rule's owner customer. When the value rule is inherited from a manager customer, owner_customer will be the resource name of the manager whereas the customer in the resource_name will be of the requesting serving customer. ** Read-only **", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Immutable. The resource name of the conversion value rule. Conversion value rule resource names have the form: `customers/{customer_id}/conversionValueRules/{conversion_value_rule_id}`", + "type": "string" + }, + "status": { + "description": "The status of the conversion value rule.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ENABLED", + "REMOVED", + "PAUSED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Conversion Value Rule is enabled and can be applied.", + "Conversion Value Rule is permanently deleted and can't be applied.", + "Conversion Value Rule is paused, but can be re-enabled." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__ConversionValueRuleSet": { + "description": "A conversion value rule set is a collection of conversion value rules that lets you adjust conversion values based on the dimensions specified in the `dimensions` field.", + "id": "GoogleAdsSearchads360V23Resources__ConversionValueRuleSet", + "properties": { + "attachmentType": { + "description": "Immutable. Defines the scope where the conversion value rule set is attached.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CUSTOMER", + "CAMPAIGN" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Attached to the customer.", + "Attached to a campaign." + ], + "type": "string" + }, + "campaign": { + "description": "The resource name of the campaign when the conversion value rule set is attached to a campaign.", + "type": "string" + }, + "conversionActionCategories": { + "description": "Immutable. The conversion action categories of the conversion value rule set.", + "items": { + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "DEFAULT", + "PAGE_VIEW", + "PURCHASE", + "SIGNUP", + "DOWNLOAD", + "ADD_TO_CART", + "BEGIN_CHECKOUT", + "SUBSCRIBE_PAID", + "PHONE_CALL_LEAD", + "IMPORTED_LEAD", + "SUBMIT_LEAD_FORM", + "BOOK_APPOINTMENT", + "REQUEST_QUOTE", + "GET_DIRECTIONS", + "OUTBOUND_CLICK", + "CONTACT", + "ENGAGEMENT", + "STORE_VISIT", + "STORE_SALE", + "QUALIFIED_LEAD", + "CONVERTED_LEAD" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Default category.", + "User visiting a page.", + "Purchase, sales, or \"order placed\" event.", + "Signup user action.", + "Software download action (as for an app).", + "The addition of items to a shopping cart or bag on an advertiser site.", + "When someone enters the checkout flow on an advertiser site.", + "The start of a paid subscription for a product or service.", + "A call to indicate interest in an advertiser's offering.", + "A lead conversion imported from an external source into Google Ads.", + "A submission of a form on an advertiser site indicating business interest.", + "A booking of an appointment with an advertiser's business.", + "A quote or price estimate request.", + "A search for an advertiser's business location with intention to visit.", + "A click to an advertiser's partner's site.", + "A call, SMS, email, chat or other type of contact to an advertiser.", + "A website engagement event such as long site time or a Google Analytics (GA) Smart Goal. Intended to be used for GA, Firebase, GA Gold goal imports.", + "A visit to a physical store location.", + "A sale occurring in a physical store.", + "A lead conversion imported from an external source into Google Ads, that has been further qualified by the advertiser (marketing/sales team). In the lead-to-sale journey, advertisers get leads, then act on them by reaching out to the consumer. If the consumer is interested and may end up buying their product, the advertiser marks such leads as \"qualified leads\".", + "A lead conversion imported from an external source into Google Ads, that has further completed a chosen stage as defined by the lead gen advertiser." + ], + "type": "string" + }, + "type": "array" + }, + "conversionValueRules": { + "description": "Resource names of rules within the rule set.", + "items": { + "type": "string" + }, + "type": "array" + }, + "dimensions": { + "description": "Defines dimensions for Value Rule conditions. The condition types of value rules within this value rule set must be of these dimensions. The first entry in this list is the primary dimension of the included value rules. When using value rule primary dimension segmentation, conversion values will be segmented into the values adjusted by value rules and the original values, if some value rules apply.", + "items": { + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "GEO_LOCATION", + "DEVICE", + "AUDIENCE", + "NO_CONDITION", + "ITINERARY" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Dimension for geo location.", + "Dimension for device type.", + "Dimension for audience.", + "This dimension implies the rule will always apply.", + "Dimension for itinerary." + ], + "type": "string" + }, + "type": "array" + }, + "id": { + "description": "Output only. The ID of the conversion value rule set.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "ownerCustomer": { + "description": "Output only. The resource name of the conversion value rule set's owner customer. When the value rule set is inherited from a manager customer, owner_customer will be the resource name of the manager whereas the customer in the resource_name will be of the requesting serving customer. ** Read-only **", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Immutable. The resource name of the conversion value rule set. Conversion value rule set resource names have the form: `customers/{customer_id}/conversionValueRuleSets/{conversion_value_rule_set_id}`", + "type": "string" + }, + "status": { + "description": "Output only. The status of the conversion value rule set. ** Read-only **", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ENABLED", + "REMOVED", + "PAUSED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Conversion Value Rule Set is enabled and can be applied.", + "Conversion Value Rule Set is permanently deleted and can't be applied.", + "Conversion Value Rule Set is paused and won't be applied. It can be enabled again." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__CreditDetails": { + "description": "Represents the credit details of a lead.", + "id": "GoogleAdsSearchads360V23Resources__CreditDetails", + "properties": { + "creditState": { + "description": "Output only. Credit state of the lead.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "PENDING", + "CREDITED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "A credit has been filed and is being processed by Ads backend, but has not been applied to the account yet.", + "The credit has been issued to the Ads account." + ], + "readOnly": true, + "type": "string" + }, + "creditStateLastUpdateDateTime": { + "description": "Output only. The date time when the credit state of the lead was last updated. The format is \"YYYY-MM-DD HH:MM:SS\" in the Google Ads account's timezone. Examples: \"2018-03-05 09:15:00\" or \"2018-02-01 14:34:30\"", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__CurrencyConstant": { + "description": "A currency constant.", + "id": "GoogleAdsSearchads360V23Resources__CurrencyConstant", + "properties": { + "billableUnitMicros": { + "description": "Output only. The billable unit for this currency. Billed amounts should be multiples of this value.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "code": { + "description": "Output only. ISO 4217 three-letter currency code, for example, \"USD\"", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. Full English name of the currency.", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Output only. The resource name of the currency constant. Currency constant resource names have the form: `currencyConstants/{code}`", + "readOnly": true, + "type": "string" + }, + "symbol": { + "description": "Output only. Standard symbol for describing this currency, for example, '$' for US Dollars.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__CustomAudience": { + "description": "A custom audience. This is a list of users by interest. The unique key of a custom audience consists of the following fields: name. Violating the unique key constraint produces error: CustomAudienceError.NAME_ALREADY_USED", + "id": "GoogleAdsSearchads360V23Resources__CustomAudience", + "properties": { + "description": { + "description": "Description of this custom audience.", + "type": "string" + }, + "id": { + "description": "Output only. ID of the custom audience.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "members": { + "description": "List of custom audience members that this custom audience is composed of. Members can be added during CustomAudience creation. If members are presented in UPDATE operation, existing members will be overridden.", + "items": { + "$ref": "GoogleAdsSearchads360V23Resources__CustomAudienceMember" + }, + "type": "array" + }, + "name": { + "description": "Name of the custom audience. It should be unique for all custom audiences created by a customer. This field is required for creating operations.", + "type": "string" + }, + "resourceName": { + "description": "Immutable. The resource name of the custom audience. Custom audience resource names have the form: `customers/{customer_id}/customAudiences/{custom_audience_id}`", + "type": "string" + }, + "status": { + "description": "Output only. Status of this custom audience. Indicates whether the custom audience is enabled or removed.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ENABLED", + "REMOVED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Enabled status - custom audience is enabled and can be targeted.", + "Removed status - custom audience is removed and cannot be used for targeting." + ], + "readOnly": true, + "type": "string" + }, + "type": { + "description": "Type of the custom audience. (\"INTEREST\" OR \"PURCHASE_INTENT\" is not allowed for newly created custom audience but kept for existing audiences)", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "AUTO", + "INTEREST", + "PURCHASE_INTENT", + "SEARCH" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Google Ads will auto-select the best interpretation at serving time.", + "Matches users by their interests.", + "Matches users by topics they are researching or products they are considering for purchase.", + "Matches users by what they searched on Google Search." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__CustomAudienceMember": { + "description": "A member of custom audience. A member can be a KEYWORD, URL, PLACE_CATEGORY or APP. It can only be created or removed but not changed.", + "id": "GoogleAdsSearchads360V23Resources__CustomAudienceMember", + "properties": { + "app": { + "description": "A package name of Android apps which users installed such as com.google.example.", + "type": "string" + }, + "keyword": { + "description": "A keyword or keyword phrase — at most 10 words and 80 characters. Languages with double-width characters such as Chinese, Japanese, or Korean, are allowed 40 characters, which describes the user's interests or actions.", + "type": "string" + }, + "memberType": { + "description": "The type of custom audience member, KEYWORD, URL, PLACE_CATEGORY or APP.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "KEYWORD", + "URL", + "PLACE_CATEGORY", + "APP" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Users whose interests or actions are described by a keyword.", + "Users who have interests related to the website's content.", + "Users who visit place types described by a place category.", + "Users who have installed a mobile app." + ], + "type": "string" + }, + "placeCategory": { + "description": "A place type described by a place category users visit.", + "format": "int64", + "type": "string" + }, + "url": { + "description": "An HTTP URL, protocol-included — at most 2048 characters, which includes contents users have interests in.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__CustomColumn": { + "description": "A custom column. See Search Ads 360 custom column at https://support.google.com/sa360/answer/9633916", + "id": "GoogleAdsSearchads360V23Resources__CustomColumn", + "properties": { + "description": { + "description": "Output only. User-defined description of the custom column.", + "readOnly": true, + "type": "string" + }, + "id": { + "description": "Output only. ID of the custom column.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. User-defined name of the custom column.", + "readOnly": true, + "type": "string" + }, + "queryable": { + "description": "Output only. True when the custom column is available to be used in the query of SearchAds360Service.Search and SearchAds360Service.SearchStream.", + "readOnly": true, + "type": "boolean" + }, + "referencedSystemColumns": { + "description": "Output only. The list of the referenced system columns of this custom column. For example, A custom column \"sum of impressions and clicks\" has referenced system columns of {\"metrics.clicks\", \"metrics.impressions\"}.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "referencesAttributes": { + "description": "Output only. True when the custom column is referring to one or more attributes.", + "readOnly": true, + "type": "boolean" + }, + "referencesMetrics": { + "description": "Output only. True when the custom column is referring to one or more metrics.", + "readOnly": true, + "type": "boolean" + }, + "renderType": { + "description": "Output only. How the result value of the custom column should be interpreted.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "NUMBER", + "PERCENT", + "MONEY", + "STRING", + "BOOLEAN", + "DATE" + ], + "enumDescriptions": [ + "Not specified.", + "Unknown.", + "The custom column is a raw numerical value. See value_type field to determine if it is an integer or a double.", + "The custom column should be multiplied by 100 to retrieve the percentage value.", + "The custom column value is a monetary value and is in micros.", + "The custom column value is a string.", + "The custom column value is a boolean.", + "The custom column value is a date represented as an integer in YYYYMMDD format." + ], + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Immutable. The resource name of the custom column. Custom column resource names have the form: `customers/{customer_id}/customColumns/{custom_column_id}`", + "type": "string" + }, + "valueType": { + "description": "Output only. The type of the result value of the custom column.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "STRING", + "INT64", + "DOUBLE", + "BOOLEAN", + "DATE" + ], + "enumDescriptions": [ + "Not specified.", + "Unknown.", + "The custom column value is a string.", + "The custom column value is an int64 number.", + "The custom column value is a double number.", + "The custom column value is a boolean.", + "The custom column value is a date, in YYYYMMDD format." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__CustomConversionGoal": { + "description": "Custom conversion goal that can make arbitrary conversion actions biddable.", + "id": "GoogleAdsSearchads360V23Resources__CustomConversionGoal", + "properties": { + "conversionActions": { + "description": "Conversion actions that the custom conversion goal makes biddable.", + "items": { + "type": "string" + }, + "type": "array" + }, + "id": { + "description": "Immutable. The ID for this custom conversion goal.", + "format": "int64", + "type": "string" + }, + "name": { + "description": "The name for this custom conversion goal.", + "type": "string" + }, + "resourceName": { + "description": "Immutable. The resource name of the custom conversion goal. Custom conversion goal resource names have the form: `customers/{customer_id}/customConversionGoals/{goal_id}`", + "type": "string" + }, + "status": { + "description": "The status of the custom conversion goal.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ENABLED", + "REMOVED" + ], + "enumDescriptions": [ + "The status has not been specified.", + "The received value is not known in this version.", + "The custom conversion goal is enabled.", + "The custom conversion goal is removed." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__CustomInterest": { + "description": "A custom interest. This is a list of users by interest.", + "id": "GoogleAdsSearchads360V23Resources__CustomInterest", + "properties": { + "description": { + "description": "Description of this custom interest audience.", + "type": "string" + }, + "id": { + "description": "Output only. Id of the custom interest.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "members": { + "description": "List of custom interest members that this custom interest is composed of. Members can be added during CustomInterest creation. If members are presented in UPDATE operation, existing members will be overridden.", + "items": { + "$ref": "GoogleAdsSearchads360V23Resources__CustomInterestMember" + }, + "type": "array" + }, + "name": { + "description": "Name of the custom interest. It should be unique across the same custom affinity audience. This field is required for create operations.", + "type": "string" + }, + "resourceName": { + "description": "Immutable. The resource name of the custom interest. Custom interest resource names have the form: `customers/{customer_id}/customInterests/{custom_interest_id}`", + "type": "string" + }, + "status": { + "description": "Status of this custom interest. Indicates whether the custom interest is enabled or removed.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ENABLED", + "REMOVED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Enabled status - custom interest is enabled and can be targeted to.", + "Removed status - custom interest is removed and cannot be used for targeting." + ], + "type": "string" + }, + "type": { + "description": "Type of the custom interest, CUSTOM_AFFINITY or CUSTOM_INTENT. By default the type is set to CUSTOM_AFFINITY.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CUSTOM_AFFINITY", + "CUSTOM_INTENT" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Allows brand advertisers to define custom affinity audience lists.", + "Allows advertisers to define custom intent audience lists." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__CustomInterestMember": { + "description": "A member of custom interest audience. A member can be a keyword or url. It is immutable, that is, it can only be created or removed but not changed.", + "id": "GoogleAdsSearchads360V23Resources__CustomInterestMember", + "properties": { + "memberType": { + "description": "The type of custom interest member, KEYWORD or URL.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "KEYWORD", + "URL" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Custom interest member type KEYWORD.", + "Custom interest member type URL." + ], + "type": "string" + }, + "parameter": { + "description": "Keyword text when member_type is KEYWORD or URL string when member_type is URL.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__CustomLeadFormSubmissionField": { + "description": "Fields in the submitted custom question", + "id": "GoogleAdsSearchads360V23Resources__CustomLeadFormSubmissionField", + "properties": { + "fieldValue": { + "description": "Output only. Field value for custom question response, maximum number of characters is 70.", + "readOnly": true, + "type": "string" + }, + "questionText": { + "description": "Output only. Question text for custom question, maximum number of characters is 300.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__Customer": { + "description": "A customer.", + "id": "GoogleAdsSearchads360V23Resources__Customer", + "properties": { + "accountLevel": { + "description": "Output only. The account level of the customer: Manager, Sub-manager, Associate manager, Service account.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CLIENT_ACCOUNT_FACEBOOK", + "CLIENT_ACCOUNT_GOOGLE_ADS", + "CLIENT_ACCOUNT_MICROSOFT", + "CLIENT_ACCOUNT_YAHOO_JAPAN", + "CLIENT_ACCOUNT_ENGINE_TRACK", + "MANAGER", + "SUB_MANAGER", + "ASSOCIATE_MANAGER" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Client account (Facebook)", + "Client account (Google Ads)", + "Client account (Microsoft)", + "Client account (Yahoo Japan)", + "Client account (Engine Track)", + "Top-level manager.", + "Sub manager.", + "Associate manager." + ], + "readOnly": true, + "type": "string" + }, + "accountStatus": { + "description": "Output only. Account status, for example, Enabled, Paused, Removed, etc.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ENABLED", + "PAUSED", + "SUSPENDED", + "REMOVED", + "DRAFT" + ], + "enumDescriptions": [ + "Default value.", + "Unknown value.", + "Account is able to serve ads.", + "Account is deactivated by the user.", + "Account is deactivated by an internal process.", + "Account is irrevocably deactivated.", + "Account is still in the process of setup, not ENABLED yet." + ], + "readOnly": true, + "type": "string" + }, + "accountType": { + "description": "Output only. Engine account type, for example, Google Ads, Microsoft Advertising, Yahoo Japan, Baidu, Facebook, Engine Track, etc.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "BAIDU", + "ENGINE_TRACK", + "FACEBOOK", + "FACEBOOK_GATEWAY", + "GOOGLE_ADS", + "MICROSOFT", + "SEARCH_ADS_360", + "YAHOO_JAPAN" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Baidu account.", + "Engine track account.", + "Facebook account.", + "Facebook account managed through gateway.", + "Google Ads account.", + "Microsoft Advertising account.", + "Search Ads 360 manager account.", + "Yahoo Japan account." + ], + "readOnly": true, + "type": "string" + }, + "associateManagerDescriptiveName": { + "description": "Output only. The descriptive name of the associate manager.", + "readOnly": true, + "type": "string" + }, + "associateManagerId": { + "description": "Output only. The customer ID of the associate manager. A 0 value indicates that the customer has no SA360 associate manager.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "autoTaggingEnabled": { + "description": "Whether auto-tagging is enabled for the customer.", + "type": "boolean" + }, + "callReportingSetting": { + "$ref": "GoogleAdsSearchads360V23Resources__CallReportingSetting", + "description": "Call reporting setting for a customer." + }, + "containsEuPoliticalAdvertising": { + "description": "Output only. Returns the advertiser self-declaration status of whether this customer contains political advertising content targeted towards the European Union. You can use the Google Ads UI to update this account-level declaration, or use the API to update the self-declaration status of individual campaigns.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CONTAINS_EU_POLITICAL_ADVERTISING", + "DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The campaign contains political advertising targeted towards the EU. The campaign will be restricted from serving ads in the EU.", + "The campaign does not contain political advertising targeted towards the EU. No additional serving restrictions will apply." + ], + "readOnly": true, + "type": "string" + }, + "conversionTrackingSetting": { + "$ref": "GoogleAdsSearchads360V23Resources__ConversionTrackingSetting", + "description": "Conversion tracking setting for a customer." + }, + "creationTime": { + "description": "Output only. The timestamp when this customer was created. The timestamp is in the customer's time zone and in \"yyyy-MM-dd HH:mm:ss\" format.", + "readOnly": true, + "type": "string" + }, + "currencyCode": { + "description": "Immutable. The currency in which the account operates. A subset of the currency codes from the ISO 4217 standard is supported.", + "type": "string" + }, + "customerAgreementSetting": { + "$ref": "GoogleAdsSearchads360V23Resources__CustomerAgreementSetting", + "description": "Output only. Customer Agreement Setting for a customer.", + "readOnly": true + }, + "descriptiveName": { + "description": "Optional, non-unique descriptive name of the customer.", + "type": "string" + }, + "doubleClickCampaignManagerSetting": { + "$ref": "GoogleAdsSearchads360V23Resources__DoubleClickCampaignManagerSetting", + "description": "Output only. DoubleClick Campaign Manager (DCM) setting for a manager customer.", + "readOnly": true + }, + "engineId": { + "description": "Output only. ID of the account in the external engine account.", + "readOnly": true, + "type": "string" + }, + "finalUrlSuffix": { + "description": "The URL template for appending params to the final URL.", + "type": "string" + }, + "hasPartnersBadge": { + "description": "Output only. Whether the Customer has a Partners program badge. If the Customer is not associated with the Partners program, this will be false. For more information, see https://support.google.com/partners/answer/3125774.", + "readOnly": true, + "type": "boolean" + }, + "id": { + "description": "Output only. The ID of the customer.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "imageAssetAutoMigrationDone": { + "description": "Output only. True if feed based image has been migrated to asset based image.", + "readOnly": true, + "type": "boolean" + }, + "imageAssetAutoMigrationDoneDateTime": { + "description": "Output only. Timestamp of migration from feed based image to asset base image in yyyy-MM-dd HH:mm:ss format.", + "readOnly": true, + "type": "string" + }, + "lastModifiedTime": { + "description": "Output only. The datetime when this customer was last modified. The datetime is in the customer's time zone and in \"yyyy-MM-dd HH:mm:ss.ssssss\" format.", + "readOnly": true, + "type": "string" + }, + "localServicesSettings": { + "$ref": "GoogleAdsSearchads360V23Resources__LocalServicesSettings", + "description": "Output only. Settings for Local Services customer.", + "readOnly": true + }, + "locationAssetAutoMigrationDone": { + "description": "Output only. True if feed based location has been migrated to asset based location.", + "readOnly": true, + "type": "boolean" + }, + "locationAssetAutoMigrationDoneDateTime": { + "description": "Output only. Timestamp of migration from feed based location to asset base location in yyyy-MM-dd HH:mm:ss format.", + "readOnly": true, + "type": "string" + }, + "manager": { + "description": "Output only. Whether the customer is a manager.", + "readOnly": true, + "type": "boolean" + }, + "managerDescriptiveName": { + "description": "Output only. The descriptive name of the manager.", + "readOnly": true, + "type": "string" + }, + "managerId": { + "description": "Output only. The customer ID of the manager. A 0 value indicates that the customer has no SA360 manager.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "optimizationScore": { + "description": "Output only. Optimization score of the customer. Optimization score is an estimate of how well a customer's campaigns are set to perform. It ranges from 0% (0.0) to 100% (1.0). This field is null for all manager customers, and for unscored non-manager customers. See \"About optimization score\" at https://support.google.com/google-ads/answer/9061546. This field is read-only.", + "format": "double", + "readOnly": true, + "type": "number" + }, + "optimizationScoreWeight": { + "description": "Output only. Optimization score weight of the customer. Optimization score weight can be used to compare/aggregate optimization scores across multiple non-manager customers. The aggregate optimization score of a manager is computed as the sum over all of their customers of `Customer.optimization_score * Customer.optimization_score_weight`. This field is 0 for all manager customers, and for unscored non-manager customers. This field is read-only.", + "format": "double", + "readOnly": true, + "type": "number" + }, + "payPerConversionEligibilityFailureReasons": { + "description": "Output only. Reasons why the customer is not eligible to use PaymentMode.CONVERSIONS. If the list is empty, the customer is eligible. This field is read-only.", + "items": { + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "NOT_ENOUGH_CONVERSIONS", + "CONVERSION_LAG_TOO_HIGH", + "HAS_CAMPAIGN_WITH_SHARED_BUDGET", + "HAS_UPLOAD_CLICKS_CONVERSION", + "AVERAGE_DAILY_SPEND_TOO_HIGH", + "ANALYSIS_NOT_COMPLETE", + "OTHER" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Customer does not have enough conversions.", + "Customer's conversion lag is too high.", + "Customer uses shared budgets.", + "Customer has conversions with ConversionActionType.UPLOAD_CLICKS.", + "Customer's average daily spend is too high.", + "Customer's eligibility has not yet been calculated by the Google Ads backend. Check back soon.", + "Customer is not eligible due to other reasons." + ], + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "remarketingSetting": { + "$ref": "GoogleAdsSearchads360V23Resources__RemarketingSetting", + "description": "Output only. Remarketing setting for a customer.", + "readOnly": true + }, + "resourceName": { + "description": "Immutable. The resource name of the customer. Customer resource names have the form: `customers/{customer_id}`", + "type": "string" + }, + "status": { + "description": "Output only. The status of the customer.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ENABLED", + "CANCELED", + "SUSPENDED", + "CLOSED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Indicates an active account able to serve ads.", + "Indicates a canceled account unable to serve ads. Can be reactivated by an admin user.", + "Indicates a suspended account unable to serve ads. May only be activated by Google support.", + "Indicates a closed account unable to serve ads. Test account will also have CLOSED status. Status is permanent and may not be reopened." + ], + "readOnly": true, + "type": "string" + }, + "subManagerDescriptiveName": { + "description": "Output only. The descriptive name of the sub manager.", + "readOnly": true, + "type": "string" + }, + "subManagerId": { + "description": "Output only. The customer ID of the sub manager. A 0 value indicates that the customer has no sub SA360 manager.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "testAccount": { + "description": "Output only. Whether the customer is a test account.", + "readOnly": true, + "type": "boolean" + }, + "timeZone": { + "description": "Immutable. The local timezone ID of the customer.", + "type": "string" + }, + "trackingUrlTemplate": { + "description": "The URL template for constructing a tracking URL out of parameters.", + "type": "string" + }, + "videoBrandSafetySuitability": { + "description": "Brand Safety setting at the account level. Allows for selecting an inventory type to show your ads on content that is the right fit for your brand. See https://support.google.com/google-ads/answer/7515513.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "EXPANDED_INVENTORY", + "STANDARD_INVENTORY", + "LIMITED_INVENTORY" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "This option lets you show ads across all inventory on YouTube and video partners that meet our standards for monetization. This option may be an appropriate choice for brands that want maximum access to the full breadth of videos eligible for ads, including, for example, videos that have strong profanity in the context of comedy or a documentary, or excessive violence as featured in video games.", + "This option lets you show ads across a wide range of content that's appropriate for most brands, such as popular music videos, documentaries, and movie trailers. The content you can show ads on is based on YouTube's advertiser-friendly content guidelines that take into account, for example, the strength or frequency of profanity, or the appropriateness of subject matter like sensitive events. Ads won't show, for example, on content with repeated strong profanity, strong sexual content, or graphic violence.", + "This option lets you show ads on a reduced range of content that's appropriate for brands with particularly strict guidelines around inappropriate language and sexual suggestiveness; above and beyond what YouTube's advertiser-friendly content guidelines address. The videos accessible in this sensitive category meet heightened requirements, especially for inappropriate language and sexual suggestiveness. For example, your ads will be excluded from showing on some of YouTube's most popular music videos and other pop culture content across YouTube and Google video partners." + ], + "type": "string" + }, + "videoCustomer": { + "$ref": "GoogleAdsSearchads360V23Resources__VideoCustomer", + "description": "Video specific information about a Customer." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__CustomerAcquisitionGoalSettings": { + "description": "The customer acquisition goal settings for the campaign.", + "id": "GoogleAdsSearchads360V23Resources__CustomerAcquisitionGoalSettings", + "properties": { + "optimizationMode": { + "description": "Output only. Customer acquisition optimization mode of this campaign.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "TARGET_ALL_EQUALLY", + "BID_HIGHER_FOR_NEW_CUSTOMER", + "TARGET_NEW_CUSTOMER" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The mode is used when campaign is optimizing equally for existing and new customers, which is the default value.", + "The mode is used when campaign is bidding higher for new customers than existing customer.", + "The mode is used when campaign is only optimizing for new customers." + ], + "readOnly": true, + "type": "string" + }, + "valueSettings": { + "$ref": "GoogleAdsSearchads360V23Common__LifecycleGoalValueSettings", + "description": "Output only. Campaign specific values for the customer acquisition goal.", + "readOnly": true + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__CustomerAgreementSetting": { + "description": "Customer Agreement Setting for a customer.", + "id": "GoogleAdsSearchads360V23Resources__CustomerAgreementSetting", + "properties": { + "acceptedLeadFormTerms": { + "description": "Output only. Whether the customer has accepted lead form term of service.", + "readOnly": true, + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__CustomerAsset": { + "description": "A link between a customer and an asset.", + "id": "GoogleAdsSearchads360V23Resources__CustomerAsset", + "properties": { + "asset": { + "description": "Required. Immutable. The asset which is linked to the customer.", + "type": "string" + }, + "fieldType": { + "description": "Required. Immutable. Role that the asset takes for the customer link.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "HEADLINE", + "DESCRIPTION", + "MANDATORY_AD_TEXT", + "MARKETING_IMAGE", + "MEDIA_BUNDLE", + "YOUTUBE_VIDEO", + "BOOK_ON_GOOGLE", + "LEAD_FORM", + "PROMOTION", + "CALLOUT", + "STRUCTURED_SNIPPET", + "SITELINK", + "MOBILE_APP", + "HOTEL_CALLOUT", + "CALL", + "PRICE", + "LONG_HEADLINE", + "BUSINESS_NAME", + "SQUARE_MARKETING_IMAGE", + "PORTRAIT_MARKETING_IMAGE", + "LOGO", + "LANDSCAPE_LOGO", + "VIDEO", + "CALL_TO_ACTION_SELECTION", + "AD_IMAGE", + "BUSINESS_LOGO", + "HOTEL_PROPERTY", + "DEMAND_GEN_CAROUSEL_CARD", + "BUSINESS_MESSAGE", + "TALL_PORTRAIT_MARKETING_IMAGE", + "LANDING_PAGE_PREVIEW", + "LONG_DESCRIPTION", + "CALL_TO_ACTION" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The asset is linked for use as a headline.", + "The asset is linked for use as a description.", + "The asset is linked for use as mandatory ad text.", + "The asset is linked for use as a marketing image.", + "The asset is linked for use as a media bundle.", + "The asset is linked for use as a YouTube video.", + "The asset is linked to indicate that a hotels campaign is \"Book on Google\" enabled.", + "The asset is linked for use as a Lead Form extension.", + "The asset is linked for use as a Promotion extension.", + "The asset is linked for use as a Callout extension.", + "The asset is linked for use as a Structured Snippet extension.", + "The asset is linked for use as a Sitelink.", + "The asset is linked for use as a Mobile App extension.", + "The asset is linked for use as a Hotel Callout extension.", + "The asset is linked for use as a Call extension.", + "The asset is linked for use as a Price extension.", + "The asset is linked for use as a long headline.", + "The asset is linked for use as a business name.", + "The asset is linked for use as a square marketing image.", + "The asset is linked for use as a portrait marketing image.", + "The asset is linked for use as a logo.", + "The asset is linked for use as a landscape logo.", + "The asset is linked for use as a non YouTube logo.", + "The asset is linked for use to select a call-to-action.", + "The asset is linked for use to select an ad image.", + "The asset is linked for use as a business logo.", + "The asset is linked for use as a hotel property in a Performance Max for travel goals campaign.", + "The asset is linked for use as a Demand Gen carousel card.", + "The asset is linked for use as a Business Message.", + "The asset is linked for use as a tall portrait marketing image.", + "The asset is linked for use as a landing page preview image.", + "The asset is linked for use as a long description.", + "The asset is linked for use as a call-to-action." + ], + "type": "string" + }, + "primaryStatus": { + "description": "Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain \"status\" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ELIGIBLE", + "PAUSED", + "REMOVED", + "PENDING", + "LIMITED", + "NOT_ELIGIBLE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The asset is eligible to serve.", + "The user-specified asset link status is paused.", + "The user-specified asset link status is removed.", + "The asset may serve in the future.", + "The asset is serving in a partial capacity.", + "The asset is not eligible to serve." + ], + "readOnly": true, + "type": "string" + }, + "primaryStatusDetails": { + "description": "Output only. Provides the details of the primary status and its associated reasons.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AssetLinkPrimaryStatusDetails" + }, + "readOnly": true, + "type": "array" + }, + "primaryStatusReasons": { + "description": "Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity.", + "items": { + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ASSET_LINK_PAUSED", + "ASSET_LINK_REMOVED", + "ASSET_DISAPPROVED", + "ASSET_UNDER_REVIEW", + "ASSET_APPROVED_LABELED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The asset is paused for its linked rollup level. Contributes to a PrimaryStatus of PAUSED.", + "The asset is removed for its linked rollup level. Contributes to a PrimaryStatus of REMOVED.", + "The asset has been marked as disapproved. Contributes to a PrimaryStatus of NOT_ELIGIBLE", + "The asset has not completed policy review. Contributes to a PrimaryStatus of PENDING.", + "The asset is approved with policies applied. Contributes to a PrimaryStatus of LIMITED." + ], + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "resourceName": { + "description": "Immutable. The resource name of the customer asset. CustomerAsset resource names have the form: `customers/{customer_id}/customerAssets/{asset_id}~{field_type}`", + "type": "string" + }, + "source": { + "description": "Output only. Source of the customer asset link.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ADVERTISER", + "AUTOMATICALLY_CREATED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The asset or asset link is provided by advertiser.", + "The asset or asset link is generated by Google." + ], + "readOnly": true, + "type": "string" + }, + "status": { + "description": "Status of the customer asset.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ENABLED", + "REMOVED", + "PAUSED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Asset link is enabled.", + "Asset link has been removed.", + "Asset link is paused." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__CustomerAssetSet": { + "description": "CustomerAssetSet is the linkage between a customer and an asset set. Adding a CustomerAssetSet links an asset set with a customer.", + "id": "GoogleAdsSearchads360V23Resources__CustomerAssetSet", + "properties": { + "assetSet": { + "description": "Immutable. The asset set which is linked to the customer.", + "type": "string" + }, + "customer": { + "description": "Immutable. The customer to which this asset set is linked.", + "type": "string" + }, + "resourceName": { + "description": "Immutable. The resource name of the customer asset set. Asset set asset resource names have the form: `customers/{customer_id}/customerAssetSets/{asset_set_id}`", + "type": "string" + }, + "status": { + "description": "Output only. The status of the customer asset set asset. Read-only.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ENABLED", + "REMOVED" + ], + "enumDescriptions": [ + "The status has not been specified.", + "The received value is not known in this version. This is a response-only value.", + "The linkage between asset set and its container is enabled.", + "The linkage between asset set and its container is removed." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__CustomerClient": { + "description": "A link between the given customer and a client customer. CustomerClients only exist for manager customers. All direct and indirect client customers are included, as well as the manager itself.", + "id": "GoogleAdsSearchads360V23Resources__CustomerClient", + "properties": { + "appliedLabels": { + "description": "Output only. The resource names of the labels owned by the requesting customer that are applied to the client customer. Label resource names have the form: `customers/{customer_id}/labels/{label_id}`", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "clientCustomer": { + "description": "Output only. The resource name of the client-customer which is linked to the given customer. Read only.", + "readOnly": true, + "type": "string" + }, + "currencyCode": { + "description": "Output only. Currency code (for example, 'USD', 'EUR') for the client. Read only.", + "readOnly": true, + "type": "string" + }, + "descriptiveName": { + "description": "Output only. Descriptive name for the client. Read only.", + "readOnly": true, + "type": "string" + }, + "hidden": { + "description": "Output only. Specifies whether this is a hidden account. Read only.", + "readOnly": true, + "type": "boolean" + }, + "id": { + "description": "Output only. The ID of the client customer. Read only.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "level": { + "description": "Output only. Distance between given customer and client. For self link, the level value will be 0. Read only.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "manager": { + "description": "Output only. Identifies if the client is a manager. Read only.", + "readOnly": true, + "type": "boolean" + }, + "resourceName": { + "description": "Output only. The resource name of the customer client. CustomerClient resource names have the form: `customers/{customer_id}/customerClients/{client_customer_id}`", + "readOnly": true, + "type": "string" + }, + "status": { + "description": "Output only. The status of the client customer. Read only.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ENABLED", + "CANCELED", + "SUSPENDED", + "CLOSED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Indicates an active account able to serve ads.", + "Indicates a canceled account unable to serve ads. Can be reactivated by an admin user.", + "Indicates a suspended account unable to serve ads. May only be activated by Google support.", + "Indicates a closed account unable to serve ads. Test account will also have CLOSED status. Status is permanent and may not be reopened." + ], + "readOnly": true, + "type": "string" + }, + "testAccount": { + "description": "Output only. Identifies if the client is a test account. Read only.", + "readOnly": true, + "type": "boolean" + }, + "timeZone": { + "description": "Output only. Common Locale Data Repository (CLDR) string representation of the time zone of the client, for example, America/Los_Angeles. Read only.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__CustomerClientLink": { + "description": "Represents customer client link relationship.", + "id": "GoogleAdsSearchads360V23Resources__CustomerClientLink", + "properties": { + "clientCustomer": { + "description": "Immutable. The client customer linked to this customer.", + "type": "string" + }, + "hidden": { + "description": "The visibility of the link. Users can choose whether or not to see hidden links in the Google Ads UI. Default value is false", + "type": "boolean" + }, + "managerLinkId": { + "description": "Output only. This is uniquely identifies a customer client link. Read only.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Immutable. Name of the resource. CustomerClientLink resource names have the form: `customers/{customer_id}/customerClientLinks/{client_customer_id}~{manager_link_id}`", + "type": "string" + }, + "status": { + "description": "This is the status of the link between client and manager.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ACTIVE", + "INACTIVE", + "PENDING", + "REFUSED", + "CANCELED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Indicates current in-effect relationship", + "Indicates terminated relationship", + "Indicates relationship has been requested by manager, but the client hasn't accepted yet.", + "Relationship was requested by the manager, but the client has refused.", + "Indicates relationship has been requested by manager, but manager canceled it." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__CustomerConversionGoal": { + "description": "Biddability control for conversion actions with a matching category and origin.", + "id": "GoogleAdsSearchads360V23Resources__CustomerConversionGoal", + "properties": { + "biddable": { + "description": "The biddability of the customer conversion goal.", + "type": "boolean" + }, + "category": { + "description": "The conversion category of this customer conversion goal. Only conversion actions that have this category will be included in this goal.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "DEFAULT", + "PAGE_VIEW", + "PURCHASE", + "SIGNUP", + "DOWNLOAD", + "ADD_TO_CART", + "BEGIN_CHECKOUT", + "SUBSCRIBE_PAID", + "PHONE_CALL_LEAD", + "IMPORTED_LEAD", + "SUBMIT_LEAD_FORM", + "BOOK_APPOINTMENT", + "REQUEST_QUOTE", + "GET_DIRECTIONS", + "OUTBOUND_CLICK", + "CONTACT", + "ENGAGEMENT", + "STORE_VISIT", + "STORE_SALE", + "QUALIFIED_LEAD", + "CONVERTED_LEAD" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Default category.", + "User visiting a page.", + "Purchase, sales, or \"order placed\" event.", + "Signup user action.", + "Software download action (as for an app).", + "The addition of items to a shopping cart or bag on an advertiser site.", + "When someone enters the checkout flow on an advertiser site.", + "The start of a paid subscription for a product or service.", + "A call to indicate interest in an advertiser's offering.", + "A lead conversion imported from an external source into Google Ads.", + "A submission of a form on an advertiser site indicating business interest.", + "A booking of an appointment with an advertiser's business.", + "A quote or price estimate request.", + "A search for an advertiser's business location with intention to visit.", + "A click to an advertiser's partner's site.", + "A call, SMS, email, chat or other type of contact to an advertiser.", + "A website engagement event such as long site time or a Google Analytics (GA) Smart Goal. Intended to be used for GA, Firebase, GA Gold goal imports.", + "A visit to a physical store location.", + "A sale occurring in a physical store.", + "A lead conversion imported from an external source into Google Ads, that has been further qualified by the advertiser (marketing/sales team). In the lead-to-sale journey, advertisers get leads, then act on them by reaching out to the consumer. If the consumer is interested and may end up buying their product, the advertiser marks such leads as \"qualified leads\".", + "A lead conversion imported from an external source into Google Ads, that has further completed a chosen stage as defined by the lead gen advertiser." + ], + "type": "string" + }, + "origin": { + "description": "The conversion origin of this customer conversion goal. Only conversion actions that have this conversion origin will be included in this goal.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "WEBSITE", + "GOOGLE_HOSTED", + "APP", + "CALL_FROM_ADS", + "STORE", + "YOUTUBE_HOSTED", + "FLOODLIGHT" + ], + "enumDescriptions": [ + "The conversion origin has not been specified.", + "The conversion origin is not known in this version.", + "Conversion that occurs when a user visits a website or takes an action there after viewing an ad.", + "Conversions reported by an offline pipeline which collects local actions from Google-hosted pages (for example, Google Maps, Google Place Page, etc) and attributes them to relevant ad events.", + "Conversion that occurs when a user performs an action through any app platforms.", + "Conversion that occurs when a user makes a call from ads.", + "Conversion that occurs when a user visits or makes a purchase at a physical store.", + "Conversion that occurs on YouTube.", + "Conversions that occur through Floodlight tag." + ], + "type": "string" + }, + "resourceName": { + "description": "Immutable. The resource name of the customer conversion goal. Customer conversion goal resource names have the form: `customers/{customer_id}/customerConversionGoals/{category}~{origin}`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__CustomerCustomizer": { + "description": "A customizer value for the associated CustomizerAttribute at the Customer level.", + "id": "GoogleAdsSearchads360V23Resources__CustomerCustomizer", + "properties": { + "customizerAttribute": { + "description": "Required. Immutable. The customizer attribute which is linked to the customer.", + "type": "string" + }, + "resourceName": { + "description": "Immutable. The resource name of the customer customizer. Customer customizer resource names have the form: `customers/{customer_id}/customerCustomizers/{customizer_attribute_id}`", + "type": "string" + }, + "status": { + "description": "Output only. The status of the customer customizer attribute.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ENABLED", + "REMOVED" + ], + "enumDescriptions": [ + "The status has not been specified.", + "The received value is not known in this version.", + "The customizer value is enabled.", + "The customizer value is removed." + ], + "readOnly": true, + "type": "string" + }, + "value": { + "$ref": "GoogleAdsSearchads360V23Common__CustomizerValue", + "description": "Required. The value to associate with the customizer attribute at this level. The value must be of the type specified for the CustomizerAttribute." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__CustomerLabel": { + "description": "Represents a relationship between a customer and a label. This customer may not have access to all the labels attached to it. Additional CustomerLabels may be returned by increasing permissions with login-customer-id.", + "id": "GoogleAdsSearchads360V23Resources__CustomerLabel", + "properties": { + "customer": { + "description": "Output only. The resource name of the customer to which the label is attached. Read only.", + "readOnly": true, + "type": "string" + }, + "label": { + "description": "Output only. The resource name of the label assigned to the customer. Note: the Customer ID portion of the label resource name is not validated when creating a new CustomerLabel.", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Immutable. Name of the resource. Customer label resource names have the form: `customers/{customer_id}/customerLabels/{label_id}`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__CustomerLifecycleGoal": { + "description": "Account level customer lifecycle goal settings.", + "id": "GoogleAdsSearchads360V23Resources__CustomerLifecycleGoal", + "properties": { + "customerAcquisitionGoalValueSettings": { + "$ref": "GoogleAdsSearchads360V23Common__LifecycleGoalValueSettings", + "description": "Output only. Customer acquisition goal customer level value settings.", + "readOnly": true + }, + "ownerCustomer": { + "description": "Output only. The resource name of the customer which owns the lifecycle goal.", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Immutable. The resource name of the customer lifecycle goal. Customer lifecycle resource names have the form: `customers/{customer_id}/customerLifecycleGoal`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__CustomerManagerLink": { + "description": "Represents customer-manager link relationship.", + "id": "GoogleAdsSearchads360V23Resources__CustomerManagerLink", + "properties": { + "managerCustomer": { + "description": "Output only. The manager customer linked to the customer.", + "readOnly": true, + "type": "string" + }, + "managerLinkId": { + "description": "Output only. ID of the customer-manager link. This field is read only.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Immutable. Name of the resource. CustomerManagerLink resource names have the form: `customers/{customer_id}/customerManagerLinks/{manager_customer_id}~{manager_link_id}`", + "type": "string" + }, + "startTime": { + "description": "Output only. The timestamp when the CustomerManagerLink was created. The timestamp is in the customer's time zone and in \"yyyy-MM-dd HH:mm:ss\" format.", + "readOnly": true, + "type": "string" + }, + "status": { + "description": "Status of the link between the customer and the manager.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ACTIVE", + "INACTIVE", + "PENDING", + "REFUSED", + "CANCELED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Indicates current in-effect relationship", + "Indicates terminated relationship", + "Indicates relationship has been requested by manager, but the client hasn't accepted yet.", + "Relationship was requested by the manager, but the client has refused.", + "Indicates relationship has been requested by manager, but manager canceled it." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__CustomerNegativeCriterion": { + "description": "A negative criterion for exclusions at the customer level.", + "id": "GoogleAdsSearchads360V23Resources__CustomerNegativeCriterion", + "properties": { + "contentLabel": { + "$ref": "GoogleAdsSearchads360V23Common__ContentLabelInfo", + "description": "Immutable. ContentLabel." + }, + "id": { + "description": "Output only. The ID of the criterion.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "ipBlock": { + "$ref": "GoogleAdsSearchads360V23Common__IpBlockInfo", + "description": "Immutable. IpBlock. You can exclude up to 500 IP addresses per account." + }, + "mobileAppCategory": { + "$ref": "GoogleAdsSearchads360V23Common__MobileAppCategoryInfo", + "description": "Immutable. MobileAppCategory." + }, + "mobileApplication": { + "$ref": "GoogleAdsSearchads360V23Common__MobileApplicationInfo", + "description": "Immutable. MobileApplication." + }, + "negativeKeywordList": { + "$ref": "GoogleAdsSearchads360V23Common__NegativeKeywordListInfo", + "description": "Immutable. NegativeKeywordList." + }, + "placement": { + "$ref": "GoogleAdsSearchads360V23Common__PlacementInfo", + "description": "Immutable. Placement." + }, + "placementList": { + "$ref": "GoogleAdsSearchads360V23Common__PlacementListInfo", + "description": "Immutable. PlacementList." + }, + "resourceName": { + "description": "Immutable. The resource name of the customer negative criterion. Customer negative criterion resource names have the form: `customers/{customer_id}/customerNegativeCriteria/{criterion_id}`", + "type": "string" + }, + "type": { + "description": "Output only. The type of the criterion.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "KEYWORD", + "PLACEMENT", + "MOBILE_APP_CATEGORY", + "MOBILE_APPLICATION", + "DEVICE", + "LOCATION", + "LISTING_GROUP", + "AD_SCHEDULE", + "AGE_RANGE", + "GENDER", + "INCOME_RANGE", + "PARENTAL_STATUS", + "YOUTUBE_VIDEO", + "YOUTUBE_CHANNEL", + "USER_LIST", + "PROXIMITY", + "TOPIC", + "LISTING_SCOPE", + "LANGUAGE", + "IP_BLOCK", + "CONTENT_LABEL", + "CARRIER", + "USER_INTEREST", + "WEBPAGE", + "OPERATING_SYSTEM_VERSION", + "APP_PAYMENT_MODEL", + "MOBILE_DEVICE", + "CUSTOM_AFFINITY", + "CUSTOM_INTENT", + "LOCATION_GROUP", + "CUSTOM_AUDIENCE", + "COMBINED_AUDIENCE", + "KEYWORD_THEME", + "AUDIENCE", + "NEGATIVE_KEYWORD_LIST", + "LOCAL_SERVICE_ID", + "SEARCH_THEME", + "BRAND", + "BRAND_LIST", + "LIFE_EVENT", + "WEBPAGE_LIST", + "VIDEO_LINEUP", + "PLACEMENT_LIST", + "VERTICAL_ADS_ITEM_GROUP_RULE_LIST", + "VERTICAL_ADS_ITEM_GROUP_RULE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Keyword, for example, 'mars cruise'.", + "Placement, also known as Website, for example, 'www.flowers4sale.com'", + "Mobile application categories to target.", + "Mobile applications to target.", + "Devices to target.", + "Locations to target.", + "Listing groups to target.", + "Ad Schedule.", + "Age range.", + "Gender.", + "Income Range.", + "Parental status.", + "YouTube Video.", + "YouTube Channel.", + "User list.", + "Proximity.", + "A topic target on the display network (for example, \"Pets & Animals\").", + "Listing scope to target.", + "Language.", + "IpBlock.", + "Content Label for category exclusion.", + "Carrier.", + "A category the user is interested in.", + "Webpage criterion for dynamic search ads.", + "Operating system version.", + "App payment model.", + "Mobile device.", + "Custom affinity.", + "Custom intent.", + "Location group.", + "Custom audience", + "Combined audience", + "Smart Campaign keyword theme", + "Audience", + "Negative Keyword List", + "Local Services Ads Service ID.", + "Search Theme.", + "Brand", + "Brand List", + "Life Event", + "Webpage List", + "Video lineup", + "Placement List", + "A list of rules for item groups in Vertical Ads.", + "A rule for an item group in Vertical Ads." + ], + "readOnly": true, + "type": "string" + }, + "youtubeChannel": { + "$ref": "GoogleAdsSearchads360V23Common__YouTubeChannelInfo", + "description": "Immutable. YouTube Channel." + }, + "youtubeVideo": { + "$ref": "GoogleAdsSearchads360V23Common__YouTubeVideoInfo", + "description": "Immutable. YouTube Video." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__CustomerSearchTermInsight": { + "description": "This report provides a high-level view of search demand at the customer level by grouping similar search terms into categories and showing their search volume. Historical data is available starting March 2023.", + "id": "GoogleAdsSearchads360V23Resources__CustomerSearchTermInsight", + "properties": { + "categoryLabel": { + "description": "Output only. The label for the search category. An empty string denotes the catch-all category for search terms that didn't fit into another category.", + "readOnly": true, + "type": "string" + }, + "id": { + "description": "Output only. The ID of the insight.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Output only. The resource name of the customer level search term insight. Customer level search term insight resource names have the form: `customers/{customer_id}/customerSearchTermInsights/{category_id}`", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__CustomerSkAdNetworkConversionValueSchema": { + "description": "A CustomerSkAdNetworkConversionValueSchema.", + "id": "GoogleAdsSearchads360V23Resources__CustomerSkAdNetworkConversionValueSchema", + "properties": { + "resourceName": { + "description": "Output only. The resource name of the schema. CustomerSkAdNetworkConversionValueSchema resource names have the form: customers/{customer_id}/customerSkAdNetworkConversionValueSchemas/{account_link_id}", + "readOnly": true, + "type": "string" + }, + "schema": { + "$ref": "GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchema_SkAdNetworkConversionValueSchema", + "description": "Output only. The schema for the specified resource.", + "readOnly": true + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__CustomerUserAccess": { + "description": "Represents the permission of a single user onto a single customer.", + "id": "GoogleAdsSearchads360V23Resources__CustomerUserAccess", + "properties": { + "accessCreationDateTime": { + "description": "Output only. The customer user access creation time. Read only field The format is \"YYYY-MM-DD HH:MM:SS\". Examples: \"2018-03-05 09:15:00\" or \"2018-02-01 14:34:30\"", + "readOnly": true, + "type": "string" + }, + "accessRole": { + "description": "Access role of the user.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ADMIN", + "STANDARD", + "READ_ONLY", + "EMAIL_ONLY" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Owns its account and can control the addition of other users.", + "Can modify , but can't affect other users.", + "Can view and account changes, but cannot make edits.", + "Role for \\\"email only\\\" access. Represents an email recipient rather than a true User entity." + ], + "type": "string" + }, + "emailAddress": { + "description": "Output only. Email address of the user. Read only field", + "readOnly": true, + "type": "string" + }, + "inviterUserEmailAddress": { + "description": "Output only. The email address of the inviter user. Read only field", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Immutable. Name of the resource. Resource names have the form: `customers/{customer_id}/customerUserAccesses/{user_id}`", + "type": "string" + }, + "userId": { + "description": "Output only. User id of the user with the customer access. Read only field", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__CustomerUserAccessInvitation": { + "description": "Represent an invitation to a new user on this customer account.", + "id": "GoogleAdsSearchads360V23Resources__CustomerUserAccessInvitation", + "properties": { + "accessRole": { + "description": "Immutable. Access role of the user.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ADMIN", + "STANDARD", + "READ_ONLY", + "EMAIL_ONLY" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Owns its account and can control the addition of other users.", + "Can modify , but can't affect other users.", + "Can view and account changes, but cannot make edits.", + "Role for \\\"email only\\\" access. Represents an email recipient rather than a true User entity." + ], + "type": "string" + }, + "creationDateTime": { + "description": "Output only. Time invitation was created. This field is read-only. The format is \"YYYY-MM-DD HH:MM:SS\". Examples: \"2018-03-05 09:15:00\" or \"2018-02-01 14:34:30\"", + "readOnly": true, + "type": "string" + }, + "emailAddress": { + "description": "Immutable. Email address the invitation was sent to. This can differ from the email address of the account that accepts the invite.", + "type": "string" + }, + "invitationId": { + "description": "Output only. The ID of the invitation. This field is read-only.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "invitationStatus": { + "description": "Output only. Invitation status of the user.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "PENDING", + "DECLINED", + "EXPIRED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The initial state of an invitation, before being acted upon by anyone.", + "Invitation process was terminated by the email recipient. No new user was created.", + "Invitation URLs expired without being acted upon. No new user can be created. Invitations expire 20 days after creation." + ], + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Immutable. Name of the resource. Resource names have the form: `customers/{customer_id}/customerUserAccessInvitations/{invitation_id}`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__CustomizerAttribute": { + "description": "A customizer attribute. Use CustomerCustomizer, CampaignCustomizer, AdGroupCustomizer, or AdGroupCriterionCustomizer to associate a customizer attribute and set its value at the customer, campaign, ad group, or ad group criterion level, respectively.", + "id": "GoogleAdsSearchads360V23Resources__CustomizerAttribute", + "properties": { + "id": { + "description": "Output only. The ID of the customizer attribute.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Required. Immutable. Name of the customizer attribute. Required. It must have a minimum length of 1 and maximum length of 40. Name of an enabled customizer attribute must be unique (case insensitive).", + "type": "string" + }, + "resourceName": { + "description": "Immutable. The resource name of the customizer attribute. Customizer Attribute resource names have the form: `customers/{customer_id}/customizerAttributes/{customizer_attribute_id}`", + "type": "string" + }, + "status": { + "description": "Output only. The status of the customizer attribute.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ENABLED", + "REMOVED" + ], + "enumDescriptions": [ + "The status has not been specified.", + "The received value is not known in this version.", + "The customizer attribute is enabled.", + "The customizer attribute is removed." + ], + "readOnly": true, + "type": "string" + }, + "type": { + "description": "Immutable. The type of the customizer attribute.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "TEXT", + "NUMBER", + "PRICE", + "PERCENT" + ], + "enumDescriptions": [ + "The status has not been specified.", + "The received value is not known in this version.", + "Text customizer.", + "Number customizer.", + "Price customizer consisting of a number and a currency.", + "Percentage customizer consisting of a number and a '%'." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__DataLink": { + "description": "Represents the data sharing connection between", + "id": "GoogleAdsSearchads360V23Resources__DataLink", + "properties": { + "dataLinkId": { + "description": "Output only. The ID of the data link. This field is read only.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "productLinkId": { + "description": "Output only. The ID of the link. This field is read only.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Immutable. Resource name of the product data link. DataLink resource names have the form: `", + "type": "string" + }, + "status": { + "description": "Output only. The status of the data link.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "REQUESTED", + "PENDING_APPROVAL", + "ENABLED", + "DISABLED", + "REVOKED", + "REJECTED" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "Link has been requested by one party, but not confirmed by the other party.", + "Link is waiting for the customer to approve.", + "Link is established and can be used as needed.", + "Link is no longer valid and should be ignored.", + "Link request has been cancelled by the requester and further cleanup may be needed.", + "Link request has been rejected by the approver." + ], + "readOnly": true, + "type": "string" + }, + "type": { + "description": "Output only. The type of the data.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "VIDEO" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "A data link to YouTube video." + ], + "readOnly": true, + "type": "string" + }, + "youtubeVideo": { + "$ref": "GoogleAdsSearchads360V23Resources__YoutubeVideoIdentifier", + "description": "Immutable. A data link to YouTube video." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__DataPartnerIdentifier": { + "description": "The identifier for Data Partner account.", + "id": "GoogleAdsSearchads360V23Resources__DataPartnerIdentifier", + "properties": { + "dataPartnerId": { + "description": "Immutable. The customer ID of the Data partner account. This field is required and should not be empty when creating a new data partner link. It is unable to be modified after the creation of the link.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__DetailContentSuitabilityPlacementView": { + "description": "A detail content suitability placement view.", + "id": "GoogleAdsSearchads360V23Resources__DetailContentSuitabilityPlacementView", + "properties": { + "displayName": { + "description": "Output only. The display name is URL for websites, YouTube video name for YouTube videos, and translated mobile app name for mobile apps.", + "readOnly": true, + "type": "string" + }, + "placement": { + "description": "Output only. The automatic placement string at detail level, for example. website url, mobile application id, or a YouTube video id.", + "readOnly": true, + "type": "string" + }, + "placementType": { + "description": "Output only. Represents the type of the placement, for example, Website, YouTubeVideo and MobileApplication.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "WEBSITE", + "MOBILE_APP_CATEGORY", + "MOBILE_APPLICATION", + "YOUTUBE_VIDEO", + "YOUTUBE_CHANNEL", + "GOOGLE_PRODUCTS" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Websites(for example, 'www.flowers4sale.com').", + "Mobile application categories(for example, 'Games').", + "mobile applications(for example, 'mobileapp::2-com.whatsthewordanswers').", + "YouTube videos(for example, 'youtube.com/video/wtLJPvx7-ys').", + "YouTube channels(for example, 'youtube.com::L8ZULXASCc1I_oaOT0NaOQ').", + "Surfaces owned and operated by Google(for example, 'tv.google.com')." + ], + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Output only. The resource name of the detail content suitability placement view. Detail content suitability placement view resource names have the form: `customers/{customer_id}/detailContentSuitabilityPlacementViews/{placement_fingerprint}`", + "readOnly": true, + "type": "string" + }, + "targetUrl": { + "description": "Output only. URL of the placement, for example, website, link to the mobile application in app store, or a YouTube video URL.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__DetailPlacementView": { + "description": "A view with metrics aggregated by ad group and URL or YouTube video. This view primarily surfaces placement data from the Google Display Network. While you can select segments like `segments.ad_network_type`, this view generally does not include placement data from other networks, such as the Search Partners network. To understand performance on Search Partners, consider other reports and segmentations.", + "id": "GoogleAdsSearchads360V23Resources__DetailPlacementView", + "properties": { + "displayName": { + "description": "Output only. The display name is URL name for websites, YouTube video name for YouTube videos, and translated mobile app name for mobile apps.", + "readOnly": true, + "type": "string" + }, + "groupPlacementTargetUrl": { + "description": "Output only. URL of the group placement, for example, domain, link to the mobile application in app store, or a YouTube channel URL.", + "readOnly": true, + "type": "string" + }, + "placement": { + "description": "Output only. The automatic placement string at detail level, e. g. website URL, mobile application ID, or a YouTube video ID.", + "readOnly": true, + "type": "string" + }, + "placementType": { + "description": "Output only. Type of the placement, for example, Website, YouTube Video, and Mobile Application.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "WEBSITE", + "MOBILE_APP_CATEGORY", + "MOBILE_APPLICATION", + "YOUTUBE_VIDEO", + "YOUTUBE_CHANNEL", + "GOOGLE_PRODUCTS" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Websites(for example, 'www.flowers4sale.com').", + "Mobile application categories(for example, 'Games').", + "mobile applications(for example, 'mobileapp::2-com.whatsthewordanswers').", + "YouTube videos(for example, 'youtube.com/video/wtLJPvx7-ys').", + "YouTube channels(for example, 'youtube.com::L8ZULXASCc1I_oaOT0NaOQ').", + "Surfaces owned and operated by Google(for example, 'tv.google.com')." + ], + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Output only. The resource name of the detail placement view. Detail placement view resource names have the form: `customers/{customer_id}/detailPlacementViews/{ad_group_id}~{base64_placement}`", + "readOnly": true, + "type": "string" + }, + "targetUrl": { + "description": "Output only. URL of the placement, for example, website, link to the mobile application in app store, or a YouTube video URL.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__DetailedDemographic": { + "description": "A detailed demographic: a particular interest-based vertical to be targeted to reach users based on long-term life facts.", + "id": "GoogleAdsSearchads360V23Resources__DetailedDemographic", + "properties": { + "availabilities": { + "description": "Output only. Availability information of the detailed demographic.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__CriterionCategoryAvailability" + }, + "readOnly": true, + "type": "array" + }, + "id": { + "description": "Output only. The ID of the detailed demographic.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "launchedToAll": { + "description": "Output only. True if the detailed demographic is launched to all channels and locales.", + "readOnly": true, + "type": "boolean" + }, + "name": { + "description": "Output only. The name of the detailed demographic. For example,\"Highest Level of Educational Attainment\"", + "readOnly": true, + "type": "string" + }, + "parent": { + "description": "Output only. The parent of the detailed_demographic.", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Output only. The resource name of the detailed demographic. Detailed demographic resource names have the form: `customers/{customer_id}/detailedDemographics/{detailed_demographic_id}`", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__DisplayKeywordView": { + "description": "A display keyword view. Provides performance data for keywords used in Display Network campaigns. This view lets you analyze how your display keywords are performing across various segments. This view is primarily used to track the effectiveness of keyword targeting within your Display campaigns. To understand which network the metrics apply to, you can select the `segments.ad_network_type` field in your query. This field will segment the data by networks such as the Google Display Network, YouTube, Gmail, and so on. You can select fields from this resource along with metrics like impressions, clicks, and conversions to gauge performance. Attributed resources like `ad_group` and `campaign` can also be selected without segmenting metrics.", + "id": "GoogleAdsSearchads360V23Resources__DisplayKeywordView", + "properties": { + "resourceName": { + "description": "Output only. The resource name of the display keyword view. Display Keyword view resource names have the form: `customers/{customer_id}/displayKeywordViews/{ad_group_id}~{criterion_id}`", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__DistanceView": { + "description": "A distance view with metrics aggregated by the user's distance from an advertiser's location extensions. Each DistanceBucket includes all impressions that fall within its distance and a single impression will contribute to the metrics for all DistanceBuckets that include the user's distance.", + "id": "GoogleAdsSearchads360V23Resources__DistanceView", + "properties": { + "distanceBucket": { + "description": "Output only. Grouping of user distance from location extensions.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "WITHIN_700M", + "WITHIN_1KM", + "WITHIN_5KM", + "WITHIN_10KM", + "WITHIN_15KM", + "WITHIN_20KM", + "WITHIN_25KM", + "WITHIN_30KM", + "WITHIN_35KM", + "WITHIN_40KM", + "WITHIN_45KM", + "WITHIN_50KM", + "WITHIN_55KM", + "WITHIN_60KM", + "WITHIN_65KM", + "BEYOND_65KM", + "WITHIN_0_7MILES", + "WITHIN_1MILE", + "WITHIN_5MILES", + "WITHIN_10MILES", + "WITHIN_15MILES", + "WITHIN_20MILES", + "WITHIN_25MILES", + "WITHIN_30MILES", + "WITHIN_35MILES", + "WITHIN_40MILES", + "BEYOND_40MILES" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "User was within 700m of the location.", + "User was within 1KM of the location.", + "User was within 5KM of the location.", + "User was within 10KM of the location.", + "User was within 15KM of the location.", + "User was within 20KM of the location.", + "User was within 25KM of the location.", + "User was within 30KM of the location.", + "User was within 35KM of the location.", + "User was within 40KM of the location.", + "User was within 45KM of the location.", + "User was within 50KM of the location.", + "User was within 55KM of the location.", + "User was within 60KM of the location.", + "User was within 65KM of the location.", + "User was beyond 65KM of the location.", + "User was within 0.7 miles of the location.", + "User was within 1 mile of the location.", + "User was within 5 miles of the location.", + "User was within 10 miles of the location.", + "User was within 15 miles of the location.", + "User was within 20 miles of the location.", + "User was within 25 miles of the location.", + "User was within 30 miles of the location.", + "User was within 35 miles of the location.", + "User was within 40 miles of the location.", + "User was beyond 40 miles of the location." + ], + "readOnly": true, + "type": "string" + }, + "metricSystem": { + "description": "Output only. True if the DistanceBucket is using the metric system, false otherwise.", + "readOnly": true, + "type": "boolean" + }, + "resourceName": { + "description": "Output only. The resource name of the distance view. Distance view resource names have the form: `customers/{customer_id}/distanceViews/1~{distance_bucket}`", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__DoubleClickCampaignManagerSetting": { + "description": "DoubleClick Campaign Manager (DCM) setting for a manager customer.", + "id": "GoogleAdsSearchads360V23Resources__DoubleClickCampaignManagerSetting", + "properties": { + "advertiserId": { + "description": "Output only. ID of the Campaign Manager advertiser associated with this customer.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "networkId": { + "description": "Output only. ID of the Campaign Manager network associated with this customer.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "timeZone": { + "description": "Output only. Time zone of the Campaign Manager network associated with this customer in IANA Time Zone Database format, such as America/New_York.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__DynamicSearchAdsSearchTermView": { + "description": "A dynamic search ads search term view.", + "id": "GoogleAdsSearchads360V23Resources__DynamicSearchAdsSearchTermView", + "properties": { + "hasMatchingKeyword": { + "description": "Output only. True if query is added to targeted keywords. This field is read-only.", + "readOnly": true, + "type": "boolean" + }, + "hasNegativeKeyword": { + "description": "Output only. True if query matches a negative keyword. This field is read-only.", + "readOnly": true, + "type": "boolean" + }, + "hasNegativeUrl": { + "description": "Output only. True if query matches a negative url. This field is read-only.", + "readOnly": true, + "type": "boolean" + }, + "headline": { + "description": "Output only. The dynamically generated headline of the Dynamic Search Ad. This field is read-only.", + "readOnly": true, + "type": "string" + }, + "landingPage": { + "description": "Output only. The dynamically selected landing page URL of the impression. This field is read-only.", + "readOnly": true, + "type": "string" + }, + "pageUrl": { + "description": "Output only. The URL of page feed item served for the impression. This field is read-only.", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Output only. The resource name of the dynamic search ads search term view. Dynamic search ads search term view resource names have the form: `customers/{customer_id}/dynamicSearchAdsSearchTermViews/{ad_group_id}~{search_term_fingerprint}~{headline_fingerprint}~{landing_page_fingerprint}~{page_url_fingerprint}`", + "readOnly": true, + "type": "string" + }, + "searchTerm": { + "description": "Output only. Search term This field is read-only.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__ExpandedLandingPageView": { + "description": "A landing page view with metrics aggregated at the expanded final URL level.", + "id": "GoogleAdsSearchads360V23Resources__ExpandedLandingPageView", + "properties": { + "expandedFinalUrl": { + "description": "Output only. The final URL that clicks are directed to.", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Output only. The resource name of the expanded landing page view. Expanded landing page view resource names have the form: `customers/{customer_id}/expandedLandingPageViews/{expanded_final_url_fingerprint}`", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__Experiment": { + "description": "A Google ads experiment for users to experiment changes on multiple campaigns, compare the performance, and apply the effective changes.", + "id": "GoogleAdsSearchads360V23Resources__Experiment", + "properties": { + "description": { + "description": "The description of the experiment. It must have a minimum length of 1 and maximum length of 2048.", + "type": "string" + }, + "endDate": { + "description": "Date when the experiment ends. By default, the experiment ends on the campaign's end date. If this field is set, then the experiment ends at the end of the specified date in the customer's time zone. Format: YYYY-MM-DD Example: 2019-04-18", + "type": "string" + }, + "experimentId": { + "description": "Output only. The ID of the experiment. Read only.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "goals": { + "description": "The goals of this experiment.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__MetricGoal" + }, + "type": "array" + }, + "longRunningOperation": { + "description": "Output only. The resource name of the long-running operation that can be used to poll for completion of experiment schedule or promote. The most recent long running operation is returned.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Required. The name of the experiment. It must have a minimum length of 1 and maximum length of 1024. It must be unique under a customer.", + "type": "string" + }, + "promoteStatus": { + "description": "Output only. The status of the experiment promotion process.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "NOT_STARTED", + "IN_PROGRESS", + "COMPLETED", + "FAILED", + "COMPLETED_WITH_WARNING" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "Action has not started.", + "Action is in progress.", + "Action has completed successfully.", + "Action has failed.", + "Action has completed successfully with warnings." + ], + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Immutable. The resource name of the experiment. Experiment resource names have the form: `customers/{customer_id}/experiments/{experiment_id}`", + "type": "string" + }, + "startDate": { + "description": "Date when the experiment starts. By default, the experiment starts now or on the campaign's start date, whichever is later. If this field is set, then the experiment starts at the beginning of the specified date in the customer's time zone. Format: YYYY-MM-DD Example: 2019-03-14", + "type": "string" + }, + "status": { + "description": "The Advertiser-chosen status of this experiment.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ENABLED", + "REMOVED", + "HALTED", + "PROMOTED", + "SETUP", + "INITIATED", + "GRADUATED" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "The experiment is enabled.", + "The experiment has been removed.", + "The experiment has been halted. This status can be set from ENABLED status through API.", + "The experiment will be promoted out of experimental status.", + "Initial status of the experiment.", + "The experiment's campaigns are pending materialization. This status can be set from SETUP status through API.", + "The experiment has been graduated." + ], + "type": "string" + }, + "suffix": { + "description": "For system managed experiments, the advertiser must provide a suffix during construction, in the setup stage before moving to initiated. The suffix will be appended to the in-design and experiment campaign names so that the name is base campaign name + suffix.", + "type": "string" + }, + "syncEnabled": { + "description": "Immutable. Set to true if changes to base campaigns should be synced to the trial campaigns. Any changes made directly to trial campaigns will be preserved. This field can only be set when the experiment is being created.", + "type": "boolean" + }, + "type": { + "description": "Required. The product/feature that uses this experiment.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "DISPLAY_AND_VIDEO_360", + "AD_VARIATION", + "YOUTUBE_CUSTOM", + "DISPLAY_CUSTOM", + "SEARCH_CUSTOM", + "DISPLAY_AUTOMATED_BIDDING_STRATEGY", + "SEARCH_AUTOMATED_BIDDING_STRATEGY", + "SHOPPING_AUTOMATED_BIDDING_STRATEGY", + "SMART_MATCHING", + "HOTEL_CUSTOM" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "This is a DISPLAY_AND_VIDEO_360 experiment.", + "This is an ad variation experiment.", + "A custom experiment consisting of Video campaigns.", + "A custom experiment consisting of display campaigns.", + "A custom experiment consisting of search campaigns.", + "An experiment that compares bidding strategies for display campaigns.", + "An experiment that compares bidding strategies for search campaigns.\"", + "An experiment that compares bidding strategies for shopping campaigns.", + "DEPRECATED. A smart matching experiment with search campaigns.", + "A custom experiment consisting of hotel campaigns." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__ExperimentArm": { + "description": "A Google ads experiment for users to experiment changes on multiple campaigns, compare the performance, and apply the effective changes.", + "id": "GoogleAdsSearchads360V23Resources__ExperimentArm", + "properties": { + "assetGroups": { + "description": "List of asset groups in the experiment arm.", + "items": { + "$ref": "GoogleAdsSearchads360V23Resources_ExperimentArm_AssetGroupInfo" + }, + "type": "array" + }, + "campaigns": { + "description": "List of campaigns in the trial arm. The max length is one.", + "items": { + "type": "string" + }, + "type": "array" + }, + "control": { + "description": "Whether this arm is a control arm. A control arm is the arm against which the other arms are compared.", + "type": "boolean" + }, + "experiment": { + "description": "Immutable. The experiment to which the ExperimentArm belongs.", + "type": "string" + }, + "inDesignCampaigns": { + "description": "Output only. The in design campaigns in the treatment experiment arm.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "name": { + "description": "Required. The name of the experiment arm. It must have a minimum length of 1 and maximum length of 1024. It must be unique under an experiment.", + "type": "string" + }, + "resourceName": { + "description": "Immutable. The resource name of the experiment arm. Experiment arm resource names have the form: `customers/{customer_id}/experimentArms/{TrialArm.trial_id}~{TrialArm.trial_arm_id}`", + "type": "string" + }, + "trafficSplit": { + "description": "Traffic split of the trial arm. The value should be between 1 and 100 and must total 100 between the two trial arms.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__Fellowship": { + "description": "Details about the employee's medical Fellowship. Fellowship is a period of medical training that the professional undertakes after finishing their residency.", + "id": "GoogleAdsSearchads360V23Resources__Fellowship", + "properties": { + "completionYear": { + "description": "Output only. Year of completion.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "institutionName": { + "description": "Output only. Name of the instutition at which the fellowship was completed.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__FinalUrlExpansionAssetView": { + "description": "FinalUrlExpansionAssetView Resource.", + "id": "GoogleAdsSearchads360V23Resources__FinalUrlExpansionAssetView", + "properties": { + "adGroup": { + "description": "Output only. Ad Group in which FinalUrlExpansionAsset served.", + "readOnly": true, + "type": "string" + }, + "asset": { + "description": "Output only. The ID of the asset.", + "readOnly": true, + "type": "string" + }, + "assetGroup": { + "description": "Output only. Asset Group in which FinalUrlExpansionAsset served.", + "readOnly": true, + "type": "string" + }, + "campaign": { + "description": "Output only. Campaign in which the asset served.", + "readOnly": true, + "type": "string" + }, + "fieldType": { + "description": "Output only. The field type of the asset.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "HEADLINE", + "DESCRIPTION", + "MANDATORY_AD_TEXT", + "MARKETING_IMAGE", + "MEDIA_BUNDLE", + "YOUTUBE_VIDEO", + "BOOK_ON_GOOGLE", + "LEAD_FORM", + "PROMOTION", + "CALLOUT", + "STRUCTURED_SNIPPET", + "SITELINK", + "MOBILE_APP", + "HOTEL_CALLOUT", + "CALL", + "PRICE", + "LONG_HEADLINE", + "BUSINESS_NAME", + "SQUARE_MARKETING_IMAGE", + "PORTRAIT_MARKETING_IMAGE", + "LOGO", + "LANDSCAPE_LOGO", + "VIDEO", + "CALL_TO_ACTION_SELECTION", + "AD_IMAGE", + "BUSINESS_LOGO", + "HOTEL_PROPERTY", + "DEMAND_GEN_CAROUSEL_CARD", + "BUSINESS_MESSAGE", + "TALL_PORTRAIT_MARKETING_IMAGE", + "LANDING_PAGE_PREVIEW", + "LONG_DESCRIPTION", + "CALL_TO_ACTION" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The asset is linked for use as a headline.", + "The asset is linked for use as a description.", + "The asset is linked for use as mandatory ad text.", + "The asset is linked for use as a marketing image.", + "The asset is linked for use as a media bundle.", + "The asset is linked for use as a YouTube video.", + "The asset is linked to indicate that a hotels campaign is \"Book on Google\" enabled.", + "The asset is linked for use as a Lead Form extension.", + "The asset is linked for use as a Promotion extension.", + "The asset is linked for use as a Callout extension.", + "The asset is linked for use as a Structured Snippet extension.", + "The asset is linked for use as a Sitelink.", + "The asset is linked for use as a Mobile App extension.", + "The asset is linked for use as a Hotel Callout extension.", + "The asset is linked for use as a Call extension.", + "The asset is linked for use as a Price extension.", + "The asset is linked for use as a long headline.", + "The asset is linked for use as a business name.", + "The asset is linked for use as a square marketing image.", + "The asset is linked for use as a portrait marketing image.", + "The asset is linked for use as a logo.", + "The asset is linked for use as a landscape logo.", + "The asset is linked for use as a non YouTube logo.", + "The asset is linked for use to select a call-to-action.", + "The asset is linked for use to select an ad image.", + "The asset is linked for use as a business logo.", + "The asset is linked for use as a hotel property in a Performance Max for travel goals campaign.", + "The asset is linked for use as a Demand Gen carousel card.", + "The asset is linked for use as a Business Message.", + "The asset is linked for use as a tall portrait marketing image.", + "The asset is linked for use as a landing page preview image.", + "The asset is linked for use as a long description.", + "The asset is linked for use as a call-to-action." + ], + "readOnly": true, + "type": "string" + }, + "finalUrl": { + "description": "Output only. Final URL of the FinalUrlExpansionAsset.", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Output only. The resource name of the FinalUrlExpansionAsset.", + "readOnly": true, + "type": "string" + }, + "status": { + "description": "Output only. Status of the FinalUrlExpansionAsset.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ENABLED", + "REMOVED", + "PAUSED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Asset link is enabled.", + "Asset link has been removed.", + "Asset link is paused." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__GenderView": { + "description": "A gender view. The gender_view resource reflects the effective serving state, rather than what criteria were added. An ad group without gender criteria by default shows to all genders, so all genders appear in gender_view with stats.", + "id": "GoogleAdsSearchads360V23Resources__GenderView", + "properties": { + "resourceName": { + "description": "Output only. The resource name of the gender view. Gender view resource names have the form: `customers/{customer_id}/genderViews/{ad_group_id}~{criterion_id}`", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__GeoTargetConstant": { + "description": "A geo target constant.", + "id": "GoogleAdsSearchads360V23Resources__GeoTargetConstant", + "properties": { + "canonicalName": { + "description": "Output only. The fully qualified English name, consisting of the target's name and that of its parent and country.", + "readOnly": true, + "type": "string" + }, + "countryCode": { + "description": "Output only. The ISO-3166-1 alpha-2 country code that is associated with the target.", + "readOnly": true, + "type": "string" + }, + "id": { + "description": "Output only. The ID of the geo target constant.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. Geo target constant English name.", + "readOnly": true, + "type": "string" + }, + "parentGeoTarget": { + "description": "Output only. The resource name of the parent geo target constant. Geo target constant resource names have the form: `geoTargetConstants/{parent_geo_target_constant_id}`", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Output only. The resource name of the geo target constant. Geo target constant resource names have the form: `geoTargetConstants/{geo_target_constant_id}`", + "readOnly": true, + "type": "string" + }, + "status": { + "description": "Output only. Geo target constant status.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ENABLED", + "REMOVAL_PLANNED" + ], + "enumDescriptions": [ + "No value has been specified.", + "The received value is not known in this version. This is a response-only value.", + "The geo target constant is valid.", + "The geo target constant is obsolete and will be removed." + ], + "readOnly": true, + "type": "string" + }, + "targetType": { + "description": "Output only. Geo target constant target type.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__GeographicView": { + "description": "A geographic view. Geographic View includes all metrics aggregated at the country level, one row per country. It reports metrics at either actual physical location of the user or an area of interest. If other segment fields are used, you may get more than one row per country.", + "id": "GoogleAdsSearchads360V23Resources__GeographicView", + "properties": { + "countryCriterionId": { + "description": "Output only. Criterion Id for the country.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "locationType": { + "description": "Output only. Type of the geo targeting of the campaign.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "AREA_OF_INTEREST", + "LOCATION_OF_PRESENCE" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "Location the user is interested in while making the query.", + "Location of the user issuing the query." + ], + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Output only. The resource name of the geographic view. Geographic view resource names have the form: `customers/{customer_id}/geographicViews/{country_criterion_id}~{location_type}`", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__Goal": { + "description": "Representation of goals.", + "id": "GoogleAdsSearchads360V23Resources__Goal", + "properties": { + "goalId": { + "description": "Output only. The ID of this goal.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "goalType": { + "description": "Output only. The type of this goal.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CUSTOMER_RETENTION" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Retention goal, which allows advertisers to optimize campaigns to win back lapsed customers. (https://support.google.com/google-ads/answer/14792043?hl=en)" + ], + "readOnly": true, + "type": "string" + }, + "optimizationEligibility": { + "description": "Output only. Indicates if this goal is eligible for campaign optimization.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ELIGIBLE", + "INELIGIBLE" + ], + "enumDescriptions": [ + "The goal optimization status has not been specified.", + "The goal optimization status is not known in this version.", + "The goal is eligible for campaign optimization.", + "The goal is not eligible for campaign optimization." + ], + "readOnly": true, + "type": "string" + }, + "ownerCustomer": { + "description": "Output only. The resource name of the goal owner customer.", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Immutable. The resource name of the goal. Goal resource names have the form: `customers/{customer_id}/goals/{goal_id}`", + "type": "string" + }, + "retentionGoalSettings": { + "$ref": "GoogleAdsSearchads360V23Common_GoalSetting_RetentionGoal", + "description": "Retention goal settings." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__GoogleAdsIdentifier": { + "description": "The identifier for Google Ads account.", + "id": "GoogleAdsSearchads360V23Resources__GoogleAdsIdentifier", + "properties": { + "customer": { + "description": "Immutable. The resource name of the Google Ads account. This field is required and should not be empty when creating a new Google Ads link. It is unable to be modified after the creation of the link.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__GranularInsuranceStatus": { + "description": "Insurance status at geo + vertical level.", + "id": "GoogleAdsSearchads360V23Resources__GranularInsuranceStatus", + "properties": { + "categoryId": { + "description": "Output only. Service category associated with the status. For example, xcat:service_area_business_plumber. For more details see: https://developers.google.com/google-ads/api/data/codes-formats#local_services_ids", + "readOnly": true, + "type": "string" + }, + "geoCriterionId": { + "description": "Output only. Geotarget criterion ID associated with the status. Can be on country or state/province geo level, depending on requirements and location. See https://developers.google.com/google-ads/api/data/geotargets for more information.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "verificationStatus": { + "description": "Output only. Granular insurance status, per geo + vertical.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "NEEDS_REVIEW", + "FAILED", + "PASSED", + "NOT_APPLICABLE", + "NO_SUBMISSION", + "PARTIAL_SUBMISSION", + "PENDING_ESCALATION" + ], + "enumDescriptions": [ + "Not specified.", + "Unknown verification status.", + "Verification has started, but has not finished.", + "Verification has failed.", + "Verification has passed.", + "Verification is not applicable.", + "Verification is required but pending submission.", + "Not all required verification has been submitted.", + "Verification needs review by Local Services Ads Ops Specialist." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__GranularLicenseStatus": { + "description": "License status at geo + vertical level.", + "id": "GoogleAdsSearchads360V23Resources__GranularLicenseStatus", + "properties": { + "categoryId": { + "description": "Output only. Service category associated with the status. For example, xcat:service_area_business_plumber. For more details see: https://developers.google.com/google-ads/api/data/codes-formats#local_services_ids", + "readOnly": true, + "type": "string" + }, + "geoCriterionId": { + "description": "Output only. Geotarget criterion ID associated with the status. Can be on country or state/province geo level, depending on requirements and location. See https://developers.google.com/google-ads/api/data/geotargets for more information.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "verificationStatus": { + "description": "Output only. Granular license status, per geo + vertical.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "NEEDS_REVIEW", + "FAILED", + "PASSED", + "NOT_APPLICABLE", + "NO_SUBMISSION", + "PARTIAL_SUBMISSION", + "PENDING_ESCALATION" + ], + "enumDescriptions": [ + "Not specified.", + "Unknown verification status.", + "Verification has started, but has not finished.", + "Verification has failed.", + "Verification has passed.", + "Verification is not applicable.", + "Verification is required but pending submission.", + "Not all required verification has been submitted.", + "Verification needs review by Local Services Ads Ops Specialist." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__GroupContentSuitabilityPlacementView": { + "description": "A group content suitability placement view.", + "id": "GoogleAdsSearchads360V23Resources__GroupContentSuitabilityPlacementView", + "properties": { + "displayName": { + "description": "Output only. The display name is URL for websites, YouTube video name for YouTube videos, and translated mobile app name for mobile apps.", + "readOnly": true, + "type": "string" + }, + "placement": { + "description": "Output only. The automatic placement string at group level, for example. website url, mobile application id, or a YouTube video id.", + "readOnly": true, + "type": "string" + }, + "placementType": { + "description": "Output only. Represents the type of the placement, for example, Website, YouTubeVideo and MobileApplication.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "WEBSITE", + "MOBILE_APP_CATEGORY", + "MOBILE_APPLICATION", + "YOUTUBE_VIDEO", + "YOUTUBE_CHANNEL", + "GOOGLE_PRODUCTS" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Websites(for example, 'www.flowers4sale.com').", + "Mobile application categories(for example, 'Games').", + "mobile applications(for example, 'mobileapp::2-com.whatsthewordanswers').", + "YouTube videos(for example, 'youtube.com/video/wtLJPvx7-ys').", + "YouTube channels(for example, 'youtube.com::L8ZULXASCc1I_oaOT0NaOQ').", + "Surfaces owned and operated by Google(for example, 'tv.google.com')." + ], + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Output only. The resource name of the group content suitability placement view. Group content suitability placement view resource names have the form: `customers/{customer_id}/groupContentSuitabilityPlacementViews/{placement_fingerprint}`", + "readOnly": true, + "type": "string" + }, + "targetUrl": { + "description": "Output only. URL of the placement, for example, website, link to the mobile application in app store, or a YouTube video URL.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__GroupPlacementView": { + "description": "A group placement view.", + "id": "GoogleAdsSearchads360V23Resources__GroupPlacementView", + "properties": { + "displayName": { + "description": "Output only. Domain name for websites and YouTube channel name for YouTube channels.", + "readOnly": true, + "type": "string" + }, + "placement": { + "description": "Output only. The automatic placement string at group level, e. g. web domain, mobile app ID, or a YouTube channel ID.", + "readOnly": true, + "type": "string" + }, + "placementType": { + "description": "Output only. Type of the placement, for example, Website, YouTube Channel, Mobile Application.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "WEBSITE", + "MOBILE_APP_CATEGORY", + "MOBILE_APPLICATION", + "YOUTUBE_VIDEO", + "YOUTUBE_CHANNEL", + "GOOGLE_PRODUCTS" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Websites(for example, 'www.flowers4sale.com').", + "Mobile application categories(for example, 'Games').", + "mobile applications(for example, 'mobileapp::2-com.whatsthewordanswers').", + "YouTube videos(for example, 'youtube.com/video/wtLJPvx7-ys').", + "YouTube channels(for example, 'youtube.com::L8ZULXASCc1I_oaOT0NaOQ').", + "Surfaces owned and operated by Google(for example, 'tv.google.com')." + ], + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Output only. The resource name of the group placement view. Group placement view resource names have the form: `customers/{customer_id}/groupPlacementViews/{ad_group_id}~{base64_placement}`", + "readOnly": true, + "type": "string" + }, + "targetUrl": { + "description": "Output only. URL of the group placement, for example, domain, link to the mobile application in app store, or a YouTube channel URL.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__HotelCenterLinkInvitationIdentifier": { + "description": "The identifier for Hotel account.", + "id": "GoogleAdsSearchads360V23Resources__HotelCenterLinkInvitationIdentifier", + "properties": { + "hotelCenterId": { + "description": "Output only. The hotel center id of the hotel account. This field is read only", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__HotelGroupView": { + "description": "A hotel group view.", + "id": "GoogleAdsSearchads360V23Resources__HotelGroupView", + "properties": { + "resourceName": { + "description": "Output only. The resource name of the hotel group view. Hotel Group view resource names have the form: `customers/{customer_id}/hotelGroupViews/{ad_group_id}~{criterion_id}`", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__HotelPerformanceView": { + "description": "A hotel performance view.", + "id": "GoogleAdsSearchads360V23Resources__HotelPerformanceView", + "properties": { + "resourceName": { + "description": "Output only. The resource name of the hotel performance view. Hotel performance view resource names have the form: `customers/{customer_id}/hotelPerformanceView`", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__HotelReconciliation": { + "description": "A hotel reconciliation. It contains conversion information from Hotel bookings to reconcile with advertiser records. These rows may be updated or canceled before billing through Bulk Uploads.", + "id": "GoogleAdsSearchads360V23Resources__HotelReconciliation", + "properties": { + "billed": { + "description": "Output only. Whether a given booking has been billed. Once billed, a booking can't be modified.", + "readOnly": true, + "type": "boolean" + }, + "campaign": { + "description": "Output only. The resource name for the Campaign associated with the conversion.", + "readOnly": true, + "type": "string" + }, + "checkInDate": { + "description": "Output only. Check-in date recorded when the booking is made. If the check-in date is modified at reconciliation, the revised date will then take the place of the original date in this column. Format is YYYY-MM-DD.", + "readOnly": true, + "type": "string" + }, + "checkOutDate": { + "description": "Output only. Check-out date recorded when the booking is made. If the check-in date is modified at reconciliation, the revised date will then take the place of the original date in this column. Format is YYYY-MM-DD.", + "readOnly": true, + "type": "string" + }, + "commissionId": { + "description": "Required. Output only. The commission ID is Google's ID for this booking. Every booking event is assigned a Commission ID to help you match it to a guest stay.", + "readOnly": true, + "type": "string" + }, + "hotelCenterId": { + "description": "Output only. Identifier for the Hotel Center account which provides the rates for the Hotel campaign.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "hotelId": { + "description": "Output only. Unique identifier for the booked property, as provided in the Hotel Center feed. The hotel ID comes from the 'ID' parameter of the conversion tracking tag.", + "readOnly": true, + "type": "string" + }, + "orderId": { + "description": "Output only. The order ID is the identifier for this booking as provided in the 'transaction_id' parameter of the conversion tracking tag.", + "readOnly": true, + "type": "string" + }, + "reconciledValueMicros": { + "description": "Required. Output only. Reconciled value is the final value of a booking as paid by the guest. If original booking value changes for any reason, such as itinerary changes or room upsells, the reconciled value should be the full final amount collected. If a booking is canceled, the reconciled value should include the value of any cancellation fees or non-refundable nights charged. Value is in millionths of the base unit currency. For example, $12.35 would be represented as 12350000. Currency unit is in the default customer currency.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Immutable. The resource name of the hotel reconciliation. Hotel reconciliation resource names have the form: `customers/{customer_id}/hotelReconciliations/{commission_id}`", + "type": "string" + }, + "status": { + "description": "Required. Output only. Current status of a booking with regards to reconciliation and billing. Bookings should be reconciled within 45 days after the check-out date. Any booking not reconciled within 45 days will be billed at its original value.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "RESERVATION_ENABLED", + "RECONCILIATION_NEEDED", + "RECONCILED", + "CANCELED" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "Bookings are for a future date, or a stay is underway but the check-out date hasn't passed. An active reservation can't be reconciled.", + "Check-out has already taken place, or the booked dates have passed without cancellation. Bookings that are not reconciled within 45 days of the check-out date are billed based on the original booking price.", + "These bookings have been reconciled. Reconciled bookings are billed 45 days after the check-out date.", + "This booking was marked as canceled. Canceled stays with a value greater than zero (due to minimum stay rules or cancellation fees) are billed 45 days after the check-out date." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__IncomeRangeView": { + "description": "An income range view.", + "id": "GoogleAdsSearchads360V23Resources__IncomeRangeView", + "properties": { + "resourceName": { + "description": "Output only. The resource name of the income range view. Income range view resource names have the form: `customers/{customer_id}/incomeRangeViews/{ad_group_id}~{criterion_id}`", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__InsuranceVerificationArtifact": { + "description": "specific to a local services insurance.", + "id": "GoogleAdsSearchads360V23Resources__InsuranceVerificationArtifact", + "properties": { + "amountMicros": { + "description": "Output only. Insurance amount. This is measured in \"micros\" of the currency mentioned in the insurance document.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "expirationDateTime": { + "description": "Output only. The timestamp when this insurance expires. The format is \"YYYY-MM-DD HH:MM:SS\" in the Google Ads account's timezone. Examples: \"2018-03-05 09:15:00\" or \"2018-02-01 14:34:30\"", + "readOnly": true, + "type": "string" + }, + "insuranceDocumentReadonly": { + "$ref": "GoogleAdsSearchads360V23Common__LocalServicesDocumentReadOnly", + "description": "Output only. The readonly field containing the information for an uploaded insurance document.", + "readOnly": true + }, + "rejectionReason": { + "description": "Output only. Insurance document's rejection reason.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "BUSINESS_NAME_MISMATCH", + "INSURANCE_AMOUNT_INSUFFICIENT", + "EXPIRED", + "NO_SIGNATURE", + "NO_POLICY_NUMBER", + "NO_COMMERCIAL_GENERAL_LIABILITY", + "EDITABLE_FORMAT", + "CATEGORY_MISMATCH", + "MISSING_EXPIRATION_DATE", + "POOR_QUALITY", + "POTENTIALLY_EDITED", + "WRONG_DOCUMENT_TYPE", + "NON_FINAL", + "OTHER" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Business name doesn't match business name for the Local Services Ad.", + "Insurance amount doesn't meet requirement listed in the legal summaries documentation for that geographic + category ID combination.", + "Insurance document is expired.", + "Insurance document is missing a signature.", + "Insurance document is missing a policy number.", + "Commercial General Liability(CGL) box is not marked in the insurance document.", + "Insurance document is in an editable format.", + "Insurance document does not cover insurance for a particular category.", + "Insurance document is missing an expiration date.", + "Insurance document is poor quality - blurry images, illegible, etc...", + "Insurance document is suspected of being edited.", + "Insurance document not accepted. For example, documents of insurance proposals, but missing coverages are not accepted.", + "Insurance document is not final.", + "Insurance document has another flaw not listed explicitly." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__Invoice": { + "description": "An invoice. All invoice information is snapshotted to match the PDF invoice. For invoices older than the launch of InvoiceService, the snapshotted information may not match the PDF invoice.", + "id": "GoogleAdsSearchads360V23Resources__Invoice", + "properties": { + "accountBudgetSummaries": { + "description": "Output only. The list of summarized account budget information associated with this invoice.", + "items": { + "$ref": "GoogleAdsSearchads360V23Resources_Invoice_AccountBudgetSummary" + }, + "readOnly": true, + "type": "array" + }, + "accountSummaries": { + "description": "Output only. The list of summarized account information associated with this invoice.", + "items": { + "$ref": "GoogleAdsSearchads360V23Resources_Invoice_AccountSummary" + }, + "readOnly": true, + "type": "array" + }, + "adjustmentsSubtotalAmountMicros": { + "description": "Output only. The pretax subtotal amount of invoice level adjustments, in micros.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "adjustmentsTaxAmountMicros": { + "description": "Output only. The sum of taxes on the invoice level adjustments, in micros.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "adjustmentsTotalAmountMicros": { + "description": "Output only. The total amount of invoice level adjustments, in micros.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "billingSetup": { + "description": "Output only. The resource name of this invoice's billing setup. `customers/{customer_id}/billingSetups/{billing_setup_id}`", + "readOnly": true, + "type": "string" + }, + "correctedInvoice": { + "description": "Output only. The resource name of the original invoice corrected, wrote off, or canceled by this invoice, if applicable. If `corrected_invoice` is set, `replaced_invoices` will not be set. Invoice resource names have the form: `customers/{customer_id}/invoices/{invoice_id}`", + "readOnly": true, + "type": "string" + }, + "currencyCode": { + "description": "Output only. The currency code. All costs are returned in this currency. A subset of the currency codes derived from the ISO 4217 standard is supported.", + "readOnly": true, + "type": "string" + }, + "dueDate": { + "description": "Output only. The due date in yyyy-mm-dd format.", + "readOnly": true, + "type": "string" + }, + "exportChargeSubtotalAmountMicros": { + "description": "Output only. The pretax subtotal amount of invoice level export charges, in micros.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "exportChargeTaxAmountMicros": { + "description": "Output only. The sum of taxes on the invoice level export charges, in micros.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "exportChargeTotalAmountMicros": { + "description": "Output only. The total amount of invoice level export charges, in micros.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "id": { + "description": "Output only. The ID of the invoice. It appears on the invoice PDF as \"Invoice number\".", + "readOnly": true, + "type": "string" + }, + "issueDate": { + "description": "Output only. The issue date in yyyy-mm-dd format. It appears on the invoice PDF as either \"Issue date\" or \"Invoice date\".", + "readOnly": true, + "type": "string" + }, + "paymentsAccountId": { + "description": "Output only. A 16 digit ID used to identify the payments account associated with the billing setup, for example, \"1234-5678-9012-3456\". It appears on the invoice PDF as \"Billing Account Number\".", + "readOnly": true, + "type": "string" + }, + "paymentsProfileId": { + "description": "Output only. A 12 digit ID used to identify the payments profile associated with the billing setup, for example, \"1234-5678-9012\". It appears on the invoice PDF as \"Billing ID\".", + "readOnly": true, + "type": "string" + }, + "pdfUrl": { + "description": "Output only. The URL to a PDF copy of the invoice. Users need to pass in their OAuth token to request the PDF with this URL.", + "readOnly": true, + "type": "string" + }, + "regulatoryCostsSubtotalAmountMicros": { + "description": "Output only. The pretax subtotal amount of invoice level regulatory costs, in micros.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "regulatoryCostsTaxAmountMicros": { + "description": "Output only. The sum of taxes on the invoice level regulatory costs, in micros.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "regulatoryCostsTotalAmountMicros": { + "description": "Output only. The total amount of invoice level regulatory costs, in micros.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "replacedInvoices": { + "description": "Output only. The resource name of the original invoice(s) being rebilled or replaced by this invoice, if applicable. There might be multiple replaced invoices due to invoice consolidation. The replaced invoices may not belong to the same payments account. If `replaced_invoices` is set, `corrected_invoice` will not be set. Invoice resource names have the form: `customers/{customer_id}/invoices/{invoice_id}`", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "resourceName": { + "description": "Output only. The resource name of the invoice. Multiple customers can share a given invoice, so multiple resource names may point to the same invoice. Invoice resource names have the form: `customers/{customer_id}/invoices/{invoice_id}`", + "readOnly": true, + "type": "string" + }, + "serviceDateRange": { + "$ref": "GoogleAdsSearchads360V23Common__DateRange", + "description": "Output only. The service period date range of this invoice. The end date is inclusive.", + "readOnly": true + }, + "subtotalAmountMicros": { + "description": "Output only. The pretax subtotal amount, in micros. This is equal to the sum of the AccountBudgetSummary subtotal amounts and Invoice.adjustments_subtotal_amount_micros.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "taxAmountMicros": { + "description": "Output only. The sum of all taxes on the invoice, in micros. This equals the sum of the AccountBudgetSummary tax amounts, plus taxes not associated with a specific account budget.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "totalAmountMicros": { + "description": "Output only. The total amount, in micros. This equals the sum of Invoice.subtotal_amount_micros, Invoice.tax_amount_micros, Invoice.regulatory_costs_subtotal_amount_micros, and Invoice.export_charge_subtotal_amount_micros (which is separated into a separate line item starting with V14.1).", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "type": { + "description": "Output only. The type of invoice.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CREDIT_MEMO", + "INVOICE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "An invoice with a negative amount. The account receives a credit.", + "An invoice with a positive amount. The account owes a balance." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__KeywordPlan": { + "description": "A Keyword Planner plan. Max number of saved keyword plans: 10000. It's possible to remove plans if limit is reached.", + "id": "GoogleAdsSearchads360V23Resources__KeywordPlan", + "properties": { + "forecastPeriod": { + "$ref": "GoogleAdsSearchads360V23Resources__KeywordPlanForecastPeriod", + "description": "The date period used for forecasting the plan." + }, + "id": { + "description": "Output only. The ID of the keyword plan.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "The name of the keyword plan. This field is required and should not be empty when creating new keyword plans.", + "type": "string" + }, + "resourceName": { + "description": "Immutable. The resource name of the Keyword Planner plan. KeywordPlan resource names have the form: `customers/{customer_id}/keywordPlans/{kp_plan_id}`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__KeywordPlanAdGroup": { + "description": "A Keyword Planner ad group. Max number of keyword plan ad groups per plan: 200.", + "id": "GoogleAdsSearchads360V23Resources__KeywordPlanAdGroup", + "properties": { + "cpcBidMicros": { + "description": "A default ad group max cpc bid in micros in account currency for all biddable keywords under the keyword plan ad group. If not set, will inherit from parent campaign.", + "format": "int64", + "type": "string" + }, + "id": { + "description": "Output only. The ID of the keyword plan ad group.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "keywordPlanCampaign": { + "description": "The keyword plan campaign to which this ad group belongs.", + "type": "string" + }, + "name": { + "description": "The name of the keyword plan ad group. This field is required and should not be empty when creating keyword plan ad group.", + "type": "string" + }, + "resourceName": { + "description": "Immutable. The resource name of the Keyword Planner ad group. KeywordPlanAdGroup resource names have the form: `customers/{customer_id}/keywordPlanAdGroups/{kp_ad_group_id}`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__KeywordPlanAdGroupKeyword": { + "description": "A Keyword Plan ad group keyword. Max number of keyword plan keywords per plan: 10000.", + "id": "GoogleAdsSearchads360V23Resources__KeywordPlanAdGroupKeyword", + "properties": { + "cpcBidMicros": { + "description": "A keyword level max cpc bid in micros (for example, $1 = 1mm). The currency is the same as the account currency code. This will override any CPC bid set at the keyword plan ad group level. Not applicable for negative keywords. (negative = true) This field is Optional.", + "format": "int64", + "type": "string" + }, + "id": { + "description": "Output only. The ID of the Keyword Plan keyword.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "keywordPlanAdGroup": { + "description": "The Keyword Plan ad group to which this keyword belongs.", + "type": "string" + }, + "matchType": { + "description": "The keyword match type.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "EXACT", + "PHRASE", + "BROAD" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Exact match.", + "Phrase match.", + "Broad match." + ], + "type": "string" + }, + "negative": { + "description": "Immutable. If true, the keyword is negative.", + "type": "boolean" + }, + "resourceName": { + "description": "Immutable. The resource name of the Keyword Plan ad group keyword. KeywordPlanAdGroupKeyword resource names have the form: `customers/{customer_id}/keywordPlanAdGroupKeywords/{kp_ad_group_keyword_id}`", + "type": "string" + }, + "text": { + "description": "The keyword text.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__KeywordPlanCampaign": { + "description": "A Keyword Plan campaign. Max number of keyword plan campaigns per plan allowed: 1.", + "id": "GoogleAdsSearchads360V23Resources__KeywordPlanCampaign", + "properties": { + "cpcBidMicros": { + "description": "A default max cpc bid in micros, and in the account currency, for all ad groups under the campaign. This field is required and should not be empty when creating Keyword Plan campaigns.", + "format": "int64", + "type": "string" + }, + "geoTargets": { + "description": "The geo targets. Max number allowed: 20.", + "items": { + "$ref": "GoogleAdsSearchads360V23Resources__KeywordPlanGeoTarget" + }, + "type": "array" + }, + "id": { + "description": "Output only. The ID of the Keyword Plan campaign.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "keywordPlan": { + "description": "The keyword plan this campaign belongs to.", + "type": "string" + }, + "keywordPlanNetwork": { + "description": "Targeting network. This field is required and should not be empty when creating Keyword Plan campaigns.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "GOOGLE_SEARCH", + "GOOGLE_SEARCH_AND_PARTNERS" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "Google Search.", + "Google Search + Search partners." + ], + "type": "string" + }, + "languageConstants": { + "description": "The languages targeted for the Keyword Plan campaign. Max allowed: 1.", + "items": { + "type": "string" + }, + "type": "array" + }, + "name": { + "description": "The name of the Keyword Plan campaign. This field is required and should not be empty when creating Keyword Plan campaigns.", + "type": "string" + }, + "resourceName": { + "description": "Immutable. The resource name of the Keyword Plan campaign. KeywordPlanCampaign resource names have the form: `customers/{customer_id}/keywordPlanCampaigns/{kp_campaign_id}`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__KeywordPlanCampaignKeyword": { + "description": "A Keyword Plan Campaign keyword. Only negative keywords are supported for Campaign Keyword.", + "id": "GoogleAdsSearchads360V23Resources__KeywordPlanCampaignKeyword", + "properties": { + "id": { + "description": "Output only. The ID of the Keyword Plan negative keyword.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "keywordPlanCampaign": { + "description": "The Keyword Plan campaign to which this negative keyword belongs.", + "type": "string" + }, + "matchType": { + "description": "The keyword match type.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "EXACT", + "PHRASE", + "BROAD" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Exact match.", + "Phrase match.", + "Broad match." + ], + "type": "string" + }, + "negative": { + "description": "Immutable. If true, the keyword is negative. Must be set to true. Only negative campaign keywords are supported.", + "type": "boolean" + }, + "resourceName": { + "description": "Immutable. The resource name of the Keyword Plan Campaign keyword. KeywordPlanCampaignKeyword resource names have the form: `customers/{customer_id}/keywordPlanCampaignKeywords/{kp_campaign_keyword_id}`", + "type": "string" + }, + "text": { + "description": "The keyword text.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__KeywordPlanForecastPeriod": { + "description": "The forecasting period associated with the keyword plan.", + "id": "GoogleAdsSearchads360V23Resources__KeywordPlanForecastPeriod", + "properties": { + "dateInterval": { + "description": "A future date range relative to the current date used for forecasting.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "NEXT_WEEK", + "NEXT_MONTH", + "NEXT_QUARTER" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "The next week date range for keyword plan. The next week is based on the default locale of the user's account and is mostly SUN-SAT or MON-SUN. This can be different from next-7 days.", + "The next month date range for keyword plan.", + "The next quarter date range for keyword plan." + ], + "type": "string" + }, + "dateRange": { + "$ref": "GoogleAdsSearchads360V23Common__DateRange", + "description": "The custom date range used for forecasting. It cannot be greater than a year. The start and end dates must be in the future. Otherwise, an error will be returned when the forecasting action is performed. The start and end dates are inclusive." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__KeywordPlanGeoTarget": { + "description": "A geo target.", + "id": "GoogleAdsSearchads360V23Resources__KeywordPlanGeoTarget", + "properties": { + "geoTargetConstant": { + "description": "Required. The resource name of the geo target.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__KeywordThemeConstant": { + "description": "A Smart Campaign keyword theme constant.", + "id": "GoogleAdsSearchads360V23Resources__KeywordThemeConstant", + "properties": { + "countryCode": { + "description": "Output only. The ISO-3166 Alpha-2 country code of the constant, eg. \"US\". To display and query matching purpose, the keyword theme needs to be localized.", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Output only. The display name of the keyword theme or sub keyword theme.", + "readOnly": true, + "type": "string" + }, + "languageCode": { + "description": "Output only. The ISO-639-1 language code with 2 letters of the constant, eg. \"en\". To display and query matching purpose, the keyword theme needs to be localized.", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Output only. The resource name of the keyword theme constant. Keyword theme constant resource names have the form: `keywordThemeConstants/{keyword_theme_id}~{sub_keyword_theme_id}`", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__KeywordView": { + "description": "A keyword view.", + "id": "GoogleAdsSearchads360V23Resources__KeywordView", + "properties": { + "resourceName": { + "description": "Output only. The resource name of the keyword view. Keyword view resource names have the form: `customers/{customer_id}/keywordViews/{ad_group_id}~{criterion_id}`", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__Label": { + "description": "A label.", + "id": "GoogleAdsSearchads360V23Resources__Label", + "properties": { + "id": { + "description": "Output only. ID of the label. Read only.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "The name of the label. This field is required and should not be empty when creating a new label. The length of this string should be between 1 and 80, inclusive.", + "type": "string" + }, + "resourceName": { + "description": "Immutable. Name of the resource. Label resource names have the form: `customers/{owner_customer_id}/labels/{label_id}`", + "type": "string" + }, + "status": { + "description": "Output only. Status of the label. Read only.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ENABLED", + "REMOVED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Label is enabled.", + "Label is removed." + ], + "readOnly": true, + "type": "string" + }, + "textLabel": { + "$ref": "GoogleAdsSearchads360V23Common__TextLabel", + "description": "A type of label displaying text on a colored background." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__LandingPageView": { + "description": "A landing page view with metrics aggregated at the unexpanded final URL level.", + "id": "GoogleAdsSearchads360V23Resources__LandingPageView", + "properties": { + "resourceName": { + "description": "Output only. The resource name of the landing page view. Landing page view resource names have the form: `customers/{customer_id}/landingPageViews/{unexpanded_final_url_fingerprint}`", + "readOnly": true, + "type": "string" + }, + "unexpandedFinalUrl": { + "description": "Output only. The advertiser-specified final URL.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__LanguageConstant": { + "description": "A language.", + "id": "GoogleAdsSearchads360V23Resources__LanguageConstant", + "properties": { + "code": { + "description": "Output only. The language code, for example, \"en_US\", \"en_AU\", \"es\", \"fr\", etc.", + "readOnly": true, + "type": "string" + }, + "id": { + "description": "Output only. The ID of the language constant.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. The full name of the language in English, for example, \"English (US)\", \"Spanish\", etc.", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Output only. The resource name of the language constant. Language constant resource names have the form: `languageConstants/{criterion_id}`", + "readOnly": true, + "type": "string" + }, + "targetable": { + "description": "Output only. Whether the language is targetable.", + "readOnly": true, + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__LeadFormSubmissionData": { + "description": "Data from lead form submissions.", + "id": "GoogleAdsSearchads360V23Resources__LeadFormSubmissionData", + "properties": { + "adGroup": { + "description": "Output only. AdGroup associated with the submitted lead form.", + "readOnly": true, + "type": "string" + }, + "adGroupAd": { + "description": "Output only. AdGroupAd associated with the submitted lead form.", + "readOnly": true, + "type": "string" + }, + "asset": { + "description": "Output only. Asset associated with the submitted lead form.", + "readOnly": true, + "type": "string" + }, + "campaign": { + "description": "Output only. Campaign associated with the submitted lead form.", + "readOnly": true, + "type": "string" + }, + "customLeadFormSubmissionFields": { + "description": "Output only. Submission data associated with a custom lead form.", + "items": { + "$ref": "GoogleAdsSearchads360V23Resources__CustomLeadFormSubmissionField" + }, + "readOnly": true, + "type": "array" + }, + "gclid": { + "description": "Output only. Google Click Id associated with the submissed lead form.", + "readOnly": true, + "type": "string" + }, + "id": { + "description": "Output only. ID of this lead form submission.", + "readOnly": true, + "type": "string" + }, + "leadFormSubmissionFields": { + "description": "Output only. Submission data associated with a lead form.", + "items": { + "$ref": "GoogleAdsSearchads360V23Resources__LeadFormSubmissionField" + }, + "readOnly": true, + "type": "array" + }, + "resourceName": { + "description": "Output only. The resource name of the lead form submission data. Lead form submission data resource names have the form: `customers/{customer_id}/leadFormSubmissionData/{lead_form_submission_data_id}`", + "readOnly": true, + "type": "string" + }, + "submissionDateTime": { + "description": "Output only. The date and time at which the lead form was submitted. The format is \"yyyy-mm-dd hh:mm:ss+|-hh:mm\", for example, \"2019-01-01 12:32:45-08:00\".", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__LeadFormSubmissionField": { + "description": "Fields in the submitted lead form.", + "id": "GoogleAdsSearchads360V23Resources__LeadFormSubmissionField", + "properties": { + "fieldType": { + "description": "Output only. Field type for lead form fields.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "FULL_NAME", + "EMAIL", + "PHONE_NUMBER", + "POSTAL_CODE", + "STREET_ADDRESS", + "CITY", + "REGION", + "COUNTRY", + "WORK_EMAIL", + "COMPANY_NAME", + "WORK_PHONE", + "JOB_TITLE", + "GOVERNMENT_ISSUED_ID_CPF_BR", + "GOVERNMENT_ISSUED_ID_DNI_AR", + "GOVERNMENT_ISSUED_ID_DNI_PE", + "GOVERNMENT_ISSUED_ID_RUT_CL", + "GOVERNMENT_ISSUED_ID_CC_CO", + "GOVERNMENT_ISSUED_ID_CI_EC", + "GOVERNMENT_ISSUED_ID_RFC_MX", + "FIRST_NAME", + "LAST_NAME", + "VEHICLE_MODEL", + "VEHICLE_TYPE", + "PREFERRED_DEALERSHIP", + "VEHICLE_PURCHASE_TIMELINE", + "VEHICLE_OWNERSHIP", + "VEHICLE_PAYMENT_TYPE", + "VEHICLE_CONDITION", + "COMPANY_SIZE", + "ANNUAL_SALES", + "YEARS_IN_BUSINESS", + "JOB_DEPARTMENT", + "JOB_ROLE", + "OVER_18_AGE", + "OVER_19_AGE", + "OVER_20_AGE", + "OVER_21_AGE", + "OVER_22_AGE", + "OVER_23_AGE", + "OVER_24_AGE", + "OVER_25_AGE", + "OVER_26_AGE", + "OVER_27_AGE", + "OVER_28_AGE", + "OVER_29_AGE", + "OVER_30_AGE", + "OVER_31_AGE", + "OVER_32_AGE", + "OVER_33_AGE", + "OVER_34_AGE", + "OVER_35_AGE", + "OVER_36_AGE", + "OVER_37_AGE", + "OVER_38_AGE", + "OVER_39_AGE", + "OVER_40_AGE", + "OVER_41_AGE", + "OVER_42_AGE", + "OVER_43_AGE", + "OVER_44_AGE", + "OVER_45_AGE", + "OVER_46_AGE", + "OVER_47_AGE", + "OVER_48_AGE", + "OVER_49_AGE", + "OVER_50_AGE", + "OVER_51_AGE", + "OVER_52_AGE", + "OVER_53_AGE", + "OVER_54_AGE", + "OVER_55_AGE", + "OVER_56_AGE", + "OVER_57_AGE", + "OVER_58_AGE", + "OVER_59_AGE", + "OVER_60_AGE", + "OVER_61_AGE", + "OVER_62_AGE", + "OVER_63_AGE", + "OVER_64_AGE", + "OVER_65_AGE", + "EDUCATION_PROGRAM", + "EDUCATION_COURSE", + "PRODUCT", + "SERVICE", + "OFFER", + "CATEGORY", + "PREFERRED_CONTACT_METHOD", + "PREFERRED_LOCATION", + "PREFERRED_CONTACT_TIME", + "PURCHASE_TIMELINE", + "YEARS_OF_EXPERIENCE", + "JOB_INDUSTRY", + "LEVEL_OF_EDUCATION", + "PROPERTY_TYPE", + "REALTOR_HELP_GOAL", + "PROPERTY_COMMUNITY", + "PRICE_RANGE", + "NUMBER_OF_BEDROOMS", + "FURNISHED_PROPERTY", + "PETS_ALLOWED_PROPERTY", + "NEXT_PLANNED_PURCHASE", + "EVENT_SIGNUP_INTEREST", + "PREFERRED_SHOPPING_PLACES", + "FAVORITE_BRAND", + "TRANSPORTATION_COMMERCIAL_LICENSE_TYPE", + "EVENT_BOOKING_INTEREST", + "DESTINATION_COUNTRY", + "DESTINATION_CITY", + "DEPARTURE_COUNTRY", + "DEPARTURE_CITY", + "DEPARTURE_DATE", + "RETURN_DATE", + "NUMBER_OF_TRAVELERS", + "TRAVEL_BUDGET", + "TRAVEL_ACCOMMODATION" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The user will be asked to fill in their given and family name. This field cannot be set at the same time as GIVEN_NAME or FAMILY_NAME.", + "The user will be asked to fill in their email address.", + "The user will be asked to fill in their phone number.", + "The user will be asked to fill in their zip code.", + "The user will be asked to fill in their street address.", + "The user will be asked to fill in their city.", + "The user will be asked to fill in their region part of the address (for example, state for US, province for Canada).", + "The user will be asked to fill in their country.", + "The user will be asked to fill in their work email address.", + "The user will be asked to fill in their company name.", + "The user will be asked to fill in their work phone.", + "The user will be asked to fill in their job title.", + "The user will be asked to fill in their CPF for Brazil users.", + "The user will be asked to fill in their DNI for Argentina users.", + "The user will be asked to fill in their DNI for Peru users.", + "The user will be asked to fill in their RUT for Chile users.", + "The user will be asked to fill in their CC for Colombia users.", + "The user will be asked to fill in their CI for Ecuador users.", + "The user will be asked to fill in their RFC for Mexico users.", + "The user will be asked to fill in their first name. This field can not be set at the same time as FULL_NAME.", + "The user will be asked to fill in their last name. This field can not be set at the same time as FULL_NAME.", + "Question: \"Which model are you interested in?\" Category: \"Auto\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Which type of vehicle are you interested in?\" Category: \"Auto\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"What is your preferred dealership?\" Category: \"Auto\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"When do you plan on purchasing a vehicle?\" Category: \"Auto\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Do you own a vehicle?\" Category: \"Auto\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"What vehicle ownership option are you interested in?\" Category: \"Auto\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"What type of vehicle condition are you interested in?\" Category: \"Auto\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"What size is your company?\" Category: \"Business\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"What is your annual sales volume?\" Category: \"Business\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"How many years have you been in business?\" Category: \"Business\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"What is your job department?\" Category: \"Business\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"What is your job role?\" Category: \"Business\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 18 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 19 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 20 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 21 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 22 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 23 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 24 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 25 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 26 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 27 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 28 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 29 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 30 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 31 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 32 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 33 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 34 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 35 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 36 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 37 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 38 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 39 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 40 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 41 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 42 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 43 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 44 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 45 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 46 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 47 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 48 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 49 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 50 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 51 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 52 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 53 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 54 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 55 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 56 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 57 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 58 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 59 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 60 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 61 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 62 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 63 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 64 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you over 65 years of age?\" Category: \"Demographics\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Which program are you interested in?\" Category: \"Education\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Which course are you interested in?\" Category: \"Education\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Which product are you interested in?\" Category: \"General\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Which service are you interested in?\" Category: \"General\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Which offer are you interested in?\" Category: \"General\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Which category are you interested in?\" Category: \"General\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"What is your preferred method of contact?\" Category: \"General\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"What is your preferred location?\" Category: \"General\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"What is the best time to contact you?\" Category: \"General\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"When are you looking to make a purchase?\" Category: \"General\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"How many years of work experience do you have?\" Category: \"Jobs\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"What industry do you work in?\" Category: \"Jobs\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"What is your highest level of education?\" Category: \"Jobs\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"What type of property are you looking for?\" Category: \"Real Estate\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"What do you need a realtor's help with?\" Category: \"Real Estate\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"What neighborhood are you interested in?\" Category: \"Real Estate\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"What price range are you looking for?\" Category: \"Real Estate\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"How many bedrooms are you looking for?\" Category: \"Real Estate\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you looking for a fully furnished property?\" Category: \"Real Estate\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Are you looking for properties that allow pets?\" Category: \"Real Estate\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"What is the next product you plan to purchase?\" Category: \"Retail\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Would you like to sign up for an event?\" Category: \"Retail\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Where are you interested in shopping?\" Category: \"Retail\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"What is your favorite brand?\" Category: \"Retail\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Which type of valid commercial license do you have?\" Category: \"Transportation\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Interested in booking an event?\" Category: \"Travel\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"What is your destination country?\" Category: \"Travel\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"What is your destination city?\" Category: \"Travel\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"What is your departure country?\" Category: \"Travel\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"What is your departure city?\" Category: \"Travel\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"What is your departure date?\" Category: \"Travel\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"What is your return date?\" Category: \"Travel\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"How many people are you traveling with?\" Category: \"Travel\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"What is your travel budget?\" Category: \"Travel\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields.", + "Question: \"Where do you want to stay during your travel?\" Category: \"Travel\" This field is subject to a limit of 5 qualifying questions per form and cannot be used if values are set using custom_question_fields." + ], + "readOnly": true, + "type": "string" + }, + "fieldValue": { + "description": "Output only. Field value for lead form fields.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__LicenseVerificationArtifact": { + "description": "specific to a local services license.", + "id": "GoogleAdsSearchads360V23Resources__LicenseVerificationArtifact", + "properties": { + "expirationDateTime": { + "description": "Output only. The timestamp when this license expires. The format is \"YYYY-MM-DD HH:MM:SS\" in the Google Ads account's timezone. Examples: \"2018-03-05 09:15:00\" or \"2018-02-01 14:34:30\"", + "readOnly": true, + "type": "string" + }, + "licenseDocumentReadonly": { + "$ref": "GoogleAdsSearchads360V23Common__LocalServicesDocumentReadOnly", + "description": "Output only. The readonly field containing the information for an uploaded license document.", + "readOnly": true + }, + "licenseNumber": { + "description": "Output only. License number.", + "readOnly": true, + "type": "string" + }, + "licenseType": { + "description": "Output only. License type / name.", + "readOnly": true, + "type": "string" + }, + "licenseeFirstName": { + "description": "Output only. First name of the licensee.", + "readOnly": true, + "type": "string" + }, + "licenseeLastName": { + "description": "Output only. Last name of the licensee.", + "readOnly": true, + "type": "string" + }, + "rejectionReason": { + "description": "Output only. License rejection reason.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "BUSINESS_NAME_MISMATCH", + "UNAUTHORIZED", + "EXPIRED", + "POOR_QUALITY", + "UNVERIFIABLE", + "WRONG_DOCUMENT_OR_ID", + "OTHER" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Business name doesn't match business name for the Local Services Ad.", + "License is unauthorized or been revoked.", + "License is expired.", + "License is poor quality - blurry images, illegible, etc...", + "License cannot be verified due to a not legitimate image.", + "License is not the requested document type or contains an invalid ID.", + "License has another flaw not listed explicitly." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__LifeEvent": { + "description": "A life event: a particular interest-based vertical to be targeted to reach users when they are in the midst of important life milestones.", + "id": "GoogleAdsSearchads360V23Resources__LifeEvent", + "properties": { + "availabilities": { + "description": "Output only. Availability information of the life event.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__CriterionCategoryAvailability" + }, + "readOnly": true, + "type": "array" + }, + "id": { + "description": "Output only. The ID of the life event.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "launchedToAll": { + "description": "Output only. True if the life event is launched to all channels and locales.", + "readOnly": true, + "type": "boolean" + }, + "name": { + "description": "Output only. The name of the life event, for example,\"Recently Moved\"", + "readOnly": true, + "type": "string" + }, + "parent": { + "description": "Output only. The parent of the life_event.", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Output only. The resource name of the life event. Life event resource names have the form: `customers/{customer_id}/lifeEvents/{life_event_id}`", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__ListingGroupFilterDimension": { + "description": "Listing dimensions for the asset group listing group filter.", + "id": "GoogleAdsSearchads360V23Resources__ListingGroupFilterDimension", + "properties": { + "productBrand": { + "$ref": "GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductBrand", + "description": "Brand of a product offer." + }, + "productCategory": { + "$ref": "GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductCategory", + "description": "Category of a product offer." + }, + "productChannel": { + "$ref": "GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductChannel", + "description": "Locality of a product offer." + }, + "productCondition": { + "$ref": "GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductCondition", + "description": "Condition of a product offer." + }, + "productCustomAttribute": { + "$ref": "GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductCustomAttribute", + "description": "Custom attribute of a product offer." + }, + "productItemId": { + "$ref": "GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductItemId", + "description": "Item id of a product offer." + }, + "productType": { + "$ref": "GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductType", + "description": "Type of a product offer." + }, + "webpage": { + "$ref": "GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_Webpage", + "description": "Filters for URLs in a page feed and URLs from the advertiser web domain." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__ListingGroupFilterDimensionPath": { + "description": "The path defining of dimensions defining a listing group filter.", + "id": "GoogleAdsSearchads360V23Resources__ListingGroupFilterDimensionPath", + "properties": { + "dimensions": { + "description": "Output only. The complete path of dimensions through the listing group filter hierarchy (excluding the root node) to this listing group filter.", + "items": { + "$ref": "GoogleAdsSearchads360V23Resources__ListingGroupFilterDimension" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__LocalServicesEmployee": { + "description": "A local services employee resource.", + "id": "GoogleAdsSearchads360V23Resources__LocalServicesEmployee", + "properties": { + "categoryIds": { + "description": "Output only. Category of the employee. A list of Local Services category IDs can be found at https://developers.google.com/google-ads/api/data/codes-formats#local_services_ids.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "creationDateTime": { + "description": "Output only. Timestamp of employee creation. The format is \"YYYY-MM-DD HH:MM:SS\" in the Google Ads account's timezone. Examples: \"2018-03-05 09:15:00\" or \"2018-02-01 14:34:30\"", + "readOnly": true, + "type": "string" + }, + "emailAddress": { + "description": "Output only. Email address of the employee.", + "readOnly": true, + "type": "string" + }, + "fellowships": { + "description": "Output only. The institutions where the employee has completed their fellowship.", + "items": { + "$ref": "GoogleAdsSearchads360V23Resources__Fellowship" + }, + "readOnly": true, + "type": "array" + }, + "firstName": { + "description": "Output only. First name of the employee.", + "readOnly": true, + "type": "string" + }, + "id": { + "description": "Output only. The ID of the employee.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "jobTitle": { + "description": "Output only. Job title for this employee, such as \"Senior partner\" in legal verticals.", + "readOnly": true, + "type": "string" + }, + "languagesSpoken": { + "description": "Output only. Languages that the employee speaks, represented as language tags from https://developers.google.com/admin-sdk/directory/v1/languages", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "lastName": { + "description": "Output only. Last name of the employee.", + "readOnly": true, + "type": "string" + }, + "middleName": { + "description": "Output only. Middle name of the employee.", + "readOnly": true, + "type": "string" + }, + "nationalProviderIdNumber": { + "description": "Output only. NPI id associated with the employee.", + "readOnly": true, + "type": "string" + }, + "residencies": { + "description": "Output only. The institutions where the employee has completed their residency.", + "items": { + "$ref": "GoogleAdsSearchads360V23Resources__Residency" + }, + "readOnly": true, + "type": "array" + }, + "resourceName": { + "description": "Immutable. The resource name of the Local Services Verification. Local Services Verification resource names have the form: `customers/{customer_id}/localServicesEmployees/{gls_employee_id}`", + "type": "string" + }, + "status": { + "description": "Output only. Employee status, such as DELETED or ENABLED.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ENABLED", + "REMOVED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Employee is not removed, and employee status is active.", + "Employee is removed. Used to delete an employee from the business." + ], + "readOnly": true, + "type": "string" + }, + "type": { + "description": "Output only. Employee type.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "BUSINESS_OWNER", + "EMPLOYEE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Represents the owner of the business.", + "Represents an employee of the business." + ], + "readOnly": true, + "type": "string" + }, + "universityDegrees": { + "description": "Output only. A list of degrees this employee has obtained, and wants to feature.", + "items": { + "$ref": "GoogleAdsSearchads360V23Resources__UniversityDegree" + }, + "readOnly": true, + "type": "array" + }, + "yearStartedPracticing": { + "description": "Output only. The year that this employee started practicing in this field.", + "format": "int32", + "readOnly": true, + "type": "integer" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__LocalServicesLead": { + "description": "Data from Local Services Lead. Contains details of Lead which is generated when user calls, messages or books service from advertiser. More info: https://ads.google.com/local-services-ads", + "id": "GoogleAdsSearchads360V23Resources__LocalServicesLead", + "properties": { + "categoryId": { + "description": "Output only. Service category of the lead. For example: `xcat:service_area_business_hvac`, `xcat:service_area_business_real_estate_agent`, etc. For more details see: https://developers.google.com/google-ads/api/data/codes-formats#local_services_ids", + "readOnly": true, + "type": "string" + }, + "contactDetails": { + "$ref": "GoogleAdsSearchads360V23Resources__ContactDetails", + "description": "Output only. Lead's contact details.", + "readOnly": true + }, + "creationDateTime": { + "description": "Output only. The date time at which lead was created by Local Services Ads. The format is \"YYYY-MM-DD HH:MM:SS\" in the Google Ads account's timezone. Examples: \"2018-03-05 09:15:00\" or \"2018-02-01 14:34:30\"", + "readOnly": true, + "type": "string" + }, + "creditDetails": { + "$ref": "GoogleAdsSearchads360V23Resources__CreditDetails", + "description": "Output only. Credit details of the lead.", + "readOnly": true + }, + "id": { + "description": "Output only. ID of this Lead.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "leadCharged": { + "description": "Output only. True if the advertiser was charged for the lead.", + "readOnly": true, + "type": "boolean" + }, + "leadFeedbackSubmitted": { + "description": "Output only. True if the advertiser submitted feedback for the lead.", + "readOnly": true, + "type": "boolean" + }, + "leadStatus": { + "description": "Output only. Current status of lead.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "NEW", + "ACTIVE", + "BOOKED", + "DECLINED", + "EXPIRED", + "DISABLED", + "CONSUMER_DECLINED", + "WIPED_OUT" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "New lead which hasn't yet been seen by advertiser.", + "Lead that thas been interacted by advertiser.", + "Lead has been booked.", + "Lead was declined by advertiser.", + "Lead has expired due to inactivity.", + "Disabled due to spam or dispute.", + "Consumer declined the lead.", + "Personally Identifiable Information of the lead is wiped out." + ], + "readOnly": true, + "type": "string" + }, + "leadType": { + "description": "Output only. Type of Local Services lead: phone, message, booking, etc.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "MESSAGE", + "PHONE_CALL", + "BOOKING" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Message lead.", + "Lead created by phone call.", + "Booking lead." + ], + "readOnly": true, + "type": "string" + }, + "locale": { + "description": "Output only. Language used by the Local Services provider linked to lead. See https://developers.google.com/google-ads/api/data/codes-formats#locales", + "readOnly": true, + "type": "string" + }, + "note": { + "$ref": "GoogleAdsSearchads360V23Resources__Note", + "description": "Output only. Note added by advertiser for the lead.", + "readOnly": true + }, + "resourceName": { + "description": "Immutable. The resource name of the local services lead data. Local Services Lead resource name have the form `customers/{customer_id}/localServicesLead/{local_services_lead_id}`", + "type": "string" + }, + "serviceId": { + "description": "Output only. Service for the category. For example: `buyer_agent`, `seller_agent` for the category of `xcat:service_area_business_real_estate_agent`.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__LocalServicesLeadConversation": { + "description": "Data from Local Services Lead Conversation. Contains details of Lead Conversation which is generated when user calls, messages or books service from advertiser. These are appended to a Lead. More info: https://ads.google.com/local-services-ads", + "id": "GoogleAdsSearchads360V23Resources__LocalServicesLeadConversation", + "properties": { + "conversationChannel": { + "description": "Output only. Type of GLS lead conversation, EMAIL, MESSAGE, PHONE_CALL, SMS, etc.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "EMAIL", + "MESSAGE", + "PHONE_CALL", + "SMS", + "BOOKING", + "WHATSAPP", + "ADS_API" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Email lead conversation.", + "Message lead conversation.", + "Phone call lead conversation.", + "SMS lead conversation.", + "Booking lead conversation.", + "WhatsApp lead conversation.", + "Lead conversation created through Google Ads API." + ], + "readOnly": true, + "type": "string" + }, + "eventDateTime": { + "description": "Output only. The date time at which lead conversation was created by Local Services Ads. The format is \"YYYY-MM-DD HH:MM:SS\" in the Google Ads account's timezone. Examples: \"2018-03-05 09:15:00\" or \"2018-02-01 14:34:30\"", + "readOnly": true, + "type": "string" + }, + "id": { + "description": "Output only. ID of this Lead Conversation.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "lead": { + "description": "Output only. Resource name of Lead associated to the Lead Conversation.", + "readOnly": true, + "type": "string" + }, + "messageDetails": { + "$ref": "GoogleAdsSearchads360V23Resources__MessageDetails", + "description": "Output only. Details of message conversation in case of EMAIL, MESSAGE or SMS.", + "readOnly": true + }, + "participantType": { + "description": "Output only. Type of participant in the lead conversation, ADVERTISER or CONSUMER.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ADVERTISER", + "CONSUMER" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Local Services Ads Provider participant.", + "Local Services Ads Consumer participant." + ], + "readOnly": true, + "type": "string" + }, + "phoneCallDetails": { + "$ref": "GoogleAdsSearchads360V23Resources__PhoneCallDetails", + "description": "Output only. Details of phone call conversation in case of PHONE_CALL.", + "readOnly": true + }, + "resourceName": { + "description": "Output only. The resource name of the local services lead conversation data. Local Services Lead Conversation resource name have the form `customers/{customer_id}/localServicesLeadConversation/{local_services_lead_conversation_id}`", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__LocalServicesSettings": { + "description": "Settings for Local Services customer.", + "id": "GoogleAdsSearchads360V23Resources__LocalServicesSettings", + "properties": { + "granularInsuranceStatuses": { + "description": "Output only. A read-only list of geo vertical level insurance statuses.", + "items": { + "$ref": "GoogleAdsSearchads360V23Resources__GranularInsuranceStatus" + }, + "readOnly": true, + "type": "array" + }, + "granularLicenseStatuses": { + "description": "Output only. A read-only list of geo vertical level license statuses.", + "items": { + "$ref": "GoogleAdsSearchads360V23Resources__GranularLicenseStatus" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__LocalServicesVerificationArtifact": { + "description": "A local services verification resource.", + "id": "GoogleAdsSearchads360V23Resources__LocalServicesVerificationArtifact", + "properties": { + "artifactType": { + "description": "Output only. The type of the verification artifact.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "BACKGROUND_CHECK", + "INSURANCE", + "LICENSE", + "BUSINESS_REGISTRATION_CHECK" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Background check verification artifact.", + "Insurance verification artifact.", + "License verification artifact.", + "Business registration check verification artifact." + ], + "readOnly": true, + "type": "string" + }, + "backgroundCheckVerificationArtifact": { + "$ref": "GoogleAdsSearchads360V23Resources__BackgroundCheckVerificationArtifact", + "description": "Output only. A background check verification artifact.", + "readOnly": true + }, + "businessRegistrationCheckVerificationArtifact": { + "$ref": "GoogleAdsSearchads360V23Resources__BusinessRegistrationCheckVerificationArtifact", + "description": "Output only. A business registration check verification artifact.", + "readOnly": true + }, + "creationDateTime": { + "description": "Output only. The timestamp when this verification artifact was created. The format is \"YYYY-MM-DD HH:MM:SS\" in the Google Ads account's timezone. Examples: \"2018-03-05 09:15:00\" or \"2018-02-01 14:34:30\"", + "readOnly": true, + "type": "string" + }, + "id": { + "description": "Output only. The ID of the verification artifact.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "insuranceVerificationArtifact": { + "$ref": "GoogleAdsSearchads360V23Resources__InsuranceVerificationArtifact", + "description": "Output only. An insurance verification artifact.", + "readOnly": true + }, + "licenseVerificationArtifact": { + "$ref": "GoogleAdsSearchads360V23Resources__LicenseVerificationArtifact", + "description": "Output only. A license verification artifact.", + "readOnly": true + }, + "resourceName": { + "description": "Immutable. The resource name of the Local Services Verification. Local Services Verification resource names have the form: `customers/{customer_id}/localServicesVerificationArtifacts/{verification_artifact_id}`", + "type": "string" + }, + "status": { + "description": "Output only. The status of the verification artifact.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "PASSED", + "FAILED", + "PENDING", + "NO_SUBMISSION", + "CANCELLED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Artifact has passed verification.", + "Artifact has failed verification.", + "Artifact is in the process of verification.", + "Artifact needs user to upload information before it is verified.", + "Artifact has been cancelled by the user." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__LocationInterestView": { + "description": "A location interest view summarizes the performance of adgroup location interest criteria.", + "id": "GoogleAdsSearchads360V23Resources__LocationInterestView", + "properties": { + "resourceName": { + "description": "Output only. The resource name of the location interest view. Location interest view resource names have the form: `customers/{customer_id}/locationInterestViews/{campaign_id}~{ad_group_id}~{criterion_id}`", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__LocationView": { + "description": "A location view summarizes the performance of campaigns by a Location criterion.", + "id": "GoogleAdsSearchads360V23Resources__LocationView", + "properties": { + "resourceName": { + "description": "Output only. The resource name of the location view. Location view resource names have the form: `customers/{customer_id}/locationViews/{campaign_id}~{criterion_id}`", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__ManagedPlacementView": { + "description": "A managed placement view.", + "id": "GoogleAdsSearchads360V23Resources__ManagedPlacementView", + "properties": { + "resourceName": { + "description": "Output only. The resource name of the Managed Placement view. Managed placement view resource names have the form: `customers/{customer_id}/managedPlacementViews/{ad_group_id}~{criterion_id}`", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__MatchedLocationInterestView": { + "description": "A view that reports metrics for locations where users showed interest, and which matched the advertiser's location interest targeting (defined as geo targets at the AdGroup level). The data is aggregated at the country level by default. This view is currently only available for AI Max campaigns.", + "id": "GoogleAdsSearchads360V23Resources__MatchedLocationInterestView", + "properties": { + "resourceName": { + "description": "Output only. The resource name of the matched location interest view. Matched location interest view resource names have the form: `customers/{customer_id}/matchedLocationInterestViews/{country_criterion_id}`", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__MediaAudio": { + "description": "Encapsulates an Audio.", + "id": "GoogleAdsSearchads360V23Resources__MediaAudio", + "properties": { + "adDurationMillis": { + "description": "Output only. The duration of the Audio in milliseconds.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__MediaBundle": { + "description": "Represents a ZIP archive media the content of which contains HTML5 assets.", + "id": "GoogleAdsSearchads360V23Resources__MediaBundle", + "properties": { + "data": { + "description": "Immutable. Raw zipped data.", + "format": "byte", + "type": "string" + }, + "url": { + "description": "Output only. The url to access the uploaded zipped data. For example, https://tpc.googlesyndication.com/simgad/123 This field is read-only.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__MediaFile": { + "description": "A media file.", + "id": "GoogleAdsSearchads360V23Resources__MediaFile", + "properties": { + "audio": { + "$ref": "GoogleAdsSearchads360V23Resources__MediaAudio", + "description": "Output only. Encapsulates an Audio.", + "readOnly": true + }, + "fileSize": { + "description": "Output only. The size of the media file in bytes.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "id": { + "description": "Output only. The ID of the media file.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "image": { + "$ref": "GoogleAdsSearchads360V23Resources__MediaImage", + "description": "Immutable. Encapsulates an Image." + }, + "mediaBundle": { + "$ref": "GoogleAdsSearchads360V23Resources__MediaBundle", + "description": "Immutable. A ZIP archive media the content of which contains HTML5 assets." + }, + "mimeType": { + "description": "Output only. The mime type of the media file.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "IMAGE_JPEG", + "IMAGE_GIF", + "IMAGE_PNG", + "FLASH", + "TEXT_HTML", + "PDF", + "MSWORD", + "MSEXCEL", + "RTF", + "AUDIO_WAV", + "AUDIO_MP3", + "HTML5_AD_ZIP" + ], + "enumDescriptions": [ + "The mime type has not been specified.", + "The received value is not known in this version. This is a response-only value.", + "MIME type of image/jpeg.", + "MIME type of image/gif.", + "MIME type of image/png.", + "MIME type of application/x-shockwave-flash.", + "MIME type of text/html.", + "MIME type of application/pdf.", + "MIME type of application/msword.", + "MIME type of application/vnd.ms-excel.", + "MIME type of application/rtf.", + "MIME type of audio/wav.", + "MIME type of audio/mp3.", + "MIME type of application/x-html5-ad-zip." + ], + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Immutable. The name of the media file. The name can be used by clients to help identify previously uploaded media.", + "type": "string" + }, + "resourceName": { + "description": "Immutable. The resource name of the media file. Media file resource names have the form: `customers/{customer_id}/mediaFiles/{media_file_id}`", + "type": "string" + }, + "sourceUrl": { + "description": "Immutable. The URL of where the original media file was downloaded from (or a file name). Only used for media of type AUDIO and IMAGE.", + "type": "string" + }, + "type": { + "description": "Immutable. Type of the media file.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "IMAGE", + "ICON", + "MEDIA_BUNDLE", + "AUDIO", + "VIDEO", + "DYNAMIC_IMAGE" + ], + "enumDescriptions": [ + "The media type has not been specified.", + "The received value is not known in this version. This is a response-only value.", + "Static image, used for image ad.", + "Small image, used for map ad.", + "ZIP file, used in fields of template ads.", + "Audio file.", + "Video file.", + "Animated image, such as animated GIF." + ], + "type": "string" + }, + "video": { + "$ref": "GoogleAdsSearchads360V23Resources__MediaVideo", + "description": "Immutable. Encapsulates a Video." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__MediaImage": { + "description": "Encapsulates an Image.", + "id": "GoogleAdsSearchads360V23Resources__MediaImage", + "properties": { + "data": { + "description": "Immutable. Raw image data.", + "format": "byte", + "type": "string" + }, + "fullSizeImageUrl": { + "description": "Output only. The url to the full size version of the image.", + "readOnly": true, + "type": "string" + }, + "previewSizeImageUrl": { + "description": "Output only. The url to the preview size version of the image.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__MediaVideo": { + "description": "Encapsulates a Video.", + "id": "GoogleAdsSearchads360V23Resources__MediaVideo", + "properties": { + "adDurationMillis": { + "description": "Output only. The duration of the Video in milliseconds.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "advertisingIdCode": { + "description": "Output only. The Advertising Digital Identification code for this video, as defined by the American Association of Advertising Agencies, used mainly for television commercials.", + "readOnly": true, + "type": "string" + }, + "isciCode": { + "description": "Output only. The Industry Standard Commercial Identifier code for this video, used mainly for television commercials.", + "readOnly": true, + "type": "string" + }, + "youtubeVideoId": { + "description": "Immutable. The YouTube video ID (as seen in YouTube URLs). Adding prefix \"https://www.youtube.com/watch?v=\" to this ID will get the YouTube streaming URL for this video.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__MerchantCenterIdentifier": { + "description": "The identifier for Google Merchant Center account", + "id": "GoogleAdsSearchads360V23Resources__MerchantCenterIdentifier", + "properties": { + "merchantCenterId": { + "description": "Immutable. The customer ID of the Google Merchant Center account. This field is required and should not be empty when creating a new Merchant Center link. It is unable to be modified after the creation of the link.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__MerchantCenterLinkInvitationIdentifier": { + "description": "The identifier for Merchant Center Account.", + "id": "GoogleAdsSearchads360V23Resources__MerchantCenterLinkInvitationIdentifier", + "properties": { + "merchantCenterId": { + "description": "Output only. The Merchant Center id of the Merchant account. This field is read only", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__MessageDetails": { + "description": "Represents details of text message in case of email, message or SMS.", + "id": "GoogleAdsSearchads360V23Resources__MessageDetails", + "properties": { + "attachmentUrls": { + "description": "Output only. URL to the SMS or email attachments. These URLs can be used to download the contents of the attachment by using the developer token.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "text": { + "description": "Output only. Textual content of the message.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__MobileAppCategoryConstant": { + "description": "A mobile application category constant.", + "id": "GoogleAdsSearchads360V23Resources__MobileAppCategoryConstant", + "properties": { + "id": { + "description": "Output only. The ID of the mobile app category constant.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "name": { + "description": "Output only. Mobile app category name.", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Output only. The resource name of the mobile app category constant. Mobile app category constant resource names have the form: `mobileAppCategoryConstants/{mobile_app_category_id}`", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__MobileDeviceConstant": { + "description": "A mobile device constant.", + "id": "GoogleAdsSearchads360V23Resources__MobileDeviceConstant", + "properties": { + "id": { + "description": "Output only. The ID of the mobile device constant.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "manufacturerName": { + "description": "Output only. The manufacturer of the mobile device.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. The name of the mobile device.", + "readOnly": true, + "type": "string" + }, + "operatingSystemName": { + "description": "Output only. The operating system of the mobile device.", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Output only. The resource name of the mobile device constant. Mobile device constant resource names have the form: `mobileDeviceConstants/{criterion_id}`", + "readOnly": true, + "type": "string" + }, + "type": { + "description": "Output only. The type of mobile device.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "MOBILE", + "TABLET" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Mobile phones.", + "Tablets." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__Note": { + "description": "Represents a note added to a lead by the advertiser. Advertisers can edit notes, which will reset edit time and change description.", + "id": "GoogleAdsSearchads360V23Resources__Note", + "properties": { + "description": { + "description": "Output only. Content of lead note.", + "readOnly": true, + "type": "string" + }, + "editDateTime": { + "description": "Output only. The date time when lead note was edited. The format is \"YYYY-MM-DD HH:MM:SS\" in the Google Ads account's timezone. Examples: \"2018-03-05 09:15:00\" or \"2018-02-01 14:34:30\"", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__OfflineConversionAlert": { + "description": "Alert for offline conversion client summary.", + "id": "GoogleAdsSearchads360V23Resources__OfflineConversionAlert", + "properties": { + "error": { + "$ref": "GoogleAdsSearchads360V23Resources__OfflineConversionError", + "description": "Output only. Error for offline conversion client alert.", + "readOnly": true + }, + "errorPercentage": { + "description": "Output only. Percentage of the error, the range of this field should be [0, 1.0].", + "format": "double", + "readOnly": true, + "type": "number" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__OfflineConversionError": { + "description": "Possible errors for offline conversion client summary.", + "id": "GoogleAdsSearchads360V23Resources__OfflineConversionError", + "properties": { + "collectionSizeError": { + "description": "Output only. Collection size error.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "TOO_FEW", + "TOO_MANY" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Too few.", + "Too many." + ], + "readOnly": true, + "type": "string" + }, + "conversionAdjustmentUploadError": { + "description": "Output only. Conversion adjustment upload error.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "TOO_RECENT_CONVERSION_ACTION", + "CONVERSION_ALREADY_RETRACTED", + "CONVERSION_NOT_FOUND", + "CONVERSION_EXPIRED", + "ADJUSTMENT_PRECEDES_CONVERSION", + "MORE_RECENT_RESTATEMENT_FOUND", + "TOO_RECENT_CONVERSION", + "CANNOT_RESTATE_CONVERSION_ACTION_THAT_ALWAYS_USES_DEFAULT_CONVERSION_VALUE", + "TOO_MANY_ADJUSTMENTS_IN_REQUEST", + "TOO_MANY_ADJUSTMENTS", + "RESTATEMENT_ALREADY_EXISTS", + "DUPLICATE_ADJUSTMENT_IN_REQUEST", + "CUSTOMER_NOT_ACCEPTED_CUSTOMER_DATA_TERMS", + "CONVERSION_ACTION_NOT_ELIGIBLE_FOR_ENHANCEMENT", + "INVALID_USER_IDENTIFIER", + "UNSUPPORTED_USER_IDENTIFIER", + "GCLID_DATE_TIME_PAIR_AND_ORDER_ID_BOTH_SET", + "CONVERSION_ALREADY_ENHANCED", + "DUPLICATE_ENHANCEMENT_IN_REQUEST", + "CUSTOMER_DATA_POLICY_PROHIBITS_ENHANCEMENT", + "MISSING_ORDER_ID_FOR_WEBPAGE", + "ORDER_ID_CONTAINS_PII", + "INVALID_JOB_ID", + "NO_CONVERSION_ACTION_FOUND", + "INVALID_CONVERSION_ACTION_TYPE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Can't import events to a conversion action that was just created. Try importing again in 6 hours.", + "The conversion was already retracted. This adjustment was not processed.", + "The conversion for this conversion action and conversion identifier can't be found. Make sure your conversion identifiers are associated with the correct conversion action and try again.", + "Adjustment can't be made to a conversion that occurred more than 54 days ago.", + "Adjustment has an `adjustment_date_time` that occurred before the associated conversion. Make sure your `adjustment_date_time` is correct and try again.", + "More recent adjustment `adjustment_date_time` has already been reported for the associated conversion. Make sure your adjustment `adjustment_date_time` is correct and try again.", + "Adjustment can't be recorded because the conversion occurred too recently. Try adjusting a conversion that occurred at least 24 hours ago.", + "Can't make an adjustment to a conversion that is set up to use the default value. Check your conversion action value setting and try again.", + "Try uploading fewer than 2001 adjustments in a single API request.", + "The conversion has already been adjusted the maximum number of times. Make sure you're only making necessary adjustment to existing conversion.", + "The conversion has prior a restatement with the same `adjustment_date_time`. Make sure your adjustment has the correct and unique `adjustment_date_time` and try again.", + "Imported adjustment has a duplicate conversion adjustment with same `adjustment_date_time`. Make sure your adjustment has the correct `adjustment_date_time` and try again.", + "Make sure you agree to the customer data processing terms in conversion settings and try again.", + "Can't use enhanced conversions with the specified conversion action.", + "Make sure you hash user provided data using SHA-256 and ensure you are normalizing according to the guidelines.", + "Use user provided data such as emails or phone numbers hashed using SHA-256 and try again.", + "Cannot set both gclid_date_time_pair and order_id. Use only 1 type and try again.", + "Conversion already has enhancements with the same Order ID and conversion action. Make sure your data is correctly configured and try again.", + "Multiple enhancements have the same conversion action and Order ID. Make sure your data is correctly configured and try again.", + "Enhanced conversions can't be used for this account because of Google customer data policies. Contact your Google representative.", + "Adjustment for website conversion requires Order ID (ie, transaction ID). Make sure your website tags capture Order IDs and you send the same Order IDs with your adjustment.", + "Can't use adjustment with Order IDs containing personally-identifiable information (PII).", + "The provided job id in the request is not within the allowed range. A job ID must be a positive integer in the range [1, 2^31).", + "The conversion action specified in the adjustment request cannot be found. Make sure it's available in this account.", + "The type of the conversion action specified in the adjustment request isn't supported for uploading adjustments. A conversion adjustment of type `RETRACTION` or `RESTATEMENT` is only permitted for conversion actions of type `SALESFORCE`, `UPLOAD_CLICK` or `WEBPAGE`. A conversion adjustment of type `ENHANCEMENT` is only permitted for conversion actions of type `WEBPAGE`." + ], + "readOnly": true, + "type": "string" + }, + "conversionUploadError": { + "description": "Output only. Conversion upload error.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "TOO_MANY_CONVERSIONS_IN_REQUEST", + "UNPARSEABLE_GCLID", + "CONVERSION_PRECEDES_EVENT", + "EXPIRED_EVENT", + "TOO_RECENT_EVENT", + "EVENT_NOT_FOUND", + "UNAUTHORIZED_CUSTOMER", + "TOO_RECENT_CONVERSION_ACTION", + "CONVERSION_TRACKING_NOT_ENABLED_AT_IMPRESSION_TIME", + "EXTERNAL_ATTRIBUTION_DATA_SET_FOR_NON_EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION", + "EXTERNAL_ATTRIBUTION_DATA_NOT_SET_FOR_EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION", + "ORDER_ID_NOT_PERMITTED_FOR_EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION", + "ORDER_ID_ALREADY_IN_USE", + "DUPLICATE_ORDER_ID", + "TOO_RECENT_CALL", + "EXPIRED_CALL", + "CALL_NOT_FOUND", + "CONVERSION_PRECEDES_CALL", + "CONVERSION_TRACKING_NOT_ENABLED_AT_CALL_TIME", + "UNPARSEABLE_CALLERS_PHONE_NUMBER", + "CLICK_CONVERSION_ALREADY_EXISTS", + "CALL_CONVERSION_ALREADY_EXISTS", + "DUPLICATE_CLICK_CONVERSION_IN_REQUEST", + "DUPLICATE_CALL_CONVERSION_IN_REQUEST", + "CUSTOM_VARIABLE_NOT_ENABLED", + "CUSTOM_VARIABLE_VALUE_CONTAINS_PII", + "INVALID_CUSTOMER_FOR_CLICK", + "INVALID_CUSTOMER_FOR_CALL", + "CONVERSION_NOT_COMPLIANT_WITH_ATT_POLICY", + "CLICK_NOT_FOUND", + "INVALID_USER_IDENTIFIER", + "EXTERNALLY_ATTRIBUTED_CONVERSION_ACTION_NOT_PERMITTED_WITH_USER_IDENTIFIER", + "UNSUPPORTED_USER_IDENTIFIER", + "GBRAID_WBRAID_BOTH_SET", + "UNPARSEABLE_WBRAID", + "UNPARSEABLE_GBRAID", + "ONE_PER_CLICK_CONVERSION_ACTION_NOT_PERMITTED_WITH_BRAID", + "CUSTOMER_DATA_POLICY_PROHIBITS_ENHANCED_CONVERSIONS", + "CUSTOMER_NOT_ACCEPTED_CUSTOMER_DATA_TERMS", + "ORDER_ID_CONTAINS_PII", + "CUSTOMER_NOT_ENABLED_ENHANCED_CONVERSIONS_FOR_LEADS", + "INVALID_JOB_ID", + "NO_CONVERSION_ACTION_FOUND", + "INVALID_CONVERSION_ACTION_TYPE" + ], + "enumDescriptions": [ + "Enum unspecified.", + "Used for return value only. Represents value unknown in this version.", + "Upload fewer than 2001 events in a single request.", + "The imported gclid could not be decoded.", + "The imported event has a `conversion_date_time` that precedes the click. Make sure your `conversion_date_time` is correct and try again.", + "The imported event can't be recorded because its click occurred before this conversion's click-through window. Make sure you import the most recent data.", + "The click associated with the given identifier or iOS URL parameter occurred less than 6 hours ago. Retry after 6 hours have passed.", + "The imported event could not be attributed to a click. This may be because the event did not come from a Google Ads campaign.", + "The click ID or call is associated with an Ads account you don't have access to. Make sure you import conversions for accounts managed by your manager account.", + "Can't import events to a conversion action that was just created. Try importing again in 6 hours.", + "At the time of the click, conversion tracking was not enabled in the effective conversion account of the click's Google Ads account.", + "The imported event includes external attribution data, but the conversion action isn't set up to use an external attribution model. Make sure the conversion action is correctly configured and try again.", + "The conversion action is set up to use an external attribution model, but the imported event is missing data. Make sure imported events include the external attribution credit and all necessary fields.", + "Order IDs can't be used for a conversion measured with an external attribution model. Make sure the conversion is correctly configured and imported events include only necessary data and try again.", + "The imported event includes an order ID that was previously recorded, so the event was not processed.", + "Imported events include multiple conversions with the same order ID and were not processed. Make sure order IDs are unique and try again.", + "Can't import calls that occurred less than 6 hours ago. Try uploading again in 6 hours.", + "The call can't be recorded because it occurred before this conversion action's lookback window. Make sure your import is configured to get the most recent data.", + "The call or click leading to the imported event can't be found. Make sure your data source is set up to include correct identifiers.", + "The call has a `conversion_date_time` that precedes the associated click. Make sure your `conversion_date_time` is correct.", + "At the time of the imported call, conversion tracking was not enabled in the effective conversion account of the click's Google Ads account.", + "Make sure phone numbers are formatted as E.164 (+16502531234), International (+64 3-331 6005), or US national number (6502531234).", + "The imported event has the same click and `conversion_date_time` as an existing conversion. Use a unique `conversion_date_time` or order ID for each unique event and try again.", + "The imported call has the same `conversion_date_time` as an existing conversion. Make sure your `conversion_date_time` correctly configured and try again.", + "Multiple events have the same click and `conversion_date_time`. Make sure your `conversion_date_time` is correctly configured and try again.", + "Multiple events have the same call and `conversion_date_time`. Make sure your `conversion_date_time` is correctly configured and try again.", + "Enable the custom variable in your conversion settings and try again.", + "Can't import events with custom variables containing personally-identifiable information (PII). Remove these variables and try again.", + "The click from the imported event is associated with a different Google Ads account. Make sure you're importing to the correct account.", + "The click from the call is associated with a different Google Ads account. Make sure you're importing to the correct account. Query conversion_tracking_setting.google_ads_conversion_customer on Customer to identify the correct account.", + "The connversion can't be imported because the conversion source didn't comply with Apple App Transparency Tracking (ATT) policies or because the customer didn't consent to tracking.", + "The email address or phone number for this event can't be matched to a click. This may be because it didn't come from a Google Ads campaign, and you can safely ignore this warning. If this includes more imported events than is expected, you may need to check your setup.", + "Make sure you hash user provided data using SHA-256 and ensure you are normalizing according to the guidelines.", + "User provided data can't be used with external attribution models. Use a different attribution model or omit user identifiers and try again.", + "The provided user identifiers are not supported. Use only hashed email or phone number and try again.", + "Can't use both gbraid and wbraid parameters. Use only 1 and try again.", + "Can't parse event import data. Check if your wbraid parameter was not modified and try again.", + "Can't parse event import data. Check if your gbraid parameter was not modified and try again.", + "Conversion actions that use one-per-click counting can't be used with gbraid or wbraid parameters.", + "Enhanced conversions can't be used for this account because of Google customer data policies. Contact your Google representative.", + "Make sure you agree to the customer data processing terms in conversion settings and try again. You can check your setting by querying conversion_tracking_setting.accepted_customer_data_terms on Customer.", + "Can't import events with order IDs containing personally-identifiable information (PII).", + "Make sure you've turned on enhanced conversions for leads in conversion settings and try again. You can check your setting by querying conversion_tracking_setting.enhanced_conversions_for_leads_enabled on Customer.", + "The provided job id in the request is not within the allowed range. A job ID must be a positive integer in the range [1, 2^31).", + "The conversion action specified in the upload request cannot be found. Make sure it's available in this account.", + "The conversion action specified in the upload request isn't set up for uploading conversions." + ], + "readOnly": true, + "type": "string" + }, + "dateError": { + "description": "Output only. Date error.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "INVALID_FIELD_VALUES_IN_DATE", + "INVALID_FIELD_VALUES_IN_DATE_TIME", + "INVALID_STRING_DATE", + "INVALID_STRING_DATE_TIME_MICROS", + "INVALID_STRING_DATE_TIME_SECONDS", + "INVALID_STRING_DATE_TIME_SECONDS_WITH_OFFSET", + "EARLIER_THAN_MINIMUM_DATE", + "LATER_THAN_MAXIMUM_DATE", + "DATE_RANGE_MINIMUM_DATE_LATER_THAN_MAXIMUM_DATE", + "DATE_RANGE_MINIMUM_AND_MAXIMUM_DATES_BOTH_NULL", + "DATE_RANGE_ERROR_START_TIME_MUST_BE_THE_START_OF_A_DAY", + "DATE_RANGE_ERROR_END_TIME_MUST_BE_THE_END_OF_A_DAY" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Given field values do not correspond to a valid date.", + "Given field values do not correspond to a valid date time.", + "The string date's format should be yyyy-mm-dd.", + "The string date time's format should be yyyy-mm-dd hh:mm:ss.ssssss.", + "The string date time's format should be yyyy-mm-dd hh:mm:ss.", + "The string date time's format should be yyyy-mm-dd hh:mm:ss+|-hh:mm.", + "Date is before allowed minimum.", + "Date is after allowed maximum.", + "Date range bounds are not in order.", + "Both dates in range are null.", + "This campaign type doesn't support a start date time that isn't the start of the day.", + "This campaign type doesn't support an end date time that isn't the end of the day." + ], + "readOnly": true, + "type": "string" + }, + "distinctError": { + "description": "Output only. Distinct error.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "DUPLICATE_ELEMENT", + "DUPLICATE_TYPE" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Duplicate element.", + "Duplicate type." + ], + "readOnly": true, + "type": "string" + }, + "fieldError": { + "description": "Output only. Field error.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "REQUIRED", + "IMMUTABLE_FIELD", + "INVALID_VALUE", + "VALUE_MUST_BE_UNSET", + "REQUIRED_NONEMPTY_LIST", + "FIELD_CANNOT_BE_CLEARED", + "BLOCKED_VALUE", + "FIELD_CAN_ONLY_BE_CLEARED" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "The required field was not present.", + "The field attempted to be mutated is immutable.", + "The field's value is invalid.", + "The field cannot be set.", + "The required repeated field was empty.", + "The field cannot be cleared.", + "The field's value is on a deny-list for this field.", + "The field's value cannot be modified, except for clearing." + ], + "readOnly": true, + "type": "string" + }, + "mutateError": { + "description": "Output only. Mutate error.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "RESOURCE_NOT_FOUND", + "ID_EXISTS_IN_MULTIPLE_MUTATES", + "INCONSISTENT_FIELD_VALUES", + "MUTATE_NOT_ALLOWED", + "RESOURCE_NOT_IN_GOOGLE_ADS", + "RESOURCE_ALREADY_EXISTS", + "RESOURCE_DOES_NOT_SUPPORT_VALIDATE_ONLY", + "OPERATION_DOES_NOT_SUPPORT_PARTIAL_FAILURE", + "RESOURCE_READ_ONLY", + "EU_POLITICAL_ADVERTISING_DECLARATION_REQUIRED" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Requested resource was not found.", + "Cannot mutate the same resource twice in one request.", + "The field's contents don't match another field that represents the same data.", + "Mutates are not allowed for the requested resource.", + "The resource isn't in Google Ads. It belongs to another ads system.", + "The resource being created already exists.", + "This resource cannot be used with \"validate_only\".", + "This operation cannot be used with \"partial_failure\".", + "Attempt to write to read-only fields.", + "Mutates are generally not allowed if the customer contains non-exempt campaigns without the EU political advertising declaration." + ], + "readOnly": true, + "type": "string" + }, + "notAllowlistedError": { + "description": "Output only. Not allowlisted error.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CUSTOMER_NOT_ALLOWLISTED_FOR_THIS_FEATURE" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "Customer is not allowlisted for accessing this feature." + ], + "readOnly": true, + "type": "string" + }, + "stringFormatError": { + "description": "Output only. String format error.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ILLEGAL_CHARS", + "INVALID_FORMAT" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "The input string value contains disallowed characters.", + "The input string value is invalid for the associated field." + ], + "readOnly": true, + "type": "string" + }, + "stringLengthError": { + "description": "Output only. String length error.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "EMPTY", + "TOO_SHORT", + "TOO_LONG" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "The specified field should have a least one non-whitespace character in it.", + "Too short.", + "Too long." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__OfflineConversionSummary": { + "description": "Historical upload summary, grouped by upload date or job.", + "id": "GoogleAdsSearchads360V23Resources__OfflineConversionSummary", + "properties": { + "failedCount": { + "description": "Output only. Total count of failed event.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "jobId": { + "description": "Output only. Dimension key for last N jobs.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "pendingCount": { + "description": "Output only. Total count of pending uploaded event.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "successfulCount": { + "description": "Output only. Total count of successful event.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "uploadDate": { + "description": "Output only. Dimension key for last N days.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__OfflineConversionUploadClientSummary": { + "description": "Offline conversion upload summary at customer level.", + "id": "GoogleAdsSearchads360V23Resources__OfflineConversionUploadClientSummary", + "properties": { + "alerts": { + "description": "Output only. Details for each error code. Alerts are generated from most recent calendar day with upload stats.", + "items": { + "$ref": "GoogleAdsSearchads360V23Resources__OfflineConversionAlert" + }, + "readOnly": true, + "type": "array" + }, + "client": { + "description": "Output only. Client type of the upload event.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "GOOGLE_ADS_API", + "GOOGLE_ADS_WEB_CLIENT", + "ADS_DATA_CONNECTOR" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Google Ads API.", + "Google Ads web client, which could include multiple sources like Ads UI, SFTP, etc.", + "Connection platform." + ], + "readOnly": true, + "type": "string" + }, + "dailySummaries": { + "description": "Output only. Summary of history stats by last N days.", + "items": { + "$ref": "GoogleAdsSearchads360V23Resources__OfflineConversionSummary" + }, + "readOnly": true, + "type": "array" + }, + "jobSummaries": { + "description": "Output only. Summary of history stats by last N jobs.", + "items": { + "$ref": "GoogleAdsSearchads360V23Resources__OfflineConversionSummary" + }, + "readOnly": true, + "type": "array" + }, + "lastUploadDateTime": { + "description": "Output only. Date for the latest upload batch. The format is \"yyyy-mm-dd hh:mm:ss\", and it's in the time zone of the Google Ads account.", + "readOnly": true, + "type": "string" + }, + "pendingEventCount": { + "description": "Output only. Total count of pending uploaded events.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "pendingRate": { + "description": "Output only. The ratio of total pending events to total events.", + "format": "double", + "readOnly": true, + "type": "number" + }, + "resourceName": { + "description": "Output only. The resource name of the offline conversion upload summary at customer level. Offline conversion upload client summary resource names have the form: `customers/{customer_id}/offlineConversionUploadClientSummaries/{client}`", + "readOnly": true, + "type": "string" + }, + "status": { + "description": "Output only. Overall status for offline conversion client summary. Status is generated from most recent calendar day with upload stats.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "EXCELLENT", + "GOOD", + "NEEDS_ATTENTION", + "NO_RECENT_UPLOAD" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Your offline data ingestion setup is active and optimal for downstream processing.", + "Your offline ingestion setup is active, but there are further improvements you could make. See alerts.", + "Your offline ingestion setup is active, but there are errors that require your attention. See alerts.", + "Your offline ingestion setup has not received data in the last 28 days, there may be something wrong." + ], + "readOnly": true, + "type": "string" + }, + "successRate": { + "description": "Output only. Successful rate.", + "format": "double", + "readOnly": true, + "type": "number" + }, + "successfulEventCount": { + "description": "Output only. Total count of successful uploaded events.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "totalEventCount": { + "description": "Output only. Total count of uploaded events.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__OfflineConversionUploadConversionActionSummary": { + "description": "Offline conversion upload summary at conversion action level.", + "id": "GoogleAdsSearchads360V23Resources__OfflineConversionUploadConversionActionSummary", + "properties": { + "alerts": { + "description": "Output only. Details for each error code. Alerts are generated from most recent calendar day with upload stats.", + "items": { + "$ref": "GoogleAdsSearchads360V23Resources__OfflineConversionAlert" + }, + "readOnly": true, + "type": "array" + }, + "client": { + "description": "Output only. Client type of the upload event.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "GOOGLE_ADS_API", + "GOOGLE_ADS_WEB_CLIENT", + "ADS_DATA_CONNECTOR" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Google Ads API.", + "Google Ads web client, which could include multiple sources like Ads UI, SFTP, etc.", + "Connection platform." + ], + "readOnly": true, + "type": "string" + }, + "conversionActionId": { + "description": "Output only. Conversion action id.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "conversionActionName": { + "description": "Output only. The name of the conversion action.", + "readOnly": true, + "type": "string" + }, + "dailySummaries": { + "description": "Output only. Summary of history stats by last N days.", + "items": { + "$ref": "GoogleAdsSearchads360V23Resources__OfflineConversionSummary" + }, + "readOnly": true, + "type": "array" + }, + "jobSummaries": { + "description": "Output only. Summary of history stats by last N jobs.", + "items": { + "$ref": "GoogleAdsSearchads360V23Resources__OfflineConversionSummary" + }, + "readOnly": true, + "type": "array" + }, + "lastUploadDateTime": { + "description": "Output only. Date for the latest upload batch. The format is \"yyyy-mm-dd hh:mm:ss\", and it's in the time zone of the Google Ads account.", + "readOnly": true, + "type": "string" + }, + "pendingEventCount": { + "description": "Output only. Total count of pending uploaded events.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Output only. The resource name of the offline conversion upload summary at conversion action level. Offline conversion upload conversion action summary resource names have the form: `customers/{customer_id}/offlineConversionUploadConversionActionSummaries/{conversion_action_id}~{client}`", + "readOnly": true, + "type": "string" + }, + "status": { + "description": "Output only. Overall status for offline conversion upload conversion action summary. Status is generated from most recent calendar day with upload stats.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "EXCELLENT", + "GOOD", + "NEEDS_ATTENTION", + "NO_RECENT_UPLOAD" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Your offline data ingestion setup is active and optimal for downstream processing.", + "Your offline ingestion setup is active, but there are further improvements you could make. See alerts.", + "Your offline ingestion setup is active, but there are errors that require your attention. See alerts.", + "Your offline ingestion setup has not received data in the last 28 days, there may be something wrong." + ], + "readOnly": true, + "type": "string" + }, + "successfulEventCount": { + "description": "Output only. Total count of successful uploaded events.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "totalEventCount": { + "description": "Output only. Total count of uploaded events.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__OfflineUserDataJob": { + "description": "A job containing offline user data of store visitors, or user list members that will be processed asynchronously. The uploaded data isn't readable and the processing results of the job can only be read using", + "id": "GoogleAdsSearchads360V23Resources__OfflineUserDataJob", + "properties": { + "customerMatchUserListMetadata": { + "$ref": "GoogleAdsSearchads360V23Common__CustomerMatchUserListMetadata", + "description": "Immutable. Metadata for data updates to a CRM-based user list." + }, + "externalId": { + "description": "Immutable. User specified job ID.", + "format": "int64", + "type": "string" + }, + "failureReason": { + "description": "Output only. Reason for the processing failure, if status is FAILED.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "INSUFFICIENT_MATCHED_TRANSACTIONS", + "INSUFFICIENT_TRANSACTIONS", + "HIGH_AVERAGE_TRANSACTION_VALUE", + "LOW_AVERAGE_TRANSACTION_VALUE", + "NEWLY_OBSERVED_CURRENCY_CODE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The matched transactions are insufficient.", + "The uploaded transactions are insufficient.", + "The average transaction value is unusually high for your account. If this is intended, contact support to request an exception. Learn more at https://support.google.com/google-ads/answer/10018944#transaction_value", + "The average transaction value is unusually low for your account. If this is intended, contact support to request an exception. Learn more at https://support.google.com/google-ads/answer/10018944#transaction_value", + "There's a currency code that you haven't used before in your uploads. If this is intended, contact support to request an exception. Learn more at https://support.google.com/google-ads/answer/10018944#Unrecognized_currency" + ], + "readOnly": true, + "type": "string" + }, + "id": { + "description": "Output only. ID of this offline user data job.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "operationMetadata": { + "$ref": "GoogleAdsSearchads360V23Resources__OfflineUserDataJobMetadata", + "description": "Output only. Metadata of offline user data job depicting match rate range.", + "readOnly": true + }, + "resourceName": { + "description": "Immutable. The resource name of the offline user data job. Offline user data job resource names have the form: `customers/{customer_id}/offlineUserDataJobs/{offline_user_data_job_id}`", + "type": "string" + }, + "status": { + "description": "Output only. Status of the job.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "PENDING", + "RUNNING", + "SUCCESS", + "FAILED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The job has been successfully created and pending for uploading.", + "Upload(s) have been accepted and data is being processed.", + "Uploaded data has been successfully processed. The job might have no operations, which can happen if the job was run without any operations added, or if all operations failed validation individually when attempting to add them to the job.", + "Uploaded data has failed to be processed. Some operations may have been successfully processed." + ], + "readOnly": true, + "type": "string" + }, + "storeSalesMetadata": { + "$ref": "GoogleAdsSearchads360V23Common__StoreSalesMetadata", + "description": "Immutable. Metadata for store sales data update." + }, + "type": { + "description": "Immutable. Type of the job.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "STORE_SALES_UPLOAD_FIRST_PARTY", + "STORE_SALES_UPLOAD_THIRD_PARTY", + "CUSTOMER_MATCH_USER_LIST", + "CUSTOMER_MATCH_WITH_ATTRIBUTES" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Store Sales Direct data for self service.", + "Store Sales Direct data for third party.", + "Customer Match user list data.", + "Customer Match with attribute data." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__OfflineUserDataJobMetadata": { + "description": "Metadata of offline user data job.", + "id": "GoogleAdsSearchads360V23Resources__OfflineUserDataJobMetadata", + "properties": { + "matchRateRange": { + "description": "Output only. Match rate of the Customer Match user list upload. Describes the estimated match rate when the status of the job is \"RUNNING\" and final match rate when the final match rate is available after the status of the job is \"SUCCESS/FAILED\".", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "MATCH_RANGE_LESS_THAN_20", + "MATCH_RANGE_20_TO_30", + "MATCH_RANGE_31_TO_40", + "MATCH_RANGE_41_TO_50", + "MATCH_RANGE_51_TO_60", + "MATCH_RANGE_61_TO_70", + "MATCH_RANGE_71_TO_80", + "MATCH_RANGE_81_TO_90", + "MATCH_RANGE_91_TO_100" + ], + "enumDescriptions": [ + "Not specified.", + "Default value for match rate range.", + "Match rate range for offline data upload entity is between 0% and 19%.", + "Match rate range for offline data upload entity is between 20% and 30%.", + "Match rate range for offline data upload entity is between 31% and 40%.", + "Match rate range for offline data upload entity is between 41% and 50%.", + "Match rate range for offline data upload entity is between 51% and 60%.", + "Match rate range for offline data upload entity is between 61% and 70%.", + "Match rate range for offline data upload entity is between 71% and 80%.", + "Match rate range for offline data upload entity is between 81% and 90%.", + "Match rate range for offline data upload entity is more than or equal to 91%." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__OperatingSystemVersionConstant": { + "description": "A mobile operating system version or a range of versions, depending on `operator_type`. List of available mobile platforms at https://developers.google.com/google-ads/api/reference/data/codes-formats#mobile-platforms", + "id": "GoogleAdsSearchads360V23Resources__OperatingSystemVersionConstant", + "properties": { + "id": { + "description": "Output only. The ID of the operating system version.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. Name of the operating system.", + "readOnly": true, + "type": "string" + }, + "operatorType": { + "description": "Output only. Determines whether this constant represents a single version or a range of versions.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "EQUALS_TO", + "GREATER_THAN_EQUALS_TO" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Equals to the specified version.", + "Greater than or equals to the specified version." + ], + "readOnly": true, + "type": "string" + }, + "osMajorVersion": { + "description": "Output only. The OS Major Version number.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "osMinorVersion": { + "description": "Output only. The OS Minor Version number.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "resourceName": { + "description": "Output only. The resource name of the operating system version constant. Operating system version constant resource names have the form: `operatingSystemVersionConstants/{criterion_id}`", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__PaidOrganicSearchTermView": { + "description": "A paid organic search term view providing a view of search stats across ads and organic listings aggregated by search term at the ad group level.", + "id": "GoogleAdsSearchads360V23Resources__PaidOrganicSearchTermView", + "properties": { + "resourceName": { + "description": "Output only. The resource name of the search term view. Search term view resource names have the form: `customers/{customer_id}/paidOrganicSearchTermViews/{campaign_id}~ {ad_group_id}~{URL-base64 search term}`", + "readOnly": true, + "type": "string" + }, + "searchTerm": { + "description": "Output only. The search term.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__ParentalStatusView": { + "description": "A parental status view.", + "id": "GoogleAdsSearchads360V23Resources__ParentalStatusView", + "properties": { + "resourceName": { + "description": "Output only. The resource name of the parental status view. Parental Status view resource names have the form: `customers/{customer_id}/parentalStatusViews/{ad_group_id}~{criterion_id}`", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__PaymentsAccount": { + "description": "A payments account, which can be used to set up billing for an Ads customer.", + "id": "GoogleAdsSearchads360V23Resources__PaymentsAccount", + "properties": { + "currencyCode": { + "description": "Output only. The currency code of the payments account. A subset of the currency codes derived from the ISO 4217 standard is supported.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. The name of the payments account.", + "readOnly": true, + "type": "string" + }, + "payingManagerCustomer": { + "description": "Output only. Paying manager of this payment account.", + "readOnly": true, + "type": "string" + }, + "paymentsAccountId": { + "description": "Output only. A 16 digit ID used to identify a payments account.", + "readOnly": true, + "type": "string" + }, + "paymentsProfileId": { + "description": "Output only. A 12 digit ID used to identify the payments profile associated with the payments account.", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Output only. The resource name of the payments account. PaymentsAccount resource names have the form: `customers/{customer_id}/paymentsAccounts/{payments_account_id}`", + "readOnly": true, + "type": "string" + }, + "secondaryPaymentsProfileId": { + "description": "Output only. A secondary payments profile ID present in uncommon situations, for example, when a sequential liability agreement has been arranged.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__PerStoreView": { + "description": "A per store view. This view provides per store impression reach and local action conversion stats for advertisers.", + "id": "GoogleAdsSearchads360V23Resources__PerStoreView", + "properties": { + "address1": { + "description": "Output only. First line of the store's address.", + "readOnly": true, + "type": "string" + }, + "address2": { + "description": "Output only. Second line of the store's address.", + "readOnly": true, + "type": "string" + }, + "businessName": { + "description": "Output only. The name of the business.", + "readOnly": true, + "type": "string" + }, + "city": { + "description": "Output only. The city where the store is located.", + "readOnly": true, + "type": "string" + }, + "countryCode": { + "description": "Output only. The two-letter country code for the store's location (e.g., \"US\").", + "readOnly": true, + "type": "string" + }, + "phoneNumber": { + "description": "Output only. The phone number of the store.", + "readOnly": true, + "type": "string" + }, + "placeId": { + "description": "Output only. The place ID of the per store view.", + "readOnly": true, + "type": "string" + }, + "postalCode": { + "description": "Output only. The postal code of the store's address.", + "readOnly": true, + "type": "string" + }, + "province": { + "description": "Output only. The province or state of the store's address.", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Output only. The resource name of the per store view. Per Store view resource names have the form: `customers/{customer_id}/perStoreViews/{place_id}`", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__PerformanceMaxPlacementView": { + "description": "A view with impression metrics for Performance Max campaign placements.", + "id": "GoogleAdsSearchads360V23Resources__PerformanceMaxPlacementView", + "properties": { + "displayName": { + "description": "Output only. The name displayed to represent the placement, such as the URL name for websites, YouTube video name for YouTube videos, and translated mobile app name for mobile apps.", + "readOnly": true, + "type": "string" + }, + "placement": { + "description": "Output only. The default placement string, such as the website URL, mobile application ID, or a YouTube video ID.", + "readOnly": true, + "type": "string" + }, + "placementType": { + "description": "Output only. Type of the placement. Possible values for Performance Max placements are WEBSITE, MOBILE_APPLICATION, or YOUTUBE_VIDEO.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "WEBSITE", + "MOBILE_APP_CATEGORY", + "MOBILE_APPLICATION", + "YOUTUBE_VIDEO", + "YOUTUBE_CHANNEL", + "GOOGLE_PRODUCTS" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Websites(for example, 'www.flowers4sale.com').", + "Mobile application categories(for example, 'Games').", + "mobile applications(for example, 'mobileapp::2-com.whatsthewordanswers').", + "YouTube videos(for example, 'youtube.com/video/wtLJPvx7-ys').", + "YouTube channels(for example, 'youtube.com::L8ZULXASCc1I_oaOT0NaOQ').", + "Surfaces owned and operated by Google(for example, 'tv.google.com')." + ], + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Output only. The resource name of the Performance Max placement view. Performance Max placement view resource names have the form: `customers/{customer_id}/performanceMaxPlacementViews/{base_64_placement}`", + "readOnly": true, + "type": "string" + }, + "targetUrl": { + "description": "Output only. URL of the placement, for example, website, link to the mobile application in app store, or a YouTube video URL.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__PhoneCallDetails": { + "description": "Represents details of a phone call conversation.", + "id": "GoogleAdsSearchads360V23Resources__PhoneCallDetails", + "properties": { + "callDurationMillis": { + "description": "Output only. The duration (in milliseconds) of the phone call (end to end).", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "callRecordingUrl": { + "description": "Output only. URL to the call recording audio file.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__ProductCategoryConstant": { + "description": "A Product Category.", + "id": "GoogleAdsSearchads360V23Resources__ProductCategoryConstant", + "properties": { + "categoryId": { + "description": "Output only. The ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "level": { + "description": "Output only. Level of the product category.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "LEVEL1", + "LEVEL2", + "LEVEL3", + "LEVEL4", + "LEVEL5" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Level 1.", + "Level 2.", + "Level 3.", + "Level 4.", + "Level 5." + ], + "readOnly": true, + "type": "string" + }, + "localizations": { + "description": "Output only. List of all available localizations of the product category.", + "items": { + "$ref": "GoogleAdsSearchads360V23Resources_ProductCategoryConstant_ProductCategoryLocalization" + }, + "readOnly": true, + "type": "array" + }, + "productCategoryConstantParent": { + "description": "Output only. Resource name of the parent product category.", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Output only. The resource name of the product category. Product category resource names have the form: `productCategoryConstants/{level}~{category_id}`", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. State of the product category.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ENABLED", + "OBSOLETE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The category is enabled.", + "The category is obsolete. Used only for reporting purposes." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__ProductGroupView": { + "description": "A product group view.", + "id": "GoogleAdsSearchads360V23Resources__ProductGroupView", + "properties": { + "resourceName": { + "description": "Output only. The resource name of the product group view. Product group view resource names have the form: `customers/{customer_id}/productGroupViews/{ad_group_id}~{criterion_id}`", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__ProductLink": { + "description": "Represents the data sharing connection between", + "id": "GoogleAdsSearchads360V23Resources__ProductLink", + "properties": { + "advertisingPartner": { + "$ref": "GoogleAdsSearchads360V23Resources__AdvertisingPartnerIdentifier", + "description": "Output only. Advertising Partner link.", + "readOnly": true + }, + "dataPartner": { + "$ref": "GoogleAdsSearchads360V23Resources__DataPartnerIdentifier", + "description": "Immutable. Data partner link." + }, + "googleAds": { + "$ref": "GoogleAdsSearchads360V23Resources__GoogleAdsIdentifier", + "description": "Immutable. Google Ads link." + }, + "merchantCenter": { + "$ref": "GoogleAdsSearchads360V23Resources__MerchantCenterIdentifier", + "description": "Immutable. Google Merchant Center link." + }, + "productLinkId": { + "description": "Output only. The ID of the link. This field is read only.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Immutable. Resource name of the product link. ProductLink resource names have the form: ` `", + "type": "string" + }, + "type": { + "description": "Output only. The type of the linked product.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "DATA_PARTNER", + "GOOGLE_ADS", + "HOTEL_CENTER", + "MERCHANT_CENTER", + "ADVERTISING_PARTNER" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "A link to Data partner.", + "A link to Google Ads.", + "A link to Hotel Center.", + "A link to Google Merchant Center.", + "A link to the Google Ads account of the advertising partner." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__ProductLinkInvitation": { + "description": "Represents an invitation for data sharing connection between a Google Ads account and another account.", + "id": "GoogleAdsSearchads360V23Resources__ProductLinkInvitation", + "properties": { + "advertisingPartner": { + "$ref": "GoogleAdsSearchads360V23Resources__AdvertisingPartnerLinkInvitationIdentifier", + "description": "Output only. Advertising Partner link invitation.", + "readOnly": true + }, + "hotelCenter": { + "$ref": "GoogleAdsSearchads360V23Resources__HotelCenterLinkInvitationIdentifier", + "description": "Output only. Hotel link invitation.", + "readOnly": true + }, + "merchantCenter": { + "$ref": "GoogleAdsSearchads360V23Resources__MerchantCenterLinkInvitationIdentifier", + "description": "Output only. Merchant Center link invitation.", + "readOnly": true + }, + "productLinkInvitationId": { + "description": "Output only. The ID of the product link invitation. This field is read only.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Immutable. The resource name of a product link invitation. Product link invitation resource names have the form: `customers/{customer_id}/productLinkInvitations/{product_link_invitation_id}`", + "type": "string" + }, + "status": { + "description": "Output only. The status of the product link invitation. This field is read only.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ACCEPTED", + "REQUESTED", + "PENDING_APPROVAL", + "REVOKED", + "REJECTED", + "EXPIRED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The invitation is accepted.", + "An invitation has been sent to the other account. A user on the other account may now accept the invitation by setting the status to ACCEPTED.", + "This invitation has been sent by a user on the other account. It may be accepted by a user on this account by setting the status to ACCEPTED.", + "The invitation is revoked by the user who sent the invitation.", + "The invitation has been rejected by the invitee.", + "The invitation has timed out before being accepted by the invitee." + ], + "readOnly": true, + "type": "string" + }, + "type": { + "description": "Output only. The type of the invited account. This field is read only and can be used for filtering invitations with {@code GoogleAdsService.SearchGoogleAdsRequest}.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "DATA_PARTNER", + "GOOGLE_ADS", + "HOTEL_CENTER", + "MERCHANT_CENTER", + "ADVERTISING_PARTNER" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "A link to Data partner.", + "A link to Google Ads.", + "A link to Hotel Center.", + "A link to Google Merchant Center.", + "A link to the Google Ads account of the advertising partner." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__QualifyingQuestion": { + "description": "Qualifying Questions for Lead Form.", + "id": "GoogleAdsSearchads360V23Resources__QualifyingQuestion", + "properties": { + "locale": { + "description": "Output only. The locale of the qualifying question.", + "readOnly": true, + "type": "string" + }, + "qualifyingQuestionId": { + "description": "Output only. The id of the qualifying question.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Output only. The resource name of the qualifying question. 'qualifyingQuestions/{qualifyingQuestionId}'", + "readOnly": true, + "type": "string" + }, + "text": { + "description": "Output only. The qualifying question.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__Recommendation": { + "description": "A recommendation.", + "id": "GoogleAdsSearchads360V23Resources__Recommendation", + "properties": { + "adGroup": { + "description": "Output only. The ad group targeted by this recommendation. This will be set only when the recommendation affects a single ad group. This field will be set for the following recommendation types: KEYWORD, OPTIMIZE_AD_ROTATION, TEXT_AD", + "readOnly": true, + "type": "string" + }, + "callAssetRecommendation": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_CallAssetRecommendation", + "description": "Output only. The call asset recommendation.", + "readOnly": true + }, + "calloutAssetRecommendation": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_CalloutAssetRecommendation", + "description": "Output only. The callout asset recommendation.", + "readOnly": true + }, + "campaign": { + "description": "Output only. The campaign targeted by this recommendation. This field will be set for the following recommendation types: CALL_EXTENSION, CALLOUT_EXTENSION, ENHANCED_CPC_OPT_IN, KEYWORD, KEYWORD_MATCH_TYPE, MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN, OPTIMIZE_AD_ROTATION, SEARCH_PARTNERS_OPT_IN, SITELINK_EXTENSION, TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN, TEXT_AD,", + "readOnly": true, + "type": "string" + }, + "campaignBudget": { + "description": "Output only. The budget targeted by this recommendation. This will be set only when the recommendation affects a single campaign budget. This field will be set for the following recommendation types: CAMPAIGN_BUDGET, FORECASTING_CAMPAIGN_BUDGET, MOVE_UNUSED_BUDGET", + "readOnly": true, + "type": "string" + }, + "campaignBudgetRecommendation": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_CampaignBudgetRecommendation", + "description": "Output only. The campaign budget recommendation.", + "readOnly": true + }, + "campaigns": { + "description": "Output only. The campaigns targeted by this recommendation. This field will be set for the following recommendation types: CAMPAIGN_BUDGET, FORECASTING_CAMPAIGN_BUDGET, MARGINAL_ROI_CAMPAIGN_BUDGET and MOVE_UNUSED_BUDGET", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "customAudienceOptInRecommendation": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_CustomAudienceOptInRecommendation", + "description": "Output only. The custom audience opt in recommendation.", + "readOnly": true + }, + "dismissed": { + "description": "Output only. Whether the recommendation is dismissed or not.", + "readOnly": true, + "type": "boolean" + }, + "displayExpansionOptInRecommendation": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_DisplayExpansionOptInRecommendation", + "description": "Output only. The Display Expansion opt-in recommendation.", + "readOnly": true + }, + "dynamicImageExtensionOptInRecommendation": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_DynamicImageExtensionOptInRecommendation", + "description": "Output only. Recommendation to enable dynamic image extensions on the account, allowing Google to find the best images from ad landing pages and complement text ads.", + "readOnly": true + }, + "enhancedCpcOptInRecommendation": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_EnhancedCpcOptInRecommendation", + "description": "Output only. The Enhanced Cost-Per-Click Opt-In recommendation.", + "readOnly": true + }, + "forecastingCampaignBudgetRecommendation": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_CampaignBudgetRecommendation", + "description": "Output only. The forecasting campaign budget recommendation.", + "readOnly": true + }, + "forecastingSetTargetCpaRecommendation": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_ForecastingSetTargetCpaRecommendation", + "description": "Output only. The forecasting set target CPA recommendation.", + "readOnly": true + }, + "forecastingSetTargetRoasRecommendation": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_ForecastingSetTargetRoasRecommendation", + "description": "Output only. The forecasting set target ROAS recommendation.", + "readOnly": true + }, + "impact": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_RecommendationImpact", + "description": "Output only. The impact on account performance as a result of applying the recommendation.", + "readOnly": true + }, + "improveDemandGenAdStrengthRecommendation": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_ImproveDemandGenAdStrengthRecommendation", + "description": "Output only. The improve Demand Gen ad strength recommendation.", + "readOnly": true + }, + "improveGoogleTagCoverageRecommendation": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_ImproveGoogleTagCoverageRecommendation", + "description": "Output only. Recommendation to deploy Google Tag on more pages.", + "readOnly": true + }, + "improvePerformanceMaxAdStrengthRecommendation": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_ImprovePerformanceMaxAdStrengthRecommendation", + "description": "Output only. The improve Performance Max ad strength recommendation.", + "readOnly": true + }, + "keywordMatchTypeRecommendation": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_KeywordMatchTypeRecommendation", + "description": "Output only. The keyword match type recommendation.", + "readOnly": true + }, + "keywordRecommendation": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_KeywordRecommendation", + "description": "Output only. The keyword recommendation.", + "readOnly": true + }, + "leadFormAssetRecommendation": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_LeadFormAssetRecommendation", + "description": "Output only. The lead form asset recommendation.", + "readOnly": true + }, + "lowerTargetRoasRecommendation": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_LowerTargetRoasRecommendation", + "description": "Output only. Recommendation to lower Target ROAS.", + "readOnly": true + }, + "marginalRoiCampaignBudgetRecommendation": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_CampaignBudgetRecommendation", + "description": "Output only. The marginal ROI campaign budget recommendation.", + "readOnly": true + }, + "maximizeClicksOptInRecommendation": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_MaximizeClicksOptInRecommendation", + "description": "Output only. The MaximizeClicks Opt-In recommendation.", + "readOnly": true + }, + "maximizeConversionValueOptInRecommendation": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_MaximizeConversionValueOptInRecommendation", + "description": "Output only. The Maximize Conversion Value opt-in recommendation.", + "readOnly": true + }, + "maximizeConversionsOptInRecommendation": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_MaximizeConversionsOptInRecommendation", + "description": "Output only. The MaximizeConversions Opt-In recommendation.", + "readOnly": true + }, + "migrateDynamicSearchAdsCampaignToPerformanceMaxRecommendation": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_MigrateDynamicSearchAdsCampaignToPerformanceMaxRecommendation", + "description": "Output only. The Dynamic Search Ads to Performance Max migration recommendation.", + "readOnly": true + }, + "moveUnusedBudgetRecommendation": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_MoveUnusedBudgetRecommendation", + "description": "Output only. The move unused budget recommendation.", + "readOnly": true + }, + "optimizeAdRotationRecommendation": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_OptimizeAdRotationRecommendation", + "description": "Output only. The Optimize Ad Rotation recommendation.", + "readOnly": true + }, + "performanceMaxFinalUrlOptInRecommendation": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_PerformanceMaxFinalUrlOptInRecommendation", + "description": "Output only. Recommendation to turn on Final URL expansion for your Performance Max campaigns.", + "readOnly": true + }, + "performanceMaxOptInRecommendation": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_PerformanceMaxOptInRecommendation", + "description": "Output only. The Performance Max Opt In recommendation.", + "readOnly": true + }, + "raiseTargetCpaBidTooLowRecommendation": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_RaiseTargetCpaBidTooLowRecommendation", + "description": "Output only. The raise target CPA bid too low recommendation.", + "readOnly": true + }, + "raiseTargetCpaRecommendation": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_RaiseTargetCpaRecommendation", + "description": "Output only. Recommendation to raise Target CPA.", + "readOnly": true + }, + "refreshCustomerMatchListRecommendation": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_RefreshCustomerMatchListRecommendation", + "description": "Output only. The refresh customer list recommendation.", + "readOnly": true + }, + "resourceName": { + "description": "Immutable. The resource name of the recommendation. `customers/{customer_id}/recommendations/{recommendation_id}`", + "type": "string" + }, + "responsiveSearchAdAssetRecommendation": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_ResponsiveSearchAdAssetRecommendation", + "description": "Output only. The responsive search ad asset recommendation.", + "readOnly": true + }, + "responsiveSearchAdImproveAdStrengthRecommendation": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_ResponsiveSearchAdImproveAdStrengthRecommendation", + "description": "Output only. The responsive search ad improve ad strength recommendation.", + "readOnly": true + }, + "responsiveSearchAdRecommendation": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_ResponsiveSearchAdRecommendation", + "description": "Output only. The add responsive search ad recommendation.", + "readOnly": true + }, + "searchPartnersOptInRecommendation": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_SearchPartnersOptInRecommendation", + "description": "Output only. The Search Partners Opt-In recommendation.", + "readOnly": true + }, + "setTargetCpaRecommendation": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_ForecastingSetTargetCpaRecommendation", + "description": "Output only. The set target CPA recommendation.", + "readOnly": true + }, + "setTargetRoasRecommendation": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_ForecastingSetTargetRoasRecommendation", + "description": "Output only. The set target ROAS recommendation.", + "readOnly": true + }, + "shoppingAddAgeGroupRecommendation": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_ShoppingOfferAttributeRecommendation", + "description": "Output only. The shopping add age group recommendation.", + "readOnly": true + }, + "shoppingAddColorRecommendation": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_ShoppingOfferAttributeRecommendation", + "description": "Output only. The shopping add color recommendation.", + "readOnly": true + }, + "shoppingAddGenderRecommendation": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_ShoppingOfferAttributeRecommendation", + "description": "Output only. The shopping add gender recommendation.", + "readOnly": true + }, + "shoppingAddGtinRecommendation": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_ShoppingOfferAttributeRecommendation", + "description": "Output only. The shopping add GTIN recommendation.", + "readOnly": true + }, + "shoppingAddMoreIdentifiersRecommendation": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_ShoppingOfferAttributeRecommendation", + "description": "Output only. The shopping add more identifiers recommendation.", + "readOnly": true + }, + "shoppingAddProductsToCampaignRecommendation": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_ShoppingAddProductsToCampaignRecommendation", + "description": "Output only. The shopping add products to campaign recommendation.", + "readOnly": true + }, + "shoppingAddSizeRecommendation": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_ShoppingOfferAttributeRecommendation", + "description": "Output only. The shopping add size recommendation.", + "readOnly": true + }, + "shoppingFixDisapprovedProductsRecommendation": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_ShoppingFixDisapprovedProductsRecommendation", + "description": "Output only. The shopping fix disapproved products recommendation.", + "readOnly": true + }, + "shoppingFixMerchantCenterAccountSuspensionWarningRecommendation": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_ShoppingMerchantCenterAccountSuspensionRecommendation", + "description": "Output only. The shopping fix Merchant Center account suspension warning recommendation.", + "readOnly": true + }, + "shoppingFixSuspendedMerchantCenterAccountRecommendation": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_ShoppingMerchantCenterAccountSuspensionRecommendation", + "description": "Output only. The shopping fix suspended Merchant Center account recommendation.", + "readOnly": true + }, + "shoppingMigrateRegularShoppingCampaignOffersToPerformanceMaxRecommendation": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_ShoppingMigrateRegularShoppingCampaignOffersToPerformanceMaxRecommendation", + "description": "Output only. The shopping migrate Regular Shopping Campaign offers to Performance Max recommendation.", + "readOnly": true + }, + "shoppingTargetAllOffersRecommendation": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_ShoppingTargetAllOffersRecommendation", + "description": "Output only. The shopping target all offers recommendation.", + "readOnly": true + }, + "sitelinkAssetRecommendation": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_SitelinkAssetRecommendation", + "description": "Output only. The sitelink asset recommendation.", + "readOnly": true + }, + "targetCpaOptInRecommendation": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_TargetCpaOptInRecommendation", + "description": "Output only. The TargetCPA opt-in recommendation.", + "readOnly": true + }, + "targetRoasOptInRecommendation": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_TargetRoasOptInRecommendation", + "description": "Output only. The Target ROAS opt-in recommendation.", + "readOnly": true + }, + "textAdRecommendation": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_TextAdRecommendation", + "description": "Output only. Add expanded text ad recommendation.", + "readOnly": true + }, + "type": { + "description": "Output only. The type of recommendation.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CAMPAIGN_BUDGET", + "KEYWORD", + "TEXT_AD", + "TARGET_CPA_OPT_IN", + "MAXIMIZE_CONVERSIONS_OPT_IN", + "ENHANCED_CPC_OPT_IN", + "SEARCH_PARTNERS_OPT_IN", + "MAXIMIZE_CLICKS_OPT_IN", + "OPTIMIZE_AD_ROTATION", + "KEYWORD_MATCH_TYPE", + "MOVE_UNUSED_BUDGET", + "FORECASTING_CAMPAIGN_BUDGET", + "TARGET_ROAS_OPT_IN", + "RESPONSIVE_SEARCH_AD", + "MARGINAL_ROI_CAMPAIGN_BUDGET", + "USE_BROAD_MATCH_KEYWORD", + "RESPONSIVE_SEARCH_AD_ASSET", + "UPGRADE_SMART_SHOPPING_CAMPAIGN_TO_PERFORMANCE_MAX", + "RESPONSIVE_SEARCH_AD_IMPROVE_AD_STRENGTH", + "DISPLAY_EXPANSION_OPT_IN", + "UPGRADE_LOCAL_CAMPAIGN_TO_PERFORMANCE_MAX", + "RAISE_TARGET_CPA_BID_TOO_LOW", + "FORECASTING_SET_TARGET_ROAS", + "CALLOUT_ASSET", + "SITELINK_ASSET", + "CALL_ASSET", + "SHOPPING_ADD_AGE_GROUP", + "SHOPPING_ADD_COLOR", + "SHOPPING_ADD_GENDER", + "SHOPPING_ADD_GTIN", + "SHOPPING_ADD_MORE_IDENTIFIERS", + "SHOPPING_ADD_SIZE", + "SHOPPING_ADD_PRODUCTS_TO_CAMPAIGN", + "SHOPPING_FIX_DISAPPROVED_PRODUCTS", + "SHOPPING_TARGET_ALL_OFFERS", + "SHOPPING_FIX_SUSPENDED_MERCHANT_CENTER_ACCOUNT", + "SHOPPING_FIX_MERCHANT_CENTER_ACCOUNT_SUSPENSION_WARNING", + "SHOPPING_MIGRATE_REGULAR_SHOPPING_CAMPAIGN_OFFERS_TO_PERFORMANCE_MAX", + "DYNAMIC_IMAGE_EXTENSION_OPT_IN", + "RAISE_TARGET_CPA", + "LOWER_TARGET_ROAS", + "PERFORMANCE_MAX_OPT_IN", + "IMPROVE_PERFORMANCE_MAX_AD_STRENGTH", + "MIGRATE_DYNAMIC_SEARCH_ADS_CAMPAIGN_TO_PERFORMANCE_MAX", + "FORECASTING_SET_TARGET_CPA", + "SET_TARGET_CPA", + "SET_TARGET_ROAS", + "MAXIMIZE_CONVERSION_VALUE_OPT_IN", + "IMPROVE_GOOGLE_TAG_COVERAGE", + "PERFORMANCE_MAX_FINAL_URL_OPT_IN", + "REFRESH_CUSTOMER_MATCH_LIST", + "CUSTOM_AUDIENCE_OPT_IN", + "LEAD_FORM_ASSET", + "IMPROVE_DEMAND_GEN_AD_STRENGTH" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Provides optimized budget recommendations for campaigns.", + "Keyword recommendation.", + "Recommendation to add a new text ad.", + "Recommendation to update a campaign to use a Target CPA bidding strategy.", + "Recommendation to update a campaign to use the Maximize Conversions bidding strategy.", + "Recommendation to enable Enhanced Cost Per Click for a campaign.", + "Recommendation to start showing your campaign's ads on Google Search Partners Websites.", + "Recommendation to update a campaign to use a Maximize Clicks bidding strategy.", + "Recommendation to start using the \"Optimize\" ad rotation setting for the given ad group.", + "Recommendation to change an existing keyword from one match type to a broader match type.", + "Recommendation to move unused budget from one budget to a constrained budget.", + "Budget recommendation for campaigns that are expected to become budget-constrained in the future (as opposed to the CAMPAIGN_BUDGET recommendation, which applies to campaigns that are currently budget-constrained).", + "Recommendation to update a campaign to use a Target ROAS bidding strategy.", + "Recommendation to add a new responsive search ad.", + "Budget recommendation for campaigns whose ROI is predicted to increase with a budget adjustment.", + "Recommendation to add broad match versions of keywords for fully automated conversion-based bidding campaigns.", + "Recommendation to add new responsive search ad assets.", + "Recommendation to upgrade a Smart Shopping campaign to a Performance Max campaign.", + "Recommendation to improve strength of responsive search ad.", + "Recommendation to update a campaign to use Display Expansion.", + "Recommendation to upgrade a Local campaign to a Performance Max campaign.", + "Recommendation to raise target CPA when it is too low and there are very few or no conversions. It is applied asynchronously and can take minutes depending on the number of ad groups there are in the related campaign.", + "Recommendation to raise the budget in advance of a seasonal event that is forecasted to increase traffic, and change bidding strategy from maximize conversion value to target ROAS.", + "Recommendation to add callout assets to campaign or customer level.", + "Recommendation to add sitelink assets to campaign or customer level.", + "Recommendation to add call assets to campaign or customer level.", + "Recommendation to add the age group attribute to offers that are demoted because of a missing age group.", + "Recommendation to add a color to offers that are demoted because of a missing color.", + "Recommendation to add a gender to offers that are demoted because of a missing gender.", + "Recommendation to add a GTIN (Global Trade Item Number) to offers that are demoted because of a missing GTIN.", + "Recommendation to add more identifiers to offers that are demoted because of missing identifiers.", + "Recommendation to add the size to offers that are demoted because of a missing size.", + "Recommendation informing a customer about a campaign that cannot serve because no products are being targeted.", + "The shopping recommendation informing a customer about campaign with a high percentage of disapproved products.", + "Recommendation to create a catch-all campaign that targets all offers.", + "Recommendation to fix Merchant Center account suspension issues.", + "Recommendation to fix Merchant Center account suspension warning issues.", + "Recommendation to migrate offers targeted by Regular Shopping Campaigns to existing Performance Max campaigns.", + "Recommendation to enable dynamic image extensions on the account, allowing Google to find the best images from ad landing pages and complement text ads.", + "Recommendation to raise Target CPA based on Google predictions modeled from past conversions. It is applied asynchronously and can take minutes depending on the number of ad groups there are in the related campaign.", + "Recommendation to lower Target ROAS.", + "Recommendation to opt into Performance Max campaigns.", + "Recommendation to improve the asset group strength of a Performance Max campaign to an \"Excellent\" rating.", + "Recommendation to migrate Dynamic Search Ads to Performance Max campaigns.", + "Recommendation to set a target CPA for campaigns that do not have one specified, in advance of a seasonal event that is forecasted to increase traffic.", + "Recommendation to set a target CPA for campaigns that do not have one specified.", + "Recommendation to set a target ROAS for campaigns that do not have one specified.", + "Recommendation to update a campaign to use the Maximize Conversion Value bidding strategy.", + "Recommendation to deploy Google Tag on more pages.", + "Recommendation to turn on Final URL expansion for your Performance Max campaigns.", + "Recommendation to update a customer list that hasn't been updated in the last 90 days.", + "Recommendation to create a custom audience.", + "Recommendation to add lead form assets to campaign or customer level.", + "Recommendation to improve the strength of ads in Demand Gen campaigns." + ], + "readOnly": true, + "type": "string" + }, + "upgradeLocalCampaignToPerformanceMaxRecommendation": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_UpgradeLocalCampaignToPerformanceMaxRecommendation", + "description": "Output only. The upgrade a Local campaign to a Performance Max campaign recommendation.", + "readOnly": true + }, + "upgradeSmartShoppingCampaignToPerformanceMaxRecommendation": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_UpgradeSmartShoppingCampaignToPerformanceMaxRecommendation", + "description": "Output only. The upgrade a Smart Shopping campaign to a Performance Max campaign recommendation.", + "readOnly": true + }, + "useBroadMatchKeywordRecommendation": { + "$ref": "GoogleAdsSearchads360V23Resources_Recommendation_UseBroadMatchKeywordRecommendation", + "description": "Output only. The use broad match keyword recommendation.", + "readOnly": true + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__RecommendationSubscription": { + "description": "Recommendation Subscription resource", + "id": "GoogleAdsSearchads360V23Resources__RecommendationSubscription", + "properties": { + "createDateTime": { + "description": "Output only. Time in seconds when the subscription was first created. The datetime is in the customer's time zone and in \"yyyy-MM-dd HH:mm:ss\" format.", + "readOnly": true, + "type": "string" + }, + "modifyDateTime": { + "description": "Output only. Contains the time in microseconds, when the Recommendation Subscription was last updated. The datetime is in the customer's time zone and in \"yyyy-MM-dd HH:mm:ss.ssssss\" format.", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Immutable. The resource name of the recommendation subscription. `customers/{customer_id}/recommendationSubscriptions/{recommendation_type}`", + "type": "string" + }, + "status": { + "description": "Required. Status of the subscription, either enabled or paused.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ENABLED", + "PAUSED" + ], + "enumDescriptions": [ + "Not specified.", + "Output-only. Represents a format not yet defined in this enum.", + "A subscription in the enabled state will automatically apply any recommendations of that type.", + "Recommendations of the relevant type will not be automatically applied. Subscriptions cannot be deleted. Once created, they can only move between enabled and paused states." + ], + "type": "string" + }, + "type": { + "description": "Required. Immutable. The type of recommendation subscribed to.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CAMPAIGN_BUDGET", + "KEYWORD", + "TEXT_AD", + "TARGET_CPA_OPT_IN", + "MAXIMIZE_CONVERSIONS_OPT_IN", + "ENHANCED_CPC_OPT_IN", + "SEARCH_PARTNERS_OPT_IN", + "MAXIMIZE_CLICKS_OPT_IN", + "OPTIMIZE_AD_ROTATION", + "KEYWORD_MATCH_TYPE", + "MOVE_UNUSED_BUDGET", + "FORECASTING_CAMPAIGN_BUDGET", + "TARGET_ROAS_OPT_IN", + "RESPONSIVE_SEARCH_AD", + "MARGINAL_ROI_CAMPAIGN_BUDGET", + "USE_BROAD_MATCH_KEYWORD", + "RESPONSIVE_SEARCH_AD_ASSET", + "UPGRADE_SMART_SHOPPING_CAMPAIGN_TO_PERFORMANCE_MAX", + "RESPONSIVE_SEARCH_AD_IMPROVE_AD_STRENGTH", + "DISPLAY_EXPANSION_OPT_IN", + "UPGRADE_LOCAL_CAMPAIGN_TO_PERFORMANCE_MAX", + "RAISE_TARGET_CPA_BID_TOO_LOW", + "FORECASTING_SET_TARGET_ROAS", + "CALLOUT_ASSET", + "SITELINK_ASSET", + "CALL_ASSET", + "SHOPPING_ADD_AGE_GROUP", + "SHOPPING_ADD_COLOR", + "SHOPPING_ADD_GENDER", + "SHOPPING_ADD_GTIN", + "SHOPPING_ADD_MORE_IDENTIFIERS", + "SHOPPING_ADD_SIZE", + "SHOPPING_ADD_PRODUCTS_TO_CAMPAIGN", + "SHOPPING_FIX_DISAPPROVED_PRODUCTS", + "SHOPPING_TARGET_ALL_OFFERS", + "SHOPPING_FIX_SUSPENDED_MERCHANT_CENTER_ACCOUNT", + "SHOPPING_FIX_MERCHANT_CENTER_ACCOUNT_SUSPENSION_WARNING", + "SHOPPING_MIGRATE_REGULAR_SHOPPING_CAMPAIGN_OFFERS_TO_PERFORMANCE_MAX", + "DYNAMIC_IMAGE_EXTENSION_OPT_IN", + "RAISE_TARGET_CPA", + "LOWER_TARGET_ROAS", + "PERFORMANCE_MAX_OPT_IN", + "IMPROVE_PERFORMANCE_MAX_AD_STRENGTH", + "MIGRATE_DYNAMIC_SEARCH_ADS_CAMPAIGN_TO_PERFORMANCE_MAX", + "FORECASTING_SET_TARGET_CPA", + "SET_TARGET_CPA", + "SET_TARGET_ROAS", + "MAXIMIZE_CONVERSION_VALUE_OPT_IN", + "IMPROVE_GOOGLE_TAG_COVERAGE", + "PERFORMANCE_MAX_FINAL_URL_OPT_IN", + "REFRESH_CUSTOMER_MATCH_LIST", + "CUSTOM_AUDIENCE_OPT_IN", + "LEAD_FORM_ASSET", + "IMPROVE_DEMAND_GEN_AD_STRENGTH" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Provides optimized budget recommendations for campaigns.", + "Keyword recommendation.", + "Recommendation to add a new text ad.", + "Recommendation to update a campaign to use a Target CPA bidding strategy.", + "Recommendation to update a campaign to use the Maximize Conversions bidding strategy.", + "Recommendation to enable Enhanced Cost Per Click for a campaign.", + "Recommendation to start showing your campaign's ads on Google Search Partners Websites.", + "Recommendation to update a campaign to use a Maximize Clicks bidding strategy.", + "Recommendation to start using the \"Optimize\" ad rotation setting for the given ad group.", + "Recommendation to change an existing keyword from one match type to a broader match type.", + "Recommendation to move unused budget from one budget to a constrained budget.", + "Budget recommendation for campaigns that are expected to become budget-constrained in the future (as opposed to the CAMPAIGN_BUDGET recommendation, which applies to campaigns that are currently budget-constrained).", + "Recommendation to update a campaign to use a Target ROAS bidding strategy.", + "Recommendation to add a new responsive search ad.", + "Budget recommendation for campaigns whose ROI is predicted to increase with a budget adjustment.", + "Recommendation to add broad match versions of keywords for fully automated conversion-based bidding campaigns.", + "Recommendation to add new responsive search ad assets.", + "Recommendation to upgrade a Smart Shopping campaign to a Performance Max campaign.", + "Recommendation to improve strength of responsive search ad.", + "Recommendation to update a campaign to use Display Expansion.", + "Recommendation to upgrade a Local campaign to a Performance Max campaign.", + "Recommendation to raise target CPA when it is too low and there are very few or no conversions. It is applied asynchronously and can take minutes depending on the number of ad groups there are in the related campaign.", + "Recommendation to raise the budget in advance of a seasonal event that is forecasted to increase traffic, and change bidding strategy from maximize conversion value to target ROAS.", + "Recommendation to add callout assets to campaign or customer level.", + "Recommendation to add sitelink assets to campaign or customer level.", + "Recommendation to add call assets to campaign or customer level.", + "Recommendation to add the age group attribute to offers that are demoted because of a missing age group.", + "Recommendation to add a color to offers that are demoted because of a missing color.", + "Recommendation to add a gender to offers that are demoted because of a missing gender.", + "Recommendation to add a GTIN (Global Trade Item Number) to offers that are demoted because of a missing GTIN.", + "Recommendation to add more identifiers to offers that are demoted because of missing identifiers.", + "Recommendation to add the size to offers that are demoted because of a missing size.", + "Recommendation informing a customer about a campaign that cannot serve because no products are being targeted.", + "The shopping recommendation informing a customer about campaign with a high percentage of disapproved products.", + "Recommendation to create a catch-all campaign that targets all offers.", + "Recommendation to fix Merchant Center account suspension issues.", + "Recommendation to fix Merchant Center account suspension warning issues.", + "Recommendation to migrate offers targeted by Regular Shopping Campaigns to existing Performance Max campaigns.", + "Recommendation to enable dynamic image extensions on the account, allowing Google to find the best images from ad landing pages and complement text ads.", + "Recommendation to raise Target CPA based on Google predictions modeled from past conversions. It is applied asynchronously and can take minutes depending on the number of ad groups there are in the related campaign.", + "Recommendation to lower Target ROAS.", + "Recommendation to opt into Performance Max campaigns.", + "Recommendation to improve the asset group strength of a Performance Max campaign to an \"Excellent\" rating.", + "Recommendation to migrate Dynamic Search Ads to Performance Max campaigns.", + "Recommendation to set a target CPA for campaigns that do not have one specified, in advance of a seasonal event that is forecasted to increase traffic.", + "Recommendation to set a target CPA for campaigns that do not have one specified.", + "Recommendation to set a target ROAS for campaigns that do not have one specified.", + "Recommendation to update a campaign to use the Maximize Conversion Value bidding strategy.", + "Recommendation to deploy Google Tag on more pages.", + "Recommendation to turn on Final URL expansion for your Performance Max campaigns.", + "Recommendation to update a customer list that hasn't been updated in the last 90 days.", + "Recommendation to create a custom audience.", + "Recommendation to add lead form assets to campaign or customer level.", + "Recommendation to improve the strength of ads in Demand Gen campaigns." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__RemarketingAction": { + "description": "A remarketing action. A snippet of JavaScript code that will collect the product id and the type of page people visited (product page, shopping cart page, purchase page, general site visit) on an advertiser's website.", + "id": "GoogleAdsSearchads360V23Resources__RemarketingAction", + "properties": { + "id": { + "description": "Output only. Id of the remarketing action.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "The name of the remarketing action. This field is required and should not be empty when creating new remarketing actions.", + "type": "string" + }, + "resourceName": { + "description": "Immutable. The resource name of the remarketing action. Remarketing action resource names have the form: `customers/{customer_id}/remarketingActions/{remarketing_action_id}`", + "type": "string" + }, + "tagSnippets": { + "description": "Output only. The snippets used for tracking remarketing actions.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__TagSnippet" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__RemarketingSetting": { + "description": "Remarketing setting for a customer.", + "id": "GoogleAdsSearchads360V23Resources__RemarketingSetting", + "properties": { + "googleGlobalSiteTag": { + "description": "Output only. The Google tag.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__Residency": { + "description": "Details about the employee's medical residency. Residency is a stage of graduate medical education in which a qualified medical professional practices under the supervision of a senior clinician.", + "id": "GoogleAdsSearchads360V23Resources__Residency", + "properties": { + "completionYear": { + "description": "Output only. Year of completion.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "institutionName": { + "description": "Output only. Name of the institution at which the residency was completed.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__SearchAds360Campaign": { + "description": "A Search Ads 360 campaign.", + "id": "GoogleAdsSearchads360V23Resources__SearchAds360Campaign", + "properties": { + "productAttributionFilterType": { + "description": "The type of product attribution filtering to apply to this campaign.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "INHERIT", + "MANUAL", + "AUTO_BRAND" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Inherit the filter type from a parent or default configuration.", + "Manually configure/manage the filter. This requires additional configuration at the campaign level.", + "Automatically determine and manage the Brand filter through the external API." + ], + "type": "string" + }, + "resourceName": { + "description": "Immutable. The resource name of the Search Ads 360 campaign. Search Ads 360 campaign resource names have the form: `customers/{customer_id}/searchAds360Campaigns/{campaign_id}`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__SearchAds360Field": { + "description": "A field or resource (artifact) used by SearchAds360Service.", + "id": "GoogleAdsSearchads360V23Resources__SearchAds360Field", + "properties": { + "attributeResources": { + "description": "Output only. The names of all resources that are selectable with the described artifact. Fields from these resources do not segment metrics when included in search queries. This field is only set for artifacts whose category is RESOURCE.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "category": { + "description": "Output only. The category of the artifact.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "RESOURCE", + "ATTRIBUTE", + "SEGMENT", + "METRIC" + ], + "enumDescriptions": [ + "Unspecified", + "Unknown", + "The described artifact is a resource.", + "The described artifact is a field and is an attribute of a resource. Including a resource attribute field in a query may segment the query if the resource to which it is attributed segments the resource found in the FROM clause.", + "The described artifact is a field and always segments search queries.", + "The described artifact is a field and is a metric. It never segments search queries." + ], + "readOnly": true, + "type": "string" + }, + "dataType": { + "description": "Output only. This field determines the operators that can be used with the artifact in WHERE clauses.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "BOOLEAN", + "DATE", + "DOUBLE", + "ENUM", + "FLOAT", + "INT32", + "INT64", + "MESSAGE", + "RESOURCE_NAME", + "STRING", + "UINT64" + ], + "enumDescriptions": [ + "Unspecified", + "Unknown", + "Maps to google.protobuf.BoolValue Applicable operators: =, !=", + "Maps to google.protobuf.StringValue. It can be compared using the set of operators specific to dates however. Applicable operators: =, <, >, <=, >=, BETWEEN, DURING, and IN", + "Maps to google.protobuf.DoubleValue Applicable operators: =, !=, <, >, IN, NOT IN", + "Maps to an enum. It's specific definition can be found at type_url. Applicable operators: =, !=, IN, NOT IN", + "Maps to google.protobuf.FloatValue Applicable operators: =, !=, <, >, IN, NOT IN", + "Maps to google.protobuf.Int32Value Applicable operators: =, !=, <, >, <=, >=, BETWEEN, IN, NOT IN", + "Maps to google.protobuf.Int64Value Applicable operators: =, !=, <, >, <=, >=, BETWEEN, IN, NOT IN", + "Maps to a protocol buffer message type. The data type's details can be found in type_url. No operators work with MESSAGE fields.", + "Maps to google.protobuf.StringValue. Represents the resource name (unique id) of a resource or one of its foreign keys. No operators work with RESOURCE_NAME fields.", + "Maps to google.protobuf.StringValue. Applicable operators: =, !=, LIKE, NOT LIKE, IN, NOT IN", + "Maps to google.protobuf.UInt64Value Applicable operators: =, !=, <, >, <=, >=, BETWEEN, IN, NOT IN" + ], + "readOnly": true, + "type": "string" + }, + "enumValues": { + "description": "Output only. Values the artifact can assume if it is a field of type ENUM. This field is only set for artifacts of category SEGMENT or ATTRIBUTE.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "filterable": { + "description": "Output only. Whether the artifact can be used in a WHERE clause in search queries.", + "readOnly": true, + "type": "boolean" + }, + "isRepeated": { + "description": "Output only. Whether the field artifact is repeated.", + "readOnly": true, + "type": "boolean" + }, + "metrics": { + "description": "Output only. This field lists the names of all metrics that are selectable with the described artifact when it is used in the FROM clause. It is only set for artifacts whose category is RESOURCE.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "name": { + "description": "Output only. The name of the artifact.", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Output only. The resource name of the artifact. Artifact resource names have the form: `SearchAds360Fields/{name}`", + "readOnly": true, + "type": "string" + }, + "segments": { + "description": "Output only. This field lists the names of all artifacts, whether a segment or another resource, that segment metrics when included in search queries and when the described artifact is used in the FROM clause. It is only set for artifacts whose category is RESOURCE.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "selectable": { + "description": "Output only. Whether the artifact can be used in a SELECT clause in search queries.", + "readOnly": true, + "type": "boolean" + }, + "selectableWith": { + "description": "Output only. The names of all resources, segments, and metrics that are selectable with the described artifact.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "sortable": { + "description": "Output only. Whether the artifact can be used in a ORDER BY clause in search queries.", + "readOnly": true, + "type": "boolean" + }, + "typeUrl": { + "description": "Output only. The URL of proto describing the artifact's data type.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__SearchTermView": { + "description": "A search term view with metrics aggregated by search term at the ad group level. This view does not include Performance Max data. If you are looking for Performance Max search term data, use the CampaignSearchTermView instead.", + "id": "GoogleAdsSearchads360V23Resources__SearchTermView", + "properties": { + "adGroup": { + "description": "Output only. The ad group the search term served in.", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Output only. The resource name of the search term view. Search term view resource names have the form: `customers/{customer_id}/searchTermViews/{campaign_id}~{ad_group_id}~{URL-base64_search_term}`", + "readOnly": true, + "type": "string" + }, + "searchTerm": { + "description": "Output only. The search term.", + "readOnly": true, + "type": "string" + }, + "status": { + "description": "Output only. Indicates whether the search term is currently one of your targeted or excluded keywords.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ADDED", + "EXCLUDED", + "ADDED_EXCLUDED", + "NONE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Search term is added to targeted keywords.", + "Search term matches a negative keyword.", + "Search term has been both added and excluded.", + "Search term is neither targeted nor excluded." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__SharedCriterion": { + "description": "A criterion belonging to a shared set.", + "id": "GoogleAdsSearchads360V23Resources__SharedCriterion", + "properties": { + "brand": { + "$ref": "GoogleAdsSearchads360V23Common__BrandInfo", + "description": "Immutable. Brand." + }, + "criterionId": { + "description": "Output only. The ID of the criterion. This field is ignored for mutates.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "keyword": { + "$ref": "GoogleAdsSearchads360V23Common__KeywordInfo", + "description": "Immutable. Keyword." + }, + "mobileAppCategory": { + "$ref": "GoogleAdsSearchads360V23Common__MobileAppCategoryInfo", + "description": "Immutable. Mobile App Category." + }, + "mobileApplication": { + "$ref": "GoogleAdsSearchads360V23Common__MobileApplicationInfo", + "description": "Immutable. Mobile application." + }, + "negative": { + "description": "Immutable. If true, the criterion is excluded. If false, the criterion is targeted.", + "type": "boolean" + }, + "placement": { + "$ref": "GoogleAdsSearchads360V23Common__PlacementInfo", + "description": "Immutable. Placement." + }, + "resourceName": { + "description": "Immutable. The resource name of the shared criterion. Shared set resource names have the form: `customers/{customer_id}/sharedCriteria/{shared_set_id}~{criterion_id}`", + "type": "string" + }, + "sharedSet": { + "description": "Immutable. The shared set to which the shared criterion belongs.", + "type": "string" + }, + "type": { + "description": "Output only. The type of the criterion.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "KEYWORD", + "PLACEMENT", + "MOBILE_APP_CATEGORY", + "MOBILE_APPLICATION", + "DEVICE", + "LOCATION", + "LISTING_GROUP", + "AD_SCHEDULE", + "AGE_RANGE", + "GENDER", + "INCOME_RANGE", + "PARENTAL_STATUS", + "YOUTUBE_VIDEO", + "YOUTUBE_CHANNEL", + "USER_LIST", + "PROXIMITY", + "TOPIC", + "LISTING_SCOPE", + "LANGUAGE", + "IP_BLOCK", + "CONTENT_LABEL", + "CARRIER", + "USER_INTEREST", + "WEBPAGE", + "OPERATING_SYSTEM_VERSION", + "APP_PAYMENT_MODEL", + "MOBILE_DEVICE", + "CUSTOM_AFFINITY", + "CUSTOM_INTENT", + "LOCATION_GROUP", + "CUSTOM_AUDIENCE", + "COMBINED_AUDIENCE", + "KEYWORD_THEME", + "AUDIENCE", + "NEGATIVE_KEYWORD_LIST", + "LOCAL_SERVICE_ID", + "SEARCH_THEME", + "BRAND", + "BRAND_LIST", + "LIFE_EVENT", + "WEBPAGE_LIST", + "VIDEO_LINEUP", + "PLACEMENT_LIST", + "VERTICAL_ADS_ITEM_GROUP_RULE_LIST", + "VERTICAL_ADS_ITEM_GROUP_RULE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Keyword, for example, 'mars cruise'.", + "Placement, also known as Website, for example, 'www.flowers4sale.com'", + "Mobile application categories to target.", + "Mobile applications to target.", + "Devices to target.", + "Locations to target.", + "Listing groups to target.", + "Ad Schedule.", + "Age range.", + "Gender.", + "Income Range.", + "Parental status.", + "YouTube Video.", + "YouTube Channel.", + "User list.", + "Proximity.", + "A topic target on the display network (for example, \"Pets & Animals\").", + "Listing scope to target.", + "Language.", + "IpBlock.", + "Content Label for category exclusion.", + "Carrier.", + "A category the user is interested in.", + "Webpage criterion for dynamic search ads.", + "Operating system version.", + "App payment model.", + "Mobile device.", + "Custom affinity.", + "Custom intent.", + "Location group.", + "Custom audience", + "Combined audience", + "Smart Campaign keyword theme", + "Audience", + "Negative Keyword List", + "Local Services Ads Service ID.", + "Search Theme.", + "Brand", + "Brand List", + "Life Event", + "Webpage List", + "Video lineup", + "Placement List", + "A list of rules for item groups in Vertical Ads.", + "A rule for an item group in Vertical Ads." + ], + "readOnly": true, + "type": "string" + }, + "verticalAdsItemGroupRule": { + "$ref": "GoogleAdsSearchads360V23Common__VerticalAdsItemGroupRuleInfo", + "description": "Immutable. Vertical ads item group rule." + }, + "webpage": { + "$ref": "GoogleAdsSearchads360V23Common__WebpageInfo", + "description": "Immutable. Webpage." + }, + "youtubeChannel": { + "$ref": "GoogleAdsSearchads360V23Common__YouTubeChannelInfo", + "description": "Immutable. YouTube Channel." + }, + "youtubeVideo": { + "$ref": "GoogleAdsSearchads360V23Common__YouTubeVideoInfo", + "description": "Immutable. YouTube Video." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__SharedSet": { + "description": "SharedSets are used for sharing criterion exclusions across multiple campaigns.", + "id": "GoogleAdsSearchads360V23Resources__SharedSet", + "properties": { + "id": { + "description": "Output only. The ID of this shared set. Read only.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "memberCount": { + "description": "Output only. The number of shared criteria within this shared set. Read only.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "The name of this shared set. Required. Shared Sets must have names that are unique among active shared sets of the same type. The length of this string should be between 1 and 255 UTF-8 bytes, inclusive.", + "type": "string" + }, + "referenceCount": { + "description": "Output only. The number of campaigns associated with this shared set. Read only.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Immutable. The resource name of the shared set. Shared set resource names have the form: `customers/{customer_id}/sharedSets/{shared_set_id}`", + "type": "string" + }, + "status": { + "description": "Output only. The status of this shared set. Read only.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ENABLED", + "REMOVED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The shared set is enabled.", + "The shared set is removed and can no longer be used." + ], + "readOnly": true, + "type": "string" + }, + "type": { + "description": "Immutable. The type of this shared set: each shared set holds only a single kind of resource. Required. Immutable.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "NEGATIVE_KEYWORDS", + "NEGATIVE_PLACEMENTS", + "ACCOUNT_LEVEL_NEGATIVE_KEYWORDS", + "BRANDS", + "WEBPAGES", + "VERTICAL_ADS_ITEM_GROUP_RULE_LIST" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "A set of keywords that can be excluded from targeting.", + "A set of placements that can be excluded from targeting.", + "An account-level set of keywords that can be excluded from targeting.", + "A set of brands can be included or excluded from targeting.", + "A set of webpages that can be excluded from targeting. This shared set type is not publicly available.", + "A set of vertical ads item group rules that can be included or excluded from targeting in Vertical Ads (e.g., for hotel ads)." + ], + "type": "string" + }, + "verticalAdsItemVerticalType": { + "description": "Immutable. Shared sets of type VERTICAL_ADS_ITEM_GROUP_RULE_LIST are associated with a particular vertical (e.g. hotels, things to do, flights, etc.). This field is required for shared sets of type VERTICAL_ADS_ITEM_GROUP_RULE_LIST.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "HOTELS", + "VACATION_RENTALS", + "RENTAL_CARS", + "EVENTS", + "THINGS_TO_DO", + "FLIGHTS" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Hotels travel vertical.", + "Vacation rentals travel vertical.", + "Rental cars travel vertical.", + "Events travel vertical.", + "Things to do travel vertical.", + "Flights travel vertical." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__ShoppingPerformanceView": { + "description": "Shopping performance view. Provides Shopping campaign and Performance Max campaign statistics aggregated at several product dimension levels. Product dimension values from Merchant Center such as brand, category, custom attributes, product condition, and product type will reflect the state of each dimension as of the date and time when the corresponding event was recorded. The number of impressions and clicks that `shopping_performance_view` returns stats for may be different from campaign reports. `shopping_performance_view` shows impressions and clicks on products appearing in ads, while campaign reports show impressions and clicks on the ads themselves. Depending on the format, an ad can show from zero to several products, so the numbers may not match. In Search Ads 360 UI, you can query impressions and clicks of products appearing in ads by selecting a column from \"Product attributes\" in the report editor. For example, selecting the \"Brand\" column is equivalent to selecting `segments.product_brand`.", + "id": "GoogleAdsSearchads360V23Resources__ShoppingPerformanceView", + "properties": { + "resourceName": { + "description": "Output only. The resource name of the Shopping performance view. Shopping performance view resource names have the form: `customers/{customer_id}/shoppingPerformanceView`", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__ShoppingProduct": { + "description": "A shopping product from Google Merchant Center that can be advertised by campaigns. The resource returns currently existing products from Google Merchant Center accounts linked with the customer. A campaign includes a product by specifying its merchant id (or, if available, the Multi Client Account id of the merchant) in the `ShoppingSetting`, and can limit the inclusion to products having a specified feed label. Standard Shopping campaigns can also limit the inclusion through a `campaign_criterion.listing_scope`. Queries to this resource specify a scope: * Account: - Filters on campaigns or ad groups are not specified. - All products from the linked Google Merchant Center accounts are returned. - Metrics and some fields (see the per-field documentation) are aggregated across all Shopping and Performance Max campaigns that include a product. * Campaign: - An equality filter on `campaign` is specified. Supported campaign types are Shopping, Performance Max, Demand Gen, Video, App. - Only products that are included by the specified campaign are returned. - Metrics and some fields (see the per-field documentation) are restricted to the specified campaign. - Only the following metrics are supported for Demand Gen, Video, App campaigns: impressions, clicks, ctr. * Ad group: - An equality filter on `ad_group` and `campaign` is specified. Supported campaign types are Shopping, Demand Gen, Video, App. - Only products that are included by the specified campaign are returned. - Metrics and some fields (see the per-field documentation) are restricted to the specified ad group. - Only the following metrics are supported for Demand Gen, Video, App campaigns: impressions, clicks, ctr. Note that segmentation by date segments is not permitted and will return UNSUPPORTED_DATE_SEGMENTATION error. On the other hand, filtering on date segments is allowed.", + "id": "GoogleAdsSearchads360V23Resources__ShoppingProduct", + "properties": { + "adGroup": { + "description": "Output only. An ad group of a campaign that includes the product. This field is selectable only in the ad group scope, which requires an equality filter on `campaign` and `ad_group`.", + "readOnly": true, + "type": "string" + }, + "availability": { + "description": "Output only. The availability of the product as provided by the merchant.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "IN_STOCK", + "OUT_OF_STOCK", + "PREORDER" + ], + "enumDescriptions": [ + "Enum unspecified.", + "Used for return value only. Represents values unknown in this version.", + "The product is in stock.", + "The product is out of stock.", + "The product can be preordered." + ], + "readOnly": true, + "type": "string" + }, + "brand": { + "description": "Output only. The brand of the product as provided by the merchant.", + "readOnly": true, + "type": "string" + }, + "campaign": { + "description": "Output only. A campaign that includes the product. This field is selectable only in the campaign scope, which requires an equality filter on `campaign`.", + "readOnly": true, + "type": "string" + }, + "categoryLevel1": { + "description": "Output only. The category level 1 of the product.", + "readOnly": true, + "type": "string" + }, + "categoryLevel2": { + "description": "Output only. The category level 2 of the product.", + "readOnly": true, + "type": "string" + }, + "categoryLevel3": { + "description": "Output only. The category level 3 of the product.", + "readOnly": true, + "type": "string" + }, + "categoryLevel4": { + "description": "Output only. The category level 4 of the product.", + "readOnly": true, + "type": "string" + }, + "categoryLevel5": { + "description": "Output only. The category level 5 of the product.", + "readOnly": true, + "type": "string" + }, + "channel": { + "description": "Output only. The product channel describing the locality of the product.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ONLINE", + "LOCAL" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The item is sold online.", + "The item is sold in local stores." + ], + "readOnly": true, + "type": "string" + }, + "channelExclusivity": { + "description": "Output only. The channel exclusivity of the product as provided by the merchant.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "SINGLE_CHANNEL", + "MULTI_CHANNEL" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The item is sold through one channel only, either local stores or online as indicated by its ProductChannel.", + "The item is matched to its online or local stores counterpart, indicating it is available for purchase in both ShoppingProductChannels." + ], + "readOnly": true, + "type": "string" + }, + "condition": { + "description": "Output only. The condition of the product as provided by the merchant.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "NEW", + "REFURBISHED", + "USED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The product condition is new.", + "The product condition is refurbished.", + "The product condition is used." + ], + "readOnly": true, + "type": "string" + }, + "currencyCode": { + "description": "Output only. The currency code as provided by the merchant, in ISO 4217 format.", + "readOnly": true, + "type": "string" + }, + "customAttribute0": { + "description": "Output only. The custom attribute 0 of the product as provided by the merchant.", + "readOnly": true, + "type": "string" + }, + "customAttribute1": { + "description": "Output only. The custom attribute 1 of the product as provided by the merchant.", + "readOnly": true, + "type": "string" + }, + "customAttribute2": { + "description": "Output only. The custom attribute 2 of the product as provided by the merchant.", + "readOnly": true, + "type": "string" + }, + "customAttribute3": { + "description": "Output only. The custom attribute 3 of the product as provided by the merchant.", + "readOnly": true, + "type": "string" + }, + "customAttribute4": { + "description": "Output only. The custom attribute 4 of the product as provided by the merchant.", + "readOnly": true, + "type": "string" + }, + "effectiveMaxCpcMicros": { + "description": "Output only. The effective maximum cost-per-click (effective max. CPC) of the product. This field is available only if the query specifies the campaign or ad group scope, and if the campaign uses manual bidding. The value is the highest bid set for the product in product groups across all enabled ad groups. It represents the most you're willing to pay for a click on the product. This field can take up to 24 hours to update.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "feedLabel": { + "description": "Output only. The product feed label as provided by the merchant.", + "readOnly": true, + "type": "string" + }, + "issues": { + "description": "Output only. The list of issues affecting whether the product can show in ads. The value of this field is restricted to the scope specified in the query, see the documentation of the resource. This field can take up to 24 hours to update. This field is not supported for App campaigns.", + "items": { + "$ref": "GoogleAdsSearchads360V23Resources_ShoppingProduct_ProductIssue" + }, + "readOnly": true, + "type": "array" + }, + "itemId": { + "description": "Output only. The item id of the product as provided by the merchant.", + "readOnly": true, + "type": "string" + }, + "languageCode": { + "description": "Output only. The language code as provided by the merchant, in BCP 47 format.", + "readOnly": true, + "type": "string" + }, + "merchantCenterId": { + "description": "Output only. The id of the merchant that owns the product.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "multiClientAccountId": { + "description": "Output only. The id of the Multi Client Account of the merchant, if present.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "priceMicros": { + "description": "Output only. The price of the product in micros as provided by the merchant, in the currency specified in `currency_code` (e.g. $2.97 is reported as 2970000).", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "productImageUri": { + "description": "Output only. The URI of the product image as provided by the merchant.", + "readOnly": true, + "type": "string" + }, + "productTypeLevel1": { + "description": "Output only. The product type level 1 as provided by the merchant.", + "readOnly": true, + "type": "string" + }, + "productTypeLevel2": { + "description": "Output only. The product type level 2 as provided by the merchant.", + "readOnly": true, + "type": "string" + }, + "productTypeLevel3": { + "description": "Output only. The product type level 3 as provided by the merchant.", + "readOnly": true, + "type": "string" + }, + "productTypeLevel4": { + "description": "Output only. The product type level 4 as provided by the merchant.", + "readOnly": true, + "type": "string" + }, + "productTypeLevel5": { + "description": "Output only. The product type level 5 as provided by the merchant.", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Output only. The resource name of the shopping product. Shopping product resource names have the form: `customers/{customer_id}/shoppingProducts/{merchant_center_id}~{channel}~{language_code}~{feed_label}~{item_id}`", + "readOnly": true, + "type": "string" + }, + "status": { + "description": "Output only. The status that indicates whether the product can show in ads. The value of this field is restricted to the scope specified in the query, see the documentation of the resource. This field can take up to 24 hours to update. This field is not supported for App campaigns.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "NOT_ELIGIBLE", + "ELIGIBLE_LIMITED", + "ELIGIBLE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents values unknown in this version.", + "The product cannot show in ads.", + "The product can show in ads but may be limited in where and when it can show due to identified issues.", + "The product can show in ads." + ], + "readOnly": true, + "type": "string" + }, + "targetCountries": { + "description": "Output only. Upper-case two-letter ISO 3166-1 code of the regions where the product is intended to be shown in ads.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "title": { + "description": "Output only. The title of the product as provided by the merchant.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__SmartCampaignSearchTermView": { + "description": "A Smart campaign search term view.", + "id": "GoogleAdsSearchads360V23Resources__SmartCampaignSearchTermView", + "properties": { + "campaign": { + "description": "Output only. The Smart campaign the search term served in.", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Output only. The resource name of the Smart campaign search term view. Smart campaign search term view resource names have the form: `customers/{customer_id}/smartCampaignSearchTermViews/{campaign_id}~{URL-base64_search_term}`", + "readOnly": true, + "type": "string" + }, + "searchTerm": { + "description": "Output only. The search term.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__SmartCampaignSetting": { + "description": "Settings for configuring Smart campaigns.", + "id": "GoogleAdsSearchads360V23Resources__SmartCampaignSetting", + "properties": { + "adOptimizedBusinessProfileSetting": { + "$ref": "GoogleAdsSearchads360V23Resources_SmartCampaignSetting_AdOptimizedBusinessProfileSetting", + "description": "Settings for configuring a business profile optimized for ads as this campaign's landing page. This campaign must be linked to a business profile to use this option. For more information on this feature, consult https://support.google.com/google-ads/answer/9827068." + }, + "advertisingLanguageCode": { + "description": "The language code to advertise in from the set of [supported language codes] (https://developers.google.com/google-ads/api/reference/data/codes-formats#languages).", + "type": "string" + }, + "businessName": { + "description": "The name of the business.", + "type": "string" + }, + "businessProfileLocation": { + "description": "The resource name of a Business Profile location. Business Profile location resource names can be fetched through the Business Profile API and adhere to the following format: `locations/{locationId}`. See the [Business Profile API] (https://developers.google.com/my-business/reference/businessinformation/rest/v1/accounts.locations) for additional details.", + "type": "string" + }, + "campaign": { + "description": "Output only. The campaign to which these settings apply.", + "readOnly": true, + "type": "string" + }, + "finalUrl": { + "description": "The user-provided landing page URL for this Campaign.", + "type": "string" + }, + "phoneNumber": { + "$ref": "GoogleAdsSearchads360V23Resources_SmartCampaignSetting_PhoneNumber", + "description": "Phone number and country code." + }, + "resourceName": { + "description": "Immutable. The resource name of the Smart campaign setting. Smart campaign setting resource names have the form: `customers/{customer_id}/smartCampaignSettings/{campaign_id}`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__TargetingExpansionView": { + "description": "A targeting expansion view with metrics. Returns metrics for automated expansion over manual targeting.", + "id": "GoogleAdsSearchads360V23Resources__TargetingExpansionView", + "properties": { + "resourceName": { + "description": "Output only. The resource name of the targeting expansion view. Targeting expansion view resource names have the form: `customers/{customer_id}/targetingExpansionViews/{campaign_id}~{targeting_expansion_type}`", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__ThirdPartyAppAnalyticsLink": { + "description": "A data sharing connection, allowing the import of third party app analytics into a Google Ads Customer.", + "id": "GoogleAdsSearchads360V23Resources__ThirdPartyAppAnalyticsLink", + "properties": { + "resourceName": { + "description": "Immutable. The resource name of the third party app analytics link. Third party app analytics link resource names have the form: `customers/{customer_id}/thirdPartyAppAnalyticsLinks/{account_link_id}`", + "type": "string" + }, + "shareableLinkId": { + "description": "Output only. The shareable link ID that should be provided to the third party when setting up app analytics. This is able to be regenerated using regenerate method in the ThirdPartyAppAnalyticsLinkService.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__ThirdPartyAppAnalyticsLinkIdentifier": { + "description": "The identifiers of a Third Party App Analytics Link.", + "id": "GoogleAdsSearchads360V23Resources__ThirdPartyAppAnalyticsLinkIdentifier", + "properties": { + "appAnalyticsProviderId": { + "description": "Immutable. The ID of the app analytics provider. This field should not be empty when creating a new third party app analytics link. It is unable to be modified after the creation of the link.", + "format": "int64", + "type": "string" + }, + "appId": { + "description": "Immutable. A string that uniquely identifies a mobile application from which the data was collected to the Google Ads API. For iOS, the ID string is the 9 digit string that appears at the end of an App Store URL (for example, \"422689480\" for \"Gmail\" whose App Store link is https://apps.apple.com/us/app/gmail-email-by-google/id422689480). For Android, the ID string is the application's package name (for example, \"com.google.android.gm\" for \"Gmail\" given Google Play link https://play.google.com/store/apps/details?id=com.google.android.gm) This field should not be empty when creating a new third party app analytics link. It is unable to be modified after the creation of the link.", + "type": "string" + }, + "appVendor": { + "description": "Immutable. The vendor of the app. This field should not be empty when creating a new third party app analytics link. It is unable to be modified after the creation of the link.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "APPLE_APP_STORE", + "GOOGLE_APP_STORE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Mobile app vendor for Apple app store.", + "Mobile app vendor for Google app store." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__TopicConstant": { + "description": "Use topics to target or exclude placements in the Google Display Network based on the category into which the placement falls (for example, \"Pets & Animals/Pets/Dogs\").", + "id": "GoogleAdsSearchads360V23Resources__TopicConstant", + "properties": { + "id": { + "description": "Output only. The ID of the topic.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "path": { + "description": "Output only. The category to target or exclude. Each subsequent element in the array describes a more specific sub-category. For example, {\"Pets & Animals\", \"Pets\", \"Dogs\"} represents the \"Pets & Animals/Pets/Dogs\" category. List of available topic categories at https://developers.google.com/google-ads/api/reference/data/verticals", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "resourceName": { + "description": "Output only. The resource name of the topic constant. topic constant resource names have the form: `topicConstants/{topic_id}`", + "readOnly": true, + "type": "string" + }, + "topicConstantParent": { + "description": "Output only. Resource name of parent of the topic constant.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__TopicView": { + "description": "A topic view.", + "id": "GoogleAdsSearchads360V23Resources__TopicView", + "properties": { + "resourceName": { + "description": "Output only. The resource name of the topic view. Topic view resource names have the form: `customers/{customer_id}/topicViews/{ad_group_id}~{criterion_id}`", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__TravelActivityGroupView": { + "description": "A travel activity group view.", + "id": "GoogleAdsSearchads360V23Resources__TravelActivityGroupView", + "properties": { + "resourceName": { + "description": "Output only. The resource name of the travel activity group view. Travel Activity Group view resource names have the form: `customers/{customer_id}/travelActivityGroupViews/{ad_group_id}~{criterion_id}`", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__TravelActivityPerformanceView": { + "description": "A travel activity performance view.", + "id": "GoogleAdsSearchads360V23Resources__TravelActivityPerformanceView", + "properties": { + "resourceName": { + "description": "Output only. The resource name of the travel activity performance view. Travel Activity performance view resource names have the form: `customers/{customer_id}/travelActivityPerformanceView`", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__UniversityDegree": { + "description": "A list of degrees this employee has obtained, and wants to feature.", + "id": "GoogleAdsSearchads360V23Resources__UniversityDegree", + "properties": { + "degree": { + "description": "Output only. Name of the degree obtained.", + "readOnly": true, + "type": "string" + }, + "graduationYear": { + "description": "Output only. Year of graduation.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "institutionName": { + "description": "Output only. Name of the university at which the degree was obtained.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__UserInterest": { + "description": "A user interest: a particular interest-based vertical to be targeted.", + "id": "GoogleAdsSearchads360V23Resources__UserInterest", + "properties": { + "availabilities": { + "description": "Output only. Availability information of the user interest.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__CriterionCategoryAvailability" + }, + "readOnly": true, + "type": "array" + }, + "launchedToAll": { + "description": "Output only. True if the user interest is launched to all channels and locales.", + "readOnly": true, + "type": "boolean" + }, + "name": { + "description": "Output only. The name of the user interest.", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Output only. The resource name of the user interest. User interest resource names have the form: `customers/{customer_id}/userInterests/{user_interest_id}`", + "readOnly": true, + "type": "string" + }, + "taxonomyType": { + "description": "Output only. Taxonomy type of the user interest.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "AFFINITY", + "IN_MARKET", + "MOBILE_APP_INSTALL_USER", + "VERTICAL_GEO", + "NEW_SMART_PHONE_USER" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The affinity for this user interest.", + "The market for this user interest.", + "Users known to have installed applications in the specified categories.", + "The geographical location of the interest-based vertical.", + "User interest criteria for new smart phone users." + ], + "readOnly": true, + "type": "string" + }, + "userInterestId": { + "description": "Output only. The ID of the user interest.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "userInterestParent": { + "description": "Output only. The parent of the user interest.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__UserList": { + "description": "A user list. This is a list of users a customer may target. The unique key of a user list consists of the following fields: `id`. Note that the `name` must also be unique for user lists owned by a given customer, except in some cases where `access_reason` is set to `SHARED`. Violating the unique name constraint produces error: `UserListError.INVALID_NAME`.", + "id": "GoogleAdsSearchads360V23Resources__UserList", + "properties": { + "accessReason": { + "description": "Output only. Indicates the reason this account has been granted access to the list. The reason can be SHARED, OWNED, LICENSED or SUBSCRIBED. This field is read-only.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "OWNED", + "SHARED", + "LICENSED", + "SUBSCRIBED", + "AFFILIATED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The resource is owned by the user.", + "The resource is shared to the user.", + "The resource is licensed to the user.", + "The user subscribed to the resource.", + "The resource is accessible to the user." + ], + "readOnly": true, + "type": "string" + }, + "accountUserListStatus": { + "description": "Indicates if this share is still enabled. When a UserList is shared with the user this field is set to ENABLED. Later the userList owner can decide to revoke the share and make it DISABLED. The default value of this field is set to ENABLED.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ENABLED", + "DISABLED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The access is enabled.", + "The access is disabled." + ], + "type": "string" + }, + "basicUserList": { + "$ref": "GoogleAdsSearchads360V23Common__BasicUserListInfo", + "description": "User list targeting as a collection of conversion or remarketing actions." + }, + "closingReason": { + "description": "Indicating the reason why this user list membership status is closed. It is only populated on lists that were automatically closed due to inactivity, and will be cleared once the list membership status becomes open.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "UNUSED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The userlist was closed because of not being used for over one year." + ], + "type": "string" + }, + "crmBasedUserList": { + "$ref": "GoogleAdsSearchads360V23Common__CrmBasedUserListInfo", + "description": "User list of CRM users provided by the advertiser." + }, + "description": { + "description": "Description of this user list.", + "type": "string" + }, + "eligibleForDisplay": { + "description": "Output only. Indicates this user list is eligible for Google Display Network. This field is read-only.", + "readOnly": true, + "type": "boolean" + }, + "eligibleForSearch": { + "description": "Indicates if this user list is eligible for Google Search Network.", + "type": "boolean" + }, + "id": { + "description": "Output only. Id of the user list.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "integrationCode": { + "description": "An ID from external system. It is used by user list sellers to correlate IDs on their systems.", + "type": "string" + }, + "logicalUserList": { + "$ref": "GoogleAdsSearchads360V23Common__LogicalUserListInfo", + "description": "User list that is a custom combination of user lists." + }, + "lookalikeUserList": { + "$ref": "GoogleAdsSearchads360V23Common__LookalikeUserListInfo", + "description": "Immutable. Lookalike User List." + }, + "matchRatePercentage": { + "description": "Output only. Indicates match rate for Customer Match lists. The range of this field is [0-100]. This will be null for other list types or when it's not possible to calculate the match rate. This field is read-only.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "membershipLifeSpan": { + "description": "Number of days a user's cookie stays on your list since its most recent addition to the list. This field must be between 0 and 540 inclusive. However, for CRM based userlists, this field can be set to 10000 which means no expiration. Beginning on April 7, 2025, using a value of 10000 to indicate no expiration will no longer be supported. This field is ignored for logical_user_list and rule_based_user_list types. Membership to lists of these types depends on the rules defined by the lists.", + "format": "int64", + "type": "string" + }, + "membershipStatus": { + "description": "Membership status of this user list. Indicates whether a user list is open or active. Only open user lists can accumulate more users and can be targeted to.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "OPEN", + "CLOSED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Open status - List is accruing members and can be targeted to.", + "Closed status - No new members being added. Cannot be used for targeting." + ], + "type": "string" + }, + "name": { + "description": "Name of this user list. Unique per user list, except in some cases where a user list of the same name has `access_reason` set to `SHARED`.", + "type": "string" + }, + "readOnly": { + "description": "Output only. An option that indicates if a user may edit a list. Depends on the list ownership and list type. For example, external remarketing user lists are not editable. This field is -only.", + "readOnly": true, + "type": "boolean" + }, + "resourceName": { + "description": "Immutable. The resource name of the user list. User list resource names have the form: `customers/{customer_id}/userLists/{user_list_id}`", + "type": "string" + }, + "ruleBasedUserList": { + "$ref": "GoogleAdsSearchads360V23Common__RuleBasedUserListInfo", + "description": "User list generated by a rule." + }, + "similarUserList": { + "$ref": "GoogleAdsSearchads360V23Common__SimilarUserListInfo", + "description": "Output only. User list which are similar to users from another UserList. These lists are readonly and automatically created by google.", + "readOnly": true + }, + "sizeForDisplay": { + "description": "Output only. Estimated number of users in this user list, on the Google Display Network. This value is if the number of users has not yet been determined. This field is -only.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "sizeForSearch": { + "description": "Output only. Estimated number of users in this user list in the google.com domain. These are the users available for targeting in Search campaigns. This value is null if the number of users has not yet been determined. This field is read-only.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "sizeRangeForDisplay": { + "description": "Output only. Size range in terms of number of users of the UserList, on the Google Display Network. This field is read-only.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "LESS_THAN_FIVE_HUNDRED", + "LESS_THAN_ONE_THOUSAND", + "ONE_THOUSAND_TO_TEN_THOUSAND", + "TEN_THOUSAND_TO_FIFTY_THOUSAND", + "FIFTY_THOUSAND_TO_ONE_HUNDRED_THOUSAND", + "ONE_HUNDRED_THOUSAND_TO_THREE_HUNDRED_THOUSAND", + "THREE_HUNDRED_THOUSAND_TO_FIVE_HUNDRED_THOUSAND", + "FIVE_HUNDRED_THOUSAND_TO_ONE_MILLION", + "ONE_MILLION_TO_TWO_MILLION", + "TWO_MILLION_TO_THREE_MILLION", + "THREE_MILLION_TO_FIVE_MILLION", + "FIVE_MILLION_TO_TEN_MILLION", + "TEN_MILLION_TO_TWENTY_MILLION", + "TWENTY_MILLION_TO_THIRTY_MILLION", + "THIRTY_MILLION_TO_FIFTY_MILLION", + "OVER_FIFTY_MILLION" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "User list has less than 500 users.", + "User list has number of users in range of 500 to 1000.", + "User list has number of users in range of 1000 to 10000.", + "User list has number of users in range of 10000 to 50000.", + "User list has number of users in range of 50000 to 100000.", + "User list has number of users in range of 100000 to 300000.", + "User list has number of users in range of 300000 to 500000.", + "User list has number of users in range of 500000 to 1 million.", + "User list has number of users in range of 1 to 2 millions.", + "User list has number of users in range of 2 to 3 millions.", + "User list has number of users in range of 3 to 5 millions.", + "User list has number of users in range of 5 to 10 millions.", + "User list has number of users in range of 10 to 20 millions.", + "User list has number of users in range of 20 to 30 millions.", + "User list has number of users in range of 30 to 50 millions.", + "User list has over 50 million users." + ], + "readOnly": true, + "type": "string" + }, + "sizeRangeForSearch": { + "description": "Output only. Size range in terms of number of users of the UserList, for Search ads. This field is read-only.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "LESS_THAN_FIVE_HUNDRED", + "LESS_THAN_ONE_THOUSAND", + "ONE_THOUSAND_TO_TEN_THOUSAND", + "TEN_THOUSAND_TO_FIFTY_THOUSAND", + "FIFTY_THOUSAND_TO_ONE_HUNDRED_THOUSAND", + "ONE_HUNDRED_THOUSAND_TO_THREE_HUNDRED_THOUSAND", + "THREE_HUNDRED_THOUSAND_TO_FIVE_HUNDRED_THOUSAND", + "FIVE_HUNDRED_THOUSAND_TO_ONE_MILLION", + "ONE_MILLION_TO_TWO_MILLION", + "TWO_MILLION_TO_THREE_MILLION", + "THREE_MILLION_TO_FIVE_MILLION", + "FIVE_MILLION_TO_TEN_MILLION", + "TEN_MILLION_TO_TWENTY_MILLION", + "TWENTY_MILLION_TO_THIRTY_MILLION", + "THIRTY_MILLION_TO_FIFTY_MILLION", + "OVER_FIFTY_MILLION" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "User list has less than 500 users.", + "User list has number of users in range of 500 to 1000.", + "User list has number of users in range of 1000 to 10000.", + "User list has number of users in range of 10000 to 50000.", + "User list has number of users in range of 50000 to 100000.", + "User list has number of users in range of 100000 to 300000.", + "User list has number of users in range of 300000 to 500000.", + "User list has number of users in range of 500000 to 1 million.", + "User list has number of users in range of 1 to 2 millions.", + "User list has number of users in range of 2 to 3 millions.", + "User list has number of users in range of 3 to 5 millions.", + "User list has number of users in range of 5 to 10 millions.", + "User list has number of users in range of 10 to 20 millions.", + "User list has number of users in range of 20 to 30 millions.", + "User list has number of users in range of 30 to 50 millions.", + "User list has over 50 million users." + ], + "readOnly": true, + "type": "string" + }, + "type": { + "description": "Output only. Type of this list. This field is read-only.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "REMARKETING", + "LOGICAL", + "EXTERNAL_REMARKETING", + "RULE_BASED", + "SIMILAR", + "CRM_BASED", + "LOOKALIKE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "UserList represented as a collection of conversion types.", + "UserList represented as a combination of other user lists/interests.", + "UserList created in the Google Ad Manager platform.", + "UserList associated with a rule.", + "UserList with users similar to users of another UserList.", + "UserList of first-party CRM data provided by advertiser in the form of emails or other formats.", + "LookalikeUserlist, composed of users similar to those of a configurable seed (set of UserLists)" + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__UserListCustomerType": { + "description": "A user list customer type", + "id": "GoogleAdsSearchads360V23Resources__UserListCustomerType", + "properties": { + "customerTypeCategory": { + "description": "Immutable. The user list customer type category", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ALL_CUSTOMERS", + "PURCHASERS", + "HIGH_VALUE_CUSTOMERS", + "DISENGAGED_CUSTOMERS", + "QUALIFIED_LEADS", + "CONVERTED_LEADS", + "PAID_SUBSCRIBERS", + "LOYALTY_SIGN_UPS", + "CART_ABANDONERS", + "LOYALTY_TIER_1_MEMBERS", + "LOYALTY_TIER_2_MEMBERS", + "LOYALTY_TIER_3_MEMBERS", + "LOYALTY_TIER_4_MEMBERS", + "LOYALTY_TIER_5_MEMBERS", + "LOYALTY_TIER_6_MEMBERS", + "LOYALTY_TIER_7_MEMBERS" + ], + "enumDescriptions": [ + "Not specified.", + "Unknown type.", + "Customer type category for all customers.", + "Customer type category for all purchasers.", + "Customer type category for high value purchasers.", + "Customer type category for disengaged purchasers.", + "Customer type category for qualified leads.", + "Customer type category for converted leads.", + "Customer type category for paid subscribers.", + "Customer type category for loyalty signups.", + "Customer type category for cart abandoners.", + "Customer type category for loyalty tier 1 members.", + "Customer type category for loyalty tier 2 members.", + "Customer type category for loyalty tier 3 members.", + "Customer type category for loyalty tier 4 members.", + "Customer type category for loyalty tier 5 members.", + "Customer type category for loyalty tier 6 members.", + "Customer type category for loyalty tier 7 members." + ], + "type": "string" + }, + "resourceName": { + "description": "Immutable. The resource name of the user list customer type User list customer type resource names have the form: `customers/{customer_id}/userListCustomerTypes/{user_list_id}~{customer_type_category}`", + "type": "string" + }, + "userList": { + "description": "Immutable. The resource name for the user list this user list customer type is associated with", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__UserLocationView": { + "description": "A user location view. User Location View includes all metrics aggregated at the country level, one row per country. It reports metrics at the actual physical location of the user by targeted or not targeted location. If other segment fields are used, you may get more than one row per country.", + "id": "GoogleAdsSearchads360V23Resources__UserLocationView", + "properties": { + "countryCriterionId": { + "description": "Output only. Criterion Id for the country.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Output only. The resource name of the user location view. UserLocation view resource names have the form: `customers/{customer_id}/userLocationViews/{country_criterion_id}~{targeting_location}`", + "readOnly": true, + "type": "string" + }, + "targetingLocation": { + "description": "Output only. Indicates whether location was targeted or not.", + "readOnly": true, + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__Video": { + "id": "GoogleAdsSearchads360V23Resources__Video", + "properties": { + "channelId": { + "description": "Output only. The owner channel id of the video.", + "readOnly": true, + "type": "string" + }, + "durationMillis": { + "description": "Output only. The duration of the video in milliseconds.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "id": { + "description": "Output only. The ID of the video.", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Output only. The resource name of the video. Video resource names have the form: `customers/{customer_id}/videos/{video_id}`", + "readOnly": true, + "type": "string" + }, + "title": { + "description": "Output only. The title of the video.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__VideoCustomer": { + "description": "Video specific information about a Customer.", + "id": "GoogleAdsSearchads360V23Resources__VideoCustomer", + "properties": { + "thirdPartyIntegrationPartners": { + "$ref": "GoogleAdsSearchads360V23Common__CustomerThirdPartyIntegrationPartners", + "description": "Third Party integration partners." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__Visit": { + "description": "A visit.", + "id": "GoogleAdsSearchads360V23Resources__Visit", + "properties": { + "adId": { + "description": "Output only. Ad ID. A value of 0 indicates that the ad is unattributed.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "assetFieldType": { + "description": "Output only. Asset field type of the visit event.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "HEADLINE", + "DESCRIPTION", + "MANDATORY_AD_TEXT", + "MARKETING_IMAGE", + "MEDIA_BUNDLE", + "YOUTUBE_VIDEO", + "BOOK_ON_GOOGLE", + "LEAD_FORM", + "PROMOTION", + "CALLOUT", + "STRUCTURED_SNIPPET", + "SITELINK", + "MOBILE_APP", + "HOTEL_CALLOUT", + "CALL", + "PRICE", + "LONG_HEADLINE", + "BUSINESS_NAME", + "SQUARE_MARKETING_IMAGE", + "PORTRAIT_MARKETING_IMAGE", + "LOGO", + "LANDSCAPE_LOGO", + "VIDEO", + "CALL_TO_ACTION_SELECTION", + "AD_IMAGE", + "BUSINESS_LOGO", + "HOTEL_PROPERTY", + "DEMAND_GEN_CAROUSEL_CARD", + "BUSINESS_MESSAGE", + "TALL_PORTRAIT_MARKETING_IMAGE", + "LANDING_PAGE_PREVIEW", + "LONG_DESCRIPTION", + "CALL_TO_ACTION" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The asset is linked for use as a headline.", + "The asset is linked for use as a description.", + "The asset is linked for use as mandatory ad text.", + "The asset is linked for use as a marketing image.", + "The asset is linked for use as a media bundle.", + "The asset is linked for use as a YouTube video.", + "The asset is linked to indicate that a hotels campaign is \"Book on Google\" enabled.", + "The asset is linked for use as a Lead Form extension.", + "The asset is linked for use as a Promotion extension.", + "The asset is linked for use as a Callout extension.", + "The asset is linked for use as a Structured Snippet extension.", + "The asset is linked for use as a Sitelink.", + "The asset is linked for use as a Mobile App extension.", + "The asset is linked for use as a Hotel Callout extension.", + "The asset is linked for use as a Call extension.", + "The asset is linked for use as a Price extension.", + "The asset is linked for use as a long headline.", + "The asset is linked for use as a business name.", + "The asset is linked for use as a square marketing image.", + "The asset is linked for use as a portrait marketing image.", + "The asset is linked for use as a logo.", + "The asset is linked for use as a landscape logo.", + "The asset is linked for use as a non YouTube logo.", + "The asset is linked for use to select a call-to-action.", + "The asset is linked for use to select an ad image.", + "The asset is linked for use as a business logo.", + "The asset is linked for use as a hotel property in a Performance Max for travel goals campaign.", + "The asset is linked for use as a Demand Gen carousel card.", + "The asset is linked for use as a Business Message.", + "The asset is linked for use as a tall portrait marketing image.", + "The asset is linked for use as a landing page preview image.", + "The asset is linked for use as a long description.", + "The asset is linked for use as a call-to-action." + ], + "readOnly": true, + "type": "string" + }, + "assetId": { + "description": "Output only. ID of the asset which was interacted with during the visit event.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "clickId": { + "description": "Output only. A unique string for each visit that is passed to the landing page as the click id URL parameter.", + "readOnly": true, + "type": "string" + }, + "criterionId": { + "description": "Output only. Search Ads 360 keyword ID. A value of 0 indicates that the keyword is unattributed.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "id": { + "description": "Output only. The ID of the visit.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "merchantId": { + "description": "Output only. The Search Ads 360 inventory account ID containing the product that was clicked on. Search Ads 360 generates this ID when you link an inventory account in Search Ads 360.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "productChannel": { + "description": "Output only. The sales channel of the product that was clicked on: Online or Local.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ONLINE", + "LOCAL" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The item is sold online.", + "The item is sold in local stores." + ], + "readOnly": true, + "type": "string" + }, + "productCountryCode": { + "description": "Output only. The country (ISO-3166 format) registered for the inventory feed that contains the product clicked on.", + "readOnly": true, + "type": "string" + }, + "productId": { + "description": "Output only. The ID of the product clicked on.", + "readOnly": true, + "type": "string" + }, + "productLanguageCode": { + "description": "Output only. The language (ISO-639-1) that has been set for the Merchant Center feed containing data about the product.", + "readOnly": true, + "type": "string" + }, + "productStoreId": { + "description": "Output only. The store in the Local Inventory Ad that was clicked on. This should match the store IDs used in your local products feed.", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Output only. The resource name of the visit. Visit resource names have the form: `customers/{customer_id}/visits/{ad_group_id}~{criterion_id}~{ds_visit_id}`", + "readOnly": true, + "type": "string" + }, + "visitDateTime": { + "description": "Output only. The timestamp of the visit event. The timestamp is in the customer's time zone and in \"yyyy-MM-dd HH:mm:ss\" format.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__WebpageView": { + "description": "A webpage view.", + "id": "GoogleAdsSearchads360V23Resources__WebpageView", + "properties": { + "resourceName": { + "description": "Output only. The resource name of the webpage view. Webpage view resource names have the form: `customers/{customer_id}/webpageViews/{ad_group_id}~{criterion_id}`", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Resources__YoutubeVideoIdentifier": { + "description": "The identifier for YouTube video", + "id": "GoogleAdsSearchads360V23Resources__YoutubeVideoIdentifier", + "properties": { + "channelId": { + "description": "Immutable. The ID of the hosting channel of the video. This is a string value with “UC” prefix. For example, \"UCK8sQmJBp8GCxrOtXWBpyEA\".", + "type": "string" + }, + "videoId": { + "description": "Immutable. The ID of the video associated with the video link. This is the 11 character string value used in the YouTube video URL. For example, video ID is jV1vkHv4zq8 from the YouTube video URL \"https://www.youtube.com/watch?v=jV1vkHv4zq8&t=2s\".", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_AdAssetApplyParameters": { + "description": "Common parameters used when applying ad asset recommendations.", + "id": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_AdAssetApplyParameters", + "properties": { + "existingAssets": { + "description": "The resource names of existing assets to attach to a scope. This may be combined with new_assets in the same call.", + "items": { + "type": "string" + }, + "type": "array" + }, + "newAssets": { + "description": "The assets to create and attach to a scope. This may be combined with existing_assets in the same call.", + "items": { + "$ref": "GoogleAdsSearchads360V23Resources__Asset" + }, + "type": "array" + }, + "scope": { + "description": "Required. The scope at which to apply the assets. Assets at the campaign scope level will be applied to the campaign associated with the recommendation. Assets at the customer scope will apply to the entire account. Assets at the campaign scope will override any attached at the customer scope.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CUSTOMER", + "CAMPAIGN" + ], + "enumDescriptions": [ + "The apply scope has not been specified.", + "Unknown.", + "Apply at the customer scope.", + "Apply at the campaign scope." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CallAssetParameters": { + "description": "Parameters to use when applying call asset recommendations.", + "id": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CallAssetParameters", + "properties": { + "adAssetApplyParameters": { + "$ref": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_AdAssetApplyParameters", + "description": "Required. Call assets to be added. This is a required field." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CallExtensionParameters": { + "description": "Parameters to use when applying call extension recommendation.", + "id": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CallExtensionParameters", + "properties": { + "callExtensions": { + "description": "Call extensions to be added. This is a required field.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__CallFeedItem" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CalloutAssetParameters": { + "description": "Parameters to use when applying callout asset recommendations.", + "id": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CalloutAssetParameters", + "properties": { + "adAssetApplyParameters": { + "$ref": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_AdAssetApplyParameters", + "description": "Required. Callout assets to be added. This is a required field." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CalloutExtensionParameters": { + "description": "Parameters to use when applying callout extension recommendation.", + "id": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CalloutExtensionParameters", + "properties": { + "calloutExtensions": { + "description": "Callout extensions to be added. This is a required field.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__CalloutFeedItem" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CampaignBudgetParameters": { + "description": "Parameters to use when applying a campaign budget recommendation.", + "id": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CampaignBudgetParameters", + "properties": { + "newBudgetAmountMicros": { + "description": "New budget amount to set for target budget resource. This is a required field.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ForecastingSetTargetCpaParameters": { + "description": "Parameters to use when applying a set target CPA recommendation.", + "id": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ForecastingSetTargetCpaParameters", + "properties": { + "campaignBudgetAmountMicros": { + "description": "New campaign budget amount to set for a campaign resource.", + "format": "int64", + "type": "string" + }, + "targetCpaMicros": { + "description": "Average CPA to use for Target CPA bidding strategy.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ForecastingSetTargetRoasParameters": { + "description": "Parameters to use when applying a forecasting set target roas recommendation.", + "id": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ForecastingSetTargetRoasParameters", + "properties": { + "campaignBudgetAmountMicros": { + "description": "New campaign budget amount to set for a campaign resource.", + "format": "int64", + "type": "string" + }, + "targetRoas": { + "description": "New target ROAS (revenue per unit of spend) to set for a campaign resource. The value is between 0.01 and 1000.0, inclusive.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_KeywordParameters": { + "description": "Parameters to use when applying keyword recommendation.", + "id": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_KeywordParameters", + "properties": { + "adGroup": { + "description": "The ad group resource to add keyword to. This is a required field.", + "type": "string" + }, + "cpcBidMicros": { + "description": "Optional, CPC bid to set for the keyword. If not set, keyword will use bid based on bidding strategy used by target ad group.", + "format": "int64", + "type": "string" + }, + "matchType": { + "description": "The match type of the keyword. This is a required field.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "EXACT", + "PHRASE", + "BROAD" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Exact match.", + "Phrase match.", + "Broad match." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_LeadFormAssetParameters": { + "description": "Parameters to use when applying a lead form asset recommendation.", + "id": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_LeadFormAssetParameters", + "properties": { + "adAssetApplyParameters": { + "$ref": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_AdAssetApplyParameters", + "description": "Required. Lead form assets to be added. This is a required field." + }, + "setSubmitLeadFormAssetCampaignGoal": { + "description": "If true, the \"Submit Lead Form\" goal will be set on the target campaign. As a result, ads will be shown as lead form creative ads. If false, the \"Submit Lead Form\" goal will not be set on the campaign and ads will contain lead form assets.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_LowerTargetRoasParameters": { + "description": "Parameters to use when applying lower Target ROAS recommendations.", + "id": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_LowerTargetRoasParameters", + "properties": { + "targetRoasMultiplier": { + "description": "Required. Target to set ROAS multiplier to. This is a required field.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_MoveUnusedBudgetParameters": { + "description": "Parameters to use when applying move unused budget recommendation.", + "id": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_MoveUnusedBudgetParameters", + "properties": { + "budgetMicrosToMove": { + "description": "Budget amount to move from excess budget to constrained budget. This is a required field.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_RaiseTargetCpaBidTooLowParameters": { + "description": "Parameters to use when applying a raise target CPA bid too low recommendation. The apply is asynchronous and can take minutes depending on the number of ad groups there is in the related campaign..", + "id": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_RaiseTargetCpaBidTooLowParameters", + "properties": { + "targetMultiplier": { + "description": "Required. A number greater than 1.0 indicating the factor by which to increase the target CPA. This is a required field.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_RaiseTargetCpaParameters": { + "description": "Parameters to use when applying raise Target CPA recommendations.", + "id": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_RaiseTargetCpaParameters", + "properties": { + "targetCpaMultiplier": { + "description": "Required. Target to set CPA multiplier to. This is a required field.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ResponsiveSearchAdAssetParameters": { + "description": "Parameters to use when applying a responsive search ad asset recommendation.", + "id": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ResponsiveSearchAdAssetParameters", + "properties": { + "updatedAd": { + "$ref": "GoogleAdsSearchads360V23Resources__Ad", + "description": "Updated ad. The current ad's content will be replaced." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ResponsiveSearchAdImproveAdStrengthParameters": { + "description": "Parameters to use when applying a responsive search ad improve ad strength recommendation.", + "id": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ResponsiveSearchAdImproveAdStrengthParameters", + "properties": { + "updatedAd": { + "$ref": "GoogleAdsSearchads360V23Resources__Ad", + "description": "Updated ad. The current ad's content will be replaced." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ResponsiveSearchAdParameters": { + "description": "Parameters to use when applying a responsive search ad recommendation.", + "id": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ResponsiveSearchAdParameters", + "properties": { + "ad": { + "$ref": "GoogleAdsSearchads360V23Resources__Ad", + "description": "Required. New ad to add to recommended ad group." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_SitelinkAssetParameters": { + "description": "Parameters to use when applying sitelink asset recommendations.", + "id": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_SitelinkAssetParameters", + "properties": { + "adAssetApplyParameters": { + "$ref": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_AdAssetApplyParameters", + "description": "Required. Sitelink assets to be added. This is a required field." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_SitelinkExtensionParameters": { + "description": "Parameters to use when applying sitelink recommendation.", + "id": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_SitelinkExtensionParameters", + "properties": { + "sitelinkExtensions": { + "description": "Sitelinks to be added. This is a required field.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__SitelinkFeedItem" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_TargetCpaOptInParameters": { + "description": "Parameters to use when applying Target CPA recommendation.", + "id": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_TargetCpaOptInParameters", + "properties": { + "newCampaignBudgetAmountMicros": { + "description": "Optional, budget amount to set for the campaign.", + "format": "int64", + "type": "string" + }, + "targetCpaMicros": { + "description": "Average CPA to use for Target CPA bidding strategy. This is a required field.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_TargetRoasOptInParameters": { + "description": "Parameters to use when applying a Target ROAS opt-in recommendation.", + "id": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_TargetRoasOptInParameters", + "properties": { + "newCampaignBudgetAmountMicros": { + "description": "Optional, budget amount to set for the campaign.", + "format": "int64", + "type": "string" + }, + "targetRoas": { + "description": "Average ROAS (revenue per unit of spend) to use for Target ROAS bidding strategy. The value is between 0.01 and 1000.0, inclusive. This is a required field, unless new_campaign_budget_amount_micros is set.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_TextAdParameters": { + "description": "Parameters to use when applying a text ad recommendation.", + "id": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_TextAdParameters", + "properties": { + "ad": { + "$ref": "GoogleAdsSearchads360V23Resources__Ad", + "description": "New ad to add to recommended ad group. All necessary fields need to be set in this message. This is a required field." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_UseBroadMatchKeywordParameters": { + "description": "Parameters to use when applying a use broad match keyword recommendation.", + "id": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_UseBroadMatchKeywordParameters", + "properties": { + "newBudgetAmountMicros": { + "description": "New budget amount to set for target budget resource.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services_CampaignToForecast_CampaignBiddingStrategy": { + "description": "Supported bidding strategies for new campaign forecasts.", + "id": "GoogleAdsSearchads360V23Services_CampaignToForecast_CampaignBiddingStrategy", + "properties": { + "manualCpcBiddingStrategy": { + "$ref": "GoogleAdsSearchads360V23Services__ManualCpcBiddingStrategy", + "description": "Use manual CPC bidding strategy for forecasting." + }, + "maximizeClicksBiddingStrategy": { + "$ref": "GoogleAdsSearchads360V23Services__MaximizeClicksBiddingStrategy", + "description": "Use maximize clicks bidding strategy for forecasting." + }, + "maximizeConversionsBiddingStrategy": { + "$ref": "GoogleAdsSearchads360V23Services__MaximizeConversionsBiddingStrategy", + "description": "Use maximize conversions bidding strategy for forecasting." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services_DismissRecommendationRequest_DismissRecommendationOperation": { + "description": "Operation to dismiss a single recommendation identified by resource_name.", + "id": "GoogleAdsSearchads360V23Services_DismissRecommendationRequest_DismissRecommendationOperation", + "properties": { + "resourceName": { + "description": "The resource name of the recommendation to dismiss.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services_DismissRecommendationResponse_DismissRecommendationResult": { + "description": "The result of dismissing a recommendation.", + "id": "GoogleAdsSearchads360V23Services_DismissRecommendationResponse_DismissRecommendationResult", + "properties": { + "resourceName": { + "description": "Returned for successful dismissals.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_AdGroupInfo": { + "description": "Current AdGroup Information of the campaign.", + "id": "GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_AdGroupInfo", + "properties": { + "adGroupType": { + "description": "Optional. AdGroup Type of the AdGroup. This field is necessary for the following recommendation_types if ad_group_info is set: KEYWORD", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "SEARCH_STANDARD", + "DISPLAY_STANDARD", + "SHOPPING_PRODUCT_ADS", + "HOTEL_ADS", + "SHOPPING_SMART_ADS", + "VIDEO_BUMPER", + "VIDEO_TRUE_VIEW_IN_STREAM", + "VIDEO_TRUE_VIEW_IN_DISPLAY", + "VIDEO_NON_SKIPPABLE_IN_STREAM", + "SEARCH_DYNAMIC_ADS", + "SHOPPING_COMPARISON_LISTING_ADS", + "PROMOTED_HOTEL_ADS", + "VIDEO_RESPONSIVE", + "VIDEO_EFFICIENT_REACH", + "SMART_CAMPAIGN_ADS", + "TRAVEL_ADS" + ], + "enumDescriptions": [ + "The type has not been specified.", + "The received value is not known in this version. This is a response-only value.", + "The default ad group type for Search campaigns.", + "The default ad group type for Display campaigns.", + "The ad group type for Shopping campaigns serving standard product ads.", + "The default ad group type for Hotel campaigns.", + "The type for ad groups in Smart Shopping campaigns.", + "Short unskippable in-stream video ads.", + "TrueView (skippable) in-stream video ads.", + "TrueView in-display video ads.", + "Unskippable in-stream video ads.", + "Ad group type for Dynamic Search Ads ad groups.", + "The type for ad groups in Shopping Comparison Listing campaigns.", + "The ad group type for Promoted Hotel ad groups.", + "Video responsive ad groups.", + "Video efficient reach ad groups.", + "Ad group type for Smart campaigns.", + "Ad group type for Travel campaigns." + ], + "type": "string" + }, + "keywords": { + "description": "Optional. Current keywords. This field is optional for the following recommendation_types if ad_group_info is set: KEYWORD", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__KeywordInfo" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_AssetGroupInfo": { + "description": "Current AssetGroup information of the campaign.", + "id": "GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_AssetGroupInfo", + "properties": { + "description": { + "description": "Optional. Current descriptions of the asset group. This field is optional for the following recommendation_types if asset_group_info is set: CAMPAIGN_BUDGET", + "items": { + "type": "string" + }, + "type": "array" + }, + "finalUrl": { + "description": "Required. Current url of the asset group. This field is necessary for the following recommendation_types if asset_group_info is set: CAMPAIGN_BUDGET", + "type": "string" + }, + "headline": { + "description": "Optional. Current headlines of the asset group. This field is optional for the following recommendation_types if asset_group_info is set: CAMPAIGN_BUDGET", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_BiddingInfo": { + "description": "Current bidding information of the campaign. Provides a wrapper for bidding-related signals that inform recommendations.", + "id": "GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_BiddingInfo", + "properties": { + "biddingStrategyType": { + "description": "Current bidding strategy. This field is necessary for the following recommendation_types: MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN, MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS, TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "COMMISSION", + "ENHANCED_CPC", + "INVALID", + "MANUAL_CPA", + "MANUAL_CPC", + "MANUAL_CPM", + "MANUAL_CPV", + "MAXIMIZE_CONVERSIONS", + "MAXIMIZE_CONVERSION_VALUE", + "PAGE_ONE_PROMOTED", + "PERCENT_CPC", + "TARGET_CPA", + "TARGET_CPC", + "TARGET_CPM", + "TARGET_IMPRESSION_SHARE", + "TARGET_OUTRANK_SHARE", + "TARGET_ROAS", + "TARGET_SPEND" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Commission is an automatic bidding strategy in which the advertiser pays a certain portion of the conversion value.", + "Enhanced CPC is a bidding strategy that raises bids for clicks that seem more likely to lead to a conversion and lowers them for clicks where they seem less likely.", + "Used for return value only. Indicates that a campaign does not have a bidding strategy. This prevents the campaign from serving. For example, a campaign may be attached to a manager bidding strategy and the serving account is subsequently unlinked from the manager account. In this case the campaign will automatically be detached from the now inaccessible manager bidding strategy and transition to the INVALID bidding strategy type.", + "Manual bidding strategy that allows advertiser to set the bid per advertiser-specified action.", + "Manual click based bidding where user pays per click.", + "Manual impression based bidding where user pays per thousand impressions.", + "A bidding strategy that pays a configurable amount per video view.", + "A bidding strategy that automatically maximizes number of conversions given a daily budget.", + "An automated bidding strategy that automatically sets bids to maximize revenue while spending your budget.", + "Page-One Promoted bidding scheme, which sets max cpc bids to target impressions on page one or page one promoted slots on google.com. This enum value is deprecated.", + "Percent Cpc is bidding strategy where bids are a fraction of the advertised price for some good or service.", + "Target CPA is an automated bid strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set.", + "Target CPC is an automated bid strategy that sets bids to help get as many clicks as possible at the target cost-per-click (CPC) you set.", + "Target CPM is an automated bid strategy that sets bids to help get as many impressions as possible at the target cost per one thousand impressions (CPM) you set.", + "An automated bidding strategy that sets bids so that a certain percentage of search ads are shown at the top of the first page (or other targeted location).", + "Target Outrank Share is an automated bidding strategy that sets bids based on the target fraction of auctions where the advertiser should outrank a specific competitor. This enum value is deprecated.", + "Target ROAS is an automated bidding strategy that helps you maximize revenue while averaging a specific target Return On Average Spend (ROAS).", + "Target Spend is an automated bid strategy that sets your bids to help get as many clicks as possible within your budget." + ], + "type": "string" + }, + "targetCpaMicros": { + "description": "Current target_cpa in micros. This can be populated for campaigns with a bidding strategy type of TARGET_CPA or MAXIMIZE_CONVERSIONS.", + "format": "int64", + "type": "string" + }, + "targetImpressionShareInfo": { + "$ref": "GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_TargetImpressionShareInfo", + "description": "Optional. Current Target Impression Share information of the campaign. This field is necessary for the following recommendation_types: CAMPAIGN_BUDGET" + }, + "targetRoas": { + "description": "Current target_roas. This can be populated for campaigns with a bidding strategy type of TARGET_ROAS or MAXIMIZE_CONVERSION_VALUE.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_BudgetInfo": { + "description": "Current budget information of the campaign.", + "id": "GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_BudgetInfo", + "properties": { + "currentBudget": { + "description": "Required. Current budget amount in micros. This field is necessary for the following recommendation_types if budget_info is set: CAMPAIGN_BUDGET", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_SeedInfo": { + "description": "A keyword seed and a specific url to generate keywords from.", + "id": "GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_SeedInfo", + "properties": { + "keywordSeeds": { + "description": "Optional. Keywords or phrases to generate ideas from, for example: cars or \"car dealership near me\".", + "items": { + "type": "string" + }, + "type": "array" + }, + "urlSeed": { + "description": "A specific url to generate ideas from, for example: www.example.com/cars.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_TargetImpressionShareInfo": { + "description": "Current Target Impression Share information of the campaign.", + "id": "GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_TargetImpressionShareInfo", + "properties": { + "location": { + "description": "Required. The targeted location on the search results page. This is required for campaigns where the AdvertisingChannelType is SEARCH and the bidding strategy type is TARGET_IMPRESSION_SHARE.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ANYWHERE_ON_PAGE", + "TOP_OF_PAGE", + "ABSOLUTE_TOP_OF_PAGE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Any location on the web page.", + "Top box of ads.", + "Top slot in the top box of ads." + ], + "type": "string" + }, + "maxCpcBidCeiling": { + "description": "Optional. Ceiling of max CPC bids in micros set by automated bidders. This is optional for campaigns with an AdvertisingChannelType of SEARCH and a bidding strategy type of TARGET_IMPRESSION_SHARE.", + "format": "int64", + "type": "string" + }, + "targetImpressionShareMicros": { + "description": "Required. The chosen fraction of targeted impression share in micros. For example, 1% equals 10,000. It must be a value between 1 and 1,000,000. This is required for campaigns with an AdvertisingChannelType of SEARCH and a bidding strategy type of TARGET_IMPRESSION_SHARE.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services_IncentiveRequirement_Spend": { + "description": "Spend requirements for an incentive.", + "id": "GoogleAdsSearchads360V23Services_IncentiveRequirement_Spend", + "properties": { + "awardAmount": { + "$ref": "GoogleType__Money", + "description": "Required. Amount in free spend that user will be granted after spending target amount. Denominated in the currency of the country passed in the get request." + }, + "requiredAmount": { + "$ref": "GoogleType__Money", + "description": "Required. Amount that user must spend to receive the award amount. Denominated in the currency of the country passed in the get request." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services_Incentive_Requirement": { + "description": "Requirement for an incentive.", + "id": "GoogleAdsSearchads360V23Services_Incentive_Requirement", + "properties": { + "spend": { + "$ref": "GoogleAdsSearchads360V23Services_IncentiveRequirement_Spend", + "description": "Optional. Spend requirement for an incentive." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services_MetricAttributes_Attribute": { + "description": "The attribute of the metric in key value pair format.", + "id": "GoogleAdsSearchads360V23Services_MetricAttributes_Attribute", + "properties": { + "key": { + "description": "The key of the attribute.", + "type": "string" + }, + "value": { + "description": "The value of the attribute.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services_ProductFilter_MarketingObjectiveList": { + "description": "The list of marketing objectives to generate benchmarks metrics for.", + "id": "GoogleAdsSearchads360V23Services_ProductFilter_MarketingObjectiveList", + "properties": { + "marketingObjectives": { + "description": "Required. Marketing objectives to generate benchmarks metrics for.", + "items": { + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "AWARENESS", + "CONSIDERATION", + "ACTION" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "The objective is to increase awareness.", + "The objective is to encourage potential customers to consider the brand or products.", + "The objective is to drive a specific conversion, such as a purchase." + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services_ProductFilter_ProductList": { + "description": "The list of products to generate benchmarks metrics for.", + "id": "GoogleAdsSearchads360V23Services_ProductFilter_ProductList", + "properties": { + "productCodes": { + "description": "Required. Products to generate benchmarks metrics for.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services_SmartCampaignSuggestionInfo_BusinessContext": { + "description": "A context that describes a business.", + "id": "GoogleAdsSearchads360V23Services_SmartCampaignSuggestionInfo_BusinessContext", + "properties": { + "businessName": { + "description": "Optional. The name of the business.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services_SmartCampaignSuggestionInfo_LocationList": { + "description": "A list of locations.", + "id": "GoogleAdsSearchads360V23Services_SmartCampaignSuggestionInfo_LocationList", + "properties": { + "locations": { + "description": "Required. Locations.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__LocationInfo" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services_SuggestGeoTargetConstantsRequest_GeoTargets": { + "description": "A list of geo target constant resource names.", + "id": "GoogleAdsSearchads360V23Services_SuggestGeoTargetConstantsRequest_GeoTargets", + "properties": { + "geoTargetConstants": { + "description": "A list of geo target constant resource names.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services_SuggestGeoTargetConstantsRequest_LocationNames": { + "description": "A list of location names.", + "id": "GoogleAdsSearchads360V23Services_SuggestGeoTargetConstantsRequest_LocationNames", + "properties": { + "names": { + "description": "A list of location names.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services_SuggestKeywordThemesResponse_KeywordTheme": { + "description": "A Smart campaign keyword theme suggestion.", + "id": "GoogleAdsSearchads360V23Services_SuggestKeywordThemesResponse_KeywordTheme", + "properties": { + "freeFormKeywordTheme": { + "description": "A free-form text keyword theme.", + "type": "string" + }, + "keywordThemeConstant": { + "$ref": "GoogleAdsSearchads360V23Resources__KeywordThemeConstant", + "description": "A Smart campaign keyword theme constant." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services_SuggestSmartCampaignBudgetOptionsResponse_BudgetOption": { + "description": "Smart Campaign budget option.", + "id": "GoogleAdsSearchads360V23Services_SuggestSmartCampaignBudgetOptionsResponse_BudgetOption", + "properties": { + "dailyAmountMicros": { + "description": "The amount of the budget, in the local currency for the account. Amount is specified in micros, where one million is equivalent to one currency unit.", + "format": "int64", + "type": "string" + }, + "metrics": { + "$ref": "GoogleAdsSearchads360V23Services_SuggestSmartCampaignBudgetOptionsResponse_Metrics", + "description": "Metrics pertaining to the suggested budget, could be empty if there is not enough information to derive the estimates." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services_SuggestSmartCampaignBudgetOptionsResponse_Metrics": { + "description": "Performance metrics for a given budget option.", + "id": "GoogleAdsSearchads360V23Services_SuggestSmartCampaignBudgetOptionsResponse_Metrics", + "properties": { + "maxDailyClicks": { + "description": "The estimated max daily clicks.", + "format": "int64", + "type": "string" + }, + "minDailyClicks": { + "description": "The estimated min daily clicks.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__AccountBudgetProposalOperation": { + "description": "A single operation to propose the creation of a new account-level budget or edit/end/remove an existing one.", + "id": "GoogleAdsSearchads360V23Services__AccountBudgetProposalOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__AccountBudgetProposal", + "description": "Create operation: A new proposal to create a new budget, edit an existing budget, end an actively running budget, or remove an approved budget scheduled to start in the future. No resource name is expected for the new proposal." + }, + "remove": { + "description": "Remove operation: A resource name for the removed proposal is expected, in this format: `customers/{customer_id}/accountBudgetProposals/{account_budget_proposal_id}` A request may be cancelled iff it is pending.", + "type": "string" + }, + "updateMask": { + "description": "FieldMask that determines which budget fields are modified. While budgets may be modified, proposals that propose such modifications are final. Therefore, update operations are not supported for proposals. Proposals that modify budgets have the 'update' proposal type. Specifying a mask for any other proposal type is considered an error.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__AccountLinkOperation": { + "description": "A single update on an account link.", + "id": "GoogleAdsSearchads360V23Services__AccountLinkOperation", + "properties": { + "remove": { + "description": "Remove operation: A resource name for the account link to remove is expected, in this format: `customers/{customer_id}/accountLinks/{account_link_id}`", + "type": "string" + }, + "update": { + "$ref": "GoogleAdsSearchads360V23Resources__AccountLink", + "description": "Update operation: The account link is expected to have a valid resource name." + }, + "updateMask": { + "description": "FieldMask that determines which resource fields are modified in an update.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__AdGroupAdLabelOperation": { + "description": "A single operation (create, remove) on an ad group ad label.", + "id": "GoogleAdsSearchads360V23Services__AdGroupAdLabelOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__AdGroupAdLabel", + "description": "Create operation: No resource name is expected for the new ad group ad label." + }, + "remove": { + "description": "Remove operation: A resource name for the ad group ad label being removed, in this format: `customers/{customer_id}/adGroupAdLabels/{ad_group_id}~{ad_id}~{label_id}`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__AdGroupAdOperation": { + "description": "A single operation (create, update, remove) on an ad group ad.", + "id": "GoogleAdsSearchads360V23Services__AdGroupAdOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__AdGroupAd", + "description": "Create operation: No resource name is expected for the new ad." + }, + "policyValidationParameter": { + "$ref": "GoogleAdsSearchads360V23Common__PolicyValidationParameter", + "description": "Configuration for how policies are validated." + }, + "remove": { + "description": "Remove operation: A resource name for the removed ad is expected, in this format: `customers/{customer_id}/adGroupAds/{ad_group_id}~{ad_id}`", + "type": "string" + }, + "update": { + "$ref": "GoogleAdsSearchads360V23Resources__AdGroupAd", + "description": "Update operation: The ad is expected to have a valid resource name." + }, + "updateMask": { + "description": "FieldMask that determines which resource fields are modified in an update.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__AdGroupAssetOperation": { + "description": "A single operation (create, update, remove) on an ad group asset.", + "id": "GoogleAdsSearchads360V23Services__AdGroupAssetOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__AdGroupAsset", + "description": "Create operation: No resource name is expected for the new ad group asset." + }, + "remove": { + "description": "Remove operation: A resource name for the removed ad group asset is expected, in this format: `customers/{customer_id}/adGroupAssets/{ad_group_id}~{asset_id}~{field_type}`", + "type": "string" + }, + "update": { + "$ref": "GoogleAdsSearchads360V23Resources__AdGroupAsset", + "description": "Update operation: The ad group asset is expected to have a valid resource name." + }, + "updateMask": { + "description": "FieldMask that determines which resource fields are modified in an update.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__AdGroupAssetSetOperation": { + "description": "A single operation (create, remove) on an ad group asset set.", + "id": "GoogleAdsSearchads360V23Services__AdGroupAssetSetOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__AdGroupAssetSet", + "description": "Create operation: No resource name is expected for the new ad group asset set." + }, + "remove": { + "description": "Remove operation: A resource name for the removed ad group asset set is expected, in this format: `customers/{customer_id}/adGroupAssetSets/{ad_group_id}~{asset_set_id}`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__AdGroupBidModifierOperation": { + "description": "A single operation (create, remove, update) on an ad group bid modifier.", + "id": "GoogleAdsSearchads360V23Services__AdGroupBidModifierOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__AdGroupBidModifier", + "description": "Create operation: No resource name is expected for the new ad group bid modifier." + }, + "remove": { + "description": "Remove operation: A resource name for the removed ad group bid modifier is expected, in this format: `customers/{customer_id}/adGroupBidModifiers/{ad_group_id}~{criterion_id}`", + "type": "string" + }, + "update": { + "$ref": "GoogleAdsSearchads360V23Resources__AdGroupBidModifier", + "description": "Update operation: The ad group bid modifier is expected to have a valid resource name." + }, + "updateMask": { + "description": "FieldMask that determines which resource fields are modified in an update.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__AdGroupCriterionCustomizerOperation": { + "description": "A single operation (create, remove) on a customizer attribute.", + "id": "GoogleAdsSearchads360V23Services__AdGroupCriterionCustomizerOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__AdGroupCriterionCustomizer", + "description": "Create operation: No resource name is expected for the new ad group criterion customizer." + }, + "remove": { + "description": "Remove operation: A resource name for the removed ad group criterion customizer is expected, in this format: `customers/{customer_id}/adGroupCriterionCustomizers/{ad_group_id}~{criterion_id}~{customizer_attribute_id}`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__AdGroupCriterionLabelOperation": { + "description": "A single operation (create, remove) on an ad group criterion label.", + "id": "GoogleAdsSearchads360V23Services__AdGroupCriterionLabelOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__AdGroupCriterionLabel", + "description": "Create operation: No resource name is expected for the new ad group label." + }, + "remove": { + "description": "Remove operation: A resource name for the ad group criterion label being removed, in this format: `customers/{customer_id}/adGroupCriterionLabels/{ad_group_id}~{criterion_id}~{label_id}`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__AdGroupCriterionOperation": { + "description": "A single operation (create, remove, update) on an ad group criterion.", + "id": "GoogleAdsSearchads360V23Services__AdGroupCriterionOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__AdGroupCriterion", + "description": "Create operation: No resource name is expected for the new criterion." + }, + "exemptPolicyViolationKeys": { + "description": "The list of policy violation keys that should not cause a PolicyViolationError to be reported. Not all policy violations are exemptable, refer to the is_exemptible field in the returned PolicyViolationError. Resources violating these polices will be saved, but will not be eligible to serve. They may begin serving at a later time due to a change in policies, re-review of the resource, or a change in advertiser certificates.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__PolicyViolationKey" + }, + "type": "array" + }, + "remove": { + "description": "Remove operation: A resource name for the removed criterion is expected, in this format: `customers/{customer_id}/adGroupCriteria/{ad_group_id}~{criterion_id}`", + "type": "string" + }, + "update": { + "$ref": "GoogleAdsSearchads360V23Resources__AdGroupCriterion", + "description": "Update operation: The criterion is expected to have a valid resource name." + }, + "updateMask": { + "description": "FieldMask that determines which resource fields are modified in an update.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__AdGroupCustomizerOperation": { + "description": "A single operation (create, remove) on a customizer attribute.", + "id": "GoogleAdsSearchads360V23Services__AdGroupCustomizerOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__AdGroupCustomizer", + "description": "Create operation: No resource name is expected for the new ad group customizer" + }, + "remove": { + "description": "Remove operation: A resource name for the removed ad group customizer is expected, in this format: `customers/{customer_id}/adGroupCustomizers/{ad_group_id}~{customizer_attribute_id}`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__AdGroupKeywordSuggestion": { + "description": "The suggested text and AdGroup/Campaign pairing for a given keyword.", + "id": "GoogleAdsSearchads360V23Services__AdGroupKeywordSuggestion", + "properties": { + "keywordText": { + "description": "The original keyword text.", + "type": "string" + }, + "suggestedAdGroup": { + "description": "The suggested AdGroup for the keyword. Resource name format: `customers/{customer_id}/adGroups/{ad_group_id}`", + "type": "string" + }, + "suggestedCampaign": { + "description": "The suggested Campaign for the keyword. Resource name format: `customers/{customer_id}/campaigns/{campaign_id}`", + "type": "string" + }, + "suggestedKeywordText": { + "description": "The normalized version of keyword_text for BROAD/EXACT/PHRASE suggestions.", + "type": "string" + }, + "suggestedMatchType": { + "description": "The suggested keyword match type.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "EXACT", + "PHRASE", + "BROAD" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Exact match.", + "Phrase match.", + "Broad match." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__AdGroupLabelOperation": { + "description": "A single operation (create, remove) on an ad group label.", + "id": "GoogleAdsSearchads360V23Services__AdGroupLabelOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__AdGroupLabel", + "description": "Create operation: No resource name is expected for the new ad group label." + }, + "remove": { + "description": "Remove operation: A resource name for the ad group label being removed, in this format: `customers/{customer_id}/adGroupLabels/{ad_group_id}~{label_id}`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__AdGroupOperation": { + "description": "A single operation (create, update, remove) on an ad group.", + "id": "GoogleAdsSearchads360V23Services__AdGroupOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__AdGroup", + "description": "Create operation: No resource name is expected for the new ad group." + }, + "remove": { + "description": "Remove operation: A resource name for the removed ad group is expected, in this format: `customers/{customer_id}/adGroups/{ad_group_id}`", + "type": "string" + }, + "update": { + "$ref": "GoogleAdsSearchads360V23Resources__AdGroup", + "description": "Update operation: The ad group is expected to have a valid resource name." + }, + "updateMask": { + "description": "FieldMask that determines which resource fields are modified in an update.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__AdOperation": { + "description": "A single update operation on an ad.", + "id": "GoogleAdsSearchads360V23Services__AdOperation", + "properties": { + "policyValidationParameter": { + "$ref": "GoogleAdsSearchads360V23Common__PolicyValidationParameter", + "description": "Configuration for how policies are validated." + }, + "update": { + "$ref": "GoogleAdsSearchads360V23Resources__Ad", + "description": "Update operation: The ad is expected to have a valid resource name in this format: `customers/{customer_id}/ads/{ad_id}`" + }, + "updateMask": { + "description": "FieldMask that determines which resource fields are modified in an update.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__AdParameterOperation": { + "description": "A single operation (create, update, remove) on ad parameter.", + "id": "GoogleAdsSearchads360V23Services__AdParameterOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__AdParameter", + "description": "Create operation: No resource name is expected for the new ad parameter." + }, + "remove": { + "description": "Remove operation: A resource name for the ad parameter to remove is expected in this format: `customers/{customer_id}/adParameters/{ad_group_id}~{criterion_id}~{parameter_index}`", + "type": "string" + }, + "update": { + "$ref": "GoogleAdsSearchads360V23Resources__AdParameter", + "description": "Update operation: The ad parameter is expected to have a valid resource name." + }, + "updateMask": { + "description": "FieldMask that determines which resource fields are modified in an update.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__AddBatchJobOperationsRequest": { + "description": "Request message for BatchJobService.AddBatchJobOperations.", + "id": "GoogleAdsSearchads360V23Services__AddBatchJobOperationsRequest", + "properties": { + "mutateOperations": { + "description": "Required. The list of mutates being added. Operations can use negative integers as temp ids to signify dependencies between entities created in this batch job. For example, a customer with id = 1234 can create a campaign and an ad group in that same campaign by creating a campaign in the first operation with the resource name explicitly set to \"customers/1234/campaigns/-1\", and creating an ad group in the second operation with the campaign field also set to \"customers/1234/campaigns/-1\".", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateOperation" + }, + "type": "array" + }, + "sequenceToken": { + "description": "A token used to enforce sequencing. The first AddBatchJobOperations request for a batch job should not set sequence_token. Subsequent requests must set sequence_token to the value of next_sequence_token received in the previous AddBatchJobOperations response.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__AddBatchJobOperationsResponse": { + "description": "Response message for BatchJobService.AddBatchJobOperations.", + "id": "GoogleAdsSearchads360V23Services__AddBatchJobOperationsResponse", + "properties": { + "nextSequenceToken": { + "description": "The sequence token to be used when calling AddBatchJobOperations again if more operations need to be added. The next AddBatchJobOperations request must set the sequence_token field to the value of this field.", + "type": "string" + }, + "totalOperations": { + "description": "The total number of operations added so far for this batch job.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__AddOfflineUserDataJobOperationsRequest": { + "description": "Request message for OfflineUserDataJobService.AddOfflineUserDataJobOperations.", + "id": "GoogleAdsSearchads360V23Services__AddOfflineUserDataJobOperationsRequest", + "properties": { + "enablePartialFailure": { + "description": "True to enable partial failure for the offline user data job.", + "type": "boolean" + }, + "enableWarnings": { + "description": "True to enable warnings for the offline user data job. When enabled, a warning will not block the OfflineUserDataJobOperation, and will also return warning messages about malformed field values.", + "type": "boolean" + }, + "operations": { + "description": "Required. The list of operations to be done.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__OfflineUserDataJobOperation" + }, + "type": "array" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__AddOfflineUserDataJobOperationsResponse": { + "description": "Response message for OfflineUserDataJobService.AddOfflineUserDataJobOperations.", + "id": "GoogleAdsSearchads360V23Services__AddOfflineUserDataJobOperationsResponse", + "properties": { + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." + }, + "warning": { + "$ref": "GoogleRpc__Status", + "description": "Non blocking errors that pertain to operation failures in the warnings mode. Returned only when enable_warnings = true." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__AdvancedProductTargeting": { + "description": "Advanced targeting settings for products.", + "id": "GoogleAdsSearchads360V23Services__AdvancedProductTargeting", + "properties": { + "surfaceTargetingSettings": { + "$ref": "GoogleAdsSearchads360V23Services__SurfaceTargeting", + "description": "Surface targeting settings for this product." + }, + "targetFrequencySettings": { + "$ref": "GoogleAdsSearchads360V23Services__TargetFrequencySettings", + "description": "Settings for a Target frequency campaign. Must be set when selecting the TARGET_FREQUENCY product. See https://support.google.com/google-ads/answer/12400225 for more information about Target Frequency campaigns." + }, + "youtubeSelectSettings": { + "$ref": "GoogleAdsSearchads360V23Services__YouTubeSelectSettings", + "description": "Settings for YouTube Select targeting." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__AppendLeadConversationRequest": { + "description": "Request message for LocalServicesLeadService.AppendLeadConversation.", + "id": "GoogleAdsSearchads360V23Services__AppendLeadConversationRequest", + "properties": { + "conversations": { + "description": "Required. Conversations that are being appended.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__Conversation" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__AppendLeadConversationResponse": { + "description": "Response message for LocalServicesLeadService.AppendLeadConversation.", + "id": "GoogleAdsSearchads360V23Services__AppendLeadConversationResponse", + "properties": { + "responses": { + "description": "Required. List of append conversation operation results.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__ConversationOrError" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__ApplyIncentiveRequest": { + "description": "Request message for applying an incentive.", + "id": "GoogleAdsSearchads360V23Services__ApplyIncentiveRequest", + "properties": { + "countryCode": { + "description": "Required. User's country code. Required. This field must be equal to the Google Ads account's billing country. Incentive eligibility, terms of service, and reward values are often country-specific. This country code is used to ensure the selected incentive is applicable to the user. Possible country codes: https://developers.google.com/google-ads/api/data/codes-formats#country_codes", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__ApplyIncentiveResponse": { + "description": "Response for applying an incentive.", + "id": "GoogleAdsSearchads360V23Services__ApplyIncentiveResponse", + "properties": { + "couponCode": { + "description": "The coupon code of the applied incentive. A globally unique identifier of the applied incentive. This code is separate and distinct from the selected_incentive_id in the request.", + "type": "string" + }, + "creationTime": { + "description": "The timestamp when this incentive was applied. The timestamp is in UTC timezone and in \"yyyy-MM-dd HH:mm:ss\" format.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__ApplyRecommendationOperation": { + "description": "Information about the operation to apply a recommendation and any parameters to customize it.", + "id": "GoogleAdsSearchads360V23Services__ApplyRecommendationOperation", + "properties": { + "callAsset": { + "$ref": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CallAssetParameters", + "description": "Parameters to use when applying call asset recommendation." + }, + "callExtension": { + "$ref": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CallExtensionParameters", + "description": "Parameters to use when applying call extension recommendation." + }, + "calloutAsset": { + "$ref": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CalloutAssetParameters", + "description": "Parameters to use when applying callout asset recommendation." + }, + "calloutExtension": { + "$ref": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CalloutExtensionParameters", + "description": "Parameters to use when applying callout extension recommendation." + }, + "campaignBudget": { + "$ref": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CampaignBudgetParameters", + "description": "Optional parameters to use when applying a campaign budget recommendation." + }, + "forecastingSetTargetCpa": { + "$ref": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ForecastingSetTargetCpaParameters", + "description": "Parameters to use when applying forecasting set target CPA recommendation." + }, + "forecastingSetTargetRoas": { + "$ref": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ForecastingSetTargetRoasParameters", + "description": "Parameters to use when applying a forecasting set target ROAS recommendation." + }, + "keyword": { + "$ref": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_KeywordParameters", + "description": "Optional parameters to use when applying keyword recommendation." + }, + "leadFormAsset": { + "$ref": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_LeadFormAssetParameters", + "description": "Parameters to use when applying lead form asset recommendation." + }, + "lowerTargetRoas": { + "$ref": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_LowerTargetRoasParameters", + "description": "Parameters to use when applying lower Target ROAS recommendation." + }, + "moveUnusedBudget": { + "$ref": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_MoveUnusedBudgetParameters", + "description": "Parameters to use when applying move unused budget recommendation." + }, + "raiseTargetCpa": { + "$ref": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_RaiseTargetCpaParameters", + "description": "Parameters to use when applying raise Target CPA recommendation." + }, + "raiseTargetCpaBidTooLow": { + "$ref": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_RaiseTargetCpaBidTooLowParameters", + "description": "Parameters to use when applying a raise target CPA bid too low recommendation. The apply is asynchronous and can take minutes depending on the number of ad groups there is in the related campaign." + }, + "resourceName": { + "description": "The resource name of the recommendation to apply.", + "type": "string" + }, + "responsiveSearchAd": { + "$ref": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ResponsiveSearchAdParameters", + "description": "Parameters to use when applying a responsive search ad recommendation." + }, + "responsiveSearchAdAsset": { + "$ref": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ResponsiveSearchAdAssetParameters", + "description": "Parameters to use when applying a responsive search ad asset recommendation." + }, + "responsiveSearchAdImproveAdStrength": { + "$ref": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ResponsiveSearchAdImproveAdStrengthParameters", + "description": "Parameters to use when applying a responsive search ad improve ad strength recommendation." + }, + "setTargetCpa": { + "$ref": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ForecastingSetTargetCpaParameters", + "description": "Parameters to use when applying set target CPA recommendation." + }, + "setTargetRoas": { + "$ref": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ForecastingSetTargetRoasParameters", + "description": "Parameters to use when applying set target ROAS recommendation." + }, + "sitelinkAsset": { + "$ref": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_SitelinkAssetParameters", + "description": "Parameters to use when applying sitelink asset recommendation." + }, + "sitelinkExtension": { + "$ref": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_SitelinkExtensionParameters", + "description": "Parameters to use when applying sitelink recommendation." + }, + "targetCpaOptIn": { + "$ref": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_TargetCpaOptInParameters", + "description": "Optional parameters to use when applying target CPA opt-in recommendation." + }, + "targetRoasOptIn": { + "$ref": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_TargetRoasOptInParameters", + "description": "Optional parameters to use when applying target ROAS opt-in recommendation." + }, + "textAd": { + "$ref": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_TextAdParameters", + "description": "Optional parameters to use when applying a text ad recommendation." + }, + "useBroadMatchKeyword": { + "$ref": "GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_UseBroadMatchKeywordParameters", + "description": "Parameters to use when applying a use broad match keyword recommendation." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__ApplyRecommendationRequest": { + "description": "Request message for RecommendationService.ApplyRecommendation.", + "id": "GoogleAdsSearchads360V23Services__ApplyRecommendationRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to apply recommendations. If partial_failure=false all recommendations should be of the same type There is a limit of 100 operations per request.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__ApplyRecommendationOperation" + }, + "type": "array" + }, + "partialFailure": { + "description": "If true, successful operations will be carried out and invalid operations will return errors. If false, operations will be carried out as a transaction if and only if they are all valid. Default is false.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__ApplyRecommendationResponse": { + "description": "Response message for RecommendationService.ApplyRecommendation.", + "id": "GoogleAdsSearchads360V23Services__ApplyRecommendationResponse", + "properties": { + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors) we return the RPC level error." + }, + "results": { + "description": "Results of operations to apply recommendations.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__ApplyRecommendationResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__ApplyRecommendationResult": { + "description": "The result of applying a recommendation.", + "id": "GoogleAdsSearchads360V23Services__ApplyRecommendationResult", + "properties": { + "resourceName": { + "description": "Returned for successful applies.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__AssetGroupAssetOperation": { + "description": "A single operation (create, remove) on an asset group asset.", + "id": "GoogleAdsSearchads360V23Services__AssetGroupAssetOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__AssetGroupAsset", + "description": "Create operation: No resource name is expected for the new asset group asset." + }, + "remove": { + "description": "Remove operation: A resource name for the removed asset group asset is expected, in this format: `customers/{customer_id}/assetGroupAssets/{asset_group_id}~{asset_id}~{field_type}`", + "type": "string" + }, + "update": { + "$ref": "GoogleAdsSearchads360V23Resources__AssetGroupAsset", + "description": "Update operation: The asset group asset is expected to have a valid resource name." + }, + "updateMask": { + "description": "FieldMask that determines which resource fields are modified in an update.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__AssetGroupListingGroupFilterOperation": { + "description": "A single operation (create, remove) on an asset group listing group filter.", + "id": "GoogleAdsSearchads360V23Services__AssetGroupListingGroupFilterOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__AssetGroupListingGroupFilter", + "description": "Create operation: No resource name is expected for the new asset group listing group filter." + }, + "remove": { + "description": "Remove operation: A resource name for the removed asset group listing group filter is expected, in this format: `customers/{customer_id}/assetGroupListingGroupFilters/{asset_group_id}~{listing_group_filter_id}` An entity can be removed only if it's not referenced by other parent_listing_group_id. If multiple entities are being deleted, the mutates must be in the correct order.", + "type": "string" + }, + "update": { + "$ref": "GoogleAdsSearchads360V23Resources__AssetGroupListingGroupFilter", + "description": "Update operation: The asset group listing group filter is expected to have a valid resource name." + }, + "updateMask": { + "description": "FieldMask that determines which resource fields are modified in an update.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__AssetGroupOperation": { + "description": "A single operation (create, remove) on an asset group.", + "id": "GoogleAdsSearchads360V23Services__AssetGroupOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__AssetGroup", + "description": "Create operation: No resource name is expected for the new asset group" + }, + "remove": { + "description": "Remove operation: A resource name for the removed asset group is expected, in this format: `customers/{customer_id}/assetGroups/{asset_group_id}`", + "type": "string" + }, + "update": { + "$ref": "GoogleAdsSearchads360V23Resources__AssetGroup", + "description": "Update operation: The asset group is expected to have a valid resource name." + }, + "updateMask": { + "description": "FieldMask that determines which resource fields are modified in an update.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__AssetGroupSignalOperation": { + "description": "A single operation (create, remove) on an asset group signal.", + "id": "GoogleAdsSearchads360V23Services__AssetGroupSignalOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__AssetGroupSignal", + "description": "Create operation: No resource name is expected for the new asset group signal." + }, + "exemptPolicyViolationKeys": { + "description": "Optional. The list of policy violation keys that should not cause a PolicyViolationError to be reported. Not all policy violations are exemptable, refer to the is_exemptible field in the returned PolicyViolationError. Resources violating these polices will be saved, but will not be eligible to serve. They may begin serving at a later time due to a change in policies, re-review of the resource, or a change in advertiser certificates.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__PolicyViolationKey" + }, + "type": "array" + }, + "remove": { + "description": "Remove operation: A resource name for the removed asset group signal is expected, in this format: `customers/{customer_id}/assetGroupSignals/{asset_group_id}~{criterion_id}`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__AssetOperation": { + "description": "A single operation to create an asset. Supported asset types are YoutubeVideoAsset, MediaBundleAsset, ImageAsset, LeadFormAsset, LocationAsset, and ImageAsset. TextAsset can be created with an Ad inline, but it can also be created apart from an Ad like other assets.", + "id": "GoogleAdsSearchads360V23Services__AssetOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__Asset", + "description": "Create operation: No resource name is expected for the new asset." + }, + "update": { + "$ref": "GoogleAdsSearchads360V23Resources__Asset", + "description": "Update operation: The asset is expected to have a valid resource name in this format: `customers/{customer_id}/assets/{asset_id}`" + }, + "updateMask": { + "description": "FieldMask that determines which resource fields are modified in an update.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__AssetSetAssetOperation": { + "description": "A single operation (create, remove) on an asset set asset.", + "id": "GoogleAdsSearchads360V23Services__AssetSetAssetOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__AssetSetAsset", + "description": "Create operation: No resource name is expected for the new asset set asset" + }, + "remove": { + "description": "Remove operation: A resource name for the removed asset set asset is expected, in this format: `customers/{customer_id}/assetSetAssets/{asset_set_id}~{asset_id}`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__AssetSetOperation": { + "description": "A single operation (create, remove) on an asset set.", + "id": "GoogleAdsSearchads360V23Services__AssetSetOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__AssetSet", + "description": "Create operation: No resource name is expected for the new asset set" + }, + "remove": { + "description": "Remove operation: A resource name for the removed asset set is expected, in this format: `customers/{customer_id}/assetSets/{asset_set_id}`", + "type": "string" + }, + "update": { + "$ref": "GoogleAdsSearchads360V23Resources__AssetSet", + "description": "Update operation: The asset set is expected to have a valid resource name." + }, + "updateMask": { + "description": "FieldMask that determines which resource fields are modified in an update.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__AssetsWithFieldType": { + "description": "The combination of system asset and field type to remove.", + "id": "GoogleAdsSearchads360V23Services__AssetsWithFieldType", + "properties": { + "asset": { + "description": "Required. The resource name of the asset to be removed.", + "type": "string" + }, + "assetFieldType": { + "description": "Required. The asset field type.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "HEADLINE", + "DESCRIPTION", + "MANDATORY_AD_TEXT", + "MARKETING_IMAGE", + "MEDIA_BUNDLE", + "YOUTUBE_VIDEO", + "BOOK_ON_GOOGLE", + "LEAD_FORM", + "PROMOTION", + "CALLOUT", + "STRUCTURED_SNIPPET", + "SITELINK", + "MOBILE_APP", + "HOTEL_CALLOUT", + "CALL", + "PRICE", + "LONG_HEADLINE", + "BUSINESS_NAME", + "SQUARE_MARKETING_IMAGE", + "PORTRAIT_MARKETING_IMAGE", + "LOGO", + "LANDSCAPE_LOGO", + "VIDEO", + "CALL_TO_ACTION_SELECTION", + "AD_IMAGE", + "BUSINESS_LOGO", + "HOTEL_PROPERTY", + "DEMAND_GEN_CAROUSEL_CARD", + "BUSINESS_MESSAGE", + "TALL_PORTRAIT_MARKETING_IMAGE", + "LANDING_PAGE_PREVIEW", + "LONG_DESCRIPTION", + "CALL_TO_ACTION" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The asset is linked for use as a headline.", + "The asset is linked for use as a description.", + "The asset is linked for use as mandatory ad text.", + "The asset is linked for use as a marketing image.", + "The asset is linked for use as a media bundle.", + "The asset is linked for use as a YouTube video.", + "The asset is linked to indicate that a hotels campaign is \"Book on Google\" enabled.", + "The asset is linked for use as a Lead Form extension.", + "The asset is linked for use as a Promotion extension.", + "The asset is linked for use as a Callout extension.", + "The asset is linked for use as a Structured Snippet extension.", + "The asset is linked for use as a Sitelink.", + "The asset is linked for use as a Mobile App extension.", + "The asset is linked for use as a Hotel Callout extension.", + "The asset is linked for use as a Call extension.", + "The asset is linked for use as a Price extension.", + "The asset is linked for use as a long headline.", + "The asset is linked for use as a business name.", + "The asset is linked for use as a square marketing image.", + "The asset is linked for use as a portrait marketing image.", + "The asset is linked for use as a logo.", + "The asset is linked for use as a landscape logo.", + "The asset is linked for use as a non YouTube logo.", + "The asset is linked for use to select a call-to-action.", + "The asset is linked for use to select an ad image.", + "The asset is linked for use as a business logo.", + "The asset is linked for use as a hotel property in a Performance Max for travel goals campaign.", + "The asset is linked for use as a Demand Gen carousel card.", + "The asset is linked for use as a Business Message.", + "The asset is linked for use as a tall portrait marketing image.", + "The asset is linked for use as a landing page preview image.", + "The asset is linked for use as a long description.", + "The asset is linked for use as a call-to-action." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__AudienceCompositionAttribute": { + "description": "An audience attribute with metadata and metrics.", + "id": "GoogleAdsSearchads360V23Services__AudienceCompositionAttribute", + "properties": { + "attributeMetadata": { + "$ref": "GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata", + "description": "The attribute with its metadata." + }, + "metrics": { + "$ref": "GoogleAdsSearchads360V23Services__AudienceCompositionMetrics", + "description": "Share and index metrics for the attribute." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__AudienceCompositionAttributeCluster": { + "description": "A collection of related attributes, with metadata and metrics, in an audience composition insights report.", + "id": "GoogleAdsSearchads360V23Services__AudienceCompositionAttributeCluster", + "properties": { + "attributes": { + "description": "The individual attributes that make up this cluster, with metadata and metrics.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__AudienceCompositionAttribute" + }, + "type": "array" + }, + "clusterDisplayName": { + "description": "The name of this cluster of attributes", + "type": "string" + }, + "clusterMetrics": { + "$ref": "GoogleAdsSearchads360V23Services__AudienceCompositionMetrics", + "description": "If the dimension associated with this cluster is YOUTUBE_CHANNEL, then cluster_metrics are metrics associated with the cluster as a whole. For other dimensions, this field is unset." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__AudienceCompositionMetrics": { + "description": "The share and index metrics associated with an attribute in an audience composition insights report.", + "id": "GoogleAdsSearchads360V23Services__AudienceCompositionMetrics", + "properties": { + "audienceShare": { + "description": "The fraction (from 0 to 1 inclusive) of the specific audience that match the attribute.", + "format": "double", + "type": "number" + }, + "baselineAudienceShare": { + "description": "The fraction (from 0 to 1 inclusive) of the baseline audience that match the attribute.", + "format": "double", + "type": "number" + }, + "index": { + "description": "The ratio of audience_share to baseline_audience_share, or zero if this ratio is undefined or is not meaningful.", + "format": "double", + "type": "number" + }, + "score": { + "description": "A relevance score from 0 to 1 inclusive.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__AudienceCompositionSection": { + "description": "A collection of related attributes of the same type in an audience composition insights report.", + "id": "GoogleAdsSearchads360V23Services__AudienceCompositionSection", + "properties": { + "clusteredAttributes": { + "description": "Additional attributes for this audience, grouped into clusters. Only populated if dimension is YOUTUBE_CHANNEL.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__AudienceCompositionAttributeCluster" + }, + "type": "array" + }, + "dimension": { + "description": "The type of the attributes in this section.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CATEGORY", + "KNOWLEDGE_GRAPH", + "GEO_TARGET_COUNTRY", + "SUB_COUNTRY_LOCATION", + "YOUTUBE_CHANNEL", + "AFFINITY_USER_INTEREST", + "IN_MARKET_USER_INTEREST", + "PARENTAL_STATUS", + "INCOME_RANGE", + "AGE_RANGE", + "GENDER", + "YOUTUBE_VIDEO", + "DEVICE", + "YOUTUBE_LINEUP", + "USER_LIST", + "LIFE_EVENT_USER_INTEREST" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "A Product & Service category.", + "A Knowledge Graph entity.", + "A country, represented by a geo target.", + "A geographic location within a country.", + "A YouTube channel.", + "An Affinity UserInterest.", + "An In-Market UserInterest.", + "A Parental Status value (parent, or not a parent).", + "A household income percentile range.", + "An age range.", + "A gender.", + "A YouTube video.", + "A device type, such as Mobile, Desktop, Tablet, and Connected TV.", + "A YouTube Lineup.", + "A User List.", + "A Life Event UserInterest." + ], + "type": "string" + }, + "topAttributes": { + "description": "The most relevant segments for this audience. If dimension is GENDER, AGE_RANGE or PARENTAL_STATUS, then this list of attributes is exhaustive.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__AudienceCompositionAttribute" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__AudienceInsightsDimensions": { + "description": "A collection of dimensions to be used for generating insights.", + "id": "GoogleAdsSearchads360V23Services__AudienceInsightsDimensions", + "properties": { + "dimensions": { + "description": "Required. A list of dimensions.", + "items": { + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CATEGORY", + "KNOWLEDGE_GRAPH", + "GEO_TARGET_COUNTRY", + "SUB_COUNTRY_LOCATION", + "YOUTUBE_CHANNEL", + "AFFINITY_USER_INTEREST", + "IN_MARKET_USER_INTEREST", + "PARENTAL_STATUS", + "INCOME_RANGE", + "AGE_RANGE", + "GENDER", + "YOUTUBE_VIDEO", + "DEVICE", + "YOUTUBE_LINEUP", + "USER_LIST", + "LIFE_EVENT_USER_INTEREST" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "A Product & Service category.", + "A Knowledge Graph entity.", + "A country, represented by a geo target.", + "A geographic location within a country.", + "A YouTube channel.", + "An Affinity UserInterest.", + "An In-Market UserInterest.", + "A Parental Status value (parent, or not a parent).", + "A household income percentile range.", + "An age range.", + "A gender.", + "A YouTube video.", + "A device type, such as Mobile, Desktop, Tablet, and Connected TV.", + "A YouTube Lineup.", + "A User List.", + "A Life Event UserInterest." + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__AudienceOperation": { + "description": "A single operation (create, update) on an audience.", + "id": "GoogleAdsSearchads360V23Services__AudienceOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__Audience", + "description": "Create operation: No resource name is expected for the new audience" + }, + "update": { + "$ref": "GoogleAdsSearchads360V23Resources__Audience", + "description": "Update operation: The audience is expected to have a valid resource name." + }, + "updateMask": { + "description": "FieldMask that determines which resource fields are modified in an update.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__AudienceOverlapItem": { + "description": "An audience attribute, with metadata including the overlap between this attribute's potential YouTube reach and that of a primary attribute.", + "id": "GoogleAdsSearchads360V23Services__AudienceOverlapItem", + "properties": { + "attributeMetadata": { + "$ref": "GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata", + "description": "The attribute and its metadata, including potential YouTube reach." + }, + "potentialYoutubeReachIntersection": { + "description": "The estimated size of the intersection of this audience attribute with the primary attribute, that is, the number of reachable YouTube users who match BOTH the primary attribute and this one.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__AudienceTargeting": { + "description": "Audience targeting for reach forecast.", + "id": "GoogleAdsSearchads360V23Services__AudienceTargeting", + "properties": { + "userInterest": { + "description": "List of audiences based on user interests to be targeted.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__UserInterestInfo" + }, + "type": "array" + }, + "userLists": { + "description": "List of audiences based on user lists to be targeted.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__UserListInfo" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__BatchJobOperation": { + "description": "A single operation on a batch job.", + "id": "GoogleAdsSearchads360V23Services__BatchJobOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__BatchJob", + "description": "Create operation: No resource name is expected for the new batch job." + }, + "remove": { + "description": "Remove operation: The batch job must not have been run. A resource name for the removed batch job is expected, in this format: `customers/{customer_id}/batchJobs/{batch_job_id}`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__BatchJobResult": { + "description": "An individual batch job result.", + "id": "GoogleAdsSearchads360V23Services__BatchJobResult", + "properties": { + "mutateOperationResponse": { + "$ref": "GoogleAdsSearchads360V23Services__MutateOperationResponse", + "description": "Response for the mutate. May be empty if errors occurred." + }, + "operationIndex": { + "description": "Index of the mutate operation.", + "format": "int64", + "type": "string" + }, + "status": { + "$ref": "GoogleRpc__Status", + "description": "Details of the errors when processing the operation." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__BenchmarksLocation": { + "description": "A location that supports benchmarks data.", + "id": "GoogleAdsSearchads360V23Services__BenchmarksLocation", + "properties": { + "locationInfo": { + "$ref": "GoogleAdsSearchads360V23Common__LocationInfo", + "description": "Information on the geographic location, including the location ID." + }, + "locationName": { + "description": "The unique location name in English.", + "type": "string" + }, + "locationType": { + "description": "The location's type. Location types correspond to target_type returned by searching location type in GoogleAdsService.Search/SearchStream.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__BenchmarksProductMetadata": { + "description": "The metadata associated with a product supported for benchmarks data.", + "id": "GoogleAdsSearchads360V23Services__BenchmarksProductMetadata", + "properties": { + "marketingObjective": { + "description": "The marketing objective associated with the product. A marketing objective is a broader classification of products.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "AWARENESS", + "CONSIDERATION", + "ACTION" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "The objective is to increase awareness.", + "The objective is to encourage potential customers to consider the brand or products.", + "The objective is to drive a specific conversion, such as a purchase." + ], + "type": "string" + }, + "productCode": { + "description": "The identifier of the product. The identifier can be used as inputs for BenchmarksService.GenerateBenchmarksMetrics.", + "type": "string" + }, + "productName": { + "description": "The name of the product.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__BenchmarksSource": { + "description": "The source used to generate benchmarks metrics for. The ID of the source can be obtained from BenchmarksService.ListBenchmarksSources.", + "id": "GoogleAdsSearchads360V23Services__BenchmarksSource", + "properties": { + "industryVerticalId": { + "description": "The ID of the Industry Vertical.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__BenchmarksSourceMetadata": { + "description": "The metadata associated with a benchmarks source.", + "id": "GoogleAdsSearchads360V23Services__BenchmarksSourceMetadata", + "properties": { + "benchmarksSourceType": { + "description": "The type of benchmarks source.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "INDUSTRY_VERTICAL" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "The classification of ad categories for benchmarking. (for example, \"Technology\" or \"Finance\")." + ], + "type": "string" + }, + "industryVerticalInfo": { + "$ref": "GoogleAdsSearchads360V23Services__IndustryVerticalInfo", + "description": "Information on the Industry Vertical." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__BiddableKeyword": { + "description": "A biddable keyword part of an ad group.", + "id": "GoogleAdsSearchads360V23Services__BiddableKeyword", + "properties": { + "keyword": { + "$ref": "GoogleAdsSearchads360V23Common__KeywordInfo", + "description": "Required. Keyword. Must have text and match type." + }, + "maxCpcBidMicros": { + "description": "A max cpc bid in micros that overrides the ad group level max cpc bid in forecast simulation. This value will override the max cpc value set in the bidding strategy and ad group. Only specify this field for bidding strategies that support max cpc values.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__BiddingDataExclusionOperation": { + "description": "A single operation (create, remove, update) on a data exclusion.", + "id": "GoogleAdsSearchads360V23Services__BiddingDataExclusionOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__BiddingDataExclusion", + "description": "Create operation: No resource name is expected for the new data exclusion." + }, + "remove": { + "description": "Remove operation: A resource name for the removed data exclusion is expected, in this format: `customers/{customer_id}/biddingDataExclusions/{data_exclusion_id}`", + "type": "string" + }, + "update": { + "$ref": "GoogleAdsSearchads360V23Resources__BiddingDataExclusion", + "description": "Update operation: The data exclusion is expected to have a valid resource name." + }, + "updateMask": { + "description": "FieldMask that determines which resource fields are modified in an update.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__BiddingSeasonalityAdjustmentOperation": { + "description": "A single operation (create, remove, update) on a seasonality adjustment.", + "id": "GoogleAdsSearchads360V23Services__BiddingSeasonalityAdjustmentOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__BiddingSeasonalityAdjustment", + "description": "Create operation: No resource name is expected for the new seasonality adjustment." + }, + "remove": { + "description": "Remove operation: A resource name for the removed seasonality adjustment is expected, in this format: `customers/{customer_id}/biddingSeasonalityAdjustments/{seasonality_adjustment_id}`", + "type": "string" + }, + "update": { + "$ref": "GoogleAdsSearchads360V23Resources__BiddingSeasonalityAdjustment", + "description": "Update operation: The seasonality adjustment is expected to have a valid resource name." + }, + "updateMask": { + "description": "FieldMask that determines which resource fields are modified in an update.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__BiddingStrategyOperation": { + "description": "A single operation (create, update, remove) on a bidding strategy.", + "id": "GoogleAdsSearchads360V23Services__BiddingStrategyOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__BiddingStrategy", + "description": "Create operation: No resource name is expected for the new bidding strategy." + }, + "remove": { + "description": "Remove operation: A resource name for the removed bidding strategy is expected, in this format: `customers/{customer_id}/biddingStrategies/{bidding_strategy_id}`", + "type": "string" + }, + "update": { + "$ref": "GoogleAdsSearchads360V23Resources__BiddingStrategy", + "description": "Update operation: The bidding strategy is expected to have a valid resource name." + }, + "updateMask": { + "description": "FieldMask that determines which resource fields are modified in an update.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__BillingSetupOperation": { + "description": "A single operation on a billing setup, which describes the cancellation of an existing billing setup.", + "id": "GoogleAdsSearchads360V23Services__BillingSetupOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__BillingSetup", + "description": "Creates a billing setup. No resource name is expected for the new billing setup." + }, + "remove": { + "description": "Resource name of the billing setup to remove. A setup cannot be removed unless it is in a pending state or its scheduled start time is in the future. The resource name looks like `customers/{customer_id}/billingSetups/{billing_id}`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__BrandCampaignAssets": { + "description": "Assets linked at the campaign level. A business_name and at least one logo_asset are required.", + "id": "GoogleAdsSearchads360V23Services__BrandCampaignAssets", + "properties": { + "businessNameAsset": { + "description": "Required. The resource name of the business name text asset.", + "type": "string" + }, + "landscapeLogoAsset": { + "description": "Optional. The resource name of landscape logo assets.", + "items": { + "type": "string" + }, + "type": "array" + }, + "logoAsset": { + "description": "Required. The resource name of square logo assets.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__CampaignAssetOperation": { + "description": "A single operation (create, remove) on a campaign asset.", + "id": "GoogleAdsSearchads360V23Services__CampaignAssetOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__CampaignAsset", + "description": "Create operation: No resource name is expected for the new campaign asset." + }, + "remove": { + "description": "Remove operation: A resource name for the removed campaign asset is expected, in this format: `customers/{customer_id}/campaignAssets/{campaign_id}~{asset_id}~{field_type}`", + "type": "string" + }, + "update": { + "$ref": "GoogleAdsSearchads360V23Resources__CampaignAsset", + "description": "Update operation: The campaign asset is expected to have a valid resource name." + }, + "updateMask": { + "description": "FieldMask that determines which resource fields are modified in an update.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__CampaignAssetSetOperation": { + "description": "A single operation (create, remove) on a campaign asset set.", + "id": "GoogleAdsSearchads360V23Services__CampaignAssetSetOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__CampaignAssetSet", + "description": "Create operation: No resource name is expected for the new campaign asset set." + }, + "remove": { + "description": "Remove operation: A resource name for the removed campaign asset set is expected, in this format: `customers/{customer_id}/campaignAssetSets/{campaign_id}~{asset_set_id}`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__CampaignBidModifierOperation": { + "description": "A single operation (create, remove, update) on a campaign bid modifier.", + "id": "GoogleAdsSearchads360V23Services__CampaignBidModifierOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__CampaignBidModifier", + "description": "Create operation: No resource name is expected for the new campaign bid modifier." + }, + "remove": { + "description": "Remove operation: A resource name for the removed campaign bid modifier is expected, in this format: `customers/{customer_id}/CampaignBidModifiers/{campaign_id}~{criterion_id}`", + "type": "string" + }, + "update": { + "$ref": "GoogleAdsSearchads360V23Resources__CampaignBidModifier", + "description": "Update operation: The campaign bid modifier is expected to have a valid resource name." + }, + "updateMask": { + "description": "FieldMask that determines which resource fields are modified in an update.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__CampaignBudgetMapping": { + "description": "The mapping of experiment campaign and budget to be graduated.", + "id": "GoogleAdsSearchads360V23Services__CampaignBudgetMapping", + "properties": { + "campaignBudget": { + "description": "Required. The budget that should be attached to the graduating experiment campaign.", + "type": "string" + }, + "experimentCampaign": { + "description": "Required. The experiment campaign to graduate.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__CampaignBudgetOperation": { + "description": "A single operation (create, update, remove) on a campaign budget.", + "id": "GoogleAdsSearchads360V23Services__CampaignBudgetOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__CampaignBudget", + "description": "Create operation: No resource name is expected for the new budget." + }, + "remove": { + "description": "Remove operation: A resource name for the removed budget is expected, in this format: `customers/{customer_id}/campaignBudgets/{budget_id}`", + "type": "string" + }, + "update": { + "$ref": "GoogleAdsSearchads360V23Resources__CampaignBudget", + "description": "Update operation: The campaign budget is expected to have a valid resource name." + }, + "updateMask": { + "description": "FieldMask that determines which resource fields are modified in an update.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__CampaignConversionGoalOperation": { + "description": "A single operation (update) on a campaign conversion goal.", + "id": "GoogleAdsSearchads360V23Services__CampaignConversionGoalOperation", + "properties": { + "update": { + "$ref": "GoogleAdsSearchads360V23Resources__CampaignConversionGoal", + "description": "Update operation: The customer conversion goal is expected to have a valid resource name." + }, + "updateMask": { + "description": "FieldMask that determines which resource fields are modified in an update.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__CampaignCriterionOperation": { + "description": "A single operation (create, update, remove) on a campaign criterion.", + "id": "GoogleAdsSearchads360V23Services__CampaignCriterionOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__CampaignCriterion", + "description": "Create operation: No resource name is expected for the new criterion." + }, + "remove": { + "description": "Remove operation: A resource name for the removed criterion is expected, in this format: `customers/{customer_id}/campaignCriteria/{campaign_id}~{criterion_id}`", + "type": "string" + }, + "update": { + "$ref": "GoogleAdsSearchads360V23Resources__CampaignCriterion", + "description": "Update operation: The criterion is expected to have a valid resource name. Note that for smart campaigns, you cannot use the update method to edit the geolocation target." + }, + "updateMask": { + "description": "FieldMask that determines which resource fields are modified in an update.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__CampaignCustomizerOperation": { + "description": "A single operation (create, remove) on a customizer attribute.", + "id": "GoogleAdsSearchads360V23Services__CampaignCustomizerOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__CampaignCustomizer", + "description": "Create operation: No resource name is expected for the new campaign customizer" + }, + "remove": { + "description": "Remove operation: A resource name for the removed campaign customizer is expected, in this format: `customers/{customer_id}/campaignCustomizers/{campaign_id}~{customizer_attribute_id}`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__CampaignDraftOperation": { + "description": "A single operation (create, update, remove) on a campaign draft.", + "id": "GoogleAdsSearchads360V23Services__CampaignDraftOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__CampaignDraft", + "description": "Create operation: No resource name is expected for the new campaign draft." + }, + "remove": { + "description": "Remove operation: The campaign draft is expected to have a valid resource name, in this format: `customers/{customer_id}/campaignDrafts/{base_campaign_id}~{draft_id}`", + "type": "string" + }, + "update": { + "$ref": "GoogleAdsSearchads360V23Resources__CampaignDraft", + "description": "Update operation: The campaign draft is expected to have a valid resource name." + }, + "updateMask": { + "description": "FieldMask that determines which resource fields are modified in an update.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__CampaignDuration": { + "description": "The duration of a planned campaign.", + "id": "GoogleAdsSearchads360V23Services__CampaignDuration", + "properties": { + "dateRange": { + "$ref": "GoogleAdsSearchads360V23Common__DateRange", + "description": "Date range of the campaign. Dates are in the yyyy-mm-dd format and inclusive. The end date must be < 1 year in the future and the date range must be <= 92 days long. This field cannot be combined with the duration_in_days field." + }, + "durationInDays": { + "description": "The duration value in days. This field cannot be combined with the date_range field.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__CampaignGoalConfigOperation": { + "description": "A single mutate operation on the campaign goal config.", + "id": "GoogleAdsSearchads360V23Services__CampaignGoalConfigOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__CampaignGoalConfig", + "description": "Create a new campaign goal config." + }, + "remove": { + "description": "Remove an existing campaign goal config.", + "type": "string" + }, + "update": { + "$ref": "GoogleAdsSearchads360V23Resources__CampaignGoalConfig", + "description": "Update an existing campaign goal config." + }, + "updateMask": { + "description": "FieldMask that determines which fields are modified in an update.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__CampaignGroupOperation": { + "description": "A single operation (create, update, remove) on a campaign group.", + "id": "GoogleAdsSearchads360V23Services__CampaignGroupOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__CampaignGroup", + "description": "Create operation: No resource name is expected for the new campaign group." + }, + "remove": { + "description": "Remove operation: A resource name for the removed campaign group is expected, in this format: `customers/{customer_id}/campaignGroups/{campaign_group_id}`", + "type": "string" + }, + "update": { + "$ref": "GoogleAdsSearchads360V23Resources__CampaignGroup", + "description": "Update operation: The campaign group is expected to have a valid resource name." + }, + "updateMask": { + "description": "FieldMask that determines which resource fields are modified in an update.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__CampaignLabelOperation": { + "description": "A single operation (create, remove) on a campaign-label relationship.", + "id": "GoogleAdsSearchads360V23Services__CampaignLabelOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__CampaignLabel", + "description": "Create operation: No resource name is expected for the new campaign-label relationship." + }, + "remove": { + "description": "Remove operation: A resource name for the campaign-label relationship being removed, in this format: `customers/{customer_id}/campaignLabels/{campaign_id}~{label_id}`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__CampaignLifecycleGoalOperation": { + "description": "A single operation on a campaign lifecycle goal.", + "id": "GoogleAdsSearchads360V23Services__CampaignLifecycleGoalOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__CampaignLifecycleGoal" + }, + "update": { + "$ref": "GoogleAdsSearchads360V23Resources__CampaignLifecycleGoal", + "description": "Update operation: Update an existing campaign lifecycle goal. The campaign field should not be set for this operation." + }, + "updateMask": { + "description": "Optional. FieldMask that determines which resource fields are modified in an update.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__CampaignOperation": { + "description": "A single operation (create, update, remove) on a campaign.", + "id": "GoogleAdsSearchads360V23Services__CampaignOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__Campaign", + "description": "Create operation: No resource name is expected for the new campaign." + }, + "remove": { + "description": "Remove operation: A resource name for the removed campaign is expected, in this format: `customers/{customer_id}/campaigns/{campaign_id}`", + "type": "string" + }, + "update": { + "$ref": "GoogleAdsSearchads360V23Resources__Campaign", + "description": "Update operation: The campaign is expected to have a valid resource name." + }, + "updateMask": { + "description": "FieldMask that determines which resource fields are modified in an update.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__CampaignSharedSetOperation": { + "description": "A single operation (create, remove) on a campaign shared set.", + "id": "GoogleAdsSearchads360V23Services__CampaignSharedSetOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__CampaignSharedSet", + "description": "Create operation: No resource name is expected for the new campaign shared set." + }, + "remove": { + "description": "Remove operation: A resource name for the removed campaign shared set is expected, in this format: `customers/{customer_id}/campaignSharedSets/{campaign_id}~{shared_set_id}`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__CampaignToForecast": { + "description": "A campaign to do a keyword campaign forecast.", + "id": "GoogleAdsSearchads360V23Services__CampaignToForecast", + "properties": { + "adGroups": { + "description": "The ad groups in the new campaign to forecast.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__ForecastAdGroup" + }, + "type": "array" + }, + "biddingStrategy": { + "$ref": "GoogleAdsSearchads360V23Services_CampaignToForecast_CampaignBiddingStrategy", + "description": "Required. The bidding strategy for the campaign." + }, + "conversionRate": { + "description": "The expected conversion rate (number of conversions divided by number of total clicks) as defined by the user. This value is expressed as a decimal value, so an expected conversion rate of 2% should be entered as 0.02. If left empty, an estimated conversion rate will be used.", + "format": "double", + "type": "number" + }, + "geoModifiers": { + "description": "Locations to be targeted. Locations must be unique.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__CriterionBidModifier" + }, + "type": "array" + }, + "keywordPlanNetwork": { + "description": "Required. The network used for targeting.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "GOOGLE_SEARCH", + "GOOGLE_SEARCH_AND_PARTNERS" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "Google Search.", + "Google Search + Search partners." + ], + "type": "string" + }, + "languageConstants": { + "description": "The list of resource names of languages to be targeted. The resource name is of the format \"languageConstants/{criterion_id}\". See https://developers.google.com/google-ads/api/data/codes-formats#languages for the list of language criterion codes.", + "items": { + "type": "string" + }, + "type": "array" + }, + "negativeKeywords": { + "description": "The list of negative keywords to be used in the campaign when doing the forecast.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__KeywordInfo" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__ConfigureCampaignLifecycleGoalsRequest": { + "description": "Request message for CampaignLifecycleGoalService.ConfigureCampaignLifecycleGoals.", + "id": "GoogleAdsSearchads360V23Services__ConfigureCampaignLifecycleGoalsRequest", + "properties": { + "operation": { + "$ref": "GoogleAdsSearchads360V23Services__CampaignLifecycleGoalOperation", + "description": "Required. The operation to perform campaign lifecycle goal update." + }, + "validateOnly": { + "description": "Optional. If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__ConfigureCampaignLifecycleGoalsResponse": { + "description": "Response message for CampaignLifecycleGoalService.ConfigureCampaignLifecycleGoals.", + "id": "GoogleAdsSearchads360V23Services__ConfigureCampaignLifecycleGoalsResponse", + "properties": { + "result": { + "$ref": "GoogleAdsSearchads360V23Services__ConfigureCampaignLifecycleGoalsResult", + "description": "Result for the campaign lifecycle goal configuration." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__ConfigureCampaignLifecycleGoalsResult": { + "description": "The result for the campaign lifecycle goal configuration.", + "id": "GoogleAdsSearchads360V23Services__ConfigureCampaignLifecycleGoalsResult", + "properties": { + "resourceName": { + "description": "Returned for the successful operation.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__ConfigureCustomerLifecycleGoalsRequest": { + "description": "Request message for CustomerLifecycleGoalService.ConfigureCustomerLifecycleGoals.", + "id": "GoogleAdsSearchads360V23Services__ConfigureCustomerLifecycleGoalsRequest", + "properties": { + "operation": { + "$ref": "GoogleAdsSearchads360V23Services__CustomerLifecycleGoalOperation", + "description": "Required. The operation to perform customer lifecycle goal update." + }, + "validateOnly": { + "description": "Optional. If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__ConfigureCustomerLifecycleGoalsResponse": { + "description": "Response message for CustomerLifecycleGoalService.ConfigureCustomerLifecycleGoals.", + "id": "GoogleAdsSearchads360V23Services__ConfigureCustomerLifecycleGoalsResponse", + "properties": { + "result": { + "$ref": "GoogleAdsSearchads360V23Services__ConfigureCustomerLifecycleGoalsResult", + "description": "result for the customer lifecycle goal configuration." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__ConfigureCustomerLifecycleGoalsResult": { + "description": "The result for the customer lifecycle goal configuration.", + "id": "GoogleAdsSearchads360V23Services__ConfigureCustomerLifecycleGoalsResult", + "properties": { + "resourceName": { + "description": "Returned for the successful operation.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__Conversation": { + "description": "Details of the conversation that needs to be appended.", + "id": "GoogleAdsSearchads360V23Services__Conversation", + "properties": { + "localServicesLead": { + "description": "Required. The resource name of the local services lead that the conversation should be applied to.", + "type": "string" + }, + "text": { + "description": "Required. Text message that user wanted to append to lead.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__ConversationOrError": { + "description": "Result of the append conversation operation.", + "id": "GoogleAdsSearchads360V23Services__ConversationOrError", + "properties": { + "localServicesLeadConversation": { + "description": "The resource name of the appended local services lead conversation.", + "type": "string" + }, + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Failure status when the request could not be processed." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__ConversionActionOperation": { + "description": "A single operation (create, update, remove) on a conversion action.", + "id": "GoogleAdsSearchads360V23Services__ConversionActionOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__ConversionAction", + "description": "Create operation: No resource name is expected for the new conversion action." + }, + "remove": { + "description": "Remove operation: A resource name for the removed conversion action is expected, in this format: `customers/{customer_id}/conversionActions/{conversion_action_id}`", + "type": "string" + }, + "update": { + "$ref": "GoogleAdsSearchads360V23Resources__ConversionAction", + "description": "Update operation: The conversion action is expected to have a valid resource name." + }, + "updateMask": { + "description": "FieldMask that determines which resource fields are modified in an update.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__ConversionCustomDimensionHeader": { + "description": "Message for conversion custom dimension header.", + "id": "GoogleAdsSearchads360V23Services__ConversionCustomDimensionHeader", + "properties": { + "id": { + "description": "The conversion custom dimension ID.", + "format": "int64", + "type": "string" + }, + "name": { + "description": "The user defined name of the conversion custom dimension.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__ConversionCustomMetricHeader": { + "description": "Message for conversion custom metric header.", + "id": "GoogleAdsSearchads360V23Services__ConversionCustomMetricHeader", + "properties": { + "id": { + "description": "The conversion custom metric ID.", + "format": "int64", + "type": "string" + }, + "name": { + "description": "The user defined name of the conversion custom metric.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__ConversionCustomVariableOperation": { + "description": "A single operation (create, update) on a conversion custom variable.", + "id": "GoogleAdsSearchads360V23Services__ConversionCustomVariableOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__ConversionCustomVariable", + "description": "Create operation: No resource name is expected for the new conversion custom variable." + }, + "update": { + "$ref": "GoogleAdsSearchads360V23Resources__ConversionCustomVariable", + "description": "Update operation: The conversion custom variable is expected to have a valid resource name." + }, + "updateMask": { + "description": "FieldMask that determines which resource fields are modified in an update.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__ConversionGoalCampaignConfigOperation": { + "description": "A single operation (update) on a conversion goal campaign config.", + "id": "GoogleAdsSearchads360V23Services__ConversionGoalCampaignConfigOperation", + "properties": { + "update": { + "$ref": "GoogleAdsSearchads360V23Resources__ConversionGoalCampaignConfig", + "description": "Update operation: The conversion goal campaign config is expected to have a valid resource name." + }, + "updateMask": { + "description": "FieldMask that determines which resource fields are modified in an update.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__ConversionRateSuggestion": { + "description": "A conversion rate suggestion.", + "id": "GoogleAdsSearchads360V23Services__ConversionRateSuggestion", + "properties": { + "conversionRate": { + "description": "The suggested conversion rate. The value is between 0 and 1 (exclusive).", + "format": "double", + "type": "number" + }, + "conversionRateModel": { + "description": "Model type used to calculate the suggested conversion rate.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CUSTOMER_HISTORY", + "INVENTORY_AGGRESSIVE", + "INVENTORY_CONSERVATIVE", + "INVENTORY_MEDIAN" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "Suggested conversion rate for the authenticated customer based on the previous 70 days.", + "Suggested conversion rate based on an aggressive rate for the entire inventory.", + "Suggested conversion rate based on a conservative rate for the entire inventory.", + "Suggested conversion rate based on the median rate for the entire inventory." + ], + "type": "string" + }, + "plannableProductCode": { + "description": "The code associated with the plannable product (for example: DEMAND_GEN). To list all plannable product codes, use ReachPlanService.ListPlannableProducts.", + "type": "string" + }, + "surfaceTargeting": { + "$ref": "GoogleAdsSearchads360V23Services__SurfaceTargeting", + "description": "The surfaces associated with the plannable product. If not present, the conversion rate is considered surface agnostic for this product." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__ConversionValueRuleOperation": { + "description": "A single operation (create, update, remove) on a conversion value rule.", + "id": "GoogleAdsSearchads360V23Services__ConversionValueRuleOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__ConversionValueRule", + "description": "Create operation: No resource name is expected for the new conversion value rule." + }, + "remove": { + "description": "Remove operation: A resource name for the removed conversion value rule is expected, in this format: `customers/{customer_id}/conversionValueRules/{conversion_value_rule_id}`", + "type": "string" + }, + "update": { + "$ref": "GoogleAdsSearchads360V23Resources__ConversionValueRule", + "description": "Update operation: The conversion value rule is expected to have a valid resource name." + }, + "updateMask": { + "description": "FieldMask that determines which resource fields are modified in an update.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__ConversionValueRuleSetOperation": { + "description": "A single operation (create, update, remove) on a conversion value rule set.", + "id": "GoogleAdsSearchads360V23Services__ConversionValueRuleSetOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__ConversionValueRuleSet", + "description": "Create operation: No resource name is expected for the new conversion value rule set." + }, + "remove": { + "description": "Remove operation: A resource name for the removed conversion value rule set is expected, in this format: `customers/{customer_id}/conversionValueRuleSets/{conversion_value_rule_set_id}`", + "type": "string" + }, + "update": { + "$ref": "GoogleAdsSearchads360V23Resources__ConversionValueRuleSet", + "description": "Update operation: The conversion value rule set is expected to have a valid resource name." + }, + "updateMask": { + "description": "FieldMask that determines which resource fields are modified in an update.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__CreateAccountLinkRequest": { + "description": "Request message for AccountLinkService.CreateAccountLink.", + "id": "GoogleAdsSearchads360V23Services__CreateAccountLinkRequest", + "properties": { + "accountLink": { + "$ref": "GoogleAdsSearchads360V23Resources__AccountLink", + "description": "Required. The account link to be created." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__CreateAccountLinkResponse": { + "description": "Response message for AccountLinkService.CreateAccountLink.", + "id": "GoogleAdsSearchads360V23Services__CreateAccountLinkResponse", + "properties": { + "resourceName": { + "description": "Returned for successful operations. Resource name of the account link.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__CreateCustomerClientRequest": { + "description": "Request message for CustomerService.CreateCustomerClient.", + "id": "GoogleAdsSearchads360V23Services__CreateCustomerClientRequest", + "properties": { + "accessRole": { + "description": "The proposed role of user on the created client customer. Accessible only to customers on the allow-list.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ADMIN", + "STANDARD", + "READ_ONLY", + "EMAIL_ONLY" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Owns its account and can control the addition of other users.", + "Can modify , but can't affect other users.", + "Can view and account changes, but cannot make edits.", + "Role for \\\"email only\\\" access. Represents an email recipient rather than a true User entity." + ], + "type": "string" + }, + "customerClient": { + "$ref": "GoogleAdsSearchads360V23Resources__Customer", + "description": "Required. The new client customer to create. The resource name on this customer will be ignored." + }, + "emailAddress": { + "description": "Email address of the user who should be invited on the created client customer. Accessible only to customers on the allow-list.", + "type": "string" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__CreateCustomerClientResponse": { + "description": "Response message for CreateCustomerClient mutate.", + "id": "GoogleAdsSearchads360V23Services__CreateCustomerClientResponse", + "properties": { + "invitationLink": { + "description": "Link for inviting user to access the created customer. Accessible to allowlisted customers only.", + "type": "string" + }, + "resourceName": { + "description": "The resource name of the newly created customer. Customer resource names have the form: `customers/{customer_id}`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__CreateDataLinkRequest": { + "description": "Request message for DataLinkService.CreateDataLink.", + "id": "GoogleAdsSearchads360V23Services__CreateDataLinkRequest", + "properties": { + "dataLink": { + "$ref": "GoogleAdsSearchads360V23Resources__DataLink", + "description": "Required. The data link to be created." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__CreateDataLinkResponse": { + "description": "Response message for DataLinkService.CreateDataLink.", + "id": "GoogleAdsSearchads360V23Services__CreateDataLinkResponse", + "properties": { + "resourceName": { + "description": "Returned for successful operations. Resource name of the data link.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__CreateOfflineUserDataJobRequest": { + "description": "Request message for OfflineUserDataJobService.CreateOfflineUserDataJob.", + "id": "GoogleAdsSearchads360V23Services__CreateOfflineUserDataJobRequest", + "properties": { + "enableMatchRateRangePreview": { + "description": "If true, match rate range for the offline user data job is calculated and made available in the resource.", + "type": "boolean" + }, + "job": { + "$ref": "GoogleAdsSearchads360V23Resources__OfflineUserDataJob", + "description": "Required. The offline user data job to be created." + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__CreateOfflineUserDataJobResponse": { + "description": "Response message for OfflineUserDataJobService.CreateOfflineUserDataJob.", + "id": "GoogleAdsSearchads360V23Services__CreateOfflineUserDataJobResponse", + "properties": { + "resourceName": { + "description": "The resource name of the OfflineUserDataJob.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__CreateProductLinkInvitationRequest": { + "description": "Request message for ProductLinkInvitationService.CreateProductLinkInvitation.", + "id": "GoogleAdsSearchads360V23Services__CreateProductLinkInvitationRequest", + "properties": { + "productLinkInvitation": { + "$ref": "GoogleAdsSearchads360V23Resources__ProductLinkInvitation", + "description": "Required. The product link invitation to be created." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__CreateProductLinkInvitationResponse": { + "description": "Response message for product link invitation create.", + "id": "GoogleAdsSearchads360V23Services__CreateProductLinkInvitationResponse", + "properties": { + "resourceName": { + "description": "Resource name of the product link invitation.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__CreateProductLinkRequest": { + "description": "Request message for ProductLinkService.CreateProductLink.", + "id": "GoogleAdsSearchads360V23Services__CreateProductLinkRequest", + "properties": { + "productLink": { + "$ref": "GoogleAdsSearchads360V23Resources__ProductLink", + "description": "Required. The product link to be created." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__CreateProductLinkResponse": { + "description": "Response message for ProductLinkService.CreateProductLink.", + "id": "GoogleAdsSearchads360V23Services__CreateProductLinkResponse", + "properties": { + "resourceName": { + "description": "Returned for successful operations. Resource name of the product link.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__CriterionBidModifier": { + "description": "Location Criterion bid modifier.", + "id": "GoogleAdsSearchads360V23Services__CriterionBidModifier", + "properties": { + "bidModifier": { + "description": "The associated multiplier for the criterion_id. If set, this value cannot be 0.", + "format": "double", + "type": "number" + }, + "geoTargetConstant": { + "description": "The resource name of the geo location to target. The resource name is of the format \"geoTargetConstants/{criterion_id}\".", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__CustomAudienceOperation": { + "description": "A single operation (create, update) on a custom audience.", + "id": "GoogleAdsSearchads360V23Services__CustomAudienceOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__CustomAudience", + "description": "Create operation: No resource name is expected for the new custom audience." + }, + "remove": { + "description": "Remove operation: A resource name for the removed custom audience is expected, in this format: `customers/{customer_id}/customAudiences/{custom_audience_id}`", + "type": "string" + }, + "update": { + "$ref": "GoogleAdsSearchads360V23Resources__CustomAudience", + "description": "Update operation: The custom audience is expected to have a valid resource name." + }, + "updateMask": { + "description": "FieldMask that determines which resource fields are modified in an update.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__CustomColumnHeader": { + "description": "Message for custom column header.", + "id": "GoogleAdsSearchads360V23Services__CustomColumnHeader", + "properties": { + "id": { + "description": "The custom column ID.", + "format": "int64", + "type": "string" + }, + "name": { + "description": "The user defined name of the custom column.", + "type": "string" + }, + "referencesMetrics": { + "description": "True when the custom column references metrics.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__CustomConversionGoalOperation": { + "description": "A single operation (create, remove) on a custom conversion goal.", + "id": "GoogleAdsSearchads360V23Services__CustomConversionGoalOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__CustomConversionGoal", + "description": "Create operation: No resource name is expected for the new custom conversion goal" + }, + "remove": { + "description": "Remove operation: A resource name for the removed custom conversion goal is expected, in this format: 'customers/{customer_id}/customConversionGoals/{goal_id}'", + "type": "string" + }, + "update": { + "$ref": "GoogleAdsSearchads360V23Resources__CustomConversionGoal", + "description": "Update operation: The custom conversion goal is expected to have a valid resource name." + }, + "updateMask": { + "description": "FieldMask that determines which resource fields are modified in an update.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__CustomInterestOperation": { + "description": "A single operation (create, update) on a custom interest.", + "id": "GoogleAdsSearchads360V23Services__CustomInterestOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__CustomInterest", + "description": "Create operation: No resource name is expected for the new custom interest." + }, + "update": { + "$ref": "GoogleAdsSearchads360V23Resources__CustomInterest", + "description": "Update operation: The custom interest is expected to have a valid resource name." + }, + "updateMask": { + "description": "FieldMask that determines which resource fields are modified in an update.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__CustomerAssetOperation": { + "description": "A single operation (create, update, remove) on a customer asset.", + "id": "GoogleAdsSearchads360V23Services__CustomerAssetOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__CustomerAsset", + "description": "Create operation: No resource name is expected for the new customer asset." + }, + "remove": { + "description": "Remove operation: A resource name for the removed customer asset is expected, in this format: `customers/{customer_id}/customerAssets/{asset_id}~{field_type}`", + "type": "string" + }, + "update": { + "$ref": "GoogleAdsSearchads360V23Resources__CustomerAsset", + "description": "Update operation: The customer asset is expected to have a valid resource name." + }, + "updateMask": { + "description": "FieldMask that determines which resource fields are modified in an update.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__CustomerAssetSetOperation": { + "description": "A single operation (create, remove) on a customer asset set.", + "id": "GoogleAdsSearchads360V23Services__CustomerAssetSetOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__CustomerAssetSet", + "description": "Create operation: No resource name is expected for the new customer asset set." + }, + "remove": { + "description": "Remove operation: A resource name for the removed customer asset set is expected, in this format: `customers/{customer_id}/customerAssetSets/{asset_set_id}`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__CustomerClientLinkOperation": { + "description": "A single operation (create, update) on a CustomerClientLink.", + "id": "GoogleAdsSearchads360V23Services__CustomerClientLinkOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__CustomerClientLink", + "description": "Create operation: No resource name is expected for the new link." + }, + "update": { + "$ref": "GoogleAdsSearchads360V23Resources__CustomerClientLink", + "description": "Update operation: The link is expected to have a valid resource name." + }, + "updateMask": { + "description": "FieldMask that determines which resource fields are modified in an update.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__CustomerConversionGoalOperation": { + "description": "A single operation (update) on a customer conversion goal.", + "id": "GoogleAdsSearchads360V23Services__CustomerConversionGoalOperation", + "properties": { + "update": { + "$ref": "GoogleAdsSearchads360V23Resources__CustomerConversionGoal", + "description": "Update operation: The customer conversion goal is expected to have a valid resource name." + }, + "updateMask": { + "description": "FieldMask that determines which resource fields are modified in an update.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__CustomerCustomizerOperation": { + "description": "A single operation (create, remove) on a customizer attribute.", + "id": "GoogleAdsSearchads360V23Services__CustomerCustomizerOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__CustomerCustomizer", + "description": "Create operation: No resource name is expected for the new customer customizer" + }, + "remove": { + "description": "Remove operation: A resource name for the removed customer customizer is expected, in this format: `customers/{customer_id}/customerCustomizers/{customizer_attribute_id}`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__CustomerLabelOperation": { + "description": "A single operation (create, remove) on a customer-label relationship.", + "id": "GoogleAdsSearchads360V23Services__CustomerLabelOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__CustomerLabel", + "description": "Create operation: No resource name is expected for the new customer-label relationship." + }, + "remove": { + "description": "Remove operation: A resource name for the customer-label relationship being removed, in this format: `customers/{customer_id}/customerLabels/{label_id}`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__CustomerLifecycleGoalOperation": { + "description": "A single operation on a customer lifecycle goal.", + "id": "GoogleAdsSearchads360V23Services__CustomerLifecycleGoalOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__CustomerLifecycleGoal" + }, + "update": { + "$ref": "GoogleAdsSearchads360V23Resources__CustomerLifecycleGoal", + "description": "Update operation: Update an existing customer lifecycle goal." + }, + "updateMask": { + "description": "Optional. FieldMask that determines which resource fields are modified in an update.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__CustomerManagerLinkOperation": { + "description": "Updates the status of a CustomerManagerLink. The following actions are possible: 1. Update operation with status ACTIVE accepts a pending invitation. 2. Update operation with status REFUSED declines a pending invitation. 3. Update operation with status INACTIVE terminates link to manager.", + "id": "GoogleAdsSearchads360V23Services__CustomerManagerLinkOperation", + "properties": { + "update": { + "$ref": "GoogleAdsSearchads360V23Resources__CustomerManagerLink", + "description": "Update operation: The link is expected to have a valid resource name." + }, + "updateMask": { + "description": "FieldMask that determines which resource fields are modified in an update.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__CustomerNegativeCriterionOperation": { + "description": "A single operation (create or remove) on a customer level negative criterion.", + "id": "GoogleAdsSearchads360V23Services__CustomerNegativeCriterionOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__CustomerNegativeCriterion", + "description": "Create operation: No resource name is expected for the new criterion." + }, + "remove": { + "description": "Remove operation: A resource name for the removed criterion is expected, in this format: `customers/{customer_id}/customerNegativeCriteria/{criterion_id}`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__CustomerOperation": { + "description": "A single update on a customer.", + "id": "GoogleAdsSearchads360V23Services__CustomerOperation", + "properties": { + "update": { + "$ref": "GoogleAdsSearchads360V23Resources__Customer", + "description": "Mutate operation. Only updates are supported for customer." + }, + "updateMask": { + "description": "FieldMask that determines which resource fields are modified in an update.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__CustomerSkAdNetworkConversionValueSchemaOperation": { + "description": "A single update operation for a CustomerSkAdNetworkConversionValueSchema.", + "id": "GoogleAdsSearchads360V23Services__CustomerSkAdNetworkConversionValueSchemaOperation", + "properties": { + "update": { + "$ref": "GoogleAdsSearchads360V23Resources__CustomerSkAdNetworkConversionValueSchema", + "description": "Update operation: The schema is expected to have a valid resource name." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__CustomerUserAccessInvitationOperation": { + "description": "A single operation (create or remove) on customer user access invitation.", + "id": "GoogleAdsSearchads360V23Services__CustomerUserAccessInvitationOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__CustomerUserAccessInvitation", + "description": "Create operation: No resource name is expected for the new access invitation." + }, + "remove": { + "description": "Remove operation: A resource name for the revoke invitation is expected, in this format: `customers/{customer_id}/customerUserAccessInvitations/{invitation_id}`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__CustomerUserAccessOperation": { + "description": "A single operation (update, remove) on customer user access.", + "id": "GoogleAdsSearchads360V23Services__CustomerUserAccessOperation", + "properties": { + "remove": { + "description": "Remove operation: A resource name for the removed access is expected, in this format: `customers/{customer_id}/customerUserAccesses/{CustomerUserAccess.user_id}`", + "type": "string" + }, + "update": { + "$ref": "GoogleAdsSearchads360V23Resources__CustomerUserAccess", + "description": "Update operation: The customer user access is expected to have a valid resource name." + }, + "updateMask": { + "description": "FieldMask that determines which resource fields are modified in an update.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__CustomizerAttributeOperation": { + "description": "A single operation (create, remove) on a customizer attribute.", + "id": "GoogleAdsSearchads360V23Services__CustomizerAttributeOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__CustomizerAttribute", + "description": "Create operation: No resource name is expected for the new customizer attribute" + }, + "remove": { + "description": "Remove operation: A resource name for the removed customizer attribute is expected, in this format: `customers/{customer_id}/customizerAttributes/{customizer_attribute_id}`", + "type": "string" + }, + "updateMask": { + "description": "FieldMask that determines which resource fields are modified in an update.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__CyoIncentives": { + "description": "An incentive offer in the Choose-Your-Own Incentive feature where a user can select from a set of incentives with different money amounts.", + "id": "GoogleAdsSearchads360V23Services__CyoIncentives", + "properties": { + "highOffer": { + "$ref": "GoogleAdsSearchads360V23Services__Incentive", + "description": "Required. The CYO incentive with high target and award amounts." + }, + "lowOffer": { + "$ref": "GoogleAdsSearchads360V23Services__Incentive", + "description": "Required. The CYO incentive with low target and award amounts." + }, + "mediumOffer": { + "$ref": "GoogleAdsSearchads360V23Services__Incentive", + "description": "Required. The CYO incentive with medium target and award amounts." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__DimensionOverlapResult": { + "description": "A list of audience attributes of a single dimension, including their overlap with a primary attribute, returned as part of a GenerateAudienceOverlapInsightsResponse.", + "id": "GoogleAdsSearchads360V23Services__DimensionOverlapResult", + "properties": { + "dimension": { + "description": "The dimension of all the attributes in this section.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CATEGORY", + "KNOWLEDGE_GRAPH", + "GEO_TARGET_COUNTRY", + "SUB_COUNTRY_LOCATION", + "YOUTUBE_CHANNEL", + "AFFINITY_USER_INTEREST", + "IN_MARKET_USER_INTEREST", + "PARENTAL_STATUS", + "INCOME_RANGE", + "AGE_RANGE", + "GENDER", + "YOUTUBE_VIDEO", + "DEVICE", + "YOUTUBE_LINEUP", + "USER_LIST", + "LIFE_EVENT_USER_INTEREST" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "A Product & Service category.", + "A Knowledge Graph entity.", + "A country, represented by a geo target.", + "A geographic location within a country.", + "A YouTube channel.", + "An Affinity UserInterest.", + "An In-Market UserInterest.", + "A Parental Status value (parent, or not a parent).", + "A household income percentile range.", + "An age range.", + "A gender.", + "A YouTube video.", + "A device type, such as Mobile, Desktop, Tablet, and Connected TV.", + "A YouTube Lineup.", + "A User List.", + "A Life Event UserInterest." + ], + "type": "string" + }, + "items": { + "description": "The attributes and their overlap with the primary attribute.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__AudienceOverlapItem" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__DismissRecommendationRequest": { + "description": "Request message for RecommendationService.DismissRecommendation.", + "id": "GoogleAdsSearchads360V23Services__DismissRecommendationRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to dismiss recommendations. If partial_failure=false all recommendations should be of the same type There is a limit of 100 operations per request.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services_DismissRecommendationRequest_DismissRecommendationOperation" + }, + "type": "array" + }, + "partialFailure": { + "description": "If true, successful operations will be carried out and invalid operations will return errors. If false, operations will be carried in a single transaction if and only if they are all valid. Default is false.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__DismissRecommendationResponse": { + "description": "Response message for RecommendationService.DismissRecommendation.", + "id": "GoogleAdsSearchads360V23Services__DismissRecommendationResponse", + "properties": { + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors) we return the RPC level error." + }, + "results": { + "description": "Results of operations to dismiss recommendations.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services_DismissRecommendationResponse_DismissRecommendationResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__EffectiveFrequencyBreakdown": { + "description": "A breakdown of the number of unique people reached at a given effective frequency.", + "id": "GoogleAdsSearchads360V23Services__EffectiveFrequencyBreakdown", + "properties": { + "effectiveCoviewReach": { + "description": "The number of users (including co-viewing users) reached for the associated effective_frequency value.", + "format": "int64", + "type": "string" + }, + "effectiveFrequency": { + "description": "The effective frequency [1-10].", + "format": "int32", + "type": "integer" + }, + "onTargetEffectiveCoviewReach": { + "description": "The number of users (including co-viewing users) reached for the associated effective_frequency value within the specified plan demographic.", + "format": "int64", + "type": "string" + }, + "onTargetReach": { + "description": "The number of unique people reached at least effective_frequency times that exactly matches the Targeting. Note that a minimum number of unique people must be reached in order for data to be reported. If the minimum number is not met, the on_target_reach value will be rounded to 0.", + "format": "int64", + "type": "string" + }, + "totalReach": { + "description": "Total number of unique people reached at least effective_frequency times. This includes people that may fall outside the specified Targeting. Note that a minimum number of unique people must be reached in order for data to be reported. If the minimum number is not met, the total_reach value will be rounded to 0.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__EffectiveFrequencyLimit": { + "description": "Effective frequency limit.", + "id": "GoogleAdsSearchads360V23Services__EffectiveFrequencyLimit", + "properties": { + "effectiveFrequencyBreakdownLimit": { + "description": "The highest effective frequency value to include in Forecast.effective_frequency_breakdowns. This field supports frequencies 1-10, inclusive.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__EnableOperation": { + "description": "A single enable operation of a campaign.", + "id": "GoogleAdsSearchads360V23Services__EnableOperation", + "properties": { + "accentColor": { + "description": "Optional. Hex code representation of the accent brand color, for example #00ff00. accent_color is required when main_color is specified.", + "type": "string" + }, + "autoPopulateBrandAssets": { + "description": "Required. The switch to automatically populate top-performing brand assets. This field is required. If true, top-performing brand assets will be automatically populated. If false, the brand_assets field is required.", + "type": "boolean" + }, + "brandAssets": { + "$ref": "GoogleAdsSearchads360V23Services__BrandCampaignAssets", + "description": "Optional. The brand assets linked to the campaign. This field is required when the value of auto_populate_brand_assets is false." + }, + "campaign": { + "description": "Required. The resource name of the campaign to enable.", + "type": "string" + }, + "finalUriDomain": { + "description": "Optional. The domain of the final uri.", + "type": "string" + }, + "fontFamily": { + "description": "Optional. The font family is specified as a string, and must be one of the following: \"Open Sans\", \"Roboto\", \"Roboto Slab\", \"Montserrat\", \"Poppins\", \"Lato\", \"Oswald\", or \"Playfair Display\".", + "type": "string" + }, + "mainColor": { + "description": "Optional. Hex code representation of the main brand color, for example #00ff00. main_color is required when accent color is specified.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__EnablePMaxBrandGuidelinesRequest": { + "description": "Request to enable Brand Guidelines for a Performance Max campaign.", + "id": "GoogleAdsSearchads360V23Services__EnablePMaxBrandGuidelinesRequest", + "properties": { + "operations": { + "description": "Required. The list of individual campaign operations. A maximum of 10 enable operations can be executed in a request.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__EnableOperation" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__EnablePMaxBrandGuidelinesResponse": { + "description": "Brand Guidelines campaign enablement response.", + "id": "GoogleAdsSearchads360V23Services__EnablePMaxBrandGuidelinesResponse", + "properties": { + "results": { + "description": "Campaign enablement results per campaign.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__EnablementResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__EnablementResult": { + "description": "A single enablement result of a campaign.", + "id": "GoogleAdsSearchads360V23Services__EnablementResult", + "properties": { + "campaign": { + "description": "This indicates the campaign for which enablement was tried, regardless of the outcome.", + "type": "string" + }, + "enablementError": { + "$ref": "GoogleRpc__Status", + "description": "Details of the error when enablement fails." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__EndExperimentRequest": { + "description": "Request message for ExperimentService.EndExperiment.", + "id": "GoogleAdsSearchads360V23Services__EndExperimentRequest", + "properties": { + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__ExperimentArmOperation": { + "description": "A single operation on an experiment arm.", + "id": "GoogleAdsSearchads360V23Services__ExperimentArmOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__ExperimentArm", + "description": "Create operation" + }, + "remove": { + "description": "Remove operation: The experiment arm is expected to have a valid resource name, in this format: `customers/{customer_id}/experiments/{campaign_experiment_id}`", + "type": "string" + }, + "update": { + "$ref": "GoogleAdsSearchads360V23Resources__ExperimentArm", + "description": "Update operation: The experiment arm is expected to have a valid resource name." + }, + "updateMask": { + "description": "FieldMask that determines which resource fields are modified in an update.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__ExperimentOperation": { + "description": "A single operation on an experiment.", + "id": "GoogleAdsSearchads360V23Services__ExperimentOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__Experiment", + "description": "Create operation" + }, + "remove": { + "description": "Remove operation: The experiment is expected to have a valid resource name, in this format: `customers/{customer_id}/experiments/{campaign_experiment_id}`", + "type": "string" + }, + "update": { + "$ref": "GoogleAdsSearchads360V23Resources__Experiment", + "description": "Update operation: The experiment is expected to have a valid resource name." + }, + "updateMask": { + "description": "FieldMask that determines which resource fields are modified in an update.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__FetchIncentiveResponse": { + "description": "Response from getting the acquisition incentive for a user when they visit a specific marketing page.", + "id": "GoogleAdsSearchads360V23Services__FetchIncentiveResponse", + "properties": { + "incentiveOffer": { + "$ref": "GoogleAdsSearchads360V23Services__IncentiveOffer", + "description": "Required. The acquisition incentive offer for the user." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__Forecast": { + "description": "Forecasted traffic metrics for the planned products and targeting.", + "id": "GoogleAdsSearchads360V23Services__Forecast", + "properties": { + "conversions": { + "description": "The number of conversions. This metric is only available for DEMAND_GEN plannable products. See https://support.google.com/google-ads/answer/2375431 for more information on conversions.", + "format": "double", + "type": "number" + }, + "effectiveFrequencyBreakdowns": { + "description": "A list of effective frequency forecasts. The list is ordered starting with 1+ and ending with the value set in GenerateReachForecastRequest.effective_frequency_limit. If no effective_frequency_limit was set, this list will be empty.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__EffectiveFrequencyBreakdown" + }, + "type": "array" + }, + "onTargetCoviewImpressions": { + "description": "Number of ad impressions that exactly matches the Targeting including co-viewers.", + "format": "int64", + "type": "string" + }, + "onTargetCoviewReach": { + "description": "Number of unique people reached that exactly matches the Targeting including co-viewers.", + "format": "int64", + "type": "string" + }, + "onTargetImpressions": { + "description": "Number of ad impressions that exactly matches the Targeting.", + "format": "int64", + "type": "string" + }, + "onTargetReach": { + "description": "Number of unique people reached at least GenerateReachForecastRequest.min_effective_frequency or GenerateReachForecastRequest.effective_frequency_limit times that exactly matches the Targeting. Note that a minimum number of unique people must be reached in order for data to be reported. If the minimum number is not met, the on_target_reach value will be rounded to 0.", + "format": "int64", + "type": "string" + }, + "totalCoviewImpressions": { + "description": "Total number of ad impressions including co-viewers. This includes impressions that may fall outside the specified Targeting, due to insufficient information on signed-in users.", + "format": "int64", + "type": "string" + }, + "totalCoviewReach": { + "description": "Number of unique people reached including co-viewers. This includes people that may fall outside the specified Targeting.", + "format": "int64", + "type": "string" + }, + "totalImpressions": { + "description": "Total number of ad impressions. This includes impressions that may fall outside the specified Targeting, due to insufficient information on signed-in users.", + "format": "int64", + "type": "string" + }, + "totalReach": { + "description": "Total number of unique people reached at least GenerateReachForecastRequest.min_effective_frequency or GenerateReachForecastRequest.effective_frequency_limit times. This includes people that may fall outside the specified Targeting. Note that a minimum number of unique people must be reached in order for data to be reported. If the minimum number is not met, the total_reach value will be rounded to 0.", + "format": "int64", + "type": "string" + }, + "trueviewViews": { + "description": "Number of ad views forecasted for the specified product and targeting. A TrueView View is counted when a viewer views a larger portion or the entirety of an ad beyond an impression. See https://support.google.com/google-ads/answer/2375431 for more information on TrueView Views.", + "format": "int64", + "type": "string" + }, + "viewableImpressions": { + "description": "Number of times the ad's impressions were considered viewable. See https://support.google.com/google-ads/answer/7029393 for more information about what makes an ad viewable and how viewability is measured.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__ForecastAdGroup": { + "description": "An ad group that is part of a campaign to be forecasted.", + "id": "GoogleAdsSearchads360V23Services__ForecastAdGroup", + "properties": { + "biddableKeywords": { + "description": "Required. The list of biddable keywords to be used in the ad group when doing the forecast. Requires at least one keyword.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__BiddableKeyword" + }, + "type": "array" + }, + "maxCpcBidMicros": { + "description": "The max cpc to use for the ad group when generating forecasted traffic. This value will override the max cpc value set in the bidding strategy. Only specify this field for bidding strategies that max cpc values.", + "format": "int64", + "type": "string" + }, + "negativeKeywords": { + "description": "The details of the keyword. You should specify both the keyword text and match type.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__KeywordInfo" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__ForecastMetricOptions": { + "description": "Controls forecast metrics to return.", + "id": "GoogleAdsSearchads360V23Services__ForecastMetricOptions", + "properties": { + "includeCoview": { + "description": "Indicates whether to include co-view metrics in the response forecast.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__FrequencyCap": { + "description": "A rule specifying the maximum number of times an ad can be shown to a user over a particular time period.", + "id": "GoogleAdsSearchads360V23Services__FrequencyCap", + "properties": { + "impressions": { + "description": "Required. The number of impressions, inclusive.", + "format": "int32", + "type": "integer" + }, + "timeUnit": { + "description": "Required. The type of time unit.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "DAY", + "WEEK", + "MONTH" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The cap would define limit per one day.", + "The cap would define limit per one week.", + "The cap would define limit per one month." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__GenerateAdGroupThemesRequest": { + "description": "Request message for KeywordPlanIdeaService.GenerateAdGroupThemes.", + "id": "GoogleAdsSearchads360V23Services__GenerateAdGroupThemesRequest", + "properties": { + "adGroups": { + "description": "Required. A list of resource names of AdGroups to group keywords into. Resource name format: `customers/{customer_id}/adGroups/{ad_group_id}`", + "items": { + "type": "string" + }, + "type": "array" + }, + "keywords": { + "description": "Required. A list of keywords to group into the provided AdGroups.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__GenerateAdGroupThemesResponse": { + "description": "Response message for KeywordPlanIdeaService.GenerateAdGroupThemes.", + "id": "GoogleAdsSearchads360V23Services__GenerateAdGroupThemesResponse", + "properties": { + "adGroupKeywordSuggestions": { + "description": "A list of suggested AdGroup/keyword pairings.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__AdGroupKeywordSuggestion" + }, + "type": "array" + }, + "unusableAdGroups": { + "description": "A list of provided AdGroups that could not be used as suggestions.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__UnusableAdGroup" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__GenerateAudienceCompositionInsightsRequest": { + "description": "Request message for AudienceInsightsService.GenerateAudienceCompositionInsights.", + "id": "GoogleAdsSearchads360V23Services__GenerateAudienceCompositionInsightsRequest", + "properties": { + "audience": { + "$ref": "GoogleAdsSearchads360V23Services__InsightsAudience", + "description": "Required. The audience of interest for which insights are being requested." + }, + "baselineAudience": { + "$ref": "GoogleAdsSearchads360V23Services__InsightsAudience", + "description": "The baseline audience to which the audience of interest is being compared." + }, + "customerInsightsGroup": { + "description": "The name of the customer being planned for. This is a user-defined value.", + "type": "string" + }, + "dataMonth": { + "description": "The one-month range of historical data to use for insights, in the format \"yyyy-mm\". If unset, insights will be returned for the last thirty days of data.", + "type": "string" + }, + "dimensions": { + "description": "Required. The audience dimensions for which composition insights should be returned. Supported dimensions are KNOWLEDGE_GRAPH, GEO_TARGET_COUNTRY, SUB_COUNTRY_LOCATION, YOUTUBE_CHANNEL, YOUTUBE_LINEUP, AFFINITY_USER_INTEREST, IN_MARKET_USER_INTEREST, .", + "items": { + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CATEGORY", + "KNOWLEDGE_GRAPH", + "GEO_TARGET_COUNTRY", + "SUB_COUNTRY_LOCATION", + "YOUTUBE_CHANNEL", + "AFFINITY_USER_INTEREST", + "IN_MARKET_USER_INTEREST", + "PARENTAL_STATUS", + "INCOME_RANGE", + "AGE_RANGE", + "GENDER", + "YOUTUBE_VIDEO", + "DEVICE", + "YOUTUBE_LINEUP", + "USER_LIST", + "LIFE_EVENT_USER_INTEREST" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "A Product & Service category.", + "A Knowledge Graph entity.", + "A country, represented by a geo target.", + "A geographic location within a country.", + "A YouTube channel.", + "An Affinity UserInterest.", + "An In-Market UserInterest.", + "A Parental Status value (parent, or not a parent).", + "A household income percentile range.", + "An age range.", + "A gender.", + "A YouTube video.", + "A device type, such as Mobile, Desktop, Tablet, and Connected TV.", + "A YouTube Lineup.", + "A User List.", + "A Life Event UserInterest." + ], + "type": "string" + }, + "type": "array" + }, + "insightsApplicationInfo": { + "$ref": "GoogleAdsSearchads360V23Common__AdditionalApplicationInfo", + "description": "Optional. Additional information on the application issuing the request." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__GenerateAudienceCompositionInsightsResponse": { + "description": "Response message for AudienceInsightsService.GenerateAudienceCompositionInsights.", + "id": "GoogleAdsSearchads360V23Services__GenerateAudienceCompositionInsightsResponse", + "properties": { + "sections": { + "description": "The contents of the insights report, organized into sections. Each section is associated with one of the AudienceInsightsDimension values in the request. There may be more than one section per dimension.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__AudienceCompositionSection" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__GenerateAudienceDefinitionRequest": { + "description": "Request message for AudienceInsightsService.GenerateAudienceDefinition.", + "id": "GoogleAdsSearchads360V23Services__GenerateAudienceDefinitionRequest", + "properties": { + "audienceDescription": { + "$ref": "GoogleAdsSearchads360V23Services__InsightsAudienceDescription", + "description": "Required. Provide a text description of an audience to get AI-generated structured suggestions. This can take around 5 or more seconds to complete Supported marketing objectives are: AWARENESS, CONSIDERATION and RESEARCH. Supported dimensions are: AGE_RANGE, GENDER, PARENTAL_STATUS, AFFINITY_USER_INTEREST, IN_MARKET_USER_INTEREST, LIFE_EVENT_USER_INTEREST, CATEGORY and KNOWLEDGE_GRAPH." + }, + "customerInsightsGroup": { + "description": "Optional. The name of the customer being planned for. This is a user-defined value.", + "type": "string" + }, + "insightsApplicationInfo": { + "$ref": "GoogleAdsSearchads360V23Common__AdditionalApplicationInfo", + "description": "Optional. Additional information on the application issuing the request." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__GenerateAudienceDefinitionResponse": { + "description": "Response message for AudienceInsightsService.GenerateAudienceDefinition.", + "id": "GoogleAdsSearchads360V23Services__GenerateAudienceDefinitionResponse", + "properties": { + "highRelevanceAttributes": { + "description": "The attributes that make up the audience definition.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata" + }, + "type": "array" + }, + "mediumRelevanceAttributes": { + "description": "Additional attributes that are less relevant but still related to the audience description. Use these attributes to broaden the audience definition to reach more users.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__GenerateAudienceOverlapInsightsRequest": { + "description": "Request message for AudienceInsightsService.GenerateAudienceOverlapInsights.", + "id": "GoogleAdsSearchads360V23Services__GenerateAudienceOverlapInsightsRequest", + "properties": { + "countryLocation": { + "$ref": "GoogleAdsSearchads360V23Common__LocationInfo", + "description": "Required. The country in which to calculate the sizes and overlaps of audiences." + }, + "customerInsightsGroup": { + "description": "The name of the customer being planned for. This is a user-defined value.", + "type": "string" + }, + "dimensions": { + "description": "Required. The types of attributes of which to calculate the overlap with the primary_attribute. The values must be a subset of AFFINITY_USER_INTEREST, IN_MARKET_USER_INTEREST, AGE_RANGE and GENDER.", + "items": { + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CATEGORY", + "KNOWLEDGE_GRAPH", + "GEO_TARGET_COUNTRY", + "SUB_COUNTRY_LOCATION", + "YOUTUBE_CHANNEL", + "AFFINITY_USER_INTEREST", + "IN_MARKET_USER_INTEREST", + "PARENTAL_STATUS", + "INCOME_RANGE", + "AGE_RANGE", + "GENDER", + "YOUTUBE_VIDEO", + "DEVICE", + "YOUTUBE_LINEUP", + "USER_LIST", + "LIFE_EVENT_USER_INTEREST" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "A Product & Service category.", + "A Knowledge Graph entity.", + "A country, represented by a geo target.", + "A geographic location within a country.", + "A YouTube channel.", + "An Affinity UserInterest.", + "An In-Market UserInterest.", + "A Parental Status value (parent, or not a parent).", + "A household income percentile range.", + "An age range.", + "A gender.", + "A YouTube video.", + "A device type, such as Mobile, Desktop, Tablet, and Connected TV.", + "A YouTube Lineup.", + "A User List.", + "A Life Event UserInterest." + ], + "type": "string" + }, + "type": "array" + }, + "insightsApplicationInfo": { + "$ref": "GoogleAdsSearchads360V23Common__AdditionalApplicationInfo", + "description": "Optional. Additional information on the application issuing the request." + }, + "primaryAttribute": { + "$ref": "GoogleAdsSearchads360V23Common__AudienceInsightsAttribute", + "description": "Required. The audience attribute that should be intersected with all other eligible audiences. This must be an Affinity or In-Market UserInterest, an AgeRange or a Gender." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__GenerateAudienceOverlapInsightsResponse": { + "description": "Response message for AudienceInsightsService.GenerateAudienceOverlapInsights.", + "id": "GoogleAdsSearchads360V23Services__GenerateAudienceOverlapInsightsResponse", + "properties": { + "dimensionResults": { + "description": "Lists of attributes and their overlap with the primary attribute, one list per requested dimension.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__DimensionOverlapResult" + }, + "type": "array" + }, + "primaryAttributeMetadata": { + "$ref": "GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata", + "description": "Metadata for the primary attribute, including potential YouTube reach." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__GenerateBenchmarksMetricsRequest": { + "description": "Request message for BenchmarksService.GenerateBenchmarksMetrics.", + "id": "GoogleAdsSearchads360V23Services__GenerateBenchmarksMetricsRequest", + "properties": { + "applicationInfo": { + "$ref": "GoogleAdsSearchads360V23Common__AdditionalApplicationInfo", + "description": "Additional information on the application issuing the request." + }, + "benchmarksSource": { + "$ref": "GoogleAdsSearchads360V23Services__BenchmarksSource", + "description": "Required. The source used to generate benchmarks metrics for." + }, + "currencyCode": { + "description": "Optional. The three-character ISO 4217 currency code. If unspecified, the default currency for monetary values is USD.", + "type": "string" + }, + "customerBenchmarksGroup": { + "description": "The name of the customer being planned for. This is a user-defined value.", + "type": "string" + }, + "dateRange": { + "$ref": "GoogleAdsSearchads360V23Common__DateRange", + "description": "The date range to aggregate metrics over. If unset, data will be returned for the most recent quarter for which data is available. Dates can be retrieved using BenchmarksService.ListBenchmarksAvailableDates." + }, + "location": { + "$ref": "GoogleAdsSearchads360V23Common__LocationInfo", + "description": "Required. The location to generate benchmarks metrics for." + }, + "productFilter": { + "$ref": "GoogleAdsSearchads360V23Services__ProductFilter", + "description": "Required. The products to aggregate metrics over. Product filter settings support a list of product IDs or a list of marketing objectives." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__GenerateBenchmarksMetricsResponse": { + "description": "Response message for BenchmarksService.GenerateBenchmarksMetrics.", + "id": "GoogleAdsSearchads360V23Services__GenerateBenchmarksMetricsResponse", + "properties": { + "averageBenchmarksMetrics": { + "$ref": "GoogleAdsSearchads360V23Services__Metrics", + "description": "Metrics for the selected benchmarks source." + }, + "customerMetrics": { + "$ref": "GoogleAdsSearchads360V23Services__Metrics", + "description": "Metrics belonging to the customer." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__GenerateConversionRatesRequest": { + "description": "Request message for ReachPlanService.GenerateConversionRates.", + "id": "GoogleAdsSearchads360V23Services__GenerateConversionRatesRequest", + "properties": { + "customerId": { + "description": "Required. The ID of the customer. A conversion rate based on the historical data of this customer may be suggested.", + "type": "string" + }, + "customerReachGroup": { + "description": "The name of the customer being planned for. This is a user-defined value.", + "type": "string" + }, + "reachApplicationInfo": { + "$ref": "GoogleAdsSearchads360V23Common__AdditionalApplicationInfo", + "description": "Optional. Additional information on the application issuing the request." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__GenerateConversionRatesResponse": { + "description": "Response message for ReachPlanService.GenerateConversionRates, containing conversion rate suggestions for supported plannable products.", + "id": "GoogleAdsSearchads360V23Services__GenerateConversionRatesResponse", + "properties": { + "conversionRateSuggestions": { + "description": "A list containing conversion rate suggestions. Each repeated element will have an associated product code. Multiple suggestions may share the same product code.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__ConversionRateSuggestion" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__GenerateInsightsFinderReportRequest": { + "description": "Request message for AudienceInsightsService.GenerateInsightsFinderReport.", + "id": "GoogleAdsSearchads360V23Services__GenerateInsightsFinderReportRequest", + "properties": { + "baselineAudience": { + "$ref": "GoogleAdsSearchads360V23Services__InsightsAudience", + "description": "Required. A baseline audience for this report, typically all people in a region." + }, + "customerInsightsGroup": { + "description": "The name of the customer being planned for. This is a user-defined value.", + "type": "string" + }, + "insightsApplicationInfo": { + "$ref": "GoogleAdsSearchads360V23Common__AdditionalApplicationInfo", + "description": "Optional. Additional information on the application issuing the request." + }, + "specificAudience": { + "$ref": "GoogleAdsSearchads360V23Services__InsightsAudience", + "description": "Required. The specific audience of interest for this report. The insights in the report will be based on attributes more prevalent in this audience than in the report's baseline audience." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__GenerateInsightsFinderReportResponse": { + "description": "The response message for AudienceInsightsService.GenerateInsightsFinderReport, containing the shareable URL for the report.", + "id": "GoogleAdsSearchads360V23Services__GenerateInsightsFinderReportResponse", + "properties": { + "savedReportUrl": { + "description": "An HTTPS URL providing a deep link into the Insights Finder UI with the report inputs filled in according to the request.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__GenerateKeywordForecastMetricsRequest": { + "description": "Request message for KeywordPlanIdeaService.GenerateKeywordForecastMetrics.", + "id": "GoogleAdsSearchads360V23Services__GenerateKeywordForecastMetricsRequest", + "properties": { + "campaign": { + "$ref": "GoogleAdsSearchads360V23Services__CampaignToForecast", + "description": "Required. The campaign used in the forecast." + }, + "currencyCode": { + "description": "The currency used for exchange rate conversion. By default, the account currency of the customer is used. Set this field only if the currency is different from the account currency. The list of valid currency codes can be found at https://developers.google.com/google-ads/api/data/codes-formats#currency-codes.", + "type": "string" + }, + "forecastPeriod": { + "$ref": "GoogleAdsSearchads360V23Common__DateRange", + "description": "The date range for the forecast. The start date must be in the future and end date must be within 1 year from today. The reference timezone used is the one of the Google Ads account belonging to the customer. If not set, a default date range from next Sunday to the following Saturday will be used." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__GenerateKeywordForecastMetricsResponse": { + "description": "Response message for KeywordPlanIdeaService.GenerateKeywordForecastMetrics.", + "id": "GoogleAdsSearchads360V23Services__GenerateKeywordForecastMetricsResponse", + "properties": { + "campaignForecastMetrics": { + "$ref": "GoogleAdsSearchads360V23Services__KeywordForecastMetrics", + "description": "Results of the campaign forecast." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__GenerateKeywordHistoricalMetricsRequest": { + "description": "Request message for KeywordPlanIdeaService.GenerateKeywordHistoricalMetrics.", + "id": "GoogleAdsSearchads360V23Services__GenerateKeywordHistoricalMetricsRequest", + "properties": { + "aggregateMetrics": { + "$ref": "GoogleAdsSearchads360V23Common__KeywordPlanAggregateMetrics", + "description": "The aggregate fields to include in response." + }, + "geoTargetConstants": { + "description": "The resource names of the location to target. Maximum is 10. An empty list MAY be used to specify all targeting geos.", + "items": { + "type": "string" + }, + "type": "array" + }, + "historicalMetricsOptions": { + "$ref": "GoogleAdsSearchads360V23Common__HistoricalMetricsOptions", + "description": "The options for historical metrics data." + }, + "includeAdultKeywords": { + "description": "If true, adult keywords will be included in response. The default value is false.", + "type": "boolean" + }, + "keywordPlanNetwork": { + "description": "Targeting network. If not set, Google Search And Partners Network will be used.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "GOOGLE_SEARCH", + "GOOGLE_SEARCH_AND_PARTNERS" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "Google Search.", + "Google Search + Search partners." + ], + "type": "string" + }, + "keywords": { + "description": "A list of keywords to get historical metrics. Not all inputs will be returned as a result of near-exact deduplication. For example, if stats for \"car\" and \"cars\" are requested, only \"car\" will be returned. A maximum of 10,000 keywords can be used.", + "items": { + "type": "string" + }, + "type": "array" + }, + "language": { + "description": "The resource name of the language to target. Each keyword belongs to some set of languages; a keyword is included if language is one of its languages. If not set, all keywords will be included.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__GenerateKeywordHistoricalMetricsResponse": { + "description": "Response message for KeywordPlanIdeaService.GenerateKeywordHistoricalMetrics.", + "id": "GoogleAdsSearchads360V23Services__GenerateKeywordHistoricalMetricsResponse", + "properties": { + "aggregateMetricResults": { + "$ref": "GoogleAdsSearchads360V23Common__KeywordPlanAggregateMetricResults", + "description": "The aggregate metrics for all keywords." + }, + "results": { + "description": "List of keywords and their historical metrics.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__GenerateKeywordHistoricalMetricsResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__GenerateKeywordHistoricalMetricsResult": { + "description": "The result of generating keyword historical metrics.", + "id": "GoogleAdsSearchads360V23Services__GenerateKeywordHistoricalMetricsResult", + "properties": { + "closeVariants": { + "description": "The list of close variants from the requested keywords whose stats are combined into this GenerateKeywordHistoricalMetricsResult.", + "items": { + "type": "string" + }, + "type": "array" + }, + "keywordMetrics": { + "$ref": "GoogleAdsSearchads360V23Common__KeywordPlanHistoricalMetrics", + "description": "The historical metrics for text and its close variants" + }, + "text": { + "description": "The text of the query associated with one or more keywords. Note that we de-dupe your keywords list, eliminating close variants before returning the keywords as text. For example, if your request originally contained the keywords \"car\" and \"cars\", the returned search query will only contain \"cars\". The list of de-duped queries will be included in close_variants field.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__GenerateKeywordIdeaResponse": { + "description": "Response message for KeywordPlanIdeaService.GenerateKeywordIdeas.", + "id": "GoogleAdsSearchads360V23Services__GenerateKeywordIdeaResponse", + "properties": { + "aggregateMetricResults": { + "$ref": "GoogleAdsSearchads360V23Common__KeywordPlanAggregateMetricResults", + "description": "The aggregate metrics for all keyword ideas." + }, + "nextPageToken": { + "description": "Pagination token used to retrieve the next page of results. Pass the content of this string as the `page_token` attribute of the next request. `next_page_token` is not returned for the last page.", + "type": "string" + }, + "results": { + "description": "Results of generating keyword ideas.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__GenerateKeywordIdeaResult" + }, + "type": "array" + }, + "totalSize": { + "description": "Total number of results available.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__GenerateKeywordIdeaResult": { + "description": "The result of generating keyword ideas.", + "id": "GoogleAdsSearchads360V23Services__GenerateKeywordIdeaResult", + "properties": { + "closeVariants": { + "description": "The list of close variants from the requested keywords that are combined into this GenerateKeywordIdeaResult. See https://support.google.com/google-ads/answer/9342105 for the definition of \"close variants\".", + "items": { + "type": "string" + }, + "type": "array" + }, + "keywordAnnotations": { + "$ref": "GoogleAdsSearchads360V23Common__KeywordAnnotations", + "description": "The annotations for the keyword. The annotation data is only provided if requested." + }, + "keywordIdeaMetrics": { + "$ref": "GoogleAdsSearchads360V23Common__KeywordPlanHistoricalMetrics", + "description": "The historical metrics for the keyword." + }, + "text": { + "description": "Text of the keyword idea. As in Keyword Plan historical metrics, this text may not be an actual keyword, but the canonical form of multiple keywords. See KeywordPlanKeywordHistoricalMetrics message in KeywordPlanService.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__GenerateKeywordIdeasRequest": { + "description": "Request message for KeywordPlanIdeaService.GenerateKeywordIdeas.", + "id": "GoogleAdsSearchads360V23Services__GenerateKeywordIdeasRequest", + "properties": { + "aggregateMetrics": { + "$ref": "GoogleAdsSearchads360V23Common__KeywordPlanAggregateMetrics", + "description": "The aggregate fields to include in response." + }, + "geoTargetConstants": { + "description": "The resource names of the location to target. Maximum is 10. An empty list MAY be used to specify all targeting geos.", + "items": { + "type": "string" + }, + "type": "array" + }, + "historicalMetricsOptions": { + "$ref": "GoogleAdsSearchads360V23Common__HistoricalMetricsOptions", + "description": "The options for historical metrics data." + }, + "includeAdultKeywords": { + "description": "If true, adult keywords will be included in response. The default value is false.", + "type": "boolean" + }, + "keywordAndUrlSeed": { + "$ref": "GoogleAdsSearchads360V23Services__KeywordAndUrlSeed", + "description": "A Keyword and a specific Url to generate ideas from for example, cars, www.example.com/cars." + }, + "keywordAnnotation": { + "description": "The keyword annotations to include in response.", + "items": { + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "KEYWORD_CONCEPT" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "Return the keyword concept and concept group data." + ], + "type": "string" + }, + "type": "array" + }, + "keywordPlanNetwork": { + "description": "Targeting network. If not set, Google Search And Partners Network will be used.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "GOOGLE_SEARCH", + "GOOGLE_SEARCH_AND_PARTNERS" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "Google Search.", + "Google Search + Search partners." + ], + "type": "string" + }, + "keywordSeed": { + "$ref": "GoogleAdsSearchads360V23Services__KeywordSeed", + "description": "A Keyword or phrase to generate ideas from, for example, cars." + }, + "language": { + "description": "The resource name of the language to target. Each keyword belongs to some set of languages; a keyword is included if language is one of its languages. If not set, all keywords will be included.", + "type": "string" + }, + "pageSize": { + "description": "Number of results to retrieve in a single page. A maximum of 10,000 results may be returned, if the page_size exceeds this, it is ignored. If unspecified, at most 10,000 results will be returned. The server may decide to further limit the number of returned resources. If the response contains fewer than 10,000 results it may not be assumed as last page of results.", + "format": "int32", + "type": "integer" + }, + "pageToken": { + "description": "Token of the page to retrieve. If not specified, the first page of results will be returned. To request next page of results use the value obtained from `next_page_token` in the previous response. The request fields must match across pages.", + "type": "string" + }, + "siteSeed": { + "$ref": "GoogleAdsSearchads360V23Services__SiteSeed", + "description": "The site to generate ideas from, for example, www.example.com." + }, + "urlSeed": { + "$ref": "GoogleAdsSearchads360V23Services__UrlSeed", + "description": "A specific url to generate ideas from, for example, www.example.com/cars." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__GenerateReachForecastRequest": { + "description": "Request message for ReachPlanService.GenerateReachForecast.", + "id": "GoogleAdsSearchads360V23Services__GenerateReachForecastRequest", + "properties": { + "campaignDuration": { + "$ref": "GoogleAdsSearchads360V23Services__CampaignDuration", + "description": "Required. Campaign duration." + }, + "cookieFrequencyCap": { + "description": "Chosen cookie frequency cap to be applied to each planned product. This is equivalent to the frequency cap exposed in Google Ads when creating a campaign, it represents the maximum number of times an ad can be shown to the same user. If not specified, no cap is applied. This field is deprecated in v4 and will eventually be removed. Use cookie_frequency_cap_setting instead.", + "format": "int32", + "type": "integer" + }, + "cookieFrequencyCapSetting": { + "$ref": "GoogleAdsSearchads360V23Services__FrequencyCap", + "description": "Chosen cookie frequency cap to be applied to each planned product. This is equivalent to the frequency cap exposed in Google Ads when creating a campaign, it represents the maximum number of times an ad can be shown to the same user during a specified time interval. If not specified, a default of 0 (no cap) is applied. This field replaces the deprecated cookie_frequency_cap field." + }, + "currencyCode": { + "description": "The currency code. Three-character ISO 4217 currency code.", + "type": "string" + }, + "customerReachGroup": { + "description": "The name of the customer being planned for. This is a user-defined value.", + "type": "string" + }, + "effectiveFrequencyLimit": { + "$ref": "GoogleAdsSearchads360V23Services__EffectiveFrequencyLimit", + "description": "The highest minimum effective frequency (the number of times a person was exposed to the ad) value [1-10] to include in Forecast.effective_frequency_breakdowns. If not specified, Forecast.effective_frequency_breakdowns will not be provided. The effective frequency value provided here will also be used as the minimum effective frequency for the reported reach metrics. This field cannot be combined with the min_effective_frequency field." + }, + "forecastMetricOptions": { + "$ref": "GoogleAdsSearchads360V23Services__ForecastMetricOptions", + "description": "Controls the forecast metrics returned in the response." + }, + "minEffectiveFrequency": { + "description": "Chosen minimum effective frequency (the number of times a person was exposed to the ad) for the reported reach metrics [1-10]. This won't affect the targeting, but just the reporting. If not specified, a default of 1 is applied. This field cannot be combined with the effective_frequency_limit field.", + "format": "int32", + "type": "integer" + }, + "plannedProducts": { + "description": "Required. The products to be forecast. The max number of allowed planned products is 15.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__PlannedProduct" + }, + "type": "array" + }, + "reachApplicationInfo": { + "$ref": "GoogleAdsSearchads360V23Common__AdditionalApplicationInfo", + "description": "Optional. Additional information on the application issuing the request." + }, + "targeting": { + "$ref": "GoogleAdsSearchads360V23Services__Targeting", + "description": "The targeting to be applied to all products selected in the product mix. This is planned targeting: execution details might vary based on the advertising product, consult an implementation specialist. See specific metrics for details on how targeting affects them." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__GenerateReachForecastResponse": { + "description": "Response message containing the generated reach curve.", + "id": "GoogleAdsSearchads360V23Services__GenerateReachForecastResponse", + "properties": { + "onTargetAudienceMetrics": { + "$ref": "GoogleAdsSearchads360V23Services__OnTargetAudienceMetrics", + "description": "Reference on target audiences for this curve." + }, + "reachCurve": { + "$ref": "GoogleAdsSearchads360V23Services__ReachCurve", + "description": "The generated reach curve for the planned product mix." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__GenerateRecommendationsRequest": { + "description": "Request message for RecommendationService.GenerateRecommendations.", + "id": "GoogleAdsSearchads360V23Services__GenerateRecommendationsRequest", + "properties": { + "adGroupInfo": { + "description": "Optional. Current AdGroup Information. Supports information from a single AdGroup. This field is optional for the following recommendation_types: KEYWORD", + "items": { + "$ref": "GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_AdGroupInfo" + }, + "type": "array" + }, + "advertisingChannelType": { + "description": "Required. Advertising channel type of the campaign. The following advertising_channel_types are supported for recommendation generation: PERFORMANCE_MAX and SEARCH", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "SEARCH", + "DISPLAY", + "SHOPPING", + "HOTEL", + "VIDEO", + "MULTI_CHANNEL", + "LOCAL", + "SMART", + "PERFORMANCE_MAX", + "LOCAL_SERVICES", + "TRAVEL", + "DEMAND_GEN", + "SOCIAL" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Search Network. Includes display bundled, and Search+ campaigns.", + "Google Display Network only.", + "Shopping campaigns serve on the shopping property and on google.com search results.", + "Hotel Ads campaigns.", + "Video campaigns.", + "App Campaigns, and App Campaigns for Engagement, that run across multiple channels.", + "Local ads campaigns.", + "Smart campaigns.", + "Performance Max campaigns.", + "Local services campaigns.", + "Travel campaigns.", + "Demand Gen campaigns.", + "Social campaigns." + ], + "type": "string" + }, + "assetGroupInfo": { + "description": "Optional. Current AssetGroup Information. This field is required for the following recommendation_types: CAMPAIGN_BUDGET", + "items": { + "$ref": "GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_AssetGroupInfo" + }, + "type": "array" + }, + "biddingInfo": { + "$ref": "GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_BiddingInfo", + "description": "Optional. Current bidding information of the campaign. This field is necessary for the following recommendation_types: MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN, MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS, TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN" + }, + "budgetInfo": { + "$ref": "GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_BudgetInfo", + "description": "Optional. Current budget information. This field is optional for the following recommendation_types: CAMPAIGN_BUDGET" + }, + "campaignCallAssetCount": { + "description": "Optional. Current campaign call asset count. This field is optional for the following recommendation_types: CAMPAIGN_BUDGET", + "format": "int32", + "type": "integer" + }, + "campaignImageAssetCount": { + "description": "Optional. Current campaign image asset count. This field is optional for the following recommendation_types: CAMPAIGN_BUDGET", + "format": "int32", + "type": "integer" + }, + "campaignSitelinkCount": { + "description": "Optional. Number of sitelinks on the campaign. This field is necessary for the following recommendation_types: SITELINK_ASSET", + "format": "int32", + "type": "integer" + }, + "conversionTrackingStatus": { + "description": "Optional. Current conversion tracking status. This field is necessary for the following recommendation_types: MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN, MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS, TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "NOT_CONVERSION_TRACKED", + "CONVERSION_TRACKING_MANAGED_BY_SELF", + "CONVERSION_TRACKING_MANAGED_BY_THIS_MANAGER", + "CONVERSION_TRACKING_MANAGED_BY_ANOTHER_MANAGER" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Customer does not use any conversion tracking.", + "The conversion actions are created and managed by this customer.", + "The conversion actions are created and managed by the manager specified in the request's `login-customer-id`.", + "The conversion actions are created and managed by a manager different from the customer or manager specified in the request's `login-customer-id`." + ], + "type": "string" + }, + "countryCodes": { + "description": "Optional. Current campaign country codes. This field is required for the following recommendation_types: CAMPAIGN_BUDGET if AdvertisingChannelType is SEARCH", + "items": { + "type": "string" + }, + "type": "array" + }, + "isNewCustomer": { + "description": "Optional. Whether or not this customer should be treated as a \"new\" customer (that is, a customer who has not yet created a campaign). Setting this to `true` will cause the backend to generate recommendations using a dedicated recommendation model for onboarding new customers, as opposed to the default model for existing customers. This is only recommended for customers with 0 campaigns. This field is optional for the following recommendation_types: CAMPAIGN_BUDGET", + "type": "boolean" + }, + "languageCodes": { + "description": "Optional. Current campaign language codes. This field is required for the following recommendation_types: CAMPAIGN_BUDGET if AdvertisingChannelType is SEARCH", + "items": { + "type": "string" + }, + "type": "array" + }, + "merchantCenterAccountId": { + "description": "Optional. Merchant Center account ID. This field should only be set when advertising_channel_type is PERFORMANCE_MAX. Setting this field causes RecommendationService to generate recommendations for Performance Max for retail instead of standard Performance Max. This field is optional for the following recommendation_types: CAMPAIGN_BUDGET", + "format": "int64", + "type": "string" + }, + "negativeLocationsIds": { + "description": "Optional. Current campaign negative location ids. One of this field OR positive_location_ids is required for the following recommendation_types: CAMPAIGN_BUDGET if AdvertisingChannelType is SEARCH", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "positiveLocationsIds": { + "description": "Optional. Current campaign positive location ids. One of this field OR negative_location_ids is required for the following recommendation_types: CAMPAIGN_BUDGET if AdvertisingChannelType is SEARCH", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "recommendationTypes": { + "description": "Required. List of eligible recommendation_types to generate. If the uploaded criteria isn't sufficient to make a recommendation, or the campaign is already in the recommended state, no recommendation will be returned for that type. Generally, a recommendation is returned if all required fields for that recommendation_type are uploaded, but there are cases where this is still not sufficient. The following recommendation_types are supported for recommendation generation: KEYWORD, MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN, MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS, SITELINK_ASSET, TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN", + "items": { + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CAMPAIGN_BUDGET", + "KEYWORD", + "TEXT_AD", + "TARGET_CPA_OPT_IN", + "MAXIMIZE_CONVERSIONS_OPT_IN", + "ENHANCED_CPC_OPT_IN", + "SEARCH_PARTNERS_OPT_IN", + "MAXIMIZE_CLICKS_OPT_IN", + "OPTIMIZE_AD_ROTATION", + "KEYWORD_MATCH_TYPE", + "MOVE_UNUSED_BUDGET", + "FORECASTING_CAMPAIGN_BUDGET", + "TARGET_ROAS_OPT_IN", + "RESPONSIVE_SEARCH_AD", + "MARGINAL_ROI_CAMPAIGN_BUDGET", + "USE_BROAD_MATCH_KEYWORD", + "RESPONSIVE_SEARCH_AD_ASSET", + "UPGRADE_SMART_SHOPPING_CAMPAIGN_TO_PERFORMANCE_MAX", + "RESPONSIVE_SEARCH_AD_IMPROVE_AD_STRENGTH", + "DISPLAY_EXPANSION_OPT_IN", + "UPGRADE_LOCAL_CAMPAIGN_TO_PERFORMANCE_MAX", + "RAISE_TARGET_CPA_BID_TOO_LOW", + "FORECASTING_SET_TARGET_ROAS", + "CALLOUT_ASSET", + "SITELINK_ASSET", + "CALL_ASSET", + "SHOPPING_ADD_AGE_GROUP", + "SHOPPING_ADD_COLOR", + "SHOPPING_ADD_GENDER", + "SHOPPING_ADD_GTIN", + "SHOPPING_ADD_MORE_IDENTIFIERS", + "SHOPPING_ADD_SIZE", + "SHOPPING_ADD_PRODUCTS_TO_CAMPAIGN", + "SHOPPING_FIX_DISAPPROVED_PRODUCTS", + "SHOPPING_TARGET_ALL_OFFERS", + "SHOPPING_FIX_SUSPENDED_MERCHANT_CENTER_ACCOUNT", + "SHOPPING_FIX_MERCHANT_CENTER_ACCOUNT_SUSPENSION_WARNING", + "SHOPPING_MIGRATE_REGULAR_SHOPPING_CAMPAIGN_OFFERS_TO_PERFORMANCE_MAX", + "DYNAMIC_IMAGE_EXTENSION_OPT_IN", + "RAISE_TARGET_CPA", + "LOWER_TARGET_ROAS", + "PERFORMANCE_MAX_OPT_IN", + "IMPROVE_PERFORMANCE_MAX_AD_STRENGTH", + "MIGRATE_DYNAMIC_SEARCH_ADS_CAMPAIGN_TO_PERFORMANCE_MAX", + "FORECASTING_SET_TARGET_CPA", + "SET_TARGET_CPA", + "SET_TARGET_ROAS", + "MAXIMIZE_CONVERSION_VALUE_OPT_IN", + "IMPROVE_GOOGLE_TAG_COVERAGE", + "PERFORMANCE_MAX_FINAL_URL_OPT_IN", + "REFRESH_CUSTOMER_MATCH_LIST", + "CUSTOM_AUDIENCE_OPT_IN", + "LEAD_FORM_ASSET", + "IMPROVE_DEMAND_GEN_AD_STRENGTH" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Provides optimized budget recommendations for campaigns.", + "Keyword recommendation.", + "Recommendation to add a new text ad.", + "Recommendation to update a campaign to use a Target CPA bidding strategy.", + "Recommendation to update a campaign to use the Maximize Conversions bidding strategy.", + "Recommendation to enable Enhanced Cost Per Click for a campaign.", + "Recommendation to start showing your campaign's ads on Google Search Partners Websites.", + "Recommendation to update a campaign to use a Maximize Clicks bidding strategy.", + "Recommendation to start using the \"Optimize\" ad rotation setting for the given ad group.", + "Recommendation to change an existing keyword from one match type to a broader match type.", + "Recommendation to move unused budget from one budget to a constrained budget.", + "Budget recommendation for campaigns that are expected to become budget-constrained in the future (as opposed to the CAMPAIGN_BUDGET recommendation, which applies to campaigns that are currently budget-constrained).", + "Recommendation to update a campaign to use a Target ROAS bidding strategy.", + "Recommendation to add a new responsive search ad.", + "Budget recommendation for campaigns whose ROI is predicted to increase with a budget adjustment.", + "Recommendation to add broad match versions of keywords for fully automated conversion-based bidding campaigns.", + "Recommendation to add new responsive search ad assets.", + "Recommendation to upgrade a Smart Shopping campaign to a Performance Max campaign.", + "Recommendation to improve strength of responsive search ad.", + "Recommendation to update a campaign to use Display Expansion.", + "Recommendation to upgrade a Local campaign to a Performance Max campaign.", + "Recommendation to raise target CPA when it is too low and there are very few or no conversions. It is applied asynchronously and can take minutes depending on the number of ad groups there are in the related campaign.", + "Recommendation to raise the budget in advance of a seasonal event that is forecasted to increase traffic, and change bidding strategy from maximize conversion value to target ROAS.", + "Recommendation to add callout assets to campaign or customer level.", + "Recommendation to add sitelink assets to campaign or customer level.", + "Recommendation to add call assets to campaign or customer level.", + "Recommendation to add the age group attribute to offers that are demoted because of a missing age group.", + "Recommendation to add a color to offers that are demoted because of a missing color.", + "Recommendation to add a gender to offers that are demoted because of a missing gender.", + "Recommendation to add a GTIN (Global Trade Item Number) to offers that are demoted because of a missing GTIN.", + "Recommendation to add more identifiers to offers that are demoted because of missing identifiers.", + "Recommendation to add the size to offers that are demoted because of a missing size.", + "Recommendation informing a customer about a campaign that cannot serve because no products are being targeted.", + "The shopping recommendation informing a customer about campaign with a high percentage of disapproved products.", + "Recommendation to create a catch-all campaign that targets all offers.", + "Recommendation to fix Merchant Center account suspension issues.", + "Recommendation to fix Merchant Center account suspension warning issues.", + "Recommendation to migrate offers targeted by Regular Shopping Campaigns to existing Performance Max campaigns.", + "Recommendation to enable dynamic image extensions on the account, allowing Google to find the best images from ad landing pages and complement text ads.", + "Recommendation to raise Target CPA based on Google predictions modeled from past conversions. It is applied asynchronously and can take minutes depending on the number of ad groups there are in the related campaign.", + "Recommendation to lower Target ROAS.", + "Recommendation to opt into Performance Max campaigns.", + "Recommendation to improve the asset group strength of a Performance Max campaign to an \"Excellent\" rating.", + "Recommendation to migrate Dynamic Search Ads to Performance Max campaigns.", + "Recommendation to set a target CPA for campaigns that do not have one specified, in advance of a seasonal event that is forecasted to increase traffic.", + "Recommendation to set a target CPA for campaigns that do not have one specified.", + "Recommendation to set a target ROAS for campaigns that do not have one specified.", + "Recommendation to update a campaign to use the Maximize Conversion Value bidding strategy.", + "Recommendation to deploy Google Tag on more pages.", + "Recommendation to turn on Final URL expansion for your Performance Max campaigns.", + "Recommendation to update a customer list that hasn't been updated in the last 90 days.", + "Recommendation to create a custom audience.", + "Recommendation to add lead form assets to campaign or customer level.", + "Recommendation to improve the strength of ads in Demand Gen campaigns." + ], + "type": "string" + }, + "type": "array" + }, + "seedInfo": { + "$ref": "GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_SeedInfo", + "description": "Optional. Seed information for Keywords. This field is necessary for the following recommendation_types: KEYWORD" + }, + "targetContentNetwork": { + "description": "Optional. If true, the campaign is opted into serving ads on specified placements in the Google Display Network. This field is optional for the following recommendation_types: CAMPAIGN_BUDGET", + "type": "boolean" + }, + "targetPartnerSearchNetwork": { + "description": "Optional. If true, the campaign is opted into serving ads on the Google Partner Network. This field is optional for the following recommendation_types: CAMPAIGN_BUDGET", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__GenerateRecommendationsResponse": { + "description": "Response message for RecommendationService.GenerateRecommendations.", + "id": "GoogleAdsSearchads360V23Services__GenerateRecommendationsResponse", + "properties": { + "recommendations": { + "description": "List of generated recommendations from the passed in set of requested recommendation_types. If there isn't sufficient data to generate a recommendation for the requested recommendation_types, the result set won't contain a recommendation for that type.", + "items": { + "$ref": "GoogleAdsSearchads360V23Resources__Recommendation" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__GenerateSuggestedTargetingInsightsRequest": { + "description": "Request message for AudienceInsightsService.GenerateSuggestedTargetingInsights.", + "id": "GoogleAdsSearchads360V23Services__GenerateSuggestedTargetingInsightsRequest", + "properties": { + "audienceDefinition": { + "$ref": "GoogleAdsSearchads360V23Services__InsightsAudienceDefinition", + "description": "Provide a seed audience to get suggestions for." + }, + "audienceDescription": { + "$ref": "GoogleAdsSearchads360V23Services__InsightsAudienceDescription", + "description": "Provide a text description of an audience to get AI-generated targeting suggestions. This can take around 5 or more seconds to complete." + }, + "customerInsightsGroup": { + "description": "Optional. The name of the customer being planned for. This is a user-defined value.", + "type": "string" + }, + "insightsApplicationInfo": { + "$ref": "GoogleAdsSearchads360V23Common__AdditionalApplicationInfo", + "description": "Optional. Additional information on the application issuing the request." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__GenerateSuggestedTargetingInsightsResponse": { + "description": "Response message for AudienceInsightsService.GenerateSuggestedTargetingInsights.", + "id": "GoogleAdsSearchads360V23Services__GenerateSuggestedTargetingInsightsResponse", + "properties": { + "suggestions": { + "description": "Suggested insights for targetable audiences.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__TargetingSuggestionMetrics" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__GenerateTargetingSuggestionMetricsRequest": { + "description": "Request message for AudienceInsightsService.GenerateTargetingSuggestionMetrics.", + "id": "GoogleAdsSearchads360V23Services__GenerateTargetingSuggestionMetricsRequest", + "properties": { + "audiences": { + "description": "Required. Audiences to request metrics for.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__InsightsAudience" + }, + "type": "array" + }, + "customerInsightsGroup": { + "description": "Optional. The name of the customer being planned for. This is a user-defined value.", + "type": "string" + }, + "insightsApplicationInfo": { + "$ref": "GoogleAdsSearchads360V23Common__AdditionalApplicationInfo", + "description": "Optional. Additional information on the application issuing the request." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__GenerateTargetingSuggestionMetricsResponse": { + "description": "Response message for AudienceInsightsService.GenerateTargetingSuggestionMetrics.", + "id": "GoogleAdsSearchads360V23Services__GenerateTargetingSuggestionMetricsResponse", + "properties": { + "suggestions": { + "description": "Suggested targetable audiences. There will be one suggestion for each GenerateTargetingSuggestionMetricsRequest.audiences requested, matching the order requested.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__TargetingSuggestionMetrics" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__GeoTargetConstantSuggestion": { + "description": "A geo target constant suggestion.", + "id": "GoogleAdsSearchads360V23Services__GeoTargetConstantSuggestion", + "properties": { + "geoTargetConstant": { + "$ref": "GoogleAdsSearchads360V23Resources__GeoTargetConstant", + "description": "The GeoTargetConstant result." + }, + "geoTargetConstantParents": { + "description": "The list of parents of the geo target constant.", + "items": { + "$ref": "GoogleAdsSearchads360V23Resources__GeoTargetConstant" + }, + "type": "array" + }, + "locale": { + "description": "The language this GeoTargetConstantSuggestion is currently translated to. It affects the name of geo target fields. For example, if locale=en, then name=Spain. If locale=es, then name=España. The default locale will be returned if no translation exists for the locale in the request.", + "type": "string" + }, + "reach": { + "description": "Approximate user population that will be targeted, rounded to the nearest 100.", + "format": "int64", + "type": "string" + }, + "searchTerm": { + "description": "If the request searched by location name, this is the location name that matched the geo target.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__GetIdentityVerificationResponse": { + "description": "Response message for GetIdentityVerification.", + "id": "GoogleAdsSearchads360V23Services__GetIdentityVerificationResponse", + "properties": { + "identityVerification": { + "description": "List of identity verifications for the customer.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__IdentityVerification" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__GetSmartCampaignStatusResponse": { + "description": "Response message for SmartCampaignSettingService.GetSmartCampaignStatus.", + "id": "GoogleAdsSearchads360V23Services__GetSmartCampaignStatusResponse", + "properties": { + "eligibleDetails": { + "$ref": "GoogleAdsSearchads360V23Services__SmartCampaignEligibleDetails", + "description": "Details related to Smart campaigns that are eligible to serve." + }, + "endedDetails": { + "$ref": "GoogleAdsSearchads360V23Services__SmartCampaignEndedDetails", + "description": "Details related to Smart campaigns that have ended." + }, + "notEligibleDetails": { + "$ref": "GoogleAdsSearchads360V23Services__SmartCampaignNotEligibleDetails", + "description": "Details related to Smart campaigns that are ineligible to serve." + }, + "pausedDetails": { + "$ref": "GoogleAdsSearchads360V23Services__SmartCampaignPausedDetails", + "description": "Details related to paused Smart campaigns." + }, + "removedDetails": { + "$ref": "GoogleAdsSearchads360V23Services__SmartCampaignRemovedDetails", + "description": "Details related to removed Smart campaigns." + }, + "smartCampaignStatus": { + "description": "The status of this Smart campaign.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "PAUSED", + "NOT_ELIGIBLE", + "PENDING", + "ELIGIBLE", + "REMOVED", + "ENDED" + ], + "enumDescriptions": [ + "The status has not been specified.", + "The received value is not known in this version. This is a response-only value.", + "The campaign was paused.", + "The campaign is not eligible to serve and has issues that may require intervention.", + "The campaign is pending the approval of at least one ad.", + "The campaign is eligible to serve.", + "The campaign has been removed.", + "The campaign has ended." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__GoalOperation": { + "description": "A single mutate operation on the goal.", + "id": "GoogleAdsSearchads360V23Services__GoalOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__Goal", + "description": "Create a new goal." + }, + "update": { + "$ref": "GoogleAdsSearchads360V23Resources__Goal", + "description": "Update an existing goal." + }, + "updateMask": { + "description": "FieldMask that determines which resource fields are modified in an update.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__GraduateExperimentRequest": { + "description": "Request message for ExperimentService.GraduateExperiment.", + "id": "GoogleAdsSearchads360V23Services__GraduateExperimentRequest", + "properties": { + "campaignBudgetMappings": { + "description": "Required. List of campaign budget mappings for graduation. Each campaign that appears here will graduate, and will be assigned a new budget that is paired with it in the mapping. The maximum size is one.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__CampaignBudgetMapping" + }, + "type": "array" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__HotelAssetSuggestion": { + "description": "Message containing the asset suggestions for a hotel.", + "id": "GoogleAdsSearchads360V23Services__HotelAssetSuggestion", + "properties": { + "callToAction": { + "description": "Call to action type.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "LEARN_MORE", + "GET_QUOTE", + "APPLY_NOW", + "SIGN_UP", + "CONTACT_US", + "SUBSCRIBE", + "DOWNLOAD", + "BOOK_NOW", + "SHOP_NOW", + "BUY_NOW", + "DONATE_NOW", + "ORDER_NOW", + "PLAY_NOW", + "SEE_MORE", + "START_NOW", + "VISIT_SITE", + "WATCH_NOW" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The call to action type is learn more.", + "The call to action type is get quote.", + "The call to action type is apply now.", + "The call to action type is sign up.", + "The call to action type is contact us.", + "The call to action type is subscribe.", + "The call to action type is download.", + "The call to action type is book now.", + "The call to action type is shop now.", + "The call to action type is buy now.", + "The call to action type is donate now.", + "The call to action type is order now.", + "The call to action type is play now.", + "The call to action type is see more.", + "The call to action type is start now.", + "The call to action type is visit site.", + "The call to action type is watch now." + ], + "type": "string" + }, + "finalUrl": { + "description": "Suggested final URL for an AssetGroup.", + "type": "string" + }, + "hotelName": { + "description": "Hotel name in requested language.", + "type": "string" + }, + "imageAssets": { + "description": "Image assets such as landscape/portrait/square, etc.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__HotelImageAsset" + }, + "type": "array" + }, + "placeId": { + "description": "Google Places ID of the hotel.", + "type": "string" + }, + "status": { + "description": "The status of the hotel asset suggestion.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "SUCCESS", + "HOTEL_NOT_FOUND", + "INVALID_PLACE_ID" + ], + "enumDescriptions": [ + "Enum unspecified.", + "The received error code is not known in this version.", + "The hotel asset suggestion was successfully retrieved.", + "A hotel look up returns nothing.", + "A Google Places ID is invalid and cannot be decoded." + ], + "type": "string" + }, + "textAssets": { + "description": "Text assets such as headline, description, etc.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__HotelTextAsset" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__HotelImageAsset": { + "description": "A single image asset suggestion for a hotel.", + "id": "GoogleAdsSearchads360V23Services__HotelImageAsset", + "properties": { + "assetFieldType": { + "description": "The Image asset type. For example, MARKETING_IMAGE, PORTRAIT_MARKETING_IMAGE, etc.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "HEADLINE", + "DESCRIPTION", + "MANDATORY_AD_TEXT", + "MARKETING_IMAGE", + "MEDIA_BUNDLE", + "YOUTUBE_VIDEO", + "BOOK_ON_GOOGLE", + "LEAD_FORM", + "PROMOTION", + "CALLOUT", + "STRUCTURED_SNIPPET", + "SITELINK", + "MOBILE_APP", + "HOTEL_CALLOUT", + "CALL", + "PRICE", + "LONG_HEADLINE", + "BUSINESS_NAME", + "SQUARE_MARKETING_IMAGE", + "PORTRAIT_MARKETING_IMAGE", + "LOGO", + "LANDSCAPE_LOGO", + "VIDEO", + "CALL_TO_ACTION_SELECTION", + "AD_IMAGE", + "BUSINESS_LOGO", + "HOTEL_PROPERTY", + "DEMAND_GEN_CAROUSEL_CARD", + "BUSINESS_MESSAGE", + "TALL_PORTRAIT_MARKETING_IMAGE", + "LANDING_PAGE_PREVIEW", + "LONG_DESCRIPTION", + "CALL_TO_ACTION" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The asset is linked for use as a headline.", + "The asset is linked for use as a description.", + "The asset is linked for use as mandatory ad text.", + "The asset is linked for use as a marketing image.", + "The asset is linked for use as a media bundle.", + "The asset is linked for use as a YouTube video.", + "The asset is linked to indicate that a hotels campaign is \"Book on Google\" enabled.", + "The asset is linked for use as a Lead Form extension.", + "The asset is linked for use as a Promotion extension.", + "The asset is linked for use as a Callout extension.", + "The asset is linked for use as a Structured Snippet extension.", + "The asset is linked for use as a Sitelink.", + "The asset is linked for use as a Mobile App extension.", + "The asset is linked for use as a Hotel Callout extension.", + "The asset is linked for use as a Call extension.", + "The asset is linked for use as a Price extension.", + "The asset is linked for use as a long headline.", + "The asset is linked for use as a business name.", + "The asset is linked for use as a square marketing image.", + "The asset is linked for use as a portrait marketing image.", + "The asset is linked for use as a logo.", + "The asset is linked for use as a landscape logo.", + "The asset is linked for use as a non YouTube logo.", + "The asset is linked for use to select a call-to-action.", + "The asset is linked for use to select an ad image.", + "The asset is linked for use as a business logo.", + "The asset is linked for use as a hotel property in a Performance Max for travel goals campaign.", + "The asset is linked for use as a Demand Gen carousel card.", + "The asset is linked for use as a Business Message.", + "The asset is linked for use as a tall portrait marketing image.", + "The asset is linked for use as a landing page preview image.", + "The asset is linked for use as a long description.", + "The asset is linked for use as a call-to-action." + ], + "type": "string" + }, + "uri": { + "description": "URI for the image.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__HotelTextAsset": { + "description": "A single text asset suggestion for a hotel.", + "id": "GoogleAdsSearchads360V23Services__HotelTextAsset", + "properties": { + "assetFieldType": { + "description": "The text asset type. For example, HEADLINE, DESCRIPTION, etc.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "HEADLINE", + "DESCRIPTION", + "MANDATORY_AD_TEXT", + "MARKETING_IMAGE", + "MEDIA_BUNDLE", + "YOUTUBE_VIDEO", + "BOOK_ON_GOOGLE", + "LEAD_FORM", + "PROMOTION", + "CALLOUT", + "STRUCTURED_SNIPPET", + "SITELINK", + "MOBILE_APP", + "HOTEL_CALLOUT", + "CALL", + "PRICE", + "LONG_HEADLINE", + "BUSINESS_NAME", + "SQUARE_MARKETING_IMAGE", + "PORTRAIT_MARKETING_IMAGE", + "LOGO", + "LANDSCAPE_LOGO", + "VIDEO", + "CALL_TO_ACTION_SELECTION", + "AD_IMAGE", + "BUSINESS_LOGO", + "HOTEL_PROPERTY", + "DEMAND_GEN_CAROUSEL_CARD", + "BUSINESS_MESSAGE", + "TALL_PORTRAIT_MARKETING_IMAGE", + "LANDING_PAGE_PREVIEW", + "LONG_DESCRIPTION", + "CALL_TO_ACTION" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The asset is linked for use as a headline.", + "The asset is linked for use as a description.", + "The asset is linked for use as mandatory ad text.", + "The asset is linked for use as a marketing image.", + "The asset is linked for use as a media bundle.", + "The asset is linked for use as a YouTube video.", + "The asset is linked to indicate that a hotels campaign is \"Book on Google\" enabled.", + "The asset is linked for use as a Lead Form extension.", + "The asset is linked for use as a Promotion extension.", + "The asset is linked for use as a Callout extension.", + "The asset is linked for use as a Structured Snippet extension.", + "The asset is linked for use as a Sitelink.", + "The asset is linked for use as a Mobile App extension.", + "The asset is linked for use as a Hotel Callout extension.", + "The asset is linked for use as a Call extension.", + "The asset is linked for use as a Price extension.", + "The asset is linked for use as a long headline.", + "The asset is linked for use as a business name.", + "The asset is linked for use as a square marketing image.", + "The asset is linked for use as a portrait marketing image.", + "The asset is linked for use as a logo.", + "The asset is linked for use as a landscape logo.", + "The asset is linked for use as a non YouTube logo.", + "The asset is linked for use to select a call-to-action.", + "The asset is linked for use to select an ad image.", + "The asset is linked for use as a business logo.", + "The asset is linked for use as a hotel property in a Performance Max for travel goals campaign.", + "The asset is linked for use as a Demand Gen carousel card.", + "The asset is linked for use as a Business Message.", + "The asset is linked for use as a tall portrait marketing image.", + "The asset is linked for use as a landing page preview image.", + "The asset is linked for use as a long description.", + "The asset is linked for use as a call-to-action." + ], + "type": "string" + }, + "text": { + "description": "Asset text in requested language.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__IdentityVerification": { + "description": "An identity verification for a customer.", + "id": "GoogleAdsSearchads360V23Services__IdentityVerification", + "properties": { + "identityVerificationRequirement": { + "$ref": "GoogleAdsSearchads360V23Services__IdentityVerificationRequirement", + "description": "The verification requirement for this verification program for this customer." + }, + "verificationProgram": { + "description": "The verification program type.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ADVERTISER_IDENTITY_VERIFICATION" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "Advertiser submits documents to verify their identity." + ], + "type": "string" + }, + "verificationProgress": { + "$ref": "GoogleAdsSearchads360V23Services__IdentityVerificationProgress", + "description": "Information regarding progress for this verification program for this customer." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__IdentityVerificationProgress": { + "description": "Information regarding the verification progress for a verification program type.", + "id": "GoogleAdsSearchads360V23Services__IdentityVerificationProgress", + "properties": { + "actionUrl": { + "description": "Action URL for user to complete verification for the given verification program type.", + "type": "string" + }, + "invitationLinkExpirationTime": { + "description": "The timestamp when the action url will expire in \"yyyy-MM-dd HH:mm:ss\" format.", + "type": "string" + }, + "programStatus": { + "description": "Current Status (PENDING_USER_ACTION, SUCCESS, FAILURE etc)", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "PENDING_USER_ACTION", + "PENDING_REVIEW", + "SUCCESS", + "FAILURE" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "Verification is pending on user action to proceed.", + "Verification is pending on review.", + "Verification succeeded.", + "Verification failed." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__IdentityVerificationRequirement": { + "description": "Information regarding the verification requirement for a verification program type.", + "id": "GoogleAdsSearchads360V23Services__IdentityVerificationRequirement", + "properties": { + "verificationCompletionDeadlineTime": { + "description": "The deadline to submit verification.", + "type": "string" + }, + "verificationStartDeadlineTime": { + "description": "The deadline to start verification in \"yyyy-MM-dd HH:mm:ss\" format.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__Incentive": { + "description": "An incentive that a user can claim for their account.", + "id": "GoogleAdsSearchads360V23Services__Incentive", + "properties": { + "incentiveId": { + "description": "The incentive ID of this incentive. This is used to identify which incentive is selected by the user in the CYO flow.", + "format": "int64", + "type": "string" + }, + "incentiveTermsAndConditionsUrl": { + "description": "The URL of the terms and conditions for THIS incentive offer ONLY. This is different from the terms_and_conditions_url field in AcquisitionIncentiveOffer which is a combination of all the Incentive offers in a CYO offer.", + "type": "string" + }, + "requirement": { + "$ref": "GoogleAdsSearchads360V23Services_Incentive_Requirement", + "description": "The requirement for this incentive." + }, + "type": { + "description": "The type of the incentive.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ACQUISITION" + ], + "enumDescriptions": [ + "Not specified.", + "Unknown incentive type. Should not be used as a value explicitly.", + "An acquisition incentive." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__IncentiveOffer": { + "description": "An acquisition incentive offer for a user. An offer means how the user is treated. An offer can have no incentive or multiple incentives.", + "id": "GoogleAdsSearchads360V23Services__IncentiveOffer", + "properties": { + "consolidatedTermsAndConditionsUrl": { + "description": "Optional. The URL of the terms and conditions for the incentive offer.", + "type": "string" + }, + "cyoIncentives": { + "$ref": "GoogleAdsSearchads360V23Services__CyoIncentives", + "description": "CYO incentives. Set when type is CYO_INCENTIVE." + }, + "type": { + "description": "Required. The type of this acquisition incentive offer.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "NO_INCENTIVE", + "CYO_INCENTIVE" + ], + "enumDescriptions": [ + "Unknown offer type. Should not be used as a value explicitly.", + "Unknown offer type.", + "An offer with no incentive.", + "A CYO (Choose-Your-Own) offer with multiple incentives to choose from." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__IndustryVerticalInfo": { + "description": "The information associated with an Industry Vertical.", + "id": "GoogleAdsSearchads360V23Services__IndustryVerticalInfo", + "properties": { + "industryVerticalId": { + "description": "The unique identifier of the Industry Vertical.", + "format": "int64", + "type": "string" + }, + "industryVerticalName": { + "description": "The name of the Industry Vertical.", + "type": "string" + }, + "parentIndustryVerticalId": { + "description": "The unique identifier of the parent Industry Vertical, if exists.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__InsightsAudience": { + "description": "A set of users, defined by various characteristics, for which insights can be requested in AudienceInsightsService.", + "id": "GoogleAdsSearchads360V23Services__InsightsAudience", + "properties": { + "ageRanges": { + "description": "Age ranges for the audience. If absent, the audience represents all people over 18 that match the other attributes.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AgeRangeInfo" + }, + "type": "array" + }, + "countryLocations": { + "description": "Required. The countries for the audience.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__LocationInfo" + }, + "type": "array" + }, + "gender": { + "$ref": "GoogleAdsSearchads360V23Common__GenderInfo", + "description": "Gender for the audience. If absent, the audience does not restrict by gender." + }, + "incomeRanges": { + "description": "Household income percentile ranges for the audience. If absent, the audience does not restrict by household income range.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__IncomeRangeInfo" + }, + "type": "array" + }, + "lineups": { + "description": "Lineups representing the YouTube content viewed by the audience.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AudienceInsightsLineup" + }, + "type": "array" + }, + "parentalStatus": { + "$ref": "GoogleAdsSearchads360V23Common__ParentalStatusInfo", + "description": "Parental status for the audience. If absent, the audience does not restrict by parental status." + }, + "subCountryLocations": { + "description": "Sub-country geographic location attributes. If present, each of these must be contained in one of the countries in this audience. If absent, the audience is geographically to the country_locations and no further.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__LocationInfo" + }, + "type": "array" + }, + "topicAudienceCombinations": { + "description": "A combination of entity, category and user interest attributes defining the audience. The combination has a logical AND-of-ORs structure: Attributes within each InsightsAudienceAttributeGroup are combined with OR, and the combinations themselves are combined together with AND. For example, the expression (Entity OR Affinity) AND (In-Market OR Category) can be formed using two InsightsAudienceAttributeGroups with two Attributes each.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__InsightsAudienceAttributeGroup" + }, + "type": "array" + }, + "userList": { + "$ref": "GoogleAdsSearchads360V23Common__UserListInfo", + "description": "User list to be targeted by the audience." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__InsightsAudienceAttributeGroup": { + "description": "A list of AudienceInsightsAttributes.", + "id": "GoogleAdsSearchads360V23Services__InsightsAudienceAttributeGroup", + "properties": { + "attributes": { + "description": "Required. A collection of audience attributes to be combined with logical OR. Attributes need not all be the same dimension. Only Knowledge Graph entities, Product & Service Categories, and Affinity and In-Market audiences are supported in this context.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AudienceInsightsAttribute" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__InsightsAudienceDefinition": { + "description": "A structured definition of the audience of interest for which insights are being requested in AudienceInsightsService.", + "id": "GoogleAdsSearchads360V23Services__InsightsAudienceDefinition", + "properties": { + "audience": { + "$ref": "GoogleAdsSearchads360V23Services__InsightsAudience", + "description": "Required. The audience of interest for which insights are being requested." + }, + "baselineAudience": { + "$ref": "GoogleAdsSearchads360V23Services__InsightsAudience", + "description": "Optional. The baseline audience. The default, if unspecified, is all people in the same country as the audience of interest." + }, + "dataMonth": { + "description": "Optional. The one-month range of historical data to use for insights, in the format \"yyyy-mm\". If unset, insights will be returned for the last thirty days of data.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__InsightsAudienceDescription": { + "description": "A text description of the audience of interest for which insights are being requested in AudienceInsightsService.", + "id": "GoogleAdsSearchads360V23Services__InsightsAudienceDescription", + "properties": { + "audienceDescription": { + "description": "Required. An English language text description of an audience to get suggestions for. Maximum length is 2000 characters. For example, \"Women in their 30s who love to travel\".", + "type": "string" + }, + "audienceDimensions": { + "$ref": "GoogleAdsSearchads360V23Services__AudienceInsightsDimensions", + "description": "Optional. An optional list of audience dimensions to return." + }, + "countryLocations": { + "description": "Required. The countries for the audience.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__LocationInfo" + }, + "type": "array" + }, + "marketingObjective": { + "description": "Optional. An optional marketing objective which will influence the type of suggestions produced.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "AWARENESS", + "CONSIDERATION", + "RESEARCH" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "The objective is to increase awareness of a brand or product among relevant audiences.", + "The objective is to encourage potential customers to consider your brand or products when they're researching or shopping for product.", + "The objective is for research, to gain further insights into your audience." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__KeywordAndUrlSeed": { + "description": "Keyword And Url Seed", + "id": "GoogleAdsSearchads360V23Services__KeywordAndUrlSeed", + "properties": { + "keywords": { + "description": "Requires at least one keyword and no more than 20 keywords.", + "items": { + "type": "string" + }, + "type": "array" + }, + "url": { + "description": "The URL to crawl in order to generate keyword ideas.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__KeywordForecastMetrics": { + "description": "The forecast metrics for the planless keyword campaign.", + "id": "GoogleAdsSearchads360V23Services__KeywordForecastMetrics", + "properties": { + "averageCpaMicros": { + "description": "Average cost per acquisition calculated as cost_micros / conversions.", + "format": "int64", + "type": "string" + }, + "averageCpcMicros": { + "description": "The average cpc. Available only if clicks > 0.", + "format": "int64", + "type": "string" + }, + "clickThroughRate": { + "description": "The average click through rate. Available only if impressions > 0.", + "format": "double", + "type": "number" + }, + "clicks": { + "description": "The total number of clicks.", + "format": "double", + "type": "number" + }, + "conversionRate": { + "description": "Forecasted conversion rate.", + "format": "double", + "type": "number" + }, + "conversions": { + "description": "Forecasted number of conversions: clicks * conversion_rate.", + "format": "double", + "type": "number" + }, + "costMicros": { + "description": "The total cost.", + "format": "int64", + "type": "string" + }, + "impressions": { + "description": "The total number of impressions.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__KeywordPlanAdGroupKeywordOperation": { + "description": "A single operation (create, update, remove) on a Keyword Plan ad group keyword.", + "id": "GoogleAdsSearchads360V23Services__KeywordPlanAdGroupKeywordOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__KeywordPlanAdGroupKeyword", + "description": "Create operation: No resource name is expected for the new Keyword Plan ad group keyword." + }, + "remove": { + "description": "Remove operation: A resource name for the removed Keyword Plan ad group keyword is expected, in this format: `customers/{customer_id}/keywordPlanAdGroupKeywords/{kp_ad_group_keyword_id}`", + "type": "string" + }, + "update": { + "$ref": "GoogleAdsSearchads360V23Resources__KeywordPlanAdGroupKeyword", + "description": "Update operation: The Keyword Plan ad group keyword is expected to have a valid resource name." + }, + "updateMask": { + "description": "The FieldMask that determines which resource fields are modified in an update.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__KeywordPlanAdGroupOperation": { + "description": "A single operation (create, update, remove) on a Keyword Plan ad group.", + "id": "GoogleAdsSearchads360V23Services__KeywordPlanAdGroupOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__KeywordPlanAdGroup", + "description": "Create operation: No resource name is expected for the new Keyword Plan ad group." + }, + "remove": { + "description": "Remove operation: A resource name for the removed Keyword Plan ad group is expected, in this format: `customers/{customer_id}/keywordPlanAdGroups/{kp_ad_group_id}`", + "type": "string" + }, + "update": { + "$ref": "GoogleAdsSearchads360V23Resources__KeywordPlanAdGroup", + "description": "Update operation: The Keyword Plan ad group is expected to have a valid resource name." + }, + "updateMask": { + "description": "The FieldMask that determines which resource fields are modified in an update.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__KeywordPlanCampaignKeywordOperation": { + "description": "A single operation (create, update, remove) on a Keyword Plan campaign keyword.", + "id": "GoogleAdsSearchads360V23Services__KeywordPlanCampaignKeywordOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__KeywordPlanCampaignKeyword", + "description": "Create operation: No resource name is expected for the new Keyword Plan campaign keyword." + }, + "remove": { + "description": "Remove operation: A resource name for the removed Keyword Plan campaign keywords expected in this format: `customers/{customer_id}/keywordPlanCampaignKeywords/{kp_campaign_keyword_id}`", + "type": "string" + }, + "update": { + "$ref": "GoogleAdsSearchads360V23Resources__KeywordPlanCampaignKeyword", + "description": "Update operation: The Keyword Plan campaign keyword expected to have a valid resource name." + }, + "updateMask": { + "description": "The FieldMask that determines which resource fields are modified in an update.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__KeywordPlanCampaignOperation": { + "description": "A single operation (create, update, remove) on a Keyword Plan campaign.", + "id": "GoogleAdsSearchads360V23Services__KeywordPlanCampaignOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__KeywordPlanCampaign", + "description": "Create operation: No resource name is expected for the new Keyword Plan campaign." + }, + "remove": { + "description": "Remove operation: A resource name for the removed Keyword Plan campaign is expected, in this format: `customers/{customer_id}/keywordPlanCampaigns/{keywordPlan_campaign_id}`", + "type": "string" + }, + "update": { + "$ref": "GoogleAdsSearchads360V23Resources__KeywordPlanCampaign", + "description": "Update operation: The Keyword Plan campaign is expected to have a valid resource name." + }, + "updateMask": { + "description": "The FieldMask that determines which resource fields are modified in an update.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__KeywordPlanOperation": { + "description": "A single operation (create, update, remove) on a keyword plan.", + "id": "GoogleAdsSearchads360V23Services__KeywordPlanOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__KeywordPlan", + "description": "Create operation: No resource name is expected for the new keyword plan." + }, + "remove": { + "description": "Remove operation: A resource name for the removed keyword plan is expected in this format: `customers/{customer_id}/keywordPlans/{keyword_plan_id}`", + "type": "string" + }, + "update": { + "$ref": "GoogleAdsSearchads360V23Resources__KeywordPlan", + "description": "Update operation: The keyword plan is expected to have a valid resource name." + }, + "updateMask": { + "description": "The FieldMask that determines which resource fields are modified in an update.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__KeywordSeed": { + "description": "Keyword Seed", + "id": "GoogleAdsSearchads360V23Services__KeywordSeed", + "properties": { + "keywords": { + "description": "Requires at least one keyword and no more than 20 keywords.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__LabelOperation": { + "description": "A single operation (create, remove, update) on a label.", + "id": "GoogleAdsSearchads360V23Services__LabelOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__Label", + "description": "Create operation: No resource name is expected for the new label." + }, + "remove": { + "description": "Remove operation: A resource name for the label being removed, in this format: `customers/{customer_id}/labels/{label_id}`", + "type": "string" + }, + "update": { + "$ref": "GoogleAdsSearchads360V23Resources__Label", + "description": "Update operation: The label is expected to have a valid resource name." + }, + "updateMask": { + "description": "FieldMask that determines which resource fields are modified in an update.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__ListAccessibleCustomersResponse": { + "description": "Response message for CustomerService.ListAccessibleCustomers.", + "id": "GoogleAdsSearchads360V23Services__ListAccessibleCustomersResponse", + "properties": { + "resourceNames": { + "description": "Resource name of customers directly accessible by the user authenticating the call.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__ListAudienceInsightsAttributesRequest": { + "description": "Request message for AudienceInsightsService.ListAudienceInsightsAttributes.", + "id": "GoogleAdsSearchads360V23Services__ListAudienceInsightsAttributesRequest", + "properties": { + "customerInsightsGroup": { + "description": "The name of the customer being planned for. This is a user-defined value.", + "type": "string" + }, + "dimensions": { + "description": "Required. The types of attributes to be returned. Supported dimensions are CATEGORY, KNOWLEDGE_GRAPH, GEO_TARGET_COUNTRY, SUB_COUNTRY_LOCATION, YOUTUBE_LINEUP, AFFINITY_USER_INTEREST, IN_MARKET_USER_INTEREST, .", + "items": { + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "CATEGORY", + "KNOWLEDGE_GRAPH", + "GEO_TARGET_COUNTRY", + "SUB_COUNTRY_LOCATION", + "YOUTUBE_CHANNEL", + "AFFINITY_USER_INTEREST", + "IN_MARKET_USER_INTEREST", + "PARENTAL_STATUS", + "INCOME_RANGE", + "AGE_RANGE", + "GENDER", + "YOUTUBE_VIDEO", + "DEVICE", + "YOUTUBE_LINEUP", + "USER_LIST", + "LIFE_EVENT_USER_INTEREST" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "A Product & Service category.", + "A Knowledge Graph entity.", + "A country, represented by a geo target.", + "A geographic location within a country.", + "A YouTube channel.", + "An Affinity UserInterest.", + "An In-Market UserInterest.", + "A Parental Status value (parent, or not a parent).", + "A household income percentile range.", + "An age range.", + "A gender.", + "A YouTube video.", + "A device type, such as Mobile, Desktop, Tablet, and Connected TV.", + "A YouTube Lineup.", + "A User List.", + "A Life Event UserInterest." + ], + "type": "string" + }, + "type": "array" + }, + "insightsApplicationInfo": { + "$ref": "GoogleAdsSearchads360V23Common__AdditionalApplicationInfo", + "description": "Optional. Additional information on the application issuing the request." + }, + "locationCountryFilters": { + "description": "If SUB_COUNTRY_LOCATION attributes are one of the requested dimensions and this field is present, then the SUB_COUNTRY_LOCATION attributes returned will be located in these countries. If this field is absent, then location attributes are not filtered by country. Setting this field when SUB_COUNTRY_LOCATION attributes are not requested will return an error.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__LocationInfo" + }, + "type": "array" + }, + "queryText": { + "description": "Required. A free text query. If the requested dimensions include Attributes CATEGORY or KNOWLEDGE_GRAPH, then the attributes returned for those dimensions will match or be related to this string. For other dimensions, this field is ignored and all available attributes are returned.", + "type": "string" + }, + "youtubeReachLocation": { + "$ref": "GoogleAdsSearchads360V23Common__LocationInfo", + "description": "If present, potential YouTube reach estimates within the specified market will be returned for attributes for which they are available. Reach is only available for the AGE_RANGE, GENDER, AFFINITY_USER_INTEREST and IN_MARKET_USER_INTEREST dimensions, and may not be available for every attribute of those dimensions in every market." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__ListAudienceInsightsAttributesResponse": { + "description": "Response message for AudienceInsightsService.ListAudienceInsightsAttributes.", + "id": "GoogleAdsSearchads360V23Services__ListAudienceInsightsAttributesResponse", + "properties": { + "attributes": { + "description": "The attributes matching the search query.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__ListBatchJobResultsResponse": { + "description": "Response message for BatchJobService.ListBatchJobResults.", + "id": "GoogleAdsSearchads360V23Services__ListBatchJobResultsResponse", + "properties": { + "nextPageToken": { + "description": "Pagination token used to retrieve the next page of results. Pass the content of this string as the `page_token` attribute of the next request. `next_page_token` is not returned for the last page.", + "type": "string" + }, + "results": { + "description": "The list of rows that matched the query.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__BatchJobResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__ListBenchmarksAvailableDatesRequest": { + "description": "Request message for BenchmarksService.ListBenchmarksAvailableDates.", + "id": "GoogleAdsSearchads360V23Services__ListBenchmarksAvailableDatesRequest", + "properties": { + "applicationInfo": { + "$ref": "GoogleAdsSearchads360V23Common__AdditionalApplicationInfo", + "description": "Additional information on the application issuing the request." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__ListBenchmarksAvailableDatesResponse": { + "description": "Response message for BenchmarksService.ListBenchmarksAvailableDates.", + "id": "GoogleAdsSearchads360V23Services__ListBenchmarksAvailableDatesResponse", + "properties": { + "supportedDates": { + "$ref": "GoogleAdsSearchads360V23Common__DateRange", + "description": "The dates that support benchmarks metrics. Data is supported for any dates within this date range inclusive." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__ListBenchmarksLocationsRequest": { + "description": "Request message for BenchmarksService.ListBenchmarksLocations.", + "id": "GoogleAdsSearchads360V23Services__ListBenchmarksLocationsRequest", + "properties": { + "applicationInfo": { + "$ref": "GoogleAdsSearchads360V23Common__AdditionalApplicationInfo", + "description": "Additional information on the application issuing the request." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__ListBenchmarksLocationsResponse": { + "description": "Response message for BenchmarksService.ListBenchmarksLocations.", + "id": "GoogleAdsSearchads360V23Services__ListBenchmarksLocationsResponse", + "properties": { + "benchmarksLocations": { + "description": "The list of locations supported for benchmarks data.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__BenchmarksLocation" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__ListBenchmarksProductsRequest": { + "description": "Request message for BenchmarksService.ListBenchmarksProducts.", + "id": "GoogleAdsSearchads360V23Services__ListBenchmarksProductsRequest", + "properties": { + "applicationInfo": { + "$ref": "GoogleAdsSearchads360V23Common__AdditionalApplicationInfo", + "description": "Additional information on the application issuing the request." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__ListBenchmarksProductsResponse": { + "description": "Response message for BenchmarksService.ListBenchmarksProducts.", + "id": "GoogleAdsSearchads360V23Services__ListBenchmarksProductsResponse", + "properties": { + "benchmarksProducts": { + "description": "The list of products available for benchmarks data.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__BenchmarksProductMetadata" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__ListBenchmarksSourcesRequest": { + "description": "Request message for BenchmarksService.ListBenchmarksSources.", + "id": "GoogleAdsSearchads360V23Services__ListBenchmarksSourcesRequest", + "properties": { + "applicationInfo": { + "$ref": "GoogleAdsSearchads360V23Common__AdditionalApplicationInfo", + "description": "Additional information on the application issuing the request." + }, + "benchmarksSources": { + "description": "Required. The types of benchmarks sources to be returned (for example, INDUSTRY_VERTICAL).", + "items": { + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "INDUSTRY_VERTICAL" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "The classification of ad categories for benchmarking. (for example, \"Technology\" or \"Finance\")." + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__ListBenchmarksSourcesResponse": { + "description": "Response message for BenchmarksService.ListBenchmarksSources.", + "id": "GoogleAdsSearchads360V23Services__ListBenchmarksSourcesResponse", + "properties": { + "benchmarksSources": { + "description": "The list of available source used to generate benchmarks data for.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__BenchmarksSourceMetadata" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__ListCampaignDraftAsyncErrorsResponse": { + "description": "Response message for CampaignDraftService.ListCampaignDraftAsyncErrors.", + "id": "GoogleAdsSearchads360V23Services__ListCampaignDraftAsyncErrorsResponse", + "properties": { + "errors": { + "description": "Details of the errors when performing the asynchronous operation.", + "items": { + "$ref": "GoogleRpc__Status" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Pagination token used to retrieve the next page of results. Pass the content of this string as the `page_token` attribute of the next request. `next_page_token` is not returned for the last page.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__ListCustomColumnsResponse": { + "description": "Response message for fetching all custom columns associated with a customer.", + "id": "GoogleAdsSearchads360V23Services__ListCustomColumnsResponse", + "properties": { + "customColumns": { + "description": "The CustomColumns owned by the provided customer.", + "items": { + "$ref": "GoogleAdsSearchads360V23Resources__CustomColumn" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__ListExperimentAsyncErrorsResponse": { + "description": "Response message for ExperimentService.ListExperimentAsyncErrors.", + "id": "GoogleAdsSearchads360V23Services__ListExperimentAsyncErrorsResponse", + "properties": { + "errors": { + "description": "details of the errors when performing the asynchronous operation.", + "items": { + "$ref": "GoogleRpc__Status" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Pagination token used to retrieve the next page of results. Pass the content of this string as the `page_token` attribute of the next request. `next_page_token` is not returned for the last page.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__ListInsightsEligibleDatesRequest": { + "description": "Request message for AudienceInsightsService.ListInsightsEligibleDates.", + "id": "GoogleAdsSearchads360V23Services__ListInsightsEligibleDatesRequest", + "properties": { + "insightsApplicationInfo": { + "$ref": "GoogleAdsSearchads360V23Common__AdditionalApplicationInfo", + "description": "Optional. Additional information on the application issuing the request." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__ListInsightsEligibleDatesResponse": { + "description": "Response message for AudienceInsightsService.ListInsightsEligibleDates.", + "id": "GoogleAdsSearchads360V23Services__ListInsightsEligibleDatesResponse", + "properties": { + "dataMonths": { + "description": "The months for which AudienceInsights data is currently available, each represented as a string in the form \"YYYY-MM\".", + "items": { + "type": "string" + }, + "type": "array" + }, + "lastThirtyDays": { + "$ref": "GoogleAdsSearchads360V23Common__DateRange", + "description": "The actual dates covered by the \"last 30 days\" date range that will be used implicitly for AudienceInsightsService.GenerateAudienceCompositionInsights requests that have no data_month set." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__ListInvoicesResponse": { + "description": "Response message for InvoiceService.ListInvoices.", + "id": "GoogleAdsSearchads360V23Services__ListInvoicesResponse", + "properties": { + "invoices": { + "description": "The list of invoices that match the billing setup and time period.", + "items": { + "$ref": "GoogleAdsSearchads360V23Resources__Invoice" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__ListPaymentsAccountsResponse": { + "description": "Response message for PaymentsAccountService.ListPaymentsAccounts.", + "id": "GoogleAdsSearchads360V23Services__ListPaymentsAccountsResponse", + "properties": { + "paymentsAccounts": { + "description": "The list of accessible payments accounts.", + "items": { + "$ref": "GoogleAdsSearchads360V23Resources__PaymentsAccount" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__ListPlannableLocationsRequest": { + "description": "Request message for ReachPlanService.ListPlannableLocations.", + "id": "GoogleAdsSearchads360V23Services__ListPlannableLocationsRequest", + "properties": { + "reachApplicationInfo": { + "$ref": "GoogleAdsSearchads360V23Common__AdditionalApplicationInfo", + "description": "Optional. Additional information on the application issuing the request." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__ListPlannableLocationsResponse": { + "description": "The list of plannable locations.", + "id": "GoogleAdsSearchads360V23Services__ListPlannableLocationsResponse", + "properties": { + "plannableLocations": { + "description": "The list of locations available for planning. See https://developers.google.com/google-ads/api/reference/data/geotargets for sample locations.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__PlannableLocation" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__ListPlannableProductsRequest": { + "description": "Request to list available products in a given location.", + "id": "GoogleAdsSearchads360V23Services__ListPlannableProductsRequest", + "properties": { + "plannableLocationId": { + "description": "Required. The ID of the selected location for planning. To list the available plannable location IDs use ReachPlanService.ListPlannableLocations.", + "type": "string" + }, + "reachApplicationInfo": { + "$ref": "GoogleAdsSearchads360V23Common__AdditionalApplicationInfo", + "description": "Optional. Additional information on the application issuing the request." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__ListPlannableProductsResponse": { + "description": "A response with all available products.", + "id": "GoogleAdsSearchads360V23Services__ListPlannableProductsResponse", + "properties": { + "productMetadata": { + "description": "The list of products available for planning and related targeting metadata.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__ProductMetadata" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__ListPlannableUserInterestsRequest": { + "description": "Request message for ReachPlanService.ListPlannableUserInterests.", + "id": "GoogleAdsSearchads360V23Services__ListPlannableUserInterestsRequest", + "properties": { + "customerId": { + "description": "Required. The ID of the customer.", + "type": "string" + }, + "nameQuery": { + "description": "A filter by user interest name. If set, only user interests with a name containing the literal string (case insensitive) in the filter will be returned. Maximum length is 200 characters.", + "type": "string" + }, + "pathQuery": { + "description": "A filter by user interest path. If set, only user interests with a path containing the literal string (case insensitive) in the filter will be returned. Maximum length is 200 characters.", + "type": "string" + }, + "reachApplicationInfo": { + "$ref": "GoogleAdsSearchads360V23Common__AdditionalApplicationInfo", + "description": "Optional. Additional information on the application issuing the request." + }, + "userInterestTaxonomyTypes": { + "description": "Optional. A filter by user interest type. If set, only user interests with a type listed in the filter will be returned. If not set, user interests of all supported types will be returned. Supported user interest types are AFFINITY and IN_MARKET. Each type must be specified at most once.", + "items": { + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "AFFINITY", + "IN_MARKET", + "MOBILE_APP_INSTALL_USER", + "VERTICAL_GEO", + "NEW_SMART_PHONE_USER" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The affinity for this user interest.", + "The market for this user interest.", + "Users known to have installed applications in the specified categories.", + "The geographical location of the interest-based vertical.", + "User interest criteria for new smart phone users." + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__ListPlannableUserInterestsResponse": { + "description": "Response message for ReachPlanService.ListPlannableUserInterests.", + "id": "GoogleAdsSearchads360V23Services__ListPlannableUserInterestsResponse", + "properties": { + "plannableUserInterests": { + "description": "The list of plannable user interests.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__PlannableUserInterest" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__ListPlannableUserListsRequest": { + "description": "Request message for ReachPlanService.ListPlannableUserLists that lists the available user lists for a customer.", + "id": "GoogleAdsSearchads360V23Services__ListPlannableUserListsRequest", + "properties": { + "customerId": { + "description": "Required. The ID of the customer.", + "type": "string" + }, + "customerReachGroup": { + "description": "The name of the customer being planned for. This is a user-defined value.", + "type": "string" + }, + "reachApplicationInfo": { + "$ref": "GoogleAdsSearchads360V23Common__AdditionalApplicationInfo", + "description": "Optional. Additional information on the application issuing the request." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__ListPlannableUserListsResponse": { + "description": "A response with all available user lists with their plannable status.", + "id": "GoogleAdsSearchads360V23Services__ListPlannableUserListsResponse", + "properties": { + "plannableUserLists": { + "description": "The list of user lists available for planning and related targeting metadata.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__PlannableUserList" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__ManualCpcBiddingStrategy": { + "description": "Manual CPC Bidding Strategy.", + "id": "GoogleAdsSearchads360V23Services__ManualCpcBiddingStrategy", + "properties": { + "dailyBudgetMicros": { + "description": "Campaign level budget in micros. If set, a minimum value is enforced for the local currency used in the campaign. An error will occur showing the minimum value if this field is set too low.", + "format": "int64", + "type": "string" + }, + "maxCpcBidMicros": { + "description": "Required. A bid in micros to be applied to ad groups within the campaign for a manual CPC bidding strategy.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MaximizeClicksBiddingStrategy": { + "description": "Maximize Clicks Bidding Strategy.", + "id": "GoogleAdsSearchads360V23Services__MaximizeClicksBiddingStrategy", + "properties": { + "dailyTargetSpendMicros": { + "description": "Required. The daily target spend in micros to be used for estimation. A minimum value is enforced for the local currency used in the campaign. An error will occur showing the minimum value if this field is set too low.", + "format": "int64", + "type": "string" + }, + "maxCpcBidCeilingMicros": { + "description": "Ceiling on max CPC bids in micros.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MaximizeConversionsBiddingStrategy": { + "description": "Maximize Conversions Bidding Strategy.", + "id": "GoogleAdsSearchads360V23Services__MaximizeConversionsBiddingStrategy", + "properties": { + "dailyTargetSpendMicros": { + "description": "Required. The daily target spend in micros to be used for estimation. This value must be greater than zero.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MetricAttributes": { + "description": "Indicates the attributes of metrics.", + "id": "GoogleAdsSearchads360V23Services__MetricAttributes", + "properties": { + "attributes": { + "description": "The attributes of the metric.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services_MetricAttributes_Attribute" + }, + "type": "array" + }, + "name": { + "description": "The name of the metric.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__Metrics": { + "description": "All metrics returned against a criteria.", + "id": "GoogleAdsSearchads360V23Services__Metrics", + "properties": { + "averageRateMetrics": { + "$ref": "GoogleAdsSearchads360V23Services__RateMetrics", + "description": "Average rate metrics calculated by dividing one metric by another." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MoveManagerLinkRequest": { + "description": "Request message for CustomerManagerLinkService.MoveManagerLink.", + "id": "GoogleAdsSearchads360V23Services__MoveManagerLinkRequest", + "properties": { + "newManager": { + "description": "Required. The resource name of the new manager customer that the client wants to move to. Customer resource names have the format: \"customers/{customer_id}\"", + "type": "string" + }, + "previousCustomerManagerLink": { + "description": "Required. The resource name of the previous CustomerManagerLink. The resource name has the form: `customers/{customer_id}/customerManagerLinks/{manager_customer_id}~{manager_link_id}`", + "type": "string" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MoveManagerLinkResponse": { + "description": "Response message for a CustomerManagerLink moveManagerLink.", + "id": "GoogleAdsSearchads360V23Services__MoveManagerLinkResponse", + "properties": { + "resourceName": { + "description": "Returned for successful operations. Represents a CustomerManagerLink resource of the newly created link between client customer and new manager customer.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAccountBudgetProposalRequest": { + "description": "Request message for AccountBudgetProposalService.MutateAccountBudgetProposal.", + "id": "GoogleAdsSearchads360V23Services__MutateAccountBudgetProposalRequest", + "properties": { + "operation": { + "$ref": "GoogleAdsSearchads360V23Services__AccountBudgetProposalOperation", + "description": "Required. The operation to perform on an individual account-level budget proposal." + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAccountBudgetProposalResponse": { + "description": "Response message for account-level budget mutate operations.", + "id": "GoogleAdsSearchads360V23Services__MutateAccountBudgetProposalResponse", + "properties": { + "result": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAccountBudgetProposalResult", + "description": "The result of the mutate." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAccountBudgetProposalResult": { + "description": "The result for the account budget proposal mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateAccountBudgetProposalResult", + "properties": { + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAccountLinkRequest": { + "description": "Request message for AccountLinkService.MutateAccountLink.", + "id": "GoogleAdsSearchads360V23Services__MutateAccountLinkRequest", + "properties": { + "operation": { + "$ref": "GoogleAdsSearchads360V23Services__AccountLinkOperation", + "description": "Required. The operation to perform on the link." + }, + "partialFailure": { + "description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", + "type": "boolean" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAccountLinkResponse": { + "description": "Response message for account link mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateAccountLinkResponse", + "properties": { + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." + }, + "result": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAccountLinkResult", + "description": "Result for the mutate." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAccountLinkResult": { + "description": "The result for the account link mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateAccountLinkResult", + "properties": { + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAdGroupAdLabelResult": { + "description": "The result for an ad group ad label mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateAdGroupAdLabelResult", + "properties": { + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAdGroupAdLabelsRequest": { + "description": "Request message for AdGroupAdLabelService.MutateAdGroupAdLabels.", + "id": "GoogleAdsSearchads360V23Services__MutateAdGroupAdLabelsRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on ad group ad labels.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__AdGroupAdLabelOperation" + }, + "type": "array" + }, + "partialFailure": { + "description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", + "type": "boolean" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAdGroupAdLabelsResponse": { + "description": "Response message for an ad group ad labels mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateAdGroupAdLabelsResponse", + "properties": { + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." + }, + "results": { + "description": "All results for the mutate.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupAdLabelResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAdGroupAdResult": { + "description": "The result for the ad mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateAdGroupAdResult", + "properties": { + "adGroupAd": { + "$ref": "GoogleAdsSearchads360V23Resources__AdGroupAd", + "description": "The mutated ad group ad with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." + }, + "resourceName": { + "description": "The resource name returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAdGroupAdsRequest": { + "description": "Request message for AdGroupAdService.MutateAdGroupAds.", + "id": "GoogleAdsSearchads360V23Services__MutateAdGroupAdsRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on individual ads.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__AdGroupAdOperation" + }, + "type": "array" + }, + "partialFailure": { + "description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", + "type": "boolean" + }, + "responseContentType": { + "description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", + "enum": [ + "UNSPECIFIED", + "RESOURCE_NAME_ONLY", + "MUTABLE_RESOURCE" + ], + "enumDescriptions": [ + "Not specified. Will return the resource name only in the response.", + "The mutate response will be the resource name.", + "The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." + ], + "type": "string" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAdGroupAdsResponse": { + "description": "Response message for an ad group ad mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateAdGroupAdsResponse", + "properties": { + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." + }, + "results": { + "description": "All results for the mutate.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupAdResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAdGroupAssetResult": { + "description": "The result for the ad group asset mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateAdGroupAssetResult", + "properties": { + "adGroupAsset": { + "$ref": "GoogleAdsSearchads360V23Resources__AdGroupAsset", + "description": "The mutated ad group asset with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." + }, + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAdGroupAssetSetResult": { + "description": "The result for the ad group asset set mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateAdGroupAssetSetResult", + "properties": { + "adGroupAssetSet": { + "$ref": "GoogleAdsSearchads360V23Resources__AdGroupAssetSet", + "description": "The mutated ad group asset set with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." + }, + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAdGroupAssetSetsRequest": { + "description": "Request message for AdGroupAssetSetService.MutateAdGroupAssetSets.", + "id": "GoogleAdsSearchads360V23Services__MutateAdGroupAssetSetsRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on individual ad group asset sets.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__AdGroupAssetSetOperation" + }, + "type": "array" + }, + "partialFailure": { + "description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", + "type": "boolean" + }, + "responseContentType": { + "description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", + "enum": [ + "UNSPECIFIED", + "RESOURCE_NAME_ONLY", + "MUTABLE_RESOURCE" + ], + "enumDescriptions": [ + "Not specified. Will return the resource name only in the response.", + "The mutate response will be the resource name.", + "The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." + ], + "type": "string" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAdGroupAssetSetsResponse": { + "description": "Response message for an ad group asset set mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateAdGroupAssetSetsResponse", + "properties": { + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (e.g. auth errors), we return an RPC level error." + }, + "results": { + "description": "All results for the mutate.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupAssetSetResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAdGroupAssetsRequest": { + "description": "Request message for AdGroupAssetService.MutateAdGroupAssets.", + "id": "GoogleAdsSearchads360V23Services__MutateAdGroupAssetsRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on individual ad group assets.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__AdGroupAssetOperation" + }, + "type": "array" + }, + "partialFailure": { + "description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", + "type": "boolean" + }, + "responseContentType": { + "description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", + "enum": [ + "UNSPECIFIED", + "RESOURCE_NAME_ONLY", + "MUTABLE_RESOURCE" + ], + "enumDescriptions": [ + "Not specified. Will return the resource name only in the response.", + "The mutate response will be the resource name.", + "The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." + ], + "type": "string" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAdGroupAssetsResponse": { + "description": "Response message for an ad group asset mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateAdGroupAssetsResponse", + "properties": { + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." + }, + "results": { + "description": "All results for the mutate.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupAssetResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAdGroupBidModifierResult": { + "description": "The result for the criterion mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateAdGroupBidModifierResult", + "properties": { + "adGroupBidModifier": { + "$ref": "GoogleAdsSearchads360V23Resources__AdGroupBidModifier", + "description": "The mutated ad group bid modifier with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." + }, + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAdGroupBidModifiersRequest": { + "description": "Request message for AdGroupBidModifierService.MutateAdGroupBidModifiers.", + "id": "GoogleAdsSearchads360V23Services__MutateAdGroupBidModifiersRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on individual ad group bid modifiers.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__AdGroupBidModifierOperation" + }, + "type": "array" + }, + "partialFailure": { + "description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", + "type": "boolean" + }, + "responseContentType": { + "description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", + "enum": [ + "UNSPECIFIED", + "RESOURCE_NAME_ONLY", + "MUTABLE_RESOURCE" + ], + "enumDescriptions": [ + "Not specified. Will return the resource name only in the response.", + "The mutate response will be the resource name.", + "The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." + ], + "type": "string" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAdGroupBidModifiersResponse": { + "description": "Response message for ad group bid modifiers mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateAdGroupBidModifiersResponse", + "properties": { + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." + }, + "results": { + "description": "All results for the mutate.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupBidModifierResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAdGroupCriteriaRequest": { + "description": "Request message for AdGroupCriterionService.MutateAdGroupCriteria.", + "id": "GoogleAdsSearchads360V23Services__MutateAdGroupCriteriaRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on individual criteria.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__AdGroupCriterionOperation" + }, + "type": "array" + }, + "partialFailure": { + "description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", + "type": "boolean" + }, + "responseContentType": { + "description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", + "enum": [ + "UNSPECIFIED", + "RESOURCE_NAME_ONLY", + "MUTABLE_RESOURCE" + ], + "enumDescriptions": [ + "Not specified. Will return the resource name only in the response.", + "The mutate response will be the resource name.", + "The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." + ], + "type": "string" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAdGroupCriteriaResponse": { + "description": "Response message for an ad group criterion mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateAdGroupCriteriaResponse", + "properties": { + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." + }, + "results": { + "description": "All results for the mutate.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupCriterionResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAdGroupCriterionCustomizerResult": { + "description": "The result for the ad group criterion customizer mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateAdGroupCriterionCustomizerResult", + "properties": { + "adGroupCriterionCustomizer": { + "$ref": "GoogleAdsSearchads360V23Resources__AdGroupCriterionCustomizer", + "description": "The mutated AdGroupCriterionCustomizer with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." + }, + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAdGroupCriterionCustomizersRequest": { + "description": "Request message for AdGroupCriterionCustomizerService.MutateAdGroupCriterionCustomizers.", + "id": "GoogleAdsSearchads360V23Services__MutateAdGroupCriterionCustomizersRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on individual ad group criterion customizers.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__AdGroupCriterionCustomizerOperation" + }, + "type": "array" + }, + "partialFailure": { + "description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", + "type": "boolean" + }, + "responseContentType": { + "description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", + "enum": [ + "UNSPECIFIED", + "RESOURCE_NAME_ONLY", + "MUTABLE_RESOURCE" + ], + "enumDescriptions": [ + "Not specified. Will return the resource name only in the response.", + "The mutate response will be the resource name.", + "The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." + ], + "type": "string" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAdGroupCriterionCustomizersResponse": { + "description": "Response message for an ad group criterion customizer mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateAdGroupCriterionCustomizersResponse", + "properties": { + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." + }, + "results": { + "description": "All results for the mutate.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupCriterionCustomizerResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAdGroupCriterionLabelResult": { + "description": "The result for an ad group criterion label mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateAdGroupCriterionLabelResult", + "properties": { + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAdGroupCriterionLabelsRequest": { + "description": "Request message for AdGroupCriterionLabelService.MutateAdGroupCriterionLabels.", + "id": "GoogleAdsSearchads360V23Services__MutateAdGroupCriterionLabelsRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on ad group criterion labels.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__AdGroupCriterionLabelOperation" + }, + "type": "array" + }, + "partialFailure": { + "description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", + "type": "boolean" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAdGroupCriterionLabelsResponse": { + "description": "Response message for an ad group criterion labels mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateAdGroupCriterionLabelsResponse", + "properties": { + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." + }, + "results": { + "description": "All results for the mutate.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupCriterionLabelResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAdGroupCriterionResult": { + "description": "The result for the criterion mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateAdGroupCriterionResult", + "properties": { + "adGroupCriterion": { + "$ref": "GoogleAdsSearchads360V23Resources__AdGroupCriterion", + "description": "The mutated ad group criterion with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." + }, + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAdGroupCustomizerResult": { + "description": "The result for the ad group customizer mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateAdGroupCustomizerResult", + "properties": { + "adGroupCustomizer": { + "$ref": "GoogleAdsSearchads360V23Resources__AdGroupCustomizer", + "description": "The mutated AdGroupCustomizer with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." + }, + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAdGroupCustomizersRequest": { + "description": "Request message for AdGroupCustomizerService.MutateAdGroupCustomizers.", + "id": "GoogleAdsSearchads360V23Services__MutateAdGroupCustomizersRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on individual ad group customizers.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__AdGroupCustomizerOperation" + }, + "type": "array" + }, + "partialFailure": { + "description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", + "type": "boolean" + }, + "responseContentType": { + "description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", + "enum": [ + "UNSPECIFIED", + "RESOURCE_NAME_ONLY", + "MUTABLE_RESOURCE" + ], + "enumDescriptions": [ + "Not specified. Will return the resource name only in the response.", + "The mutate response will be the resource name.", + "The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." + ], + "type": "string" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAdGroupCustomizersResponse": { + "description": "Response message for an ad group customizer mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateAdGroupCustomizersResponse", + "properties": { + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." + }, + "results": { + "description": "All results for the mutate.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupCustomizerResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAdGroupLabelResult": { + "description": "The result for an ad group label mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateAdGroupLabelResult", + "properties": { + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAdGroupLabelsRequest": { + "description": "Request message for AdGroupLabelService.MutateAdGroupLabels.", + "id": "GoogleAdsSearchads360V23Services__MutateAdGroupLabelsRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on ad group labels.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__AdGroupLabelOperation" + }, + "type": "array" + }, + "partialFailure": { + "description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", + "type": "boolean" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAdGroupLabelsResponse": { + "description": "Response message for an ad group labels mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateAdGroupLabelsResponse", + "properties": { + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." + }, + "results": { + "description": "All results for the mutate.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupLabelResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAdGroupResult": { + "description": "The result for the ad group mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateAdGroupResult", + "properties": { + "adGroup": { + "$ref": "GoogleAdsSearchads360V23Resources__AdGroup", + "description": "The mutated ad group with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." + }, + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAdGroupsRequest": { + "description": "Request message for AdGroupService.MutateAdGroups.", + "id": "GoogleAdsSearchads360V23Services__MutateAdGroupsRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on individual ad groups.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__AdGroupOperation" + }, + "type": "array" + }, + "partialFailure": { + "description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", + "type": "boolean" + }, + "responseContentType": { + "description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", + "enum": [ + "UNSPECIFIED", + "RESOURCE_NAME_ONLY", + "MUTABLE_RESOURCE" + ], + "enumDescriptions": [ + "Not specified. Will return the resource name only in the response.", + "The mutate response will be the resource name.", + "The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." + ], + "type": "string" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAdGroupsResponse": { + "description": "Response message for an ad group mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateAdGroupsResponse", + "properties": { + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." + }, + "results": { + "description": "All results for the mutate.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAdParameterResult": { + "description": "The result for the ad parameter mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateAdParameterResult", + "properties": { + "adParameter": { + "$ref": "GoogleAdsSearchads360V23Resources__AdParameter", + "description": "The mutated AdParameter with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." + }, + "resourceName": { + "description": "The resource name returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAdParametersRequest": { + "description": "Request message for AdParameterService.MutateAdParameters", + "id": "GoogleAdsSearchads360V23Services__MutateAdParametersRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on individual ad parameters.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__AdParameterOperation" + }, + "type": "array" + }, + "partialFailure": { + "description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", + "type": "boolean" + }, + "responseContentType": { + "description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", + "enum": [ + "UNSPECIFIED", + "RESOURCE_NAME_ONLY", + "MUTABLE_RESOURCE" + ], + "enumDescriptions": [ + "Not specified. Will return the resource name only in the response.", + "The mutate response will be the resource name.", + "The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." + ], + "type": "string" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAdParametersResponse": { + "description": "Response message for an ad parameter mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateAdParametersResponse", + "properties": { + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." + }, + "results": { + "description": "All results for the mutate.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAdParameterResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAdResult": { + "description": "The result for the ad mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateAdResult", + "properties": { + "ad": { + "$ref": "GoogleAdsSearchads360V23Resources__Ad", + "description": "The mutated ad with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." + }, + "resourceName": { + "description": "The resource name returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAdsRequest": { + "description": "Request message for AdService.MutateAds.", + "id": "GoogleAdsSearchads360V23Services__MutateAdsRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on individual ads.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__AdOperation" + }, + "type": "array" + }, + "partialFailure": { + "description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", + "type": "boolean" + }, + "responseContentType": { + "description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", + "enum": [ + "UNSPECIFIED", + "RESOURCE_NAME_ONLY", + "MUTABLE_RESOURCE" + ], + "enumDescriptions": [ + "Not specified. Will return the resource name only in the response.", + "The mutate response will be the resource name.", + "The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." + ], + "type": "string" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAdsResponse": { + "description": "Response message for an ad mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateAdsResponse", + "properties": { + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." + }, + "results": { + "description": "All results for the mutate.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAdResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAssetGroupAssetResult": { + "description": "The result for the asset group asset mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateAssetGroupAssetResult", + "properties": { + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAssetGroupAssetsRequest": { + "description": "Request message for AssetGroupAssetService.MutateAssetGroupAssets.", + "id": "GoogleAdsSearchads360V23Services__MutateAssetGroupAssetsRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on individual asset group assets.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__AssetGroupAssetOperation" + }, + "type": "array" + }, + "partialFailure": { + "description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", + "type": "boolean" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAssetGroupAssetsResponse": { + "description": "Response message for an asset group asset mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateAssetGroupAssetsResponse", + "properties": { + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." + }, + "results": { + "description": "All results for the mutate.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAssetGroupAssetResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAssetGroupListingGroupFilterResult": { + "description": "The result for the asset group listing group filter mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateAssetGroupListingGroupFilterResult", + "properties": { + "assetGroupListingGroupFilter": { + "$ref": "GoogleAdsSearchads360V23Resources__AssetGroupListingGroupFilter", + "description": "The mutated AssetGroupListingGroupFilter with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." + }, + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAssetGroupListingGroupFiltersRequest": { + "description": "Request message for AssetGroupListingGroupFilterService.MutateAssetGroupListingGroupFilters. partial_failure is not supported because the tree needs to be validated together.", + "id": "GoogleAdsSearchads360V23Services__MutateAssetGroupListingGroupFiltersRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on individual asset group listing group filters.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__AssetGroupListingGroupFilterOperation" + }, + "type": "array" + }, + "responseContentType": { + "description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", + "enum": [ + "UNSPECIFIED", + "RESOURCE_NAME_ONLY", + "MUTABLE_RESOURCE" + ], + "enumDescriptions": [ + "Not specified. Will return the resource name only in the response.", + "The mutate response will be the resource name.", + "The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." + ], + "type": "string" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAssetGroupListingGroupFiltersResponse": { + "description": "Response message for an asset group listing group filter mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateAssetGroupListingGroupFiltersResponse", + "properties": { + "results": { + "description": "All results for the mutate.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAssetGroupListingGroupFilterResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAssetGroupResult": { + "description": "The result for the asset group mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateAssetGroupResult", + "properties": { + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAssetGroupSignalResult": { + "description": "The result for the asset group signal mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateAssetGroupSignalResult", + "properties": { + "assetGroupSignal": { + "$ref": "GoogleAdsSearchads360V23Resources__AssetGroupSignal", + "description": "The mutated AssetGroupSignal with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." + }, + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAssetGroupSignalsRequest": { + "description": "Request message for AssetGroupSignalService.MutateAssetGroupSignals.", + "id": "GoogleAdsSearchads360V23Services__MutateAssetGroupSignalsRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on individual asset group signals.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__AssetGroupSignalOperation" + }, + "type": "array" + }, + "partialFailure": { + "description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", + "type": "boolean" + }, + "responseContentType": { + "description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", + "enum": [ + "UNSPECIFIED", + "RESOURCE_NAME_ONLY", + "MUTABLE_RESOURCE" + ], + "enumDescriptions": [ + "Not specified. Will return the resource name only in the response.", + "The mutate response will be the resource name.", + "The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." + ], + "type": "string" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAssetGroupSignalsResponse": { + "description": "Response message for an asset group signal mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateAssetGroupSignalsResponse", + "properties": { + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." + }, + "results": { + "description": "All results for the mutate.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAssetGroupSignalResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAssetGroupsRequest": { + "description": "Request message for AssetGroupService.MutateAssetGroups.", + "id": "GoogleAdsSearchads360V23Services__MutateAssetGroupsRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on individual asset groups.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__AssetGroupOperation" + }, + "type": "array" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAssetGroupsResponse": { + "description": "Response message for an asset group mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateAssetGroupsResponse", + "properties": { + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." + }, + "results": { + "description": "All results for the mutate.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAssetGroupResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAssetResult": { + "description": "The result for the asset mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateAssetResult", + "properties": { + "asset": { + "$ref": "GoogleAdsSearchads360V23Resources__Asset", + "description": "The mutated asset with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." + }, + "resourceName": { + "description": "The resource name returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAssetSetAssetResult": { + "description": "The result for the asset set asset mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateAssetSetAssetResult", + "properties": { + "assetSetAsset": { + "$ref": "GoogleAdsSearchads360V23Resources__AssetSetAsset", + "description": "The mutated asset set asset with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." + }, + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAssetSetAssetsRequest": { + "description": "Request message for AssetSetAssetService.MutateAssetSetAssets.", + "id": "GoogleAdsSearchads360V23Services__MutateAssetSetAssetsRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on individual asset set assets.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__AssetSetAssetOperation" + }, + "type": "array" + }, + "partialFailure": { + "description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", + "type": "boolean" + }, + "responseContentType": { + "description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", + "enum": [ + "UNSPECIFIED", + "RESOURCE_NAME_ONLY", + "MUTABLE_RESOURCE" + ], + "enumDescriptions": [ + "Not specified. Will return the resource name only in the response.", + "The mutate response will be the resource name.", + "The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." + ], + "type": "string" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAssetSetAssetsResponse": { + "description": "Response message for an asset set asset mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateAssetSetAssetsResponse", + "properties": { + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." + }, + "results": { + "description": "All results for the mutate.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAssetSetAssetResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAssetSetResult": { + "description": "The result for the asset set mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateAssetSetResult", + "properties": { + "assetSet": { + "$ref": "GoogleAdsSearchads360V23Resources__AssetSet", + "description": "The mutated asset set with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." + }, + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAssetSetsRequest": { + "description": "Request message for AssetSetService.MutateAssetSets.", + "id": "GoogleAdsSearchads360V23Services__MutateAssetSetsRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on individual asset sets.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__AssetSetOperation" + }, + "type": "array" + }, + "partialFailure": { + "description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", + "type": "boolean" + }, + "responseContentType": { + "description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", + "enum": [ + "UNSPECIFIED", + "RESOURCE_NAME_ONLY", + "MUTABLE_RESOURCE" + ], + "enumDescriptions": [ + "Not specified. Will return the resource name only in the response.", + "The mutate response will be the resource name.", + "The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." + ], + "type": "string" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAssetSetsResponse": { + "description": "Response message for an asset set mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateAssetSetsResponse", + "properties": { + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." + }, + "results": { + "description": "All results for the mutate.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAssetSetResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAssetsRequest": { + "description": "Request message for AssetService.MutateAssets", + "id": "GoogleAdsSearchads360V23Services__MutateAssetsRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on individual assets.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__AssetOperation" + }, + "type": "array" + }, + "partialFailure": { + "description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", + "type": "boolean" + }, + "responseContentType": { + "description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", + "enum": [ + "UNSPECIFIED", + "RESOURCE_NAME_ONLY", + "MUTABLE_RESOURCE" + ], + "enumDescriptions": [ + "Not specified. Will return the resource name only in the response.", + "The mutate response will be the resource name.", + "The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." + ], + "type": "string" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAssetsResponse": { + "description": "Response message for an asset mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateAssetsResponse", + "properties": { + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." + }, + "results": { + "description": "All results for the mutate.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAssetResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAudienceResult": { + "description": "The result for the audience mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateAudienceResult", + "properties": { + "audience": { + "$ref": "GoogleAdsSearchads360V23Resources__Audience", + "description": "The mutated Audience with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." + }, + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAudiencesRequest": { + "description": "Request message for AudienceService.MutateAudiences.", + "id": "GoogleAdsSearchads360V23Services__MutateAudiencesRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on individual audiences.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__AudienceOperation" + }, + "type": "array" + }, + "partialFailure": { + "description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", + "type": "boolean" + }, + "responseContentType": { + "description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", + "enum": [ + "UNSPECIFIED", + "RESOURCE_NAME_ONLY", + "MUTABLE_RESOURCE" + ], + "enumDescriptions": [ + "Not specified. Will return the resource name only in the response.", + "The mutate response will be the resource name.", + "The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." + ], + "type": "string" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateAudiencesResponse": { + "description": "Response message for an audience mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateAudiencesResponse", + "properties": { + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." + }, + "results": { + "description": "All results for the mutate.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAudienceResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateBatchJobRequest": { + "description": "Request message for BatchJobService.MutateBatchJob.", + "id": "GoogleAdsSearchads360V23Services__MutateBatchJobRequest", + "properties": { + "operation": { + "$ref": "GoogleAdsSearchads360V23Services__BatchJobOperation", + "description": "Required. The operation to perform on an individual batch job." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateBatchJobResponse": { + "description": "Response message for BatchJobService.MutateBatchJob.", + "id": "GoogleAdsSearchads360V23Services__MutateBatchJobResponse", + "properties": { + "result": { + "$ref": "GoogleAdsSearchads360V23Services__MutateBatchJobResult", + "description": "The result for the mutate." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateBatchJobResult": { + "description": "The result for the batch job mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateBatchJobResult", + "properties": { + "resourceName": { + "description": "The resource name of the batch job.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateBiddingDataExclusionsRequest": { + "description": "Request message for BiddingDataExclusionService.MutateBiddingDataExclusions.", + "id": "GoogleAdsSearchads360V23Services__MutateBiddingDataExclusionsRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on individual data exclusions.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__BiddingDataExclusionOperation" + }, + "type": "array" + }, + "partialFailure": { + "description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", + "type": "boolean" + }, + "responseContentType": { + "description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", + "enum": [ + "UNSPECIFIED", + "RESOURCE_NAME_ONLY", + "MUTABLE_RESOURCE" + ], + "enumDescriptions": [ + "Not specified. Will return the resource name only in the response.", + "The mutate response will be the resource name.", + "The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." + ], + "type": "string" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateBiddingDataExclusionsResponse": { + "description": "Response message for data exclusions mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateBiddingDataExclusionsResponse", + "properties": { + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." + }, + "results": { + "description": "All results for the mutate.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateBiddingDataExclusionsResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateBiddingDataExclusionsResult": { + "description": "The result for the data exclusion mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateBiddingDataExclusionsResult", + "properties": { + "biddingDataExclusion": { + "$ref": "GoogleAdsSearchads360V23Resources__BiddingDataExclusion", + "description": "The mutated bidding data exclusion with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." + }, + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateBiddingSeasonalityAdjustmentsRequest": { + "description": "Request message for BiddingSeasonalityAdjustmentService.MutateBiddingSeasonalityAdjustments.", + "id": "GoogleAdsSearchads360V23Services__MutateBiddingSeasonalityAdjustmentsRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on individual seasonality adjustments.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__BiddingSeasonalityAdjustmentOperation" + }, + "type": "array" + }, + "partialFailure": { + "description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", + "type": "boolean" + }, + "responseContentType": { + "description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", + "enum": [ + "UNSPECIFIED", + "RESOURCE_NAME_ONLY", + "MUTABLE_RESOURCE" + ], + "enumDescriptions": [ + "Not specified. Will return the resource name only in the response.", + "The mutate response will be the resource name.", + "The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." + ], + "type": "string" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateBiddingSeasonalityAdjustmentsResponse": { + "description": "Response message for seasonality adjustments mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateBiddingSeasonalityAdjustmentsResponse", + "properties": { + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." + }, + "results": { + "description": "All results for the mutate.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateBiddingSeasonalityAdjustmentsResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateBiddingSeasonalityAdjustmentsResult": { + "description": "The result for the seasonality adjustment mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateBiddingSeasonalityAdjustmentsResult", + "properties": { + "biddingSeasonalityAdjustment": { + "$ref": "GoogleAdsSearchads360V23Resources__BiddingSeasonalityAdjustment", + "description": "The mutated bidding seasonality adjustment with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." + }, + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateBiddingStrategiesRequest": { + "description": "Request message for BiddingStrategyService.MutateBiddingStrategies.", + "id": "GoogleAdsSearchads360V23Services__MutateBiddingStrategiesRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on individual bidding strategies.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__BiddingStrategyOperation" + }, + "type": "array" + }, + "partialFailure": { + "description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", + "type": "boolean" + }, + "responseContentType": { + "description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", + "enum": [ + "UNSPECIFIED", + "RESOURCE_NAME_ONLY", + "MUTABLE_RESOURCE" + ], + "enumDescriptions": [ + "Not specified. Will return the resource name only in the response.", + "The mutate response will be the resource name.", + "The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." + ], + "type": "string" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateBiddingStrategiesResponse": { + "description": "Response message for bidding strategy mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateBiddingStrategiesResponse", + "properties": { + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." + }, + "results": { + "description": "All results for the mutate.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateBiddingStrategyResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateBiddingStrategyResult": { + "description": "The result for the bidding strategy mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateBiddingStrategyResult", + "properties": { + "biddingStrategy": { + "$ref": "GoogleAdsSearchads360V23Resources__BiddingStrategy", + "description": "The mutated bidding strategy with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." + }, + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateBillingSetupRequest": { + "description": "Request message for billing setup mutate operations.", + "id": "GoogleAdsSearchads360V23Services__MutateBillingSetupRequest", + "properties": { + "operation": { + "$ref": "GoogleAdsSearchads360V23Services__BillingSetupOperation", + "description": "Required. The operation to perform." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateBillingSetupResponse": { + "description": "Response message for a billing setup operation.", + "id": "GoogleAdsSearchads360V23Services__MutateBillingSetupResponse", + "properties": { + "result": { + "$ref": "GoogleAdsSearchads360V23Services__MutateBillingSetupResult", + "description": "A result that identifies the resource affected by the mutate request." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateBillingSetupResult": { + "description": "Result for a single billing setup mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateBillingSetupResult", + "properties": { + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCampaignAssetResult": { + "description": "The result for the campaign asset mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateCampaignAssetResult", + "properties": { + "campaignAsset": { + "$ref": "GoogleAdsSearchads360V23Resources__CampaignAsset", + "description": "The mutated campaign asset with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." + }, + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCampaignAssetSetResult": { + "description": "The result for the campaign asset set mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateCampaignAssetSetResult", + "properties": { + "campaignAssetSet": { + "$ref": "GoogleAdsSearchads360V23Resources__CampaignAssetSet", + "description": "The mutated campaign asset set with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." + }, + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCampaignAssetSetsRequest": { + "description": "Request message for CampaignAssetSetService.MutateCampaignAssetSets.", + "id": "GoogleAdsSearchads360V23Services__MutateCampaignAssetSetsRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on individual campaign asset sets.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__CampaignAssetSetOperation" + }, + "type": "array" + }, + "partialFailure": { + "description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", + "type": "boolean" + }, + "responseContentType": { + "description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", + "enum": [ + "UNSPECIFIED", + "RESOURCE_NAME_ONLY", + "MUTABLE_RESOURCE" + ], + "enumDescriptions": [ + "Not specified. Will return the resource name only in the response.", + "The mutate response will be the resource name.", + "The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." + ], + "type": "string" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCampaignAssetSetsResponse": { + "description": "Response message for a campaign asset set mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateCampaignAssetSetsResponse", + "properties": { + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." + }, + "results": { + "description": "All results for the mutate.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCampaignAssetSetResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCampaignAssetsRequest": { + "description": "Request message for CampaignAssetService.MutateCampaignAssets.", + "id": "GoogleAdsSearchads360V23Services__MutateCampaignAssetsRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on individual campaign assets.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__CampaignAssetOperation" + }, + "type": "array" + }, + "partialFailure": { + "description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", + "type": "boolean" + }, + "responseContentType": { + "description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", + "enum": [ + "UNSPECIFIED", + "RESOURCE_NAME_ONLY", + "MUTABLE_RESOURCE" + ], + "enumDescriptions": [ + "Not specified. Will return the resource name only in the response.", + "The mutate response will be the resource name.", + "The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." + ], + "type": "string" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCampaignAssetsResponse": { + "description": "Response message for a campaign asset mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateCampaignAssetsResponse", + "properties": { + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." + }, + "results": { + "description": "All results for the mutate.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCampaignAssetResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCampaignBidModifierResult": { + "description": "The result for the criterion mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateCampaignBidModifierResult", + "properties": { + "campaignBidModifier": { + "$ref": "GoogleAdsSearchads360V23Resources__CampaignBidModifier", + "description": "The mutated campaign bid modifier with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." + }, + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCampaignBidModifiersRequest": { + "description": "Request message for CampaignBidModifierService.MutateCampaignBidModifiers.", + "id": "GoogleAdsSearchads360V23Services__MutateCampaignBidModifiersRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on individual campaign bid modifiers.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__CampaignBidModifierOperation" + }, + "type": "array" + }, + "partialFailure": { + "description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", + "type": "boolean" + }, + "responseContentType": { + "description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", + "enum": [ + "UNSPECIFIED", + "RESOURCE_NAME_ONLY", + "MUTABLE_RESOURCE" + ], + "enumDescriptions": [ + "Not specified. Will return the resource name only in the response.", + "The mutate response will be the resource name.", + "The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." + ], + "type": "string" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCampaignBidModifiersResponse": { + "description": "Response message for campaign bid modifiers mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateCampaignBidModifiersResponse", + "properties": { + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." + }, + "results": { + "description": "All results for the mutate.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCampaignBidModifierResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCampaignBudgetResult": { + "description": "The result for the campaign budget mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateCampaignBudgetResult", + "properties": { + "campaignBudget": { + "$ref": "GoogleAdsSearchads360V23Resources__CampaignBudget", + "description": "The mutated campaign budget with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." + }, + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCampaignBudgetsRequest": { + "description": "Request message for CampaignBudgetService.MutateCampaignBudgets.", + "id": "GoogleAdsSearchads360V23Services__MutateCampaignBudgetsRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on individual campaign budgets.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__CampaignBudgetOperation" + }, + "type": "array" + }, + "partialFailure": { + "description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", + "type": "boolean" + }, + "responseContentType": { + "description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", + "enum": [ + "UNSPECIFIED", + "RESOURCE_NAME_ONLY", + "MUTABLE_RESOURCE" + ], + "enumDescriptions": [ + "Not specified. Will return the resource name only in the response.", + "The mutate response will be the resource name.", + "The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." + ], + "type": "string" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCampaignBudgetsResponse": { + "description": "Response message for campaign budget mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateCampaignBudgetsResponse", + "properties": { + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." + }, + "results": { + "description": "All results for the mutate.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCampaignBudgetResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCampaignConversionGoalResult": { + "description": "The result for the campaign conversion goal mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateCampaignConversionGoalResult", + "properties": { + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCampaignConversionGoalsRequest": { + "description": "Request message for CampaignConversionGoalService.MutateCampaignConversionGoals.", + "id": "GoogleAdsSearchads360V23Services__MutateCampaignConversionGoalsRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on individual campaign conversion goal.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__CampaignConversionGoalOperation" + }, + "type": "array" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCampaignConversionGoalsResponse": { + "description": "Response message for a campaign conversion goal mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateCampaignConversionGoalsResponse", + "properties": { + "results": { + "description": "All results for the mutate.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCampaignConversionGoalResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCampaignCriteriaRequest": { + "description": "Request message for CampaignCriterionService.MutateCampaignCriteria.", + "id": "GoogleAdsSearchads360V23Services__MutateCampaignCriteriaRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on individual criteria.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__CampaignCriterionOperation" + }, + "type": "array" + }, + "partialFailure": { + "description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", + "type": "boolean" + }, + "responseContentType": { + "description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", + "enum": [ + "UNSPECIFIED", + "RESOURCE_NAME_ONLY", + "MUTABLE_RESOURCE" + ], + "enumDescriptions": [ + "Not specified. Will return the resource name only in the response.", + "The mutate response will be the resource name.", + "The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." + ], + "type": "string" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCampaignCriteriaResponse": { + "description": "Response message for campaign criterion mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateCampaignCriteriaResponse", + "properties": { + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." + }, + "results": { + "description": "All results for the mutate.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCampaignCriterionResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCampaignCriterionResult": { + "description": "The result for the criterion mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateCampaignCriterionResult", + "properties": { + "campaignCriterion": { + "$ref": "GoogleAdsSearchads360V23Resources__CampaignCriterion", + "description": "The mutated campaign criterion with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." + }, + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCampaignCustomizerResult": { + "description": "The result for the campaign customizer mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateCampaignCustomizerResult", + "properties": { + "campaignCustomizer": { + "$ref": "GoogleAdsSearchads360V23Resources__CampaignCustomizer", + "description": "The mutated CampaignCustomizer with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." + }, + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCampaignCustomizersRequest": { + "description": "Request message for CampaignCustomizerService.MutateCampaignCustomizers.", + "id": "GoogleAdsSearchads360V23Services__MutateCampaignCustomizersRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on individual campaign customizers.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__CampaignCustomizerOperation" + }, + "type": "array" + }, + "partialFailure": { + "description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", + "type": "boolean" + }, + "responseContentType": { + "description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", + "enum": [ + "UNSPECIFIED", + "RESOURCE_NAME_ONLY", + "MUTABLE_RESOURCE" + ], + "enumDescriptions": [ + "Not specified. Will return the resource name only in the response.", + "The mutate response will be the resource name.", + "The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." + ], + "type": "string" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCampaignCustomizersResponse": { + "description": "Response message for a campaign customizer mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateCampaignCustomizersResponse", + "properties": { + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." + }, + "results": { + "description": "All results for the mutate.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCampaignCustomizerResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCampaignDraftResult": { + "description": "The result for the campaign draft mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateCampaignDraftResult", + "properties": { + "campaignDraft": { + "$ref": "GoogleAdsSearchads360V23Resources__CampaignDraft", + "description": "The mutated campaign draft with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." + }, + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCampaignDraftsRequest": { + "description": "Request message for CampaignDraftService.MutateCampaignDrafts.", + "id": "GoogleAdsSearchads360V23Services__MutateCampaignDraftsRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on individual campaign drafts.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__CampaignDraftOperation" + }, + "type": "array" + }, + "partialFailure": { + "description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", + "type": "boolean" + }, + "responseContentType": { + "description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", + "enum": [ + "UNSPECIFIED", + "RESOURCE_NAME_ONLY", + "MUTABLE_RESOURCE" + ], + "enumDescriptions": [ + "Not specified. Will return the resource name only in the response.", + "The mutate response will be the resource name.", + "The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." + ], + "type": "string" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCampaignDraftsResponse": { + "description": "Response message for campaign draft mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateCampaignDraftsResponse", + "properties": { + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." + }, + "results": { + "description": "All results for the mutate.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCampaignDraftResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCampaignGoalConfigResult": { + "description": "The result for the campaign goal config mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateCampaignGoalConfigResult", + "properties": { + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCampaignGoalConfigsRequest": { + "description": "Request message for CampaignGoalConfigService.MutateCampaignGoalConfigs.", + "id": "GoogleAdsSearchads360V23Services__MutateCampaignGoalConfigsRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on the campaign goal configs.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__CampaignGoalConfigOperation" + }, + "type": "array" + }, + "partialFailure": { + "description": "Optional. If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", + "type": "boolean" + }, + "validateOnly": { + "description": "Optional. If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCampaignGoalConfigsResponse": { + "description": "Response message for a campaign goal config mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateCampaignGoalConfigsResponse", + "properties": { + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Errors that pertain to operation failures in the partial failure mode." + }, + "results": { + "description": "All results for the mutate.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCampaignGoalConfigResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCampaignGroupResult": { + "description": "The result for the campaign group mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateCampaignGroupResult", + "properties": { + "campaignGroup": { + "$ref": "GoogleAdsSearchads360V23Resources__CampaignGroup", + "description": "The mutated campaign group with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." + }, + "resourceName": { + "description": "Required. Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCampaignGroupsRequest": { + "description": "Request message for CampaignGroupService.MutateCampaignGroups.", + "id": "GoogleAdsSearchads360V23Services__MutateCampaignGroupsRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on individual campaign groups.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__CampaignGroupOperation" + }, + "type": "array" + }, + "partialFailure": { + "description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", + "type": "boolean" + }, + "responseContentType": { + "description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", + "enum": [ + "UNSPECIFIED", + "RESOURCE_NAME_ONLY", + "MUTABLE_RESOURCE" + ], + "enumDescriptions": [ + "Not specified. Will return the resource name only in the response.", + "The mutate response will be the resource name.", + "The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." + ], + "type": "string" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCampaignGroupsResponse": { + "description": "Response message for campaign group mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateCampaignGroupsResponse", + "properties": { + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." + }, + "results": { + "description": "All results for the mutate.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCampaignGroupResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCampaignLabelResult": { + "description": "The result for a campaign label mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateCampaignLabelResult", + "properties": { + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCampaignLabelsRequest": { + "description": "Request message for CampaignLabelService.MutateCampaignLabels.", + "id": "GoogleAdsSearchads360V23Services__MutateCampaignLabelsRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on campaign-label relationships.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__CampaignLabelOperation" + }, + "type": "array" + }, + "partialFailure": { + "description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", + "type": "boolean" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCampaignLabelsResponse": { + "description": "Response message for a campaign labels mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateCampaignLabelsResponse", + "properties": { + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." + }, + "results": { + "description": "All results for the mutate.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCampaignLabelResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCampaignResult": { + "description": "The result for the campaign mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateCampaignResult", + "properties": { + "campaign": { + "$ref": "GoogleAdsSearchads360V23Resources__Campaign", + "description": "The mutated campaign with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." + }, + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCampaignSharedSetResult": { + "description": "The result for the campaign shared set mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateCampaignSharedSetResult", + "properties": { + "campaignSharedSet": { + "$ref": "GoogleAdsSearchads360V23Resources__CampaignSharedSet", + "description": "The mutated campaign shared set with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." + }, + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCampaignSharedSetsRequest": { + "description": "Request message for CampaignSharedSetService.MutateCampaignSharedSets.", + "id": "GoogleAdsSearchads360V23Services__MutateCampaignSharedSetsRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on individual campaign shared sets.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__CampaignSharedSetOperation" + }, + "type": "array" + }, + "partialFailure": { + "description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", + "type": "boolean" + }, + "responseContentType": { + "description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", + "enum": [ + "UNSPECIFIED", + "RESOURCE_NAME_ONLY", + "MUTABLE_RESOURCE" + ], + "enumDescriptions": [ + "Not specified. Will return the resource name only in the response.", + "The mutate response will be the resource name.", + "The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." + ], + "type": "string" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCampaignSharedSetsResponse": { + "description": "Response message for a campaign shared set mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateCampaignSharedSetsResponse", + "properties": { + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." + }, + "results": { + "description": "All results for the mutate.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCampaignSharedSetResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCampaignsRequest": { + "description": "Request message for CampaignService.MutateCampaigns.", + "id": "GoogleAdsSearchads360V23Services__MutateCampaignsRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on individual campaigns.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__CampaignOperation" + }, + "type": "array" + }, + "partialFailure": { + "description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", + "type": "boolean" + }, + "responseContentType": { + "description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", + "enum": [ + "UNSPECIFIED", + "RESOURCE_NAME_ONLY", + "MUTABLE_RESOURCE" + ], + "enumDescriptions": [ + "Not specified. Will return the resource name only in the response.", + "The mutate response will be the resource name.", + "The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." + ], + "type": "string" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCampaignsResponse": { + "description": "Response message for campaign mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateCampaignsResponse", + "properties": { + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." + }, + "results": { + "description": "All results for the mutate.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCampaignResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateConversionActionResult": { + "description": "The result for the conversion action mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateConversionActionResult", + "properties": { + "conversionAction": { + "$ref": "GoogleAdsSearchads360V23Resources__ConversionAction", + "description": "The mutated conversion action with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." + }, + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateConversionActionsRequest": { + "description": "Request message for ConversionActionService.MutateConversionActions.", + "id": "GoogleAdsSearchads360V23Services__MutateConversionActionsRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on individual conversion actions.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__ConversionActionOperation" + }, + "type": "array" + }, + "partialFailure": { + "description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", + "type": "boolean" + }, + "responseContentType": { + "description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", + "enum": [ + "UNSPECIFIED", + "RESOURCE_NAME_ONLY", + "MUTABLE_RESOURCE" + ], + "enumDescriptions": [ + "Not specified. Will return the resource name only in the response.", + "The mutate response will be the resource name.", + "The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." + ], + "type": "string" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateConversionActionsResponse": { + "description": "Response message for ConversionActionService.MutateConversionActions.", + "id": "GoogleAdsSearchads360V23Services__MutateConversionActionsResponse", + "properties": { + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." + }, + "results": { + "description": "All results for the mutate.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateConversionActionResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateConversionCustomVariableResult": { + "description": "The result for the conversion custom variable mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateConversionCustomVariableResult", + "properties": { + "conversionCustomVariable": { + "$ref": "GoogleAdsSearchads360V23Resources__ConversionCustomVariable", + "description": "The mutated conversion custom variable with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." + }, + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateConversionCustomVariablesRequest": { + "description": "Request message for ConversionCustomVariableService.MutateConversionCustomVariables.", + "id": "GoogleAdsSearchads360V23Services__MutateConversionCustomVariablesRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on individual conversion custom variables.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__ConversionCustomVariableOperation" + }, + "type": "array" + }, + "partialFailure": { + "description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", + "type": "boolean" + }, + "responseContentType": { + "description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", + "enum": [ + "UNSPECIFIED", + "RESOURCE_NAME_ONLY", + "MUTABLE_RESOURCE" + ], + "enumDescriptions": [ + "Not specified. Will return the resource name only in the response.", + "The mutate response will be the resource name.", + "The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." + ], + "type": "string" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateConversionCustomVariablesResponse": { + "description": "Response message for ConversionCustomVariableService.MutateConversionCustomVariables.", + "id": "GoogleAdsSearchads360V23Services__MutateConversionCustomVariablesResponse", + "properties": { + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." + }, + "results": { + "description": "All results for the mutate.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateConversionCustomVariableResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateConversionGoalCampaignConfigResult": { + "description": "The result for the conversion goal campaign config mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateConversionGoalCampaignConfigResult", + "properties": { + "conversionGoalCampaignConfig": { + "$ref": "GoogleAdsSearchads360V23Resources__ConversionGoalCampaignConfig", + "description": "The mutated ConversionGoalCampaignConfig with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." + }, + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateConversionGoalCampaignConfigsRequest": { + "description": "Request message for ConversionGoalCampaignConfigService.MutateConversionGoalCampaignConfigs.", + "id": "GoogleAdsSearchads360V23Services__MutateConversionGoalCampaignConfigsRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on individual conversion goal campaign config.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__ConversionGoalCampaignConfigOperation" + }, + "type": "array" + }, + "responseContentType": { + "description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", + "enum": [ + "UNSPECIFIED", + "RESOURCE_NAME_ONLY", + "MUTABLE_RESOURCE" + ], + "enumDescriptions": [ + "Not specified. Will return the resource name only in the response.", + "The mutate response will be the resource name.", + "The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." + ], + "type": "string" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateConversionGoalCampaignConfigsResponse": { + "description": "Response message for a conversion goal campaign config mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateConversionGoalCampaignConfigsResponse", + "properties": { + "results": { + "description": "All results for the mutate.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateConversionGoalCampaignConfigResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateConversionValueRuleResult": { + "description": "The result for the conversion value rule mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateConversionValueRuleResult", + "properties": { + "conversionValueRule": { + "$ref": "GoogleAdsSearchads360V23Resources__ConversionValueRule", + "description": "The mutated conversion value rule with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." + }, + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateConversionValueRuleSetResult": { + "description": "The result for the conversion value rule set mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateConversionValueRuleSetResult", + "properties": { + "conversionValueRuleSet": { + "$ref": "GoogleAdsSearchads360V23Resources__ConversionValueRuleSet", + "description": "The mutated conversion value rule set with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." + }, + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateConversionValueRuleSetsRequest": { + "description": "Request message for ConversionValueRuleSetService.MutateConversionValueRuleSets.", + "id": "GoogleAdsSearchads360V23Services__MutateConversionValueRuleSetsRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on individual conversion value rule sets.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__ConversionValueRuleSetOperation" + }, + "type": "array" + }, + "partialFailure": { + "description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", + "type": "boolean" + }, + "responseContentType": { + "description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", + "enum": [ + "UNSPECIFIED", + "RESOURCE_NAME_ONLY", + "MUTABLE_RESOURCE" + ], + "enumDescriptions": [ + "Not specified. Will return the resource name only in the response.", + "The mutate response will be the resource name.", + "The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." + ], + "type": "string" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateConversionValueRuleSetsResponse": { + "description": "Response message for ConversionValueRuleSetService.MutateConversionValueRuleSets.", + "id": "GoogleAdsSearchads360V23Services__MutateConversionValueRuleSetsResponse", + "properties": { + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." + }, + "results": { + "description": "All results for the mutate.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateConversionValueRuleSetResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateConversionValueRulesRequest": { + "description": "Request message for ConversionValueRuleService.MutateConversionValueRules.", + "id": "GoogleAdsSearchads360V23Services__MutateConversionValueRulesRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on individual conversion value rules.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__ConversionValueRuleOperation" + }, + "type": "array" + }, + "partialFailure": { + "description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", + "type": "boolean" + }, + "responseContentType": { + "description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", + "enum": [ + "UNSPECIFIED", + "RESOURCE_NAME_ONLY", + "MUTABLE_RESOURCE" + ], + "enumDescriptions": [ + "Not specified. Will return the resource name only in the response.", + "The mutate response will be the resource name.", + "The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." + ], + "type": "string" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateConversionValueRulesResponse": { + "description": "Response message for ConversionValueRuleService.MutateConversionValueRules.", + "id": "GoogleAdsSearchads360V23Services__MutateConversionValueRulesResponse", + "properties": { + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." + }, + "results": { + "description": "All results for the mutate.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateConversionValueRuleResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCustomAudienceResult": { + "description": "The result for the custom audience mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateCustomAudienceResult", + "properties": { + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCustomAudiencesRequest": { + "description": "Request message for CustomAudienceService.MutateCustomAudiences.", + "id": "GoogleAdsSearchads360V23Services__MutateCustomAudiencesRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on individual custom audiences.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__CustomAudienceOperation" + }, + "type": "array" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCustomAudiencesResponse": { + "description": "Response message for custom audience mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateCustomAudiencesResponse", + "properties": { + "results": { + "description": "All results for the mutate.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCustomAudienceResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCustomConversionGoalResult": { + "description": "The result for the custom conversion goal mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateCustomConversionGoalResult", + "properties": { + "customConversionGoal": { + "$ref": "GoogleAdsSearchads360V23Resources__CustomConversionGoal", + "description": "The mutated CustomConversionGoal with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." + }, + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCustomConversionGoalsRequest": { + "description": "Request message for CustomConversionGoalService.MutateCustomConversionGoals.", + "id": "GoogleAdsSearchads360V23Services__MutateCustomConversionGoalsRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on individual custom conversion goal.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__CustomConversionGoalOperation" + }, + "type": "array" + }, + "responseContentType": { + "description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", + "enum": [ + "UNSPECIFIED", + "RESOURCE_NAME_ONLY", + "MUTABLE_RESOURCE" + ], + "enumDescriptions": [ + "Not specified. Will return the resource name only in the response.", + "The mutate response will be the resource name.", + "The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." + ], + "type": "string" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCustomConversionGoalsResponse": { + "description": "Response message for a custom conversion goal mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateCustomConversionGoalsResponse", + "properties": { + "results": { + "description": "All results for the mutate.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCustomConversionGoalResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCustomInterestResult": { + "description": "The result for the custom interest mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateCustomInterestResult", + "properties": { + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCustomInterestsRequest": { + "description": "Request message for CustomInterestService.MutateCustomInterests.", + "id": "GoogleAdsSearchads360V23Services__MutateCustomInterestsRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on individual custom interests.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__CustomInterestOperation" + }, + "type": "array" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCustomInterestsResponse": { + "description": "Response message for custom interest mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateCustomInterestsResponse", + "properties": { + "results": { + "description": "All results for the mutate.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCustomInterestResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCustomerAssetResult": { + "description": "The result for the customer asset mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateCustomerAssetResult", + "properties": { + "customerAsset": { + "$ref": "GoogleAdsSearchads360V23Resources__CustomerAsset", + "description": "The mutated customer asset with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." + }, + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCustomerAssetSetResult": { + "description": "The result for the customer asset set mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateCustomerAssetSetResult", + "properties": { + "customerAssetSet": { + "$ref": "GoogleAdsSearchads360V23Resources__CustomerAssetSet", + "description": "The mutated customer asset set with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." + }, + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCustomerAssetSetsRequest": { + "description": "Request message for CustomerAssetSetService.MutateCustomerAssetSets.", + "id": "GoogleAdsSearchads360V23Services__MutateCustomerAssetSetsRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on individual customer asset sets.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__CustomerAssetSetOperation" + }, + "type": "array" + }, + "partialFailure": { + "description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", + "type": "boolean" + }, + "responseContentType": { + "description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", + "enum": [ + "UNSPECIFIED", + "RESOURCE_NAME_ONLY", + "MUTABLE_RESOURCE" + ], + "enumDescriptions": [ + "Not specified. Will return the resource name only in the response.", + "The mutate response will be the resource name.", + "The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." + ], + "type": "string" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCustomerAssetSetsResponse": { + "description": "Response message for a customer asset set mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateCustomerAssetSetsResponse", + "properties": { + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (e.g. auth errors), we return an RPC level error." + }, + "results": { + "description": "All results for the mutate.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCustomerAssetSetResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCustomerAssetsRequest": { + "description": "Request message for CustomerAssetService.MutateCustomerAssets.", + "id": "GoogleAdsSearchads360V23Services__MutateCustomerAssetsRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on individual customer assets.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__CustomerAssetOperation" + }, + "type": "array" + }, + "partialFailure": { + "description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", + "type": "boolean" + }, + "responseContentType": { + "description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", + "enum": [ + "UNSPECIFIED", + "RESOURCE_NAME_ONLY", + "MUTABLE_RESOURCE" + ], + "enumDescriptions": [ + "Not specified. Will return the resource name only in the response.", + "The mutate response will be the resource name.", + "The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." + ], + "type": "string" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCustomerAssetsResponse": { + "description": "Response message for a customer asset mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateCustomerAssetsResponse", + "properties": { + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." + }, + "results": { + "description": "All results for the mutate.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCustomerAssetResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCustomerClientLinkRequest": { + "description": "Request message for CustomerClientLinkService.MutateCustomerClientLink.", + "id": "GoogleAdsSearchads360V23Services__MutateCustomerClientLinkRequest", + "properties": { + "operation": { + "$ref": "GoogleAdsSearchads360V23Services__CustomerClientLinkOperation", + "description": "Required. The operation to perform on the individual CustomerClientLink." + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCustomerClientLinkResponse": { + "description": "Response message for a CustomerClientLink mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateCustomerClientLinkResponse", + "properties": { + "result": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCustomerClientLinkResult", + "description": "A result that identifies the resource affected by the mutate request." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCustomerClientLinkResult": { + "description": "The result for a single customer client link mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateCustomerClientLinkResult", + "properties": { + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCustomerConversionGoalResult": { + "description": "The result for the customer conversion goal mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateCustomerConversionGoalResult", + "properties": { + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCustomerConversionGoalsRequest": { + "description": "Request message for CustomerConversionGoalService.MutateCustomerConversionGoals.", + "id": "GoogleAdsSearchads360V23Services__MutateCustomerConversionGoalsRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on individual customer conversion goal.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__CustomerConversionGoalOperation" + }, + "type": "array" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCustomerConversionGoalsResponse": { + "description": "Response message for a customer conversion goal mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateCustomerConversionGoalsResponse", + "properties": { + "results": { + "description": "All results for the mutate.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCustomerConversionGoalResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCustomerCustomizerResult": { + "description": "The result for the customizer attribute mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateCustomerCustomizerResult", + "properties": { + "customerCustomizer": { + "$ref": "GoogleAdsSearchads360V23Resources__CustomerCustomizer", + "description": "The mutated CustomerCustomizer with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." + }, + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCustomerCustomizersRequest": { + "description": "Request message for CustomerCustomizerService.MutateCustomerCustomizers.", + "id": "GoogleAdsSearchads360V23Services__MutateCustomerCustomizersRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on individual customer customizers.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__CustomerCustomizerOperation" + }, + "type": "array" + }, + "partialFailure": { + "description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", + "type": "boolean" + }, + "responseContentType": { + "description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", + "enum": [ + "UNSPECIFIED", + "RESOURCE_NAME_ONLY", + "MUTABLE_RESOURCE" + ], + "enumDescriptions": [ + "Not specified. Will return the resource name only in the response.", + "The mutate response will be the resource name.", + "The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." + ], + "type": "string" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCustomerCustomizersResponse": { + "description": "Response message for a customizer attribute mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateCustomerCustomizersResponse", + "properties": { + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." + }, + "results": { + "description": "All results for the mutate.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCustomerCustomizerResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCustomerLabelResult": { + "description": "The result for a customer label mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateCustomerLabelResult", + "properties": { + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCustomerLabelsRequest": { + "description": "Request message for CustomerLabelService.MutateCustomerLabels.", + "id": "GoogleAdsSearchads360V23Services__MutateCustomerLabelsRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on customer-label relationships.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__CustomerLabelOperation" + }, + "type": "array" + }, + "partialFailure": { + "description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", + "type": "boolean" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCustomerLabelsResponse": { + "description": "Response message for a customer labels mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateCustomerLabelsResponse", + "properties": { + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." + }, + "results": { + "description": "All results for the mutate.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCustomerLabelResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCustomerManagerLinkRequest": { + "description": "Request message for CustomerManagerLinkService.MutateCustomerManagerLink.", + "id": "GoogleAdsSearchads360V23Services__MutateCustomerManagerLinkRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on individual customer manager links.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__CustomerManagerLinkOperation" + }, + "type": "array" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCustomerManagerLinkResponse": { + "description": "Response message for a CustomerManagerLink mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateCustomerManagerLinkResponse", + "properties": { + "results": { + "description": "A result that identifies the resource affected by the mutate request.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCustomerManagerLinkResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCustomerManagerLinkResult": { + "description": "The result for the customer manager link mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateCustomerManagerLinkResult", + "properties": { + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCustomerNegativeCriteriaRequest": { + "description": "Request message for CustomerNegativeCriterionService.MutateCustomerNegativeCriteria.", + "id": "GoogleAdsSearchads360V23Services__MutateCustomerNegativeCriteriaRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on individual criteria.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__CustomerNegativeCriterionOperation" + }, + "type": "array" + }, + "partialFailure": { + "description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", + "type": "boolean" + }, + "responseContentType": { + "description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", + "enum": [ + "UNSPECIFIED", + "RESOURCE_NAME_ONLY", + "MUTABLE_RESOURCE" + ], + "enumDescriptions": [ + "Not specified. Will return the resource name only in the response.", + "The mutate response will be the resource name.", + "The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." + ], + "type": "string" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCustomerNegativeCriteriaResponse": { + "description": "Response message for customer negative criterion mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateCustomerNegativeCriteriaResponse", + "properties": { + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." + }, + "results": { + "description": "All results for the mutate.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCustomerNegativeCriteriaResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCustomerNegativeCriteriaResult": { + "description": "The result for the criterion mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateCustomerNegativeCriteriaResult", + "properties": { + "customerNegativeCriterion": { + "$ref": "GoogleAdsSearchads360V23Resources__CustomerNegativeCriterion", + "description": "The mutated criterion with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." + }, + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCustomerRequest": { + "description": "Request message for CustomerService.MutateCustomer.", + "id": "GoogleAdsSearchads360V23Services__MutateCustomerRequest", + "properties": { + "operation": { + "$ref": "GoogleAdsSearchads360V23Services__CustomerOperation", + "description": "Required. The operation to perform on the customer" + }, + "responseContentType": { + "description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", + "enum": [ + "UNSPECIFIED", + "RESOURCE_NAME_ONLY", + "MUTABLE_RESOURCE" + ], + "enumDescriptions": [ + "Not specified. Will return the resource name only in the response.", + "The mutate response will be the resource name.", + "The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." + ], + "type": "string" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCustomerResponse": { + "description": "Response message for customer mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateCustomerResponse", + "properties": { + "result": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCustomerResult", + "description": "Result for the mutate." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCustomerResult": { + "description": "The result for the customer mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateCustomerResult", + "properties": { + "customer": { + "$ref": "GoogleAdsSearchads360V23Resources__Customer", + "description": "The mutated customer with only mutable fields after mutate. The fields will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." + }, + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCustomerSkAdNetworkConversionValueSchemaRequest": { + "description": "Request message for CustomerSkAdNetworkConversionValueSchemaService.MutateCustomerSkAdNetworkConversionValueSchema.", + "id": "GoogleAdsSearchads360V23Services__MutateCustomerSkAdNetworkConversionValueSchemaRequest", + "properties": { + "enableWarnings": { + "description": "Optional. If true, enables returning warnings. Warnings return error messages and error codes without blocking the execution of the mutate operation.", + "type": "boolean" + }, + "operation": { + "$ref": "GoogleAdsSearchads360V23Services__CustomerSkAdNetworkConversionValueSchemaOperation", + "description": "The operation to perform." + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCustomerSkAdNetworkConversionValueSchemaResponse": { + "description": "Response message for MutateCustomerSkAdNetworkConversionValueSchema.", + "id": "GoogleAdsSearchads360V23Services__MutateCustomerSkAdNetworkConversionValueSchemaResponse", + "properties": { + "result": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCustomerSkAdNetworkConversionValueSchemaResult", + "description": "All results for the mutate." + }, + "warning": { + "$ref": "GoogleRpc__Status", + "description": "Non blocking errors that provides schema validation failure details. Returned only when enable_warnings = true." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCustomerSkAdNetworkConversionValueSchemaResult": { + "description": "The result for the CustomerSkAdNetworkConversionValueSchema mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateCustomerSkAdNetworkConversionValueSchemaResult", + "properties": { + "appId": { + "description": "App ID of the SkanConversionValue modified.", + "type": "string" + }, + "resourceName": { + "description": "Resource name of the customer that was modified.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCustomerUserAccessInvitationRequest": { + "description": "Request message for CustomerUserAccessInvitationService.MutateCustomerUserAccessInvitation", + "id": "GoogleAdsSearchads360V23Services__MutateCustomerUserAccessInvitationRequest", + "properties": { + "operation": { + "$ref": "GoogleAdsSearchads360V23Services__CustomerUserAccessInvitationOperation", + "description": "Required. The operation to perform on the access invitation" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCustomerUserAccessInvitationResponse": { + "description": "Response message for access invitation mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateCustomerUserAccessInvitationResponse", + "properties": { + "result": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCustomerUserAccessInvitationResult", + "description": "Result for the mutate." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCustomerUserAccessInvitationResult": { + "description": "The result for the access invitation mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateCustomerUserAccessInvitationResult", + "properties": { + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCustomerUserAccessRequest": { + "description": "Mutate Request for CustomerUserAccessService.MutateCustomerUserAccess.", + "id": "GoogleAdsSearchads360V23Services__MutateCustomerUserAccessRequest", + "properties": { + "operation": { + "$ref": "GoogleAdsSearchads360V23Services__CustomerUserAccessOperation", + "description": "Required. The operation to perform on the customer" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCustomerUserAccessResponse": { + "description": "Response message for customer user access mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateCustomerUserAccessResponse", + "properties": { + "result": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCustomerUserAccessResult", + "description": "Result for the mutate." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCustomerUserAccessResult": { + "description": "The result for the customer user access mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateCustomerUserAccessResult", + "properties": { + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCustomizerAttributeResult": { + "description": "The result for the customizer attribute mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateCustomizerAttributeResult", + "properties": { + "customizerAttribute": { + "$ref": "GoogleAdsSearchads360V23Resources__CustomizerAttribute", + "description": "The mutated CustomizerAttribute with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." + }, + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCustomizerAttributesRequest": { + "description": "Request message for CustomizerAttributeService.MutateCustomizerAttributes.", + "id": "GoogleAdsSearchads360V23Services__MutateCustomizerAttributesRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on individual customizer attributes.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__CustomizerAttributeOperation" + }, + "type": "array" + }, + "partialFailure": { + "description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", + "type": "boolean" + }, + "responseContentType": { + "description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", + "enum": [ + "UNSPECIFIED", + "RESOURCE_NAME_ONLY", + "MUTABLE_RESOURCE" + ], + "enumDescriptions": [ + "Not specified. Will return the resource name only in the response.", + "The mutate response will be the resource name.", + "The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." + ], + "type": "string" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateCustomizerAttributesResponse": { + "description": "Response message for a customizer attribute mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateCustomizerAttributesResponse", + "properties": { + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." + }, + "results": { + "description": "All results for the mutate.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCustomizerAttributeResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateExperimentArmResult": { + "description": "The result for the experiment arm mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateExperimentArmResult", + "properties": { + "experimentArm": { + "$ref": "GoogleAdsSearchads360V23Resources__ExperimentArm", + "description": "The mutated experiment arm with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." + }, + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateExperimentArmsRequest": { + "description": "Request message for ExperimentArmService.MutateExperimentArms.", + "id": "GoogleAdsSearchads360V23Services__MutateExperimentArmsRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on individual experiment arm.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__ExperimentArmOperation" + }, + "type": "array" + }, + "partialFailure": { + "description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", + "type": "boolean" + }, + "responseContentType": { + "description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", + "enum": [ + "UNSPECIFIED", + "RESOURCE_NAME_ONLY", + "MUTABLE_RESOURCE" + ], + "enumDescriptions": [ + "Not specified. Will return the resource name only in the response.", + "The mutate response will be the resource name.", + "The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." + ], + "type": "string" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateExperimentArmsResponse": { + "description": "Response message for experiment arm mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateExperimentArmsResponse", + "properties": { + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." + }, + "results": { + "description": "All results for the mutate.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateExperimentArmResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateExperimentResult": { + "description": "The result for the campaign experiment mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateExperimentResult", + "properties": { + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateExperimentsRequest": { + "description": "Request message for ExperimentService.MutateExperiments.", + "id": "GoogleAdsSearchads360V23Services__MutateExperimentsRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on individual experiments.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__ExperimentOperation" + }, + "type": "array" + }, + "partialFailure": { + "description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", + "type": "boolean" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateExperimentsResponse": { + "description": "Response message for experiment mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateExperimentsResponse", + "properties": { + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." + }, + "results": { + "description": "All results for the mutate.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateExperimentResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateGoalResult": { + "description": "The result for the goal mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateGoalResult", + "properties": { + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateGoalsRequest": { + "description": "Request message for GoalService.MutateGoals.", + "id": "GoogleAdsSearchads360V23Services__MutateGoalsRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on the goals.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__GoalOperation" + }, + "type": "array" + }, + "partialFailure": { + "description": "Optional. If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", + "type": "boolean" + }, + "validateOnly": { + "description": "Optional. If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateGoalsResponse": { + "description": "Response message for a goal mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateGoalsResponse", + "properties": { + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Errors that pertain to operation failures in the partial failure mode." + }, + "results": { + "description": "All results for the mutate.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateGoalResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupKeywordResult": { + "description": "The result for the Keyword Plan ad group keyword mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupKeywordResult", + "properties": { + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupKeywordsRequest": { + "description": "Request message for KeywordPlanAdGroupKeywordService.MutateKeywordPlanAdGroupKeywords.", + "id": "GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupKeywordsRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on individual Keyword Plan ad group keywords.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__KeywordPlanAdGroupKeywordOperation" + }, + "type": "array" + }, + "partialFailure": { + "description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", + "type": "boolean" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupKeywordsResponse": { + "description": "Response message for a Keyword Plan ad group keyword mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupKeywordsResponse", + "properties": { + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." + }, + "results": { + "description": "All results for the mutate.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupKeywordResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupResult": { + "description": "The result for the Keyword Plan ad group mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupResult", + "properties": { + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupsRequest": { + "description": "Request message for KeywordPlanAdGroupService.MutateKeywordPlanAdGroups.", + "id": "GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupsRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on individual Keyword Plan ad groups.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__KeywordPlanAdGroupOperation" + }, + "type": "array" + }, + "partialFailure": { + "description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", + "type": "boolean" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupsResponse": { + "description": "Response message for a Keyword Plan ad group mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupsResponse", + "properties": { + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." + }, + "results": { + "description": "All results for the mutate. The order of the results is determined by the order of the keywords in the original request.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignKeywordResult": { + "description": "The result for the Keyword Plan campaign keyword mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignKeywordResult", + "properties": { + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignKeywordsRequest": { + "description": "Request message for KeywordPlanCampaignKeywordService.MutateKeywordPlanCampaignKeywords.", + "id": "GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignKeywordsRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on individual Keyword Plan campaign keywords.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__KeywordPlanCampaignKeywordOperation" + }, + "type": "array" + }, + "partialFailure": { + "description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", + "type": "boolean" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignKeywordsResponse": { + "description": "Response message for a Keyword Plan campaign keyword mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignKeywordsResponse", + "properties": { + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." + }, + "results": { + "description": "All results for the mutate.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignKeywordResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignResult": { + "description": "The result for the Keyword Plan campaign mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignResult", + "properties": { + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignsRequest": { + "description": "Request message for KeywordPlanCampaignService.MutateKeywordPlanCampaigns.", + "id": "GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignsRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on individual Keyword Plan campaigns.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__KeywordPlanCampaignOperation" + }, + "type": "array" + }, + "partialFailure": { + "description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", + "type": "boolean" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignsResponse": { + "description": "Response message for a Keyword Plan campaign mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignsResponse", + "properties": { + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." + }, + "results": { + "description": "All results for the mutate.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateKeywordPlansRequest": { + "description": "Request message for KeywordPlanService.MutateKeywordPlans.", + "id": "GoogleAdsSearchads360V23Services__MutateKeywordPlansRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on individual keyword plans.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__KeywordPlanOperation" + }, + "type": "array" + }, + "partialFailure": { + "description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", + "type": "boolean" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateKeywordPlansResponse": { + "description": "Response message for a keyword plan mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateKeywordPlansResponse", + "properties": { + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." + }, + "results": { + "description": "All results for the mutate.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateKeywordPlansResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateKeywordPlansResult": { + "description": "The result for the keyword plan mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateKeywordPlansResult", + "properties": { + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateLabelResult": { + "description": "The result for a label mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateLabelResult", + "properties": { + "label": { + "$ref": "GoogleAdsSearchads360V23Resources__Label", + "description": "The mutated label with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." + }, + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateLabelsRequest": { + "description": "Request message for LabelService.MutateLabels.", + "id": "GoogleAdsSearchads360V23Services__MutateLabelsRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on labels.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__LabelOperation" + }, + "type": "array" + }, + "partialFailure": { + "description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", + "type": "boolean" + }, + "responseContentType": { + "description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", + "enum": [ + "UNSPECIFIED", + "RESOURCE_NAME_ONLY", + "MUTABLE_RESOURCE" + ], + "enumDescriptions": [ + "Not specified. Will return the resource name only in the response.", + "The mutate response will be the resource name.", + "The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." + ], + "type": "string" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateLabelsResponse": { + "description": "Response message for a labels mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateLabelsResponse", + "properties": { + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." + }, + "results": { + "description": "All results for the mutate.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateLabelResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateOperation": { + "description": "A single operation (create, update, remove) on a resource.", + "id": "GoogleAdsSearchads360V23Services__MutateOperation", + "properties": { + "adGroupAdLabelOperation": { + "$ref": "GoogleAdsSearchads360V23Services__AdGroupAdLabelOperation", + "description": "An ad group ad label mutate operation." + }, + "adGroupAdOperation": { + "$ref": "GoogleAdsSearchads360V23Services__AdGroupAdOperation", + "description": "An ad group ad mutate operation." + }, + "adGroupAssetOperation": { + "$ref": "GoogleAdsSearchads360V23Services__AdGroupAssetOperation", + "description": "An ad group asset mutate operation." + }, + "adGroupBidModifierOperation": { + "$ref": "GoogleAdsSearchads360V23Services__AdGroupBidModifierOperation", + "description": "An ad group bid modifier mutate operation." + }, + "adGroupCriterionCustomizerOperation": { + "$ref": "GoogleAdsSearchads360V23Services__AdGroupCriterionCustomizerOperation", + "description": "An ad group criterion customizer mutate operation." + }, + "adGroupCriterionLabelOperation": { + "$ref": "GoogleAdsSearchads360V23Services__AdGroupCriterionLabelOperation", + "description": "An ad group criterion label mutate operation." + }, + "adGroupCriterionOperation": { + "$ref": "GoogleAdsSearchads360V23Services__AdGroupCriterionOperation", + "description": "An ad group criterion mutate operation." + }, + "adGroupCustomizerOperation": { + "$ref": "GoogleAdsSearchads360V23Services__AdGroupCustomizerOperation", + "description": "An ad group customizer mutate operation." + }, + "adGroupLabelOperation": { + "$ref": "GoogleAdsSearchads360V23Services__AdGroupLabelOperation", + "description": "An ad group label mutate operation." + }, + "adGroupOperation": { + "$ref": "GoogleAdsSearchads360V23Services__AdGroupOperation", + "description": "An ad group mutate operation." + }, + "adOperation": { + "$ref": "GoogleAdsSearchads360V23Services__AdOperation", + "description": "An ad mutate operation." + }, + "adParameterOperation": { + "$ref": "GoogleAdsSearchads360V23Services__AdParameterOperation", + "description": "An ad parameter mutate operation." + }, + "assetGroupAssetOperation": { + "$ref": "GoogleAdsSearchads360V23Services__AssetGroupAssetOperation", + "description": "An asset group asset mutate operation." + }, + "assetGroupListingGroupFilterOperation": { + "$ref": "GoogleAdsSearchads360V23Services__AssetGroupListingGroupFilterOperation", + "description": "An asset group listing group filter mutate operation." + }, + "assetGroupOperation": { + "$ref": "GoogleAdsSearchads360V23Services__AssetGroupOperation", + "description": "An asset group mutate operation." + }, + "assetGroupSignalOperation": { + "$ref": "GoogleAdsSearchads360V23Services__AssetGroupSignalOperation", + "description": "An asset group signal mutate operation." + }, + "assetOperation": { + "$ref": "GoogleAdsSearchads360V23Services__AssetOperation", + "description": "An asset mutate operation." + }, + "assetSetAssetOperation": { + "$ref": "GoogleAdsSearchads360V23Services__AssetSetAssetOperation", + "description": "An asset set asset mutate operation." + }, + "assetSetOperation": { + "$ref": "GoogleAdsSearchads360V23Services__AssetSetOperation", + "description": "An asset set mutate operation." + }, + "audienceOperation": { + "$ref": "GoogleAdsSearchads360V23Services__AudienceOperation", + "description": "An audience mutate operation." + }, + "biddingDataExclusionOperation": { + "$ref": "GoogleAdsSearchads360V23Services__BiddingDataExclusionOperation", + "description": "A bidding data exclusion mutate operation." + }, + "biddingSeasonalityAdjustmentOperation": { + "$ref": "GoogleAdsSearchads360V23Services__BiddingSeasonalityAdjustmentOperation", + "description": "A bidding seasonality adjustment mutate operation." + }, + "biddingStrategyOperation": { + "$ref": "GoogleAdsSearchads360V23Services__BiddingStrategyOperation", + "description": "A bidding strategy mutate operation." + }, + "campaignAssetOperation": { + "$ref": "GoogleAdsSearchads360V23Services__CampaignAssetOperation", + "description": "A campaign asset mutate operation." + }, + "campaignAssetSetOperation": { + "$ref": "GoogleAdsSearchads360V23Services__CampaignAssetSetOperation", + "description": "A campaign asset mutate operation." + }, + "campaignBidModifierOperation": { + "$ref": "GoogleAdsSearchads360V23Services__CampaignBidModifierOperation", + "description": "A campaign bid modifier mutate operation." + }, + "campaignBudgetOperation": { + "$ref": "GoogleAdsSearchads360V23Services__CampaignBudgetOperation", + "description": "A campaign budget mutate operation." + }, + "campaignConversionGoalOperation": { + "$ref": "GoogleAdsSearchads360V23Services__CampaignConversionGoalOperation", + "description": "A campaign conversion goal mutate operation." + }, + "campaignCriterionOperation": { + "$ref": "GoogleAdsSearchads360V23Services__CampaignCriterionOperation", + "description": "A campaign criterion mutate operation." + }, + "campaignCustomizerOperation": { + "$ref": "GoogleAdsSearchads360V23Services__CampaignCustomizerOperation", + "description": "A campaign customizer mutate operation." + }, + "campaignDraftOperation": { + "$ref": "GoogleAdsSearchads360V23Services__CampaignDraftOperation", + "description": "A campaign draft mutate operation." + }, + "campaignGroupOperation": { + "$ref": "GoogleAdsSearchads360V23Services__CampaignGroupOperation", + "description": "A campaign group mutate operation." + }, + "campaignLabelOperation": { + "$ref": "GoogleAdsSearchads360V23Services__CampaignLabelOperation", + "description": "A campaign label mutate operation." + }, + "campaignOperation": { + "$ref": "GoogleAdsSearchads360V23Services__CampaignOperation", + "description": "A campaign mutate operation." + }, + "campaignSharedSetOperation": { + "$ref": "GoogleAdsSearchads360V23Services__CampaignSharedSetOperation", + "description": "A campaign shared set mutate operation." + }, + "conversionActionOperation": { + "$ref": "GoogleAdsSearchads360V23Services__ConversionActionOperation", + "description": "A conversion action mutate operation." + }, + "conversionCustomVariableOperation": { + "$ref": "GoogleAdsSearchads360V23Services__ConversionCustomVariableOperation", + "description": "A conversion custom variable mutate operation." + }, + "conversionGoalCampaignConfigOperation": { + "$ref": "GoogleAdsSearchads360V23Services__ConversionGoalCampaignConfigOperation", + "description": "A conversion goal campaign config mutate operation." + }, + "conversionValueRuleOperation": { + "$ref": "GoogleAdsSearchads360V23Services__ConversionValueRuleOperation", + "description": "A conversion value rule mutate operation." + }, + "conversionValueRuleSetOperation": { + "$ref": "GoogleAdsSearchads360V23Services__ConversionValueRuleSetOperation", + "description": "A conversion value rule set mutate operation." + }, + "customConversionGoalOperation": { + "$ref": "GoogleAdsSearchads360V23Services__CustomConversionGoalOperation", + "description": "A custom conversion goal mutate operation." + }, + "customerAssetOperation": { + "$ref": "GoogleAdsSearchads360V23Services__CustomerAssetOperation", + "description": "A customer asset mutate operation." + }, + "customerConversionGoalOperation": { + "$ref": "GoogleAdsSearchads360V23Services__CustomerConversionGoalOperation", + "description": "A customer conversion goal mutate operation." + }, + "customerCustomizerOperation": { + "$ref": "GoogleAdsSearchads360V23Services__CustomerCustomizerOperation", + "description": "A customer customizer mutate operation." + }, + "customerLabelOperation": { + "$ref": "GoogleAdsSearchads360V23Services__CustomerLabelOperation", + "description": "A customer label mutate operation." + }, + "customerNegativeCriterionOperation": { + "$ref": "GoogleAdsSearchads360V23Services__CustomerNegativeCriterionOperation", + "description": "A customer negative criterion mutate operation." + }, + "customerOperation": { + "$ref": "GoogleAdsSearchads360V23Services__CustomerOperation", + "description": "A customer mutate operation." + }, + "customizerAttributeOperation": { + "$ref": "GoogleAdsSearchads360V23Services__CustomizerAttributeOperation", + "description": "A customizer attribute mutate operation." + }, + "experimentArmOperation": { + "$ref": "GoogleAdsSearchads360V23Services__ExperimentArmOperation", + "description": "An experiment arm mutate operation." + }, + "experimentOperation": { + "$ref": "GoogleAdsSearchads360V23Services__ExperimentOperation", + "description": "An experiment mutate operation." + }, + "keywordPlanAdGroupKeywordOperation": { + "$ref": "GoogleAdsSearchads360V23Services__KeywordPlanAdGroupKeywordOperation", + "description": "A keyword plan ad group keyword operation." + }, + "keywordPlanAdGroupOperation": { + "$ref": "GoogleAdsSearchads360V23Services__KeywordPlanAdGroupOperation", + "description": "A keyword plan ad group operation." + }, + "keywordPlanCampaignKeywordOperation": { + "$ref": "GoogleAdsSearchads360V23Services__KeywordPlanCampaignKeywordOperation", + "description": "A keyword plan campaign keyword operation." + }, + "keywordPlanCampaignOperation": { + "$ref": "GoogleAdsSearchads360V23Services__KeywordPlanCampaignOperation", + "description": "A keyword plan campaign operation." + }, + "keywordPlanOperation": { + "$ref": "GoogleAdsSearchads360V23Services__KeywordPlanOperation", + "description": "A keyword plan operation." + }, + "labelOperation": { + "$ref": "GoogleAdsSearchads360V23Services__LabelOperation", + "description": "A label mutate operation." + }, + "recommendationSubscriptionOperation": { + "$ref": "GoogleAdsSearchads360V23Services__RecommendationSubscriptionOperation", + "description": "A recommendation subscription mutate operation." + }, + "remarketingActionOperation": { + "$ref": "GoogleAdsSearchads360V23Services__RemarketingActionOperation", + "description": "A remarketing action mutate operation." + }, + "searchAds360CampaignOperation": { + "$ref": "GoogleAdsSearchads360V23Services__SearchAds360CampaignOperation", + "description": "A Search Ads 360 campaign mutate operation." + }, + "sharedCriterionOperation": { + "$ref": "GoogleAdsSearchads360V23Services__SharedCriterionOperation", + "description": "A shared criterion mutate operation." + }, + "sharedSetOperation": { + "$ref": "GoogleAdsSearchads360V23Services__SharedSetOperation", + "description": "A shared set mutate operation." + }, + "smartCampaignSettingOperation": { + "$ref": "GoogleAdsSearchads360V23Services__SmartCampaignSettingOperation", + "description": "A Smart campaign setting mutate operation." + }, + "userListOperation": { + "$ref": "GoogleAdsSearchads360V23Services__UserListOperation", + "description": "A user list mutate operation." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateOperationResponse": { + "description": "Response message for the resource mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateOperationResponse", + "properties": { + "adGroupAdLabelResult": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupAdLabelResult", + "description": "The result for the ad group ad label mutate." + }, + "adGroupAdResult": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupAdResult", + "description": "The result for the ad group ad mutate." + }, + "adGroupAssetResult": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupAssetResult", + "description": "The result for the ad group asset mutate." + }, + "adGroupBidModifierResult": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupBidModifierResult", + "description": "The result for the ad group bid modifier mutate." + }, + "adGroupCriterionCustomizerResult": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupCriterionCustomizerResult", + "description": "The result for the ad group criterion customizer mutate." + }, + "adGroupCriterionLabelResult": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupCriterionLabelResult", + "description": "The result for the ad group criterion label mutate." + }, + "adGroupCriterionResult": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupCriterionResult", + "description": "The result for the ad group criterion mutate." + }, + "adGroupCustomizerResult": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupCustomizerResult", + "description": "The result for the ad group customizer mutate." + }, + "adGroupLabelResult": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupLabelResult", + "description": "The result for the ad group label mutate." + }, + "adGroupResult": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAdGroupResult", + "description": "The result for the ad group mutate." + }, + "adParameterResult": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAdParameterResult", + "description": "The result for the ad parameter mutate." + }, + "adResult": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAdResult", + "description": "The result for the ad mutate." + }, + "assetGroupAssetResult": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAssetGroupAssetResult", + "description": "The result for the asset group asset mutate." + }, + "assetGroupListingGroupFilterResult": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAssetGroupListingGroupFilterResult", + "description": "The result for the asset group listing group filter mutate." + }, + "assetGroupResult": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAssetGroupResult", + "description": "The result for the asset group mutate." + }, + "assetGroupSignalResult": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAssetGroupSignalResult", + "description": "The result for the asset group signal mutate." + }, + "assetResult": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAssetResult", + "description": "The result for the asset mutate." + }, + "assetSetAssetResult": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAssetSetAssetResult", + "description": "The result for the asset set asset mutate." + }, + "assetSetResult": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAssetSetResult", + "description": "The result for the asset set mutate." + }, + "audienceResult": { + "$ref": "GoogleAdsSearchads360V23Services__MutateAudienceResult", + "description": "The result for the audience mutate." + }, + "biddingDataExclusionResult": { + "$ref": "GoogleAdsSearchads360V23Services__MutateBiddingDataExclusionsResult", + "description": "The result for the bidding data exclusion mutate." + }, + "biddingSeasonalityAdjustmentResult": { + "$ref": "GoogleAdsSearchads360V23Services__MutateBiddingSeasonalityAdjustmentsResult", + "description": "The result for the bidding seasonality adjustment mutate." + }, + "biddingStrategyResult": { + "$ref": "GoogleAdsSearchads360V23Services__MutateBiddingStrategyResult", + "description": "The result for the bidding strategy mutate." + }, + "campaignAssetResult": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCampaignAssetResult", + "description": "The result for the campaign asset mutate." + }, + "campaignAssetSetResult": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCampaignAssetSetResult", + "description": "The result for the campaign asset set mutate." + }, + "campaignBidModifierResult": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCampaignBidModifierResult", + "description": "The result for the campaign bid modifier mutate." + }, + "campaignBudgetResult": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCampaignBudgetResult", + "description": "The result for the campaign budget mutate." + }, + "campaignConversionGoalResult": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCampaignConversionGoalResult", + "description": "The result for the campaign conversion goal mutate." + }, + "campaignCriterionResult": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCampaignCriterionResult", + "description": "The result for the campaign criterion mutate." + }, + "campaignCustomizerResult": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCampaignCustomizerResult", + "description": "The result for the campaign customizer mutate." + }, + "campaignDraftResult": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCampaignDraftResult", + "description": "The result for the campaign draft mutate." + }, + "campaignGroupResult": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCampaignGroupResult", + "description": "The result for the campaign group mutate." + }, + "campaignLabelResult": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCampaignLabelResult", + "description": "The result for the campaign label mutate." + }, + "campaignResult": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCampaignResult", + "description": "The result for the campaign mutate." + }, + "campaignSharedSetResult": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCampaignSharedSetResult", + "description": "The result for the campaign shared set mutate." + }, + "conversionActionResult": { + "$ref": "GoogleAdsSearchads360V23Services__MutateConversionActionResult", + "description": "The result for the conversion action mutate." + }, + "conversionCustomVariableResult": { + "$ref": "GoogleAdsSearchads360V23Services__MutateConversionCustomVariableResult", + "description": "The result for the conversion custom variable mutate." + }, + "conversionGoalCampaignConfigResult": { + "$ref": "GoogleAdsSearchads360V23Services__MutateConversionGoalCampaignConfigResult", + "description": "The result for the conversion goal campaign config mutate." + }, + "conversionValueRuleResult": { + "$ref": "GoogleAdsSearchads360V23Services__MutateConversionValueRuleResult", + "description": "The result for the conversion value rule mutate." + }, + "conversionValueRuleSetResult": { + "$ref": "GoogleAdsSearchads360V23Services__MutateConversionValueRuleSetResult", + "description": "The result for the conversion value rule set mutate." + }, + "customConversionGoalResult": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCustomConversionGoalResult", + "description": "The result for the custom conversion goal mutate." + }, + "customerAssetResult": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCustomerAssetResult", + "description": "The result for the customer asset mutate." + }, + "customerConversionGoalResult": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCustomerConversionGoalResult", + "description": "The result for the customer conversion goal mutate." + }, + "customerCustomizerResult": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCustomerCustomizerResult", + "description": "The result for the customer customizer mutate." + }, + "customerLabelResult": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCustomerLabelResult", + "description": "The result for the customer label mutate." + }, + "customerNegativeCriterionResult": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCustomerNegativeCriteriaResult", + "description": "The result for the customer negative criterion mutate." + }, + "customerResult": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCustomerResult", + "description": "The result for the customer mutate." + }, + "customizerAttributeResult": { + "$ref": "GoogleAdsSearchads360V23Services__MutateCustomizerAttributeResult", + "description": "The result for the customizer attribute mutate." + }, + "experimentArmResult": { + "$ref": "GoogleAdsSearchads360V23Services__MutateExperimentArmResult", + "description": "The result for the experiment arm mutate." + }, + "experimentResult": { + "$ref": "GoogleAdsSearchads360V23Services__MutateExperimentResult", + "description": "The result for the experiment mutate." + }, + "keywordPlanAdGroupKeywordResult": { + "$ref": "GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupKeywordResult", + "description": "The result for the keyword plan ad group keyword mutate." + }, + "keywordPlanAdGroupResult": { + "$ref": "GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupResult", + "description": "The result for the keyword plan ad group mutate." + }, + "keywordPlanCampaignKeywordResult": { + "$ref": "GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignKeywordResult", + "description": "The result for the keyword plan campaign keyword mutate." + }, + "keywordPlanCampaignResult": { + "$ref": "GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignResult", + "description": "The result for the keyword plan campaign mutate." + }, + "keywordPlanResult": { + "$ref": "GoogleAdsSearchads360V23Services__MutateKeywordPlansResult", + "description": "The result for the keyword plan mutate." + }, + "labelResult": { + "$ref": "GoogleAdsSearchads360V23Services__MutateLabelResult", + "description": "The result for the label mutate." + }, + "recommendationSubscriptionResult": { + "$ref": "GoogleAdsSearchads360V23Services__MutateRecommendationSubscriptionResult", + "description": "The result for the recommendation subscription mutate." + }, + "remarketingActionResult": { + "$ref": "GoogleAdsSearchads360V23Services__MutateRemarketingActionResult", + "description": "The result for the remarketing action mutate." + }, + "searchAds360CampaignResult": { + "$ref": "GoogleAdsSearchads360V23Services__MutateSearchAds360CampaignResult", + "description": "The result for the Search Ads 360 campaign mutate." + }, + "sharedCriterionResult": { + "$ref": "GoogleAdsSearchads360V23Services__MutateSharedCriterionResult", + "description": "The result for the shared criterion mutate." + }, + "sharedSetResult": { + "$ref": "GoogleAdsSearchads360V23Services__MutateSharedSetResult", + "description": "The result for the shared set mutate." + }, + "smartCampaignSettingResult": { + "$ref": "GoogleAdsSearchads360V23Services__MutateSmartCampaignSettingResult", + "description": "The result for the Smart campaign setting mutate." + }, + "userListResult": { + "$ref": "GoogleAdsSearchads360V23Services__MutateUserListResult", + "description": "The result for the user list mutate." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateRecommendationSubscriptionRequest": { + "description": "Request message for RecommendationSubscriptionService.MutateRecommendationSubscription", + "id": "GoogleAdsSearchads360V23Services__MutateRecommendationSubscriptionRequest", + "properties": { + "operations": { + "description": "Required. The list of create or update operations.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__RecommendationSubscriptionOperation" + }, + "type": "array" + }, + "partialFailure": { + "description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", + "type": "boolean" + }, + "responseContentType": { + "description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation. The mutable resource will only be returned if the resource has the appropriate response field. For example, MutateCampaignResult.campaign.", + "enum": [ + "UNSPECIFIED", + "RESOURCE_NAME_ONLY", + "MUTABLE_RESOURCE" + ], + "enumDescriptions": [ + "Not specified. Will return the resource name only in the response.", + "The mutate response will be the resource name.", + "The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." + ], + "type": "string" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateRecommendationSubscriptionResponse": { + "description": "Response message for RecommendationSubscriptionService.MutateRecommendationSubscription", + "id": "GoogleAdsSearchads360V23Services__MutateRecommendationSubscriptionResponse", + "properties": { + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors) we return the RPC level error." + }, + "results": { + "description": "Results, one per operation.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateRecommendationSubscriptionResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateRecommendationSubscriptionResult": { + "description": "Result message for RecommendationSubscriptionService.MutateRecommendationSubscription", + "id": "GoogleAdsSearchads360V23Services__MutateRecommendationSubscriptionResult", + "properties": { + "recommendationSubscription": { + "$ref": "GoogleAdsSearchads360V23Resources__RecommendationSubscription", + "description": "The mutated recommendation subscription with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." + }, + "resourceName": { + "description": "Resource name of the subscription that was modified.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateRemarketingActionResult": { + "description": "The result for the remarketing action mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateRemarketingActionResult", + "properties": { + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateRemarketingActionsRequest": { + "description": "Request message for RemarketingActionService.MutateRemarketingActions.", + "id": "GoogleAdsSearchads360V23Services__MutateRemarketingActionsRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on individual remarketing actions.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__RemarketingActionOperation" + }, + "type": "array" + }, + "partialFailure": { + "description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", + "type": "boolean" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateRemarketingActionsResponse": { + "description": "Response message for remarketing action mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateRemarketingActionsResponse", + "properties": { + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." + }, + "results": { + "description": "All results for the mutate.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateRemarketingActionResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateSearchAds360CampaignResult": { + "description": "The result for the Search Ads 360 campaign mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateSearchAds360CampaignResult", + "properties": { + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + }, + "searchAds360Campaign": { + "$ref": "GoogleAdsSearchads360V23Resources__SearchAds360Campaign", + "description": "The mutated Search Ads 360 campaign with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateSearchAds360Request": { + "description": "Request message for Service.Mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateSearchAds360Request", + "properties": { + "mutateOperations": { + "description": "Required. The list of operations to perform on individual resources.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateOperation" + }, + "type": "array" + }, + "partialFailure": { + "description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", + "type": "boolean" + }, + "responseContentType": { + "description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation. The mutable resource will only be returned if the resource has the appropriate response field. For example, .", + "enum": [ + "UNSPECIFIED", + "RESOURCE_NAME_ONLY", + "MUTABLE_RESOURCE" + ], + "enumDescriptions": [ + "Not specified. Will return the resource name only in the response.", + "The mutate response will be the resource name.", + "The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." + ], + "type": "string" + }, + "validateOnly": { + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateSearchAds360Response": { + "description": "Response message for Service.Mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateSearchAds360Response", + "properties": { + "mutateOperationResponses": { + "description": "All responses for the mutate.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateOperationResponse" + }, + "type": "array" + }, + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateSharedCriteriaRequest": { + "description": "Request message for SharedCriterionService.MutateSharedCriteria.", + "id": "GoogleAdsSearchads360V23Services__MutateSharedCriteriaRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on individual shared criteria.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__SharedCriterionOperation" + }, + "type": "array" + }, + "partialFailure": { + "description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", + "type": "boolean" + }, + "responseContentType": { + "description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", + "enum": [ + "UNSPECIFIED", + "RESOURCE_NAME_ONLY", + "MUTABLE_RESOURCE" + ], + "enumDescriptions": [ + "Not specified. Will return the resource name only in the response.", + "The mutate response will be the resource name.", + "The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." + ], + "type": "string" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateSharedCriteriaResponse": { + "description": "Response message for a shared criterion mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateSharedCriteriaResponse", + "properties": { + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." + }, + "results": { + "description": "All results for the mutate.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateSharedCriterionResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateSharedCriterionResult": { + "description": "The result for the shared criterion mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateSharedCriterionResult", + "properties": { + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + }, + "sharedCriterion": { + "$ref": "GoogleAdsSearchads360V23Resources__SharedCriterion", + "description": "The mutated shared criterion with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateSharedSetResult": { + "description": "The result for the shared set mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateSharedSetResult", + "properties": { + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + }, + "sharedSet": { + "$ref": "GoogleAdsSearchads360V23Resources__SharedSet", + "description": "The mutated shared set with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateSharedSetsRequest": { + "description": "Request message for SharedSetService.MutateSharedSets.", + "id": "GoogleAdsSearchads360V23Services__MutateSharedSetsRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on individual shared sets.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__SharedSetOperation" + }, + "type": "array" + }, + "partialFailure": { + "description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", + "type": "boolean" + }, + "responseContentType": { + "description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", + "enum": [ + "UNSPECIFIED", + "RESOURCE_NAME_ONLY", + "MUTABLE_RESOURCE" + ], + "enumDescriptions": [ + "Not specified. Will return the resource name only in the response.", + "The mutate response will be the resource name.", + "The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." + ], + "type": "string" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateSharedSetsResponse": { + "description": "Response message for a shared set mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateSharedSetsResponse", + "properties": { + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." + }, + "results": { + "description": "All results for the mutate.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateSharedSetResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateSmartCampaignSettingResult": { + "description": "The result for the Smart campaign setting mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateSmartCampaignSettingResult", + "properties": { + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + }, + "smartCampaignSetting": { + "$ref": "GoogleAdsSearchads360V23Resources__SmartCampaignSetting", + "description": "The mutated Smart campaign setting with only mutable fields after mutate. The field will only be returned when response_content_type is set to \"MUTABLE_RESOURCE\"." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateSmartCampaignSettingsRequest": { + "description": "Request message for SmartCampaignSettingService.MutateSmartCampaignSettings.", + "id": "GoogleAdsSearchads360V23Services__MutateSmartCampaignSettingsRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on individual Smart campaign settings.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__SmartCampaignSettingOperation" + }, + "type": "array" + }, + "partialFailure": { + "description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", + "type": "boolean" + }, + "responseContentType": { + "description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.", + "enum": [ + "UNSPECIFIED", + "RESOURCE_NAME_ONLY", + "MUTABLE_RESOURCE" + ], + "enumDescriptions": [ + "Not specified. Will return the resource name only in the response.", + "The mutate response will be the resource name.", + "The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned." + ], + "type": "string" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateSmartCampaignSettingsResponse": { + "description": "Response message for campaign mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateSmartCampaignSettingsResponse", + "properties": { + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." + }, + "results": { + "description": "All results for the mutate.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateSmartCampaignSettingResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateUserListCustomerTypeResult": { + "description": "The result for the user list customer type mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateUserListCustomerTypeResult", + "properties": { + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateUserListCustomerTypesRequest": { + "description": "Request message for UserListCustomerTypeService.MutateUserListCustomerTypes.", + "id": "GoogleAdsSearchads360V23Services__MutateUserListCustomerTypesRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on the user list customer types.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__UserListCustomerTypeOperation" + }, + "type": "array" + }, + "partialFailure": { + "description": "Optional. If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", + "type": "boolean" + }, + "validateOnly": { + "description": "Optional. If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateUserListCustomerTypesResponse": { + "description": "Response message for a user list customer type mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateUserListCustomerTypesResponse", + "properties": { + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." + }, + "results": { + "description": "All results for the mutate.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateUserListCustomerTypeResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateUserListResult": { + "description": "The result for the user list mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateUserListResult", + "properties": { + "resourceName": { + "description": "Returned for successful operations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateUserListsRequest": { + "description": "Request message for UserListService.MutateUserLists.", + "id": "GoogleAdsSearchads360V23Services__MutateUserListsRequest", + "properties": { + "operations": { + "description": "Required. The list of operations to perform on individual user lists.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__UserListOperation" + }, + "type": "array" + }, + "partialFailure": { + "description": "If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.", + "type": "boolean" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__MutateUserListsResponse": { + "description": "Response message for user list mutate.", + "id": "GoogleAdsSearchads360V23Services__MutateUserListsResponse", + "properties": { + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error." + }, + "results": { + "description": "All results for the mutate.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MutateUserListResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__OfflineUserDataJobOperation": { + "description": "Operation to be made for the AddOfflineUserDataJobOperationsRequest.", + "id": "GoogleAdsSearchads360V23Services__OfflineUserDataJobOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Common__UserData", + "description": "Add the provided data to the transaction. Data cannot be retrieved after being uploaded." + }, + "remove": { + "$ref": "GoogleAdsSearchads360V23Common__UserData", + "description": "Remove the provided data from the transaction. Data cannot be retrieved after being uploaded." + }, + "removeAll": { + "description": "Remove all previously provided data. This is only supported for Customer Match.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__OnTargetAudienceMetrics": { + "description": "Audience metrics for the planned products. These metrics consider the following targeting dimensions: - Location - PlannableAgeRange - Gender - AudienceTargeting (only for youtube_audience_size)", + "id": "GoogleAdsSearchads360V23Services__OnTargetAudienceMetrics", + "properties": { + "censusAudienceSize": { + "description": "Reference audience size matching the considered targeting for Census.", + "format": "int64", + "type": "string" + }, + "youtubeAudienceSize": { + "description": "Reference audience size matching the considered targeting for YouTube.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__PlannableLocation": { + "description": "A plannable location: country, metro region, province, etc.", + "id": "GoogleAdsSearchads360V23Services__PlannableLocation", + "properties": { + "countryCode": { + "description": "The ISO-3166-1 alpha-2 country code that is associated with the location.", + "type": "string" + }, + "id": { + "description": "The location identifier.", + "type": "string" + }, + "locationType": { + "description": "The location's type. Location types correspond to target_type returned by .", + "type": "string" + }, + "name": { + "description": "The unique location name in English.", + "type": "string" + }, + "parentCountryId": { + "description": "The parent country (not present if location is a country). If present, will always be a GeoTargetConstant ID. Additional information such as country name is provided by ReachPlanService.ListPlannableLocations or", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__PlannableTargeting": { + "description": "The targeting for which traffic metrics will be reported.", + "id": "GoogleAdsSearchads360V23Services__PlannableTargeting", + "properties": { + "ageRanges": { + "description": "Allowed plannable age ranges for the product for which metrics will be reported. Actual targeting is computed by mapping this age range onto standard Google common.AgeRangeInfo values.", + "items": { + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "AGE_RANGE_18_24", + "AGE_RANGE_18_34", + "AGE_RANGE_18_44", + "AGE_RANGE_18_49", + "AGE_RANGE_18_54", + "AGE_RANGE_18_64", + "AGE_RANGE_18_65_UP", + "AGE_RANGE_21_34", + "AGE_RANGE_25_34", + "AGE_RANGE_25_44", + "AGE_RANGE_25_49", + "AGE_RANGE_25_54", + "AGE_RANGE_25_64", + "AGE_RANGE_25_65_UP", + "AGE_RANGE_35_44", + "AGE_RANGE_35_49", + "AGE_RANGE_35_54", + "AGE_RANGE_35_64", + "AGE_RANGE_35_65_UP", + "AGE_RANGE_45_54", + "AGE_RANGE_45_64", + "AGE_RANGE_45_65_UP", + "AGE_RANGE_50_65_UP", + "AGE_RANGE_55_64", + "AGE_RANGE_55_65_UP", + "AGE_RANGE_65_UP" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "Between 18 and 24 years old.", + "Between 18 and 34 years old.", + "Between 18 and 44 years old.", + "Between 18 and 49 years old.", + "Between 18 and 54 years old.", + "Between 18 and 64 years old.", + "Between 18 and 65+ years old.", + "Between 21 and 34 years old.", + "Between 25 and 34 years old.", + "Between 25 and 44 years old.", + "Between 25 and 49 years old.", + "Between 25 and 54 years old.", + "Between 25 and 64 years old.", + "Between 25 and 65+ years old.", + "Between 35 and 44 years old.", + "Between 35 and 49 years old.", + "Between 35 and 54 years old.", + "Between 35 and 64 years old.", + "Between 35 and 65+ years old.", + "Between 45 and 54 years old.", + "Between 45 and 64 years old.", + "Between 45 and 65+ years old.", + "Between 50 and 65+ years old.", + "Between 55 and 64 years old.", + "Between 55 and 65+ years old.", + "65 years old and beyond." + ], + "type": "string" + }, + "type": "array" + }, + "devices": { + "description": "Targetable devices for the ad product. TABLET device targeting is automatically applied to reported metrics when MOBILE targeting is selected for CPM_MASTHEAD, GOOGLE_PREFERRED_BUMPER, and GOOGLE_PREFERRED_SHORT products.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__DeviceInfo" + }, + "type": "array" + }, + "genders": { + "description": "Targetable genders for the ad product.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__GenderInfo" + }, + "type": "array" + }, + "networks": { + "description": "Targetable networks for the ad product.", + "items": { + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "YOUTUBE", + "GOOGLE_VIDEO_PARTNERS", + "YOUTUBE_AND_GOOGLE_VIDEO_PARTNERS" + ], + "enumDescriptions": [ + "Not specified.", + "Used as a return value only. Represents value unknown in this version.", + "YouTube network.", + "Google Video Partners (GVP) network.", + "A combination of the YouTube network and the Google Video Partners network." + ], + "type": "string" + }, + "type": "array" + }, + "surfaceTargeting": { + "$ref": "GoogleAdsSearchads360V23Services__SurfaceTargetingCombinations", + "description": "Targetable surface combinations for the ad product." + }, + "youtubeSelectLineups": { + "description": "Targetable YouTube Select Lineups for the ad product.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__YouTubeSelectLineUp" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__PlannableUserInterest": { + "description": "A plannable user interest that can be targeted in a reach forecast using ReachPlanService.GenerateReachForecast.", + "id": "GoogleAdsSearchads360V23Services__PlannableUserInterest", + "properties": { + "userInterest": { + "$ref": "GoogleAdsSearchads360V23Common__UserInterestInfo", + "description": "The user interest id." + }, + "userInterestDisplayName": { + "description": "The user interest display name. For example, \"Autos & Vehicles\"", + "type": "string" + }, + "userInterestPath": { + "description": "The user interest path. For example, \"/Autos & Vehicles/Motor Vehicles/Motor Vehicles by Type/Off-Road Vehicles\"", + "type": "string" + }, + "userInterestType": { + "description": "The user interest type.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "AFFINITY", + "IN_MARKET", + "MOBILE_APP_INSTALL_USER", + "VERTICAL_GEO", + "NEW_SMART_PHONE_USER" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The affinity for this user interest.", + "The market for this user interest.", + "Users known to have installed applications in the specified categories.", + "The geographical location of the interest-based vertical.", + "User interest criteria for new smart phone users." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__PlannableUserList": { + "description": "A plannable user list.", + "id": "GoogleAdsSearchads360V23Services__PlannableUserList", + "properties": { + "displayName": { + "description": "The name of the user list.", + "type": "string" + }, + "plannableStatus": { + "description": "The plannable status of the user list.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "PLANNABLE", + "UNPLANNABLE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The user list is plannable.", + "The user list is not plannable." + ], + "type": "string" + }, + "plannableUserListMetadata": { + "$ref": "GoogleAdsSearchads360V23Services__PlannableUserListMetadata", + "description": "The relevant metadata for this user list." + }, + "userListInfo": { + "$ref": "GoogleAdsSearchads360V23Common__UserListInfo", + "description": "The user list ID." + }, + "userListType": { + "description": "The user list type.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "REMARKETING", + "LOGICAL", + "EXTERNAL_REMARKETING", + "RULE_BASED", + "SIMILAR", + "CRM_BASED", + "LOOKALIKE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "UserList represented as a collection of conversion types.", + "UserList represented as a combination of other user lists/interests.", + "UserList created in the Google Ad Manager platform.", + "UserList associated with a rule.", + "UserList with users similar to users of another UserList.", + "UserList of first-party CRM data provided by advertiser in the form of emails or other formats.", + "LookalikeUserlist, composed of users similar to those of a configurable seed (set of UserLists)" + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__PlannableUserListMetadata": { + "description": "The metadata associated with a plannable user list.", + "id": "GoogleAdsSearchads360V23Services__PlannableUserListMetadata", + "properties": { + "userListCrmDataSourceType": { + "description": "The data source type of a CRM based user list.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "FIRST_PARTY", + "THIRD_PARTY_CREDIT_BUREAU", + "THIRD_PARTY_VOTER_FILE", + "THIRD_PARTY_PARTNER_DATA" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The uploaded data is first-party data.", + "The uploaded data is from a third-party credit bureau.", + "The uploaded data is from a third-party voter file.", + "The uploaded data is third party partner data." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__PlannedProduct": { + "description": "A product being planned for reach.", + "id": "GoogleAdsSearchads360V23Services__PlannedProduct", + "properties": { + "advancedProductTargeting": { + "$ref": "GoogleAdsSearchads360V23Services__AdvancedProductTargeting", + "description": "Targeting settings for the selected product. To list the available targeting for each product use ReachPlanService.ListPlannableProducts." + }, + "budgetMicros": { + "description": "Required. Maximum budget allocation in micros for the selected product. The value is specified in the selected planning currency_code. For example: 1 000 000$ = 1 000 000 000 000 micros.", + "format": "int64", + "type": "string" + }, + "conversionRate": { + "description": "Conversion rate as a decimal between 0 and 1, exclusive. For example: if 2% of ad interactions are expected to lead to conversions, conversion_rate should be 0.02. This field is required for DEMAND_GEN plannable products. It is not supported for other plannable products.", + "format": "double", + "type": "number" + }, + "plannableProductCode": { + "description": "Required. Selected product for planning. The code associated with the ad product (for example: Trueview, Bumper). To list the available plannable product codes use ReachPlanService.ListPlannableProducts.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__PlannedProductForecast": { + "description": "Forecasted traffic metrics for a planned product.", + "id": "GoogleAdsSearchads360V23Services__PlannedProductForecast", + "properties": { + "averageFrequency": { + "description": "The number of times per selected time unit a user will see an ad, averaged over the number of time units in the forecast length. This field will only be populated for a Target Frequency campaign. See https://support.google.com/google-ads/answer/12400225 for more information about Target Frequency campaigns.", + "format": "double", + "type": "number" + }, + "conversions": { + "description": "The number of conversions. This metric is only available for DEMAND_GEN plannable products. See https://support.google.com/google-ads/answer/2375431 for more information on conversions.", + "format": "double", + "type": "number" + }, + "onTargetCoviewImpressions": { + "description": "Number of ad impressions that exactly matches the Targeting including co-viewers.", + "format": "int64", + "type": "string" + }, + "onTargetCoviewReach": { + "description": "Number of unique people reached that exactly matches the Targeting including co-viewers.", + "format": "int64", + "type": "string" + }, + "onTargetImpressions": { + "description": "Number of ad impressions that exactly matches the Targeting.", + "format": "int64", + "type": "string" + }, + "onTargetReach": { + "description": "Number of unique people reached that exactly matches the Targeting. Note that a minimum number of unique people must be reached in order for data to be reported. If the minimum number is not met, the on_target_reach value will be rounded to 0.", + "format": "int64", + "type": "string" + }, + "totalCoviewImpressions": { + "description": "Total number of ad impressions including co-viewers. This includes impressions that may fall outside the specified Targeting, due to insufficient information on signed-in users.", + "format": "int64", + "type": "string" + }, + "totalCoviewReach": { + "description": "Number of unique people reached including co-viewers. This includes people that may fall outside the specified Targeting.", + "format": "int64", + "type": "string" + }, + "totalImpressions": { + "description": "Total number of ad impressions. This includes impressions that may fall outside the specified Targeting, due to insufficient information on signed-in users.", + "format": "int64", + "type": "string" + }, + "totalReach": { + "description": "Number of unique people reached. This includes people that may fall outside the specified Targeting. Note that a minimum number of unique people must be reached in order for data to be reported. If the minimum number is not met, the total_reach value will be rounded to 0.", + "format": "int64", + "type": "string" + }, + "trueviewViews": { + "description": "Number of ad views forecasted for the specified product and targeting. A TrueView View is counted when a viewer views a larger portion or the entirety of an ad beyond an impression. See https://support.google.com/google-ads/answer/2375431 for more information on TrueView Views.", + "format": "int64", + "type": "string" + }, + "viewableImpressions": { + "description": "Number of times the ad's impressions were considered viewable. See https://support.google.com/google-ads/answer/7029393 for more information about what makes an ad viewable and how viewability is measured.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__PlannedProductReachForecast": { + "description": "The forecasted allocation and traffic metrics for a specific product at a point on the reach curve.", + "id": "GoogleAdsSearchads360V23Services__PlannedProductReachForecast", + "properties": { + "costMicros": { + "description": "The cost in micros. This may differ from the product's input allocation if one or more planned products cannot fulfill the budget because of limited inventory.", + "format": "int64", + "type": "string" + }, + "plannableProductCode": { + "description": "Selected product for planning. The product codes returned are within the set of the ones returned by ListPlannableProducts when using the same location ID.", + "type": "string" + }, + "plannedProductForecast": { + "$ref": "GoogleAdsSearchads360V23Services__PlannedProductForecast", + "description": "Forecasted traffic metrics for this product." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__ProductFilter": { + "description": "The type and list of products to aggregate benchmarks metrics over.", + "id": "GoogleAdsSearchads360V23Services__ProductFilter", + "properties": { + "marketingObjectiveList": { + "$ref": "GoogleAdsSearchads360V23Services_ProductFilter_MarketingObjectiveList", + "description": "The list of marketing goals. Marketing objective is a broader product classification of products." + }, + "productList": { + "$ref": "GoogleAdsSearchads360V23Services_ProductFilter_ProductList", + "description": "The list of products." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__ProductMetadata": { + "description": "The metadata associated with an available plannable product.", + "id": "GoogleAdsSearchads360V23Services__ProductMetadata", + "properties": { + "plannableProductCode": { + "description": "The code associated with the ad product (for example: BUMPER, TRUEVIEW_IN_STREAM). To list the available plannable product codes use ReachPlanService.ListPlannableProducts.", + "type": "string" + }, + "plannableProductName": { + "description": "The name associated with the ad product.", + "type": "string" + }, + "plannableTargeting": { + "$ref": "GoogleAdsSearchads360V23Services__PlannableTargeting", + "description": "The allowed plannable targeting for this product." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__PromoteCampaignDraftRequest": { + "description": "Request message for CampaignDraftService.PromoteCampaignDraft.", + "id": "GoogleAdsSearchads360V23Services__PromoteCampaignDraftRequest", + "properties": { + "validateOnly": { + "description": "If true, the request is validated but no Long Running Operation is created. Only errors are returned.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__PromoteExperimentMetadata": { + "description": "The metadata of the promoted experiment.", + "id": "GoogleAdsSearchads360V23Services__PromoteExperimentMetadata", + "properties": { + "experiment": { + "description": "Required. The promoted experiment.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__PromoteExperimentRequest": { + "description": "Request message for ExperimentService.PromoteExperiment.", + "id": "GoogleAdsSearchads360V23Services__PromoteExperimentRequest", + "properties": { + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__ProvideLeadFeedbackRequest": { + "description": "Request message for LocalServicesLeadService.ProvideLeadFeedback.", + "id": "GoogleAdsSearchads360V23Services__ProvideLeadFeedbackRequest", + "properties": { + "surveyAnswer": { + "description": "Required. Survey answer for Local Services Ads Lead.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "VERY_SATISFIED", + "SATISFIED", + "NEUTRAL", + "DISSATISFIED", + "VERY_DISSATISFIED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Very satisfied with the lead.", + "Satisfied with the lead.", + "Neutral with the lead.", + "Dissatisfied with the lead.", + "Very dissatisfied with the lead." + ], + "type": "string" + }, + "surveyDissatisfied": { + "$ref": "GoogleAdsSearchads360V23Services__SurveyDissatisfied", + "description": "Details about various factors for not being satisfied with the lead." + }, + "surveySatisfied": { + "$ref": "GoogleAdsSearchads360V23Services__SurveySatisfied", + "description": "Details about various factors for being satisfied with the lead." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__ProvideLeadFeedbackResponse": { + "description": "Response message for LocalServicesLeadService.ProvideLeadFeedback.", + "id": "GoogleAdsSearchads360V23Services__ProvideLeadFeedbackResponse", + "properties": { + "creditIssuanceDecision": { + "description": "Required. Decision of bonus credit issued or rejected. If a bonus credit is issued, it will be available for use in about two months.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "SUCCESS_NOT_REACHED_THRESHOLD", + "SUCCESS_REACHED_THRESHOLD", + "FAIL_OVER_THRESHOLD", + "FAIL_NOT_ELIGIBLE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Bonus credit is issued successfully and bonus credit cap has not reached the threshold after issuing this bonus credit.", + "Bonus credit is issued successfully and bonus credit cap has reached the threshold after issuing this bonus credit.", + "Bonus credit is not issued because the provider has reached the bonus credit cap.", + "Bonus credit is not issued because this lead is not eligible for bonus credit." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__RateMetrics": { + "description": "Average rate metrics. Metrics that represent monetary values are returned in USD by default, if unspecified in the request.", + "id": "GoogleAdsSearchads360V23Services__RateMetrics", + "properties": { + "activeViewViewability": { + "description": "The percentage of time when your ad appeared on an Active View enabled site (measurable impressions) and was viewable (viewable impressions).", + "format": "double", + "type": "number" + }, + "averageActiveViewCpm": { + "description": "Average cost-per-thousand viewable impressions.", + "format": "double", + "type": "number" + }, + "averageCpc": { + "description": "The average cost-per-click (CPC) is defined by the total cost of all clicks divided by the total number of clicks received.", + "format": "double", + "type": "number" + }, + "averageCpe": { + "description": "The average cost-per-engagement (CPE) is defined by the total cost of all ad engagements divided by the total number of ad engagements.", + "format": "double", + "type": "number" + }, + "averageCpi": { + "description": "The average cost-per-interaction (CPI) is defined by the total cost of all interactions divided by the total number of interactions.", + "format": "double", + "type": "number" + }, + "averageCpm": { + "description": "Average cost-per-thousand impressions (CPM).", + "format": "double", + "type": "number" + }, + "clickThroughRate": { + "description": "The number of clicks your ad receives (Clicks) divided by the number of times your ad is shown (Impressions).", + "format": "double", + "type": "number" + }, + "engagementRate": { + "description": "How often people engage with your ad after it's shown to them. This is the number of ad expansions divided by the number of times your ad is shown.", + "format": "double", + "type": "number" + }, + "interactionRate": { + "description": "How often people interact with your ad after it is shown to them. This is the number of interactions divided by the number of times your ad is shown.", + "format": "double", + "type": "number" + }, + "trueviewAverageCpv": { + "description": "The average TrueView cost-per-view (CPV) is defined by the total cost of all ad TrueView views divided by the number of TrueView views.", + "format": "double", + "type": "number" + }, + "trueviewViewRate": { + "description": "Number of completed TrueView views divided by the number of impressions.", + "format": "double", + "type": "number" + }, + "videoCompletionP100Rate": { + "description": "Percentage of impressions where the viewer watched all of your video.", + "format": "double", + "type": "number" + }, + "videoCompletionP25Rate": { + "description": "Percentage of impressions where the viewer watched 25% of your video.", + "format": "double", + "type": "number" + }, + "videoCompletionP50Rate": { + "description": "Percentage of impressions where the viewer watched 50% of your video.", + "format": "double", + "type": "number" + }, + "videoCompletionP75Rate": { + "description": "Percentage of impressions where the viewer watched 75% of your video.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__RawEventConversionDimensionHeader": { + "description": "Message for raw event conversion dimension header.", + "id": "GoogleAdsSearchads360V23Services__RawEventConversionDimensionHeader", + "properties": { + "id": { + "description": "The conversion custom variable ID.", + "format": "int64", + "type": "string" + }, + "name": { + "description": "The user defined name of the raw event dimension.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__RawEventConversionMetricHeader": { + "description": "Message for raw event conversion metric header.", + "id": "GoogleAdsSearchads360V23Services__RawEventConversionMetricHeader", + "properties": { + "id": { + "description": "The conversion custom variable ID.", + "format": "int64", + "type": "string" + }, + "name": { + "description": "The user defined name of the raw event metric.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__ReachCurve": { + "description": "The reach curve for the planned products.", + "id": "GoogleAdsSearchads360V23Services__ReachCurve", + "properties": { + "reachForecasts": { + "description": "All points on the reach curve.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__ReachForecast" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__ReachForecast": { + "description": "A point on reach curve.", + "id": "GoogleAdsSearchads360V23Services__ReachForecast", + "properties": { + "costMicros": { + "description": "The cost in micros.", + "format": "int64", + "type": "string" + }, + "forecast": { + "$ref": "GoogleAdsSearchads360V23Services__Forecast", + "description": "Forecasted traffic metrics for this point." + }, + "plannedProductReachForecasts": { + "description": "The forecasted allocation and traffic metrics for each planned product at this point on the reach curve.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__PlannedProductReachForecast" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__RecommendationSubscriptionOperation": { + "description": "A single operation (create, update) on a recommendation subscription. RecommendationSubscriptionService.MutateRecommendationSubscription", + "id": "GoogleAdsSearchads360V23Services__RecommendationSubscriptionOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__RecommendationSubscription", + "description": "Create operation: No resource name is expected for the new subscription." + }, + "update": { + "$ref": "GoogleAdsSearchads360V23Resources__RecommendationSubscription", + "description": "Update operation: The subscription is expected to have a valid resource name." + }, + "updateMask": { + "description": "Optional. FieldMask that determines which resource fields are modified in an update.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__RegenerateShareableLinkIdRequest": { + "description": "Request message for ThirdPartyAppAnalyticsLinkService.RegenerateShareableLinkId.", + "id": "GoogleAdsSearchads360V23Services__RegenerateShareableLinkIdRequest", + "properties": {}, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__RegenerateShareableLinkIdResponse": { + "description": "Response message for ThirdPartyAppAnalyticsLinkService.RegenerateShareableLinkId.", + "id": "GoogleAdsSearchads360V23Services__RegenerateShareableLinkIdResponse", + "properties": {}, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__RemarketingActionOperation": { + "description": "A single operation (create, update) on a remarketing action.", + "id": "GoogleAdsSearchads360V23Services__RemarketingActionOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__RemarketingAction", + "description": "Create operation: No resource name is expected for the new remarketing action." + }, + "update": { + "$ref": "GoogleAdsSearchads360V23Resources__RemarketingAction", + "description": "Update operation: The remarketing action is expected to have a valid resource name." + }, + "updateMask": { + "description": "FieldMask that determines which resource fields are modified in an update.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__RemoveAutomaticallyCreatedAssetsRequest": { + "description": "Request message for AdGroupAdService.RemoveAutomaticallyCreatedAssets.", + "id": "GoogleAdsSearchads360V23Services__RemoveAutomaticallyCreatedAssetsRequest", + "properties": { + "assetsWithFieldType": { + "description": "Required. List of assets with field type to be removed from the AdGroupAd.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__AssetsWithFieldType" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__RemoveCampaignAutomaticallyCreatedAssetOperation": { + "description": "A single operation to remove an automatically created asset from a campaign.", + "id": "GoogleAdsSearchads360V23Services__RemoveCampaignAutomaticallyCreatedAssetOperation", + "properties": { + "asset": { + "description": "Required. The resource name of the asset to remove.", + "type": "string" + }, + "campaign": { + "description": "Required. The resource name of the campaign.", + "type": "string" + }, + "fieldType": { + "description": "Required. The field type of the asset to remove.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "HEADLINE", + "DESCRIPTION", + "MANDATORY_AD_TEXT", + "MARKETING_IMAGE", + "MEDIA_BUNDLE", + "YOUTUBE_VIDEO", + "BOOK_ON_GOOGLE", + "LEAD_FORM", + "PROMOTION", + "CALLOUT", + "STRUCTURED_SNIPPET", + "SITELINK", + "MOBILE_APP", + "HOTEL_CALLOUT", + "CALL", + "PRICE", + "LONG_HEADLINE", + "BUSINESS_NAME", + "SQUARE_MARKETING_IMAGE", + "PORTRAIT_MARKETING_IMAGE", + "LOGO", + "LANDSCAPE_LOGO", + "VIDEO", + "CALL_TO_ACTION_SELECTION", + "AD_IMAGE", + "BUSINESS_LOGO", + "HOTEL_PROPERTY", + "DEMAND_GEN_CAROUSEL_CARD", + "BUSINESS_MESSAGE", + "TALL_PORTRAIT_MARKETING_IMAGE", + "LANDING_PAGE_PREVIEW", + "LONG_DESCRIPTION", + "CALL_TO_ACTION" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The asset is linked for use as a headline.", + "The asset is linked for use as a description.", + "The asset is linked for use as mandatory ad text.", + "The asset is linked for use as a marketing image.", + "The asset is linked for use as a media bundle.", + "The asset is linked for use as a YouTube video.", + "The asset is linked to indicate that a hotels campaign is \"Book on Google\" enabled.", + "The asset is linked for use as a Lead Form extension.", + "The asset is linked for use as a Promotion extension.", + "The asset is linked for use as a Callout extension.", + "The asset is linked for use as a Structured Snippet extension.", + "The asset is linked for use as a Sitelink.", + "The asset is linked for use as a Mobile App extension.", + "The asset is linked for use as a Hotel Callout extension.", + "The asset is linked for use as a Call extension.", + "The asset is linked for use as a Price extension.", + "The asset is linked for use as a long headline.", + "The asset is linked for use as a business name.", + "The asset is linked for use as a square marketing image.", + "The asset is linked for use as a portrait marketing image.", + "The asset is linked for use as a logo.", + "The asset is linked for use as a landscape logo.", + "The asset is linked for use as a non YouTube logo.", + "The asset is linked for use to select a call-to-action.", + "The asset is linked for use to select an ad image.", + "The asset is linked for use as a business logo.", + "The asset is linked for use as a hotel property in a Performance Max for travel goals campaign.", + "The asset is linked for use as a Demand Gen carousel card.", + "The asset is linked for use as a Business Message.", + "The asset is linked for use as a tall portrait marketing image.", + "The asset is linked for use as a landing page preview image.", + "The asset is linked for use as a long description.", + "The asset is linked for use as a call-to-action." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__RemoveCampaignAutomaticallyCreatedAssetRequest": { + "description": "Request message for AutomaticallyCreatedAssetRemovalService.RemoveCampaignAutomaticallyCreatedAsset.", + "id": "GoogleAdsSearchads360V23Services__RemoveCampaignAutomaticallyCreatedAssetRequest", + "properties": { + "operations": { + "description": "Required. The list of operations.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__RemoveCampaignAutomaticallyCreatedAssetOperation" + }, + "type": "array" + }, + "partialFailure": { + "description": "Required. If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__RemoveCampaignAutomaticallyCreatedAssetResponse": { + "description": "Response message for AutomaticallyCreatedAssetRemovalService.RemoveCampaignAutomaticallyCreatedAsset.", + "id": "GoogleAdsSearchads360V23Services__RemoveCampaignAutomaticallyCreatedAssetResponse", + "properties": { + "partialFailureError": { + "$ref": "GoogleRpc__Status", + "description": "Errors that pertain to AutomaticallyCreatedAssetRemoval failures in the partial failure mode. Returned when all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), RPC level error will be returned. See https://developers.google.com/google-ads/api/docs/best-practices/partial-failures for more information about partial failure." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__RemoveDataLinkRequest": { + "description": "Request message for DataLinkService.RemoveDataLink.", + "id": "GoogleAdsSearchads360V23Services__RemoveDataLinkRequest", + "properties": { + "resourceName": { + "description": "Required. The data link is expected to have a valid resource name.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__RemoveDataLinkResponse": { + "description": "Response message for DataLinkService.RemoveDataLink.", + "id": "GoogleAdsSearchads360V23Services__RemoveDataLinkResponse", + "properties": { + "resourceName": { + "description": "Result for the remove request.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__RemoveProductLinkInvitationRequest": { + "description": "Request message for ProductLinkInvitationService.RemoveProductLinkInvitation.", + "id": "GoogleAdsSearchads360V23Services__RemoveProductLinkInvitationRequest", + "properties": { + "resourceName": { + "description": "Required. The resource name of the product link invitation being removed. expected, in this format: ` `", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__RemoveProductLinkInvitationResponse": { + "description": "Response message for product link invitation removeal.", + "id": "GoogleAdsSearchads360V23Services__RemoveProductLinkInvitationResponse", + "properties": { + "resourceName": { + "description": "Result for the remove request.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__RemoveProductLinkRequest": { + "description": "Request message for ProductLinkService.RemoveProductLink.", + "id": "GoogleAdsSearchads360V23Services__RemoveProductLinkRequest", + "properties": { + "resourceName": { + "description": "Required. Remove operation: A resource name for the product link to remove is expected, in this format: ` `", + "type": "string" + }, + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__RemoveProductLinkResponse": { + "description": "Response message for product link removal.", + "id": "GoogleAdsSearchads360V23Services__RemoveProductLinkResponse", + "properties": { + "resourceName": { + "description": "Result for the remove request.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__RunBatchJobRequest": { + "description": "Request message for BatchJobService.RunBatchJob.", + "id": "GoogleAdsSearchads360V23Services__RunBatchJobRequest", + "properties": {}, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__RunOfflineUserDataJobRequest": { + "description": "Request message for OfflineUserDataJobService.RunOfflineUserDataJob.", + "id": "GoogleAdsSearchads360V23Services__RunOfflineUserDataJobRequest", + "properties": { + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__ScheduleExperimentMetadata": { + "description": "The metadata of the scheduled experiment.", + "id": "GoogleAdsSearchads360V23Services__ScheduleExperimentMetadata", + "properties": { + "experiment": { + "description": "Required. The scheduled experiment.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__ScheduleExperimentRequest": { + "description": "Request message for ExperimentService.ScheduleExperiment.", + "id": "GoogleAdsSearchads360V23Services__ScheduleExperimentRequest", + "properties": { + "validateOnly": { + "description": "If true, the request is validated but not executed. Only errors are returned, not results.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__SearchAds360CampaignOperation": { + "description": "A single operation (update) on a Search Ads 360 campaign.", + "id": "GoogleAdsSearchads360V23Services__SearchAds360CampaignOperation", + "properties": { + "update": { + "$ref": "GoogleAdsSearchads360V23Resources__SearchAds360Campaign", + "description": "Update operation: The Search Ads 360 campaign is expected to have a valid resource name." + }, + "updateMask": { + "description": "FieldMask that determines which resource fields are modified in an update.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__SearchAds360Row": { + "description": "A returned row from the query.", + "id": "GoogleAdsSearchads360V23Services__SearchAds360Row", + "properties": { + "accessibleBiddingStrategy": { + "$ref": "GoogleAdsSearchads360V23Resources__AccessibleBiddingStrategy", + "description": "The accessible bidding strategy referenced in the query." + }, + "accountBudget": { + "$ref": "GoogleAdsSearchads360V23Resources__AccountBudget", + "description": "The account budget in the query." + }, + "accountBudgetProposal": { + "$ref": "GoogleAdsSearchads360V23Resources__AccountBudgetProposal", + "description": "The account budget proposal referenced in the query." + }, + "accountLink": { + "$ref": "GoogleAdsSearchads360V23Resources__AccountLink", + "description": "The AccountLink referenced in the query." + }, + "ad": { + "$ref": "GoogleAdsSearchads360V23Resources__Ad", + "description": "The Ad referenced in the query." + }, + "adGroup": { + "$ref": "GoogleAdsSearchads360V23Resources__AdGroup", + "description": "The ad group referenced in the query." + }, + "adGroupAd": { + "$ref": "GoogleAdsSearchads360V23Resources__AdGroupAd", + "description": "The ad referenced in the query." + }, + "adGroupAdAssetCombinationView": { + "$ref": "GoogleAdsSearchads360V23Resources__AdGroupAdAssetCombinationView", + "description": "The ad group ad asset combination view in the query." + }, + "adGroupAdAssetView": { + "$ref": "GoogleAdsSearchads360V23Resources__AdGroupAdAssetView", + "description": "The ad group ad asset view in the query." + }, + "adGroupAdEffectiveLabel": { + "$ref": "GoogleAdsSearchads360V23Resources__AdGroupAdEffectiveLabel", + "description": "The ad group ad effective label referenced in the query." + }, + "adGroupAdLabel": { + "$ref": "GoogleAdsSearchads360V23Resources__AdGroupAdLabel", + "description": "The ad group ad label referenced in the query." + }, + "adGroupAsset": { + "$ref": "GoogleAdsSearchads360V23Resources__AdGroupAsset", + "description": "The ad group asset referenced in the query." + }, + "adGroupAssetSet": { + "$ref": "GoogleAdsSearchads360V23Resources__AdGroupAssetSet", + "description": "The ad group asset set referenced in the query." + }, + "adGroupAudienceView": { + "$ref": "GoogleAdsSearchads360V23Resources__AdGroupAudienceView", + "description": "The ad group audience view referenced in the query." + }, + "adGroupBidModifier": { + "$ref": "GoogleAdsSearchads360V23Resources__AdGroupBidModifier", + "description": "The bid modifier referenced in the query." + }, + "adGroupCriterion": { + "$ref": "GoogleAdsSearchads360V23Resources__AdGroupCriterion", + "description": "The criterion referenced in the query." + }, + "adGroupCriterionCustomizer": { + "$ref": "GoogleAdsSearchads360V23Resources__AdGroupCriterionCustomizer", + "description": "The ad group criterion customizer referenced in the query." + }, + "adGroupCriterionEffectiveLabel": { + "$ref": "GoogleAdsSearchads360V23Resources__AdGroupCriterionEffectiveLabel", + "description": "The ad group criterion effective label referenced in the query." + }, + "adGroupCriterionLabel": { + "$ref": "GoogleAdsSearchads360V23Resources__AdGroupCriterionLabel", + "description": "The ad group criterion label referenced in the query." + }, + "adGroupCriterionSimulation": { + "$ref": "GoogleAdsSearchads360V23Resources__AdGroupCriterionSimulation", + "description": "The ad group criterion simulation referenced in the query." + }, + "adGroupCustomizer": { + "$ref": "GoogleAdsSearchads360V23Resources__AdGroupCustomizer", + "description": "The ad group customizer referenced in the query." + }, + "adGroupEffectiveLabel": { + "$ref": "GoogleAdsSearchads360V23Resources__AdGroupEffectiveLabel", + "description": "The ad group effective label referenced in the query." + }, + "adGroupLabel": { + "$ref": "GoogleAdsSearchads360V23Resources__AdGroupLabel", + "description": "The ad group label referenced in the query." + }, + "adGroupSimulation": { + "$ref": "GoogleAdsSearchads360V23Resources__AdGroupSimulation", + "description": "The ad group simulation referenced in the query." + }, + "adParameter": { + "$ref": "GoogleAdsSearchads360V23Resources__AdParameter", + "description": "The ad parameter referenced in the query." + }, + "adScheduleView": { + "$ref": "GoogleAdsSearchads360V23Resources__AdScheduleView", + "description": "The ad schedule view referenced in the query." + }, + "ageRangeView": { + "$ref": "GoogleAdsSearchads360V23Resources__AgeRangeView", + "description": "The age range view referenced in the query." + }, + "aiMaxSearchTermAdCombinationView": { + "$ref": "GoogleAdsSearchads360V23Resources__AiMaxSearchTermAdCombinationView", + "description": "The AI Max search term ad combination view referenced in the query." + }, + "androidPrivacySharedKeyGoogleAdGroup": { + "$ref": "GoogleAdsSearchads360V23Resources__AndroidPrivacySharedKeyGoogleAdGroup", + "description": "The android privacy shared key google ad group referenced in the query." + }, + "androidPrivacySharedKeyGoogleCampaign": { + "$ref": "GoogleAdsSearchads360V23Resources__AndroidPrivacySharedKeyGoogleCampaign", + "description": "The android privacy shared key google campaign referenced in the query." + }, + "androidPrivacySharedKeyGoogleNetworkType": { + "$ref": "GoogleAdsSearchads360V23Resources__AndroidPrivacySharedKeyGoogleNetworkType", + "description": "The android privacy shared key google network type referenced in the query." + }, + "asset": { + "$ref": "GoogleAdsSearchads360V23Resources__Asset", + "description": "The asset referenced in the query." + }, + "assetFieldTypeView": { + "$ref": "GoogleAdsSearchads360V23Resources__AssetFieldTypeView", + "description": "The asset field type view referenced in the query." + }, + "assetGroup": { + "$ref": "GoogleAdsSearchads360V23Resources__AssetGroup", + "description": "The asset group referenced in the query." + }, + "assetGroupAsset": { + "$ref": "GoogleAdsSearchads360V23Resources__AssetGroupAsset", + "description": "The asset group asset referenced in the query." + }, + "assetGroupListingGroupFilter": { + "$ref": "GoogleAdsSearchads360V23Resources__AssetGroupListingGroupFilter", + "description": "The asset group listing group filter referenced in the query." + }, + "assetGroupProductGroupView": { + "$ref": "GoogleAdsSearchads360V23Resources__AssetGroupProductGroupView", + "description": "The asset group product group view referenced in the query." + }, + "assetGroupSignal": { + "$ref": "GoogleAdsSearchads360V23Resources__AssetGroupSignal", + "description": "The asset group signal referenced in the query." + }, + "assetGroupTopCombinationView": { + "$ref": "GoogleAdsSearchads360V23Resources__AssetGroupTopCombinationView", + "description": "The asset group top combination view referenced in the query." + }, + "assetSet": { + "$ref": "GoogleAdsSearchads360V23Resources__AssetSet", + "description": "The asset set referenced in the query." + }, + "assetSetAsset": { + "$ref": "GoogleAdsSearchads360V23Resources__AssetSetAsset", + "description": "The asset set asset referenced in the query." + }, + "assetSetTypeView": { + "$ref": "GoogleAdsSearchads360V23Resources__AssetSetTypeView", + "description": "The asset set type view referenced in the query." + }, + "audience": { + "$ref": "GoogleAdsSearchads360V23Resources__Audience", + "description": "The Audience referenced in the query." + }, + "batchJob": { + "$ref": "GoogleAdsSearchads360V23Resources__BatchJob", + "description": "The batch job referenced in the query." + }, + "biddingDataExclusion": { + "$ref": "GoogleAdsSearchads360V23Resources__BiddingDataExclusion", + "description": "The bidding data exclusion referenced in the query." + }, + "biddingSeasonalityAdjustment": { + "$ref": "GoogleAdsSearchads360V23Resources__BiddingSeasonalityAdjustment", + "description": "The bidding seasonality adjustment referenced in the query." + }, + "biddingStrategy": { + "$ref": "GoogleAdsSearchads360V23Resources__BiddingStrategy", + "description": "The bidding strategy referenced in the query." + }, + "biddingStrategySimulation": { + "$ref": "GoogleAdsSearchads360V23Resources__BiddingStrategySimulation", + "description": "The bidding strategy simulation referenced in the query." + }, + "billingSetup": { + "$ref": "GoogleAdsSearchads360V23Resources__BillingSetup", + "description": "The billing setup referenced in the query." + }, + "callView": { + "$ref": "GoogleAdsSearchads360V23Resources__CallView", + "description": "The call view referenced in the query." + }, + "campaign": { + "$ref": "GoogleAdsSearchads360V23Resources__Campaign", + "description": "The campaign referenced in the query." + }, + "campaignAsset": { + "$ref": "GoogleAdsSearchads360V23Resources__CampaignAsset", + "description": "The campaign asset referenced in the query." + }, + "campaignAssetSet": { + "$ref": "GoogleAdsSearchads360V23Resources__CampaignAssetSet", + "description": "The campaign asset set referenced in the query." + }, + "campaignAudienceView": { + "$ref": "GoogleAdsSearchads360V23Resources__CampaignAudienceView", + "description": "The campaign audience view referenced in the query." + }, + "campaignBidModifier": { + "$ref": "GoogleAdsSearchads360V23Resources__CampaignBidModifier", + "description": "The campaign bid modifier referenced in the query." + }, + "campaignBudget": { + "$ref": "GoogleAdsSearchads360V23Resources__CampaignBudget", + "description": "The campaign budget referenced in the query." + }, + "campaignConversionGoal": { + "$ref": "GoogleAdsSearchads360V23Resources__CampaignConversionGoal", + "description": "The CampaignConversionGoal referenced in the query." + }, + "campaignCriterion": { + "$ref": "GoogleAdsSearchads360V23Resources__CampaignCriterion", + "description": "The campaign criterion referenced in the query." + }, + "campaignCustomizer": { + "$ref": "GoogleAdsSearchads360V23Resources__CampaignCustomizer", + "description": "The campaign customizer referenced in the query." + }, + "campaignDraft": { + "$ref": "GoogleAdsSearchads360V23Resources__CampaignDraft", + "description": "The campaign draft referenced in the query." + }, + "campaignEffectiveLabel": { + "$ref": "GoogleAdsSearchads360V23Resources__CampaignEffectiveLabel", + "description": "The campaign effective label referenced in the query." + }, + "campaignGoalConfig": { + "$ref": "GoogleAdsSearchads360V23Resources__CampaignGoalConfig", + "description": "The campaign goal config referenced in the query." + }, + "campaignGroup": { + "$ref": "GoogleAdsSearchads360V23Resources__CampaignGroup", + "description": "Campaign Group referenced in AWQL query." + }, + "campaignLabel": { + "$ref": "GoogleAdsSearchads360V23Resources__CampaignLabel", + "description": "The campaign label referenced in the query." + }, + "campaignLifecycleGoal": { + "$ref": "GoogleAdsSearchads360V23Resources__CampaignLifecycleGoal", + "description": "The campaign lifecycle goal referenced in the query." + }, + "campaignSearchTermInsight": { + "$ref": "GoogleAdsSearchads360V23Resources__CampaignSearchTermInsight", + "description": "The campaign search term insight referenced in the query." + }, + "campaignSearchTermView": { + "$ref": "GoogleAdsSearchads360V23Resources__CampaignSearchTermView", + "description": "The campaign-level search term view referenced in the query." + }, + "campaignSharedSet": { + "$ref": "GoogleAdsSearchads360V23Resources__CampaignSharedSet", + "description": "Campaign Shared Set referenced in AWQL query." + }, + "campaignSimulation": { + "$ref": "GoogleAdsSearchads360V23Resources__CampaignSimulation", + "description": "The campaign simulation referenced in the query." + }, + "carrierConstant": { + "$ref": "GoogleAdsSearchads360V23Resources__CarrierConstant", + "description": "The carrier constant referenced in the query." + }, + "cartDataSalesView": { + "$ref": "GoogleAdsSearchads360V23Resources__CartDataSalesView", + "description": "The cart data sales view referenced in the query." + }, + "changeEvent": { + "$ref": "GoogleAdsSearchads360V23Resources__ChangeEvent", + "description": "The ChangeEvent referenced in the query." + }, + "changeStatus": { + "$ref": "GoogleAdsSearchads360V23Resources__ChangeStatus", + "description": "The ChangeStatus referenced in the query." + }, + "clickView": { + "$ref": "GoogleAdsSearchads360V23Resources__ClickView", + "description": "The ClickView referenced in the query." + }, + "combinedAudience": { + "$ref": "GoogleAdsSearchads360V23Resources__CombinedAudience", + "description": "The CombinedAudience referenced in the query." + }, + "contentCriterionView": { + "$ref": "GoogleAdsSearchads360V23Resources__ContentCriterionView", + "description": "The content criterion view referenced in the query." + }, + "conversion": { + "$ref": "GoogleAdsSearchads360V23Resources__Conversion", + "description": "The event level conversion referenced in the query." + }, + "conversionAction": { + "$ref": "GoogleAdsSearchads360V23Resources__ConversionAction", + "description": "The conversion action referenced in the query." + }, + "conversionCustomVariable": { + "$ref": "GoogleAdsSearchads360V23Resources__ConversionCustomVariable", + "description": "The conversion custom variable referenced in the query." + }, + "conversionGoalCampaignConfig": { + "$ref": "GoogleAdsSearchads360V23Resources__ConversionGoalCampaignConfig", + "description": "The ConversionGoalCampaignConfig referenced in the query." + }, + "conversionValueRule": { + "$ref": "GoogleAdsSearchads360V23Resources__ConversionValueRule", + "description": "The conversion value rule referenced in the query." + }, + "conversionValueRuleSet": { + "$ref": "GoogleAdsSearchads360V23Resources__ConversionValueRuleSet", + "description": "The conversion value rule set referenced in the query." + }, + "currencyConstant": { + "$ref": "GoogleAdsSearchads360V23Resources__CurrencyConstant", + "description": "The currency constant referenced in the query." + }, + "customAudience": { + "$ref": "GoogleAdsSearchads360V23Resources__CustomAudience", + "description": "The CustomAudience referenced in the query." + }, + "customColumns": { + "description": "The custom columns.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__Value" + }, + "type": "array" + }, + "customConversionGoal": { + "$ref": "GoogleAdsSearchads360V23Resources__CustomConversionGoal", + "description": "The CustomConversionGoal referenced in the query." + }, + "customInterest": { + "$ref": "GoogleAdsSearchads360V23Resources__CustomInterest", + "description": "The CustomInterest referenced in the query." + }, + "customer": { + "$ref": "GoogleAdsSearchads360V23Resources__Customer", + "description": "The customer referenced in the query." + }, + "customerAsset": { + "$ref": "GoogleAdsSearchads360V23Resources__CustomerAsset", + "description": "The customer asset referenced in the query." + }, + "customerAssetSet": { + "$ref": "GoogleAdsSearchads360V23Resources__CustomerAssetSet", + "description": "The customer asset set referenced in the query." + }, + "customerClient": { + "$ref": "GoogleAdsSearchads360V23Resources__CustomerClient", + "description": "The CustomerClient referenced in the query." + }, + "customerClientLink": { + "$ref": "GoogleAdsSearchads360V23Resources__CustomerClientLink", + "description": "The CustomerClientLink referenced in the query." + }, + "customerConversionGoal": { + "$ref": "GoogleAdsSearchads360V23Resources__CustomerConversionGoal", + "description": "The CustomerConversionGoal referenced in the query." + }, + "customerCustomizer": { + "$ref": "GoogleAdsSearchads360V23Resources__CustomerCustomizer", + "description": "The customer customizer referenced in the query." + }, + "customerLabel": { + "$ref": "GoogleAdsSearchads360V23Resources__CustomerLabel", + "description": "The customer label referenced in the query." + }, + "customerLifecycleGoal": { + "$ref": "GoogleAdsSearchads360V23Resources__CustomerLifecycleGoal", + "description": "The customer lifecycle goal referenced in the query." + }, + "customerManagerLink": { + "$ref": "GoogleAdsSearchads360V23Resources__CustomerManagerLink", + "description": "The CustomerManagerLink referenced in the query." + }, + "customerNegativeCriterion": { + "$ref": "GoogleAdsSearchads360V23Resources__CustomerNegativeCriterion", + "description": "The customer negative criterion referenced in the query." + }, + "customerSearchTermInsight": { + "$ref": "GoogleAdsSearchads360V23Resources__CustomerSearchTermInsight", + "description": "The customer search term insight referenced in the query." + }, + "customerUserAccess": { + "$ref": "GoogleAdsSearchads360V23Resources__CustomerUserAccess", + "description": "The CustomerUserAccess referenced in the query." + }, + "customerUserAccessInvitation": { + "$ref": "GoogleAdsSearchads360V23Resources__CustomerUserAccessInvitation", + "description": "The CustomerUserAccessInvitation referenced in the query." + }, + "customizerAttribute": { + "$ref": "GoogleAdsSearchads360V23Resources__CustomizerAttribute", + "description": "The customizer attribute referenced in the query." + }, + "dataLink": { + "$ref": "GoogleAdsSearchads360V23Resources__DataLink", + "description": "The data link referenced in the query." + }, + "detailContentSuitabilityPlacementView": { + "$ref": "GoogleAdsSearchads360V23Resources__DetailContentSuitabilityPlacementView", + "description": "The detail content suitability placement view referenced in the query." + }, + "detailPlacementView": { + "$ref": "GoogleAdsSearchads360V23Resources__DetailPlacementView", + "description": "The detail placement view referenced in the query." + }, + "detailedDemographic": { + "$ref": "GoogleAdsSearchads360V23Resources__DetailedDemographic", + "description": "The detailed demographic referenced in the query." + }, + "displayKeywordView": { + "$ref": "GoogleAdsSearchads360V23Resources__DisplayKeywordView", + "description": "The display keyword view referenced in the query." + }, + "distanceView": { + "$ref": "GoogleAdsSearchads360V23Resources__DistanceView", + "description": "The distance view referenced in the query." + }, + "dynamicSearchAdsSearchTermView": { + "$ref": "GoogleAdsSearchads360V23Resources__DynamicSearchAdsSearchTermView", + "description": "The dynamic search ads search term view referenced in the query." + }, + "expandedLandingPageView": { + "$ref": "GoogleAdsSearchads360V23Resources__ExpandedLandingPageView", + "description": "The expanded landing page view referenced in the query." + }, + "experiment": { + "$ref": "GoogleAdsSearchads360V23Resources__Experiment", + "description": "The experiment referenced in the query." + }, + "experimentArm": { + "$ref": "GoogleAdsSearchads360V23Resources__ExperimentArm", + "description": "The experiment arm referenced in the query." + }, + "finalUrlExpansionAssetView": { + "$ref": "GoogleAdsSearchads360V23Resources__FinalUrlExpansionAssetView", + "description": "The final url expansion asset view referenced in the query." + }, + "genderView": { + "$ref": "GoogleAdsSearchads360V23Resources__GenderView", + "description": "The gender view referenced in the query." + }, + "geoTargetConstant": { + "$ref": "GoogleAdsSearchads360V23Resources__GeoTargetConstant", + "description": "The geo target constant referenced in the query." + }, + "geographicView": { + "$ref": "GoogleAdsSearchads360V23Resources__GeographicView", + "description": "The geographic view referenced in the query." + }, + "goal": { + "$ref": "GoogleAdsSearchads360V23Resources__Goal", + "description": "The goal in the query." + }, + "groupContentSuitabilityPlacementView": { + "$ref": "GoogleAdsSearchads360V23Resources__GroupContentSuitabilityPlacementView", + "description": "The group content suitability placement view referenced in the query." + }, + "groupPlacementView": { + "$ref": "GoogleAdsSearchads360V23Resources__GroupPlacementView", + "description": "The group placement view referenced in the query." + }, + "hotelGroupView": { + "$ref": "GoogleAdsSearchads360V23Resources__HotelGroupView", + "description": "The hotel group view referenced in the query." + }, + "hotelPerformanceView": { + "$ref": "GoogleAdsSearchads360V23Resources__HotelPerformanceView", + "description": "The hotel performance view referenced in the query." + }, + "hotelReconciliation": { + "$ref": "GoogleAdsSearchads360V23Resources__HotelReconciliation", + "description": "The hotel reconciliation referenced in the query." + }, + "incomeRangeView": { + "$ref": "GoogleAdsSearchads360V23Resources__IncomeRangeView", + "description": "The income range view referenced in the query." + }, + "keywordPlan": { + "$ref": "GoogleAdsSearchads360V23Resources__KeywordPlan", + "description": "The keyword plan referenced in the query." + }, + "keywordPlanAdGroup": { + "$ref": "GoogleAdsSearchads360V23Resources__KeywordPlanAdGroup", + "description": "The keyword plan ad group referenced in the query." + }, + "keywordPlanAdGroupKeyword": { + "$ref": "GoogleAdsSearchads360V23Resources__KeywordPlanAdGroupKeyword", + "description": "The keyword plan ad group referenced in the query." + }, + "keywordPlanCampaign": { + "$ref": "GoogleAdsSearchads360V23Resources__KeywordPlanCampaign", + "description": "The keyword plan campaign referenced in the query." + }, + "keywordPlanCampaignKeyword": { + "$ref": "GoogleAdsSearchads360V23Resources__KeywordPlanCampaignKeyword", + "description": "The keyword plan campaign keyword referenced in the query." + }, + "keywordThemeConstant": { + "$ref": "GoogleAdsSearchads360V23Resources__KeywordThemeConstant", + "description": "The keyword theme constant referenced in the query." + }, + "keywordView": { + "$ref": "GoogleAdsSearchads360V23Resources__KeywordView", + "description": "The keyword view referenced in the query." + }, + "label": { + "$ref": "GoogleAdsSearchads360V23Resources__Label", + "description": "The label referenced in the query." + }, + "landingPageView": { + "$ref": "GoogleAdsSearchads360V23Resources__LandingPageView", + "description": "The landing page view referenced in the query." + }, + "languageConstant": { + "$ref": "GoogleAdsSearchads360V23Resources__LanguageConstant", + "description": "The language constant referenced in the query." + }, + "leadFormSubmissionData": { + "$ref": "GoogleAdsSearchads360V23Resources__LeadFormSubmissionData", + "description": "The lead form user submission referenced in the query." + }, + "lifeEvent": { + "$ref": "GoogleAdsSearchads360V23Resources__LifeEvent", + "description": "The life event referenced in the query." + }, + "localServicesEmployee": { + "$ref": "GoogleAdsSearchads360V23Resources__LocalServicesEmployee", + "description": "The local services employee referenced in the query." + }, + "localServicesLead": { + "$ref": "GoogleAdsSearchads360V23Resources__LocalServicesLead", + "description": "The local services lead referenced in the query." + }, + "localServicesLeadConversation": { + "$ref": "GoogleAdsSearchads360V23Resources__LocalServicesLeadConversation", + "description": "The local services lead conversationreferenced in the query." + }, + "localServicesVerificationArtifact": { + "$ref": "GoogleAdsSearchads360V23Resources__LocalServicesVerificationArtifact", + "description": "The local services verification artifact referenced in the query." + }, + "locationInterestView": { + "$ref": "GoogleAdsSearchads360V23Resources__LocationInterestView", + "description": "The location interest view referenced in the query." + }, + "locationView": { + "$ref": "GoogleAdsSearchads360V23Resources__LocationView", + "description": "The location view referenced in the query." + }, + "managedPlacementView": { + "$ref": "GoogleAdsSearchads360V23Resources__ManagedPlacementView", + "description": "The managed placement view referenced in the query." + }, + "matchedLocationInterestView": { + "$ref": "GoogleAdsSearchads360V23Resources__MatchedLocationInterestView", + "description": "The matched location interest view referenced in the query." + }, + "mediaFile": { + "$ref": "GoogleAdsSearchads360V23Resources__MediaFile", + "description": "The media file referenced in the query." + }, + "metrics": { + "$ref": "GoogleAdsSearchads360V23Common__Metrics", + "description": "The metrics." + }, + "mobileAppCategoryConstant": { + "$ref": "GoogleAdsSearchads360V23Resources__MobileAppCategoryConstant", + "description": "The mobile app category constant referenced in the query." + }, + "mobileDeviceConstant": { + "$ref": "GoogleAdsSearchads360V23Resources__MobileDeviceConstant", + "description": "The mobile device constant referenced in the query." + }, + "offlineConversionUploadClientSummary": { + "$ref": "GoogleAdsSearchads360V23Resources__OfflineConversionUploadClientSummary", + "description": "Offline conversion upload summary at customer level." + }, + "offlineConversionUploadConversionActionSummary": { + "$ref": "GoogleAdsSearchads360V23Resources__OfflineConversionUploadConversionActionSummary", + "description": "Offline conversion upload summary at conversion type level." + }, + "offlineUserDataJob": { + "$ref": "GoogleAdsSearchads360V23Resources__OfflineUserDataJob", + "description": "The offline user data job referenced in the query." + }, + "operatingSystemVersionConstant": { + "$ref": "GoogleAdsSearchads360V23Resources__OperatingSystemVersionConstant", + "description": "The operating system version constant referenced in the query." + }, + "paidOrganicSearchTermView": { + "$ref": "GoogleAdsSearchads360V23Resources__PaidOrganicSearchTermView", + "description": "The paid organic search term view referenced in the query." + }, + "parentalStatusView": { + "$ref": "GoogleAdsSearchads360V23Resources__ParentalStatusView", + "description": "The parental status view referenced in the query." + }, + "perStoreView": { + "$ref": "GoogleAdsSearchads360V23Resources__PerStoreView", + "description": "The per store view referenced in the query." + }, + "performanceMaxPlacementView": { + "$ref": "GoogleAdsSearchads360V23Resources__PerformanceMaxPlacementView", + "description": "The performance max placement view referenced in the query." + }, + "productCategoryConstant": { + "$ref": "GoogleAdsSearchads360V23Resources__ProductCategoryConstant", + "description": "The product category referenced in the query." + }, + "productGroupView": { + "$ref": "GoogleAdsSearchads360V23Resources__ProductGroupView", + "description": "The product group view referenced in the query." + }, + "productLink": { + "$ref": "GoogleAdsSearchads360V23Resources__ProductLink", + "description": "The product link referenced in the query." + }, + "productLinkInvitation": { + "$ref": "GoogleAdsSearchads360V23Resources__ProductLinkInvitation", + "description": "The product link invitation in the query." + }, + "qualifyingQuestion": { + "$ref": "GoogleAdsSearchads360V23Resources__QualifyingQuestion", + "description": "The qualifying question referenced in the query." + }, + "recommendation": { + "$ref": "GoogleAdsSearchads360V23Resources__Recommendation", + "description": "The recommendation referenced in the query." + }, + "recommendationSubscription": { + "$ref": "GoogleAdsSearchads360V23Resources__RecommendationSubscription", + "description": "The recommendation subscription referenced in the query." + }, + "remarketingAction": { + "$ref": "GoogleAdsSearchads360V23Resources__RemarketingAction", + "description": "The remarketing action referenced in the query." + }, + "searchAds360Campaign": { + "$ref": "GoogleAdsSearchads360V23Resources__SearchAds360Campaign", + "description": "The Search Ads 360 campaign referenced in the query." + }, + "searchTermView": { + "$ref": "GoogleAdsSearchads360V23Resources__SearchTermView", + "description": "The search term view referenced in the query." + }, + "segments": { + "$ref": "GoogleAdsSearchads360V23Common__Segments", + "description": "The segments." + }, + "sharedCriterion": { + "$ref": "GoogleAdsSearchads360V23Resources__SharedCriterion", + "description": "The shared set referenced in the query." + }, + "sharedSet": { + "$ref": "GoogleAdsSearchads360V23Resources__SharedSet", + "description": "The shared set referenced in the query." + }, + "shoppingPerformanceView": { + "$ref": "GoogleAdsSearchads360V23Resources__ShoppingPerformanceView", + "description": "The shopping performance view referenced in the query." + }, + "shoppingProduct": { + "$ref": "GoogleAdsSearchads360V23Resources__ShoppingProduct", + "description": "The shopping product referenced in the query." + }, + "smartCampaignSearchTermView": { + "$ref": "GoogleAdsSearchads360V23Resources__SmartCampaignSearchTermView", + "description": "The Smart campaign search term view referenced in the query." + }, + "smartCampaignSetting": { + "$ref": "GoogleAdsSearchads360V23Resources__SmartCampaignSetting", + "description": "The Smart campaign setting referenced in the query." + }, + "targetingExpansionView": { + "$ref": "GoogleAdsSearchads360V23Resources__TargetingExpansionView", + "description": "The Targeting expansion view referenced in the query." + }, + "thirdPartyAppAnalyticsLink": { + "$ref": "GoogleAdsSearchads360V23Resources__ThirdPartyAppAnalyticsLink", + "description": "The AccountLink referenced in the query." + }, + "topicConstant": { + "$ref": "GoogleAdsSearchads360V23Resources__TopicConstant", + "description": "The topic constant referenced in the query." + }, + "topicView": { + "$ref": "GoogleAdsSearchads360V23Resources__TopicView", + "description": "The topic view referenced in the query." + }, + "travelActivityGroupView": { + "$ref": "GoogleAdsSearchads360V23Resources__TravelActivityGroupView", + "description": "The travel activity group view referenced in the query." + }, + "travelActivityPerformanceView": { + "$ref": "GoogleAdsSearchads360V23Resources__TravelActivityPerformanceView", + "description": "The travel activity performance view referenced in the query." + }, + "userInterest": { + "$ref": "GoogleAdsSearchads360V23Resources__UserInterest", + "description": "The user interest referenced in the query." + }, + "userList": { + "$ref": "GoogleAdsSearchads360V23Resources__UserList", + "description": "The user list referenced in the query." + }, + "userListCustomerType": { + "$ref": "GoogleAdsSearchads360V23Resources__UserListCustomerType", + "description": "The user list customer type in the query." + }, + "userLocationView": { + "$ref": "GoogleAdsSearchads360V23Resources__UserLocationView", + "description": "The user location view referenced in the query." + }, + "video": { + "$ref": "GoogleAdsSearchads360V23Resources__Video", + "description": "The video referenced in the query." + }, + "visit": { + "$ref": "GoogleAdsSearchads360V23Resources__Visit", + "description": "The event level visit referenced in the query." + }, + "webpageView": { + "$ref": "GoogleAdsSearchads360V23Resources__WebpageView", + "description": "The webpage view referenced in the query." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__SearchSearchAds360FieldsRequest": { + "description": "Request message for SearchAds360FieldService.SearchSearchAds360Fields.", + "id": "GoogleAdsSearchads360V23Services__SearchSearchAds360FieldsRequest", + "properties": { + "pageSize": { + "description": "Number of elements to retrieve in a single page. When too large a page is requested, the server may decide to further limit the number of returned resources.", + "format": "int32", + "type": "integer" + }, + "pageToken": { + "description": "Token of the page to retrieve. If not specified, the first page of results will be returned. Use the value obtained from `next_page_token` in the previous response in order to request the next page of results.", + "type": "string" + }, + "query": { + "description": "Required. The query string.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__SearchSearchAds360FieldsResponse": { + "description": "Response message for SearchAds360FieldService.SearchSearchAds360Fields.", + "id": "GoogleAdsSearchads360V23Services__SearchSearchAds360FieldsResponse", + "properties": { + "nextPageToken": { + "description": "Pagination token used to retrieve the next page of results. Pass the content of this string as the `page_token` attribute of the next request. `next_page_token` is not returned for the last page.", + "type": "string" + }, + "results": { + "description": "The list of fields that matched the query.", + "items": { + "$ref": "GoogleAdsSearchads360V23Resources__SearchAds360Field" + }, + "type": "array" + }, + "totalResultsCount": { + "description": "Total number of results that match the query ignoring the LIMIT clause.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__SearchSearchAds360Request": { + "description": "Request message for SearchAds360Service.Search.", + "id": "GoogleAdsSearchads360V23Services__SearchSearchAds360Request", + "properties": { + "pageSize": { + "description": "Number of elements to retrieve in a single page. When too large a page is requested, the server may decide to further limit the number of returned resources.", + "format": "int32", + "type": "integer" + }, + "pageToken": { + "description": "Token of the page to retrieve. If not specified, the first page of results will be returned. Use the value obtained from `next_page_token` in the previous response in order to request the next page of results.", + "type": "string" + }, + "query": { + "description": "Required. The query string.", + "type": "string" + }, + "searchSettings": { + "$ref": "GoogleAdsSearchads360V23Services__SearchSettings", + "description": "Settings that allow users to specify request count, summary row, and results behavior." + }, + "validateOnly": { + "description": "If true, the request is validated but not executed.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__SearchSearchAds360Response": { + "description": "Response message for SearchAds360Service.Search.", + "id": "GoogleAdsSearchads360V23Services__SearchSearchAds360Response", + "properties": { + "conversionCustomDimensionHeaders": { + "description": "The headers of the conversion custom dimensions in the results.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__ConversionCustomDimensionHeader" + }, + "type": "array" + }, + "conversionCustomMetricHeaders": { + "description": "The headers of the conversion custom metrics in the results.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__ConversionCustomMetricHeader" + }, + "type": "array" + }, + "customColumnHeaders": { + "description": "The headers of the custom columns in the results.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__CustomColumnHeader" + }, + "type": "array" + }, + "fieldMask": { + "description": "FieldMask that represents what fields were requested by the user.", + "format": "google-fieldmask", + "type": "string" + }, + "metricAttributes": { + "description": "The metric attributes of the metrics in the results.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__MetricAttributes" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Pagination token used to retrieve the next page of results. Pass the content of this string as the `page_token` attribute of the next request. `next_page_token` is not returned for the last page.", + "type": "string" + }, + "queryResourceConsumption": { + "description": "The amount of resources consumed to serve the query.", + "format": "int64", + "type": "string" + }, + "rawEventConversionDimensionHeaders": { + "description": "The headers of the raw event conversion dimensions in the results.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__RawEventConversionDimensionHeader" + }, + "type": "array" + }, + "rawEventConversionMetricHeaders": { + "description": "The headers of the raw event conversion metrics in the results.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__RawEventConversionMetricHeader" + }, + "type": "array" + }, + "results": { + "description": "The list of rows that matched the query.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__SearchAds360Row" + }, + "type": "array" + }, + "summaryRow": { + "$ref": "GoogleAdsSearchads360V23Services__SearchAds360Row", + "description": "Summary row that contains summary of metrics in results. Summary of metrics means aggregation of metrics across all results, here aggregation could be sum, average, rate, etc." + }, + "totalResultsCount": { + "description": "Total number of results that match the query ignoring the LIMIT clause.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__SearchSettings": { + "description": "Indicates search settings in request parameter.", + "id": "GoogleAdsSearchads360V23Services__SearchSettings", + "properties": { + "omitResults": { + "description": "If true, results will be excluded from the response. Otherwise, results will be returned. Default is false.", + "type": "boolean" + }, + "returnSummaryRow": { + "description": "If true, summary row will be included in the response and sent in a response by itself after all other query results are returned. Default is false.", + "type": "boolean" + }, + "returnTotalResultsCount": { + "description": "If true, the total number of results that match the query ignoring the LIMIT clause will be included in the response. Default is false.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__SharedCriterionOperation": { + "description": "A single operation (create, remove) on an shared criterion.", + "id": "GoogleAdsSearchads360V23Services__SharedCriterionOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__SharedCriterion", + "description": "Create operation: No resource name is expected for the new shared criterion." + }, + "remove": { + "description": "Remove operation: A resource name for the removed shared criterion is expected, in this format: `customers/{customer_id}/sharedCriteria/{shared_set_id}~{criterion_id}`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__SharedSetOperation": { + "description": "A single operation (create, update, remove) on an shared set.", + "id": "GoogleAdsSearchads360V23Services__SharedSetOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__SharedSet", + "description": "Create operation: No resource name is expected for the new shared set." + }, + "remove": { + "description": "Remove operation: A resource name for the removed shared set is expected, in this format: `customers/{customer_id}/sharedSets/{shared_set_id}`", + "type": "string" + }, + "update": { + "$ref": "GoogleAdsSearchads360V23Resources__SharedSet", + "description": "Update operation: The shared set is expected to have a valid resource name." + }, + "updateMask": { + "description": "FieldMask that determines which resource fields are modified in an update.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__SiteSeed": { + "description": "Site Seed", + "id": "GoogleAdsSearchads360V23Services__SiteSeed", + "properties": { + "site": { + "description": "The domain name of the site. If the customer requesting the ideas doesn't own the site provided only public information is returned.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__SmartCampaignEligibleDetails": { + "description": "Details related to Smart campaigns that are eligible to serve.", + "id": "GoogleAdsSearchads360V23Services__SmartCampaignEligibleDetails", + "properties": { + "endDateTime": { + "description": "The timestamp of when the campaign will end, if applicable. The timestamp is in the customer’s timezone and in “yyyy-MM-dd HH:mm:ss” format.", + "type": "string" + }, + "lastImpressionDateTime": { + "description": "The timestamp of the last impression observed in the last 48 hours for this campaign. The timestamp is in the customer’s timezone and in “yyyy-MM-dd HH:mm:ss” format.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__SmartCampaignEndedDetails": { + "description": "Details related to Smart campaigns that have ended.", + "id": "GoogleAdsSearchads360V23Services__SmartCampaignEndedDetails", + "properties": { + "endDateTime": { + "description": "The timestamp of when the campaign ended. The timestamp is in the customer’s timezone and in “yyyy-MM-dd HH:mm:ss” format.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__SmartCampaignNotEligibleDetails": { + "description": "Details related to Smart campaigns that are not eligible to serve.", + "id": "GoogleAdsSearchads360V23Services__SmartCampaignNotEligibleDetails", + "properties": { + "notEligibleReason": { + "description": "The reason why the Smart campaign is not eligible to serve.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ACCOUNT_ISSUE", + "BILLING_ISSUE", + "BUSINESS_PROFILE_LOCATION_REMOVED", + "ALL_ADS_DISAPPROVED" + ], + "enumDescriptions": [ + "The status has not been specified.", + "The received value is not known in this version. This is a response-only value.", + "The campaign is not eligible to serve because of an issue with the account.", + "The campaign is not eligible to serve because of a payment issue.", + "The business profile location associated with the campaign has been removed.", + "All system-generated ads have been disapproved. Consult the policy_summary field in the AdGroupAd resource for more details." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__SmartCampaignPausedDetails": { + "description": "Details related to paused Smart campaigns.", + "id": "GoogleAdsSearchads360V23Services__SmartCampaignPausedDetails", + "properties": { + "pausedDateTime": { + "description": "The timestamp of when the campaign was last paused. The timestamp is in the customer’s timezone and in “yyyy-MM-dd HH:mm:ss” format.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__SmartCampaignRemovedDetails": { + "description": "Details related to removed Smart campaigns.", + "id": "GoogleAdsSearchads360V23Services__SmartCampaignRemovedDetails", + "properties": { + "removedDateTime": { + "description": "The timestamp of when the campaign was removed. The timestamp is in the customer’s timezone and in “yyyy-MM-dd HH:mm:ss” format.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__SmartCampaignSettingOperation": { + "description": "A single operation to update Smart campaign settings for a campaign.", + "id": "GoogleAdsSearchads360V23Services__SmartCampaignSettingOperation", + "properties": { + "update": { + "$ref": "GoogleAdsSearchads360V23Resources__SmartCampaignSetting", + "description": "Update operation: The Smart campaign setting must specify a valid resource name." + }, + "updateMask": { + "description": "FieldMask that determines which resource fields are modified in an update.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__SmartCampaignSuggestionInfo": { + "description": "Information needed to get suggestion for Smart Campaign. More information provided will help the system to derive better suggestions.", + "id": "GoogleAdsSearchads360V23Services__SmartCampaignSuggestionInfo", + "properties": { + "adSchedules": { + "description": "Optional. The business ad schedule.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AdScheduleInfo" + }, + "type": "array" + }, + "businessContext": { + "$ref": "GoogleAdsSearchads360V23Services_SmartCampaignSuggestionInfo_BusinessContext", + "description": "Optional. Context describing the business to advertise." + }, + "businessProfileLocation": { + "description": "Optional. The resource name of a Business Profile location. Business Profile location resource names can be fetched through the Business Profile API and adhere to the following format: `locations/{locationId}`. See the [Business Profile API] (https://developers.google.com/my-business/reference/businessinformation/rest/v1/accounts.locations) for additional details.", + "type": "string" + }, + "finalUrl": { + "description": "Optional. Landing page URL of the campaign.", + "type": "string" + }, + "keywordThemes": { + "description": "Optional. Smart campaign keyword themes. This field may greatly improve suggestion accuracy and we recommend always setting it if possible.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__KeywordThemeInfo" + }, + "type": "array" + }, + "languageCode": { + "description": "Optional. The two letter advertising language for the Smart campaign to be constructed, default to 'en' if not set.", + "type": "string" + }, + "locationList": { + "$ref": "GoogleAdsSearchads360V23Services_SmartCampaignSuggestionInfo_LocationList", + "description": "Optional. The targeting geo location by locations." + }, + "proximity": { + "$ref": "GoogleAdsSearchads360V23Common__ProximityInfo", + "description": "Optional. The targeting geo location by proximity." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__StartIdentityVerificationRequest": { + "description": "Request message for StartIdentityVerification.", + "id": "GoogleAdsSearchads360V23Services__StartIdentityVerificationRequest", + "properties": { + "verificationProgram": { + "description": "Required. The verification program type for which we want to start the verification.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ADVERTISER_IDENTITY_VERIFICATION" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "Advertiser submits documents to verify their identity." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__SuggestGeoTargetConstantsRequest": { + "description": "Request message for GeoTargetConstantService.SuggestGeoTargetConstants.", + "id": "GoogleAdsSearchads360V23Services__SuggestGeoTargetConstantsRequest", + "properties": { + "countryCode": { + "description": "Returned geo targets are restricted to this country code.", + "type": "string" + }, + "geoTargets": { + "$ref": "GoogleAdsSearchads360V23Services_SuggestGeoTargetConstantsRequest_GeoTargets", + "description": "The geo target constant resource names to filter by." + }, + "locale": { + "description": "If possible, returned geo targets are translated using this locale. If not, en is used by default. This is also used as a hint for returned geo targets.", + "type": "string" + }, + "locationNames": { + "$ref": "GoogleAdsSearchads360V23Services_SuggestGeoTargetConstantsRequest_LocationNames", + "description": "The location names to search by. At most 25 names can be set." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__SuggestGeoTargetConstantsResponse": { + "description": "Response message for GeoTargetConstantService.SuggestGeoTargetConstants.", + "id": "GoogleAdsSearchads360V23Services__SuggestGeoTargetConstantsResponse", + "properties": { + "geoTargetConstantSuggestions": { + "description": "Geo target constant suggestions.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__GeoTargetConstantSuggestion" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__SuggestKeywordThemeConstantsRequest": { + "description": "Request message for KeywordThemeConstantService.SuggestKeywordThemeConstants.", + "id": "GoogleAdsSearchads360V23Services__SuggestKeywordThemeConstantsRequest", + "properties": { + "countryCode": { + "description": "Upper-case, two-letter country code as defined by ISO-3166. This for refining the scope of the query, default to 'US' if not set.", + "type": "string" + }, + "languageCode": { + "description": "The two letter language code for get corresponding keyword theme for refining the scope of the query, default to 'en' if not set.", + "type": "string" + }, + "queryText": { + "description": "The query text of a keyword theme that will be used to map to similar keyword themes. For example, \"plumber\" or \"roofer\".", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__SuggestKeywordThemeConstantsResponse": { + "description": "Response message for KeywordThemeConstantService.SuggestKeywordThemeConstants.", + "id": "GoogleAdsSearchads360V23Services__SuggestKeywordThemeConstantsResponse", + "properties": { + "keywordThemeConstants": { + "description": "Smart Campaign keyword theme suggestions.", + "items": { + "$ref": "GoogleAdsSearchads360V23Resources__KeywordThemeConstant" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__SuggestKeywordThemesRequest": { + "description": "Request message for SmartCampaignSuggestService.SuggestKeywordThemes.", + "id": "GoogleAdsSearchads360V23Services__SuggestKeywordThemesRequest", + "properties": { + "suggestionInfo": { + "$ref": "GoogleAdsSearchads360V23Services__SmartCampaignSuggestionInfo", + "description": "Required. Information to get keyword theme suggestions. Required fields: * suggestion_info.final_url * suggestion_info.language_code * suggestion_info.geo_target Recommended fields: * suggestion_info.business_setting" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__SuggestKeywordThemesResponse": { + "description": "Response message for SmartCampaignSuggestService.SuggestKeywordThemes.", + "id": "GoogleAdsSearchads360V23Services__SuggestKeywordThemesResponse", + "properties": { + "keywordThemes": { + "description": "Smart campaign keyword theme suggestions.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services_SuggestKeywordThemesResponse_KeywordTheme" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__SuggestSmartCampaignAdRequest": { + "description": "Request message for SmartCampaignSuggestService.SuggestSmartCampaignAd.", + "id": "GoogleAdsSearchads360V23Services__SuggestSmartCampaignAdRequest", + "properties": { + "suggestionInfo": { + "$ref": "GoogleAdsSearchads360V23Services__SmartCampaignSuggestionInfo", + "description": "Required. Inputs used to suggest a Smart campaign ad. Required fields: final_url, language_code, keyword_themes. Optional but recommended fields to improve the quality of the suggestion: business_setting and geo_target." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__SuggestSmartCampaignAdResponse": { + "description": "Response message for SmartCampaignSuggestService.SuggestSmartCampaignAd.", + "id": "GoogleAdsSearchads360V23Services__SuggestSmartCampaignAdResponse", + "properties": { + "adInfo": { + "$ref": "GoogleAdsSearchads360V23Common__SmartCampaignAdInfo", + "description": "Optional. Ad info includes 3 creative headlines and 2 creative descriptions." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__SuggestSmartCampaignBudgetOptionsRequest": { + "description": "Request message for SmartCampaignSuggestService.SuggestSmartCampaignBudgetOptions.", + "id": "GoogleAdsSearchads360V23Services__SuggestSmartCampaignBudgetOptionsRequest", + "properties": { + "campaign": { + "description": "Required. The resource name of the campaign to get suggestion for.", + "type": "string" + }, + "suggestionInfo": { + "$ref": "GoogleAdsSearchads360V23Services__SmartCampaignSuggestionInfo", + "description": "Required. Information needed to get budget options" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__SuggestSmartCampaignBudgetOptionsResponse": { + "description": "Response message for SmartCampaignSuggestService.SuggestSmartCampaignBudgetOptions. Depending on whether the system could suggest the options, either all of the options or none of them might be returned.", + "id": "GoogleAdsSearchads360V23Services__SuggestSmartCampaignBudgetOptionsResponse", + "properties": { + "high": { + "$ref": "GoogleAdsSearchads360V23Services_SuggestSmartCampaignBudgetOptionsResponse_BudgetOption", + "description": "Optional. The highest budget option." + }, + "low": { + "$ref": "GoogleAdsSearchads360V23Services_SuggestSmartCampaignBudgetOptionsResponse_BudgetOption", + "description": "Optional. The lowest budget option." + }, + "recommended": { + "$ref": "GoogleAdsSearchads360V23Services_SuggestSmartCampaignBudgetOptionsResponse_BudgetOption", + "description": "Optional. The recommended budget option." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__SuggestTravelAssetsRequest": { + "description": "Request message for TravelAssetSuggestionService.SuggestTravelAssets.", + "id": "GoogleAdsSearchads360V23Services__SuggestTravelAssetsRequest", + "properties": { + "languageOption": { + "description": "Required. The language specifications in BCP 47 format (for example, en-US, zh-CN, etc.) for the asset suggestions. Text will be in this language. Usually matches one of the campaign target languages.", + "type": "string" + }, + "placeIds": { + "description": "The Google Maps Place IDs of hotels for which assets are requested. See https://developers.google.com/places/web-service/place-id for more information.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__SuggestTravelAssetsResponse": { + "description": "Response message for TravelAssetSuggestionService.SuggestTravelAssets.", + "id": "GoogleAdsSearchads360V23Services__SuggestTravelAssetsResponse", + "properties": { + "hotelAssetSuggestions": { + "description": "Asset suggestions for each place ID submitted in the request.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__HotelAssetSuggestion" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__SurfaceTargeting": { + "description": "Container for surfaces for a product. Surfaces refer to the available types of ad inventories such as In-Feed, In-Stream, and Shorts.", + "id": "GoogleAdsSearchads360V23Services__SurfaceTargeting", + "properties": { + "surfaces": { + "description": "List of surfaces available to target.", + "items": { + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "DISCOVER_FEED", + "GMAIL", + "IN_FEED", + "IN_STREAM_BUMPER", + "IN_STREAM_NON_SKIPPABLE", + "IN_STREAM_SKIPPABLE", + "SHORTS" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "Discover feed ad surface.", + "Gmail ad surface.", + "In-Feed ad surface.", + "In-Stream bumper ad surface.", + "In-Stream non-skippable ad surface.", + "In-Stream skippable ad surface.", + "Shorts ad surface." + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__SurfaceTargetingCombinations": { + "description": "The surface targeting combinations available for an ad product.", + "id": "GoogleAdsSearchads360V23Services__SurfaceTargetingCombinations", + "properties": { + "availableTargetingCombinations": { + "description": "Available surface target combinations for the ad product.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__SurfaceTargeting" + }, + "type": "array" + }, + "defaultTargeting": { + "$ref": "GoogleAdsSearchads360V23Services__SurfaceTargeting", + "description": "Default surface targeting applied to the ad product." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__SurveyDissatisfied": { + "description": "Details about various factors for not being satisfied with the lead.", + "id": "GoogleAdsSearchads360V23Services__SurveyDissatisfied", + "properties": { + "otherReasonComment": { + "description": "Optional. Provider's free form comments. This field is required when OTHER_DISSATISFIED_REASON is selected as the reason.", + "type": "string" + }, + "surveyDissatisfiedReason": { + "description": "Required. Provider's reason for not being satisfied with the lead.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "OTHER_DISSATISFIED_REASON", + "GEO_MISMATCH", + "JOB_TYPE_MISMATCH", + "NOT_READY_TO_BOOK", + "SPAM", + "DUPLICATE", + "SOLICITATION" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Other reasons.", + "Lead was for a service that does not match the business' service area.", + "Lead was for a service that is not offered by the business.", + "Lead was by a customer that was not ready to book.", + "Lead was a spam. Example: lead was from a bot, silent called, scam, etc.", + "Lead was a duplicate of another lead that is, customer contacted the business more than once.", + "Lead due to solicitation. Example: a person trying to get a job or selling a product, etc." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__SurveySatisfied": { + "description": "Details about various factors for being satisfied with the lead.", + "id": "GoogleAdsSearchads360V23Services__SurveySatisfied", + "properties": { + "otherReasonComment": { + "description": "Optional. Provider's free form comments. This field is required when OTHER_SATISFIED_REASON is selected as the reason.", + "type": "string" + }, + "surveySatisfiedReason": { + "description": "Required. Provider's reason for being satisfied with the lead.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "OTHER_SATISFIED_REASON", + "BOOKED_CUSTOMER", + "LIKELY_BOOKED_CUSTOMER", + "SERVICE_RELATED", + "HIGH_VALUE_SERVICE" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Other reasons.", + "Lead converted into a booked customer or client.", + "Lead could convert into a booked customer or client soon.", + "Lead was related to the services the business offers.", + "Lead was for a service that generates high value for the business." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__TargetFrequencySettings": { + "description": "Target Frequency settings for a supported product.", + "id": "GoogleAdsSearchads360V23Services__TargetFrequencySettings", + "properties": { + "targetFrequency": { + "description": "Required. The target frequency goal per selected time unit.", + "format": "int32", + "type": "integer" + }, + "timeUnit": { + "description": "Required. The time unit used to describe the time frame for target_frequency.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "WEEKLY", + "MONTHLY" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "Optimize bidding to reach Target Frequency in a week.", + "Optimize bidding to reach Target Frequency in a month." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__Targeting": { + "description": "The targeting for which traffic metrics will be reported.", + "id": "GoogleAdsSearchads360V23Services__Targeting", + "properties": { + "ageRange": { + "description": "Targeted age range. An unset value is equivalent to targeting all ages.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "AGE_RANGE_18_24", + "AGE_RANGE_18_34", + "AGE_RANGE_18_44", + "AGE_RANGE_18_49", + "AGE_RANGE_18_54", + "AGE_RANGE_18_64", + "AGE_RANGE_18_65_UP", + "AGE_RANGE_21_34", + "AGE_RANGE_25_34", + "AGE_RANGE_25_44", + "AGE_RANGE_25_49", + "AGE_RANGE_25_54", + "AGE_RANGE_25_64", + "AGE_RANGE_25_65_UP", + "AGE_RANGE_35_44", + "AGE_RANGE_35_49", + "AGE_RANGE_35_54", + "AGE_RANGE_35_64", + "AGE_RANGE_35_65_UP", + "AGE_RANGE_45_54", + "AGE_RANGE_45_64", + "AGE_RANGE_45_65_UP", + "AGE_RANGE_50_65_UP", + "AGE_RANGE_55_64", + "AGE_RANGE_55_65_UP", + "AGE_RANGE_65_UP" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "Between 18 and 24 years old.", + "Between 18 and 34 years old.", + "Between 18 and 44 years old.", + "Between 18 and 49 years old.", + "Between 18 and 54 years old.", + "Between 18 and 64 years old.", + "Between 18 and 65+ years old.", + "Between 21 and 34 years old.", + "Between 25 and 34 years old.", + "Between 25 and 44 years old.", + "Between 25 and 49 years old.", + "Between 25 and 54 years old.", + "Between 25 and 64 years old.", + "Between 25 and 65+ years old.", + "Between 35 and 44 years old.", + "Between 35 and 49 years old.", + "Between 35 and 54 years old.", + "Between 35 and 64 years old.", + "Between 35 and 65+ years old.", + "Between 45 and 54 years old.", + "Between 45 and 64 years old.", + "Between 45 and 65+ years old.", + "Between 50 and 65+ years old.", + "Between 55 and 64 years old.", + "Between 55 and 65+ years old.", + "65 years old and beyond." + ], + "type": "string" + }, + "audienceTargeting": { + "$ref": "GoogleAdsSearchads360V23Services__AudienceTargeting", + "description": "Targeted audiences. If not specified, does not target any specific audience." + }, + "devices": { + "description": "Targeted devices. If not specified, targets all applicable devices. Applicable devices vary by product and region and can be obtained from ReachPlanService.ListPlannableProducts.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__DeviceInfo" + }, + "type": "array" + }, + "genders": { + "description": "Targeted genders. An unset value is equivalent to targeting MALE and FEMALE.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__GenderInfo" + }, + "type": "array" + }, + "network": { + "description": "Targetable network for the ad product. If not specified, targets all applicable networks. Applicable networks vary by product and region and can be obtained from ReachPlanService.ListPlannableProducts.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "YOUTUBE", + "GOOGLE_VIDEO_PARTNERS", + "YOUTUBE_AND_GOOGLE_VIDEO_PARTNERS" + ], + "enumDescriptions": [ + "Not specified.", + "Used as a return value only. Represents value unknown in this version.", + "YouTube network.", + "Google Video Partners (GVP) network.", + "A combination of the YouTube network and the Google Video Partners network." + ], + "type": "string" + }, + "plannableLocationId": { + "description": "The ID of the selected location. Plannable location IDs can be obtained from ReachPlanService.ListPlannableLocations. Requests must set either this field or `plannable_location_ids`. This field is deprecated as of V12 and will be removed in a future release. Use `plannable_location_ids` instead.", + "type": "string" + }, + "plannableLocationIds": { + "description": "The list of plannable location IDs to target with this forecast. If more than one ID is provided, all IDs must have the same `parent_country_id`. Planning for more than `parent_county` is not supported. Plannable location IDs and their `parent_country_id` can be obtained from ReachPlanService.ListPlannableLocations. Requests must set either this field or `plannable_location_id`.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__TargetingSuggestionMetrics": { + "description": "A suggested targetable audience relevant to the requested audience.", + "id": "GoogleAdsSearchads360V23Services__TargetingSuggestionMetrics", + "properties": { + "ageRanges": { + "description": "Suggested age targeting; may be empty indicating no age targeting.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AgeRangeInfo" + }, + "type": "array" + }, + "coverage": { + "description": "The fraction (from 0 to 1 inclusive) of the requested audience that can be reached using the suggested targeting.", + "format": "double", + "type": "number" + }, + "gender": { + "$ref": "GoogleAdsSearchads360V23Common__GenderInfo", + "description": "Suggested gender targeting. If present, this attribute has dimension GENDER." + }, + "index": { + "description": "The ratio of coverage to the coverage of the baseline audience or zero if this ratio is undefined or is not meaningful.", + "format": "double", + "type": "number" + }, + "locations": { + "description": "Suggested location targeting. These attributes all have dimension GEO_TARGET_COUNTRY or SUB_COUNTRY_LOCATION", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata" + }, + "type": "array" + }, + "parentalStatus": { + "$ref": "GoogleAdsSearchads360V23Common__ParentalStatusInfo", + "description": "A Parental Status value (parent, or not a parent)." + }, + "potentialYoutubeReach": { + "description": "The approximate estimated number of people that can be reached on YouTube using this targeting.", + "format": "int64", + "type": "string" + }, + "userInterests": { + "description": "List of user interest attributes with metadata defining the audience. The combination has a logical AND-of-ORs structure: The attributes within each AudienceInsightsAttributeMetadataGroup are ORed, and the groups themselves are ANDed.", + "items": { + "$ref": "GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadataGroup" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__UnusableAdGroup": { + "description": "An AdGroup/Campaign pair that could not be used as a suggestion for keywords. AdGroups may not be usable if the AdGroup * belongs to a Campaign that is not ENABLED or PAUSED * is itself not ENABLED", + "id": "GoogleAdsSearchads360V23Services__UnusableAdGroup", + "properties": { + "adGroup": { + "description": "The AdGroup resource name. Resource name format: `customers/{customer_id}/adGroups/{ad_group_id}`", + "type": "string" + }, + "campaign": { + "description": "The Campaign resource name. Resource name format: `customers/{customer_id}/campaigns/{campaign_id}`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__UpdateDataLinkRequest": { + "description": "Request message for DataLinkService.UpdateDataLink.", + "id": "GoogleAdsSearchads360V23Services__UpdateDataLinkRequest", + "properties": { + "dataLinkStatus": { + "description": "Required. The data link status to be updated to.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "REQUESTED", + "PENDING_APPROVAL", + "ENABLED", + "DISABLED", + "REVOKED", + "REJECTED" + ], + "enumDescriptions": [ + "Not specified.", + "The value is unknown in this version.", + "Link has been requested by one party, but not confirmed by the other party.", + "Link is waiting for the customer to approve.", + "Link is established and can be used as needed.", + "Link is no longer valid and should be ignored.", + "Link request has been cancelled by the requester and further cleanup may be needed.", + "Link request has been rejected by the approver." + ], + "type": "string" + }, + "resourceName": { + "description": "Required. The data link is expected to have a valid resource name.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__UpdateDataLinkResponse": { + "description": "Response message for DataLinkService.UpdateDataLink.", + "id": "GoogleAdsSearchads360V23Services__UpdateDataLinkResponse", + "properties": { + "resourceName": { + "description": "Returned for successful operations. Resource name of the data link.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__UpdateProductLinkInvitationRequest": { + "description": "Request message for ProductLinkInvitationService.UpdateProductLinkInvitation.", + "id": "GoogleAdsSearchads360V23Services__UpdateProductLinkInvitationRequest", + "properties": { + "productLinkInvitationStatus": { + "description": "Required. The product link invitation to be created.", + "enum": [ + "UNSPECIFIED", + "UNKNOWN", + "ACCEPTED", + "REQUESTED", + "PENDING_APPROVAL", + "REVOKED", + "REJECTED", + "EXPIRED" + ], + "enumDescriptions": [ + "Not specified.", + "Used for return value only. Represents value unknown in this version.", + "The invitation is accepted.", + "An invitation has been sent to the other account. A user on the other account may now accept the invitation by setting the status to ACCEPTED.", + "This invitation has been sent by a user on the other account. It may be accepted by a user on this account by setting the status to ACCEPTED.", + "The invitation is revoked by the user who sent the invitation.", + "The invitation has been rejected by the invitee.", + "The invitation has timed out before being accepted by the invitee." + ], + "type": "string" + }, + "resourceName": { + "description": "Required. Resource name of the product link invitation.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__UpdateProductLinkInvitationResponse": { + "description": "Response message for product link invitation update.", + "id": "GoogleAdsSearchads360V23Services__UpdateProductLinkInvitationResponse", + "properties": { + "resourceName": { + "description": "Result of the update.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__UploadUserDataRequest": { + "description": "Request message for UserDataService.UploadUserData", + "id": "GoogleAdsSearchads360V23Services__UploadUserDataRequest", + "properties": { + "customerMatchUserListMetadata": { + "$ref": "GoogleAdsSearchads360V23Common__CustomerMatchUserListMetadata", + "description": "Metadata for data updates to a Customer Match user list." + }, + "operations": { + "description": "Required. The list of operations to be done.", + "items": { + "$ref": "GoogleAdsSearchads360V23Services__UserDataOperation" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__UploadUserDataResponse": { + "description": "Response message for UserDataService.UploadUserData Uploads made through this service will not be visible under the 'Segment members' section for the Customer Match List in the Google Ads UI.", + "id": "GoogleAdsSearchads360V23Services__UploadUserDataResponse", + "properties": { + "receivedOperationsCount": { + "description": "Number of upload data operations received by API.", + "format": "int32", + "type": "integer" + }, + "uploadDateTime": { + "description": "The date time at which the request was received by API, formatted as \"yyyy-mm-dd hh:mm:ss+|-hh:mm\", for example, \"2019-01-01 12:32:45-08:00\".", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__UrlSeed": { + "description": "Url Seed", + "id": "GoogleAdsSearchads360V23Services__UrlSeed", + "properties": { + "url": { + "description": "The URL to crawl in order to generate keyword ideas.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__UserDataOperation": { + "description": "Operation to be made for the UploadUserDataRequest.", + "id": "GoogleAdsSearchads360V23Services__UserDataOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Common__UserData", + "description": "The list of user data to be appended to the user list." + }, + "remove": { + "$ref": "GoogleAdsSearchads360V23Common__UserData", + "description": "The list of user data to be removed from the user list." + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__UserListCustomerTypeOperation": { + "description": "A single mutate operation on the user list customer type.", + "id": "GoogleAdsSearchads360V23Services__UserListCustomerTypeOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__UserListCustomerType", + "description": "Attach a user list customer type to a user list. No resource name is expected for the new user list customer type." + }, + "remove": { + "description": "Remove an existing user list customer type. A resource name for the removed user list customer type is expected, in this format: `customers/{customer_id}/userListCustomerTypes/{user_list_id}~{customer_type_category}`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__UserListOperation": { + "description": "A single operation (create, update) on a user list.", + "id": "GoogleAdsSearchads360V23Services__UserListOperation", + "properties": { + "create": { + "$ref": "GoogleAdsSearchads360V23Resources__UserList", + "description": "Create operation: No resource name is expected for the new user list." + }, + "remove": { + "description": "Remove operation: A resource name for the removed user list is expected, in this format: `customers/{customer_id}/userLists/{user_list_id}`", + "type": "string" + }, + "update": { + "$ref": "GoogleAdsSearchads360V23Resources__UserList", + "description": "Update operation: The user list is expected to have a valid resource name." + }, + "updateMask": { + "description": "FieldMask that determines which resource fields are modified in an update.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__YouTubeSelectLineUp": { + "description": "A Plannable YouTube Select Lineup for product targeting.", + "id": "GoogleAdsSearchads360V23Services__YouTubeSelectLineUp", + "properties": { + "lineupId": { + "description": "The ID of the YouTube Select Lineup.", + "format": "int64", + "type": "string" + }, + "lineupName": { + "description": "The unique name of the YouTube Select Lineup.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleAdsSearchads360V23Services__YouTubeSelectSettings": { + "description": "Request settings for YouTube Select Lineups", + "id": "GoogleAdsSearchads360V23Services__YouTubeSelectSettings", + "properties": { + "lineupId": { + "description": "Lineup for YouTube Select Targeting.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleLongrunning__Operation": { + "description": "This resource represents a long-running operation that is the result of a network API call.", + "id": "GoogleLongrunning__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": "GoogleRpc__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" + }, + "GoogleProtobuf__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": "GoogleProtobuf__Empty", + "properties": {}, + "type": "object" + }, + "GoogleRpc__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": "GoogleRpc__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" + }, + "GoogleType__Money": { + "description": "Represents an amount of money with its currency type.", + "id": "GoogleType__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" + } + }, + "servicePath": "", + "title": "Search Ads 360 Reporting API", + "version": "v23", + "version_module": true +} \ No newline at end of file diff --git a/discovery/securitycenter-v1.json b/discovery/securitycenter-v1.json index a0640137d63..207935494ba 100644 --- a/discovery/securitycenter-v1.json +++ b/discovery/securitycenter-v1.json @@ -128,7 +128,7 @@ "methods": { "group": { "deprecated": true, - "description": "Filters an organization's assets and groups them by their specified properties.", + "description": "", "flatPath": "v1/folders/{foldersId}/assets:group", "httpMethod": "POST", "id": "securitycenter.folders.assets.group", @@ -137,7 +137,6 @@ ], "parameters": { "parent": { - "description": "Required. The name of the parent to group the assets by. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`.", "location": "path", "pattern": "^folders/[^/]+$", "required": true, @@ -157,7 +156,7 @@ }, "list": { "deprecated": true, - "description": "Lists an organization's assets.", + "description": "", "flatPath": "v1/folders/{foldersId}/assets", "httpMethod": "GET", "id": "securitycenter.folders.assets.list", @@ -166,47 +165,39 @@ ], "parameters": { "compareDuration": { - "description": "When compare_duration is set, the ListAssetsResult's \"state_change\" attribute is updated to indicate whether the asset was added, removed, or remained present during the compare_duration period of time that precedes the read_time. This is the time between (read_time - compare_duration) and read_time. The state_change value is derived based on the presence of the asset at the two points in time. Intermediate state changes between the two times don't affect the result. For example, the results aren't affected if the asset is removed and re-created again. Possible \"state_change\" values when compare_duration is specified: * \"ADDED\": indicates that the asset was not present at the start of compare_duration, but present at read_time. * \"REMOVED\": indicates that the asset was present at the start of compare_duration, but not present at read_time. * \"ACTIVE\": indicates that the asset was present at both the start and the end of the time period defined by compare_duration and read_time. If compare_duration is not specified, then the only possible state_change is \"UNUSED\", which will be the state_change set for all assets present at read_time.", "format": "google-duration", "location": "query", "type": "string" }, "fieldMask": { - "description": "A field mask to specify the ListAssetsResult fields to be listed in the response. An empty field mask will list all fields.", "format": "google-fieldmask", "location": "query", "type": "string" }, "filter": { - "description": "Expression that defines the filter to apply across assets. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the Asset resource. Examples include: * name * security_center_properties.resource_name * resource_properties.a_property * security_marks.marks.marka The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. The following are the allowed field and operator combinations: * name: `=` * update_time: `=`, `>`, `<`, `>=`, `<=` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `update_time = \"2019-06-10T16:07:18-07:00\"` `update_time = 1560208038000` * create_time: `=`, `>`, `<`, `>=`, `<=` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `create_time = \"2019-06-10T16:07:18-07:00\"` `create_time = 1560208038000` * iam_policy.policy_blob: `=`, `:` * resource_properties: `=`, `:`, `>`, `<`, `>=`, `<=` * security_marks.marks: `=`, `:` * security_center_properties.resource_name: `=`, `:` * security_center_properties.resource_display_name: `=`, `:` * security_center_properties.resource_type: `=`, `:` * security_center_properties.resource_parent: `=`, `:` * security_center_properties.resource_parent_display_name: `=`, `:` * security_center_properties.resource_project: `=`, `:` * security_center_properties.resource_project_display_name: `=`, `:` * security_center_properties.resource_owners: `=`, `:` For example, `resource_properties.size = 100` is a valid filter string. Use a partial match on the empty string to filter based on a property existing: `resource_properties.my_property : \"\"` Use a negated partial match on the empty string to filter based on a property not existing: `-resource_properties.my_property : \"\"`", "location": "query", "type": "string" }, "orderBy": { - "description": "Expression that defines what fields and order to use for sorting. The string value should follow SQL syntax: comma separated list of fields. For example: \"name,resource_properties.a_property\". The default sorting order is ascending. To specify descending order for a field, a suffix \" desc\" should be appended to the field name. For example: \"name desc,resource_properties.a_property\". Redundant space characters in the syntax are insignificant. \"name desc,resource_properties.a_property\" and \" name desc , resource_properties.a_property \" are equivalent. The following fields are supported: name update_time resource_properties security_marks.marks security_center_properties.resource_name security_center_properties.resource_display_name security_center_properties.resource_parent security_center_properties.resource_parent_display_name security_center_properties.resource_project security_center_properties.resource_project_display_name security_center_properties.resource_type", "location": "query", "type": "string" }, "pageSize": { - "description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "The value returned by the last `ListAssetsResponse`; indicates that this is a continuation of a prior `ListAssets` call, and that the system should return the next page of data.", "location": "query", "type": "string" }, "parent": { - "description": "Required. The name of the parent resource that contains the assets. The value that you can specify on parent depends on the method in which you specify parent. You can specify one of the following values: `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`.", "location": "path", "pattern": "^folders/[^/]+$", "required": true, "type": "string" }, "readTime": { - "description": "Time used as a reference point when filtering assets. The filter is limited to assets existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW.", "format": "google-datetime", "location": "query", "type": "string" @@ -221,7 +212,7 @@ ] }, "updateSecurityMarks": { - "description": "Updates security marks.", + "description": "", "flatPath": "v1/folders/{foldersId}/assets/{assetsId}/securityMarks", "httpMethod": "PATCH", "id": "securitycenter.folders.assets.updateSecurityMarks", @@ -230,20 +221,17 @@ ], "parameters": { "name": { - "description": "The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: \"organizations/{organization_id}/assets/{asset_id}/securityMarks\" \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks\".", "location": "path", "pattern": "^folders/[^/]+/assets/[^/]+/securityMarks$", "required": true, "type": "string" }, "startTime": { - "description": "The time at which the updated SecurityMarks take effect. If not set uses current server time. Updates will be applied to the SecurityMarks that are active immediately preceding this time. Must be earlier or equal to the server time.", "format": "google-datetime", "location": "query", "type": "string" }, "updateMask": { - "description": "The FieldMask to use when updating the security marks resource. The field mask must not contain duplicate fields. If empty or set to \"marks\", all marks will be replaced. Individual marks can be updated using \"marks.\".", "format": "google-fieldmask", "location": "query", "type": "string" @@ -265,7 +253,7 @@ "bigQueryExports": { "methods": { "create": { - "description": "Creates a BigQuery export.", + "description": "", "flatPath": "v1/folders/{foldersId}/bigQueryExports", "httpMethod": "POST", "id": "securitycenter.folders.bigQueryExports.create", @@ -274,12 +262,10 @@ ], "parameters": { "bigQueryExportId": { - "description": "Required. Unique identifier provided by the client within the parent scope. It must consist of only lowercase letters, numbers, and hyphens, must start with a letter, must end with either a letter or a number, and must be 63 characters or less.", "location": "query", "type": "string" }, "parent": { - "description": "Required. The name of the parent resource of the new BigQuery export. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`.", "location": "path", "pattern": "^folders/[^/]+$", "required": true, @@ -298,7 +284,7 @@ ] }, "delete": { - "description": "Deletes an existing BigQuery export.", + "description": "", "flatPath": "v1/folders/{foldersId}/bigQueryExports/{bigQueryExportsId}", "httpMethod": "DELETE", "id": "securitycenter.folders.bigQueryExports.delete", @@ -307,7 +293,6 @@ ], "parameters": { "name": { - "description": "Required. The name of the BigQuery export to delete. Its format is `organizations/{organization}/bigQueryExports/{export_id}`, `folders/{folder}/bigQueryExports/{export_id}`, or `projects/{project}/bigQueryExports/{export_id}`", "location": "path", "pattern": "^folders/[^/]+/bigQueryExports/[^/]+$", "required": true, @@ -323,7 +308,7 @@ ] }, "get": { - "description": "Gets a BigQuery export.", + "description": "", "flatPath": "v1/folders/{foldersId}/bigQueryExports/{bigQueryExportsId}", "httpMethod": "GET", "id": "securitycenter.folders.bigQueryExports.get", @@ -332,7 +317,6 @@ ], "parameters": { "name": { - "description": "Required. Name of the BigQuery export to retrieve. Its format is `organizations/{organization}/bigQueryExports/{export_id}`, `folders/{folder}/bigQueryExports/{export_id}`, or `projects/{project}/bigQueryExports/{export_id}`", "location": "path", "pattern": "^folders/[^/]+/bigQueryExports/[^/]+$", "required": true, @@ -348,7 +332,7 @@ ] }, "list": { - "description": "Lists BigQuery exports. Note that when requesting BigQuery exports at a given level all exports under that level are also returned e.g. if requesting BigQuery exports under a folder, then all BigQuery exports immediately under the folder plus the ones created under the projects within the folder are returned.", + "description": "", "flatPath": "v1/folders/{foldersId}/bigQueryExports", "httpMethod": "GET", "id": "securitycenter.folders.bigQueryExports.list", @@ -357,18 +341,15 @@ ], "parameters": { "pageSize": { - "description": "The maximum number of configs to return. The service may return fewer than this value. If unspecified, at most 10 configs 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 `ListBigQueryExports` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListBigQueryExports` must match the call that provided the page token.", "location": "query", "type": "string" }, "parent": { - "description": "Required. The parent, which owns the collection of BigQuery exports. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, `projects/[project_id]`.", "location": "path", "pattern": "^folders/[^/]+$", "required": true, @@ -384,7 +365,7 @@ ] }, "patch": { - "description": "Updates a BigQuery export.", + "description": "", "flatPath": "v1/folders/{foldersId}/bigQueryExports/{bigQueryExportsId}", "httpMethod": "PATCH", "id": "securitycenter.folders.bigQueryExports.patch", @@ -393,14 +374,12 @@ ], "parameters": { "name": { - "description": "The relative resource name of this export. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name. Example format: \"organizations/{organization_id}/bigQueryExports/{export_id}\" Example format: \"folders/{folder_id}/bigQueryExports/{export_id}\" Example format: \"projects/{project_id}/bigQueryExports/{export_id}\" This field is provided in responses, and is ignored when provided in create requests.", "location": "path", "pattern": "^folders/[^/]+/bigQueryExports/[^/]+$", "required": true, "type": "string" }, "updateMask": { - "description": "The list of fields to be updated. If empty all mutable fields will be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -422,7 +401,7 @@ "eventThreatDetectionSettings": { "methods": { "validateCustomModule": { - "description": "Validates the given Event Threat Detection custom module.", + "description": "", "flatPath": "v1/folders/{foldersId}/eventThreatDetectionSettings:validateCustomModule", "httpMethod": "POST", "id": "securitycenter.folders.eventThreatDetectionSettings.validateCustomModule", @@ -431,7 +410,6 @@ ], "parameters": { "parent": { - "description": "Required. Resource name of the parent to validate the Custom Module under. Its format is: * `organizations/{organization}/eventThreatDetectionSettings`. * `folders/{folder}/eventThreatDetectionSettings`. * `projects/{project}/eventThreatDetectionSettings`.", "location": "path", "pattern": "^folders/[^/]+/eventThreatDetectionSettings$", "required": true, @@ -454,7 +432,7 @@ "customModules": { "methods": { "create": { - "description": "Creates a resident Event Threat Detection custom module at the scope of the given Resource Manager parent, and also creates inherited custom modules for all descendants of the given parent. These modules are enabled by default.", + "description": "", "flatPath": "v1/folders/{foldersId}/eventThreatDetectionSettings/customModules", "httpMethod": "POST", "id": "securitycenter.folders.eventThreatDetectionSettings.customModules.create", @@ -463,7 +441,6 @@ ], "parameters": { "parent": { - "description": "Required. The new custom module's parent. Its format is: * `organizations/{organization}/eventThreatDetectionSettings`. * `folders/{folder}/eventThreatDetectionSettings`. * `projects/{project}/eventThreatDetectionSettings`.", "location": "path", "pattern": "^folders/[^/]+/eventThreatDetectionSettings$", "required": true, @@ -482,7 +459,7 @@ ] }, "delete": { - "description": "Deletes the specified Event Threat Detection custom module and all of its descendants in the Resource Manager hierarchy. This method is only supported for resident custom modules.", + "description": "", "flatPath": "v1/folders/{foldersId}/eventThreatDetectionSettings/customModules/{customModulesId}", "httpMethod": "DELETE", "id": "securitycenter.folders.eventThreatDetectionSettings.customModules.delete", @@ -491,7 +468,6 @@ ], "parameters": { "name": { - "description": "Required. Name of the custom module to delete. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/customModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/customModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/customModules/{module}`.", "location": "path", "pattern": "^folders/[^/]+/eventThreatDetectionSettings/customModules/[^/]+$", "required": true, @@ -507,7 +483,7 @@ ] }, "get": { - "description": "Gets an Event Threat Detection custom module.", + "description": "", "flatPath": "v1/folders/{foldersId}/eventThreatDetectionSettings/customModules/{customModulesId}", "httpMethod": "GET", "id": "securitycenter.folders.eventThreatDetectionSettings.customModules.get", @@ -516,7 +492,6 @@ ], "parameters": { "name": { - "description": "Required. Name of the custom module to get. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/customModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/customModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/customModules/{module}`.", "location": "path", "pattern": "^folders/[^/]+/eventThreatDetectionSettings/customModules/[^/]+$", "required": true, @@ -532,7 +507,7 @@ ] }, "list": { - "description": "Lists all Event Threat Detection custom modules for the given Resource Manager parent. This includes resident modules defined at the scope of the parent along with modules inherited from ancestors.", + "description": "", "flatPath": "v1/folders/{foldersId}/eventThreatDetectionSettings/customModules", "httpMethod": "GET", "id": "securitycenter.folders.eventThreatDetectionSettings.customModules.list", @@ -541,18 +516,15 @@ ], "parameters": { "pageSize": { - "description": "The maximum number of modules to return. The service may return fewer than this value. If unspecified, at most 10 configs 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 `ListEventThreatDetectionCustomModules` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListEventThreatDetectionCustomModules` must match the call that provided the page token.", "location": "query", "type": "string" }, "parent": { - "description": "Required. Name of the parent to list custom modules under. Its format is: * `organizations/{organization}/eventThreatDetectionSettings`. * `folders/{folder}/eventThreatDetectionSettings`. * `projects/{project}/eventThreatDetectionSettings`.", "location": "path", "pattern": "^folders/[^/]+/eventThreatDetectionSettings$", "required": true, @@ -568,7 +540,7 @@ ] }, "listDescendant": { - "description": "Lists all resident Event Threat Detection custom modules under the given Resource Manager parent and its descendants.", + "description": "", "flatPath": "v1/folders/{foldersId}/eventThreatDetectionSettings/customModules:listDescendant", "httpMethod": "GET", "id": "securitycenter.folders.eventThreatDetectionSettings.customModules.listDescendant", @@ -577,18 +549,15 @@ ], "parameters": { "pageSize": { - "description": "The maximum number of modules to return. The service may return fewer than this value. If unspecified, at most 10 configs 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 `ListDescendantEventThreatDetectionCustomModules` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListDescendantEventThreatDetectionCustomModules` must match the call that provided the page token.", "location": "query", "type": "string" }, "parent": { - "description": "Required. Name of the parent to list custom modules under. Its format is: * `organizations/{organization}/eventThreatDetectionSettings`. * `folders/{folder}/eventThreatDetectionSettings`. * `projects/{project}/eventThreatDetectionSettings`.", "location": "path", "pattern": "^folders/[^/]+/eventThreatDetectionSettings$", "required": true, @@ -604,7 +573,7 @@ ] }, "patch": { - "description": "Updates the Event Threat Detection custom module with the given name based on the given update mask. Updating the enablement state is supported for both resident and inherited modules (though resident modules cannot have an enablement state of \"inherited\"). Updating the display name or configuration of a module is supported for resident modules only. The type of a module cannot be changed.", + "description": "", "flatPath": "v1/folders/{foldersId}/eventThreatDetectionSettings/customModules/{customModulesId}", "httpMethod": "PATCH", "id": "securitycenter.folders.eventThreatDetectionSettings.customModules.patch", @@ -613,14 +582,12 @@ ], "parameters": { "name": { - "description": "Immutable. The resource name of the Event Threat Detection custom module. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/customModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/customModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/customModules/{module}`.", "location": "path", "pattern": "^folders/[^/]+/eventThreatDetectionSettings/customModules/[^/]+$", "required": true, "type": "string" }, "updateMask": { - "description": "The list of fields to be updated. If empty all mutable fields will be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -642,7 +609,7 @@ "effectiveCustomModules": { "methods": { "get": { - "description": "Gets an effective Event Threat Detection custom module at the given level.", + "description": "", "flatPath": "v1/folders/{foldersId}/eventThreatDetectionSettings/effectiveCustomModules/{effectiveCustomModulesId}", "httpMethod": "GET", "id": "securitycenter.folders.eventThreatDetectionSettings.effectiveCustomModules.get", @@ -651,7 +618,6 @@ ], "parameters": { "name": { - "description": "Required. The resource name of the effective Event Threat Detection custom module. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/effectiveCustomModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/effectiveCustomModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/effectiveCustomModules/{module}`.", "location": "path", "pattern": "^folders/[^/]+/eventThreatDetectionSettings/effectiveCustomModules/[^/]+$", "required": true, @@ -667,7 +633,7 @@ ] }, "list": { - "description": "Lists all effective Event Threat Detection custom modules for the given parent. This includes resident modules defined at the scope of the parent along with modules inherited from its ancestors.", + "description": "", "flatPath": "v1/folders/{foldersId}/eventThreatDetectionSettings/effectiveCustomModules", "httpMethod": "GET", "id": "securitycenter.folders.eventThreatDetectionSettings.effectiveCustomModules.list", @@ -676,18 +642,15 @@ ], "parameters": { "pageSize": { - "description": "The maximum number of modules to return. The service may return fewer than this value. If unspecified, at most 10 configs 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 `ListEffectiveEventThreatDetectionCustomModules` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListEffectiveEventThreatDetectionCustomModules` must match the call that provided the page token.", "location": "query", "type": "string" }, "parent": { - "description": "Required. Name of the parent to list custom modules for. Its format is: * `organizations/{organization}/eventThreatDetectionSettings`. * `folders/{folder}/eventThreatDetectionSettings`. * `projects/{project}/eventThreatDetectionSettings`.", "location": "path", "pattern": "^folders/[^/]+/eventThreatDetectionSettings$", "required": true, @@ -709,7 +672,7 @@ "findings": { "methods": { "bulkMute": { - "description": "Kicks off an LRO to bulk mute findings for a parent based on a filter. The parent can be either an organization, folder or project. The findings matched by the filter will be muted after the LRO is done.", + "description": "", "flatPath": "v1/folders/{foldersId}/findings:bulkMute", "httpMethod": "POST", "id": "securitycenter.folders.findings.bulkMute", @@ -718,7 +681,6 @@ ], "parameters": { "parent": { - "description": "Required. The parent, at which bulk action needs to be applied. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, `projects/[project_id]`.", "location": "path", "pattern": "^folders/[^/]+$", "required": true, @@ -743,7 +705,7 @@ "muteConfigs": { "methods": { "delete": { - "description": "Deletes an existing mute config.", + "description": "", "flatPath": "v1/folders/{foldersId}/locations/{locationsId}/muteConfigs/{muteConfigsId}", "httpMethod": "DELETE", "id": "securitycenter.folders.locations.muteConfigs.delete", @@ -752,7 +714,6 @@ ], "parameters": { "name": { - "description": "Required. Name of the mute config to delete. Its format is `organizations/{organization}/muteConfigs/{config_id}`, `folders/{folder}/muteConfigs/{config_id}`, `projects/{project}/muteConfigs/{config_id}`, `organizations/{organization}/locations/global/muteConfigs/{config_id}`, `folders/{folder}/locations/global/muteConfigs/{config_id}`, or `projects/{project}/locations/global/muteConfigs/{config_id}`.", "location": "path", "pattern": "^folders/[^/]+/locations/[^/]+/muteConfigs/[^/]+$", "required": true, @@ -768,7 +729,7 @@ ] }, "get": { - "description": "Gets a mute config.", + "description": "", "flatPath": "v1/folders/{foldersId}/locations/{locationsId}/muteConfigs/{muteConfigsId}", "httpMethod": "GET", "id": "securitycenter.folders.locations.muteConfigs.get", @@ -777,7 +738,6 @@ ], "parameters": { "name": { - "description": "Required. Name of the mute config to retrieve. Its format is `organizations/{organization}/muteConfigs/{config_id}`, `folders/{folder}/muteConfigs/{config_id}`, `projects/{project}/muteConfigs/{config_id}`, `organizations/{organization}/locations/global/muteConfigs/{config_id}`, `folders/{folder}/locations/global/muteConfigs/{config_id}`, or `projects/{project}/locations/global/muteConfigs/{config_id}`.", "location": "path", "pattern": "^folders/[^/]+/locations/[^/]+/muteConfigs/[^/]+$", "required": true, @@ -793,7 +753,7 @@ ] }, "patch": { - "description": "Updates a mute config.", + "description": "", "flatPath": "v1/folders/{foldersId}/locations/{locationsId}/muteConfigs/{muteConfigsId}", "httpMethod": "PATCH", "id": "securitycenter.folders.locations.muteConfigs.patch", @@ -802,14 +762,12 @@ ], "parameters": { "name": { - "description": "This field will be ignored if provided on config creation. Format `organizations/{organization}/muteConfigs/{mute_config}` `folders/{folder}/muteConfigs/{mute_config}` `projects/{project}/muteConfigs/{mute_config}` `organizations/{organization}/locations/global/muteConfigs/{mute_config}` `folders/{folder}/locations/global/muteConfigs/{mute_config}` `projects/{project}/locations/global/muteConfigs/{mute_config}`", "location": "path", "pattern": "^folders/[^/]+/locations/[^/]+/muteConfigs/[^/]+$", "required": true, "type": "string" }, "updateMask": { - "description": "The list of fields to be updated. If empty all mutable fields will be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -833,7 +791,7 @@ "muteConfigs": { "methods": { "create": { - "description": "Creates a mute config.", + "description": "", "flatPath": "v1/folders/{foldersId}/muteConfigs", "httpMethod": "POST", "id": "securitycenter.folders.muteConfigs.create", @@ -842,12 +800,10 @@ ], "parameters": { "muteConfigId": { - "description": "Required. Unique identifier provided by the client within the parent scope. It must consist of only lowercase letters, numbers, and hyphens, must start with a letter, must end with either a letter or a number, and must be 63 characters or less.", "location": "query", "type": "string" }, "parent": { - "description": "Required. Resource name of the new mute configs's parent. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`.", "location": "path", "pattern": "^folders/[^/]+$", "required": true, @@ -866,7 +822,7 @@ ] }, "delete": { - "description": "Deletes an existing mute config.", + "description": "", "flatPath": "v1/folders/{foldersId}/muteConfigs/{muteConfigsId}", "httpMethod": "DELETE", "id": "securitycenter.folders.muteConfigs.delete", @@ -875,7 +831,6 @@ ], "parameters": { "name": { - "description": "Required. Name of the mute config to delete. Its format is `organizations/{organization}/muteConfigs/{config_id}`, `folders/{folder}/muteConfigs/{config_id}`, `projects/{project}/muteConfigs/{config_id}`, `organizations/{organization}/locations/global/muteConfigs/{config_id}`, `folders/{folder}/locations/global/muteConfigs/{config_id}`, or `projects/{project}/locations/global/muteConfigs/{config_id}`.", "location": "path", "pattern": "^folders/[^/]+/muteConfigs/[^/]+$", "required": true, @@ -891,7 +846,7 @@ ] }, "get": { - "description": "Gets a mute config.", + "description": "", "flatPath": "v1/folders/{foldersId}/muteConfigs/{muteConfigsId}", "httpMethod": "GET", "id": "securitycenter.folders.muteConfigs.get", @@ -900,7 +855,6 @@ ], "parameters": { "name": { - "description": "Required. Name of the mute config to retrieve. Its format is `organizations/{organization}/muteConfigs/{config_id}`, `folders/{folder}/muteConfigs/{config_id}`, `projects/{project}/muteConfigs/{config_id}`, `organizations/{organization}/locations/global/muteConfigs/{config_id}`, `folders/{folder}/locations/global/muteConfigs/{config_id}`, or `projects/{project}/locations/global/muteConfigs/{config_id}`.", "location": "path", "pattern": "^folders/[^/]+/muteConfigs/[^/]+$", "required": true, @@ -916,7 +870,7 @@ ] }, "list": { - "description": "Lists mute configs.", + "description": "", "flatPath": "v1/folders/{foldersId}/muteConfigs", "httpMethod": "GET", "id": "securitycenter.folders.muteConfigs.list", @@ -925,18 +879,15 @@ ], "parameters": { "pageSize": { - "description": "The maximum number of configs to return. The service may return fewer than this value. If unspecified, at most 10 configs 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 `ListMuteConfigs` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListMuteConfigs` must match the call that provided the page token.", "location": "query", "type": "string" }, "parent": { - "description": "Required. The parent, which owns the collection of mute configs. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, `projects/[project_id]`.", "location": "path", "pattern": "^folders/[^/]+$", "required": true, @@ -952,7 +903,7 @@ ] }, "patch": { - "description": "Updates a mute config.", + "description": "", "flatPath": "v1/folders/{foldersId}/muteConfigs/{muteConfigsId}", "httpMethod": "PATCH", "id": "securitycenter.folders.muteConfigs.patch", @@ -961,14 +912,12 @@ ], "parameters": { "name": { - "description": "This field will be ignored if provided on config creation. Format `organizations/{organization}/muteConfigs/{mute_config}` `folders/{folder}/muteConfigs/{mute_config}` `projects/{project}/muteConfigs/{mute_config}` `organizations/{organization}/locations/global/muteConfigs/{mute_config}` `folders/{folder}/locations/global/muteConfigs/{mute_config}` `projects/{project}/locations/global/muteConfigs/{mute_config}`", "location": "path", "pattern": "^folders/[^/]+/muteConfigs/[^/]+$", "required": true, "type": "string" }, "updateMask": { - "description": "The list of fields to be updated. If empty all mutable fields will be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -990,7 +939,7 @@ "notificationConfigs": { "methods": { "create": { - "description": "Creates a notification config.", + "description": "", "flatPath": "v1/folders/{foldersId}/notificationConfigs", "httpMethod": "POST", "id": "securitycenter.folders.notificationConfigs.create", @@ -999,12 +948,10 @@ ], "parameters": { "configId": { - "description": "Required. Unique identifier provided by the client within the parent scope. It must be between 1 and 128 characters and contain alphanumeric characters, underscores, or hyphens only.", "location": "query", "type": "string" }, "parent": { - "description": "Required. Resource name of the new notification config's parent. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`.", "location": "path", "pattern": "^folders/[^/]+$", "required": true, @@ -1023,7 +970,7 @@ ] }, "delete": { - "description": "Deletes a notification config.", + "description": "", "flatPath": "v1/folders/{foldersId}/notificationConfigs/{notificationConfigsId}", "httpMethod": "DELETE", "id": "securitycenter.folders.notificationConfigs.delete", @@ -1032,7 +979,6 @@ ], "parameters": { "name": { - "description": "Required. Name of the notification config to delete. Its format is `organizations/[organization_id]/notificationConfigs/[config_id]`, `folders/[folder_id]/notificationConfigs/[config_id]`, or `projects/[project_id]/notificationConfigs/[config_id]`.", "location": "path", "pattern": "^folders/[^/]+/notificationConfigs/[^/]+$", "required": true, @@ -1048,7 +994,7 @@ ] }, "get": { - "description": "Gets a notification config.", + "description": "", "flatPath": "v1/folders/{foldersId}/notificationConfigs/{notificationConfigsId}", "httpMethod": "GET", "id": "securitycenter.folders.notificationConfigs.get", @@ -1057,7 +1003,6 @@ ], "parameters": { "name": { - "description": "Required. Name of the notification config to get. Its format is `organizations/[organization_id]/notificationConfigs/[config_id]`, `folders/[folder_id]/notificationConfigs/[config_id]`, or `projects/[project_id]/notificationConfigs/[config_id]`.", "location": "path", "pattern": "^folders/[^/]+/notificationConfigs/[^/]+$", "required": true, @@ -1073,7 +1018,7 @@ ] }, "list": { - "description": "Lists notification configs.", + "description": "", "flatPath": "v1/folders/{foldersId}/notificationConfigs", "httpMethod": "GET", "id": "securitycenter.folders.notificationConfigs.list", @@ -1082,18 +1027,15 @@ ], "parameters": { "pageSize": { - "description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "The value returned by the last `ListNotificationConfigsResponse`; indicates that this is a continuation of a prior `ListNotificationConfigs` call, and that the system should return the next page of data.", "location": "query", "type": "string" }, "parent": { - "description": "Required. The name of the parent in which to list the notification configurations. Its format is \"organizations/[organization_id]\", \"folders/[folder_id]\", or \"projects/[project_id]\".", "location": "path", "pattern": "^folders/[^/]+$", "required": true, @@ -1109,7 +1051,7 @@ ] }, "patch": { - "description": " Updates a notification config. The following update fields are allowed: description, pubsub_topic, streaming_config.filter", + "description": "", "flatPath": "v1/folders/{foldersId}/notificationConfigs/{notificationConfigsId}", "httpMethod": "PATCH", "id": "securitycenter.folders.notificationConfigs.patch", @@ -1118,14 +1060,12 @@ ], "parameters": { "name": { - "description": "The relative resource name of this notification config. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: \"organizations/{organization_id}/notificationConfigs/notify_public_bucket\", \"folders/{folder_id}/notificationConfigs/notify_public_bucket\", or \"projects/{project_id}/notificationConfigs/notify_public_bucket\".", "location": "path", "pattern": "^folders/[^/]+/notificationConfigs/[^/]+$", "required": true, "type": "string" }, "updateMask": { - "description": "The FieldMask to use when updating the notification config. If empty all mutable fields will be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1149,7 +1089,7 @@ "customModules": { "methods": { "create": { - "description": "Creates a resident SecurityHealthAnalyticsCustomModule at the scope of the given CRM parent, and also creates inherited SecurityHealthAnalyticsCustomModules for all CRM descendants of the given parent. These modules are enabled by default.", + "description": "", "flatPath": "v1/folders/{foldersId}/securityHealthAnalyticsSettings/customModules", "httpMethod": "POST", "id": "securitycenter.folders.securityHealthAnalyticsSettings.customModules.create", @@ -1158,7 +1098,6 @@ ], "parameters": { "parent": { - "description": "Required. Resource name of the new custom module's parent. Its format is `organizations/{organization}/securityHealthAnalyticsSettings`, `folders/{folder}/securityHealthAnalyticsSettings`, or `projects/{project}/securityHealthAnalyticsSettings`", "location": "path", "pattern": "^folders/[^/]+/securityHealthAnalyticsSettings$", "required": true, @@ -1177,7 +1116,7 @@ ] }, "delete": { - "description": "Deletes the specified SecurityHealthAnalyticsCustomModule and all of its descendants in the CRM hierarchy. This method is only supported for resident custom modules.", + "description": "", "flatPath": "v1/folders/{foldersId}/securityHealthAnalyticsSettings/customModules/{customModulesId}", "httpMethod": "DELETE", "id": "securitycenter.folders.securityHealthAnalyticsSettings.customModules.delete", @@ -1186,7 +1125,6 @@ ], "parameters": { "name": { - "description": "Required. Name of the custom module to delete. Its format is `organizations/{organization}/securityHealthAnalyticsSettings/customModules/{customModule}`, `folders/{folder}/securityHealthAnalyticsSettings/customModules/{customModule}`, or `projects/{project}/securityHealthAnalyticsSettings/customModules/{customModule}`", "location": "path", "pattern": "^folders/[^/]+/securityHealthAnalyticsSettings/customModules/[^/]+$", "required": true, @@ -1202,7 +1140,7 @@ ] }, "get": { - "description": "Retrieves a SecurityHealthAnalyticsCustomModule.", + "description": "", "flatPath": "v1/folders/{foldersId}/securityHealthAnalyticsSettings/customModules/{customModulesId}", "httpMethod": "GET", "id": "securitycenter.folders.securityHealthAnalyticsSettings.customModules.get", @@ -1211,7 +1149,6 @@ ], "parameters": { "name": { - "description": "Required. Name of the custom module to get. Its format is `organizations/{organization}/securityHealthAnalyticsSettings/customModules/{customModule}`, `folders/{folder}/securityHealthAnalyticsSettings/customModules/{customModule}`, or `projects/{project}/securityHealthAnalyticsSettings/customModules/{customModule}`", "location": "path", "pattern": "^folders/[^/]+/securityHealthAnalyticsSettings/customModules/[^/]+$", "required": true, @@ -1227,7 +1164,7 @@ ] }, "list": { - "description": "Returns a list of all SecurityHealthAnalyticsCustomModules for the given parent. This includes resident modules defined at the scope of the parent, and inherited modules, inherited from CRM ancestors.", + "description": "", "flatPath": "v1/folders/{foldersId}/securityHealthAnalyticsSettings/customModules", "httpMethod": "GET", "id": "securitycenter.folders.securityHealthAnalyticsSettings.customModules.list", @@ -1236,18 +1173,15 @@ ], "parameters": { "pageSize": { - "description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "The value returned by the last call indicating a continuation", "location": "query", "type": "string" }, "parent": { - "description": "Required. Name of parent to list custom modules. Its format is `organizations/{organization}/securityHealthAnalyticsSettings`, `folders/{folder}/securityHealthAnalyticsSettings`, or `projects/{project}/securityHealthAnalyticsSettings`", "location": "path", "pattern": "^folders/[^/]+/securityHealthAnalyticsSettings$", "required": true, @@ -1263,7 +1197,7 @@ ] }, "listDescendant": { - "description": "Returns a list of all resident SecurityHealthAnalyticsCustomModules under the given CRM parent and all of the parent’s CRM descendants.", + "description": "", "flatPath": "v1/folders/{foldersId}/securityHealthAnalyticsSettings/customModules:listDescendant", "httpMethod": "GET", "id": "securitycenter.folders.securityHealthAnalyticsSettings.customModules.listDescendant", @@ -1272,18 +1206,15 @@ ], "parameters": { "pageSize": { - "description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "The value returned by the last call indicating a continuation", "location": "query", "type": "string" }, "parent": { - "description": "Required. Name of parent to list descendant custom modules. Its format is `organizations/{organization}/securityHealthAnalyticsSettings`, `folders/{folder}/securityHealthAnalyticsSettings`, or `projects/{project}/securityHealthAnalyticsSettings`", "location": "path", "pattern": "^folders/[^/]+/securityHealthAnalyticsSettings$", "required": true, @@ -1299,7 +1230,7 @@ ] }, "patch": { - "description": "Updates the SecurityHealthAnalyticsCustomModule under the given name based on the given update mask. Updating the enablement state is supported on both resident and inherited modules (though resident modules cannot have an enablement state of \"inherited\"). Updating the display name and custom config of a module is supported on resident modules only.", + "description": "", "flatPath": "v1/folders/{foldersId}/securityHealthAnalyticsSettings/customModules/{customModulesId}", "httpMethod": "PATCH", "id": "securitycenter.folders.securityHealthAnalyticsSettings.customModules.patch", @@ -1308,14 +1239,12 @@ ], "parameters": { "name": { - "description": "Immutable. The resource name of the custom module. Its format is \"organizations/{organization}/securityHealthAnalyticsSettings/customModules/{customModule}\", or \"folders/{folder}/securityHealthAnalyticsSettings/customModules/{customModule}\", or \"projects/{project}/securityHealthAnalyticsSettings/customModules/{customModule}\" The id {customModule} is server-generated and is not user settable. It will be a numeric id containing 1-20 digits.", "location": "path", "pattern": "^folders/[^/]+/securityHealthAnalyticsSettings/customModules/[^/]+$", "required": true, "type": "string" }, "updateMask": { - "description": "The list of fields to be updated. The only fields that can be updated are `enablement_state` and `custom_config`. If empty or set to the wildcard value `*`, both `enablement_state` and `custom_config` are updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1333,7 +1262,7 @@ ] }, "simulate": { - "description": "Simulates a given SecurityHealthAnalyticsCustomModule and Resource.", + "description": "", "flatPath": "v1/folders/{foldersId}/securityHealthAnalyticsSettings/customModules:simulate", "httpMethod": "POST", "id": "securitycenter.folders.securityHealthAnalyticsSettings.customModules.simulate", @@ -1342,7 +1271,6 @@ ], "parameters": { "parent": { - "description": "Required. The relative resource name of the organization, project, or folder. For more information about relative resource names, see [Relative Resource Name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) Example: `organizations/{organization_id}`", "location": "path", "pattern": "^folders/[^/]+/securityHealthAnalyticsSettings$", "required": true, @@ -1365,7 +1293,7 @@ "effectiveCustomModules": { "methods": { "get": { - "description": "Retrieves an EffectiveSecurityHealthAnalyticsCustomModule.", + "description": "", "flatPath": "v1/folders/{foldersId}/securityHealthAnalyticsSettings/effectiveCustomModules/{effectiveCustomModulesId}", "httpMethod": "GET", "id": "securitycenter.folders.securityHealthAnalyticsSettings.effectiveCustomModules.get", @@ -1374,7 +1302,6 @@ ], "parameters": { "name": { - "description": "Required. Name of the effective custom module to get. Its format is `organizations/{organization}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}`, `folders/{folder}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}`, or `projects/{project}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}`", "location": "path", "pattern": "^folders/[^/]+/securityHealthAnalyticsSettings/effectiveCustomModules/[^/]+$", "required": true, @@ -1390,7 +1317,7 @@ ] }, "list": { - "description": "Returns a list of all EffectiveSecurityHealthAnalyticsCustomModules for the given parent. This includes resident modules defined at the scope of the parent, and inherited modules, inherited from CRM ancestors.", + "description": "", "flatPath": "v1/folders/{foldersId}/securityHealthAnalyticsSettings/effectiveCustomModules", "httpMethod": "GET", "id": "securitycenter.folders.securityHealthAnalyticsSettings.effectiveCustomModules.list", @@ -1399,18 +1326,15 @@ ], "parameters": { "pageSize": { - "description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "The value returned by the last call indicating a continuation", "location": "query", "type": "string" }, "parent": { - "description": "Required. Name of parent to list effective custom modules. Its format is `organizations/{organization}/securityHealthAnalyticsSettings`, `folders/{folder}/securityHealthAnalyticsSettings`, or `projects/{project}/securityHealthAnalyticsSettings`", "location": "path", "pattern": "^folders/[^/]+/securityHealthAnalyticsSettings$", "required": true, @@ -1432,7 +1356,7 @@ "sources": { "methods": { "list": { - "description": "Lists all sources belonging to an organization.", + "description": "", "flatPath": "v1/folders/{foldersId}/sources", "httpMethod": "GET", "id": "securitycenter.folders.sources.list", @@ -1441,18 +1365,15 @@ ], "parameters": { "pageSize": { - "description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "The value returned by the last `ListSourcesResponse`; indicates that this is a continuation of a prior `ListSources` call, and that the system should return the next page of data.", "location": "query", "type": "string" }, "parent": { - "description": "Required. Resource name of the parent of sources to list. Its format should be `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`.", "location": "path", "pattern": "^folders/[^/]+$", "required": true, @@ -1472,7 +1393,7 @@ "findings": { "methods": { "group": { - "description": "Filters an organization or source's findings and groups them by their specified properties. To group across all sources provide a `-` as the source id. Example: /v1/organizations/{organization_id}/sources/-/findings, /v1/folders/{folder_id}/sources/-/findings, /v1/projects/{project_id}/sources/-/findings", + "description": "", "flatPath": "v1/folders/{foldersId}/sources/{sourcesId}/findings:group", "httpMethod": "POST", "id": "securitycenter.folders.sources.findings.group", @@ -1481,7 +1402,6 @@ ], "parameters": { "parent": { - "description": "Required. Name of the source to groupBy. Its format is `organizations/[organization_id]/sources/[source_id]`, `folders/[folder_id]/sources/[source_id]`, or `projects/[project_id]/sources/[source_id]`. To groupBy across all sources provide a source_id of `-`. For example: `organizations/{organization_id}/sources/-, folders/{folder_id}/sources/-`, or `projects/{project_id}/sources/-`", "location": "path", "pattern": "^folders/[^/]+/sources/[^/]+$", "required": true, @@ -1500,7 +1420,7 @@ ] }, "list": { - "description": "Lists an organization or source's findings. To list across all sources provide a `-` as the source id. Example: /v1/organizations/{organization_id}/sources/-/findings", + "description": "", "flatPath": "v1/folders/{foldersId}/sources/{sourcesId}/findings", "httpMethod": "GET", "id": "securitycenter.folders.sources.findings.list", @@ -1510,40 +1430,33 @@ "parameters": { "compareDuration": { "deprecated": true, - "description": "When compare_duration is set, the ListFindingsResult's \"state_change\" attribute is updated to indicate whether the finding had its state changed, the finding's state remained unchanged, or if the finding was added in any state during the compare_duration period of time that precedes the read_time. This is the time between (read_time - compare_duration) and read_time. The state_change value is derived based on the presence and state of the finding at the two points in time. Intermediate state changes between the two times don't affect the result. For example, the results aren't affected if the finding is made inactive and then active again. Possible \"state_change\" values when compare_duration is specified: * \"CHANGED\": indicates that the finding was present and matched the given filter at the start of compare_duration, but changed its state at read_time. * \"UNCHANGED\": indicates that the finding was present and matched the given filter at the start of compare_duration and did not change state at read_time. * \"ADDED\": indicates that the finding did not match the given filter or was not present at the start of compare_duration, but was present at read_time. * \"REMOVED\": indicates that the finding was present and matched the filter at the start of compare_duration, but did not match the filter at read_time. If compare_duration is not specified, then the only possible state_change is \"UNUSED\", which will be the state_change set for all findings present at read_time.", "format": "google-duration", "location": "query", "type": "string" }, "fieldMask": { - "description": "A field mask to specify the Finding fields to be listed in the response. An empty field mask will list all fields.", "format": "google-fieldmask", "location": "query", "type": "string" }, "filter": { - "description": "Expression that defines the filter to apply across findings. The expression is a list of one or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. Examples include: * name * source_properties.a_property * security_marks.marks.marka The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. The following field and operator combinations are supported: * name: `=` * parent: `=`, `:` * resource_name: `=`, `:` * state: `=`, `:` * category: `=`, `:` * external_uri: `=`, `:` * event_time: `=`, `>`, `<`, `>=`, `<=` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `event_time = \"2019-06-10T16:07:18-07:00\"` `event_time = 1560208038000` * severity: `=`, `:` * workflow_state: `=`, `:` * security_marks.marks: `=`, `:` * source_properties: `=`, `:`, `>`, `<`, `>=`, `<=` For example, `source_properties.size = 100` is a valid filter string. Use a partial match on the empty string to filter based on a property existing: `source_properties.my_property : \"\"` Use a negated partial match on the empty string to filter based on a property not existing: `-source_properties.my_property : \"\"` * resource: * resource.name: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.type: `=`, `:` * resource.folders.resource_folder: `=`, `:` * resource.display_name: `=`, `:`", "location": "query", "type": "string" }, "orderBy": { - "description": "Expression that defines what fields and order to use for sorting. The string value should follow SQL syntax: comma separated list of fields. For example: \"name,resource_properties.a_property\". The default sorting order is ascending. To specify descending order for a field, a suffix \" desc\" should be appended to the field name. For example: \"name desc,source_properties.a_property\". Redundant space characters in the syntax are insignificant. \"name desc,source_properties.a_property\" and \" name desc , source_properties.a_property \" are equivalent. The following fields are supported: name parent state category resource_name event_time source_properties security_marks.marks", "location": "query", "type": "string" }, "pageSize": { - "description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "The value returned by the last `ListFindingsResponse`; indicates that this is a continuation of a prior `ListFindings` call, and that the system should return the next page of data.", "location": "query", "type": "string" }, "parent": { - "description": "Required. Name of the source the findings belong to. Its format is `organizations/[organization_id]/sources/[source_id]`, `folders/[folder_id]/sources/[source_id]`, or `projects/[project_id]/sources/[source_id]`. To list across all sources provide a source_id of `-`. For example: `organizations/{organization_id}/sources/-`, `folders/{folder_id}/sources/-` or `projects/{projects_id}/sources/-`", "location": "path", "pattern": "^folders/[^/]+/sources/[^/]+$", "required": true, @@ -1551,7 +1464,6 @@ }, "readTime": { "deprecated": true, - "description": "Time used as a reference point when filtering findings. The filter is limited to findings existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW.", "format": "google-datetime", "location": "query", "type": "string" @@ -1566,7 +1478,7 @@ ] }, "patch": { - "description": "Creates or updates a finding. The corresponding source must exist for a finding creation to succeed.", + "description": "", "flatPath": "v1/folders/{foldersId}/sources/{sourcesId}/findings/{findingsId}", "httpMethod": "PATCH", "id": "securitycenter.folders.sources.findings.patch", @@ -1575,14 +1487,12 @@ ], "parameters": { "name": { - "description": "The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}\", \"folders/{folder_id}/sources/{source_id}/findings/{finding_id}\", \"projects/{project_id}/sources/{source_id}/findings/{finding_id}\".", "location": "path", "pattern": "^folders/[^/]+/sources/[^/]+/findings/[^/]+$", "required": true, "type": "string" }, "updateMask": { - "description": "The FieldMask to use when updating the finding resource. This field should not be specified when creating a finding. When updating a finding, an empty mask is treated as updating all mutable fields and replacing source_properties. Individual source_properties can be added/updated by using \"source_properties.\" in the field mask.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1600,7 +1510,7 @@ ] }, "setMute": { - "description": "Updates the mute state of a finding.", + "description": "", "flatPath": "v1/folders/{foldersId}/sources/{sourcesId}/findings/{findingsId}:setMute", "httpMethod": "POST", "id": "securitycenter.folders.sources.findings.setMute", @@ -1609,7 +1519,6 @@ ], "parameters": { "name": { - "description": "Required. The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: `organizations/{organization_id}/sources/{source_id}/findings/{finding_id}`, `folders/{folder_id}/sources/{source_id}/findings/{finding_id}`, `projects/{project_id}/sources/{source_id}/findings/{finding_id}`.", "location": "path", "pattern": "^folders/[^/]+/sources/[^/]+/findings/[^/]+$", "required": true, @@ -1628,7 +1537,7 @@ ] }, "setState": { - "description": "Updates the state of a finding.", + "description": "", "flatPath": "v1/folders/{foldersId}/sources/{sourcesId}/findings/{findingsId}:setState", "httpMethod": "POST", "id": "securitycenter.folders.sources.findings.setState", @@ -1637,7 +1546,6 @@ ], "parameters": { "name": { - "description": "Required. The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: `organizations/{organization_id}/sources/{source_id}/findings/{finding_id}`, `folders/{folder_id}/sources/{source_id}/findings/{finding_id}`, `projects/{project_id}/sources/{source_id}/findings/{finding_id}`.", "location": "path", "pattern": "^folders/[^/]+/sources/[^/]+/findings/[^/]+$", "required": true, @@ -1656,7 +1564,7 @@ ] }, "updateSecurityMarks": { - "description": "Updates security marks.", + "description": "", "flatPath": "v1/folders/{foldersId}/sources/{sourcesId}/findings/{findingsId}/securityMarks", "httpMethod": "PATCH", "id": "securitycenter.folders.sources.findings.updateSecurityMarks", @@ -1665,20 +1573,17 @@ ], "parameters": { "name": { - "description": "The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: \"organizations/{organization_id}/assets/{asset_id}/securityMarks\" \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks\".", "location": "path", "pattern": "^folders/[^/]+/sources/[^/]+/findings/[^/]+/securityMarks$", "required": true, "type": "string" }, "startTime": { - "description": "The time at which the updated SecurityMarks take effect. If not set uses current server time. Updates will be applied to the SecurityMarks that are active immediately preceding this time. Must be earlier or equal to the server time.", "format": "google-datetime", "location": "query", "type": "string" }, "updateMask": { - "description": "The FieldMask to use when updating the security marks resource. The field mask must not contain duplicate fields. If empty or set to \"marks\", all marks will be replaced. Individual marks can be updated using \"marks.\".", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1700,7 +1605,7 @@ "externalSystems": { "methods": { "patch": { - "description": "Updates external system. This is for a given finding.", + "description": "", "flatPath": "v1/folders/{foldersId}/sources/{sourcesId}/findings/{findingsId}/externalSystems/{externalSystemsId}", "httpMethod": "PATCH", "id": "securitycenter.folders.sources.findings.externalSystems.patch", @@ -1709,14 +1614,12 @@ ], "parameters": { "name": { - "description": "Full resource name of the external system, for example: \"organizations/1234/sources/5678/findings/123456/externalSystems/jira\", \"folders/1234/sources/5678/findings/123456/externalSystems/jira\", \"projects/1234/sources/5678/findings/123456/externalSystems/jira\"", "location": "path", "pattern": "^folders/[^/]+/sources/[^/]+/findings/[^/]+/externalSystems/[^/]+$", "required": true, "type": "string" }, "updateMask": { - "description": "The FieldMask to use when updating the external system resource. If empty all mutable fields will be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1744,7 +1647,7 @@ "organizations": { "methods": { "getOrganizationSettings": { - "description": "Gets the settings for an organization.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/organizationSettings", "httpMethod": "GET", "id": "securitycenter.organizations.getOrganizationSettings", @@ -1753,7 +1656,6 @@ ], "parameters": { "name": { - "description": "Required. Name of the organization to get organization settings for. Its format is `organizations/[organization_id]/organizationSettings`.", "location": "path", "pattern": "^organizations/[^/]+/organizationSettings$", "required": true, @@ -1770,7 +1672,7 @@ }, "updateOrganizationSettings": { "deprecated": true, - "description": "Updates an organization's settings.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/organizationSettings", "httpMethod": "PATCH", "id": "securitycenter.organizations.updateOrganizationSettings", @@ -1779,14 +1681,12 @@ ], "parameters": { "name": { - "description": "The relative resource name of the settings. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: \"organizations/{organization_id}/organizationSettings\".", "location": "path", "pattern": "^organizations/[^/]+/organizationSettings$", "required": true, "type": "string" }, "updateMask": { - "description": "The FieldMask to use when updating the settings resource. If empty all mutable fields will be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1809,7 +1709,7 @@ "methods": { "group": { "deprecated": true, - "description": "Filters an organization's assets and groups them by their specified properties.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/assets:group", "httpMethod": "POST", "id": "securitycenter.organizations.assets.group", @@ -1818,7 +1718,6 @@ ], "parameters": { "parent": { - "description": "Required. The name of the parent to group the assets by. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`.", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, @@ -1838,7 +1737,7 @@ }, "list": { "deprecated": true, - "description": "Lists an organization's assets.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/assets", "httpMethod": "GET", "id": "securitycenter.organizations.assets.list", @@ -1847,47 +1746,39 @@ ], "parameters": { "compareDuration": { - "description": "When compare_duration is set, the ListAssetsResult's \"state_change\" attribute is updated to indicate whether the asset was added, removed, or remained present during the compare_duration period of time that precedes the read_time. This is the time between (read_time - compare_duration) and read_time. The state_change value is derived based on the presence of the asset at the two points in time. Intermediate state changes between the two times don't affect the result. For example, the results aren't affected if the asset is removed and re-created again. Possible \"state_change\" values when compare_duration is specified: * \"ADDED\": indicates that the asset was not present at the start of compare_duration, but present at read_time. * \"REMOVED\": indicates that the asset was present at the start of compare_duration, but not present at read_time. * \"ACTIVE\": indicates that the asset was present at both the start and the end of the time period defined by compare_duration and read_time. If compare_duration is not specified, then the only possible state_change is \"UNUSED\", which will be the state_change set for all assets present at read_time.", "format": "google-duration", "location": "query", "type": "string" }, "fieldMask": { - "description": "A field mask to specify the ListAssetsResult fields to be listed in the response. An empty field mask will list all fields.", "format": "google-fieldmask", "location": "query", "type": "string" }, "filter": { - "description": "Expression that defines the filter to apply across assets. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the Asset resource. Examples include: * name * security_center_properties.resource_name * resource_properties.a_property * security_marks.marks.marka The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. The following are the allowed field and operator combinations: * name: `=` * update_time: `=`, `>`, `<`, `>=`, `<=` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `update_time = \"2019-06-10T16:07:18-07:00\"` `update_time = 1560208038000` * create_time: `=`, `>`, `<`, `>=`, `<=` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `create_time = \"2019-06-10T16:07:18-07:00\"` `create_time = 1560208038000` * iam_policy.policy_blob: `=`, `:` * resource_properties: `=`, `:`, `>`, `<`, `>=`, `<=` * security_marks.marks: `=`, `:` * security_center_properties.resource_name: `=`, `:` * security_center_properties.resource_display_name: `=`, `:` * security_center_properties.resource_type: `=`, `:` * security_center_properties.resource_parent: `=`, `:` * security_center_properties.resource_parent_display_name: `=`, `:` * security_center_properties.resource_project: `=`, `:` * security_center_properties.resource_project_display_name: `=`, `:` * security_center_properties.resource_owners: `=`, `:` For example, `resource_properties.size = 100` is a valid filter string. Use a partial match on the empty string to filter based on a property existing: `resource_properties.my_property : \"\"` Use a negated partial match on the empty string to filter based on a property not existing: `-resource_properties.my_property : \"\"`", "location": "query", "type": "string" }, "orderBy": { - "description": "Expression that defines what fields and order to use for sorting. The string value should follow SQL syntax: comma separated list of fields. For example: \"name,resource_properties.a_property\". The default sorting order is ascending. To specify descending order for a field, a suffix \" desc\" should be appended to the field name. For example: \"name desc,resource_properties.a_property\". Redundant space characters in the syntax are insignificant. \"name desc,resource_properties.a_property\" and \" name desc , resource_properties.a_property \" are equivalent. The following fields are supported: name update_time resource_properties security_marks.marks security_center_properties.resource_name security_center_properties.resource_display_name security_center_properties.resource_parent security_center_properties.resource_parent_display_name security_center_properties.resource_project security_center_properties.resource_project_display_name security_center_properties.resource_type", "location": "query", "type": "string" }, "pageSize": { - "description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "The value returned by the last `ListAssetsResponse`; indicates that this is a continuation of a prior `ListAssets` call, and that the system should return the next page of data.", "location": "query", "type": "string" }, "parent": { - "description": "Required. The name of the parent resource that contains the assets. The value that you can specify on parent depends on the method in which you specify parent. You can specify one of the following values: `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`.", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, "type": "string" }, "readTime": { - "description": "Time used as a reference point when filtering assets. The filter is limited to assets existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW.", "format": "google-datetime", "location": "query", "type": "string" @@ -1903,7 +1794,7 @@ }, "runDiscovery": { "deprecated": true, - "description": "Runs asset discovery. The discovery is tracked with a long-running operation. This API can only be called with limited frequency for an organization. If it is called too frequently the caller will receive a TOO_MANY_REQUESTS error.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/assets:runDiscovery", "httpMethod": "POST", "id": "securitycenter.organizations.assets.runDiscovery", @@ -1912,7 +1803,6 @@ ], "parameters": { "parent": { - "description": "Required. Name of the organization to run asset discovery for. Its format is `organizations/[organization_id]`.", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, @@ -1931,7 +1821,7 @@ ] }, "updateSecurityMarks": { - "description": "Updates security marks.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/assets/{assetsId}/securityMarks", "httpMethod": "PATCH", "id": "securitycenter.organizations.assets.updateSecurityMarks", @@ -1940,20 +1830,17 @@ ], "parameters": { "name": { - "description": "The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: \"organizations/{organization_id}/assets/{asset_id}/securityMarks\" \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks\".", "location": "path", "pattern": "^organizations/[^/]+/assets/[^/]+/securityMarks$", "required": true, "type": "string" }, "startTime": { - "description": "The time at which the updated SecurityMarks take effect. If not set uses current server time. Updates will be applied to the SecurityMarks that are active immediately preceding this time. Must be earlier or equal to the server time.", "format": "google-datetime", "location": "query", "type": "string" }, "updateMask": { - "description": "The FieldMask to use when updating the security marks resource. The field mask must not contain duplicate fields. If empty or set to \"marks\", all marks will be replaced. Individual marks can be updated using \"marks.\".", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1975,7 +1862,7 @@ "attackPaths": { "methods": { "list": { - "description": "Lists the attack paths for a set of simulation results or valued resources and filter.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/attackPaths", "httpMethod": "GET", "id": "securitycenter.organizations.attackPaths.list", @@ -1984,23 +1871,19 @@ ], "parameters": { "filter": { - "description": "The filter expression that filters the attack path in the response. Supported fields: * `valued_resources` supports =", "location": "query", "type": "string" }, "pageSize": { - "description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "The value returned by the last `ListAttackPathsResponse`; indicates that this is a continuation of a prior `ListAttackPaths` call, and that the system should return the next page of data.", "location": "query", "type": "string" }, "parent": { - "description": "Required. Name of parent to list attack paths. Valid formats: `organizations/{organization}`, `organizations/{organization}/simulations/{simulation}` `organizations/{organization}/simulations/{simulation}/attackExposureResults/{attack_exposure_result_v2}` `organizations/{organization}/simulations/{simulation}/valuedResources/{valued_resource}`", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, @@ -2020,7 +1903,7 @@ "bigQueryExports": { "methods": { "create": { - "description": "Creates a BigQuery export.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/bigQueryExports", "httpMethod": "POST", "id": "securitycenter.organizations.bigQueryExports.create", @@ -2029,12 +1912,10 @@ ], "parameters": { "bigQueryExportId": { - "description": "Required. Unique identifier provided by the client within the parent scope. It must consist of only lowercase letters, numbers, and hyphens, must start with a letter, must end with either a letter or a number, and must be 63 characters or less.", "location": "query", "type": "string" }, "parent": { - "description": "Required. The name of the parent resource of the new BigQuery export. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`.", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, @@ -2053,7 +1934,7 @@ ] }, "delete": { - "description": "Deletes an existing BigQuery export.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/bigQueryExports/{bigQueryExportsId}", "httpMethod": "DELETE", "id": "securitycenter.organizations.bigQueryExports.delete", @@ -2062,7 +1943,6 @@ ], "parameters": { "name": { - "description": "Required. The name of the BigQuery export to delete. Its format is `organizations/{organization}/bigQueryExports/{export_id}`, `folders/{folder}/bigQueryExports/{export_id}`, or `projects/{project}/bigQueryExports/{export_id}`", "location": "path", "pattern": "^organizations/[^/]+/bigQueryExports/[^/]+$", "required": true, @@ -2078,7 +1958,7 @@ ] }, "get": { - "description": "Gets a BigQuery export.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/bigQueryExports/{bigQueryExportsId}", "httpMethod": "GET", "id": "securitycenter.organizations.bigQueryExports.get", @@ -2087,7 +1967,6 @@ ], "parameters": { "name": { - "description": "Required. Name of the BigQuery export to retrieve. Its format is `organizations/{organization}/bigQueryExports/{export_id}`, `folders/{folder}/bigQueryExports/{export_id}`, or `projects/{project}/bigQueryExports/{export_id}`", "location": "path", "pattern": "^organizations/[^/]+/bigQueryExports/[^/]+$", "required": true, @@ -2103,7 +1982,7 @@ ] }, "list": { - "description": "Lists BigQuery exports. Note that when requesting BigQuery exports at a given level all exports under that level are also returned e.g. if requesting BigQuery exports under a folder, then all BigQuery exports immediately under the folder plus the ones created under the projects within the folder are returned.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/bigQueryExports", "httpMethod": "GET", "id": "securitycenter.organizations.bigQueryExports.list", @@ -2112,18 +1991,15 @@ ], "parameters": { "pageSize": { - "description": "The maximum number of configs to return. The service may return fewer than this value. If unspecified, at most 10 configs 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 `ListBigQueryExports` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListBigQueryExports` must match the call that provided the page token.", "location": "query", "type": "string" }, "parent": { - "description": "Required. The parent, which owns the collection of BigQuery exports. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, `projects/[project_id]`.", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, @@ -2139,7 +2015,7 @@ ] }, "patch": { - "description": "Updates a BigQuery export.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/bigQueryExports/{bigQueryExportsId}", "httpMethod": "PATCH", "id": "securitycenter.organizations.bigQueryExports.patch", @@ -2148,14 +2024,12 @@ ], "parameters": { "name": { - "description": "The relative resource name of this export. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name. Example format: \"organizations/{organization_id}/bigQueryExports/{export_id}\" Example format: \"folders/{folder_id}/bigQueryExports/{export_id}\" Example format: \"projects/{project_id}/bigQueryExports/{export_id}\" This field is provided in responses, and is ignored when provided in create requests.", "location": "path", "pattern": "^organizations/[^/]+/bigQueryExports/[^/]+$", "required": true, "type": "string" }, "updateMask": { - "description": "The list of fields to be updated. If empty all mutable fields will be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -2177,7 +2051,7 @@ "eventThreatDetectionSettings": { "methods": { "validateCustomModule": { - "description": "Validates the given Event Threat Detection custom module.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/eventThreatDetectionSettings:validateCustomModule", "httpMethod": "POST", "id": "securitycenter.organizations.eventThreatDetectionSettings.validateCustomModule", @@ -2186,7 +2060,6 @@ ], "parameters": { "parent": { - "description": "Required. Resource name of the parent to validate the Custom Module under. Its format is: * `organizations/{organization}/eventThreatDetectionSettings`. * `folders/{folder}/eventThreatDetectionSettings`. * `projects/{project}/eventThreatDetectionSettings`.", "location": "path", "pattern": "^organizations/[^/]+/eventThreatDetectionSettings$", "required": true, @@ -2209,7 +2082,7 @@ "customModules": { "methods": { "create": { - "description": "Creates a resident Event Threat Detection custom module at the scope of the given Resource Manager parent, and also creates inherited custom modules for all descendants of the given parent. These modules are enabled by default.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/eventThreatDetectionSettings/customModules", "httpMethod": "POST", "id": "securitycenter.organizations.eventThreatDetectionSettings.customModules.create", @@ -2218,7 +2091,6 @@ ], "parameters": { "parent": { - "description": "Required. The new custom module's parent. Its format is: * `organizations/{organization}/eventThreatDetectionSettings`. * `folders/{folder}/eventThreatDetectionSettings`. * `projects/{project}/eventThreatDetectionSettings`.", "location": "path", "pattern": "^organizations/[^/]+/eventThreatDetectionSettings$", "required": true, @@ -2237,7 +2109,7 @@ ] }, "delete": { - "description": "Deletes the specified Event Threat Detection custom module and all of its descendants in the Resource Manager hierarchy. This method is only supported for resident custom modules.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/eventThreatDetectionSettings/customModules/{customModulesId}", "httpMethod": "DELETE", "id": "securitycenter.organizations.eventThreatDetectionSettings.customModules.delete", @@ -2246,7 +2118,6 @@ ], "parameters": { "name": { - "description": "Required. Name of the custom module to delete. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/customModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/customModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/customModules/{module}`.", "location": "path", "pattern": "^organizations/[^/]+/eventThreatDetectionSettings/customModules/[^/]+$", "required": true, @@ -2262,7 +2133,7 @@ ] }, "get": { - "description": "Gets an Event Threat Detection custom module.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/eventThreatDetectionSettings/customModules/{customModulesId}", "httpMethod": "GET", "id": "securitycenter.organizations.eventThreatDetectionSettings.customModules.get", @@ -2271,7 +2142,6 @@ ], "parameters": { "name": { - "description": "Required. Name of the custom module to get. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/customModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/customModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/customModules/{module}`.", "location": "path", "pattern": "^organizations/[^/]+/eventThreatDetectionSettings/customModules/[^/]+$", "required": true, @@ -2287,7 +2157,7 @@ ] }, "list": { - "description": "Lists all Event Threat Detection custom modules for the given Resource Manager parent. This includes resident modules defined at the scope of the parent along with modules inherited from ancestors.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/eventThreatDetectionSettings/customModules", "httpMethod": "GET", "id": "securitycenter.organizations.eventThreatDetectionSettings.customModules.list", @@ -2296,18 +2166,15 @@ ], "parameters": { "pageSize": { - "description": "The maximum number of modules to return. The service may return fewer than this value. If unspecified, at most 10 configs 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 `ListEventThreatDetectionCustomModules` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListEventThreatDetectionCustomModules` must match the call that provided the page token.", "location": "query", "type": "string" }, "parent": { - "description": "Required. Name of the parent to list custom modules under. Its format is: * `organizations/{organization}/eventThreatDetectionSettings`. * `folders/{folder}/eventThreatDetectionSettings`. * `projects/{project}/eventThreatDetectionSettings`.", "location": "path", "pattern": "^organizations/[^/]+/eventThreatDetectionSettings$", "required": true, @@ -2323,7 +2190,7 @@ ] }, "listDescendant": { - "description": "Lists all resident Event Threat Detection custom modules under the given Resource Manager parent and its descendants.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/eventThreatDetectionSettings/customModules:listDescendant", "httpMethod": "GET", "id": "securitycenter.organizations.eventThreatDetectionSettings.customModules.listDescendant", @@ -2332,18 +2199,15 @@ ], "parameters": { "pageSize": { - "description": "The maximum number of modules to return. The service may return fewer than this value. If unspecified, at most 10 configs 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 `ListDescendantEventThreatDetectionCustomModules` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListDescendantEventThreatDetectionCustomModules` must match the call that provided the page token.", "location": "query", "type": "string" }, "parent": { - "description": "Required. Name of the parent to list custom modules under. Its format is: * `organizations/{organization}/eventThreatDetectionSettings`. * `folders/{folder}/eventThreatDetectionSettings`. * `projects/{project}/eventThreatDetectionSettings`.", "location": "path", "pattern": "^organizations/[^/]+/eventThreatDetectionSettings$", "required": true, @@ -2359,7 +2223,7 @@ ] }, "patch": { - "description": "Updates the Event Threat Detection custom module with the given name based on the given update mask. Updating the enablement state is supported for both resident and inherited modules (though resident modules cannot have an enablement state of \"inherited\"). Updating the display name or configuration of a module is supported for resident modules only. The type of a module cannot be changed.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/eventThreatDetectionSettings/customModules/{customModulesId}", "httpMethod": "PATCH", "id": "securitycenter.organizations.eventThreatDetectionSettings.customModules.patch", @@ -2368,14 +2232,12 @@ ], "parameters": { "name": { - "description": "Immutable. The resource name of the Event Threat Detection custom module. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/customModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/customModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/customModules/{module}`.", "location": "path", "pattern": "^organizations/[^/]+/eventThreatDetectionSettings/customModules/[^/]+$", "required": true, "type": "string" }, "updateMask": { - "description": "The list of fields to be updated. If empty all mutable fields will be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -2397,7 +2259,7 @@ "effectiveCustomModules": { "methods": { "get": { - "description": "Gets an effective Event Threat Detection custom module at the given level.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/eventThreatDetectionSettings/effectiveCustomModules/{effectiveCustomModulesId}", "httpMethod": "GET", "id": "securitycenter.organizations.eventThreatDetectionSettings.effectiveCustomModules.get", @@ -2406,7 +2268,6 @@ ], "parameters": { "name": { - "description": "Required. The resource name of the effective Event Threat Detection custom module. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/effectiveCustomModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/effectiveCustomModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/effectiveCustomModules/{module}`.", "location": "path", "pattern": "^organizations/[^/]+/eventThreatDetectionSettings/effectiveCustomModules/[^/]+$", "required": true, @@ -2422,7 +2283,7 @@ ] }, "list": { - "description": "Lists all effective Event Threat Detection custom modules for the given parent. This includes resident modules defined at the scope of the parent along with modules inherited from its ancestors.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/eventThreatDetectionSettings/effectiveCustomModules", "httpMethod": "GET", "id": "securitycenter.organizations.eventThreatDetectionSettings.effectiveCustomModules.list", @@ -2431,18 +2292,15 @@ ], "parameters": { "pageSize": { - "description": "The maximum number of modules to return. The service may return fewer than this value. If unspecified, at most 10 configs 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 `ListEffectiveEventThreatDetectionCustomModules` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListEffectiveEventThreatDetectionCustomModules` must match the call that provided the page token.", "location": "query", "type": "string" }, "parent": { - "description": "Required. Name of the parent to list custom modules for. Its format is: * `organizations/{organization}/eventThreatDetectionSettings`. * `folders/{folder}/eventThreatDetectionSettings`. * `projects/{project}/eventThreatDetectionSettings`.", "location": "path", "pattern": "^organizations/[^/]+/eventThreatDetectionSettings$", "required": true, @@ -2464,7 +2322,7 @@ "findings": { "methods": { "bulkMute": { - "description": "Kicks off an LRO to bulk mute findings for a parent based on a filter. The parent can be either an organization, folder or project. The findings matched by the filter will be muted after the LRO is done.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/findings:bulkMute", "httpMethod": "POST", "id": "securitycenter.organizations.findings.bulkMute", @@ -2473,7 +2331,6 @@ ], "parameters": { "parent": { - "description": "Required. The parent, at which bulk action needs to be applied. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, `projects/[project_id]`.", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, @@ -2498,7 +2355,7 @@ "muteConfigs": { "methods": { "delete": { - "description": "Deletes an existing mute config.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/muteConfigs/{muteConfigsId}", "httpMethod": "DELETE", "id": "securitycenter.organizations.locations.muteConfigs.delete", @@ -2507,7 +2364,6 @@ ], "parameters": { "name": { - "description": "Required. Name of the mute config to delete. Its format is `organizations/{organization}/muteConfigs/{config_id}`, `folders/{folder}/muteConfigs/{config_id}`, `projects/{project}/muteConfigs/{config_id}`, `organizations/{organization}/locations/global/muteConfigs/{config_id}`, `folders/{folder}/locations/global/muteConfigs/{config_id}`, or `projects/{project}/locations/global/muteConfigs/{config_id}`.", "location": "path", "pattern": "^organizations/[^/]+/locations/[^/]+/muteConfigs/[^/]+$", "required": true, @@ -2523,7 +2379,7 @@ ] }, "get": { - "description": "Gets a mute config.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/muteConfigs/{muteConfigsId}", "httpMethod": "GET", "id": "securitycenter.organizations.locations.muteConfigs.get", @@ -2532,7 +2388,6 @@ ], "parameters": { "name": { - "description": "Required. Name of the mute config to retrieve. Its format is `organizations/{organization}/muteConfigs/{config_id}`, `folders/{folder}/muteConfigs/{config_id}`, `projects/{project}/muteConfigs/{config_id}`, `organizations/{organization}/locations/global/muteConfigs/{config_id}`, `folders/{folder}/locations/global/muteConfigs/{config_id}`, or `projects/{project}/locations/global/muteConfigs/{config_id}`.", "location": "path", "pattern": "^organizations/[^/]+/locations/[^/]+/muteConfigs/[^/]+$", "required": true, @@ -2548,7 +2403,7 @@ ] }, "patch": { - "description": "Updates a mute config.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/muteConfigs/{muteConfigsId}", "httpMethod": "PATCH", "id": "securitycenter.organizations.locations.muteConfigs.patch", @@ -2557,14 +2412,12 @@ ], "parameters": { "name": { - "description": "This field will be ignored if provided on config creation. Format `organizations/{organization}/muteConfigs/{mute_config}` `folders/{folder}/muteConfigs/{mute_config}` `projects/{project}/muteConfigs/{mute_config}` `organizations/{organization}/locations/global/muteConfigs/{mute_config}` `folders/{folder}/locations/global/muteConfigs/{mute_config}` `projects/{project}/locations/global/muteConfigs/{mute_config}`", "location": "path", "pattern": "^organizations/[^/]+/locations/[^/]+/muteConfigs/[^/]+$", "required": true, "type": "string" }, "updateMask": { - "description": "The list of fields to be updated. If empty all mutable fields will be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -2588,7 +2441,7 @@ "muteConfigs": { "methods": { "create": { - "description": "Creates a mute config.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/muteConfigs", "httpMethod": "POST", "id": "securitycenter.organizations.muteConfigs.create", @@ -2597,12 +2450,10 @@ ], "parameters": { "muteConfigId": { - "description": "Required. Unique identifier provided by the client within the parent scope. It must consist of only lowercase letters, numbers, and hyphens, must start with a letter, must end with either a letter or a number, and must be 63 characters or less.", "location": "query", "type": "string" }, "parent": { - "description": "Required. Resource name of the new mute configs's parent. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`.", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, @@ -2621,7 +2472,7 @@ ] }, "delete": { - "description": "Deletes an existing mute config.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/muteConfigs/{muteConfigsId}", "httpMethod": "DELETE", "id": "securitycenter.organizations.muteConfigs.delete", @@ -2630,7 +2481,6 @@ ], "parameters": { "name": { - "description": "Required. Name of the mute config to delete. Its format is `organizations/{organization}/muteConfigs/{config_id}`, `folders/{folder}/muteConfigs/{config_id}`, `projects/{project}/muteConfigs/{config_id}`, `organizations/{organization}/locations/global/muteConfigs/{config_id}`, `folders/{folder}/locations/global/muteConfigs/{config_id}`, or `projects/{project}/locations/global/muteConfigs/{config_id}`.", "location": "path", "pattern": "^organizations/[^/]+/muteConfigs/[^/]+$", "required": true, @@ -2646,7 +2496,7 @@ ] }, "get": { - "description": "Gets a mute config.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/muteConfigs/{muteConfigsId}", "httpMethod": "GET", "id": "securitycenter.organizations.muteConfigs.get", @@ -2655,7 +2505,6 @@ ], "parameters": { "name": { - "description": "Required. Name of the mute config to retrieve. Its format is `organizations/{organization}/muteConfigs/{config_id}`, `folders/{folder}/muteConfigs/{config_id}`, `projects/{project}/muteConfigs/{config_id}`, `organizations/{organization}/locations/global/muteConfigs/{config_id}`, `folders/{folder}/locations/global/muteConfigs/{config_id}`, or `projects/{project}/locations/global/muteConfigs/{config_id}`.", "location": "path", "pattern": "^organizations/[^/]+/muteConfigs/[^/]+$", "required": true, @@ -2671,7 +2520,7 @@ ] }, "list": { - "description": "Lists mute configs.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/muteConfigs", "httpMethod": "GET", "id": "securitycenter.organizations.muteConfigs.list", @@ -2680,18 +2529,15 @@ ], "parameters": { "pageSize": { - "description": "The maximum number of configs to return. The service may return fewer than this value. If unspecified, at most 10 configs 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 `ListMuteConfigs` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListMuteConfigs` must match the call that provided the page token.", "location": "query", "type": "string" }, "parent": { - "description": "Required. The parent, which owns the collection of mute configs. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, `projects/[project_id]`.", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, @@ -2707,7 +2553,7 @@ ] }, "patch": { - "description": "Updates a mute config.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/muteConfigs/{muteConfigsId}", "httpMethod": "PATCH", "id": "securitycenter.organizations.muteConfigs.patch", @@ -2716,14 +2562,12 @@ ], "parameters": { "name": { - "description": "This field will be ignored if provided on config creation. Format `organizations/{organization}/muteConfigs/{mute_config}` `folders/{folder}/muteConfigs/{mute_config}` `projects/{project}/muteConfigs/{mute_config}` `organizations/{organization}/locations/global/muteConfigs/{mute_config}` `folders/{folder}/locations/global/muteConfigs/{mute_config}` `projects/{project}/locations/global/muteConfigs/{mute_config}`", "location": "path", "pattern": "^organizations/[^/]+/muteConfigs/[^/]+$", "required": true, "type": "string" }, "updateMask": { - "description": "The list of fields to be updated. If empty all mutable fields will be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -2745,7 +2589,7 @@ "notificationConfigs": { "methods": { "create": { - "description": "Creates a notification config.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/notificationConfigs", "httpMethod": "POST", "id": "securitycenter.organizations.notificationConfigs.create", @@ -2754,12 +2598,10 @@ ], "parameters": { "configId": { - "description": "Required. Unique identifier provided by the client within the parent scope. It must be between 1 and 128 characters and contain alphanumeric characters, underscores, or hyphens only.", "location": "query", "type": "string" }, "parent": { - "description": "Required. Resource name of the new notification config's parent. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`.", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, @@ -2778,7 +2620,7 @@ ] }, "delete": { - "description": "Deletes a notification config.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/notificationConfigs/{notificationConfigsId}", "httpMethod": "DELETE", "id": "securitycenter.organizations.notificationConfigs.delete", @@ -2787,7 +2629,6 @@ ], "parameters": { "name": { - "description": "Required. Name of the notification config to delete. Its format is `organizations/[organization_id]/notificationConfigs/[config_id]`, `folders/[folder_id]/notificationConfigs/[config_id]`, or `projects/[project_id]/notificationConfigs/[config_id]`.", "location": "path", "pattern": "^organizations/[^/]+/notificationConfigs/[^/]+$", "required": true, @@ -2803,7 +2644,7 @@ ] }, "get": { - "description": "Gets a notification config.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/notificationConfigs/{notificationConfigsId}", "httpMethod": "GET", "id": "securitycenter.organizations.notificationConfigs.get", @@ -2812,7 +2653,6 @@ ], "parameters": { "name": { - "description": "Required. Name of the notification config to get. Its format is `organizations/[organization_id]/notificationConfigs/[config_id]`, `folders/[folder_id]/notificationConfigs/[config_id]`, or `projects/[project_id]/notificationConfigs/[config_id]`.", "location": "path", "pattern": "^organizations/[^/]+/notificationConfigs/[^/]+$", "required": true, @@ -2828,7 +2668,7 @@ ] }, "list": { - "description": "Lists notification configs.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/notificationConfigs", "httpMethod": "GET", "id": "securitycenter.organizations.notificationConfigs.list", @@ -2837,18 +2677,15 @@ ], "parameters": { "pageSize": { - "description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "The value returned by the last `ListNotificationConfigsResponse`; indicates that this is a continuation of a prior `ListNotificationConfigs` call, and that the system should return the next page of data.", "location": "query", "type": "string" }, "parent": { - "description": "Required. The name of the parent in which to list the notification configurations. Its format is \"organizations/[organization_id]\", \"folders/[folder_id]\", or \"projects/[project_id]\".", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, @@ -2864,7 +2701,7 @@ ] }, "patch": { - "description": " Updates a notification config. The following update fields are allowed: description, pubsub_topic, streaming_config.filter", + "description": "", "flatPath": "v1/organizations/{organizationsId}/notificationConfigs/{notificationConfigsId}", "httpMethod": "PATCH", "id": "securitycenter.organizations.notificationConfigs.patch", @@ -2873,14 +2710,12 @@ ], "parameters": { "name": { - "description": "The relative resource name of this notification config. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: \"organizations/{organization_id}/notificationConfigs/notify_public_bucket\", \"folders/{folder_id}/notificationConfigs/notify_public_bucket\", or \"projects/{project_id}/notificationConfigs/notify_public_bucket\".", "location": "path", "pattern": "^organizations/[^/]+/notificationConfigs/[^/]+$", "required": true, "type": "string" }, "updateMask": { - "description": "The FieldMask to use when updating the notification config. If empty all mutable fields will be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -2902,7 +2737,7 @@ "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`.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "securitycenter.organizations.operations.cancel", @@ -2911,7 +2746,6 @@ ], "parameters": { "name": { - "description": "The name of the operation resource to be cancelled.", "location": "path", "pattern": "^organizations/[^/]+/operations/[^/]+$", "required": true, @@ -2927,7 +2761,7 @@ ] }, "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`.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/operations/{operationsId}", "httpMethod": "DELETE", "id": "securitycenter.organizations.operations.delete", @@ -2936,7 +2770,6 @@ ], "parameters": { "name": { - "description": "The name of the operation resource to be deleted.", "location": "path", "pattern": "^organizations/[^/]+/operations/[^/]+$", "required": true, @@ -2952,7 +2785,7 @@ ] }, "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.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/operations/{operationsId}", "httpMethod": "GET", "id": "securitycenter.organizations.operations.get", @@ -2961,7 +2794,6 @@ ], "parameters": { "name": { - "description": "The name of the operation resource.", "location": "path", "pattern": "^organizations/[^/]+/operations/[^/]+$", "required": true, @@ -2977,7 +2809,7 @@ ] }, "list": { - "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/operations", "httpMethod": "GET", "id": "securitycenter.organizations.operations.list", @@ -2986,30 +2818,25 @@ ], "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/[^/]+/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" }, "returnPartialSuccess": { - "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `\"projects/example/locations/-\"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", "location": "query", "type": "boolean" } @@ -3027,7 +2854,7 @@ "resourceValueConfigs": { "methods": { "batchCreate": { - "description": "Creates a ResourceValueConfig for an organization. Maps user's tags to difference resource values for use by the attack path simulation.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/resourceValueConfigs:batchCreate", "httpMethod": "POST", "id": "securitycenter.organizations.resourceValueConfigs.batchCreate", @@ -3036,7 +2863,6 @@ ], "parameters": { "parent": { - "description": "Required. Resource name of the new ResourceValueConfig's parent. The parent field in the CreateResourceValueConfigRequest messages must either be empty or match this field.", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, @@ -3055,7 +2881,7 @@ ] }, "delete": { - "description": "Deletes a ResourceValueConfig.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/resourceValueConfigs/{resourceValueConfigsId}", "httpMethod": "DELETE", "id": "securitycenter.organizations.resourceValueConfigs.delete", @@ -3064,7 +2890,6 @@ ], "parameters": { "name": { - "description": "Required. Name of the ResourceValueConfig to delete", "location": "path", "pattern": "^organizations/[^/]+/resourceValueConfigs/[^/]+$", "required": true, @@ -3080,7 +2905,7 @@ ] }, "get": { - "description": "Gets a ResourceValueConfig.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/resourceValueConfigs/{resourceValueConfigsId}", "httpMethod": "GET", "id": "securitycenter.organizations.resourceValueConfigs.get", @@ -3089,7 +2914,6 @@ ], "parameters": { "name": { - "description": "Required. Name of the resource value config to retrieve. Its format is `organizations/{organization}/resourceValueConfigs/{config_id}`.", "location": "path", "pattern": "^organizations/[^/]+/resourceValueConfigs/[^/]+$", "required": true, @@ -3105,7 +2929,7 @@ ] }, "list": { - "description": "Lists all ResourceValueConfigs.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/resourceValueConfigs", "httpMethod": "GET", "id": "securitycenter.organizations.resourceValueConfigs.list", @@ -3114,18 +2938,15 @@ ], "parameters": { "pageSize": { - "description": "The number of results to return. The service may return fewer than this value. If unspecified, at most 10 configs 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 `ListResourceValueConfigs` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListResourceValueConfigs` must match the call that provided the page token. page_size can be specified, and the new page_size will be used.", "location": "query", "type": "string" }, "parent": { - "description": "Required. The parent, which owns the collection of resource value configs. Its format is `organizations/[organization_id]`", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, @@ -3141,7 +2962,7 @@ ] }, "patch": { - "description": "Updates an existing ResourceValueConfigs with new rules.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/resourceValueConfigs/{resourceValueConfigsId}", "httpMethod": "PATCH", "id": "securitycenter.organizations.resourceValueConfigs.patch", @@ -3150,14 +2971,12 @@ ], "parameters": { "name": { - "description": "Name for the resource value configuration", "location": "path", "pattern": "^organizations/[^/]+/resourceValueConfigs/[^/]+$", "required": true, "type": "string" }, "updateMask": { - "description": "The list of fields to be updated. If empty all mutable fields will be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -3181,7 +3000,7 @@ "customModules": { "methods": { "create": { - "description": "Creates a resident SecurityHealthAnalyticsCustomModule at the scope of the given CRM parent, and also creates inherited SecurityHealthAnalyticsCustomModules for all CRM descendants of the given parent. These modules are enabled by default.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/securityHealthAnalyticsSettings/customModules", "httpMethod": "POST", "id": "securitycenter.organizations.securityHealthAnalyticsSettings.customModules.create", @@ -3190,7 +3009,6 @@ ], "parameters": { "parent": { - "description": "Required. Resource name of the new custom module's parent. Its format is `organizations/{organization}/securityHealthAnalyticsSettings`, `folders/{folder}/securityHealthAnalyticsSettings`, or `projects/{project}/securityHealthAnalyticsSettings`", "location": "path", "pattern": "^organizations/[^/]+/securityHealthAnalyticsSettings$", "required": true, @@ -3209,7 +3027,7 @@ ] }, "delete": { - "description": "Deletes the specified SecurityHealthAnalyticsCustomModule and all of its descendants in the CRM hierarchy. This method is only supported for resident custom modules.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/securityHealthAnalyticsSettings/customModules/{customModulesId}", "httpMethod": "DELETE", "id": "securitycenter.organizations.securityHealthAnalyticsSettings.customModules.delete", @@ -3218,7 +3036,6 @@ ], "parameters": { "name": { - "description": "Required. Name of the custom module to delete. Its format is `organizations/{organization}/securityHealthAnalyticsSettings/customModules/{customModule}`, `folders/{folder}/securityHealthAnalyticsSettings/customModules/{customModule}`, or `projects/{project}/securityHealthAnalyticsSettings/customModules/{customModule}`", "location": "path", "pattern": "^organizations/[^/]+/securityHealthAnalyticsSettings/customModules/[^/]+$", "required": true, @@ -3234,7 +3051,7 @@ ] }, "get": { - "description": "Retrieves a SecurityHealthAnalyticsCustomModule.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/securityHealthAnalyticsSettings/customModules/{customModulesId}", "httpMethod": "GET", "id": "securitycenter.organizations.securityHealthAnalyticsSettings.customModules.get", @@ -3243,7 +3060,6 @@ ], "parameters": { "name": { - "description": "Required. Name of the custom module to get. Its format is `organizations/{organization}/securityHealthAnalyticsSettings/customModules/{customModule}`, `folders/{folder}/securityHealthAnalyticsSettings/customModules/{customModule}`, or `projects/{project}/securityHealthAnalyticsSettings/customModules/{customModule}`", "location": "path", "pattern": "^organizations/[^/]+/securityHealthAnalyticsSettings/customModules/[^/]+$", "required": true, @@ -3259,7 +3075,7 @@ ] }, "list": { - "description": "Returns a list of all SecurityHealthAnalyticsCustomModules for the given parent. This includes resident modules defined at the scope of the parent, and inherited modules, inherited from CRM ancestors.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/securityHealthAnalyticsSettings/customModules", "httpMethod": "GET", "id": "securitycenter.organizations.securityHealthAnalyticsSettings.customModules.list", @@ -3268,18 +3084,15 @@ ], "parameters": { "pageSize": { - "description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "The value returned by the last call indicating a continuation", "location": "query", "type": "string" }, "parent": { - "description": "Required. Name of parent to list custom modules. Its format is `organizations/{organization}/securityHealthAnalyticsSettings`, `folders/{folder}/securityHealthAnalyticsSettings`, or `projects/{project}/securityHealthAnalyticsSettings`", "location": "path", "pattern": "^organizations/[^/]+/securityHealthAnalyticsSettings$", "required": true, @@ -3295,7 +3108,7 @@ ] }, "listDescendant": { - "description": "Returns a list of all resident SecurityHealthAnalyticsCustomModules under the given CRM parent and all of the parent’s CRM descendants.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/securityHealthAnalyticsSettings/customModules:listDescendant", "httpMethod": "GET", "id": "securitycenter.organizations.securityHealthAnalyticsSettings.customModules.listDescendant", @@ -3304,18 +3117,15 @@ ], "parameters": { "pageSize": { - "description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "The value returned by the last call indicating a continuation", "location": "query", "type": "string" }, "parent": { - "description": "Required. Name of parent to list descendant custom modules. Its format is `organizations/{organization}/securityHealthAnalyticsSettings`, `folders/{folder}/securityHealthAnalyticsSettings`, or `projects/{project}/securityHealthAnalyticsSettings`", "location": "path", "pattern": "^organizations/[^/]+/securityHealthAnalyticsSettings$", "required": true, @@ -3331,7 +3141,7 @@ ] }, "patch": { - "description": "Updates the SecurityHealthAnalyticsCustomModule under the given name based on the given update mask. Updating the enablement state is supported on both resident and inherited modules (though resident modules cannot have an enablement state of \"inherited\"). Updating the display name and custom config of a module is supported on resident modules only.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/securityHealthAnalyticsSettings/customModules/{customModulesId}", "httpMethod": "PATCH", "id": "securitycenter.organizations.securityHealthAnalyticsSettings.customModules.patch", @@ -3340,14 +3150,12 @@ ], "parameters": { "name": { - "description": "Immutable. The resource name of the custom module. Its format is \"organizations/{organization}/securityHealthAnalyticsSettings/customModules/{customModule}\", or \"folders/{folder}/securityHealthAnalyticsSettings/customModules/{customModule}\", or \"projects/{project}/securityHealthAnalyticsSettings/customModules/{customModule}\" The id {customModule} is server-generated and is not user settable. It will be a numeric id containing 1-20 digits.", "location": "path", "pattern": "^organizations/[^/]+/securityHealthAnalyticsSettings/customModules/[^/]+$", "required": true, "type": "string" }, "updateMask": { - "description": "The list of fields to be updated. The only fields that can be updated are `enablement_state` and `custom_config`. If empty or set to the wildcard value `*`, both `enablement_state` and `custom_config` are updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -3365,7 +3173,7 @@ ] }, "simulate": { - "description": "Simulates a given SecurityHealthAnalyticsCustomModule and Resource.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/securityHealthAnalyticsSettings/customModules:simulate", "httpMethod": "POST", "id": "securitycenter.organizations.securityHealthAnalyticsSettings.customModules.simulate", @@ -3374,7 +3182,6 @@ ], "parameters": { "parent": { - "description": "Required. The relative resource name of the organization, project, or folder. For more information about relative resource names, see [Relative Resource Name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) Example: `organizations/{organization_id}`", "location": "path", "pattern": "^organizations/[^/]+/securityHealthAnalyticsSettings$", "required": true, @@ -3397,7 +3204,7 @@ "effectiveCustomModules": { "methods": { "get": { - "description": "Retrieves an EffectiveSecurityHealthAnalyticsCustomModule.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/securityHealthAnalyticsSettings/effectiveCustomModules/{effectiveCustomModulesId}", "httpMethod": "GET", "id": "securitycenter.organizations.securityHealthAnalyticsSettings.effectiveCustomModules.get", @@ -3406,7 +3213,6 @@ ], "parameters": { "name": { - "description": "Required. Name of the effective custom module to get. Its format is `organizations/{organization}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}`, `folders/{folder}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}`, or `projects/{project}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}`", "location": "path", "pattern": "^organizations/[^/]+/securityHealthAnalyticsSettings/effectiveCustomModules/[^/]+$", "required": true, @@ -3422,7 +3228,7 @@ ] }, "list": { - "description": "Returns a list of all EffectiveSecurityHealthAnalyticsCustomModules for the given parent. This includes resident modules defined at the scope of the parent, and inherited modules, inherited from CRM ancestors.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/securityHealthAnalyticsSettings/effectiveCustomModules", "httpMethod": "GET", "id": "securitycenter.organizations.securityHealthAnalyticsSettings.effectiveCustomModules.list", @@ -3431,18 +3237,15 @@ ], "parameters": { "pageSize": { - "description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "The value returned by the last call indicating a continuation", "location": "query", "type": "string" }, "parent": { - "description": "Required. Name of parent to list effective custom modules. Its format is `organizations/{organization}/securityHealthAnalyticsSettings`, `folders/{folder}/securityHealthAnalyticsSettings`, or `projects/{project}/securityHealthAnalyticsSettings`", "location": "path", "pattern": "^organizations/[^/]+/securityHealthAnalyticsSettings$", "required": true, @@ -3464,7 +3267,7 @@ "simulations": { "methods": { "get": { - "description": "Get the simulation by name or the latest simulation for the given organization.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/simulations/{simulationsId}", "httpMethod": "GET", "id": "securitycenter.organizations.simulations.get", @@ -3473,7 +3276,6 @@ ], "parameters": { "name": { - "description": "Required. The organization name or simulation name of this simulation Valid format: `organizations/{organization}/simulations/latest` `organizations/{organization}/simulations/{simulation}`", "location": "path", "pattern": "^organizations/[^/]+/simulations/[^/]+$", "required": true, @@ -3495,7 +3297,7 @@ "attackPaths": { "methods": { "list": { - "description": "Lists the attack paths for a set of simulation results or valued resources and filter.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/simulations/{simulationsId}/attackExposureResults/{attackExposureResultsId}/attackPaths", "httpMethod": "GET", "id": "securitycenter.organizations.simulations.attackExposureResults.attackPaths.list", @@ -3504,23 +3306,19 @@ ], "parameters": { "filter": { - "description": "The filter expression that filters the attack path in the response. Supported fields: * `valued_resources` supports =", "location": "query", "type": "string" }, "pageSize": { - "description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "The value returned by the last `ListAttackPathsResponse`; indicates that this is a continuation of a prior `ListAttackPaths` call, and that the system should return the next page of data.", "location": "query", "type": "string" }, "parent": { - "description": "Required. Name of parent to list attack paths. Valid formats: `organizations/{organization}`, `organizations/{organization}/simulations/{simulation}` `organizations/{organization}/simulations/{simulation}/attackExposureResults/{attack_exposure_result_v2}` `organizations/{organization}/simulations/{simulation}/valuedResources/{valued_resource}`", "location": "path", "pattern": "^organizations/[^/]+/simulations/[^/]+/attackExposureResults/[^/]+$", "required": true, @@ -3540,7 +3338,7 @@ "valuedResources": { "methods": { "list": { - "description": "Lists the valued resources for a set of simulation results and filter.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/simulations/{simulationsId}/attackExposureResults/{attackExposureResultsId}/valuedResources", "httpMethod": "GET", "id": "securitycenter.organizations.simulations.attackExposureResults.valuedResources.list", @@ -3549,28 +3347,23 @@ ], "parameters": { "filter": { - "description": "The filter expression that filters the valued resources in the response. Supported fields: * `resource_value` supports = * `resource_type` supports =", "location": "query", "type": "string" }, "orderBy": { - "description": "Optional. The fields by which to order the valued resources response. Supported fields: * `exposed_score` * `resource_value` * `resource_type` * `resource` * `display_name` Values should be a comma separated list of fields. For example: `exposed_score,resource_value`. The default sorting order is descending. To specify ascending or descending order for a field, append a ` ASC` or a ` DESC` suffix, respectively; for example: `exposed_score DESC`.", "location": "query", "type": "string" }, "pageSize": { - "description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "The value returned by the last `ListValuedResourcesResponse`; indicates that this is a continuation of a prior `ListValuedResources` call, and that the system should return the next page of data.", "location": "query", "type": "string" }, "parent": { - "description": "Required. Name of parent to list valued resources. Valid formats: `organizations/{organization}`, `organizations/{organization}/simulations/{simulation}` `organizations/{organization}/simulations/{simulation}/attackExposureResults/{attack_exposure_result_v2}`", "location": "path", "pattern": "^organizations/[^/]+/simulations/[^/]+/attackExposureResults/[^/]+$", "required": true, @@ -3592,7 +3385,7 @@ "attackPaths": { "methods": { "list": { - "description": "Lists the attack paths for a set of simulation results or valued resources and filter.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/simulations/{simulationsId}/attackPaths", "httpMethod": "GET", "id": "securitycenter.organizations.simulations.attackPaths.list", @@ -3601,23 +3394,19 @@ ], "parameters": { "filter": { - "description": "The filter expression that filters the attack path in the response. Supported fields: * `valued_resources` supports =", "location": "query", "type": "string" }, "pageSize": { - "description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "The value returned by the last `ListAttackPathsResponse`; indicates that this is a continuation of a prior `ListAttackPaths` call, and that the system should return the next page of data.", "location": "query", "type": "string" }, "parent": { - "description": "Required. Name of parent to list attack paths. Valid formats: `organizations/{organization}`, `organizations/{organization}/simulations/{simulation}` `organizations/{organization}/simulations/{simulation}/attackExposureResults/{attack_exposure_result_v2}` `organizations/{organization}/simulations/{simulation}/valuedResources/{valued_resource}`", "location": "path", "pattern": "^organizations/[^/]+/simulations/[^/]+$", "required": true, @@ -3637,7 +3426,7 @@ "valuedResources": { "methods": { "get": { - "description": "Get the valued resource by name", + "description": "", "flatPath": "v1/organizations/{organizationsId}/simulations/{simulationsId}/valuedResources/{valuedResourcesId}", "httpMethod": "GET", "id": "securitycenter.organizations.simulations.valuedResources.get", @@ -3646,7 +3435,6 @@ ], "parameters": { "name": { - "description": "Required. The name of this valued resource Valid format: `organizations/{organization}/simulations/{simulation}/valuedResources/{valued_resource}`", "location": "path", "pattern": "^organizations/[^/]+/simulations/[^/]+/valuedResources/[^/]+$", "required": true, @@ -3662,7 +3450,7 @@ ] }, "list": { - "description": "Lists the valued resources for a set of simulation results and filter.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/simulations/{simulationsId}/valuedResources", "httpMethod": "GET", "id": "securitycenter.organizations.simulations.valuedResources.list", @@ -3671,28 +3459,23 @@ ], "parameters": { "filter": { - "description": "The filter expression that filters the valued resources in the response. Supported fields: * `resource_value` supports = * `resource_type` supports =", "location": "query", "type": "string" }, "orderBy": { - "description": "Optional. The fields by which to order the valued resources response. Supported fields: * `exposed_score` * `resource_value` * `resource_type` * `resource` * `display_name` Values should be a comma separated list of fields. For example: `exposed_score,resource_value`. The default sorting order is descending. To specify ascending or descending order for a field, append a ` ASC` or a ` DESC` suffix, respectively; for example: `exposed_score DESC`.", "location": "query", "type": "string" }, "pageSize": { - "description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "The value returned by the last `ListValuedResourcesResponse`; indicates that this is a continuation of a prior `ListValuedResources` call, and that the system should return the next page of data.", "location": "query", "type": "string" }, "parent": { - "description": "Required. Name of parent to list valued resources. Valid formats: `organizations/{organization}`, `organizations/{organization}/simulations/{simulation}` `organizations/{organization}/simulations/{simulation}/attackExposureResults/{attack_exposure_result_v2}`", "location": "path", "pattern": "^organizations/[^/]+/simulations/[^/]+$", "required": true, @@ -3712,7 +3495,7 @@ "attackPaths": { "methods": { "list": { - "description": "Lists the attack paths for a set of simulation results or valued resources and filter.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/simulations/{simulationsId}/valuedResources/{valuedResourcesId}/attackPaths", "httpMethod": "GET", "id": "securitycenter.organizations.simulations.valuedResources.attackPaths.list", @@ -3721,23 +3504,19 @@ ], "parameters": { "filter": { - "description": "The filter expression that filters the attack path in the response. Supported fields: * `valued_resources` supports =", "location": "query", "type": "string" }, "pageSize": { - "description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "The value returned by the last `ListAttackPathsResponse`; indicates that this is a continuation of a prior `ListAttackPaths` call, and that the system should return the next page of data.", "location": "query", "type": "string" }, "parent": { - "description": "Required. Name of parent to list attack paths. Valid formats: `organizations/{organization}`, `organizations/{organization}/simulations/{simulation}` `organizations/{organization}/simulations/{simulation}/attackExposureResults/{attack_exposure_result_v2}` `organizations/{organization}/simulations/{simulation}/valuedResources/{valued_resource}`", "location": "path", "pattern": "^organizations/[^/]+/simulations/[^/]+/valuedResources/[^/]+$", "required": true, @@ -3761,7 +3540,7 @@ "sources": { "methods": { "create": { - "description": "Creates a source.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/sources", "httpMethod": "POST", "id": "securitycenter.organizations.sources.create", @@ -3770,7 +3549,6 @@ ], "parameters": { "parent": { - "description": "Required. Resource name of the new source's parent. Its format should be `organizations/[organization_id]`.", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, @@ -3789,7 +3567,7 @@ ] }, "get": { - "description": "Gets a source.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/sources/{sourcesId}", "httpMethod": "GET", "id": "securitycenter.organizations.sources.get", @@ -3798,7 +3576,6 @@ ], "parameters": { "name": { - "description": "Required. Relative resource name of the source. Its format is `organizations/[organization_id]/source/[source_id]`.", "location": "path", "pattern": "^organizations/[^/]+/sources/[^/]+$", "required": true, @@ -3814,7 +3591,7 @@ ] }, "getIamPolicy": { - "description": "Gets the access control policy on the specified Source.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/sources/{sourcesId}:getIamPolicy", "httpMethod": "POST", "id": "securitycenter.organizations.sources.getIamPolicy", @@ -3823,7 +3600,6 @@ ], "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": "^organizations/[^/]+/sources/[^/]+$", "required": true, @@ -3842,7 +3618,7 @@ ] }, "list": { - "description": "Lists all sources belonging to an organization.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/sources", "httpMethod": "GET", "id": "securitycenter.organizations.sources.list", @@ -3851,18 +3627,15 @@ ], "parameters": { "pageSize": { - "description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "The value returned by the last `ListSourcesResponse`; indicates that this is a continuation of a prior `ListSources` call, and that the system should return the next page of data.", "location": "query", "type": "string" }, "parent": { - "description": "Required. Resource name of the parent of sources to list. Its format should be `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`.", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, @@ -3878,7 +3651,7 @@ ] }, "patch": { - "description": "Updates a source.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/sources/{sourcesId}", "httpMethod": "PATCH", "id": "securitycenter.organizations.sources.patch", @@ -3887,14 +3660,12 @@ ], "parameters": { "name": { - "description": "The relative resource name of this source. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: \"organizations/{organization_id}/sources/{source_id}\"", "location": "path", "pattern": "^organizations/[^/]+/sources/[^/]+$", "required": true, "type": "string" }, "updateMask": { - "description": "The FieldMask to use when updating the source resource. If empty all mutable fields will be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -3912,7 +3683,7 @@ ] }, "setIamPolicy": { - "description": "Sets the access control policy on the specified Source.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/sources/{sourcesId}:setIamPolicy", "httpMethod": "POST", "id": "securitycenter.organizations.sources.setIamPolicy", @@ -3921,7 +3692,6 @@ ], "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": "^organizations/[^/]+/sources/[^/]+$", "required": true, @@ -3940,7 +3710,7 @@ ] }, "testIamPermissions": { - "description": "Returns the permissions that a caller has on the specified source.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/sources/{sourcesId}:testIamPermissions", "httpMethod": "POST", "id": "securitycenter.organizations.sources.testIamPermissions", @@ -3949,7 +3719,6 @@ ], "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": "^organizations/[^/]+/sources/[^/]+$", "required": true, @@ -3972,7 +3741,7 @@ "findings": { "methods": { "create": { - "description": "Creates a finding. The corresponding source must exist for finding creation to succeed.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/sources/{sourcesId}/findings", "httpMethod": "POST", "id": "securitycenter.organizations.sources.findings.create", @@ -3981,12 +3750,10 @@ ], "parameters": { "findingId": { - "description": "Required. Unique identifier provided by the client within the parent scope. It must be alphanumeric and less than or equal to 32 characters and greater than 0 characters in length.", "location": "query", "type": "string" }, "parent": { - "description": "Required. Resource name of the new finding's parent. Its format should be `organizations/[organization_id]/sources/[source_id]`.", "location": "path", "pattern": "^organizations/[^/]+/sources/[^/]+$", "required": true, @@ -4005,7 +3772,7 @@ ] }, "group": { - "description": "Filters an organization or source's findings and groups them by their specified properties. To group across all sources provide a `-` as the source id. Example: /v1/organizations/{organization_id}/sources/-/findings, /v1/folders/{folder_id}/sources/-/findings, /v1/projects/{project_id}/sources/-/findings", + "description": "", "flatPath": "v1/organizations/{organizationsId}/sources/{sourcesId}/findings:group", "httpMethod": "POST", "id": "securitycenter.organizations.sources.findings.group", @@ -4014,7 +3781,6 @@ ], "parameters": { "parent": { - "description": "Required. Name of the source to groupBy. Its format is `organizations/[organization_id]/sources/[source_id]`, `folders/[folder_id]/sources/[source_id]`, or `projects/[project_id]/sources/[source_id]`. To groupBy across all sources provide a source_id of `-`. For example: `organizations/{organization_id}/sources/-, folders/{folder_id}/sources/-`, or `projects/{project_id}/sources/-`", "location": "path", "pattern": "^organizations/[^/]+/sources/[^/]+$", "required": true, @@ -4033,7 +3799,7 @@ ] }, "list": { - "description": "Lists an organization or source's findings. To list across all sources provide a `-` as the source id. Example: /v1/organizations/{organization_id}/sources/-/findings", + "description": "", "flatPath": "v1/organizations/{organizationsId}/sources/{sourcesId}/findings", "httpMethod": "GET", "id": "securitycenter.organizations.sources.findings.list", @@ -4043,40 +3809,33 @@ "parameters": { "compareDuration": { "deprecated": true, - "description": "When compare_duration is set, the ListFindingsResult's \"state_change\" attribute is updated to indicate whether the finding had its state changed, the finding's state remained unchanged, or if the finding was added in any state during the compare_duration period of time that precedes the read_time. This is the time between (read_time - compare_duration) and read_time. The state_change value is derived based on the presence and state of the finding at the two points in time. Intermediate state changes between the two times don't affect the result. For example, the results aren't affected if the finding is made inactive and then active again. Possible \"state_change\" values when compare_duration is specified: * \"CHANGED\": indicates that the finding was present and matched the given filter at the start of compare_duration, but changed its state at read_time. * \"UNCHANGED\": indicates that the finding was present and matched the given filter at the start of compare_duration and did not change state at read_time. * \"ADDED\": indicates that the finding did not match the given filter or was not present at the start of compare_duration, but was present at read_time. * \"REMOVED\": indicates that the finding was present and matched the filter at the start of compare_duration, but did not match the filter at read_time. If compare_duration is not specified, then the only possible state_change is \"UNUSED\", which will be the state_change set for all findings present at read_time.", "format": "google-duration", "location": "query", "type": "string" }, "fieldMask": { - "description": "A field mask to specify the Finding fields to be listed in the response. An empty field mask will list all fields.", "format": "google-fieldmask", "location": "query", "type": "string" }, "filter": { - "description": "Expression that defines the filter to apply across findings. The expression is a list of one or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. Examples include: * name * source_properties.a_property * security_marks.marks.marka The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. The following field and operator combinations are supported: * name: `=` * parent: `=`, `:` * resource_name: `=`, `:` * state: `=`, `:` * category: `=`, `:` * external_uri: `=`, `:` * event_time: `=`, `>`, `<`, `>=`, `<=` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `event_time = \"2019-06-10T16:07:18-07:00\"` `event_time = 1560208038000` * severity: `=`, `:` * workflow_state: `=`, `:` * security_marks.marks: `=`, `:` * source_properties: `=`, `:`, `>`, `<`, `>=`, `<=` For example, `source_properties.size = 100` is a valid filter string. Use a partial match on the empty string to filter based on a property existing: `source_properties.my_property : \"\"` Use a negated partial match on the empty string to filter based on a property not existing: `-source_properties.my_property : \"\"` * resource: * resource.name: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.type: `=`, `:` * resource.folders.resource_folder: `=`, `:` * resource.display_name: `=`, `:`", "location": "query", "type": "string" }, "orderBy": { - "description": "Expression that defines what fields and order to use for sorting. The string value should follow SQL syntax: comma separated list of fields. For example: \"name,resource_properties.a_property\". The default sorting order is ascending. To specify descending order for a field, a suffix \" desc\" should be appended to the field name. For example: \"name desc,source_properties.a_property\". Redundant space characters in the syntax are insignificant. \"name desc,source_properties.a_property\" and \" name desc , source_properties.a_property \" are equivalent. The following fields are supported: name parent state category resource_name event_time source_properties security_marks.marks", "location": "query", "type": "string" }, "pageSize": { - "description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "The value returned by the last `ListFindingsResponse`; indicates that this is a continuation of a prior `ListFindings` call, and that the system should return the next page of data.", "location": "query", "type": "string" }, "parent": { - "description": "Required. Name of the source the findings belong to. Its format is `organizations/[organization_id]/sources/[source_id]`, `folders/[folder_id]/sources/[source_id]`, or `projects/[project_id]/sources/[source_id]`. To list across all sources provide a source_id of `-`. For example: `organizations/{organization_id}/sources/-`, `folders/{folder_id}/sources/-` or `projects/{projects_id}/sources/-`", "location": "path", "pattern": "^organizations/[^/]+/sources/[^/]+$", "required": true, @@ -4084,7 +3843,6 @@ }, "readTime": { "deprecated": true, - "description": "Time used as a reference point when filtering findings. The filter is limited to findings existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW.", "format": "google-datetime", "location": "query", "type": "string" @@ -4099,7 +3857,7 @@ ] }, "patch": { - "description": "Creates or updates a finding. The corresponding source must exist for a finding creation to succeed.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/sources/{sourcesId}/findings/{findingsId}", "httpMethod": "PATCH", "id": "securitycenter.organizations.sources.findings.patch", @@ -4108,14 +3866,12 @@ ], "parameters": { "name": { - "description": "The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}\", \"folders/{folder_id}/sources/{source_id}/findings/{finding_id}\", \"projects/{project_id}/sources/{source_id}/findings/{finding_id}\".", "location": "path", "pattern": "^organizations/[^/]+/sources/[^/]+/findings/[^/]+$", "required": true, "type": "string" }, "updateMask": { - "description": "The FieldMask to use when updating the finding resource. This field should not be specified when creating a finding. When updating a finding, an empty mask is treated as updating all mutable fields and replacing source_properties. Individual source_properties can be added/updated by using \"source_properties.\" in the field mask.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -4133,7 +3889,7 @@ ] }, "setMute": { - "description": "Updates the mute state of a finding.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/sources/{sourcesId}/findings/{findingsId}:setMute", "httpMethod": "POST", "id": "securitycenter.organizations.sources.findings.setMute", @@ -4142,7 +3898,6 @@ ], "parameters": { "name": { - "description": "Required. The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: `organizations/{organization_id}/sources/{source_id}/findings/{finding_id}`, `folders/{folder_id}/sources/{source_id}/findings/{finding_id}`, `projects/{project_id}/sources/{source_id}/findings/{finding_id}`.", "location": "path", "pattern": "^organizations/[^/]+/sources/[^/]+/findings/[^/]+$", "required": true, @@ -4161,7 +3916,7 @@ ] }, "setState": { - "description": "Updates the state of a finding.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/sources/{sourcesId}/findings/{findingsId}:setState", "httpMethod": "POST", "id": "securitycenter.organizations.sources.findings.setState", @@ -4170,7 +3925,6 @@ ], "parameters": { "name": { - "description": "Required. The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: `organizations/{organization_id}/sources/{source_id}/findings/{finding_id}`, `folders/{folder_id}/sources/{source_id}/findings/{finding_id}`, `projects/{project_id}/sources/{source_id}/findings/{finding_id}`.", "location": "path", "pattern": "^organizations/[^/]+/sources/[^/]+/findings/[^/]+$", "required": true, @@ -4189,7 +3943,7 @@ ] }, "updateSecurityMarks": { - "description": "Updates security marks.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/sources/{sourcesId}/findings/{findingsId}/securityMarks", "httpMethod": "PATCH", "id": "securitycenter.organizations.sources.findings.updateSecurityMarks", @@ -4198,20 +3952,17 @@ ], "parameters": { "name": { - "description": "The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: \"organizations/{organization_id}/assets/{asset_id}/securityMarks\" \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks\".", "location": "path", "pattern": "^organizations/[^/]+/sources/[^/]+/findings/[^/]+/securityMarks$", "required": true, "type": "string" }, "startTime": { - "description": "The time at which the updated SecurityMarks take effect. If not set uses current server time. Updates will be applied to the SecurityMarks that are active immediately preceding this time. Must be earlier or equal to the server time.", "format": "google-datetime", "location": "query", "type": "string" }, "updateMask": { - "description": "The FieldMask to use when updating the security marks resource. The field mask must not contain duplicate fields. If empty or set to \"marks\", all marks will be replaced. Individual marks can be updated using \"marks.\".", "format": "google-fieldmask", "location": "query", "type": "string" @@ -4233,7 +3984,7 @@ "externalSystems": { "methods": { "patch": { - "description": "Updates external system. This is for a given finding.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/sources/{sourcesId}/findings/{findingsId}/externalSystems/{externalSystemsId}", "httpMethod": "PATCH", "id": "securitycenter.organizations.sources.findings.externalSystems.patch", @@ -4242,14 +3993,12 @@ ], "parameters": { "name": { - "description": "Full resource name of the external system, for example: \"organizations/1234/sources/5678/findings/123456/externalSystems/jira\", \"folders/1234/sources/5678/findings/123456/externalSystems/jira\", \"projects/1234/sources/5678/findings/123456/externalSystems/jira\"", "location": "path", "pattern": "^organizations/[^/]+/sources/[^/]+/findings/[^/]+/externalSystems/[^/]+$", "required": true, "type": "string" }, "updateMask": { - "description": "The FieldMask to use when updating the external system resource. If empty all mutable fields will be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -4275,7 +4024,7 @@ "valuedResources": { "methods": { "list": { - "description": "Lists the valued resources for a set of simulation results and filter.", + "description": "", "flatPath": "v1/organizations/{organizationsId}/valuedResources", "httpMethod": "GET", "id": "securitycenter.organizations.valuedResources.list", @@ -4284,28 +4033,23 @@ ], "parameters": { "filter": { - "description": "The filter expression that filters the valued resources in the response. Supported fields: * `resource_value` supports = * `resource_type` supports =", "location": "query", "type": "string" }, "orderBy": { - "description": "Optional. The fields by which to order the valued resources response. Supported fields: * `exposed_score` * `resource_value` * `resource_type` * `resource` * `display_name` Values should be a comma separated list of fields. For example: `exposed_score,resource_value`. The default sorting order is descending. To specify ascending or descending order for a field, append a ` ASC` or a ` DESC` suffix, respectively; for example: `exposed_score DESC`.", "location": "query", "type": "string" }, "pageSize": { - "description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "The value returned by the last `ListValuedResourcesResponse`; indicates that this is a continuation of a prior `ListValuedResources` call, and that the system should return the next page of data.", "location": "query", "type": "string" }, "parent": { - "description": "Required. Name of parent to list valued resources. Valid formats: `organizations/{organization}`, `organizations/{organization}/simulations/{simulation}` `organizations/{organization}/simulations/{simulation}/attackExposureResults/{attack_exposure_result_v2}`", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, @@ -4330,7 +4074,7 @@ "methods": { "group": { "deprecated": true, - "description": "Filters an organization's assets and groups them by their specified properties.", + "description": "", "flatPath": "v1/projects/{projectsId}/assets:group", "httpMethod": "POST", "id": "securitycenter.projects.assets.group", @@ -4339,7 +4083,6 @@ ], "parameters": { "parent": { - "description": "Required. The name of the parent to group the assets by. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`.", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -4359,7 +4102,7 @@ }, "list": { "deprecated": true, - "description": "Lists an organization's assets.", + "description": "", "flatPath": "v1/projects/{projectsId}/assets", "httpMethod": "GET", "id": "securitycenter.projects.assets.list", @@ -4368,47 +4111,39 @@ ], "parameters": { "compareDuration": { - "description": "When compare_duration is set, the ListAssetsResult's \"state_change\" attribute is updated to indicate whether the asset was added, removed, or remained present during the compare_duration period of time that precedes the read_time. This is the time between (read_time - compare_duration) and read_time. The state_change value is derived based on the presence of the asset at the two points in time. Intermediate state changes between the two times don't affect the result. For example, the results aren't affected if the asset is removed and re-created again. Possible \"state_change\" values when compare_duration is specified: * \"ADDED\": indicates that the asset was not present at the start of compare_duration, but present at read_time. * \"REMOVED\": indicates that the asset was present at the start of compare_duration, but not present at read_time. * \"ACTIVE\": indicates that the asset was present at both the start and the end of the time period defined by compare_duration and read_time. If compare_duration is not specified, then the only possible state_change is \"UNUSED\", which will be the state_change set for all assets present at read_time.", "format": "google-duration", "location": "query", "type": "string" }, "fieldMask": { - "description": "A field mask to specify the ListAssetsResult fields to be listed in the response. An empty field mask will list all fields.", "format": "google-fieldmask", "location": "query", "type": "string" }, "filter": { - "description": "Expression that defines the filter to apply across assets. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the Asset resource. Examples include: * name * security_center_properties.resource_name * resource_properties.a_property * security_marks.marks.marka The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. The following are the allowed field and operator combinations: * name: `=` * update_time: `=`, `>`, `<`, `>=`, `<=` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `update_time = \"2019-06-10T16:07:18-07:00\"` `update_time = 1560208038000` * create_time: `=`, `>`, `<`, `>=`, `<=` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `create_time = \"2019-06-10T16:07:18-07:00\"` `create_time = 1560208038000` * iam_policy.policy_blob: `=`, `:` * resource_properties: `=`, `:`, `>`, `<`, `>=`, `<=` * security_marks.marks: `=`, `:` * security_center_properties.resource_name: `=`, `:` * security_center_properties.resource_display_name: `=`, `:` * security_center_properties.resource_type: `=`, `:` * security_center_properties.resource_parent: `=`, `:` * security_center_properties.resource_parent_display_name: `=`, `:` * security_center_properties.resource_project: `=`, `:` * security_center_properties.resource_project_display_name: `=`, `:` * security_center_properties.resource_owners: `=`, `:` For example, `resource_properties.size = 100` is a valid filter string. Use a partial match on the empty string to filter based on a property existing: `resource_properties.my_property : \"\"` Use a negated partial match on the empty string to filter based on a property not existing: `-resource_properties.my_property : \"\"`", "location": "query", "type": "string" }, "orderBy": { - "description": "Expression that defines what fields and order to use for sorting. The string value should follow SQL syntax: comma separated list of fields. For example: \"name,resource_properties.a_property\". The default sorting order is ascending. To specify descending order for a field, a suffix \" desc\" should be appended to the field name. For example: \"name desc,resource_properties.a_property\". Redundant space characters in the syntax are insignificant. \"name desc,resource_properties.a_property\" and \" name desc , resource_properties.a_property \" are equivalent. The following fields are supported: name update_time resource_properties security_marks.marks security_center_properties.resource_name security_center_properties.resource_display_name security_center_properties.resource_parent security_center_properties.resource_parent_display_name security_center_properties.resource_project security_center_properties.resource_project_display_name security_center_properties.resource_type", "location": "query", "type": "string" }, "pageSize": { - "description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "The value returned by the last `ListAssetsResponse`; indicates that this is a continuation of a prior `ListAssets` call, and that the system should return the next page of data.", "location": "query", "type": "string" }, "parent": { - "description": "Required. The name of the parent resource that contains the assets. The value that you can specify on parent depends on the method in which you specify parent. You can specify one of the following values: `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`.", "location": "path", "pattern": "^projects/[^/]+$", "required": true, "type": "string" }, "readTime": { - "description": "Time used as a reference point when filtering assets. The filter is limited to assets existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW.", "format": "google-datetime", "location": "query", "type": "string" @@ -4423,7 +4158,7 @@ ] }, "updateSecurityMarks": { - "description": "Updates security marks.", + "description": "", "flatPath": "v1/projects/{projectsId}/assets/{assetsId}/securityMarks", "httpMethod": "PATCH", "id": "securitycenter.projects.assets.updateSecurityMarks", @@ -4432,20 +4167,17 @@ ], "parameters": { "name": { - "description": "The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: \"organizations/{organization_id}/assets/{asset_id}/securityMarks\" \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks\".", "location": "path", "pattern": "^projects/[^/]+/assets/[^/]+/securityMarks$", "required": true, "type": "string" }, "startTime": { - "description": "The time at which the updated SecurityMarks take effect. If not set uses current server time. Updates will be applied to the SecurityMarks that are active immediately preceding this time. Must be earlier or equal to the server time.", "format": "google-datetime", "location": "query", "type": "string" }, "updateMask": { - "description": "The FieldMask to use when updating the security marks resource. The field mask must not contain duplicate fields. If empty or set to \"marks\", all marks will be replaced. Individual marks can be updated using \"marks.\".", "format": "google-fieldmask", "location": "query", "type": "string" @@ -4467,7 +4199,7 @@ "bigQueryExports": { "methods": { "create": { - "description": "Creates a BigQuery export.", + "description": "", "flatPath": "v1/projects/{projectsId}/bigQueryExports", "httpMethod": "POST", "id": "securitycenter.projects.bigQueryExports.create", @@ -4476,12 +4208,10 @@ ], "parameters": { "bigQueryExportId": { - "description": "Required. Unique identifier provided by the client within the parent scope. It must consist of only lowercase letters, numbers, and hyphens, must start with a letter, must end with either a letter or a number, and must be 63 characters or less.", "location": "query", "type": "string" }, "parent": { - "description": "Required. The name of the parent resource of the new BigQuery export. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`.", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -4500,7 +4230,7 @@ ] }, "delete": { - "description": "Deletes an existing BigQuery export.", + "description": "", "flatPath": "v1/projects/{projectsId}/bigQueryExports/{bigQueryExportsId}", "httpMethod": "DELETE", "id": "securitycenter.projects.bigQueryExports.delete", @@ -4509,7 +4239,6 @@ ], "parameters": { "name": { - "description": "Required. The name of the BigQuery export to delete. Its format is `organizations/{organization}/bigQueryExports/{export_id}`, `folders/{folder}/bigQueryExports/{export_id}`, or `projects/{project}/bigQueryExports/{export_id}`", "location": "path", "pattern": "^projects/[^/]+/bigQueryExports/[^/]+$", "required": true, @@ -4525,7 +4254,7 @@ ] }, "get": { - "description": "Gets a BigQuery export.", + "description": "", "flatPath": "v1/projects/{projectsId}/bigQueryExports/{bigQueryExportsId}", "httpMethod": "GET", "id": "securitycenter.projects.bigQueryExports.get", @@ -4534,7 +4263,6 @@ ], "parameters": { "name": { - "description": "Required. Name of the BigQuery export to retrieve. Its format is `organizations/{organization}/bigQueryExports/{export_id}`, `folders/{folder}/bigQueryExports/{export_id}`, or `projects/{project}/bigQueryExports/{export_id}`", "location": "path", "pattern": "^projects/[^/]+/bigQueryExports/[^/]+$", "required": true, @@ -4550,7 +4278,7 @@ ] }, "list": { - "description": "Lists BigQuery exports. Note that when requesting BigQuery exports at a given level all exports under that level are also returned e.g. if requesting BigQuery exports under a folder, then all BigQuery exports immediately under the folder plus the ones created under the projects within the folder are returned.", + "description": "", "flatPath": "v1/projects/{projectsId}/bigQueryExports", "httpMethod": "GET", "id": "securitycenter.projects.bigQueryExports.list", @@ -4559,18 +4287,15 @@ ], "parameters": { "pageSize": { - "description": "The maximum number of configs to return. The service may return fewer than this value. If unspecified, at most 10 configs 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 `ListBigQueryExports` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListBigQueryExports` must match the call that provided the page token.", "location": "query", "type": "string" }, "parent": { - "description": "Required. The parent, which owns the collection of BigQuery exports. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, `projects/[project_id]`.", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -4586,7 +4311,7 @@ ] }, "patch": { - "description": "Updates a BigQuery export.", + "description": "", "flatPath": "v1/projects/{projectsId}/bigQueryExports/{bigQueryExportsId}", "httpMethod": "PATCH", "id": "securitycenter.projects.bigQueryExports.patch", @@ -4595,14 +4320,12 @@ ], "parameters": { "name": { - "description": "The relative resource name of this export. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name. Example format: \"organizations/{organization_id}/bigQueryExports/{export_id}\" Example format: \"folders/{folder_id}/bigQueryExports/{export_id}\" Example format: \"projects/{project_id}/bigQueryExports/{export_id}\" This field is provided in responses, and is ignored when provided in create requests.", "location": "path", "pattern": "^projects/[^/]+/bigQueryExports/[^/]+$", "required": true, "type": "string" }, "updateMask": { - "description": "The list of fields to be updated. If empty all mutable fields will be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -4624,7 +4347,7 @@ "eventThreatDetectionSettings": { "methods": { "validateCustomModule": { - "description": "Validates the given Event Threat Detection custom module.", + "description": "", "flatPath": "v1/projects/{projectsId}/eventThreatDetectionSettings:validateCustomModule", "httpMethod": "POST", "id": "securitycenter.projects.eventThreatDetectionSettings.validateCustomModule", @@ -4633,7 +4356,6 @@ ], "parameters": { "parent": { - "description": "Required. Resource name of the parent to validate the Custom Module under. Its format is: * `organizations/{organization}/eventThreatDetectionSettings`. * `folders/{folder}/eventThreatDetectionSettings`. * `projects/{project}/eventThreatDetectionSettings`.", "location": "path", "pattern": "^projects/[^/]+/eventThreatDetectionSettings$", "required": true, @@ -4656,7 +4378,7 @@ "customModules": { "methods": { "create": { - "description": "Creates a resident Event Threat Detection custom module at the scope of the given Resource Manager parent, and also creates inherited custom modules for all descendants of the given parent. These modules are enabled by default.", + "description": "", "flatPath": "v1/projects/{projectsId}/eventThreatDetectionSettings/customModules", "httpMethod": "POST", "id": "securitycenter.projects.eventThreatDetectionSettings.customModules.create", @@ -4665,7 +4387,6 @@ ], "parameters": { "parent": { - "description": "Required. The new custom module's parent. Its format is: * `organizations/{organization}/eventThreatDetectionSettings`. * `folders/{folder}/eventThreatDetectionSettings`. * `projects/{project}/eventThreatDetectionSettings`.", "location": "path", "pattern": "^projects/[^/]+/eventThreatDetectionSettings$", "required": true, @@ -4684,7 +4405,7 @@ ] }, "delete": { - "description": "Deletes the specified Event Threat Detection custom module and all of its descendants in the Resource Manager hierarchy. This method is only supported for resident custom modules.", + "description": "", "flatPath": "v1/projects/{projectsId}/eventThreatDetectionSettings/customModules/{customModulesId}", "httpMethod": "DELETE", "id": "securitycenter.projects.eventThreatDetectionSettings.customModules.delete", @@ -4693,7 +4414,6 @@ ], "parameters": { "name": { - "description": "Required. Name of the custom module to delete. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/customModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/customModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/customModules/{module}`.", "location": "path", "pattern": "^projects/[^/]+/eventThreatDetectionSettings/customModules/[^/]+$", "required": true, @@ -4709,7 +4429,7 @@ ] }, "get": { - "description": "Gets an Event Threat Detection custom module.", + "description": "", "flatPath": "v1/projects/{projectsId}/eventThreatDetectionSettings/customModules/{customModulesId}", "httpMethod": "GET", "id": "securitycenter.projects.eventThreatDetectionSettings.customModules.get", @@ -4718,7 +4438,6 @@ ], "parameters": { "name": { - "description": "Required. Name of the custom module to get. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/customModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/customModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/customModules/{module}`.", "location": "path", "pattern": "^projects/[^/]+/eventThreatDetectionSettings/customModules/[^/]+$", "required": true, @@ -4734,7 +4453,7 @@ ] }, "list": { - "description": "Lists all Event Threat Detection custom modules for the given Resource Manager parent. This includes resident modules defined at the scope of the parent along with modules inherited from ancestors.", + "description": "", "flatPath": "v1/projects/{projectsId}/eventThreatDetectionSettings/customModules", "httpMethod": "GET", "id": "securitycenter.projects.eventThreatDetectionSettings.customModules.list", @@ -4743,18 +4462,15 @@ ], "parameters": { "pageSize": { - "description": "The maximum number of modules to return. The service may return fewer than this value. If unspecified, at most 10 configs 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 `ListEventThreatDetectionCustomModules` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListEventThreatDetectionCustomModules` must match the call that provided the page token.", "location": "query", "type": "string" }, "parent": { - "description": "Required. Name of the parent to list custom modules under. Its format is: * `organizations/{organization}/eventThreatDetectionSettings`. * `folders/{folder}/eventThreatDetectionSettings`. * `projects/{project}/eventThreatDetectionSettings`.", "location": "path", "pattern": "^projects/[^/]+/eventThreatDetectionSettings$", "required": true, @@ -4770,7 +4486,7 @@ ] }, "listDescendant": { - "description": "Lists all resident Event Threat Detection custom modules under the given Resource Manager parent and its descendants.", + "description": "", "flatPath": "v1/projects/{projectsId}/eventThreatDetectionSettings/customModules:listDescendant", "httpMethod": "GET", "id": "securitycenter.projects.eventThreatDetectionSettings.customModules.listDescendant", @@ -4779,18 +4495,15 @@ ], "parameters": { "pageSize": { - "description": "The maximum number of modules to return. The service may return fewer than this value. If unspecified, at most 10 configs 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 `ListDescendantEventThreatDetectionCustomModules` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListDescendantEventThreatDetectionCustomModules` must match the call that provided the page token.", "location": "query", "type": "string" }, "parent": { - "description": "Required. Name of the parent to list custom modules under. Its format is: * `organizations/{organization}/eventThreatDetectionSettings`. * `folders/{folder}/eventThreatDetectionSettings`. * `projects/{project}/eventThreatDetectionSettings`.", "location": "path", "pattern": "^projects/[^/]+/eventThreatDetectionSettings$", "required": true, @@ -4806,7 +4519,7 @@ ] }, "patch": { - "description": "Updates the Event Threat Detection custom module with the given name based on the given update mask. Updating the enablement state is supported for both resident and inherited modules (though resident modules cannot have an enablement state of \"inherited\"). Updating the display name or configuration of a module is supported for resident modules only. The type of a module cannot be changed.", + "description": "", "flatPath": "v1/projects/{projectsId}/eventThreatDetectionSettings/customModules/{customModulesId}", "httpMethod": "PATCH", "id": "securitycenter.projects.eventThreatDetectionSettings.customModules.patch", @@ -4815,14 +4528,12 @@ ], "parameters": { "name": { - "description": "Immutable. The resource name of the Event Threat Detection custom module. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/customModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/customModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/customModules/{module}`.", "location": "path", "pattern": "^projects/[^/]+/eventThreatDetectionSettings/customModules/[^/]+$", "required": true, "type": "string" }, "updateMask": { - "description": "The list of fields to be updated. If empty all mutable fields will be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -4844,7 +4555,7 @@ "effectiveCustomModules": { "methods": { "get": { - "description": "Gets an effective Event Threat Detection custom module at the given level.", + "description": "", "flatPath": "v1/projects/{projectsId}/eventThreatDetectionSettings/effectiveCustomModules/{effectiveCustomModulesId}", "httpMethod": "GET", "id": "securitycenter.projects.eventThreatDetectionSettings.effectiveCustomModules.get", @@ -4853,7 +4564,6 @@ ], "parameters": { "name": { - "description": "Required. The resource name of the effective Event Threat Detection custom module. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/effectiveCustomModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/effectiveCustomModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/effectiveCustomModules/{module}`.", "location": "path", "pattern": "^projects/[^/]+/eventThreatDetectionSettings/effectiveCustomModules/[^/]+$", "required": true, @@ -4869,7 +4579,7 @@ ] }, "list": { - "description": "Lists all effective Event Threat Detection custom modules for the given parent. This includes resident modules defined at the scope of the parent along with modules inherited from its ancestors.", + "description": "", "flatPath": "v1/projects/{projectsId}/eventThreatDetectionSettings/effectiveCustomModules", "httpMethod": "GET", "id": "securitycenter.projects.eventThreatDetectionSettings.effectiveCustomModules.list", @@ -4878,18 +4588,15 @@ ], "parameters": { "pageSize": { - "description": "The maximum number of modules to return. The service may return fewer than this value. If unspecified, at most 10 configs 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 `ListEffectiveEventThreatDetectionCustomModules` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListEffectiveEventThreatDetectionCustomModules` must match the call that provided the page token.", "location": "query", "type": "string" }, "parent": { - "description": "Required. Name of the parent to list custom modules for. Its format is: * `organizations/{organization}/eventThreatDetectionSettings`. * `folders/{folder}/eventThreatDetectionSettings`. * `projects/{project}/eventThreatDetectionSettings`.", "location": "path", "pattern": "^projects/[^/]+/eventThreatDetectionSettings$", "required": true, @@ -4911,7 +4618,7 @@ "findings": { "methods": { "bulkMute": { - "description": "Kicks off an LRO to bulk mute findings for a parent based on a filter. The parent can be either an organization, folder or project. The findings matched by the filter will be muted after the LRO is done.", + "description": "", "flatPath": "v1/projects/{projectsId}/findings:bulkMute", "httpMethod": "POST", "id": "securitycenter.projects.findings.bulkMute", @@ -4920,7 +4627,6 @@ ], "parameters": { "parent": { - "description": "Required. The parent, at which bulk action needs to be applied. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, `projects/[project_id]`.", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -4945,7 +4651,7 @@ "muteConfigs": { "methods": { "delete": { - "description": "Deletes an existing mute config.", + "description": "", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/muteConfigs/{muteConfigsId}", "httpMethod": "DELETE", "id": "securitycenter.projects.locations.muteConfigs.delete", @@ -4954,7 +4660,6 @@ ], "parameters": { "name": { - "description": "Required. Name of the mute config to delete. Its format is `organizations/{organization}/muteConfigs/{config_id}`, `folders/{folder}/muteConfigs/{config_id}`, `projects/{project}/muteConfigs/{config_id}`, `organizations/{organization}/locations/global/muteConfigs/{config_id}`, `folders/{folder}/locations/global/muteConfigs/{config_id}`, or `projects/{project}/locations/global/muteConfigs/{config_id}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/muteConfigs/[^/]+$", "required": true, @@ -4970,7 +4675,7 @@ ] }, "get": { - "description": "Gets a mute config.", + "description": "", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/muteConfigs/{muteConfigsId}", "httpMethod": "GET", "id": "securitycenter.projects.locations.muteConfigs.get", @@ -4979,7 +4684,6 @@ ], "parameters": { "name": { - "description": "Required. Name of the mute config to retrieve. Its format is `organizations/{organization}/muteConfigs/{config_id}`, `folders/{folder}/muteConfigs/{config_id}`, `projects/{project}/muteConfigs/{config_id}`, `organizations/{organization}/locations/global/muteConfigs/{config_id}`, `folders/{folder}/locations/global/muteConfigs/{config_id}`, or `projects/{project}/locations/global/muteConfigs/{config_id}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/muteConfigs/[^/]+$", "required": true, @@ -4995,7 +4699,7 @@ ] }, "patch": { - "description": "Updates a mute config.", + "description": "", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/muteConfigs/{muteConfigsId}", "httpMethod": "PATCH", "id": "securitycenter.projects.locations.muteConfigs.patch", @@ -5004,14 +4708,12 @@ ], "parameters": { "name": { - "description": "This field will be ignored if provided on config creation. Format `organizations/{organization}/muteConfigs/{mute_config}` `folders/{folder}/muteConfigs/{mute_config}` `projects/{project}/muteConfigs/{mute_config}` `organizations/{organization}/locations/global/muteConfigs/{mute_config}` `folders/{folder}/locations/global/muteConfigs/{mute_config}` `projects/{project}/locations/global/muteConfigs/{mute_config}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/muteConfigs/[^/]+$", "required": true, "type": "string" }, "updateMask": { - "description": "The list of fields to be updated. If empty all mutable fields will be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -5035,7 +4737,7 @@ "muteConfigs": { "methods": { "create": { - "description": "Creates a mute config.", + "description": "", "flatPath": "v1/projects/{projectsId}/muteConfigs", "httpMethod": "POST", "id": "securitycenter.projects.muteConfigs.create", @@ -5044,12 +4746,10 @@ ], "parameters": { "muteConfigId": { - "description": "Required. Unique identifier provided by the client within the parent scope. It must consist of only lowercase letters, numbers, and hyphens, must start with a letter, must end with either a letter or a number, and must be 63 characters or less.", "location": "query", "type": "string" }, "parent": { - "description": "Required. Resource name of the new mute configs's parent. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`.", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -5068,7 +4768,7 @@ ] }, "delete": { - "description": "Deletes an existing mute config.", + "description": "", "flatPath": "v1/projects/{projectsId}/muteConfigs/{muteConfigsId}", "httpMethod": "DELETE", "id": "securitycenter.projects.muteConfigs.delete", @@ -5077,7 +4777,6 @@ ], "parameters": { "name": { - "description": "Required. Name of the mute config to delete. Its format is `organizations/{organization}/muteConfigs/{config_id}`, `folders/{folder}/muteConfigs/{config_id}`, `projects/{project}/muteConfigs/{config_id}`, `organizations/{organization}/locations/global/muteConfigs/{config_id}`, `folders/{folder}/locations/global/muteConfigs/{config_id}`, or `projects/{project}/locations/global/muteConfigs/{config_id}`.", "location": "path", "pattern": "^projects/[^/]+/muteConfigs/[^/]+$", "required": true, @@ -5093,7 +4792,7 @@ ] }, "get": { - "description": "Gets a mute config.", + "description": "", "flatPath": "v1/projects/{projectsId}/muteConfigs/{muteConfigsId}", "httpMethod": "GET", "id": "securitycenter.projects.muteConfigs.get", @@ -5102,7 +4801,6 @@ ], "parameters": { "name": { - "description": "Required. Name of the mute config to retrieve. Its format is `organizations/{organization}/muteConfigs/{config_id}`, `folders/{folder}/muteConfigs/{config_id}`, `projects/{project}/muteConfigs/{config_id}`, `organizations/{organization}/locations/global/muteConfigs/{config_id}`, `folders/{folder}/locations/global/muteConfigs/{config_id}`, or `projects/{project}/locations/global/muteConfigs/{config_id}`.", "location": "path", "pattern": "^projects/[^/]+/muteConfigs/[^/]+$", "required": true, @@ -5118,7 +4816,7 @@ ] }, "list": { - "description": "Lists mute configs.", + "description": "", "flatPath": "v1/projects/{projectsId}/muteConfigs", "httpMethod": "GET", "id": "securitycenter.projects.muteConfigs.list", @@ -5127,18 +4825,15 @@ ], "parameters": { "pageSize": { - "description": "The maximum number of configs to return. The service may return fewer than this value. If unspecified, at most 10 configs 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 `ListMuteConfigs` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListMuteConfigs` must match the call that provided the page token.", "location": "query", "type": "string" }, "parent": { - "description": "Required. The parent, which owns the collection of mute configs. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, `projects/[project_id]`.", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -5154,7 +4849,7 @@ ] }, "patch": { - "description": "Updates a mute config.", + "description": "", "flatPath": "v1/projects/{projectsId}/muteConfigs/{muteConfigsId}", "httpMethod": "PATCH", "id": "securitycenter.projects.muteConfigs.patch", @@ -5163,14 +4858,12 @@ ], "parameters": { "name": { - "description": "This field will be ignored if provided on config creation. Format `organizations/{organization}/muteConfigs/{mute_config}` `folders/{folder}/muteConfigs/{mute_config}` `projects/{project}/muteConfigs/{mute_config}` `organizations/{organization}/locations/global/muteConfigs/{mute_config}` `folders/{folder}/locations/global/muteConfigs/{mute_config}` `projects/{project}/locations/global/muteConfigs/{mute_config}`", "location": "path", "pattern": "^projects/[^/]+/muteConfigs/[^/]+$", "required": true, "type": "string" }, "updateMask": { - "description": "The list of fields to be updated. If empty all mutable fields will be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -5192,7 +4885,7 @@ "notificationConfigs": { "methods": { "create": { - "description": "Creates a notification config.", + "description": "", "flatPath": "v1/projects/{projectsId}/notificationConfigs", "httpMethod": "POST", "id": "securitycenter.projects.notificationConfigs.create", @@ -5201,12 +4894,10 @@ ], "parameters": { "configId": { - "description": "Required. Unique identifier provided by the client within the parent scope. It must be between 1 and 128 characters and contain alphanumeric characters, underscores, or hyphens only.", "location": "query", "type": "string" }, "parent": { - "description": "Required. Resource name of the new notification config's parent. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`.", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -5225,7 +4916,7 @@ ] }, "delete": { - "description": "Deletes a notification config.", + "description": "", "flatPath": "v1/projects/{projectsId}/notificationConfigs/{notificationConfigsId}", "httpMethod": "DELETE", "id": "securitycenter.projects.notificationConfigs.delete", @@ -5234,7 +4925,6 @@ ], "parameters": { "name": { - "description": "Required. Name of the notification config to delete. Its format is `organizations/[organization_id]/notificationConfigs/[config_id]`, `folders/[folder_id]/notificationConfigs/[config_id]`, or `projects/[project_id]/notificationConfigs/[config_id]`.", "location": "path", "pattern": "^projects/[^/]+/notificationConfigs/[^/]+$", "required": true, @@ -5250,7 +4940,7 @@ ] }, "get": { - "description": "Gets a notification config.", + "description": "", "flatPath": "v1/projects/{projectsId}/notificationConfigs/{notificationConfigsId}", "httpMethod": "GET", "id": "securitycenter.projects.notificationConfigs.get", @@ -5259,7 +4949,6 @@ ], "parameters": { "name": { - "description": "Required. Name of the notification config to get. Its format is `organizations/[organization_id]/notificationConfigs/[config_id]`, `folders/[folder_id]/notificationConfigs/[config_id]`, or `projects/[project_id]/notificationConfigs/[config_id]`.", "location": "path", "pattern": "^projects/[^/]+/notificationConfigs/[^/]+$", "required": true, @@ -5275,7 +4964,7 @@ ] }, "list": { - "description": "Lists notification configs.", + "description": "", "flatPath": "v1/projects/{projectsId}/notificationConfigs", "httpMethod": "GET", "id": "securitycenter.projects.notificationConfigs.list", @@ -5284,18 +4973,15 @@ ], "parameters": { "pageSize": { - "description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "The value returned by the last `ListNotificationConfigsResponse`; indicates that this is a continuation of a prior `ListNotificationConfigs` call, and that the system should return the next page of data.", "location": "query", "type": "string" }, "parent": { - "description": "Required. The name of the parent in which to list the notification configurations. Its format is \"organizations/[organization_id]\", \"folders/[folder_id]\", or \"projects/[project_id]\".", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -5311,7 +4997,7 @@ ] }, "patch": { - "description": " Updates a notification config. The following update fields are allowed: description, pubsub_topic, streaming_config.filter", + "description": "", "flatPath": "v1/projects/{projectsId}/notificationConfigs/{notificationConfigsId}", "httpMethod": "PATCH", "id": "securitycenter.projects.notificationConfigs.patch", @@ -5320,14 +5006,12 @@ ], "parameters": { "name": { - "description": "The relative resource name of this notification config. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: \"organizations/{organization_id}/notificationConfigs/notify_public_bucket\", \"folders/{folder_id}/notificationConfigs/notify_public_bucket\", or \"projects/{project_id}/notificationConfigs/notify_public_bucket\".", "location": "path", "pattern": "^projects/[^/]+/notificationConfigs/[^/]+$", "required": true, "type": "string" }, "updateMask": { - "description": "The FieldMask to use when updating the notification config. If empty all mutable fields will be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -5351,7 +5035,7 @@ "customModules": { "methods": { "create": { - "description": "Creates a resident SecurityHealthAnalyticsCustomModule at the scope of the given CRM parent, and also creates inherited SecurityHealthAnalyticsCustomModules for all CRM descendants of the given parent. These modules are enabled by default.", + "description": "", "flatPath": "v1/projects/{projectsId}/securityHealthAnalyticsSettings/customModules", "httpMethod": "POST", "id": "securitycenter.projects.securityHealthAnalyticsSettings.customModules.create", @@ -5360,7 +5044,6 @@ ], "parameters": { "parent": { - "description": "Required. Resource name of the new custom module's parent. Its format is `organizations/{organization}/securityHealthAnalyticsSettings`, `folders/{folder}/securityHealthAnalyticsSettings`, or `projects/{project}/securityHealthAnalyticsSettings`", "location": "path", "pattern": "^projects/[^/]+/securityHealthAnalyticsSettings$", "required": true, @@ -5379,7 +5062,7 @@ ] }, "delete": { - "description": "Deletes the specified SecurityHealthAnalyticsCustomModule and all of its descendants in the CRM hierarchy. This method is only supported for resident custom modules.", + "description": "", "flatPath": "v1/projects/{projectsId}/securityHealthAnalyticsSettings/customModules/{customModulesId}", "httpMethod": "DELETE", "id": "securitycenter.projects.securityHealthAnalyticsSettings.customModules.delete", @@ -5388,7 +5071,6 @@ ], "parameters": { "name": { - "description": "Required. Name of the custom module to delete. Its format is `organizations/{organization}/securityHealthAnalyticsSettings/customModules/{customModule}`, `folders/{folder}/securityHealthAnalyticsSettings/customModules/{customModule}`, or `projects/{project}/securityHealthAnalyticsSettings/customModules/{customModule}`", "location": "path", "pattern": "^projects/[^/]+/securityHealthAnalyticsSettings/customModules/[^/]+$", "required": true, @@ -5404,7 +5086,7 @@ ] }, "get": { - "description": "Retrieves a SecurityHealthAnalyticsCustomModule.", + "description": "", "flatPath": "v1/projects/{projectsId}/securityHealthAnalyticsSettings/customModules/{customModulesId}", "httpMethod": "GET", "id": "securitycenter.projects.securityHealthAnalyticsSettings.customModules.get", @@ -5413,7 +5095,6 @@ ], "parameters": { "name": { - "description": "Required. Name of the custom module to get. Its format is `organizations/{organization}/securityHealthAnalyticsSettings/customModules/{customModule}`, `folders/{folder}/securityHealthAnalyticsSettings/customModules/{customModule}`, or `projects/{project}/securityHealthAnalyticsSettings/customModules/{customModule}`", "location": "path", "pattern": "^projects/[^/]+/securityHealthAnalyticsSettings/customModules/[^/]+$", "required": true, @@ -5429,7 +5110,7 @@ ] }, "list": { - "description": "Returns a list of all SecurityHealthAnalyticsCustomModules for the given parent. This includes resident modules defined at the scope of the parent, and inherited modules, inherited from CRM ancestors.", + "description": "", "flatPath": "v1/projects/{projectsId}/securityHealthAnalyticsSettings/customModules", "httpMethod": "GET", "id": "securitycenter.projects.securityHealthAnalyticsSettings.customModules.list", @@ -5438,18 +5119,15 @@ ], "parameters": { "pageSize": { - "description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "The value returned by the last call indicating a continuation", "location": "query", "type": "string" }, "parent": { - "description": "Required. Name of parent to list custom modules. Its format is `organizations/{organization}/securityHealthAnalyticsSettings`, `folders/{folder}/securityHealthAnalyticsSettings`, or `projects/{project}/securityHealthAnalyticsSettings`", "location": "path", "pattern": "^projects/[^/]+/securityHealthAnalyticsSettings$", "required": true, @@ -5465,7 +5143,7 @@ ] }, "listDescendant": { - "description": "Returns a list of all resident SecurityHealthAnalyticsCustomModules under the given CRM parent and all of the parent’s CRM descendants.", + "description": "", "flatPath": "v1/projects/{projectsId}/securityHealthAnalyticsSettings/customModules:listDescendant", "httpMethod": "GET", "id": "securitycenter.projects.securityHealthAnalyticsSettings.customModules.listDescendant", @@ -5474,18 +5152,15 @@ ], "parameters": { "pageSize": { - "description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "The value returned by the last call indicating a continuation", "location": "query", "type": "string" }, "parent": { - "description": "Required. Name of parent to list descendant custom modules. Its format is `organizations/{organization}/securityHealthAnalyticsSettings`, `folders/{folder}/securityHealthAnalyticsSettings`, or `projects/{project}/securityHealthAnalyticsSettings`", "location": "path", "pattern": "^projects/[^/]+/securityHealthAnalyticsSettings$", "required": true, @@ -5501,7 +5176,7 @@ ] }, "patch": { - "description": "Updates the SecurityHealthAnalyticsCustomModule under the given name based on the given update mask. Updating the enablement state is supported on both resident and inherited modules (though resident modules cannot have an enablement state of \"inherited\"). Updating the display name and custom config of a module is supported on resident modules only.", + "description": "", "flatPath": "v1/projects/{projectsId}/securityHealthAnalyticsSettings/customModules/{customModulesId}", "httpMethod": "PATCH", "id": "securitycenter.projects.securityHealthAnalyticsSettings.customModules.patch", @@ -5510,14 +5185,12 @@ ], "parameters": { "name": { - "description": "Immutable. The resource name of the custom module. Its format is \"organizations/{organization}/securityHealthAnalyticsSettings/customModules/{customModule}\", or \"folders/{folder}/securityHealthAnalyticsSettings/customModules/{customModule}\", or \"projects/{project}/securityHealthAnalyticsSettings/customModules/{customModule}\" The id {customModule} is server-generated and is not user settable. It will be a numeric id containing 1-20 digits.", "location": "path", "pattern": "^projects/[^/]+/securityHealthAnalyticsSettings/customModules/[^/]+$", "required": true, "type": "string" }, "updateMask": { - "description": "The list of fields to be updated. The only fields that can be updated are `enablement_state` and `custom_config`. If empty or set to the wildcard value `*`, both `enablement_state` and `custom_config` are updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -5535,7 +5208,7 @@ ] }, "simulate": { - "description": "Simulates a given SecurityHealthAnalyticsCustomModule and Resource.", + "description": "", "flatPath": "v1/projects/{projectsId}/securityHealthAnalyticsSettings/customModules:simulate", "httpMethod": "POST", "id": "securitycenter.projects.securityHealthAnalyticsSettings.customModules.simulate", @@ -5544,7 +5217,6 @@ ], "parameters": { "parent": { - "description": "Required. The relative resource name of the organization, project, or folder. For more information about relative resource names, see [Relative Resource Name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) Example: `organizations/{organization_id}`", "location": "path", "pattern": "^projects/[^/]+/securityHealthAnalyticsSettings$", "required": true, @@ -5567,7 +5239,7 @@ "effectiveCustomModules": { "methods": { "get": { - "description": "Retrieves an EffectiveSecurityHealthAnalyticsCustomModule.", + "description": "", "flatPath": "v1/projects/{projectsId}/securityHealthAnalyticsSettings/effectiveCustomModules/{effectiveCustomModulesId}", "httpMethod": "GET", "id": "securitycenter.projects.securityHealthAnalyticsSettings.effectiveCustomModules.get", @@ -5576,7 +5248,6 @@ ], "parameters": { "name": { - "description": "Required. Name of the effective custom module to get. Its format is `organizations/{organization}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}`, `folders/{folder}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}`, or `projects/{project}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}`", "location": "path", "pattern": "^projects/[^/]+/securityHealthAnalyticsSettings/effectiveCustomModules/[^/]+$", "required": true, @@ -5592,7 +5263,7 @@ ] }, "list": { - "description": "Returns a list of all EffectiveSecurityHealthAnalyticsCustomModules for the given parent. This includes resident modules defined at the scope of the parent, and inherited modules, inherited from CRM ancestors.", + "description": "", "flatPath": "v1/projects/{projectsId}/securityHealthAnalyticsSettings/effectiveCustomModules", "httpMethod": "GET", "id": "securitycenter.projects.securityHealthAnalyticsSettings.effectiveCustomModules.list", @@ -5601,18 +5272,15 @@ ], "parameters": { "pageSize": { - "description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "The value returned by the last call indicating a continuation", "location": "query", "type": "string" }, "parent": { - "description": "Required. Name of parent to list effective custom modules. Its format is `organizations/{organization}/securityHealthAnalyticsSettings`, `folders/{folder}/securityHealthAnalyticsSettings`, or `projects/{project}/securityHealthAnalyticsSettings`", "location": "path", "pattern": "^projects/[^/]+/securityHealthAnalyticsSettings$", "required": true, @@ -5634,7 +5302,7 @@ "sources": { "methods": { "list": { - "description": "Lists all sources belonging to an organization.", + "description": "", "flatPath": "v1/projects/{projectsId}/sources", "httpMethod": "GET", "id": "securitycenter.projects.sources.list", @@ -5643,18 +5311,15 @@ ], "parameters": { "pageSize": { - "description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "The value returned by the last `ListSourcesResponse`; indicates that this is a continuation of a prior `ListSources` call, and that the system should return the next page of data.", "location": "query", "type": "string" }, "parent": { - "description": "Required. Resource name of the parent of sources to list. Its format should be `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`.", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -5674,7 +5339,7 @@ "findings": { "methods": { "group": { - "description": "Filters an organization or source's findings and groups them by their specified properties. To group across all sources provide a `-` as the source id. Example: /v1/organizations/{organization_id}/sources/-/findings, /v1/folders/{folder_id}/sources/-/findings, /v1/projects/{project_id}/sources/-/findings", + "description": "", "flatPath": "v1/projects/{projectsId}/sources/{sourcesId}/findings:group", "httpMethod": "POST", "id": "securitycenter.projects.sources.findings.group", @@ -5683,7 +5348,6 @@ ], "parameters": { "parent": { - "description": "Required. Name of the source to groupBy. Its format is `organizations/[organization_id]/sources/[source_id]`, `folders/[folder_id]/sources/[source_id]`, or `projects/[project_id]/sources/[source_id]`. To groupBy across all sources provide a source_id of `-`. For example: `organizations/{organization_id}/sources/-, folders/{folder_id}/sources/-`, or `projects/{project_id}/sources/-`", "location": "path", "pattern": "^projects/[^/]+/sources/[^/]+$", "required": true, @@ -5702,7 +5366,7 @@ ] }, "list": { - "description": "Lists an organization or source's findings. To list across all sources provide a `-` as the source id. Example: /v1/organizations/{organization_id}/sources/-/findings", + "description": "", "flatPath": "v1/projects/{projectsId}/sources/{sourcesId}/findings", "httpMethod": "GET", "id": "securitycenter.projects.sources.findings.list", @@ -5712,40 +5376,33 @@ "parameters": { "compareDuration": { "deprecated": true, - "description": "When compare_duration is set, the ListFindingsResult's \"state_change\" attribute is updated to indicate whether the finding had its state changed, the finding's state remained unchanged, or if the finding was added in any state during the compare_duration period of time that precedes the read_time. This is the time between (read_time - compare_duration) and read_time. The state_change value is derived based on the presence and state of the finding at the two points in time. Intermediate state changes between the two times don't affect the result. For example, the results aren't affected if the finding is made inactive and then active again. Possible \"state_change\" values when compare_duration is specified: * \"CHANGED\": indicates that the finding was present and matched the given filter at the start of compare_duration, but changed its state at read_time. * \"UNCHANGED\": indicates that the finding was present and matched the given filter at the start of compare_duration and did not change state at read_time. * \"ADDED\": indicates that the finding did not match the given filter or was not present at the start of compare_duration, but was present at read_time. * \"REMOVED\": indicates that the finding was present and matched the filter at the start of compare_duration, but did not match the filter at read_time. If compare_duration is not specified, then the only possible state_change is \"UNUSED\", which will be the state_change set for all findings present at read_time.", "format": "google-duration", "location": "query", "type": "string" }, "fieldMask": { - "description": "A field mask to specify the Finding fields to be listed in the response. An empty field mask will list all fields.", "format": "google-fieldmask", "location": "query", "type": "string" }, "filter": { - "description": "Expression that defines the filter to apply across findings. The expression is a list of one or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. Examples include: * name * source_properties.a_property * security_marks.marks.marka The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. The following field and operator combinations are supported: * name: `=` * parent: `=`, `:` * resource_name: `=`, `:` * state: `=`, `:` * category: `=`, `:` * external_uri: `=`, `:` * event_time: `=`, `>`, `<`, `>=`, `<=` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `event_time = \"2019-06-10T16:07:18-07:00\"` `event_time = 1560208038000` * severity: `=`, `:` * workflow_state: `=`, `:` * security_marks.marks: `=`, `:` * source_properties: `=`, `:`, `>`, `<`, `>=`, `<=` For example, `source_properties.size = 100` is a valid filter string. Use a partial match on the empty string to filter based on a property existing: `source_properties.my_property : \"\"` Use a negated partial match on the empty string to filter based on a property not existing: `-source_properties.my_property : \"\"` * resource: * resource.name: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.type: `=`, `:` * resource.folders.resource_folder: `=`, `:` * resource.display_name: `=`, `:`", "location": "query", "type": "string" }, "orderBy": { - "description": "Expression that defines what fields and order to use for sorting. The string value should follow SQL syntax: comma separated list of fields. For example: \"name,resource_properties.a_property\". The default sorting order is ascending. To specify descending order for a field, a suffix \" desc\" should be appended to the field name. For example: \"name desc,source_properties.a_property\". Redundant space characters in the syntax are insignificant. \"name desc,source_properties.a_property\" and \" name desc , source_properties.a_property \" are equivalent. The following fields are supported: name parent state category resource_name event_time source_properties security_marks.marks", "location": "query", "type": "string" }, "pageSize": { - "description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "The value returned by the last `ListFindingsResponse`; indicates that this is a continuation of a prior `ListFindings` call, and that the system should return the next page of data.", "location": "query", "type": "string" }, "parent": { - "description": "Required. Name of the source the findings belong to. Its format is `organizations/[organization_id]/sources/[source_id]`, `folders/[folder_id]/sources/[source_id]`, or `projects/[project_id]/sources/[source_id]`. To list across all sources provide a source_id of `-`. For example: `organizations/{organization_id}/sources/-`, `folders/{folder_id}/sources/-` or `projects/{projects_id}/sources/-`", "location": "path", "pattern": "^projects/[^/]+/sources/[^/]+$", "required": true, @@ -5753,7 +5410,6 @@ }, "readTime": { "deprecated": true, - "description": "Time used as a reference point when filtering findings. The filter is limited to findings existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW.", "format": "google-datetime", "location": "query", "type": "string" @@ -5768,7 +5424,7 @@ ] }, "patch": { - "description": "Creates or updates a finding. The corresponding source must exist for a finding creation to succeed.", + "description": "", "flatPath": "v1/projects/{projectsId}/sources/{sourcesId}/findings/{findingsId}", "httpMethod": "PATCH", "id": "securitycenter.projects.sources.findings.patch", @@ -5777,14 +5433,12 @@ ], "parameters": { "name": { - "description": "The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}\", \"folders/{folder_id}/sources/{source_id}/findings/{finding_id}\", \"projects/{project_id}/sources/{source_id}/findings/{finding_id}\".", "location": "path", "pattern": "^projects/[^/]+/sources/[^/]+/findings/[^/]+$", "required": true, "type": "string" }, "updateMask": { - "description": "The FieldMask to use when updating the finding resource. This field should not be specified when creating a finding. When updating a finding, an empty mask is treated as updating all mutable fields and replacing source_properties. Individual source_properties can be added/updated by using \"source_properties.\" in the field mask.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -5802,7 +5456,7 @@ ] }, "setMute": { - "description": "Updates the mute state of a finding.", + "description": "", "flatPath": "v1/projects/{projectsId}/sources/{sourcesId}/findings/{findingsId}:setMute", "httpMethod": "POST", "id": "securitycenter.projects.sources.findings.setMute", @@ -5811,7 +5465,6 @@ ], "parameters": { "name": { - "description": "Required. The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: `organizations/{organization_id}/sources/{source_id}/findings/{finding_id}`, `folders/{folder_id}/sources/{source_id}/findings/{finding_id}`, `projects/{project_id}/sources/{source_id}/findings/{finding_id}`.", "location": "path", "pattern": "^projects/[^/]+/sources/[^/]+/findings/[^/]+$", "required": true, @@ -5830,7 +5483,7 @@ ] }, "setState": { - "description": "Updates the state of a finding.", + "description": "", "flatPath": "v1/projects/{projectsId}/sources/{sourcesId}/findings/{findingsId}:setState", "httpMethod": "POST", "id": "securitycenter.projects.sources.findings.setState", @@ -5839,7 +5492,6 @@ ], "parameters": { "name": { - "description": "Required. The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: `organizations/{organization_id}/sources/{source_id}/findings/{finding_id}`, `folders/{folder_id}/sources/{source_id}/findings/{finding_id}`, `projects/{project_id}/sources/{source_id}/findings/{finding_id}`.", "location": "path", "pattern": "^projects/[^/]+/sources/[^/]+/findings/[^/]+$", "required": true, @@ -5858,7 +5510,7 @@ ] }, "updateSecurityMarks": { - "description": "Updates security marks.", + "description": "", "flatPath": "v1/projects/{projectsId}/sources/{sourcesId}/findings/{findingsId}/securityMarks", "httpMethod": "PATCH", "id": "securitycenter.projects.sources.findings.updateSecurityMarks", @@ -5867,20 +5519,17 @@ ], "parameters": { "name": { - "description": "The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: \"organizations/{organization_id}/assets/{asset_id}/securityMarks\" \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks\".", "location": "path", "pattern": "^projects/[^/]+/sources/[^/]+/findings/[^/]+/securityMarks$", "required": true, "type": "string" }, "startTime": { - "description": "The time at which the updated SecurityMarks take effect. If not set uses current server time. Updates will be applied to the SecurityMarks that are active immediately preceding this time. Must be earlier or equal to the server time.", "format": "google-datetime", "location": "query", "type": "string" }, "updateMask": { - "description": "The FieldMask to use when updating the security marks resource. The field mask must not contain duplicate fields. If empty or set to \"marks\", all marks will be replaced. Individual marks can be updated using \"marks.\".", "format": "google-fieldmask", "location": "query", "type": "string" @@ -5902,7 +5551,7 @@ "externalSystems": { "methods": { "patch": { - "description": "Updates external system. This is for a given finding.", + "description": "", "flatPath": "v1/projects/{projectsId}/sources/{sourcesId}/findings/{findingsId}/externalSystems/{externalSystemsId}", "httpMethod": "PATCH", "id": "securitycenter.projects.sources.findings.externalSystems.patch", @@ -5911,14 +5560,12 @@ ], "parameters": { "name": { - "description": "Full resource name of the external system, for example: \"organizations/1234/sources/5678/findings/123456/externalSystems/jira\", \"folders/1234/sources/5678/findings/123456/externalSystems/jira\", \"projects/1234/sources/5678/findings/123456/externalSystems/jira\"", "location": "path", "pattern": "^projects/[^/]+/sources/[^/]+/findings/[^/]+/externalSystems/[^/]+$", "required": true, "type": "string" }, "updateMask": { - "description": "The FieldMask to use when updating the external system resource. If empty all mutable fields will be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -5944,104 +5591,82 @@ } } }, - "revision": "20260424", + "revision": "20260526", "rootUrl": "https://securitycenter.googleapis.com/", "schemas": { "Access": { - "description": "Represents an access event.", "id": "Access", "properties": { "callerIp": { - "description": "Caller's IP address, such as \"1.1.1.1\".", "type": "string" }, "callerIpGeo": { - "$ref": "Geolocation", - "description": "The caller IP's geolocation, which identifies where the call came from." + "$ref": "Geolocation" }, "methodName": { - "description": "The method that the service account called, e.g. \"SetIamPolicy\".", "type": "string" }, "principalEmail": { - "description": "Associated email, such as \"foo@google.com\". The email address of the authenticated user or a service account acting on behalf of a third party principal making the request. For third party identity callers, the `principal_subject` field is populated instead of this field. For privacy reasons, the principal email address is sometimes redacted. For more information, see [Caller identities in audit logs](https://cloud.google.com/logging/docs/audit#user-id).", "type": "string" }, "principalSubject": { - "description": "A string that represents the principal_subject that is associated with the identity. Unlike `principal_email`, `principal_subject` supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format is `principal://iam.googleapis.com/{identity pool name}/subject/{subject}`. Some GKE identities, such as GKE_WORKLOAD, FREEFORM, and GKE_HUB_WORKLOAD, still use the legacy format `serviceAccount:{identity pool name}[{subject}]`.", "type": "string" }, "serviceAccountDelegationInfo": { - "description": "The identity delegation history of an authenticated service account that made the request. The `serviceAccountDelegationInfo[]` object contains information about the real authorities that try to access Google Cloud resources by delegating on a service account. When multiple authorities are present, they are guaranteed to be sorted based on the original ordering of the identity delegation events.", "items": { "$ref": "ServiceAccountDelegationInfo" }, "type": "array" }, "serviceAccountKeyName": { - "description": "The name of the service account key that was used to create or exchange credentials when authenticating the service account that made the request. This is a scheme-less URI full resource name. For example: \"//iam.googleapis.com/projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}\". ", "type": "string" }, "serviceName": { - "description": "This is the API service that the service account made a call to, e.g. \"iam.googleapis.com\"", "type": "string" }, "userAgent": { - "description": "The caller's user agent string associated with the finding.", "type": "string" }, "userAgentFamily": { - "description": "Type of user agent associated with the finding. For example, an operating system shell or an embedded or standalone application.", "type": "string" }, "userName": { - "description": "A string that represents a username. The username provided depends on the type of the finding and is likely not an IAM principal. For example, this can be a system username if the finding is related to a virtual machine, or it can be an application login username.", "type": "string" } }, "type": "object" }, "AccessReview": { - "description": "Conveys information about a Kubernetes access review (such as one returned by a [`kubectl auth can-i`](https://kubernetes.io/docs/reference/access-authn-authz/authorization/#checking-api-access) command) that was involved in a finding.", "id": "AccessReview", "properties": { "group": { - "description": "The API group of the resource. \"*\" means all.", "type": "string" }, "name": { - "description": "The name of the resource being requested. Empty means all.", "type": "string" }, "ns": { - "description": "Namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces. Both are represented by \"\" (empty).", "type": "string" }, "resource": { - "description": "The optional resource type requested. \"*\" means all.", "type": "string" }, "subresource": { - "description": "The optional subresource type.", "type": "string" }, "verb": { - "description": "A Kubernetes resource API verb, like get, list, watch, create, update, delete, proxy. \"*\" means all.", "type": "string" }, "version": { - "description": "The API version of the resource. \"*\" means all.", "type": "string" } }, "type": "object" }, "AdaptiveProtection": { - "description": "Information about [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-protection).", "id": "AdaptiveProtection", "properties": { "confidence": { - "description": "A score of 0 means that there is low confidence that the detected event is an actual attack. A score of 1 means that there is high confidence that the detected event is an attack. See the [Adaptive Protection documentation](https://cloud.google.com/armor/docs/adaptive-protection-overview#configure-alert-tuning) for further explanation.", "format": "double", "type": "number" } @@ -6049,48 +5674,39 @@ "type": "object" }, "AdcApplication": { - "description": "Represents an ADC application associated with the finding.", "id": "AdcApplication", "properties": { "attributes": { - "$ref": "GoogleCloudSecuritycenterV1ResourceApplicationAttributes", - "description": "Consumer provided attributes for the AppHub application." + "$ref": "GoogleCloudSecuritycenterV1ResourceApplicationAttributes" }, "name": { - "description": "The resource name of an ADC Application. Format: projects/{project}/locations/{location}/spaces/{space}/applications/{application}", "type": "string" } }, "type": "object" }, "AdcApplicationTemplateRevision": { - "description": "Represents an ADC template associated with the finding.", "id": "AdcApplicationTemplateRevision", "properties": { "name": { - "description": "The resource name of an ADC Application Template Revision. Format: projects/{project}/locations/{location}/spaces/{space}/applicationTemplates/{application_template}/revisions/{revision}", "type": "string" } }, "type": "object" }, "AdcSharedTemplateRevision": { - "description": "Represents an ADC shared template associated with the finding.", "id": "AdcSharedTemplateRevision", "properties": { "name": { - "description": "The resource name of an ADC Shared Template Revision. Format: projects/{project}/locations/{location}/spaces/{space}/applicationTemplates/{application_template}/revisions/{revision}", "type": "string" } }, "type": "object" }, "AffectedResources": { - "description": "Details about resources affected by this finding.", "id": "AffectedResources", "properties": { "count": { - "description": "The count of resources affected by the finding.", "format": "int64", "type": "string" } @@ -6098,20 +5714,16 @@ "type": "object" }, "AgentDataAccessEvent": { - "description": "Details about a data access attempt made by an agent principal not authorized under applicable data security policy.", "id": "AgentDataAccessEvent", "properties": { "eventId": { - "description": "Unique identifier for data access event.", "type": "string" }, "eventTime": { - "description": "Timestamp of data access event.", "format": "google-datetime", "type": "string" }, "operation": { - "description": "The operation performed by the principal to access the data.", "enum": [ "OPERATION_UNSPECIFIED", "READ", @@ -6119,26 +5731,23 @@ "COPY" ], "enumDescriptions": [ - "The operation is unspecified.", - "Represents a read operation.", - "Represents a move operation.", - "Represents a copy operation." + "", + "", + "", + "" ], "type": "string" }, "principalSubject": { - "description": "The agent principal that accessed the data.", "type": "string" } }, "type": "object" }, "AiModel": { - "description": "Contains information about the AI model associated with the finding.", "id": "AiModel", "properties": { "deploymentPlatform": { - "description": "The platform on which the model is deployed.", "enum": [ "DEPLOYMENT_PLATFORM_UNSPECIFIED", "VERTEX_AI", @@ -6147,51 +5756,42 @@ "FINE_TUNED_MODEL" ], "enumDescriptions": [ - "Unspecified deployment platform.", - "Vertex AI.", - "Google Kubernetes Engine.", - "Google Compute Engine.", - "Fine tuned model." + "", + "", + "", + "", + "" ], "type": "string" }, "displayName": { - "description": "The user defined display name of model. Ex. baseline-classification-model", "type": "string" }, "domain": { - "description": "The domain of the model, for example, “image-classification”.", "type": "string" }, "library": { - "description": "The name of the model library, for example, “transformers”.", "type": "string" }, "location": { - "description": "The region in which the model is used, for example, “us-central1”.", "type": "string" }, "name": { - "description": "The name of the AI model, for example, \"gemini:1.0.0\".", "type": "string" }, "publisher": { - "description": "The publisher of the model, for example, “google” or “nvidia”.", "type": "string" }, "usageCategory": { - "description": "The purpose of the model, for example, \"Inteference\" or \"Training\".", "type": "string" } }, "type": "object" }, "Allowed": { - "description": "Allowed IP rule.", "id": "Allowed", "properties": { "ipRules": { - "description": "Optional. Optional list of allowed IP rules.", "items": { "$ref": "IpRule" }, @@ -6201,59 +5801,49 @@ "type": "object" }, "Application": { - "description": "Represents an application associated with a finding.", "id": "Application", "properties": { "baseUri": { - "description": "The base URI that identifies the network location of the application in which the vulnerability was detected. For example, `http://example.com`.", "type": "string" }, "fullUri": { - "description": "The full URI with payload that can be used to reproduce the vulnerability. For example, `http://example.com?p=aMmYgI6H`.", "type": "string" } }, "type": "object" }, "ArtifactGuardPolicies": { - "description": "Represents the result of evaluating artifact guard policies.", "id": "ArtifactGuardPolicies", "properties": { "failingPolicies": { - "description": "A list of failing policies.", "items": { "$ref": "ArtifactGuardPolicy" }, "type": "array" }, "resourceId": { - "description": "The ID of the resource that has policies configured for it.", "type": "string" } }, "type": "object" }, "ArtifactGuardPolicy": { - "description": "Represents an artifact guard policy.", "id": "ArtifactGuardPolicy", "properties": { "failureReason": { - "description": "The reason for the policy failure, for example, \"severity=HIGH AND max_vuln_count=2\".", "type": "string" }, "policyId": { - "description": "The ID of the failing policy, for example, \"organizations/3392779/locations/global/policies/prod-policy\".", "type": "string" }, "type": { - "description": "The type of the policy evaluation.", "enum": [ "ARTIFACT_GUARD_POLICY_TYPE_UNSPECIFIED", "VULNERABILITY" ], "enumDescriptions": [ - "Default value. This value is unused.", - "Vulnerability type." + "", + "" ], "type": "string" } @@ -6261,43 +5851,34 @@ "type": "object" }, "Asset": { - "description": "Security Command Center representation of a Google Cloud resource. The Asset is a Security Command Center resource that captures information about a single Google Cloud resource. All modifications to an Asset are only within the context of Security Command Center and don't affect the referenced Google Cloud resource.", "id": "Asset", "properties": { "canonicalName": { - "description": "The canonical name of the resource. It's either \"organizations/{organization_id}/assets/{asset_id}\", \"folders/{folder_id}/assets/{asset_id}\" or \"projects/{project_number}/assets/{asset_id}\", depending on the closest CRM ancestor of the resource.", "type": "string" }, "createTime": { - "description": "The time at which the asset was created in Security Command Center.", "format": "google-datetime", "type": "string" }, "iamPolicy": { - "$ref": "IamPolicy", - "description": "Cloud IAM Policy information associated with the Google Cloud resource described by the Security Command Center asset. This information is managed and defined by the Google Cloud resource and cannot be modified by the user." + "$ref": "IamPolicy" }, "name": { - "description": "The relative resource name of this asset. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: \"organizations/{organization_id}/assets/{asset_id}\".", "type": "string" }, "resourceProperties": { "additionalProperties": { "type": "any" }, - "description": "Resource managed properties. These properties are managed and defined by the Google Cloud resource and cannot be modified by the user.", "type": "object" }, "securityCenterProperties": { - "$ref": "SecurityCenterProperties", - "description": "Security Command Center managed properties. These properties are managed by Security Command Center and cannot be modified by the user." + "$ref": "SecurityCenterProperties" }, "securityMarks": { - "$ref": "SecurityMarks", - "description": "User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the asset." + "$ref": "SecurityMarks" }, "updateTime": { - "description": "The time at which the asset was last updated or added in Cloud SCC.", "format": "google-datetime", "type": "string" } @@ -6305,32 +5886,28 @@ "type": "object" }, "AssetDiscoveryConfig": { - "description": "The configuration used for Asset Discovery runs.", "id": "AssetDiscoveryConfig", "properties": { "folderIds": { - "description": "The folder ids to use for filtering asset discovery. It consists of only digits, e.g., 756619654966.", "items": { "type": "string" }, "type": "array" }, "inclusionMode": { - "description": "The mode to use for filtering asset discovery.", "enum": [ "INCLUSION_MODE_UNSPECIFIED", "INCLUDE_ONLY", "EXCLUDE" ], "enumDescriptions": [ - "Unspecified. Setting the mode with this value will disable inclusion/exclusion filtering for Asset Discovery.", - "Asset Discovery will capture only the resources within the projects specified. All other resources will be ignored.", - "Asset Discovery will ignore all resources under the projects specified. All other resources will be retrieved." + "", + "", + "" ], "type": "string" }, "projectIds": { - "description": "The project ids to use for filtering asset discovery.", "items": { "type": "string" }, @@ -6340,32 +5917,26 @@ "type": "object" }, "Attack": { - "description": "Information about DDoS attack volume and classification.", "id": "Attack", "properties": { "classification": { - "description": "Type of attack, for example, 'SYN-flood', 'NTP-udp', or 'CHARGEN-udp'.", "type": "string" }, "volumeBps": { "deprecated": true, - "description": "Total BPS (bytes per second) volume of attack. Deprecated - refer to volume_bps_long instead.", "format": "int32", "type": "integer" }, "volumeBpsLong": { - "description": "Total BPS (bytes per second) volume of attack.", "format": "int64", "type": "string" }, "volumePps": { "deprecated": true, - "description": "Total PPS (packets per second) volume of attack. Deprecated - refer to volume_pps_long instead.", "format": "int32", "type": "integer" }, "volumePpsLong": { - "description": "Total PPS (packets per second) volume of attack.", "format": "int64", "type": "string" } @@ -6373,49 +5944,41 @@ "type": "object" }, "AttackExposure": { - "description": "An attack exposure contains the results of an attack path simulation run.", "id": "AttackExposure", "properties": { "attackExposureResult": { - "description": "The resource name of the attack path simulation result that contains the details regarding this attack exposure score. Example: `organizations/123/simulations/456/attackExposureResults/789`", "type": "string" }, "exposedHighValueResourcesCount": { - "description": "The number of high value resources that are exposed as a result of this finding.", "format": "int32", "type": "integer" }, "exposedLowValueResourcesCount": { - "description": "The number of high value resources that are exposed as a result of this finding.", "format": "int32", "type": "integer" }, "exposedMediumValueResourcesCount": { - "description": "The number of medium value resources that are exposed as a result of this finding.", "format": "int32", "type": "integer" }, "latestCalculationTime": { - "description": "The most recent time the attack exposure was updated on this finding.", "format": "google-datetime", "type": "string" }, "score": { - "description": "A number between 0 (inclusive) and infinity that represents how important this finding is to remediate. The higher the score, the more important it is to remediate.", "format": "double", "type": "number" }, "state": { - "description": "What state this AttackExposure is in. This captures whether or not an attack exposure has been calculated or not.", "enum": [ "STATE_UNSPECIFIED", "CALCULATED", "NOT_CALCULATED" ], "enumDescriptions": [ - "The state is not specified.", - "The attack exposure has been calculated.", - "The attack exposure has not been calculated." + "", + "", + "" ], "type": "string" } @@ -6423,22 +5986,18 @@ "type": "object" }, "AttackPath": { - "description": "A path that an attacker could take to reach an exposed resource.", "id": "AttackPath", "properties": { "edges": { - "description": "A list of the edges between nodes in this attack path.", "items": { "$ref": "AttackPathEdge" }, "type": "array" }, "name": { - "description": "The attack path name, for example, `organizations/12/simulation/34/valuedResources/56/attackPaths/78`", "type": "string" }, "pathNodes": { - "description": "A list of nodes that exist in this attack path.", "items": { "$ref": "AttackPathNode" }, @@ -6448,78 +6007,63 @@ "type": "object" }, "AttackPathEdge": { - "description": "Represents a connection between a source node and a destination node in this attack path.", "id": "AttackPathEdge", "properties": { "destination": { - "description": "The attack node uuid of the destination node.", "type": "string" }, "source": { - "description": "The attack node uuid of the source node.", "type": "string" } }, "type": "object" }, "AttackPathNode": { - "description": "Represents one point that an attacker passes through in this attack path.", "id": "AttackPathNode", "properties": { "associatedFindings": { - "description": "The findings associated with this node in the attack path.", "items": { "$ref": "PathNodeAssociatedFinding" }, "type": "array" }, "attackSteps": { - "description": "A list of attack step nodes that exist in this attack path node.", "items": { "$ref": "AttackStepNode" }, "type": "array" }, "displayName": { - "description": "Human-readable name of this resource.", "type": "string" }, "resource": { - "description": "The name of the resource at this point in the attack path. The format of the name follows the Cloud Asset Inventory [resource name format](https://cloud.google.com/asset-inventory/docs/resource-name-format)", "type": "string" }, "resourceType": { - "description": "The [supported resource type](https://cloud.google.com/asset-inventory/docs/supported-asset-types)", "type": "string" }, "uuid": { - "description": "Unique id of the attack path node.", "type": "string" } }, "type": "object" }, "AttackStepNode": { - "description": "Detailed steps the attack can take between path nodes.", "id": "AttackStepNode", "properties": { "description": { - "description": "Attack step description", "type": "string" }, "displayName": { - "description": "User friendly name of the attack step", "type": "string" }, "labels": { "additionalProperties": { "type": "string" }, - "description": "Attack step labels for metadata", "type": "object" }, "type": { - "description": "Attack step type. Can be either AND, OR or DEFENSE", "enum": [ "NODE_TYPE_UNSPECIFIED", "NODE_TYPE_AND", @@ -6528,52 +6072,45 @@ "NODE_TYPE_ATTACKER" ], "enumDescriptions": [ - "Type not specified", - "Incoming edge joined with AND", - "Incoming edge joined with OR", - "Incoming edge is defense", - "Incoming edge is attacker" + "", + "", + "", + "", + "" ], "type": "string" }, "uuid": { - "description": "Unique ID for one Node", "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", @@ -6581,10 +6118,10 @@ "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" } @@ -6592,34 +6129,27 @@ "type": "object" }, "AwsAccount": { - "description": "An AWS account that is a member of an organization.", "id": "AwsAccount", "properties": { "id": { - "description": "The unique identifier (ID) of the account, containing exactly 12 digits.", "type": "string" }, "name": { - "description": "The friendly name of this account.", "type": "string" } }, "type": "object" }, "AwsMetadata": { - "description": "AWS metadata associated with the resource, only applicable if the finding's cloud provider is Amazon Web Services.", "id": "AwsMetadata", "properties": { "account": { - "$ref": "AwsAccount", - "description": "The AWS account associated with the resource." + "$ref": "AwsAccount" }, "organization": { - "$ref": "AwsOrganization", - "description": "The AWS organization associated with the resource." + "$ref": "AwsOrganization" }, "organizationalUnits": { - "description": "A list of AWS organizational units associated with the resource, ordered from lowest level (closest to the account) to highest level.", "items": { "$ref": "AwsOrganizationalUnit" }, @@ -6629,180 +6159,145 @@ "type": "object" }, "AwsOrganization": { - "description": "An organization is a collection of accounts that are centrally managed together using consolidated billing, organized hierarchically with organizational units (OUs), and controlled with policies.", "id": "AwsOrganization", "properties": { "id": { - "description": "The unique identifier (ID) for the organization. The regex pattern for an organization ID string requires \"o-\" followed by from 10 to 32 lowercase letters or digits.", "type": "string" } }, "type": "object" }, "AwsOrganizationalUnit": { - "description": "An Organizational Unit (OU) is a container of AWS accounts within a root of an organization. Policies that are attached to an OU apply to all accounts contained in that OU and in any child OUs.", "id": "AwsOrganizationalUnit", "properties": { "id": { - "description": "The unique identifier (ID) associated with this OU. The regex pattern for an organizational unit ID string requires \"ou-\" followed by from 4 to 32 lowercase letters or digits (the ID of the root that contains the OU). This string is followed by a second \"-\" dash and from 8 to 32 additional lowercase letters or digits. For example, \"ou-ab12-cd34ef56\".", "type": "string" }, "name": { - "description": "The friendly name of the OU.", "type": "string" } }, "type": "object" }, "AzureManagementGroup": { - "description": "Represents an Azure management group.", "id": "AzureManagementGroup", "properties": { "displayName": { - "description": "The display name of the Azure management group.", "type": "string" }, "id": { - "description": "The UUID of the Azure management group, for example, `20000000-0001-0000-0000-000000000000`.", "type": "string" } }, "type": "object" }, "AzureMetadata": { - "description": "Azure metadata associated with the resource, only applicable if the finding's cloud provider is Microsoft Azure.", "id": "AzureMetadata", "properties": { "managementGroups": { - "description": "A list of Azure management groups associated with the resource, ordered from lowest level (closest to the subscription) to highest level.", "items": { "$ref": "AzureManagementGroup" }, "type": "array" }, "resourceGroup": { - "$ref": "AzureResourceGroup", - "description": "The Azure resource group associated with the resource." + "$ref": "AzureResourceGroup" }, "subscription": { - "$ref": "AzureSubscription", - "description": "The Azure subscription associated with the resource." + "$ref": "AzureSubscription" }, "tenant": { - "$ref": "AzureTenant", - "description": "The Azure Entra tenant associated with the resource." + "$ref": "AzureTenant" } }, "type": "object" }, "AzureResourceGroup": { - "description": "Represents an Azure resource group.", "id": "AzureResourceGroup", "properties": { "id": { - "description": "The ID of the Azure resource group.", "type": "string" }, "name": { - "description": "The name of the Azure resource group. This is not a UUID.", "type": "string" } }, "type": "object" }, "AzureSubscription": { - "description": "Represents an Azure subscription.", "id": "AzureSubscription", "properties": { "displayName": { - "description": "The display name of the Azure subscription.", "type": "string" }, "id": { - "description": "The UUID of the Azure subscription, for example, `291bba3f-e0a5-47bc-a099-3bdcb2a50a05`.", "type": "string" } }, "type": "object" }, "AzureTenant": { - "description": "Represents a Microsoft Entra tenant.", "id": "AzureTenant", "properties": { "displayName": { - "description": "The display name of the Azure tenant.", "type": "string" }, "id": { - "description": "The ID of the Microsoft Entra tenant, for example, \"a11aaa11-aa11-1aa1-11aa-1aaa11a\".", "type": "string" } }, "type": "object" }, "BackupDisasterRecovery": { - "description": "Information related to Google Cloud Backup and DR Service findings.", "id": "BackupDisasterRecovery", "properties": { "appliance": { - "description": "The name of the Backup and DR appliance that captures, moves, and manages the lifecycle of backup data. For example, `backup-server-57137`.", "type": "string" }, "applications": { - "description": "The names of Backup and DR applications. An application is a VM, database, or file system on a managed host monitored by a backup and recovery appliance. For example, `centos7-01-vol00`, `centos7-01-vol01`, `centos7-01-vol02`.", "items": { "type": "string" }, "type": "array" }, "backupCreateTime": { - "description": "The timestamp at which the Backup and DR backup was created.", "format": "google-datetime", "type": "string" }, "backupTemplate": { - "description": "The name of a Backup and DR template which comprises one or more backup policies. See the [Backup and DR documentation](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#temp) for more information. For example, `snap-ov`.", "type": "string" }, "backupType": { - "description": "The backup type of the Backup and DR image. For example, `Snapshot`, `Remote Snapshot`, `OnVault`.", "type": "string" }, "host": { - "description": "The name of a Backup and DR host, which is managed by the backup and recovery appliance and known to the management console. The host can be of type Generic (for example, Compute Engine, SQL Server, Oracle DB, SMB file system, etc.), vCenter, or an ESX server. See the [Backup and DR documentation on hosts](https://cloud.google.com/backup-disaster-recovery/docs/configuration/manage-hosts-and-their-applications) for more information. For example, `centos7-01`.", "type": "string" }, "policies": { - "description": "The names of Backup and DR policies that are associated with a template and that define when to run a backup, how frequently to run a backup, and how long to retain the backup image. For example, `onvaults`.", "items": { "type": "string" }, "type": "array" }, "policyOptions": { - "description": "The names of Backup and DR advanced policy options of a policy applying to an application. See the [Backup and DR documentation on policy options](https://cloud.google.com/backup-disaster-recovery/docs/create-plan/policy-settings). For example, `skipofflineappsincongrp, nounmap`.", "items": { "type": "string" }, "type": "array" }, "profile": { - "description": "The name of the Backup and DR resource profile that specifies the storage media for backups of application and VM data. See the [Backup and DR documentation on profiles](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#profile). For example, `GCP`.", "type": "string" }, "storagePool": { - "description": "The name of the Backup and DR storage pool that the backup and recovery appliance is storing data in. The storage pool could be of type Cloud, Primary, Snapshot, or OnVault. See the [Backup and DR documentation on storage pools](https://cloud.google.com/backup-disaster-recovery/docs/concepts/storage-pools). For example, `DiskPoolOne`.", "type": "string" } }, "type": "object" }, "BatchCreateResourceValueConfigsRequest": { - "description": "Request message to create multiple resource value configs", "id": "BatchCreateResourceValueConfigsRequest", "properties": { "requests": { - "description": "Required. The resource value configs to be created.", "items": { "$ref": "CreateResourceValueConfigRequest" }, @@ -6812,11 +6307,9 @@ "type": "object" }, "BatchCreateResourceValueConfigsResponse": { - "description": "Response message for BatchCreateResourceValueConfigs", "id": "BatchCreateResourceValueConfigsResponse", "properties": { "resourceValueConfigs": { - "description": "The resource value configs created", "items": { "$ref": "GoogleCloudSecuritycenterV1ResourceValueConfig" }, @@ -6826,62 +6319,52 @@ "type": "object" }, "BigQueryDestination": { - "description": "The destination BigQuery dataset to export findings to.", "id": "BigQueryDestination", "properties": { "dataset": { - "description": "Required. The relative resource name of the destination dataset, in the form projects/{projectId}/datasets/{datasetId}.", "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)." + "$ref": "Expr" }, "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" }, "BulkMuteFindingsRequest": { - "description": "Request message for bulk findings update. Note: 1. If multiple bulk update requests match the same resource, the order in which they get executed is not defined. 2. Once a bulk operation is started, there is no way to stop it.", "id": "BulkMuteFindingsRequest", "properties": { "filter": { - "description": "Expression that identifies findings that should be updated. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes.", "type": "string" }, "muteAnnotation": { "deprecated": true, - "description": "This can be a mute configuration name or any identifier for mute/unmute of findings based on the filter.", "type": "string" }, "muteState": { - "description": "Optional. All findings matching the given filter will have their mute state set to this value. The default value is `MUTED`. Setting this to `UNDEFINED` will clear the mute state on all matching findings.", "enum": [ "MUTE_STATE_UNSPECIFIED", "MUTED", "UNDEFINED" ], "enumDescriptions": [ - "Unused.", - "Matching findings will be muted (default).", - "Matching findings will have their mute state cleared." + "", + "", + "" ], "type": "string" } @@ -6889,11 +6372,9 @@ "type": "object" }, "Chokepoint": { - "description": "Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations).", "id": "Chokepoint", "properties": { "relatedFindings": { - "description": "List of resource names of findings associated with this chokepoint. For example, organizations/123/sources/456/findings/789. This list will have at most 100 findings.", "items": { "type": "string" }, @@ -6903,65 +6384,53 @@ "type": "object" }, "CloudArmor": { - "description": "Fields related to Google Cloud Armor findings.", "id": "CloudArmor", "properties": { "adaptiveProtection": { - "$ref": "AdaptiveProtection", - "description": "Information about potential Layer 7 DDoS attacks identified by [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/adaptive-protection-overview)." + "$ref": "AdaptiveProtection" }, "attack": { - "$ref": "Attack", - "description": "Information about DDoS attack volume and classification." + "$ref": "Attack" }, "duration": { - "description": "Duration of attack from the start until the current moment (updated every 5 minutes).", "format": "google-duration", "type": "string" }, "requests": { - "$ref": "Requests", - "description": "Information about incoming requests evaluated by [Google Cloud Armor security policies](https://cloud.google.com/armor/docs/security-policy-overview)." + "$ref": "Requests" }, "securityPolicy": { - "$ref": "SecurityPolicy", - "description": "Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding." + "$ref": "SecurityPolicy" }, "threatVector": { - "description": "Distinguish between volumetric & protocol DDoS attack and application layer attacks. For example, \"L3_4\" for Layer 3 and Layer 4 DDoS attacks, or \"L_7\" for Layer 7 DDoS attacks.", "type": "string" } }, "type": "object" }, "CloudControl": { - "description": "CloudControl associated with the finding.", "id": "CloudControl", "properties": { "cloudControlName": { - "description": "Name of the CloudControl associated with the finding.", "type": "string" }, "policyType": { - "description": "Policy type of the CloudControl", "type": "string" }, "type": { - "description": "Type of cloud control.", "enum": [ "CLOUD_CONTROL_TYPE_UNSPECIFIED", "BUILT_IN", "CUSTOM" ], "enumDescriptions": [ - "Unspecified.", - "Built in Cloud Control.", - "Custom Cloud Control." + "", + "", + "" ], "type": "string" }, "version": { - "description": "Version of the Cloud Control", "format": "int32", "type": "integer" } @@ -6969,31 +6438,27 @@ "type": "object" }, "CloudDlpDataProfile": { - "description": "The [data profile](https://cloud.google.com/dlp/docs/data-profiles) associated with the finding.", "id": "CloudDlpDataProfile", "properties": { "dataProfile": { - "description": "Name of the data profile, for example, `projects/123/locations/europe/tableProfiles/8383929`.", "type": "string" }, "infoTypes": { - "description": "Type of information detected by SDP. Info type includes name, version and sensitivity of the detected information type.", "items": { "$ref": "InfoType" }, "type": "array" }, "parentType": { - "description": "The resource hierarchy level at which the data profile was generated.", "enum": [ "PARENT_TYPE_UNSPECIFIED", "ORGANIZATION", "PROJECT" ], "enumDescriptions": [ - "Unspecified parent type.", - "Organization-level configurations.", - "Project-level configurations." + "", + "", + "" ], "type": "string" } @@ -7001,47 +6466,37 @@ "type": "object" }, "CloudDlpInspection": { - "description": "Details about the Cloud Data Loss Prevention (Cloud DLP) [inspection job](https://cloud.google.com/dlp/docs/concepts-job-triggers) that produced the finding.", "id": "CloudDlpInspection", "properties": { "fullScan": { - "description": "Whether Cloud DLP scanned the complete resource or a sampled subset.", "type": "boolean" }, "infoType": { - "description": "The type of information (or *[infoType](https://cloud.google.com/dlp/docs/infotypes-reference)*) found, for example, `EMAIL_ADDRESS` or `STREET_ADDRESS`.", "type": "string" }, "infoTypeCount": { - "description": "The number of times Cloud DLP found this infoType within this job and resource.", "format": "int64", "type": "string" }, "inspectJob": { - "description": "Name of the inspection job, for example, `projects/123/locations/europe/dlpJobs/i-8383929`.", "type": "string" } }, "type": "object" }, "CloudLoggingEntry": { - "description": "Metadata taken from a [Cloud Logging LogEntry](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry)", "id": "CloudLoggingEntry", "properties": { "insertId": { - "description": "A unique identifier for the log entry.", "type": "string" }, "logId": { - "description": "The type of the log (part of `log_name`. `log_name` is the resource name of the log to which this log entry belongs). For example: `cloudresourcemanager.googleapis.com/activity`. Note that this field is not URL-encoded, unlike the `LOG_ID` field in `LogEntry`.", "type": "string" }, "resourceContainer": { - "description": "The organization, folder, or project of the monitored resource that produced this log entry.", "type": "string" }, "timestamp": { - "description": "The time the event described by the log entry occurred.", "format": "google-datetime", "type": "string" } @@ -7049,44 +6504,36 @@ "type": "object" }, "Compliance": { - "description": "Contains compliance information about a security standard indicating unmet recommendations.", "id": "Compliance", "properties": { "ids": { - "description": "Policies within the standard or benchmark, for example, A.12.4.1", "items": { "type": "string" }, "type": "array" }, "standard": { - "description": "Industry-wide compliance standards or benchmarks, such as CIS, PCI, and OWASP.", "type": "string" }, "version": { - "description": "Version of the standard or benchmark, for example, 1.1", "type": "string" } }, "type": "object" }, "ComplianceDetails": { - "description": "Compliance Details associated with the finding.", "id": "ComplianceDetails", "properties": { "cloudControl": { - "$ref": "CloudControl", - "description": "CloudControl associated with the finding" + "$ref": "CloudControl" }, "cloudControlDeploymentNames": { - "description": "Cloud Control Deployments associated with the finding. For example, organizations/123/locations/global/cloudControlDeployments/deploymentIdentifier", "items": { "type": "string" }, "type": "array" }, "frameworks": { - "description": "Details of Frameworks associated with the finding", "items": { "$ref": "Framework" }, @@ -7096,20 +6543,16 @@ "type": "object" }, "Connection": { - "description": "Contains information about the IP connection associated with the finding.", "id": "Connection", "properties": { "destinationIp": { - "description": "Destination IP address. Not present for sockets that are listening and not connected.", "type": "string" }, "destinationPort": { - "description": "Destination port. Not present for sockets that are listening and not connected.", "format": "int32", "type": "integer" }, "protocol": { - "description": "IANA Internet Protocol Number such as TCP(6) and UDP(17).", "enum": [ "PROTOCOL_UNSPECIFIED", "ICMP", @@ -7119,21 +6562,19 @@ "ESP" ], "enumDescriptions": [ - "Unspecified protocol (not HOPOPT).", - "Internet Control Message Protocol.", - "Transmission Control Protocol.", - "User Datagram Protocol.", - "Generic Routing Encapsulation.", - "Encap Security Payload." + "", + "", + "", + "", + "", + "" ], "type": "string" }, "sourceIp": { - "description": "Source IP address.", "type": "string" }, "sourcePort": { - "description": "Source port.", "format": "int32", "type": "integer" } @@ -7141,22 +6582,18 @@ "type": "object" }, "Contact": { - "description": "The email address of a contact.", "id": "Contact", "properties": { "email": { - "description": "An email address. For example, \"`person123@company.com`\".", "type": "string" } }, "type": "object" }, "ContactDetails": { - "description": "Details about specific contacts", "id": "ContactDetails", "properties": { "contacts": { - "description": "A list of contacts", "items": { "$ref": "Contact" }, @@ -7166,95 +6603,76 @@ "type": "object" }, "Container": { - "description": "Container associated with the finding.", "id": "Container", "properties": { "createTime": { - "description": "The time that the container was created.", "format": "google-datetime", "type": "string" }, "imageId": { - "description": "Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest.", "type": "string" }, "labels": { - "description": "Container labels, as provided by the container runtime.", "items": { "$ref": "Label" }, "type": "array" }, "name": { - "description": "Name of the container.", "type": "string" }, "uri": { - "description": "Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags.", "type": "string" } }, "type": "object" }, "Control": { - "description": "Compliance control associated with the finding.", "id": "Control", "properties": { "controlName": { - "description": "Name of the Control", "type": "string" }, "displayName": { - "description": "Display name of the control. For example, AU-02.", "type": "string" } }, "type": "object" }, "CreateResourceValueConfigRequest": { - "description": "Request message to create single resource value config", "id": "CreateResourceValueConfigRequest", "properties": { "parent": { - "description": "Required. Resource name of the new ResourceValueConfig's parent.", "type": "string" }, "resourceValueConfig": { - "$ref": "GoogleCloudSecuritycenterV1ResourceValueConfig", - "description": "Required. The resource value config being created." + "$ref": "GoogleCloudSecuritycenterV1ResourceValueConfig" } }, "type": "object" }, "CustomModuleValidationError": { - "description": "An error encountered while validating the uploaded configuration of an Event Threat Detection Custom Module.", "id": "CustomModuleValidationError", "properties": { "description": { - "description": "A description of the error, suitable for human consumption. Required.", "type": "string" }, "end": { - "$ref": "Position", - "description": "The end position of the error in the uploaded text version of the module. This field may be omitted if no specific position applies, or if one could not be computed." + "$ref": "Position" }, "fieldPath": { - "description": "The path, in RFC 8901 JSON Pointer format, to the field that failed validation. This may be left empty if no specific field is affected.", "type": "string" }, "start": { - "$ref": "Position", - "description": "The initial position of the error in the uploaded text version of the module. This field may be omitted if no specific position applies, or if one could not be computed." + "$ref": "Position" } }, "type": "object" }, "CustomModuleValidationErrors": { - "description": "A list of zero or more errors encountered while validating the uploaded configuration of an Event Threat Detection Custom Module.", "id": "CustomModuleValidationErrors", "properties": { "errors": { - "description": "The list of errors.", "items": { "$ref": "CustomModuleValidationError" }, @@ -7264,20 +6682,16 @@ "type": "object" }, "Cve": { - "description": "CVE stands for Common Vulnerabilities and Exposures. Information from the [CVE record](https://www.cve.org/ResourcesSupport/Glossary) that describes this vulnerability.", "id": "Cve", "properties": { "cvssv3": { - "$ref": "Cvssv3", - "description": "Describe Common Vulnerability Scoring System specified at https://www.first.org/cvss/v3.1/specification-document" + "$ref": "Cvssv3" }, "exploitReleaseDate": { - "description": "Date the first publicly available exploit or PoC was released.", "format": "google-datetime", "type": "string" }, "exploitationActivity": { - "description": "The exploitation activity of the vulnerability in the wild.", "enum": [ "EXPLOITATION_ACTIVITY_UNSPECIFIED", "WIDE", @@ -7287,26 +6701,23 @@ "NO_KNOWN" ], "enumDescriptions": [ - "Invalid or empty value.", - "Exploitation has been reported or confirmed to widely occur.", - "Limited reported or confirmed exploitation activities.", - "Exploit is publicly available.", - "No known exploitation activity, but has a high potential for exploitation.", - "No known exploitation activity." + "", + "", + "", + "", + "", + "" ], "type": "string" }, "firstExploitationDate": { - "description": "Date of the earliest known exploitation.", "format": "google-datetime", "type": "string" }, "id": { - "description": "The unique identifier for the vulnerability. e.g. CVE-2021-34527", "type": "string" }, "impact": { - "description": "The potential impact of the vulnerability if it was to be exploited.", "enum": [ "RISK_RATING_UNSPECIFIED", "LOW", @@ -7315,56 +6726,49 @@ "CRITICAL" ], "enumDescriptions": [ - "Invalid or empty value.", - "Exploitation would have little to no security impact.", - "Exploitation would enable attackers to perform activities, or could allow attackers to have a direct impact, but would require additional steps.", - "Exploitation would enable attackers to have a notable direct impact without needing to overcome any major mitigating factors.", - "Exploitation would fundamentally undermine the security of affected systems, enable actors to perform significant attacks with minimal effort, with little to no mitigating factors to overcome." + "", + "", + "", + "", + "" ], "type": "string" }, "observedInTheWild": { - "description": "Whether or not the vulnerability has been observed in the wild.", "type": "boolean" }, "references": { - "description": "Additional information about the CVE. e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527", "items": { "$ref": "Reference" }, "type": "array" }, "upstreamFixAvailable": { - "description": "Whether upstream fix is available for the CVE.", "type": "boolean" }, "zeroDay": { - "description": "Whether or not the vulnerability was zero day when the finding was published.", "type": "boolean" } }, "type": "object" }, "Cvssv3": { - "description": "Common Vulnerability Scoring System version 3.", "id": "Cvssv3", "properties": { "attackComplexity": { - "description": "This metric describes the conditions beyond the attacker's control that must exist in order to exploit the vulnerability.", "enum": [ "ATTACK_COMPLEXITY_UNSPECIFIED", "ATTACK_COMPLEXITY_LOW", "ATTACK_COMPLEXITY_HIGH" ], "enumDescriptions": [ - "Invalid value.", - "Specialized access conditions or extenuating circumstances do not exist. An attacker can expect repeatable success when attacking the vulnerable component.", - "A successful attack depends on conditions beyond the attacker's control. That is, a successful attack cannot be accomplished at will, but requires the attacker to invest in some measurable amount of effort in preparation or execution against the vulnerable component before a successful attack can be expected." + "", + "", + "" ], "type": "string" }, "attackVector": { - "description": "Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. This metric reflects the context by which vulnerability exploitation is possible.", "enum": [ "ATTACK_VECTOR_UNSPECIFIED", "ATTACK_VECTOR_NETWORK", @@ -7373,16 +6777,15 @@ "ATTACK_VECTOR_PHYSICAL" ], "enumDescriptions": [ - "Invalid value.", - "The vulnerable component is bound to the network stack and the set of possible attackers extends beyond the other options listed below, up to and including the entire Internet.", - "The vulnerable component is bound to the network stack, but the attack is limited at the protocol level to a logically adjacent topology.", - "The vulnerable component is not bound to the network stack and the attacker's path is via read/write/execute capabilities.", - "The attack requires the attacker to physically touch or manipulate the vulnerable component." + "", + "", + "", + "", + "" ], "type": "string" }, "availabilityImpact": { - "description": "This metric measures the impact to the availability of the impacted component resulting from a successfully exploited vulnerability.", "enum": [ "IMPACT_UNSPECIFIED", "IMPACT_HIGH", @@ -7390,20 +6793,18 @@ "IMPACT_NONE" ], "enumDescriptions": [ - "Invalid value.", - "High impact.", - "Low impact.", - "No impact." + "", + "", + "", + "" ], "type": "string" }, "baseScore": { - "description": "The base score is a function of the base metric scores.", "format": "double", "type": "number" }, "confidentialityImpact": { - "description": "This metric measures the impact to the confidentiality of the information resources managed by a software component due to a successfully exploited vulnerability.", "enum": [ "IMPACT_UNSPECIFIED", "IMPACT_HIGH", @@ -7411,15 +6812,14 @@ "IMPACT_NONE" ], "enumDescriptions": [ - "Invalid value.", - "High impact.", - "Low impact.", - "No impact." + "", + "", + "", + "" ], "type": "string" }, "integrityImpact": { - "description": "This metric measures the impact to integrity of a successfully exploited vulnerability.", "enum": [ "IMPACT_UNSPECIFIED", "IMPACT_HIGH", @@ -7427,15 +6827,14 @@ "IMPACT_NONE" ], "enumDescriptions": [ - "Invalid value.", - "High impact.", - "Low impact.", - "No impact." + "", + "", + "", + "" ], "type": "string" }, "privilegesRequired": { - "description": "This metric describes the level of privileges an attacker must possess before successfully exploiting the vulnerability.", "enum": [ "PRIVILEGES_REQUIRED_UNSPECIFIED", "PRIVILEGES_REQUIRED_NONE", @@ -7443,38 +6842,36 @@ "PRIVILEGES_REQUIRED_HIGH" ], "enumDescriptions": [ - "Invalid value.", - "The attacker is unauthorized prior to attack, and therefore does not require any access to settings or files of the vulnerable system to carry out an attack.", - "The attacker requires privileges that provide basic user capabilities that could normally affect only settings and files owned by a user. Alternatively, an attacker with Low privileges has the ability to access only non-sensitive resources.", - "The attacker requires privileges that provide significant (e.g., administrative) control over the vulnerable component allowing access to component-wide settings and files." + "", + "", + "", + "" ], "type": "string" }, "scope": { - "description": "The Scope metric captures whether a vulnerability in one vulnerable component impacts resources in components beyond its security scope.", "enum": [ "SCOPE_UNSPECIFIED", "SCOPE_UNCHANGED", "SCOPE_CHANGED" ], "enumDescriptions": [ - "Invalid value.", - "An exploited vulnerability can only affect resources managed by the same security authority.", - "An exploited vulnerability can affect resources beyond the security scope managed by the security authority of the vulnerable component." + "", + "", + "" ], "type": "string" }, "userInteraction": { - "description": "This metric captures the requirement for a human user, other than the attacker, to participate in the successful compromise of the vulnerable component.", "enum": [ "USER_INTERACTION_UNSPECIFIED", "USER_INTERACTION_NONE", "USER_INTERACTION_REQUIRED" ], "enumDescriptions": [ - "Invalid value.", - "The vulnerable system can be exploited without interaction from any user.", - "Successful exploitation of this vulnerability requires a user to take some action before the vulnerability can be exploited." + "", + "", + "" ], "type": "string" } @@ -7482,15 +6879,12 @@ "type": "object" }, "Cwe": { - "description": "CWE stands for Common Weakness Enumeration. Information about this weakness, as described by [CWE](https://cwe.mitre.org/).", "id": "Cwe", "properties": { "id": { - "description": "The CWE identifier, e.g. CWE-94", "type": "string" }, "references": { - "description": "Any reference to the details on the CWE, for example, https://cwe.mitre.org/data/definitions/94.html", "items": { "$ref": "Reference" }, @@ -7500,20 +6894,16 @@ "type": "object" }, "DataAccessEvent": { - "description": "Details about a data access attempt made by a principal not authorized under applicable data security policy.", "id": "DataAccessEvent", "properties": { "eventId": { - "description": "Unique identifier for data access event.", "type": "string" }, "eventTime": { - "description": "Timestamp of data access event.", "format": "google-datetime", "type": "string" }, "operation": { - "description": "The operation performed by the principal to access the data.", "enum": [ "OPERATION_UNSPECIFIED", "READ", @@ -7521,35 +6911,30 @@ "COPY" ], "enumDescriptions": [ - "The operation is unspecified.", - "Represents a read operation.", - "Represents a move operation.", - "Represents a copy operation." + "", + "", + "", + "" ], "type": "string" }, "principalEmail": { - "description": "The email address of the principal that accessed the data. The principal could be a user account, service account, Google group, or other.", "type": "string" } }, "type": "object" }, "DataFlowEvent": { - "description": "Details about a data flow event, in which either the data is moved to or is accessed from a non-compliant geo-location, as defined in the applicable data security policy.", "id": "DataFlowEvent", "properties": { "eventId": { - "description": "Unique identifier for data flow event.", "type": "string" }, "eventTime": { - "description": "Timestamp of data flow event.", "format": "google-datetime", "type": "string" }, "operation": { - "description": "The operation performed by the principal for the data flow event.", "enum": [ "OPERATION_UNSPECIFIED", "READ", @@ -7557,40 +6942,34 @@ "COPY" ], "enumDescriptions": [ - "The operation is unspecified.", - "Represents a read operation.", - "Represents a move operation.", - "Represents a copy operation." + "", + "", + "", + "" ], "type": "string" }, "principalEmail": { - "description": "The email address of the principal that initiated the data flow event. The principal could be a user account, service account, Google group, or other.", "type": "string" }, "violatedLocation": { - "description": "Non-compliant location of the principal or the data destination.", "type": "string" } }, "type": "object" }, "DataRetentionDeletionEvent": { - "description": "Details about data retention deletion violations, in which the data is non-compliant based on their retention or deletion time, as defined in the applicable data security policy. The Data Retention Deletion (DRD) control is a control of the DSPM (Data Security Posture Management) suite that enables organizations to manage data retention and deletion policies in compliance with regulations, such as GDPR and CRPA. DRD supports two primary policy types: maximum storage length (max TTL) and minimum storage length (min TTL). Both are aimed at helping organizations meet regulatory and data management commitments.", "id": "DataRetentionDeletionEvent", "properties": { "dataObjectCount": { - "description": "Number of objects that violated the policy for this resource. If the number is less than 1,000, then the value of this field is the exact number. If the number of objects that violated the policy is greater than or equal to 1,000, then the value of this field is 1000.", "format": "int64", "type": "string" }, "eventDetectionTime": { - "description": "Timestamp indicating when the event was detected.", "format": "google-datetime", "type": "string" }, "eventType": { - "description": "Type of the DRD event.", "enum": [ "EVENT_TYPE_UNSPECIFIED", "EVENT_TYPE_MAX_TTL_EXCEEDED", @@ -7606,21 +6985,19 @@ false ], "enumDescriptions": [ - "Unspecified event type.", - "Deprecated: This field is pending removal. Use EVENT_TYPE_MAX_TTL_FROM_CREATION or EVENT_TYPE_MAX_TTL_FROM_LAST_MODIFICATION instead.", - "Max TTL from the asset's creation time.", - "Max TTL from the asset's last modification time.", - "Min TTL from the asset's creation time." + "", + "", + "", + "", + "" ], "type": "string" }, "maxRetentionAllowed": { - "description": "Maximum duration of retention allowed from the DRD control. This comes from the DRD control where users set a max TTL for their data. For example, suppose that a user sets the max TTL for a Cloud Storage bucket to 90 days. However, an object in that bucket is 100 days old. In this case, a DataRetentionDeletionEvent will be generated for that Cloud Storage bucket, and the max_retention_allowed is 90 days.", "format": "google-duration", "type": "string" }, "minRetentionAllowed": { - "description": "Min duration of retention allowed from the DSPM retention control. This field is only populated when event type is set to EVENT_TYPE_MIN_TTL_FROM_CREATION.", "format": "google-duration", "type": "string" } @@ -7628,64 +7005,51 @@ "type": "object" }, "Database": { - "description": "Represents database access information, such as queries. A database may be a sub-resource of an instance (as in the case of Cloud SQL instances or Cloud Spanner instances), or the database instance itself. Some database resources might not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types, such as Cloud SQL databases, are not yet supported by Cloud Asset Inventory. In these cases only the display name is provided.", "id": "Database", "properties": { "displayName": { - "description": "The human-readable name of the database that the user connected to.", "type": "string" }, "grantees": { - "description": "The target usernames, roles, or groups of an SQL privilege grant, which is not an IAM policy change.", "items": { "type": "string" }, "type": "array" }, "name": { - "description": "Some database resources may not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types are not yet supported by Cloud Asset Inventory (e.g. Cloud SQL databases). In these cases only the display name will be provided. The [full resource name](https://google.aip.dev/122#full-resource-names) of the database that the user connected to, if it is supported by Cloud Asset Inventory.", "type": "string" }, "query": { - "description": "The SQL statement that is associated with the database access.", "type": "string" }, "userName": { - "description": "The username used to connect to the database. The username might not be an IAM principal and does not have a set format.", "type": "string" }, "version": { - "description": "The version of the database, for example, POSTGRES_14. See [the complete list](https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1/SqlDatabaseVersion).", "type": "string" } }, "type": "object" }, "Dataset": { - "description": "Vertex AI dataset associated with the finding.", "id": "Dataset", "properties": { "displayName": { - "description": "The user defined display name of dataset, e.g. plants-dataset", "type": "string" }, "name": { - "description": "Resource name of the dataset, e.g. projects/{project}/locations/{location}/datasets/2094040236064505856", "type": "string" }, "source": { - "description": "Data source, such as BigQuery source URI, e.g. bq://scc-nexus-test.AIPPtest.gsod", "type": "string" } }, "type": "object" }, "Denied": { - "description": "Denied IP rule.", "id": "Denied", "properties": { "ipRules": { - "description": "Optional. Optional list of denied IP rules.", "items": { "$ref": "IpRule" }, @@ -7695,15 +7059,12 @@ "type": "object" }, "Detection": { - "description": "Memory hash detection contributing to the binary family match.", "id": "Detection", "properties": { "binary": { - "description": "The name of the binary associated with the memory hash signature detection.", "type": "string" }, "percentPagesMatched": { - "description": "The percentage of memory page hashes in the signature that were matched.", "format": "double", "type": "number" } @@ -7711,35 +7072,29 @@ "type": "object" }, "DiscoveredWorkload": { - "description": "Represents discovered, customer managed workload that is not registered with the respective GCP service.", "id": "DiscoveredWorkload", "properties": { "confidence": { - "description": "The confidence in detection of this workload.", "enum": [ "CONFIDENCE_UNSPECIFIED", "CONFIDENCE_HIGH" ], "enumDescriptions": [ - "Unspecified confidence level.", - "High confidence in detection of a workload." + "", + "" ], "type": "string" }, "detectedRelevantHardware": { - "description": "A boolean flag set to true if associated hardware strongly predicts the workload type.", "type": "boolean" }, "detectedRelevantKeywords": { - "description": "A boolean flag set to true if associated keywords strongly predict the workload type.", "type": "boolean" }, "detectedRelevantPackages": { - "description": "A boolean flag set to true if installed packages strongly predict the workload type.", "type": "boolean" }, "workloadType": { - "description": "The type of workload.", "enum": [ "WORKLOAD_TYPE_UNSPECIFIED", "MCP_SERVER", @@ -7747,10 +7102,10 @@ "AGENT" ], "enumDescriptions": [ - "Unspecified workload type", - "A workload of type MCP Server", - "A workload of type AI Inference", - "A workload of type LLM Agent" + "", + "", + "", + "" ], "type": "string" } @@ -7758,53 +7113,43 @@ "type": "object" }, "Disk": { - "description": "Contains information about the disk associated with the finding.", "id": "Disk", "properties": { "name": { - "description": "The name of the disk, for example, \"https://www.googleapis.com/compute/v1/projects/{project-id}/zones/{zone-id}/disks/{disk-id}\".", "type": "string" } }, "type": "object" }, "DiskPath": { - "description": "Path of the file in terms of underlying disk/partition identifiers.", "id": "DiskPath", "properties": { "partitionUuid": { - "description": "UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid)", "type": "string" }, "relativePath": { - "description": "Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh", "type": "string" } }, "type": "object" }, "DynamicMuteRecord": { - "description": "The record of a dynamic mute rule that matches the finding.", "id": "DynamicMuteRecord", "properties": { "matchTime": { - "description": "When the dynamic mute rule first matched the finding.", "format": "google-datetime", "type": "string" }, "muteConfig": { - "description": "The relative resource name of the mute rule, represented by a mute config, that created this record, for example `organizations/123/muteConfigs/mymuteconfig` or `organizations/123/locations/global/muteConfigs/mymuteconfig`.", "type": "string" } }, "type": "object" }, "EffectiveEventThreatDetectionCustomModule": { - "description": "An EffectiveEventThreatDetectionCustomModule is the representation of an Event Threat Detection custom module at a specified level of the resource hierarchy: organization, folder, or project. If a custom module is inherited from a parent organization or folder, the value of the `enablement_state` property in EffectiveEventThreatDetectionCustomModule is set to the value that is effective in the parent, instead of `INHERITED`. For example, if the module is enabled in a parent organization or folder, the effective `enablement_state` for the module in all child folders or projects is also `enabled`. EffectiveEventThreatDetectionCustomModule is read-only.", "id": "EffectiveEventThreatDetectionCustomModule", "properties": { "cloudProvider": { - "description": "The cloud provider of the custom module.", "enum": [ "CLOUD_PROVIDER_UNSPECIFIED", "GOOGLE_CLOUD_PLATFORM", @@ -7812,10 +7157,10 @@ "MICROSOFT_AZURE" ], "enumDescriptions": [ - "Unspecified cloud provider.", - "Google Cloud.", - "Amazon Web Services.", - "Microsoft Azure." + "", + "", + "", + "" ], "type": "string" }, @@ -7824,42 +7169,36 @@ "description": "Properties of the object.", "type": "any" }, - "description": "Output only. Config for the effective module.", "readOnly": true, "type": "object" }, "description": { - "description": "Output only. The description for the module.", "readOnly": true, "type": "string" }, "displayName": { - "description": "Output only. The human readable name to be displayed for the module.", "readOnly": true, "type": "string" }, "enablementState": { - "description": "Output only. The effective state of enablement for the module at the given level of the hierarchy.", "enum": [ "ENABLEMENT_STATE_UNSPECIFIED", "ENABLED", "DISABLED" ], "enumDescriptions": [ - "Unspecified enablement state.", - "The module is enabled at the given level.", - "The module is disabled at the given level." + "", + "", + "" ], "readOnly": true, "type": "string" }, "name": { - "description": "Output only. The resource name of the effective ETD custom module. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/effectiveCustomModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/effectiveCustomModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/effectiveCustomModules/{module}`.", "readOnly": true, "type": "string" }, "type": { - "description": "Output only. Type for the module. e.g. CONFIGURABLE_BAD_IP.", "readOnly": true, "type": "string" } @@ -7867,37 +7206,30 @@ "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" }, "EnvironmentVariable": { - "description": "A name-value pair representing an environment variable used in an operating system process.", "id": "EnvironmentVariable", "properties": { "name": { - "description": "Environment variable name as a JSON encoded string.", "type": "string" }, "val": { - "description": "Environment variable value as a JSON encoded string.", "type": "string" } }, "type": "object" }, "EventThreatDetectionCustomModule": { - "description": "Represents an instance of an Event Threat Detection custom module, including its full module name, display name, enablement state, and last updated time. You can create a custom module at the organization, folder, or project level. Custom modules that you create at the organization or folder level are inherited by child folders and projects.", "id": "EventThreatDetectionCustomModule", "properties": { "ancestorModule": { - "description": "Output only. The closest ancestor module that this module inherits the enablement state from. The format is the same as the EventThreatDetectionCustomModule resource name.", "readOnly": true, "type": "string" }, "cloudProvider": { - "description": "The cloud provider of the custom module.", "enum": [ "CLOUD_PROVIDER_UNSPECIFIED", "GOOGLE_CLOUD_PLATFORM", @@ -7905,10 +7237,10 @@ "MICROSOFT_AZURE" ], "enumDescriptions": [ - "Unspecified cloud provider.", - "Google Cloud.", - "Amazon Web Services (AWS).", - "Microsoft Azure." + "", + "", + "", + "" ], "type": "string" }, @@ -7917,19 +7249,15 @@ "description": "Properties of the object.", "type": "any" }, - "description": "Config for the module. For the resident module, its config value is defined at this level. For the inherited module, its config value is inherited from the ancestor module.", "type": "object" }, "description": { - "description": "The description for the module.", "type": "string" }, "displayName": { - "description": "The human readable name to be displayed for the module.", "type": "string" }, "enablementState": { - "description": "The state of enablement for the module at the given level of the hierarchy.", "enum": [ "ENABLEMENT_STATE_UNSPECIFIED", "ENABLED", @@ -7937,28 +7265,24 @@ "INHERITED" ], "enumDescriptions": [ - "Unspecified enablement state.", - "The module is enabled at the given level.", - "The module is disabled at the given level.", - "When the enablement state is inherited." + "", + "", + "", + "" ], "type": "string" }, "lastEditor": { - "description": "Output only. The editor the module was last updated by.", "readOnly": true, "type": "string" }, "name": { - "description": "Immutable. The resource name of the Event Threat Detection custom module. Its format is: * `organizations/{organization}/eventThreatDetectionSettings/customModules/{module}`. * `folders/{folder}/eventThreatDetectionSettings/customModules/{module}`. * `projects/{project}/eventThreatDetectionSettings/customModules/{module}`.", "type": "string" }, "type": { - "description": "Type for the module. e.g. CONFIGURABLE_BAD_IP.", "type": "string" }, "updateTime": { - "description": "Output only. The time the module was last updated.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -7967,43 +7291,36 @@ "type": "object" }, "ExfilResource": { - "description": "Resource where data was exfiltrated from or exfiltrated to.", "id": "ExfilResource", "properties": { "components": { - "description": "Subcomponents of the asset that was exfiltrated, like URIs used during exfiltration, table names, databases, and filenames. For example, multiple tables might have been exfiltrated from the same Cloud SQL instance, or multiple files might have been exfiltrated from the same Cloud Storage bucket.", "items": { "type": "string" }, "type": "array" }, "name": { - "description": "The resource's [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name).", "type": "string" } }, "type": "object" }, "Exfiltration": { - "description": "Exfiltration represents a data exfiltration attempt from one or more sources to one or more targets. The `sources` attribute lists the sources of the exfiltrated data. The `targets` attribute lists the destinations the data was copied to.", "id": "Exfiltration", "properties": { "sources": { - "description": "If there are multiple sources, then the data is considered \"joined\" between them. For instance, BigQuery can join multiple tables, and each table would be considered a source.", "items": { "$ref": "ExfilResource" }, "type": "array" }, "targets": { - "description": "If there are multiple targets, each target would get a complete copy of the \"joined\" source data.", "items": { "$ref": "ExfilResource" }, "type": "array" }, "totalExfiltratedBytes": { - "description": "Total exfiltrated bytes processed for the entire job.", "format": "int64", "type": "string" } @@ -8011,15 +7328,12 @@ "type": "object" }, "ExportFindingsMetadata": { - "description": "The LRO metadata for a ExportFindings request.", "id": "ExportFindingsMetadata", "properties": { "bigQueryDestination": { - "$ref": "BigQueryDestination", - "description": "Required. The destination BigQuery dataset to export findings to." + "$ref": "BigQueryDestination" }, "exportStartTime": { - "description": "Optional. Timestamp at which export was started", "format": "google-datetime", "type": "string" } @@ -8027,176 +7341,139 @@ "type": "object" }, "ExportFindingsResponse": { - "description": "The response to a ExportFindings request. Contains the LRO information.", "id": "ExportFindingsResponse", "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" }, "ExternalExposure": { - "description": "Details about the externally exposed resource associated with the finding.", "id": "ExternalExposure", "properties": { "backendBucket": { - "description": "The full resource name of the load balancer backend bucket, for example, \"//compute.googleapis.com/projects/{project-id}/global/backendBuckets/{name}\"", "type": "string" }, "backendService": { - "description": "The full resource name of load balancer backend service, for example, \"//compute.googleapis.com/projects/{project-id}/global/backendServices/{name}\".", "type": "string" }, "exposedApplication": { - "description": "The name and version of the exposed web application, for example, \"Jenkins 2.184\".", "type": "string" }, "exposedEndpoint": { - "description": "The resource which is running the exposed service, for example, \"//compute.googleapis.com/projects/{project-id}/zones/{zone}/instances/{instance}.”", "type": "string" }, "exposedService": { - "description": "The name and version of the service, for example, \"Jupyter Notebook 6.14.0\".", "type": "string" }, "forwardingRule": { - "description": "The full resource name of the forwarding rule, for example, \"//compute.googleapis.com/projects/{project-id}/global/forwardingRules/{forwarding-rule-name}\".", "type": "string" }, "hostnameUri": { - "description": "Hostname of the exposed application, for example, \"https://test-app.a.run.app/\"", "type": "string" }, "httpResponse": { - "description": "The http response returned by the web application.", "items": { "$ref": "HttpResponse" }, "type": "array" }, "instanceGroup": { - "description": "The full resource name of the instance group, for example, \"//compute.googleapis.com/projects/{project-id}/global/instanceGroups/{name}\".", "type": "string" }, "internalBackendService": { - "description": "The full resource name of load balancer backend service in the internal project having resource exposed via PSC, for example, \"//compute.googleapis.com/projects/{project-id}/global/backendServices/{name}\".", "type": "string" }, "loadBalancerFirewallPolicy": { - "description": "The full resource name of the load balancer firewall policy, for example, \"//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{policy-name}\".", "type": "string" }, "networkEndpointGroup": { - "description": "The full resource name of the network endpoint group, for example, \"//compute.googleapis.com/projects/{project-id}/global/networkEndpointGroups/{name}\".", "type": "string" }, "networkIngressFirewallPolicy": { - "description": "The full resource name of the network ingress firewall policy, for example, \"//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{name}\".", "type": "string" }, "privateIpAddress": { - "description": "Private IP address of the exposed endpoint.", "type": "string" }, "privatePort": { - "description": "Port number associated with private IP address.", "type": "string" }, "pscNetworkAttachment": { - "description": "The full resource name of the PSC (Private Service Connect) network attachment that network interface controller is attached to, for example, \"//compute.googleapis.com/projects/{project-id}/regions/{region}/networkAttachments/{name}\"", "type": "string" }, "pscServiceAttachment": { - "description": "The full resource name of the PSC (Private Service Connect) service attachment that the load balancer network endpoint group targets, for example, \"//compute.googleapis.com/projects/{project-id}/regions/{region}/serviceAttachments/{name}\"", "type": "string" }, "publicIpAddress": { - "description": "Public IP address of the exposed endpoint.", "type": "string" }, "publicPort": { - "description": "Public port number of the exposed endpoint.", "type": "string" }, "serviceFirewallPolicy": { - "description": "The full resource name of the firewall policy of the exposed service, for example, \"//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{policy-name}\".", "type": "string" } }, "type": "object" }, "File": { - "description": "File information about the related binary/library used by an executable, or the script used by a script interpreter", "id": "File", "properties": { "contents": { - "description": "Prefix of the file contents as a JSON-encoded string.", "type": "string" }, "diskPath": { - "$ref": "DiskPath", - "description": "Path of the file in terms of underlying disk/partition identifiers." + "$ref": "DiskPath" }, "fileLoadState": { - "description": "The load state of the file.", "enum": [ "FILE_LOAD_STATE_UNSPECIFIED", "LOADED_BY_PROCESS", "NOT_LOADED_BY_PROCESS" ], "enumDescriptions": [ - "The file state is unspecified.", - "The file is being used by an active process at the time of scanning.", - "The file is not being used by any active process at the time of scanning." + "", + "", + "" ], "type": "string" }, "hashedSize": { - "description": "The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file.", "format": "int64", "type": "string" }, "operations": { - "description": "Operation(s) performed on a file.", "items": { "$ref": "FileOperation" }, "type": "array" }, "partiallyHashed": { - "description": "True when the hash covers only a prefix of the file.", "type": "boolean" }, "path": { - "description": "Absolute path of the file as a JSON encoded string.", "type": "string" }, "sha256": { - "description": "SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file.", "type": "string" }, "size": { - "description": "Size of the file in bytes.", "format": "int64", "type": "string" } @@ -8204,11 +7481,9 @@ "type": "object" }, "FileOperation": { - "description": "Operation(s) performed on a file.", "id": "FileOperation", "properties": { "type": { - "description": "The type of the operation", "enum": [ "OPERATION_TYPE_UNSPECIFIED", "OPEN", @@ -8218,12 +7493,12 @@ "EXECUTE" ], "enumDescriptions": [ - "The operation is unspecified.", - "Represents an open operation.", - "Represents a read operation.", - "Represents a rename operation.", - "Represents a write operation.", - "Represents an execute operation." + "", + "", + "", + "", + "", + "" ], "type": "string" } @@ -8231,81 +7506,63 @@ "type": "object" }, "Finding": { - "description": "Security Command Center finding. A finding is a record of assessment data like security, risk, health, or privacy, that is ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, a cross-site scripting (XSS) vulnerability in an App Engine application is a finding.", "id": "Finding", "properties": { "access": { - "$ref": "Access", - "description": "Access details associated with the finding, such as more information on the caller, which method was accessed, and from where." + "$ref": "Access" }, "affectedResources": { - "$ref": "AffectedResources", - "description": "AffectedResources associated with the finding." + "$ref": "AffectedResources" }, "agentDataAccessEvents": { - "description": "Agent data access events associated with the finding.", "items": { "$ref": "AgentDataAccessEvent" }, "type": "array" }, "aiModel": { - "$ref": "AiModel", - "description": "The AI model associated with the finding." + "$ref": "AiModel" }, "application": { - "$ref": "Application", - "description": "Represents an application associated with the finding." + "$ref": "Application" }, "artifactGuardPolicies": { - "$ref": "ArtifactGuardPolicies", - "description": "ArtifactGuardPolicies associated with the finding." + "$ref": "ArtifactGuardPolicies" }, "attackExposure": { - "$ref": "AttackExposure", - "description": "The results of an attack path simulation relevant to this finding." + "$ref": "AttackExposure" }, "backupDisasterRecovery": { - "$ref": "BackupDisasterRecovery", - "description": "Fields related to Backup and DR findings." + "$ref": "BackupDisasterRecovery" }, "canonicalName": { - "description": "The canonical name of the finding. It's either \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}\", \"folders/{folder_id}/sources/{source_id}/findings/{finding_id}\" or \"projects/{project_number}/sources/{source_id}/findings/{finding_id}\", depending on the closest CRM ancestor of the resource associated with the finding.", "type": "string" }, "category": { - "description": "The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: \"XSS_FLASH_INJECTION\"", "type": "string" }, "chokepoint": { - "$ref": "Chokepoint", - "description": "Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations). This field cannot be updated. Its value is ignored in all update requests." + "$ref": "Chokepoint" }, "cloudArmor": { - "$ref": "CloudArmor", - "description": "Fields related to Cloud Armor findings." + "$ref": "CloudArmor" }, "cloudDlpDataProfile": { - "$ref": "CloudDlpDataProfile", - "description": "Cloud DLP data profile that is associated with the finding." + "$ref": "CloudDlpDataProfile" }, "cloudDlpInspection": { - "$ref": "CloudDlpInspection", - "description": "Cloud Data Loss Prevention (Cloud DLP) inspection results that are associated with the finding." + "$ref": "CloudDlpInspection" }, "complianceDetails": { - "$ref": "ComplianceDetails", - "description": "Details about the compliance implications of the finding." + "$ref": "ComplianceDetails" }, "compliances": { - "description": "Contains compliance information for security standards associated to the finding.", "items": { "$ref": "Compliance" }, "type": "array" }, "connections": { - "description": "Contains information about the IP connection associated with the finding.", "items": { "$ref": "Connection" }, @@ -8315,93 +7572,76 @@ "additionalProperties": { "$ref": "ContactDetails" }, - "description": "Output only. Map containing the points of contact for the given finding. The key represents the type of contact, while the value contains a list of all the contacts that pertain. Please refer to: https://cloud.google.com/resource-manager/docs/managing-notification-contacts#notification-categories { \"security\": { \"contacts\": [ { \"email\": \"person1@company.com\" }, { \"email\": \"person2@company.com\" } ] } }", "readOnly": true, "type": "object" }, "containers": { - "description": "Containers associated with the finding. This field provides information for both Kubernetes and non-Kubernetes containers.", "items": { "$ref": "Container" }, "type": "array" }, "createTime": { - "description": "The time at which the finding was created in Security Command Center.", "format": "google-datetime", "type": "string" }, "dataAccessEvents": { - "description": "Data access events associated with the finding.", "items": { "$ref": "DataAccessEvent" }, "type": "array" }, "dataFlowEvents": { - "description": "Data flow events associated with the finding.", "items": { "$ref": "DataFlowEvent" }, "type": "array" }, "dataRetentionDeletionEvents": { - "description": "Data retention deletion events associated with the finding.", "items": { "$ref": "DataRetentionDeletionEvent" }, "type": "array" }, "database": { - "$ref": "Database", - "description": "Database associated with the finding." + "$ref": "Database" }, "description": { - "description": "Contains more details about the finding.", "type": "string" }, "discoveredWorkload": { - "$ref": "DiscoveredWorkload", - "description": "DiscoveredWorkload associated with the finding." + "$ref": "DiscoveredWorkload" }, "disk": { - "$ref": "Disk", - "description": "Disk associated with the finding." + "$ref": "Disk" }, "eventTime": { - "description": "The time the finding was first detected. If an existing finding is updated, then this is the time the update occurred. For example, if the finding represents an open firewall, this property captures the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding is later resolved, then this time reflects when the finding was resolved. This must not be set to a value greater than the current timestamp.", "format": "google-datetime", "type": "string" }, "exfiltration": { - "$ref": "Exfiltration", - "description": "Represents exfiltrations associated with the finding." + "$ref": "Exfiltration" }, "externalExposure": { - "$ref": "ExternalExposure", - "description": "External exposure associated with the finding." + "$ref": "ExternalExposure" }, "externalSystems": { "additionalProperties": { "$ref": "GoogleCloudSecuritycenterV1ExternalSystem" }, - "description": "Output only. Third party SIEM/SOAR fields within SCC, contains external system information and external system finding fields.", "readOnly": true, "type": "object" }, "externalUri": { - "description": "The URI that, if available, points to a web page outside of Security Command Center where additional information about the finding can be found. This field is guaranteed to be either empty or a well formed URL.", "type": "string" }, "files": { - "description": "File associated with the finding.", "items": { "$ref": "File" }, "type": "array" }, "findingClass": { - "description": "The class of the finding.", "enum": [ "FINDING_CLASS_UNSPECIFIED", "THREAT", @@ -8417,79 +7657,67 @@ "SECRET" ], "enumDescriptions": [ - "Unspecified finding class.", - "Describes unwanted or malicious activity.", - "Describes a potential weakness in software that increases risk to Confidentiality & Integrity & Availability.", - "Describes a potential weakness in cloud resource/asset configuration that increases risk.", - "Describes a security observation that is for informational purposes.", - "Describes an error that prevents some SCC functionality.", - "Describes a potential security risk due to a change in the security posture.", - "Describes a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination.", - "Describes a potential security risk to data assets that contain sensitive data.", - "Describes a resource or resource group where high risk attack paths converge, based on attack path simulations (APS).", - "Describes a potential security risk due to the resource being exposed to the internet.", - "Describes a potential security risk due to plaintext credentials, keys, or tokens being exposed in an asset or workload." + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" ], "type": "string" }, "groupMemberships": { - "description": "Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way. This field cannot be updated. Its value is ignored in all update requests.", "items": { "$ref": "GroupMembership" }, "type": "array" }, "iamBindings": { - "description": "Represents IAM bindings associated with the finding.", "items": { "$ref": "IamBinding" }, "type": "array" }, "indicator": { - "$ref": "Indicator", - "description": "Represents what's commonly known as an *indicator of compromise* (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise)." + "$ref": "Indicator" }, "ipRules": { - "$ref": "IpRules", - "description": "IP rules associated with the finding." + "$ref": "IpRules" }, "job": { - "$ref": "Job", - "description": "Job associated with the finding." + "$ref": "Job" }, "kernelRootkit": { - "$ref": "KernelRootkit", - "description": "Signature of the kernel rootkit." + "$ref": "KernelRootkit" }, "kubernetes": { - "$ref": "Kubernetes", - "description": "Kubernetes resources associated with the finding." + "$ref": "Kubernetes" }, "loadBalancers": { - "description": "The load balancers associated with the finding.", "items": { "$ref": "LoadBalancer" }, "type": "array" }, "logEntries": { - "description": "Log entries that are relevant to the finding.", "items": { "$ref": "LogEntry" }, "type": "array" }, "mitreAttack": { - "$ref": "MitreAttack", - "description": "MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org" + "$ref": "MitreAttack" }, "moduleName": { - "description": "Unique identifier of the module which generated the finding. Example: folders/598186756061/securityHealthAnalyticsSettings/customModules/56799441161885", "type": "string" }, "mute": { - "description": "Indicates the mute state of a finding (either muted, unmuted or undefined). Unlike other attributes of a finding, a finding provider shouldn't set the value of mute.", "enum": [ "MUTE_UNSPECIFIED", "MUTED", @@ -8497,93 +7725,76 @@ "UNDEFINED" ], "enumDescriptions": [ - "Unspecified.", - "Finding has been muted.", - "Finding has been unmuted.", - "Finding has never been muted/unmuted." + "", + "", + "", + "" ], "type": "string" }, "muteInfo": { "$ref": "MuteInfo", - "description": "Output only. The mute information regarding this finding.", "readOnly": true }, "muteInitiator": { - "description": "Records additional information about the mute operation, for example, the [mute configuration](/security-command-center/docs/how-to-mute-findings) that muted the finding and the user who muted the finding.", "type": "string" }, "muteUpdateTime": { - "description": "Output only. The most recent time this finding was muted or unmuted.", "format": "google-datetime", "readOnly": true, "type": "string" }, "name": { - "description": "The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}\", \"folders/{folder_id}/sources/{source_id}/findings/{finding_id}\", \"projects/{project_id}/sources/{source_id}/findings/{finding_id}\".", "type": "string" }, "networks": { - "description": "Represents the VPC networks that the resource is attached to.", "items": { "$ref": "Network" }, "type": "array" }, "nextSteps": { - "description": "Steps to address the finding.", "type": "string" }, "notebook": { - "$ref": "Notebook", - "description": "Notebook associated with the finding." + "$ref": "Notebook" }, "orgPolicies": { - "description": "Contains information about the org policies associated with the finding.", "items": { "$ref": "OrgPolicy" }, "type": "array" }, "parent": { - "description": "The relative resource name of the source the finding belongs to. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name This field is immutable after creation time. For example: \"organizations/{organization_id}/sources/{source_id}\"", "type": "string" }, "parentDisplayName": { - "description": "Output only. The human readable display name of the finding source such as \"Event Threat Detection\" or \"Security Health Analytics\".", "readOnly": true, "type": "string" }, "policyViolationSummary": { - "$ref": "PolicyViolationSummary", - "description": "PolicyViolationSummary associated with the finding." + "$ref": "PolicyViolationSummary" }, "processes": { - "description": "Represents operating system processes associated with the Finding.", "items": { "$ref": "Process" }, "type": "array" }, "resourceName": { - "description": "For findings on Google Cloud resources, the full resource name of the Google Cloud resource this finding is for. See: https://cloud.google.com/apis/design/resource_names#full_resource_name When the finding is for a non-Google Cloud resource, the resourceName can be a customer or partner defined string. This field is immutable after creation time.", "type": "string" }, "secret": { - "$ref": "Secret", - "description": "Secret associated with the finding." + "$ref": "Secret" }, "securityMarks": { "$ref": "SecurityMarks", - "description": "Output only. User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the finding.", "readOnly": true }, "securityPosture": { - "$ref": "SecurityPosture", - "description": "The security posture associated with the finding." + "$ref": "SecurityPosture" }, "severity": { - "description": "The severity of the finding. This field is managed by the source that writes the finding.", "enum": [ "SEVERITY_UNSPECIFIED", "CRITICAL", @@ -8592,11 +7803,11 @@ "LOW" ], "enumDescriptions": [ - "This value is used for findings when a source doesn't write a severity value.", - "Vulnerability: A critical vulnerability is easily discoverable by an external actor, exploitable, and results in the direct ability to execute arbitrary code, exfiltrate data, and otherwise gain additional access and privileges to cloud resources and workloads. Examples include publicly accessible unprotected user data and public SSH access with weak or no passwords. Threat: Indicates a threat that is able to access, modify, or delete data or execute unauthorized code within existing resources.", - "Vulnerability: A high risk vulnerability can be easily discovered and exploited in combination with other vulnerabilities in order to gain direct access and the ability to execute arbitrary code, exfiltrate data, and otherwise gain additional access and privileges to cloud resources and workloads. An example is a database with weak or no passwords that is only accessible internally. This database could easily be compromised by an actor that had access to the internal network. Threat: Indicates a threat that is able to create new computational resources in an environment but not able to access data or execute code in existing resources.", - "Vulnerability: A medium risk vulnerability could be used by an actor to gain access to resources or privileges that enable them to eventually (through multiple steps or a complex exploit) gain access and the ability to execute arbitrary code or exfiltrate data. An example is a service account with access to more projects than it should have. If an actor gains access to the service account, they could potentially use that access to manipulate a project the service account was not intended to. Threat: Indicates a threat that is able to cause operational impact but may not access data or execute unauthorized code.", - "Vulnerability: A low risk vulnerability hampers a security organization's ability to detect vulnerabilities or active threats in their deployment, or prevents the root cause investigation of security issues. An example is monitoring and logs being disabled for resource configurations and access. Threat: Indicates a threat that has obtained minimal access to an environment but is not able to access data, execute code, or create resources." + "", + "", + "", + "", + "" ], "type": "string" }, @@ -8604,59 +7815,49 @@ "additionalProperties": { "type": "any" }, - "description": "Source specific properties. These properties are managed by the source that writes the finding. The key names in the source_properties map must be between 1 and 255 characters, and must start with a letter and contain alphanumeric characters or underscores only.", "type": "object" }, "state": { - "description": "The state of the finding.", "enum": [ "STATE_UNSPECIFIED", "ACTIVE", "INACTIVE" ], "enumDescriptions": [ - "Unspecified state.", - "The finding requires attention and has not been addressed yet.", - "The finding has been fixed, triaged as a non-issue or otherwise addressed and is no longer active." + "", + "", + "" ], "type": "string" }, "toxicCombination": { - "$ref": "ToxicCombination", - "description": "Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. This field cannot be updated. Its value is ignored in all update requests." + "$ref": "ToxicCombination" }, "vertexAi": { - "$ref": "VertexAi", - "description": "VertexAi associated with the finding." + "$ref": "VertexAi" }, "vulnerability": { - "$ref": "Vulnerability", - "description": "Represents vulnerability-specific fields like CVE and CVSS scores. CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/)" + "$ref": "Vulnerability" } }, "type": "object" }, "Folder": { - "description": "Message that contains the resource name and display name of a folder resource.", "id": "Folder", "properties": { "resourceFolder": { - "description": "Full resource name of this folder. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", "type": "string" }, "resourceFolderDisplayName": { - "description": "The user defined display name for this folder.", "type": "string" } }, "type": "object" }, "Framework": { - "description": "Compliance framework associated with the finding.", "id": "Framework", "properties": { "category": { - "description": "Category of the framework associated with the finding. E.g. Security Benchmark, or Assured Workloads", "items": { "enum": [ "FRAMEWORK_CATEGORY_UNSPECIFIED", @@ -8667,43 +7868,39 @@ "CUSTOM_FRAMEWORK" ], "enumDescriptions": [ - "Default value. This value is unused.", - "Security Benchmarks framework", - "Assured Workloads framework", - "Data Security framework", - "Google Best Practices framework", - "A user-created framework" + "", + "", + "", + "", + "", + "" ], "type": "string" }, "type": "array" }, "controls": { - "description": "The controls associated with the framework.", "items": { "$ref": "Control" }, "type": "array" }, "displayName": { - "description": "Display name of the framework. For a standard framework, this will look like e.g. PCI DSS 3.2.1, whereas for a custom framework it can be a user defined string like MyFramework", "type": "string" }, "name": { - "description": "Name of the framework associated with the finding", "type": "string" }, "type": { - "description": "Type of the framework associated with the finding, to specify whether the framework is built-in (pre-defined and immutable) or a custom framework defined by the customer (equivalent to security posture)", "enum": [ "FRAMEWORK_TYPE_UNSPECIFIED", "FRAMEWORK_TYPE_BUILT_IN", "FRAMEWORK_TYPE_CUSTOM" ], "enumDescriptions": [ - "Default value. This value is unused.", - "The framework is a built-in framework if it is created and managed by GCP.", - "The framework is a custom framework if it is created and managed by the user." + "", + "", + "" ], "type": "string" } @@ -8711,11 +7908,9 @@ "type": "object" }, "GcpMetadata": { - "description": "Google Cloud metadata associated with the resource. Only applicable if the finding's cloud provider is Google Cloud.", "id": "GcpMetadata", "properties": { "folders": { - "description": "Output only. Contains a Folder message for each folder in the assets ancestry. The first folder is the deepest nested folder, and the last folder is the folder directly under the Organization.", "items": { "$ref": "GoogleCloudSecuritycenterV2Folder" }, @@ -8723,56 +7918,45 @@ "type": "array" }, "organization": { - "description": "The name of the organization that the resource belongs to.", "type": "string" }, "parent": { - "description": "The full resource name of resource's parent.", "type": "string" }, "parentDisplayName": { - "description": "The human readable name of resource's parent.", "type": "string" }, "project": { - "description": "The full resource name of project that the resource belongs to.", "type": "string" }, "projectDisplayName": { - "description": "The project ID that the resource belongs to.", "type": "string" } }, "type": "object" }, "Geolocation": { - "description": "Represents a geographical location for a given access.", "id": "Geolocation", "properties": { "regionCode": { - "description": "A CLDR.", "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`." + "$ref": "GetPolicyOptions" } }, "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" } @@ -8780,43 +7964,34 @@ "type": "object" }, "GoogleCloudSecuritycenterV1BigQueryExport": { - "description": "Configures how to deliver Findings to BigQuery Instance.", "id": "GoogleCloudSecuritycenterV1BigQueryExport", "properties": { "createTime": { - "description": "Output only. The time at which the BigQuery export was created. This field is set by the server and will be ignored if provided on export on creation.", "format": "google-datetime", "readOnly": true, "type": "string" }, "dataset": { - "description": "The dataset to write findings' updates to. Its format is \"projects/[project_id]/datasets/[bigquery_dataset_id]\". BigQuery Dataset unique ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_).", "type": "string" }, "description": { - "description": "The description of the export (max of 1024 characters).", "type": "string" }, "filter": { - "description": "Expression that defines the filter to apply across create/update events of findings. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes.", "type": "string" }, "mostRecentEditor": { - "description": "Output only. Email address of the user who last edited the BigQuery export. This field is set by the server and will be ignored if provided on export creation or update.", "readOnly": true, "type": "string" }, "name": { - "description": "The relative resource name of this export. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name. Example format: \"organizations/{organization_id}/bigQueryExports/{export_id}\" Example format: \"folders/{folder_id}/bigQueryExports/{export_id}\" Example format: \"projects/{project_id}/bigQueryExports/{export_id}\" This field is provided in responses, and is ignored when provided in create requests.", "type": "string" }, "principal": { - "description": "Output only. The service account that needs permission to create table and upload data to the BigQuery dataset.", "readOnly": true, "type": "string" }, "updateTime": { - "description": "Output only. The most recent time at which the BigQuery export was updated. This field is set by the server and will be ignored if provided on export creation or update.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -8825,23 +8000,18 @@ "type": "object" }, "GoogleCloudSecuritycenterV1Binding": { - "description": "Represents a Kubernetes RoleBinding or ClusterRoleBinding.", "id": "GoogleCloudSecuritycenterV1Binding", "properties": { "name": { - "description": "Name for the binding.", "type": "string" }, "ns": { - "description": "Namespace for the binding.", "type": "string" }, "role": { - "$ref": "Role", - "description": "The Role or ClusterRole referenced by the binding." + "$ref": "Role" }, "subjects": { - "description": "Represents one or more subjects that are bound to the role. Not always available for PATCH requests.", "items": { "$ref": "Subject" }, @@ -8851,37 +8021,29 @@ "type": "object" }, "GoogleCloudSecuritycenterV1BulkMuteFindingsResponse": { - "description": "The response to a BulkMute request. Contains the LRO information.", "id": "GoogleCloudSecuritycenterV1BulkMuteFindingsResponse", "properties": {}, "type": "object" }, "GoogleCloudSecuritycenterV1CustomConfig": { - "description": "Defines the properties in a custom module configuration for Security Health Analytics. Use the custom module configuration to create custom detectors that generate custom findings for resources that you specify.", "id": "GoogleCloudSecuritycenterV1CustomConfig", "properties": { "customOutput": { - "$ref": "GoogleCloudSecuritycenterV1CustomOutputSpec", - "description": "Custom output properties." + "$ref": "GoogleCloudSecuritycenterV1CustomOutputSpec" }, "description": { - "description": "Text that describes the vulnerability or misconfiguration that the custom module detects. This explanation is returned with each finding instance to help investigators understand the detected issue. The text must be enclosed in quotation marks.", "type": "string" }, "predicate": { - "$ref": "Expr", - "description": "The CEL expression to evaluate to produce findings. When the expression evaluates to true against a resource, a finding is generated." + "$ref": "Expr" }, "recommendation": { - "description": "An explanation of the recommended steps that security teams can take to resolve the detected issue. This explanation is returned with each finding generated by this module in the `nextSteps` property of the finding JSON.", "type": "string" }, "resourceSelector": { - "$ref": "GoogleCloudSecuritycenterV1ResourceSelector", - "description": "The resource types that the custom module operates on. Each custom module can specify up to 5 resource types." + "$ref": "GoogleCloudSecuritycenterV1ResourceSelector" }, "severity": { - "description": "The severity to assign to findings generated by the module.", "enum": [ "SEVERITY_UNSPECIFIED", "CRITICAL", @@ -8890,11 +8052,11 @@ "LOW" ], "enumDescriptions": [ - "Unspecified severity.", - "Critical severity.", - "High severity.", - "Medium severity.", - "Low severity." + "", + "", + "", + "", + "" ], "type": "string" } @@ -8902,11 +8064,9 @@ "type": "object" }, "GoogleCloudSecuritycenterV1CustomOutputSpec": { - "description": "A set of optional name-value pairs that define custom source properties to return with each finding that is generated by the custom module. The custom source properties that are defined here are included in the finding JSON under `sourceProperties`.", "id": "GoogleCloudSecuritycenterV1CustomOutputSpec", "properties": { "properties": { - "description": "A list of custom output properties to add to the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV1Property" }, @@ -8916,11 +8076,9 @@ "type": "object" }, "GoogleCloudSecuritycenterV1EffectiveSecurityHealthAnalyticsCustomModule": { - "description": "An EffectiveSecurityHealthAnalyticsCustomModule is the representation of a Security Health Analytics custom module at a specified level of the resource hierarchy: organization, folder, or project. If a custom module is inherited from a parent organization or folder, the value of the `enablementState` property in EffectiveSecurityHealthAnalyticsCustomModule is set to the value that is effective in the parent, instead of `INHERITED`. For example, if the module is enabled in a parent organization or folder, the effective enablement_state for the module in all child folders or projects is also `enabled`. EffectiveSecurityHealthAnalyticsCustomModule is read-only.", "id": "GoogleCloudSecuritycenterV1EffectiveSecurityHealthAnalyticsCustomModule", "properties": { "cloudProvider": { - "description": "The cloud provider of the custom module.", "enum": [ "CLOUD_PROVIDER_UNSPECIFIED", "GOOGLE_CLOUD_PLATFORM", @@ -8928,40 +8086,36 @@ "MICROSOFT_AZURE" ], "enumDescriptions": [ - "Unspecified cloud provider.", - "Google Cloud.", - "Amazon Web Services.", - "Microsoft Azure." + "", + "", + "", + "" ], "type": "string" }, "customConfig": { "$ref": "GoogleCloudSecuritycenterV1CustomConfig", - "description": "Output only. The user-specified configuration for the module.", "readOnly": true }, "displayName": { - "description": "Output only. The display name for the custom module. The name must be between 1 and 128 characters, start with a lowercase letter, and contain alphanumeric characters or underscores only.", "readOnly": true, "type": "string" }, "enablementState": { - "description": "Output only. The effective state of enablement for the module at the given level of the hierarchy.", "enum": [ "ENABLEMENT_STATE_UNSPECIFIED", "ENABLED", "DISABLED" ], "enumDescriptions": [ - "Unspecified enablement state.", - "The module is enabled at the given level.", - "The module is disabled at the given level." + "", + "", + "" ], "readOnly": true, "type": "string" }, "name": { - "description": "Output only. The resource name of the custom module. Its format is \"organizations/{organization}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}\", or \"folders/{folder}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}\", or \"projects/{project}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}\"", "readOnly": true, "type": "string" } @@ -8969,116 +8123,94 @@ "type": "object" }, "GoogleCloudSecuritycenterV1ExternalSystem": { - "description": "Representation of third party SIEM/SOAR fields within SCC.", "id": "GoogleCloudSecuritycenterV1ExternalSystem", "properties": { "assignees": { - "description": "References primary/secondary etc assignees in the external system.", "items": { "type": "string" }, "type": "array" }, "caseCloseTime": { - "description": "The time when the case was closed, as reported by the external system.", "format": "google-datetime", "type": "string" }, "caseCreateTime": { - "description": "The time when the case was created, as reported by the external system.", "format": "google-datetime", "type": "string" }, "casePriority": { - "description": "The priority of the finding's corresponding case in the external system.", "type": "string" }, "caseSla": { - "description": "The SLA of the finding's corresponding case in the external system.", "format": "google-datetime", "type": "string" }, "caseUri": { - "description": "The link to the finding's corresponding case in the external system.", "type": "string" }, "externalSystemUpdateTime": { - "description": "The time when the case was last updated, as reported by the external system.", "format": "google-datetime", "type": "string" }, "externalUid": { - "description": "The identifier that's used to track the finding's corresponding case in the external system.", "type": "string" }, "name": { - "description": "Full resource name of the external system, for example: \"organizations/1234/sources/5678/findings/123456/externalSystems/jira\", \"folders/1234/sources/5678/findings/123456/externalSystems/jira\", \"projects/1234/sources/5678/findings/123456/externalSystems/jira\"", "type": "string" }, "status": { - "description": "The most recent status of the finding's corresponding case, as reported by the external system.", "type": "string" }, "ticketInfo": { - "$ref": "TicketInfo", - "description": "Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding." + "$ref": "TicketInfo" } }, "type": "object" }, "GoogleCloudSecuritycenterV1MuteConfig": { - "description": "A mute config is a Cloud SCC resource that contains the configuration to mute create/update events of findings.", "id": "GoogleCloudSecuritycenterV1MuteConfig", "properties": { "createTime": { - "description": "Output only. The time at which the mute config was created. This field is set by the server and will be ignored if provided on config creation.", "format": "google-datetime", "readOnly": true, "type": "string" }, "description": { - "description": "A description of the mute config.", "type": "string" }, "displayName": { "deprecated": true, - "description": "The human readable name to be displayed for the mute config.", "type": "string" }, "expiryTime": { - "description": "Optional. The expiry of the mute config. Only applicable for dynamic configs. If the expiry is set, when the config expires, it is removed from all findings.", "format": "google-datetime", "type": "string" }, "filter": { - "description": "Required. An expression that defines the filter to apply across create/update events of findings. While creating a filter string, be mindful of the scope in which the mute configuration is being created. E.g., If a filter contains project = X but is created under the project = Y scope, it might not match any findings. The following field and operator combinations are supported: * severity: `=`, `:` * category: `=`, `:` * resource.name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.folders.resource_folder: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.type: `=`, `:` * finding_class: `=`, `:` * indicator.ip_addresses: `=`, `:` * indicator.domains: `=`, `:`", "type": "string" }, "mostRecentEditor": { - "description": "Output only. Email address of the user who last edited the mute config. This field is set by the server and will be ignored if provided on config creation or update.", "readOnly": true, "type": "string" }, "name": { - "description": "This field will be ignored if provided on config creation. Format `organizations/{organization}/muteConfigs/{mute_config}` `folders/{folder}/muteConfigs/{mute_config}` `projects/{project}/muteConfigs/{mute_config}` `organizations/{organization}/locations/global/muteConfigs/{mute_config}` `folders/{folder}/locations/global/muteConfigs/{mute_config}` `projects/{project}/locations/global/muteConfigs/{mute_config}`", "type": "string" }, "type": { - "description": "Optional. The type of the mute config, which determines what type of mute state the config affects. The static mute state takes precedence over the dynamic mute state. Immutable after creation. STATIC by default if not set during creation.", "enum": [ "MUTE_CONFIG_TYPE_UNSPECIFIED", "STATIC", "DYNAMIC" ], "enumDescriptions": [ - "Unused.", - "A static mute config, which sets the static mute state of future matching findings to muted. Once the static mute state has been set, finding or config modifications will not affect the state.", - "A dynamic mute config, which is applied to existing and future matching findings, setting their dynamic mute state to \"muted\". If the config is updated or deleted, or a matching finding is updated, such that the finding doesn't match the config, the config will be removed from the finding, and the finding's dynamic mute state may become \"unmuted\" (unless other configs still match)." + "", + "", + "" ], "type": "string" }, "updateTime": { - "description": "Output only. The most recent time at which the mute config was updated. This field is set by the server and will be ignored if provided on config creation or update.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -9087,69 +8219,54 @@ "type": "object" }, "GoogleCloudSecuritycenterV1NotificationMessage": { - "description": "Cloud SCC's Notification", "id": "GoogleCloudSecuritycenterV1NotificationMessage", "properties": { "finding": { - "$ref": "Finding", - "description": "If it's a Finding based notification config, this field will be populated." + "$ref": "Finding" }, "notificationConfigName": { - "description": "Name of the notification config that generated current notification.", "type": "string" }, "resource": { - "$ref": "GoogleCloudSecuritycenterV1Resource", - "description": "The Cloud resource tied to this notification's Finding." + "$ref": "GoogleCloudSecuritycenterV1Resource" } }, "type": "object" }, "GoogleCloudSecuritycenterV1Property": { - "description": "An individual name-value pair that defines a custom source property.", "id": "GoogleCloudSecuritycenterV1Property", "properties": { "name": { - "description": "Name of the property for the custom output.", "type": "string" }, "valueExpression": { - "$ref": "Expr", - "description": "The CEL expression for the custom output. A resource property can be specified to return the value of the property or a text string enclosed in quotation marks." + "$ref": "Expr" } }, "type": "object" }, "GoogleCloudSecuritycenterV1Resource": { - "description": "Information related to the Google Cloud resource.", "id": "GoogleCloudSecuritycenterV1Resource", "properties": { "adcApplication": { - "$ref": "AdcApplication", - "description": "The ADC application associated with the finding." + "$ref": "AdcApplication" }, "adcApplicationTemplate": { - "$ref": "AdcApplicationTemplateRevision", - "description": "The ADC template associated with the finding." + "$ref": "AdcApplicationTemplateRevision" }, "adcSharedTemplate": { - "$ref": "AdcSharedTemplateRevision", - "description": "The ADC shared template associated with the finding." + "$ref": "AdcSharedTemplateRevision" }, "application": { - "$ref": "GoogleCloudSecuritycenterV1ResourceApplication", - "description": "The App Hub application this resource belongs to." + "$ref": "GoogleCloudSecuritycenterV1ResourceApplication" }, "awsMetadata": { - "$ref": "AwsMetadata", - "description": "The AWS metadata associated with the finding." + "$ref": "AwsMetadata" }, "azureMetadata": { - "$ref": "AzureMetadata", - "description": "The Azure metadata associated with the finding." + "$ref": "AzureMetadata" }, "cloudProvider": { - "description": "Indicates which cloud provider the resource resides in.", "enum": [ "CLOUD_PROVIDER_UNSPECIFIED", "GOOGLE_CLOUD_PLATFORM", @@ -9157,19 +8274,17 @@ "MICROSOFT_AZURE" ], "enumDescriptions": [ - "The cloud provider is unspecified.", - "The cloud provider is Google Cloud.", - "The cloud provider is Amazon Web Services.", - "The cloud provider is Microsoft Azure." + "", + "", + "", + "" ], "type": "string" }, "displayName": { - "description": "The human readable name of the resource.", "type": "string" }, "folders": { - "description": "Output only. Contains a Folder message for each folder in the assets ancestry. The first folder is the deepest nested folder, and the last folder is the folder directly under the Organization.", "items": { "$ref": "Folder" }, @@ -9177,95 +8292,75 @@ "type": "array" }, "location": { - "description": "The region or location of the service (if applicable).", "type": "string" }, "name": { - "description": "The full resource name of the resource. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", "type": "string" }, "organization": { - "description": "Indicates which organization or tenant in the cloud provider the finding applies to.", "type": "string" }, "parent": { - "description": "The full resource name of resource's parent.", "type": "string" }, "parentDisplayName": { - "description": "The human readable name of resource's parent.", "type": "string" }, "project": { - "description": "The full resource name of project that the resource belongs to.", "type": "string" }, "projectDisplayName": { - "description": "The project ID that the resource belongs to.", "type": "string" }, "resourcePath": { - "$ref": "ResourcePath", - "description": "Provides the path to the resource within the resource hierarchy." + "$ref": "ResourcePath" }, "resourcePathString": { - "description": "A string representation of the resource path. For Google Cloud, it has the format of `organizations/{organization_id}/folders/{folder_id}/folders/{folder_id}/projects/{project_id}` where there can be any number of folders. For AWS, it has the format of `org/{organization_id}/ou/{organizational_unit_id}/ou/{organizational_unit_id}/account/{account_id}` where there can be any number of organizational units. For Azure, it has the format of `mg/{management_group_id}/mg/{management_group_id}/subscription/{subscription_id}/rg/{resource_group_name}` where there can be any number of management groups.", "type": "string" }, "service": { - "description": "The parent service or product from which the resource is provided, for example, GKE or SNS.", "type": "string" }, "type": { - "description": "The full resource type of the resource.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV1ResourceApplication": { - "description": "The App Hub Application associated with the finding's resource.", "id": "GoogleCloudSecuritycenterV1ResourceApplication", "properties": { "attributes": { - "$ref": "GoogleCloudSecuritycenterV1ResourceApplicationAttributes", - "description": "Consumer provided attributes for the application" + "$ref": "GoogleCloudSecuritycenterV1ResourceApplicationAttributes" }, "name": { - "description": "The resource name of an Application. Format: `projects/{host-project-id}/locations/{location}/applications/{application-id}`", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV1ResourceApplicationAttributes": { - "description": "Consumer provided attributes for the application", "id": "GoogleCloudSecuritycenterV1ResourceApplicationAttributes", "properties": { "businessOwners": { - "description": "Business team that ensures user needs are met and value is delivered", "items": { "$ref": "GoogleCloudSecuritycenterV1ResourceApplicationAttributesContactInfo" }, "type": "array" }, "criticality": { - "$ref": "GoogleCloudSecuritycenterV1ResourceApplicationAttributesCriticality", - "description": "User-defined criticality information." + "$ref": "GoogleCloudSecuritycenterV1ResourceApplicationAttributesCriticality" }, "developerOwners": { - "description": "Developer team that owns development and coding.", "items": { "$ref": "GoogleCloudSecuritycenterV1ResourceApplicationAttributesContactInfo" }, "type": "array" }, "environment": { - "$ref": "GoogleCloudSecuritycenterV1ResourceApplicationAttributesEnvironment", - "description": "User-defined environment information." + "$ref": "GoogleCloudSecuritycenterV1ResourceApplicationAttributesEnvironment" }, "operatorOwners": { - "description": "Operator team that ensures runtime and operations.", "items": { "$ref": "GoogleCloudSecuritycenterV1ResourceApplicationAttributesContactInfo" }, @@ -9275,22 +8370,18 @@ "type": "object" }, "GoogleCloudSecuritycenterV1ResourceApplicationAttributesContactInfo": { - "description": "Contact information of stakeholders.", "id": "GoogleCloudSecuritycenterV1ResourceApplicationAttributesContactInfo", "properties": { "email": { - "description": "Email address of the contacts.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV1ResourceApplicationAttributesCriticality": { - "description": "Criticality of the Application, Service, or Workload", "id": "GoogleCloudSecuritycenterV1ResourceApplicationAttributesCriticality", "properties": { "type": { - "description": "Criticality Type.", "enum": [ "CRITICALITY_TYPE_UNSPECIFIED", "MISSION_CRITICAL", @@ -9299,11 +8390,11 @@ "LOW" ], "enumDescriptions": [ - "Unspecified type.", - "Mission critical service, application or workload.", - "High impact.", - "Medium impact.", - "Low impact." + "", + "", + "", + "", + "" ], "type": "string" } @@ -9311,11 +8402,9 @@ "type": "object" }, "GoogleCloudSecuritycenterV1ResourceApplicationAttributesEnvironment": { - "description": "Environment of the Application, Service, or Workload", "id": "GoogleCloudSecuritycenterV1ResourceApplicationAttributesEnvironment", "properties": { "type": { - "description": "Environment Type.", "enum": [ "ENVIRONMENT_TYPE_UNSPECIFIED", "PRODUCTION", @@ -9324,11 +8413,11 @@ "DEVELOPMENT" ], "enumDescriptions": [ - "Unspecified type.", - "Production environment.", - "Staging environment.", - "Test environment.", - "Development environment." + "", + "", + "", + "", + "" ], "type": "string" } @@ -9336,11 +8425,9 @@ "type": "object" }, "GoogleCloudSecuritycenterV1ResourceSelector": { - "description": "Resource for selecting resource type.", "id": "GoogleCloudSecuritycenterV1ResourceSelector", "properties": { "resourceTypes": { - "description": "The resource types to run the detector on.", "items": { "type": "string" }, @@ -9350,11 +8437,9 @@ "type": "object" }, "GoogleCloudSecuritycenterV1ResourceValueConfig": { - "description": "A resource value configuration (RVC) is a mapping configuration of user's resources to resource values. Used in Attack path simulations.", "id": "GoogleCloudSecuritycenterV1ResourceValueConfig", "properties": { "cloudProvider": { - "description": "Cloud provider this configuration applies to", "enum": [ "CLOUD_PROVIDER_UNSPECIFIED", "GOOGLE_CLOUD_PLATFORM", @@ -9362,40 +8447,34 @@ "MICROSOFT_AZURE" ], "enumDescriptions": [ - "The cloud provider is unspecified.", - "The cloud provider is Google Cloud.", - "The cloud provider is Amazon Web Services.", - "The cloud provider is Microsoft Azure." + "", + "", + "", + "" ], "type": "string" }, "createTime": { - "description": "Output only. Timestamp this resource value configuration was created.", "format": "google-datetime", "readOnly": true, "type": "string" }, "description": { - "description": "Description of the resource value configuration.", "type": "string" }, "name": { - "description": "Name for the resource value configuration", "type": "string" }, "resourceLabelsSelector": { "additionalProperties": { "type": "string" }, - "description": "List of resource labels to search for, evaluated with `AND`. For example, `\"resource_labels_selector\": {\"key\": \"value\", \"env\": \"prod\"}` will match resources with labels \"key\": \"value\" `AND` \"env\": \"prod\" https://cloud.google.com/resource-manager/docs/creating-managing-labels", "type": "object" }, "resourceType": { - "description": "Apply resource_value only to resources that match resource_type. resource_type will be checked with `AND` of other resources. For example, \"storage.googleapis.com/Bucket\" with resource_value \"HIGH\" will apply \"HIGH\" value only to \"storage.googleapis.com/Bucket\" resources.", "type": "string" }, "resourceValue": { - "description": "Required. Resource value level this expression represents", "enum": [ "RESOURCE_VALUE_UNSPECIFIED", "HIGH", @@ -9404,31 +8483,27 @@ "NONE" ], "enumDescriptions": [ - "Unspecific value", - "High resource value", - "Medium resource value", - "Low resource value", - "No resource value, e.g. ignore these resources" + "", + "", + "", + "", + "" ], "type": "string" }, "scope": { - "description": "Project or folder to scope this configuration to. For example, \"project/456\" would apply this configuration only to resources in \"project/456\" scope will be checked with `AND` of other resources.", "type": "string" }, "sensitiveDataProtectionMapping": { - "$ref": "GoogleCloudSecuritycenterV1SensitiveDataProtectionMapping", - "description": "A mapping of the sensitivity on Sensitive Data Protection finding to resource values. This mapping can only be used in combination with a resource_type that is related to BigQuery, e.g. \"bigquery.googleapis.com/Dataset\"." + "$ref": "GoogleCloudSecuritycenterV1SensitiveDataProtectionMapping" }, "tagValues": { - "description": "Required. Tag values combined with `AND` to check against. For Google Cloud resources, they are tag value IDs in the form of \"tagValues/123\". Example: `[ \"tagValues/123\", \"tagValues/456\", \"tagValues/789\" ]` https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing", "items": { "type": "string" }, "type": "array" }, "updateTime": { - "description": "Output only. Timestamp this resource value configuration was last updated.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -9437,16 +8512,13 @@ "type": "object" }, "GoogleCloudSecuritycenterV1RunAssetDiscoveryResponse": { - "description": "Response of asset discovery run", "id": "GoogleCloudSecuritycenterV1RunAssetDiscoveryResponse", "properties": { "duration": { - "description": "The duration between asset discovery run start and end", "format": "google-duration", "type": "string" }, "state": { - "description": "The state of an asset discovery run.", "enum": [ "STATE_UNSPECIFIED", "COMPLETED", @@ -9454,10 +8526,10 @@ "TERMINATED" ], "enumDescriptions": [ - "Asset discovery run state was unspecified.", - "Asset discovery run completed successfully.", - "Asset discovery run was cancelled with tasks still pending, as another run for the same organization was started with a higher priority.", - "Asset discovery run was killed and terminated." + "", + "", + "", + "" ], "type": "string" } @@ -9465,16 +8537,13 @@ "type": "object" }, "GoogleCloudSecuritycenterV1SecurityHealthAnalyticsCustomModule": { - "description": "Represents an instance of a Security Health Analytics custom module, including its full module name, display name, enablement state, and last updated time. You can create a custom module at the organization, folder, or project level. Custom modules that you create at the organization or folder level are inherited by the child folders and projects.", "id": "GoogleCloudSecuritycenterV1SecurityHealthAnalyticsCustomModule", "properties": { "ancestorModule": { - "description": "Output only. If empty, indicates that the custom module was created in the organization, folder, or project in which you are viewing the custom module. Otherwise, `ancestor_module` specifies the organization or folder from which the custom module is inherited.", "readOnly": true, "type": "string" }, "cloudProvider": { - "description": "The cloud provider of the custom module.", "enum": [ "CLOUD_PROVIDER_UNSPECIFIED", "GOOGLE_CLOUD_PLATFORM", @@ -9482,23 +8551,20 @@ "MICROSOFT_AZURE" ], "enumDescriptions": [ - "Unspecified cloud provider.", - "Google Cloud.", - "Amazon Web Services (AWS).", - "Microsoft Azure." + "", + "", + "", + "" ], "type": "string" }, "customConfig": { - "$ref": "GoogleCloudSecuritycenterV1CustomConfig", - "description": "The user specified custom configuration for the module." + "$ref": "GoogleCloudSecuritycenterV1CustomConfig" }, "displayName": { - "description": "The display name of the Security Health Analytics custom module. This display name becomes the finding category for all findings that are returned by this custom module. The display name must be between 1 and 128 characters, start with a lowercase letter, and contain alphanumeric characters or underscores only.", "type": "string" }, "enablementState": { - "description": "The enablement state of the custom module.", "enum": [ "ENABLEMENT_STATE_UNSPECIFIED", "ENABLED", @@ -9506,24 +8572,21 @@ "INHERITED" ], "enumDescriptions": [ - "Unspecified enablement state.", - "The module is enabled at the given CRM resource.", - "The module is disabled at the given CRM resource.", - "State is inherited from an ancestor module. The module will either be effectively ENABLED or DISABLED based on its closest non-inherited ancestor module in the CRM hierarchy." + "", + "", + "", + "" ], "type": "string" }, "lastEditor": { - "description": "Output only. The editor that last updated the custom module.", "readOnly": true, "type": "string" }, "name": { - "description": "Immutable. The resource name of the custom module. Its format is \"organizations/{organization}/securityHealthAnalyticsSettings/customModules/{customModule}\", or \"folders/{folder}/securityHealthAnalyticsSettings/customModules/{customModule}\", or \"projects/{project}/securityHealthAnalyticsSettings/customModules/{customModule}\" The id {customModule} is server-generated and is not user settable. It will be a numeric id containing 1-20 digits.", "type": "string" }, "updateTime": { - "description": "Output only. The time at which the custom module was last updated.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -9532,11 +8595,9 @@ "type": "object" }, "GoogleCloudSecuritycenterV1SensitiveDataProtectionMapping": { - "description": "Resource value mapping for Sensitive Data Protection findings. If any of these mappings have a resource value that is not unspecified, the resource_value field will be ignored when reading this configuration.", "id": "GoogleCloudSecuritycenterV1SensitiveDataProtectionMapping", "properties": { "highSensitivityMapping": { - "description": "Resource value mapping for high-sensitivity Sensitive Data Protection findings", "enum": [ "RESOURCE_VALUE_UNSPECIFIED", "HIGH", @@ -9545,16 +8606,15 @@ "NONE" ], "enumDescriptions": [ - "Unspecific value", - "High resource value", - "Medium resource value", - "Low resource value", - "No resource value, e.g. ignore these resources" + "", + "", + "", + "", + "" ], "type": "string" }, "mediumSensitivityMapping": { - "description": "Resource value mapping for medium-sensitivity Sensitive Data Protection findings", "enum": [ "RESOURCE_VALUE_UNSPECIFIED", "HIGH", @@ -9563,11 +8623,11 @@ "NONE" ], "enumDescriptions": [ - "Unspecific value", - "High resource value", - "Medium resource value", - "Low resource value", - "No resource value, e.g. ignore these resources" + "", + "", + "", + "", + "" ], "type": "string" } @@ -9575,16 +8635,13 @@ "type": "object" }, "GoogleCloudSecuritycenterV1beta1RunAssetDiscoveryResponse": { - "description": "Response of asset discovery run", "id": "GoogleCloudSecuritycenterV1beta1RunAssetDiscoveryResponse", "properties": { "duration": { - "description": "The duration between asset discovery run start and end", "format": "google-duration", "type": "string" }, "state": { - "description": "The state of an asset discovery run.", "enum": [ "STATE_UNSPECIFIED", "COMPLETED", @@ -9592,10 +8649,10 @@ "TERMINATED" ], "enumDescriptions": [ - "Asset discovery run state was unspecified.", - "Asset discovery run completed successfully.", - "Asset discovery run was cancelled with tasks still pending, as another run for the same organization was started with a higher priority.", - "Asset discovery run was killed and terminated." + "", + "", + "", + "" ], "type": "string" } @@ -9603,50 +8660,39 @@ "type": "object" }, "GoogleCloudSecuritycenterV1p1beta1Finding": { - "description": "Security Command Center finding. A finding is a record of assessment data (security, risk, health or privacy) ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, an XSS vulnerability in an App Engine application is a finding.", "id": "GoogleCloudSecuritycenterV1p1beta1Finding", "properties": { "canonicalName": { - "description": "The canonical name of the finding. It's either \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}\", \"folders/{folder_id}/sources/{source_id}/findings/{finding_id}\" or \"projects/{project_number}/sources/{source_id}/findings/{finding_id}\", depending on the closest CRM ancestor of the resource associated with the finding.", "type": "string" }, "category": { - "description": "The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: \"XSS_FLASH_INJECTION\"", "type": "string" }, "createTime": { - "description": "The time at which the finding was created in Security Command Center.", "format": "google-datetime", "type": "string" }, "eventTime": { - "description": "The time at which the event took place, or when an update to the finding occurred. For example, if the finding represents an open firewall it would capture the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding were to be resolved afterward, this time would reflect when the finding was resolved. Must not be set to a value greater than the current timestamp.", "format": "google-datetime", "type": "string" }, "externalUri": { - "description": "The URI that, if available, points to a web page outside of Security Command Center where additional information about the finding can be found. This field is guaranteed to be either empty or a well formed URL.", "type": "string" }, "name": { - "description": "The relative resource name of this finding. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}\"", "type": "string" }, "parent": { - "description": "The relative resource name of the source the finding belongs to. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name This field is immutable after creation time. For example: \"organizations/{organization_id}/sources/{source_id}\"", "type": "string" }, "resourceName": { - "description": "For findings on Google Cloud resources, the full resource name of the Google Cloud resource this finding is for. See: https://cloud.google.com/apis/design/resource_names#full_resource_name When the finding is for a non-Google Cloud resource, the resourceName can be a customer or partner defined string. This field is immutable after creation time.", "type": "string" }, "securityMarks": { "$ref": "GoogleCloudSecuritycenterV1p1beta1SecurityMarks", - "description": "Output only. User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the finding.", "readOnly": true }, "severity": { - "description": "The severity of the finding. This field is managed by the source that writes the finding.", "enum": [ "SEVERITY_UNSPECIFIED", "CRITICAL", @@ -9655,11 +8701,11 @@ "LOW" ], "enumDescriptions": [ - "No severity specified. The default value.", - "Critical severity.", - "High severity.", - "Medium severity.", - "Low severity." + "", + "", + "", + "", + "" ], "type": "string" }, @@ -9667,20 +8713,18 @@ "additionalProperties": { "type": "any" }, - "description": "Source specific properties. These properties are managed by the source that writes the finding. The key names in the source_properties map must be between 1 and 255 characters, and must start with a letter and contain alphanumeric characters or underscores only.", "type": "object" }, "state": { - "description": "The state of the finding.", "enum": [ "STATE_UNSPECIFIED", "ACTIVE", "INACTIVE" ], "enumDescriptions": [ - "Unspecified state.", - "The finding requires attention and has not been addressed yet.", - "The finding has been fixed, triaged as a non-issue or otherwise addressed and is no longer active." + "", + "", + "" ], "type": "string" } @@ -9688,45 +8732,36 @@ "type": "object" }, "GoogleCloudSecuritycenterV1p1beta1Folder": { - "description": "Message that contains the resource name and display name of a folder resource.", "id": "GoogleCloudSecuritycenterV1p1beta1Folder", "properties": { "resourceFolder": { - "description": "Full resource name of this folder. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", "type": "string" }, "resourceFolderDisplayName": { - "description": "The user defined display name for this folder.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV1p1beta1NotificationMessage": { - "description": "Security Command Center's Notification", "id": "GoogleCloudSecuritycenterV1p1beta1NotificationMessage", "properties": { "finding": { - "$ref": "GoogleCloudSecuritycenterV1p1beta1Finding", - "description": "If it's a Finding based notification config, this field will be populated." + "$ref": "GoogleCloudSecuritycenterV1p1beta1Finding" }, "notificationConfigName": { - "description": "Name of the notification config that generated current notification.", "type": "string" }, "resource": { - "$ref": "GoogleCloudSecuritycenterV1p1beta1Resource", - "description": "The Cloud resource tied to the notification." + "$ref": "GoogleCloudSecuritycenterV1p1beta1Resource" } }, "type": "object" }, "GoogleCloudSecuritycenterV1p1beta1Resource": { - "description": "Information related to the Google Cloud resource.", "id": "GoogleCloudSecuritycenterV1p1beta1Resource", "properties": { "folders": { - "description": "Output only. Contains a Folder message for each folder in the assets ancestry. The first folder is the deepest nested folder, and the last folder is the folder directly under the Organization.", "items": { "$ref": "GoogleCloudSecuritycenterV1p1beta1Folder" }, @@ -9734,39 +8769,31 @@ "type": "array" }, "name": { - "description": "The full resource name of the resource. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", "type": "string" }, "parent": { - "description": "The full resource name of resource's parent.", "type": "string" }, "parentDisplayName": { - "description": "The human readable name of resource's parent.", "type": "string" }, "project": { - "description": "The full resource name of project that the resource belongs to.", "type": "string" }, "projectDisplayName": { - "description": "The project id that the resource belongs to.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV1p1beta1RunAssetDiscoveryResponse": { - "description": "Response of asset discovery run", "id": "GoogleCloudSecuritycenterV1p1beta1RunAssetDiscoveryResponse", "properties": { "duration": { - "description": "The duration between asset discovery run start and end", "format": "google-duration", "type": "string" }, "state": { - "description": "The state of an asset discovery run.", "enum": [ "STATE_UNSPECIFIED", "COMPLETED", @@ -9774,10 +8801,10 @@ "TERMINATED" ], "enumDescriptions": [ - "Asset discovery run state was unspecified.", - "Asset discovery run completed successfully.", - "Asset discovery run was cancelled with tasks still pending, as another run for the same organization was started with a higher priority.", - "Asset discovery run was killed and terminated." + "", + "", + "", + "" ], "type": "string" } @@ -9785,122 +8812,96 @@ "type": "object" }, "GoogleCloudSecuritycenterV1p1beta1SecurityMarks": { - "description": "User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization.", "id": "GoogleCloudSecuritycenterV1p1beta1SecurityMarks", "properties": { "canonicalName": { - "description": "The canonical name of the marks. Examples: \"organizations/{organization_id}/assets/{asset_id}/securityMarks\" \"folders/{folder_id}/assets/{asset_id}/securityMarks\" \"projects/{project_number}/assets/{asset_id}/securityMarks\" \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks\" \"folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks\" \"projects/{project_number}/sources/{source_id}/findings/{finding_id}/securityMarks\"", "type": "string" }, "marks": { "additionalProperties": { "type": "string" }, - "description": "Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive)", "type": "object" }, "name": { - "description": "The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: \"organizations/{organization_id}/assets/{asset_id}/securityMarks\" \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks\".", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Access": { - "description": "Represents an access event.", "id": "GoogleCloudSecuritycenterV2Access", "properties": { "callerIp": { - "description": "Caller's IP address, such as \"1.1.1.1\".", "type": "string" }, "callerIpGeo": { - "$ref": "GoogleCloudSecuritycenterV2Geolocation", - "description": "The caller IP's geolocation, which identifies where the call came from." + "$ref": "GoogleCloudSecuritycenterV2Geolocation" }, "methodName": { - "description": "The method that the service account called, e.g. \"SetIamPolicy\".", "type": "string" }, "principalEmail": { - "description": "Associated email, such as \"foo@google.com\". The email address of the authenticated user or a service account acting on behalf of a third party principal making the request. For third party identity callers, the `principal_subject` field is populated instead of this field. For privacy reasons, the principal email address is sometimes redacted. For more information, see [Caller identities in audit logs](https://cloud.google.com/logging/docs/audit#user-id).", "type": "string" }, "principalSubject": { - "description": "A string that represents the principal_subject that is associated with the identity. Unlike `principal_email`, `principal_subject` supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format is `principal://iam.googleapis.com/{identity pool name}/subject/{subject}`. Some GKE identities, such as GKE_WORKLOAD, FREEFORM, and GKE_HUB_WORKLOAD, still use the legacy format `serviceAccount:{identity pool name}[{subject}]`.", "type": "string" }, "serviceAccountDelegationInfo": { - "description": "The identity delegation history of an authenticated service account that made the request. The `serviceAccountDelegationInfo[]` object contains information about the real authorities that try to access Google Cloud resources by delegating on a service account. When multiple authorities are present, they are guaranteed to be sorted based on the original ordering of the identity delegation events.", "items": { "$ref": "GoogleCloudSecuritycenterV2ServiceAccountDelegationInfo" }, "type": "array" }, "serviceAccountKeyName": { - "description": "The name of the service account key that was used to create or exchange credentials when authenticating the service account that made the request. This is a scheme-less URI full resource name. For example: \"//iam.googleapis.com/projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}\". ", "type": "string" }, "serviceName": { - "description": "This is the API service that the service account made a call to, e.g. \"iam.googleapis.com\"", "type": "string" }, "userAgent": { - "description": "The caller's user agent string associated with the finding.", "type": "string" }, "userAgentFamily": { - "description": "Type of user agent associated with the finding. For example, an operating system shell or an embedded or standalone application.", "type": "string" }, "userName": { - "description": "A string that represents a username. The username provided depends on the type of the finding and is likely not an IAM principal. For example, this can be a system username if the finding is related to a virtual machine, or it can be an application login username.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AccessReview": { - "description": "Conveys information about a Kubernetes access review (such as one returned by a [`kubectl auth can-i`](https://kubernetes.io/docs/reference/access-authn-authz/authorization/#checking-api-access) command) that was involved in a finding.", "id": "GoogleCloudSecuritycenterV2AccessReview", "properties": { "group": { - "description": "The API group of the resource. \"*\" means all.", "type": "string" }, "name": { - "description": "The name of the resource being requested. Empty means all.", "type": "string" }, "ns": { - "description": "Namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces. Both are represented by \"\" (empty).", "type": "string" }, "resource": { - "description": "The optional resource type requested. \"*\" means all.", "type": "string" }, "subresource": { - "description": "The optional subresource type.", "type": "string" }, "verb": { - "description": "A Kubernetes resource API verb, like get, list, watch, create, update, delete, proxy. \"*\" means all.", "type": "string" }, "version": { - "description": "The API version of the resource. \"*\" means all.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AdaptiveProtection": { - "description": "Information about [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-protection).", "id": "GoogleCloudSecuritycenterV2AdaptiveProtection", "properties": { "confidence": { - "description": "A score of 0 means that there is low confidence that the detected event is an actual attack. A score of 1 means that there is high confidence that the detected event is an attack. See the [Adaptive Protection documentation](https://cloud.google.com/armor/docs/adaptive-protection-overview#configure-alert-tuning) for further explanation.", "format": "double", "type": "number" } @@ -9908,48 +8909,39 @@ "type": "object" }, "GoogleCloudSecuritycenterV2AdcApplication": { - "description": "Represents an ADC application associated with the finding.", "id": "GoogleCloudSecuritycenterV2AdcApplication", "properties": { "attributes": { - "$ref": "GoogleCloudSecuritycenterV2ResourceApplicationAttributes", - "description": "Consumer provided attributes for the AppHub application." + "$ref": "GoogleCloudSecuritycenterV2ResourceApplicationAttributes" }, "name": { - "description": "The resource name of an ADC Application. Format: projects/{project}/locations/{location}/spaces/{space}/applications/{application}", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AdcApplicationTemplateRevision": { - "description": "Represents an ADC template associated with the finding.", "id": "GoogleCloudSecuritycenterV2AdcApplicationTemplateRevision", "properties": { "name": { - "description": "The resource name of an ADC Application Template Revision. Format: projects/{project}/locations/{location}/spaces/{space}/applicationTemplates/{application_template}/revisions/{revision}", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AdcSharedTemplateRevision": { - "description": "Represents an ADC shared template associated with the finding.", "id": "GoogleCloudSecuritycenterV2AdcSharedTemplateRevision", "properties": { "name": { - "description": "The resource name of an ADC Shared Template Revision. Format: projects/{project}/locations/{location}/spaces/{space}/applicationTemplates/{application_template}/revisions/{revision}", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AffectedResources": { - "description": "Details about resources affected by this finding.", "id": "GoogleCloudSecuritycenterV2AffectedResources", "properties": { "count": { - "description": "The count of resources affected by the finding.", "format": "int64", "type": "string" } @@ -9957,20 +8949,16 @@ "type": "object" }, "GoogleCloudSecuritycenterV2AgentDataAccessEvent": { - "description": "Details about a data access attempt made by an agent principal not authorized under applicable data security policy.", "id": "GoogleCloudSecuritycenterV2AgentDataAccessEvent", "properties": { "eventId": { - "description": "Unique identifier for data access event.", "type": "string" }, "eventTime": { - "description": "Timestamp of data access event.", "format": "google-datetime", "type": "string" }, "operation": { - "description": "The operation performed by the principal to access the data.", "enum": [ "OPERATION_UNSPECIFIED", "READ", @@ -9978,26 +8966,23 @@ "COPY" ], "enumDescriptions": [ - "The operation is unspecified.", - "Represents a read operation.", - "Represents a move operation.", - "Represents a copy operation." + "", + "", + "", + "" ], "type": "string" }, "principalSubject": { - "description": "The agent principal that accessed the data.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AiModel": { - "description": "Contains information about the AI model associated with the finding.", "id": "GoogleCloudSecuritycenterV2AiModel", "properties": { "deploymentPlatform": { - "description": "The platform on which the model is deployed.", "enum": [ "DEPLOYMENT_PLATFORM_UNSPECIFIED", "VERTEX_AI", @@ -10006,51 +8991,42 @@ "FINE_TUNED_MODEL" ], "enumDescriptions": [ - "Unspecified deployment platform.", - "Vertex AI.", - "Google Kubernetes Engine.", - "Google Compute Engine.", - "Fine tuned model." + "", + "", + "", + "", + "" ], "type": "string" }, "displayName": { - "description": "The user defined display name of model. Ex. baseline-classification-model", "type": "string" }, "domain": { - "description": "The domain of the model, for example, “image-classification”.", "type": "string" }, "library": { - "description": "The name of the model library, for example, “transformers”.", "type": "string" }, "location": { - "description": "The region in which the model is used, for example, “us-central1”.", "type": "string" }, "name": { - "description": "The name of the AI model, for example, \"gemini:1.0.0\".", "type": "string" }, "publisher": { - "description": "The publisher of the model, for example, “google” or “nvidia”.", "type": "string" }, "usageCategory": { - "description": "The purpose of the model, for example, \"Inteference\" or \"Training\".", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Allowed": { - "description": "Allowed IP rule.", "id": "GoogleCloudSecuritycenterV2Allowed", "properties": { "ipRules": { - "description": "Optional. Optional list of allowed IP rules.", "items": { "$ref": "GoogleCloudSecuritycenterV2IpRule" }, @@ -10060,59 +9036,49 @@ "type": "object" }, "GoogleCloudSecuritycenterV2Application": { - "description": "Represents an application associated with a finding.", "id": "GoogleCloudSecuritycenterV2Application", "properties": { "baseUri": { - "description": "The base URI that identifies the network location of the application in which the vulnerability was detected. For example, `http://example.com`.", "type": "string" }, "fullUri": { - "description": "The full URI with payload that could be used to reproduce the vulnerability. For example, `http://example.com?p=aMmYgI6H`.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2ArtifactGuardPolicies": { - "description": "Represents the result of evaluating artifact guard policies.", "id": "GoogleCloudSecuritycenterV2ArtifactGuardPolicies", "properties": { "failingPolicies": { - "description": "A list of failing policies.", "items": { "$ref": "GoogleCloudSecuritycenterV2ArtifactGuardPolicy" }, "type": "array" }, "resourceId": { - "description": "The ID of the resource that has policies configured for it.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2ArtifactGuardPolicy": { - "description": "Represents an artifact guard policy.", "id": "GoogleCloudSecuritycenterV2ArtifactGuardPolicy", "properties": { "failureReason": { - "description": "The reason for the policy failure, for example, \"severity=HIGH AND max_vuln_count=2\".", "type": "string" }, "policyId": { - "description": "The ID of the failing policy, for example, \"organizations/3392779/locations/global/policies/prod-policy\".", "type": "string" }, "type": { - "description": "The type of the policy evaluation.", "enum": [ "ARTIFACT_GUARD_POLICY_TYPE_UNSPECIFIED", "VULNERABILITY" ], "enumDescriptions": [ - "Default value. This value is unused.", - "Vulnerability type." + "", + "" ], "type": "string" } @@ -10120,32 +9086,26 @@ "type": "object" }, "GoogleCloudSecuritycenterV2Attack": { - "description": "Information about DDoS attack volume and classification.", "id": "GoogleCloudSecuritycenterV2Attack", "properties": { "classification": { - "description": "Type of attack, for example, 'SYN-flood', 'NTP-udp', or 'CHARGEN-udp'.", "type": "string" }, "volumeBps": { "deprecated": true, - "description": "Total BPS (bytes per second) volume of attack. Deprecated - refer to volume_bps_long instead.", "format": "int32", "type": "integer" }, "volumeBpsLong": { - "description": "Total BPS (bytes per second) volume of attack.", "format": "int64", "type": "string" }, "volumePps": { "deprecated": true, - "description": "Total PPS (packets per second) volume of attack. Deprecated - refer to volume_pps_long instead.", "format": "int32", "type": "integer" }, "volumePpsLong": { - "description": "Total PPS (packets per second) volume of attack.", "format": "int64", "type": "string" } @@ -10153,49 +9113,41 @@ "type": "object" }, "GoogleCloudSecuritycenterV2AttackExposure": { - "description": "An attack exposure contains the results of an attack path simulation run.", "id": "GoogleCloudSecuritycenterV2AttackExposure", "properties": { "attackExposureResult": { - "description": "The resource name of the attack path simulation result that contains the details regarding this attack exposure score. Example: `organizations/123/simulations/456/attackExposureResults/789`", "type": "string" }, "exposedHighValueResourcesCount": { - "description": "The number of high value resources that are exposed as a result of this finding.", "format": "int32", "type": "integer" }, "exposedLowValueResourcesCount": { - "description": "The number of high value resources that are exposed as a result of this finding.", "format": "int32", "type": "integer" }, "exposedMediumValueResourcesCount": { - "description": "The number of medium value resources that are exposed as a result of this finding.", "format": "int32", "type": "integer" }, "latestCalculationTime": { - "description": "The most recent time the attack exposure was updated on this finding.", "format": "google-datetime", "type": "string" }, "score": { - "description": "A number between 0 (inclusive) and infinity that represents how important this finding is to remediate. The higher the score, the more important it is to remediate.", "format": "double", "type": "number" }, "state": { - "description": "Output only. What state this AttackExposure is in. This captures whether or not an attack exposure has been calculated or not.", "enum": [ "STATE_UNSPECIFIED", "CALCULATED", "NOT_CALCULATED" ], "enumDescriptions": [ - "The state is not specified.", - "The attack exposure has been calculated.", - "The attack exposure has not been calculated." + "", + "", + "" ], "readOnly": true, "type": "string" @@ -10204,34 +9156,27 @@ "type": "object" }, "GoogleCloudSecuritycenterV2AwsAccount": { - "description": "An AWS account that is a member of an organization.", "id": "GoogleCloudSecuritycenterV2AwsAccount", "properties": { "id": { - "description": "The unique identifier (ID) of the account, containing exactly 12 digits.", "type": "string" }, "name": { - "description": "The friendly name of this account.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AwsMetadata": { - "description": "AWS metadata associated with the resource, only applicable if the finding's cloud provider is Amazon Web Services.", "id": "GoogleCloudSecuritycenterV2AwsMetadata", "properties": { "account": { - "$ref": "GoogleCloudSecuritycenterV2AwsAccount", - "description": "The AWS account associated with the resource." + "$ref": "GoogleCloudSecuritycenterV2AwsAccount" }, "organization": { - "$ref": "GoogleCloudSecuritycenterV2AwsOrganization", - "description": "The AWS organization associated with the resource." + "$ref": "GoogleCloudSecuritycenterV2AwsOrganization" }, "organizationalUnits": { - "description": "A list of AWS organizational units associated with the resource, ordered from lowest level (closest to the account) to highest level.", "items": { "$ref": "GoogleCloudSecuritycenterV2AwsOrganizationalUnit" }, @@ -10241,217 +9186,174 @@ "type": "object" }, "GoogleCloudSecuritycenterV2AwsOrganization": { - "description": "An organization is a collection of accounts that are centrally managed together using consolidated billing, organized hierarchically with organizational units (OUs), and controlled with policies.", "id": "GoogleCloudSecuritycenterV2AwsOrganization", "properties": { "id": { - "description": "The unique identifier (ID) for the organization. The regex pattern for an organization ID string requires \"o-\" followed by from 10 to 32 lowercase letters or digits.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AwsOrganizationalUnit": { - "description": "An Organizational Unit (OU) is a container of AWS accounts within a root of an organization. Policies that are attached to an OU apply to all accounts contained in that OU and in any child OUs.", "id": "GoogleCloudSecuritycenterV2AwsOrganizationalUnit", "properties": { "id": { - "description": "The unique identifier (ID) associated with this OU. The regex pattern for an organizational unit ID string requires \"ou-\" followed by from 4 to 32 lowercase letters or digits (the ID of the root that contains the OU). This string is followed by a second \"-\" dash and from 8 to 32 additional lowercase letters or digits. For example, \"ou-ab12-cd34ef56\".", "type": "string" }, "name": { - "description": "The friendly name of the OU.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AzureManagementGroup": { - "description": "Represents an Azure management group.", "id": "GoogleCloudSecuritycenterV2AzureManagementGroup", "properties": { "displayName": { - "description": "The display name of the Azure management group.", "type": "string" }, "id": { - "description": "The UUID of the Azure management group, for example, `20000000-0001-0000-0000-000000000000`.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AzureMetadata": { - "description": "Azure metadata associated with the resource, only applicable if the finding's cloud provider is Microsoft Azure.", "id": "GoogleCloudSecuritycenterV2AzureMetadata", "properties": { "managementGroups": { - "description": "A list of Azure management groups associated with the resource, ordered from lowest level (closest to the subscription) to highest level.", "items": { "$ref": "GoogleCloudSecuritycenterV2AzureManagementGroup" }, "type": "array" }, "resourceGroup": { - "$ref": "GoogleCloudSecuritycenterV2AzureResourceGroup", - "description": "The Azure resource group associated with the resource." + "$ref": "GoogleCloudSecuritycenterV2AzureResourceGroup" }, "subscription": { - "$ref": "GoogleCloudSecuritycenterV2AzureSubscription", - "description": "The Azure subscription associated with the resource." + "$ref": "GoogleCloudSecuritycenterV2AzureSubscription" }, "tenant": { - "$ref": "GoogleCloudSecuritycenterV2AzureTenant", - "description": "The Azure Entra tenant associated with the resource." + "$ref": "GoogleCloudSecuritycenterV2AzureTenant" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AzureResourceGroup": { - "description": "Represents an Azure resource group.", "id": "GoogleCloudSecuritycenterV2AzureResourceGroup", "properties": { "id": { - "description": "The ID of the Azure resource group.", "type": "string" }, "name": { - "description": "The name of the Azure resource group. This is not a UUID.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AzureSubscription": { - "description": "Represents an Azure subscription.", "id": "GoogleCloudSecuritycenterV2AzureSubscription", "properties": { "displayName": { - "description": "The display name of the Azure subscription.", "type": "string" }, "id": { - "description": "The UUID of the Azure subscription, for example, `291bba3f-e0a5-47bc-a099-3bdcb2a50a05`.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AzureTenant": { - "description": "Represents a Microsoft Entra tenant.", "id": "GoogleCloudSecuritycenterV2AzureTenant", "properties": { "displayName": { - "description": "The display name of the Azure tenant.", "type": "string" }, "id": { - "description": "The ID of the Microsoft Entra tenant, for example, \"a11aaa11-aa11-1aa1-11aa-1aaa11a\".", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2BackupDisasterRecovery": { - "description": "Information related to Google Cloud Backup and DR Service findings.", "id": "GoogleCloudSecuritycenterV2BackupDisasterRecovery", "properties": { "appliance": { - "description": "The name of the Backup and DR appliance that captures, moves, and manages the lifecycle of backup data. For example, `backup-server-57137`.", "type": "string" }, "applications": { - "description": "The names of Backup and DR applications. An application is a VM, database, or file system on a managed host monitored by a backup and recovery appliance. For example, `centos7-01-vol00`, `centos7-01-vol01`, `centos7-01-vol02`.", "items": { "type": "string" }, "type": "array" }, "backupCreateTime": { - "description": "The timestamp at which the Backup and DR backup was created.", "format": "google-datetime", "type": "string" }, "backupTemplate": { - "description": "The name of a Backup and DR template which comprises one or more backup policies. See the [Backup and DR documentation](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#temp) for more information. For example, `snap-ov`.", "type": "string" }, "backupType": { - "description": "The backup type of the Backup and DR image. For example, `Snapshot`, `Remote Snapshot`, `OnVault`.", "type": "string" }, "host": { - "description": "The name of a Backup and DR host, which is managed by the backup and recovery appliance and known to the management console. The host can be of type Generic (for example, Compute Engine, SQL Server, Oracle DB, SMB file system, etc.), vCenter, or an ESX server. See the [Backup and DR documentation on hosts](https://cloud.google.com/backup-disaster-recovery/docs/configuration/manage-hosts-and-their-applications) for more information. For example, `centos7-01`.", "type": "string" }, "policies": { - "description": "The names of Backup and DR policies that are associated with a template and that define when to run a backup, how frequently to run a backup, and how long to retain the backup image. For example, `onvaults`.", "items": { "type": "string" }, "type": "array" }, "policyOptions": { - "description": "The names of Backup and DR advanced policy options of a policy applying to an application. See the [Backup and DR documentation on policy options](https://cloud.google.com/backup-disaster-recovery/docs/create-plan/policy-settings). For example, `skipofflineappsincongrp, nounmap`.", "items": { "type": "string" }, "type": "array" }, "profile": { - "description": "The name of the Backup and DR resource profile that specifies the storage media for backups of application and VM data. See the [Backup and DR documentation on profiles](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#profile). For example, `GCP`.", "type": "string" }, "storagePool": { - "description": "The name of the Backup and DR storage pool that the backup and recovery appliance is storing data in. The storage pool could be of type Cloud, Primary, Snapshot, or OnVault. See the [Backup and DR documentation on storage pools](https://cloud.google.com/backup-disaster-recovery/docs/concepts/storage-pools). For example, `DiskPoolOne`.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2BigQueryExport": { - "description": "Configures how to deliver Findings to BigQuery Instance.", "id": "GoogleCloudSecuritycenterV2BigQueryExport", "properties": { "createTime": { - "description": "Output only. The time at which the BigQuery export was created. This field is set by the server and will be ignored if provided on export on creation.", "format": "google-datetime", "readOnly": true, "type": "string" }, "cryptoKeyName": { - "description": "Output only. The resource name of the Cloud KMS `CryptoKey` used to protect this configuration's data, if configured during Security Command Center activation.", "readOnly": true, "type": "string" }, "dataset": { - "description": "The dataset to write findings' updates to. Its format is \"projects/[project_id]/datasets/[bigquery_dataset_id]\". BigQuery dataset unique ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_).", "type": "string" }, "description": { - "description": "The description of the export (max of 1024 characters).", "type": "string" }, "filter": { - "description": "Expression that defines the filter to apply across create/update events of findings. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes.", "type": "string" }, "mostRecentEditor": { - "description": "Output only. Email address of the user who last edited the BigQuery export. This field is set by the server and will be ignored if provided on export creation or update.", "readOnly": true, "type": "string" }, "name": { - "description": "Identifier. The relative resource name of this export. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name. The following list shows some examples: + `organizations/{organization_id}/locations/{location_id}/bigQueryExports/{export_id}` + `folders/{folder_id}/locations/{location_id}/bigQueryExports/{export_id}` + `projects/{project_id}/locations/{location_id}/bigQueryExports/{export_id}` This field is provided in responses, and is ignored when provided in create requests.", "type": "string" }, "principal": { - "description": "Output only. The service account that needs permission to create table and upload data to the BigQuery dataset.", "readOnly": true, "type": "string" }, "updateTime": { - "description": "Output only. The most recent time at which the BigQuery export was updated. This field is set by the server and will be ignored if provided on export creation or update.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -10460,23 +9362,18 @@ "type": "object" }, "GoogleCloudSecuritycenterV2Binding": { - "description": "Represents a Kubernetes RoleBinding or ClusterRoleBinding.", "id": "GoogleCloudSecuritycenterV2Binding", "properties": { "name": { - "description": "Name for the binding.", "type": "string" }, "ns": { - "description": "Namespace for the binding.", "type": "string" }, "role": { - "$ref": "GoogleCloudSecuritycenterV2Role", - "description": "The Role or ClusterRole referenced by the binding." + "$ref": "GoogleCloudSecuritycenterV2Role" }, "subjects": { - "description": "Represents one or more subjects that are bound to the role. Not always available for PATCH requests.", "items": { "$ref": "GoogleCloudSecuritycenterV2Subject" }, @@ -10486,17 +9383,14 @@ "type": "object" }, "GoogleCloudSecuritycenterV2BulkMuteFindingsResponse": { - "description": "The response to a BulkMute request. Contains the LRO information.", "id": "GoogleCloudSecuritycenterV2BulkMuteFindingsResponse", "properties": {}, "type": "object" }, "GoogleCloudSecuritycenterV2Chokepoint": { - "description": "Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations).", "id": "GoogleCloudSecuritycenterV2Chokepoint", "properties": { "relatedFindings": { - "description": "List of resource names of findings associated with this chokepoint. For example, organizations/123/sources/456/findings/789. This list will have at most 100 findings.", "items": { "type": "string" }, @@ -10506,65 +9400,53 @@ "type": "object" }, "GoogleCloudSecuritycenterV2CloudArmor": { - "description": "Fields related to Google Cloud Armor findings.", "id": "GoogleCloudSecuritycenterV2CloudArmor", "properties": { "adaptiveProtection": { - "$ref": "GoogleCloudSecuritycenterV2AdaptiveProtection", - "description": "Information about potential Layer 7 DDoS attacks identified by [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/adaptive-protection-overview)." + "$ref": "GoogleCloudSecuritycenterV2AdaptiveProtection" }, "attack": { - "$ref": "GoogleCloudSecuritycenterV2Attack", - "description": "Information about DDoS attack volume and classification." + "$ref": "GoogleCloudSecuritycenterV2Attack" }, "duration": { - "description": "Duration of attack from the start until the current moment (updated every 5 minutes).", "format": "google-duration", "type": "string" }, "requests": { - "$ref": "GoogleCloudSecuritycenterV2Requests", - "description": "Information about incoming requests evaluated by [Google Cloud Armor security policies](https://cloud.google.com/armor/docs/security-policy-overview)." + "$ref": "GoogleCloudSecuritycenterV2Requests" }, "securityPolicy": { - "$ref": "GoogleCloudSecuritycenterV2SecurityPolicy", - "description": "Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding." + "$ref": "GoogleCloudSecuritycenterV2SecurityPolicy" }, "threatVector": { - "description": "Distinguish between volumetric & protocol DDoS attack and application layer attacks. For example, \"L3_4\" for Layer 3 and Layer 4 DDoS attacks, or \"L_7\" for Layer 7 DDoS attacks.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2CloudControl": { - "description": "CloudControl associated with the finding.", "id": "GoogleCloudSecuritycenterV2CloudControl", "properties": { "cloudControlName": { - "description": "Name of the CloudControl associated with the finding.", "type": "string" }, "policyType": { - "description": "Policy type of the CloudControl", "type": "string" }, "type": { - "description": "Type of cloud control.", "enum": [ "CLOUD_CONTROL_TYPE_UNSPECIFIED", "BUILT_IN", "CUSTOM" ], "enumDescriptions": [ - "Unspecified.", - "Built in Cloud Control.", - "Custom Cloud Control." + "", + "", + "" ], "type": "string" }, "version": { - "description": "Version of the Cloud Control", "format": "int32", "type": "integer" } @@ -10572,31 +9454,27 @@ "type": "object" }, "GoogleCloudSecuritycenterV2CloudDlpDataProfile": { - "description": "The [data profile](https://cloud.google.com/dlp/docs/data-profiles) associated with the finding.", "id": "GoogleCloudSecuritycenterV2CloudDlpDataProfile", "properties": { "dataProfile": { - "description": "Name of the data profile, for example, `projects/123/locations/europe/tableProfiles/8383929`.", "type": "string" }, "infoTypes": { - "description": "Type of information detected by SDP. Info type includes name, version and sensitivity of the detected information type.", "items": { "$ref": "GoogleCloudSecuritycenterV2InfoType" }, "type": "array" }, "parentType": { - "description": "The resource hierarchy level at which the data profile was generated.", "enum": [ "PARENT_TYPE_UNSPECIFIED", "ORGANIZATION", "PROJECT" ], "enumDescriptions": [ - "Unspecified parent type.", - "Organization-level configurations.", - "Project-level configurations." + "", + "", + "" ], "type": "string" } @@ -10604,47 +9482,37 @@ "type": "object" }, "GoogleCloudSecuritycenterV2CloudDlpInspection": { - "description": "Details about the Cloud Data Loss Prevention (Cloud DLP) [inspection job](https://cloud.google.com/dlp/docs/concepts-job-triggers) that produced the finding.", "id": "GoogleCloudSecuritycenterV2CloudDlpInspection", "properties": { "fullScan": { - "description": "Whether Cloud DLP scanned the complete resource or a sampled subset.", "type": "boolean" }, "infoType": { - "description": "The type of information (or *[infoType](https://cloud.google.com/dlp/docs/infotypes-reference)*) found, for example, `EMAIL_ADDRESS` or `STREET_ADDRESS`.", "type": "string" }, "infoTypeCount": { - "description": "The number of times Cloud DLP found this infoType within this job and resource.", "format": "int64", "type": "string" }, "inspectJob": { - "description": "Name of the inspection job, for example, `projects/123/locations/europe/dlpJobs/i-8383929`.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2CloudLoggingEntry": { - "description": "Metadata taken from a [Cloud Logging LogEntry](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry)", "id": "GoogleCloudSecuritycenterV2CloudLoggingEntry", "properties": { "insertId": { - "description": "A unique identifier for the log entry.", "type": "string" }, "logId": { - "description": "The type of the log (part of `log_name`. `log_name` is the resource name of the log to which this log entry belongs). For example: `cloudresourcemanager.googleapis.com/activity` Note that this field is not URL-encoded, unlike in `LogEntry`.", "type": "string" }, "resourceContainer": { - "description": "The organization, folder, or project of the monitored resource that produced this log entry.", "type": "string" }, "timestamp": { - "description": "The time the event described by the log entry occurred.", "format": "google-datetime", "type": "string" } @@ -10652,44 +9520,36 @@ "type": "object" }, "GoogleCloudSecuritycenterV2Compliance": { - "description": "Contains compliance information about a security standard indicating unmet recommendations.", "id": "GoogleCloudSecuritycenterV2Compliance", "properties": { "ids": { - "description": "Policies within the standard or benchmark, for example, A.12.4.1", "items": { "type": "string" }, "type": "array" }, "standard": { - "description": "Industry-wide compliance standards or benchmarks, such as CIS, PCI, and OWASP.", "type": "string" }, "version": { - "description": "Version of the standard or benchmark, for example, 1.1", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2ComplianceDetails": { - "description": "Compliance Details associated with the finding.", "id": "GoogleCloudSecuritycenterV2ComplianceDetails", "properties": { "cloudControl": { - "$ref": "GoogleCloudSecuritycenterV2CloudControl", - "description": "CloudControl associated with the finding" + "$ref": "GoogleCloudSecuritycenterV2CloudControl" }, "cloudControlDeploymentNames": { - "description": "Cloud Control Deployments associated with the finding. For example, organizations/123/locations/global/cloudControlDeployments/deploymentIdentifier", "items": { "type": "string" }, "type": "array" }, "frameworks": { - "description": "Details of Frameworks associated with the finding", "items": { "$ref": "GoogleCloudSecuritycenterV2Framework" }, @@ -10699,20 +9559,16 @@ "type": "object" }, "GoogleCloudSecuritycenterV2Connection": { - "description": "Contains information about the IP connection associated with the finding.", "id": "GoogleCloudSecuritycenterV2Connection", "properties": { "destinationIp": { - "description": "Destination IP address. Not present for sockets that are listening and not connected.", "type": "string" }, "destinationPort": { - "description": "Destination port. Not present for sockets that are listening and not connected.", "format": "int32", "type": "integer" }, "protocol": { - "description": "IANA Internet Protocol Number such as TCP(6) and UDP(17).", "enum": [ "PROTOCOL_UNSPECIFIED", "ICMP", @@ -10722,21 +9578,19 @@ "ESP" ], "enumDescriptions": [ - "Unspecified protocol (not HOPOPT).", - "Internet Control Message Protocol.", - "Transmission Control Protocol.", - "User Datagram Protocol.", - "Generic Routing Encapsulation.", - "Encap Security Payload." + "", + "", + "", + "", + "", + "" ], "type": "string" }, "sourceIp": { - "description": "Source IP address.", "type": "string" }, "sourcePort": { - "description": "Source port.", "format": "int32", "type": "integer" } @@ -10744,22 +9598,18 @@ "type": "object" }, "GoogleCloudSecuritycenterV2Contact": { - "description": "The email address of a contact.", "id": "GoogleCloudSecuritycenterV2Contact", "properties": { "email": { - "description": "An email address. For example, \"`person123@company.com`\".", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2ContactDetails": { - "description": "Details about specific contacts", "id": "GoogleCloudSecuritycenterV2ContactDetails", "properties": { "contacts": { - "description": "A list of contacts", "items": { "$ref": "GoogleCloudSecuritycenterV2Contact" }, @@ -10769,66 +9619,53 @@ "type": "object" }, "GoogleCloudSecuritycenterV2Container": { - "description": "Container associated with the finding.", "id": "GoogleCloudSecuritycenterV2Container", "properties": { "createTime": { - "description": "The time that the container was created.", "format": "google-datetime", "type": "string" }, "imageId": { - "description": "Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest.", "type": "string" }, "labels": { - "description": "Container labels, as provided by the container runtime.", "items": { "$ref": "GoogleCloudSecuritycenterV2Label" }, "type": "array" }, "name": { - "description": "Name of the container.", "type": "string" }, "uri": { - "description": "Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Control": { - "description": "Compliance control associated with the finding.", "id": "GoogleCloudSecuritycenterV2Control", "properties": { "controlName": { - "description": "Name of the Control", "type": "string" }, "displayName": { - "description": "Display name of the control. For example, AU-02.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Cve": { - "description": "CVE stands for Common Vulnerabilities and Exposures. Information from the [CVE record](https://www.cve.org/ResourcesSupport/Glossary) that describes this vulnerability.", "id": "GoogleCloudSecuritycenterV2Cve", "properties": { "cvssv3": { - "$ref": "GoogleCloudSecuritycenterV2Cvssv3", - "description": "Describe Common Vulnerability Scoring System specified at https://www.first.org/cvss/v3.1/specification-document" + "$ref": "GoogleCloudSecuritycenterV2Cvssv3" }, "exploitReleaseDate": { - "description": "Date the first publicly available exploit or PoC was released.", "format": "google-datetime", "type": "string" }, "exploitationActivity": { - "description": "The exploitation activity of the vulnerability in the wild.", "enum": [ "EXPLOITATION_ACTIVITY_UNSPECIFIED", "WIDE", @@ -10838,26 +9675,23 @@ "NO_KNOWN" ], "enumDescriptions": [ - "Invalid or empty value.", - "Exploitation has been reported or confirmed to widely occur.", - "Limited reported or confirmed exploitation activities.", - "Exploit is publicly available.", - "No known exploitation activity, but has a high potential for exploitation.", - "No known exploitation activity." + "", + "", + "", + "", + "", + "" ], "type": "string" }, "firstExploitationDate": { - "description": "Date of the earliest known exploitation.", "format": "google-datetime", "type": "string" }, "id": { - "description": "The unique identifier for the vulnerability. e.g. CVE-2021-34527", "type": "string" }, "impact": { - "description": "The potential impact of the vulnerability if it was to be exploited.", "enum": [ "RISK_RATING_UNSPECIFIED", "LOW", @@ -10866,56 +9700,49 @@ "CRITICAL" ], "enumDescriptions": [ - "Invalid or empty value.", - "Exploitation would have little to no security impact.", - "Exploitation would enable attackers to perform activities, or could allow attackers to have a direct impact, but would require additional steps.", - "Exploitation would enable attackers to have a notable direct impact without needing to overcome any major mitigating factors.", - "Exploitation would fundamentally undermine the security of affected systems, enable actors to perform significant attacks with minimal effort, with little to no mitigating factors to overcome." + "", + "", + "", + "", + "" ], "type": "string" }, "observedInTheWild": { - "description": "Whether or not the vulnerability has been observed in the wild.", "type": "boolean" }, "references": { - "description": "Additional information about the CVE. e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527", "items": { "$ref": "GoogleCloudSecuritycenterV2Reference" }, "type": "array" }, "upstreamFixAvailable": { - "description": "Whether upstream fix is available for the CVE.", "type": "boolean" }, "zeroDay": { - "description": "Whether or not the vulnerability was zero day when the finding was published.", "type": "boolean" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Cvssv3": { - "description": "Common Vulnerability Scoring System version 3.", "id": "GoogleCloudSecuritycenterV2Cvssv3", "properties": { "attackComplexity": { - "description": "This metric describes the conditions beyond the attacker's control that must exist in order to exploit the vulnerability.", "enum": [ "ATTACK_COMPLEXITY_UNSPECIFIED", "ATTACK_COMPLEXITY_LOW", "ATTACK_COMPLEXITY_HIGH" ], "enumDescriptions": [ - "Invalid value.", - "Specialized access conditions or extenuating circumstances do not exist. An attacker can expect repeatable success when attacking the vulnerable component.", - "A successful attack depends on conditions beyond the attacker's control. That is, a successful attack cannot be accomplished at will, but requires the attacker to invest in some measurable amount of effort in preparation or execution against the vulnerable component before a successful attack can be expected." + "", + "", + "" ], "type": "string" }, "attackVector": { - "description": "Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. This metric reflects the context by which vulnerability exploitation is possible.", "enum": [ "ATTACK_VECTOR_UNSPECIFIED", "ATTACK_VECTOR_NETWORK", @@ -10924,16 +9751,15 @@ "ATTACK_VECTOR_PHYSICAL" ], "enumDescriptions": [ - "Invalid value.", - "The vulnerable component is bound to the network stack and the set of possible attackers extends beyond the other options listed below, up to and including the entire Internet.", - "The vulnerable component is bound to the network stack, but the attack is limited at the protocol level to a logically adjacent topology.", - "The vulnerable component is not bound to the network stack and the attacker's path is via read/write/execute capabilities.", - "The attack requires the attacker to physically touch or manipulate the vulnerable component." + "", + "", + "", + "", + "" ], "type": "string" }, "availabilityImpact": { - "description": "This metric measures the impact to the availability of the impacted component resulting from a successfully exploited vulnerability.", "enum": [ "IMPACT_UNSPECIFIED", "IMPACT_HIGH", @@ -10941,20 +9767,18 @@ "IMPACT_NONE" ], "enumDescriptions": [ - "Invalid value.", - "High impact.", - "Low impact.", - "No impact." + "", + "", + "", + "" ], "type": "string" }, "baseScore": { - "description": "The base score is a function of the base metric scores.", "format": "double", "type": "number" }, "confidentialityImpact": { - "description": "This metric measures the impact to the confidentiality of the information resources managed by a software component due to a successfully exploited vulnerability.", "enum": [ "IMPACT_UNSPECIFIED", "IMPACT_HIGH", @@ -10962,15 +9786,14 @@ "IMPACT_NONE" ], "enumDescriptions": [ - "Invalid value.", - "High impact.", - "Low impact.", - "No impact." + "", + "", + "", + "" ], "type": "string" }, "integrityImpact": { - "description": "This metric measures the impact to integrity of a successfully exploited vulnerability.", "enum": [ "IMPACT_UNSPECIFIED", "IMPACT_HIGH", @@ -10978,15 +9801,14 @@ "IMPACT_NONE" ], "enumDescriptions": [ - "Invalid value.", - "High impact.", - "Low impact.", - "No impact." + "", + "", + "", + "" ], "type": "string" }, "privilegesRequired": { - "description": "This metric describes the level of privileges an attacker must possess before successfully exploiting the vulnerability.", "enum": [ "PRIVILEGES_REQUIRED_UNSPECIFIED", "PRIVILEGES_REQUIRED_NONE", @@ -10994,38 +9816,36 @@ "PRIVILEGES_REQUIRED_HIGH" ], "enumDescriptions": [ - "Invalid value.", - "The attacker is unauthorized prior to attack, and therefore does not require any access to settings or files of the vulnerable system to carry out an attack.", - "The attacker requires privileges that provide basic user capabilities that could normally affect only settings and files owned by a user. Alternatively, an attacker with Low privileges has the ability to access only non-sensitive resources.", - "The attacker requires privileges that provide significant (e.g., administrative) control over the vulnerable component allowing access to component-wide settings and files." + "", + "", + "", + "" ], "type": "string" }, "scope": { - "description": "The Scope metric captures whether a vulnerability in one vulnerable component impacts resources in components beyond its security scope.", "enum": [ "SCOPE_UNSPECIFIED", "SCOPE_UNCHANGED", "SCOPE_CHANGED" ], "enumDescriptions": [ - "Invalid value.", - "An exploited vulnerability can only affect resources managed by the same security authority.", - "An exploited vulnerability can affect resources beyond the security scope managed by the security authority of the vulnerable component." + "", + "", + "" ], "type": "string" }, "userInteraction": { - "description": "This metric captures the requirement for a human user, other than the attacker, to participate in the successful compromise of the vulnerable component.", "enum": [ "USER_INTERACTION_UNSPECIFIED", "USER_INTERACTION_NONE", "USER_INTERACTION_REQUIRED" ], "enumDescriptions": [ - "Invalid value.", - "The vulnerable system can be exploited without interaction from any user.", - "Successful exploitation of this vulnerability requires a user to take some action before the vulnerability can be exploited." + "", + "", + "" ], "type": "string" } @@ -11033,15 +9853,12 @@ "type": "object" }, "GoogleCloudSecuritycenterV2Cwe": { - "description": "CWE stands for Common Weakness Enumeration. Information about this weakness, as described by [CWE](https://cwe.mitre.org/).", "id": "GoogleCloudSecuritycenterV2Cwe", "properties": { "id": { - "description": "The CWE identifier, e.g. CWE-94", "type": "string" }, "references": { - "description": "Any reference to the details on the CWE, for example, https://cwe.mitre.org/data/definitions/94.html", "items": { "$ref": "GoogleCloudSecuritycenterV2Reference" }, @@ -11051,20 +9868,16 @@ "type": "object" }, "GoogleCloudSecuritycenterV2DataAccessEvent": { - "description": "Details about a data access attempt made by a principal not authorized under applicable data security policy.", "id": "GoogleCloudSecuritycenterV2DataAccessEvent", "properties": { "eventId": { - "description": "Unique identifier for data access event.", "type": "string" }, "eventTime": { - "description": "Timestamp of data access event.", "format": "google-datetime", "type": "string" }, "operation": { - "description": "The operation performed by the principal to access the data.", "enum": [ "OPERATION_UNSPECIFIED", "READ", @@ -11072,35 +9885,30 @@ "COPY" ], "enumDescriptions": [ - "The operation is unspecified.", - "Represents a read operation.", - "Represents a move operation.", - "Represents a copy operation." + "", + "", + "", + "" ], "type": "string" }, "principalEmail": { - "description": "The email address of the principal that accessed the data. The principal could be a user account, service account, Google group, or other.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2DataFlowEvent": { - "description": "Details about a data flow event, in which either the data is moved to or is accessed from a non-compliant geo-location, as defined in the applicable data security policy.", "id": "GoogleCloudSecuritycenterV2DataFlowEvent", "properties": { "eventId": { - "description": "Unique identifier for data flow event.", "type": "string" }, "eventTime": { - "description": "Timestamp of data flow event.", "format": "google-datetime", "type": "string" }, "operation": { - "description": "The operation performed by the principal for the data flow event.", "enum": [ "OPERATION_UNSPECIFIED", "READ", @@ -11108,40 +9916,34 @@ "COPY" ], "enumDescriptions": [ - "The operation is unspecified.", - "Represents a read operation.", - "Represents a move operation.", - "Represents a copy operation." + "", + "", + "", + "" ], "type": "string" }, "principalEmail": { - "description": "The email address of the principal that initiated the data flow event. The principal could be a user account, service account, Google group, or other.", "type": "string" }, "violatedLocation": { - "description": "Non-compliant location of the principal or the data destination.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2DataRetentionDeletionEvent": { - "description": "Details about data retention deletion violations, in which the data is non-compliant based on their retention or deletion time, as defined in the applicable data security policy. The Data Retention Deletion (DRD) control is a control of the DSPM (Data Security Posture Management) suite that enables organizations to manage data retention and deletion policies in compliance with regulations, such as GDPR and CRPA. DRD supports two primary policy types: maximum storage length (max TTL) and minimum storage length (min TTL). Both are aimed at helping organizations meet regulatory and data management commitments.", "id": "GoogleCloudSecuritycenterV2DataRetentionDeletionEvent", "properties": { "dataObjectCount": { - "description": "Number of objects that violated the policy for this resource. If the number is less than 1,000, then the value of this field is the exact number. If the number of objects that violated the policy is greater than or equal to 1,000, then the value of this field is 1000.", "format": "int64", "type": "string" }, "eventDetectionTime": { - "description": "Timestamp indicating when the event was detected.", "format": "google-datetime", "type": "string" }, "eventType": { - "description": "Type of the DRD event.", "enum": [ "EVENT_TYPE_UNSPECIFIED", "EVENT_TYPE_MAX_TTL_EXCEEDED", @@ -11157,21 +9959,19 @@ false ], "enumDescriptions": [ - "Unspecified event type.", - "Deprecated: This field is pending removal. Use EVENT_TYPE_MAX_TTL_FROM_CREATION or EVENT_TYPE_MAX_TTL_FROM_LAST_MODIFICATION instead.", - "Max TTL from the asset's creation time.", - "Max TTL from the asset's last modification time.", - "Min TTL from the asset's creation time." + "", + "", + "", + "", + "" ], "type": "string" }, "maxRetentionAllowed": { - "description": "Maximum duration of retention allowed from the DRD control. This comes from the DRD control where users set a max TTL for their data. For example, suppose that a user sets the max TTL for a Cloud Storage bucket to 90 days. However, an object in that bucket is 100 days old. In this case, a DataRetentionDeletionEvent will be generated for that Cloud Storage bucket, and the max_retention_allowed is 90 days.", "format": "google-duration", "type": "string" }, "minRetentionAllowed": { - "description": "Min duration of retention allowed from the DSPM retention control. This field is only populated when event type is set to EVENT_TYPE_MIN_TTL_FROM_CREATION.", "format": "google-duration", "type": "string" } @@ -11179,64 +9979,51 @@ "type": "object" }, "GoogleCloudSecuritycenterV2Database": { - "description": "Represents database access information, such as queries. A database may be a sub-resource of an instance (as in the case of Cloud SQL instances or Cloud Spanner instances), or the database instance itself. Some database resources might not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types, such as Cloud SQL databases, are not yet supported by Cloud Asset Inventory. In these cases only the display name is provided.", "id": "GoogleCloudSecuritycenterV2Database", "properties": { "displayName": { - "description": "The human-readable name of the database that the user connected to.", "type": "string" }, "grantees": { - "description": "The target usernames, roles, or groups of an SQL privilege grant, which is not an IAM policy change.", "items": { "type": "string" }, "type": "array" }, "name": { - "description": "Some database resources may not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types are not yet supported by Cloud Asset Inventory (e.g. Cloud SQL databases). In these cases only the display name will be provided. The [full resource name](https://google.aip.dev/122#full-resource-names) of the database that the user connected to, if it is supported by Cloud Asset Inventory.", "type": "string" }, "query": { - "description": "The SQL statement that is associated with the database access.", "type": "string" }, "userName": { - "description": "The username used to connect to the database. The username might not be an IAM principal and does not have a set format.", "type": "string" }, "version": { - "description": "The version of the database, for example, POSTGRES_14. See [the complete list](https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1/SqlDatabaseVersion).", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Dataset": { - "description": "Vertex AI dataset associated with the finding.", "id": "GoogleCloudSecuritycenterV2Dataset", "properties": { "displayName": { - "description": "The user defined display name of dataset, e.g. plants-dataset", "type": "string" }, "name": { - "description": "Resource name of the dataset, e.g. projects/{project}/locations/{location}/datasets/2094040236064505856", "type": "string" }, "source": { - "description": "Data source, such as a BigQuery source URI, e.g. bq://scc-nexus-test.AIPPtest.gsod", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Denied": { - "description": "Denied IP rule.", "id": "GoogleCloudSecuritycenterV2Denied", "properties": { "ipRules": { - "description": "Optional. Optional list of denied IP rules.", "items": { "$ref": "GoogleCloudSecuritycenterV2IpRule" }, @@ -11246,15 +10033,12 @@ "type": "object" }, "GoogleCloudSecuritycenterV2Detection": { - "description": "Memory hash detection contributing to the binary family match.", "id": "GoogleCloudSecuritycenterV2Detection", "properties": { "binary": { - "description": "The name of the binary associated with the memory hash signature detection.", "type": "string" }, "percentPagesMatched": { - "description": "The percentage of memory page hashes in the signature that were matched.", "format": "double", "type": "number" } @@ -11262,35 +10046,29 @@ "type": "object" }, "GoogleCloudSecuritycenterV2DiscoveredWorkload": { - "description": "Represents discovered, customer managed workload that is not registered with the respective GCP service.", "id": "GoogleCloudSecuritycenterV2DiscoveredWorkload", "properties": { "confidence": { - "description": "The confidence in detection of this workload.", "enum": [ "CONFIDENCE_UNSPECIFIED", "CONFIDENCE_HIGH" ], "enumDescriptions": [ - "Unspecified confidence level.", - "High confidence in detection of a workload." + "", + "" ], "type": "string" }, "detectedRelevantHardware": { - "description": "A boolean flag set to true if associated hardware strongly predicts the workload type.", "type": "boolean" }, "detectedRelevantKeywords": { - "description": "A boolean flag set to true if associated keywords strongly predict the workload type.", "type": "boolean" }, "detectedRelevantPackages": { - "description": "A boolean flag set to true if installed packages strongly predict the workload type.", "type": "boolean" }, "workloadType": { - "description": "The type of workload.", "enum": [ "WORKLOAD_TYPE_UNSPECIFIED", "MCP_SERVER", @@ -11298,10 +10076,10 @@ "AGENT" ], "enumDescriptions": [ - "Unspecified workload type", - "A workload of type MCP Server", - "A workload of type AI Inference", - "A workload of type LLM Agent" + "", + "", + "", + "" ], "type": "string" } @@ -11309,100 +10087,82 @@ "type": "object" }, "GoogleCloudSecuritycenterV2Disk": { - "description": "Contains information about the disk associated with the finding.", "id": "GoogleCloudSecuritycenterV2Disk", "properties": { "name": { - "description": "The name of the disk, for example, \"https://www.googleapis.com/compute/v1/projects/{project-id}/zones/{zone-id}/disks/{disk-id}\".", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2DiskPath": { - "description": "Path of the file in terms of underlying disk/partition identifiers.", "id": "GoogleCloudSecuritycenterV2DiskPath", "properties": { "partitionUuid": { - "description": "UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid)", "type": "string" }, "relativePath": { - "description": "Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2DynamicMuteRecord": { - "description": "The record of a dynamic mute rule that matches the finding.", "id": "GoogleCloudSecuritycenterV2DynamicMuteRecord", "properties": { "matchTime": { - "description": "When the dynamic mute rule first matched the finding.", "format": "google-datetime", "type": "string" }, "muteConfig": { - "description": "The relative resource name of the mute rule, represented by a mute config, that created this record, for example `organizations/123/muteConfigs/mymuteconfig` or `organizations/123/locations/global/muteConfigs/mymuteconfig`.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2EnvironmentVariable": { - "description": "A name-value pair representing an environment variable used in an operating system process.", "id": "GoogleCloudSecuritycenterV2EnvironmentVariable", "properties": { "name": { - "description": "Environment variable name as a JSON encoded string.", "type": "string" }, "val": { - "description": "Environment variable value as a JSON encoded string.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2ExfilResource": { - "description": "Resource where data was exfiltrated from or exfiltrated to.", "id": "GoogleCloudSecuritycenterV2ExfilResource", "properties": { "components": { - "description": "Subcomponents of the asset that was exfiltrated, like URIs used during exfiltration, table names, databases, and filenames. For example, multiple tables might have been exfiltrated from the same Cloud SQL instance, or multiple files might have been exfiltrated from the same Cloud Storage bucket.", "items": { "type": "string" }, "type": "array" }, "name": { - "description": "The resource's [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name).", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Exfiltration": { - "description": "Exfiltration represents a data exfiltration attempt from one or more sources to one or more targets. The `sources` attribute lists the sources of the exfiltrated data. The `targets` attribute lists the destinations the data was copied to.", "id": "GoogleCloudSecuritycenterV2Exfiltration", "properties": { "sources": { - "description": "If there are multiple sources, then the data is considered \"joined\" between them. For instance, BigQuery can join multiple tables, and each table would be considered a source.", "items": { "$ref": "GoogleCloudSecuritycenterV2ExfilResource" }, "type": "array" }, "targets": { - "description": "If there are multiple targets, each target would get a complete copy of the \"joined\" source data.", "items": { "$ref": "GoogleCloudSecuritycenterV2ExfilResource" }, "type": "array" }, "totalExfiltratedBytes": { - "description": "Total exfiltrated bytes processed for the entire job.", "format": "int64", "type": "string" } @@ -11410,205 +10170,162 @@ "type": "object" }, "GoogleCloudSecuritycenterV2ExternalExposure": { - "description": "Details about the externally exposed resource associated with the finding.", "id": "GoogleCloudSecuritycenterV2ExternalExposure", "properties": { "backendBucket": { - "description": "The full resource name of the load balancer backend bucket, for example, \"//compute.googleapis.com/projects/{project-id}/global/backendBuckets/{name}\"", "type": "string" }, "backendService": { - "description": "The full resource name of load balancer backend service, for example, \"//compute.googleapis.com/projects/{project-id}/global/backendServices/{name}\".", "type": "string" }, "exposedApplication": { - "description": "The name and version of the exposed web application, for example, \"Jenkins 2.184\".", "type": "string" }, "exposedEndpoint": { - "description": "The resource which is running the exposed service, for example, \"//compute.googleapis.com/projects/{project-id}/zones/{zone}/instances/{instance}.”", "type": "string" }, "exposedService": { - "description": "The name and version of the service, for example, \"Jupyter Notebook 6.14.0\".", "type": "string" }, "forwardingRule": { - "description": "The full resource name of the forwarding rule, for example, \"//compute.googleapis.com/projects/{project-id}/global/forwardingRules/{forwarding-rule-name}\".", "type": "string" }, "hostnameUri": { - "description": "Hostname of the exposed application, for example, \"https://test-app.a.run.app/\"", "type": "string" }, "httpResponse": { - "description": "The http response returned by the web application.", "items": { "$ref": "GoogleCloudSecuritycenterV2HttpResponse" }, "type": "array" }, "instanceGroup": { - "description": "The full resource name of the instance group, for example, \"//compute.googleapis.com/projects/{project-id}/global/instanceGroups/{name}\".", "type": "string" }, "internalBackendService": { - "description": "The full resource name of load balancer backend service in the internal project having resource exposed via PSC, for example, \"//compute.googleapis.com/projects/{project-id}/global/backendServices/{name}\".", "type": "string" }, "loadBalancerFirewallPolicy": { - "description": "The full resource name of the load balancer firewall policy, for example, \"//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{policy-name}\".", "type": "string" }, "networkEndpointGroup": { - "description": "The full resource name of the network endpoint group, for example, \"//compute.googleapis.com/projects/{project-id}/global/networkEndpointGroups/{name}\".", "type": "string" }, "networkIngressFirewallPolicy": { - "description": "The full resource name of the network ingress firewall policy, for example, \"//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{name}\".", "type": "string" }, "privateIpAddress": { - "description": "Private IP address of the exposed endpoint.", "type": "string" }, "privatePort": { - "description": "Port number associated with private IP address.", "type": "string" }, "pscNetworkAttachment": { - "description": "The full resource name of the PSC (Private Service Connect) network attachment that network interface controller is attached to, for example, \"//compute.googleapis.com/projects/{project-id}/regions/{region}/networkAttachments/{name}\"", "type": "string" }, "pscServiceAttachment": { - "description": "The full resource name of the PSC (Private Service Connect) service attachment that the load balancer network endpoint group targets, for example, \"//compute.googleapis.com/projects/{project-id}/regions/{region}/serviceAttachments/{name}\"", "type": "string" }, "publicIpAddress": { - "description": "Public IP address of the exposed endpoint.", "type": "string" }, "publicPort": { - "description": "Public port number of the exposed endpoint.", "type": "string" }, "serviceFirewallPolicy": { - "description": "The full resource name of the firewall policy of the exposed service, for example, \"//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{policy-name}\".", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2ExternalSystem": { - "description": "Representation of third party SIEM/SOAR fields within SCC.", "id": "GoogleCloudSecuritycenterV2ExternalSystem", "properties": { "assignees": { - "description": "References primary/secondary etc assignees in the external system.", "items": { "type": "string" }, "type": "array" }, "caseCloseTime": { - "description": "The time when the case was closed, as reported by the external system.", "format": "google-datetime", "type": "string" }, "caseCreateTime": { - "description": "The time when the case was created, as reported by the external system.", "format": "google-datetime", "type": "string" }, "casePriority": { - "description": "The priority of the finding's corresponding case in the external system.", "type": "string" }, "caseSla": { - "description": "The SLA of the finding's corresponding case in the external system.", "format": "google-datetime", "type": "string" }, "caseUri": { - "description": "The link to the finding's corresponding case in the external system.", "type": "string" }, "externalSystemUpdateTime": { - "description": "The time when the case was last updated, as reported by the external system.", "format": "google-datetime", "type": "string" }, "externalUid": { - "description": "The identifier that's used to track the finding's corresponding case in the external system.", "type": "string" }, "name": { - "description": "Full resource name of the external system. The following list shows some examples: + `organizations/1234/sources/5678/findings/123456/externalSystems/jira` + `organizations/1234/sources/5678/locations/us/findings/123456/externalSystems/jira` + `folders/1234/sources/5678/findings/123456/externalSystems/jira` + `folders/1234/sources/5678/locations/us/findings/123456/externalSystems/jira` + `projects/1234/sources/5678/findings/123456/externalSystems/jira` + `projects/1234/sources/5678/locations/us/findings/123456/externalSystems/jira`", "type": "string" }, "status": { - "description": "The most recent status of the finding's corresponding case, as reported by the external system.", "type": "string" }, "ticketInfo": { - "$ref": "GoogleCloudSecuritycenterV2TicketInfo", - "description": "Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding." + "$ref": "GoogleCloudSecuritycenterV2TicketInfo" } }, "type": "object" }, "GoogleCloudSecuritycenterV2File": { - "description": "File information about the related binary/library used by an executable, or the script used by a script interpreter", "id": "GoogleCloudSecuritycenterV2File", "properties": { "contents": { - "description": "Prefix of the file contents as a JSON-encoded string.", "type": "string" }, "diskPath": { - "$ref": "GoogleCloudSecuritycenterV2DiskPath", - "description": "Path of the file in terms of underlying disk/partition identifiers." + "$ref": "GoogleCloudSecuritycenterV2DiskPath" }, "fileLoadState": { - "description": "The load state of the file.", "enum": [ "FILE_LOAD_STATE_UNSPECIFIED", "LOADED_BY_PROCESS", "NOT_LOADED_BY_PROCESS" ], "enumDescriptions": [ - "The file state is unspecified.", - "The file is being used by an active process at the time of scanning.", - "The file is not being used by any active process at the time of scanning." + "", + "", + "" ], "type": "string" }, "hashedSize": { - "description": "The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file.", "format": "int64", "type": "string" }, "operations": { - "description": "Operation(s) performed on a file.", "items": { "$ref": "GoogleCloudSecuritycenterV2FileOperation" }, "type": "array" }, "partiallyHashed": { - "description": "True when the hash covers only a prefix of the file.", "type": "boolean" }, "path": { - "description": "Absolute path of the file as a JSON encoded string.", "type": "string" }, "sha256": { - "description": "SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file.", "type": "string" }, "size": { - "description": "Size of the file in bytes.", "format": "int64", "type": "string" } @@ -11616,11 +10333,9 @@ "type": "object" }, "GoogleCloudSecuritycenterV2FileOperation": { - "description": "Operation(s) performed on a file.", "id": "GoogleCloudSecuritycenterV2FileOperation", "properties": { "type": { - "description": "The type of the operation", "enum": [ "OPERATION_TYPE_UNSPECIFIED", "OPEN", @@ -11630,12 +10345,12 @@ "EXECUTE" ], "enumDescriptions": [ - "The operation is unspecified.", - "Represents an open operation.", - "Represents a read operation.", - "Represents a rename operation.", - "Represents a write operation.", - "Represents an execute operation." + "", + "", + "", + "", + "", + "" ], "type": "string" } @@ -11643,82 +10358,64 @@ "type": "object" }, "GoogleCloudSecuritycenterV2Finding": { - "description": "Security Command Center finding. A finding is a record of assessment data like security, risk, health, or privacy, that is ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, a cross-site scripting (XSS) vulnerability in an App Engine application is a finding.", "id": "GoogleCloudSecuritycenterV2Finding", "properties": { "access": { - "$ref": "GoogleCloudSecuritycenterV2Access", - "description": "Access details associated with the finding, such as more information on the caller, which method was accessed, and from where." + "$ref": "GoogleCloudSecuritycenterV2Access" }, "affectedResources": { - "$ref": "GoogleCloudSecuritycenterV2AffectedResources", - "description": "AffectedResources associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2AffectedResources" }, "agentDataAccessEvents": { - "description": "Agent data access events associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2AgentDataAccessEvent" }, "type": "array" }, "aiModel": { - "$ref": "GoogleCloudSecuritycenterV2AiModel", - "description": "The AI model associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2AiModel" }, "application": { - "$ref": "GoogleCloudSecuritycenterV2Application", - "description": "Represents an application associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2Application" }, "artifactGuardPolicies": { - "$ref": "GoogleCloudSecuritycenterV2ArtifactGuardPolicies", - "description": "ArtifactGuardPolicies associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2ArtifactGuardPolicies" }, "attackExposure": { - "$ref": "GoogleCloudSecuritycenterV2AttackExposure", - "description": "The results of an attack path simulation relevant to this finding." + "$ref": "GoogleCloudSecuritycenterV2AttackExposure" }, "backupDisasterRecovery": { - "$ref": "GoogleCloudSecuritycenterV2BackupDisasterRecovery", - "description": "Fields related to Backup and DR findings." + "$ref": "GoogleCloudSecuritycenterV2BackupDisasterRecovery" }, "canonicalName": { - "description": "Output only. The canonical name of the finding. The following list shows some examples: + `organizations/{organization_id}/sources/{source_id}/locations/{location_id}/findings/{finding_id}` + `folders/{folder_id}/sources/{source_id}/locations/{location_id}/findings/{finding_id}` + `projects/{project_id}/sources/{source_id}/locations/{location_id}/findings/{finding_id}` The prefix is the closest CRM ancestor of the resource associated with the finding.", "readOnly": true, "type": "string" }, "category": { - "description": "Immutable. The additional taxonomy group within findings from a given source. Example: \"XSS_FLASH_INJECTION\"", "type": "string" }, "chokepoint": { - "$ref": "GoogleCloudSecuritycenterV2Chokepoint", - "description": "Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations). This field cannot be updated. Its value is ignored in all update requests." + "$ref": "GoogleCloudSecuritycenterV2Chokepoint" }, "cloudArmor": { - "$ref": "GoogleCloudSecuritycenterV2CloudArmor", - "description": "Fields related to Cloud Armor findings." + "$ref": "GoogleCloudSecuritycenterV2CloudArmor" }, "cloudDlpDataProfile": { - "$ref": "GoogleCloudSecuritycenterV2CloudDlpDataProfile", - "description": "Cloud DLP data profile that is associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2CloudDlpDataProfile" }, "cloudDlpInspection": { - "$ref": "GoogleCloudSecuritycenterV2CloudDlpInspection", - "description": "Cloud Data Loss Prevention (Cloud DLP) inspection results that are associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2CloudDlpInspection" }, "complianceDetails": { - "$ref": "GoogleCloudSecuritycenterV2ComplianceDetails", - "description": "Details about the compliance implications of the finding." + "$ref": "GoogleCloudSecuritycenterV2ComplianceDetails" }, "compliances": { - "description": "Contains compliance information for security standards associated to the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2Compliance" }, "type": "array" }, "connections": { - "description": "Contains information about the IP connection associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2Connection" }, @@ -11728,99 +10425,81 @@ "additionalProperties": { "$ref": "GoogleCloudSecuritycenterV2ContactDetails" }, - "description": "Output only. Map containing the points of contact for the given finding. The key represents the type of contact, while the value contains a list of all the contacts that pertain. Please refer to: https://cloud.google.com/resource-manager/docs/managing-notification-contacts#notification-categories { \"security\": { \"contacts\": [ { \"email\": \"person1@company.com\" }, { \"email\": \"person2@company.com\" } ] } }", "readOnly": true, "type": "object" }, "containers": { - "description": "Containers associated with the finding. This field provides information for both Kubernetes and non-Kubernetes containers.", "items": { "$ref": "GoogleCloudSecuritycenterV2Container" }, "type": "array" }, "createTime": { - "description": "Output only. The time at which the finding was created in Security Command Center.", "format": "google-datetime", "readOnly": true, "type": "string" }, "cryptoKeyName": { - "description": "Output only. The name of the Cloud KMS key used to encrypt this finding, if any.", "readOnly": true, "type": "string" }, "dataAccessEvents": { - "description": "Data access events associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2DataAccessEvent" }, "type": "array" }, "dataFlowEvents": { - "description": "Data flow events associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2DataFlowEvent" }, "type": "array" }, "dataRetentionDeletionEvents": { - "description": "Data retention deletion events associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2DataRetentionDeletionEvent" }, "type": "array" }, "database": { - "$ref": "GoogleCloudSecuritycenterV2Database", - "description": "Database associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2Database" }, "description": { - "description": "Contains more details about the finding.", "type": "string" }, "discoveredWorkload": { - "$ref": "GoogleCloudSecuritycenterV2DiscoveredWorkload", - "description": "DiscoveredWorkload associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2DiscoveredWorkload" }, "disk": { - "$ref": "GoogleCloudSecuritycenterV2Disk", - "description": "Disk associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2Disk" }, "eventTime": { - "description": "The time the finding was first detected. If an existing finding is updated, then this is the time the update occurred. For example, if the finding represents an open firewall, this property captures the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding is later resolved, then this time reflects when the finding was resolved. This must not be set to a value greater than the current timestamp.", "format": "google-datetime", "type": "string" }, "exfiltration": { - "$ref": "GoogleCloudSecuritycenterV2Exfiltration", - "description": "Represents exfiltrations associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2Exfiltration" }, "externalExposure": { - "$ref": "GoogleCloudSecuritycenterV2ExternalExposure", - "description": "External exposure associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2ExternalExposure" }, "externalSystems": { "additionalProperties": { "$ref": "GoogleCloudSecuritycenterV2ExternalSystem" }, - "description": "Output only. Third party SIEM/SOAR fields within SCC, contains external system information and external system finding fields.", "readOnly": true, "type": "object" }, "externalUri": { - "description": "The URI that, if available, points to a web page outside of Security Command Center where additional information about the finding can be found. This field is guaranteed to be either empty or a well formed URL.", "type": "string" }, "files": { - "description": "File associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2File" }, "type": "array" }, "findingClass": { - "description": "The class of the finding.", "enum": [ "FINDING_CLASS_UNSPECIFIED", "THREAT", @@ -11836,79 +10515,67 @@ "SECRET" ], "enumDescriptions": [ - "Unspecified finding class.", - "Describes unwanted or malicious activity.", - "Describes a potential weakness in software that increases risk to Confidentiality & Integrity & Availability.", - "Describes a potential weakness in cloud resource/asset configuration that increases risk.", - "Describes a security observation that is for informational purposes.", - "Describes an error that prevents some SCC functionality.", - "Describes a potential security risk due to a change in the security posture.", - "Describes a combination of security issues that represent a more severe security problem when taken together.", - "Describes a potential security risk to data assets that contain sensitive data.", - "Describes a resource or resource group where high risk attack paths converge, based on attack path simulations (APS).", - "Describes a potential security risk due to the resource being exposed to the internet.", - "Describes a potential security risk due to plaintext credentials, keys, or tokens being exposed in an asset or workload." + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" ], "type": "string" }, "groupMemberships": { - "description": "Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way. This field cannot be updated. Its value is ignored in all update requests.", "items": { "$ref": "GoogleCloudSecuritycenterV2GroupMembership" }, "type": "array" }, "iamBindings": { - "description": "Represents IAM bindings associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2IamBinding" }, "type": "array" }, "indicator": { - "$ref": "GoogleCloudSecuritycenterV2Indicator", - "description": "Represents what's commonly known as an *indicator of compromise* (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise)." + "$ref": "GoogleCloudSecuritycenterV2Indicator" }, "ipRules": { - "$ref": "GoogleCloudSecuritycenterV2IpRules", - "description": "IP rules associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2IpRules" }, "job": { - "$ref": "GoogleCloudSecuritycenterV2Job", - "description": "Job associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2Job" }, "kernelRootkit": { - "$ref": "GoogleCloudSecuritycenterV2KernelRootkit", - "description": "Signature of the kernel rootkit." + "$ref": "GoogleCloudSecuritycenterV2KernelRootkit" }, "kubernetes": { - "$ref": "GoogleCloudSecuritycenterV2Kubernetes", - "description": "Kubernetes resources associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2Kubernetes" }, "loadBalancers": { - "description": "The load balancers associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2LoadBalancer" }, "type": "array" }, "logEntries": { - "description": "Log entries that are relevant to the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2LogEntry" }, "type": "array" }, "mitreAttack": { - "$ref": "GoogleCloudSecuritycenterV2MitreAttack", - "description": "MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org" + "$ref": "GoogleCloudSecuritycenterV2MitreAttack" }, "moduleName": { - "description": "Unique identifier of the module which generated the finding. Example: folders/598186756061/securityHealthAnalyticsSettings/customModules/56799441161885", "type": "string" }, "mute": { - "description": "Indicates the mute state of a finding (either muted, unmuted or undefined). Unlike other attributes of a finding, a finding provider shouldn't set the value of mute.", "enum": [ "MUTE_UNSPECIFIED", "MUTED", @@ -11916,93 +10583,76 @@ "UNDEFINED" ], "enumDescriptions": [ - "Unspecified.", - "Finding has been muted.", - "Finding has been unmuted.", - "Finding has never been muted/unmuted." + "", + "", + "", + "" ], "type": "string" }, "muteInfo": { "$ref": "GoogleCloudSecuritycenterV2MuteInfo", - "description": "Output only. The mute information regarding this finding.", "readOnly": true }, "muteInitiator": { - "description": "Records additional information about the mute operation, for example, the [mute configuration](https://cloud.google.com/security-command-center/docs/how-to-mute-findings) that muted the finding and the user who muted the finding.", "type": "string" }, "muteUpdateTime": { - "description": "Output only. The most recent time this finding was muted or unmuted.", "format": "google-datetime", "readOnly": true, "type": "string" }, "name": { - "description": "Identifier. The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. The following list shows some examples: + `organizations/{organization_id}/sources/{source_id}/findings/{finding_id}` + `organizations/{organization_id}/sources/{source_id}/locations/{location_id}/findings/{finding_id}` + `folders/{folder_id}/sources/{source_id}/findings/{finding_id}` + `folders/{folder_id}/sources/{source_id}/locations/{location_id}/findings/{finding_id}` + `projects/{project_id}/sources/{source_id}/findings/{finding_id}` + `projects/{project_id}/sources/{source_id}/locations/{location_id}/findings/{finding_id}`", "type": "string" }, "networks": { - "description": "Represents the VPC networks that the resource is attached to.", "items": { "$ref": "GoogleCloudSecuritycenterV2Network" }, "type": "array" }, "nextSteps": { - "description": "Steps to address the finding.", "type": "string" }, "notebook": { - "$ref": "GoogleCloudSecuritycenterV2Notebook", - "description": "Notebook associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2Notebook" }, "orgPolicies": { - "description": "Contains information about the org policies associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2OrgPolicy" }, "type": "array" }, "parent": { - "description": "The relative resource name of the source and location the finding belongs to. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name This field is immutable after creation time. The following list shows some examples: + `organizations/{organization_id}/sources/{source_id}` + `folders/{folders_id}/sources/{source_id}` + `projects/{projects_id}/sources/{source_id}` + `organizations/{organization_id}/sources/{source_id}/locations/{location_id}` + `folders/{folders_id}/sources/{source_id}/locations/{location_id}` + `projects/{projects_id}/sources/{source_id}/locations/{location_id}`", "type": "string" }, "parentDisplayName": { - "description": "Output only. The human readable display name of the finding source such as \"Event Threat Detection\" or \"Security Health Analytics\".", "readOnly": true, "type": "string" }, "policyViolationSummary": { - "$ref": "GoogleCloudSecuritycenterV2PolicyViolationSummary", - "description": "PolicyViolationSummary associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2PolicyViolationSummary" }, "processes": { - "description": "Represents operating system processes associated with the Finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2Process" }, "type": "array" }, "resourceName": { - "description": "Immutable. For findings on Google Cloud resources, the full resource name of the Google Cloud resource this finding is for. See: https://cloud.google.com/apis/design/resource_names#full_resource_name When the finding is for a non-Google Cloud resource, the resourceName can be a customer or partner defined string.", "type": "string" }, "secret": { - "$ref": "GoogleCloudSecuritycenterV2Secret", - "description": "Secret associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2Secret" }, "securityMarks": { "$ref": "GoogleCloudSecuritycenterV2SecurityMarks", - "description": "Output only. User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the finding.", "readOnly": true }, "securityPosture": { - "$ref": "GoogleCloudSecuritycenterV2SecurityPosture", - "description": "The security posture associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2SecurityPosture" }, "severity": { - "description": "The severity of the finding. This field is managed by the source that writes the finding.", "enum": [ "SEVERITY_UNSPECIFIED", "CRITICAL", @@ -12011,11 +10661,11 @@ "LOW" ], "enumDescriptions": [ - "This value is used for findings when a source doesn't write a severity value.", - "Vulnerability: A critical vulnerability is easily discoverable by an external actor, exploitable, and results in the direct ability to execute arbitrary code, exfiltrate data, and otherwise gain additional access and privileges to cloud resources and workloads. Examples include publicly accessible unprotected user data and public SSH access with weak or no passwords. Threat: Indicates a threat that is able to access, modify, or delete data or execute unauthorized code within existing resources.", - "Vulnerability: A high risk vulnerability can be easily discovered and exploited in combination with other vulnerabilities in order to gain direct access and the ability to execute arbitrary code, exfiltrate data, and otherwise gain additional access and privileges to cloud resources and workloads. An example is a database with weak or no passwords that is only accessible internally. This database could easily be compromised by an actor that had access to the internal network. Threat: Indicates a threat that is able to create new computational resources in an environment but not able to access data or execute code in existing resources.", - "Vulnerability: A medium risk vulnerability could be used by an actor to gain access to resources or privileges that enable them to eventually (through multiple steps or a complex exploit) gain access and the ability to execute arbitrary code or exfiltrate data. An example is a service account with access to more projects than it should have. If an actor gains access to the service account, they could potentially use that access to manipulate a project the service account was not intended to. Threat: Indicates a threat that is able to cause operational impact but may not access data or execute unauthorized code.", - "Vulnerability: A low risk vulnerability hampers a security organization's ability to detect vulnerabilities or active threats in their deployment, or prevents the root cause investigation of security issues. An example is monitoring and logs being disabled for resource configurations and access. Threat: Indicates a threat that has obtained minimal access to an environment but is not able to access data, execute code, or create resources." + "", + "", + "", + "", + "" ], "type": "string" }, @@ -12023,60 +10673,50 @@ "additionalProperties": { "type": "any" }, - "description": "Source specific properties. These properties are managed by the source that writes the finding. The key names in the source_properties map must be between 1 and 255 characters, and must start with a letter and contain alphanumeric characters or underscores only.", "type": "object" }, "state": { - "description": "Output only. The state of the finding.", "enum": [ "STATE_UNSPECIFIED", "ACTIVE", "INACTIVE" ], "enumDescriptions": [ - "Unspecified state.", - "The finding requires attention and has not been addressed yet.", - "The finding has been fixed, triaged as a non-issue or otherwise addressed and is no longer active." + "", + "", + "" ], "readOnly": true, "type": "string" }, "toxicCombination": { - "$ref": "GoogleCloudSecuritycenterV2ToxicCombination", - "description": "Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. This field cannot be updated. Its value is ignored in all update requests." + "$ref": "GoogleCloudSecuritycenterV2ToxicCombination" }, "vertexAi": { - "$ref": "GoogleCloudSecuritycenterV2VertexAi", - "description": "VertexAi associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2VertexAi" }, "vulnerability": { - "$ref": "GoogleCloudSecuritycenterV2Vulnerability", - "description": "Represents vulnerability-specific fields like CVE and CVSS scores. CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/)" + "$ref": "GoogleCloudSecuritycenterV2Vulnerability" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Folder": { - "description": "Message that contains the resource name and display name of a folder resource.", "id": "GoogleCloudSecuritycenterV2Folder", "properties": { "resourceFolder": { - "description": "Full resource name of this folder. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", "type": "string" }, "resourceFolderDisplayName": { - "description": "The user defined display name for this folder.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Framework": { - "description": "Compliance framework associated with the finding.", "id": "GoogleCloudSecuritycenterV2Framework", "properties": { "category": { - "description": "Category of the framework associated with the finding. E.g. Security Benchmark, or Assured Workloads", "items": { "enum": [ "FRAMEWORK_CATEGORY_UNSPECIFIED", @@ -12087,43 +10727,39 @@ "CUSTOM_FRAMEWORK" ], "enumDescriptions": [ - "Default value. This value is unused.", - "Security Benchmarks framework", - "Assured Workloads framework", - "Data Security framework", - "Google Best Practices framework", - "A user-created framework" + "", + "", + "", + "", + "", + "" ], "type": "string" }, "type": "array" }, "controls": { - "description": "The controls associated with the framework.", "items": { "$ref": "GoogleCloudSecuritycenterV2Control" }, "type": "array" }, "displayName": { - "description": "Display name of the framework. For a standard framework, this will look like e.g. PCI DSS 3.2.1, whereas for a custom framework it can be a user defined string like MyFramework", "type": "string" }, "name": { - "description": "Name of the framework associated with the finding", "type": "string" }, "type": { - "description": "Type of the framework associated with the finding, to specify whether the framework is built-in (pre-defined and immutable) or a custom framework defined by the customer (equivalent to security posture)", "enum": [ "FRAMEWORK_TYPE_UNSPECIFIED", "FRAMEWORK_TYPE_BUILT_IN", "FRAMEWORK_TYPE_CUSTOM" ], "enumDescriptions": [ - "Default value. This value is unused.", - "The framework is a built-in framework if it is created and managed by GCP.", - "The framework is a custom framework if it is created and managed by the user." + "", + "", + "" ], "type": "string" } @@ -12131,35 +10767,30 @@ "type": "object" }, "GoogleCloudSecuritycenterV2Geolocation": { - "description": "Represents a geographical location for a given access.", "id": "GoogleCloudSecuritycenterV2Geolocation", "properties": { "regionCode": { - "description": "A CLDR.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2GroupMembership": { - "description": "Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way.", "id": "GoogleCloudSecuritycenterV2GroupMembership", "properties": { "groupId": { - "description": "ID of the group.", "type": "string" }, "groupType": { - "description": "Type of group.", "enum": [ "GROUP_TYPE_UNSPECIFIED", "GROUP_TYPE_TOXIC_COMBINATION", "GROUP_TYPE_CHOKEPOINT" ], "enumDescriptions": [ - "Default value.", - "Group represents a toxic combination.", - "Group represents a chokepoint." + "", + "", + "" ], "type": "string" } @@ -12167,76 +10798,64 @@ "type": "object" }, "GoogleCloudSecuritycenterV2HttpResponse": { - "description": "The http response returned by the web application.", "id": "GoogleCloudSecuritycenterV2HttpResponse", "properties": { "path": { - "description": "The http path for which response code was returned by web application, for example, \"https://test-app.a.run.app/test\".", "type": "string" }, "statusCode": { - "description": "The http response code returned by the web application, for example, 200.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IamBinding": { - "description": "Represents a particular IAM binding, which captures a member's role addition, removal, or state.", "id": "GoogleCloudSecuritycenterV2IamBinding", "properties": { "action": { - "description": "The action that was performed on a Binding.", "enum": [ "ACTION_UNSPECIFIED", "ADD", "REMOVE" ], "enumDescriptions": [ - "Unspecified.", - "Addition of a Binding.", - "Removal of a Binding." + "", + "", + "" ], "type": "string" }, "member": { - "description": "A single identity requesting access for a Cloud Platform resource, for example, \"foo@google.com\".", "type": "string" }, "role": { - "description": "Role that is assigned to \"members\". For example, \"roles/viewer\", \"roles/editor\", or \"roles/owner\".", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Indicator": { - "description": "Represents what's commonly known as an _indicator of compromise_ (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise).", "id": "GoogleCloudSecuritycenterV2Indicator", "properties": { "domains": { - "description": "List of domains associated to the Finding.", "items": { "type": "string" }, "type": "array" }, "ipAddresses": { - "description": "The list of IP addresses that are associated with the finding.", "items": { "type": "string" }, "type": "array" }, "signatures": { - "description": "The list of matched signatures indicating that the given process is present in the environment.", "items": { "$ref": "GoogleCloudSecuritycenterV2ProcessSignature" }, "type": "array" }, "uris": { - "description": "The list of URIs associated to the Findings.", "items": { "type": "string" }, @@ -12246,84 +10865,70 @@ "type": "object" }, "GoogleCloudSecuritycenterV2InfoType": { - "description": "Type of information detected by the API.", "id": "GoogleCloudSecuritycenterV2InfoType", "properties": { "name": { - "description": "Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.", "type": "string" }, "sensitivityScore": { - "$ref": "GoogleCloudSecuritycenterV2SensitivityScore", - "description": "Optional custom sensitivity for this InfoType. This only applies to data profiling." + "$ref": "GoogleCloudSecuritycenterV2SensitivityScore" }, "version": { - "description": "Optional version name for this InfoType.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IpRule": { - "description": "IP rule information.", "id": "GoogleCloudSecuritycenterV2IpRule", "properties": { "portRanges": { - "description": "Optional. An optional list of ports to which this rule applies. This field is only applicable for the UDP or (S)TCP protocols. Each entry must be either an integer or a range including a min and max port number.", "items": { "$ref": "GoogleCloudSecuritycenterV2PortRange" }, "type": "array" }, "protocol": { - "description": "The IP protocol this rule applies to. This value can either be one of the following well known protocol strings (TCP, UDP, ICMP, ESP, AH, IPIP, SCTP) or a string representation of the integer value.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IpRules": { - "description": "IP rules associated with the finding.", "id": "GoogleCloudSecuritycenterV2IpRules", "properties": { "allowed": { - "$ref": "GoogleCloudSecuritycenterV2Allowed", - "description": "Tuple with allowed rules." + "$ref": "GoogleCloudSecuritycenterV2Allowed" }, "denied": { - "$ref": "GoogleCloudSecuritycenterV2Denied", - "description": "Tuple with denied rules." + "$ref": "GoogleCloudSecuritycenterV2Denied" }, "destinationIpRanges": { - "description": "If destination IP ranges are specified, the firewall rule applies only to traffic that has a destination IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4.", "items": { "type": "string" }, "type": "array" }, "direction": { - "description": "The direction that the rule is applicable to, one of ingress or egress.", "enum": [ "DIRECTION_UNSPECIFIED", "INGRESS", "EGRESS" ], "enumDescriptions": [ - "Unspecified direction value.", - "Ingress direction value.", - "Egress direction value." + "", + "", + "" ], "type": "string" }, "exposedServices": { - "description": "Name of the network protocol service, such as FTP, that is exposed by the open port. Follows the naming convention available at: https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml.", "items": { "type": "string" }, "type": "array" }, "sourceIpRanges": { - "description": "If source IP 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. Only supports IPv4.", "items": { "type": "string" }, @@ -12333,37 +10938,30 @@ "type": "object" }, "GoogleCloudSecuritycenterV2Issue": { - "description": "Security Command Center Issue.", "id": "GoogleCloudSecuritycenterV2Issue", "properties": { "createTime": { - "description": "Output only. The time the issue was created.", "format": "google-datetime", "readOnly": true, "type": "string" }, "description": { - "description": "The description of the issue in Markdown format.", "type": "string" }, "detection": { - "description": "The finding category or rule name that generated the issue.", "type": "string" }, "domains": { - "description": "The domains of the issue.", "items": { "$ref": "GoogleCloudSecuritycenterV2IssueDomain" }, "type": "array" }, "exposureScore": { - "description": "The exposure score of the issue.", "format": "double", "type": "number" }, "issueType": { - "description": "The type of the issue.", "enum": [ "ISSUE_TYPE_UNSPECIFIED", "CHOKEPOINT", @@ -12371,60 +10969,51 @@ "INSIGHT" ], "enumDescriptions": [ - "Unspecified issue type.", - "Chokepoint issue type.", - "Toxic combination issue type.", - "Insight issue type." + "", + "", + "", + "" ], "type": "string" }, "lastObservationTime": { - "description": "The time the issue was last observed.", "format": "google-datetime", "type": "string" }, "mute": { - "$ref": "GoogleCloudSecuritycenterV2IssueMute", - "description": "The mute information of the issue." + "$ref": "GoogleCloudSecuritycenterV2IssueMute" }, "name": { - "description": "Identifier. The name of the issue. Format: organizations/{organization}/locations/{location}/issues/{issue}", "type": "string" }, "primaryResource": { - "$ref": "GoogleCloudSecuritycenterV2IssueResource", - "description": "The primary resource associated with the issue." + "$ref": "GoogleCloudSecuritycenterV2IssueResource" }, "relatedFindings": { - "description": "The findings related to the issue.", "items": { "$ref": "GoogleCloudSecuritycenterV2IssueFinding" }, "type": "array" }, "remediations": { - "description": "Approaches to remediate the issue in Markdown format.", "items": { "type": "string" }, "type": "array" }, "secondaryResources": { - "description": "Additional resources associated with the issue.", "items": { "$ref": "GoogleCloudSecuritycenterV2IssueResource" }, "type": "array" }, "securityContexts": { - "description": "The security context of the issue.", "items": { "$ref": "GoogleCloudSecuritycenterV2IssueSecurityContext" }, "type": "array" }, "severity": { - "description": "The severity of the issue.", "enum": [ "SEVERITY_UNSPECIFIED", "CRITICAL", @@ -12433,31 +11022,29 @@ "LOW" ], "enumDescriptions": [ - "Unspecified severity.", - "Critical severity.", - "High severity.", - "Medium severity.", - "Low severity." + "", + "", + "", + "", + "" ], "type": "string" }, "state": { - "description": "Output only. The state of the issue.", "enum": [ "STATE_UNSPECIFIED", "ACTIVE", "INACTIVE" ], "enumDescriptions": [ - "Unspecified state.", - "Active state.", - "Inactive state." + "", + "", + "" ], "readOnly": true, "type": "string" }, "updateTime": { - "description": "Output only. The time the issue was last updated.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -12466,11 +11053,9 @@ "type": "object" }, "GoogleCloudSecuritycenterV2IssueDomain": { - "description": "The domains of an issue.", "id": "GoogleCloudSecuritycenterV2IssueDomain", "properties": { "domainCategory": { - "description": "The domain category of the issue.", "enum": [ "DOMAIN_CATEGORY_UNSPECIFIED", "AI", @@ -12482,14 +11067,14 @@ "THREAT" ], "enumDescriptions": [ - "Unspecified domain category.", - "Issues in the AI domain.", - "Issues in the code domain.", - "Issues in the container domain.", - "Issues in the data domain.", - "Issues in the identity and access domain.", - "Issues in the vulnerability domain.", - "Issues in the threat domain." + "", + "", + "", + "", + "", + "", + "", + "" ], "type": "string" } @@ -12497,75 +11082,62 @@ "type": "object" }, "GoogleCloudSecuritycenterV2IssueFinding": { - "description": "Finding related to an issue.", "id": "GoogleCloudSecuritycenterV2IssueFinding", "properties": { "cve": { - "$ref": "GoogleCloudSecuritycenterV2IssueFindingCve", - "description": "The CVE of the finding." + "$ref": "GoogleCloudSecuritycenterV2IssueFindingCve" }, "name": { - "description": "The name of the finding.", "type": "string" }, "securityBulletin": { - "$ref": "GoogleCloudSecuritycenterV2IssueFindingSecurityBulletin", - "description": "The security bulletin of the finding." + "$ref": "GoogleCloudSecuritycenterV2IssueFindingSecurityBulletin" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueFindingCve": { - "description": "The CVE of the finding.", "id": "GoogleCloudSecuritycenterV2IssueFindingCve", "properties": { "name": { - "description": "The CVE name.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueFindingSecurityBulletin": { - "description": "The security bulletin of the finding.", "id": "GoogleCloudSecuritycenterV2IssueFindingSecurityBulletin", "properties": { "name": { - "description": "The security bulletin name.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueMute": { - "description": "The mute information of the issue.", "id": "GoogleCloudSecuritycenterV2IssueMute", "properties": { "muteInitiator": { - "description": "The email address of the user who last changed the mute state of the issue.", "type": "string" }, "muteReason": { - "description": "The user-provided reason for muting the issue.", "type": "string" }, "muteState": { - "description": "Output only. The mute state of the issue.", "enum": [ "MUTE_STATE_UNSPECIFIED", "NOT_MUTED", "MUTED" ], "enumDescriptions": [ - "Unspecified mute state.", - "Not muted.", - "Muted." + "", + "", + "" ], "readOnly": true, "type": "string" }, "muteUpdateTime": { - "description": "The time the issue was muted.", "format": "google-datetime", "type": "string" } @@ -12573,35 +11145,27 @@ "type": "object" }, "GoogleCloudSecuritycenterV2IssueResource": { - "description": "A resource associated with the an issue.", "id": "GoogleCloudSecuritycenterV2IssueResource", "properties": { "adcApplication": { - "$ref": "GoogleCloudSecuritycenterV2IssueResourceAdcApplication", - "description": "The ADC application associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2IssueResourceAdcApplication" }, "adcApplicationTemplate": { - "$ref": "GoogleCloudSecuritycenterV2IssueResourceAdcApplicationTemplateRevision", - "description": "The ADC template associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2IssueResourceAdcApplicationTemplateRevision" }, "adcSharedTemplate": { - "$ref": "GoogleCloudSecuritycenterV2IssueResourceAdcSharedTemplateRevision", - "description": "The ADC shared template associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2IssueResourceAdcSharedTemplateRevision" }, "application": { - "$ref": "GoogleCloudSecuritycenterV2IssueResourceApplication", - "description": "The AppHub application associated with the resource, if any. Only populated for the primary resource." + "$ref": "GoogleCloudSecuritycenterV2IssueResourceApplication" }, "awsMetadata": { - "$ref": "GoogleCloudSecuritycenterV2IssueResourceAwsMetadata", - "description": "The AWS metadata of the resource associated with the issue. Only populated for AWS resources." + "$ref": "GoogleCloudSecuritycenterV2IssueResourceAwsMetadata" }, "azureMetadata": { - "$ref": "GoogleCloudSecuritycenterV2IssueResourceAzureMetadata", - "description": "The Azure metadata of the resource associated with the issue. Only populated for Azure resources." + "$ref": "GoogleCloudSecuritycenterV2IssueResourceAzureMetadata" }, "cloudProvider": { - "description": "The cloud provider of the resource associated with the issue.", "enum": [ "CLOUD_PROVIDER_UNSPECIFIED", "GOOGLE_CLOUD", @@ -12609,112 +11173,92 @@ "MICROSOFT_AZURE" ], "enumDescriptions": [ - "Unspecified cloud provider.", - "Google Cloud.", - "Amazon Web Services.", - "Microsoft Azure." + "", + "", + "", + "" ], "type": "string" }, "displayName": { - "description": "The resource-type specific display name of the resource associated with the issue.", "type": "string" }, "googleCloudMetadata": { - "$ref": "GoogleCloudSecuritycenterV2IssueResourceGoogleCloudMetadata", - "description": "The Google Cloud metadata of the resource associated with the issue. Only populated for Google Cloud resources." + "$ref": "GoogleCloudSecuritycenterV2IssueResourceGoogleCloudMetadata" }, "name": { - "description": "The full resource name of the resource associated with the issue.", "type": "string" }, "type": { - "description": "The type of the resource associated with the issue.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceAdcApplication": { - "description": "Represents an ADC application associated with the finding.", "id": "GoogleCloudSecuritycenterV2IssueResourceAdcApplication", "properties": { "attributes": { - "$ref": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributes", - "description": "Consumer provided attributes for the AppHub application." + "$ref": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributes" }, "name": { - "description": "The resource name of an ADC Application. Format: projects/{project}/locations/{location}/spaces/{space}/applications/{application}", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceAdcApplicationTemplateRevision": { - "description": "Represents an ADC template associated with the finding.", "id": "GoogleCloudSecuritycenterV2IssueResourceAdcApplicationTemplateRevision", "properties": { "name": { - "description": "The resource name of an ADC Application Template Revision. Format: projects/{project}/locations/{location}/spaces/{space}/applicationTemplates/{application_template}/revisions/{revision}", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceAdcSharedTemplateRevision": { - "description": "Represents an ADC shared template associated with the finding.", "id": "GoogleCloudSecuritycenterV2IssueResourceAdcSharedTemplateRevision", "properties": { "name": { - "description": "The resource name of an ADC Shared Template Revision. Format: projects/{project}/locations/{location}/spaces/{space}/applicationTemplates/{application_template}/revisions/{revision}", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceApplication": { - "description": "The AppHub application associated with the resource, if any.", "id": "GoogleCloudSecuritycenterV2IssueResourceApplication", "properties": { "attributes": { - "$ref": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributes", - "description": "Consumer provided attributes for the application" + "$ref": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributes" }, "name": { - "description": "The resource name of an Application. Format: `projects/{host-project-id}/locations/{location}/applications/{application-id}`", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributes": { - "description": "Consumer provided attributes for the application", "id": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributes", "properties": { "businessOwners": { - "description": "Business team that ensures user needs are met and value is delivered", "items": { "$ref": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesContactInfo" }, "type": "array" }, "criticality": { - "$ref": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesCriticality", - "description": "User-defined criticality information." + "$ref": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesCriticality" }, "developerOwners": { - "description": "Developer team that owns development and coding.", "items": { "$ref": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesContactInfo" }, "type": "array" }, "environment": { - "$ref": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesEnvironment", - "description": "User-defined environment information." + "$ref": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesEnvironment" }, "operatorOwners": { - "description": "Operator team that ensures runtime and operations.", "items": { "$ref": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesContactInfo" }, @@ -12724,22 +11268,18 @@ "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesContactInfo": { - "description": "Contact information of stakeholders.", "id": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesContactInfo", "properties": { "email": { - "description": "Email address of the contacts.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesCriticality": { - "description": "Criticality of the Application, Service, or Workload", "id": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesCriticality", "properties": { "type": { - "description": "Criticality Type.", "enum": [ "CRITICALITY_TYPE_UNSPECIFIED", "MISSION_CRITICAL", @@ -12748,11 +11288,11 @@ "LOW" ], "enumDescriptions": [ - "Unspecified type.", - "Mission critical service, application or workload.", - "High impact.", - "Medium impact.", - "Low impact." + "", + "", + "", + "", + "" ], "type": "string" } @@ -12760,11 +11300,9 @@ "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesEnvironment": { - "description": "Environment of the Application, Service, or Workload", "id": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesEnvironment", "properties": { "type": { - "description": "Environment Type.", "enum": [ "ENVIRONMENT_TYPE_UNSPECIFIED", "PRODUCTION", @@ -12773,11 +11311,11 @@ "DEVELOPMENT" ], "enumDescriptions": [ - "Unspecified type.", - "Production environment.", - "Staging environment.", - "Test environment.", - "Development environment." + "", + "", + "", + "", + "" ], "type": "string" } @@ -12785,93 +11323,75 @@ "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceAwsMetadata": { - "description": "The AWS metadata of a resource associated with an issue.", "id": "GoogleCloudSecuritycenterV2IssueResourceAwsMetadata", "properties": { "account": { - "$ref": "GoogleCloudSecuritycenterV2IssueResourceAwsMetadataAwsAccount", - "description": "The AWS account of the resource associated with the issue." + "$ref": "GoogleCloudSecuritycenterV2IssueResourceAwsMetadataAwsAccount" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceAwsMetadataAwsAccount": { - "description": "The AWS account of the resource associated with the issue.", "id": "GoogleCloudSecuritycenterV2IssueResourceAwsMetadataAwsAccount", "properties": { "id": { - "description": "The AWS account ID of the resource associated with the issue.", "type": "string" }, "name": { - "description": "The AWS account name of the resource associated with the issue.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceAzureMetadata": { - "description": "The Azure metadata of a resource associated with an issue.", "id": "GoogleCloudSecuritycenterV2IssueResourceAzureMetadata", "properties": { "subscription": { - "$ref": "GoogleCloudSecuritycenterV2IssueResourceAzureMetadataAzureSubscription", - "description": "The Azure subscription of the resource associated with the issue." + "$ref": "GoogleCloudSecuritycenterV2IssueResourceAzureMetadataAzureSubscription" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceAzureMetadataAzureSubscription": { - "description": "The Azure subscription of the resource associated with the issue.", "id": "GoogleCloudSecuritycenterV2IssueResourceAzureMetadataAzureSubscription", "properties": { "displayName": { - "description": "The Azure subscription display name of the resource associated with the issue.", "type": "string" }, "id": { - "description": "The Azure subscription ID of the resource associated with the issue.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceGoogleCloudMetadata": { - "description": "Google Cloud metadata of a resource associated with an issue.", "id": "GoogleCloudSecuritycenterV2IssueResourceGoogleCloudMetadata", "properties": { "projectId": { - "description": "The project ID that the resource associated with the issue belongs to.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueSecurityContext": { - "description": "Security context associated with an issue.", "id": "GoogleCloudSecuritycenterV2IssueSecurityContext", "properties": { "aggregatedCount": { - "$ref": "GoogleCloudSecuritycenterV2IssueSecurityContextAggregatedCount", - "description": "The aggregated count of the security context." + "$ref": "GoogleCloudSecuritycenterV2IssueSecurityContextAggregatedCount" }, "context": { - "$ref": "GoogleCloudSecuritycenterV2IssueSecurityContextContext", - "description": "The context of the security context." + "$ref": "GoogleCloudSecuritycenterV2IssueSecurityContextContext" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueSecurityContextAggregatedCount": { - "description": "Aggregated count of a security context.", "id": "GoogleCloudSecuritycenterV2IssueSecurityContextAggregatedCount", "properties": { "key": { - "description": "Aggregation key.", "type": "string" }, "value": { - "description": "Aggregation value.", "format": "int32", "type": "integer" } @@ -12879,15 +11399,12 @@ "type": "object" }, "GoogleCloudSecuritycenterV2IssueSecurityContextContext": { - "description": "Context of a security context.", "id": "GoogleCloudSecuritycenterV2IssueSecurityContextContext", "properties": { "type": { - "description": "Context type.", "type": "string" }, "values": { - "description": "Context values.", "items": { "type": "string" }, @@ -12897,24 +11414,19 @@ "type": "object" }, "GoogleCloudSecuritycenterV2Job": { - "description": "Describes a job", "id": "GoogleCloudSecuritycenterV2Job", "properties": { "errorCode": { - "description": "Optional. If the job did not complete successfully, this field describes why.", "format": "int32", "type": "integer" }, "location": { - "description": "Optional. Gives the location where the job ran, such as `US` or `europe-west1`", "type": "string" }, "name": { - "description": "The fully-qualified name for a job. e.g. `projects//jobs/`", "type": "string" }, "state": { - "description": "Output only. State of the job, such as `RUNNING` or `PENDING`.", "enum": [ "JOB_STATE_UNSPECIFIED", "PENDING", @@ -12923,11 +11435,11 @@ "FAILED" ], "enumDescriptions": [ - "Unspecified represents an unknown state and should not be used.", - "Job is scheduled and pending for run", - "Job in progress", - "Job has completed with success", - "Job has completed but with failure" + "", + "", + "", + "", + "" ], "readOnly": true, "type": "string" @@ -12936,96 +11448,78 @@ "type": "object" }, "GoogleCloudSecuritycenterV2KernelRootkit": { - "description": "Kernel mode rootkit signatures.", "id": "GoogleCloudSecuritycenterV2KernelRootkit", "properties": { "name": { - "description": "Rootkit name, when available.", "type": "string" }, "unexpectedCodeModification": { - "description": "True if unexpected modifications of kernel code memory are present.", "type": "boolean" }, "unexpectedFtraceHandler": { - "description": "True if `ftrace` points are present with callbacks pointing to regions that are not in the expected kernel or module code range.", "type": "boolean" }, "unexpectedInterruptHandler": { - "description": "True if interrupt handlers that are are not in the expected kernel or module code regions are present.", "type": "boolean" }, "unexpectedKernelCodePages": { - "description": "True if kernel code pages that are not in the expected kernel or module code regions are present.", "type": "boolean" }, "unexpectedKprobeHandler": { - "description": "True if `kprobe` points are present with callbacks pointing to regions that are not in the expected kernel or module code range.", "type": "boolean" }, "unexpectedProcessesInRunqueue": { - "description": "True if unexpected processes in the scheduler run queue are present. Such processes are in the run queue, but not in the process task list.", "type": "boolean" }, "unexpectedReadOnlyDataModification": { - "description": "True if unexpected modifications of kernel read-only data memory are present.", "type": "boolean" }, "unexpectedSystemCallHandler": { - "description": "True if system call handlers that are are not in the expected kernel or module code regions are present.", "type": "boolean" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Kubernetes": { - "description": "Kubernetes-related attributes.", "id": "GoogleCloudSecuritycenterV2Kubernetes", "properties": { "accessReviews": { - "description": "Provides information on any Kubernetes access reviews (privilege checks) relevant to the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2AccessReview" }, "type": "array" }, "bindings": { - "description": "Provides Kubernetes role binding information for findings that involve [RoleBindings or ClusterRoleBindings](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control).", "items": { "$ref": "GoogleCloudSecuritycenterV2Binding" }, "type": "array" }, "nodePools": { - "description": "GKE [node pools](https://cloud.google.com/kubernetes-engine/docs/concepts/node-pools) associated with the finding. This field contains node pool information for each node, when it is available.", "items": { "$ref": "GoogleCloudSecuritycenterV2NodePool" }, "type": "array" }, "nodes": { - "description": "Provides Kubernetes [node](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture#nodes) information.", "items": { "$ref": "GoogleCloudSecuritycenterV2Node" }, "type": "array" }, "objects": { - "description": "Kubernetes objects related to the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2Object" }, "type": "array" }, "pods": { - "description": "Kubernetes [Pods](https://cloud.google.com/kubernetes-engine/docs/concepts/pod) associated with the finding. This field contains Pod records for each container that is owned by a Pod.", "items": { "$ref": "GoogleCloudSecuritycenterV2Pod" }, "type": "array" }, "roles": { - "description": "Provides Kubernetes role information for findings that involve [Roles or ClusterRoles](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control).", "items": { "$ref": "GoogleCloudSecuritycenterV2Role" }, @@ -13035,52 +11529,42 @@ "type": "object" }, "GoogleCloudSecuritycenterV2Label": { - "description": "Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering).", "id": "GoogleCloudSecuritycenterV2Label", "properties": { "name": { - "description": "Name of the label.", "type": "string" }, "value": { - "description": "Value that corresponds to the label's name.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2LoadBalancer": { - "description": "Contains information related to the load balancer associated with the finding.", "id": "GoogleCloudSecuritycenterV2LoadBalancer", "properties": { "name": { - "description": "The name of the load balancer associated with the finding.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2LogEntry": { - "description": "An individual entry in a log.", "id": "GoogleCloudSecuritycenterV2LogEntry", "properties": { "cloudLoggingEntry": { - "$ref": "GoogleCloudSecuritycenterV2CloudLoggingEntry", - "description": "An individual entry in a log stored in Cloud Logging." + "$ref": "GoogleCloudSecuritycenterV2CloudLoggingEntry" } }, "type": "object" }, "GoogleCloudSecuritycenterV2MemoryHashSignature": { - "description": "A signature corresponding to memory page hashes.", "id": "GoogleCloudSecuritycenterV2MemoryHashSignature", "properties": { "binaryFamily": { - "description": "The binary family.", "type": "string" }, "detections": { - "description": "The list of memory hash detections contributing to the binary family match.", "items": { "$ref": "GoogleCloudSecuritycenterV2Detection" }, @@ -13090,11 +11574,9 @@ "type": "object" }, "GoogleCloudSecuritycenterV2MitreAttack": { - "description": "MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org", "id": "GoogleCloudSecuritycenterV2MitreAttack", "properties": { "additionalTactics": { - "description": "Additional MITRE ATT&CK tactics related to this finding, if any.", "items": { "enum": [ "TACTIC_UNSPECIFIED", @@ -13114,28 +11596,27 @@ "IMPACT" ], "enumDescriptions": [ - "Unspecified value.", - "TA0043", - "TA0042", - "TA0001", - "TA0002", - "TA0003", - "TA0004", - "TA0005", - "TA0006", - "TA0007", - "TA0008", - "TA0009", - "TA0011", - "TA0010", - "TA0040" + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" ], "type": "string" }, "type": "array" }, "additionalTechniques": { - "description": "Additional MITRE ATT&CK techniques related to this finding, if any, along with any of their respective parent techniques.", "items": { "enum": [ "TECHNIQUE_UNSPECIFIED", @@ -13279,152 +11760,151 @@ "FINANCIAL_THEFT" ], "enumDescriptions": [ - "Unspecified value.", - "T1001", - "T1001.002", - "T1003", - "T1003.007", - "T1003.008", - "T1005", - "T1020", - "T1027", - "T1027.003", - "T1027.004", - "T1027.010", - "T1029", - "T1033", - "T1036", - "T1036.005", - "T1037", - "T1037.005", - "T1046", - "T1053", - "T1053.003", - "T1053.007", - "T1055", - "T1056", - "T1056.001", - "T1057", - "T1059", - "T1059.004", - "T1059.006", - "T1068", - "T1069", - "T1069.003", - "T1070", - "T1070.002", - "T1070.003", - "T1070.004", - "T1070.006", - "T1070.008", - "T1071", - "T1071.004", - "T1072", - "T1078", - "T1078.001", - "T1078.003", - "T1078.004", - "T1083", - "T1087.001", - "T1090", - "T1090.002", - "T1090.003", - "T1098", - "T1098.001", - "T1098.003", - "T1098.004", - "T1098.006", - "T1104", - "T1105", - "T1106", - "T1110", - "T1119", - "T1129", - "T1132", - "T1132.001", - "T1134", - "T1134.001", - "T1136", - "T1136.001", - "T1140", - "T1190", - "T1195", - "T1195.001", - "T1203", - "T1204", - "T1212", - "T1222.002", - "T1484", - "T1485", - "T1486", - "T1489", - "T1490", - "T1495", - "T1496", - "T1498", - "T1526", - "T1528", - "T1531", - "T1537", - "T1539", - "T1543", - "T1546", - "T1547", - "T1547.006", - "T1547.009", - "T1548", - "T1548.001", - "T1548.003", - "T1552", - "T1552.001", - "T1552.003", - "T1552.004", - "T1553", - "T1553.004", - "T1554", - "T1555", - "T1556", - "T1556.003", - "T1556.006", - "T1562", - "T1562.001", - "T1562.006", - "T1562.012", - "T1564", - "T1564.001", - "T1564.002", - "T1567", - "T1567.002", - "T1568", - "T1570", - "T1574", - "T1574.006", - "T1578", - "T1578.001", - "T1580", - "T1587", - "T1587.001", - "T1588", - "T1588.001", - "T1588.006", - "T1595", - "T1595.001", - "T1608", - "T1608.001", - "T1609", - "T1610", - "T1611", - "T1613", - "T1620", - "T1649", - "T1657" + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" ], "type": "string" }, "type": "array" }, "primaryTactic": { - "description": "The MITRE ATT&CK tactic most closely represented by this finding, if any.", "enum": [ "TACTIC_UNSPECIFIED", "RECONNAISSANCE", @@ -13443,26 +11923,25 @@ "IMPACT" ], "enumDescriptions": [ - "Unspecified value.", - "TA0043", - "TA0042", - "TA0001", - "TA0002", - "TA0003", - "TA0004", - "TA0005", - "TA0006", - "TA0007", - "TA0008", - "TA0009", - "TA0011", - "TA0010", - "TA0040" + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" ], "type": "string" }, "primaryTechniques": { - "description": "The MITRE ATT&CK technique most closely represented by this finding, if any. primary_techniques is a repeated field because there are multiple levels of MITRE ATT&CK techniques. If the technique most closely represented by this finding is a sub-technique (e.g. `SCANNING_IP_BLOCKS`), both the sub-technique and its parent technique(s) will be listed (e.g. `SCANNING_IP_BLOCKS`, `ACTIVE_SCANNING`).", "items": { "enum": [ "TECHNIQUE_UNSPECIFIED", @@ -13606,210 +12085,199 @@ "FINANCIAL_THEFT" ], "enumDescriptions": [ - "Unspecified value.", - "T1001", - "T1001.002", - "T1003", - "T1003.007", - "T1003.008", - "T1005", - "T1020", - "T1027", - "T1027.003", - "T1027.004", - "T1027.010", - "T1029", - "T1033", - "T1036", - "T1036.005", - "T1037", - "T1037.005", - "T1046", - "T1053", - "T1053.003", - "T1053.007", - "T1055", - "T1056", - "T1056.001", - "T1057", - "T1059", - "T1059.004", - "T1059.006", - "T1068", - "T1069", - "T1069.003", - "T1070", - "T1070.002", - "T1070.003", - "T1070.004", - "T1070.006", - "T1070.008", - "T1071", - "T1071.004", - "T1072", - "T1078", - "T1078.001", - "T1078.003", - "T1078.004", - "T1083", - "T1087.001", - "T1090", - "T1090.002", - "T1090.003", - "T1098", - "T1098.001", - "T1098.003", - "T1098.004", - "T1098.006", - "T1104", - "T1105", - "T1106", - "T1110", - "T1119", - "T1129", - "T1132", - "T1132.001", - "T1134", - "T1134.001", - "T1136", - "T1136.001", - "T1140", - "T1190", - "T1195", - "T1195.001", - "T1203", - "T1204", - "T1212", - "T1222.002", - "T1484", - "T1485", - "T1486", - "T1489", - "T1490", - "T1495", - "T1496", - "T1498", - "T1526", - "T1528", - "T1531", - "T1537", - "T1539", - "T1543", - "T1546", - "T1547", - "T1547.006", - "T1547.009", - "T1548", - "T1548.001", - "T1548.003", - "T1552", - "T1552.001", - "T1552.003", - "T1552.004", - "T1553", - "T1553.004", - "T1554", - "T1555", - "T1556", - "T1556.003", - "T1556.006", - "T1562", - "T1562.001", - "T1562.006", - "T1562.012", - "T1564", - "T1564.001", - "T1564.002", - "T1567", - "T1567.002", - "T1568", - "T1570", - "T1574", - "T1574.006", - "T1578", - "T1578.001", - "T1580", - "T1587", - "T1587.001", - "T1588", - "T1588.001", - "T1588.006", - "T1595", - "T1595.001", - "T1608", - "T1608.001", - "T1609", - "T1610", - "T1611", - "T1613", - "T1620", - "T1649", - "T1657" + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" ], "type": "string" }, "type": "array" }, "version": { - "description": "The MITRE ATT&CK version referenced by the above fields. E.g. \"8\".", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2MuteConfig": { - "description": "A mute config is a Cloud SCC resource that contains the configuration to mute create/update events of findings.", "id": "GoogleCloudSecuritycenterV2MuteConfig", "properties": { "createTime": { - "description": "Output only. The time at which the mute config was created. This field is set by the server and will be ignored if provided on config creation.", "format": "google-datetime", "readOnly": true, "type": "string" }, "cryptoKeyName": { - "description": "Output only. The resource name of the Cloud KMS `CryptoKey` used to encrypt this configuration data, if CMEK was enabled during Security Command Center activation.", "readOnly": true, "type": "string" }, "description": { - "description": "A description of the mute config.", "type": "string" }, "expiryTime": { - "description": "Optional. The expiry of the mute config. Only applicable for dynamic configs. If the expiry is set, when the config expires, it is removed from all findings.", "format": "google-datetime", "type": "string" }, "filter": { - "description": "Required. An expression that defines the filter to apply across create/update events of findings. While creating a filter string, be mindful of the scope in which the mute configuration is being created. E.g., If a filter contains project = X but is created under the project = Y scope, it might not match any findings. The following field and operator combinations are supported: * severity: `=`, `:` * category: `=`, `:` * resource.name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.folders.resource_folder: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.type: `=`, `:` * finding_class: `=`, `:` * indicator.ip_addresses: `=`, `:` * indicator.domains: `=`, `:`", "type": "string" }, "mostRecentEditor": { - "description": "Output only. Email address of the user who last edited the mute config. This field is set by the server and will be ignored if provided on config creation or update.", "readOnly": true, "type": "string" }, "name": { - "description": "Identifier. This field will be ignored if provided on config creation. The following list shows some examples of the format: + `organizations/{organization}/muteConfigs/{mute_config}` + `organizations/{organization}locations/{location}//muteConfigs/{mute_config}` + `folders/{folder}/muteConfigs/{mute_config}` + `folders/{folder}/locations/{location}/muteConfigs/{mute_config}` + `projects/{project}/muteConfigs/{mute_config}` + `projects/{project}/locations/{location}/muteConfigs/{mute_config}`", "type": "string" }, "type": { - "description": "Required. The type of the mute config, which determines what type of mute state the config affects. Immutable after creation.", "enum": [ "MUTE_CONFIG_TYPE_UNSPECIFIED", "STATIC", "DYNAMIC" ], "enumDescriptions": [ - "Unused.", - "A static mute config, which sets the static mute state of future matching findings to muted. Once the static mute state has been set, finding or config modifications will not affect the state.", - "A dynamic mute config, which is applied to existing and future matching findings, setting their dynamic mute state to \"muted\". If the config is updated or deleted, or a matching finding is updated, such that the finding doesn't match the config, the config will be removed from the finding, and the finding's dynamic mute state may become \"unmuted\" (unless other configs still match)." + "", + "", + "" ], "type": "string" }, "updateTime": { - "description": "Output only. The most recent time at which the mute config was updated. This field is set by the server and will be ignored if provided on config creation or update.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -13818,55 +12286,45 @@ "type": "object" }, "GoogleCloudSecuritycenterV2MuteInfo": { - "description": "Mute information about the finding, including whether the finding has a static mute or any matching dynamic mute rules.", "id": "GoogleCloudSecuritycenterV2MuteInfo", "properties": { "dynamicMuteRecords": { - "description": "The list of dynamic mute rules that currently match the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2DynamicMuteRecord" }, "type": "array" }, "staticMute": { - "$ref": "GoogleCloudSecuritycenterV2StaticMute", - "description": "If set, the static mute applied to this finding. Static mutes override dynamic mutes. If unset, there is no static mute." + "$ref": "GoogleCloudSecuritycenterV2StaticMute" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Network": { - "description": "Contains information about a VPC network associated with the finding.", "id": "GoogleCloudSecuritycenterV2Network", "properties": { "name": { - "description": "The name of the VPC network resource, for example, `//compute.googleapis.com/projects/my-project/global/networks/my-network`.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Node": { - "description": "Kubernetes nodes associated with the finding.", "id": "GoogleCloudSecuritycenterV2Node", "properties": { "name": { - "description": "[Full resource name](https://google.aip.dev/122#full-resource-names) of the Compute Engine VM running the cluster node.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2NodePool": { - "description": "Provides GKE node pool information.", "id": "GoogleCloudSecuritycenterV2NodePool", "properties": { "name": { - "description": "Kubernetes node pool name.", "type": "string" }, "nodes": { - "description": "Nodes associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2Node" }, @@ -13876,196 +12334,157 @@ "type": "object" }, "GoogleCloudSecuritycenterV2Notebook": { - "description": "Represents a Jupyter notebook IPYNB file, such as a [Colab Enterprise notebook](https://cloud.google.com/colab/docs/introduction) file, that is associated with a finding.", "id": "GoogleCloudSecuritycenterV2Notebook", "properties": { "lastAuthor": { - "description": "The user ID of the latest author to modify the notebook.", "type": "string" }, "name": { - "description": "The name of the notebook.", "type": "string" }, "notebookUpdateTime": { - "description": "The most recent time the notebook was updated.", "format": "google-datetime", "type": "string" }, "service": { - "description": "The source notebook service, for example, \"Colab Enterprise\".", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2NotificationMessage": { - "description": "Cloud SCC's Notification", "id": "GoogleCloudSecuritycenterV2NotificationMessage", "properties": { "finding": { - "$ref": "GoogleCloudSecuritycenterV2Finding", - "description": "If it's a Finding based notification config, this field will be populated." + "$ref": "GoogleCloudSecuritycenterV2Finding" }, "notificationConfigName": { - "description": "Name of the notification config that generated current notification.", "type": "string" }, "resource": { - "$ref": "GoogleCloudSecuritycenterV2Resource", - "description": "The Cloud resource tied to this notification's Finding." + "$ref": "GoogleCloudSecuritycenterV2Resource" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Object": { - "description": "Kubernetes object related to the finding, uniquely identified by GKNN. Used if the object Kind is not one of Pod, Node, NodePool, Binding, or AccessReview.", "id": "GoogleCloudSecuritycenterV2Object", "properties": { "containers": { - "description": "Pod containers associated with this finding, if any.", "items": { "$ref": "GoogleCloudSecuritycenterV2Container" }, "type": "array" }, "group": { - "description": "Kubernetes object group, such as \"policy.k8s.io/v1\".", "type": "string" }, "kind": { - "description": "Kubernetes object kind, such as \"Namespace\".", "type": "string" }, "name": { - "description": "Kubernetes object name. For details see https://kubernetes.io/docs/concepts/overview/working-with-objects/names/.", "type": "string" }, "ns": { - "description": "Kubernetes object namespace. Must be a valid DNS label. Named \"ns\" to avoid collision with C++ namespace keyword. For details see https://kubernetes.io/docs/tasks/administer-cluster/namespaces/.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2OrgPolicy": { - "description": "Contains information about the org policies associated with the finding.", "id": "GoogleCloudSecuritycenterV2OrgPolicy", "properties": { "name": { - "description": "Identifier. The resource name of the org policy. Example: \"organizations/{organization_id}/policies/{constraint_name}\"", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Package": { - "description": "Package is a generic definition of a package.", "id": "GoogleCloudSecuritycenterV2Package", "properties": { "cpeUri": { - "description": "The CPE URI where the vulnerability was detected.", "type": "string" }, "packageName": { - "description": "The name of the package where the vulnerability was detected.", "type": "string" }, "packageType": { - "description": "Type of package, for example, os, maven, or go.", "type": "string" }, "packageVersion": { - "description": "The version of the package.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Pipeline": { - "description": "Vertex AI training pipeline associated with the finding.", "id": "GoogleCloudSecuritycenterV2Pipeline", "properties": { "displayName": { - "description": "The user-defined display name of pipeline, e.g. plants-classification", "type": "string" }, "name": { - "description": "Resource name of the pipeline, e.g. projects/{project}/locations/{location}/trainingPipelines/5253428229225578496", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Pod": { - "description": "A Kubernetes Pod.", "id": "GoogleCloudSecuritycenterV2Pod", "properties": { "containers": { - "description": "Pod containers associated with this finding, if any.", "items": { "$ref": "GoogleCloudSecuritycenterV2Container" }, "type": "array" }, "labels": { - "description": "Pod labels. For Kubernetes containers, these are applied to the container.", "items": { "$ref": "GoogleCloudSecuritycenterV2Label" }, "type": "array" }, "name": { - "description": "Kubernetes Pod name.", "type": "string" }, "ns": { - "description": "Kubernetes Pod namespace.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2PolicyDriftDetails": { - "description": "The policy field that violates the deployed posture and its expected and detected values.", "id": "GoogleCloudSecuritycenterV2PolicyDriftDetails", "properties": { "detectedValue": { - "description": "The detected value that violates the deployed posture, for example, `false` or `allowed_values={\"projects/22831892\"}`.", "type": "string" }, "expectedValue": { - "description": "The value of this field that was configured in a posture, for example, `true` or `allowed_values={\"projects/29831892\"}`.", "type": "string" }, "field": { - "description": "The name of the updated field, for example constraint.implementation.policy_rules[0].enforce", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2PolicyViolationSummary": { - "description": "Metadata summarizing policy violations of child resources of the affected resource. `finding_category` and `resource` determine the exact semantics of the counts. For example, when category=DATA_SECURITY_POSTURE_OBJECT_PUBLIC_ACCESS_VIOLATION and resource='storage.googleapis.com/buckets/my-bucket-name' then this counts the number of Cloud Storage objects in my-bucket-name which violate a Public Access control.", "id": "GoogleCloudSecuritycenterV2PolicyViolationSummary", "properties": { "conformantResourcesCount": { - "description": "Total number of child resources that conform to the policy.", "format": "int64", "type": "string" }, "evaluationErrorsCount": { - "description": "Number of child resources for which errors during evaluation occurred. The evaluation result for these child resources is effectively \"unknown\".", "format": "int64", "type": "string" }, "outOfScopeResourcesCount": { - "description": "Total count of child resources which were not in scope for evaluation.", "format": "int64", "type": "string" }, "policyViolationsCount": { - "description": "Count of child resources in violation of the policy.", "format": "int64", "type": "string" } @@ -14073,16 +12492,13 @@ "type": "object" }, "GoogleCloudSecuritycenterV2PortRange": { - "description": "A port range which is inclusive of the min and max values. Values are between 0 and 2^16-1. The max can be equal / must be not smaller than the min value. If min and max are equal this indicates that it is a single port.", "id": "GoogleCloudSecuritycenterV2PortRange", "properties": { "max": { - "description": "Maximum port value.", "format": "int64", "type": "string" }, "min": { - "description": "Minimum port value.", "format": "int64", "type": "string" } @@ -14090,62 +12506,50 @@ "type": "object" }, "GoogleCloudSecuritycenterV2Process": { - "description": "Represents an operating system process.", "id": "GoogleCloudSecuritycenterV2Process", "properties": { "args": { - "description": "Process arguments as JSON encoded strings.", "items": { "type": "string" }, "type": "array" }, "argumentsTruncated": { - "description": "True if `args` is incomplete.", "type": "boolean" }, "binary": { - "$ref": "GoogleCloudSecuritycenterV2File", - "description": "File information for the process executable." + "$ref": "GoogleCloudSecuritycenterV2File" }, "envVariables": { - "description": "Process environment variables.", "items": { "$ref": "GoogleCloudSecuritycenterV2EnvironmentVariable" }, "type": "array" }, "envVariablesTruncated": { - "description": "True if `env_variables` is incomplete.", "type": "boolean" }, "libraries": { - "description": "File information for libraries loaded by the process.", "items": { "$ref": "GoogleCloudSecuritycenterV2File" }, "type": "array" }, "name": { - "description": "The process name, as displayed in utilities like `top` and `ps`. This name can be accessed through `/proc/[pid]/comm` and changed with `prctl(PR_SET_NAME)`.", "type": "string" }, "parentPid": { - "description": "The parent process ID.", "format": "int64", "type": "string" }, "pid": { - "description": "The process ID.", "format": "int64", "type": "string" }, "script": { - "$ref": "GoogleCloudSecuritycenterV2File", - "description": "When the process represents the invocation of a script, `binary` provides information about the interpreter, while `script` provides information about the script file provided to the interpreter." + "$ref": "GoogleCloudSecuritycenterV2File" }, "userId": { - "description": "The ID of the user that executed the process. E.g. If this is the root user this will always be 0.", "format": "int64", "type": "string" } @@ -14153,70 +12557,58 @@ "type": "object" }, "GoogleCloudSecuritycenterV2ProcessSignature": { - "description": "Indicates what signature matched this process.", "id": "GoogleCloudSecuritycenterV2ProcessSignature", "properties": { "memoryHashSignature": { - "$ref": "GoogleCloudSecuritycenterV2MemoryHashSignature", - "description": "Signature indicating that a binary family was matched." + "$ref": "GoogleCloudSecuritycenterV2MemoryHashSignature" }, "signatureType": { - "description": "Describes the type of resource associated with the signature.", "enum": [ "SIGNATURE_TYPE_UNSPECIFIED", "SIGNATURE_TYPE_PROCESS", "SIGNATURE_TYPE_FILE" ], "enumDescriptions": [ - "The default signature type.", - "Used for signatures concerning processes.", - "Used for signatures concerning disks." + "", + "", + "" ], "type": "string" }, "yaraRuleSignature": { - "$ref": "GoogleCloudSecuritycenterV2YaraRuleSignature", - "description": "Signature indicating that a YARA rule was matched." + "$ref": "GoogleCloudSecuritycenterV2YaraRuleSignature" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Reference": { - "description": "Additional Links", "id": "GoogleCloudSecuritycenterV2Reference", "properties": { "source": { - "description": "Source of the reference e.g. NVD", "type": "string" }, "uri": { - "description": "Uri for the mentioned source e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Requests": { - "description": "Information about the requests relevant to the finding.", "id": "GoogleCloudSecuritycenterV2Requests", "properties": { "longTermAllowed": { - "description": "Allowed RPS (requests per second) over the long term.", "format": "int32", "type": "integer" }, "longTermDenied": { - "description": "Denied RPS (requests per second) over the long term.", "format": "int32", "type": "integer" }, "ratio": { - "description": "For 'Increasing deny ratio', the ratio is the denied traffic divided by the allowed traffic. For 'Allowed traffic spike', the ratio is the allowed traffic in the short term divided by allowed traffic in the long term.", "format": "double", "type": "number" }, "shortTermAllowed": { - "description": "Allowed RPS (requests per second) in the short term.", "format": "int32", "type": "integer" } @@ -14224,35 +12616,27 @@ "type": "object" }, "GoogleCloudSecuritycenterV2Resource": { - "description": "Information related to the Google Cloud resource.", "id": "GoogleCloudSecuritycenterV2Resource", "properties": { "adcApplication": { - "$ref": "GoogleCloudSecuritycenterV2AdcApplication", - "description": "The ADC application associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2AdcApplication" }, "adcApplicationTemplate": { - "$ref": "GoogleCloudSecuritycenterV2AdcApplicationTemplateRevision", - "description": "The ADC template associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2AdcApplicationTemplateRevision" }, "adcSharedTemplate": { - "$ref": "GoogleCloudSecuritycenterV2AdcSharedTemplateRevision", - "description": "The ADC shared template associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2AdcSharedTemplateRevision" }, "application": { - "$ref": "GoogleCloudSecuritycenterV2ResourceApplication", - "description": "The App Hub application this resource belongs to." + "$ref": "GoogleCloudSecuritycenterV2ResourceApplication" }, "awsMetadata": { - "$ref": "GoogleCloudSecuritycenterV2AwsMetadata", - "description": "The AWS metadata associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2AwsMetadata" }, "azureMetadata": { - "$ref": "GoogleCloudSecuritycenterV2AzureMetadata", - "description": "The Azure metadata associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2AzureMetadata" }, "cloudProvider": { - "description": "Indicates which cloud provider the finding is from.", "enum": [ "CLOUD_PROVIDER_UNSPECIFIED", "GOOGLE_CLOUD_PLATFORM", @@ -14260,91 +12644,74 @@ "MICROSOFT_AZURE" ], "enumDescriptions": [ - "The cloud provider is unspecified.", - "The cloud provider is Google Cloud.", - "The cloud provider is Amazon Web Services.", - "The cloud provider is Microsoft Azure." + "", + "", + "", + "" ], "type": "string" }, "displayName": { - "description": "The human readable name of the resource.", "type": "string" }, "gcpMetadata": { - "$ref": "GcpMetadata", - "description": "The Google Cloud metadata associated with the finding." + "$ref": "GcpMetadata" }, "location": { - "description": "The region or location of the service (if applicable).", "type": "string" }, "name": { - "description": "The full resource name of the resource. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", "type": "string" }, "resourcePath": { - "$ref": "GoogleCloudSecuritycenterV2ResourcePath", - "description": "Provides the path to the resource within the resource hierarchy." + "$ref": "GoogleCloudSecuritycenterV2ResourcePath" }, "resourcePathString": { - "description": "A string representation of the resource path. For Google Cloud, it has the format of `organizations/{organization_id}/folders/{folder_id}/folders/{folder_id}/projects/{project_id}` where there can be any number of folders. For AWS, it has the format of `org/{organization_id}/ou/{organizational_unit_id}/ou/{organizational_unit_id}/account/{account_id}` where there can be any number of organizational units. For Azure, it has the format of `mg/{management_group_id}/mg/{management_group_id}/subscription/{subscription_id}/rg/{resource_group_name}` where there can be any number of management groups.", "type": "string" }, "service": { - "description": "The service or resource provider associated with the resource.", "type": "string" }, "type": { - "description": "The full resource type of the resource.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2ResourceApplication": { - "description": "The App Hub Application associated with the finding's resource.", "id": "GoogleCloudSecuritycenterV2ResourceApplication", "properties": { "attributes": { - "$ref": "GoogleCloudSecuritycenterV2ResourceApplicationAttributes", - "description": "Consumer provided attributes for the application" + "$ref": "GoogleCloudSecuritycenterV2ResourceApplicationAttributes" }, "name": { - "description": "The resource name of an Application. Format: `projects/{host-project-id}/locations/{location}/applications/{application-id}`", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2ResourceApplicationAttributes": { - "description": "Consumer provided attributes for the application", "id": "GoogleCloudSecuritycenterV2ResourceApplicationAttributes", "properties": { "businessOwners": { - "description": "Business team that ensures user needs are met and value is delivered", "items": { "$ref": "GoogleCloudSecuritycenterV2ResourceApplicationAttributesContactInfo" }, "type": "array" }, "criticality": { - "$ref": "GoogleCloudSecuritycenterV2ResourceApplicationAttributesCriticality", - "description": "User-defined criticality information." + "$ref": "GoogleCloudSecuritycenterV2ResourceApplicationAttributesCriticality" }, "developerOwners": { - "description": "Developer team that owns development and coding.", "items": { "$ref": "GoogleCloudSecuritycenterV2ResourceApplicationAttributesContactInfo" }, "type": "array" }, "environment": { - "$ref": "GoogleCloudSecuritycenterV2ResourceApplicationAttributesEnvironment", - "description": "User-defined environment information." + "$ref": "GoogleCloudSecuritycenterV2ResourceApplicationAttributesEnvironment" }, "operatorOwners": { - "description": "Operator team that ensures runtime and operations.", "items": { "$ref": "GoogleCloudSecuritycenterV2ResourceApplicationAttributesContactInfo" }, @@ -14354,22 +12721,18 @@ "type": "object" }, "GoogleCloudSecuritycenterV2ResourceApplicationAttributesContactInfo": { - "description": "Contact information of stakeholders.", "id": "GoogleCloudSecuritycenterV2ResourceApplicationAttributesContactInfo", "properties": { "email": { - "description": "Email address of the contacts.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2ResourceApplicationAttributesCriticality": { - "description": "Criticality of the Application, Service, or Workload", "id": "GoogleCloudSecuritycenterV2ResourceApplicationAttributesCriticality", "properties": { "type": { - "description": "Criticality Type.", "enum": [ "CRITICALITY_TYPE_UNSPECIFIED", "MISSION_CRITICAL", @@ -14378,11 +12741,11 @@ "LOW" ], "enumDescriptions": [ - "Unspecified type.", - "Mission critical service, application or workload.", - "High impact.", - "Medium impact.", - "Low impact." + "", + "", + "", + "", + "" ], "type": "string" } @@ -14390,11 +12753,9 @@ "type": "object" }, "GoogleCloudSecuritycenterV2ResourceApplicationAttributesEnvironment": { - "description": "Environment of the Application, Service, or Workload", "id": "GoogleCloudSecuritycenterV2ResourceApplicationAttributesEnvironment", "properties": { "type": { - "description": "Environment Type.", "enum": [ "ENVIRONMENT_TYPE_UNSPECIFIED", "PRODUCTION", @@ -14403,11 +12764,11 @@ "DEVELOPMENT" ], "enumDescriptions": [ - "Unspecified type.", - "Production environment.", - "Staging environment.", - "Test environment.", - "Development environment." + "", + "", + "", + "", + "" ], "type": "string" } @@ -14415,11 +12776,9 @@ "type": "object" }, "GoogleCloudSecuritycenterV2ResourcePath": { - "description": "Represents the path of resources leading up to the resource this finding is about.", "id": "GoogleCloudSecuritycenterV2ResourcePath", "properties": { "nodes": { - "description": "The list of nodes that make the up resource path, ordered from lowest level to highest level.", "items": { "$ref": "GoogleCloudSecuritycenterV2ResourcePathNode" }, @@ -14429,19 +12788,15 @@ "type": "object" }, "GoogleCloudSecuritycenterV2ResourcePathNode": { - "description": "A node within the resource path. Each node represents a resource within the resource hierarchy.", "id": "GoogleCloudSecuritycenterV2ResourcePathNode", "properties": { "displayName": { - "description": "The display name of the resource this node represents.", "type": "string" }, "id": { - "description": "The ID of the resource this node represents.", "type": "string" }, "nodeType": { - "description": "The type of resource this node represents.", "enum": [ "RESOURCE_PATH_NODE_TYPE_UNSPECIFIED", "GCP_ORGANIZATION", @@ -14455,16 +12810,16 @@ "AZURE_RESOURCE_GROUP" ], "enumDescriptions": [ - "Node type is unspecified.", - "The node represents a Google Cloud organization.", - "The node represents a Google Cloud folder.", - "The node represents a Google Cloud project.", - "The node represents an AWS organization.", - "The node represents an AWS organizational unit.", - "The node represents an AWS account.", - "The node represents an Azure management group.", - "The node represents an Azure subscription.", - "The node represents an Azure resource group." + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" ], "type": "string" } @@ -14472,11 +12827,9 @@ "type": "object" }, "GoogleCloudSecuritycenterV2ResourceValueConfig": { - "description": "A resource value configuration (RVC) is a mapping configuration of user's resources to resource values. Used in Attack path simulations.", "id": "GoogleCloudSecuritycenterV2ResourceValueConfig", "properties": { "cloudProvider": { - "description": "Cloud provider this configuration applies to", "enum": [ "CLOUD_PROVIDER_UNSPECIFIED", "GOOGLE_CLOUD_PLATFORM", @@ -14484,40 +12837,34 @@ "MICROSOFT_AZURE" ], "enumDescriptions": [ - "The cloud provider is unspecified.", - "The cloud provider is Google Cloud.", - "The cloud provider is Amazon Web Services.", - "The cloud provider is Microsoft Azure." + "", + "", + "", + "" ], "type": "string" }, "createTime": { - "description": "Output only. Timestamp this resource value configuration was created.", "format": "google-datetime", "readOnly": true, "type": "string" }, "description": { - "description": "Description of the resource value configuration.", "type": "string" }, "name": { - "description": "Identifier. Name for the resource value configuration", "type": "string" }, "resourceLabelsSelector": { "additionalProperties": { "type": "string" }, - "description": "List of resource labels to search for, evaluated with `AND`. For example, \"resource_labels_selector\": {\"key\": \"value\", \"env\": \"prod\"} will match resources with labels \"key\": \"value\" `AND` \"env\": \"prod\" https://cloud.google.com/resource-manager/docs/creating-managing-labels", "type": "object" }, "resourceType": { - "description": "Apply resource_value only to resources that match resource_type. resource_type will be checked with `AND` of other resources. For example, \"storage.googleapis.com/Bucket\" with resource_value \"HIGH\" will apply \"HIGH\" value only to \"storage.googleapis.com/Bucket\" resources.", "type": "string" }, "resourceValue": { - "description": "Resource value level this expression represents Only required when there is no Sensitive Data Protection mapping in the request", "enum": [ "RESOURCE_VALUE_UNSPECIFIED", "HIGH", @@ -14526,31 +12873,27 @@ "NONE" ], "enumDescriptions": [ - "Unspecific value", - "High resource value", - "Medium resource value", - "Low resource value", - "No resource value, e.g. ignore these resources" + "", + "", + "", + "", + "" ], "type": "string" }, "scope": { - "description": "Project or folder to scope this configuration to. For example, \"project/456\" would apply this configuration only to resources in \"project/456\" scope and will be checked with `AND` of other resources.", "type": "string" }, "sensitiveDataProtectionMapping": { - "$ref": "GoogleCloudSecuritycenterV2SensitiveDataProtectionMapping", - "description": "A mapping of the sensitivity on Sensitive Data Protection finding to resource values. This mapping can only be used in combination with a resource_type that is related to BigQuery, e.g. \"bigquery.googleapis.com/Dataset\"." + "$ref": "GoogleCloudSecuritycenterV2SensitiveDataProtectionMapping" }, "tagValues": { - "description": "Tag values combined with `AND` to check against. For Google Cloud resources, they are tag value IDs in the form of \"tagValues/123\". Example: `[ \"tagValues/123\", \"tagValues/456\", \"tagValues/789\" ]` https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing", "items": { "type": "string" }, "type": "array" }, "updateTime": { - "description": "Output only. Timestamp this resource value configuration was last updated.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -14559,90 +12902,74 @@ "type": "object" }, "GoogleCloudSecuritycenterV2Role": { - "description": "Kubernetes Role or ClusterRole.", "id": "GoogleCloudSecuritycenterV2Role", "properties": { "kind": { - "description": "Role type.", "enum": [ "KIND_UNSPECIFIED", "ROLE", "CLUSTER_ROLE" ], "enumDescriptions": [ - "Role type is not specified.", - "Kubernetes Role.", - "Kubernetes ClusterRole." + "", + "", + "" ], "type": "string" }, "name": { - "description": "Role name.", "type": "string" }, "ns": { - "description": "Role namespace.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Secret": { - "description": "Details about a secret or credential associated with the finding.", "id": "GoogleCloudSecuritycenterV2Secret", "properties": { "environmentVariable": { - "$ref": "GoogleCloudSecuritycenterV2SecretEnvironmentVariable", - "description": "The environment variable containing the secret." + "$ref": "GoogleCloudSecuritycenterV2SecretEnvironmentVariable" }, "filePath": { - "$ref": "GoogleCloudSecuritycenterV2SecretFilePath", - "description": "The file containing the secret." + "$ref": "GoogleCloudSecuritycenterV2SecretFilePath" }, "status": { - "$ref": "GoogleCloudSecuritycenterV2SecretStatus", - "description": "The status of the secret." + "$ref": "GoogleCloudSecuritycenterV2SecretStatus" }, "type": { - "description": "The type of secret, for example, GCP_API_KEY.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2SecretEnvironmentVariable": { - "description": "Environment variable containing the secret.", "id": "GoogleCloudSecuritycenterV2SecretEnvironmentVariable", "properties": { "key": { - "description": "Environment variable name as a JSON encoded string. Note that value is not included since the value contains the secret data, which is sensitive core content.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2SecretFilePath": { - "description": "File path containing the secret.", "id": "GoogleCloudSecuritycenterV2SecretFilePath", "properties": { "path": { - "description": "Path to the file.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2SecretStatus": { - "description": "The status of the secret.", "id": "GoogleCloudSecuritycenterV2SecretStatus", "properties": { "lastUpdatedTime": { - "description": "Time that the secret was found.", "format": "google-datetime", "type": "string" }, "validity": { - "description": "The validity of the secret.", "enum": [ "SECRET_VALIDITY_UNSPECIFIED", "SECRET_VALIDITY_UNSUPPORTED", @@ -14651,11 +12978,11 @@ "SECRET_VALIDITY_VALID" ], "enumDescriptions": [ - "Default value; no validation was attempted.", - "There is no mechanism to validate the secret.", - "Validation is supported but the validation failed.", - "The secret is confirmed to be invalid.", - "The secret is confirmed to be valid." + "", + "", + "", + "", + "" ], "type": "string" } @@ -14663,114 +12990,91 @@ "type": "object" }, "GoogleCloudSecuritycenterV2SecurityBulletin": { - "description": "SecurityBulletin are notifications of vulnerabilities of Google products.", "id": "GoogleCloudSecuritycenterV2SecurityBulletin", "properties": { "bulletinId": { - "description": "ID of the bulletin corresponding to the vulnerability.", "type": "string" }, "submissionTime": { - "description": "Submission time of this Security Bulletin.", "format": "google-datetime", "type": "string" }, "suggestedUpgradeVersion": { - "description": "This represents a version that the cluster receiving this notification should be upgraded to, based on its current version. For example, 1.15.0", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2SecurityMarks": { - "description": "User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization.", "id": "GoogleCloudSecuritycenterV2SecurityMarks", "properties": { "canonicalName": { - "description": "The canonical name of the marks. The following list shows some examples: + `organizations/{organization_id}/assets/{asset_id}/securityMarks` + `organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks` + `organizations/{organization_id}/sources/{source_id}/locations/{location}/findings/{finding_id}/securityMarks` + `folders/{folder_id}/assets/{asset_id}/securityMarks` + `folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks` + `folders/{folder_id}/sources/{source_id}/locations/{location}/findings/{finding_id}/securityMarks` + `projects/{project_number}/assets/{asset_id}/securityMarks` + `projects/{project_number}/sources/{source_id}/findings/{finding_id}/securityMarks` + `projects/{project_number}/sources/{source_id}/locations/{location}/findings/{finding_id}/securityMarks`", "type": "string" }, "marks": { "additionalProperties": { "type": "string" }, - "description": "Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive)", "type": "object" }, "name": { - "description": "The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name The following list shows some examples: + `organizations/{organization_id}/assets/{asset_id}/securityMarks` + `organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks` + `organizations/{organization_id}/sources/{source_id}/locations/{location}/findings/{finding_id}/securityMarks`", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2SecurityPolicy": { - "description": "Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding.", "id": "GoogleCloudSecuritycenterV2SecurityPolicy", "properties": { "name": { - "description": "The name of the Google Cloud Armor security policy, for example, \"my-security-policy\".", "type": "string" }, "preview": { - "description": "Whether or not the associated rule or policy is in preview mode.", "type": "boolean" }, "type": { - "description": "The type of Google Cloud Armor security policy for example, 'backend security policy', 'edge security policy', 'network edge security policy', or 'always-on DDoS protection'.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2SecurityPosture": { - "description": "Represents a posture that is deployed on Google Cloud by the Security Command Center Posture Management service. A posture contains one or more policy sets. A policy set is a group of policies that enforce a set of security rules on Google Cloud.", "id": "GoogleCloudSecuritycenterV2SecurityPosture", "properties": { "changedPolicy": { - "description": "The name of the updated policy, for example, `projects/{project_id}/policies/{constraint_name}`.", "type": "string" }, "name": { - "description": "Name of the posture, for example, `CIS-Posture`.", "type": "string" }, "policy": { - "description": "The ID of the updated policy, for example, `compute-policy-1`.", "type": "string" }, "policyDriftDetails": { - "description": "The details about a change in an updated policy that violates the deployed posture.", "items": { "$ref": "GoogleCloudSecuritycenterV2PolicyDriftDetails" }, "type": "array" }, "policySet": { - "description": "The name of the updated policy set, for example, `cis-policyset`.", "type": "string" }, "postureDeployment": { - "description": "The name of the posture deployment, for example, `organizations/{org_id}/posturedeployments/{posture_deployment_id}`.", "type": "string" }, "postureDeploymentResource": { - "description": "The project, folder, or organization on which the posture is deployed, for example, `projects/{project_number}`.", "type": "string" }, "revisionId": { - "description": "The version of the posture, for example, `c7cfa2a8`.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2SensitiveDataProtectionMapping": { - "description": "Resource value mapping for Sensitive Data Protection findings If any of these mappings have a resource value that is not unspecified, the resource_value field will be ignored when reading this configuration.", "id": "GoogleCloudSecuritycenterV2SensitiveDataProtectionMapping", "properties": { "highSensitivityMapping": { - "description": "Resource value mapping for high-sensitivity Sensitive Data Protection findings", "enum": [ "RESOURCE_VALUE_UNSPECIFIED", "HIGH", @@ -14779,16 +13083,15 @@ "NONE" ], "enumDescriptions": [ - "Unspecific value", - "High resource value", - "Medium resource value", - "Low resource value", - "No resource value, e.g. ignore these resources" + "", + "", + "", + "", + "" ], "type": "string" }, "mediumSensitivityMapping": { - "description": "Resource value mapping for medium-sensitivity Sensitive Data Protection findings", "enum": [ "RESOURCE_VALUE_UNSPECIFIED", "HIGH", @@ -14797,11 +13100,11 @@ "NONE" ], "enumDescriptions": [ - "Unspecific value", - "High resource value", - "Medium resource value", - "Low resource value", - "No resource value, e.g. ignore these resources" + "", + "", + "", + "", + "" ], "type": "string" } @@ -14809,11 +13112,9 @@ "type": "object" }, "GoogleCloudSecuritycenterV2SensitivityScore": { - "description": "Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive.", "id": "GoogleCloudSecuritycenterV2SensitivityScore", "properties": { "score": { - "description": "The sensitivity score applied to the resource.", "enum": [ "SENSITIVITY_SCORE_LEVEL_UNSPECIFIED", "SENSITIVITY_LOW", @@ -14822,11 +13123,11 @@ "SENSITIVITY_HIGH" ], "enumDescriptions": [ - "Unused.", - "No sensitive information detected. The resource isn't publicly accessible.", - "Unable to determine sensitivity.", - "Medium risk. Contains personally identifiable information (PII), potentially sensitive data, or fields with free-text data that are at a higher risk of having intermittent sensitive data. Consider limiting access.", - "High risk. Sensitive personally identifiable information (SPII) can be present. Exfiltration of data can lead to user data loss. Re-identification of users might be possible. Consider limiting usage and or removing SPII." + "", + "", + "", + "", + "" ], "type": "string" } @@ -14834,31 +13135,25 @@ "type": "object" }, "GoogleCloudSecuritycenterV2ServiceAccountDelegationInfo": { - "description": "Identity delegation history of an authenticated service account.", "id": "GoogleCloudSecuritycenterV2ServiceAccountDelegationInfo", "properties": { "principalEmail": { - "description": "The email address of a Google account.", "type": "string" }, "principalSubject": { - "description": "A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subjects/{subject}` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]`", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2StaticMute": { - "description": "Information about the static mute state. A static mute state overrides any dynamic mute rules that apply to this finding. The static mute state can be set by a static mute rule or by muting the finding directly.", "id": "GoogleCloudSecuritycenterV2StaticMute", "properties": { "applyTime": { - "description": "When the static mute was applied.", "format": "google-datetime", "type": "string" }, "state": { - "description": "The static mute state. If the value is `MUTED` or `UNMUTED`, then the finding's overall mute state will have the same value.", "enum": [ "MUTE_UNSPECIFIED", "MUTED", @@ -14866,10 +13161,10 @@ "UNDEFINED" ], "enumDescriptions": [ - "Unspecified.", - "Finding has been muted.", - "Finding has been unmuted.", - "Finding has never been muted/unmuted." + "", + "", + "", + "" ], "type": "string" } @@ -14877,11 +13172,9 @@ "type": "object" }, "GoogleCloudSecuritycenterV2Subject": { - "description": "Represents a Kubernetes subject.", "id": "GoogleCloudSecuritycenterV2Subject", "properties": { "kind": { - "description": "Authentication type for the subject.", "enum": [ "AUTH_TYPE_UNSPECIFIED", "USER", @@ -14889,67 +13182,55 @@ "GROUP" ], "enumDescriptions": [ - "Authentication is not specified.", - "User with valid certificate.", - "Users managed by Kubernetes API with credentials stored as secrets.", - "Collection of users." + "", + "", + "", + "" ], "type": "string" }, "name": { - "description": "Name for the subject.", "type": "string" }, "ns": { - "description": "Namespace for the subject.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2TicketInfo": { - "description": "Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding.", "id": "GoogleCloudSecuritycenterV2TicketInfo", "properties": { "assignee": { - "description": "The assignee of the ticket in the ticket system.", "type": "string" }, "description": { - "description": "The description of the ticket in the ticket system.", "type": "string" }, "id": { - "description": "The identifier of the ticket in the ticket system.", "type": "string" }, "status": { - "description": "The latest status of the ticket, as reported by the ticket system.", "type": "string" }, "updateTime": { - "description": "The time when the ticket was last updated, as reported by the ticket system.", "format": "google-datetime", "type": "string" }, "uri": { - "description": "The link to the ticket in the ticket system.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2ToxicCombination": { - "description": "Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination.", "id": "GoogleCloudSecuritycenterV2ToxicCombination", "properties": { "attackExposureScore": { - "description": "The [Attack exposure score](https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_exposure_scores) of this toxic combination. The score is a measure of how much this toxic combination exposes one or more high-value resources to potential attack.", "format": "double", "type": "number" }, "relatedFindings": { - "description": "List of resource names of findings associated with this toxic combination. For example, `organizations/123/sources/456/findings/789`.", "items": { "type": "string" }, @@ -14959,18 +13240,15 @@ "type": "object" }, "GoogleCloudSecuritycenterV2VertexAi": { - "description": "Vertex AI-related information associated with the finding.", "id": "GoogleCloudSecuritycenterV2VertexAi", "properties": { "datasets": { - "description": "Datasets associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2Dataset" }, "type": "array" }, "pipelines": { - "description": "Pipelines associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2Pipeline" }, @@ -14980,83 +13258,66 @@ "type": "object" }, "GoogleCloudSecuritycenterV2Vulnerability": { - "description": "Refers to common vulnerability fields e.g. cve, cvss, cwe etc.", "id": "GoogleCloudSecuritycenterV2Vulnerability", "properties": { "cve": { - "$ref": "GoogleCloudSecuritycenterV2Cve", - "description": "CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/)" + "$ref": "GoogleCloudSecuritycenterV2Cve" }, "cwes": { - "description": "Represents one or more Common Weakness Enumeration (CWE) information on this vulnerability.", "items": { "$ref": "GoogleCloudSecuritycenterV2Cwe" }, "type": "array" }, "fixedPackage": { - "$ref": "GoogleCloudSecuritycenterV2Package", - "description": "The fixed package is relevant to the finding." + "$ref": "GoogleCloudSecuritycenterV2Package" }, "offendingPackage": { - "$ref": "GoogleCloudSecuritycenterV2Package", - "description": "The offending package is relevant to the finding." + "$ref": "GoogleCloudSecuritycenterV2Package" }, "providerRiskScore": { - "description": "Provider provided risk_score based on multiple factors. The higher the risk score, the more risky the vulnerability is.", "format": "int64", "type": "string" }, "reachable": { - "description": "Represents whether the vulnerability is reachable (detected via static analysis)", "type": "boolean" }, "securityBulletin": { - "$ref": "GoogleCloudSecuritycenterV2SecurityBulletin", - "description": "The security bulletin is relevant to this finding." + "$ref": "GoogleCloudSecuritycenterV2SecurityBulletin" } }, "type": "object" }, "GoogleCloudSecuritycenterV2YaraRuleSignature": { - "description": "A signature corresponding to a YARA rule.", "id": "GoogleCloudSecuritycenterV2YaraRuleSignature", "properties": { "yaraRule": { - "description": "The name of the YARA rule.", "type": "string" } }, "type": "object" }, "GroupAssetsRequest": { - "description": "Request message for grouping by assets.", "id": "GroupAssetsRequest", "properties": { "compareDuration": { - "description": "When compare_duration is set, the GroupResult's \"state_change\" property is updated to indicate whether the asset was added, removed, or remained present during the compare_duration period of time that precedes the read_time. This is the time between (read_time - compare_duration) and read_time. The state change value is derived based on the presence of the asset at the two points in time. Intermediate state changes between the two times don't affect the result. For example, the results aren't affected if the asset is removed and re-created again. Possible \"state_change\" values when compare_duration is specified: * \"ADDED\": indicates that the asset was not present at the start of compare_duration, but present at reference_time. * \"REMOVED\": indicates that the asset was present at the start of compare_duration, but not present at reference_time. * \"ACTIVE\": indicates that the asset was present at both the start and the end of the time period defined by compare_duration and reference_time. If compare_duration is not specified, then the only possible state_change is \"UNUSED\", which will be the state_change set for all assets present at read_time. If this field is set then `state_change` must be a specified field in `group_by`.", "format": "google-duration", "type": "string" }, "filter": { - "description": "Expression that defines the filter to apply across assets. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the Asset resource. Examples include: * name * security_center_properties.resource_name * resource_properties.a_property * security_marks.marks.marka The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. The following field and operator combinations are supported: * name: `=` * update_time: `=`, `>`, `<`, `>=`, `<=` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `update_time = \"2019-06-10T16:07:18-07:00\"` `update_time = 1560208038000` * create_time: `=`, `>`, `<`, `>=`, `<=` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `create_time = \"2019-06-10T16:07:18-07:00\"` `create_time = 1560208038000` * iam_policy.policy_blob: `=`, `:` * resource_properties: `=`, `:`, `>`, `<`, `>=`, `<=` * security_marks.marks: `=`, `:` * security_center_properties.resource_name: `=`, `:` * security_center_properties.resource_display_name: `=`, `:` * security_center_properties.resource_type: `=`, `:` * security_center_properties.resource_parent: `=`, `:` * security_center_properties.resource_parent_display_name: `=`, `:` * security_center_properties.resource_project: `=`, `:` * security_center_properties.resource_project_display_name: `=`, `:` * security_center_properties.resource_owners: `=`, `:` For example, `resource_properties.size = 100` is a valid filter string. Use a partial match on the empty string to filter based on a property existing: `resource_properties.my_property : \"\"` Use a negated partial match on the empty string to filter based on a property not existing: `-resource_properties.my_property : \"\"`", "type": "string" }, "groupBy": { - "description": "Required. Expression that defines what assets fields to use for grouping. The string value should follow SQL syntax: comma separated list of fields. For example: \"security_center_properties.resource_project,security_center_properties.project\". The following fields are supported when compare_duration is not set: * security_center_properties.resource_project * security_center_properties.resource_project_display_name * security_center_properties.resource_type * security_center_properties.resource_parent * security_center_properties.resource_parent_display_name The following fields are supported when compare_duration is set: * security_center_properties.resource_type * security_center_properties.resource_project_display_name * security_center_properties.resource_parent_display_name", "type": "string" }, "pageSize": { - "description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "type": "integer" }, "pageToken": { - "description": "The value returned by the last `GroupAssetsResponse`; indicates that this is a continuation of a prior `GroupAssets` call, and that the system should return the next page of data.", "type": "string" }, "readTime": { - "description": "Time used as a reference point when filtering assets. The filter is limited to assets existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW.", "format": "google-datetime", "type": "string" } @@ -15064,27 +13325,22 @@ "type": "object" }, "GroupAssetsResponse": { - "description": "Response message for grouping by assets.", "id": "GroupAssetsResponse", "properties": { "groupByResults": { - "description": "Group results. There exists an element for each existing unique combination of property/values. The element contains a count for the number of times those specific property/values appear.", "items": { "$ref": "GroupResult" }, "type": "array" }, "nextPageToken": { - "description": "Token to retrieve the next page of results, or empty if there are no more results.", "type": "string" }, "readTime": { - "description": "Time used for executing the groupBy request.", "format": "google-datetime", "type": "string" }, "totalSize": { - "description": "The total number of results matching the query.", "format": "int32", "type": "integer" } @@ -15092,35 +13348,28 @@ "type": "object" }, "GroupFindingsRequest": { - "description": "Request message for grouping by findings.", "id": "GroupFindingsRequest", "properties": { "compareDuration": { "deprecated": true, - "description": "When compare_duration is set, the GroupResult's \"state_change\" attribute is updated to indicate whether the finding had its state changed, the finding's state remained unchanged, or if the finding was added during the compare_duration period of time that precedes the read_time. This is the time between (read_time - compare_duration) and read_time. The state_change value is derived based on the presence and state of the finding at the two points in time. Intermediate state changes between the two times don't affect the result. For example, the results aren't affected if the finding is made inactive and then active again. Possible \"state_change\" values when compare_duration is specified: * \"CHANGED\": indicates that the finding was present and matched the given filter at the start of compare_duration, but changed its state at read_time. * \"UNCHANGED\": indicates that the finding was present and matched the given filter at the start of compare_duration and did not change state at read_time. * \"ADDED\": indicates that the finding did not match the given filter or was not present at the start of compare_duration, but was present at read_time. * \"REMOVED\": indicates that the finding was present and matched the filter at the start of compare_duration, but did not match the filter at read_time. If compare_duration is not specified, then the only possible state_change is \"UNUSED\", which will be the state_change set for all findings present at read_time. If this field is set then `state_change` must be a specified field in `group_by`.", "format": "google-duration", "type": "string" }, "filter": { - "description": "Expression that defines the filter to apply across findings. The expression is a list of one or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. Examples include: * name * source_properties.a_property * security_marks.marks.marka The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. The following field and operator combinations are supported: * name: `=` * parent: `=`, `:` * resource_name: `=`, `:` * state: `=`, `:` * category: `=`, `:` * external_uri: `=`, `:` * event_time: `=`, `>`, `<`, `>=`, `<=` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `event_time = \"2019-06-10T16:07:18-07:00\"` `event_time = 1560208038000` * severity: `=`, `:` * workflow_state: `=`, `:` * security_marks.marks: `=`, `:` * source_properties: `=`, `:`, `>`, `<`, `>=`, `<=` For example, `source_properties.size = 100` is a valid filter string. Use a partial match on the empty string to filter based on a property existing: `source_properties.my_property : \"\"` Use a negated partial match on the empty string to filter based on a property not existing: `-source_properties.my_property : \"\"` * resource: * resource.name: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.type: `=`, `:`", "type": "string" }, "groupBy": { - "description": "Required. Expression that defines what assets fields to use for grouping (including `state_change`). The string value should follow SQL syntax: comma separated list of fields. For example: \"parent,resource_name\". The following fields are supported when compare_duration is set: * state_change", "type": "string" }, "pageSize": { - "description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "type": "integer" }, "pageToken": { - "description": "The value returned by the last `GroupFindingsResponse`; indicates that this is a continuation of a prior `GroupFindings` call, and that the system should return the next page of data.", "type": "string" }, "readTime": { "deprecated": true, - "description": "Time used as a reference point when filtering findings. The filter is limited to findings existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW.", "format": "google-datetime", "type": "string" } @@ -15128,27 +13377,22 @@ "type": "object" }, "GroupFindingsResponse": { - "description": "Response message for group by findings.", "id": "GroupFindingsResponse", "properties": { "groupByResults": { - "description": "Group results. There exists an element for each existing unique combination of property/values. The element contains a count for the number of times those specific property/values appear.", "items": { "$ref": "GroupResult" }, "type": "array" }, "nextPageToken": { - "description": "Token to retrieve the next page of results, or empty if there are no more results.", "type": "string" }, "readTime": { - "description": "Time used for executing the groupBy request.", "format": "google-datetime", "type": "string" }, "totalSize": { - "description": "The total number of results matching the query.", "format": "int32", "type": "integer" } @@ -15156,24 +13400,21 @@ "type": "object" }, "GroupMembership": { - "description": "Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way.", "id": "GroupMembership", "properties": { "groupId": { - "description": "ID of the group.", "type": "string" }, "groupType": { - "description": "Type of group.", "enum": [ "GROUP_TYPE_UNSPECIFIED", "GROUP_TYPE_TOXIC_COMBINATION", "GROUP_TYPE_CHOKEPOINT" ], "enumDescriptions": [ - "Default value.", - "Group represents a toxic combination.", - "Group represents a chokepoint." + "", + "", + "" ], "type": "string" } @@ -15181,11 +13422,9 @@ "type": "object" }, "GroupResult": { - "description": "Result containing the properties and count of a groupBy request.", "id": "GroupResult", "properties": { "count": { - "description": "Total count of resources for the given properties.", "format": "int64", "type": "string" }, @@ -15193,94 +13432,79 @@ "additionalProperties": { "type": "any" }, - "description": "Properties matching the groupBy fields in the request.", "type": "object" } }, "type": "object" }, "HttpResponse": { - "description": "The http response returned by the web application.", "id": "HttpResponse", "properties": { "path": { - "description": "The http path for which response code was returned by web application, for example, \"https://test-app.a.run.app/test\".", "type": "string" }, "statusCode": { - "description": "The http response code returned by the web application, for example, 200.", "type": "string" } }, "type": "object" }, "IamBinding": { - "description": "Represents a particular IAM binding, which captures a member's role addition, removal, or state.", "id": "IamBinding", "properties": { "action": { - "description": "The action that was performed on a Binding.", "enum": [ "ACTION_UNSPECIFIED", "ADD", "REMOVE" ], "enumDescriptions": [ - "Unspecified.", - "Addition of a Binding.", - "Removal of a Binding." + "", + "", + "" ], "type": "string" }, "member": { - "description": "A single identity requesting access for a Cloud Platform resource, for example, \"foo@google.com\".", "type": "string" }, "role": { - "description": "Role that is assigned to \"members\". For example, \"roles/viewer\", \"roles/editor\", or \"roles/owner\".", "type": "string" } }, "type": "object" }, "IamPolicy": { - "description": "Cloud IAM Policy information associated with the Google Cloud resource described by the Security Command Center asset. This information is managed and defined by the Google Cloud resource and cannot be modified by the user.", "id": "IamPolicy", "properties": { "policyBlob": { - "description": "The JSON representation of the Policy associated with the asset. See https://cloud.google.com/iam/reference/rest/v1/Policy for format details.", "type": "string" } }, "type": "object" }, "Indicator": { - "description": "Represents what's commonly known as an _indicator of compromise_ (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise).", "id": "Indicator", "properties": { "domains": { - "description": "List of domains associated to the Finding.", "items": { "type": "string" }, "type": "array" }, "ipAddresses": { - "description": "The list of IP addresses that are associated with the finding.", "items": { "type": "string" }, "type": "array" }, "signatures": { - "description": "The list of matched signatures indicating that the given process is present in the environment.", "items": { "$ref": "ProcessSignature" }, "type": "array" }, "uris": { - "description": "The list of URIs associated to the Findings.", "items": { "type": "string" }, @@ -15290,84 +13514,70 @@ "type": "object" }, "InfoType": { - "description": "Type of information detected by the API.", "id": "InfoType", "properties": { "name": { - "description": "Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.", "type": "string" }, "sensitivityScore": { - "$ref": "SensitivityScore", - "description": "Optional custom sensitivity for this InfoType. This only applies to data profiling." + "$ref": "SensitivityScore" }, "version": { - "description": "Optional version name for this InfoType.", "type": "string" } }, "type": "object" }, "IpRule": { - "description": "IP rule information.", "id": "IpRule", "properties": { "portRanges": { - "description": "Optional. An optional list of ports to which this rule applies. This field is only applicable for the UDP or (S)TCP protocols. Each entry must be either an integer or a range including a min and max port number.", "items": { "$ref": "PortRange" }, "type": "array" }, "protocol": { - "description": "The IP protocol this rule applies to. This value can either be one of the following well known protocol strings (TCP, UDP, ICMP, ESP, AH, IPIP, SCTP) or a string representation of the integer value.", "type": "string" } }, "type": "object" }, "IpRules": { - "description": "IP rules associated with the finding.", "id": "IpRules", "properties": { "allowed": { - "$ref": "Allowed", - "description": "Tuple with allowed rules." + "$ref": "Allowed" }, "denied": { - "$ref": "Denied", - "description": "Tuple with denied rules." + "$ref": "Denied" }, "destinationIpRanges": { - "description": "If destination IP ranges are specified, the firewall rule applies only to traffic that has a destination IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4.", "items": { "type": "string" }, "type": "array" }, "direction": { - "description": "The direction that the rule is applicable to, one of ingress or egress.", "enum": [ "DIRECTION_UNSPECIFIED", "INGRESS", "EGRESS" ], "enumDescriptions": [ - "Unspecified direction value.", - "Ingress direction value.", - "Egress direction value." + "", + "", + "" ], "type": "string" }, "exposedServices": { - "description": "Name of the network protocol service, such as FTP, that is exposed by the open port. Follows the naming convention available at: https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml.", "items": { "type": "string" }, "type": "array" }, "sourceIpRanges": { - "description": "If source IP 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. Only supports IPv4.", "items": { "type": "string" }, @@ -15377,24 +13587,19 @@ "type": "object" }, "Job": { - "description": "Describes a job", "id": "Job", "properties": { "errorCode": { - "description": "Optional. If the job did not complete successfully, this field describes why.", "format": "int32", "type": "integer" }, "location": { - "description": "Optional. Gives the location where the job ran, such as `US` or `europe-west1`", "type": "string" }, "name": { - "description": "The fully-qualified name for a job. e.g. `projects//jobs/`", "type": "string" }, "state": { - "description": "Output only. State of the job, such as `RUNNING` or `PENDING`.", "enum": [ "JOB_STATE_UNSPECIFIED", "PENDING", @@ -15403,11 +13608,11 @@ "FAILED" ], "enumDescriptions": [ - "Unspecified represents an unknown state and should not be used.", - "Job is scheduled and pending for run", - "Job in progress", - "Job has completed with success", - "Job has completed but with failure" + "", + "", + "", + "", + "" ], "readOnly": true, "type": "string" @@ -15416,96 +13621,78 @@ "type": "object" }, "KernelRootkit": { - "description": "Kernel mode rootkit signatures.", "id": "KernelRootkit", "properties": { "name": { - "description": "Rootkit name, when available.", "type": "string" }, "unexpectedCodeModification": { - "description": "True if unexpected modifications of kernel code memory are present.", "type": "boolean" }, "unexpectedFtraceHandler": { - "description": "True if `ftrace` points are present with callbacks pointing to regions that are not in the expected kernel or module code range.", "type": "boolean" }, "unexpectedInterruptHandler": { - "description": "True if interrupt handlers that are are not in the expected kernel or module code regions are present.", "type": "boolean" }, "unexpectedKernelCodePages": { - "description": "True if kernel code pages that are not in the expected kernel or module code regions are present.", "type": "boolean" }, "unexpectedKprobeHandler": { - "description": "True if `kprobe` points are present with callbacks pointing to regions that are not in the expected kernel or module code range.", "type": "boolean" }, "unexpectedProcessesInRunqueue": { - "description": "True if unexpected processes in the scheduler run queue are present. Such processes are in the run queue, but not in the process task list.", "type": "boolean" }, "unexpectedReadOnlyDataModification": { - "description": "True if unexpected modifications of kernel read-only data memory are present.", "type": "boolean" }, "unexpectedSystemCallHandler": { - "description": "True if system call handlers that are are not in the expected kernel or module code regions are present.", "type": "boolean" } }, "type": "object" }, "Kubernetes": { - "description": "Kubernetes-related attributes.", "id": "Kubernetes", "properties": { "accessReviews": { - "description": "Provides information on any Kubernetes access reviews (privilege checks) relevant to the finding.", "items": { "$ref": "AccessReview" }, "type": "array" }, "bindings": { - "description": "Provides Kubernetes role binding information for findings that involve [RoleBindings or ClusterRoleBindings](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control).", "items": { "$ref": "GoogleCloudSecuritycenterV1Binding" }, "type": "array" }, "nodePools": { - "description": "GKE [node pools](https://cloud.google.com/kubernetes-engine/docs/concepts/node-pools) associated with the finding. This field contains node pool information for each node, when it is available.", "items": { "$ref": "NodePool" }, "type": "array" }, "nodes": { - "description": "Provides Kubernetes [node](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture#nodes) information.", "items": { "$ref": "Node" }, "type": "array" }, "objects": { - "description": "Kubernetes objects related to the finding.", "items": { "$ref": "Object" }, "type": "array" }, "pods": { - "description": "Kubernetes [Pods](https://cloud.google.com/kubernetes-engine/docs/concepts/pod) associated with the finding. This field contains Pod records for each container that is owned by a Pod.", "items": { "$ref": "Pod" }, "type": "array" }, "roles": { - "description": "Provides Kubernetes role information for findings that involve [Roles or ClusterRoles](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control).", "items": { "$ref": "Role" }, @@ -15515,42 +13702,34 @@ "type": "object" }, "Label": { - "description": "Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering).", "id": "Label", "properties": { "name": { - "description": "Name of the label.", "type": "string" }, "value": { - "description": "Value that corresponds to the label's name.", "type": "string" } }, "type": "object" }, "ListAssetsResponse": { - "description": "Response message for listing assets.", "id": "ListAssetsResponse", "properties": { "listAssetsResults": { - "description": "Assets matching the list request.", "items": { "$ref": "ListAssetsResult" }, "type": "array" }, "nextPageToken": { - "description": "Token to retrieve the next page of results, or empty if there are no more results.", "type": "string" }, "readTime": { - "description": "Time used for executing the list request.", "format": "google-datetime", "type": "string" }, "totalSize": { - "description": "The total number of assets matching the query.", "format": "int32", "type": "integer" } @@ -15558,15 +13737,12 @@ "type": "object" }, "ListAssetsResult": { - "description": "Result containing the Asset and its State.", "id": "ListAssetsResult", "properties": { "asset": { - "$ref": "Asset", - "description": "Asset matching the search request." + "$ref": "Asset" }, "stateChange": { - "description": "State change of the asset between the points in time.", "enum": [ "UNUSED", "ADDED", @@ -15574,10 +13750,10 @@ "ACTIVE" ], "enumDescriptions": [ - "State change is unused, this is the canonical default for this enum.", - "Asset was added between the points in time.", - "Asset was removed between the points in time.", - "Asset was present at both point(s) in time." + "", + "", + "", + "" ], "type": "string" } @@ -15585,69 +13761,57 @@ "type": "object" }, "ListAttackPathsResponse": { - "description": "Response message for listing the attack paths for a given simulation or valued resource.", "id": "ListAttackPathsResponse", "properties": { "attackPaths": { - "description": "The attack paths that the attack path simulation identified.", "items": { "$ref": "AttackPath" }, "type": "array" }, "nextPageToken": { - "description": "Token to retrieve the next page of results, or empty if there are no more results.", "type": "string" } }, "type": "object" }, "ListBigQueryExportsResponse": { - "description": "Response message for listing BigQuery exports.", "id": "ListBigQueryExportsResponse", "properties": { "bigQueryExports": { - "description": "The BigQuery exports from the specified parent.", "items": { "$ref": "GoogleCloudSecuritycenterV1BigQueryExport" }, "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" }, "ListDescendantEventThreatDetectionCustomModulesResponse": { - "description": "Response for listing current and descendant resident Event Threat Detection custom modules.", "id": "ListDescendantEventThreatDetectionCustomModulesResponse", "properties": { "eventThreatDetectionCustomModules": { - "description": "Custom modules belonging to the requested parent.", "items": { "$ref": "EventThreatDetectionCustomModule" }, "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" }, "ListDescendantSecurityHealthAnalyticsCustomModulesResponse": { - "description": "Response message for listing descendant Security Health Analytics custom modules.", "id": "ListDescendantSecurityHealthAnalyticsCustomModulesResponse", "properties": { "nextPageToken": { - "description": "If not empty, indicates that there may be more custom modules to be returned.", "type": "string" }, "securityHealthAnalyticsCustomModules": { - "description": "Custom modules belonging to the requested parent and its descendants.", "items": { "$ref": "GoogleCloudSecuritycenterV1SecurityHealthAnalyticsCustomModule" }, @@ -15657,81 +13821,67 @@ "type": "object" }, "ListEffectiveEventThreatDetectionCustomModulesResponse": { - "description": "Response for listing EffectiveEventThreatDetectionCustomModules.", "id": "ListEffectiveEventThreatDetectionCustomModulesResponse", "properties": { "effectiveEventThreatDetectionCustomModules": { - "description": "Effective custom modules belonging to the requested parent.", "items": { "$ref": "EffectiveEventThreatDetectionCustomModule" }, "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" }, "ListEffectiveSecurityHealthAnalyticsCustomModulesResponse": { - "description": "Response message for listing effective Security Health Analytics custom modules.", "id": "ListEffectiveSecurityHealthAnalyticsCustomModulesResponse", "properties": { "effectiveSecurityHealthAnalyticsCustomModules": { - "description": "Effective custom modules belonging to the requested parent.", "items": { "$ref": "GoogleCloudSecuritycenterV1EffectiveSecurityHealthAnalyticsCustomModule" }, "type": "array" }, "nextPageToken": { - "description": "If not empty, indicates that there may be more effective custom modules to be returned.", "type": "string" } }, "type": "object" }, "ListEventThreatDetectionCustomModulesResponse": { - "description": "Response for listing Event Threat Detection custom modules.", "id": "ListEventThreatDetectionCustomModulesResponse", "properties": { "eventThreatDetectionCustomModules": { - "description": "Custom modules belonging to the requested parent.", "items": { "$ref": "EventThreatDetectionCustomModule" }, "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" }, "ListFindingsResponse": { - "description": "Response message for listing findings.", "id": "ListFindingsResponse", "properties": { "listFindingsResults": { - "description": "Findings matching the list request.", "items": { "$ref": "ListFindingsResult" }, "type": "array" }, "nextPageToken": { - "description": "Token to retrieve the next page of results, or empty if there are no more results.", "type": "string" }, "readTime": { - "description": "Time used for executing the list request.", "format": "google-datetime", "type": "string" }, "totalSize": { - "description": "The total number of findings matching the query.", "format": "int32", "type": "integer" } @@ -15739,20 +13889,16 @@ "type": "object" }, "ListFindingsResult": { - "description": "Result containing the Finding and its StateChange.", "id": "ListFindingsResult", "properties": { "finding": { - "$ref": "Finding", - "description": "Finding matching the search request." + "$ref": "Finding" }, "resource": { "$ref": "Resource", - "description": "Output only. Resource that is associated with this finding.", "readOnly": true }, "stateChange": { - "description": "State change of the finding between the points in time.", "enum": [ "UNUSED", "CHANGED", @@ -15761,11 +13907,11 @@ "REMOVED" ], "enumDescriptions": [ - "State change is unused, this is the canonical default for this enum.", - "The finding has changed state in some way between the points in time and existed at both points.", - "The finding has not changed state between the points in time and existed at both points.", - "The finding was created between the points in time.", - "The finding at timestamp does not match the filter specified, but it did at timestamp - compare_duration." + "", + "", + "", + "", + "" ], "type": "string" } @@ -15773,33 +13919,27 @@ "type": "object" }, "ListMuteConfigsResponse": { - "description": "Response message for listing mute configs.", "id": "ListMuteConfigsResponse", "properties": { "muteConfigs": { - "description": "The mute configs from the specified parent.", "items": { "$ref": "GoogleCloudSecuritycenterV1MuteConfig" }, "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" }, "ListNotificationConfigsResponse": { - "description": "Response message for listing notification configs.", "id": "ListNotificationConfigsResponse", "properties": { "nextPageToken": { - "description": "Token to retrieve the next page of results, or empty if there are no more results.", "type": "string" }, "notificationConfigs": { - "description": "Notification configs belonging to the requested parent.", "items": { "$ref": "NotificationConfig" }, @@ -15809,22 +13949,18 @@ "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" }, "unreachable": { - "description": "Unordered list. Unreachable resources. Populated when the request sets `ListOperationsRequest.return_partial_success` and reads across collections. For example, when attempting to list all resources across all supported locations.", "items": { "type": "string" }, @@ -15834,15 +13970,12 @@ "type": "object" }, "ListResourceValueConfigsResponse": { - "description": "Response message to list resource value configs", "id": "ListResourceValueConfigsResponse", "properties": { "nextPageToken": { - "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is empty, there are no subsequent pages.", "type": "string" }, "resourceValueConfigs": { - "description": "The resource value configs from the specified parent.", "items": { "$ref": "GoogleCloudSecuritycenterV1ResourceValueConfig" }, @@ -15852,15 +13985,12 @@ "type": "object" }, "ListSecurityHealthAnalyticsCustomModulesResponse": { - "description": "Response message for listing Security Health Analytics custom modules.", "id": "ListSecurityHealthAnalyticsCustomModulesResponse", "properties": { "nextPageToken": { - "description": "If not empty, indicates that there may be more custom modules to be returned.", "type": "string" }, "securityHealthAnalyticsCustomModules": { - "description": "Custom modules belonging to the requested parent.", "items": { "$ref": "GoogleCloudSecuritycenterV1SecurityHealthAnalyticsCustomModule" }, @@ -15870,15 +14000,12 @@ "type": "object" }, "ListSourcesResponse": { - "description": "Response message for listing sources.", "id": "ListSourcesResponse", "properties": { "nextPageToken": { - "description": "Token to retrieve the next page of results, or empty if there are no more results.", "type": "string" }, "sources": { - "description": "Sources belonging to the requested parent.", "items": { "$ref": "Source" }, @@ -15888,20 +14015,16 @@ "type": "object" }, "ListValuedResourcesResponse": { - "description": "Response message for listing the valued resources for a given simulation.", "id": "ListValuedResourcesResponse", "properties": { "nextPageToken": { - "description": "Token to retrieve the next page of results, or empty if there are no more results.", "type": "string" }, "totalSize": { - "description": "The estimated total number of results matching the query.", "format": "int32", "type": "integer" }, "valuedResources": { - "description": "The valued resources that the attack path simulation identified.", "items": { "$ref": "ValuedResource" }, @@ -15911,37 +14034,30 @@ "type": "object" }, "LoadBalancer": { - "description": "Contains information related to the load balancer associated with the finding.", "id": "LoadBalancer", "properties": { "name": { - "description": "The name of the load balancer associated with the finding.", "type": "string" } }, "type": "object" }, "LogEntry": { - "description": "An individual entry in a log.", "id": "LogEntry", "properties": { "cloudLoggingEntry": { - "$ref": "CloudLoggingEntry", - "description": "An individual entry in a log stored in Cloud Logging." + "$ref": "CloudLoggingEntry" } }, "type": "object" }, "MemoryHashSignature": { - "description": "A signature corresponding to memory page hashes.", "id": "MemoryHashSignature", "properties": { "binaryFamily": { - "description": "The binary family.", "type": "string" }, "detections": { - "description": "The list of memory hash detections contributing to the binary family match.", "items": { "$ref": "Detection" }, @@ -15951,11 +14067,9 @@ "type": "object" }, "MitreAttack": { - "description": "MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org", "id": "MitreAttack", "properties": { "additionalTactics": { - "description": "Additional MITRE ATT&CK tactics related to this finding, if any.", "items": { "enum": [ "TACTIC_UNSPECIFIED", @@ -15975,28 +14089,27 @@ "IMPACT" ], "enumDescriptions": [ - "Unspecified value.", - "TA0043", - "TA0042", - "TA0001", - "TA0002", - "TA0003", - "TA0004", - "TA0005", - "TA0006", - "TA0007", - "TA0008", - "TA0009", - "TA0011", - "TA0010", - "TA0040" + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" ], "type": "string" }, "type": "array" }, "additionalTechniques": { - "description": "Additional MITRE ATT&CK techniques related to this finding, if any, along with any of their respective parent techniques.", "items": { "enum": [ "TECHNIQUE_UNSPECIFIED", @@ -16140,152 +14253,151 @@ "FINANCIAL_THEFT" ], "enumDescriptions": [ - "Unspecified value.", - "T1001", - "T1001.002", - "T1003", - "T1003.007", - "T1003.008", - "T1005", - "T1020", - "T1027", - "T1027.003", - "T1027.004", - "T1027.010", - "T1029", - "T1033", - "T1036", - "T1036.005", - "T1037", - "T1037.005", - "T1046", - "T1053", - "T1053.003", - "T1053.007", - "T1055", - "T1056", - "T1056.001", - "T1057", - "T1059", - "T1059.004", - "T1059.006", - "T1068", - "T1069", - "T1069.003", - "T1070", - "T1070.002", - "T1070.003", - "T1070.004", - "T1070.006", - "T1070.008", - "T1071", - "T1071.004", - "T1072", - "T1078", - "T1078.001", - "T1078.003", - "T1078.004", - "T1083", - "T1087.001", - "T1090", - "T1090.002", - "T1090.003", - "T1098", - "T1098.001", - "T1098.003", - "T1098.004", - "T1098.006", - "T1104", - "T1105", - "T1106", - "T1110", - "T1119", - "T1129", - "T1132", - "T1132.001", - "T1134", - "T1134.001", - "T1136", - "T1136.001", - "T1140", - "T1190", - "T1195", - "T1195.001", - "T1203", - "T1204", - "T1212", - "T1222.002", - "T1484", - "T1485", - "T1486", - "T1489", - "T1490", - "T1495", - "T1496", - "T1498", - "T1526", - "T1528", - "T1531", - "T1537", - "T1539", - "T1543", - "T1546", - "T1547", - "T1547.006", - "T1547.009", - "T1548", - "T1548.001", - "T1548.003", - "T1552", - "T1552.001", - "T1552.003", - "T1552.004", - "T1553", - "T1553.004", - "T1554", - "T1555", - "T1556", - "T1556.003", - "T1556.006", - "T1562", - "T1562.001", - "T1562.006", - "T1562.012", - "T1564", - "T1564.001", - "T1564.002", - "T1567", - "T1567.002", - "T1568", - "T1570", - "T1574", - "T1574.006", - "T1578", - "T1578.001", - "T1580", - "T1587", - "T1587.001", - "T1588", - "T1588.001", - "T1588.006", - "T1595", - "T1595.001", - "T1608", - "T1608.001", - "T1609", - "T1610", - "T1611", - "T1613", - "T1620", - "T1649", - "T1657" + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" ], "type": "string" }, "type": "array" }, "primaryTactic": { - "description": "The MITRE ATT&CK tactic most closely represented by this finding, if any.", "enum": [ "TACTIC_UNSPECIFIED", "RECONNAISSANCE", @@ -16304,26 +14416,25 @@ "IMPACT" ], "enumDescriptions": [ - "Unspecified value.", - "TA0043", - "TA0042", - "TA0001", - "TA0002", - "TA0003", - "TA0004", - "TA0005", - "TA0006", - "TA0007", - "TA0008", - "TA0009", - "TA0011", - "TA0010", - "TA0040" + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" ], "type": "string" }, "primaryTechniques": { - "description": "The MITRE ATT&CK technique most closely represented by this finding, if any. primary_techniques is a repeated field because there are multiple levels of MITRE ATT&CK techniques. If the technique most closely represented by this finding is a sub-technique (e.g. `SCANNING_IP_BLOCKS`), both the sub-technique and its parent technique(s) will be listed (e.g. `SCANNING_IP_BLOCKS`, `ACTIVE_SCANNING`).", "items": { "enum": [ "TECHNIQUE_UNSPECIFIED", @@ -16467,207 +14578,196 @@ "FINANCIAL_THEFT" ], "enumDescriptions": [ - "Unspecified value.", - "T1001", - "T1001.002", - "T1003", - "T1003.007", - "T1003.008", - "T1005", - "T1020", - "T1027", - "T1027.003", - "T1027.004", - "T1027.010", - "T1029", - "T1033", - "T1036", - "T1036.005", - "T1037", - "T1037.005", - "T1046", - "T1053", - "T1053.003", - "T1053.007", - "T1055", - "T1056", - "T1056.001", - "T1057", - "T1059", - "T1059.004", - "T1059.006", - "T1068", - "T1069", - "T1069.003", - "T1070", - "T1070.002", - "T1070.003", - "T1070.004", - "T1070.006", - "T1070.008", - "T1071", - "T1071.004", - "T1072", - "T1078", - "T1078.001", - "T1078.003", - "T1078.004", - "T1083", - "T1087.001", - "T1090", - "T1090.002", - "T1090.003", - "T1098", - "T1098.001", - "T1098.003", - "T1098.004", - "T1098.006", - "T1104", - "T1105", - "T1106", - "T1110", - "T1119", - "T1129", - "T1132", - "T1132.001", - "T1134", - "T1134.001", - "T1136", - "T1136.001", - "T1140", - "T1190", - "T1195", - "T1195.001", - "T1203", - "T1204", - "T1212", - "T1222.002", - "T1484", - "T1485", - "T1486", - "T1489", - "T1490", - "T1495", - "T1496", - "T1498", - "T1526", - "T1528", - "T1531", - "T1537", - "T1539", - "T1543", - "T1546", - "T1547", - "T1547.006", - "T1547.009", - "T1548", - "T1548.001", - "T1548.003", - "T1552", - "T1552.001", - "T1552.003", - "T1552.004", - "T1553", - "T1553.004", - "T1554", - "T1555", - "T1556", - "T1556.003", - "T1556.006", - "T1562", - "T1562.001", - "T1562.006", - "T1562.012", - "T1564", - "T1564.001", - "T1564.002", - "T1567", - "T1567.002", - "T1568", - "T1570", - "T1574", - "T1574.006", - "T1578", - "T1578.001", - "T1580", - "T1587", - "T1587.001", - "T1588", - "T1588.001", - "T1588.006", - "T1595", - "T1595.001", - "T1608", - "T1608.001", - "T1609", - "T1610", - "T1611", - "T1613", - "T1620", - "T1649", - "T1657" + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" ], "type": "string" }, "type": "array" }, "version": { - "description": "The MITRE ATT&CK version referenced by the above fields. E.g. \"8\".", "type": "string" } }, "type": "object" }, "MuteInfo": { - "description": "Mute information about the finding, including whether the finding has a static mute or any matching dynamic mute rules.", "id": "MuteInfo", "properties": { "dynamicMuteRecords": { - "description": "The list of dynamic mute rules that currently match the finding.", "items": { "$ref": "DynamicMuteRecord" }, "type": "array" }, "staticMute": { - "$ref": "StaticMute", - "description": "If set, the static mute applied to this finding. Static mutes override dynamic mutes. If unset, there is no static mute." + "$ref": "StaticMute" } }, "type": "object" }, "Network": { - "description": "Contains information about a VPC network associated with the finding.", "id": "Network", "properties": { "name": { - "description": "The name of the VPC network resource, for example, `//compute.googleapis.com/projects/my-project/global/networks/my-network`.", "type": "string" } }, "type": "object" }, "Node": { - "description": "Kubernetes nodes associated with the finding.", "id": "Node", "properties": { "name": { - "description": "[Full resource name](https://google.aip.dev/122#full-resource-names) of the Compute Engine VM running the cluster node.", "type": "string" } }, "type": "object" }, "NodePool": { - "description": "Provides GKE node pool information.", "id": "NodePool", "properties": { "name": { - "description": "Kubernetes node pool name.", "type": "string" }, "nodes": { - "description": "Nodes associated with the finding.", "items": { "$ref": "Node" }, @@ -16677,109 +14777,87 @@ "type": "object" }, "Notebook": { - "description": "Represents a Jupyter notebook IPYNB file, such as a [Colab Enterprise notebook](https://cloud.google.com/colab/docs/introduction) file, that is associated with a finding.", "id": "Notebook", "properties": { "lastAuthor": { - "description": "The user ID of the latest author to modify the notebook.", "type": "string" }, "name": { - "description": "The name of the notebook.", "type": "string" }, "notebookUpdateTime": { - "description": "The most recent time the notebook was updated.", "format": "google-datetime", "type": "string" }, "service": { - "description": "The source notebook service, for example, \"Colab Enterprise\".", "type": "string" } }, "type": "object" }, "NotificationConfig": { - "description": "Cloud Security Command Center (Cloud SCC) notification configs. A notification config is a Cloud SCC resource that contains the configuration to send notifications for create/update events of findings, assets and etc.", "id": "NotificationConfig", "properties": { "description": { - "description": "The description of the notification config (max of 1024 characters).", "type": "string" }, "name": { - "description": "The relative resource name of this notification config. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: \"organizations/{organization_id}/notificationConfigs/notify_public_bucket\", \"folders/{folder_id}/notificationConfigs/notify_public_bucket\", or \"projects/{project_id}/notificationConfigs/notify_public_bucket\".", "type": "string" }, "pubsubTopic": { - "description": "The Pub/Sub topic to send notifications to. Its format is \"projects/[project_id]/topics/[topic]\".", "type": "string" }, "serviceAccount": { - "description": "Output only. The service account that needs \"pubsub.topics.publish\" permission to publish to the Pub/Sub topic.", "readOnly": true, "type": "string" }, "streamingConfig": { - "$ref": "StreamingConfig", - "description": "The config for triggering streaming-based notifications." + "$ref": "StreamingConfig" } }, "type": "object" }, "Object": { - "description": "Kubernetes object related to the finding, uniquely identified by GKNN. Used if the object Kind is not one of Pod, Node, NodePool, Binding, or AccessReview.", "id": "Object", "properties": { "containers": { - "description": "Pod containers associated with this finding, if any.", "items": { "$ref": "Container" }, "type": "array" }, "group": { - "description": "Kubernetes object group, such as \"policy.k8s.io/v1\".", "type": "string" }, "kind": { - "description": "Kubernetes object kind, such as \"Namespace\".", "type": "string" }, "name": { - "description": "Kubernetes object name. For details see https://kubernetes.io/docs/concepts/overview/working-with-objects/names/.", "type": "string" }, "ns": { - "description": "Kubernetes object namespace. Must be a valid DNS label. Named \"ns\" to avoid collision with C++ namespace keyword. For details see https://kubernetes.io/docs/tasks/administer-cluster/namespaces/.", "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." + "$ref": "Status" }, "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": { @@ -16787,153 +14865,124 @@ "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" }, "OrgPolicy": { - "description": "Contains information about the org policies associated with the finding.", "id": "OrgPolicy", "properties": { "name": { - "description": "The resource name of the org policy. Example: \"organizations/{organization_id}/policies/{constraint_name}\"", "type": "string" } }, "type": "object" }, "OrganizationSettings": { - "description": "User specified settings that are attached to the Security Command Center organization.", "id": "OrganizationSettings", "properties": { "assetDiscoveryConfig": { - "$ref": "AssetDiscoveryConfig", - "description": "The configuration used for Asset Discovery runs." + "$ref": "AssetDiscoveryConfig" }, "enableAssetDiscovery": { - "description": "A flag that indicates if Asset Discovery should be enabled. If the flag is set to `true`, then discovery of assets will occur. If it is set to `false`, all historical assets will remain, but discovery of future assets will not occur.", "type": "boolean" }, "name": { - "description": "The relative resource name of the settings. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: \"organizations/{organization_id}/organizationSettings\".", "type": "string" } }, "type": "object" }, "Package": { - "description": "Package is a generic definition of a package.", "id": "Package", "properties": { "cpeUri": { - "description": "The CPE URI where the vulnerability was detected.", "type": "string" }, "packageName": { - "description": "The name of the package where the vulnerability was detected.", "type": "string" }, "packageType": { - "description": "Type of package, for example, os, maven, or go.", "type": "string" }, "packageVersion": { - "description": "The version of the package.", "type": "string" } }, "type": "object" }, "PathNodeAssociatedFinding": { - "description": "A finding that is associated with this node in the attack path.", "id": "PathNodeAssociatedFinding", "properties": { "canonicalFinding": { - "description": "Canonical name of the associated findings. Example: `organizations/123/sources/456/findings/789`", "type": "string" }, "findingCategory": { - "description": "The additional taxonomy group within findings from a given source.", "type": "string" }, "name": { - "description": "Full resource name of the finding.", "type": "string" } }, "type": "object" }, "Pipeline": { - "description": "Vertex AI training pipeline associated with the finding.", "id": "Pipeline", "properties": { "displayName": { - "description": "The user defined display name of pipeline, e.g. plants-classification", "type": "string" }, "name": { - "description": "Resource name of the pipeline, e.g. projects/{project}/locations/{location}/trainingPipelines/5253428229225578496", "type": "string" } }, "type": "object" }, "Pod": { - "description": "A Kubernetes Pod.", "id": "Pod", "properties": { "containers": { - "description": "Pod containers associated with this finding, if any.", "items": { "$ref": "Container" }, "type": "array" }, "labels": { - "description": "Pod labels. For Kubernetes containers, these are applied to the container.", "items": { "$ref": "Label" }, "type": "array" }, "name": { - "description": "Kubernetes Pod name.", "type": "string" }, "ns": { - "description": "Kubernetes Pod namespace.", "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" } @@ -16941,45 +14990,36 @@ "type": "object" }, "PolicyDriftDetails": { - "description": "The policy field that violates the deployed posture and its expected and detected values.", "id": "PolicyDriftDetails", "properties": { "detectedValue": { - "description": "The detected value that violates the deployed posture, for example, `false` or `allowed_values={\"projects/22831892\"}`.", "type": "string" }, "expectedValue": { - "description": "The value of this field that was configured in a posture, for example, `true` or `allowed_values={\"projects/29831892\"}`.", "type": "string" }, "field": { - "description": "The name of the updated field, for example constraint.implementation.policy_rules[0].enforce", "type": "string" } }, "type": "object" }, "PolicyViolationSummary": { - "description": "Metadata summarizing policy violations of child resources of the affected resource. `finding_category` and `resource` determine the exact semantics of the counts. For example, when category=DATA_SECURITY_POSTURE_OBJECT_PUBLIC_ACCESS_VIOLATION and resource='storage.googleapis.com/buckets/my-bucket-name' then this counts the number of Cloud Storage objects in my-bucket-name which violate a Public Access control.", "id": "PolicyViolationSummary", "properties": { "conformantResourcesCount": { - "description": "Total number of child resources that conform to the policy.", "format": "int64", "type": "string" }, "evaluationErrorsCount": { - "description": "Number of child resources for which errors during evaluation occurred. The evaluation result for these child resources is effectively \"unknown\".", "format": "int64", "type": "string" }, "outOfScopeResourcesCount": { - "description": "Total count of child resources which were not in scope for evaluation.", "format": "int64", "type": "string" }, "policyViolationsCount": { - "description": "Count of child resources in violation of the policy.", "format": "int64", "type": "string" } @@ -16987,16 +15027,13 @@ "type": "object" }, "PortRange": { - "description": "A port range which is inclusive of the min and max values. Values are between 0 and 2^16-1. The max can be equal / must be not smaller than the min value. If min and max are equal this indicates that it is a single port.", "id": "PortRange", "properties": { "max": { - "description": "Maximum port value.", "format": "int64", "type": "string" }, "min": { - "description": "Minimum port value.", "format": "int64", "type": "string" } @@ -17004,16 +15041,13 @@ "type": "object" }, "Position": { - "description": "A position in the uploaded text version of a module.", "id": "Position", "properties": { "columnNumber": { - "description": "The column number.", "format": "int32", "type": "integer" }, "lineNumber": { - "description": "The line number.", "format": "int32", "type": "integer" } @@ -17021,62 +15055,50 @@ "type": "object" }, "Process": { - "description": "Represents an operating system process.", "id": "Process", "properties": { "args": { - "description": "Process arguments as JSON encoded strings.", "items": { "type": "string" }, "type": "array" }, "argumentsTruncated": { - "description": "True if `args` is incomplete.", "type": "boolean" }, "binary": { - "$ref": "File", - "description": "File information for the process executable." + "$ref": "File" }, "envVariables": { - "description": "Process environment variables.", "items": { "$ref": "EnvironmentVariable" }, "type": "array" }, "envVariablesTruncated": { - "description": "True if `env_variables` is incomplete.", "type": "boolean" }, "libraries": { - "description": "File information for libraries loaded by the process.", "items": { "$ref": "File" }, "type": "array" }, "name": { - "description": "The process name, as displayed in utilities like `top` and `ps`. This name can be accessed through `/proc/[pid]/comm` and changed with `prctl(PR_SET_NAME)`.", "type": "string" }, "parentPid": { - "description": "The parent process ID.", "format": "int64", "type": "string" }, "pid": { - "description": "The process ID.", "format": "int64", "type": "string" }, "script": { - "$ref": "File", - "description": "When the process represents the invocation of a script, `binary` provides information about the interpreter, while `script` provides information about the script file provided to the interpreter." + "$ref": "File" }, "userId": { - "description": "The ID of the user that executed the process. E.g. If this is the root user this will always be 0.", "format": "int64", "type": "string" } @@ -17084,70 +15106,58 @@ "type": "object" }, "ProcessSignature": { - "description": "Indicates what signature matched this process.", "id": "ProcessSignature", "properties": { "memoryHashSignature": { - "$ref": "MemoryHashSignature", - "description": "Signature indicating that a binary family was matched." + "$ref": "MemoryHashSignature" }, "signatureType": { - "description": "Describes the type of resource associated with the signature.", "enum": [ "SIGNATURE_TYPE_UNSPECIFIED", "SIGNATURE_TYPE_PROCESS", "SIGNATURE_TYPE_FILE" ], "enumDescriptions": [ - "The default signature type.", - "Used for signatures concerning processes.", - "Used for signatures concerning disks." + "", + "", + "" ], "type": "string" }, "yaraRuleSignature": { - "$ref": "YaraRuleSignature", - "description": "Signature indicating that a YARA rule was matched." + "$ref": "YaraRuleSignature" } }, "type": "object" }, "Reference": { - "description": "Additional Links", "id": "Reference", "properties": { "source": { - "description": "Source of the reference e.g. NVD", "type": "string" }, "uri": { - "description": "Uri for the mentioned source e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527.", "type": "string" } }, "type": "object" }, "Requests": { - "description": "Information about the requests relevant to the finding.", "id": "Requests", "properties": { "longTermAllowed": { - "description": "Allowed RPS (requests per second) over the long term.", "format": "int32", "type": "integer" }, "longTermDenied": { - "description": "Denied RPS (requests per second) over the long term.", "format": "int32", "type": "integer" }, "ratio": { - "description": "For 'Increasing deny ratio', the ratio is the denied traffic divided by the allowed traffic. For 'Allowed traffic spike', the ratio is the allowed traffic in the short term divided by allowed traffic in the long term.", "format": "double", "type": "number" }, "shortTermAllowed": { - "description": "Allowed RPS (requests per second) in the short term.", "format": "int32", "type": "integer" } @@ -17155,35 +15165,27 @@ "type": "object" }, "Resource": { - "description": "Information related to the Google Cloud resource that is associated with this finding.", "id": "Resource", "properties": { "adcApplication": { - "$ref": "AdcApplication", - "description": "The ADC application associated with the finding." + "$ref": "AdcApplication" }, "adcApplicationTemplate": { - "$ref": "AdcApplicationTemplateRevision", - "description": "The ADC template associated with the finding." + "$ref": "AdcApplicationTemplateRevision" }, "adcSharedTemplate": { - "$ref": "AdcSharedTemplateRevision", - "description": "The ADC shared template associated with the finding." + "$ref": "AdcSharedTemplateRevision" }, "application": { - "$ref": "GoogleCloudSecuritycenterV1ResourceApplication", - "description": "The App Hub application this resource belongs to." + "$ref": "GoogleCloudSecuritycenterV1ResourceApplication" }, "awsMetadata": { - "$ref": "AwsMetadata", - "description": "The AWS metadata associated with the finding." + "$ref": "AwsMetadata" }, "azureMetadata": { - "$ref": "AzureMetadata", - "description": "The Azure metadata associated with the finding." + "$ref": "AzureMetadata" }, "cloudProvider": { - "description": "Indicates which cloud provider the finding is from.", "enum": [ "CLOUD_PROVIDER_UNSPECIFIED", "GOOGLE_CLOUD_PLATFORM", @@ -17191,77 +15193,62 @@ "MICROSOFT_AZURE" ], "enumDescriptions": [ - "The cloud provider is unspecified.", - "The cloud provider is Google Cloud.", - "The cloud provider is Amazon Web Services.", - "The cloud provider is Microsoft Azure." + "", + "", + "", + "" ], "type": "string" }, "displayName": { - "description": "The human readable name of the resource.", "type": "string" }, "folders": { - "description": "Contains a Folder message for each folder in the assets ancestry. The first folder is the deepest nested folder, and the last folder is the folder directly under the Organization.", "items": { "$ref": "Folder" }, "type": "array" }, "location": { - "description": "The region or location of the service (if applicable).", "type": "string" }, "name": { - "description": "The full resource name of the resource. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", "type": "string" }, "organization": { - "description": "Indicates which organization / tenant the finding is for.", "type": "string" }, "parentDisplayName": { - "description": "The human readable name of resource's parent.", "type": "string" }, "parentName": { - "description": "The full resource name of resource's parent.", "type": "string" }, "projectDisplayName": { - "description": "The project ID that the resource belongs to.", "type": "string" }, "projectName": { - "description": "The full resource name of project that the resource belongs to.", "type": "string" }, "resourcePath": { - "$ref": "ResourcePath", - "description": "Provides the path to the resource within the resource hierarchy." + "$ref": "ResourcePath" }, "resourcePathString": { - "description": "A string representation of the resource path. For Google Cloud, it has the format of `org/{organization_id}/folder/{folder_id}/folder/{folder_id}/project/{project_id}` where there can be any number of folders. For AWS, it has the format of `org/{organization_id}/ou/{organizational_unit_id}/ou/{organizational_unit_id}/account/{account_id}` where there can be any number of organizational units. For Azure, it has the format of `mg/{management_group_id}/mg/{management_group_id}/subscription/{subscription_id}/rg/{resource_group_name}` where there can be any number of management groups.", "type": "string" }, "service": { - "description": "The service or resource provider associated with the resource.", "type": "string" }, "type": { - "description": "The full resource type of the resource.", "type": "string" } }, "type": "object" }, "ResourcePath": { - "description": "Represents the path of resources leading up to the resource this finding is about.", "id": "ResourcePath", "properties": { "nodes": { - "description": "The list of nodes that make the up resource path, ordered from lowest level to highest level.", "items": { "$ref": "ResourcePathNode" }, @@ -17271,19 +15258,15 @@ "type": "object" }, "ResourcePathNode": { - "description": "A node within the resource path. Each node represents a resource within the resource hierarchy.", "id": "ResourcePathNode", "properties": { "displayName": { - "description": "The display name of the resource this node represents.", "type": "string" }, "id": { - "description": "The ID of the resource this node represents.", "type": "string" }, "nodeType": { - "description": "The type of resource this node represents.", "enum": [ "RESOURCE_PATH_NODE_TYPE_UNSPECIFIED", "GCP_ORGANIZATION", @@ -17297,16 +15280,16 @@ "AZURE_RESOURCE_GROUP" ], "enumDescriptions": [ - "Node type is unspecified.", - "The node represents a Google Cloud organization.", - "The node represents a Google Cloud folder.", - "The node represents a Google Cloud project.", - "The node represents an AWS organization.", - "The node represents an AWS organizational unit.", - "The node represents an AWS account.", - "The node represents an Azure management group.", - "The node represents an Azure subscription.", - "The node represents an Azure resource group." + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" ], "type": "string" } @@ -17314,107 +15297,88 @@ "type": "object" }, "ResourceValueConfigMetadata": { - "description": "Metadata about a ResourceValueConfig. For example, id and name.", "id": "ResourceValueConfigMetadata", "properties": { "name": { - "description": "Resource value config name", "type": "string" } }, "type": "object" }, "Role": { - "description": "Kubernetes Role or ClusterRole.", "id": "Role", "properties": { "kind": { - "description": "Role type.", "enum": [ "KIND_UNSPECIFIED", "ROLE", "CLUSTER_ROLE" ], "enumDescriptions": [ - "Role type is not specified.", - "Kubernetes Role.", - "Kubernetes ClusterRole." + "", + "", + "" ], "type": "string" }, "name": { - "description": "Role name.", "type": "string" }, "ns": { - "description": "Role namespace.", "type": "string" } }, "type": "object" }, "RunAssetDiscoveryRequest": { - "description": "Request message for running asset discovery for an organization.", "id": "RunAssetDiscoveryRequest", "properties": {}, "type": "object" }, "Secret": { - "description": "Details about a secret or credential associated with the finding.", "id": "Secret", "properties": { "environmentVariable": { - "$ref": "SecretEnvironmentVariable", - "description": "The environment variable containing the secret." + "$ref": "SecretEnvironmentVariable" }, "filePath": { - "$ref": "SecretFilePath", - "description": "The file containing the secret." + "$ref": "SecretFilePath" }, "status": { - "$ref": "SecretStatus", - "description": "The status of the secret." + "$ref": "SecretStatus" }, "type": { - "description": "The type of secret, for example, GCP_API_KEY.", "type": "string" } }, "type": "object" }, "SecretEnvironmentVariable": { - "description": "Environment variable containing the secret.", "id": "SecretEnvironmentVariable", "properties": { "key": { - "description": "Environment variable name as a JSON encoded string. Note that value is not included since the value contains the secret data, which is sensitive core content.", "type": "string" } }, "type": "object" }, "SecretFilePath": { - "description": "File path containing the secret.", "id": "SecretFilePath", "properties": { "path": { - "description": "Path to the file.", "type": "string" } }, "type": "object" }, "SecretStatus": { - "description": "The status of the secret.", "id": "SecretStatus", "properties": { "lastUpdatedTime": { - "description": "Time that the secret was found.", "format": "google-datetime", "type": "string" }, "validity": { - "description": "The validity of the secret.", "enum": [ "SECRET_VALIDITY_UNSPECIFIED", "SECRET_VALIDITY_UNSUPPORTED", @@ -17423,11 +15387,11 @@ "SECRET_VALIDITY_VALID" ], "enumDescriptions": [ - "Default value; no validation was attempted.", - "There is no mechanism to validate the secret.", - "Validation is supported but the validation failed.", - "The secret is confirmed to be invalid.", - "The secret is confirmed to be valid." + "", + "", + "", + "", + "" ], "type": "string" } @@ -17435,163 +15399,130 @@ "type": "object" }, "SecurityBulletin": { - "description": "SecurityBulletin are notifications of vulnerabilities of Google products.", "id": "SecurityBulletin", "properties": { "bulletinId": { - "description": "ID of the bulletin corresponding to the vulnerability.", "type": "string" }, "submissionTime": { - "description": "Submission time of this Security Bulletin.", "format": "google-datetime", "type": "string" }, "suggestedUpgradeVersion": { - "description": "This represents a version that the cluster receiving this notification should be upgraded to, based on its current version. For example, 1.15.0", "type": "string" } }, "type": "object" }, "SecurityCenterProperties": { - "description": "Security Command Center managed properties. These properties are managed by Security Command Center and cannot be modified by the user.", "id": "SecurityCenterProperties", "properties": { "folders": { - "description": "Contains a Folder message for each folder in the assets ancestry. The first folder is the deepest nested folder, and the last folder is the folder directly under the Organization.", "items": { "$ref": "Folder" }, "type": "array" }, "resourceDisplayName": { - "description": "The user defined display name for this resource.", "type": "string" }, "resourceName": { - "description": "The full resource name of the Google Cloud resource this asset represents. This field is immutable after create time. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", "type": "string" }, "resourceOwners": { - "description": "Owners of the Google Cloud resource.", "items": { "type": "string" }, "type": "array" }, "resourceParent": { - "description": "The full resource name of the immediate parent of the resource. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", "type": "string" }, "resourceParentDisplayName": { - "description": "The user defined display name for the parent of this resource.", "type": "string" }, "resourceProject": { - "description": "The full resource name of the project the resource belongs to. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", "type": "string" }, "resourceProjectDisplayName": { - "description": "The user defined display name for the project of this resource.", "type": "string" }, "resourceType": { - "description": "The type of the Google Cloud resource. Examples include: APPLICATION, PROJECT, and ORGANIZATION. This is a case insensitive field defined by Security Command Center and/or the producer of the resource and is immutable after create time.", "type": "string" } }, "type": "object" }, "SecurityMarks": { - "description": "User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization.", "id": "SecurityMarks", "properties": { "canonicalName": { - "description": "The canonical name of the marks. Examples: \"organizations/{organization_id}/assets/{asset_id}/securityMarks\" \"folders/{folder_id}/assets/{asset_id}/securityMarks\" \"projects/{project_number}/assets/{asset_id}/securityMarks\" \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks\" \"folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks\" \"projects/{project_number}/sources/{source_id}/findings/{finding_id}/securityMarks\"", "type": "string" }, "marks": { "additionalProperties": { "type": "string" }, - "description": "Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive)", "type": "object" }, "name": { - "description": "The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: \"organizations/{organization_id}/assets/{asset_id}/securityMarks\" \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks\".", "type": "string" } }, "type": "object" }, "SecurityPolicy": { - "description": "Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding.", "id": "SecurityPolicy", "properties": { "name": { - "description": "The name of the Google Cloud Armor security policy, for example, \"my-security-policy\".", "type": "string" }, "preview": { - "description": "Whether or not the associated rule or policy is in preview mode.", "type": "boolean" }, "type": { - "description": "The type of Google Cloud Armor security policy for example, 'backend security policy', 'edge security policy', 'network edge security policy', or 'always-on DDoS protection'.", "type": "string" } }, "type": "object" }, "SecurityPosture": { - "description": "Represents a posture that is deployed on Google Cloud by the Security Command Center Posture Management service. A posture contains one or more policy sets. A policy set is a group of policies that enforce a set of security rules on Google Cloud.", "id": "SecurityPosture", "properties": { "changedPolicy": { - "description": "The name of the updated policy, for example, `projects/{project_id}/policies/{constraint_name}`.", "type": "string" }, "name": { - "description": "Name of the posture, for example, `CIS-Posture`.", "type": "string" }, "policy": { - "description": "The ID of the updated policy, for example, `compute-policy-1`.", "type": "string" }, "policyDriftDetails": { - "description": "The details about a change in an updated policy that violates the deployed posture.", "items": { "$ref": "PolicyDriftDetails" }, "type": "array" }, "policySet": { - "description": "The name of the updated policyset, for example, `cis-policyset`.", "type": "string" }, "postureDeployment": { - "description": "The name of the posture deployment, for example, `organizations/{org_id}/posturedeployments/{posture_deployment_id}`.", "type": "string" }, "postureDeploymentResource": { - "description": "The project, folder, or organization on which the posture is deployed, for example, `projects/{project_number}`.", "type": "string" }, "revisionId": { - "description": "The version of the posture, for example, `c7cfa2a8`.", "type": "string" } }, "type": "object" }, "SensitivityScore": { - "description": "Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive.", "id": "SensitivityScore", "properties": { "score": { - "description": "The sensitivity score applied to the resource.", "enum": [ "SENSITIVITY_SCORE_LEVEL_UNSPECIFIED", "SENSITIVITY_LOW", @@ -17600,11 +15531,11 @@ "SENSITIVITY_HIGH" ], "enumDescriptions": [ - "Unused.", - "No sensitive information detected. The resource isn't publicly accessible.", - "Unable to determine sensitivity.", - "Medium risk. Contains personally identifiable information (PII), potentially sensitive data, or fields with free-text data that are at a higher risk of having intermittent sensitive data. Consider limiting access.", - "High risk. Sensitive personally identifiable information (SPII) can be present. Exfiltration of data can lead to user data loss. Re-identification of users might be possible. Consider limiting usage and or removing SPII." + "", + "", + "", + "", + "" ], "type": "string" } @@ -17612,41 +15543,35 @@ "type": "object" }, "ServiceAccountDelegationInfo": { - "description": "Identity delegation history of an authenticated service account.", "id": "ServiceAccountDelegationInfo", "properties": { "principalEmail": { - "description": "The email address of a Google account.", "type": "string" }, "principalSubject": { - "description": "A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subjects/{subject}` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]`", "type": "string" } }, "type": "object" }, "SetFindingStateRequest": { - "description": "Request message for updating a finding's state.", "id": "SetFindingStateRequest", "properties": { "startTime": { "deprecated": true, - "description": "Optional. The time at which the updated state takes effect. If unset, defaults to the request time.", "format": "google-datetime", "type": "string" }, "state": { - "description": "Required. The desired State of the finding.", "enum": [ "STATE_UNSPECIFIED", "ACTIVE", "INACTIVE" ], "enumDescriptions": [ - "Unspecified state.", - "The finding requires attention and has not been addressed yet.", - "The finding has been fixed, triaged as a non-issue or otherwise addressed and is no longer active." + "", + "", + "" ], "type": "string" } @@ -17654,15 +15579,12 @@ "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." + "$ref": "Policy" }, "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" } @@ -17670,11 +15592,9 @@ "type": "object" }, "SetMuteRequest": { - "description": "Request message for updating a finding's mute status.", "id": "SetMuteRequest", "properties": { "mute": { - "description": "Required. The desired state of the Mute.", "enum": [ "MUTE_UNSPECIFIED", "MUTED", @@ -17682,10 +15602,10 @@ "UNDEFINED" ], "enumDescriptions": [ - "Unspecified.", - "Finding has been muted.", - "Finding has been unmuted.", - "Finding has never been muted/unmuted." + "", + "", + "", + "" ], "type": "string" } @@ -17693,79 +15613,64 @@ "type": "object" }, "SimulateSecurityHealthAnalyticsCustomModuleRequest": { - "description": "Request message to simulate a CustomConfig against a given test resource. Maximum size of the request is 4 MB by default.", "id": "SimulateSecurityHealthAnalyticsCustomModuleRequest", "properties": { "customConfig": { - "$ref": "GoogleCloudSecuritycenterV1CustomConfig", - "description": "Required. The custom configuration that you need to test." + "$ref": "GoogleCloudSecuritycenterV1CustomConfig" }, "resource": { - "$ref": "SimulatedResource", - "description": "Required. Resource data to simulate custom module against." + "$ref": "SimulatedResource" } }, "type": "object" }, "SimulateSecurityHealthAnalyticsCustomModuleResponse": { - "description": "Response message for simulating a `SecurityHealthAnalyticsCustomModule` against a given resource.", "id": "SimulateSecurityHealthAnalyticsCustomModuleResponse", "properties": { "result": { - "$ref": "SimulatedResult", - "description": "Result for test case in the corresponding request." + "$ref": "SimulatedResult" } }, "type": "object" }, "SimulatedResource": { - "description": "Manually constructed resource name. If the custom module evaluates against only the resource data, you can omit the `iam_policy_data` field. If it evaluates only the `iam_policy_data` field, you can omit the resource data.", "id": "SimulatedResource", "properties": { "iamPolicyData": { - "$ref": "Policy", - "description": "Optional. A representation of the IAM policy." + "$ref": "Policy" }, "resourceData": { "additionalProperties": { "description": "Properties of the object.", "type": "any" }, - "description": "Optional. A representation of the Google Cloud resource. Should match the Google Cloud resource JSON format.", "type": "object" }, "resourceType": { - "description": "Required. The type of the resource, for example, `compute.googleapis.com/Disk`.", "type": "string" } }, "type": "object" }, "SimulatedResult": { - "description": "Possible test result.", "id": "SimulatedResult", "properties": { "error": { - "$ref": "Status", - "description": "Error encountered during the test." + "$ref": "Status" }, "finding": { - "$ref": "Finding", - "description": "Finding that would be published for the test case, if a violation is detected." + "$ref": "Finding" }, "noViolation": { - "$ref": "Empty", - "description": "Indicates that the test case does not trigger any violation." + "$ref": "Empty" } }, "type": "object" }, "Simulation": { - "description": "Attack path simulation", "id": "Simulation", "properties": { "cloudProvider": { - "description": "Indicates which cloud provider was used in this simulation.", "enum": [ "CLOUD_PROVIDER_UNSPECIFIED", "GOOGLE_CLOUD_PLATFORM", @@ -17773,25 +15678,22 @@ "MICROSOFT_AZURE" ], "enumDescriptions": [ - "The cloud provider is unspecified.", - "The cloud provider is Google Cloud.", - "The cloud provider is Amazon Web Services.", - "The cloud provider is Microsoft Azure." + "", + "", + "", + "" ], "type": "string" }, "createTime": { - "description": "Output only. Time simulation was created", "format": "google-datetime", "readOnly": true, "type": "string" }, "name": { - "description": "Full resource name of the Simulation: `organizations/123/simulations/456`", "type": "string" }, "resourceValueConfigsMetadata": { - "description": "Resource value configurations' metadata used in this simulation. Maximum of 100.", "items": { "$ref": "ResourceValueConfigMetadata" }, @@ -17801,39 +15703,31 @@ "type": "object" }, "Source": { - "description": "Security Command Center finding source. A finding source is an entity or a mechanism that can produce a finding. A source is like a container of findings that come from the same scanner, logger, monitor, and other tools.", "id": "Source", "properties": { "canonicalName": { - "description": "The canonical name of the finding source. It's either \"organizations/{organization_id}/sources/{source_id}\", \"folders/{folder_id}/sources/{source_id}\", or \"projects/{project_number}/sources/{source_id}\", depending on the closest CRM ancestor of the resource associated with the finding.", "type": "string" }, "description": { - "description": "The description of the source (max of 1024 characters). Example: \"Web Security Scanner is a web security scanner for common vulnerabilities in App Engine applications. It can automatically scan and detect four common vulnerabilities, including cross-site-scripting (XSS), Flash injection, mixed content (HTTP in HTTPS), and outdated or insecure libraries.\"", "type": "string" }, "displayName": { - "description": "The source's display name. A source's display name must be unique amongst its siblings, for example, two sources with the same parent can't share the same display name. The display name must have a length between 1 and 64 characters (inclusive).", "type": "string" }, "name": { - "description": "The relative resource name of this source. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: \"organizations/{organization_id}/sources/{source_id}\"", "type": "string" } }, "type": "object" }, "StaticMute": { - "description": "Information about the static mute state. A static mute state overrides any dynamic mute rules that apply to this finding. The static mute state can be set by a static mute rule or by muting the finding directly.", "id": "StaticMute", "properties": { "applyTime": { - "description": "When the static mute was applied.", "format": "google-datetime", "type": "string" }, "state": { - "description": "The static mute state. If the value is `MUTED` or `UNMUTED`, then the finding's overall mute state will have the same value.", "enum": [ "MUTE_UNSPECIFIED", "MUTED", @@ -17841,10 +15735,10 @@ "UNDEFINED" ], "enumDescriptions": [ - "Unspecified.", - "Finding has been muted.", - "Finding has been unmuted.", - "Finding has never been muted/unmuted." + "", + "", + "", + "" ], "type": "string" } @@ -17852,16 +15746,13 @@ "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.", @@ -17872,29 +15763,24 @@ "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" }, "StreamingConfig": { - "description": "The config for streaming-based notifications, which send each event as soon as it is detected.", "id": "StreamingConfig", "properties": { "filter": { - "description": "Expression that defines the filter to apply across create/update events of assets or findings as specified by the event type. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes.", "type": "string" } }, "type": "object" }, "Subject": { - "description": "Represents a Kubernetes subject.", "id": "Subject", "properties": { "kind": { - "description": "Authentication type for the subject.", "enum": [ "AUTH_TYPE_UNSPECIFIED", "USER", @@ -17902,30 +15788,26 @@ "GROUP" ], "enumDescriptions": [ - "Authentication is not specified.", - "User with valid certificate.", - "Users managed by Kubernetes API with credentials stored as secrets.", - "Collection of users." + "", + "", + "", + "" ], "type": "string" }, "name": { - "description": "Name for the subject.", "type": "string" }, "ns": { - "description": "Namespace for the subject.", "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" }, @@ -17935,11 +15817,9 @@ "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" }, @@ -17949,48 +15829,38 @@ "type": "object" }, "TicketInfo": { - "description": "Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding.", "id": "TicketInfo", "properties": { "assignee": { - "description": "The assignee of the ticket in the ticket system.", "type": "string" }, "description": { - "description": "The description of the ticket in the ticket system.", "type": "string" }, "id": { - "description": "The identifier of the ticket in the ticket system.", "type": "string" }, "status": { - "description": "The latest status of the ticket, as reported by the ticket system.", "type": "string" }, "updateTime": { - "description": "The time when the ticket was last updated, as reported by the ticket system.", "format": "google-datetime", "type": "string" }, "uri": { - "description": "The link to the ticket in the ticket system.", "type": "string" } }, "type": "object" }, "ToxicCombination": { - "description": "Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination.", "id": "ToxicCombination", "properties": { "attackExposureScore": { - "description": "The [Attack exposure score](https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_exposure_scores) of this toxic combination. The score is a measure of how much this toxic combination exposes one or more high-value resources to potential attack.", "format": "double", "type": "number" }, "relatedFindings": { - "description": "List of resource names of findings associated with this toxic combination. For example, `organizations/123/sources/456/findings/789`.", "items": { "type": "string" }, @@ -18000,58 +15870,46 @@ "type": "object" }, "ValidateEventThreatDetectionCustomModuleRequest": { - "description": "Request to validate an Event Threat Detection custom module.", "id": "ValidateEventThreatDetectionCustomModuleRequest", "properties": { "rawText": { - "description": "Required. The raw text of the module's contents. Used to generate error messages.", "type": "string" }, "type": { - "description": "Required. The type of the module (e.g. CONFIGURABLE_BAD_IP).", "type": "string" } }, "type": "object" }, "ValidateEventThreatDetectionCustomModuleResponse": { - "description": "Response to validating an Event Threat Detection custom module.", "id": "ValidateEventThreatDetectionCustomModuleResponse", "properties": { "errors": { - "$ref": "CustomModuleValidationErrors", - "description": "A list of errors returned by the validator. If the list is empty, there were no errors." + "$ref": "CustomModuleValidationErrors" } }, "type": "object" }, "ValuedResource": { - "description": "A resource that is determined to have value to a user's system", "id": "ValuedResource", "properties": { "displayName": { - "description": "Human-readable name of the valued resource.", "type": "string" }, "exposedScore": { - "description": "Exposed score for this valued resource. A value of 0 means no exposure was detected exposure.", "format": "double", "type": "number" }, "name": { - "description": "Valued resource name, for example, e.g.: `organizations/123/simulations/456/valuedResources/789`", "type": "string" }, "resource": { - "description": "The [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name) of the valued resource.", "type": "string" }, "resourceType": { - "description": "The [resource type](https://cloud.google.com/asset-inventory/docs/supported-asset-types) of the valued resource.", "type": "string" }, "resourceValue": { - "description": "How valuable this resource is.", "enum": [ "RESOURCE_VALUE_UNSPECIFIED", "RESOURCE_VALUE_LOW", @@ -18059,15 +15917,14 @@ "RESOURCE_VALUE_HIGH" ], "enumDescriptions": [ - "The resource value isn't specified.", - "This is a low-value resource.", - "This is a medium-value resource.", - "This is a high-value resource." + "", + "", + "", + "" ], "type": "string" }, "resourceValueConfigsUsed": { - "description": "List of resource value configurations' metadata used to determine the value of this resource. Maximum of 100.", "items": { "$ref": "ResourceValueConfigMetadata" }, @@ -18077,18 +15934,15 @@ "type": "object" }, "VertexAi": { - "description": "Vertex AI-related information associated with the finding.", "id": "VertexAi", "properties": { "datasets": { - "description": "Datasets associated with the finding.", "items": { "$ref": "Dataset" }, "type": "array" }, "pipelines": { - "description": "Pipelines associated with the finding.", "items": { "$ref": "Pipeline" }, @@ -18098,46 +15952,37 @@ "type": "object" }, "Vulnerability": { - "description": "Refers to common vulnerability fields e.g. cve, cvss, cwe etc.", "id": "Vulnerability", "properties": { "cve": { - "$ref": "Cve", - "description": "CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/)" + "$ref": "Cve" }, "cwes": { - "description": "Represents one or more Common Weakness Enumeration (CWE) information on this vulnerability.", "items": { "$ref": "Cwe" }, "type": "array" }, "fixedPackage": { - "$ref": "Package", - "description": "The fixed package is relevant to the finding." + "$ref": "Package" }, "offendingPackage": { - "$ref": "Package", - "description": "The offending package is relevant to the finding." + "$ref": "Package" }, "providerRiskScore": { - "description": "Provider provided risk_score based on multiple factors. The higher the risk score, the more risky the vulnerability is.", "format": "int64", "type": "string" }, "reachable": { - "description": "Represents whether the vulnerability is reachable (detected via static analysis)", "type": "boolean" }, "securityBulletin": { - "$ref": "SecurityBulletin", - "description": "The security bulletin is relevant to this finding." + "$ref": "SecurityBulletin" } }, "type": "object" }, "VulnerabilityCountBySeverity": { - "description": "Vulnerability count by severity.", "id": "VulnerabilityCountBySeverity", "properties": { "severityToFindingCount": { @@ -18145,18 +15990,15 @@ "format": "int64", "type": "string" }, - "description": "Key is the Severity enum.", "type": "object" } }, "type": "object" }, "VulnerabilitySnapshot": { - "description": "Result containing the properties and count of a VulnerabilitySnapshot request.", "id": "VulnerabilitySnapshot", "properties": { "cloudProvider": { - "description": "The cloud provider for the vulnerability snapshot.", "enum": [ "CLOUD_PROVIDER_UNSPECIFIED", "GOOGLE_CLOUD_PLATFORM", @@ -18164,23 +16006,20 @@ "MICROSOFT_AZURE" ], "enumDescriptions": [ - "The cloud provider is unspecified.", - "The cloud provider is Google Cloud.", - "The cloud provider is Amazon Web Services.", - "The cloud provider is Microsoft Azure." + "", + "", + "", + "" ], "type": "string" }, "findingCount": { - "$ref": "VulnerabilityCountBySeverity", - "description": "The vulnerability count by severity." + "$ref": "VulnerabilityCountBySeverity" }, "name": { - "description": "Identifier. The vulnerability snapshot name. Format: //locations//vulnerabilitySnapshots/", "type": "string" }, "snapshotTime": { - "description": "The time that the snapshot was taken.", "format": "google-datetime", "type": "string" } @@ -18188,11 +16027,9 @@ "type": "object" }, "YaraRuleSignature": { - "description": "A signature corresponding to a YARA rule.", "id": "YaraRuleSignature", "properties": { "yaraRule": { - "description": "The name of the YARA rule.", "type": "string" } }, diff --git a/discovery/securitycenter-v1beta1.json b/discovery/securitycenter-v1beta1.json index 671c570a8b3..70cb2eef33b 100644 --- a/discovery/securitycenter-v1beta1.json +++ b/discovery/securitycenter-v1beta1.json @@ -125,7 +125,7 @@ "organizations": { "methods": { "getOrganizationSettings": { - "description": "Gets the settings for an organization.", + "description": "", "flatPath": "v1beta1/organizations/{organizationsId}/organizationSettings", "httpMethod": "GET", "id": "securitycenter.organizations.getOrganizationSettings", @@ -134,7 +134,6 @@ ], "parameters": { "name": { - "description": "Required. Name of the organization to get organization settings for. Its format is \"organizations/[organization_id]/organizationSettings\".", "location": "path", "pattern": "^organizations/[^/]+/organizationSettings$", "required": true, @@ -151,7 +150,7 @@ }, "updateOrganizationSettings": { "deprecated": true, - "description": "Updates an organization's settings.", + "description": "", "flatPath": "v1beta1/organizations/{organizationsId}/organizationSettings", "httpMethod": "PATCH", "id": "securitycenter.organizations.updateOrganizationSettings", @@ -160,14 +159,12 @@ ], "parameters": { "name": { - "description": "The relative resource name of the settings. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: \"organizations/{organization_id}/organizationSettings\".", "location": "path", "pattern": "^organizations/[^/]+/organizationSettings$", "required": true, "type": "string" }, "updateMask": { - "description": "The FieldMask to use when updating the settings resource.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -189,7 +186,7 @@ "assets": { "methods": { "group": { - "description": "Filters an organization's assets and groups them by their specified properties.", + "description": "", "flatPath": "v1beta1/organizations/{organizationsId}/assets:group", "httpMethod": "POST", "id": "securitycenter.organizations.assets.group", @@ -198,7 +195,6 @@ ], "parameters": { "parent": { - "description": "Required. Name of the organization to groupBy. Its format is \"organizations/[organization_id]\".", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, @@ -217,7 +213,7 @@ ] }, "list": { - "description": "Lists an organization's assets.", + "description": "", "flatPath": "v1beta1/organizations/{organizationsId}/assets", "httpMethod": "GET", "id": "securitycenter.organizations.assets.list", @@ -226,47 +222,39 @@ ], "parameters": { "compareDuration": { - "description": "When compare_duration is set, the ListAssetResult's \"state\" attribute is updated to indicate whether the asset was added, removed, or remained present during the compare_duration period of time that precedes the read_time. This is the time between (read_time - compare_duration) and read_time. The state value is derived based on the presence of the asset at the two points in time. Intermediate state changes between the two times don't affect the result. For example, the results aren't affected if the asset is removed and re-created again. Possible \"state\" values when compare_duration is specified: * \"ADDED\": indicates that the asset was not present before compare_duration, but present at read_time. * \"REMOVED\": indicates that the asset was present at the start of compare_duration, but not present at read_time. * \"ACTIVE\": indicates that the asset was present at both the start and the end of the time period defined by compare_duration and read_time. If compare_duration is not specified, then the only possible state is \"UNUSED\", which indicates that the asset is present at read_time.", "format": "google-duration", "location": "query", "type": "string" }, "fieldMask": { - "description": "Optional. A field mask to specify the ListAssetsResult fields to be listed in the response. An empty field mask will list all fields.", "format": "google-fieldmask", "location": "query", "type": "string" }, "filter": { - "description": "Expression that defines the filter to apply across assets. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are not supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the Asset resource. Examples include: * name * security_center_properties.resource_name * resource_properties.a_property * security_marks.marks.marka The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. For example, `resource_properties.size = 100` is a valid filter string.", "location": "query", "type": "string" }, "orderBy": { - "description": "Expression that defines what fields and order to use for sorting. The string value should follow SQL syntax: comma separated list of fields. For example: \"name,resource_properties.a_property\". The default sorting order is ascending. To specify descending order for a field, a suffix \" desc\" should be appended to the field name. For example: \"name desc,resource_properties.a_property\". Redundant space characters in the syntax are insignificant. \"name desc,resource_properties.a_property\" and \" name desc , resource_properties.a_property \" are equivalent.", "location": "query", "type": "string" }, "pageSize": { - "description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "The value returned by the last `ListAssetsResponse`; indicates that this is a continuation of a prior `ListAssets` call, and that the system should return the next page of data.", "location": "query", "type": "string" }, "parent": { - "description": "Required. Name of the organization assets should belong to. Its format is \"organizations/[organization_id]\".", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, "type": "string" }, "readTime": { - "description": "Time used as a reference point when filtering assets. The filter is limited to assets existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW.", "format": "google-datetime", "location": "query", "type": "string" @@ -281,7 +269,7 @@ ] }, "runDiscovery": { - "description": "Runs asset discovery. The discovery is tracked with a long-running operation. This API can only be called with limited frequency for an organization. If it is called too frequently the caller will receive a TOO_MANY_REQUESTS error.", + "description": "", "flatPath": "v1beta1/organizations/{organizationsId}/assets:runDiscovery", "httpMethod": "POST", "id": "securitycenter.organizations.assets.runDiscovery", @@ -290,7 +278,6 @@ ], "parameters": { "parent": { - "description": "Required. Name of the organization to run asset discovery for. Its format is \"organizations/[organization_id]\".", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, @@ -309,7 +296,7 @@ ] }, "updateSecurityMarks": { - "description": "Updates security marks.", + "description": "", "flatPath": "v1beta1/organizations/{organizationsId}/assets/{assetsId}/securityMarks", "httpMethod": "PATCH", "id": "securitycenter.organizations.assets.updateSecurityMarks", @@ -318,20 +305,17 @@ ], "parameters": { "name": { - "description": "The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: \"organizations/{organization_id}/assets/{asset_id}/securityMarks\" \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks\".", "location": "path", "pattern": "^organizations/[^/]+/assets/[^/]+/securityMarks$", "required": true, "type": "string" }, "startTime": { - "description": "The time at which the updated SecurityMarks take effect.", "format": "google-datetime", "location": "query", "type": "string" }, "updateMask": { - "description": "The FieldMask to use when updating the security marks resource.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -353,7 +337,7 @@ "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`.", + "description": "", "flatPath": "v1beta1/organizations/{organizationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "securitycenter.organizations.operations.cancel", @@ -362,7 +346,6 @@ ], "parameters": { "name": { - "description": "The name of the operation resource to be cancelled.", "location": "path", "pattern": "^organizations/[^/]+/operations/[^/]+$", "required": true, @@ -381,7 +364,7 @@ ] }, "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`.", + "description": "", "flatPath": "v1beta1/organizations/{organizationsId}/operations/{operationsId}", "httpMethod": "DELETE", "id": "securitycenter.organizations.operations.delete", @@ -390,7 +373,6 @@ ], "parameters": { "name": { - "description": "The name of the operation resource to be deleted.", "location": "path", "pattern": "^organizations/[^/]+/operations/[^/]+$", "required": true, @@ -406,7 +388,7 @@ ] }, "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.", + "description": "", "flatPath": "v1beta1/organizations/{organizationsId}/operations/{operationsId}", "httpMethod": "GET", "id": "securitycenter.organizations.operations.get", @@ -415,7 +397,6 @@ ], "parameters": { "name": { - "description": "The name of the operation resource.", "location": "path", "pattern": "^organizations/[^/]+/operations/[^/]+$", "required": true, @@ -431,7 +412,7 @@ ] }, "list": { - "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", + "description": "", "flatPath": "v1beta1/organizations/{organizationsId}/operations", "httpMethod": "GET", "id": "securitycenter.organizations.operations.list", @@ -440,30 +421,25 @@ ], "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/[^/]+/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" }, "returnPartialSuccess": { - "description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `\"projects/example/locations/-\"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.", "location": "query", "type": "boolean" } @@ -481,7 +457,7 @@ "sources": { "methods": { "create": { - "description": "Creates a source.", + "description": "", "flatPath": "v1beta1/organizations/{organizationsId}/sources", "httpMethod": "POST", "id": "securitycenter.organizations.sources.create", @@ -490,7 +466,6 @@ ], "parameters": { "parent": { - "description": "Required. Resource name of the new source's parent. Its format should be \"organizations/[organization_id]\".", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, @@ -509,7 +484,7 @@ ] }, "get": { - "description": "Gets a source.", + "description": "", "flatPath": "v1beta1/organizations/{organizationsId}/sources/{sourcesId}", "httpMethod": "GET", "id": "securitycenter.organizations.sources.get", @@ -518,7 +493,6 @@ ], "parameters": { "name": { - "description": "Required. Relative resource name of the source. Its format is \"organizations/[organization_id]/source/[source_id]\".", "location": "path", "pattern": "^organizations/[^/]+/sources/[^/]+$", "required": true, @@ -534,7 +508,7 @@ ] }, "getIamPolicy": { - "description": "Gets the access control policy on the specified Source.", + "description": "", "flatPath": "v1beta1/organizations/{organizationsId}/sources/{sourcesId}:getIamPolicy", "httpMethod": "POST", "id": "securitycenter.organizations.sources.getIamPolicy", @@ -543,7 +517,6 @@ ], "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": "^organizations/[^/]+/sources/[^/]+$", "required": true, @@ -562,7 +535,7 @@ ] }, "list": { - "description": "Lists all sources belonging to an organization.", + "description": "", "flatPath": "v1beta1/organizations/{organizationsId}/sources", "httpMethod": "GET", "id": "securitycenter.organizations.sources.list", @@ -571,18 +544,15 @@ ], "parameters": { "pageSize": { - "description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "The value returned by the last `ListSourcesResponse`; indicates that this is a continuation of a prior `ListSources` call, and that the system should return the next page of data.", "location": "query", "type": "string" }, "parent": { - "description": "Required. Resource name of the parent of sources to list. Its format should be \"organizations/[organization_id]\".", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, @@ -598,7 +568,7 @@ ] }, "patch": { - "description": "Updates a source.", + "description": "", "flatPath": "v1beta1/organizations/{organizationsId}/sources/{sourcesId}", "httpMethod": "PATCH", "id": "securitycenter.organizations.sources.patch", @@ -607,14 +577,12 @@ ], "parameters": { "name": { - "description": "The relative resource name of this source. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: \"organizations/{organization_id}/sources/{source_id}\"", "location": "path", "pattern": "^organizations/[^/]+/sources/[^/]+$", "required": true, "type": "string" }, "updateMask": { - "description": "The FieldMask to use when updating the source resource.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -632,7 +600,7 @@ ] }, "setIamPolicy": { - "description": "Sets the access control policy on the specified Source.", + "description": "", "flatPath": "v1beta1/organizations/{organizationsId}/sources/{sourcesId}:setIamPolicy", "httpMethod": "POST", "id": "securitycenter.organizations.sources.setIamPolicy", @@ -641,7 +609,6 @@ ], "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": "^organizations/[^/]+/sources/[^/]+$", "required": true, @@ -660,7 +627,7 @@ ] }, "testIamPermissions": { - "description": " Returns the permissions that a caller has on the specified source.", + "description": "", "flatPath": "v1beta1/organizations/{organizationsId}/sources/{sourcesId}:testIamPermissions", "httpMethod": "POST", "id": "securitycenter.organizations.sources.testIamPermissions", @@ -669,7 +636,6 @@ ], "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": "^organizations/[^/]+/sources/[^/]+$", "required": true, @@ -692,7 +658,7 @@ "findings": { "methods": { "create": { - "description": "Creates a finding. The corresponding source must exist for finding creation to succeed.", + "description": "", "flatPath": "v1beta1/organizations/{organizationsId}/sources/{sourcesId}/findings", "httpMethod": "POST", "id": "securitycenter.organizations.sources.findings.create", @@ -701,12 +667,10 @@ ], "parameters": { "findingId": { - "description": "Required. Unique identifier provided by the client within the parent scope. It must be alphanumeric and less than or equal to 32 characters and greater than 0 characters in length.", "location": "query", "type": "string" }, "parent": { - "description": "Required. Resource name of the new finding's parent. Its format should be \"organizations/[organization_id]/sources/[source_id]\".", "location": "path", "pattern": "^organizations/[^/]+/sources/[^/]+$", "required": true, @@ -725,7 +689,7 @@ ] }, "group": { - "description": "Filters an organization or source's findings and groups them by their specified properties. To group across all sources provide a `-` as the source id. Example: /v1beta1/organizations/{organization_id}/sources/-/findings", + "description": "", "flatPath": "v1beta1/organizations/{organizationsId}/sources/{sourcesId}/findings:group", "httpMethod": "POST", "id": "securitycenter.organizations.sources.findings.group", @@ -734,7 +698,6 @@ ], "parameters": { "parent": { - "description": "Required. Name of the source to groupBy. Its format is \"organizations/[organization_id]/sources/[source_id]\". To groupBy across all sources provide a source_id of `-`. For example: organizations/{organization_id}/sources/-", "location": "path", "pattern": "^organizations/[^/]+/sources/[^/]+$", "required": true, @@ -753,7 +716,7 @@ ] }, "list": { - "description": "Lists an organization or source's findings. To list across all sources provide a `-` as the source id. Example: /v1beta1/organizations/{organization_id}/sources/-/findings", + "description": "", "flatPath": "v1beta1/organizations/{organizationsId}/sources/{sourcesId}/findings", "httpMethod": "GET", "id": "securitycenter.organizations.sources.findings.list", @@ -762,41 +725,34 @@ ], "parameters": { "fieldMask": { - "description": "Optional. A field mask to specify the Finding fields to be listed in the response. An empty field mask will list all fields.", "format": "google-fieldmask", "location": "query", "type": "string" }, "filter": { - "description": "Expression that defines the filter to apply across findings. The expression is a list of one or more restrictions combined via logical operators `AND` and `OR`. Parentheses are not supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. Examples include: * name * source_properties.a_property * security_marks.marks.marka The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. For example, `source_properties.size = 100` is a valid filter string.", "location": "query", "type": "string" }, "orderBy": { - "description": "Expression that defines what fields and order to use for sorting. The string value should follow SQL syntax: comma separated list of fields. For example: \"name,resource_properties.a_property\". The default sorting order is ascending. To specify descending order for a field, a suffix \" desc\" should be appended to the field name. For example: \"name desc,source_properties.a_property\". Redundant space characters in the syntax are insignificant. \"name desc,source_properties.a_property\" and \" name desc , source_properties.a_property \" are equivalent.", "location": "query", "type": "string" }, "pageSize": { - "description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "The value returned by the last `ListFindingsResponse`; indicates that this is a continuation of a prior `ListFindings` call, and that the system should return the next page of data.", "location": "query", "type": "string" }, "parent": { - "description": "Required. Name of the source the findings belong to. Its format is \"organizations/[organization_id]/sources/[source_id]\". To list across all sources provide a source_id of `-`. For example: organizations/{organization_id}/sources/-", "location": "path", "pattern": "^organizations/[^/]+/sources/[^/]+$", "required": true, "type": "string" }, "readTime": { - "description": "Time used as a reference point when filtering findings. The filter is limited to findings existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW.", "format": "google-datetime", "location": "query", "type": "string" @@ -811,7 +767,7 @@ ] }, "patch": { - "description": "Creates or updates a finding. The corresponding source must exist for a finding creation to succeed.", + "description": "", "flatPath": "v1beta1/organizations/{organizationsId}/sources/{sourcesId}/findings/{findingsId}", "httpMethod": "PATCH", "id": "securitycenter.organizations.sources.findings.patch", @@ -820,14 +776,12 @@ ], "parameters": { "name": { - "description": "The relative resource name of this finding. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}\"", "location": "path", "pattern": "^organizations/[^/]+/sources/[^/]+/findings/[^/]+$", "required": true, "type": "string" }, "updateMask": { - "description": "The FieldMask to use when updating the finding resource. This field should not be specified when creating a finding.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -845,7 +799,7 @@ ] }, "setState": { - "description": "Updates the state of a finding.", + "description": "", "flatPath": "v1beta1/organizations/{organizationsId}/sources/{sourcesId}/findings/{findingsId}:setState", "httpMethod": "POST", "id": "securitycenter.organizations.sources.findings.setState", @@ -854,7 +808,6 @@ ], "parameters": { "name": { - "description": "Required. The relative resource name of the finding. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: \"organizations/{organization_id}/sources/{source_id}/finding/{finding_id}\".", "location": "path", "pattern": "^organizations/[^/]+/sources/[^/]+/findings/[^/]+$", "required": true, @@ -873,7 +826,7 @@ ] }, "updateSecurityMarks": { - "description": "Updates security marks.", + "description": "", "flatPath": "v1beta1/organizations/{organizationsId}/sources/{sourcesId}/findings/{findingsId}/securityMarks", "httpMethod": "PATCH", "id": "securitycenter.organizations.sources.findings.updateSecurityMarks", @@ -882,20 +835,17 @@ ], "parameters": { "name": { - "description": "The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: \"organizations/{organization_id}/assets/{asset_id}/securityMarks\" \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks\".", "location": "path", "pattern": "^organizations/[^/]+/sources/[^/]+/findings/[^/]+/securityMarks$", "required": true, "type": "string" }, "startTime": { - "description": "The time at which the updated SecurityMarks take effect.", "format": "google-datetime", "location": "query", "type": "string" }, "updateMask": { - "description": "The FieldMask to use when updating the security marks resource.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -919,104 +869,82 @@ } } }, - "revision": "20260424", + "revision": "20260526", "rootUrl": "https://securitycenter.googleapis.com/", "schemas": { "Access": { - "description": "Represents an access event.", "id": "Access", "properties": { "callerIp": { - "description": "Caller's IP address, such as \"1.1.1.1\".", "type": "string" }, "callerIpGeo": { - "$ref": "Geolocation", - "description": "The caller IP's geolocation, which identifies where the call came from." + "$ref": "Geolocation" }, "methodName": { - "description": "The method that the service account called, e.g. \"SetIamPolicy\".", "type": "string" }, "principalEmail": { - "description": "Associated email, such as \"foo@google.com\". The email address of the authenticated user or a service account acting on behalf of a third party principal making the request. For third party identity callers, the `principal_subject` field is populated instead of this field. For privacy reasons, the principal email address is sometimes redacted. For more information, see [Caller identities in audit logs](https://cloud.google.com/logging/docs/audit#user-id).", "type": "string" }, "principalSubject": { - "description": "A string that represents the principal_subject that is associated with the identity. Unlike `principal_email`, `principal_subject` supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format is `principal://iam.googleapis.com/{identity pool name}/subject/{subject}`. Some GKE identities, such as GKE_WORKLOAD, FREEFORM, and GKE_HUB_WORKLOAD, still use the legacy format `serviceAccount:{identity pool name}[{subject}]`.", "type": "string" }, "serviceAccountDelegationInfo": { - "description": "The identity delegation history of an authenticated service account that made the request. The `serviceAccountDelegationInfo[]` object contains information about the real authorities that try to access Google Cloud resources by delegating on a service account. When multiple authorities are present, they are guaranteed to be sorted based on the original ordering of the identity delegation events.", "items": { "$ref": "ServiceAccountDelegationInfo" }, "type": "array" }, "serviceAccountKeyName": { - "description": "The name of the service account key that was used to create or exchange credentials when authenticating the service account that made the request. This is a scheme-less URI full resource name. For example: \"//iam.googleapis.com/projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}\". ", "type": "string" }, "serviceName": { - "description": "This is the API service that the service account made a call to, e.g. \"iam.googleapis.com\"", "type": "string" }, "userAgent": { - "description": "The caller's user agent string associated with the finding.", "type": "string" }, "userAgentFamily": { - "description": "Type of user agent associated with the finding. For example, an operating system shell or an embedded or standalone application.", "type": "string" }, "userName": { - "description": "A string that represents a username. The username provided depends on the type of the finding and is likely not an IAM principal. For example, this can be a system username if the finding is related to a virtual machine, or it can be an application login username.", "type": "string" } }, "type": "object" }, "AccessReview": { - "description": "Conveys information about a Kubernetes access review (such as one returned by a [`kubectl auth can-i`](https://kubernetes.io/docs/reference/access-authn-authz/authorization/#checking-api-access) command) that was involved in a finding.", "id": "AccessReview", "properties": { "group": { - "description": "The API group of the resource. \"*\" means all.", "type": "string" }, "name": { - "description": "The name of the resource being requested. Empty means all.", "type": "string" }, "ns": { - "description": "Namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces. Both are represented by \"\" (empty).", "type": "string" }, "resource": { - "description": "The optional resource type requested. \"*\" means all.", "type": "string" }, "subresource": { - "description": "The optional subresource type.", "type": "string" }, "verb": { - "description": "A Kubernetes resource API verb, like get, list, watch, create, update, delete, proxy. \"*\" means all.", "type": "string" }, "version": { - "description": "The API version of the resource. \"*\" means all.", "type": "string" } }, "type": "object" }, "AdaptiveProtection": { - "description": "Information about [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-protection).", "id": "AdaptiveProtection", "properties": { "confidence": { - "description": "A score of 0 means that there is low confidence that the detected event is an actual attack. A score of 1 means that there is high confidence that the detected event is an attack. See the [Adaptive Protection documentation](https://cloud.google.com/armor/docs/adaptive-protection-overview#configure-alert-tuning) for further explanation.", "format": "double", "type": "number" } @@ -1024,48 +952,39 @@ "type": "object" }, "AdcApplication": { - "description": "Represents an ADC application associated with the finding.", "id": "AdcApplication", "properties": { "attributes": { - "$ref": "GoogleCloudSecuritycenterV1ResourceApplicationAttributes", - "description": "Consumer provided attributes for the AppHub application." + "$ref": "GoogleCloudSecuritycenterV1ResourceApplicationAttributes" }, "name": { - "description": "The resource name of an ADC Application. Format: projects/{project}/locations/{location}/spaces/{space}/applications/{application}", "type": "string" } }, "type": "object" }, "AdcApplicationTemplateRevision": { - "description": "Represents an ADC template associated with the finding.", "id": "AdcApplicationTemplateRevision", "properties": { "name": { - "description": "The resource name of an ADC Application Template Revision. Format: projects/{project}/locations/{location}/spaces/{space}/applicationTemplates/{application_template}/revisions/{revision}", "type": "string" } }, "type": "object" }, "AdcSharedTemplateRevision": { - "description": "Represents an ADC shared template associated with the finding.", "id": "AdcSharedTemplateRevision", "properties": { "name": { - "description": "The resource name of an ADC Shared Template Revision. Format: projects/{project}/locations/{location}/spaces/{space}/applicationTemplates/{application_template}/revisions/{revision}", "type": "string" } }, "type": "object" }, "AffectedResources": { - "description": "Details about resources affected by this finding.", "id": "AffectedResources", "properties": { "count": { - "description": "The count of resources affected by the finding.", "format": "int64", "type": "string" } @@ -1073,20 +992,16 @@ "type": "object" }, "AgentDataAccessEvent": { - "description": "Details about a data access attempt made by an agent principal not authorized under applicable data security policy.", "id": "AgentDataAccessEvent", "properties": { "eventId": { - "description": "Unique identifier for data access event.", "type": "string" }, "eventTime": { - "description": "Timestamp of data access event.", "format": "google-datetime", "type": "string" }, "operation": { - "description": "The operation performed by the principal to access the data.", "enum": [ "OPERATION_UNSPECIFIED", "READ", @@ -1094,26 +1009,23 @@ "COPY" ], "enumDescriptions": [ - "The operation is unspecified.", - "Represents a read operation.", - "Represents a move operation.", - "Represents a copy operation." + "", + "", + "", + "" ], "type": "string" }, "principalSubject": { - "description": "The agent principal that accessed the data.", "type": "string" } }, "type": "object" }, "AiModel": { - "description": "Contains information about the AI model associated with the finding.", "id": "AiModel", "properties": { "deploymentPlatform": { - "description": "The platform on which the model is deployed.", "enum": [ "DEPLOYMENT_PLATFORM_UNSPECIFIED", "VERTEX_AI", @@ -1122,51 +1034,42 @@ "FINE_TUNED_MODEL" ], "enumDescriptions": [ - "Unspecified deployment platform.", - "Vertex AI.", - "Google Kubernetes Engine.", - "Google Compute Engine.", - "Fine tuned model." + "", + "", + "", + "", + "" ], "type": "string" }, "displayName": { - "description": "The user defined display name of model. Ex. baseline-classification-model", "type": "string" }, "domain": { - "description": "The domain of the model, for example, “image-classification”.", "type": "string" }, "library": { - "description": "The name of the model library, for example, “transformers”.", "type": "string" }, "location": { - "description": "The region in which the model is used, for example, “us-central1”.", "type": "string" }, "name": { - "description": "The name of the AI model, for example, \"gemini:1.0.0\".", "type": "string" }, "publisher": { - "description": "The publisher of the model, for example, “google” or “nvidia”.", "type": "string" }, "usageCategory": { - "description": "The purpose of the model, for example, \"Inteference\" or \"Training\".", "type": "string" } }, "type": "object" }, "Allowed": { - "description": "Allowed IP rule.", "id": "Allowed", "properties": { "ipRules": { - "description": "Optional. Optional list of allowed IP rules.", "items": { "$ref": "IpRule" }, @@ -1176,59 +1079,49 @@ "type": "object" }, "Application": { - "description": "Represents an application associated with a finding.", "id": "Application", "properties": { "baseUri": { - "description": "The base URI that identifies the network location of the application in which the vulnerability was detected. For example, `http://example.com`.", "type": "string" }, "fullUri": { - "description": "The full URI with payload that can be used to reproduce the vulnerability. For example, `http://example.com?p=aMmYgI6H`.", "type": "string" } }, "type": "object" }, "ArtifactGuardPolicies": { - "description": "Represents the result of evaluating artifact guard policies.", "id": "ArtifactGuardPolicies", "properties": { "failingPolicies": { - "description": "A list of failing policies.", "items": { "$ref": "ArtifactGuardPolicy" }, "type": "array" }, "resourceId": { - "description": "The ID of the resource that has policies configured for it.", "type": "string" } }, "type": "object" }, "ArtifactGuardPolicy": { - "description": "Represents an artifact guard policy.", "id": "ArtifactGuardPolicy", "properties": { "failureReason": { - "description": "The reason for the policy failure, for example, \"severity=HIGH AND max_vuln_count=2\".", "type": "string" }, "policyId": { - "description": "The ID of the failing policy, for example, \"organizations/3392779/locations/global/policies/prod-policy\".", "type": "string" }, "type": { - "description": "The type of the policy evaluation.", "enum": [ "ARTIFACT_GUARD_POLICY_TYPE_UNSPECIFIED", "VULNERABILITY" ], "enumDescriptions": [ - "Default value. This value is unused.", - "Vulnerability type." + "", + "" ], "type": "string" } @@ -1236,35 +1129,28 @@ "type": "object" }, "Asset": { - "description": "Security Command Center representation of a Google Cloud resource. The Asset is a Security Command Center resource that captures information about a single Google Cloud resource. All modifications to an Asset are only within the context of Security Command Center and don't affect the referenced Google Cloud resource.", "id": "Asset", "properties": { "createTime": { - "description": "The time at which the asset was created in Security Command Center.", "format": "google-datetime", "type": "string" }, "name": { - "description": "The relative resource name of this asset. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: \"organizations/{organization_id}/assets/{asset_id}\".", "type": "string" }, "resourceProperties": { "additionalProperties": { "type": "any" }, - "description": "Resource managed properties. These properties are managed and defined by the Google Cloud resource and cannot be modified by the user.", "type": "object" }, "securityCenterProperties": { - "$ref": "SecurityCenterProperties", - "description": "Security Command Center managed properties. These properties are managed by Security Command Center and cannot be modified by the user." + "$ref": "SecurityCenterProperties" }, "securityMarks": { - "$ref": "GoogleCloudSecuritycenterV1beta1SecurityMarks", - "description": "User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the asset." + "$ref": "GoogleCloudSecuritycenterV1beta1SecurityMarks" }, "updateTime": { - "description": "The time at which the asset was last updated, added, or deleted in Security Command Center.", "format": "google-datetime", "type": "string" } @@ -1272,25 +1158,22 @@ "type": "object" }, "AssetDiscoveryConfig": { - "description": "The configuration used for Asset Discovery runs.", "id": "AssetDiscoveryConfig", "properties": { "inclusionMode": { - "description": "The mode to use for filtering asset discovery.", "enum": [ "INCLUSION_MODE_UNSPECIFIED", "INCLUDE_ONLY", "EXCLUDE" ], "enumDescriptions": [ - "Unspecified. Setting the mode with this value will disable inclusion/exclusion filtering for Asset Discovery.", - "Asset Discovery will capture only the resources within the projects specified. All other resources will be ignored.", - "Asset Discovery will ignore all resources under the projects specified. All other resources will be retrieved." + "", + "", + "" ], "type": "string" }, "projectIds": { - "description": "The project ids to use for filtering asset discovery.", "items": { "type": "string" }, @@ -1300,32 +1183,26 @@ "type": "object" }, "Attack": { - "description": "Information about DDoS attack volume and classification.", "id": "Attack", "properties": { "classification": { - "description": "Type of attack, for example, 'SYN-flood', 'NTP-udp', or 'CHARGEN-udp'.", "type": "string" }, "volumeBps": { "deprecated": true, - "description": "Total BPS (bytes per second) volume of attack. Deprecated - refer to volume_bps_long instead.", "format": "int32", "type": "integer" }, "volumeBpsLong": { - "description": "Total BPS (bytes per second) volume of attack.", "format": "int64", "type": "string" }, "volumePps": { "deprecated": true, - "description": "Total PPS (packets per second) volume of attack. Deprecated - refer to volume_pps_long instead.", "format": "int32", "type": "integer" }, "volumePpsLong": { - "description": "Total PPS (packets per second) volume of attack.", "format": "int64", "type": "string" } @@ -1333,49 +1210,41 @@ "type": "object" }, "AttackExposure": { - "description": "An attack exposure contains the results of an attack path simulation run.", "id": "AttackExposure", "properties": { "attackExposureResult": { - "description": "The resource name of the attack path simulation result that contains the details regarding this attack exposure score. Example: `organizations/123/simulations/456/attackExposureResults/789`", "type": "string" }, "exposedHighValueResourcesCount": { - "description": "The number of high value resources that are exposed as a result of this finding.", "format": "int32", "type": "integer" }, "exposedLowValueResourcesCount": { - "description": "The number of high value resources that are exposed as a result of this finding.", "format": "int32", "type": "integer" }, "exposedMediumValueResourcesCount": { - "description": "The number of medium value resources that are exposed as a result of this finding.", "format": "int32", "type": "integer" }, "latestCalculationTime": { - "description": "The most recent time the attack exposure was updated on this finding.", "format": "google-datetime", "type": "string" }, "score": { - "description": "A number between 0 (inclusive) and infinity that represents how important this finding is to remediate. The higher the score, the more important it is to remediate.", "format": "double", "type": "number" }, "state": { - "description": "What state this AttackExposure is in. This captures whether or not an attack exposure has been calculated or not.", "enum": [ "STATE_UNSPECIFIED", "CALCULATED", "NOT_CALCULATED" ], "enumDescriptions": [ - "The state is not specified.", - "The attack exposure has been calculated.", - "The attack exposure has not been calculated." + "", + "", + "" ], "type": "string" } @@ -1383,36 +1252,30 @@ "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", @@ -1420,10 +1283,10 @@ "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" } @@ -1431,34 +1294,27 @@ "type": "object" }, "AwsAccount": { - "description": "An AWS account that is a member of an organization.", "id": "AwsAccount", "properties": { "id": { - "description": "The unique identifier (ID) of the account, containing exactly 12 digits.", "type": "string" }, "name": { - "description": "The friendly name of this account.", "type": "string" } }, "type": "object" }, "AwsMetadata": { - "description": "AWS metadata associated with the resource, only applicable if the finding's cloud provider is Amazon Web Services.", "id": "AwsMetadata", "properties": { "account": { - "$ref": "AwsAccount", - "description": "The AWS account associated with the resource." + "$ref": "AwsAccount" }, "organization": { - "$ref": "AwsOrganization", - "description": "The AWS organization associated with the resource." + "$ref": "AwsOrganization" }, "organizationalUnits": { - "description": "A list of AWS organizational units associated with the resource, ordered from lowest level (closest to the account) to highest level.", "items": { "$ref": "AwsOrganizationalUnit" }, @@ -1468,219 +1324,177 @@ "type": "object" }, "AwsOrganization": { - "description": "An organization is a collection of accounts that are centrally managed together using consolidated billing, organized hierarchically with organizational units (OUs), and controlled with policies.", "id": "AwsOrganization", "properties": { "id": { - "description": "The unique identifier (ID) for the organization. The regex pattern for an organization ID string requires \"o-\" followed by from 10 to 32 lowercase letters or digits.", "type": "string" } }, "type": "object" }, "AwsOrganizationalUnit": { - "description": "An Organizational Unit (OU) is a container of AWS accounts within a root of an organization. Policies that are attached to an OU apply to all accounts contained in that OU and in any child OUs.", "id": "AwsOrganizationalUnit", "properties": { "id": { - "description": "The unique identifier (ID) associated with this OU. The regex pattern for an organizational unit ID string requires \"ou-\" followed by from 4 to 32 lowercase letters or digits (the ID of the root that contains the OU). This string is followed by a second \"-\" dash and from 8 to 32 additional lowercase letters or digits. For example, \"ou-ab12-cd34ef56\".", "type": "string" }, "name": { - "description": "The friendly name of the OU.", "type": "string" } }, "type": "object" }, "AzureManagementGroup": { - "description": "Represents an Azure management group.", "id": "AzureManagementGroup", "properties": { "displayName": { - "description": "The display name of the Azure management group.", "type": "string" }, "id": { - "description": "The UUID of the Azure management group, for example, `20000000-0001-0000-0000-000000000000`.", "type": "string" } }, "type": "object" }, "AzureMetadata": { - "description": "Azure metadata associated with the resource, only applicable if the finding's cloud provider is Microsoft Azure.", "id": "AzureMetadata", "properties": { "managementGroups": { - "description": "A list of Azure management groups associated with the resource, ordered from lowest level (closest to the subscription) to highest level.", "items": { "$ref": "AzureManagementGroup" }, "type": "array" }, "resourceGroup": { - "$ref": "AzureResourceGroup", - "description": "The Azure resource group associated with the resource." + "$ref": "AzureResourceGroup" }, "subscription": { - "$ref": "AzureSubscription", - "description": "The Azure subscription associated with the resource." + "$ref": "AzureSubscription" }, "tenant": { - "$ref": "AzureTenant", - "description": "The Azure Entra tenant associated with the resource." + "$ref": "AzureTenant" } }, "type": "object" }, "AzureResourceGroup": { - "description": "Represents an Azure resource group.", "id": "AzureResourceGroup", "properties": { "id": { - "description": "The ID of the Azure resource group.", "type": "string" }, "name": { - "description": "The name of the Azure resource group. This is not a UUID.", "type": "string" } }, "type": "object" }, "AzureSubscription": { - "description": "Represents an Azure subscription.", "id": "AzureSubscription", "properties": { "displayName": { - "description": "The display name of the Azure subscription.", "type": "string" }, "id": { - "description": "The UUID of the Azure subscription, for example, `291bba3f-e0a5-47bc-a099-3bdcb2a50a05`.", "type": "string" } }, "type": "object" }, "AzureTenant": { - "description": "Represents a Microsoft Entra tenant.", "id": "AzureTenant", "properties": { "displayName": { - "description": "The display name of the Azure tenant.", "type": "string" }, "id": { - "description": "The ID of the Microsoft Entra tenant, for example, \"a11aaa11-aa11-1aa1-11aa-1aaa11a\".", "type": "string" } }, "type": "object" }, "BackupDisasterRecovery": { - "description": "Information related to Google Cloud Backup and DR Service findings.", "id": "BackupDisasterRecovery", "properties": { "appliance": { - "description": "The name of the Backup and DR appliance that captures, moves, and manages the lifecycle of backup data. For example, `backup-server-57137`.", "type": "string" }, "applications": { - "description": "The names of Backup and DR applications. An application is a VM, database, or file system on a managed host monitored by a backup and recovery appliance. For example, `centos7-01-vol00`, `centos7-01-vol01`, `centos7-01-vol02`.", "items": { "type": "string" }, "type": "array" }, "backupCreateTime": { - "description": "The timestamp at which the Backup and DR backup was created.", "format": "google-datetime", "type": "string" }, "backupTemplate": { - "description": "The name of a Backup and DR template which comprises one or more backup policies. See the [Backup and DR documentation](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#temp) for more information. For example, `snap-ov`.", "type": "string" }, "backupType": { - "description": "The backup type of the Backup and DR image. For example, `Snapshot`, `Remote Snapshot`, `OnVault`.", "type": "string" }, "host": { - "description": "The name of a Backup and DR host, which is managed by the backup and recovery appliance and known to the management console. The host can be of type Generic (for example, Compute Engine, SQL Server, Oracle DB, SMB file system, etc.), vCenter, or an ESX server. See the [Backup and DR documentation on hosts](https://cloud.google.com/backup-disaster-recovery/docs/configuration/manage-hosts-and-their-applications) for more information. For example, `centos7-01`.", "type": "string" }, "policies": { - "description": "The names of Backup and DR policies that are associated with a template and that define when to run a backup, how frequently to run a backup, and how long to retain the backup image. For example, `onvaults`.", "items": { "type": "string" }, "type": "array" }, "policyOptions": { - "description": "The names of Backup and DR advanced policy options of a policy applying to an application. See the [Backup and DR documentation on policy options](https://cloud.google.com/backup-disaster-recovery/docs/create-plan/policy-settings). For example, `skipofflineappsincongrp, nounmap`.", "items": { "type": "string" }, "type": "array" }, "profile": { - "description": "The name of the Backup and DR resource profile that specifies the storage media for backups of application and VM data. See the [Backup and DR documentation on profiles](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#profile). For example, `GCP`.", "type": "string" }, "storagePool": { - "description": "The name of the Backup and DR storage pool that the backup and recovery appliance is storing data in. The storage pool could be of type Cloud, Primary, Snapshot, or OnVault. See the [Backup and DR documentation on storage pools](https://cloud.google.com/backup-disaster-recovery/docs/concepts/storage-pools). For example, `DiskPoolOne`.", "type": "string" } }, "type": "object" }, "BigQueryDestination": { - "description": "The destination BigQuery dataset to export findings to.", "id": "BigQueryDestination", "properties": { "dataset": { - "description": "Required. The relative resource name of the destination dataset, in the form projects/{projectId}/datasets/{datasetId}.", "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)." + "$ref": "Expr" }, "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" }, "Chokepoint": { - "description": "Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations).", "id": "Chokepoint", "properties": { "relatedFindings": { - "description": "List of resource names of findings associated with this chokepoint. For example, organizations/123/sources/456/findings/789. This list will have at most 100 findings.", "items": { "type": "string" }, @@ -1690,65 +1504,53 @@ "type": "object" }, "CloudArmor": { - "description": "Fields related to Google Cloud Armor findings.", "id": "CloudArmor", "properties": { "adaptiveProtection": { - "$ref": "AdaptiveProtection", - "description": "Information about potential Layer 7 DDoS attacks identified by [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/adaptive-protection-overview)." + "$ref": "AdaptiveProtection" }, "attack": { - "$ref": "Attack", - "description": "Information about DDoS attack volume and classification." + "$ref": "Attack" }, "duration": { - "description": "Duration of attack from the start until the current moment (updated every 5 minutes).", "format": "google-duration", "type": "string" }, "requests": { - "$ref": "Requests", - "description": "Information about incoming requests evaluated by [Google Cloud Armor security policies](https://cloud.google.com/armor/docs/security-policy-overview)." + "$ref": "Requests" }, "securityPolicy": { - "$ref": "SecurityPolicy", - "description": "Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding." + "$ref": "SecurityPolicy" }, "threatVector": { - "description": "Distinguish between volumetric & protocol DDoS attack and application layer attacks. For example, \"L3_4\" for Layer 3 and Layer 4 DDoS attacks, or \"L_7\" for Layer 7 DDoS attacks.", "type": "string" } }, "type": "object" }, "CloudControl": { - "description": "CloudControl associated with the finding.", "id": "CloudControl", "properties": { "cloudControlName": { - "description": "Name of the CloudControl associated with the finding.", "type": "string" }, "policyType": { - "description": "Policy type of the CloudControl", "type": "string" }, "type": { - "description": "Type of cloud control.", "enum": [ "CLOUD_CONTROL_TYPE_UNSPECIFIED", "BUILT_IN", "CUSTOM" ], "enumDescriptions": [ - "Unspecified.", - "Built in Cloud Control.", - "Custom Cloud Control." + "", + "", + "" ], "type": "string" }, "version": { - "description": "Version of the Cloud Control", "format": "int32", "type": "integer" } @@ -1756,31 +1558,27 @@ "type": "object" }, "CloudDlpDataProfile": { - "description": "The [data profile](https://cloud.google.com/dlp/docs/data-profiles) associated with the finding.", "id": "CloudDlpDataProfile", "properties": { "dataProfile": { - "description": "Name of the data profile, for example, `projects/123/locations/europe/tableProfiles/8383929`.", "type": "string" }, "infoTypes": { - "description": "Type of information detected by SDP. Info type includes name, version and sensitivity of the detected information type.", "items": { "$ref": "InfoType" }, "type": "array" }, "parentType": { - "description": "The resource hierarchy level at which the data profile was generated.", "enum": [ "PARENT_TYPE_UNSPECIFIED", "ORGANIZATION", "PROJECT" ], "enumDescriptions": [ - "Unspecified parent type.", - "Organization-level configurations.", - "Project-level configurations." + "", + "", + "" ], "type": "string" } @@ -1788,47 +1586,37 @@ "type": "object" }, "CloudDlpInspection": { - "description": "Details about the Cloud Data Loss Prevention (Cloud DLP) [inspection job](https://cloud.google.com/dlp/docs/concepts-job-triggers) that produced the finding.", "id": "CloudDlpInspection", "properties": { "fullScan": { - "description": "Whether Cloud DLP scanned the complete resource or a sampled subset.", "type": "boolean" }, "infoType": { - "description": "The type of information (or *[infoType](https://cloud.google.com/dlp/docs/infotypes-reference)*) found, for example, `EMAIL_ADDRESS` or `STREET_ADDRESS`.", "type": "string" }, "infoTypeCount": { - "description": "The number of times Cloud DLP found this infoType within this job and resource.", "format": "int64", "type": "string" }, "inspectJob": { - "description": "Name of the inspection job, for example, `projects/123/locations/europe/dlpJobs/i-8383929`.", "type": "string" } }, "type": "object" }, "CloudLoggingEntry": { - "description": "Metadata taken from a [Cloud Logging LogEntry](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry)", "id": "CloudLoggingEntry", "properties": { "insertId": { - "description": "A unique identifier for the log entry.", "type": "string" }, "logId": { - "description": "The type of the log (part of `log_name`. `log_name` is the resource name of the log to which this log entry belongs). For example: `cloudresourcemanager.googleapis.com/activity`. Note that this field is not URL-encoded, unlike the `LOG_ID` field in `LogEntry`.", "type": "string" }, "resourceContainer": { - "description": "The organization, folder, or project of the monitored resource that produced this log entry.", "type": "string" }, "timestamp": { - "description": "The time the event described by the log entry occurred.", "format": "google-datetime", "type": "string" } @@ -1836,44 +1624,36 @@ "type": "object" }, "Compliance": { - "description": "Contains compliance information about a security standard indicating unmet recommendations.", "id": "Compliance", "properties": { "ids": { - "description": "Policies within the standard or benchmark, for example, A.12.4.1", "items": { "type": "string" }, "type": "array" }, "standard": { - "description": "Industry-wide compliance standards or benchmarks, such as CIS, PCI, and OWASP.", "type": "string" }, "version": { - "description": "Version of the standard or benchmark, for example, 1.1", "type": "string" } }, "type": "object" }, "ComplianceDetails": { - "description": "Compliance Details associated with the finding.", "id": "ComplianceDetails", "properties": { "cloudControl": { - "$ref": "CloudControl", - "description": "CloudControl associated with the finding" + "$ref": "CloudControl" }, "cloudControlDeploymentNames": { - "description": "Cloud Control Deployments associated with the finding. For example, organizations/123/locations/global/cloudControlDeployments/deploymentIdentifier", "items": { "type": "string" }, "type": "array" }, "frameworks": { - "description": "Details of Frameworks associated with the finding", "items": { "$ref": "Framework" }, @@ -1883,20 +1663,16 @@ "type": "object" }, "Connection": { - "description": "Contains information about the IP connection associated with the finding.", "id": "Connection", "properties": { "destinationIp": { - "description": "Destination IP address. Not present for sockets that are listening and not connected.", "type": "string" }, "destinationPort": { - "description": "Destination port. Not present for sockets that are listening and not connected.", "format": "int32", "type": "integer" }, "protocol": { - "description": "IANA Internet Protocol Number such as TCP(6) and UDP(17).", "enum": [ "PROTOCOL_UNSPECIFIED", "ICMP", @@ -1906,21 +1682,19 @@ "ESP" ], "enumDescriptions": [ - "Unspecified protocol (not HOPOPT).", - "Internet Control Message Protocol.", - "Transmission Control Protocol.", - "User Datagram Protocol.", - "Generic Routing Encapsulation.", - "Encap Security Payload." + "", + "", + "", + "", + "", + "" ], "type": "string" }, "sourceIp": { - "description": "Source IP address.", "type": "string" }, "sourcePort": { - "description": "Source port.", "format": "int32", "type": "integer" } @@ -1928,22 +1702,18 @@ "type": "object" }, "Contact": { - "description": "The email address of a contact.", "id": "Contact", "properties": { "email": { - "description": "An email address. For example, \"`person123@company.com`\".", "type": "string" } }, "type": "object" }, "ContactDetails": { - "description": "Details about specific contacts", "id": "ContactDetails", "properties": { "contacts": { - "description": "A list of contacts", "items": { "$ref": "Contact" }, @@ -1953,66 +1723,53 @@ "type": "object" }, "Container": { - "description": "Container associated with the finding.", "id": "Container", "properties": { "createTime": { - "description": "The time that the container was created.", "format": "google-datetime", "type": "string" }, "imageId": { - "description": "Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest.", "type": "string" }, "labels": { - "description": "Container labels, as provided by the container runtime.", "items": { "$ref": "Label" }, "type": "array" }, "name": { - "description": "Name of the container.", "type": "string" }, "uri": { - "description": "Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags.", "type": "string" } }, "type": "object" }, "Control": { - "description": "Compliance control associated with the finding.", "id": "Control", "properties": { "controlName": { - "description": "Name of the Control", "type": "string" }, "displayName": { - "description": "Display name of the control. For example, AU-02.", "type": "string" } }, "type": "object" }, "Cve": { - "description": "CVE stands for Common Vulnerabilities and Exposures. Information from the [CVE record](https://www.cve.org/ResourcesSupport/Glossary) that describes this vulnerability.", "id": "Cve", "properties": { "cvssv3": { - "$ref": "Cvssv3", - "description": "Describe Common Vulnerability Scoring System specified at https://www.first.org/cvss/v3.1/specification-document" + "$ref": "Cvssv3" }, "exploitReleaseDate": { - "description": "Date the first publicly available exploit or PoC was released.", "format": "google-datetime", "type": "string" }, "exploitationActivity": { - "description": "The exploitation activity of the vulnerability in the wild.", "enum": [ "EXPLOITATION_ACTIVITY_UNSPECIFIED", "WIDE", @@ -2022,26 +1779,23 @@ "NO_KNOWN" ], "enumDescriptions": [ - "Invalid or empty value.", - "Exploitation has been reported or confirmed to widely occur.", - "Limited reported or confirmed exploitation activities.", - "Exploit is publicly available.", - "No known exploitation activity, but has a high potential for exploitation.", - "No known exploitation activity." + "", + "", + "", + "", + "", + "" ], "type": "string" }, "firstExploitationDate": { - "description": "Date of the earliest known exploitation.", "format": "google-datetime", "type": "string" }, "id": { - "description": "The unique identifier for the vulnerability. e.g. CVE-2021-34527", "type": "string" }, "impact": { - "description": "The potential impact of the vulnerability if it was to be exploited.", "enum": [ "RISK_RATING_UNSPECIFIED", "LOW", @@ -2050,56 +1804,49 @@ "CRITICAL" ], "enumDescriptions": [ - "Invalid or empty value.", - "Exploitation would have little to no security impact.", - "Exploitation would enable attackers to perform activities, or could allow attackers to have a direct impact, but would require additional steps.", - "Exploitation would enable attackers to have a notable direct impact without needing to overcome any major mitigating factors.", - "Exploitation would fundamentally undermine the security of affected systems, enable actors to perform significant attacks with minimal effort, with little to no mitigating factors to overcome." + "", + "", + "", + "", + "" ], "type": "string" }, "observedInTheWild": { - "description": "Whether or not the vulnerability has been observed in the wild.", "type": "boolean" }, "references": { - "description": "Additional information about the CVE. e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527", "items": { "$ref": "Reference" }, "type": "array" }, "upstreamFixAvailable": { - "description": "Whether upstream fix is available for the CVE.", "type": "boolean" }, "zeroDay": { - "description": "Whether or not the vulnerability was zero day when the finding was published.", "type": "boolean" } }, "type": "object" }, "Cvssv3": { - "description": "Common Vulnerability Scoring System version 3.", "id": "Cvssv3", "properties": { "attackComplexity": { - "description": "This metric describes the conditions beyond the attacker's control that must exist in order to exploit the vulnerability.", "enum": [ "ATTACK_COMPLEXITY_UNSPECIFIED", "ATTACK_COMPLEXITY_LOW", "ATTACK_COMPLEXITY_HIGH" ], "enumDescriptions": [ - "Invalid value.", - "Specialized access conditions or extenuating circumstances do not exist. An attacker can expect repeatable success when attacking the vulnerable component.", - "A successful attack depends on conditions beyond the attacker's control. That is, a successful attack cannot be accomplished at will, but requires the attacker to invest in some measurable amount of effort in preparation or execution against the vulnerable component before a successful attack can be expected." + "", + "", + "" ], "type": "string" }, "attackVector": { - "description": "Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. This metric reflects the context by which vulnerability exploitation is possible.", "enum": [ "ATTACK_VECTOR_UNSPECIFIED", "ATTACK_VECTOR_NETWORK", @@ -2108,16 +1855,15 @@ "ATTACK_VECTOR_PHYSICAL" ], "enumDescriptions": [ - "Invalid value.", - "The vulnerable component is bound to the network stack and the set of possible attackers extends beyond the other options listed below, up to and including the entire Internet.", - "The vulnerable component is bound to the network stack, but the attack is limited at the protocol level to a logically adjacent topology.", - "The vulnerable component is not bound to the network stack and the attacker's path is via read/write/execute capabilities.", - "The attack requires the attacker to physically touch or manipulate the vulnerable component." + "", + "", + "", + "", + "" ], "type": "string" }, "availabilityImpact": { - "description": "This metric measures the impact to the availability of the impacted component resulting from a successfully exploited vulnerability.", "enum": [ "IMPACT_UNSPECIFIED", "IMPACT_HIGH", @@ -2125,20 +1871,18 @@ "IMPACT_NONE" ], "enumDescriptions": [ - "Invalid value.", - "High impact.", - "Low impact.", - "No impact." + "", + "", + "", + "" ], "type": "string" }, "baseScore": { - "description": "The base score is a function of the base metric scores.", "format": "double", "type": "number" }, "confidentialityImpact": { - "description": "This metric measures the impact to the confidentiality of the information resources managed by a software component due to a successfully exploited vulnerability.", "enum": [ "IMPACT_UNSPECIFIED", "IMPACT_HIGH", @@ -2146,15 +1890,14 @@ "IMPACT_NONE" ], "enumDescriptions": [ - "Invalid value.", - "High impact.", - "Low impact.", - "No impact." + "", + "", + "", + "" ], "type": "string" }, "integrityImpact": { - "description": "This metric measures the impact to integrity of a successfully exploited vulnerability.", "enum": [ "IMPACT_UNSPECIFIED", "IMPACT_HIGH", @@ -2162,15 +1905,14 @@ "IMPACT_NONE" ], "enumDescriptions": [ - "Invalid value.", - "High impact.", - "Low impact.", - "No impact." + "", + "", + "", + "" ], "type": "string" }, "privilegesRequired": { - "description": "This metric describes the level of privileges an attacker must possess before successfully exploiting the vulnerability.", "enum": [ "PRIVILEGES_REQUIRED_UNSPECIFIED", "PRIVILEGES_REQUIRED_NONE", @@ -2178,38 +1920,36 @@ "PRIVILEGES_REQUIRED_HIGH" ], "enumDescriptions": [ - "Invalid value.", - "The attacker is unauthorized prior to attack, and therefore does not require any access to settings or files of the vulnerable system to carry out an attack.", - "The attacker requires privileges that provide basic user capabilities that could normally affect only settings and files owned by a user. Alternatively, an attacker with Low privileges has the ability to access only non-sensitive resources.", - "The attacker requires privileges that provide significant (e.g., administrative) control over the vulnerable component allowing access to component-wide settings and files." + "", + "", + "", + "" ], "type": "string" }, "scope": { - "description": "The Scope metric captures whether a vulnerability in one vulnerable component impacts resources in components beyond its security scope.", "enum": [ "SCOPE_UNSPECIFIED", "SCOPE_UNCHANGED", "SCOPE_CHANGED" ], "enumDescriptions": [ - "Invalid value.", - "An exploited vulnerability can only affect resources managed by the same security authority.", - "An exploited vulnerability can affect resources beyond the security scope managed by the security authority of the vulnerable component." + "", + "", + "" ], "type": "string" }, "userInteraction": { - "description": "This metric captures the requirement for a human user, other than the attacker, to participate in the successful compromise of the vulnerable component.", "enum": [ "USER_INTERACTION_UNSPECIFIED", "USER_INTERACTION_NONE", "USER_INTERACTION_REQUIRED" ], "enumDescriptions": [ - "Invalid value.", - "The vulnerable system can be exploited without interaction from any user.", - "Successful exploitation of this vulnerability requires a user to take some action before the vulnerability can be exploited." + "", + "", + "" ], "type": "string" } @@ -2217,15 +1957,12 @@ "type": "object" }, "Cwe": { - "description": "CWE stands for Common Weakness Enumeration. Information about this weakness, as described by [CWE](https://cwe.mitre.org/).", "id": "Cwe", "properties": { "id": { - "description": "The CWE identifier, e.g. CWE-94", "type": "string" }, "references": { - "description": "Any reference to the details on the CWE, for example, https://cwe.mitre.org/data/definitions/94.html", "items": { "$ref": "Reference" }, @@ -2235,20 +1972,16 @@ "type": "object" }, "DataAccessEvent": { - "description": "Details about a data access attempt made by a principal not authorized under applicable data security policy.", "id": "DataAccessEvent", "properties": { "eventId": { - "description": "Unique identifier for data access event.", "type": "string" }, "eventTime": { - "description": "Timestamp of data access event.", "format": "google-datetime", "type": "string" }, "operation": { - "description": "The operation performed by the principal to access the data.", "enum": [ "OPERATION_UNSPECIFIED", "READ", @@ -2256,35 +1989,30 @@ "COPY" ], "enumDescriptions": [ - "The operation is unspecified.", - "Represents a read operation.", - "Represents a move operation.", - "Represents a copy operation." + "", + "", + "", + "" ], "type": "string" }, "principalEmail": { - "description": "The email address of the principal that accessed the data. The principal could be a user account, service account, Google group, or other.", "type": "string" } }, "type": "object" }, "DataFlowEvent": { - "description": "Details about a data flow event, in which either the data is moved to or is accessed from a non-compliant geo-location, as defined in the applicable data security policy.", "id": "DataFlowEvent", "properties": { "eventId": { - "description": "Unique identifier for data flow event.", "type": "string" }, "eventTime": { - "description": "Timestamp of data flow event.", "format": "google-datetime", "type": "string" }, "operation": { - "description": "The operation performed by the principal for the data flow event.", "enum": [ "OPERATION_UNSPECIFIED", "READ", @@ -2292,40 +2020,34 @@ "COPY" ], "enumDescriptions": [ - "The operation is unspecified.", - "Represents a read operation.", - "Represents a move operation.", - "Represents a copy operation." + "", + "", + "", + "" ], "type": "string" }, "principalEmail": { - "description": "The email address of the principal that initiated the data flow event. The principal could be a user account, service account, Google group, or other.", "type": "string" }, "violatedLocation": { - "description": "Non-compliant location of the principal or the data destination.", "type": "string" } }, "type": "object" }, "DataRetentionDeletionEvent": { - "description": "Details about data retention deletion violations, in which the data is non-compliant based on their retention or deletion time, as defined in the applicable data security policy. The Data Retention Deletion (DRD) control is a control of the DSPM (Data Security Posture Management) suite that enables organizations to manage data retention and deletion policies in compliance with regulations, such as GDPR and CRPA. DRD supports two primary policy types: maximum storage length (max TTL) and minimum storage length (min TTL). Both are aimed at helping organizations meet regulatory and data management commitments.", "id": "DataRetentionDeletionEvent", "properties": { "dataObjectCount": { - "description": "Number of objects that violated the policy for this resource. If the number is less than 1,000, then the value of this field is the exact number. If the number of objects that violated the policy is greater than or equal to 1,000, then the value of this field is 1000.", "format": "int64", "type": "string" }, "eventDetectionTime": { - "description": "Timestamp indicating when the event was detected.", "format": "google-datetime", "type": "string" }, "eventType": { - "description": "Type of the DRD event.", "enum": [ "EVENT_TYPE_UNSPECIFIED", "EVENT_TYPE_MAX_TTL_EXCEEDED", @@ -2341,21 +2063,19 @@ false ], "enumDescriptions": [ - "Unspecified event type.", - "Deprecated: This field is pending removal. Use EVENT_TYPE_MAX_TTL_FROM_CREATION or EVENT_TYPE_MAX_TTL_FROM_LAST_MODIFICATION instead.", - "Max TTL from the asset's creation time.", - "Max TTL from the asset's last modification time.", - "Min TTL from the asset's creation time." + "", + "", + "", + "", + "" ], "type": "string" }, "maxRetentionAllowed": { - "description": "Maximum duration of retention allowed from the DRD control. This comes from the DRD control where users set a max TTL for their data. For example, suppose that a user sets the max TTL for a Cloud Storage bucket to 90 days. However, an object in that bucket is 100 days old. In this case, a DataRetentionDeletionEvent will be generated for that Cloud Storage bucket, and the max_retention_allowed is 90 days.", "format": "google-duration", "type": "string" }, "minRetentionAllowed": { - "description": "Min duration of retention allowed from the DSPM retention control. This field is only populated when event type is set to EVENT_TYPE_MIN_TTL_FROM_CREATION.", "format": "google-duration", "type": "string" } @@ -2363,64 +2083,51 @@ "type": "object" }, "Database": { - "description": "Represents database access information, such as queries. A database may be a sub-resource of an instance (as in the case of Cloud SQL instances or Cloud Spanner instances), or the database instance itself. Some database resources might not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types, such as Cloud SQL databases, are not yet supported by Cloud Asset Inventory. In these cases only the display name is provided.", "id": "Database", "properties": { "displayName": { - "description": "The human-readable name of the database that the user connected to.", "type": "string" }, "grantees": { - "description": "The target usernames, roles, or groups of an SQL privilege grant, which is not an IAM policy change.", "items": { "type": "string" }, "type": "array" }, "name": { - "description": "Some database resources may not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types are not yet supported by Cloud Asset Inventory (e.g. Cloud SQL databases). In these cases only the display name will be provided. The [full resource name](https://google.aip.dev/122#full-resource-names) of the database that the user connected to, if it is supported by Cloud Asset Inventory.", "type": "string" }, "query": { - "description": "The SQL statement that is associated with the database access.", "type": "string" }, "userName": { - "description": "The username used to connect to the database. The username might not be an IAM principal and does not have a set format.", "type": "string" }, "version": { - "description": "The version of the database, for example, POSTGRES_14. See [the complete list](https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1/SqlDatabaseVersion).", "type": "string" } }, "type": "object" }, "Dataset": { - "description": "Vertex AI dataset associated with the finding.", "id": "Dataset", "properties": { "displayName": { - "description": "The user defined display name of dataset, e.g. plants-dataset", "type": "string" }, "name": { - "description": "Resource name of the dataset, e.g. projects/{project}/locations/{location}/datasets/2094040236064505856", "type": "string" }, "source": { - "description": "Data source, such as BigQuery source URI, e.g. bq://scc-nexus-test.AIPPtest.gsod", "type": "string" } }, "type": "object" }, "Denied": { - "description": "Denied IP rule.", "id": "Denied", "properties": { "ipRules": { - "description": "Optional. Optional list of denied IP rules.", "items": { "$ref": "IpRule" }, @@ -2430,15 +2137,12 @@ "type": "object" }, "Detection": { - "description": "Memory hash detection contributing to the binary family match.", "id": "Detection", "properties": { "binary": { - "description": "The name of the binary associated with the memory hash signature detection.", "type": "string" }, "percentPagesMatched": { - "description": "The percentage of memory page hashes in the signature that were matched.", "format": "double", "type": "number" } @@ -2446,35 +2150,29 @@ "type": "object" }, "DiscoveredWorkload": { - "description": "Represents discovered, customer managed workload that is not registered with the respective GCP service.", "id": "DiscoveredWorkload", "properties": { "confidence": { - "description": "The confidence in detection of this workload.", "enum": [ "CONFIDENCE_UNSPECIFIED", "CONFIDENCE_HIGH" ], "enumDescriptions": [ - "Unspecified confidence level.", - "High confidence in detection of a workload." + "", + "" ], "type": "string" }, "detectedRelevantHardware": { - "description": "A boolean flag set to true if associated hardware strongly predicts the workload type.", "type": "boolean" }, "detectedRelevantKeywords": { - "description": "A boolean flag set to true if associated keywords strongly predict the workload type.", "type": "boolean" }, "detectedRelevantPackages": { - "description": "A boolean flag set to true if installed packages strongly predict the workload type.", "type": "boolean" }, "workloadType": { - "description": "The type of workload.", "enum": [ "WORKLOAD_TYPE_UNSPECIFIED", "MCP_SERVER", @@ -2482,10 +2180,10 @@ "AGENT" ], "enumDescriptions": [ - "Unspecified workload type", - "A workload of type MCP Server", - "A workload of type AI Inference", - "A workload of type LLM Agent" + "", + "", + "", + "" ], "type": "string" } @@ -2493,106 +2191,87 @@ "type": "object" }, "Disk": { - "description": "Contains information about the disk associated with the finding.", "id": "Disk", "properties": { "name": { - "description": "The name of the disk, for example, \"https://www.googleapis.com/compute/v1/projects/{project-id}/zones/{zone-id}/disks/{disk-id}\".", "type": "string" } }, "type": "object" }, "DiskPath": { - "description": "Path of the file in terms of underlying disk/partition identifiers.", "id": "DiskPath", "properties": { "partitionUuid": { - "description": "UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid)", "type": "string" }, "relativePath": { - "description": "Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh", "type": "string" } }, "type": "object" }, "DynamicMuteRecord": { - "description": "The record of a dynamic mute rule that matches the finding.", "id": "DynamicMuteRecord", "properties": { "matchTime": { - "description": "When the dynamic mute rule first matched the finding.", "format": "google-datetime", "type": "string" }, "muteConfig": { - "description": "The relative resource name of the mute rule, represented by a mute config, that created this record, for example `organizations/123/muteConfigs/mymuteconfig` or `organizations/123/locations/global/muteConfigs/mymuteconfig`.", "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" }, "EnvironmentVariable": { - "description": "A name-value pair representing an environment variable used in an operating system process.", "id": "EnvironmentVariable", "properties": { "name": { - "description": "Environment variable name as a JSON encoded string.", "type": "string" }, "val": { - "description": "Environment variable value as a JSON encoded string.", "type": "string" } }, "type": "object" }, "ExfilResource": { - "description": "Resource where data was exfiltrated from or exfiltrated to.", "id": "ExfilResource", "properties": { "components": { - "description": "Subcomponents of the asset that was exfiltrated, like URIs used during exfiltration, table names, databases, and filenames. For example, multiple tables might have been exfiltrated from the same Cloud SQL instance, or multiple files might have been exfiltrated from the same Cloud Storage bucket.", "items": { "type": "string" }, "type": "array" }, "name": { - "description": "The resource's [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name).", "type": "string" } }, "type": "object" }, "Exfiltration": { - "description": "Exfiltration represents a data exfiltration attempt from one or more sources to one or more targets. The `sources` attribute lists the sources of the exfiltrated data. The `targets` attribute lists the destinations the data was copied to.", "id": "Exfiltration", "properties": { "sources": { - "description": "If there are multiple sources, then the data is considered \"joined\" between them. For instance, BigQuery can join multiple tables, and each table would be considered a source.", "items": { "$ref": "ExfilResource" }, "type": "array" }, "targets": { - "description": "If there are multiple targets, each target would get a complete copy of the \"joined\" source data.", "items": { "$ref": "ExfilResource" }, "type": "array" }, "totalExfiltratedBytes": { - "description": "Total exfiltrated bytes processed for the entire job.", "format": "int64", "type": "string" } @@ -2600,15 +2279,12 @@ "type": "object" }, "ExportFindingsMetadata": { - "description": "The LRO metadata for a ExportFindings request.", "id": "ExportFindingsMetadata", "properties": { "bigQueryDestination": { - "$ref": "BigQueryDestination", - "description": "Required. The destination BigQuery dataset to export findings to." + "$ref": "BigQueryDestination" }, "exportStartTime": { - "description": "Optional. Timestamp at which export was started", "format": "google-datetime", "type": "string" } @@ -2616,176 +2292,139 @@ "type": "object" }, "ExportFindingsResponse": { - "description": "The response to a ExportFindings request. Contains the LRO information.", "id": "ExportFindingsResponse", "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" }, "ExternalExposure": { - "description": "Details about the externally exposed resource associated with the finding.", "id": "ExternalExposure", "properties": { "backendBucket": { - "description": "The full resource name of the load balancer backend bucket, for example, \"//compute.googleapis.com/projects/{project-id}/global/backendBuckets/{name}\"", "type": "string" }, "backendService": { - "description": "The full resource name of load balancer backend service, for example, \"//compute.googleapis.com/projects/{project-id}/global/backendServices/{name}\".", "type": "string" }, "exposedApplication": { - "description": "The name and version of the exposed web application, for example, \"Jenkins 2.184\".", "type": "string" }, "exposedEndpoint": { - "description": "The resource which is running the exposed service, for example, \"//compute.googleapis.com/projects/{project-id}/zones/{zone}/instances/{instance}.”", "type": "string" }, "exposedService": { - "description": "The name and version of the service, for example, \"Jupyter Notebook 6.14.0\".", "type": "string" }, "forwardingRule": { - "description": "The full resource name of the forwarding rule, for example, \"//compute.googleapis.com/projects/{project-id}/global/forwardingRules/{forwarding-rule-name}\".", "type": "string" }, "hostnameUri": { - "description": "Hostname of the exposed application, for example, \"https://test-app.a.run.app/\"", "type": "string" }, "httpResponse": { - "description": "The http response returned by the web application.", "items": { "$ref": "HttpResponse" }, "type": "array" }, "instanceGroup": { - "description": "The full resource name of the instance group, for example, \"//compute.googleapis.com/projects/{project-id}/global/instanceGroups/{name}\".", "type": "string" }, "internalBackendService": { - "description": "The full resource name of load balancer backend service in the internal project having resource exposed via PSC, for example, \"//compute.googleapis.com/projects/{project-id}/global/backendServices/{name}\".", "type": "string" }, "loadBalancerFirewallPolicy": { - "description": "The full resource name of the load balancer firewall policy, for example, \"//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{policy-name}\".", "type": "string" }, "networkEndpointGroup": { - "description": "The full resource name of the network endpoint group, for example, \"//compute.googleapis.com/projects/{project-id}/global/networkEndpointGroups/{name}\".", "type": "string" }, "networkIngressFirewallPolicy": { - "description": "The full resource name of the network ingress firewall policy, for example, \"//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{name}\".", "type": "string" }, "privateIpAddress": { - "description": "Private IP address of the exposed endpoint.", "type": "string" }, "privatePort": { - "description": "Port number associated with private IP address.", "type": "string" }, "pscNetworkAttachment": { - "description": "The full resource name of the PSC (Private Service Connect) network attachment that network interface controller is attached to, for example, \"//compute.googleapis.com/projects/{project-id}/regions/{region}/networkAttachments/{name}\"", "type": "string" }, "pscServiceAttachment": { - "description": "The full resource name of the PSC (Private Service Connect) service attachment that the load balancer network endpoint group targets, for example, \"//compute.googleapis.com/projects/{project-id}/regions/{region}/serviceAttachments/{name}\"", "type": "string" }, "publicIpAddress": { - "description": "Public IP address of the exposed endpoint.", "type": "string" }, "publicPort": { - "description": "Public port number of the exposed endpoint.", "type": "string" }, "serviceFirewallPolicy": { - "description": "The full resource name of the firewall policy of the exposed service, for example, \"//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{policy-name}\".", "type": "string" } }, "type": "object" }, "File": { - "description": "File information about the related binary/library used by an executable, or the script used by a script interpreter", "id": "File", "properties": { "contents": { - "description": "Prefix of the file contents as a JSON-encoded string.", "type": "string" }, "diskPath": { - "$ref": "DiskPath", - "description": "Path of the file in terms of underlying disk/partition identifiers." + "$ref": "DiskPath" }, "fileLoadState": { - "description": "The load state of the file.", "enum": [ "FILE_LOAD_STATE_UNSPECIFIED", "LOADED_BY_PROCESS", "NOT_LOADED_BY_PROCESS" ], "enumDescriptions": [ - "The file state is unspecified.", - "The file is being used by an active process at the time of scanning.", - "The file is not being used by any active process at the time of scanning." + "", + "", + "" ], "type": "string" }, "hashedSize": { - "description": "The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file.", "format": "int64", "type": "string" }, "operations": { - "description": "Operation(s) performed on a file.", "items": { "$ref": "FileOperation" }, "type": "array" }, "partiallyHashed": { - "description": "True when the hash covers only a prefix of the file.", "type": "boolean" }, "path": { - "description": "Absolute path of the file as a JSON encoded string.", "type": "string" }, "sha256": { - "description": "SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file.", "type": "string" }, "size": { - "description": "Size of the file in bytes.", "format": "int64", "type": "string" } @@ -2793,11 +2432,9 @@ "type": "object" }, "FileOperation": { - "description": "Operation(s) performed on a file.", "id": "FileOperation", "properties": { "type": { - "description": "The type of the operation", "enum": [ "OPERATION_TYPE_UNSPECIFIED", "OPEN", @@ -2807,12 +2444,12 @@ "EXECUTE" ], "enumDescriptions": [ - "The operation is unspecified.", - "Represents an open operation.", - "Represents a read operation.", - "Represents a rename operation.", - "Represents a write operation.", - "Represents an execute operation." + "", + "", + "", + "", + "", + "" ], "type": "string" } @@ -2820,81 +2457,63 @@ "type": "object" }, "Finding": { - "description": "Security Command Center finding. A finding is a record of assessment data like security, risk, health, or privacy, that is ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, a cross-site scripting (XSS) vulnerability in an App Engine application is a finding.", "id": "Finding", "properties": { "access": { - "$ref": "Access", - "description": "Access details associated with the finding, such as more information on the caller, which method was accessed, and from where." + "$ref": "Access" }, "affectedResources": { - "$ref": "AffectedResources", - "description": "AffectedResources associated with the finding." + "$ref": "AffectedResources" }, "agentDataAccessEvents": { - "description": "Agent data access events associated with the finding.", "items": { "$ref": "AgentDataAccessEvent" }, "type": "array" }, "aiModel": { - "$ref": "AiModel", - "description": "The AI model associated with the finding." + "$ref": "AiModel" }, "application": { - "$ref": "Application", - "description": "Represents an application associated with the finding." + "$ref": "Application" }, "artifactGuardPolicies": { - "$ref": "ArtifactGuardPolicies", - "description": "ArtifactGuardPolicies associated with the finding." + "$ref": "ArtifactGuardPolicies" }, "attackExposure": { - "$ref": "AttackExposure", - "description": "The results of an attack path simulation relevant to this finding." + "$ref": "AttackExposure" }, "backupDisasterRecovery": { - "$ref": "BackupDisasterRecovery", - "description": "Fields related to Backup and DR findings." + "$ref": "BackupDisasterRecovery" }, "canonicalName": { - "description": "The canonical name of the finding. It's either \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}\", \"folders/{folder_id}/sources/{source_id}/findings/{finding_id}\" or \"projects/{project_number}/sources/{source_id}/findings/{finding_id}\", depending on the closest CRM ancestor of the resource associated with the finding.", "type": "string" }, "category": { - "description": "The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: \"XSS_FLASH_INJECTION\"", "type": "string" }, "chokepoint": { - "$ref": "Chokepoint", - "description": "Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations). This field cannot be updated. Its value is ignored in all update requests." + "$ref": "Chokepoint" }, "cloudArmor": { - "$ref": "CloudArmor", - "description": "Fields related to Cloud Armor findings." + "$ref": "CloudArmor" }, "cloudDlpDataProfile": { - "$ref": "CloudDlpDataProfile", - "description": "Cloud DLP data profile that is associated with the finding." + "$ref": "CloudDlpDataProfile" }, "cloudDlpInspection": { - "$ref": "CloudDlpInspection", - "description": "Cloud Data Loss Prevention (Cloud DLP) inspection results that are associated with the finding." + "$ref": "CloudDlpInspection" }, "complianceDetails": { - "$ref": "ComplianceDetails", - "description": "Details about the compliance implications of the finding." + "$ref": "ComplianceDetails" }, "compliances": { - "description": "Contains compliance information for security standards associated to the finding.", "items": { "$ref": "Compliance" }, "type": "array" }, "connections": { - "description": "Contains information about the IP connection associated with the finding.", "items": { "$ref": "Connection" }, @@ -2904,93 +2523,76 @@ "additionalProperties": { "$ref": "ContactDetails" }, - "description": "Output only. Map containing the points of contact for the given finding. The key represents the type of contact, while the value contains a list of all the contacts that pertain. Please refer to: https://cloud.google.com/resource-manager/docs/managing-notification-contacts#notification-categories { \"security\": { \"contacts\": [ { \"email\": \"person1@company.com\" }, { \"email\": \"person2@company.com\" } ] } }", "readOnly": true, "type": "object" }, "containers": { - "description": "Containers associated with the finding. This field provides information for both Kubernetes and non-Kubernetes containers.", "items": { "$ref": "Container" }, "type": "array" }, "createTime": { - "description": "The time at which the finding was created in Security Command Center.", "format": "google-datetime", "type": "string" }, "dataAccessEvents": { - "description": "Data access events associated with the finding.", "items": { "$ref": "DataAccessEvent" }, "type": "array" }, "dataFlowEvents": { - "description": "Data flow events associated with the finding.", "items": { "$ref": "DataFlowEvent" }, "type": "array" }, "dataRetentionDeletionEvents": { - "description": "Data retention deletion events associated with the finding.", "items": { "$ref": "DataRetentionDeletionEvent" }, "type": "array" }, "database": { - "$ref": "Database", - "description": "Database associated with the finding." + "$ref": "Database" }, "description": { - "description": "Contains more details about the finding.", "type": "string" }, "discoveredWorkload": { - "$ref": "DiscoveredWorkload", - "description": "DiscoveredWorkload associated with the finding." + "$ref": "DiscoveredWorkload" }, "disk": { - "$ref": "Disk", - "description": "Disk associated with the finding." + "$ref": "Disk" }, "eventTime": { - "description": "The time the finding was first detected. If an existing finding is updated, then this is the time the update occurred. For example, if the finding represents an open firewall, this property captures the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding is later resolved, then this time reflects when the finding was resolved. This must not be set to a value greater than the current timestamp.", "format": "google-datetime", "type": "string" }, "exfiltration": { - "$ref": "Exfiltration", - "description": "Represents exfiltrations associated with the finding." + "$ref": "Exfiltration" }, "externalExposure": { - "$ref": "ExternalExposure", - "description": "External exposure associated with the finding." + "$ref": "ExternalExposure" }, "externalSystems": { "additionalProperties": { "$ref": "GoogleCloudSecuritycenterV1ExternalSystem" }, - "description": "Output only. Third party SIEM/SOAR fields within SCC, contains external system information and external system finding fields.", "readOnly": true, "type": "object" }, "externalUri": { - "description": "The URI that, if available, points to a web page outside of Security Command Center where additional information about the finding can be found. This field is guaranteed to be either empty or a well formed URL.", "type": "string" }, "files": { - "description": "File associated with the finding.", "items": { "$ref": "File" }, "type": "array" }, "findingClass": { - "description": "The class of the finding.", "enum": [ "FINDING_CLASS_UNSPECIFIED", "THREAT", @@ -3006,79 +2608,67 @@ "SECRET" ], "enumDescriptions": [ - "Unspecified finding class.", - "Describes unwanted or malicious activity.", - "Describes a potential weakness in software that increases risk to Confidentiality & Integrity & Availability.", - "Describes a potential weakness in cloud resource/asset configuration that increases risk.", - "Describes a security observation that is for informational purposes.", - "Describes an error that prevents some SCC functionality.", - "Describes a potential security risk due to a change in the security posture.", - "Describes a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination.", - "Describes a potential security risk to data assets that contain sensitive data.", - "Describes a resource or resource group where high risk attack paths converge, based on attack path simulations (APS).", - "Describes a potential security risk due to the resource being exposed to the internet.", - "Describes a potential security risk due to plaintext credentials, keys, or tokens being exposed in an asset or workload." + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" ], "type": "string" }, "groupMemberships": { - "description": "Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way. This field cannot be updated. Its value is ignored in all update requests.", "items": { "$ref": "GroupMembership" }, "type": "array" }, "iamBindings": { - "description": "Represents IAM bindings associated with the finding.", "items": { "$ref": "IamBinding" }, "type": "array" }, "indicator": { - "$ref": "Indicator", - "description": "Represents what's commonly known as an *indicator of compromise* (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise)." + "$ref": "Indicator" }, "ipRules": { - "$ref": "IpRules", - "description": "IP rules associated with the finding." + "$ref": "IpRules" }, "job": { - "$ref": "Job", - "description": "Job associated with the finding." + "$ref": "Job" }, "kernelRootkit": { - "$ref": "KernelRootkit", - "description": "Signature of the kernel rootkit." + "$ref": "KernelRootkit" }, "kubernetes": { - "$ref": "Kubernetes", - "description": "Kubernetes resources associated with the finding." + "$ref": "Kubernetes" }, "loadBalancers": { - "description": "The load balancers associated with the finding.", "items": { "$ref": "LoadBalancer" }, "type": "array" }, "logEntries": { - "description": "Log entries that are relevant to the finding.", "items": { "$ref": "LogEntry" }, "type": "array" }, "mitreAttack": { - "$ref": "MitreAttack", - "description": "MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org" + "$ref": "MitreAttack" }, "moduleName": { - "description": "Unique identifier of the module which generated the finding. Example: folders/598186756061/securityHealthAnalyticsSettings/customModules/56799441161885", "type": "string" }, "mute": { - "description": "Indicates the mute state of a finding (either muted, unmuted or undefined). Unlike other attributes of a finding, a finding provider shouldn't set the value of mute.", "enum": [ "MUTE_UNSPECIFIED", "MUTED", @@ -3086,93 +2676,76 @@ "UNDEFINED" ], "enumDescriptions": [ - "Unspecified.", - "Finding has been muted.", - "Finding has been unmuted.", - "Finding has never been muted/unmuted." + "", + "", + "", + "" ], "type": "string" }, "muteInfo": { "$ref": "MuteInfo", - "description": "Output only. The mute information regarding this finding.", "readOnly": true }, "muteInitiator": { - "description": "Records additional information about the mute operation, for example, the [mute configuration](/security-command-center/docs/how-to-mute-findings) that muted the finding and the user who muted the finding.", "type": "string" }, "muteUpdateTime": { - "description": "Output only. The most recent time this finding was muted or unmuted.", "format": "google-datetime", "readOnly": true, "type": "string" }, "name": { - "description": "The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}\", \"folders/{folder_id}/sources/{source_id}/findings/{finding_id}\", \"projects/{project_id}/sources/{source_id}/findings/{finding_id}\".", "type": "string" }, "networks": { - "description": "Represents the VPC networks that the resource is attached to.", "items": { "$ref": "Network" }, "type": "array" }, "nextSteps": { - "description": "Steps to address the finding.", "type": "string" }, "notebook": { - "$ref": "Notebook", - "description": "Notebook associated with the finding." + "$ref": "Notebook" }, "orgPolicies": { - "description": "Contains information about the org policies associated with the finding.", "items": { "$ref": "OrgPolicy" }, "type": "array" }, "parent": { - "description": "The relative resource name of the source the finding belongs to. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name This field is immutable after creation time. For example: \"organizations/{organization_id}/sources/{source_id}\"", "type": "string" }, "parentDisplayName": { - "description": "Output only. The human readable display name of the finding source such as \"Event Threat Detection\" or \"Security Health Analytics\".", "readOnly": true, "type": "string" }, "policyViolationSummary": { - "$ref": "PolicyViolationSummary", - "description": "PolicyViolationSummary associated with the finding." + "$ref": "PolicyViolationSummary" }, "processes": { - "description": "Represents operating system processes associated with the Finding.", "items": { "$ref": "Process" }, "type": "array" }, "resourceName": { - "description": "For findings on Google Cloud resources, the full resource name of the Google Cloud resource this finding is for. See: https://cloud.google.com/apis/design/resource_names#full_resource_name When the finding is for a non-Google Cloud resource, the resourceName can be a customer or partner defined string. This field is immutable after creation time.", "type": "string" }, "secret": { - "$ref": "Secret", - "description": "Secret associated with the finding." + "$ref": "Secret" }, "securityMarks": { "$ref": "SecurityMarks", - "description": "Output only. User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the finding.", "readOnly": true }, "securityPosture": { - "$ref": "SecurityPosture", - "description": "The security posture associated with the finding." + "$ref": "SecurityPosture" }, "severity": { - "description": "The severity of the finding. This field is managed by the source that writes the finding.", "enum": [ "SEVERITY_UNSPECIFIED", "CRITICAL", @@ -3181,11 +2754,11 @@ "LOW" ], "enumDescriptions": [ - "This value is used for findings when a source doesn't write a severity value.", - "Vulnerability: A critical vulnerability is easily discoverable by an external actor, exploitable, and results in the direct ability to execute arbitrary code, exfiltrate data, and otherwise gain additional access and privileges to cloud resources and workloads. Examples include publicly accessible unprotected user data and public SSH access with weak or no passwords. Threat: Indicates a threat that is able to access, modify, or delete data or execute unauthorized code within existing resources.", - "Vulnerability: A high risk vulnerability can be easily discovered and exploited in combination with other vulnerabilities in order to gain direct access and the ability to execute arbitrary code, exfiltrate data, and otherwise gain additional access and privileges to cloud resources and workloads. An example is a database with weak or no passwords that is only accessible internally. This database could easily be compromised by an actor that had access to the internal network. Threat: Indicates a threat that is able to create new computational resources in an environment but not able to access data or execute code in existing resources.", - "Vulnerability: A medium risk vulnerability could be used by an actor to gain access to resources or privileges that enable them to eventually (through multiple steps or a complex exploit) gain access and the ability to execute arbitrary code or exfiltrate data. An example is a service account with access to more projects than it should have. If an actor gains access to the service account, they could potentially use that access to manipulate a project the service account was not intended to. Threat: Indicates a threat that is able to cause operational impact but may not access data or execute unauthorized code.", - "Vulnerability: A low risk vulnerability hampers a security organization's ability to detect vulnerabilities or active threats in their deployment, or prevents the root cause investigation of security issues. An example is monitoring and logs being disabled for resource configurations and access. Threat: Indicates a threat that has obtained minimal access to an environment but is not able to access data, execute code, or create resources." + "", + "", + "", + "", + "" ], "type": "string" }, @@ -3193,59 +2766,49 @@ "additionalProperties": { "type": "any" }, - "description": "Source specific properties. These properties are managed by the source that writes the finding. The key names in the source_properties map must be between 1 and 255 characters, and must start with a letter and contain alphanumeric characters or underscores only.", "type": "object" }, "state": { - "description": "The state of the finding.", "enum": [ "STATE_UNSPECIFIED", "ACTIVE", "INACTIVE" ], "enumDescriptions": [ - "Unspecified state.", - "The finding requires attention and has not been addressed yet.", - "The finding has been fixed, triaged as a non-issue or otherwise addressed and is no longer active." + "", + "", + "" ], "type": "string" }, "toxicCombination": { - "$ref": "ToxicCombination", - "description": "Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. This field cannot be updated. Its value is ignored in all update requests." + "$ref": "ToxicCombination" }, "vertexAi": { - "$ref": "VertexAi", - "description": "VertexAi associated with the finding." + "$ref": "VertexAi" }, "vulnerability": { - "$ref": "Vulnerability", - "description": "Represents vulnerability-specific fields like CVE and CVSS scores. CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/)" + "$ref": "Vulnerability" } }, "type": "object" }, "Folder": { - "description": "Message that contains the resource name and display name of a folder resource.", "id": "Folder", "properties": { "resourceFolder": { - "description": "Full resource name of this folder. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", "type": "string" }, "resourceFolderDisplayName": { - "description": "The user defined display name for this folder.", "type": "string" } }, "type": "object" }, "Framework": { - "description": "Compliance framework associated with the finding.", "id": "Framework", "properties": { "category": { - "description": "Category of the framework associated with the finding. E.g. Security Benchmark, or Assured Workloads", "items": { "enum": [ "FRAMEWORK_CATEGORY_UNSPECIFIED", @@ -3256,43 +2819,39 @@ "CUSTOM_FRAMEWORK" ], "enumDescriptions": [ - "Default value. This value is unused.", - "Security Benchmarks framework", - "Assured Workloads framework", - "Data Security framework", - "Google Best Practices framework", - "A user-created framework" + "", + "", + "", + "", + "", + "" ], "type": "string" }, "type": "array" }, "controls": { - "description": "The controls associated with the framework.", "items": { "$ref": "Control" }, "type": "array" }, "displayName": { - "description": "Display name of the framework. For a standard framework, this will look like e.g. PCI DSS 3.2.1, whereas for a custom framework it can be a user defined string like MyFramework", "type": "string" }, "name": { - "description": "Name of the framework associated with the finding", "type": "string" }, "type": { - "description": "Type of the framework associated with the finding, to specify whether the framework is built-in (pre-defined and immutable) or a custom framework defined by the customer (equivalent to security posture)", "enum": [ "FRAMEWORK_TYPE_UNSPECIFIED", "FRAMEWORK_TYPE_BUILT_IN", "FRAMEWORK_TYPE_CUSTOM" ], "enumDescriptions": [ - "Default value. This value is unused.", - "The framework is a built-in framework if it is created and managed by GCP.", - "The framework is a custom framework if it is created and managed by the user." + "", + "", + "" ], "type": "string" } @@ -3300,11 +2859,9 @@ "type": "object" }, "GcpMetadata": { - "description": "Google Cloud metadata associated with the resource. Only applicable if the finding's cloud provider is Google Cloud.", "id": "GcpMetadata", "properties": { "folders": { - "description": "Output only. Contains a Folder message for each folder in the assets ancestry. The first folder is the deepest nested folder, and the last folder is the folder directly under the Organization.", "items": { "$ref": "GoogleCloudSecuritycenterV2Folder" }, @@ -3312,56 +2869,45 @@ "type": "array" }, "organization": { - "description": "The name of the organization that the resource belongs to.", "type": "string" }, "parent": { - "description": "The full resource name of resource's parent.", "type": "string" }, "parentDisplayName": { - "description": "The human readable name of resource's parent.", "type": "string" }, "project": { - "description": "The full resource name of project that the resource belongs to.", "type": "string" }, "projectDisplayName": { - "description": "The project ID that the resource belongs to.", "type": "string" } }, "type": "object" }, "Geolocation": { - "description": "Represents a geographical location for a given access.", "id": "Geolocation", "properties": { "regionCode": { - "description": "A CLDR.", "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`." + "$ref": "GetPolicyOptions" } }, "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" } @@ -3369,43 +2915,34 @@ "type": "object" }, "GoogleCloudSecuritycenterV1BigQueryExport": { - "description": "Configures how to deliver Findings to BigQuery Instance.", "id": "GoogleCloudSecuritycenterV1BigQueryExport", "properties": { "createTime": { - "description": "Output only. The time at which the BigQuery export was created. This field is set by the server and will be ignored if provided on export on creation.", "format": "google-datetime", "readOnly": true, "type": "string" }, "dataset": { - "description": "The dataset to write findings' updates to. Its format is \"projects/[project_id]/datasets/[bigquery_dataset_id]\". BigQuery Dataset unique ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_).", "type": "string" }, "description": { - "description": "The description of the export (max of 1024 characters).", "type": "string" }, "filter": { - "description": "Expression that defines the filter to apply across create/update events of findings. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes.", "type": "string" }, "mostRecentEditor": { - "description": "Output only. Email address of the user who last edited the BigQuery export. This field is set by the server and will be ignored if provided on export creation or update.", "readOnly": true, "type": "string" }, "name": { - "description": "The relative resource name of this export. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name. Example format: \"organizations/{organization_id}/bigQueryExports/{export_id}\" Example format: \"folders/{folder_id}/bigQueryExports/{export_id}\" Example format: \"projects/{project_id}/bigQueryExports/{export_id}\" This field is provided in responses, and is ignored when provided in create requests.", "type": "string" }, "principal": { - "description": "Output only. The service account that needs permission to create table and upload data to the BigQuery dataset.", "readOnly": true, "type": "string" }, "updateTime": { - "description": "Output only. The most recent time at which the BigQuery export was updated. This field is set by the server and will be ignored if provided on export creation or update.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -3414,23 +2951,18 @@ "type": "object" }, "GoogleCloudSecuritycenterV1Binding": { - "description": "Represents a Kubernetes RoleBinding or ClusterRoleBinding.", "id": "GoogleCloudSecuritycenterV1Binding", "properties": { "name": { - "description": "Name for the binding.", "type": "string" }, "ns": { - "description": "Namespace for the binding.", "type": "string" }, "role": { - "$ref": "Role", - "description": "The Role or ClusterRole referenced by the binding." + "$ref": "Role" }, "subjects": { - "description": "Represents one or more subjects that are bound to the role. Not always available for PATCH requests.", "items": { "$ref": "Subject" }, @@ -3440,37 +2972,29 @@ "type": "object" }, "GoogleCloudSecuritycenterV1BulkMuteFindingsResponse": { - "description": "The response to a BulkMute request. Contains the LRO information.", "id": "GoogleCloudSecuritycenterV1BulkMuteFindingsResponse", "properties": {}, "type": "object" }, "GoogleCloudSecuritycenterV1CustomConfig": { - "description": "Defines the properties in a custom module configuration for Security Health Analytics. Use the custom module configuration to create custom detectors that generate custom findings for resources that you specify.", "id": "GoogleCloudSecuritycenterV1CustomConfig", "properties": { "customOutput": { - "$ref": "GoogleCloudSecuritycenterV1CustomOutputSpec", - "description": "Custom output properties." + "$ref": "GoogleCloudSecuritycenterV1CustomOutputSpec" }, "description": { - "description": "Text that describes the vulnerability or misconfiguration that the custom module detects. This explanation is returned with each finding instance to help investigators understand the detected issue. The text must be enclosed in quotation marks.", "type": "string" }, "predicate": { - "$ref": "Expr", - "description": "The CEL expression to evaluate to produce findings. When the expression evaluates to true against a resource, a finding is generated." + "$ref": "Expr" }, "recommendation": { - "description": "An explanation of the recommended steps that security teams can take to resolve the detected issue. This explanation is returned with each finding generated by this module in the `nextSteps` property of the finding JSON.", "type": "string" }, "resourceSelector": { - "$ref": "GoogleCloudSecuritycenterV1ResourceSelector", - "description": "The resource types that the custom module operates on. Each custom module can specify up to 5 resource types." + "$ref": "GoogleCloudSecuritycenterV1ResourceSelector" }, "severity": { - "description": "The severity to assign to findings generated by the module.", "enum": [ "SEVERITY_UNSPECIFIED", "CRITICAL", @@ -3479,11 +3003,11 @@ "LOW" ], "enumDescriptions": [ - "Unspecified severity.", - "Critical severity.", - "High severity.", - "Medium severity.", - "Low severity." + "", + "", + "", + "", + "" ], "type": "string" } @@ -3491,11 +3015,9 @@ "type": "object" }, "GoogleCloudSecuritycenterV1CustomOutputSpec": { - "description": "A set of optional name-value pairs that define custom source properties to return with each finding that is generated by the custom module. The custom source properties that are defined here are included in the finding JSON under `sourceProperties`.", "id": "GoogleCloudSecuritycenterV1CustomOutputSpec", "properties": { "properties": { - "description": "A list of custom output properties to add to the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV1Property" }, @@ -3505,11 +3027,9 @@ "type": "object" }, "GoogleCloudSecuritycenterV1EffectiveSecurityHealthAnalyticsCustomModule": { - "description": "An EffectiveSecurityHealthAnalyticsCustomModule is the representation of a Security Health Analytics custom module at a specified level of the resource hierarchy: organization, folder, or project. If a custom module is inherited from a parent organization or folder, the value of the `enablementState` property in EffectiveSecurityHealthAnalyticsCustomModule is set to the value that is effective in the parent, instead of `INHERITED`. For example, if the module is enabled in a parent organization or folder, the effective enablement_state for the module in all child folders or projects is also `enabled`. EffectiveSecurityHealthAnalyticsCustomModule is read-only.", "id": "GoogleCloudSecuritycenterV1EffectiveSecurityHealthAnalyticsCustomModule", "properties": { "cloudProvider": { - "description": "The cloud provider of the custom module.", "enum": [ "CLOUD_PROVIDER_UNSPECIFIED", "GOOGLE_CLOUD_PLATFORM", @@ -3517,40 +3037,36 @@ "MICROSOFT_AZURE" ], "enumDescriptions": [ - "Unspecified cloud provider.", - "Google Cloud.", - "Amazon Web Services.", - "Microsoft Azure." + "", + "", + "", + "" ], "type": "string" }, "customConfig": { "$ref": "GoogleCloudSecuritycenterV1CustomConfig", - "description": "Output only. The user-specified configuration for the module.", "readOnly": true }, "displayName": { - "description": "Output only. The display name for the custom module. The name must be between 1 and 128 characters, start with a lowercase letter, and contain alphanumeric characters or underscores only.", "readOnly": true, "type": "string" }, "enablementState": { - "description": "Output only. The effective state of enablement for the module at the given level of the hierarchy.", "enum": [ "ENABLEMENT_STATE_UNSPECIFIED", "ENABLED", "DISABLED" ], "enumDescriptions": [ - "Unspecified enablement state.", - "The module is enabled at the given level.", - "The module is disabled at the given level." + "", + "", + "" ], "readOnly": true, "type": "string" }, "name": { - "description": "Output only. The resource name of the custom module. Its format is \"organizations/{organization}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}\", or \"folders/{folder}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}\", or \"projects/{project}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}\"", "readOnly": true, "type": "string" } @@ -3558,116 +3074,94 @@ "type": "object" }, "GoogleCloudSecuritycenterV1ExternalSystem": { - "description": "Representation of third party SIEM/SOAR fields within SCC.", "id": "GoogleCloudSecuritycenterV1ExternalSystem", "properties": { "assignees": { - "description": "References primary/secondary etc assignees in the external system.", "items": { "type": "string" }, "type": "array" }, "caseCloseTime": { - "description": "The time when the case was closed, as reported by the external system.", "format": "google-datetime", "type": "string" }, "caseCreateTime": { - "description": "The time when the case was created, as reported by the external system.", "format": "google-datetime", "type": "string" }, "casePriority": { - "description": "The priority of the finding's corresponding case in the external system.", "type": "string" }, "caseSla": { - "description": "The SLA of the finding's corresponding case in the external system.", "format": "google-datetime", "type": "string" }, "caseUri": { - "description": "The link to the finding's corresponding case in the external system.", "type": "string" }, "externalSystemUpdateTime": { - "description": "The time when the case was last updated, as reported by the external system.", "format": "google-datetime", "type": "string" }, "externalUid": { - "description": "The identifier that's used to track the finding's corresponding case in the external system.", "type": "string" }, "name": { - "description": "Full resource name of the external system, for example: \"organizations/1234/sources/5678/findings/123456/externalSystems/jira\", \"folders/1234/sources/5678/findings/123456/externalSystems/jira\", \"projects/1234/sources/5678/findings/123456/externalSystems/jira\"", "type": "string" }, "status": { - "description": "The most recent status of the finding's corresponding case, as reported by the external system.", "type": "string" }, "ticketInfo": { - "$ref": "TicketInfo", - "description": "Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding." + "$ref": "TicketInfo" } }, "type": "object" }, "GoogleCloudSecuritycenterV1MuteConfig": { - "description": "A mute config is a Cloud SCC resource that contains the configuration to mute create/update events of findings.", "id": "GoogleCloudSecuritycenterV1MuteConfig", "properties": { "createTime": { - "description": "Output only. The time at which the mute config was created. This field is set by the server and will be ignored if provided on config creation.", "format": "google-datetime", "readOnly": true, "type": "string" }, "description": { - "description": "A description of the mute config.", "type": "string" }, "displayName": { "deprecated": true, - "description": "The human readable name to be displayed for the mute config.", "type": "string" }, "expiryTime": { - "description": "Optional. The expiry of the mute config. Only applicable for dynamic configs. If the expiry is set, when the config expires, it is removed from all findings.", "format": "google-datetime", "type": "string" }, "filter": { - "description": "Required. An expression that defines the filter to apply across create/update events of findings. While creating a filter string, be mindful of the scope in which the mute configuration is being created. E.g., If a filter contains project = X but is created under the project = Y scope, it might not match any findings. The following field and operator combinations are supported: * severity: `=`, `:` * category: `=`, `:` * resource.name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.folders.resource_folder: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.type: `=`, `:` * finding_class: `=`, `:` * indicator.ip_addresses: `=`, `:` * indicator.domains: `=`, `:`", "type": "string" }, "mostRecentEditor": { - "description": "Output only. Email address of the user who last edited the mute config. This field is set by the server and will be ignored if provided on config creation or update.", "readOnly": true, "type": "string" }, "name": { - "description": "This field will be ignored if provided on config creation. Format `organizations/{organization}/muteConfigs/{mute_config}` `folders/{folder}/muteConfigs/{mute_config}` `projects/{project}/muteConfigs/{mute_config}` `organizations/{organization}/locations/global/muteConfigs/{mute_config}` `folders/{folder}/locations/global/muteConfigs/{mute_config}` `projects/{project}/locations/global/muteConfigs/{mute_config}`", "type": "string" }, "type": { - "description": "Optional. The type of the mute config, which determines what type of mute state the config affects. The static mute state takes precedence over the dynamic mute state. Immutable after creation. STATIC by default if not set during creation.", "enum": [ "MUTE_CONFIG_TYPE_UNSPECIFIED", "STATIC", "DYNAMIC" ], "enumDescriptions": [ - "Unused.", - "A static mute config, which sets the static mute state of future matching findings to muted. Once the static mute state has been set, finding or config modifications will not affect the state.", - "A dynamic mute config, which is applied to existing and future matching findings, setting their dynamic mute state to \"muted\". If the config is updated or deleted, or a matching finding is updated, such that the finding doesn't match the config, the config will be removed from the finding, and the finding's dynamic mute state may become \"unmuted\" (unless other configs still match)." + "", + "", + "" ], "type": "string" }, "updateTime": { - "description": "Output only. The most recent time at which the mute config was updated. This field is set by the server and will be ignored if provided on config creation or update.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -3676,69 +3170,54 @@ "type": "object" }, "GoogleCloudSecuritycenterV1NotificationMessage": { - "description": "Cloud SCC's Notification", "id": "GoogleCloudSecuritycenterV1NotificationMessage", "properties": { "finding": { - "$ref": "Finding", - "description": "If it's a Finding based notification config, this field will be populated." + "$ref": "Finding" }, "notificationConfigName": { - "description": "Name of the notification config that generated current notification.", "type": "string" }, "resource": { - "$ref": "GoogleCloudSecuritycenterV1Resource", - "description": "The Cloud resource tied to this notification's Finding." + "$ref": "GoogleCloudSecuritycenterV1Resource" } }, "type": "object" }, "GoogleCloudSecuritycenterV1Property": { - "description": "An individual name-value pair that defines a custom source property.", "id": "GoogleCloudSecuritycenterV1Property", "properties": { "name": { - "description": "Name of the property for the custom output.", "type": "string" }, "valueExpression": { - "$ref": "Expr", - "description": "The CEL expression for the custom output. A resource property can be specified to return the value of the property or a text string enclosed in quotation marks." + "$ref": "Expr" } }, "type": "object" }, "GoogleCloudSecuritycenterV1Resource": { - "description": "Information related to the Google Cloud resource.", "id": "GoogleCloudSecuritycenterV1Resource", "properties": { "adcApplication": { - "$ref": "AdcApplication", - "description": "The ADC application associated with the finding." + "$ref": "AdcApplication" }, "adcApplicationTemplate": { - "$ref": "AdcApplicationTemplateRevision", - "description": "The ADC template associated with the finding." + "$ref": "AdcApplicationTemplateRevision" }, "adcSharedTemplate": { - "$ref": "AdcSharedTemplateRevision", - "description": "The ADC shared template associated with the finding." + "$ref": "AdcSharedTemplateRevision" }, "application": { - "$ref": "GoogleCloudSecuritycenterV1ResourceApplication", - "description": "The App Hub application this resource belongs to." + "$ref": "GoogleCloudSecuritycenterV1ResourceApplication" }, "awsMetadata": { - "$ref": "AwsMetadata", - "description": "The AWS metadata associated with the finding." + "$ref": "AwsMetadata" }, "azureMetadata": { - "$ref": "AzureMetadata", - "description": "The Azure metadata associated with the finding." + "$ref": "AzureMetadata" }, "cloudProvider": { - "description": "Indicates which cloud provider the resource resides in.", "enum": [ "CLOUD_PROVIDER_UNSPECIFIED", "GOOGLE_CLOUD_PLATFORM", @@ -3746,19 +3225,17 @@ "MICROSOFT_AZURE" ], "enumDescriptions": [ - "The cloud provider is unspecified.", - "The cloud provider is Google Cloud.", - "The cloud provider is Amazon Web Services.", - "The cloud provider is Microsoft Azure." + "", + "", + "", + "" ], "type": "string" }, "displayName": { - "description": "The human readable name of the resource.", "type": "string" }, "folders": { - "description": "Output only. Contains a Folder message for each folder in the assets ancestry. The first folder is the deepest nested folder, and the last folder is the folder directly under the Organization.", "items": { "$ref": "Folder" }, @@ -3766,95 +3243,75 @@ "type": "array" }, "location": { - "description": "The region or location of the service (if applicable).", "type": "string" }, "name": { - "description": "The full resource name of the resource. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", "type": "string" }, "organization": { - "description": "Indicates which organization or tenant in the cloud provider the finding applies to.", "type": "string" }, "parent": { - "description": "The full resource name of resource's parent.", "type": "string" }, "parentDisplayName": { - "description": "The human readable name of resource's parent.", "type": "string" }, "project": { - "description": "The full resource name of project that the resource belongs to.", "type": "string" }, "projectDisplayName": { - "description": "The project ID that the resource belongs to.", "type": "string" }, "resourcePath": { - "$ref": "ResourcePath", - "description": "Provides the path to the resource within the resource hierarchy." + "$ref": "ResourcePath" }, "resourcePathString": { - "description": "A string representation of the resource path. For Google Cloud, it has the format of `organizations/{organization_id}/folders/{folder_id}/folders/{folder_id}/projects/{project_id}` where there can be any number of folders. For AWS, it has the format of `org/{organization_id}/ou/{organizational_unit_id}/ou/{organizational_unit_id}/account/{account_id}` where there can be any number of organizational units. For Azure, it has the format of `mg/{management_group_id}/mg/{management_group_id}/subscription/{subscription_id}/rg/{resource_group_name}` where there can be any number of management groups.", "type": "string" }, "service": { - "description": "The parent service or product from which the resource is provided, for example, GKE or SNS.", "type": "string" }, "type": { - "description": "The full resource type of the resource.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV1ResourceApplication": { - "description": "The App Hub Application associated with the finding's resource.", "id": "GoogleCloudSecuritycenterV1ResourceApplication", "properties": { "attributes": { - "$ref": "GoogleCloudSecuritycenterV1ResourceApplicationAttributes", - "description": "Consumer provided attributes for the application" + "$ref": "GoogleCloudSecuritycenterV1ResourceApplicationAttributes" }, "name": { - "description": "The resource name of an Application. Format: `projects/{host-project-id}/locations/{location}/applications/{application-id}`", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV1ResourceApplicationAttributes": { - "description": "Consumer provided attributes for the application", "id": "GoogleCloudSecuritycenterV1ResourceApplicationAttributes", "properties": { "businessOwners": { - "description": "Business team that ensures user needs are met and value is delivered", "items": { "$ref": "GoogleCloudSecuritycenterV1ResourceApplicationAttributesContactInfo" }, "type": "array" }, "criticality": { - "$ref": "GoogleCloudSecuritycenterV1ResourceApplicationAttributesCriticality", - "description": "User-defined criticality information." + "$ref": "GoogleCloudSecuritycenterV1ResourceApplicationAttributesCriticality" }, "developerOwners": { - "description": "Developer team that owns development and coding.", "items": { "$ref": "GoogleCloudSecuritycenterV1ResourceApplicationAttributesContactInfo" }, "type": "array" }, "environment": { - "$ref": "GoogleCloudSecuritycenterV1ResourceApplicationAttributesEnvironment", - "description": "User-defined environment information." + "$ref": "GoogleCloudSecuritycenterV1ResourceApplicationAttributesEnvironment" }, "operatorOwners": { - "description": "Operator team that ensures runtime and operations.", "items": { "$ref": "GoogleCloudSecuritycenterV1ResourceApplicationAttributesContactInfo" }, @@ -3864,22 +3321,18 @@ "type": "object" }, "GoogleCloudSecuritycenterV1ResourceApplicationAttributesContactInfo": { - "description": "Contact information of stakeholders.", "id": "GoogleCloudSecuritycenterV1ResourceApplicationAttributesContactInfo", "properties": { "email": { - "description": "Email address of the contacts.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV1ResourceApplicationAttributesCriticality": { - "description": "Criticality of the Application, Service, or Workload", "id": "GoogleCloudSecuritycenterV1ResourceApplicationAttributesCriticality", "properties": { "type": { - "description": "Criticality Type.", "enum": [ "CRITICALITY_TYPE_UNSPECIFIED", "MISSION_CRITICAL", @@ -3888,11 +3341,11 @@ "LOW" ], "enumDescriptions": [ - "Unspecified type.", - "Mission critical service, application or workload.", - "High impact.", - "Medium impact.", - "Low impact." + "", + "", + "", + "", + "" ], "type": "string" } @@ -3900,11 +3353,9 @@ "type": "object" }, "GoogleCloudSecuritycenterV1ResourceApplicationAttributesEnvironment": { - "description": "Environment of the Application, Service, or Workload", "id": "GoogleCloudSecuritycenterV1ResourceApplicationAttributesEnvironment", "properties": { "type": { - "description": "Environment Type.", "enum": [ "ENVIRONMENT_TYPE_UNSPECIFIED", "PRODUCTION", @@ -3913,11 +3364,11 @@ "DEVELOPMENT" ], "enumDescriptions": [ - "Unspecified type.", - "Production environment.", - "Staging environment.", - "Test environment.", - "Development environment." + "", + "", + "", + "", + "" ], "type": "string" } @@ -3925,11 +3376,9 @@ "type": "object" }, "GoogleCloudSecuritycenterV1ResourceSelector": { - "description": "Resource for selecting resource type.", "id": "GoogleCloudSecuritycenterV1ResourceSelector", "properties": { "resourceTypes": { - "description": "The resource types to run the detector on.", "items": { "type": "string" }, @@ -3939,11 +3388,9 @@ "type": "object" }, "GoogleCloudSecuritycenterV1ResourceValueConfig": { - "description": "A resource value configuration (RVC) is a mapping configuration of user's resources to resource values. Used in Attack path simulations.", "id": "GoogleCloudSecuritycenterV1ResourceValueConfig", "properties": { "cloudProvider": { - "description": "Cloud provider this configuration applies to", "enum": [ "CLOUD_PROVIDER_UNSPECIFIED", "GOOGLE_CLOUD_PLATFORM", @@ -3951,40 +3398,34 @@ "MICROSOFT_AZURE" ], "enumDescriptions": [ - "The cloud provider is unspecified.", - "The cloud provider is Google Cloud.", - "The cloud provider is Amazon Web Services.", - "The cloud provider is Microsoft Azure." + "", + "", + "", + "" ], "type": "string" }, "createTime": { - "description": "Output only. Timestamp this resource value configuration was created.", "format": "google-datetime", "readOnly": true, "type": "string" }, "description": { - "description": "Description of the resource value configuration.", "type": "string" }, "name": { - "description": "Name for the resource value configuration", "type": "string" }, "resourceLabelsSelector": { "additionalProperties": { "type": "string" }, - "description": "List of resource labels to search for, evaluated with `AND`. For example, `\"resource_labels_selector\": {\"key\": \"value\", \"env\": \"prod\"}` will match resources with labels \"key\": \"value\" `AND` \"env\": \"prod\" https://cloud.google.com/resource-manager/docs/creating-managing-labels", "type": "object" }, "resourceType": { - "description": "Apply resource_value only to resources that match resource_type. resource_type will be checked with `AND` of other resources. For example, \"storage.googleapis.com/Bucket\" with resource_value \"HIGH\" will apply \"HIGH\" value only to \"storage.googleapis.com/Bucket\" resources.", "type": "string" }, "resourceValue": { - "description": "Required. Resource value level this expression represents", "enum": [ "RESOURCE_VALUE_UNSPECIFIED", "HIGH", @@ -3993,31 +3434,27 @@ "NONE" ], "enumDescriptions": [ - "Unspecific value", - "High resource value", - "Medium resource value", - "Low resource value", - "No resource value, e.g. ignore these resources" + "", + "", + "", + "", + "" ], "type": "string" }, "scope": { - "description": "Project or folder to scope this configuration to. For example, \"project/456\" would apply this configuration only to resources in \"project/456\" scope will be checked with `AND` of other resources.", "type": "string" }, "sensitiveDataProtectionMapping": { - "$ref": "GoogleCloudSecuritycenterV1SensitiveDataProtectionMapping", - "description": "A mapping of the sensitivity on Sensitive Data Protection finding to resource values. This mapping can only be used in combination with a resource_type that is related to BigQuery, e.g. \"bigquery.googleapis.com/Dataset\"." + "$ref": "GoogleCloudSecuritycenterV1SensitiveDataProtectionMapping" }, "tagValues": { - "description": "Required. Tag values combined with `AND` to check against. For Google Cloud resources, they are tag value IDs in the form of \"tagValues/123\". Example: `[ \"tagValues/123\", \"tagValues/456\", \"tagValues/789\" ]` https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing", "items": { "type": "string" }, "type": "array" }, "updateTime": { - "description": "Output only. Timestamp this resource value configuration was last updated.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -4026,16 +3463,13 @@ "type": "object" }, "GoogleCloudSecuritycenterV1RunAssetDiscoveryResponse": { - "description": "Response of asset discovery run", "id": "GoogleCloudSecuritycenterV1RunAssetDiscoveryResponse", "properties": { "duration": { - "description": "The duration between asset discovery run start and end", "format": "google-duration", "type": "string" }, "state": { - "description": "The state of an asset discovery run.", "enum": [ "STATE_UNSPECIFIED", "COMPLETED", @@ -4043,10 +3477,10 @@ "TERMINATED" ], "enumDescriptions": [ - "Asset discovery run state was unspecified.", - "Asset discovery run completed successfully.", - "Asset discovery run was cancelled with tasks still pending, as another run for the same organization was started with a higher priority.", - "Asset discovery run was killed and terminated." + "", + "", + "", + "" ], "type": "string" } @@ -4054,16 +3488,13 @@ "type": "object" }, "GoogleCloudSecuritycenterV1SecurityHealthAnalyticsCustomModule": { - "description": "Represents an instance of a Security Health Analytics custom module, including its full module name, display name, enablement state, and last updated time. You can create a custom module at the organization, folder, or project level. Custom modules that you create at the organization or folder level are inherited by the child folders and projects.", "id": "GoogleCloudSecuritycenterV1SecurityHealthAnalyticsCustomModule", "properties": { "ancestorModule": { - "description": "Output only. If empty, indicates that the custom module was created in the organization, folder, or project in which you are viewing the custom module. Otherwise, `ancestor_module` specifies the organization or folder from which the custom module is inherited.", "readOnly": true, "type": "string" }, "cloudProvider": { - "description": "The cloud provider of the custom module.", "enum": [ "CLOUD_PROVIDER_UNSPECIFIED", "GOOGLE_CLOUD_PLATFORM", @@ -4071,23 +3502,20 @@ "MICROSOFT_AZURE" ], "enumDescriptions": [ - "Unspecified cloud provider.", - "Google Cloud.", - "Amazon Web Services (AWS).", - "Microsoft Azure." + "", + "", + "", + "" ], "type": "string" }, "customConfig": { - "$ref": "GoogleCloudSecuritycenterV1CustomConfig", - "description": "The user specified custom configuration for the module." + "$ref": "GoogleCloudSecuritycenterV1CustomConfig" }, "displayName": { - "description": "The display name of the Security Health Analytics custom module. This display name becomes the finding category for all findings that are returned by this custom module. The display name must be between 1 and 128 characters, start with a lowercase letter, and contain alphanumeric characters or underscores only.", "type": "string" }, "enablementState": { - "description": "The enablement state of the custom module.", "enum": [ "ENABLEMENT_STATE_UNSPECIFIED", "ENABLED", @@ -4095,24 +3523,21 @@ "INHERITED" ], "enumDescriptions": [ - "Unspecified enablement state.", - "The module is enabled at the given CRM resource.", - "The module is disabled at the given CRM resource.", - "State is inherited from an ancestor module. The module will either be effectively ENABLED or DISABLED based on its closest non-inherited ancestor module in the CRM hierarchy." + "", + "", + "", + "" ], "type": "string" }, "lastEditor": { - "description": "Output only. The editor that last updated the custom module.", "readOnly": true, "type": "string" }, "name": { - "description": "Immutable. The resource name of the custom module. Its format is \"organizations/{organization}/securityHealthAnalyticsSettings/customModules/{customModule}\", or \"folders/{folder}/securityHealthAnalyticsSettings/customModules/{customModule}\", or \"projects/{project}/securityHealthAnalyticsSettings/customModules/{customModule}\" The id {customModule} is server-generated and is not user settable. It will be a numeric id containing 1-20 digits.", "type": "string" }, "updateTime": { - "description": "Output only. The time at which the custom module was last updated.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -4121,11 +3546,9 @@ "type": "object" }, "GoogleCloudSecuritycenterV1SensitiveDataProtectionMapping": { - "description": "Resource value mapping for Sensitive Data Protection findings. If any of these mappings have a resource value that is not unspecified, the resource_value field will be ignored when reading this configuration.", "id": "GoogleCloudSecuritycenterV1SensitiveDataProtectionMapping", "properties": { "highSensitivityMapping": { - "description": "Resource value mapping for high-sensitivity Sensitive Data Protection findings", "enum": [ "RESOURCE_VALUE_UNSPECIFIED", "HIGH", @@ -4134,16 +3557,15 @@ "NONE" ], "enumDescriptions": [ - "Unspecific value", - "High resource value", - "Medium resource value", - "Low resource value", - "No resource value, e.g. ignore these resources" + "", + "", + "", + "", + "" ], "type": "string" }, "mediumSensitivityMapping": { - "description": "Resource value mapping for medium-sensitivity Sensitive Data Protection findings", "enum": [ "RESOURCE_VALUE_UNSPECIFIED", "HIGH", @@ -4152,11 +3574,11 @@ "NONE" ], "enumDescriptions": [ - "Unspecific value", - "High resource value", - "Medium resource value", - "Low resource value", - "No resource value, e.g. ignore these resources" + "", + "", + "", + "", + "" ], "type": "string" } @@ -4164,62 +3586,51 @@ "type": "object" }, "GoogleCloudSecuritycenterV1beta1Finding": { - "description": "Security Command Center finding. A finding is a record of assessment data (security, risk, health or privacy) ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, an XSS vulnerability in an App Engine application is a finding.", "id": "GoogleCloudSecuritycenterV1beta1Finding", "properties": { "category": { - "description": "The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: \"XSS_FLASH_INJECTION\"", "type": "string" }, "createTime": { - "description": "The time at which the finding was created in Security Command Center.", "format": "google-datetime", "type": "string" }, "eventTime": { - "description": "The time at which the event took place, or when an update to the finding occurred. For example, if the finding represents an open firewall it would capture the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding were to be resolved afterward, this time would reflect when the finding was resolved.", "format": "google-datetime", "type": "string" }, "externalUri": { - "description": "The URI that, if available, points to a web page outside of Security Command Center where additional information about the finding can be found. This field is guaranteed to be either empty or a well formed URL.", "type": "string" }, "name": { - "description": "The relative resource name of this finding. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}\"", "type": "string" }, "parent": { - "description": "Immutable. The relative resource name of the source the finding belongs to. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name This field is immutable after creation time. For example: \"organizations/{organization_id}/sources/{source_id}\"", "type": "string" }, "resourceName": { - "description": "For findings on Google Cloud resources, the full resource name of the Google Cloud resource this finding is for. See: https://cloud.google.com/apis/design/resource_names#full_resource_name When the finding is for a non-Google Cloud resource, the resourceName can be a customer or partner defined string. This field is immutable after creation time.", "type": "string" }, "securityMarks": { "$ref": "GoogleCloudSecuritycenterV1beta1SecurityMarks", - "description": "Output only. User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the finding.", "readOnly": true }, "sourceProperties": { "additionalProperties": { "type": "any" }, - "description": "Source specific properties. These properties are managed by the source that writes the finding. The key names in the source_properties map must be between 1 and 255 characters, and must start with a letter and contain alphanumeric characters or underscores only.", "type": "object" }, "state": { - "description": "The state of the finding.", "enum": [ "STATE_UNSPECIFIED", "ACTIVE", "INACTIVE" ], "enumDescriptions": [ - "Unspecified state.", - "The finding requires attention and has not been addressed yet.", - "The finding has been fixed, triaged as a non-issue or otherwise addressed and is no longer active." + "", + "", + "" ], "type": "string" } @@ -4227,16 +3638,13 @@ "type": "object" }, "GoogleCloudSecuritycenterV1beta1RunAssetDiscoveryResponse": { - "description": "Response of asset discovery run", "id": "GoogleCloudSecuritycenterV1beta1RunAssetDiscoveryResponse", "properties": { "duration": { - "description": "The duration between asset discovery run start and end", "format": "google-duration", "type": "string" }, "state": { - "description": "The state of an asset discovery run.", "enum": [ "STATE_UNSPECIFIED", "COMPLETED", @@ -4244,10 +3652,10 @@ "TERMINATED" ], "enumDescriptions": [ - "Asset discovery run state was unspecified.", - "Asset discovery run completed successfully.", - "Asset discovery run was cancelled with tasks still pending, as another run for the same organization was started with a higher priority.", - "Asset discovery run was killed and terminated." + "", + "", + "", + "" ], "type": "string" } @@ -4255,68 +3663,54 @@ "type": "object" }, "GoogleCloudSecuritycenterV1beta1SecurityMarks": { - "description": "User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization.", "id": "GoogleCloudSecuritycenterV1beta1SecurityMarks", "properties": { "marks": { "additionalProperties": { "type": "string" }, - "description": "Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive)", "type": "object" }, "name": { - "description": "The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: \"organizations/{organization_id}/assets/{asset_id}/securityMarks\" \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks\".", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV1p1beta1Finding": { - "description": "Security Command Center finding. A finding is a record of assessment data (security, risk, health or privacy) ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, an XSS vulnerability in an App Engine application is a finding.", "id": "GoogleCloudSecuritycenterV1p1beta1Finding", "properties": { "canonicalName": { - "description": "The canonical name of the finding. It's either \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}\", \"folders/{folder_id}/sources/{source_id}/findings/{finding_id}\" or \"projects/{project_number}/sources/{source_id}/findings/{finding_id}\", depending on the closest CRM ancestor of the resource associated with the finding.", "type": "string" }, "category": { - "description": "The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: \"XSS_FLASH_INJECTION\"", "type": "string" }, "createTime": { - "description": "The time at which the finding was created in Security Command Center.", "format": "google-datetime", "type": "string" }, "eventTime": { - "description": "The time at which the event took place, or when an update to the finding occurred. For example, if the finding represents an open firewall it would capture the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding were to be resolved afterward, this time would reflect when the finding was resolved. Must not be set to a value greater than the current timestamp.", "format": "google-datetime", "type": "string" }, "externalUri": { - "description": "The URI that, if available, points to a web page outside of Security Command Center where additional information about the finding can be found. This field is guaranteed to be either empty or a well formed URL.", "type": "string" }, "name": { - "description": "The relative resource name of this finding. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}\"", "type": "string" }, "parent": { - "description": "The relative resource name of the source the finding belongs to. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name This field is immutable after creation time. For example: \"organizations/{organization_id}/sources/{source_id}\"", "type": "string" }, "resourceName": { - "description": "For findings on Google Cloud resources, the full resource name of the Google Cloud resource this finding is for. See: https://cloud.google.com/apis/design/resource_names#full_resource_name When the finding is for a non-Google Cloud resource, the resourceName can be a customer or partner defined string. This field is immutable after creation time.", "type": "string" }, "securityMarks": { "$ref": "GoogleCloudSecuritycenterV1p1beta1SecurityMarks", - "description": "Output only. User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the finding.", "readOnly": true }, "severity": { - "description": "The severity of the finding. This field is managed by the source that writes the finding.", "enum": [ "SEVERITY_UNSPECIFIED", "CRITICAL", @@ -4325,11 +3719,11 @@ "LOW" ], "enumDescriptions": [ - "No severity specified. The default value.", - "Critical severity.", - "High severity.", - "Medium severity.", - "Low severity." + "", + "", + "", + "", + "" ], "type": "string" }, @@ -4337,20 +3731,18 @@ "additionalProperties": { "type": "any" }, - "description": "Source specific properties. These properties are managed by the source that writes the finding. The key names in the source_properties map must be between 1 and 255 characters, and must start with a letter and contain alphanumeric characters or underscores only.", "type": "object" }, "state": { - "description": "The state of the finding.", "enum": [ "STATE_UNSPECIFIED", "ACTIVE", "INACTIVE" ], "enumDescriptions": [ - "Unspecified state.", - "The finding requires attention and has not been addressed yet.", - "The finding has been fixed, triaged as a non-issue or otherwise addressed and is no longer active." + "", + "", + "" ], "type": "string" } @@ -4358,45 +3750,36 @@ "type": "object" }, "GoogleCloudSecuritycenterV1p1beta1Folder": { - "description": "Message that contains the resource name and display name of a folder resource.", "id": "GoogleCloudSecuritycenterV1p1beta1Folder", "properties": { "resourceFolder": { - "description": "Full resource name of this folder. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", "type": "string" }, "resourceFolderDisplayName": { - "description": "The user defined display name for this folder.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV1p1beta1NotificationMessage": { - "description": "Security Command Center's Notification", "id": "GoogleCloudSecuritycenterV1p1beta1NotificationMessage", "properties": { "finding": { - "$ref": "GoogleCloudSecuritycenterV1p1beta1Finding", - "description": "If it's a Finding based notification config, this field will be populated." + "$ref": "GoogleCloudSecuritycenterV1p1beta1Finding" }, "notificationConfigName": { - "description": "Name of the notification config that generated current notification.", "type": "string" }, "resource": { - "$ref": "GoogleCloudSecuritycenterV1p1beta1Resource", - "description": "The Cloud resource tied to the notification." + "$ref": "GoogleCloudSecuritycenterV1p1beta1Resource" } }, "type": "object" }, "GoogleCloudSecuritycenterV1p1beta1Resource": { - "description": "Information related to the Google Cloud resource.", "id": "GoogleCloudSecuritycenterV1p1beta1Resource", "properties": { "folders": { - "description": "Output only. Contains a Folder message for each folder in the assets ancestry. The first folder is the deepest nested folder, and the last folder is the folder directly under the Organization.", "items": { "$ref": "GoogleCloudSecuritycenterV1p1beta1Folder" }, @@ -4404,39 +3787,31 @@ "type": "array" }, "name": { - "description": "The full resource name of the resource. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", "type": "string" }, "parent": { - "description": "The full resource name of resource's parent.", "type": "string" }, "parentDisplayName": { - "description": "The human readable name of resource's parent.", "type": "string" }, "project": { - "description": "The full resource name of project that the resource belongs to.", "type": "string" }, "projectDisplayName": { - "description": "The project id that the resource belongs to.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV1p1beta1RunAssetDiscoveryResponse": { - "description": "Response of asset discovery run", "id": "GoogleCloudSecuritycenterV1p1beta1RunAssetDiscoveryResponse", "properties": { "duration": { - "description": "The duration between asset discovery run start and end", "format": "google-duration", "type": "string" }, "state": { - "description": "The state of an asset discovery run.", "enum": [ "STATE_UNSPECIFIED", "COMPLETED", @@ -4444,10 +3819,10 @@ "TERMINATED" ], "enumDescriptions": [ - "Asset discovery run state was unspecified.", - "Asset discovery run completed successfully.", - "Asset discovery run was cancelled with tasks still pending, as another run for the same organization was started with a higher priority.", - "Asset discovery run was killed and terminated." + "", + "", + "", + "" ], "type": "string" } @@ -4455,122 +3830,96 @@ "type": "object" }, "GoogleCloudSecuritycenterV1p1beta1SecurityMarks": { - "description": "User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization.", "id": "GoogleCloudSecuritycenterV1p1beta1SecurityMarks", "properties": { "canonicalName": { - "description": "The canonical name of the marks. Examples: \"organizations/{organization_id}/assets/{asset_id}/securityMarks\" \"folders/{folder_id}/assets/{asset_id}/securityMarks\" \"projects/{project_number}/assets/{asset_id}/securityMarks\" \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks\" \"folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks\" \"projects/{project_number}/sources/{source_id}/findings/{finding_id}/securityMarks\"", "type": "string" }, "marks": { "additionalProperties": { "type": "string" }, - "description": "Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive)", "type": "object" }, "name": { - "description": "The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: \"organizations/{organization_id}/assets/{asset_id}/securityMarks\" \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks\".", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Access": { - "description": "Represents an access event.", "id": "GoogleCloudSecuritycenterV2Access", "properties": { "callerIp": { - "description": "Caller's IP address, such as \"1.1.1.1\".", "type": "string" }, "callerIpGeo": { - "$ref": "GoogleCloudSecuritycenterV2Geolocation", - "description": "The caller IP's geolocation, which identifies where the call came from." + "$ref": "GoogleCloudSecuritycenterV2Geolocation" }, "methodName": { - "description": "The method that the service account called, e.g. \"SetIamPolicy\".", "type": "string" }, "principalEmail": { - "description": "Associated email, such as \"foo@google.com\". The email address of the authenticated user or a service account acting on behalf of a third party principal making the request. For third party identity callers, the `principal_subject` field is populated instead of this field. For privacy reasons, the principal email address is sometimes redacted. For more information, see [Caller identities in audit logs](https://cloud.google.com/logging/docs/audit#user-id).", "type": "string" }, "principalSubject": { - "description": "A string that represents the principal_subject that is associated with the identity. Unlike `principal_email`, `principal_subject` supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format is `principal://iam.googleapis.com/{identity pool name}/subject/{subject}`. Some GKE identities, such as GKE_WORKLOAD, FREEFORM, and GKE_HUB_WORKLOAD, still use the legacy format `serviceAccount:{identity pool name}[{subject}]`.", "type": "string" }, "serviceAccountDelegationInfo": { - "description": "The identity delegation history of an authenticated service account that made the request. The `serviceAccountDelegationInfo[]` object contains information about the real authorities that try to access Google Cloud resources by delegating on a service account. When multiple authorities are present, they are guaranteed to be sorted based on the original ordering of the identity delegation events.", "items": { "$ref": "GoogleCloudSecuritycenterV2ServiceAccountDelegationInfo" }, "type": "array" }, "serviceAccountKeyName": { - "description": "The name of the service account key that was used to create or exchange credentials when authenticating the service account that made the request. This is a scheme-less URI full resource name. For example: \"//iam.googleapis.com/projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}\". ", "type": "string" }, "serviceName": { - "description": "This is the API service that the service account made a call to, e.g. \"iam.googleapis.com\"", "type": "string" }, "userAgent": { - "description": "The caller's user agent string associated with the finding.", "type": "string" }, "userAgentFamily": { - "description": "Type of user agent associated with the finding. For example, an operating system shell or an embedded or standalone application.", "type": "string" }, "userName": { - "description": "A string that represents a username. The username provided depends on the type of the finding and is likely not an IAM principal. For example, this can be a system username if the finding is related to a virtual machine, or it can be an application login username.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AccessReview": { - "description": "Conveys information about a Kubernetes access review (such as one returned by a [`kubectl auth can-i`](https://kubernetes.io/docs/reference/access-authn-authz/authorization/#checking-api-access) command) that was involved in a finding.", "id": "GoogleCloudSecuritycenterV2AccessReview", "properties": { "group": { - "description": "The API group of the resource. \"*\" means all.", "type": "string" }, "name": { - "description": "The name of the resource being requested. Empty means all.", "type": "string" }, "ns": { - "description": "Namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces. Both are represented by \"\" (empty).", "type": "string" }, "resource": { - "description": "The optional resource type requested. \"*\" means all.", "type": "string" }, "subresource": { - "description": "The optional subresource type.", "type": "string" }, "verb": { - "description": "A Kubernetes resource API verb, like get, list, watch, create, update, delete, proxy. \"*\" means all.", "type": "string" }, "version": { - "description": "The API version of the resource. \"*\" means all.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AdaptiveProtection": { - "description": "Information about [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-protection).", "id": "GoogleCloudSecuritycenterV2AdaptiveProtection", "properties": { "confidence": { - "description": "A score of 0 means that there is low confidence that the detected event is an actual attack. A score of 1 means that there is high confidence that the detected event is an attack. See the [Adaptive Protection documentation](https://cloud.google.com/armor/docs/adaptive-protection-overview#configure-alert-tuning) for further explanation.", "format": "double", "type": "number" } @@ -4578,48 +3927,39 @@ "type": "object" }, "GoogleCloudSecuritycenterV2AdcApplication": { - "description": "Represents an ADC application associated with the finding.", "id": "GoogleCloudSecuritycenterV2AdcApplication", "properties": { "attributes": { - "$ref": "GoogleCloudSecuritycenterV2ResourceApplicationAttributes", - "description": "Consumer provided attributes for the AppHub application." + "$ref": "GoogleCloudSecuritycenterV2ResourceApplicationAttributes" }, "name": { - "description": "The resource name of an ADC Application. Format: projects/{project}/locations/{location}/spaces/{space}/applications/{application}", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AdcApplicationTemplateRevision": { - "description": "Represents an ADC template associated with the finding.", "id": "GoogleCloudSecuritycenterV2AdcApplicationTemplateRevision", "properties": { "name": { - "description": "The resource name of an ADC Application Template Revision. Format: projects/{project}/locations/{location}/spaces/{space}/applicationTemplates/{application_template}/revisions/{revision}", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AdcSharedTemplateRevision": { - "description": "Represents an ADC shared template associated with the finding.", "id": "GoogleCloudSecuritycenterV2AdcSharedTemplateRevision", "properties": { "name": { - "description": "The resource name of an ADC Shared Template Revision. Format: projects/{project}/locations/{location}/spaces/{space}/applicationTemplates/{application_template}/revisions/{revision}", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AffectedResources": { - "description": "Details about resources affected by this finding.", "id": "GoogleCloudSecuritycenterV2AffectedResources", "properties": { "count": { - "description": "The count of resources affected by the finding.", "format": "int64", "type": "string" } @@ -4627,20 +3967,16 @@ "type": "object" }, "GoogleCloudSecuritycenterV2AgentDataAccessEvent": { - "description": "Details about a data access attempt made by an agent principal not authorized under applicable data security policy.", "id": "GoogleCloudSecuritycenterV2AgentDataAccessEvent", "properties": { "eventId": { - "description": "Unique identifier for data access event.", "type": "string" }, "eventTime": { - "description": "Timestamp of data access event.", "format": "google-datetime", "type": "string" }, "operation": { - "description": "The operation performed by the principal to access the data.", "enum": [ "OPERATION_UNSPECIFIED", "READ", @@ -4648,26 +3984,23 @@ "COPY" ], "enumDescriptions": [ - "The operation is unspecified.", - "Represents a read operation.", - "Represents a move operation.", - "Represents a copy operation." + "", + "", + "", + "" ], "type": "string" }, "principalSubject": { - "description": "The agent principal that accessed the data.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AiModel": { - "description": "Contains information about the AI model associated with the finding.", "id": "GoogleCloudSecuritycenterV2AiModel", "properties": { "deploymentPlatform": { - "description": "The platform on which the model is deployed.", "enum": [ "DEPLOYMENT_PLATFORM_UNSPECIFIED", "VERTEX_AI", @@ -4676,51 +4009,42 @@ "FINE_TUNED_MODEL" ], "enumDescriptions": [ - "Unspecified deployment platform.", - "Vertex AI.", - "Google Kubernetes Engine.", - "Google Compute Engine.", - "Fine tuned model." + "", + "", + "", + "", + "" ], "type": "string" }, "displayName": { - "description": "The user defined display name of model. Ex. baseline-classification-model", "type": "string" }, "domain": { - "description": "The domain of the model, for example, “image-classification”.", "type": "string" }, "library": { - "description": "The name of the model library, for example, “transformers”.", "type": "string" }, "location": { - "description": "The region in which the model is used, for example, “us-central1”.", "type": "string" }, "name": { - "description": "The name of the AI model, for example, \"gemini:1.0.0\".", "type": "string" }, "publisher": { - "description": "The publisher of the model, for example, “google” or “nvidia”.", "type": "string" }, "usageCategory": { - "description": "The purpose of the model, for example, \"Inteference\" or \"Training\".", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Allowed": { - "description": "Allowed IP rule.", "id": "GoogleCloudSecuritycenterV2Allowed", "properties": { "ipRules": { - "description": "Optional. Optional list of allowed IP rules.", "items": { "$ref": "GoogleCloudSecuritycenterV2IpRule" }, @@ -4730,59 +4054,49 @@ "type": "object" }, "GoogleCloudSecuritycenterV2Application": { - "description": "Represents an application associated with a finding.", "id": "GoogleCloudSecuritycenterV2Application", "properties": { "baseUri": { - "description": "The base URI that identifies the network location of the application in which the vulnerability was detected. For example, `http://example.com`.", "type": "string" }, "fullUri": { - "description": "The full URI with payload that could be used to reproduce the vulnerability. For example, `http://example.com?p=aMmYgI6H`.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2ArtifactGuardPolicies": { - "description": "Represents the result of evaluating artifact guard policies.", "id": "GoogleCloudSecuritycenterV2ArtifactGuardPolicies", "properties": { "failingPolicies": { - "description": "A list of failing policies.", "items": { "$ref": "GoogleCloudSecuritycenterV2ArtifactGuardPolicy" }, "type": "array" }, "resourceId": { - "description": "The ID of the resource that has policies configured for it.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2ArtifactGuardPolicy": { - "description": "Represents an artifact guard policy.", "id": "GoogleCloudSecuritycenterV2ArtifactGuardPolicy", "properties": { "failureReason": { - "description": "The reason for the policy failure, for example, \"severity=HIGH AND max_vuln_count=2\".", "type": "string" }, "policyId": { - "description": "The ID of the failing policy, for example, \"organizations/3392779/locations/global/policies/prod-policy\".", "type": "string" }, "type": { - "description": "The type of the policy evaluation.", "enum": [ "ARTIFACT_GUARD_POLICY_TYPE_UNSPECIFIED", "VULNERABILITY" ], "enumDescriptions": [ - "Default value. This value is unused.", - "Vulnerability type." + "", + "" ], "type": "string" } @@ -4790,32 +4104,26 @@ "type": "object" }, "GoogleCloudSecuritycenterV2Attack": { - "description": "Information about DDoS attack volume and classification.", "id": "GoogleCloudSecuritycenterV2Attack", "properties": { "classification": { - "description": "Type of attack, for example, 'SYN-flood', 'NTP-udp', or 'CHARGEN-udp'.", "type": "string" }, "volumeBps": { "deprecated": true, - "description": "Total BPS (bytes per second) volume of attack. Deprecated - refer to volume_bps_long instead.", "format": "int32", "type": "integer" }, "volumeBpsLong": { - "description": "Total BPS (bytes per second) volume of attack.", "format": "int64", "type": "string" }, "volumePps": { "deprecated": true, - "description": "Total PPS (packets per second) volume of attack. Deprecated - refer to volume_pps_long instead.", "format": "int32", "type": "integer" }, "volumePpsLong": { - "description": "Total PPS (packets per second) volume of attack.", "format": "int64", "type": "string" } @@ -4823,49 +4131,41 @@ "type": "object" }, "GoogleCloudSecuritycenterV2AttackExposure": { - "description": "An attack exposure contains the results of an attack path simulation run.", "id": "GoogleCloudSecuritycenterV2AttackExposure", "properties": { "attackExposureResult": { - "description": "The resource name of the attack path simulation result that contains the details regarding this attack exposure score. Example: `organizations/123/simulations/456/attackExposureResults/789`", "type": "string" }, "exposedHighValueResourcesCount": { - "description": "The number of high value resources that are exposed as a result of this finding.", "format": "int32", "type": "integer" }, "exposedLowValueResourcesCount": { - "description": "The number of high value resources that are exposed as a result of this finding.", "format": "int32", "type": "integer" }, "exposedMediumValueResourcesCount": { - "description": "The number of medium value resources that are exposed as a result of this finding.", "format": "int32", "type": "integer" }, "latestCalculationTime": { - "description": "The most recent time the attack exposure was updated on this finding.", "format": "google-datetime", "type": "string" }, "score": { - "description": "A number between 0 (inclusive) and infinity that represents how important this finding is to remediate. The higher the score, the more important it is to remediate.", "format": "double", "type": "number" }, "state": { - "description": "Output only. What state this AttackExposure is in. This captures whether or not an attack exposure has been calculated or not.", "enum": [ "STATE_UNSPECIFIED", "CALCULATED", "NOT_CALCULATED" ], "enumDescriptions": [ - "The state is not specified.", - "The attack exposure has been calculated.", - "The attack exposure has not been calculated." + "", + "", + "" ], "readOnly": true, "type": "string" @@ -4874,34 +4174,27 @@ "type": "object" }, "GoogleCloudSecuritycenterV2AwsAccount": { - "description": "An AWS account that is a member of an organization.", "id": "GoogleCloudSecuritycenterV2AwsAccount", "properties": { "id": { - "description": "The unique identifier (ID) of the account, containing exactly 12 digits.", "type": "string" }, "name": { - "description": "The friendly name of this account.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AwsMetadata": { - "description": "AWS metadata associated with the resource, only applicable if the finding's cloud provider is Amazon Web Services.", "id": "GoogleCloudSecuritycenterV2AwsMetadata", "properties": { "account": { - "$ref": "GoogleCloudSecuritycenterV2AwsAccount", - "description": "The AWS account associated with the resource." + "$ref": "GoogleCloudSecuritycenterV2AwsAccount" }, "organization": { - "$ref": "GoogleCloudSecuritycenterV2AwsOrganization", - "description": "The AWS organization associated with the resource." + "$ref": "GoogleCloudSecuritycenterV2AwsOrganization" }, "organizationalUnits": { - "description": "A list of AWS organizational units associated with the resource, ordered from lowest level (closest to the account) to highest level.", "items": { "$ref": "GoogleCloudSecuritycenterV2AwsOrganizationalUnit" }, @@ -4911,217 +4204,174 @@ "type": "object" }, "GoogleCloudSecuritycenterV2AwsOrganization": { - "description": "An organization is a collection of accounts that are centrally managed together using consolidated billing, organized hierarchically with organizational units (OUs), and controlled with policies.", "id": "GoogleCloudSecuritycenterV2AwsOrganization", "properties": { "id": { - "description": "The unique identifier (ID) for the organization. The regex pattern for an organization ID string requires \"o-\" followed by from 10 to 32 lowercase letters or digits.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AwsOrganizationalUnit": { - "description": "An Organizational Unit (OU) is a container of AWS accounts within a root of an organization. Policies that are attached to an OU apply to all accounts contained in that OU and in any child OUs.", "id": "GoogleCloudSecuritycenterV2AwsOrganizationalUnit", "properties": { "id": { - "description": "The unique identifier (ID) associated with this OU. The regex pattern for an organizational unit ID string requires \"ou-\" followed by from 4 to 32 lowercase letters or digits (the ID of the root that contains the OU). This string is followed by a second \"-\" dash and from 8 to 32 additional lowercase letters or digits. For example, \"ou-ab12-cd34ef56\".", "type": "string" }, "name": { - "description": "The friendly name of the OU.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AzureManagementGroup": { - "description": "Represents an Azure management group.", "id": "GoogleCloudSecuritycenterV2AzureManagementGroup", "properties": { "displayName": { - "description": "The display name of the Azure management group.", "type": "string" }, "id": { - "description": "The UUID of the Azure management group, for example, `20000000-0001-0000-0000-000000000000`.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AzureMetadata": { - "description": "Azure metadata associated with the resource, only applicable if the finding's cloud provider is Microsoft Azure.", "id": "GoogleCloudSecuritycenterV2AzureMetadata", "properties": { "managementGroups": { - "description": "A list of Azure management groups associated with the resource, ordered from lowest level (closest to the subscription) to highest level.", "items": { "$ref": "GoogleCloudSecuritycenterV2AzureManagementGroup" }, "type": "array" }, "resourceGroup": { - "$ref": "GoogleCloudSecuritycenterV2AzureResourceGroup", - "description": "The Azure resource group associated with the resource." + "$ref": "GoogleCloudSecuritycenterV2AzureResourceGroup" }, "subscription": { - "$ref": "GoogleCloudSecuritycenterV2AzureSubscription", - "description": "The Azure subscription associated with the resource." + "$ref": "GoogleCloudSecuritycenterV2AzureSubscription" }, "tenant": { - "$ref": "GoogleCloudSecuritycenterV2AzureTenant", - "description": "The Azure Entra tenant associated with the resource." + "$ref": "GoogleCloudSecuritycenterV2AzureTenant" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AzureResourceGroup": { - "description": "Represents an Azure resource group.", "id": "GoogleCloudSecuritycenterV2AzureResourceGroup", "properties": { "id": { - "description": "The ID of the Azure resource group.", "type": "string" }, "name": { - "description": "The name of the Azure resource group. This is not a UUID.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AzureSubscription": { - "description": "Represents an Azure subscription.", "id": "GoogleCloudSecuritycenterV2AzureSubscription", "properties": { "displayName": { - "description": "The display name of the Azure subscription.", "type": "string" }, "id": { - "description": "The UUID of the Azure subscription, for example, `291bba3f-e0a5-47bc-a099-3bdcb2a50a05`.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AzureTenant": { - "description": "Represents a Microsoft Entra tenant.", "id": "GoogleCloudSecuritycenterV2AzureTenant", "properties": { "displayName": { - "description": "The display name of the Azure tenant.", "type": "string" }, "id": { - "description": "The ID of the Microsoft Entra tenant, for example, \"a11aaa11-aa11-1aa1-11aa-1aaa11a\".", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2BackupDisasterRecovery": { - "description": "Information related to Google Cloud Backup and DR Service findings.", "id": "GoogleCloudSecuritycenterV2BackupDisasterRecovery", "properties": { "appliance": { - "description": "The name of the Backup and DR appliance that captures, moves, and manages the lifecycle of backup data. For example, `backup-server-57137`.", "type": "string" }, "applications": { - "description": "The names of Backup and DR applications. An application is a VM, database, or file system on a managed host monitored by a backup and recovery appliance. For example, `centos7-01-vol00`, `centos7-01-vol01`, `centos7-01-vol02`.", "items": { "type": "string" }, "type": "array" }, "backupCreateTime": { - "description": "The timestamp at which the Backup and DR backup was created.", "format": "google-datetime", "type": "string" }, "backupTemplate": { - "description": "The name of a Backup and DR template which comprises one or more backup policies. See the [Backup and DR documentation](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#temp) for more information. For example, `snap-ov`.", "type": "string" }, "backupType": { - "description": "The backup type of the Backup and DR image. For example, `Snapshot`, `Remote Snapshot`, `OnVault`.", "type": "string" }, "host": { - "description": "The name of a Backup and DR host, which is managed by the backup and recovery appliance and known to the management console. The host can be of type Generic (for example, Compute Engine, SQL Server, Oracle DB, SMB file system, etc.), vCenter, or an ESX server. See the [Backup and DR documentation on hosts](https://cloud.google.com/backup-disaster-recovery/docs/configuration/manage-hosts-and-their-applications) for more information. For example, `centos7-01`.", "type": "string" }, "policies": { - "description": "The names of Backup and DR policies that are associated with a template and that define when to run a backup, how frequently to run a backup, and how long to retain the backup image. For example, `onvaults`.", "items": { "type": "string" }, "type": "array" }, "policyOptions": { - "description": "The names of Backup and DR advanced policy options of a policy applying to an application. See the [Backup and DR documentation on policy options](https://cloud.google.com/backup-disaster-recovery/docs/create-plan/policy-settings). For example, `skipofflineappsincongrp, nounmap`.", "items": { "type": "string" }, "type": "array" }, "profile": { - "description": "The name of the Backup and DR resource profile that specifies the storage media for backups of application and VM data. See the [Backup and DR documentation on profiles](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#profile). For example, `GCP`.", "type": "string" }, "storagePool": { - "description": "The name of the Backup and DR storage pool that the backup and recovery appliance is storing data in. The storage pool could be of type Cloud, Primary, Snapshot, or OnVault. See the [Backup and DR documentation on storage pools](https://cloud.google.com/backup-disaster-recovery/docs/concepts/storage-pools). For example, `DiskPoolOne`.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2BigQueryExport": { - "description": "Configures how to deliver Findings to BigQuery Instance.", "id": "GoogleCloudSecuritycenterV2BigQueryExport", "properties": { "createTime": { - "description": "Output only. The time at which the BigQuery export was created. This field is set by the server and will be ignored if provided on export on creation.", "format": "google-datetime", "readOnly": true, "type": "string" }, "cryptoKeyName": { - "description": "Output only. The resource name of the Cloud KMS `CryptoKey` used to protect this configuration's data, if configured during Security Command Center activation.", "readOnly": true, "type": "string" }, "dataset": { - "description": "The dataset to write findings' updates to. Its format is \"projects/[project_id]/datasets/[bigquery_dataset_id]\". BigQuery dataset unique ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_).", "type": "string" }, "description": { - "description": "The description of the export (max of 1024 characters).", "type": "string" }, "filter": { - "description": "Expression that defines the filter to apply across create/update events of findings. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes.", "type": "string" }, "mostRecentEditor": { - "description": "Output only. Email address of the user who last edited the BigQuery export. This field is set by the server and will be ignored if provided on export creation or update.", "readOnly": true, "type": "string" }, "name": { - "description": "Identifier. The relative resource name of this export. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name. The following list shows some examples: + `organizations/{organization_id}/locations/{location_id}/bigQueryExports/{export_id}` + `folders/{folder_id}/locations/{location_id}/bigQueryExports/{export_id}` + `projects/{project_id}/locations/{location_id}/bigQueryExports/{export_id}` This field is provided in responses, and is ignored when provided in create requests.", "type": "string" }, "principal": { - "description": "Output only. The service account that needs permission to create table and upload data to the BigQuery dataset.", "readOnly": true, "type": "string" }, "updateTime": { - "description": "Output only. The most recent time at which the BigQuery export was updated. This field is set by the server and will be ignored if provided on export creation or update.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -5130,23 +4380,18 @@ "type": "object" }, "GoogleCloudSecuritycenterV2Binding": { - "description": "Represents a Kubernetes RoleBinding or ClusterRoleBinding.", "id": "GoogleCloudSecuritycenterV2Binding", "properties": { "name": { - "description": "Name for the binding.", "type": "string" }, "ns": { - "description": "Namespace for the binding.", "type": "string" }, "role": { - "$ref": "GoogleCloudSecuritycenterV2Role", - "description": "The Role or ClusterRole referenced by the binding." + "$ref": "GoogleCloudSecuritycenterV2Role" }, "subjects": { - "description": "Represents one or more subjects that are bound to the role. Not always available for PATCH requests.", "items": { "$ref": "GoogleCloudSecuritycenterV2Subject" }, @@ -5156,17 +4401,14 @@ "type": "object" }, "GoogleCloudSecuritycenterV2BulkMuteFindingsResponse": { - "description": "The response to a BulkMute request. Contains the LRO information.", "id": "GoogleCloudSecuritycenterV2BulkMuteFindingsResponse", "properties": {}, "type": "object" }, "GoogleCloudSecuritycenterV2Chokepoint": { - "description": "Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations).", "id": "GoogleCloudSecuritycenterV2Chokepoint", "properties": { "relatedFindings": { - "description": "List of resource names of findings associated with this chokepoint. For example, organizations/123/sources/456/findings/789. This list will have at most 100 findings.", "items": { "type": "string" }, @@ -5176,65 +4418,53 @@ "type": "object" }, "GoogleCloudSecuritycenterV2CloudArmor": { - "description": "Fields related to Google Cloud Armor findings.", "id": "GoogleCloudSecuritycenterV2CloudArmor", "properties": { "adaptiveProtection": { - "$ref": "GoogleCloudSecuritycenterV2AdaptiveProtection", - "description": "Information about potential Layer 7 DDoS attacks identified by [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/adaptive-protection-overview)." + "$ref": "GoogleCloudSecuritycenterV2AdaptiveProtection" }, "attack": { - "$ref": "GoogleCloudSecuritycenterV2Attack", - "description": "Information about DDoS attack volume and classification." + "$ref": "GoogleCloudSecuritycenterV2Attack" }, "duration": { - "description": "Duration of attack from the start until the current moment (updated every 5 minutes).", "format": "google-duration", "type": "string" }, "requests": { - "$ref": "GoogleCloudSecuritycenterV2Requests", - "description": "Information about incoming requests evaluated by [Google Cloud Armor security policies](https://cloud.google.com/armor/docs/security-policy-overview)." + "$ref": "GoogleCloudSecuritycenterV2Requests" }, "securityPolicy": { - "$ref": "GoogleCloudSecuritycenterV2SecurityPolicy", - "description": "Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding." + "$ref": "GoogleCloudSecuritycenterV2SecurityPolicy" }, "threatVector": { - "description": "Distinguish between volumetric & protocol DDoS attack and application layer attacks. For example, \"L3_4\" for Layer 3 and Layer 4 DDoS attacks, or \"L_7\" for Layer 7 DDoS attacks.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2CloudControl": { - "description": "CloudControl associated with the finding.", "id": "GoogleCloudSecuritycenterV2CloudControl", "properties": { "cloudControlName": { - "description": "Name of the CloudControl associated with the finding.", "type": "string" }, "policyType": { - "description": "Policy type of the CloudControl", "type": "string" }, "type": { - "description": "Type of cloud control.", "enum": [ "CLOUD_CONTROL_TYPE_UNSPECIFIED", "BUILT_IN", "CUSTOM" ], "enumDescriptions": [ - "Unspecified.", - "Built in Cloud Control.", - "Custom Cloud Control." + "", + "", + "" ], "type": "string" }, "version": { - "description": "Version of the Cloud Control", "format": "int32", "type": "integer" } @@ -5242,31 +4472,27 @@ "type": "object" }, "GoogleCloudSecuritycenterV2CloudDlpDataProfile": { - "description": "The [data profile](https://cloud.google.com/dlp/docs/data-profiles) associated with the finding.", "id": "GoogleCloudSecuritycenterV2CloudDlpDataProfile", "properties": { "dataProfile": { - "description": "Name of the data profile, for example, `projects/123/locations/europe/tableProfiles/8383929`.", "type": "string" }, "infoTypes": { - "description": "Type of information detected by SDP. Info type includes name, version and sensitivity of the detected information type.", "items": { "$ref": "GoogleCloudSecuritycenterV2InfoType" }, "type": "array" }, "parentType": { - "description": "The resource hierarchy level at which the data profile was generated.", "enum": [ "PARENT_TYPE_UNSPECIFIED", "ORGANIZATION", "PROJECT" ], "enumDescriptions": [ - "Unspecified parent type.", - "Organization-level configurations.", - "Project-level configurations." + "", + "", + "" ], "type": "string" } @@ -5274,47 +4500,37 @@ "type": "object" }, "GoogleCloudSecuritycenterV2CloudDlpInspection": { - "description": "Details about the Cloud Data Loss Prevention (Cloud DLP) [inspection job](https://cloud.google.com/dlp/docs/concepts-job-triggers) that produced the finding.", "id": "GoogleCloudSecuritycenterV2CloudDlpInspection", "properties": { "fullScan": { - "description": "Whether Cloud DLP scanned the complete resource or a sampled subset.", "type": "boolean" }, "infoType": { - "description": "The type of information (or *[infoType](https://cloud.google.com/dlp/docs/infotypes-reference)*) found, for example, `EMAIL_ADDRESS` or `STREET_ADDRESS`.", "type": "string" }, "infoTypeCount": { - "description": "The number of times Cloud DLP found this infoType within this job and resource.", "format": "int64", "type": "string" }, "inspectJob": { - "description": "Name of the inspection job, for example, `projects/123/locations/europe/dlpJobs/i-8383929`.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2CloudLoggingEntry": { - "description": "Metadata taken from a [Cloud Logging LogEntry](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry)", "id": "GoogleCloudSecuritycenterV2CloudLoggingEntry", "properties": { "insertId": { - "description": "A unique identifier for the log entry.", "type": "string" }, "logId": { - "description": "The type of the log (part of `log_name`. `log_name` is the resource name of the log to which this log entry belongs). For example: `cloudresourcemanager.googleapis.com/activity` Note that this field is not URL-encoded, unlike in `LogEntry`.", "type": "string" }, "resourceContainer": { - "description": "The organization, folder, or project of the monitored resource that produced this log entry.", "type": "string" }, "timestamp": { - "description": "The time the event described by the log entry occurred.", "format": "google-datetime", "type": "string" } @@ -5322,44 +4538,36 @@ "type": "object" }, "GoogleCloudSecuritycenterV2Compliance": { - "description": "Contains compliance information about a security standard indicating unmet recommendations.", "id": "GoogleCloudSecuritycenterV2Compliance", "properties": { "ids": { - "description": "Policies within the standard or benchmark, for example, A.12.4.1", "items": { "type": "string" }, "type": "array" }, "standard": { - "description": "Industry-wide compliance standards or benchmarks, such as CIS, PCI, and OWASP.", "type": "string" }, "version": { - "description": "Version of the standard or benchmark, for example, 1.1", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2ComplianceDetails": { - "description": "Compliance Details associated with the finding.", "id": "GoogleCloudSecuritycenterV2ComplianceDetails", "properties": { "cloudControl": { - "$ref": "GoogleCloudSecuritycenterV2CloudControl", - "description": "CloudControl associated with the finding" + "$ref": "GoogleCloudSecuritycenterV2CloudControl" }, "cloudControlDeploymentNames": { - "description": "Cloud Control Deployments associated with the finding. For example, organizations/123/locations/global/cloudControlDeployments/deploymentIdentifier", "items": { "type": "string" }, "type": "array" }, "frameworks": { - "description": "Details of Frameworks associated with the finding", "items": { "$ref": "GoogleCloudSecuritycenterV2Framework" }, @@ -5369,20 +4577,16 @@ "type": "object" }, "GoogleCloudSecuritycenterV2Connection": { - "description": "Contains information about the IP connection associated with the finding.", "id": "GoogleCloudSecuritycenterV2Connection", "properties": { "destinationIp": { - "description": "Destination IP address. Not present for sockets that are listening and not connected.", "type": "string" }, "destinationPort": { - "description": "Destination port. Not present for sockets that are listening and not connected.", "format": "int32", "type": "integer" }, "protocol": { - "description": "IANA Internet Protocol Number such as TCP(6) and UDP(17).", "enum": [ "PROTOCOL_UNSPECIFIED", "ICMP", @@ -5392,21 +4596,19 @@ "ESP" ], "enumDescriptions": [ - "Unspecified protocol (not HOPOPT).", - "Internet Control Message Protocol.", - "Transmission Control Protocol.", - "User Datagram Protocol.", - "Generic Routing Encapsulation.", - "Encap Security Payload." + "", + "", + "", + "", + "", + "" ], "type": "string" }, "sourceIp": { - "description": "Source IP address.", "type": "string" }, "sourcePort": { - "description": "Source port.", "format": "int32", "type": "integer" } @@ -5414,22 +4616,18 @@ "type": "object" }, "GoogleCloudSecuritycenterV2Contact": { - "description": "The email address of a contact.", "id": "GoogleCloudSecuritycenterV2Contact", "properties": { "email": { - "description": "An email address. For example, \"`person123@company.com`\".", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2ContactDetails": { - "description": "Details about specific contacts", "id": "GoogleCloudSecuritycenterV2ContactDetails", "properties": { "contacts": { - "description": "A list of contacts", "items": { "$ref": "GoogleCloudSecuritycenterV2Contact" }, @@ -5439,66 +4637,53 @@ "type": "object" }, "GoogleCloudSecuritycenterV2Container": { - "description": "Container associated with the finding.", "id": "GoogleCloudSecuritycenterV2Container", "properties": { "createTime": { - "description": "The time that the container was created.", "format": "google-datetime", "type": "string" }, "imageId": { - "description": "Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest.", "type": "string" }, "labels": { - "description": "Container labels, as provided by the container runtime.", "items": { "$ref": "GoogleCloudSecuritycenterV2Label" }, "type": "array" }, "name": { - "description": "Name of the container.", "type": "string" }, "uri": { - "description": "Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Control": { - "description": "Compliance control associated with the finding.", "id": "GoogleCloudSecuritycenterV2Control", "properties": { "controlName": { - "description": "Name of the Control", "type": "string" }, "displayName": { - "description": "Display name of the control. For example, AU-02.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Cve": { - "description": "CVE stands for Common Vulnerabilities and Exposures. Information from the [CVE record](https://www.cve.org/ResourcesSupport/Glossary) that describes this vulnerability.", "id": "GoogleCloudSecuritycenterV2Cve", "properties": { "cvssv3": { - "$ref": "GoogleCloudSecuritycenterV2Cvssv3", - "description": "Describe Common Vulnerability Scoring System specified at https://www.first.org/cvss/v3.1/specification-document" + "$ref": "GoogleCloudSecuritycenterV2Cvssv3" }, "exploitReleaseDate": { - "description": "Date the first publicly available exploit or PoC was released.", "format": "google-datetime", "type": "string" }, "exploitationActivity": { - "description": "The exploitation activity of the vulnerability in the wild.", "enum": [ "EXPLOITATION_ACTIVITY_UNSPECIFIED", "WIDE", @@ -5508,26 +4693,23 @@ "NO_KNOWN" ], "enumDescriptions": [ - "Invalid or empty value.", - "Exploitation has been reported or confirmed to widely occur.", - "Limited reported or confirmed exploitation activities.", - "Exploit is publicly available.", - "No known exploitation activity, but has a high potential for exploitation.", - "No known exploitation activity." + "", + "", + "", + "", + "", + "" ], "type": "string" }, "firstExploitationDate": { - "description": "Date of the earliest known exploitation.", "format": "google-datetime", "type": "string" }, "id": { - "description": "The unique identifier for the vulnerability. e.g. CVE-2021-34527", "type": "string" }, "impact": { - "description": "The potential impact of the vulnerability if it was to be exploited.", "enum": [ "RISK_RATING_UNSPECIFIED", "LOW", @@ -5536,56 +4718,49 @@ "CRITICAL" ], "enumDescriptions": [ - "Invalid or empty value.", - "Exploitation would have little to no security impact.", - "Exploitation would enable attackers to perform activities, or could allow attackers to have a direct impact, but would require additional steps.", - "Exploitation would enable attackers to have a notable direct impact without needing to overcome any major mitigating factors.", - "Exploitation would fundamentally undermine the security of affected systems, enable actors to perform significant attacks with minimal effort, with little to no mitigating factors to overcome." + "", + "", + "", + "", + "" ], "type": "string" }, "observedInTheWild": { - "description": "Whether or not the vulnerability has been observed in the wild.", "type": "boolean" }, "references": { - "description": "Additional information about the CVE. e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527", "items": { "$ref": "GoogleCloudSecuritycenterV2Reference" }, "type": "array" }, "upstreamFixAvailable": { - "description": "Whether upstream fix is available for the CVE.", "type": "boolean" }, "zeroDay": { - "description": "Whether or not the vulnerability was zero day when the finding was published.", "type": "boolean" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Cvssv3": { - "description": "Common Vulnerability Scoring System version 3.", "id": "GoogleCloudSecuritycenterV2Cvssv3", "properties": { "attackComplexity": { - "description": "This metric describes the conditions beyond the attacker's control that must exist in order to exploit the vulnerability.", "enum": [ "ATTACK_COMPLEXITY_UNSPECIFIED", "ATTACK_COMPLEXITY_LOW", "ATTACK_COMPLEXITY_HIGH" ], "enumDescriptions": [ - "Invalid value.", - "Specialized access conditions or extenuating circumstances do not exist. An attacker can expect repeatable success when attacking the vulnerable component.", - "A successful attack depends on conditions beyond the attacker's control. That is, a successful attack cannot be accomplished at will, but requires the attacker to invest in some measurable amount of effort in preparation or execution against the vulnerable component before a successful attack can be expected." + "", + "", + "" ], "type": "string" }, "attackVector": { - "description": "Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. This metric reflects the context by which vulnerability exploitation is possible.", "enum": [ "ATTACK_VECTOR_UNSPECIFIED", "ATTACK_VECTOR_NETWORK", @@ -5594,16 +4769,15 @@ "ATTACK_VECTOR_PHYSICAL" ], "enumDescriptions": [ - "Invalid value.", - "The vulnerable component is bound to the network stack and the set of possible attackers extends beyond the other options listed below, up to and including the entire Internet.", - "The vulnerable component is bound to the network stack, but the attack is limited at the protocol level to a logically adjacent topology.", - "The vulnerable component is not bound to the network stack and the attacker's path is via read/write/execute capabilities.", - "The attack requires the attacker to physically touch or manipulate the vulnerable component." + "", + "", + "", + "", + "" ], "type": "string" }, "availabilityImpact": { - "description": "This metric measures the impact to the availability of the impacted component resulting from a successfully exploited vulnerability.", "enum": [ "IMPACT_UNSPECIFIED", "IMPACT_HIGH", @@ -5611,20 +4785,18 @@ "IMPACT_NONE" ], "enumDescriptions": [ - "Invalid value.", - "High impact.", - "Low impact.", - "No impact." + "", + "", + "", + "" ], "type": "string" }, "baseScore": { - "description": "The base score is a function of the base metric scores.", "format": "double", "type": "number" }, "confidentialityImpact": { - "description": "This metric measures the impact to the confidentiality of the information resources managed by a software component due to a successfully exploited vulnerability.", "enum": [ "IMPACT_UNSPECIFIED", "IMPACT_HIGH", @@ -5632,15 +4804,14 @@ "IMPACT_NONE" ], "enumDescriptions": [ - "Invalid value.", - "High impact.", - "Low impact.", - "No impact." + "", + "", + "", + "" ], "type": "string" }, "integrityImpact": { - "description": "This metric measures the impact to integrity of a successfully exploited vulnerability.", "enum": [ "IMPACT_UNSPECIFIED", "IMPACT_HIGH", @@ -5648,15 +4819,14 @@ "IMPACT_NONE" ], "enumDescriptions": [ - "Invalid value.", - "High impact.", - "Low impact.", - "No impact." + "", + "", + "", + "" ], "type": "string" }, "privilegesRequired": { - "description": "This metric describes the level of privileges an attacker must possess before successfully exploiting the vulnerability.", "enum": [ "PRIVILEGES_REQUIRED_UNSPECIFIED", "PRIVILEGES_REQUIRED_NONE", @@ -5664,38 +4834,36 @@ "PRIVILEGES_REQUIRED_HIGH" ], "enumDescriptions": [ - "Invalid value.", - "The attacker is unauthorized prior to attack, and therefore does not require any access to settings or files of the vulnerable system to carry out an attack.", - "The attacker requires privileges that provide basic user capabilities that could normally affect only settings and files owned by a user. Alternatively, an attacker with Low privileges has the ability to access only non-sensitive resources.", - "The attacker requires privileges that provide significant (e.g., administrative) control over the vulnerable component allowing access to component-wide settings and files." + "", + "", + "", + "" ], "type": "string" }, "scope": { - "description": "The Scope metric captures whether a vulnerability in one vulnerable component impacts resources in components beyond its security scope.", "enum": [ "SCOPE_UNSPECIFIED", "SCOPE_UNCHANGED", "SCOPE_CHANGED" ], "enumDescriptions": [ - "Invalid value.", - "An exploited vulnerability can only affect resources managed by the same security authority.", - "An exploited vulnerability can affect resources beyond the security scope managed by the security authority of the vulnerable component." + "", + "", + "" ], "type": "string" }, "userInteraction": { - "description": "This metric captures the requirement for a human user, other than the attacker, to participate in the successful compromise of the vulnerable component.", "enum": [ "USER_INTERACTION_UNSPECIFIED", "USER_INTERACTION_NONE", "USER_INTERACTION_REQUIRED" ], "enumDescriptions": [ - "Invalid value.", - "The vulnerable system can be exploited without interaction from any user.", - "Successful exploitation of this vulnerability requires a user to take some action before the vulnerability can be exploited." + "", + "", + "" ], "type": "string" } @@ -5703,15 +4871,12 @@ "type": "object" }, "GoogleCloudSecuritycenterV2Cwe": { - "description": "CWE stands for Common Weakness Enumeration. Information about this weakness, as described by [CWE](https://cwe.mitre.org/).", "id": "GoogleCloudSecuritycenterV2Cwe", "properties": { "id": { - "description": "The CWE identifier, e.g. CWE-94", "type": "string" }, "references": { - "description": "Any reference to the details on the CWE, for example, https://cwe.mitre.org/data/definitions/94.html", "items": { "$ref": "GoogleCloudSecuritycenterV2Reference" }, @@ -5721,20 +4886,16 @@ "type": "object" }, "GoogleCloudSecuritycenterV2DataAccessEvent": { - "description": "Details about a data access attempt made by a principal not authorized under applicable data security policy.", "id": "GoogleCloudSecuritycenterV2DataAccessEvent", "properties": { "eventId": { - "description": "Unique identifier for data access event.", "type": "string" }, "eventTime": { - "description": "Timestamp of data access event.", "format": "google-datetime", "type": "string" }, "operation": { - "description": "The operation performed by the principal to access the data.", "enum": [ "OPERATION_UNSPECIFIED", "READ", @@ -5742,35 +4903,30 @@ "COPY" ], "enumDescriptions": [ - "The operation is unspecified.", - "Represents a read operation.", - "Represents a move operation.", - "Represents a copy operation." + "", + "", + "", + "" ], "type": "string" }, "principalEmail": { - "description": "The email address of the principal that accessed the data. The principal could be a user account, service account, Google group, or other.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2DataFlowEvent": { - "description": "Details about a data flow event, in which either the data is moved to or is accessed from a non-compliant geo-location, as defined in the applicable data security policy.", "id": "GoogleCloudSecuritycenterV2DataFlowEvent", "properties": { "eventId": { - "description": "Unique identifier for data flow event.", "type": "string" }, "eventTime": { - "description": "Timestamp of data flow event.", "format": "google-datetime", "type": "string" }, "operation": { - "description": "The operation performed by the principal for the data flow event.", "enum": [ "OPERATION_UNSPECIFIED", "READ", @@ -5778,40 +4934,34 @@ "COPY" ], "enumDescriptions": [ - "The operation is unspecified.", - "Represents a read operation.", - "Represents a move operation.", - "Represents a copy operation." + "", + "", + "", + "" ], "type": "string" }, "principalEmail": { - "description": "The email address of the principal that initiated the data flow event. The principal could be a user account, service account, Google group, or other.", "type": "string" }, "violatedLocation": { - "description": "Non-compliant location of the principal or the data destination.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2DataRetentionDeletionEvent": { - "description": "Details about data retention deletion violations, in which the data is non-compliant based on their retention or deletion time, as defined in the applicable data security policy. The Data Retention Deletion (DRD) control is a control of the DSPM (Data Security Posture Management) suite that enables organizations to manage data retention and deletion policies in compliance with regulations, such as GDPR and CRPA. DRD supports two primary policy types: maximum storage length (max TTL) and minimum storage length (min TTL). Both are aimed at helping organizations meet regulatory and data management commitments.", "id": "GoogleCloudSecuritycenterV2DataRetentionDeletionEvent", "properties": { "dataObjectCount": { - "description": "Number of objects that violated the policy for this resource. If the number is less than 1,000, then the value of this field is the exact number. If the number of objects that violated the policy is greater than or equal to 1,000, then the value of this field is 1000.", "format": "int64", "type": "string" }, "eventDetectionTime": { - "description": "Timestamp indicating when the event was detected.", "format": "google-datetime", "type": "string" }, "eventType": { - "description": "Type of the DRD event.", "enum": [ "EVENT_TYPE_UNSPECIFIED", "EVENT_TYPE_MAX_TTL_EXCEEDED", @@ -5827,21 +4977,19 @@ false ], "enumDescriptions": [ - "Unspecified event type.", - "Deprecated: This field is pending removal. Use EVENT_TYPE_MAX_TTL_FROM_CREATION or EVENT_TYPE_MAX_TTL_FROM_LAST_MODIFICATION instead.", - "Max TTL from the asset's creation time.", - "Max TTL from the asset's last modification time.", - "Min TTL from the asset's creation time." + "", + "", + "", + "", + "" ], "type": "string" }, "maxRetentionAllowed": { - "description": "Maximum duration of retention allowed from the DRD control. This comes from the DRD control where users set a max TTL for their data. For example, suppose that a user sets the max TTL for a Cloud Storage bucket to 90 days. However, an object in that bucket is 100 days old. In this case, a DataRetentionDeletionEvent will be generated for that Cloud Storage bucket, and the max_retention_allowed is 90 days.", "format": "google-duration", "type": "string" }, "minRetentionAllowed": { - "description": "Min duration of retention allowed from the DSPM retention control. This field is only populated when event type is set to EVENT_TYPE_MIN_TTL_FROM_CREATION.", "format": "google-duration", "type": "string" } @@ -5849,64 +4997,51 @@ "type": "object" }, "GoogleCloudSecuritycenterV2Database": { - "description": "Represents database access information, such as queries. A database may be a sub-resource of an instance (as in the case of Cloud SQL instances or Cloud Spanner instances), or the database instance itself. Some database resources might not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types, such as Cloud SQL databases, are not yet supported by Cloud Asset Inventory. In these cases only the display name is provided.", "id": "GoogleCloudSecuritycenterV2Database", "properties": { "displayName": { - "description": "The human-readable name of the database that the user connected to.", "type": "string" }, "grantees": { - "description": "The target usernames, roles, or groups of an SQL privilege grant, which is not an IAM policy change.", "items": { "type": "string" }, "type": "array" }, "name": { - "description": "Some database resources may not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types are not yet supported by Cloud Asset Inventory (e.g. Cloud SQL databases). In these cases only the display name will be provided. The [full resource name](https://google.aip.dev/122#full-resource-names) of the database that the user connected to, if it is supported by Cloud Asset Inventory.", "type": "string" }, "query": { - "description": "The SQL statement that is associated with the database access.", "type": "string" }, "userName": { - "description": "The username used to connect to the database. The username might not be an IAM principal and does not have a set format.", "type": "string" }, "version": { - "description": "The version of the database, for example, POSTGRES_14. See [the complete list](https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1/SqlDatabaseVersion).", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Dataset": { - "description": "Vertex AI dataset associated with the finding.", "id": "GoogleCloudSecuritycenterV2Dataset", "properties": { "displayName": { - "description": "The user defined display name of dataset, e.g. plants-dataset", "type": "string" }, "name": { - "description": "Resource name of the dataset, e.g. projects/{project}/locations/{location}/datasets/2094040236064505856", "type": "string" }, "source": { - "description": "Data source, such as a BigQuery source URI, e.g. bq://scc-nexus-test.AIPPtest.gsod", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Denied": { - "description": "Denied IP rule.", "id": "GoogleCloudSecuritycenterV2Denied", "properties": { "ipRules": { - "description": "Optional. Optional list of denied IP rules.", "items": { "$ref": "GoogleCloudSecuritycenterV2IpRule" }, @@ -5916,15 +5051,12 @@ "type": "object" }, "GoogleCloudSecuritycenterV2Detection": { - "description": "Memory hash detection contributing to the binary family match.", "id": "GoogleCloudSecuritycenterV2Detection", "properties": { "binary": { - "description": "The name of the binary associated with the memory hash signature detection.", "type": "string" }, "percentPagesMatched": { - "description": "The percentage of memory page hashes in the signature that were matched.", "format": "double", "type": "number" } @@ -5932,35 +5064,29 @@ "type": "object" }, "GoogleCloudSecuritycenterV2DiscoveredWorkload": { - "description": "Represents discovered, customer managed workload that is not registered with the respective GCP service.", "id": "GoogleCloudSecuritycenterV2DiscoveredWorkload", "properties": { "confidence": { - "description": "The confidence in detection of this workload.", "enum": [ "CONFIDENCE_UNSPECIFIED", "CONFIDENCE_HIGH" ], "enumDescriptions": [ - "Unspecified confidence level.", - "High confidence in detection of a workload." + "", + "" ], "type": "string" }, "detectedRelevantHardware": { - "description": "A boolean flag set to true if associated hardware strongly predicts the workload type.", "type": "boolean" }, "detectedRelevantKeywords": { - "description": "A boolean flag set to true if associated keywords strongly predict the workload type.", "type": "boolean" }, "detectedRelevantPackages": { - "description": "A boolean flag set to true if installed packages strongly predict the workload type.", "type": "boolean" }, "workloadType": { - "description": "The type of workload.", "enum": [ "WORKLOAD_TYPE_UNSPECIFIED", "MCP_SERVER", @@ -5968,10 +5094,10 @@ "AGENT" ], "enumDescriptions": [ - "Unspecified workload type", - "A workload of type MCP Server", - "A workload of type AI Inference", - "A workload of type LLM Agent" + "", + "", + "", + "" ], "type": "string" } @@ -5979,100 +5105,82 @@ "type": "object" }, "GoogleCloudSecuritycenterV2Disk": { - "description": "Contains information about the disk associated with the finding.", "id": "GoogleCloudSecuritycenterV2Disk", "properties": { "name": { - "description": "The name of the disk, for example, \"https://www.googleapis.com/compute/v1/projects/{project-id}/zones/{zone-id}/disks/{disk-id}\".", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2DiskPath": { - "description": "Path of the file in terms of underlying disk/partition identifiers.", "id": "GoogleCloudSecuritycenterV2DiskPath", "properties": { "partitionUuid": { - "description": "UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid)", "type": "string" }, "relativePath": { - "description": "Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2DynamicMuteRecord": { - "description": "The record of a dynamic mute rule that matches the finding.", "id": "GoogleCloudSecuritycenterV2DynamicMuteRecord", "properties": { "matchTime": { - "description": "When the dynamic mute rule first matched the finding.", "format": "google-datetime", "type": "string" }, "muteConfig": { - "description": "The relative resource name of the mute rule, represented by a mute config, that created this record, for example `organizations/123/muteConfigs/mymuteconfig` or `organizations/123/locations/global/muteConfigs/mymuteconfig`.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2EnvironmentVariable": { - "description": "A name-value pair representing an environment variable used in an operating system process.", "id": "GoogleCloudSecuritycenterV2EnvironmentVariable", "properties": { "name": { - "description": "Environment variable name as a JSON encoded string.", "type": "string" }, "val": { - "description": "Environment variable value as a JSON encoded string.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2ExfilResource": { - "description": "Resource where data was exfiltrated from or exfiltrated to.", "id": "GoogleCloudSecuritycenterV2ExfilResource", "properties": { "components": { - "description": "Subcomponents of the asset that was exfiltrated, like URIs used during exfiltration, table names, databases, and filenames. For example, multiple tables might have been exfiltrated from the same Cloud SQL instance, or multiple files might have been exfiltrated from the same Cloud Storage bucket.", "items": { "type": "string" }, "type": "array" }, "name": { - "description": "The resource's [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name).", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Exfiltration": { - "description": "Exfiltration represents a data exfiltration attempt from one or more sources to one or more targets. The `sources` attribute lists the sources of the exfiltrated data. The `targets` attribute lists the destinations the data was copied to.", "id": "GoogleCloudSecuritycenterV2Exfiltration", "properties": { "sources": { - "description": "If there are multiple sources, then the data is considered \"joined\" between them. For instance, BigQuery can join multiple tables, and each table would be considered a source.", "items": { "$ref": "GoogleCloudSecuritycenterV2ExfilResource" }, "type": "array" }, "targets": { - "description": "If there are multiple targets, each target would get a complete copy of the \"joined\" source data.", "items": { "$ref": "GoogleCloudSecuritycenterV2ExfilResource" }, "type": "array" }, "totalExfiltratedBytes": { - "description": "Total exfiltrated bytes processed for the entire job.", "format": "int64", "type": "string" } @@ -6080,205 +5188,162 @@ "type": "object" }, "GoogleCloudSecuritycenterV2ExternalExposure": { - "description": "Details about the externally exposed resource associated with the finding.", "id": "GoogleCloudSecuritycenterV2ExternalExposure", "properties": { "backendBucket": { - "description": "The full resource name of the load balancer backend bucket, for example, \"//compute.googleapis.com/projects/{project-id}/global/backendBuckets/{name}\"", "type": "string" }, "backendService": { - "description": "The full resource name of load balancer backend service, for example, \"//compute.googleapis.com/projects/{project-id}/global/backendServices/{name}\".", "type": "string" }, "exposedApplication": { - "description": "The name and version of the exposed web application, for example, \"Jenkins 2.184\".", "type": "string" }, "exposedEndpoint": { - "description": "The resource which is running the exposed service, for example, \"//compute.googleapis.com/projects/{project-id}/zones/{zone}/instances/{instance}.”", "type": "string" }, "exposedService": { - "description": "The name and version of the service, for example, \"Jupyter Notebook 6.14.0\".", "type": "string" }, "forwardingRule": { - "description": "The full resource name of the forwarding rule, for example, \"//compute.googleapis.com/projects/{project-id}/global/forwardingRules/{forwarding-rule-name}\".", "type": "string" }, "hostnameUri": { - "description": "Hostname of the exposed application, for example, \"https://test-app.a.run.app/\"", "type": "string" }, "httpResponse": { - "description": "The http response returned by the web application.", "items": { "$ref": "GoogleCloudSecuritycenterV2HttpResponse" }, "type": "array" }, "instanceGroup": { - "description": "The full resource name of the instance group, for example, \"//compute.googleapis.com/projects/{project-id}/global/instanceGroups/{name}\".", "type": "string" }, "internalBackendService": { - "description": "The full resource name of load balancer backend service in the internal project having resource exposed via PSC, for example, \"//compute.googleapis.com/projects/{project-id}/global/backendServices/{name}\".", "type": "string" }, "loadBalancerFirewallPolicy": { - "description": "The full resource name of the load balancer firewall policy, for example, \"//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{policy-name}\".", "type": "string" }, "networkEndpointGroup": { - "description": "The full resource name of the network endpoint group, for example, \"//compute.googleapis.com/projects/{project-id}/global/networkEndpointGroups/{name}\".", "type": "string" }, "networkIngressFirewallPolicy": { - "description": "The full resource name of the network ingress firewall policy, for example, \"//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{name}\".", "type": "string" }, "privateIpAddress": { - "description": "Private IP address of the exposed endpoint.", "type": "string" }, "privatePort": { - "description": "Port number associated with private IP address.", "type": "string" }, "pscNetworkAttachment": { - "description": "The full resource name of the PSC (Private Service Connect) network attachment that network interface controller is attached to, for example, \"//compute.googleapis.com/projects/{project-id}/regions/{region}/networkAttachments/{name}\"", "type": "string" }, "pscServiceAttachment": { - "description": "The full resource name of the PSC (Private Service Connect) service attachment that the load balancer network endpoint group targets, for example, \"//compute.googleapis.com/projects/{project-id}/regions/{region}/serviceAttachments/{name}\"", "type": "string" }, "publicIpAddress": { - "description": "Public IP address of the exposed endpoint.", "type": "string" }, "publicPort": { - "description": "Public port number of the exposed endpoint.", "type": "string" }, "serviceFirewallPolicy": { - "description": "The full resource name of the firewall policy of the exposed service, for example, \"//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{policy-name}\".", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2ExternalSystem": { - "description": "Representation of third party SIEM/SOAR fields within SCC.", "id": "GoogleCloudSecuritycenterV2ExternalSystem", "properties": { "assignees": { - "description": "References primary/secondary etc assignees in the external system.", "items": { "type": "string" }, "type": "array" }, "caseCloseTime": { - "description": "The time when the case was closed, as reported by the external system.", "format": "google-datetime", "type": "string" }, "caseCreateTime": { - "description": "The time when the case was created, as reported by the external system.", "format": "google-datetime", "type": "string" }, "casePriority": { - "description": "The priority of the finding's corresponding case in the external system.", "type": "string" }, "caseSla": { - "description": "The SLA of the finding's corresponding case in the external system.", "format": "google-datetime", "type": "string" }, "caseUri": { - "description": "The link to the finding's corresponding case in the external system.", "type": "string" }, "externalSystemUpdateTime": { - "description": "The time when the case was last updated, as reported by the external system.", "format": "google-datetime", "type": "string" }, "externalUid": { - "description": "The identifier that's used to track the finding's corresponding case in the external system.", "type": "string" }, "name": { - "description": "Full resource name of the external system. The following list shows some examples: + `organizations/1234/sources/5678/findings/123456/externalSystems/jira` + `organizations/1234/sources/5678/locations/us/findings/123456/externalSystems/jira` + `folders/1234/sources/5678/findings/123456/externalSystems/jira` + `folders/1234/sources/5678/locations/us/findings/123456/externalSystems/jira` + `projects/1234/sources/5678/findings/123456/externalSystems/jira` + `projects/1234/sources/5678/locations/us/findings/123456/externalSystems/jira`", "type": "string" }, "status": { - "description": "The most recent status of the finding's corresponding case, as reported by the external system.", "type": "string" }, "ticketInfo": { - "$ref": "GoogleCloudSecuritycenterV2TicketInfo", - "description": "Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding." + "$ref": "GoogleCloudSecuritycenterV2TicketInfo" } }, "type": "object" }, "GoogleCloudSecuritycenterV2File": { - "description": "File information about the related binary/library used by an executable, or the script used by a script interpreter", "id": "GoogleCloudSecuritycenterV2File", "properties": { "contents": { - "description": "Prefix of the file contents as a JSON-encoded string.", "type": "string" }, "diskPath": { - "$ref": "GoogleCloudSecuritycenterV2DiskPath", - "description": "Path of the file in terms of underlying disk/partition identifiers." + "$ref": "GoogleCloudSecuritycenterV2DiskPath" }, "fileLoadState": { - "description": "The load state of the file.", "enum": [ "FILE_LOAD_STATE_UNSPECIFIED", "LOADED_BY_PROCESS", "NOT_LOADED_BY_PROCESS" ], "enumDescriptions": [ - "The file state is unspecified.", - "The file is being used by an active process at the time of scanning.", - "The file is not being used by any active process at the time of scanning." + "", + "", + "" ], "type": "string" }, "hashedSize": { - "description": "The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file.", "format": "int64", "type": "string" }, "operations": { - "description": "Operation(s) performed on a file.", "items": { "$ref": "GoogleCloudSecuritycenterV2FileOperation" }, "type": "array" }, "partiallyHashed": { - "description": "True when the hash covers only a prefix of the file.", "type": "boolean" }, "path": { - "description": "Absolute path of the file as a JSON encoded string.", "type": "string" }, "sha256": { - "description": "SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file.", "type": "string" }, "size": { - "description": "Size of the file in bytes.", "format": "int64", "type": "string" } @@ -6286,11 +5351,9 @@ "type": "object" }, "GoogleCloudSecuritycenterV2FileOperation": { - "description": "Operation(s) performed on a file.", "id": "GoogleCloudSecuritycenterV2FileOperation", "properties": { "type": { - "description": "The type of the operation", "enum": [ "OPERATION_TYPE_UNSPECIFIED", "OPEN", @@ -6300,12 +5363,12 @@ "EXECUTE" ], "enumDescriptions": [ - "The operation is unspecified.", - "Represents an open operation.", - "Represents a read operation.", - "Represents a rename operation.", - "Represents a write operation.", - "Represents an execute operation." + "", + "", + "", + "", + "", + "" ], "type": "string" } @@ -6313,82 +5376,64 @@ "type": "object" }, "GoogleCloudSecuritycenterV2Finding": { - "description": "Security Command Center finding. A finding is a record of assessment data like security, risk, health, or privacy, that is ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, a cross-site scripting (XSS) vulnerability in an App Engine application is a finding.", "id": "GoogleCloudSecuritycenterV2Finding", "properties": { "access": { - "$ref": "GoogleCloudSecuritycenterV2Access", - "description": "Access details associated with the finding, such as more information on the caller, which method was accessed, and from where." + "$ref": "GoogleCloudSecuritycenterV2Access" }, "affectedResources": { - "$ref": "GoogleCloudSecuritycenterV2AffectedResources", - "description": "AffectedResources associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2AffectedResources" }, "agentDataAccessEvents": { - "description": "Agent data access events associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2AgentDataAccessEvent" }, "type": "array" }, "aiModel": { - "$ref": "GoogleCloudSecuritycenterV2AiModel", - "description": "The AI model associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2AiModel" }, "application": { - "$ref": "GoogleCloudSecuritycenterV2Application", - "description": "Represents an application associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2Application" }, "artifactGuardPolicies": { - "$ref": "GoogleCloudSecuritycenterV2ArtifactGuardPolicies", - "description": "ArtifactGuardPolicies associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2ArtifactGuardPolicies" }, "attackExposure": { - "$ref": "GoogleCloudSecuritycenterV2AttackExposure", - "description": "The results of an attack path simulation relevant to this finding." + "$ref": "GoogleCloudSecuritycenterV2AttackExposure" }, "backupDisasterRecovery": { - "$ref": "GoogleCloudSecuritycenterV2BackupDisasterRecovery", - "description": "Fields related to Backup and DR findings." + "$ref": "GoogleCloudSecuritycenterV2BackupDisasterRecovery" }, "canonicalName": { - "description": "Output only. The canonical name of the finding. The following list shows some examples: + `organizations/{organization_id}/sources/{source_id}/locations/{location_id}/findings/{finding_id}` + `folders/{folder_id}/sources/{source_id}/locations/{location_id}/findings/{finding_id}` + `projects/{project_id}/sources/{source_id}/locations/{location_id}/findings/{finding_id}` The prefix is the closest CRM ancestor of the resource associated with the finding.", "readOnly": true, "type": "string" }, "category": { - "description": "Immutable. The additional taxonomy group within findings from a given source. Example: \"XSS_FLASH_INJECTION\"", "type": "string" }, "chokepoint": { - "$ref": "GoogleCloudSecuritycenterV2Chokepoint", - "description": "Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations). This field cannot be updated. Its value is ignored in all update requests." + "$ref": "GoogleCloudSecuritycenterV2Chokepoint" }, "cloudArmor": { - "$ref": "GoogleCloudSecuritycenterV2CloudArmor", - "description": "Fields related to Cloud Armor findings." + "$ref": "GoogleCloudSecuritycenterV2CloudArmor" }, "cloudDlpDataProfile": { - "$ref": "GoogleCloudSecuritycenterV2CloudDlpDataProfile", - "description": "Cloud DLP data profile that is associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2CloudDlpDataProfile" }, "cloudDlpInspection": { - "$ref": "GoogleCloudSecuritycenterV2CloudDlpInspection", - "description": "Cloud Data Loss Prevention (Cloud DLP) inspection results that are associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2CloudDlpInspection" }, "complianceDetails": { - "$ref": "GoogleCloudSecuritycenterV2ComplianceDetails", - "description": "Details about the compliance implications of the finding." + "$ref": "GoogleCloudSecuritycenterV2ComplianceDetails" }, "compliances": { - "description": "Contains compliance information for security standards associated to the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2Compliance" }, "type": "array" }, "connections": { - "description": "Contains information about the IP connection associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2Connection" }, @@ -6398,99 +5443,81 @@ "additionalProperties": { "$ref": "GoogleCloudSecuritycenterV2ContactDetails" }, - "description": "Output only. Map containing the points of contact for the given finding. The key represents the type of contact, while the value contains a list of all the contacts that pertain. Please refer to: https://cloud.google.com/resource-manager/docs/managing-notification-contacts#notification-categories { \"security\": { \"contacts\": [ { \"email\": \"person1@company.com\" }, { \"email\": \"person2@company.com\" } ] } }", "readOnly": true, "type": "object" }, "containers": { - "description": "Containers associated with the finding. This field provides information for both Kubernetes and non-Kubernetes containers.", "items": { "$ref": "GoogleCloudSecuritycenterV2Container" }, "type": "array" }, "createTime": { - "description": "Output only. The time at which the finding was created in Security Command Center.", "format": "google-datetime", "readOnly": true, "type": "string" }, "cryptoKeyName": { - "description": "Output only. The name of the Cloud KMS key used to encrypt this finding, if any.", "readOnly": true, "type": "string" }, "dataAccessEvents": { - "description": "Data access events associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2DataAccessEvent" }, "type": "array" }, "dataFlowEvents": { - "description": "Data flow events associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2DataFlowEvent" }, "type": "array" }, "dataRetentionDeletionEvents": { - "description": "Data retention deletion events associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2DataRetentionDeletionEvent" }, "type": "array" }, "database": { - "$ref": "GoogleCloudSecuritycenterV2Database", - "description": "Database associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2Database" }, "description": { - "description": "Contains more details about the finding.", "type": "string" }, "discoveredWorkload": { - "$ref": "GoogleCloudSecuritycenterV2DiscoveredWorkload", - "description": "DiscoveredWorkload associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2DiscoveredWorkload" }, "disk": { - "$ref": "GoogleCloudSecuritycenterV2Disk", - "description": "Disk associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2Disk" }, "eventTime": { - "description": "The time the finding was first detected. If an existing finding is updated, then this is the time the update occurred. For example, if the finding represents an open firewall, this property captures the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding is later resolved, then this time reflects when the finding was resolved. This must not be set to a value greater than the current timestamp.", "format": "google-datetime", "type": "string" }, "exfiltration": { - "$ref": "GoogleCloudSecuritycenterV2Exfiltration", - "description": "Represents exfiltrations associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2Exfiltration" }, "externalExposure": { - "$ref": "GoogleCloudSecuritycenterV2ExternalExposure", - "description": "External exposure associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2ExternalExposure" }, "externalSystems": { "additionalProperties": { "$ref": "GoogleCloudSecuritycenterV2ExternalSystem" }, - "description": "Output only. Third party SIEM/SOAR fields within SCC, contains external system information and external system finding fields.", "readOnly": true, "type": "object" }, "externalUri": { - "description": "The URI that, if available, points to a web page outside of Security Command Center where additional information about the finding can be found. This field is guaranteed to be either empty or a well formed URL.", "type": "string" }, "files": { - "description": "File associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2File" }, "type": "array" }, "findingClass": { - "description": "The class of the finding.", "enum": [ "FINDING_CLASS_UNSPECIFIED", "THREAT", @@ -6506,79 +5533,67 @@ "SECRET" ], "enumDescriptions": [ - "Unspecified finding class.", - "Describes unwanted or malicious activity.", - "Describes a potential weakness in software that increases risk to Confidentiality & Integrity & Availability.", - "Describes a potential weakness in cloud resource/asset configuration that increases risk.", - "Describes a security observation that is for informational purposes.", - "Describes an error that prevents some SCC functionality.", - "Describes a potential security risk due to a change in the security posture.", - "Describes a combination of security issues that represent a more severe security problem when taken together.", - "Describes a potential security risk to data assets that contain sensitive data.", - "Describes a resource or resource group where high risk attack paths converge, based on attack path simulations (APS).", - "Describes a potential security risk due to the resource being exposed to the internet.", - "Describes a potential security risk due to plaintext credentials, keys, or tokens being exposed in an asset or workload." + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" ], "type": "string" }, "groupMemberships": { - "description": "Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way. This field cannot be updated. Its value is ignored in all update requests.", "items": { "$ref": "GoogleCloudSecuritycenterV2GroupMembership" }, "type": "array" }, "iamBindings": { - "description": "Represents IAM bindings associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2IamBinding" }, "type": "array" }, "indicator": { - "$ref": "GoogleCloudSecuritycenterV2Indicator", - "description": "Represents what's commonly known as an *indicator of compromise* (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise)." + "$ref": "GoogleCloudSecuritycenterV2Indicator" }, "ipRules": { - "$ref": "GoogleCloudSecuritycenterV2IpRules", - "description": "IP rules associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2IpRules" }, "job": { - "$ref": "GoogleCloudSecuritycenterV2Job", - "description": "Job associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2Job" }, "kernelRootkit": { - "$ref": "GoogleCloudSecuritycenterV2KernelRootkit", - "description": "Signature of the kernel rootkit." + "$ref": "GoogleCloudSecuritycenterV2KernelRootkit" }, "kubernetes": { - "$ref": "GoogleCloudSecuritycenterV2Kubernetes", - "description": "Kubernetes resources associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2Kubernetes" }, "loadBalancers": { - "description": "The load balancers associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2LoadBalancer" }, "type": "array" }, "logEntries": { - "description": "Log entries that are relevant to the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2LogEntry" }, "type": "array" }, "mitreAttack": { - "$ref": "GoogleCloudSecuritycenterV2MitreAttack", - "description": "MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org" + "$ref": "GoogleCloudSecuritycenterV2MitreAttack" }, "moduleName": { - "description": "Unique identifier of the module which generated the finding. Example: folders/598186756061/securityHealthAnalyticsSettings/customModules/56799441161885", "type": "string" }, "mute": { - "description": "Indicates the mute state of a finding (either muted, unmuted or undefined). Unlike other attributes of a finding, a finding provider shouldn't set the value of mute.", "enum": [ "MUTE_UNSPECIFIED", "MUTED", @@ -6586,93 +5601,76 @@ "UNDEFINED" ], "enumDescriptions": [ - "Unspecified.", - "Finding has been muted.", - "Finding has been unmuted.", - "Finding has never been muted/unmuted." + "", + "", + "", + "" ], "type": "string" }, "muteInfo": { "$ref": "GoogleCloudSecuritycenterV2MuteInfo", - "description": "Output only. The mute information regarding this finding.", "readOnly": true }, "muteInitiator": { - "description": "Records additional information about the mute operation, for example, the [mute configuration](https://cloud.google.com/security-command-center/docs/how-to-mute-findings) that muted the finding and the user who muted the finding.", "type": "string" }, "muteUpdateTime": { - "description": "Output only. The most recent time this finding was muted or unmuted.", "format": "google-datetime", "readOnly": true, "type": "string" }, "name": { - "description": "Identifier. The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. The following list shows some examples: + `organizations/{organization_id}/sources/{source_id}/findings/{finding_id}` + `organizations/{organization_id}/sources/{source_id}/locations/{location_id}/findings/{finding_id}` + `folders/{folder_id}/sources/{source_id}/findings/{finding_id}` + `folders/{folder_id}/sources/{source_id}/locations/{location_id}/findings/{finding_id}` + `projects/{project_id}/sources/{source_id}/findings/{finding_id}` + `projects/{project_id}/sources/{source_id}/locations/{location_id}/findings/{finding_id}`", "type": "string" }, "networks": { - "description": "Represents the VPC networks that the resource is attached to.", "items": { "$ref": "GoogleCloudSecuritycenterV2Network" }, "type": "array" }, "nextSteps": { - "description": "Steps to address the finding.", "type": "string" }, "notebook": { - "$ref": "GoogleCloudSecuritycenterV2Notebook", - "description": "Notebook associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2Notebook" }, "orgPolicies": { - "description": "Contains information about the org policies associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2OrgPolicy" }, "type": "array" }, "parent": { - "description": "The relative resource name of the source and location the finding belongs to. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name This field is immutable after creation time. The following list shows some examples: + `organizations/{organization_id}/sources/{source_id}` + `folders/{folders_id}/sources/{source_id}` + `projects/{projects_id}/sources/{source_id}` + `organizations/{organization_id}/sources/{source_id}/locations/{location_id}` + `folders/{folders_id}/sources/{source_id}/locations/{location_id}` + `projects/{projects_id}/sources/{source_id}/locations/{location_id}`", "type": "string" }, "parentDisplayName": { - "description": "Output only. The human readable display name of the finding source such as \"Event Threat Detection\" or \"Security Health Analytics\".", "readOnly": true, "type": "string" }, "policyViolationSummary": { - "$ref": "GoogleCloudSecuritycenterV2PolicyViolationSummary", - "description": "PolicyViolationSummary associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2PolicyViolationSummary" }, "processes": { - "description": "Represents operating system processes associated with the Finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2Process" }, "type": "array" }, "resourceName": { - "description": "Immutable. For findings on Google Cloud resources, the full resource name of the Google Cloud resource this finding is for. See: https://cloud.google.com/apis/design/resource_names#full_resource_name When the finding is for a non-Google Cloud resource, the resourceName can be a customer or partner defined string.", "type": "string" }, "secret": { - "$ref": "GoogleCloudSecuritycenterV2Secret", - "description": "Secret associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2Secret" }, "securityMarks": { "$ref": "GoogleCloudSecuritycenterV2SecurityMarks", - "description": "Output only. User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the finding.", "readOnly": true }, "securityPosture": { - "$ref": "GoogleCloudSecuritycenterV2SecurityPosture", - "description": "The security posture associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2SecurityPosture" }, "severity": { - "description": "The severity of the finding. This field is managed by the source that writes the finding.", "enum": [ "SEVERITY_UNSPECIFIED", "CRITICAL", @@ -6681,11 +5679,11 @@ "LOW" ], "enumDescriptions": [ - "This value is used for findings when a source doesn't write a severity value.", - "Vulnerability: A critical vulnerability is easily discoverable by an external actor, exploitable, and results in the direct ability to execute arbitrary code, exfiltrate data, and otherwise gain additional access and privileges to cloud resources and workloads. Examples include publicly accessible unprotected user data and public SSH access with weak or no passwords. Threat: Indicates a threat that is able to access, modify, or delete data or execute unauthorized code within existing resources.", - "Vulnerability: A high risk vulnerability can be easily discovered and exploited in combination with other vulnerabilities in order to gain direct access and the ability to execute arbitrary code, exfiltrate data, and otherwise gain additional access and privileges to cloud resources and workloads. An example is a database with weak or no passwords that is only accessible internally. This database could easily be compromised by an actor that had access to the internal network. Threat: Indicates a threat that is able to create new computational resources in an environment but not able to access data or execute code in existing resources.", - "Vulnerability: A medium risk vulnerability could be used by an actor to gain access to resources or privileges that enable them to eventually (through multiple steps or a complex exploit) gain access and the ability to execute arbitrary code or exfiltrate data. An example is a service account with access to more projects than it should have. If an actor gains access to the service account, they could potentially use that access to manipulate a project the service account was not intended to. Threat: Indicates a threat that is able to cause operational impact but may not access data or execute unauthorized code.", - "Vulnerability: A low risk vulnerability hampers a security organization's ability to detect vulnerabilities or active threats in their deployment, or prevents the root cause investigation of security issues. An example is monitoring and logs being disabled for resource configurations and access. Threat: Indicates a threat that has obtained minimal access to an environment but is not able to access data, execute code, or create resources." + "", + "", + "", + "", + "" ], "type": "string" }, @@ -6693,60 +5691,50 @@ "additionalProperties": { "type": "any" }, - "description": "Source specific properties. These properties are managed by the source that writes the finding. The key names in the source_properties map must be between 1 and 255 characters, and must start with a letter and contain alphanumeric characters or underscores only.", "type": "object" }, "state": { - "description": "Output only. The state of the finding.", "enum": [ "STATE_UNSPECIFIED", "ACTIVE", "INACTIVE" ], "enumDescriptions": [ - "Unspecified state.", - "The finding requires attention and has not been addressed yet.", - "The finding has been fixed, triaged as a non-issue or otherwise addressed and is no longer active." + "", + "", + "" ], "readOnly": true, "type": "string" }, "toxicCombination": { - "$ref": "GoogleCloudSecuritycenterV2ToxicCombination", - "description": "Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. This field cannot be updated. Its value is ignored in all update requests." + "$ref": "GoogleCloudSecuritycenterV2ToxicCombination" }, "vertexAi": { - "$ref": "GoogleCloudSecuritycenterV2VertexAi", - "description": "VertexAi associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2VertexAi" }, "vulnerability": { - "$ref": "GoogleCloudSecuritycenterV2Vulnerability", - "description": "Represents vulnerability-specific fields like CVE and CVSS scores. CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/)" + "$ref": "GoogleCloudSecuritycenterV2Vulnerability" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Folder": { - "description": "Message that contains the resource name and display name of a folder resource.", "id": "GoogleCloudSecuritycenterV2Folder", "properties": { "resourceFolder": { - "description": "Full resource name of this folder. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", "type": "string" }, "resourceFolderDisplayName": { - "description": "The user defined display name for this folder.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Framework": { - "description": "Compliance framework associated with the finding.", "id": "GoogleCloudSecuritycenterV2Framework", "properties": { "category": { - "description": "Category of the framework associated with the finding. E.g. Security Benchmark, or Assured Workloads", "items": { "enum": [ "FRAMEWORK_CATEGORY_UNSPECIFIED", @@ -6757,43 +5745,39 @@ "CUSTOM_FRAMEWORK" ], "enumDescriptions": [ - "Default value. This value is unused.", - "Security Benchmarks framework", - "Assured Workloads framework", - "Data Security framework", - "Google Best Practices framework", - "A user-created framework" + "", + "", + "", + "", + "", + "" ], "type": "string" }, "type": "array" }, "controls": { - "description": "The controls associated with the framework.", "items": { "$ref": "GoogleCloudSecuritycenterV2Control" }, "type": "array" }, "displayName": { - "description": "Display name of the framework. For a standard framework, this will look like e.g. PCI DSS 3.2.1, whereas for a custom framework it can be a user defined string like MyFramework", "type": "string" }, "name": { - "description": "Name of the framework associated with the finding", "type": "string" }, "type": { - "description": "Type of the framework associated with the finding, to specify whether the framework is built-in (pre-defined and immutable) or a custom framework defined by the customer (equivalent to security posture)", "enum": [ "FRAMEWORK_TYPE_UNSPECIFIED", "FRAMEWORK_TYPE_BUILT_IN", "FRAMEWORK_TYPE_CUSTOM" ], "enumDescriptions": [ - "Default value. This value is unused.", - "The framework is a built-in framework if it is created and managed by GCP.", - "The framework is a custom framework if it is created and managed by the user." + "", + "", + "" ], "type": "string" } @@ -6801,35 +5785,30 @@ "type": "object" }, "GoogleCloudSecuritycenterV2Geolocation": { - "description": "Represents a geographical location for a given access.", "id": "GoogleCloudSecuritycenterV2Geolocation", "properties": { "regionCode": { - "description": "A CLDR.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2GroupMembership": { - "description": "Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way.", "id": "GoogleCloudSecuritycenterV2GroupMembership", "properties": { "groupId": { - "description": "ID of the group.", "type": "string" }, "groupType": { - "description": "Type of group.", "enum": [ "GROUP_TYPE_UNSPECIFIED", "GROUP_TYPE_TOXIC_COMBINATION", "GROUP_TYPE_CHOKEPOINT" ], "enumDescriptions": [ - "Default value.", - "Group represents a toxic combination.", - "Group represents a chokepoint." + "", + "", + "" ], "type": "string" } @@ -6837,76 +5816,64 @@ "type": "object" }, "GoogleCloudSecuritycenterV2HttpResponse": { - "description": "The http response returned by the web application.", "id": "GoogleCloudSecuritycenterV2HttpResponse", "properties": { "path": { - "description": "The http path for which response code was returned by web application, for example, \"https://test-app.a.run.app/test\".", "type": "string" }, "statusCode": { - "description": "The http response code returned by the web application, for example, 200.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IamBinding": { - "description": "Represents a particular IAM binding, which captures a member's role addition, removal, or state.", "id": "GoogleCloudSecuritycenterV2IamBinding", "properties": { "action": { - "description": "The action that was performed on a Binding.", "enum": [ "ACTION_UNSPECIFIED", "ADD", "REMOVE" ], "enumDescriptions": [ - "Unspecified.", - "Addition of a Binding.", - "Removal of a Binding." + "", + "", + "" ], "type": "string" }, "member": { - "description": "A single identity requesting access for a Cloud Platform resource, for example, \"foo@google.com\".", "type": "string" }, "role": { - "description": "Role that is assigned to \"members\". For example, \"roles/viewer\", \"roles/editor\", or \"roles/owner\".", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Indicator": { - "description": "Represents what's commonly known as an _indicator of compromise_ (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise).", "id": "GoogleCloudSecuritycenterV2Indicator", "properties": { "domains": { - "description": "List of domains associated to the Finding.", "items": { "type": "string" }, "type": "array" }, "ipAddresses": { - "description": "The list of IP addresses that are associated with the finding.", "items": { "type": "string" }, "type": "array" }, "signatures": { - "description": "The list of matched signatures indicating that the given process is present in the environment.", "items": { "$ref": "GoogleCloudSecuritycenterV2ProcessSignature" }, "type": "array" }, "uris": { - "description": "The list of URIs associated to the Findings.", "items": { "type": "string" }, @@ -6916,84 +5883,70 @@ "type": "object" }, "GoogleCloudSecuritycenterV2InfoType": { - "description": "Type of information detected by the API.", "id": "GoogleCloudSecuritycenterV2InfoType", "properties": { "name": { - "description": "Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.", "type": "string" }, "sensitivityScore": { - "$ref": "GoogleCloudSecuritycenterV2SensitivityScore", - "description": "Optional custom sensitivity for this InfoType. This only applies to data profiling." + "$ref": "GoogleCloudSecuritycenterV2SensitivityScore" }, "version": { - "description": "Optional version name for this InfoType.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IpRule": { - "description": "IP rule information.", "id": "GoogleCloudSecuritycenterV2IpRule", "properties": { "portRanges": { - "description": "Optional. An optional list of ports to which this rule applies. This field is only applicable for the UDP or (S)TCP protocols. Each entry must be either an integer or a range including a min and max port number.", "items": { "$ref": "GoogleCloudSecuritycenterV2PortRange" }, "type": "array" }, "protocol": { - "description": "The IP protocol this rule applies to. This value can either be one of the following well known protocol strings (TCP, UDP, ICMP, ESP, AH, IPIP, SCTP) or a string representation of the integer value.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IpRules": { - "description": "IP rules associated with the finding.", "id": "GoogleCloudSecuritycenterV2IpRules", "properties": { "allowed": { - "$ref": "GoogleCloudSecuritycenterV2Allowed", - "description": "Tuple with allowed rules." + "$ref": "GoogleCloudSecuritycenterV2Allowed" }, "denied": { - "$ref": "GoogleCloudSecuritycenterV2Denied", - "description": "Tuple with denied rules." + "$ref": "GoogleCloudSecuritycenterV2Denied" }, "destinationIpRanges": { - "description": "If destination IP ranges are specified, the firewall rule applies only to traffic that has a destination IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4.", "items": { "type": "string" }, "type": "array" }, "direction": { - "description": "The direction that the rule is applicable to, one of ingress or egress.", "enum": [ "DIRECTION_UNSPECIFIED", "INGRESS", "EGRESS" ], "enumDescriptions": [ - "Unspecified direction value.", - "Ingress direction value.", - "Egress direction value." + "", + "", + "" ], "type": "string" }, "exposedServices": { - "description": "Name of the network protocol service, such as FTP, that is exposed by the open port. Follows the naming convention available at: https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml.", "items": { "type": "string" }, "type": "array" }, "sourceIpRanges": { - "description": "If source IP 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. Only supports IPv4.", "items": { "type": "string" }, @@ -7003,37 +5956,30 @@ "type": "object" }, "GoogleCloudSecuritycenterV2Issue": { - "description": "Security Command Center Issue.", "id": "GoogleCloudSecuritycenterV2Issue", "properties": { "createTime": { - "description": "Output only. The time the issue was created.", "format": "google-datetime", "readOnly": true, "type": "string" }, "description": { - "description": "The description of the issue in Markdown format.", "type": "string" }, "detection": { - "description": "The finding category or rule name that generated the issue.", "type": "string" }, "domains": { - "description": "The domains of the issue.", "items": { "$ref": "GoogleCloudSecuritycenterV2IssueDomain" }, "type": "array" }, "exposureScore": { - "description": "The exposure score of the issue.", "format": "double", "type": "number" }, "issueType": { - "description": "The type of the issue.", "enum": [ "ISSUE_TYPE_UNSPECIFIED", "CHOKEPOINT", @@ -7041,60 +5987,51 @@ "INSIGHT" ], "enumDescriptions": [ - "Unspecified issue type.", - "Chokepoint issue type.", - "Toxic combination issue type.", - "Insight issue type." + "", + "", + "", + "" ], "type": "string" }, "lastObservationTime": { - "description": "The time the issue was last observed.", "format": "google-datetime", "type": "string" }, "mute": { - "$ref": "GoogleCloudSecuritycenterV2IssueMute", - "description": "The mute information of the issue." + "$ref": "GoogleCloudSecuritycenterV2IssueMute" }, "name": { - "description": "Identifier. The name of the issue. Format: organizations/{organization}/locations/{location}/issues/{issue}", "type": "string" }, "primaryResource": { - "$ref": "GoogleCloudSecuritycenterV2IssueResource", - "description": "The primary resource associated with the issue." + "$ref": "GoogleCloudSecuritycenterV2IssueResource" }, "relatedFindings": { - "description": "The findings related to the issue.", "items": { "$ref": "GoogleCloudSecuritycenterV2IssueFinding" }, "type": "array" }, "remediations": { - "description": "Approaches to remediate the issue in Markdown format.", "items": { "type": "string" }, "type": "array" }, "secondaryResources": { - "description": "Additional resources associated with the issue.", "items": { "$ref": "GoogleCloudSecuritycenterV2IssueResource" }, "type": "array" }, "securityContexts": { - "description": "The security context of the issue.", "items": { "$ref": "GoogleCloudSecuritycenterV2IssueSecurityContext" }, "type": "array" }, "severity": { - "description": "The severity of the issue.", "enum": [ "SEVERITY_UNSPECIFIED", "CRITICAL", @@ -7103,31 +6040,29 @@ "LOW" ], "enumDescriptions": [ - "Unspecified severity.", - "Critical severity.", - "High severity.", - "Medium severity.", - "Low severity." + "", + "", + "", + "", + "" ], "type": "string" }, "state": { - "description": "Output only. The state of the issue.", "enum": [ "STATE_UNSPECIFIED", "ACTIVE", "INACTIVE" ], "enumDescriptions": [ - "Unspecified state.", - "Active state.", - "Inactive state." + "", + "", + "" ], "readOnly": true, "type": "string" }, "updateTime": { - "description": "Output only. The time the issue was last updated.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -7136,11 +6071,9 @@ "type": "object" }, "GoogleCloudSecuritycenterV2IssueDomain": { - "description": "The domains of an issue.", "id": "GoogleCloudSecuritycenterV2IssueDomain", "properties": { "domainCategory": { - "description": "The domain category of the issue.", "enum": [ "DOMAIN_CATEGORY_UNSPECIFIED", "AI", @@ -7152,14 +6085,14 @@ "THREAT" ], "enumDescriptions": [ - "Unspecified domain category.", - "Issues in the AI domain.", - "Issues in the code domain.", - "Issues in the container domain.", - "Issues in the data domain.", - "Issues in the identity and access domain.", - "Issues in the vulnerability domain.", - "Issues in the threat domain." + "", + "", + "", + "", + "", + "", + "", + "" ], "type": "string" } @@ -7167,75 +6100,62 @@ "type": "object" }, "GoogleCloudSecuritycenterV2IssueFinding": { - "description": "Finding related to an issue.", "id": "GoogleCloudSecuritycenterV2IssueFinding", "properties": { "cve": { - "$ref": "GoogleCloudSecuritycenterV2IssueFindingCve", - "description": "The CVE of the finding." + "$ref": "GoogleCloudSecuritycenterV2IssueFindingCve" }, "name": { - "description": "The name of the finding.", "type": "string" }, "securityBulletin": { - "$ref": "GoogleCloudSecuritycenterV2IssueFindingSecurityBulletin", - "description": "The security bulletin of the finding." + "$ref": "GoogleCloudSecuritycenterV2IssueFindingSecurityBulletin" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueFindingCve": { - "description": "The CVE of the finding.", "id": "GoogleCloudSecuritycenterV2IssueFindingCve", "properties": { "name": { - "description": "The CVE name.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueFindingSecurityBulletin": { - "description": "The security bulletin of the finding.", "id": "GoogleCloudSecuritycenterV2IssueFindingSecurityBulletin", "properties": { "name": { - "description": "The security bulletin name.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueMute": { - "description": "The mute information of the issue.", "id": "GoogleCloudSecuritycenterV2IssueMute", "properties": { "muteInitiator": { - "description": "The email address of the user who last changed the mute state of the issue.", "type": "string" }, "muteReason": { - "description": "The user-provided reason for muting the issue.", "type": "string" }, "muteState": { - "description": "Output only. The mute state of the issue.", "enum": [ "MUTE_STATE_UNSPECIFIED", "NOT_MUTED", "MUTED" ], "enumDescriptions": [ - "Unspecified mute state.", - "Not muted.", - "Muted." + "", + "", + "" ], "readOnly": true, "type": "string" }, "muteUpdateTime": { - "description": "The time the issue was muted.", "format": "google-datetime", "type": "string" } @@ -7243,35 +6163,27 @@ "type": "object" }, "GoogleCloudSecuritycenterV2IssueResource": { - "description": "A resource associated with the an issue.", "id": "GoogleCloudSecuritycenterV2IssueResource", "properties": { "adcApplication": { - "$ref": "GoogleCloudSecuritycenterV2IssueResourceAdcApplication", - "description": "The ADC application associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2IssueResourceAdcApplication" }, "adcApplicationTemplate": { - "$ref": "GoogleCloudSecuritycenterV2IssueResourceAdcApplicationTemplateRevision", - "description": "The ADC template associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2IssueResourceAdcApplicationTemplateRevision" }, "adcSharedTemplate": { - "$ref": "GoogleCloudSecuritycenterV2IssueResourceAdcSharedTemplateRevision", - "description": "The ADC shared template associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2IssueResourceAdcSharedTemplateRevision" }, "application": { - "$ref": "GoogleCloudSecuritycenterV2IssueResourceApplication", - "description": "The AppHub application associated with the resource, if any. Only populated for the primary resource." + "$ref": "GoogleCloudSecuritycenterV2IssueResourceApplication" }, "awsMetadata": { - "$ref": "GoogleCloudSecuritycenterV2IssueResourceAwsMetadata", - "description": "The AWS metadata of the resource associated with the issue. Only populated for AWS resources." + "$ref": "GoogleCloudSecuritycenterV2IssueResourceAwsMetadata" }, "azureMetadata": { - "$ref": "GoogleCloudSecuritycenterV2IssueResourceAzureMetadata", - "description": "The Azure metadata of the resource associated with the issue. Only populated for Azure resources." + "$ref": "GoogleCloudSecuritycenterV2IssueResourceAzureMetadata" }, "cloudProvider": { - "description": "The cloud provider of the resource associated with the issue.", "enum": [ "CLOUD_PROVIDER_UNSPECIFIED", "GOOGLE_CLOUD", @@ -7279,112 +6191,92 @@ "MICROSOFT_AZURE" ], "enumDescriptions": [ - "Unspecified cloud provider.", - "Google Cloud.", - "Amazon Web Services.", - "Microsoft Azure." + "", + "", + "", + "" ], "type": "string" }, "displayName": { - "description": "The resource-type specific display name of the resource associated with the issue.", "type": "string" }, "googleCloudMetadata": { - "$ref": "GoogleCloudSecuritycenterV2IssueResourceGoogleCloudMetadata", - "description": "The Google Cloud metadata of the resource associated with the issue. Only populated for Google Cloud resources." + "$ref": "GoogleCloudSecuritycenterV2IssueResourceGoogleCloudMetadata" }, "name": { - "description": "The full resource name of the resource associated with the issue.", "type": "string" }, "type": { - "description": "The type of the resource associated with the issue.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceAdcApplication": { - "description": "Represents an ADC application associated with the finding.", "id": "GoogleCloudSecuritycenterV2IssueResourceAdcApplication", "properties": { "attributes": { - "$ref": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributes", - "description": "Consumer provided attributes for the AppHub application." + "$ref": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributes" }, "name": { - "description": "The resource name of an ADC Application. Format: projects/{project}/locations/{location}/spaces/{space}/applications/{application}", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceAdcApplicationTemplateRevision": { - "description": "Represents an ADC template associated with the finding.", "id": "GoogleCloudSecuritycenterV2IssueResourceAdcApplicationTemplateRevision", "properties": { "name": { - "description": "The resource name of an ADC Application Template Revision. Format: projects/{project}/locations/{location}/spaces/{space}/applicationTemplates/{application_template}/revisions/{revision}", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceAdcSharedTemplateRevision": { - "description": "Represents an ADC shared template associated with the finding.", "id": "GoogleCloudSecuritycenterV2IssueResourceAdcSharedTemplateRevision", "properties": { "name": { - "description": "The resource name of an ADC Shared Template Revision. Format: projects/{project}/locations/{location}/spaces/{space}/applicationTemplates/{application_template}/revisions/{revision}", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceApplication": { - "description": "The AppHub application associated with the resource, if any.", "id": "GoogleCloudSecuritycenterV2IssueResourceApplication", "properties": { "attributes": { - "$ref": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributes", - "description": "Consumer provided attributes for the application" + "$ref": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributes" }, "name": { - "description": "The resource name of an Application. Format: `projects/{host-project-id}/locations/{location}/applications/{application-id}`", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributes": { - "description": "Consumer provided attributes for the application", "id": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributes", "properties": { "businessOwners": { - "description": "Business team that ensures user needs are met and value is delivered", "items": { "$ref": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesContactInfo" }, "type": "array" }, "criticality": { - "$ref": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesCriticality", - "description": "User-defined criticality information." + "$ref": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesCriticality" }, "developerOwners": { - "description": "Developer team that owns development and coding.", "items": { "$ref": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesContactInfo" }, "type": "array" }, "environment": { - "$ref": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesEnvironment", - "description": "User-defined environment information." + "$ref": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesEnvironment" }, "operatorOwners": { - "description": "Operator team that ensures runtime and operations.", "items": { "$ref": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesContactInfo" }, @@ -7394,22 +6286,18 @@ "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesContactInfo": { - "description": "Contact information of stakeholders.", "id": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesContactInfo", "properties": { "email": { - "description": "Email address of the contacts.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesCriticality": { - "description": "Criticality of the Application, Service, or Workload", "id": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesCriticality", "properties": { "type": { - "description": "Criticality Type.", "enum": [ "CRITICALITY_TYPE_UNSPECIFIED", "MISSION_CRITICAL", @@ -7418,11 +6306,11 @@ "LOW" ], "enumDescriptions": [ - "Unspecified type.", - "Mission critical service, application or workload.", - "High impact.", - "Medium impact.", - "Low impact." + "", + "", + "", + "", + "" ], "type": "string" } @@ -7430,11 +6318,9 @@ "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesEnvironment": { - "description": "Environment of the Application, Service, or Workload", "id": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesEnvironment", "properties": { "type": { - "description": "Environment Type.", "enum": [ "ENVIRONMENT_TYPE_UNSPECIFIED", "PRODUCTION", @@ -7443,11 +6329,11 @@ "DEVELOPMENT" ], "enumDescriptions": [ - "Unspecified type.", - "Production environment.", - "Staging environment.", - "Test environment.", - "Development environment." + "", + "", + "", + "", + "" ], "type": "string" } @@ -7455,93 +6341,75 @@ "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceAwsMetadata": { - "description": "The AWS metadata of a resource associated with an issue.", "id": "GoogleCloudSecuritycenterV2IssueResourceAwsMetadata", "properties": { "account": { - "$ref": "GoogleCloudSecuritycenterV2IssueResourceAwsMetadataAwsAccount", - "description": "The AWS account of the resource associated with the issue." + "$ref": "GoogleCloudSecuritycenterV2IssueResourceAwsMetadataAwsAccount" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceAwsMetadataAwsAccount": { - "description": "The AWS account of the resource associated with the issue.", "id": "GoogleCloudSecuritycenterV2IssueResourceAwsMetadataAwsAccount", "properties": { "id": { - "description": "The AWS account ID of the resource associated with the issue.", "type": "string" }, "name": { - "description": "The AWS account name of the resource associated with the issue.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceAzureMetadata": { - "description": "The Azure metadata of a resource associated with an issue.", "id": "GoogleCloudSecuritycenterV2IssueResourceAzureMetadata", "properties": { "subscription": { - "$ref": "GoogleCloudSecuritycenterV2IssueResourceAzureMetadataAzureSubscription", - "description": "The Azure subscription of the resource associated with the issue." + "$ref": "GoogleCloudSecuritycenterV2IssueResourceAzureMetadataAzureSubscription" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceAzureMetadataAzureSubscription": { - "description": "The Azure subscription of the resource associated with the issue.", "id": "GoogleCloudSecuritycenterV2IssueResourceAzureMetadataAzureSubscription", "properties": { "displayName": { - "description": "The Azure subscription display name of the resource associated with the issue.", "type": "string" }, "id": { - "description": "The Azure subscription ID of the resource associated with the issue.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceGoogleCloudMetadata": { - "description": "Google Cloud metadata of a resource associated with an issue.", "id": "GoogleCloudSecuritycenterV2IssueResourceGoogleCloudMetadata", "properties": { "projectId": { - "description": "The project ID that the resource associated with the issue belongs to.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueSecurityContext": { - "description": "Security context associated with an issue.", "id": "GoogleCloudSecuritycenterV2IssueSecurityContext", "properties": { "aggregatedCount": { - "$ref": "GoogleCloudSecuritycenterV2IssueSecurityContextAggregatedCount", - "description": "The aggregated count of the security context." + "$ref": "GoogleCloudSecuritycenterV2IssueSecurityContextAggregatedCount" }, "context": { - "$ref": "GoogleCloudSecuritycenterV2IssueSecurityContextContext", - "description": "The context of the security context." + "$ref": "GoogleCloudSecuritycenterV2IssueSecurityContextContext" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueSecurityContextAggregatedCount": { - "description": "Aggregated count of a security context.", "id": "GoogleCloudSecuritycenterV2IssueSecurityContextAggregatedCount", "properties": { "key": { - "description": "Aggregation key.", "type": "string" }, "value": { - "description": "Aggregation value.", "format": "int32", "type": "integer" } @@ -7549,15 +6417,12 @@ "type": "object" }, "GoogleCloudSecuritycenterV2IssueSecurityContextContext": { - "description": "Context of a security context.", "id": "GoogleCloudSecuritycenterV2IssueSecurityContextContext", "properties": { "type": { - "description": "Context type.", "type": "string" }, "values": { - "description": "Context values.", "items": { "type": "string" }, @@ -7567,24 +6432,19 @@ "type": "object" }, "GoogleCloudSecuritycenterV2Job": { - "description": "Describes a job", "id": "GoogleCloudSecuritycenterV2Job", "properties": { "errorCode": { - "description": "Optional. If the job did not complete successfully, this field describes why.", "format": "int32", "type": "integer" }, "location": { - "description": "Optional. Gives the location where the job ran, such as `US` or `europe-west1`", "type": "string" }, "name": { - "description": "The fully-qualified name for a job. e.g. `projects//jobs/`", "type": "string" }, "state": { - "description": "Output only. State of the job, such as `RUNNING` or `PENDING`.", "enum": [ "JOB_STATE_UNSPECIFIED", "PENDING", @@ -7593,11 +6453,11 @@ "FAILED" ], "enumDescriptions": [ - "Unspecified represents an unknown state and should not be used.", - "Job is scheduled and pending for run", - "Job in progress", - "Job has completed with success", - "Job has completed but with failure" + "", + "", + "", + "", + "" ], "readOnly": true, "type": "string" @@ -7606,96 +6466,78 @@ "type": "object" }, "GoogleCloudSecuritycenterV2KernelRootkit": { - "description": "Kernel mode rootkit signatures.", "id": "GoogleCloudSecuritycenterV2KernelRootkit", "properties": { "name": { - "description": "Rootkit name, when available.", "type": "string" }, "unexpectedCodeModification": { - "description": "True if unexpected modifications of kernel code memory are present.", "type": "boolean" }, "unexpectedFtraceHandler": { - "description": "True if `ftrace` points are present with callbacks pointing to regions that are not in the expected kernel or module code range.", "type": "boolean" }, "unexpectedInterruptHandler": { - "description": "True if interrupt handlers that are are not in the expected kernel or module code regions are present.", "type": "boolean" }, "unexpectedKernelCodePages": { - "description": "True if kernel code pages that are not in the expected kernel or module code regions are present.", "type": "boolean" }, "unexpectedKprobeHandler": { - "description": "True if `kprobe` points are present with callbacks pointing to regions that are not in the expected kernel or module code range.", "type": "boolean" }, "unexpectedProcessesInRunqueue": { - "description": "True if unexpected processes in the scheduler run queue are present. Such processes are in the run queue, but not in the process task list.", "type": "boolean" }, "unexpectedReadOnlyDataModification": { - "description": "True if unexpected modifications of kernel read-only data memory are present.", "type": "boolean" }, "unexpectedSystemCallHandler": { - "description": "True if system call handlers that are are not in the expected kernel or module code regions are present.", "type": "boolean" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Kubernetes": { - "description": "Kubernetes-related attributes.", "id": "GoogleCloudSecuritycenterV2Kubernetes", "properties": { "accessReviews": { - "description": "Provides information on any Kubernetes access reviews (privilege checks) relevant to the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2AccessReview" }, "type": "array" }, "bindings": { - "description": "Provides Kubernetes role binding information for findings that involve [RoleBindings or ClusterRoleBindings](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control).", "items": { "$ref": "GoogleCloudSecuritycenterV2Binding" }, "type": "array" }, "nodePools": { - "description": "GKE [node pools](https://cloud.google.com/kubernetes-engine/docs/concepts/node-pools) associated with the finding. This field contains node pool information for each node, when it is available.", "items": { "$ref": "GoogleCloudSecuritycenterV2NodePool" }, "type": "array" }, "nodes": { - "description": "Provides Kubernetes [node](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture#nodes) information.", "items": { "$ref": "GoogleCloudSecuritycenterV2Node" }, "type": "array" }, "objects": { - "description": "Kubernetes objects related to the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2Object" }, "type": "array" }, "pods": { - "description": "Kubernetes [Pods](https://cloud.google.com/kubernetes-engine/docs/concepts/pod) associated with the finding. This field contains Pod records for each container that is owned by a Pod.", "items": { "$ref": "GoogleCloudSecuritycenterV2Pod" }, "type": "array" }, "roles": { - "description": "Provides Kubernetes role information for findings that involve [Roles or ClusterRoles](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control).", "items": { "$ref": "GoogleCloudSecuritycenterV2Role" }, @@ -7705,52 +6547,42 @@ "type": "object" }, "GoogleCloudSecuritycenterV2Label": { - "description": "Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering).", "id": "GoogleCloudSecuritycenterV2Label", "properties": { "name": { - "description": "Name of the label.", "type": "string" }, "value": { - "description": "Value that corresponds to the label's name.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2LoadBalancer": { - "description": "Contains information related to the load balancer associated with the finding.", "id": "GoogleCloudSecuritycenterV2LoadBalancer", "properties": { "name": { - "description": "The name of the load balancer associated with the finding.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2LogEntry": { - "description": "An individual entry in a log.", "id": "GoogleCloudSecuritycenterV2LogEntry", "properties": { "cloudLoggingEntry": { - "$ref": "GoogleCloudSecuritycenterV2CloudLoggingEntry", - "description": "An individual entry in a log stored in Cloud Logging." + "$ref": "GoogleCloudSecuritycenterV2CloudLoggingEntry" } }, "type": "object" }, "GoogleCloudSecuritycenterV2MemoryHashSignature": { - "description": "A signature corresponding to memory page hashes.", "id": "GoogleCloudSecuritycenterV2MemoryHashSignature", "properties": { "binaryFamily": { - "description": "The binary family.", "type": "string" }, "detections": { - "description": "The list of memory hash detections contributing to the binary family match.", "items": { "$ref": "GoogleCloudSecuritycenterV2Detection" }, @@ -7760,11 +6592,9 @@ "type": "object" }, "GoogleCloudSecuritycenterV2MitreAttack": { - "description": "MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org", "id": "GoogleCloudSecuritycenterV2MitreAttack", "properties": { "additionalTactics": { - "description": "Additional MITRE ATT&CK tactics related to this finding, if any.", "items": { "enum": [ "TACTIC_UNSPECIFIED", @@ -7784,28 +6614,27 @@ "IMPACT" ], "enumDescriptions": [ - "Unspecified value.", - "TA0043", - "TA0042", - "TA0001", - "TA0002", - "TA0003", - "TA0004", - "TA0005", - "TA0006", - "TA0007", - "TA0008", - "TA0009", - "TA0011", - "TA0010", - "TA0040" + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" ], "type": "string" }, "type": "array" }, "additionalTechniques": { - "description": "Additional MITRE ATT&CK techniques related to this finding, if any, along with any of their respective parent techniques.", "items": { "enum": [ "TECHNIQUE_UNSPECIFIED", @@ -7949,152 +6778,151 @@ "FINANCIAL_THEFT" ], "enumDescriptions": [ - "Unspecified value.", - "T1001", - "T1001.002", - "T1003", - "T1003.007", - "T1003.008", - "T1005", - "T1020", - "T1027", - "T1027.003", - "T1027.004", - "T1027.010", - "T1029", - "T1033", - "T1036", - "T1036.005", - "T1037", - "T1037.005", - "T1046", - "T1053", - "T1053.003", - "T1053.007", - "T1055", - "T1056", - "T1056.001", - "T1057", - "T1059", - "T1059.004", - "T1059.006", - "T1068", - "T1069", - "T1069.003", - "T1070", - "T1070.002", - "T1070.003", - "T1070.004", - "T1070.006", - "T1070.008", - "T1071", - "T1071.004", - "T1072", - "T1078", - "T1078.001", - "T1078.003", - "T1078.004", - "T1083", - "T1087.001", - "T1090", - "T1090.002", - "T1090.003", - "T1098", - "T1098.001", - "T1098.003", - "T1098.004", - "T1098.006", - "T1104", - "T1105", - "T1106", - "T1110", - "T1119", - "T1129", - "T1132", - "T1132.001", - "T1134", - "T1134.001", - "T1136", - "T1136.001", - "T1140", - "T1190", - "T1195", - "T1195.001", - "T1203", - "T1204", - "T1212", - "T1222.002", - "T1484", - "T1485", - "T1486", - "T1489", - "T1490", - "T1495", - "T1496", - "T1498", - "T1526", - "T1528", - "T1531", - "T1537", - "T1539", - "T1543", - "T1546", - "T1547", - "T1547.006", - "T1547.009", - "T1548", - "T1548.001", - "T1548.003", - "T1552", - "T1552.001", - "T1552.003", - "T1552.004", - "T1553", - "T1553.004", - "T1554", - "T1555", - "T1556", - "T1556.003", - "T1556.006", - "T1562", - "T1562.001", - "T1562.006", - "T1562.012", - "T1564", - "T1564.001", - "T1564.002", - "T1567", - "T1567.002", - "T1568", - "T1570", - "T1574", - "T1574.006", - "T1578", - "T1578.001", - "T1580", - "T1587", - "T1587.001", - "T1588", - "T1588.001", - "T1588.006", - "T1595", - "T1595.001", - "T1608", - "T1608.001", - "T1609", - "T1610", - "T1611", - "T1613", - "T1620", - "T1649", - "T1657" + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" ], "type": "string" }, "type": "array" }, "primaryTactic": { - "description": "The MITRE ATT&CK tactic most closely represented by this finding, if any.", "enum": [ "TACTIC_UNSPECIFIED", "RECONNAISSANCE", @@ -8113,26 +6941,25 @@ "IMPACT" ], "enumDescriptions": [ - "Unspecified value.", - "TA0043", - "TA0042", - "TA0001", - "TA0002", - "TA0003", - "TA0004", - "TA0005", - "TA0006", - "TA0007", - "TA0008", - "TA0009", - "TA0011", - "TA0010", - "TA0040" + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" ], "type": "string" }, "primaryTechniques": { - "description": "The MITRE ATT&CK technique most closely represented by this finding, if any. primary_techniques is a repeated field because there are multiple levels of MITRE ATT&CK techniques. If the technique most closely represented by this finding is a sub-technique (e.g. `SCANNING_IP_BLOCKS`), both the sub-technique and its parent technique(s) will be listed (e.g. `SCANNING_IP_BLOCKS`, `ACTIVE_SCANNING`).", "items": { "enum": [ "TECHNIQUE_UNSPECIFIED", @@ -8276,210 +7103,199 @@ "FINANCIAL_THEFT" ], "enumDescriptions": [ - "Unspecified value.", - "T1001", - "T1001.002", - "T1003", - "T1003.007", - "T1003.008", - "T1005", - "T1020", - "T1027", - "T1027.003", - "T1027.004", - "T1027.010", - "T1029", - "T1033", - "T1036", - "T1036.005", - "T1037", - "T1037.005", - "T1046", - "T1053", - "T1053.003", - "T1053.007", - "T1055", - "T1056", - "T1056.001", - "T1057", - "T1059", - "T1059.004", - "T1059.006", - "T1068", - "T1069", - "T1069.003", - "T1070", - "T1070.002", - "T1070.003", - "T1070.004", - "T1070.006", - "T1070.008", - "T1071", - "T1071.004", - "T1072", - "T1078", - "T1078.001", - "T1078.003", - "T1078.004", - "T1083", - "T1087.001", - "T1090", - "T1090.002", - "T1090.003", - "T1098", - "T1098.001", - "T1098.003", - "T1098.004", - "T1098.006", - "T1104", - "T1105", - "T1106", - "T1110", - "T1119", - "T1129", - "T1132", - "T1132.001", - "T1134", - "T1134.001", - "T1136", - "T1136.001", - "T1140", - "T1190", - "T1195", - "T1195.001", - "T1203", - "T1204", - "T1212", - "T1222.002", - "T1484", - "T1485", - "T1486", - "T1489", - "T1490", - "T1495", - "T1496", - "T1498", - "T1526", - "T1528", - "T1531", - "T1537", - "T1539", - "T1543", - "T1546", - "T1547", - "T1547.006", - "T1547.009", - "T1548", - "T1548.001", - "T1548.003", - "T1552", - "T1552.001", - "T1552.003", - "T1552.004", - "T1553", - "T1553.004", - "T1554", - "T1555", - "T1556", - "T1556.003", - "T1556.006", - "T1562", - "T1562.001", - "T1562.006", - "T1562.012", - "T1564", - "T1564.001", - "T1564.002", - "T1567", - "T1567.002", - "T1568", - "T1570", - "T1574", - "T1574.006", - "T1578", - "T1578.001", - "T1580", - "T1587", - "T1587.001", - "T1588", - "T1588.001", - "T1588.006", - "T1595", - "T1595.001", - "T1608", - "T1608.001", - "T1609", - "T1610", - "T1611", - "T1613", - "T1620", - "T1649", - "T1657" + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" ], "type": "string" }, "type": "array" }, "version": { - "description": "The MITRE ATT&CK version referenced by the above fields. E.g. \"8\".", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2MuteConfig": { - "description": "A mute config is a Cloud SCC resource that contains the configuration to mute create/update events of findings.", "id": "GoogleCloudSecuritycenterV2MuteConfig", "properties": { "createTime": { - "description": "Output only. The time at which the mute config was created. This field is set by the server and will be ignored if provided on config creation.", "format": "google-datetime", "readOnly": true, "type": "string" }, "cryptoKeyName": { - "description": "Output only. The resource name of the Cloud KMS `CryptoKey` used to encrypt this configuration data, if CMEK was enabled during Security Command Center activation.", "readOnly": true, "type": "string" }, "description": { - "description": "A description of the mute config.", "type": "string" }, "expiryTime": { - "description": "Optional. The expiry of the mute config. Only applicable for dynamic configs. If the expiry is set, when the config expires, it is removed from all findings.", "format": "google-datetime", "type": "string" }, "filter": { - "description": "Required. An expression that defines the filter to apply across create/update events of findings. While creating a filter string, be mindful of the scope in which the mute configuration is being created. E.g., If a filter contains project = X but is created under the project = Y scope, it might not match any findings. The following field and operator combinations are supported: * severity: `=`, `:` * category: `=`, `:` * resource.name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.folders.resource_folder: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.type: `=`, `:` * finding_class: `=`, `:` * indicator.ip_addresses: `=`, `:` * indicator.domains: `=`, `:`", "type": "string" }, "mostRecentEditor": { - "description": "Output only. Email address of the user who last edited the mute config. This field is set by the server and will be ignored if provided on config creation or update.", "readOnly": true, "type": "string" }, "name": { - "description": "Identifier. This field will be ignored if provided on config creation. The following list shows some examples of the format: + `organizations/{organization}/muteConfigs/{mute_config}` + `organizations/{organization}locations/{location}//muteConfigs/{mute_config}` + `folders/{folder}/muteConfigs/{mute_config}` + `folders/{folder}/locations/{location}/muteConfigs/{mute_config}` + `projects/{project}/muteConfigs/{mute_config}` + `projects/{project}/locations/{location}/muteConfigs/{mute_config}`", "type": "string" }, "type": { - "description": "Required. The type of the mute config, which determines what type of mute state the config affects. Immutable after creation.", "enum": [ "MUTE_CONFIG_TYPE_UNSPECIFIED", "STATIC", "DYNAMIC" ], "enumDescriptions": [ - "Unused.", - "A static mute config, which sets the static mute state of future matching findings to muted. Once the static mute state has been set, finding or config modifications will not affect the state.", - "A dynamic mute config, which is applied to existing and future matching findings, setting their dynamic mute state to \"muted\". If the config is updated or deleted, or a matching finding is updated, such that the finding doesn't match the config, the config will be removed from the finding, and the finding's dynamic mute state may become \"unmuted\" (unless other configs still match)." + "", + "", + "" ], "type": "string" }, "updateTime": { - "description": "Output only. The most recent time at which the mute config was updated. This field is set by the server and will be ignored if provided on config creation or update.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -8488,55 +7304,45 @@ "type": "object" }, "GoogleCloudSecuritycenterV2MuteInfo": { - "description": "Mute information about the finding, including whether the finding has a static mute or any matching dynamic mute rules.", "id": "GoogleCloudSecuritycenterV2MuteInfo", "properties": { "dynamicMuteRecords": { - "description": "The list of dynamic mute rules that currently match the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2DynamicMuteRecord" }, "type": "array" }, "staticMute": { - "$ref": "GoogleCloudSecuritycenterV2StaticMute", - "description": "If set, the static mute applied to this finding. Static mutes override dynamic mutes. If unset, there is no static mute." + "$ref": "GoogleCloudSecuritycenterV2StaticMute" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Network": { - "description": "Contains information about a VPC network associated with the finding.", "id": "GoogleCloudSecuritycenterV2Network", "properties": { "name": { - "description": "The name of the VPC network resource, for example, `//compute.googleapis.com/projects/my-project/global/networks/my-network`.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Node": { - "description": "Kubernetes nodes associated with the finding.", "id": "GoogleCloudSecuritycenterV2Node", "properties": { "name": { - "description": "[Full resource name](https://google.aip.dev/122#full-resource-names) of the Compute Engine VM running the cluster node.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2NodePool": { - "description": "Provides GKE node pool information.", "id": "GoogleCloudSecuritycenterV2NodePool", "properties": { "name": { - "description": "Kubernetes node pool name.", "type": "string" }, "nodes": { - "description": "Nodes associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2Node" }, @@ -8546,196 +7352,157 @@ "type": "object" }, "GoogleCloudSecuritycenterV2Notebook": { - "description": "Represents a Jupyter notebook IPYNB file, such as a [Colab Enterprise notebook](https://cloud.google.com/colab/docs/introduction) file, that is associated with a finding.", "id": "GoogleCloudSecuritycenterV2Notebook", "properties": { "lastAuthor": { - "description": "The user ID of the latest author to modify the notebook.", "type": "string" }, "name": { - "description": "The name of the notebook.", "type": "string" }, "notebookUpdateTime": { - "description": "The most recent time the notebook was updated.", "format": "google-datetime", "type": "string" }, "service": { - "description": "The source notebook service, for example, \"Colab Enterprise\".", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2NotificationMessage": { - "description": "Cloud SCC's Notification", "id": "GoogleCloudSecuritycenterV2NotificationMessage", "properties": { "finding": { - "$ref": "GoogleCloudSecuritycenterV2Finding", - "description": "If it's a Finding based notification config, this field will be populated." + "$ref": "GoogleCloudSecuritycenterV2Finding" }, "notificationConfigName": { - "description": "Name of the notification config that generated current notification.", "type": "string" }, "resource": { - "$ref": "GoogleCloudSecuritycenterV2Resource", - "description": "The Cloud resource tied to this notification's Finding." + "$ref": "GoogleCloudSecuritycenterV2Resource" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Object": { - "description": "Kubernetes object related to the finding, uniquely identified by GKNN. Used if the object Kind is not one of Pod, Node, NodePool, Binding, or AccessReview.", "id": "GoogleCloudSecuritycenterV2Object", "properties": { "containers": { - "description": "Pod containers associated with this finding, if any.", "items": { "$ref": "GoogleCloudSecuritycenterV2Container" }, "type": "array" }, "group": { - "description": "Kubernetes object group, such as \"policy.k8s.io/v1\".", "type": "string" }, "kind": { - "description": "Kubernetes object kind, such as \"Namespace\".", "type": "string" }, "name": { - "description": "Kubernetes object name. For details see https://kubernetes.io/docs/concepts/overview/working-with-objects/names/.", "type": "string" }, "ns": { - "description": "Kubernetes object namespace. Must be a valid DNS label. Named \"ns\" to avoid collision with C++ namespace keyword. For details see https://kubernetes.io/docs/tasks/administer-cluster/namespaces/.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2OrgPolicy": { - "description": "Contains information about the org policies associated with the finding.", "id": "GoogleCloudSecuritycenterV2OrgPolicy", "properties": { "name": { - "description": "Identifier. The resource name of the org policy. Example: \"organizations/{organization_id}/policies/{constraint_name}\"", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Package": { - "description": "Package is a generic definition of a package.", "id": "GoogleCloudSecuritycenterV2Package", "properties": { "cpeUri": { - "description": "The CPE URI where the vulnerability was detected.", "type": "string" }, "packageName": { - "description": "The name of the package where the vulnerability was detected.", "type": "string" }, "packageType": { - "description": "Type of package, for example, os, maven, or go.", "type": "string" }, "packageVersion": { - "description": "The version of the package.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Pipeline": { - "description": "Vertex AI training pipeline associated with the finding.", "id": "GoogleCloudSecuritycenterV2Pipeline", "properties": { "displayName": { - "description": "The user-defined display name of pipeline, e.g. plants-classification", "type": "string" }, "name": { - "description": "Resource name of the pipeline, e.g. projects/{project}/locations/{location}/trainingPipelines/5253428229225578496", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Pod": { - "description": "A Kubernetes Pod.", "id": "GoogleCloudSecuritycenterV2Pod", "properties": { "containers": { - "description": "Pod containers associated with this finding, if any.", "items": { "$ref": "GoogleCloudSecuritycenterV2Container" }, "type": "array" }, "labels": { - "description": "Pod labels. For Kubernetes containers, these are applied to the container.", "items": { "$ref": "GoogleCloudSecuritycenterV2Label" }, "type": "array" }, "name": { - "description": "Kubernetes Pod name.", "type": "string" }, "ns": { - "description": "Kubernetes Pod namespace.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2PolicyDriftDetails": { - "description": "The policy field that violates the deployed posture and its expected and detected values.", "id": "GoogleCloudSecuritycenterV2PolicyDriftDetails", "properties": { "detectedValue": { - "description": "The detected value that violates the deployed posture, for example, `false` or `allowed_values={\"projects/22831892\"}`.", "type": "string" }, "expectedValue": { - "description": "The value of this field that was configured in a posture, for example, `true` or `allowed_values={\"projects/29831892\"}`.", "type": "string" }, "field": { - "description": "The name of the updated field, for example constraint.implementation.policy_rules[0].enforce", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2PolicyViolationSummary": { - "description": "Metadata summarizing policy violations of child resources of the affected resource. `finding_category` and `resource` determine the exact semantics of the counts. For example, when category=DATA_SECURITY_POSTURE_OBJECT_PUBLIC_ACCESS_VIOLATION and resource='storage.googleapis.com/buckets/my-bucket-name' then this counts the number of Cloud Storage objects in my-bucket-name which violate a Public Access control.", "id": "GoogleCloudSecuritycenterV2PolicyViolationSummary", "properties": { "conformantResourcesCount": { - "description": "Total number of child resources that conform to the policy.", "format": "int64", "type": "string" }, "evaluationErrorsCount": { - "description": "Number of child resources for which errors during evaluation occurred. The evaluation result for these child resources is effectively \"unknown\".", "format": "int64", "type": "string" }, "outOfScopeResourcesCount": { - "description": "Total count of child resources which were not in scope for evaluation.", "format": "int64", "type": "string" }, "policyViolationsCount": { - "description": "Count of child resources in violation of the policy.", "format": "int64", "type": "string" } @@ -8743,16 +7510,13 @@ "type": "object" }, "GoogleCloudSecuritycenterV2PortRange": { - "description": "A port range which is inclusive of the min and max values. Values are between 0 and 2^16-1. The max can be equal / must be not smaller than the min value. If min and max are equal this indicates that it is a single port.", "id": "GoogleCloudSecuritycenterV2PortRange", "properties": { "max": { - "description": "Maximum port value.", "format": "int64", "type": "string" }, "min": { - "description": "Minimum port value.", "format": "int64", "type": "string" } @@ -8760,62 +7524,50 @@ "type": "object" }, "GoogleCloudSecuritycenterV2Process": { - "description": "Represents an operating system process.", "id": "GoogleCloudSecuritycenterV2Process", "properties": { "args": { - "description": "Process arguments as JSON encoded strings.", "items": { "type": "string" }, "type": "array" }, "argumentsTruncated": { - "description": "True if `args` is incomplete.", "type": "boolean" }, "binary": { - "$ref": "GoogleCloudSecuritycenterV2File", - "description": "File information for the process executable." + "$ref": "GoogleCloudSecuritycenterV2File" }, "envVariables": { - "description": "Process environment variables.", "items": { "$ref": "GoogleCloudSecuritycenterV2EnvironmentVariable" }, "type": "array" }, "envVariablesTruncated": { - "description": "True if `env_variables` is incomplete.", "type": "boolean" }, "libraries": { - "description": "File information for libraries loaded by the process.", "items": { "$ref": "GoogleCloudSecuritycenterV2File" }, "type": "array" }, "name": { - "description": "The process name, as displayed in utilities like `top` and `ps`. This name can be accessed through `/proc/[pid]/comm` and changed with `prctl(PR_SET_NAME)`.", "type": "string" }, "parentPid": { - "description": "The parent process ID.", "format": "int64", "type": "string" }, "pid": { - "description": "The process ID.", "format": "int64", "type": "string" }, "script": { - "$ref": "GoogleCloudSecuritycenterV2File", - "description": "When the process represents the invocation of a script, `binary` provides information about the interpreter, while `script` provides information about the script file provided to the interpreter." + "$ref": "GoogleCloudSecuritycenterV2File" }, "userId": { - "description": "The ID of the user that executed the process. E.g. If this is the root user this will always be 0.", "format": "int64", "type": "string" } @@ -8823,70 +7575,58 @@ "type": "object" }, "GoogleCloudSecuritycenterV2ProcessSignature": { - "description": "Indicates what signature matched this process.", "id": "GoogleCloudSecuritycenterV2ProcessSignature", "properties": { "memoryHashSignature": { - "$ref": "GoogleCloudSecuritycenterV2MemoryHashSignature", - "description": "Signature indicating that a binary family was matched." + "$ref": "GoogleCloudSecuritycenterV2MemoryHashSignature" }, "signatureType": { - "description": "Describes the type of resource associated with the signature.", "enum": [ "SIGNATURE_TYPE_UNSPECIFIED", "SIGNATURE_TYPE_PROCESS", "SIGNATURE_TYPE_FILE" ], "enumDescriptions": [ - "The default signature type.", - "Used for signatures concerning processes.", - "Used for signatures concerning disks." + "", + "", + "" ], "type": "string" }, "yaraRuleSignature": { - "$ref": "GoogleCloudSecuritycenterV2YaraRuleSignature", - "description": "Signature indicating that a YARA rule was matched." + "$ref": "GoogleCloudSecuritycenterV2YaraRuleSignature" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Reference": { - "description": "Additional Links", "id": "GoogleCloudSecuritycenterV2Reference", "properties": { "source": { - "description": "Source of the reference e.g. NVD", "type": "string" }, "uri": { - "description": "Uri for the mentioned source e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Requests": { - "description": "Information about the requests relevant to the finding.", "id": "GoogleCloudSecuritycenterV2Requests", "properties": { "longTermAllowed": { - "description": "Allowed RPS (requests per second) over the long term.", "format": "int32", "type": "integer" }, "longTermDenied": { - "description": "Denied RPS (requests per second) over the long term.", "format": "int32", "type": "integer" }, "ratio": { - "description": "For 'Increasing deny ratio', the ratio is the denied traffic divided by the allowed traffic. For 'Allowed traffic spike', the ratio is the allowed traffic in the short term divided by allowed traffic in the long term.", "format": "double", "type": "number" }, "shortTermAllowed": { - "description": "Allowed RPS (requests per second) in the short term.", "format": "int32", "type": "integer" } @@ -8894,35 +7634,27 @@ "type": "object" }, "GoogleCloudSecuritycenterV2Resource": { - "description": "Information related to the Google Cloud resource.", "id": "GoogleCloudSecuritycenterV2Resource", "properties": { "adcApplication": { - "$ref": "GoogleCloudSecuritycenterV2AdcApplication", - "description": "The ADC application associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2AdcApplication" }, "adcApplicationTemplate": { - "$ref": "GoogleCloudSecuritycenterV2AdcApplicationTemplateRevision", - "description": "The ADC template associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2AdcApplicationTemplateRevision" }, "adcSharedTemplate": { - "$ref": "GoogleCloudSecuritycenterV2AdcSharedTemplateRevision", - "description": "The ADC shared template associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2AdcSharedTemplateRevision" }, "application": { - "$ref": "GoogleCloudSecuritycenterV2ResourceApplication", - "description": "The App Hub application this resource belongs to." + "$ref": "GoogleCloudSecuritycenterV2ResourceApplication" }, "awsMetadata": { - "$ref": "GoogleCloudSecuritycenterV2AwsMetadata", - "description": "The AWS metadata associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2AwsMetadata" }, "azureMetadata": { - "$ref": "GoogleCloudSecuritycenterV2AzureMetadata", - "description": "The Azure metadata associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2AzureMetadata" }, "cloudProvider": { - "description": "Indicates which cloud provider the finding is from.", "enum": [ "CLOUD_PROVIDER_UNSPECIFIED", "GOOGLE_CLOUD_PLATFORM", @@ -8930,91 +7662,74 @@ "MICROSOFT_AZURE" ], "enumDescriptions": [ - "The cloud provider is unspecified.", - "The cloud provider is Google Cloud.", - "The cloud provider is Amazon Web Services.", - "The cloud provider is Microsoft Azure." + "", + "", + "", + "" ], "type": "string" }, "displayName": { - "description": "The human readable name of the resource.", "type": "string" }, "gcpMetadata": { - "$ref": "GcpMetadata", - "description": "The Google Cloud metadata associated with the finding." + "$ref": "GcpMetadata" }, "location": { - "description": "The region or location of the service (if applicable).", "type": "string" }, "name": { - "description": "The full resource name of the resource. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", "type": "string" }, "resourcePath": { - "$ref": "GoogleCloudSecuritycenterV2ResourcePath", - "description": "Provides the path to the resource within the resource hierarchy." + "$ref": "GoogleCloudSecuritycenterV2ResourcePath" }, "resourcePathString": { - "description": "A string representation of the resource path. For Google Cloud, it has the format of `organizations/{organization_id}/folders/{folder_id}/folders/{folder_id}/projects/{project_id}` where there can be any number of folders. For AWS, it has the format of `org/{organization_id}/ou/{organizational_unit_id}/ou/{organizational_unit_id}/account/{account_id}` where there can be any number of organizational units. For Azure, it has the format of `mg/{management_group_id}/mg/{management_group_id}/subscription/{subscription_id}/rg/{resource_group_name}` where there can be any number of management groups.", "type": "string" }, "service": { - "description": "The service or resource provider associated with the resource.", "type": "string" }, "type": { - "description": "The full resource type of the resource.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2ResourceApplication": { - "description": "The App Hub Application associated with the finding's resource.", "id": "GoogleCloudSecuritycenterV2ResourceApplication", "properties": { "attributes": { - "$ref": "GoogleCloudSecuritycenterV2ResourceApplicationAttributes", - "description": "Consumer provided attributes for the application" + "$ref": "GoogleCloudSecuritycenterV2ResourceApplicationAttributes" }, "name": { - "description": "The resource name of an Application. Format: `projects/{host-project-id}/locations/{location}/applications/{application-id}`", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2ResourceApplicationAttributes": { - "description": "Consumer provided attributes for the application", "id": "GoogleCloudSecuritycenterV2ResourceApplicationAttributes", "properties": { "businessOwners": { - "description": "Business team that ensures user needs are met and value is delivered", "items": { "$ref": "GoogleCloudSecuritycenterV2ResourceApplicationAttributesContactInfo" }, "type": "array" }, "criticality": { - "$ref": "GoogleCloudSecuritycenterV2ResourceApplicationAttributesCriticality", - "description": "User-defined criticality information." + "$ref": "GoogleCloudSecuritycenterV2ResourceApplicationAttributesCriticality" }, "developerOwners": { - "description": "Developer team that owns development and coding.", "items": { "$ref": "GoogleCloudSecuritycenterV2ResourceApplicationAttributesContactInfo" }, "type": "array" }, "environment": { - "$ref": "GoogleCloudSecuritycenterV2ResourceApplicationAttributesEnvironment", - "description": "User-defined environment information." + "$ref": "GoogleCloudSecuritycenterV2ResourceApplicationAttributesEnvironment" }, "operatorOwners": { - "description": "Operator team that ensures runtime and operations.", "items": { "$ref": "GoogleCloudSecuritycenterV2ResourceApplicationAttributesContactInfo" }, @@ -9024,22 +7739,18 @@ "type": "object" }, "GoogleCloudSecuritycenterV2ResourceApplicationAttributesContactInfo": { - "description": "Contact information of stakeholders.", "id": "GoogleCloudSecuritycenterV2ResourceApplicationAttributesContactInfo", "properties": { "email": { - "description": "Email address of the contacts.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2ResourceApplicationAttributesCriticality": { - "description": "Criticality of the Application, Service, or Workload", "id": "GoogleCloudSecuritycenterV2ResourceApplicationAttributesCriticality", "properties": { "type": { - "description": "Criticality Type.", "enum": [ "CRITICALITY_TYPE_UNSPECIFIED", "MISSION_CRITICAL", @@ -9048,11 +7759,11 @@ "LOW" ], "enumDescriptions": [ - "Unspecified type.", - "Mission critical service, application or workload.", - "High impact.", - "Medium impact.", - "Low impact." + "", + "", + "", + "", + "" ], "type": "string" } @@ -9060,11 +7771,9 @@ "type": "object" }, "GoogleCloudSecuritycenterV2ResourceApplicationAttributesEnvironment": { - "description": "Environment of the Application, Service, or Workload", "id": "GoogleCloudSecuritycenterV2ResourceApplicationAttributesEnvironment", "properties": { "type": { - "description": "Environment Type.", "enum": [ "ENVIRONMENT_TYPE_UNSPECIFIED", "PRODUCTION", @@ -9073,11 +7782,11 @@ "DEVELOPMENT" ], "enumDescriptions": [ - "Unspecified type.", - "Production environment.", - "Staging environment.", - "Test environment.", - "Development environment." + "", + "", + "", + "", + "" ], "type": "string" } @@ -9085,11 +7794,9 @@ "type": "object" }, "GoogleCloudSecuritycenterV2ResourcePath": { - "description": "Represents the path of resources leading up to the resource this finding is about.", "id": "GoogleCloudSecuritycenterV2ResourcePath", "properties": { "nodes": { - "description": "The list of nodes that make the up resource path, ordered from lowest level to highest level.", "items": { "$ref": "GoogleCloudSecuritycenterV2ResourcePathNode" }, @@ -9099,19 +7806,15 @@ "type": "object" }, "GoogleCloudSecuritycenterV2ResourcePathNode": { - "description": "A node within the resource path. Each node represents a resource within the resource hierarchy.", "id": "GoogleCloudSecuritycenterV2ResourcePathNode", "properties": { "displayName": { - "description": "The display name of the resource this node represents.", "type": "string" }, "id": { - "description": "The ID of the resource this node represents.", "type": "string" }, "nodeType": { - "description": "The type of resource this node represents.", "enum": [ "RESOURCE_PATH_NODE_TYPE_UNSPECIFIED", "GCP_ORGANIZATION", @@ -9125,16 +7828,16 @@ "AZURE_RESOURCE_GROUP" ], "enumDescriptions": [ - "Node type is unspecified.", - "The node represents a Google Cloud organization.", - "The node represents a Google Cloud folder.", - "The node represents a Google Cloud project.", - "The node represents an AWS organization.", - "The node represents an AWS organizational unit.", - "The node represents an AWS account.", - "The node represents an Azure management group.", - "The node represents an Azure subscription.", - "The node represents an Azure resource group." + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" ], "type": "string" } @@ -9142,11 +7845,9 @@ "type": "object" }, "GoogleCloudSecuritycenterV2ResourceValueConfig": { - "description": "A resource value configuration (RVC) is a mapping configuration of user's resources to resource values. Used in Attack path simulations.", "id": "GoogleCloudSecuritycenterV2ResourceValueConfig", "properties": { "cloudProvider": { - "description": "Cloud provider this configuration applies to", "enum": [ "CLOUD_PROVIDER_UNSPECIFIED", "GOOGLE_CLOUD_PLATFORM", @@ -9154,40 +7855,34 @@ "MICROSOFT_AZURE" ], "enumDescriptions": [ - "The cloud provider is unspecified.", - "The cloud provider is Google Cloud.", - "The cloud provider is Amazon Web Services.", - "The cloud provider is Microsoft Azure." + "", + "", + "", + "" ], "type": "string" }, "createTime": { - "description": "Output only. Timestamp this resource value configuration was created.", "format": "google-datetime", "readOnly": true, "type": "string" }, "description": { - "description": "Description of the resource value configuration.", "type": "string" }, "name": { - "description": "Identifier. Name for the resource value configuration", "type": "string" }, "resourceLabelsSelector": { "additionalProperties": { "type": "string" }, - "description": "List of resource labels to search for, evaluated with `AND`. For example, \"resource_labels_selector\": {\"key\": \"value\", \"env\": \"prod\"} will match resources with labels \"key\": \"value\" `AND` \"env\": \"prod\" https://cloud.google.com/resource-manager/docs/creating-managing-labels", "type": "object" }, "resourceType": { - "description": "Apply resource_value only to resources that match resource_type. resource_type will be checked with `AND` of other resources. For example, \"storage.googleapis.com/Bucket\" with resource_value \"HIGH\" will apply \"HIGH\" value only to \"storage.googleapis.com/Bucket\" resources.", "type": "string" }, "resourceValue": { - "description": "Resource value level this expression represents Only required when there is no Sensitive Data Protection mapping in the request", "enum": [ "RESOURCE_VALUE_UNSPECIFIED", "HIGH", @@ -9196,31 +7891,27 @@ "NONE" ], "enumDescriptions": [ - "Unspecific value", - "High resource value", - "Medium resource value", - "Low resource value", - "No resource value, e.g. ignore these resources" + "", + "", + "", + "", + "" ], "type": "string" }, "scope": { - "description": "Project or folder to scope this configuration to. For example, \"project/456\" would apply this configuration only to resources in \"project/456\" scope and will be checked with `AND` of other resources.", "type": "string" }, "sensitiveDataProtectionMapping": { - "$ref": "GoogleCloudSecuritycenterV2SensitiveDataProtectionMapping", - "description": "A mapping of the sensitivity on Sensitive Data Protection finding to resource values. This mapping can only be used in combination with a resource_type that is related to BigQuery, e.g. \"bigquery.googleapis.com/Dataset\"." + "$ref": "GoogleCloudSecuritycenterV2SensitiveDataProtectionMapping" }, "tagValues": { - "description": "Tag values combined with `AND` to check against. For Google Cloud resources, they are tag value IDs in the form of \"tagValues/123\". Example: `[ \"tagValues/123\", \"tagValues/456\", \"tagValues/789\" ]` https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing", "items": { "type": "string" }, "type": "array" }, "updateTime": { - "description": "Output only. Timestamp this resource value configuration was last updated.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -9229,90 +7920,74 @@ "type": "object" }, "GoogleCloudSecuritycenterV2Role": { - "description": "Kubernetes Role or ClusterRole.", "id": "GoogleCloudSecuritycenterV2Role", "properties": { "kind": { - "description": "Role type.", "enum": [ "KIND_UNSPECIFIED", "ROLE", "CLUSTER_ROLE" ], "enumDescriptions": [ - "Role type is not specified.", - "Kubernetes Role.", - "Kubernetes ClusterRole." + "", + "", + "" ], "type": "string" }, "name": { - "description": "Role name.", "type": "string" }, "ns": { - "description": "Role namespace.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Secret": { - "description": "Details about a secret or credential associated with the finding.", "id": "GoogleCloudSecuritycenterV2Secret", "properties": { "environmentVariable": { - "$ref": "GoogleCloudSecuritycenterV2SecretEnvironmentVariable", - "description": "The environment variable containing the secret." + "$ref": "GoogleCloudSecuritycenterV2SecretEnvironmentVariable" }, "filePath": { - "$ref": "GoogleCloudSecuritycenterV2SecretFilePath", - "description": "The file containing the secret." + "$ref": "GoogleCloudSecuritycenterV2SecretFilePath" }, "status": { - "$ref": "GoogleCloudSecuritycenterV2SecretStatus", - "description": "The status of the secret." + "$ref": "GoogleCloudSecuritycenterV2SecretStatus" }, "type": { - "description": "The type of secret, for example, GCP_API_KEY.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2SecretEnvironmentVariable": { - "description": "Environment variable containing the secret.", "id": "GoogleCloudSecuritycenterV2SecretEnvironmentVariable", "properties": { "key": { - "description": "Environment variable name as a JSON encoded string. Note that value is not included since the value contains the secret data, which is sensitive core content.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2SecretFilePath": { - "description": "File path containing the secret.", "id": "GoogleCloudSecuritycenterV2SecretFilePath", "properties": { "path": { - "description": "Path to the file.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2SecretStatus": { - "description": "The status of the secret.", "id": "GoogleCloudSecuritycenterV2SecretStatus", "properties": { "lastUpdatedTime": { - "description": "Time that the secret was found.", "format": "google-datetime", "type": "string" }, "validity": { - "description": "The validity of the secret.", "enum": [ "SECRET_VALIDITY_UNSPECIFIED", "SECRET_VALIDITY_UNSUPPORTED", @@ -9321,11 +7996,11 @@ "SECRET_VALIDITY_VALID" ], "enumDescriptions": [ - "Default value; no validation was attempted.", - "There is no mechanism to validate the secret.", - "Validation is supported but the validation failed.", - "The secret is confirmed to be invalid.", - "The secret is confirmed to be valid." + "", + "", + "", + "", + "" ], "type": "string" } @@ -9333,114 +8008,91 @@ "type": "object" }, "GoogleCloudSecuritycenterV2SecurityBulletin": { - "description": "SecurityBulletin are notifications of vulnerabilities of Google products.", "id": "GoogleCloudSecuritycenterV2SecurityBulletin", "properties": { "bulletinId": { - "description": "ID of the bulletin corresponding to the vulnerability.", "type": "string" }, "submissionTime": { - "description": "Submission time of this Security Bulletin.", "format": "google-datetime", "type": "string" }, "suggestedUpgradeVersion": { - "description": "This represents a version that the cluster receiving this notification should be upgraded to, based on its current version. For example, 1.15.0", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2SecurityMarks": { - "description": "User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization.", "id": "GoogleCloudSecuritycenterV2SecurityMarks", "properties": { "canonicalName": { - "description": "The canonical name of the marks. The following list shows some examples: + `organizations/{organization_id}/assets/{asset_id}/securityMarks` + `organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks` + `organizations/{organization_id}/sources/{source_id}/locations/{location}/findings/{finding_id}/securityMarks` + `folders/{folder_id}/assets/{asset_id}/securityMarks` + `folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks` + `folders/{folder_id}/sources/{source_id}/locations/{location}/findings/{finding_id}/securityMarks` + `projects/{project_number}/assets/{asset_id}/securityMarks` + `projects/{project_number}/sources/{source_id}/findings/{finding_id}/securityMarks` + `projects/{project_number}/sources/{source_id}/locations/{location}/findings/{finding_id}/securityMarks`", "type": "string" }, "marks": { "additionalProperties": { "type": "string" }, - "description": "Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive)", "type": "object" }, "name": { - "description": "The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name The following list shows some examples: + `organizations/{organization_id}/assets/{asset_id}/securityMarks` + `organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks` + `organizations/{organization_id}/sources/{source_id}/locations/{location}/findings/{finding_id}/securityMarks`", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2SecurityPolicy": { - "description": "Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding.", "id": "GoogleCloudSecuritycenterV2SecurityPolicy", "properties": { "name": { - "description": "The name of the Google Cloud Armor security policy, for example, \"my-security-policy\".", "type": "string" }, "preview": { - "description": "Whether or not the associated rule or policy is in preview mode.", "type": "boolean" }, "type": { - "description": "The type of Google Cloud Armor security policy for example, 'backend security policy', 'edge security policy', 'network edge security policy', or 'always-on DDoS protection'.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2SecurityPosture": { - "description": "Represents a posture that is deployed on Google Cloud by the Security Command Center Posture Management service. A posture contains one or more policy sets. A policy set is a group of policies that enforce a set of security rules on Google Cloud.", "id": "GoogleCloudSecuritycenterV2SecurityPosture", "properties": { "changedPolicy": { - "description": "The name of the updated policy, for example, `projects/{project_id}/policies/{constraint_name}`.", "type": "string" }, "name": { - "description": "Name of the posture, for example, `CIS-Posture`.", "type": "string" }, "policy": { - "description": "The ID of the updated policy, for example, `compute-policy-1`.", "type": "string" }, "policyDriftDetails": { - "description": "The details about a change in an updated policy that violates the deployed posture.", "items": { "$ref": "GoogleCloudSecuritycenterV2PolicyDriftDetails" }, "type": "array" }, "policySet": { - "description": "The name of the updated policy set, for example, `cis-policyset`.", "type": "string" }, "postureDeployment": { - "description": "The name of the posture deployment, for example, `organizations/{org_id}/posturedeployments/{posture_deployment_id}`.", "type": "string" }, "postureDeploymentResource": { - "description": "The project, folder, or organization on which the posture is deployed, for example, `projects/{project_number}`.", "type": "string" }, "revisionId": { - "description": "The version of the posture, for example, `c7cfa2a8`.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2SensitiveDataProtectionMapping": { - "description": "Resource value mapping for Sensitive Data Protection findings If any of these mappings have a resource value that is not unspecified, the resource_value field will be ignored when reading this configuration.", "id": "GoogleCloudSecuritycenterV2SensitiveDataProtectionMapping", "properties": { "highSensitivityMapping": { - "description": "Resource value mapping for high-sensitivity Sensitive Data Protection findings", "enum": [ "RESOURCE_VALUE_UNSPECIFIED", "HIGH", @@ -9449,16 +8101,15 @@ "NONE" ], "enumDescriptions": [ - "Unspecific value", - "High resource value", - "Medium resource value", - "Low resource value", - "No resource value, e.g. ignore these resources" + "", + "", + "", + "", + "" ], "type": "string" }, "mediumSensitivityMapping": { - "description": "Resource value mapping for medium-sensitivity Sensitive Data Protection findings", "enum": [ "RESOURCE_VALUE_UNSPECIFIED", "HIGH", @@ -9467,11 +8118,11 @@ "NONE" ], "enumDescriptions": [ - "Unspecific value", - "High resource value", - "Medium resource value", - "Low resource value", - "No resource value, e.g. ignore these resources" + "", + "", + "", + "", + "" ], "type": "string" } @@ -9479,11 +8130,9 @@ "type": "object" }, "GoogleCloudSecuritycenterV2SensitivityScore": { - "description": "Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive.", "id": "GoogleCloudSecuritycenterV2SensitivityScore", "properties": { "score": { - "description": "The sensitivity score applied to the resource.", "enum": [ "SENSITIVITY_SCORE_LEVEL_UNSPECIFIED", "SENSITIVITY_LOW", @@ -9492,11 +8141,11 @@ "SENSITIVITY_HIGH" ], "enumDescriptions": [ - "Unused.", - "No sensitive information detected. The resource isn't publicly accessible.", - "Unable to determine sensitivity.", - "Medium risk. Contains personally identifiable information (PII), potentially sensitive data, or fields with free-text data that are at a higher risk of having intermittent sensitive data. Consider limiting access.", - "High risk. Sensitive personally identifiable information (SPII) can be present. Exfiltration of data can lead to user data loss. Re-identification of users might be possible. Consider limiting usage and or removing SPII." + "", + "", + "", + "", + "" ], "type": "string" } @@ -9504,31 +8153,25 @@ "type": "object" }, "GoogleCloudSecuritycenterV2ServiceAccountDelegationInfo": { - "description": "Identity delegation history of an authenticated service account.", "id": "GoogleCloudSecuritycenterV2ServiceAccountDelegationInfo", "properties": { "principalEmail": { - "description": "The email address of a Google account.", "type": "string" }, "principalSubject": { - "description": "A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subjects/{subject}` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]`", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2StaticMute": { - "description": "Information about the static mute state. A static mute state overrides any dynamic mute rules that apply to this finding. The static mute state can be set by a static mute rule or by muting the finding directly.", "id": "GoogleCloudSecuritycenterV2StaticMute", "properties": { "applyTime": { - "description": "When the static mute was applied.", "format": "google-datetime", "type": "string" }, "state": { - "description": "The static mute state. If the value is `MUTED` or `UNMUTED`, then the finding's overall mute state will have the same value.", "enum": [ "MUTE_UNSPECIFIED", "MUTED", @@ -9536,10 +8179,10 @@ "UNDEFINED" ], "enumDescriptions": [ - "Unspecified.", - "Finding has been muted.", - "Finding has been unmuted.", - "Finding has never been muted/unmuted." + "", + "", + "", + "" ], "type": "string" } @@ -9547,11 +8190,9 @@ "type": "object" }, "GoogleCloudSecuritycenterV2Subject": { - "description": "Represents a Kubernetes subject.", "id": "GoogleCloudSecuritycenterV2Subject", "properties": { "kind": { - "description": "Authentication type for the subject.", "enum": [ "AUTH_TYPE_UNSPECIFIED", "USER", @@ -9559,67 +8200,55 @@ "GROUP" ], "enumDescriptions": [ - "Authentication is not specified.", - "User with valid certificate.", - "Users managed by Kubernetes API with credentials stored as secrets.", - "Collection of users." + "", + "", + "", + "" ], "type": "string" }, "name": { - "description": "Name for the subject.", "type": "string" }, "ns": { - "description": "Namespace for the subject.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2TicketInfo": { - "description": "Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding.", "id": "GoogleCloudSecuritycenterV2TicketInfo", "properties": { "assignee": { - "description": "The assignee of the ticket in the ticket system.", "type": "string" }, "description": { - "description": "The description of the ticket in the ticket system.", "type": "string" }, "id": { - "description": "The identifier of the ticket in the ticket system.", "type": "string" }, "status": { - "description": "The latest status of the ticket, as reported by the ticket system.", "type": "string" }, "updateTime": { - "description": "The time when the ticket was last updated, as reported by the ticket system.", "format": "google-datetime", "type": "string" }, "uri": { - "description": "The link to the ticket in the ticket system.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2ToxicCombination": { - "description": "Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination.", "id": "GoogleCloudSecuritycenterV2ToxicCombination", "properties": { "attackExposureScore": { - "description": "The [Attack exposure score](https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_exposure_scores) of this toxic combination. The score is a measure of how much this toxic combination exposes one or more high-value resources to potential attack.", "format": "double", "type": "number" }, "relatedFindings": { - "description": "List of resource names of findings associated with this toxic combination. For example, `organizations/123/sources/456/findings/789`.", "items": { "type": "string" }, @@ -9629,18 +8258,15 @@ "type": "object" }, "GoogleCloudSecuritycenterV2VertexAi": { - "description": "Vertex AI-related information associated with the finding.", "id": "GoogleCloudSecuritycenterV2VertexAi", "properties": { "datasets": { - "description": "Datasets associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2Dataset" }, "type": "array" }, "pipelines": { - "description": "Pipelines associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2Pipeline" }, @@ -9650,83 +8276,66 @@ "type": "object" }, "GoogleCloudSecuritycenterV2Vulnerability": { - "description": "Refers to common vulnerability fields e.g. cve, cvss, cwe etc.", "id": "GoogleCloudSecuritycenterV2Vulnerability", "properties": { "cve": { - "$ref": "GoogleCloudSecuritycenterV2Cve", - "description": "CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/)" + "$ref": "GoogleCloudSecuritycenterV2Cve" }, "cwes": { - "description": "Represents one or more Common Weakness Enumeration (CWE) information on this vulnerability.", "items": { "$ref": "GoogleCloudSecuritycenterV2Cwe" }, "type": "array" }, "fixedPackage": { - "$ref": "GoogleCloudSecuritycenterV2Package", - "description": "The fixed package is relevant to the finding." + "$ref": "GoogleCloudSecuritycenterV2Package" }, "offendingPackage": { - "$ref": "GoogleCloudSecuritycenterV2Package", - "description": "The offending package is relevant to the finding." + "$ref": "GoogleCloudSecuritycenterV2Package" }, "providerRiskScore": { - "description": "Provider provided risk_score based on multiple factors. The higher the risk score, the more risky the vulnerability is.", "format": "int64", "type": "string" }, "reachable": { - "description": "Represents whether the vulnerability is reachable (detected via static analysis)", "type": "boolean" }, "securityBulletin": { - "$ref": "GoogleCloudSecuritycenterV2SecurityBulletin", - "description": "The security bulletin is relevant to this finding." + "$ref": "GoogleCloudSecuritycenterV2SecurityBulletin" } }, "type": "object" }, "GoogleCloudSecuritycenterV2YaraRuleSignature": { - "description": "A signature corresponding to a YARA rule.", "id": "GoogleCloudSecuritycenterV2YaraRuleSignature", "properties": { "yaraRule": { - "description": "The name of the YARA rule.", "type": "string" } }, "type": "object" }, "GroupAssetsRequest": { - "description": "Request message for grouping by assets.", "id": "GroupAssetsRequest", "properties": { "compareDuration": { - "description": "When compare_duration is set, the Asset's \"state\" property is updated to indicate whether the asset was added, removed, or remained present during the compare_duration period of time that precedes the read_time. This is the time between (read_time - compare_duration) and read_time. The state value is derived based on the presence of the asset at the two points in time. Intermediate state changes between the two times don't affect the result. For example, the results aren't affected if the asset is removed and re-created again. Possible \"state\" values when compare_duration is specified: * \"ADDED\": indicates that the asset was not present before compare_duration, but present at reference_time. * \"REMOVED\": indicates that the asset was present at the start of compare_duration, but not present at reference_time. * \"ACTIVE\": indicates that the asset was present at both the start and the end of the time period defined by compare_duration and reference_time. This field is ignored if `state` is not a field in `group_by`.", "format": "google-duration", "type": "string" }, "filter": { - "description": "Expression that defines the filter to apply across assets. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are not supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the Asset resource. Examples include: * name * security_center_properties.resource_name * resource_properties.a_property * security_marks.marks.marka The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. For example, `resource_properties.size = 100` is a valid filter string.", "type": "string" }, "groupBy": { - "description": "Required. Expression that defines what assets fields to use for grouping. The string value should follow SQL syntax: comma separated list of fields. For example: \"security_center_properties.resource_project,security_center_properties.project\". The following fields are supported when compare_duration is not set: * security_center_properties.resource_project * security_center_properties.resource_type * security_center_properties.resource_parent The following fields are supported when compare_duration is set: * security_center_properties.resource_type", "type": "string" }, "pageSize": { - "description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "type": "integer" }, "pageToken": { - "description": "The value returned by the last `GroupAssetsResponse`; indicates that this is a continuation of a prior `GroupAssets` call, and that the system should return the next page of data.", "type": "string" }, "readTime": { - "description": "Time used as a reference point when filtering assets. The filter is limited to assets existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW.", "format": "google-datetime", "type": "string" } @@ -9734,22 +8343,18 @@ "type": "object" }, "GroupAssetsResponse": { - "description": "Response message for grouping by assets.", "id": "GroupAssetsResponse", "properties": { "groupByResults": { - "description": "Group results. There exists an element for each existing unique combination of property/values. The element contains a count for the number of times those specific property/values appear.", "items": { "$ref": "GroupResult" }, "type": "array" }, "nextPageToken": { - "description": "Token to retrieve the next page of results, or empty if there are no more results.", "type": "string" }, "readTime": { - "description": "Time used for executing the groupBy request.", "format": "google-datetime", "type": "string" } @@ -9757,28 +8362,22 @@ "type": "object" }, "GroupFindingsRequest": { - "description": "Request message for grouping by findings.", "id": "GroupFindingsRequest", "properties": { "filter": { - "description": "Expression that defines the filter to apply across findings. The expression is a list of one or more restrictions combined via logical operators `AND` and `OR`. Parentheses are not supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. Examples include: * name * source_properties.a_property * security_marks.marks.marka The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. For example, `source_properties.size = 100` is a valid filter string.", "type": "string" }, "groupBy": { - "description": "Required. Expression that defines what assets fields to use for grouping (including `state`). The string value should follow SQL syntax: comma separated list of fields. For example: \"parent,resource_name\". The following fields are supported: * resource_name * category * state * parent", "type": "string" }, "pageSize": { - "description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", "format": "int32", "type": "integer" }, "pageToken": { - "description": "The value returned by the last `GroupFindingsResponse`; indicates that this is a continuation of a prior `GroupFindings` call, and that the system should return the next page of data.", "type": "string" }, "readTime": { - "description": "Time used as a reference point when filtering findings. The filter is limited to findings existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW.", "format": "google-datetime", "type": "string" } @@ -9786,22 +8385,18 @@ "type": "object" }, "GroupFindingsResponse": { - "description": "Response message for group by findings.", "id": "GroupFindingsResponse", "properties": { "groupByResults": { - "description": "Group results. There exists an element for each existing unique combination of property/values. The element contains a count for the number of times those specific property/values appear.", "items": { "$ref": "GroupResult" }, "type": "array" }, "nextPageToken": { - "description": "Token to retrieve the next page of results, or empty if there are no more results.", "type": "string" }, "readTime": { - "description": "Time used for executing the groupBy request.", "format": "google-datetime", "type": "string" } @@ -9809,24 +8404,21 @@ "type": "object" }, "GroupMembership": { - "description": "Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way.", "id": "GroupMembership", "properties": { "groupId": { - "description": "ID of the group.", "type": "string" }, "groupType": { - "description": "Type of group.", "enum": [ "GROUP_TYPE_UNSPECIFIED", "GROUP_TYPE_TOXIC_COMBINATION", "GROUP_TYPE_CHOKEPOINT" ], "enumDescriptions": [ - "Default value.", - "Group represents a toxic combination.", - "Group represents a chokepoint." + "", + "", + "" ], "type": "string" } @@ -9834,11 +8426,9 @@ "type": "object" }, "GroupResult": { - "description": "Result containing the properties and count of a groupBy request.", "id": "GroupResult", "properties": { "count": { - "description": "Total count of resources for the given properties.", "format": "int64", "type": "string" }, @@ -9846,83 +8436,70 @@ "additionalProperties": { "type": "any" }, - "description": "Properties matching the groupBy fields in the request.", "type": "object" } }, "type": "object" }, "HttpResponse": { - "description": "The http response returned by the web application.", "id": "HttpResponse", "properties": { "path": { - "description": "The http path for which response code was returned by web application, for example, \"https://test-app.a.run.app/test\".", "type": "string" }, "statusCode": { - "description": "The http response code returned by the web application, for example, 200.", "type": "string" } }, "type": "object" }, "IamBinding": { - "description": "Represents a particular IAM binding, which captures a member's role addition, removal, or state.", "id": "IamBinding", "properties": { "action": { - "description": "The action that was performed on a Binding.", "enum": [ "ACTION_UNSPECIFIED", "ADD", "REMOVE" ], "enumDescriptions": [ - "Unspecified.", - "Addition of a Binding.", - "Removal of a Binding." + "", + "", + "" ], "type": "string" }, "member": { - "description": "A single identity requesting access for a Cloud Platform resource, for example, \"foo@google.com\".", "type": "string" }, "role": { - "description": "Role that is assigned to \"members\". For example, \"roles/viewer\", \"roles/editor\", or \"roles/owner\".", "type": "string" } }, "type": "object" }, "Indicator": { - "description": "Represents what's commonly known as an _indicator of compromise_ (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise).", "id": "Indicator", "properties": { "domains": { - "description": "List of domains associated to the Finding.", "items": { "type": "string" }, "type": "array" }, "ipAddresses": { - "description": "The list of IP addresses that are associated with the finding.", "items": { "type": "string" }, "type": "array" }, "signatures": { - "description": "The list of matched signatures indicating that the given process is present in the environment.", "items": { "$ref": "ProcessSignature" }, "type": "array" }, "uris": { - "description": "The list of URIs associated to the Findings.", "items": { "type": "string" }, @@ -9932,84 +8509,70 @@ "type": "object" }, "InfoType": { - "description": "Type of information detected by the API.", "id": "InfoType", "properties": { "name": { - "description": "Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.", "type": "string" }, "sensitivityScore": { - "$ref": "SensitivityScore", - "description": "Optional custom sensitivity for this InfoType. This only applies to data profiling." + "$ref": "SensitivityScore" }, "version": { - "description": "Optional version name for this InfoType.", "type": "string" } }, "type": "object" }, "IpRule": { - "description": "IP rule information.", "id": "IpRule", "properties": { "portRanges": { - "description": "Optional. An optional list of ports to which this rule applies. This field is only applicable for the UDP or (S)TCP protocols. Each entry must be either an integer or a range including a min and max port number.", "items": { "$ref": "PortRange" }, "type": "array" }, "protocol": { - "description": "The IP protocol this rule applies to. This value can either be one of the following well known protocol strings (TCP, UDP, ICMP, ESP, AH, IPIP, SCTP) or a string representation of the integer value.", "type": "string" } }, "type": "object" }, "IpRules": { - "description": "IP rules associated with the finding.", "id": "IpRules", "properties": { "allowed": { - "$ref": "Allowed", - "description": "Tuple with allowed rules." + "$ref": "Allowed" }, "denied": { - "$ref": "Denied", - "description": "Tuple with denied rules." + "$ref": "Denied" }, "destinationIpRanges": { - "description": "If destination IP ranges are specified, the firewall rule applies only to traffic that has a destination IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4.", "items": { "type": "string" }, "type": "array" }, "direction": { - "description": "The direction that the rule is applicable to, one of ingress or egress.", "enum": [ "DIRECTION_UNSPECIFIED", "INGRESS", "EGRESS" ], "enumDescriptions": [ - "Unspecified direction value.", - "Ingress direction value.", - "Egress direction value." + "", + "", + "" ], "type": "string" }, "exposedServices": { - "description": "Name of the network protocol service, such as FTP, that is exposed by the open port. Follows the naming convention available at: https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml.", "items": { "type": "string" }, "type": "array" }, "sourceIpRanges": { - "description": "If source IP 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. Only supports IPv4.", "items": { "type": "string" }, @@ -10019,24 +8582,19 @@ "type": "object" }, "Job": { - "description": "Describes a job", "id": "Job", "properties": { "errorCode": { - "description": "Optional. If the job did not complete successfully, this field describes why.", "format": "int32", "type": "integer" }, "location": { - "description": "Optional. Gives the location where the job ran, such as `US` or `europe-west1`", "type": "string" }, "name": { - "description": "The fully-qualified name for a job. e.g. `projects//jobs/`", "type": "string" }, "state": { - "description": "Output only. State of the job, such as `RUNNING` or `PENDING`.", "enum": [ "JOB_STATE_UNSPECIFIED", "PENDING", @@ -10045,11 +8603,11 @@ "FAILED" ], "enumDescriptions": [ - "Unspecified represents an unknown state and should not be used.", - "Job is scheduled and pending for run", - "Job in progress", - "Job has completed with success", - "Job has completed but with failure" + "", + "", + "", + "", + "" ], "readOnly": true, "type": "string" @@ -10058,96 +8616,78 @@ "type": "object" }, "KernelRootkit": { - "description": "Kernel mode rootkit signatures.", "id": "KernelRootkit", "properties": { "name": { - "description": "Rootkit name, when available.", "type": "string" }, "unexpectedCodeModification": { - "description": "True if unexpected modifications of kernel code memory are present.", "type": "boolean" }, "unexpectedFtraceHandler": { - "description": "True if `ftrace` points are present with callbacks pointing to regions that are not in the expected kernel or module code range.", "type": "boolean" }, "unexpectedInterruptHandler": { - "description": "True if interrupt handlers that are are not in the expected kernel or module code regions are present.", "type": "boolean" }, "unexpectedKernelCodePages": { - "description": "True if kernel code pages that are not in the expected kernel or module code regions are present.", "type": "boolean" }, "unexpectedKprobeHandler": { - "description": "True if `kprobe` points are present with callbacks pointing to regions that are not in the expected kernel or module code range.", "type": "boolean" }, "unexpectedProcessesInRunqueue": { - "description": "True if unexpected processes in the scheduler run queue are present. Such processes are in the run queue, but not in the process task list.", "type": "boolean" }, "unexpectedReadOnlyDataModification": { - "description": "True if unexpected modifications of kernel read-only data memory are present.", "type": "boolean" }, "unexpectedSystemCallHandler": { - "description": "True if system call handlers that are are not in the expected kernel or module code regions are present.", "type": "boolean" } }, "type": "object" }, "Kubernetes": { - "description": "Kubernetes-related attributes.", "id": "Kubernetes", "properties": { "accessReviews": { - "description": "Provides information on any Kubernetes access reviews (privilege checks) relevant to the finding.", "items": { "$ref": "AccessReview" }, "type": "array" }, "bindings": { - "description": "Provides Kubernetes role binding information for findings that involve [RoleBindings or ClusterRoleBindings](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control).", "items": { "$ref": "GoogleCloudSecuritycenterV1Binding" }, "type": "array" }, "nodePools": { - "description": "GKE [node pools](https://cloud.google.com/kubernetes-engine/docs/concepts/node-pools) associated with the finding. This field contains node pool information for each node, when it is available.", "items": { "$ref": "NodePool" }, "type": "array" }, "nodes": { - "description": "Provides Kubernetes [node](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture#nodes) information.", "items": { "$ref": "Node" }, "type": "array" }, "objects": { - "description": "Kubernetes objects related to the finding.", "items": { "$ref": "Object" }, "type": "array" }, "pods": { - "description": "Kubernetes [Pods](https://cloud.google.com/kubernetes-engine/docs/concepts/pod) associated with the finding. This field contains Pod records for each container that is owned by a Pod.", "items": { "$ref": "Pod" }, "type": "array" }, "roles": { - "description": "Provides Kubernetes role information for findings that involve [Roles or ClusterRoles](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control).", "items": { "$ref": "Role" }, @@ -10157,42 +8697,34 @@ "type": "object" }, "Label": { - "description": "Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering).", "id": "Label", "properties": { "name": { - "description": "Name of the label.", "type": "string" }, "value": { - "description": "Value that corresponds to the label's name.", "type": "string" } }, "type": "object" }, "ListAssetsResponse": { - "description": "Response message for listing assets.", "id": "ListAssetsResponse", "properties": { "listAssetsResults": { - "description": "Assets matching the list request.", "items": { "$ref": "ListAssetsResult" }, "type": "array" }, "nextPageToken": { - "description": "Token to retrieve the next page of results, or empty if there are no more results.", "type": "string" }, "readTime": { - "description": "Time used for executing the list request.", "format": "google-datetime", "type": "string" }, "totalSize": { - "description": "The total number of assets matching the query.", "format": "int32", "type": "integer" } @@ -10200,15 +8732,12 @@ "type": "object" }, "ListAssetsResult": { - "description": "Result containing the Asset and its State.", "id": "ListAssetsResult", "properties": { "asset": { - "$ref": "Asset", - "description": "Asset matching the search request." + "$ref": "Asset" }, "state": { - "description": "State of the asset.", "enum": [ "STATE_UNSPECIFIED", "UNUSED", @@ -10217,11 +8746,11 @@ "ACTIVE" ], "enumDescriptions": [ - "Unspecified state.", - "Request did not specify use of this field in the result.", - "Asset was added between the points in time.", - "Asset was removed between the points in time.", - "Asset was active at both point(s) in time." + "", + "", + "", + "", + "" ], "type": "string" } @@ -10229,27 +8758,22 @@ "type": "object" }, "ListFindingsResponse": { - "description": "Response message for listing findings.", "id": "ListFindingsResponse", "properties": { "findings": { - "description": "Findings matching the list request.", "items": { "$ref": "GoogleCloudSecuritycenterV1beta1Finding" }, "type": "array" }, "nextPageToken": { - "description": "Token to retrieve the next page of results, or empty if there are no more results.", "type": "string" }, "readTime": { - "description": "Time used for executing the list request.", "format": "google-datetime", "type": "string" }, "totalSize": { - "description": "The total number of findings matching the query.", "format": "int32", "type": "integer" } @@ -10257,22 +8781,18 @@ "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" }, "unreachable": { - "description": "Unordered list. Unreachable resources. Populated when the request sets `ListOperationsRequest.return_partial_success` and reads across collections. For example, when attempting to list all resources across all supported locations.", "items": { "type": "string" }, @@ -10282,15 +8802,12 @@ "type": "object" }, "ListSourcesResponse": { - "description": "Response message for listing sources.", "id": "ListSourcesResponse", "properties": { "nextPageToken": { - "description": "Token to retrieve the next page of results, or empty if there are no more results.", "type": "string" }, "sources": { - "description": "Sources belonging to the requested parent.", "items": { "$ref": "Source" }, @@ -10300,37 +8817,30 @@ "type": "object" }, "LoadBalancer": { - "description": "Contains information related to the load balancer associated with the finding.", "id": "LoadBalancer", "properties": { "name": { - "description": "The name of the load balancer associated with the finding.", "type": "string" } }, "type": "object" }, "LogEntry": { - "description": "An individual entry in a log.", "id": "LogEntry", "properties": { "cloudLoggingEntry": { - "$ref": "CloudLoggingEntry", - "description": "An individual entry in a log stored in Cloud Logging." + "$ref": "CloudLoggingEntry" } }, "type": "object" }, "MemoryHashSignature": { - "description": "A signature corresponding to memory page hashes.", "id": "MemoryHashSignature", "properties": { "binaryFamily": { - "description": "The binary family.", "type": "string" }, "detections": { - "description": "The list of memory hash detections contributing to the binary family match.", "items": { "$ref": "Detection" }, @@ -10340,11 +8850,9 @@ "type": "object" }, "MitreAttack": { - "description": "MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org", "id": "MitreAttack", "properties": { "additionalTactics": { - "description": "Additional MITRE ATT&CK tactics related to this finding, if any.", "items": { "enum": [ "TACTIC_UNSPECIFIED", @@ -10364,28 +8872,27 @@ "IMPACT" ], "enumDescriptions": [ - "Unspecified value.", - "TA0043", - "TA0042", - "TA0001", - "TA0002", - "TA0003", - "TA0004", - "TA0005", - "TA0006", - "TA0007", - "TA0008", - "TA0009", - "TA0011", - "TA0010", - "TA0040" + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" ], "type": "string" }, "type": "array" }, "additionalTechniques": { - "description": "Additional MITRE ATT&CK techniques related to this finding, if any, along with any of their respective parent techniques.", "items": { "enum": [ "TECHNIQUE_UNSPECIFIED", @@ -10529,152 +9036,151 @@ "FINANCIAL_THEFT" ], "enumDescriptions": [ - "Unspecified value.", - "T1001", - "T1001.002", - "T1003", - "T1003.007", - "T1003.008", - "T1005", - "T1020", - "T1027", - "T1027.003", - "T1027.004", - "T1027.010", - "T1029", - "T1033", - "T1036", - "T1036.005", - "T1037", - "T1037.005", - "T1046", - "T1053", - "T1053.003", - "T1053.007", - "T1055", - "T1056", - "T1056.001", - "T1057", - "T1059", - "T1059.004", - "T1059.006", - "T1068", - "T1069", - "T1069.003", - "T1070", - "T1070.002", - "T1070.003", - "T1070.004", - "T1070.006", - "T1070.008", - "T1071", - "T1071.004", - "T1072", - "T1078", - "T1078.001", - "T1078.003", - "T1078.004", - "T1083", - "T1087.001", - "T1090", - "T1090.002", - "T1090.003", - "T1098", - "T1098.001", - "T1098.003", - "T1098.004", - "T1098.006", - "T1104", - "T1105", - "T1106", - "T1110", - "T1119", - "T1129", - "T1132", - "T1132.001", - "T1134", - "T1134.001", - "T1136", - "T1136.001", - "T1140", - "T1190", - "T1195", - "T1195.001", - "T1203", - "T1204", - "T1212", - "T1222.002", - "T1484", - "T1485", - "T1486", - "T1489", - "T1490", - "T1495", - "T1496", - "T1498", - "T1526", - "T1528", - "T1531", - "T1537", - "T1539", - "T1543", - "T1546", - "T1547", - "T1547.006", - "T1547.009", - "T1548", - "T1548.001", - "T1548.003", - "T1552", - "T1552.001", - "T1552.003", - "T1552.004", - "T1553", - "T1553.004", - "T1554", - "T1555", - "T1556", - "T1556.003", - "T1556.006", - "T1562", - "T1562.001", - "T1562.006", - "T1562.012", - "T1564", - "T1564.001", - "T1564.002", - "T1567", - "T1567.002", - "T1568", - "T1570", - "T1574", - "T1574.006", - "T1578", - "T1578.001", - "T1580", - "T1587", - "T1587.001", - "T1588", - "T1588.001", - "T1588.006", - "T1595", - "T1595.001", - "T1608", - "T1608.001", - "T1609", - "T1610", - "T1611", - "T1613", - "T1620", - "T1649", - "T1657" + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" ], "type": "string" }, "type": "array" }, "primaryTactic": { - "description": "The MITRE ATT&CK tactic most closely represented by this finding, if any.", "enum": [ "TACTIC_UNSPECIFIED", "RECONNAISSANCE", @@ -10693,26 +9199,25 @@ "IMPACT" ], "enumDescriptions": [ - "Unspecified value.", - "TA0043", - "TA0042", - "TA0001", - "TA0002", - "TA0003", - "TA0004", - "TA0005", - "TA0006", - "TA0007", - "TA0008", - "TA0009", - "TA0011", - "TA0010", - "TA0040" + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" ], "type": "string" }, "primaryTechniques": { - "description": "The MITRE ATT&CK technique most closely represented by this finding, if any. primary_techniques is a repeated field because there are multiple levels of MITRE ATT&CK techniques. If the technique most closely represented by this finding is a sub-technique (e.g. `SCANNING_IP_BLOCKS`), both the sub-technique and its parent technique(s) will be listed (e.g. `SCANNING_IP_BLOCKS`, `ACTIVE_SCANNING`).", "items": { "enum": [ "TECHNIQUE_UNSPECIFIED", @@ -10856,207 +9361,196 @@ "FINANCIAL_THEFT" ], "enumDescriptions": [ - "Unspecified value.", - "T1001", - "T1001.002", - "T1003", - "T1003.007", - "T1003.008", - "T1005", - "T1020", - "T1027", - "T1027.003", - "T1027.004", - "T1027.010", - "T1029", - "T1033", - "T1036", - "T1036.005", - "T1037", - "T1037.005", - "T1046", - "T1053", - "T1053.003", - "T1053.007", - "T1055", - "T1056", - "T1056.001", - "T1057", - "T1059", - "T1059.004", - "T1059.006", - "T1068", - "T1069", - "T1069.003", - "T1070", - "T1070.002", - "T1070.003", - "T1070.004", - "T1070.006", - "T1070.008", - "T1071", - "T1071.004", - "T1072", - "T1078", - "T1078.001", - "T1078.003", - "T1078.004", - "T1083", - "T1087.001", - "T1090", - "T1090.002", - "T1090.003", - "T1098", - "T1098.001", - "T1098.003", - "T1098.004", - "T1098.006", - "T1104", - "T1105", - "T1106", - "T1110", - "T1119", - "T1129", - "T1132", - "T1132.001", - "T1134", - "T1134.001", - "T1136", - "T1136.001", - "T1140", - "T1190", - "T1195", - "T1195.001", - "T1203", - "T1204", - "T1212", - "T1222.002", - "T1484", - "T1485", - "T1486", - "T1489", - "T1490", - "T1495", - "T1496", - "T1498", - "T1526", - "T1528", - "T1531", - "T1537", - "T1539", - "T1543", - "T1546", - "T1547", - "T1547.006", - "T1547.009", - "T1548", - "T1548.001", - "T1548.003", - "T1552", - "T1552.001", - "T1552.003", - "T1552.004", - "T1553", - "T1553.004", - "T1554", - "T1555", - "T1556", - "T1556.003", - "T1556.006", - "T1562", - "T1562.001", - "T1562.006", - "T1562.012", - "T1564", - "T1564.001", - "T1564.002", - "T1567", - "T1567.002", - "T1568", - "T1570", - "T1574", - "T1574.006", - "T1578", - "T1578.001", - "T1580", - "T1587", - "T1587.001", - "T1588", - "T1588.001", - "T1588.006", - "T1595", - "T1595.001", - "T1608", - "T1608.001", - "T1609", - "T1610", - "T1611", - "T1613", - "T1620", - "T1649", - "T1657" + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" ], "type": "string" }, "type": "array" }, "version": { - "description": "The MITRE ATT&CK version referenced by the above fields. E.g. \"8\".", "type": "string" } }, "type": "object" }, "MuteInfo": { - "description": "Mute information about the finding, including whether the finding has a static mute or any matching dynamic mute rules.", "id": "MuteInfo", "properties": { "dynamicMuteRecords": { - "description": "The list of dynamic mute rules that currently match the finding.", "items": { "$ref": "DynamicMuteRecord" }, "type": "array" }, "staticMute": { - "$ref": "StaticMute", - "description": "If set, the static mute applied to this finding. Static mutes override dynamic mutes. If unset, there is no static mute." + "$ref": "StaticMute" } }, "type": "object" }, "Network": { - "description": "Contains information about a VPC network associated with the finding.", "id": "Network", "properties": { "name": { - "description": "The name of the VPC network resource, for example, `//compute.googleapis.com/projects/my-project/global/networks/my-network`.", "type": "string" } }, "type": "object" }, "Node": { - "description": "Kubernetes nodes associated with the finding.", "id": "Node", "properties": { "name": { - "description": "[Full resource name](https://google.aip.dev/122#full-resource-names) of the Compute Engine VM running the cluster node.", "type": "string" } }, "type": "object" }, "NodePool": { - "description": "Provides GKE node pool information.", "id": "NodePool", "properties": { "name": { - "description": "Kubernetes node pool name.", "type": "string" }, "nodes": { - "description": "Nodes associated with the finding.", "items": { "$ref": "Node" }, @@ -11066,81 +9560,65 @@ "type": "object" }, "Notebook": { - "description": "Represents a Jupyter notebook IPYNB file, such as a [Colab Enterprise notebook](https://cloud.google.com/colab/docs/introduction) file, that is associated with a finding.", "id": "Notebook", "properties": { "lastAuthor": { - "description": "The user ID of the latest author to modify the notebook.", "type": "string" }, "name": { - "description": "The name of the notebook.", "type": "string" }, "notebookUpdateTime": { - "description": "The most recent time the notebook was updated.", "format": "google-datetime", "type": "string" }, "service": { - "description": "The source notebook service, for example, \"Colab Enterprise\".", "type": "string" } }, "type": "object" }, "Object": { - "description": "Kubernetes object related to the finding, uniquely identified by GKNN. Used if the object Kind is not one of Pod, Node, NodePool, Binding, or AccessReview.", "id": "Object", "properties": { "containers": { - "description": "Pod containers associated with this finding, if any.", "items": { "$ref": "Container" }, "type": "array" }, "group": { - "description": "Kubernetes object group, such as \"policy.k8s.io/v1\".", "type": "string" }, "kind": { - "description": "Kubernetes object kind, such as \"Namespace\".", "type": "string" }, "name": { - "description": "Kubernetes object name. For details see https://kubernetes.io/docs/concepts/overview/working-with-objects/names/.", "type": "string" }, "ns": { - "description": "Kubernetes object namespace. Must be a valid DNS label. Named \"ns\" to avoid collision with C++ namespace keyword. For details see https://kubernetes.io/docs/tasks/administer-cluster/namespaces/.", "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." + "$ref": "Status" }, "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": { @@ -11148,134 +9626,109 @@ "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" }, "OrgPolicy": { - "description": "Contains information about the org policies associated with the finding.", "id": "OrgPolicy", "properties": { "name": { - "description": "The resource name of the org policy. Example: \"organizations/{organization_id}/policies/{constraint_name}\"", "type": "string" } }, "type": "object" }, "OrganizationSettings": { - "description": "User specified settings that are attached to the Security Command Center organization.", "id": "OrganizationSettings", "properties": { "assetDiscoveryConfig": { - "$ref": "AssetDiscoveryConfig", - "description": "The configuration used for Asset Discovery runs." + "$ref": "AssetDiscoveryConfig" }, "enableAssetDiscovery": { - "description": "A flag that indicates if Asset Discovery should be enabled. If the flag is set to `true`, then discovery of assets will occur. If it is set to `false`, all historical assets will remain, but discovery of future assets will not occur.", "type": "boolean" }, "name": { - "description": "The relative resource name of the settings. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: \"organizations/{organization_id}/organizationSettings\".", "type": "string" } }, "type": "object" }, "Package": { - "description": "Package is a generic definition of a package.", "id": "Package", "properties": { "cpeUri": { - "description": "The CPE URI where the vulnerability was detected.", "type": "string" }, "packageName": { - "description": "The name of the package where the vulnerability was detected.", "type": "string" }, "packageType": { - "description": "Type of package, for example, os, maven, or go.", "type": "string" }, "packageVersion": { - "description": "The version of the package.", "type": "string" } }, "type": "object" }, "Pipeline": { - "description": "Vertex AI training pipeline associated with the finding.", "id": "Pipeline", "properties": { "displayName": { - "description": "The user defined display name of pipeline, e.g. plants-classification", "type": "string" }, "name": { - "description": "Resource name of the pipeline, e.g. projects/{project}/locations/{location}/trainingPipelines/5253428229225578496", "type": "string" } }, "type": "object" }, "Pod": { - "description": "A Kubernetes Pod.", "id": "Pod", "properties": { "containers": { - "description": "Pod containers associated with this finding, if any.", "items": { "$ref": "Container" }, "type": "array" }, "labels": { - "description": "Pod labels. For Kubernetes containers, these are applied to the container.", "items": { "$ref": "Label" }, "type": "array" }, "name": { - "description": "Kubernetes Pod name.", "type": "string" }, "ns": { - "description": "Kubernetes Pod namespace.", "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" } @@ -11283,45 +9736,36 @@ "type": "object" }, "PolicyDriftDetails": { - "description": "The policy field that violates the deployed posture and its expected and detected values.", "id": "PolicyDriftDetails", "properties": { "detectedValue": { - "description": "The detected value that violates the deployed posture, for example, `false` or `allowed_values={\"projects/22831892\"}`.", "type": "string" }, "expectedValue": { - "description": "The value of this field that was configured in a posture, for example, `true` or `allowed_values={\"projects/29831892\"}`.", "type": "string" }, "field": { - "description": "The name of the updated field, for example constraint.implementation.policy_rules[0].enforce", "type": "string" } }, "type": "object" }, "PolicyViolationSummary": { - "description": "Metadata summarizing policy violations of child resources of the affected resource. `finding_category` and `resource` determine the exact semantics of the counts. For example, when category=DATA_SECURITY_POSTURE_OBJECT_PUBLIC_ACCESS_VIOLATION and resource='storage.googleapis.com/buckets/my-bucket-name' then this counts the number of Cloud Storage objects in my-bucket-name which violate a Public Access control.", "id": "PolicyViolationSummary", "properties": { "conformantResourcesCount": { - "description": "Total number of child resources that conform to the policy.", "format": "int64", "type": "string" }, "evaluationErrorsCount": { - "description": "Number of child resources for which errors during evaluation occurred. The evaluation result for these child resources is effectively \"unknown\".", "format": "int64", "type": "string" }, "outOfScopeResourcesCount": { - "description": "Total count of child resources which were not in scope for evaluation.", "format": "int64", "type": "string" }, "policyViolationsCount": { - "description": "Count of child resources in violation of the policy.", "format": "int64", "type": "string" } @@ -11329,16 +9773,13 @@ "type": "object" }, "PortRange": { - "description": "A port range which is inclusive of the min and max values. Values are between 0 and 2^16-1. The max can be equal / must be not smaller than the min value. If min and max are equal this indicates that it is a single port.", "id": "PortRange", "properties": { "max": { - "description": "Maximum port value.", "format": "int64", "type": "string" }, "min": { - "description": "Minimum port value.", "format": "int64", "type": "string" } @@ -11346,62 +9787,50 @@ "type": "object" }, "Process": { - "description": "Represents an operating system process.", "id": "Process", "properties": { "args": { - "description": "Process arguments as JSON encoded strings.", "items": { "type": "string" }, "type": "array" }, "argumentsTruncated": { - "description": "True if `args` is incomplete.", "type": "boolean" }, "binary": { - "$ref": "File", - "description": "File information for the process executable." + "$ref": "File" }, "envVariables": { - "description": "Process environment variables.", "items": { "$ref": "EnvironmentVariable" }, "type": "array" }, "envVariablesTruncated": { - "description": "True if `env_variables` is incomplete.", "type": "boolean" }, "libraries": { - "description": "File information for libraries loaded by the process.", "items": { "$ref": "File" }, "type": "array" }, "name": { - "description": "The process name, as displayed in utilities like `top` and `ps`. This name can be accessed through `/proc/[pid]/comm` and changed with `prctl(PR_SET_NAME)`.", "type": "string" }, "parentPid": { - "description": "The parent process ID.", "format": "int64", "type": "string" }, "pid": { - "description": "The process ID.", "format": "int64", "type": "string" }, "script": { - "$ref": "File", - "description": "When the process represents the invocation of a script, `binary` provides information about the interpreter, while `script` provides information about the script file provided to the interpreter." + "$ref": "File" }, "userId": { - "description": "The ID of the user that executed the process. E.g. If this is the root user this will always be 0.", "format": "int64", "type": "string" } @@ -11409,70 +9838,58 @@ "type": "object" }, "ProcessSignature": { - "description": "Indicates what signature matched this process.", "id": "ProcessSignature", "properties": { "memoryHashSignature": { - "$ref": "MemoryHashSignature", - "description": "Signature indicating that a binary family was matched." + "$ref": "MemoryHashSignature" }, "signatureType": { - "description": "Describes the type of resource associated with the signature.", "enum": [ "SIGNATURE_TYPE_UNSPECIFIED", "SIGNATURE_TYPE_PROCESS", "SIGNATURE_TYPE_FILE" ], "enumDescriptions": [ - "The default signature type.", - "Used for signatures concerning processes.", - "Used for signatures concerning disks." + "", + "", + "" ], "type": "string" }, "yaraRuleSignature": { - "$ref": "YaraRuleSignature", - "description": "Signature indicating that a YARA rule was matched." + "$ref": "YaraRuleSignature" } }, "type": "object" }, "Reference": { - "description": "Additional Links", "id": "Reference", "properties": { "source": { - "description": "Source of the reference e.g. NVD", "type": "string" }, "uri": { - "description": "Uri for the mentioned source e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527.", "type": "string" } }, "type": "object" }, "Requests": { - "description": "Information about the requests relevant to the finding.", "id": "Requests", "properties": { "longTermAllowed": { - "description": "Allowed RPS (requests per second) over the long term.", "format": "int32", "type": "integer" }, "longTermDenied": { - "description": "Denied RPS (requests per second) over the long term.", "format": "int32", "type": "integer" }, "ratio": { - "description": "For 'Increasing deny ratio', the ratio is the denied traffic divided by the allowed traffic. For 'Allowed traffic spike', the ratio is the allowed traffic in the short term divided by allowed traffic in the long term.", "format": "double", "type": "number" }, "shortTermAllowed": { - "description": "Allowed RPS (requests per second) in the short term.", "format": "int32", "type": "integer" } @@ -11480,11 +9897,9 @@ "type": "object" }, "ResourcePath": { - "description": "Represents the path of resources leading up to the resource this finding is about.", "id": "ResourcePath", "properties": { "nodes": { - "description": "The list of nodes that make the up resource path, ordered from lowest level to highest level.", "items": { "$ref": "ResourcePathNode" }, @@ -11494,19 +9909,15 @@ "type": "object" }, "ResourcePathNode": { - "description": "A node within the resource path. Each node represents a resource within the resource hierarchy.", "id": "ResourcePathNode", "properties": { "displayName": { - "description": "The display name of the resource this node represents.", "type": "string" }, "id": { - "description": "The ID of the resource this node represents.", "type": "string" }, "nodeType": { - "description": "The type of resource this node represents.", "enum": [ "RESOURCE_PATH_NODE_TYPE_UNSPECIFIED", "GCP_ORGANIZATION", @@ -11520,16 +9931,16 @@ "AZURE_RESOURCE_GROUP" ], "enumDescriptions": [ - "Node type is unspecified.", - "The node represents a Google Cloud organization.", - "The node represents a Google Cloud folder.", - "The node represents a Google Cloud project.", - "The node represents an AWS organization.", - "The node represents an AWS organizational unit.", - "The node represents an AWS account.", - "The node represents an Azure management group.", - "The node represents an Azure subscription.", - "The node represents an Azure resource group." + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" ], "type": "string" } @@ -11537,96 +9948,79 @@ "type": "object" }, "Role": { - "description": "Kubernetes Role or ClusterRole.", "id": "Role", "properties": { "kind": { - "description": "Role type.", "enum": [ "KIND_UNSPECIFIED", "ROLE", "CLUSTER_ROLE" ], "enumDescriptions": [ - "Role type is not specified.", - "Kubernetes Role.", - "Kubernetes ClusterRole." + "", + "", + "" ], "type": "string" }, "name": { - "description": "Role name.", "type": "string" }, "ns": { - "description": "Role namespace.", "type": "string" } }, "type": "object" }, "RunAssetDiscoveryRequest": { - "description": "Request message for running asset discovery for an organization.", "id": "RunAssetDiscoveryRequest", "properties": {}, "type": "object" }, "Secret": { - "description": "Details about a secret or credential associated with the finding.", "id": "Secret", "properties": { "environmentVariable": { - "$ref": "SecretEnvironmentVariable", - "description": "The environment variable containing the secret." + "$ref": "SecretEnvironmentVariable" }, "filePath": { - "$ref": "SecretFilePath", - "description": "The file containing the secret." + "$ref": "SecretFilePath" }, "status": { - "$ref": "SecretStatus", - "description": "The status of the secret." + "$ref": "SecretStatus" }, "type": { - "description": "The type of secret, for example, GCP_API_KEY.", "type": "string" } }, "type": "object" }, "SecretEnvironmentVariable": { - "description": "Environment variable containing the secret.", "id": "SecretEnvironmentVariable", "properties": { "key": { - "description": "Environment variable name as a JSON encoded string. Note that value is not included since the value contains the secret data, which is sensitive core content.", "type": "string" } }, "type": "object" }, "SecretFilePath": { - "description": "File path containing the secret.", "id": "SecretFilePath", "properties": { "path": { - "description": "Path to the file.", "type": "string" } }, "type": "object" }, "SecretStatus": { - "description": "The status of the secret.", "id": "SecretStatus", "properties": { "lastUpdatedTime": { - "description": "Time that the secret was found.", "format": "google-datetime", "type": "string" }, "validity": { - "description": "The validity of the secret.", "enum": [ "SECRET_VALIDITY_UNSPECIFIED", "SECRET_VALIDITY_UNSUPPORTED", @@ -11635,11 +10029,11 @@ "SECRET_VALIDITY_VALID" ], "enumDescriptions": [ - "Default value; no validation was attempted.", - "There is no mechanism to validate the secret.", - "Validation is supported but the validation failed.", - "The secret is confirmed to be invalid.", - "The secret is confirmed to be valid." + "", + "", + "", + "", + "" ], "type": "string" } @@ -11647,144 +10041,115 @@ "type": "object" }, "SecurityBulletin": { - "description": "SecurityBulletin are notifications of vulnerabilities of Google products.", "id": "SecurityBulletin", "properties": { "bulletinId": { - "description": "ID of the bulletin corresponding to the vulnerability.", "type": "string" }, "submissionTime": { - "description": "Submission time of this Security Bulletin.", "format": "google-datetime", "type": "string" }, "suggestedUpgradeVersion": { - "description": "This represents a version that the cluster receiving this notification should be upgraded to, based on its current version. For example, 1.15.0", "type": "string" } }, "type": "object" }, "SecurityCenterProperties": { - "description": "Security Command Center managed properties. These properties are managed by Security Command Center and cannot be modified by the user.", "id": "SecurityCenterProperties", "properties": { "resourceName": { - "description": "Immutable. The full resource name of the Google Cloud resource this asset represents. This field is immutable after create time. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", "type": "string" }, "resourceOwners": { - "description": "Owners of the Google Cloud resource.", "items": { "type": "string" }, "type": "array" }, "resourceParent": { - "description": "The full resource name of the immediate parent of the resource. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", "type": "string" }, "resourceProject": { - "description": "The full resource name of the project the resource belongs to. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", "type": "string" }, "resourceType": { - "description": "The type of the Google Cloud resource. Examples include: APPLICATION, PROJECT, and ORGANIZATION. This is a case insensitive field defined by Security Command Center and/or the producer of the resource and is immutable after create time.", "type": "string" } }, "type": "object" }, "SecurityMarks": { - "description": "User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization.", "id": "SecurityMarks", "properties": { "canonicalName": { - "description": "The canonical name of the marks. Examples: \"organizations/{organization_id}/assets/{asset_id}/securityMarks\" \"folders/{folder_id}/assets/{asset_id}/securityMarks\" \"projects/{project_number}/assets/{asset_id}/securityMarks\" \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks\" \"folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks\" \"projects/{project_number}/sources/{source_id}/findings/{finding_id}/securityMarks\"", "type": "string" }, "marks": { "additionalProperties": { "type": "string" }, - "description": "Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive)", "type": "object" }, "name": { - "description": "The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: \"organizations/{organization_id}/assets/{asset_id}/securityMarks\" \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks\".", "type": "string" } }, "type": "object" }, "SecurityPolicy": { - "description": "Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding.", "id": "SecurityPolicy", "properties": { "name": { - "description": "The name of the Google Cloud Armor security policy, for example, \"my-security-policy\".", "type": "string" }, "preview": { - "description": "Whether or not the associated rule or policy is in preview mode.", "type": "boolean" }, "type": { - "description": "The type of Google Cloud Armor security policy for example, 'backend security policy', 'edge security policy', 'network edge security policy', or 'always-on DDoS protection'.", "type": "string" } }, "type": "object" }, "SecurityPosture": { - "description": "Represents a posture that is deployed on Google Cloud by the Security Command Center Posture Management service. A posture contains one or more policy sets. A policy set is a group of policies that enforce a set of security rules on Google Cloud.", "id": "SecurityPosture", "properties": { "changedPolicy": { - "description": "The name of the updated policy, for example, `projects/{project_id}/policies/{constraint_name}`.", "type": "string" }, "name": { - "description": "Name of the posture, for example, `CIS-Posture`.", "type": "string" }, "policy": { - "description": "The ID of the updated policy, for example, `compute-policy-1`.", "type": "string" }, "policyDriftDetails": { - "description": "The details about a change in an updated policy that violates the deployed posture.", "items": { "$ref": "PolicyDriftDetails" }, "type": "array" }, "policySet": { - "description": "The name of the updated policyset, for example, `cis-policyset`.", "type": "string" }, "postureDeployment": { - "description": "The name of the posture deployment, for example, `organizations/{org_id}/posturedeployments/{posture_deployment_id}`.", "type": "string" }, "postureDeploymentResource": { - "description": "The project, folder, or organization on which the posture is deployed, for example, `projects/{project_number}`.", "type": "string" }, "revisionId": { - "description": "The version of the posture, for example, `c7cfa2a8`.", "type": "string" } }, "type": "object" }, "SensitivityScore": { - "description": "Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive.", "id": "SensitivityScore", "properties": { "score": { - "description": "The sensitivity score applied to the resource.", "enum": [ "SENSITIVITY_SCORE_LEVEL_UNSPECIFIED", "SENSITIVITY_LOW", @@ -11793,11 +10158,11 @@ "SENSITIVITY_HIGH" ], "enumDescriptions": [ - "Unused.", - "No sensitive information detected. The resource isn't publicly accessible.", - "Unable to determine sensitivity.", - "Medium risk. Contains personally identifiable information (PII), potentially sensitive data, or fields with free-text data that are at a higher risk of having intermittent sensitive data. Consider limiting access.", - "High risk. Sensitive personally identifiable information (SPII) can be present. Exfiltration of data can lead to user data loss. Re-identification of users might be possible. Consider limiting usage and or removing SPII." + "", + "", + "", + "", + "" ], "type": "string" } @@ -11805,40 +10170,34 @@ "type": "object" }, "ServiceAccountDelegationInfo": { - "description": "Identity delegation history of an authenticated service account.", "id": "ServiceAccountDelegationInfo", "properties": { "principalEmail": { - "description": "The email address of a Google account.", "type": "string" }, "principalSubject": { - "description": "A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subjects/{subject}` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]`", "type": "string" } }, "type": "object" }, "SetFindingStateRequest": { - "description": "Request message for updating a finding's state.", "id": "SetFindingStateRequest", "properties": { "startTime": { - "description": "Optional. The time at which the updated state takes effect. If not set uses the current time.", "format": "google-datetime", "type": "string" }, "state": { - "description": "Required. The desired State of the finding.", "enum": [ "STATE_UNSPECIFIED", "ACTIVE", "INACTIVE" ], "enumDescriptions": [ - "Unspecified state.", - "The finding requires attention and has not been addressed yet.", - "The finding has been fixed, triaged as a non-issue or otherwise addressed and is no longer active." + "", + "", + "" ], "type": "string" } @@ -11846,15 +10205,12 @@ "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." + "$ref": "Policy" }, "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" } @@ -11862,35 +10218,28 @@ "type": "object" }, "Source": { - "description": "Security Command Center finding source. A finding source is an entity or a mechanism that can produce a finding. A source is like a container of findings that come from the same scanner, logger, monitor, etc.", "id": "Source", "properties": { "description": { - "description": "The description of the source (max of 1024 characters). Example: \"Web Security Scanner is a web security scanner for common vulnerabilities in App Engine applications. It can automatically scan and detect four common vulnerabilities, including cross-site-scripting (XSS), Flash injection, mixed content (HTTP in HTTPS), and outdated/insecure libraries.\"", "type": "string" }, "displayName": { - "description": "The source's display name. A source's display name must be unique amongst its siblings, for example, two sources with the same parent can't share the same display name. The display name must have a length between 1 and 64 characters (inclusive).", "type": "string" }, "name": { - "description": "The relative resource name of this source. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: \"organizations/{organization_id}/sources/{source_id}\"", "type": "string" } }, "type": "object" }, "StaticMute": { - "description": "Information about the static mute state. A static mute state overrides any dynamic mute rules that apply to this finding. The static mute state can be set by a static mute rule or by muting the finding directly.", "id": "StaticMute", "properties": { "applyTime": { - "description": "When the static mute was applied.", "format": "google-datetime", "type": "string" }, "state": { - "description": "The static mute state. If the value is `MUTED` or `UNMUTED`, then the finding's overall mute state will have the same value.", "enum": [ "MUTE_UNSPECIFIED", "MUTED", @@ -11898,10 +10247,10 @@ "UNDEFINED" ], "enumDescriptions": [ - "Unspecified.", - "Finding has been muted.", - "Finding has been unmuted.", - "Finding has never been muted/unmuted." + "", + "", + "", + "" ], "type": "string" } @@ -11909,16 +10258,13 @@ "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.", @@ -11929,18 +10275,15 @@ "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" }, "Subject": { - "description": "Represents a Kubernetes subject.", "id": "Subject", "properties": { "kind": { - "description": "Authentication type for the subject.", "enum": [ "AUTH_TYPE_UNSPECIFIED", "USER", @@ -11948,30 +10291,26 @@ "GROUP" ], "enumDescriptions": [ - "Authentication is not specified.", - "User with valid certificate.", - "Users managed by Kubernetes API with credentials stored as secrets.", - "Collection of users." + "", + "", + "", + "" ], "type": "string" }, "name": { - "description": "Name for the subject.", "type": "string" }, "ns": { - "description": "Namespace for the subject.", "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" }, @@ -11981,11 +10320,9 @@ "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" }, @@ -11995,48 +10332,38 @@ "type": "object" }, "TicketInfo": { - "description": "Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding.", "id": "TicketInfo", "properties": { "assignee": { - "description": "The assignee of the ticket in the ticket system.", "type": "string" }, "description": { - "description": "The description of the ticket in the ticket system.", "type": "string" }, "id": { - "description": "The identifier of the ticket in the ticket system.", "type": "string" }, "status": { - "description": "The latest status of the ticket, as reported by the ticket system.", "type": "string" }, "updateTime": { - "description": "The time when the ticket was last updated, as reported by the ticket system.", "format": "google-datetime", "type": "string" }, "uri": { - "description": "The link to the ticket in the ticket system.", "type": "string" } }, "type": "object" }, "ToxicCombination": { - "description": "Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination.", "id": "ToxicCombination", "properties": { "attackExposureScore": { - "description": "The [Attack exposure score](https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_exposure_scores) of this toxic combination. The score is a measure of how much this toxic combination exposes one or more high-value resources to potential attack.", "format": "double", "type": "number" }, "relatedFindings": { - "description": "List of resource names of findings associated with this toxic combination. For example, `organizations/123/sources/456/findings/789`.", "items": { "type": "string" }, @@ -12046,18 +10373,15 @@ "type": "object" }, "VertexAi": { - "description": "Vertex AI-related information associated with the finding.", "id": "VertexAi", "properties": { "datasets": { - "description": "Datasets associated with the finding.", "items": { "$ref": "Dataset" }, "type": "array" }, "pipelines": { - "description": "Pipelines associated with the finding.", "items": { "$ref": "Pipeline" }, @@ -12067,46 +10391,37 @@ "type": "object" }, "Vulnerability": { - "description": "Refers to common vulnerability fields e.g. cve, cvss, cwe etc.", "id": "Vulnerability", "properties": { "cve": { - "$ref": "Cve", - "description": "CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/)" + "$ref": "Cve" }, "cwes": { - "description": "Represents one or more Common Weakness Enumeration (CWE) information on this vulnerability.", "items": { "$ref": "Cwe" }, "type": "array" }, "fixedPackage": { - "$ref": "Package", - "description": "The fixed package is relevant to the finding." + "$ref": "Package" }, "offendingPackage": { - "$ref": "Package", - "description": "The offending package is relevant to the finding." + "$ref": "Package" }, "providerRiskScore": { - "description": "Provider provided risk_score based on multiple factors. The higher the risk score, the more risky the vulnerability is.", "format": "int64", "type": "string" }, "reachable": { - "description": "Represents whether the vulnerability is reachable (detected via static analysis)", "type": "boolean" }, "securityBulletin": { - "$ref": "SecurityBulletin", - "description": "The security bulletin is relevant to this finding." + "$ref": "SecurityBulletin" } }, "type": "object" }, "VulnerabilityCountBySeverity": { - "description": "Vulnerability count by severity.", "id": "VulnerabilityCountBySeverity", "properties": { "severityToFindingCount": { @@ -12114,18 +10429,15 @@ "format": "int64", "type": "string" }, - "description": "Key is the Severity enum.", "type": "object" } }, "type": "object" }, "VulnerabilitySnapshot": { - "description": "Result containing the properties and count of a VulnerabilitySnapshot request.", "id": "VulnerabilitySnapshot", "properties": { "cloudProvider": { - "description": "The cloud provider for the vulnerability snapshot.", "enum": [ "CLOUD_PROVIDER_UNSPECIFIED", "GOOGLE_CLOUD_PLATFORM", @@ -12133,23 +10445,20 @@ "MICROSOFT_AZURE" ], "enumDescriptions": [ - "The cloud provider is unspecified.", - "The cloud provider is Google Cloud.", - "The cloud provider is Amazon Web Services.", - "The cloud provider is Microsoft Azure." + "", + "", + "", + "" ], "type": "string" }, "findingCount": { - "$ref": "VulnerabilityCountBySeverity", - "description": "The vulnerability count by severity." + "$ref": "VulnerabilityCountBySeverity" }, "name": { - "description": "Identifier. The vulnerability snapshot name. Format: //locations//vulnerabilitySnapshots/", "type": "string" }, "snapshotTime": { - "description": "The time that the snapshot was taken.", "format": "google-datetime", "type": "string" } @@ -12157,11 +10466,9 @@ "type": "object" }, "YaraRuleSignature": { - "description": "A signature corresponding to a YARA rule.", "id": "YaraRuleSignature", "properties": { "yaraRule": { - "description": "The name of the YARA rule.", "type": "string" } }, diff --git a/discovery/securitycenter-v1beta2.json b/discovery/securitycenter-v1beta2.json index f95b2c3facf..60832528859 100644 --- a/discovery/securitycenter-v1beta2.json +++ b/discovery/securitycenter-v1beta2.json @@ -125,7 +125,7 @@ "folders": { "methods": { "getContainerThreatDetectionSettings": { - "description": "Get the ContainerThreatDetectionSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetContainerThreatDetectionSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateContainerThreatDetectionSettings for this purpose.", + "description": "", "flatPath": "v1beta2/folders/{foldersId}/containerThreatDetectionSettings", "httpMethod": "GET", "id": "securitycenter.folders.getContainerThreatDetectionSettings", @@ -134,7 +134,6 @@ ], "parameters": { "name": { - "description": "Required. The name of the ContainerThreatDetectionSettings to retrieve. Formats: * organizations/{organization}/containerThreatDetectionSettings * folders/{folder}/containerThreatDetectionSettings * projects/{project}/containerThreatDetectionSettings * projects/{project}/locations/{location}/clusters/{cluster}/containerThreatDetectionSettings", "location": "path", "pattern": "^folders/[^/]+/containerThreatDetectionSettings$", "required": true, @@ -150,7 +149,7 @@ ] }, "getEventThreatDetectionSettings": { - "description": "Get the EventThreatDetectionSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetEventThreatDetectionSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateEventThreatDetectionSettings for this purpose.", + "description": "", "flatPath": "v1beta2/folders/{foldersId}/eventThreatDetectionSettings", "httpMethod": "GET", "id": "securitycenter.folders.getEventThreatDetectionSettings", @@ -159,7 +158,6 @@ ], "parameters": { "name": { - "description": "Required. The name of the EventThreatDetectionSettings to retrieve. Formats: * organizations/{organization}/eventThreatDetectionSettings * folders/{folder}/eventThreatDetectionSettings * projects/{project}/eventThreatDetectionSettings", "location": "path", "pattern": "^folders/[^/]+/eventThreatDetectionSettings$", "required": true, @@ -175,7 +173,7 @@ ] }, "getRapidVulnerabilityDetectionSettings": { - "description": "Get the RapidVulnerabilityDetectionSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetRapidVulnerabilityDetectionSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateRapidVulnerabilityDetectionSettings for this purpose.", + "description": "", "flatPath": "v1beta2/folders/{foldersId}/rapidVulnerabilityDetectionSettings", "httpMethod": "GET", "id": "securitycenter.folders.getRapidVulnerabilityDetectionSettings", @@ -184,7 +182,6 @@ ], "parameters": { "name": { - "description": "Required. The name of the RapidVulnerabilityDetectionSettings to retrieve. Formats: * organizations/{organization}/rapidVulnerabilityDetectionSettings * folders/{folder}/rapidVulnerabilityDetectionSettings * projects/{project}/rapidVulnerabilityDetectionSettings", "location": "path", "pattern": "^folders/[^/]+/rapidVulnerabilityDetectionSettings$", "required": true, @@ -200,7 +197,7 @@ ] }, "getSecurityCenterSettings": { - "description": "Get the SecurityCenterSettings resource.", + "description": "", "flatPath": "v1beta2/folders/{foldersId}/securityCenterSettings", "httpMethod": "GET", "id": "securitycenter.folders.getSecurityCenterSettings", @@ -209,7 +206,6 @@ ], "parameters": { "name": { - "description": "Required. The name of the SecurityCenterSettings to retrieve. Format: organizations/{organization}/securityCenterSettings Format: folders/{folder}/securityCenterSettings Format: projects/{project}/securityCenterSettings", "location": "path", "pattern": "^folders/[^/]+/securityCenterSettings$", "required": true, @@ -225,7 +221,7 @@ ] }, "getSecurityHealthAnalyticsSettings": { - "description": "Get the SecurityHealthAnalyticsSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetSecurityHealthAnalyticsSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateSecurityHealthAnalyticsSettings for this purpose.", + "description": "", "flatPath": "v1beta2/folders/{foldersId}/securityHealthAnalyticsSettings", "httpMethod": "GET", "id": "securitycenter.folders.getSecurityHealthAnalyticsSettings", @@ -234,7 +230,6 @@ ], "parameters": { "name": { - "description": "Required. The name of the SecurityHealthAnalyticsSettings to retrieve. Formats: * organizations/{organization}/securityHealthAnalyticsSettings * folders/{folder}/securityHealthAnalyticsSettings * projects/{project}/securityHealthAnalyticsSettings", "location": "path", "pattern": "^folders/[^/]+/securityHealthAnalyticsSettings$", "required": true, @@ -250,7 +245,7 @@ ] }, "getVirtualMachineThreatDetectionSettings": { - "description": "Get the VirtualMachineThreatDetectionSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetVirtualMachineThreatDetectionSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateVirtualMachineThreatDetectionSettings for this purpose.", + "description": "", "flatPath": "v1beta2/folders/{foldersId}/virtualMachineThreatDetectionSettings", "httpMethod": "GET", "id": "securitycenter.folders.getVirtualMachineThreatDetectionSettings", @@ -259,7 +254,6 @@ ], "parameters": { "name": { - "description": "Required. The name of the VirtualMachineThreatDetectionSettings to retrieve. Formats: * organizations/{organization}/virtualMachineThreatDetectionSettings * folders/{folder}/virtualMachineThreatDetectionSettings * projects/{project}/virtualMachineThreatDetectionSettings", "location": "path", "pattern": "^folders/[^/]+/virtualMachineThreatDetectionSettings$", "required": true, @@ -275,7 +269,7 @@ ] }, "getWebSecurityScannerSettings": { - "description": "Get the WebSecurityScannerSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetWebSecurityScannerSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateWebSecurityScannerSettings for this purpose.", + "description": "", "flatPath": "v1beta2/folders/{foldersId}/webSecurityScannerSettings", "httpMethod": "GET", "id": "securitycenter.folders.getWebSecurityScannerSettings", @@ -284,7 +278,6 @@ ], "parameters": { "name": { - "description": "Required. The name of the WebSecurityScannerSettings to retrieve. Formats: * organizations/{organization}/webSecurityScannerSettings * folders/{folder}/webSecurityScannerSettings * projects/{project}/webSecurityScannerSettings", "location": "path", "pattern": "^folders/[^/]+/webSecurityScannerSettings$", "required": true, @@ -300,7 +293,7 @@ ] }, "updateContainerThreatDetectionSettings": { - "description": "Update the ContainerThreatDetectionSettings resource.", + "description": "", "flatPath": "v1beta2/folders/{foldersId}/containerThreatDetectionSettings", "httpMethod": "PATCH", "id": "securitycenter.folders.updateContainerThreatDetectionSettings", @@ -309,14 +302,12 @@ ], "parameters": { "name": { - "description": "Identifier. The resource name of the ContainerThreatDetectionSettings. Formats: * organizations/{organization}/containerThreatDetectionSettings * folders/{folder}/containerThreatDetectionSettings * projects/{project}/containerThreatDetectionSettings * projects/{project}/locations/{location}/clusters/{cluster}/containerThreatDetectionSettings", "location": "path", "pattern": "^folders/[^/]+/containerThreatDetectionSettings$", "required": true, "type": "string" }, "updateMask": { - "description": "The list of fields to be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -334,7 +325,7 @@ ] }, "updateEventThreatDetectionSettings": { - "description": "Update the EventThreatDetectionSettings resource.", + "description": "", "flatPath": "v1beta2/folders/{foldersId}/eventThreatDetectionSettings", "httpMethod": "PATCH", "id": "securitycenter.folders.updateEventThreatDetectionSettings", @@ -343,14 +334,12 @@ ], "parameters": { "name": { - "description": "Identifier. The resource name of the EventThreatDetectionSettings. Formats: * organizations/{organization}/eventThreatDetectionSettings * folders/{folder}/eventThreatDetectionSettings * projects/{project}/eventThreatDetectionSettings", "location": "path", "pattern": "^folders/[^/]+/eventThreatDetectionSettings$", "required": true, "type": "string" }, "updateMask": { - "description": "The list of fields to be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -368,7 +357,7 @@ ] }, "updateRapidVulnerabilityDetectionSettings": { - "description": "Update the RapidVulnerabilityDetectionSettings resource.", + "description": "", "flatPath": "v1beta2/folders/{foldersId}/rapidVulnerabilityDetectionSettings", "httpMethod": "PATCH", "id": "securitycenter.folders.updateRapidVulnerabilityDetectionSettings", @@ -377,14 +366,12 @@ ], "parameters": { "name": { - "description": "The resource name of the RapidVulnerabilityDetectionSettings. Formats: * organizations/{organization}/rapidVulnerabilityDetectionSettings * folders/{folder}/rapidVulnerabilityDetectionSettings * projects/{project}/rapidVulnerabilityDetectionSettings", "location": "path", "pattern": "^folders/[^/]+/rapidVulnerabilityDetectionSettings$", "required": true, "type": "string" }, "updateMask": { - "description": "The list of fields to be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -402,7 +389,7 @@ ] }, "updateSecurityHealthAnalyticsSettings": { - "description": "Update the SecurityHealthAnalyticsSettings resource.", + "description": "", "flatPath": "v1beta2/folders/{foldersId}/securityHealthAnalyticsSettings", "httpMethod": "PATCH", "id": "securitycenter.folders.updateSecurityHealthAnalyticsSettings", @@ -411,14 +398,12 @@ ], "parameters": { "name": { - "description": "Identifier. The resource name of the SecurityHealthAnalyticsSettings. Formats: * organizations/{organization}/securityHealthAnalyticsSettings * folders/{folder}/securityHealthAnalyticsSettings * projects/{project}/securityHealthAnalyticsSettings", "location": "path", "pattern": "^folders/[^/]+/securityHealthAnalyticsSettings$", "required": true, "type": "string" }, "updateMask": { - "description": "The list of fields to be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -436,7 +421,7 @@ ] }, "updateVirtualMachineThreatDetectionSettings": { - "description": "Update the VirtualMachineThreatDetectionSettings resource.", + "description": "", "flatPath": "v1beta2/folders/{foldersId}/virtualMachineThreatDetectionSettings", "httpMethod": "PATCH", "id": "securitycenter.folders.updateVirtualMachineThreatDetectionSettings", @@ -445,14 +430,12 @@ ], "parameters": { "name": { - "description": "Identifier. The resource name of the VirtualMachineThreatDetectionSettings. Formats: * organizations/{organization}/virtualMachineThreatDetectionSettings * folders/{folder}/virtualMachineThreatDetectionSettings * projects/{project}/virtualMachineThreatDetectionSettings", "location": "path", "pattern": "^folders/[^/]+/virtualMachineThreatDetectionSettings$", "required": true, "type": "string" }, "updateMask": { - "description": "The list of fields to be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -470,7 +453,7 @@ ] }, "updateWebSecurityScannerSettings": { - "description": "Update the WebSecurityScannerSettings resource.", + "description": "", "flatPath": "v1beta2/folders/{foldersId}/webSecurityScannerSettings", "httpMethod": "PATCH", "id": "securitycenter.folders.updateWebSecurityScannerSettings", @@ -479,14 +462,12 @@ ], "parameters": { "name": { - "description": "Identifier. The resource name of the WebSecurityScannerSettings. Formats: * organizations/{organization}/webSecurityScannerSettings * folders/{folder}/webSecurityScannerSettings * projects/{project}/webSecurityScannerSettings", "location": "path", "pattern": "^folders/[^/]+/webSecurityScannerSettings$", "required": true, "type": "string" }, "updateMask": { - "description": "The list of fields to be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -508,7 +489,7 @@ "containerThreatDetectionSettings": { "methods": { "calculate": { - "description": "Calculates the effective ContainerThreatDetectionSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.", + "description": "", "flatPath": "v1beta2/folders/{foldersId}/containerThreatDetectionSettings:calculate", "httpMethod": "GET", "id": "securitycenter.folders.containerThreatDetectionSettings.calculate", @@ -517,14 +498,12 @@ ], "parameters": { "name": { - "description": "Required. The name of the ContainerThreatDetectionSettings to calculate. Formats: * organizations/{organization}/containerThreatDetectionSettings * folders/{folder}/containerThreatDetectionSettings * projects/{project}/containerThreatDetectionSettings * projects/{project}/locations/{location}/clusters/{cluster}/containerThreatDetectionSettings", "location": "path", "pattern": "^folders/[^/]+/containerThreatDetectionSettings$", "required": true, "type": "string" }, "showEligibleModulesOnly": { - "description": "Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown.", "location": "query", "type": "boolean" } @@ -542,7 +521,7 @@ "eventThreatDetectionSettings": { "methods": { "calculate": { - "description": "Calculates the effective EventThreatDetectionSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.", + "description": "", "flatPath": "v1beta2/folders/{foldersId}/eventThreatDetectionSettings:calculate", "httpMethod": "GET", "id": "securitycenter.folders.eventThreatDetectionSettings.calculate", @@ -551,14 +530,12 @@ ], "parameters": { "name": { - "description": "Required. The name of the EventThreatDetectionSettings to calculate. Formats: * organizations/{organization}/eventThreatDetectionSettings * folders/{folder}/eventThreatDetectionSettings * projects/{project}/eventThreatDetectionSettings", "location": "path", "pattern": "^folders/[^/]+/eventThreatDetectionSettings$", "required": true, "type": "string" }, "showEligibleModulesOnly": { - "description": "Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown.", "location": "query", "type": "boolean" } @@ -576,7 +553,7 @@ "rapidVulnerabilityDetectionSettings": { "methods": { "calculate": { - "description": "Calculates the effective RapidVulnerabilityDetectionSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.", + "description": "", "flatPath": "v1beta2/folders/{foldersId}/rapidVulnerabilityDetectionSettings:calculate", "httpMethod": "GET", "id": "securitycenter.folders.rapidVulnerabilityDetectionSettings.calculate", @@ -585,7 +562,6 @@ ], "parameters": { "name": { - "description": "Required. The name of the RapidVulnerabilityDetectionSettings to calculate. Formats: * organizations/{organization}/rapidVulnerabilityDetectionSettings * folders/{folder}/rapidVulnerabilityDetectionSettings * projects/{project}/rapidVulnerabilityDetectionSettings", "location": "path", "pattern": "^folders/[^/]+/rapidVulnerabilityDetectionSettings$", "required": true, @@ -605,7 +581,7 @@ "securityHealthAnalyticsSettings": { "methods": { "calculate": { - "description": "Calculates the effective SecurityHealthAnalyticsSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.", + "description": "", "flatPath": "v1beta2/folders/{foldersId}/securityHealthAnalyticsSettings:calculate", "httpMethod": "GET", "id": "securitycenter.folders.securityHealthAnalyticsSettings.calculate", @@ -614,14 +590,12 @@ ], "parameters": { "name": { - "description": "Required. The name of the SecurityHealthAnalyticsSettings to calculate. Formats: * organizations/{organization}/securityHealthAnalyticsSettings * folders/{folder}/securityHealthAnalyticsSettings * projects/{project}/securityHealthAnalyticsSettings", "location": "path", "pattern": "^folders/[^/]+/securityHealthAnalyticsSettings$", "required": true, "type": "string" }, "showEligibleModulesOnly": { - "description": "Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown.", "location": "query", "type": "boolean" } @@ -639,7 +613,7 @@ "virtualMachineThreatDetectionSettings": { "methods": { "calculate": { - "description": "Calculates the effective VirtualMachineThreatDetectionSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.", + "description": "", "flatPath": "v1beta2/folders/{foldersId}/virtualMachineThreatDetectionSettings:calculate", "httpMethod": "GET", "id": "securitycenter.folders.virtualMachineThreatDetectionSettings.calculate", @@ -648,14 +622,12 @@ ], "parameters": { "name": { - "description": "Required. The name of the VirtualMachineThreatDetectionSettings to calculate. Formats: * organizations/{organization}/virtualMachineThreatDetectionSettings * folders/{folder}/virtualMachineThreatDetectionSettings * projects/{project}/virtualMachineThreatDetectionSettings", "location": "path", "pattern": "^folders/[^/]+/virtualMachineThreatDetectionSettings$", "required": true, "type": "string" }, "showEligibleModulesOnly": { - "description": "Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown.", "location": "query", "type": "boolean" } @@ -673,7 +645,7 @@ "webSecurityScannerSettings": { "methods": { "calculate": { - "description": "Calculates the effective WebSecurityScannerSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.", + "description": "", "flatPath": "v1beta2/folders/{foldersId}/webSecurityScannerSettings:calculate", "httpMethod": "GET", "id": "securitycenter.folders.webSecurityScannerSettings.calculate", @@ -682,14 +654,12 @@ ], "parameters": { "name": { - "description": "Required. The name of the WebSecurityScannerSettings to calculate. Formats: * organizations/{organization}/webSecurityScannerSettings * folders/{folder}/webSecurityScannerSettings * projects/{project}/webSecurityScannerSettings", "location": "path", "pattern": "^folders/[^/]+/webSecurityScannerSettings$", "required": true, "type": "string" }, "showEligibleModulesOnly": { - "description": "Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown.", "location": "query", "type": "boolean" } @@ -709,7 +679,7 @@ "organizations": { "methods": { "getContainerThreatDetectionSettings": { - "description": "Get the ContainerThreatDetectionSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetContainerThreatDetectionSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateContainerThreatDetectionSettings for this purpose.", + "description": "", "flatPath": "v1beta2/organizations/{organizationsId}/containerThreatDetectionSettings", "httpMethod": "GET", "id": "securitycenter.organizations.getContainerThreatDetectionSettings", @@ -718,7 +688,6 @@ ], "parameters": { "name": { - "description": "Required. The name of the ContainerThreatDetectionSettings to retrieve. Formats: * organizations/{organization}/containerThreatDetectionSettings * folders/{folder}/containerThreatDetectionSettings * projects/{project}/containerThreatDetectionSettings * projects/{project}/locations/{location}/clusters/{cluster}/containerThreatDetectionSettings", "location": "path", "pattern": "^organizations/[^/]+/containerThreatDetectionSettings$", "required": true, @@ -734,7 +703,7 @@ ] }, "getEventThreatDetectionSettings": { - "description": "Get the EventThreatDetectionSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetEventThreatDetectionSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateEventThreatDetectionSettings for this purpose.", + "description": "", "flatPath": "v1beta2/organizations/{organizationsId}/eventThreatDetectionSettings", "httpMethod": "GET", "id": "securitycenter.organizations.getEventThreatDetectionSettings", @@ -743,7 +712,6 @@ ], "parameters": { "name": { - "description": "Required. The name of the EventThreatDetectionSettings to retrieve. Formats: * organizations/{organization}/eventThreatDetectionSettings * folders/{folder}/eventThreatDetectionSettings * projects/{project}/eventThreatDetectionSettings", "location": "path", "pattern": "^organizations/[^/]+/eventThreatDetectionSettings$", "required": true, @@ -759,7 +727,7 @@ ] }, "getRapidVulnerabilityDetectionSettings": { - "description": "Get the RapidVulnerabilityDetectionSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetRapidVulnerabilityDetectionSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateRapidVulnerabilityDetectionSettings for this purpose.", + "description": "", "flatPath": "v1beta2/organizations/{organizationsId}/rapidVulnerabilityDetectionSettings", "httpMethod": "GET", "id": "securitycenter.organizations.getRapidVulnerabilityDetectionSettings", @@ -768,7 +736,6 @@ ], "parameters": { "name": { - "description": "Required. The name of the RapidVulnerabilityDetectionSettings to retrieve. Formats: * organizations/{organization}/rapidVulnerabilityDetectionSettings * folders/{folder}/rapidVulnerabilityDetectionSettings * projects/{project}/rapidVulnerabilityDetectionSettings", "location": "path", "pattern": "^organizations/[^/]+/rapidVulnerabilityDetectionSettings$", "required": true, @@ -784,7 +751,7 @@ ] }, "getSecurityCenterSettings": { - "description": "Get the SecurityCenterSettings resource.", + "description": "", "flatPath": "v1beta2/organizations/{organizationsId}/securityCenterSettings", "httpMethod": "GET", "id": "securitycenter.organizations.getSecurityCenterSettings", @@ -793,7 +760,6 @@ ], "parameters": { "name": { - "description": "Required. The name of the SecurityCenterSettings to retrieve. Format: organizations/{organization}/securityCenterSettings Format: folders/{folder}/securityCenterSettings Format: projects/{project}/securityCenterSettings", "location": "path", "pattern": "^organizations/[^/]+/securityCenterSettings$", "required": true, @@ -809,7 +775,7 @@ ] }, "getSecurityHealthAnalyticsSettings": { - "description": "Get the SecurityHealthAnalyticsSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetSecurityHealthAnalyticsSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateSecurityHealthAnalyticsSettings for this purpose.", + "description": "", "flatPath": "v1beta2/organizations/{organizationsId}/securityHealthAnalyticsSettings", "httpMethod": "GET", "id": "securitycenter.organizations.getSecurityHealthAnalyticsSettings", @@ -818,7 +784,6 @@ ], "parameters": { "name": { - "description": "Required. The name of the SecurityHealthAnalyticsSettings to retrieve. Formats: * organizations/{organization}/securityHealthAnalyticsSettings * folders/{folder}/securityHealthAnalyticsSettings * projects/{project}/securityHealthAnalyticsSettings", "location": "path", "pattern": "^organizations/[^/]+/securityHealthAnalyticsSettings$", "required": true, @@ -834,7 +799,7 @@ ] }, "getSubscription": { - "description": "Get the Subscription resource.", + "description": "", "flatPath": "v1beta2/organizations/{organizationsId}/subscription", "httpMethod": "GET", "id": "securitycenter.organizations.getSubscription", @@ -843,7 +808,6 @@ ], "parameters": { "name": { - "description": "Required. The name of the subscription to retrieve. Format: organizations/{organization}/subscription", "location": "path", "pattern": "^organizations/[^/]+/subscription$", "required": true, @@ -859,7 +823,7 @@ ] }, "getVirtualMachineThreatDetectionSettings": { - "description": "Get the VirtualMachineThreatDetectionSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetVirtualMachineThreatDetectionSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateVirtualMachineThreatDetectionSettings for this purpose.", + "description": "", "flatPath": "v1beta2/organizations/{organizationsId}/virtualMachineThreatDetectionSettings", "httpMethod": "GET", "id": "securitycenter.organizations.getVirtualMachineThreatDetectionSettings", @@ -868,7 +832,6 @@ ], "parameters": { "name": { - "description": "Required. The name of the VirtualMachineThreatDetectionSettings to retrieve. Formats: * organizations/{organization}/virtualMachineThreatDetectionSettings * folders/{folder}/virtualMachineThreatDetectionSettings * projects/{project}/virtualMachineThreatDetectionSettings", "location": "path", "pattern": "^organizations/[^/]+/virtualMachineThreatDetectionSettings$", "required": true, @@ -884,7 +847,7 @@ ] }, "getWebSecurityScannerSettings": { - "description": "Get the WebSecurityScannerSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetWebSecurityScannerSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateWebSecurityScannerSettings for this purpose.", + "description": "", "flatPath": "v1beta2/organizations/{organizationsId}/webSecurityScannerSettings", "httpMethod": "GET", "id": "securitycenter.organizations.getWebSecurityScannerSettings", @@ -893,7 +856,6 @@ ], "parameters": { "name": { - "description": "Required. The name of the WebSecurityScannerSettings to retrieve. Formats: * organizations/{organization}/webSecurityScannerSettings * folders/{folder}/webSecurityScannerSettings * projects/{project}/webSecurityScannerSettings", "location": "path", "pattern": "^organizations/[^/]+/webSecurityScannerSettings$", "required": true, @@ -909,7 +871,7 @@ ] }, "updateContainerThreatDetectionSettings": { - "description": "Update the ContainerThreatDetectionSettings resource.", + "description": "", "flatPath": "v1beta2/organizations/{organizationsId}/containerThreatDetectionSettings", "httpMethod": "PATCH", "id": "securitycenter.organizations.updateContainerThreatDetectionSettings", @@ -918,14 +880,12 @@ ], "parameters": { "name": { - "description": "Identifier. The resource name of the ContainerThreatDetectionSettings. Formats: * organizations/{organization}/containerThreatDetectionSettings * folders/{folder}/containerThreatDetectionSettings * projects/{project}/containerThreatDetectionSettings * projects/{project}/locations/{location}/clusters/{cluster}/containerThreatDetectionSettings", "location": "path", "pattern": "^organizations/[^/]+/containerThreatDetectionSettings$", "required": true, "type": "string" }, "updateMask": { - "description": "The list of fields to be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -943,7 +903,7 @@ ] }, "updateEventThreatDetectionSettings": { - "description": "Update the EventThreatDetectionSettings resource.", + "description": "", "flatPath": "v1beta2/organizations/{organizationsId}/eventThreatDetectionSettings", "httpMethod": "PATCH", "id": "securitycenter.organizations.updateEventThreatDetectionSettings", @@ -952,14 +912,12 @@ ], "parameters": { "name": { - "description": "Identifier. The resource name of the EventThreatDetectionSettings. Formats: * organizations/{organization}/eventThreatDetectionSettings * folders/{folder}/eventThreatDetectionSettings * projects/{project}/eventThreatDetectionSettings", "location": "path", "pattern": "^organizations/[^/]+/eventThreatDetectionSettings$", "required": true, "type": "string" }, "updateMask": { - "description": "The list of fields to be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -977,7 +935,7 @@ ] }, "updateRapidVulnerabilityDetectionSettings": { - "description": "Update the RapidVulnerabilityDetectionSettings resource.", + "description": "", "flatPath": "v1beta2/organizations/{organizationsId}/rapidVulnerabilityDetectionSettings", "httpMethod": "PATCH", "id": "securitycenter.organizations.updateRapidVulnerabilityDetectionSettings", @@ -986,14 +944,12 @@ ], "parameters": { "name": { - "description": "The resource name of the RapidVulnerabilityDetectionSettings. Formats: * organizations/{organization}/rapidVulnerabilityDetectionSettings * folders/{folder}/rapidVulnerabilityDetectionSettings * projects/{project}/rapidVulnerabilityDetectionSettings", "location": "path", "pattern": "^organizations/[^/]+/rapidVulnerabilityDetectionSettings$", "required": true, "type": "string" }, "updateMask": { - "description": "The list of fields to be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1011,7 +967,7 @@ ] }, "updateSecurityHealthAnalyticsSettings": { - "description": "Update the SecurityHealthAnalyticsSettings resource.", + "description": "", "flatPath": "v1beta2/organizations/{organizationsId}/securityHealthAnalyticsSettings", "httpMethod": "PATCH", "id": "securitycenter.organizations.updateSecurityHealthAnalyticsSettings", @@ -1020,14 +976,12 @@ ], "parameters": { "name": { - "description": "Identifier. The resource name of the SecurityHealthAnalyticsSettings. Formats: * organizations/{organization}/securityHealthAnalyticsSettings * folders/{folder}/securityHealthAnalyticsSettings * projects/{project}/securityHealthAnalyticsSettings", "location": "path", "pattern": "^organizations/[^/]+/securityHealthAnalyticsSettings$", "required": true, "type": "string" }, "updateMask": { - "description": "The list of fields to be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1045,7 +999,7 @@ ] }, "updateVirtualMachineThreatDetectionSettings": { - "description": "Update the VirtualMachineThreatDetectionSettings resource.", + "description": "", "flatPath": "v1beta2/organizations/{organizationsId}/virtualMachineThreatDetectionSettings", "httpMethod": "PATCH", "id": "securitycenter.organizations.updateVirtualMachineThreatDetectionSettings", @@ -1054,14 +1008,12 @@ ], "parameters": { "name": { - "description": "Identifier. The resource name of the VirtualMachineThreatDetectionSettings. Formats: * organizations/{organization}/virtualMachineThreatDetectionSettings * folders/{folder}/virtualMachineThreatDetectionSettings * projects/{project}/virtualMachineThreatDetectionSettings", "location": "path", "pattern": "^organizations/[^/]+/virtualMachineThreatDetectionSettings$", "required": true, "type": "string" }, "updateMask": { - "description": "The list of fields to be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1079,7 +1031,7 @@ ] }, "updateWebSecurityScannerSettings": { - "description": "Update the WebSecurityScannerSettings resource.", + "description": "", "flatPath": "v1beta2/organizations/{organizationsId}/webSecurityScannerSettings", "httpMethod": "PATCH", "id": "securitycenter.organizations.updateWebSecurityScannerSettings", @@ -1088,14 +1040,12 @@ ], "parameters": { "name": { - "description": "Identifier. The resource name of the WebSecurityScannerSettings. Formats: * organizations/{organization}/webSecurityScannerSettings * folders/{folder}/webSecurityScannerSettings * projects/{project}/webSecurityScannerSettings", "location": "path", "pattern": "^organizations/[^/]+/webSecurityScannerSettings$", "required": true, "type": "string" }, "updateMask": { - "description": "The list of fields to be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1117,7 +1067,7 @@ "containerThreatDetectionSettings": { "methods": { "calculate": { - "description": "Calculates the effective ContainerThreatDetectionSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.", + "description": "", "flatPath": "v1beta2/organizations/{organizationsId}/containerThreatDetectionSettings:calculate", "httpMethod": "GET", "id": "securitycenter.organizations.containerThreatDetectionSettings.calculate", @@ -1126,14 +1076,12 @@ ], "parameters": { "name": { - "description": "Required. The name of the ContainerThreatDetectionSettings to calculate. Formats: * organizations/{organization}/containerThreatDetectionSettings * folders/{folder}/containerThreatDetectionSettings * projects/{project}/containerThreatDetectionSettings * projects/{project}/locations/{location}/clusters/{cluster}/containerThreatDetectionSettings", "location": "path", "pattern": "^organizations/[^/]+/containerThreatDetectionSettings$", "required": true, "type": "string" }, "showEligibleModulesOnly": { - "description": "Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown.", "location": "query", "type": "boolean" } @@ -1151,7 +1099,7 @@ "eventThreatDetectionSettings": { "methods": { "calculate": { - "description": "Calculates the effective EventThreatDetectionSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.", + "description": "", "flatPath": "v1beta2/organizations/{organizationsId}/eventThreatDetectionSettings:calculate", "httpMethod": "GET", "id": "securitycenter.organizations.eventThreatDetectionSettings.calculate", @@ -1160,14 +1108,12 @@ ], "parameters": { "name": { - "description": "Required. The name of the EventThreatDetectionSettings to calculate. Formats: * organizations/{organization}/eventThreatDetectionSettings * folders/{folder}/eventThreatDetectionSettings * projects/{project}/eventThreatDetectionSettings", "location": "path", "pattern": "^organizations/[^/]+/eventThreatDetectionSettings$", "required": true, "type": "string" }, "showEligibleModulesOnly": { - "description": "Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown.", "location": "query", "type": "boolean" } @@ -1185,7 +1131,7 @@ "rapidVulnerabilityDetectionSettings": { "methods": { "calculate": { - "description": "Calculates the effective RapidVulnerabilityDetectionSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.", + "description": "", "flatPath": "v1beta2/organizations/{organizationsId}/rapidVulnerabilityDetectionSettings:calculate", "httpMethod": "GET", "id": "securitycenter.organizations.rapidVulnerabilityDetectionSettings.calculate", @@ -1194,7 +1140,6 @@ ], "parameters": { "name": { - "description": "Required. The name of the RapidVulnerabilityDetectionSettings to calculate. Formats: * organizations/{organization}/rapidVulnerabilityDetectionSettings * folders/{folder}/rapidVulnerabilityDetectionSettings * projects/{project}/rapidVulnerabilityDetectionSettings", "location": "path", "pattern": "^organizations/[^/]+/rapidVulnerabilityDetectionSettings$", "required": true, @@ -1214,7 +1159,7 @@ "securityHealthAnalyticsSettings": { "methods": { "calculate": { - "description": "Calculates the effective SecurityHealthAnalyticsSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.", + "description": "", "flatPath": "v1beta2/organizations/{organizationsId}/securityHealthAnalyticsSettings:calculate", "httpMethod": "GET", "id": "securitycenter.organizations.securityHealthAnalyticsSettings.calculate", @@ -1223,14 +1168,12 @@ ], "parameters": { "name": { - "description": "Required. The name of the SecurityHealthAnalyticsSettings to calculate. Formats: * organizations/{organization}/securityHealthAnalyticsSettings * folders/{folder}/securityHealthAnalyticsSettings * projects/{project}/securityHealthAnalyticsSettings", "location": "path", "pattern": "^organizations/[^/]+/securityHealthAnalyticsSettings$", "required": true, "type": "string" }, "showEligibleModulesOnly": { - "description": "Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown.", "location": "query", "type": "boolean" } @@ -1248,7 +1191,7 @@ "virtualMachineThreatDetectionSettings": { "methods": { "calculate": { - "description": "Calculates the effective VirtualMachineThreatDetectionSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.", + "description": "", "flatPath": "v1beta2/organizations/{organizationsId}/virtualMachineThreatDetectionSettings:calculate", "httpMethod": "GET", "id": "securitycenter.organizations.virtualMachineThreatDetectionSettings.calculate", @@ -1257,14 +1200,12 @@ ], "parameters": { "name": { - "description": "Required. The name of the VirtualMachineThreatDetectionSettings to calculate. Formats: * organizations/{organization}/virtualMachineThreatDetectionSettings * folders/{folder}/virtualMachineThreatDetectionSettings * projects/{project}/virtualMachineThreatDetectionSettings", "location": "path", "pattern": "^organizations/[^/]+/virtualMachineThreatDetectionSettings$", "required": true, "type": "string" }, "showEligibleModulesOnly": { - "description": "Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown.", "location": "query", "type": "boolean" } @@ -1282,7 +1223,7 @@ "webSecurityScannerSettings": { "methods": { "calculate": { - "description": "Calculates the effective WebSecurityScannerSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.", + "description": "", "flatPath": "v1beta2/organizations/{organizationsId}/webSecurityScannerSettings:calculate", "httpMethod": "GET", "id": "securitycenter.organizations.webSecurityScannerSettings.calculate", @@ -1291,14 +1232,12 @@ ], "parameters": { "name": { - "description": "Required. The name of the WebSecurityScannerSettings to calculate. Formats: * organizations/{organization}/webSecurityScannerSettings * folders/{folder}/webSecurityScannerSettings * projects/{project}/webSecurityScannerSettings", "location": "path", "pattern": "^organizations/[^/]+/webSecurityScannerSettings$", "required": true, "type": "string" }, "showEligibleModulesOnly": { - "description": "Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown.", "location": "query", "type": "boolean" } @@ -1318,7 +1257,7 @@ "projects": { "methods": { "getContainerThreatDetectionSettings": { - "description": "Get the ContainerThreatDetectionSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetContainerThreatDetectionSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateContainerThreatDetectionSettings for this purpose.", + "description": "", "flatPath": "v1beta2/projects/{projectsId}/containerThreatDetectionSettings", "httpMethod": "GET", "id": "securitycenter.projects.getContainerThreatDetectionSettings", @@ -1327,7 +1266,6 @@ ], "parameters": { "name": { - "description": "Required. The name of the ContainerThreatDetectionSettings to retrieve. Formats: * organizations/{organization}/containerThreatDetectionSettings * folders/{folder}/containerThreatDetectionSettings * projects/{project}/containerThreatDetectionSettings * projects/{project}/locations/{location}/clusters/{cluster}/containerThreatDetectionSettings", "location": "path", "pattern": "^projects/[^/]+/containerThreatDetectionSettings$", "required": true, @@ -1343,7 +1281,7 @@ ] }, "getEventThreatDetectionSettings": { - "description": "Get the EventThreatDetectionSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetEventThreatDetectionSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateEventThreatDetectionSettings for this purpose.", + "description": "", "flatPath": "v1beta2/projects/{projectsId}/eventThreatDetectionSettings", "httpMethod": "GET", "id": "securitycenter.projects.getEventThreatDetectionSettings", @@ -1352,7 +1290,6 @@ ], "parameters": { "name": { - "description": "Required. The name of the EventThreatDetectionSettings to retrieve. Formats: * organizations/{organization}/eventThreatDetectionSettings * folders/{folder}/eventThreatDetectionSettings * projects/{project}/eventThreatDetectionSettings", "location": "path", "pattern": "^projects/[^/]+/eventThreatDetectionSettings$", "required": true, @@ -1368,7 +1305,7 @@ ] }, "getRapidVulnerabilityDetectionSettings": { - "description": "Get the RapidVulnerabilityDetectionSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetRapidVulnerabilityDetectionSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateRapidVulnerabilityDetectionSettings for this purpose.", + "description": "", "flatPath": "v1beta2/projects/{projectsId}/rapidVulnerabilityDetectionSettings", "httpMethod": "GET", "id": "securitycenter.projects.getRapidVulnerabilityDetectionSettings", @@ -1377,7 +1314,6 @@ ], "parameters": { "name": { - "description": "Required. The name of the RapidVulnerabilityDetectionSettings to retrieve. Formats: * organizations/{organization}/rapidVulnerabilityDetectionSettings * folders/{folder}/rapidVulnerabilityDetectionSettings * projects/{project}/rapidVulnerabilityDetectionSettings", "location": "path", "pattern": "^projects/[^/]+/rapidVulnerabilityDetectionSettings$", "required": true, @@ -1393,7 +1329,7 @@ ] }, "getSecurityCenterSettings": { - "description": "Get the SecurityCenterSettings resource.", + "description": "", "flatPath": "v1beta2/projects/{projectsId}/securityCenterSettings", "httpMethod": "GET", "id": "securitycenter.projects.getSecurityCenterSettings", @@ -1402,7 +1338,6 @@ ], "parameters": { "name": { - "description": "Required. The name of the SecurityCenterSettings to retrieve. Format: organizations/{organization}/securityCenterSettings Format: folders/{folder}/securityCenterSettings Format: projects/{project}/securityCenterSettings", "location": "path", "pattern": "^projects/[^/]+/securityCenterSettings$", "required": true, @@ -1418,7 +1353,7 @@ ] }, "getSecurityHealthAnalyticsSettings": { - "description": "Get the SecurityHealthAnalyticsSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetSecurityHealthAnalyticsSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateSecurityHealthAnalyticsSettings for this purpose.", + "description": "", "flatPath": "v1beta2/projects/{projectsId}/securityHealthAnalyticsSettings", "httpMethod": "GET", "id": "securitycenter.projects.getSecurityHealthAnalyticsSettings", @@ -1427,7 +1362,6 @@ ], "parameters": { "name": { - "description": "Required. The name of the SecurityHealthAnalyticsSettings to retrieve. Formats: * organizations/{organization}/securityHealthAnalyticsSettings * folders/{folder}/securityHealthAnalyticsSettings * projects/{project}/securityHealthAnalyticsSettings", "location": "path", "pattern": "^projects/[^/]+/securityHealthAnalyticsSettings$", "required": true, @@ -1443,7 +1377,7 @@ ] }, "getVirtualMachineThreatDetectionSettings": { - "description": "Get the VirtualMachineThreatDetectionSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetVirtualMachineThreatDetectionSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateVirtualMachineThreatDetectionSettings for this purpose.", + "description": "", "flatPath": "v1beta2/projects/{projectsId}/virtualMachineThreatDetectionSettings", "httpMethod": "GET", "id": "securitycenter.projects.getVirtualMachineThreatDetectionSettings", @@ -1452,7 +1386,6 @@ ], "parameters": { "name": { - "description": "Required. The name of the VirtualMachineThreatDetectionSettings to retrieve. Formats: * organizations/{organization}/virtualMachineThreatDetectionSettings * folders/{folder}/virtualMachineThreatDetectionSettings * projects/{project}/virtualMachineThreatDetectionSettings", "location": "path", "pattern": "^projects/[^/]+/virtualMachineThreatDetectionSettings$", "required": true, @@ -1468,7 +1401,7 @@ ] }, "getWebSecurityScannerSettings": { - "description": "Get the WebSecurityScannerSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetWebSecurityScannerSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateWebSecurityScannerSettings for this purpose.", + "description": "", "flatPath": "v1beta2/projects/{projectsId}/webSecurityScannerSettings", "httpMethod": "GET", "id": "securitycenter.projects.getWebSecurityScannerSettings", @@ -1477,7 +1410,6 @@ ], "parameters": { "name": { - "description": "Required. The name of the WebSecurityScannerSettings to retrieve. Formats: * organizations/{organization}/webSecurityScannerSettings * folders/{folder}/webSecurityScannerSettings * projects/{project}/webSecurityScannerSettings", "location": "path", "pattern": "^projects/[^/]+/webSecurityScannerSettings$", "required": true, @@ -1493,7 +1425,7 @@ ] }, "updateContainerThreatDetectionSettings": { - "description": "Update the ContainerThreatDetectionSettings resource.", + "description": "", "flatPath": "v1beta2/projects/{projectsId}/containerThreatDetectionSettings", "httpMethod": "PATCH", "id": "securitycenter.projects.updateContainerThreatDetectionSettings", @@ -1502,14 +1434,12 @@ ], "parameters": { "name": { - "description": "Identifier. The resource name of the ContainerThreatDetectionSettings. Formats: * organizations/{organization}/containerThreatDetectionSettings * folders/{folder}/containerThreatDetectionSettings * projects/{project}/containerThreatDetectionSettings * projects/{project}/locations/{location}/clusters/{cluster}/containerThreatDetectionSettings", "location": "path", "pattern": "^projects/[^/]+/containerThreatDetectionSettings$", "required": true, "type": "string" }, "updateMask": { - "description": "The list of fields to be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1527,7 +1457,7 @@ ] }, "updateEventThreatDetectionSettings": { - "description": "Update the EventThreatDetectionSettings resource.", + "description": "", "flatPath": "v1beta2/projects/{projectsId}/eventThreatDetectionSettings", "httpMethod": "PATCH", "id": "securitycenter.projects.updateEventThreatDetectionSettings", @@ -1536,14 +1466,12 @@ ], "parameters": { "name": { - "description": "Identifier. The resource name of the EventThreatDetectionSettings. Formats: * organizations/{organization}/eventThreatDetectionSettings * folders/{folder}/eventThreatDetectionSettings * projects/{project}/eventThreatDetectionSettings", "location": "path", "pattern": "^projects/[^/]+/eventThreatDetectionSettings$", "required": true, "type": "string" }, "updateMask": { - "description": "The list of fields to be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1561,7 +1489,7 @@ ] }, "updateRapidVulnerabilityDetectionSettings": { - "description": "Update the RapidVulnerabilityDetectionSettings resource.", + "description": "", "flatPath": "v1beta2/projects/{projectsId}/rapidVulnerabilityDetectionSettings", "httpMethod": "PATCH", "id": "securitycenter.projects.updateRapidVulnerabilityDetectionSettings", @@ -1570,14 +1498,12 @@ ], "parameters": { "name": { - "description": "The resource name of the RapidVulnerabilityDetectionSettings. Formats: * organizations/{organization}/rapidVulnerabilityDetectionSettings * folders/{folder}/rapidVulnerabilityDetectionSettings * projects/{project}/rapidVulnerabilityDetectionSettings", "location": "path", "pattern": "^projects/[^/]+/rapidVulnerabilityDetectionSettings$", "required": true, "type": "string" }, "updateMask": { - "description": "The list of fields to be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1595,7 +1521,7 @@ ] }, "updateSecurityHealthAnalyticsSettings": { - "description": "Update the SecurityHealthAnalyticsSettings resource.", + "description": "", "flatPath": "v1beta2/projects/{projectsId}/securityHealthAnalyticsSettings", "httpMethod": "PATCH", "id": "securitycenter.projects.updateSecurityHealthAnalyticsSettings", @@ -1604,14 +1530,12 @@ ], "parameters": { "name": { - "description": "Identifier. The resource name of the SecurityHealthAnalyticsSettings. Formats: * organizations/{organization}/securityHealthAnalyticsSettings * folders/{folder}/securityHealthAnalyticsSettings * projects/{project}/securityHealthAnalyticsSettings", "location": "path", "pattern": "^projects/[^/]+/securityHealthAnalyticsSettings$", "required": true, "type": "string" }, "updateMask": { - "description": "The list of fields to be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1629,7 +1553,7 @@ ] }, "updateVirtualMachineThreatDetectionSettings": { - "description": "Update the VirtualMachineThreatDetectionSettings resource.", + "description": "", "flatPath": "v1beta2/projects/{projectsId}/virtualMachineThreatDetectionSettings", "httpMethod": "PATCH", "id": "securitycenter.projects.updateVirtualMachineThreatDetectionSettings", @@ -1638,14 +1562,12 @@ ], "parameters": { "name": { - "description": "Identifier. The resource name of the VirtualMachineThreatDetectionSettings. Formats: * organizations/{organization}/virtualMachineThreatDetectionSettings * folders/{folder}/virtualMachineThreatDetectionSettings * projects/{project}/virtualMachineThreatDetectionSettings", "location": "path", "pattern": "^projects/[^/]+/virtualMachineThreatDetectionSettings$", "required": true, "type": "string" }, "updateMask": { - "description": "The list of fields to be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1663,7 +1585,7 @@ ] }, "updateWebSecurityScannerSettings": { - "description": "Update the WebSecurityScannerSettings resource.", + "description": "", "flatPath": "v1beta2/projects/{projectsId}/webSecurityScannerSettings", "httpMethod": "PATCH", "id": "securitycenter.projects.updateWebSecurityScannerSettings", @@ -1672,14 +1594,12 @@ ], "parameters": { "name": { - "description": "Identifier. The resource name of the WebSecurityScannerSettings. Formats: * organizations/{organization}/webSecurityScannerSettings * folders/{folder}/webSecurityScannerSettings * projects/{project}/webSecurityScannerSettings", "location": "path", "pattern": "^projects/[^/]+/webSecurityScannerSettings$", "required": true, "type": "string" }, "updateMask": { - "description": "The list of fields to be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1701,7 +1621,7 @@ "containerThreatDetectionSettings": { "methods": { "calculate": { - "description": "Calculates the effective ContainerThreatDetectionSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.", + "description": "", "flatPath": "v1beta2/projects/{projectsId}/containerThreatDetectionSettings:calculate", "httpMethod": "GET", "id": "securitycenter.projects.containerThreatDetectionSettings.calculate", @@ -1710,14 +1630,12 @@ ], "parameters": { "name": { - "description": "Required. The name of the ContainerThreatDetectionSettings to calculate. Formats: * organizations/{organization}/containerThreatDetectionSettings * folders/{folder}/containerThreatDetectionSettings * projects/{project}/containerThreatDetectionSettings * projects/{project}/locations/{location}/clusters/{cluster}/containerThreatDetectionSettings", "location": "path", "pattern": "^projects/[^/]+/containerThreatDetectionSettings$", "required": true, "type": "string" }, "showEligibleModulesOnly": { - "description": "Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown.", "location": "query", "type": "boolean" } @@ -1735,7 +1653,7 @@ "eventThreatDetectionSettings": { "methods": { "calculate": { - "description": "Calculates the effective EventThreatDetectionSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.", + "description": "", "flatPath": "v1beta2/projects/{projectsId}/eventThreatDetectionSettings:calculate", "httpMethod": "GET", "id": "securitycenter.projects.eventThreatDetectionSettings.calculate", @@ -1744,14 +1662,12 @@ ], "parameters": { "name": { - "description": "Required. The name of the EventThreatDetectionSettings to calculate. Formats: * organizations/{organization}/eventThreatDetectionSettings * folders/{folder}/eventThreatDetectionSettings * projects/{project}/eventThreatDetectionSettings", "location": "path", "pattern": "^projects/[^/]+/eventThreatDetectionSettings$", "required": true, "type": "string" }, "showEligibleModulesOnly": { - "description": "Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown.", "location": "query", "type": "boolean" } @@ -1771,7 +1687,7 @@ "clusters": { "methods": { "getContainerThreatDetectionSettings": { - "description": "Get the ContainerThreatDetectionSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetContainerThreatDetectionSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateContainerThreatDetectionSettings for this purpose.", + "description": "", "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/containerThreatDetectionSettings", "httpMethod": "GET", "id": "securitycenter.projects.locations.clusters.getContainerThreatDetectionSettings", @@ -1780,7 +1696,6 @@ ], "parameters": { "name": { - "description": "Required. The name of the ContainerThreatDetectionSettings to retrieve. Formats: * organizations/{organization}/containerThreatDetectionSettings * folders/{folder}/containerThreatDetectionSettings * projects/{project}/containerThreatDetectionSettings * projects/{project}/locations/{location}/clusters/{cluster}/containerThreatDetectionSettings", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/containerThreatDetectionSettings$", "required": true, @@ -1796,7 +1711,7 @@ ] }, "updateContainerThreatDetectionSettings": { - "description": "Update the ContainerThreatDetectionSettings resource.", + "description": "", "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/containerThreatDetectionSettings", "httpMethod": "PATCH", "id": "securitycenter.projects.locations.clusters.updateContainerThreatDetectionSettings", @@ -1805,14 +1720,12 @@ ], "parameters": { "name": { - "description": "Identifier. The resource name of the ContainerThreatDetectionSettings. Formats: * organizations/{organization}/containerThreatDetectionSettings * folders/{folder}/containerThreatDetectionSettings * projects/{project}/containerThreatDetectionSettings * projects/{project}/locations/{location}/clusters/{cluster}/containerThreatDetectionSettings", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/containerThreatDetectionSettings$", "required": true, "type": "string" }, "updateMask": { - "description": "The list of fields to be updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1834,7 +1747,7 @@ "containerThreatDetectionSettings": { "methods": { "calculate": { - "description": "Calculates the effective ContainerThreatDetectionSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.", + "description": "", "flatPath": "v1beta2/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/containerThreatDetectionSettings:calculate", "httpMethod": "GET", "id": "securitycenter.projects.locations.clusters.containerThreatDetectionSettings.calculate", @@ -1843,14 +1756,12 @@ ], "parameters": { "name": { - "description": "Required. The name of the ContainerThreatDetectionSettings to calculate. Formats: * organizations/{organization}/containerThreatDetectionSettings * folders/{folder}/containerThreatDetectionSettings * projects/{project}/containerThreatDetectionSettings * projects/{project}/locations/{location}/clusters/{cluster}/containerThreatDetectionSettings", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/containerThreatDetectionSettings$", "required": true, "type": "string" }, "showEligibleModulesOnly": { - "description": "Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown.", "location": "query", "type": "boolean" } @@ -1872,7 +1783,7 @@ "rapidVulnerabilityDetectionSettings": { "methods": { "calculate": { - "description": "Calculates the effective RapidVulnerabilityDetectionSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.", + "description": "", "flatPath": "v1beta2/projects/{projectsId}/rapidVulnerabilityDetectionSettings:calculate", "httpMethod": "GET", "id": "securitycenter.projects.rapidVulnerabilityDetectionSettings.calculate", @@ -1881,7 +1792,6 @@ ], "parameters": { "name": { - "description": "Required. The name of the RapidVulnerabilityDetectionSettings to calculate. Formats: * organizations/{organization}/rapidVulnerabilityDetectionSettings * folders/{folder}/rapidVulnerabilityDetectionSettings * projects/{project}/rapidVulnerabilityDetectionSettings", "location": "path", "pattern": "^projects/[^/]+/rapidVulnerabilityDetectionSettings$", "required": true, @@ -1901,7 +1811,7 @@ "securityHealthAnalyticsSettings": { "methods": { "calculate": { - "description": "Calculates the effective SecurityHealthAnalyticsSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.", + "description": "", "flatPath": "v1beta2/projects/{projectsId}/securityHealthAnalyticsSettings:calculate", "httpMethod": "GET", "id": "securitycenter.projects.securityHealthAnalyticsSettings.calculate", @@ -1910,14 +1820,12 @@ ], "parameters": { "name": { - "description": "Required. The name of the SecurityHealthAnalyticsSettings to calculate. Formats: * organizations/{organization}/securityHealthAnalyticsSettings * folders/{folder}/securityHealthAnalyticsSettings * projects/{project}/securityHealthAnalyticsSettings", "location": "path", "pattern": "^projects/[^/]+/securityHealthAnalyticsSettings$", "required": true, "type": "string" }, "showEligibleModulesOnly": { - "description": "Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown.", "location": "query", "type": "boolean" } @@ -1935,7 +1843,7 @@ "virtualMachineThreatDetectionSettings": { "methods": { "calculate": { - "description": "Calculates the effective VirtualMachineThreatDetectionSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.", + "description": "", "flatPath": "v1beta2/projects/{projectsId}/virtualMachineThreatDetectionSettings:calculate", "httpMethod": "GET", "id": "securitycenter.projects.virtualMachineThreatDetectionSettings.calculate", @@ -1944,14 +1852,12 @@ ], "parameters": { "name": { - "description": "Required. The name of the VirtualMachineThreatDetectionSettings to calculate. Formats: * organizations/{organization}/virtualMachineThreatDetectionSettings * folders/{folder}/virtualMachineThreatDetectionSettings * projects/{project}/virtualMachineThreatDetectionSettings", "location": "path", "pattern": "^projects/[^/]+/virtualMachineThreatDetectionSettings$", "required": true, "type": "string" }, "showEligibleModulesOnly": { - "description": "Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown.", "location": "query", "type": "boolean" } @@ -1969,7 +1875,7 @@ "webSecurityScannerSettings": { "methods": { "calculate": { - "description": "Calculates the effective WebSecurityScannerSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail.", + "description": "", "flatPath": "v1beta2/projects/{projectsId}/webSecurityScannerSettings:calculate", "httpMethod": "GET", "id": "securitycenter.projects.webSecurityScannerSettings.calculate", @@ -1978,14 +1884,12 @@ ], "parameters": { "name": { - "description": "Required. The name of the WebSecurityScannerSettings to calculate. Formats: * organizations/{organization}/webSecurityScannerSettings * folders/{folder}/webSecurityScannerSettings * projects/{project}/webSecurityScannerSettings", "location": "path", "pattern": "^projects/[^/]+/webSecurityScannerSettings$", "required": true, "type": "string" }, "showEligibleModulesOnly": { - "description": "Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown.", "location": "query", "type": "boolean" } @@ -2003,104 +1907,82 @@ } } }, - "revision": "20260424", + "revision": "20260526", "rootUrl": "https://securitycenter.googleapis.com/", "schemas": { "Access": { - "description": "Represents an access event.", "id": "Access", "properties": { "callerIp": { - "description": "Caller's IP address, such as \"1.1.1.1\".", "type": "string" }, "callerIpGeo": { - "$ref": "Geolocation", - "description": "The caller IP's geolocation, which identifies where the call came from." + "$ref": "Geolocation" }, "methodName": { - "description": "The method that the service account called, e.g. \"SetIamPolicy\".", "type": "string" }, "principalEmail": { - "description": "Associated email, such as \"foo@google.com\". The email address of the authenticated user or a service account acting on behalf of a third party principal making the request. For third party identity callers, the `principal_subject` field is populated instead of this field. For privacy reasons, the principal email address is sometimes redacted. For more information, see [Caller identities in audit logs](https://cloud.google.com/logging/docs/audit#user-id).", "type": "string" }, "principalSubject": { - "description": "A string that represents the principal_subject that is associated with the identity. Unlike `principal_email`, `principal_subject` supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format is `principal://iam.googleapis.com/{identity pool name}/subject/{subject}`. Some GKE identities, such as GKE_WORKLOAD, FREEFORM, and GKE_HUB_WORKLOAD, still use the legacy format `serviceAccount:{identity pool name}[{subject}]`.", "type": "string" }, "serviceAccountDelegationInfo": { - "description": "The identity delegation history of an authenticated service account that made the request. The `serviceAccountDelegationInfo[]` object contains information about the real authorities that try to access Google Cloud resources by delegating on a service account. When multiple authorities are present, they are guaranteed to be sorted based on the original ordering of the identity delegation events.", "items": { "$ref": "ServiceAccountDelegationInfo" }, "type": "array" }, "serviceAccountKeyName": { - "description": "The name of the service account key that was used to create or exchange credentials when authenticating the service account that made the request. This is a scheme-less URI full resource name. For example: \"//iam.googleapis.com/projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}\". ", "type": "string" }, "serviceName": { - "description": "This is the API service that the service account made a call to, e.g. \"iam.googleapis.com\"", "type": "string" }, "userAgent": { - "description": "The caller's user agent string associated with the finding.", "type": "string" }, "userAgentFamily": { - "description": "Type of user agent associated with the finding. For example, an operating system shell or an embedded or standalone application.", "type": "string" }, "userName": { - "description": "A string that represents a username. The username provided depends on the type of the finding and is likely not an IAM principal. For example, this can be a system username if the finding is related to a virtual machine, or it can be an application login username.", "type": "string" } }, "type": "object" }, "AccessReview": { - "description": "Conveys information about a Kubernetes access review (such as one returned by a [`kubectl auth can-i`](https://kubernetes.io/docs/reference/access-authn-authz/authorization/#checking-api-access) command) that was involved in a finding.", "id": "AccessReview", "properties": { "group": { - "description": "The API group of the resource. \"*\" means all.", "type": "string" }, "name": { - "description": "The name of the resource being requested. Empty means all.", "type": "string" }, "ns": { - "description": "Namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces. Both are represented by \"\" (empty).", "type": "string" }, "resource": { - "description": "The optional resource type requested. \"*\" means all.", "type": "string" }, "subresource": { - "description": "The optional subresource type.", "type": "string" }, "verb": { - "description": "A Kubernetes resource API verb, like get, list, watch, create, update, delete, proxy. \"*\" means all.", "type": "string" }, "version": { - "description": "The API version of the resource. \"*\" means all.", "type": "string" } }, "type": "object" }, "AdaptiveProtection": { - "description": "Information about [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-protection).", "id": "AdaptiveProtection", "properties": { "confidence": { - "description": "A score of 0 means that there is low confidence that the detected event is an actual attack. A score of 1 means that there is high confidence that the detected event is an attack. See the [Adaptive Protection documentation](https://cloud.google.com/armor/docs/adaptive-protection-overview#configure-alert-tuning) for further explanation.", "format": "double", "type": "number" } @@ -2108,48 +1990,39 @@ "type": "object" }, "AdcApplication": { - "description": "Represents an ADC application associated with the finding.", "id": "AdcApplication", "properties": { "attributes": { - "$ref": "GoogleCloudSecuritycenterV1ResourceApplicationAttributes", - "description": "Consumer provided attributes for the AppHub application." + "$ref": "GoogleCloudSecuritycenterV1ResourceApplicationAttributes" }, "name": { - "description": "The resource name of an ADC Application. Format: projects/{project}/locations/{location}/spaces/{space}/applications/{application}", "type": "string" } }, "type": "object" }, "AdcApplicationTemplateRevision": { - "description": "Represents an ADC template associated with the finding.", "id": "AdcApplicationTemplateRevision", "properties": { "name": { - "description": "The resource name of an ADC Application Template Revision. Format: projects/{project}/locations/{location}/spaces/{space}/applicationTemplates/{application_template}/revisions/{revision}", "type": "string" } }, "type": "object" }, "AdcSharedTemplateRevision": { - "description": "Represents an ADC shared template associated with the finding.", "id": "AdcSharedTemplateRevision", "properties": { "name": { - "description": "The resource name of an ADC Shared Template Revision. Format: projects/{project}/locations/{location}/spaces/{space}/applicationTemplates/{application_template}/revisions/{revision}", "type": "string" } }, "type": "object" }, "AffectedResources": { - "description": "Details about resources affected by this finding.", "id": "AffectedResources", "properties": { "count": { - "description": "The count of resources affected by the finding.", "format": "int64", "type": "string" } @@ -2157,20 +2030,16 @@ "type": "object" }, "AgentDataAccessEvent": { - "description": "Details about a data access attempt made by an agent principal not authorized under applicable data security policy.", "id": "AgentDataAccessEvent", "properties": { "eventId": { - "description": "Unique identifier for data access event.", "type": "string" }, "eventTime": { - "description": "Timestamp of data access event.", "format": "google-datetime", "type": "string" }, "operation": { - "description": "The operation performed by the principal to access the data.", "enum": [ "OPERATION_UNSPECIFIED", "READ", @@ -2178,26 +2047,23 @@ "COPY" ], "enumDescriptions": [ - "The operation is unspecified.", - "Represents a read operation.", - "Represents a move operation.", - "Represents a copy operation." + "", + "", + "", + "" ], "type": "string" }, "principalSubject": { - "description": "The agent principal that accessed the data.", "type": "string" } }, "type": "object" }, "AiModel": { - "description": "Contains information about the AI model associated with the finding.", "id": "AiModel", "properties": { "deploymentPlatform": { - "description": "The platform on which the model is deployed.", "enum": [ "DEPLOYMENT_PLATFORM_UNSPECIFIED", "VERTEX_AI", @@ -2206,51 +2072,42 @@ "FINE_TUNED_MODEL" ], "enumDescriptions": [ - "Unspecified deployment platform.", - "Vertex AI.", - "Google Kubernetes Engine.", - "Google Compute Engine.", - "Fine tuned model." + "", + "", + "", + "", + "" ], "type": "string" }, "displayName": { - "description": "The user defined display name of model. Ex. baseline-classification-model", "type": "string" }, "domain": { - "description": "The domain of the model, for example, “image-classification”.", "type": "string" }, "library": { - "description": "The name of the model library, for example, “transformers”.", "type": "string" }, "location": { - "description": "The region in which the model is used, for example, “us-central1”.", "type": "string" }, "name": { - "description": "The name of the AI model, for example, \"gemini:1.0.0\".", "type": "string" }, "publisher": { - "description": "The publisher of the model, for example, “google” or “nvidia”.", "type": "string" }, "usageCategory": { - "description": "The purpose of the model, for example, \"Inteference\" or \"Training\".", "type": "string" } }, "type": "object" }, "Allowed": { - "description": "Allowed IP rule.", "id": "Allowed", "properties": { "ipRules": { - "description": "Optional. Optional list of allowed IP rules.", "items": { "$ref": "IpRule" }, @@ -2260,59 +2117,49 @@ "type": "object" }, "Application": { - "description": "Represents an application associated with a finding.", "id": "Application", "properties": { "baseUri": { - "description": "The base URI that identifies the network location of the application in which the vulnerability was detected. For example, `http://example.com`.", "type": "string" }, "fullUri": { - "description": "The full URI with payload that can be used to reproduce the vulnerability. For example, `http://example.com?p=aMmYgI6H`.", "type": "string" } }, "type": "object" }, "ArtifactGuardPolicies": { - "description": "Represents the result of evaluating artifact guard policies.", "id": "ArtifactGuardPolicies", "properties": { "failingPolicies": { - "description": "A list of failing policies.", "items": { "$ref": "ArtifactGuardPolicy" }, "type": "array" }, "resourceId": { - "description": "The ID of the resource that has policies configured for it.", "type": "string" } }, "type": "object" }, "ArtifactGuardPolicy": { - "description": "Represents an artifact guard policy.", "id": "ArtifactGuardPolicy", "properties": { "failureReason": { - "description": "The reason for the policy failure, for example, \"severity=HIGH AND max_vuln_count=2\".", "type": "string" }, "policyId": { - "description": "The ID of the failing policy, for example, \"organizations/3392779/locations/global/policies/prod-policy\".", "type": "string" }, "type": { - "description": "The type of the policy evaluation.", "enum": [ "ARTIFACT_GUARD_POLICY_TYPE_UNSPECIFIED", "VULNERABILITY" ], "enumDescriptions": [ - "Default value. This value is unused.", - "Vulnerability type." + "", + "" ], "type": "string" } @@ -2320,32 +2167,26 @@ "type": "object" }, "Attack": { - "description": "Information about DDoS attack volume and classification.", "id": "Attack", "properties": { "classification": { - "description": "Type of attack, for example, 'SYN-flood', 'NTP-udp', or 'CHARGEN-udp'.", "type": "string" }, "volumeBps": { "deprecated": true, - "description": "Total BPS (bytes per second) volume of attack. Deprecated - refer to volume_bps_long instead.", "format": "int32", "type": "integer" }, "volumeBpsLong": { - "description": "Total BPS (bytes per second) volume of attack.", "format": "int64", "type": "string" }, "volumePps": { "deprecated": true, - "description": "Total PPS (packets per second) volume of attack. Deprecated - refer to volume_pps_long instead.", "format": "int32", "type": "integer" }, "volumePpsLong": { - "description": "Total PPS (packets per second) volume of attack.", "format": "int64", "type": "string" } @@ -2353,49 +2194,41 @@ "type": "object" }, "AttackExposure": { - "description": "An attack exposure contains the results of an attack path simulation run.", "id": "AttackExposure", "properties": { "attackExposureResult": { - "description": "The resource name of the attack path simulation result that contains the details regarding this attack exposure score. Example: `organizations/123/simulations/456/attackExposureResults/789`", "type": "string" }, "exposedHighValueResourcesCount": { - "description": "The number of high value resources that are exposed as a result of this finding.", "format": "int32", "type": "integer" }, "exposedLowValueResourcesCount": { - "description": "The number of high value resources that are exposed as a result of this finding.", "format": "int32", "type": "integer" }, "exposedMediumValueResourcesCount": { - "description": "The number of medium value resources that are exposed as a result of this finding.", "format": "int32", "type": "integer" }, "latestCalculationTime": { - "description": "The most recent time the attack exposure was updated on this finding.", "format": "google-datetime", "type": "string" }, "score": { - "description": "A number between 0 (inclusive) and infinity that represents how important this finding is to remediate. The higher the score, the more important it is to remediate.", "format": "double", "type": "number" }, "state": { - "description": "What state this AttackExposure is in. This captures whether or not an attack exposure has been calculated or not.", "enum": [ "STATE_UNSPECIFIED", "CALCULATED", "NOT_CALCULATED" ], "enumDescriptions": [ - "The state is not specified.", - "The attack exposure has been calculated.", - "The attack exposure has not been calculated." + "", + "", + "" ], "type": "string" } @@ -2403,34 +2236,27 @@ "type": "object" }, "AwsAccount": { - "description": "An AWS account that is a member of an organization.", "id": "AwsAccount", "properties": { "id": { - "description": "The unique identifier (ID) of the account, containing exactly 12 digits.", "type": "string" }, "name": { - "description": "The friendly name of this account.", "type": "string" } }, "type": "object" }, "AwsMetadata": { - "description": "AWS metadata associated with the resource, only applicable if the finding's cloud provider is Amazon Web Services.", "id": "AwsMetadata", "properties": { "account": { - "$ref": "AwsAccount", - "description": "The AWS account associated with the resource." + "$ref": "AwsAccount" }, "organization": { - "$ref": "AwsOrganization", - "description": "The AWS organization associated with the resource." + "$ref": "AwsOrganization" }, "organizationalUnits": { - "description": "A list of AWS organizational units associated with the resource, ordered from lowest level (closest to the account) to highest level.", "items": { "$ref": "AwsOrganizationalUnit" }, @@ -2440,191 +2266,154 @@ "type": "object" }, "AwsOrganization": { - "description": "An organization is a collection of accounts that are centrally managed together using consolidated billing, organized hierarchically with organizational units (OUs), and controlled with policies.", "id": "AwsOrganization", "properties": { "id": { - "description": "The unique identifier (ID) for the organization. The regex pattern for an organization ID string requires \"o-\" followed by from 10 to 32 lowercase letters or digits.", "type": "string" } }, "type": "object" }, "AwsOrganizationalUnit": { - "description": "An Organizational Unit (OU) is a container of AWS accounts within a root of an organization. Policies that are attached to an OU apply to all accounts contained in that OU and in any child OUs.", "id": "AwsOrganizationalUnit", "properties": { "id": { - "description": "The unique identifier (ID) associated with this OU. The regex pattern for an organizational unit ID string requires \"ou-\" followed by from 4 to 32 lowercase letters or digits (the ID of the root that contains the OU). This string is followed by a second \"-\" dash and from 8 to 32 additional lowercase letters or digits. For example, \"ou-ab12-cd34ef56\".", "type": "string" }, "name": { - "description": "The friendly name of the OU.", "type": "string" } }, "type": "object" }, "AzureManagementGroup": { - "description": "Represents an Azure management group.", "id": "AzureManagementGroup", "properties": { "displayName": { - "description": "The display name of the Azure management group.", "type": "string" }, "id": { - "description": "The UUID of the Azure management group, for example, `20000000-0001-0000-0000-000000000000`.", "type": "string" } }, "type": "object" }, "AzureMetadata": { - "description": "Azure metadata associated with the resource, only applicable if the finding's cloud provider is Microsoft Azure.", "id": "AzureMetadata", "properties": { "managementGroups": { - "description": "A list of Azure management groups associated with the resource, ordered from lowest level (closest to the subscription) to highest level.", "items": { "$ref": "AzureManagementGroup" }, "type": "array" }, "resourceGroup": { - "$ref": "AzureResourceGroup", - "description": "The Azure resource group associated with the resource." + "$ref": "AzureResourceGroup" }, "subscription": { - "$ref": "AzureSubscription", - "description": "The Azure subscription associated with the resource." + "$ref": "AzureSubscription" }, "tenant": { - "$ref": "AzureTenant", - "description": "The Azure Entra tenant associated with the resource." + "$ref": "AzureTenant" } }, "type": "object" }, "AzureResourceGroup": { - "description": "Represents an Azure resource group.", "id": "AzureResourceGroup", "properties": { "id": { - "description": "The ID of the Azure resource group.", "type": "string" }, "name": { - "description": "The name of the Azure resource group. This is not a UUID.", "type": "string" } }, "type": "object" }, "AzureSubscription": { - "description": "Represents an Azure subscription.", "id": "AzureSubscription", "properties": { "displayName": { - "description": "The display name of the Azure subscription.", "type": "string" }, "id": { - "description": "The UUID of the Azure subscription, for example, `291bba3f-e0a5-47bc-a099-3bdcb2a50a05`.", "type": "string" } }, "type": "object" }, "AzureTenant": { - "description": "Represents a Microsoft Entra tenant.", "id": "AzureTenant", "properties": { "displayName": { - "description": "The display name of the Azure tenant.", "type": "string" }, "id": { - "description": "The ID of the Microsoft Entra tenant, for example, \"a11aaa11-aa11-1aa1-11aa-1aaa11a\".", "type": "string" } }, "type": "object" }, "BackupDisasterRecovery": { - "description": "Information related to Google Cloud Backup and DR Service findings.", "id": "BackupDisasterRecovery", "properties": { "appliance": { - "description": "The name of the Backup and DR appliance that captures, moves, and manages the lifecycle of backup data. For example, `backup-server-57137`.", "type": "string" }, "applications": { - "description": "The names of Backup and DR applications. An application is a VM, database, or file system on a managed host monitored by a backup and recovery appliance. For example, `centos7-01-vol00`, `centos7-01-vol01`, `centos7-01-vol02`.", "items": { "type": "string" }, "type": "array" }, "backupCreateTime": { - "description": "The timestamp at which the Backup and DR backup was created.", "format": "google-datetime", "type": "string" }, "backupTemplate": { - "description": "The name of a Backup and DR template which comprises one or more backup policies. See the [Backup and DR documentation](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#temp) for more information. For example, `snap-ov`.", "type": "string" }, "backupType": { - "description": "The backup type of the Backup and DR image. For example, `Snapshot`, `Remote Snapshot`, `OnVault`.", "type": "string" }, "host": { - "description": "The name of a Backup and DR host, which is managed by the backup and recovery appliance and known to the management console. The host can be of type Generic (for example, Compute Engine, SQL Server, Oracle DB, SMB file system, etc.), vCenter, or an ESX server. See the [Backup and DR documentation on hosts](https://cloud.google.com/backup-disaster-recovery/docs/configuration/manage-hosts-and-their-applications) for more information. For example, `centos7-01`.", "type": "string" }, "policies": { - "description": "The names of Backup and DR policies that are associated with a template and that define when to run a backup, how frequently to run a backup, and how long to retain the backup image. For example, `onvaults`.", "items": { "type": "string" }, "type": "array" }, "policyOptions": { - "description": "The names of Backup and DR advanced policy options of a policy applying to an application. See the [Backup and DR documentation on policy options](https://cloud.google.com/backup-disaster-recovery/docs/create-plan/policy-settings). For example, `skipofflineappsincongrp, nounmap`.", "items": { "type": "string" }, "type": "array" }, "profile": { - "description": "The name of the Backup and DR resource profile that specifies the storage media for backups of application and VM data. See the [Backup and DR documentation on profiles](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#profile). For example, `GCP`.", "type": "string" }, "storagePool": { - "description": "The name of the Backup and DR storage pool that the backup and recovery appliance is storing data in. The storage pool could be of type Cloud, Primary, Snapshot, or OnVault. See the [Backup and DR documentation on storage pools](https://cloud.google.com/backup-disaster-recovery/docs/concepts/storage-pools). For example, `DiskPoolOne`.", "type": "string" } }, "type": "object" }, "BigQueryDestination": { - "description": "The destination BigQuery dataset to export findings to.", "id": "BigQueryDestination", "properties": { "dataset": { - "description": "Required. The relative resource name of the destination dataset, in the form projects/{projectId}/datasets/{datasetId}.", "type": "string" } }, "type": "object" }, "Chokepoint": { - "description": "Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations).", "id": "Chokepoint", "properties": { "relatedFindings": { - "description": "List of resource names of findings associated with this chokepoint. For example, organizations/123/sources/456/findings/789. This list will have at most 100 findings.", "items": { "type": "string" }, @@ -2634,65 +2423,53 @@ "type": "object" }, "CloudArmor": { - "description": "Fields related to Google Cloud Armor findings.", "id": "CloudArmor", "properties": { "adaptiveProtection": { - "$ref": "AdaptiveProtection", - "description": "Information about potential Layer 7 DDoS attacks identified by [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/adaptive-protection-overview)." + "$ref": "AdaptiveProtection" }, "attack": { - "$ref": "Attack", - "description": "Information about DDoS attack volume and classification." + "$ref": "Attack" }, "duration": { - "description": "Duration of attack from the start until the current moment (updated every 5 minutes).", "format": "google-duration", "type": "string" }, "requests": { - "$ref": "Requests", - "description": "Information about incoming requests evaluated by [Google Cloud Armor security policies](https://cloud.google.com/armor/docs/security-policy-overview)." + "$ref": "Requests" }, "securityPolicy": { - "$ref": "SecurityPolicy", - "description": "Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding." + "$ref": "SecurityPolicy" }, "threatVector": { - "description": "Distinguish between volumetric & protocol DDoS attack and application layer attacks. For example, \"L3_4\" for Layer 3 and Layer 4 DDoS attacks, or \"L_7\" for Layer 7 DDoS attacks.", "type": "string" } }, "type": "object" }, "CloudControl": { - "description": "CloudControl associated with the finding.", "id": "CloudControl", "properties": { "cloudControlName": { - "description": "Name of the CloudControl associated with the finding.", "type": "string" }, "policyType": { - "description": "Policy type of the CloudControl", "type": "string" }, "type": { - "description": "Type of cloud control.", "enum": [ "CLOUD_CONTROL_TYPE_UNSPECIFIED", "BUILT_IN", "CUSTOM" ], "enumDescriptions": [ - "Unspecified.", - "Built in Cloud Control.", - "Custom Cloud Control." + "", + "", + "" ], "type": "string" }, "version": { - "description": "Version of the Cloud Control", "format": "int32", "type": "integer" } @@ -2700,31 +2477,27 @@ "type": "object" }, "CloudDlpDataProfile": { - "description": "The [data profile](https://cloud.google.com/dlp/docs/data-profiles) associated with the finding.", "id": "CloudDlpDataProfile", "properties": { "dataProfile": { - "description": "Name of the data profile, for example, `projects/123/locations/europe/tableProfiles/8383929`.", "type": "string" }, "infoTypes": { - "description": "Type of information detected by SDP. Info type includes name, version and sensitivity of the detected information type.", "items": { "$ref": "InfoType" }, "type": "array" }, "parentType": { - "description": "The resource hierarchy level at which the data profile was generated.", "enum": [ "PARENT_TYPE_UNSPECIFIED", "ORGANIZATION", "PROJECT" ], "enumDescriptions": [ - "Unspecified parent type.", - "Organization-level configurations.", - "Project-level configurations." + "", + "", + "" ], "type": "string" } @@ -2732,47 +2505,37 @@ "type": "object" }, "CloudDlpInspection": { - "description": "Details about the Cloud Data Loss Prevention (Cloud DLP) [inspection job](https://cloud.google.com/dlp/docs/concepts-job-triggers) that produced the finding.", "id": "CloudDlpInspection", "properties": { "fullScan": { - "description": "Whether Cloud DLP scanned the complete resource or a sampled subset.", "type": "boolean" }, "infoType": { - "description": "The type of information (or *[infoType](https://cloud.google.com/dlp/docs/infotypes-reference)*) found, for example, `EMAIL_ADDRESS` or `STREET_ADDRESS`.", "type": "string" }, "infoTypeCount": { - "description": "The number of times Cloud DLP found this infoType within this job and resource.", "format": "int64", "type": "string" }, "inspectJob": { - "description": "Name of the inspection job, for example, `projects/123/locations/europe/dlpJobs/i-8383929`.", "type": "string" } }, "type": "object" }, "CloudLoggingEntry": { - "description": "Metadata taken from a [Cloud Logging LogEntry](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry)", "id": "CloudLoggingEntry", "properties": { "insertId": { - "description": "A unique identifier for the log entry.", "type": "string" }, "logId": { - "description": "The type of the log (part of `log_name`. `log_name` is the resource name of the log to which this log entry belongs). For example: `cloudresourcemanager.googleapis.com/activity`. Note that this field is not URL-encoded, unlike the `LOG_ID` field in `LogEntry`.", "type": "string" }, "resourceContainer": { - "description": "The organization, folder, or project of the monitored resource that produced this log entry.", "type": "string" }, "timestamp": { - "description": "The time the event described by the log entry occurred.", "format": "google-datetime", "type": "string" } @@ -2780,44 +2543,36 @@ "type": "object" }, "Compliance": { - "description": "Contains compliance information about a security standard indicating unmet recommendations.", "id": "Compliance", "properties": { "ids": { - "description": "Policies within the standard or benchmark, for example, A.12.4.1", "items": { "type": "string" }, "type": "array" }, "standard": { - "description": "Industry-wide compliance standards or benchmarks, such as CIS, PCI, and OWASP.", "type": "string" }, "version": { - "description": "Version of the standard or benchmark, for example, 1.1", "type": "string" } }, "type": "object" }, "ComplianceDetails": { - "description": "Compliance Details associated with the finding.", "id": "ComplianceDetails", "properties": { "cloudControl": { - "$ref": "CloudControl", - "description": "CloudControl associated with the finding" + "$ref": "CloudControl" }, "cloudControlDeploymentNames": { - "description": "Cloud Control Deployments associated with the finding. For example, organizations/123/locations/global/cloudControlDeployments/deploymentIdentifier", "items": { "type": "string" }, "type": "array" }, "frameworks": { - "description": "Details of Frameworks associated with the finding", "items": { "$ref": "Framework" }, @@ -2827,11 +2582,9 @@ "type": "object" }, "Config": { - "description": "Configuration of a module.", "id": "Config", "properties": { "moduleEnablementState": { - "description": "The state of enablement for the module at its level of the resource hierarchy.", "enum": [ "ENABLEMENT_STATE_UNSPECIFIED", "INHERITED", @@ -2839,10 +2592,10 @@ "DISABLED" ], "enumDescriptions": [ - "Default value. This value is unused.", - "State is inherited from the parent resource.", - "State is enabled.", - "State is disabled." + "", + "", + "", + "" ], "type": "string" }, @@ -2851,27 +2604,22 @@ "description": "Properties of the object.", "type": "any" }, - "description": "The configuration value for the module. The absence of this field implies its inheritance from the parent.", "type": "object" } }, "type": "object" }, "Connection": { - "description": "Contains information about the IP connection associated with the finding.", "id": "Connection", "properties": { "destinationIp": { - "description": "Destination IP address. Not present for sockets that are listening and not connected.", "type": "string" }, "destinationPort": { - "description": "Destination port. Not present for sockets that are listening and not connected.", "format": "int32", "type": "integer" }, "protocol": { - "description": "IANA Internet Protocol Number such as TCP(6) and UDP(17).", "enum": [ "PROTOCOL_UNSPECIFIED", "ICMP", @@ -2881,21 +2629,19 @@ "ESP" ], "enumDescriptions": [ - "Unspecified protocol (not HOPOPT).", - "Internet Control Message Protocol.", - "Transmission Control Protocol.", - "User Datagram Protocol.", - "Generic Routing Encapsulation.", - "Encap Security Payload." + "", + "", + "", + "", + "", + "" ], "type": "string" }, "sourceIp": { - "description": "Source IP address.", "type": "string" }, "sourcePort": { - "description": "Source port.", "format": "int32", "type": "integer" } @@ -2903,22 +2649,18 @@ "type": "object" }, "Contact": { - "description": "The email address of a contact.", "id": "Contact", "properties": { "email": { - "description": "An email address. For example, \"`person123@company.com`\".", "type": "string" } }, "type": "object" }, "ContactDetails": { - "description": "Details about specific contacts", "id": "ContactDetails", "properties": { "contacts": { - "description": "A list of contacts", "items": { "$ref": "Contact" }, @@ -2928,58 +2670,47 @@ "type": "object" }, "Container": { - "description": "Container associated with the finding.", "id": "Container", "properties": { "createTime": { - "description": "The time that the container was created.", "format": "google-datetime", "type": "string" }, "imageId": { - "description": "Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest.", "type": "string" }, "labels": { - "description": "Container labels, as provided by the container runtime.", "items": { "$ref": "Label" }, "type": "array" }, "name": { - "description": "Name of the container.", "type": "string" }, "uri": { - "description": "Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags.", "type": "string" } }, "type": "object" }, "ContainerThreatDetectionSettings": { - "description": "Resource capturing the settings for the Container Threat Detection service.", "id": "ContainerThreatDetectionSettings", "properties": { "modules": { "additionalProperties": { "$ref": "Config" }, - "description": "The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration.", "type": "object" }, "name": { - "description": "Identifier. The resource name of the ContainerThreatDetectionSettings. Formats: * organizations/{organization}/containerThreatDetectionSettings * folders/{folder}/containerThreatDetectionSettings * projects/{project}/containerThreatDetectionSettings * projects/{project}/locations/{location}/clusters/{cluster}/containerThreatDetectionSettings", "type": "string" }, "serviceAccount": { - "description": "Output only. The service account used by Container Threat Detection for scanning. Service accounts are scoped at the project level meaning this field will be empty at any level above a project.", "readOnly": true, "type": "string" }, "serviceEnablementState": { - "description": "The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED.", "enum": [ "ENABLEMENT_STATE_UNSPECIFIED", "INHERITED", @@ -2987,15 +2718,14 @@ "DISABLED" ], "enumDescriptions": [ - "Default value. This value is unused.", - "State is inherited from the parent resource.", - "State is enabled.", - "State is disabled." + "", + "", + "", + "" ], "type": "string" }, "updateTime": { - "description": "Output only. The time the settings were last updated.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -3004,35 +2734,28 @@ "type": "object" }, "Control": { - "description": "Compliance control associated with the finding.", "id": "Control", "properties": { "controlName": { - "description": "Name of the Control", "type": "string" }, "displayName": { - "description": "Display name of the control. For example, AU-02.", "type": "string" } }, "type": "object" }, "Cve": { - "description": "CVE stands for Common Vulnerabilities and Exposures. Information from the [CVE record](https://www.cve.org/ResourcesSupport/Glossary) that describes this vulnerability.", "id": "Cve", "properties": { "cvssv3": { - "$ref": "Cvssv3", - "description": "Describe Common Vulnerability Scoring System specified at https://www.first.org/cvss/v3.1/specification-document" + "$ref": "Cvssv3" }, "exploitReleaseDate": { - "description": "Date the first publicly available exploit or PoC was released.", "format": "google-datetime", "type": "string" }, "exploitationActivity": { - "description": "The exploitation activity of the vulnerability in the wild.", "enum": [ "EXPLOITATION_ACTIVITY_UNSPECIFIED", "WIDE", @@ -3042,26 +2765,23 @@ "NO_KNOWN" ], "enumDescriptions": [ - "Invalid or empty value.", - "Exploitation has been reported or confirmed to widely occur.", - "Limited reported or confirmed exploitation activities.", - "Exploit is publicly available.", - "No known exploitation activity, but has a high potential for exploitation.", - "No known exploitation activity." + "", + "", + "", + "", + "", + "" ], "type": "string" }, "firstExploitationDate": { - "description": "Date of the earliest known exploitation.", "format": "google-datetime", "type": "string" }, "id": { - "description": "The unique identifier for the vulnerability. e.g. CVE-2021-34527", "type": "string" }, "impact": { - "description": "The potential impact of the vulnerability if it was to be exploited.", "enum": [ "RISK_RATING_UNSPECIFIED", "LOW", @@ -3070,56 +2790,49 @@ "CRITICAL" ], "enumDescriptions": [ - "Invalid or empty value.", - "Exploitation would have little to no security impact.", - "Exploitation would enable attackers to perform activities, or could allow attackers to have a direct impact, but would require additional steps.", - "Exploitation would enable attackers to have a notable direct impact without needing to overcome any major mitigating factors.", - "Exploitation would fundamentally undermine the security of affected systems, enable actors to perform significant attacks with minimal effort, with little to no mitigating factors to overcome." + "", + "", + "", + "", + "" ], "type": "string" }, "observedInTheWild": { - "description": "Whether or not the vulnerability has been observed in the wild.", "type": "boolean" }, "references": { - "description": "Additional information about the CVE. e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527", "items": { "$ref": "Reference" }, "type": "array" }, "upstreamFixAvailable": { - "description": "Whether upstream fix is available for the CVE.", "type": "boolean" }, "zeroDay": { - "description": "Whether or not the vulnerability was zero day when the finding was published.", "type": "boolean" } }, "type": "object" }, "Cvssv3": { - "description": "Common Vulnerability Scoring System version 3.", "id": "Cvssv3", "properties": { "attackComplexity": { - "description": "This metric describes the conditions beyond the attacker's control that must exist in order to exploit the vulnerability.", "enum": [ "ATTACK_COMPLEXITY_UNSPECIFIED", "ATTACK_COMPLEXITY_LOW", "ATTACK_COMPLEXITY_HIGH" ], "enumDescriptions": [ - "Invalid value.", - "Specialized access conditions or extenuating circumstances do not exist. An attacker can expect repeatable success when attacking the vulnerable component.", - "A successful attack depends on conditions beyond the attacker's control. That is, a successful attack cannot be accomplished at will, but requires the attacker to invest in some measurable amount of effort in preparation or execution against the vulnerable component before a successful attack can be expected." + "", + "", + "" ], "type": "string" }, "attackVector": { - "description": "Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. This metric reflects the context by which vulnerability exploitation is possible.", "enum": [ "ATTACK_VECTOR_UNSPECIFIED", "ATTACK_VECTOR_NETWORK", @@ -3128,16 +2841,15 @@ "ATTACK_VECTOR_PHYSICAL" ], "enumDescriptions": [ - "Invalid value.", - "The vulnerable component is bound to the network stack and the set of possible attackers extends beyond the other options listed below, up to and including the entire Internet.", - "The vulnerable component is bound to the network stack, but the attack is limited at the protocol level to a logically adjacent topology.", - "The vulnerable component is not bound to the network stack and the attacker's path is via read/write/execute capabilities.", - "The attack requires the attacker to physically touch or manipulate the vulnerable component." + "", + "", + "", + "", + "" ], "type": "string" }, "availabilityImpact": { - "description": "This metric measures the impact to the availability of the impacted component resulting from a successfully exploited vulnerability.", "enum": [ "IMPACT_UNSPECIFIED", "IMPACT_HIGH", @@ -3145,20 +2857,18 @@ "IMPACT_NONE" ], "enumDescriptions": [ - "Invalid value.", - "High impact.", - "Low impact.", - "No impact." + "", + "", + "", + "" ], "type": "string" }, "baseScore": { - "description": "The base score is a function of the base metric scores.", "format": "double", "type": "number" }, "confidentialityImpact": { - "description": "This metric measures the impact to the confidentiality of the information resources managed by a software component due to a successfully exploited vulnerability.", "enum": [ "IMPACT_UNSPECIFIED", "IMPACT_HIGH", @@ -3166,15 +2876,14 @@ "IMPACT_NONE" ], "enumDescriptions": [ - "Invalid value.", - "High impact.", - "Low impact.", - "No impact." + "", + "", + "", + "" ], "type": "string" }, "integrityImpact": { - "description": "This metric measures the impact to integrity of a successfully exploited vulnerability.", "enum": [ "IMPACT_UNSPECIFIED", "IMPACT_HIGH", @@ -3182,15 +2891,14 @@ "IMPACT_NONE" ], "enumDescriptions": [ - "Invalid value.", - "High impact.", - "Low impact.", - "No impact." + "", + "", + "", + "" ], "type": "string" }, "privilegesRequired": { - "description": "This metric describes the level of privileges an attacker must possess before successfully exploiting the vulnerability.", "enum": [ "PRIVILEGES_REQUIRED_UNSPECIFIED", "PRIVILEGES_REQUIRED_NONE", @@ -3198,38 +2906,36 @@ "PRIVILEGES_REQUIRED_HIGH" ], "enumDescriptions": [ - "Invalid value.", - "The attacker is unauthorized prior to attack, and therefore does not require any access to settings or files of the vulnerable system to carry out an attack.", - "The attacker requires privileges that provide basic user capabilities that could normally affect only settings and files owned by a user. Alternatively, an attacker with Low privileges has the ability to access only non-sensitive resources.", - "The attacker requires privileges that provide significant (e.g., administrative) control over the vulnerable component allowing access to component-wide settings and files." + "", + "", + "", + "" ], "type": "string" }, "scope": { - "description": "The Scope metric captures whether a vulnerability in one vulnerable component impacts resources in components beyond its security scope.", "enum": [ "SCOPE_UNSPECIFIED", "SCOPE_UNCHANGED", "SCOPE_CHANGED" ], "enumDescriptions": [ - "Invalid value.", - "An exploited vulnerability can only affect resources managed by the same security authority.", - "An exploited vulnerability can affect resources beyond the security scope managed by the security authority of the vulnerable component." + "", + "", + "" ], "type": "string" }, "userInteraction": { - "description": "This metric captures the requirement for a human user, other than the attacker, to participate in the successful compromise of the vulnerable component.", "enum": [ "USER_INTERACTION_UNSPECIFIED", "USER_INTERACTION_NONE", "USER_INTERACTION_REQUIRED" ], "enumDescriptions": [ - "Invalid value.", - "The vulnerable system can be exploited without interaction from any user.", - "Successful exploitation of this vulnerability requires a user to take some action before the vulnerability can be exploited." + "", + "", + "" ], "type": "string" } @@ -3237,15 +2943,12 @@ "type": "object" }, "Cwe": { - "description": "CWE stands for Common Weakness Enumeration. Information about this weakness, as described by [CWE](https://cwe.mitre.org/).", "id": "Cwe", "properties": { "id": { - "description": "The CWE identifier, e.g. CWE-94", "type": "string" }, "references": { - "description": "Any reference to the details on the CWE, for example, https://cwe.mitre.org/data/definitions/94.html", "items": { "$ref": "Reference" }, @@ -3255,20 +2958,16 @@ "type": "object" }, "DataAccessEvent": { - "description": "Details about a data access attempt made by a principal not authorized under applicable data security policy.", "id": "DataAccessEvent", "properties": { "eventId": { - "description": "Unique identifier for data access event.", "type": "string" }, "eventTime": { - "description": "Timestamp of data access event.", "format": "google-datetime", "type": "string" }, "operation": { - "description": "The operation performed by the principal to access the data.", "enum": [ "OPERATION_UNSPECIFIED", "READ", @@ -3276,35 +2975,30 @@ "COPY" ], "enumDescriptions": [ - "The operation is unspecified.", - "Represents a read operation.", - "Represents a move operation.", - "Represents a copy operation." + "", + "", + "", + "" ], "type": "string" }, "principalEmail": { - "description": "The email address of the principal that accessed the data. The principal could be a user account, service account, Google group, or other.", "type": "string" } }, "type": "object" }, "DataFlowEvent": { - "description": "Details about a data flow event, in which either the data is moved to or is accessed from a non-compliant geo-location, as defined in the applicable data security policy.", "id": "DataFlowEvent", "properties": { "eventId": { - "description": "Unique identifier for data flow event.", "type": "string" }, "eventTime": { - "description": "Timestamp of data flow event.", "format": "google-datetime", "type": "string" }, "operation": { - "description": "The operation performed by the principal for the data flow event.", "enum": [ "OPERATION_UNSPECIFIED", "READ", @@ -3312,40 +3006,34 @@ "COPY" ], "enumDescriptions": [ - "The operation is unspecified.", - "Represents a read operation.", - "Represents a move operation.", - "Represents a copy operation." + "", + "", + "", + "" ], "type": "string" }, "principalEmail": { - "description": "The email address of the principal that initiated the data flow event. The principal could be a user account, service account, Google group, or other.", "type": "string" }, "violatedLocation": { - "description": "Non-compliant location of the principal or the data destination.", "type": "string" } }, "type": "object" }, "DataRetentionDeletionEvent": { - "description": "Details about data retention deletion violations, in which the data is non-compliant based on their retention or deletion time, as defined in the applicable data security policy. The Data Retention Deletion (DRD) control is a control of the DSPM (Data Security Posture Management) suite that enables organizations to manage data retention and deletion policies in compliance with regulations, such as GDPR and CRPA. DRD supports two primary policy types: maximum storage length (max TTL) and minimum storage length (min TTL). Both are aimed at helping organizations meet regulatory and data management commitments.", "id": "DataRetentionDeletionEvent", "properties": { "dataObjectCount": { - "description": "Number of objects that violated the policy for this resource. If the number is less than 1,000, then the value of this field is the exact number. If the number of objects that violated the policy is greater than or equal to 1,000, then the value of this field is 1000.", "format": "int64", "type": "string" }, "eventDetectionTime": { - "description": "Timestamp indicating when the event was detected.", "format": "google-datetime", "type": "string" }, "eventType": { - "description": "Type of the DRD event.", "enum": [ "EVENT_TYPE_UNSPECIFIED", "EVENT_TYPE_MAX_TTL_EXCEEDED", @@ -3361,21 +3049,19 @@ false ], "enumDescriptions": [ - "Unspecified event type.", - "Deprecated: This field is pending removal. Use EVENT_TYPE_MAX_TTL_FROM_CREATION or EVENT_TYPE_MAX_TTL_FROM_LAST_MODIFICATION instead.", - "Max TTL from the asset's creation time.", - "Max TTL from the asset's last modification time.", - "Min TTL from the asset's creation time." + "", + "", + "", + "", + "" ], "type": "string" }, "maxRetentionAllowed": { - "description": "Maximum duration of retention allowed from the DRD control. This comes from the DRD control where users set a max TTL for their data. For example, suppose that a user sets the max TTL for a Cloud Storage bucket to 90 days. However, an object in that bucket is 100 days old. In this case, a DataRetentionDeletionEvent will be generated for that Cloud Storage bucket, and the max_retention_allowed is 90 days.", "format": "google-duration", "type": "string" }, "minRetentionAllowed": { - "description": "Min duration of retention allowed from the DSPM retention control. This field is only populated when event type is set to EVENT_TYPE_MIN_TTL_FROM_CREATION.", "format": "google-duration", "type": "string" } @@ -3383,64 +3069,51 @@ "type": "object" }, "Database": { - "description": "Represents database access information, such as queries. A database may be a sub-resource of an instance (as in the case of Cloud SQL instances or Cloud Spanner instances), or the database instance itself. Some database resources might not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types, such as Cloud SQL databases, are not yet supported by Cloud Asset Inventory. In these cases only the display name is provided.", "id": "Database", "properties": { "displayName": { - "description": "The human-readable name of the database that the user connected to.", "type": "string" }, "grantees": { - "description": "The target usernames, roles, or groups of an SQL privilege grant, which is not an IAM policy change.", "items": { "type": "string" }, "type": "array" }, "name": { - "description": "Some database resources may not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types are not yet supported by Cloud Asset Inventory (e.g. Cloud SQL databases). In these cases only the display name will be provided. The [full resource name](https://google.aip.dev/122#full-resource-names) of the database that the user connected to, if it is supported by Cloud Asset Inventory.", "type": "string" }, "query": { - "description": "The SQL statement that is associated with the database access.", "type": "string" }, "userName": { - "description": "The username used to connect to the database. The username might not be an IAM principal and does not have a set format.", "type": "string" }, "version": { - "description": "The version of the database, for example, POSTGRES_14. See [the complete list](https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1/SqlDatabaseVersion).", "type": "string" } }, "type": "object" }, "Dataset": { - "description": "Vertex AI dataset associated with the finding.", "id": "Dataset", "properties": { "displayName": { - "description": "The user defined display name of dataset, e.g. plants-dataset", "type": "string" }, "name": { - "description": "Resource name of the dataset, e.g. projects/{project}/locations/{location}/datasets/2094040236064505856", "type": "string" }, "source": { - "description": "Data source, such as BigQuery source URI, e.g. bq://scc-nexus-test.AIPPtest.gsod", "type": "string" } }, "type": "object" }, "Denied": { - "description": "Denied IP rule.", "id": "Denied", "properties": { "ipRules": { - "description": "Optional. Optional list of denied IP rules.", "items": { "$ref": "IpRule" }, @@ -3450,36 +3123,38 @@ "type": "object" }, "Details": { - "description": "Details of a subscription.", "id": "Details", "properties": { "endTime": { - "description": "The time the subscription has or will end.", "format": "google-datetime", "type": "string" }, "startTime": { - "description": "The time the subscription has or will start.", "format": "google-datetime", "type": "string" }, "type": { - "description": "The type of subscription", "enum": [ "TYPE_UNSPECIFIED", "STANDARD", "TRIAL", "ALPHA", "DEMO", - "PAY_AS_YOU_GO" + "PAY_AS_YOU_GO", + "SUBSCRIPTION", + "SUB_FIXED", + "SUB_BASE_OVERAGE" ], "enumDescriptions": [ - "Default value. This value is unused.", - "The standard subscription.", - "The trial subscription.", - "The alpha subscription.", - "The demo subscription for channel partners.", - "Pay-as-you-go subscription." + "", + "", + "", + "", + "", + "", + "", + "", + "" ], "type": "string" } @@ -3487,15 +3162,12 @@ "type": "object" }, "Detection": { - "description": "Memory hash detection contributing to the binary family match.", "id": "Detection", "properties": { "binary": { - "description": "The name of the binary associated with the memory hash signature detection.", "type": "string" }, "percentPagesMatched": { - "description": "The percentage of memory page hashes in the signature that were matched.", "format": "double", "type": "number" } @@ -3503,35 +3175,29 @@ "type": "object" }, "DiscoveredWorkload": { - "description": "Represents discovered, customer managed workload that is not registered with the respective GCP service.", "id": "DiscoveredWorkload", "properties": { "confidence": { - "description": "The confidence in detection of this workload.", "enum": [ "CONFIDENCE_UNSPECIFIED", "CONFIDENCE_HIGH" ], "enumDescriptions": [ - "Unspecified confidence level.", - "High confidence in detection of a workload." + "", + "" ], "type": "string" }, "detectedRelevantHardware": { - "description": "A boolean flag set to true if associated hardware strongly predicts the workload type.", "type": "boolean" }, "detectedRelevantKeywords": { - "description": "A boolean flag set to true if associated keywords strongly predict the workload type.", "type": "boolean" }, "detectedRelevantPackages": { - "description": "A boolean flag set to true if installed packages strongly predict the workload type.", "type": "boolean" }, "workloadType": { - "description": "The type of workload.", "enum": [ "WORKLOAD_TYPE_UNSPECIFIED", "MCP_SERVER", @@ -3539,10 +3205,10 @@ "AGENT" ], "enumDescriptions": [ - "Unspecified workload type", - "A workload of type MCP Server", - "A workload of type AI Inference", - "A workload of type LLM Agent" + "", + "", + "", + "" ], "type": "string" } @@ -3550,79 +3216,64 @@ "type": "object" }, "Disk": { - "description": "Contains information about the disk associated with the finding.", "id": "Disk", "properties": { "name": { - "description": "The name of the disk, for example, \"https://www.googleapis.com/compute/v1/projects/{project-id}/zones/{zone-id}/disks/{disk-id}\".", "type": "string" } }, "type": "object" }, "DiskPath": { - "description": "Path of the file in terms of underlying disk/partition identifiers.", "id": "DiskPath", "properties": { "partitionUuid": { - "description": "UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid)", "type": "string" }, "relativePath": { - "description": "Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh", "type": "string" } }, "type": "object" }, "DynamicMuteRecord": { - "description": "The record of a dynamic mute rule that matches the finding.", "id": "DynamicMuteRecord", "properties": { "matchTime": { - "description": "When the dynamic mute rule first matched the finding.", "format": "google-datetime", "type": "string" }, "muteConfig": { - "description": "The relative resource name of the mute rule, represented by a mute config, that created this record, for example `organizations/123/muteConfigs/mymuteconfig` or `organizations/123/locations/global/muteConfigs/mymuteconfig`.", "type": "string" } }, "type": "object" }, "EnvironmentVariable": { - "description": "A name-value pair representing an environment variable used in an operating system process.", "id": "EnvironmentVariable", "properties": { "name": { - "description": "Environment variable name as a JSON encoded string.", "type": "string" }, "val": { - "description": "Environment variable value as a JSON encoded string.", "type": "string" } }, "type": "object" }, "EventThreatDetectionSettings": { - "description": "Resource capturing the settings for the Event Threat Detection service.", "id": "EventThreatDetectionSettings", "properties": { "modules": { "additionalProperties": { "$ref": "Config" }, - "description": "The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration.", "type": "object" }, "name": { - "description": "Identifier. The resource name of the EventThreatDetectionSettings. Formats: * organizations/{organization}/eventThreatDetectionSettings * folders/{folder}/eventThreatDetectionSettings * projects/{project}/eventThreatDetectionSettings", "type": "string" }, "serviceEnablementState": { - "description": "The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED.", "enum": [ "ENABLEMENT_STATE_UNSPECIFIED", "INHERITED", @@ -3630,15 +3281,14 @@ "DISABLED" ], "enumDescriptions": [ - "Default value. This value is unused.", - "State is inherited from the parent resource.", - "State is enabled.", - "State is disabled." + "", + "", + "", + "" ], "type": "string" }, "updateTime": { - "description": "Output only. The time the settings were last updated.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -3647,43 +3297,36 @@ "type": "object" }, "ExfilResource": { - "description": "Resource where data was exfiltrated from or exfiltrated to.", "id": "ExfilResource", "properties": { "components": { - "description": "Subcomponents of the asset that was exfiltrated, like URIs used during exfiltration, table names, databases, and filenames. For example, multiple tables might have been exfiltrated from the same Cloud SQL instance, or multiple files might have been exfiltrated from the same Cloud Storage bucket.", "items": { "type": "string" }, "type": "array" }, "name": { - "description": "The resource's [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name).", "type": "string" } }, "type": "object" }, "Exfiltration": { - "description": "Exfiltration represents a data exfiltration attempt from one or more sources to one or more targets. The `sources` attribute lists the sources of the exfiltrated data. The `targets` attribute lists the destinations the data was copied to.", "id": "Exfiltration", "properties": { "sources": { - "description": "If there are multiple sources, then the data is considered \"joined\" between them. For instance, BigQuery can join multiple tables, and each table would be considered a source.", "items": { "$ref": "ExfilResource" }, "type": "array" }, "targets": { - "description": "If there are multiple targets, each target would get a complete copy of the \"joined\" source data.", "items": { "$ref": "ExfilResource" }, "type": "array" }, "totalExfiltratedBytes": { - "description": "Total exfiltrated bytes processed for the entire job.", "format": "int64", "type": "string" } @@ -3691,15 +3334,12 @@ "type": "object" }, "ExportFindingsMetadata": { - "description": "The LRO metadata for a ExportFindings request.", "id": "ExportFindingsMetadata", "properties": { "bigQueryDestination": { - "$ref": "BigQueryDestination", - "description": "Required. The destination BigQuery dataset to export findings to." + "$ref": "BigQueryDestination" }, "exportStartTime": { - "description": "Optional. Timestamp at which export was started", "format": "google-datetime", "type": "string" } @@ -3707,176 +3347,139 @@ "type": "object" }, "ExportFindingsResponse": { - "description": "The response to a ExportFindings request. Contains the LRO information.", "id": "ExportFindingsResponse", "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" }, "ExternalExposure": { - "description": "Details about the externally exposed resource associated with the finding.", "id": "ExternalExposure", "properties": { "backendBucket": { - "description": "The full resource name of the load balancer backend bucket, for example, \"//compute.googleapis.com/projects/{project-id}/global/backendBuckets/{name}\"", "type": "string" }, "backendService": { - "description": "The full resource name of load balancer backend service, for example, \"//compute.googleapis.com/projects/{project-id}/global/backendServices/{name}\".", "type": "string" }, "exposedApplication": { - "description": "The name and version of the exposed web application, for example, \"Jenkins 2.184\".", "type": "string" }, "exposedEndpoint": { - "description": "The resource which is running the exposed service, for example, \"//compute.googleapis.com/projects/{project-id}/zones/{zone}/instances/{instance}.”", "type": "string" }, "exposedService": { - "description": "The name and version of the service, for example, \"Jupyter Notebook 6.14.0\".", "type": "string" }, "forwardingRule": { - "description": "The full resource name of the forwarding rule, for example, \"//compute.googleapis.com/projects/{project-id}/global/forwardingRules/{forwarding-rule-name}\".", "type": "string" }, "hostnameUri": { - "description": "Hostname of the exposed application, for example, \"https://test-app.a.run.app/\"", "type": "string" }, "httpResponse": { - "description": "The http response returned by the web application.", "items": { "$ref": "HttpResponse" }, "type": "array" }, "instanceGroup": { - "description": "The full resource name of the instance group, for example, \"//compute.googleapis.com/projects/{project-id}/global/instanceGroups/{name}\".", "type": "string" }, "internalBackendService": { - "description": "The full resource name of load balancer backend service in the internal project having resource exposed via PSC, for example, \"//compute.googleapis.com/projects/{project-id}/global/backendServices/{name}\".", "type": "string" }, "loadBalancerFirewallPolicy": { - "description": "The full resource name of the load balancer firewall policy, for example, \"//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{policy-name}\".", "type": "string" }, "networkEndpointGroup": { - "description": "The full resource name of the network endpoint group, for example, \"//compute.googleapis.com/projects/{project-id}/global/networkEndpointGroups/{name}\".", "type": "string" }, "networkIngressFirewallPolicy": { - "description": "The full resource name of the network ingress firewall policy, for example, \"//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{name}\".", "type": "string" }, "privateIpAddress": { - "description": "Private IP address of the exposed endpoint.", "type": "string" }, "privatePort": { - "description": "Port number associated with private IP address.", "type": "string" }, "pscNetworkAttachment": { - "description": "The full resource name of the PSC (Private Service Connect) network attachment that network interface controller is attached to, for example, \"//compute.googleapis.com/projects/{project-id}/regions/{region}/networkAttachments/{name}\"", "type": "string" }, "pscServiceAttachment": { - "description": "The full resource name of the PSC (Private Service Connect) service attachment that the load balancer network endpoint group targets, for example, \"//compute.googleapis.com/projects/{project-id}/regions/{region}/serviceAttachments/{name}\"", "type": "string" }, "publicIpAddress": { - "description": "Public IP address of the exposed endpoint.", "type": "string" }, "publicPort": { - "description": "Public port number of the exposed endpoint.", "type": "string" }, "serviceFirewallPolicy": { - "description": "The full resource name of the firewall policy of the exposed service, for example, \"//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{policy-name}\".", "type": "string" } }, "type": "object" }, "File": { - "description": "File information about the related binary/library used by an executable, or the script used by a script interpreter", "id": "File", "properties": { "contents": { - "description": "Prefix of the file contents as a JSON-encoded string.", "type": "string" }, "diskPath": { - "$ref": "DiskPath", - "description": "Path of the file in terms of underlying disk/partition identifiers." + "$ref": "DiskPath" }, "fileLoadState": { - "description": "The load state of the file.", "enum": [ "FILE_LOAD_STATE_UNSPECIFIED", "LOADED_BY_PROCESS", "NOT_LOADED_BY_PROCESS" ], "enumDescriptions": [ - "The file state is unspecified.", - "The file is being used by an active process at the time of scanning.", - "The file is not being used by any active process at the time of scanning." + "", + "", + "" ], "type": "string" }, "hashedSize": { - "description": "The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file.", "format": "int64", "type": "string" }, "operations": { - "description": "Operation(s) performed on a file.", "items": { "$ref": "FileOperation" }, "type": "array" }, "partiallyHashed": { - "description": "True when the hash covers only a prefix of the file.", "type": "boolean" }, "path": { - "description": "Absolute path of the file as a JSON encoded string.", "type": "string" }, "sha256": { - "description": "SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file.", "type": "string" }, "size": { - "description": "Size of the file in bytes.", "format": "int64", "type": "string" } @@ -3884,11 +3487,9 @@ "type": "object" }, "FileOperation": { - "description": "Operation(s) performed on a file.", "id": "FileOperation", "properties": { "type": { - "description": "The type of the operation", "enum": [ "OPERATION_TYPE_UNSPECIFIED", "OPEN", @@ -3898,12 +3499,12 @@ "EXECUTE" ], "enumDescriptions": [ - "The operation is unspecified.", - "Represents an open operation.", - "Represents a read operation.", - "Represents a rename operation.", - "Represents a write operation.", - "Represents an execute operation." + "", + "", + "", + "", + "", + "" ], "type": "string" } @@ -3911,81 +3512,63 @@ "type": "object" }, "Finding": { - "description": "Security Command Center finding. A finding is a record of assessment data like security, risk, health, or privacy, that is ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, a cross-site scripting (XSS) vulnerability in an App Engine application is a finding.", "id": "Finding", "properties": { "access": { - "$ref": "Access", - "description": "Access details associated with the finding, such as more information on the caller, which method was accessed, and from where." + "$ref": "Access" }, "affectedResources": { - "$ref": "AffectedResources", - "description": "AffectedResources associated with the finding." + "$ref": "AffectedResources" }, "agentDataAccessEvents": { - "description": "Agent data access events associated with the finding.", "items": { "$ref": "AgentDataAccessEvent" }, "type": "array" }, "aiModel": { - "$ref": "AiModel", - "description": "The AI model associated with the finding." + "$ref": "AiModel" }, "application": { - "$ref": "Application", - "description": "Represents an application associated with the finding." + "$ref": "Application" }, "artifactGuardPolicies": { - "$ref": "ArtifactGuardPolicies", - "description": "ArtifactGuardPolicies associated with the finding." + "$ref": "ArtifactGuardPolicies" }, "attackExposure": { - "$ref": "AttackExposure", - "description": "The results of an attack path simulation relevant to this finding." + "$ref": "AttackExposure" }, "backupDisasterRecovery": { - "$ref": "BackupDisasterRecovery", - "description": "Fields related to Backup and DR findings." + "$ref": "BackupDisasterRecovery" }, "canonicalName": { - "description": "The canonical name of the finding. It's either \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}\", \"folders/{folder_id}/sources/{source_id}/findings/{finding_id}\" or \"projects/{project_number}/sources/{source_id}/findings/{finding_id}\", depending on the closest CRM ancestor of the resource associated with the finding.", "type": "string" }, "category": { - "description": "The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: \"XSS_FLASH_INJECTION\"", "type": "string" }, "chokepoint": { - "$ref": "Chokepoint", - "description": "Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations). This field cannot be updated. Its value is ignored in all update requests." + "$ref": "Chokepoint" }, "cloudArmor": { - "$ref": "CloudArmor", - "description": "Fields related to Cloud Armor findings." + "$ref": "CloudArmor" }, "cloudDlpDataProfile": { - "$ref": "CloudDlpDataProfile", - "description": "Cloud DLP data profile that is associated with the finding." + "$ref": "CloudDlpDataProfile" }, "cloudDlpInspection": { - "$ref": "CloudDlpInspection", - "description": "Cloud Data Loss Prevention (Cloud DLP) inspection results that are associated with the finding." + "$ref": "CloudDlpInspection" }, "complianceDetails": { - "$ref": "ComplianceDetails", - "description": "Details about the compliance implications of the finding." + "$ref": "ComplianceDetails" }, "compliances": { - "description": "Contains compliance information for security standards associated to the finding.", "items": { "$ref": "Compliance" }, "type": "array" }, "connections": { - "description": "Contains information about the IP connection associated with the finding.", "items": { "$ref": "Connection" }, @@ -3995,93 +3578,76 @@ "additionalProperties": { "$ref": "ContactDetails" }, - "description": "Output only. Map containing the points of contact for the given finding. The key represents the type of contact, while the value contains a list of all the contacts that pertain. Please refer to: https://cloud.google.com/resource-manager/docs/managing-notification-contacts#notification-categories { \"security\": { \"contacts\": [ { \"email\": \"person1@company.com\" }, { \"email\": \"person2@company.com\" } ] } }", "readOnly": true, "type": "object" }, "containers": { - "description": "Containers associated with the finding. This field provides information for both Kubernetes and non-Kubernetes containers.", "items": { "$ref": "Container" }, "type": "array" }, "createTime": { - "description": "The time at which the finding was created in Security Command Center.", "format": "google-datetime", "type": "string" }, "dataAccessEvents": { - "description": "Data access events associated with the finding.", "items": { "$ref": "DataAccessEvent" }, "type": "array" }, "dataFlowEvents": { - "description": "Data flow events associated with the finding.", "items": { "$ref": "DataFlowEvent" }, "type": "array" }, "dataRetentionDeletionEvents": { - "description": "Data retention deletion events associated with the finding.", "items": { "$ref": "DataRetentionDeletionEvent" }, "type": "array" }, "database": { - "$ref": "Database", - "description": "Database associated with the finding." + "$ref": "Database" }, "description": { - "description": "Contains more details about the finding.", "type": "string" }, "discoveredWorkload": { - "$ref": "DiscoveredWorkload", - "description": "DiscoveredWorkload associated with the finding." + "$ref": "DiscoveredWorkload" }, "disk": { - "$ref": "Disk", - "description": "Disk associated with the finding." + "$ref": "Disk" }, "eventTime": { - "description": "The time the finding was first detected. If an existing finding is updated, then this is the time the update occurred. For example, if the finding represents an open firewall, this property captures the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding is later resolved, then this time reflects when the finding was resolved. This must not be set to a value greater than the current timestamp.", "format": "google-datetime", "type": "string" }, "exfiltration": { - "$ref": "Exfiltration", - "description": "Represents exfiltrations associated with the finding." + "$ref": "Exfiltration" }, "externalExposure": { - "$ref": "ExternalExposure", - "description": "External exposure associated with the finding." + "$ref": "ExternalExposure" }, "externalSystems": { "additionalProperties": { "$ref": "GoogleCloudSecuritycenterV1ExternalSystem" }, - "description": "Output only. Third party SIEM/SOAR fields within SCC, contains external system information and external system finding fields.", "readOnly": true, "type": "object" }, "externalUri": { - "description": "The URI that, if available, points to a web page outside of Security Command Center where additional information about the finding can be found. This field is guaranteed to be either empty or a well formed URL.", "type": "string" }, "files": { - "description": "File associated with the finding.", "items": { "$ref": "File" }, "type": "array" }, "findingClass": { - "description": "The class of the finding.", "enum": [ "FINDING_CLASS_UNSPECIFIED", "THREAT", @@ -4097,79 +3663,67 @@ "SECRET" ], "enumDescriptions": [ - "Unspecified finding class.", - "Describes unwanted or malicious activity.", - "Describes a potential weakness in software that increases risk to Confidentiality & Integrity & Availability.", - "Describes a potential weakness in cloud resource/asset configuration that increases risk.", - "Describes a security observation that is for informational purposes.", - "Describes an error that prevents some SCC functionality.", - "Describes a potential security risk due to a change in the security posture.", - "Describes a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination.", - "Describes a potential security risk to data assets that contain sensitive data.", - "Describes a resource or resource group where high risk attack paths converge, based on attack path simulations (APS).", - "Describes a potential security risk due to the resource being exposed to the internet.", - "Describes a potential security risk due to plaintext credentials, keys, or tokens being exposed in an asset or workload." + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" ], "type": "string" }, "groupMemberships": { - "description": "Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way. This field cannot be updated. Its value is ignored in all update requests.", "items": { "$ref": "GroupMembership" }, "type": "array" }, "iamBindings": { - "description": "Represents IAM bindings associated with the finding.", "items": { "$ref": "IamBinding" }, "type": "array" }, "indicator": { - "$ref": "Indicator", - "description": "Represents what's commonly known as an *indicator of compromise* (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise)." + "$ref": "Indicator" }, "ipRules": { - "$ref": "IpRules", - "description": "IP rules associated with the finding." + "$ref": "IpRules" }, "job": { - "$ref": "Job", - "description": "Job associated with the finding." + "$ref": "Job" }, "kernelRootkit": { - "$ref": "KernelRootkit", - "description": "Signature of the kernel rootkit." + "$ref": "KernelRootkit" }, "kubernetes": { - "$ref": "Kubernetes", - "description": "Kubernetes resources associated with the finding." + "$ref": "Kubernetes" }, "loadBalancers": { - "description": "The load balancers associated with the finding.", "items": { "$ref": "LoadBalancer" }, "type": "array" }, "logEntries": { - "description": "Log entries that are relevant to the finding.", "items": { "$ref": "LogEntry" }, "type": "array" }, "mitreAttack": { - "$ref": "MitreAttack", - "description": "MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org" + "$ref": "MitreAttack" }, "moduleName": { - "description": "Unique identifier of the module which generated the finding. Example: folders/598186756061/securityHealthAnalyticsSettings/customModules/56799441161885", "type": "string" }, "mute": { - "description": "Indicates the mute state of a finding (either muted, unmuted or undefined). Unlike other attributes of a finding, a finding provider shouldn't set the value of mute.", "enum": [ "MUTE_UNSPECIFIED", "MUTED", @@ -4177,93 +3731,76 @@ "UNDEFINED" ], "enumDescriptions": [ - "Unspecified.", - "Finding has been muted.", - "Finding has been unmuted.", - "Finding has never been muted/unmuted." + "", + "", + "", + "" ], "type": "string" }, "muteInfo": { "$ref": "MuteInfo", - "description": "Output only. The mute information regarding this finding.", "readOnly": true }, "muteInitiator": { - "description": "Records additional information about the mute operation, for example, the [mute configuration](/security-command-center/docs/how-to-mute-findings) that muted the finding and the user who muted the finding.", "type": "string" }, "muteUpdateTime": { - "description": "Output only. The most recent time this finding was muted or unmuted.", "format": "google-datetime", "readOnly": true, "type": "string" }, "name": { - "description": "The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}\", \"folders/{folder_id}/sources/{source_id}/findings/{finding_id}\", \"projects/{project_id}/sources/{source_id}/findings/{finding_id}\".", "type": "string" }, "networks": { - "description": "Represents the VPC networks that the resource is attached to.", "items": { "$ref": "Network" }, "type": "array" }, "nextSteps": { - "description": "Steps to address the finding.", "type": "string" }, "notebook": { - "$ref": "Notebook", - "description": "Notebook associated with the finding." + "$ref": "Notebook" }, "orgPolicies": { - "description": "Contains information about the org policies associated with the finding.", "items": { "$ref": "OrgPolicy" }, "type": "array" }, "parent": { - "description": "The relative resource name of the source the finding belongs to. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name This field is immutable after creation time. For example: \"organizations/{organization_id}/sources/{source_id}\"", "type": "string" }, "parentDisplayName": { - "description": "Output only. The human readable display name of the finding source such as \"Event Threat Detection\" or \"Security Health Analytics\".", "readOnly": true, "type": "string" }, "policyViolationSummary": { - "$ref": "PolicyViolationSummary", - "description": "PolicyViolationSummary associated with the finding." + "$ref": "PolicyViolationSummary" }, "processes": { - "description": "Represents operating system processes associated with the Finding.", "items": { "$ref": "Process" }, "type": "array" }, "resourceName": { - "description": "For findings on Google Cloud resources, the full resource name of the Google Cloud resource this finding is for. See: https://cloud.google.com/apis/design/resource_names#full_resource_name When the finding is for a non-Google Cloud resource, the resourceName can be a customer or partner defined string. This field is immutable after creation time.", "type": "string" }, "secret": { - "$ref": "Secret", - "description": "Secret associated with the finding." + "$ref": "Secret" }, "securityMarks": { "$ref": "SecurityMarks", - "description": "Output only. User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the finding.", "readOnly": true }, "securityPosture": { - "$ref": "SecurityPosture", - "description": "The security posture associated with the finding." + "$ref": "SecurityPosture" }, "severity": { - "description": "The severity of the finding. This field is managed by the source that writes the finding.", "enum": [ "SEVERITY_UNSPECIFIED", "CRITICAL", @@ -4272,11 +3809,11 @@ "LOW" ], "enumDescriptions": [ - "This value is used for findings when a source doesn't write a severity value.", - "Vulnerability: A critical vulnerability is easily discoverable by an external actor, exploitable, and results in the direct ability to execute arbitrary code, exfiltrate data, and otherwise gain additional access and privileges to cloud resources and workloads. Examples include publicly accessible unprotected user data and public SSH access with weak or no passwords. Threat: Indicates a threat that is able to access, modify, or delete data or execute unauthorized code within existing resources.", - "Vulnerability: A high risk vulnerability can be easily discovered and exploited in combination with other vulnerabilities in order to gain direct access and the ability to execute arbitrary code, exfiltrate data, and otherwise gain additional access and privileges to cloud resources and workloads. An example is a database with weak or no passwords that is only accessible internally. This database could easily be compromised by an actor that had access to the internal network. Threat: Indicates a threat that is able to create new computational resources in an environment but not able to access data or execute code in existing resources.", - "Vulnerability: A medium risk vulnerability could be used by an actor to gain access to resources or privileges that enable them to eventually (through multiple steps or a complex exploit) gain access and the ability to execute arbitrary code or exfiltrate data. An example is a service account with access to more projects than it should have. If an actor gains access to the service account, they could potentially use that access to manipulate a project the service account was not intended to. Threat: Indicates a threat that is able to cause operational impact but may not access data or execute unauthorized code.", - "Vulnerability: A low risk vulnerability hampers a security organization's ability to detect vulnerabilities or active threats in their deployment, or prevents the root cause investigation of security issues. An example is monitoring and logs being disabled for resource configurations and access. Threat: Indicates a threat that has obtained minimal access to an environment but is not able to access data, execute code, or create resources." + "", + "", + "", + "", + "" ], "type": "string" }, @@ -4284,59 +3821,49 @@ "additionalProperties": { "type": "any" }, - "description": "Source specific properties. These properties are managed by the source that writes the finding. The key names in the source_properties map must be between 1 and 255 characters, and must start with a letter and contain alphanumeric characters or underscores only.", "type": "object" }, "state": { - "description": "The state of the finding.", "enum": [ "STATE_UNSPECIFIED", "ACTIVE", "INACTIVE" ], "enumDescriptions": [ - "Unspecified state.", - "The finding requires attention and has not been addressed yet.", - "The finding has been fixed, triaged as a non-issue or otherwise addressed and is no longer active." + "", + "", + "" ], "type": "string" }, "toxicCombination": { - "$ref": "ToxicCombination", - "description": "Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. This field cannot be updated. Its value is ignored in all update requests." + "$ref": "ToxicCombination" }, "vertexAi": { - "$ref": "VertexAi", - "description": "VertexAi associated with the finding." + "$ref": "VertexAi" }, "vulnerability": { - "$ref": "Vulnerability", - "description": "Represents vulnerability-specific fields like CVE and CVSS scores. CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/)" + "$ref": "Vulnerability" } }, "type": "object" }, "Folder": { - "description": "Message that contains the resource name and display name of a folder resource.", "id": "Folder", "properties": { "resourceFolder": { - "description": "Full resource name of this folder. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", "type": "string" }, "resourceFolderDisplayName": { - "description": "The user defined display name for this folder.", "type": "string" } }, "type": "object" }, "Framework": { - "description": "Compliance framework associated with the finding.", "id": "Framework", "properties": { "category": { - "description": "Category of the framework associated with the finding. E.g. Security Benchmark, or Assured Workloads", "items": { "enum": [ "FRAMEWORK_CATEGORY_UNSPECIFIED", @@ -4347,43 +3874,39 @@ "CUSTOM_FRAMEWORK" ], "enumDescriptions": [ - "Default value. This value is unused.", - "Security Benchmarks framework", - "Assured Workloads framework", - "Data Security framework", - "Google Best Practices framework", - "A user-created framework" + "", + "", + "", + "", + "", + "" ], "type": "string" }, "type": "array" }, "controls": { - "description": "The controls associated with the framework.", "items": { "$ref": "Control" }, "type": "array" }, "displayName": { - "description": "Display name of the framework. For a standard framework, this will look like e.g. PCI DSS 3.2.1, whereas for a custom framework it can be a user defined string like MyFramework", "type": "string" }, "name": { - "description": "Name of the framework associated with the finding", "type": "string" }, "type": { - "description": "Type of the framework associated with the finding, to specify whether the framework is built-in (pre-defined and immutable) or a custom framework defined by the customer (equivalent to security posture)", "enum": [ "FRAMEWORK_TYPE_UNSPECIFIED", "FRAMEWORK_TYPE_BUILT_IN", "FRAMEWORK_TYPE_CUSTOM" ], "enumDescriptions": [ - "Default value. This value is unused.", - "The framework is a built-in framework if it is created and managed by GCP.", - "The framework is a custom framework if it is created and managed by the user." + "", + "", + "" ], "type": "string" } @@ -4391,11 +3914,9 @@ "type": "object" }, "GcpMetadata": { - "description": "Google Cloud metadata associated with the resource. Only applicable if the finding's cloud provider is Google Cloud.", "id": "GcpMetadata", "properties": { "folders": { - "description": "Output only. Contains a Folder message for each folder in the assets ancestry. The first folder is the deepest nested folder, and the last folder is the folder directly under the Organization.", "items": { "$ref": "GoogleCloudSecuritycenterV2Folder" }, @@ -4403,77 +3924,61 @@ "type": "array" }, "organization": { - "description": "The name of the organization that the resource belongs to.", "type": "string" }, "parent": { - "description": "The full resource name of resource's parent.", "type": "string" }, "parentDisplayName": { - "description": "The human readable name of resource's parent.", "type": "string" }, "project": { - "description": "The full resource name of project that the resource belongs to.", "type": "string" }, "projectDisplayName": { - "description": "The project ID that the resource belongs to.", "type": "string" } }, "type": "object" }, "Geolocation": { - "description": "Represents a geographical location for a given access.", "id": "Geolocation", "properties": { "regionCode": { - "description": "A CLDR.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV1BigQueryExport": { - "description": "Configures how to deliver Findings to BigQuery Instance.", "id": "GoogleCloudSecuritycenterV1BigQueryExport", "properties": { "createTime": { - "description": "Output only. The time at which the BigQuery export was created. This field is set by the server and will be ignored if provided on export on creation.", "format": "google-datetime", "readOnly": true, "type": "string" }, "dataset": { - "description": "The dataset to write findings' updates to. Its format is \"projects/[project_id]/datasets/[bigquery_dataset_id]\". BigQuery Dataset unique ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_).", "type": "string" }, "description": { - "description": "The description of the export (max of 1024 characters).", "type": "string" }, "filter": { - "description": "Expression that defines the filter to apply across create/update events of findings. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes.", "type": "string" }, "mostRecentEditor": { - "description": "Output only. Email address of the user who last edited the BigQuery export. This field is set by the server and will be ignored if provided on export creation or update.", "readOnly": true, "type": "string" }, "name": { - "description": "The relative resource name of this export. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name. Example format: \"organizations/{organization_id}/bigQueryExports/{export_id}\" Example format: \"folders/{folder_id}/bigQueryExports/{export_id}\" Example format: \"projects/{project_id}/bigQueryExports/{export_id}\" This field is provided in responses, and is ignored when provided in create requests.", "type": "string" }, "principal": { - "description": "Output only. The service account that needs permission to create table and upload data to the BigQuery dataset.", "readOnly": true, "type": "string" }, "updateTime": { - "description": "Output only. The most recent time at which the BigQuery export was updated. This field is set by the server and will be ignored if provided on export creation or update.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -4482,23 +3987,18 @@ "type": "object" }, "GoogleCloudSecuritycenterV1Binding": { - "description": "Represents a Kubernetes RoleBinding or ClusterRoleBinding.", "id": "GoogleCloudSecuritycenterV1Binding", "properties": { "name": { - "description": "Name for the binding.", "type": "string" }, "ns": { - "description": "Namespace for the binding.", "type": "string" }, "role": { - "$ref": "Role", - "description": "The Role or ClusterRole referenced by the binding." + "$ref": "Role" }, "subjects": { - "description": "Represents one or more subjects that are bound to the role. Not always available for PATCH requests.", "items": { "$ref": "Subject" }, @@ -4508,37 +4008,29 @@ "type": "object" }, "GoogleCloudSecuritycenterV1BulkMuteFindingsResponse": { - "description": "The response to a BulkMute request. Contains the LRO information.", "id": "GoogleCloudSecuritycenterV1BulkMuteFindingsResponse", "properties": {}, "type": "object" }, "GoogleCloudSecuritycenterV1CustomConfig": { - "description": "Defines the properties in a custom module configuration for Security Health Analytics. Use the custom module configuration to create custom detectors that generate custom findings for resources that you specify.", "id": "GoogleCloudSecuritycenterV1CustomConfig", "properties": { "customOutput": { - "$ref": "GoogleCloudSecuritycenterV1CustomOutputSpec", - "description": "Custom output properties." + "$ref": "GoogleCloudSecuritycenterV1CustomOutputSpec" }, "description": { - "description": "Text that describes the vulnerability or misconfiguration that the custom module detects. This explanation is returned with each finding instance to help investigators understand the detected issue. The text must be enclosed in quotation marks.", "type": "string" }, "predicate": { - "$ref": "Expr", - "description": "The CEL expression to evaluate to produce findings. When the expression evaluates to true against a resource, a finding is generated." + "$ref": "Expr" }, "recommendation": { - "description": "An explanation of the recommended steps that security teams can take to resolve the detected issue. This explanation is returned with each finding generated by this module in the `nextSteps` property of the finding JSON.", "type": "string" }, "resourceSelector": { - "$ref": "GoogleCloudSecuritycenterV1ResourceSelector", - "description": "The resource types that the custom module operates on. Each custom module can specify up to 5 resource types." + "$ref": "GoogleCloudSecuritycenterV1ResourceSelector" }, "severity": { - "description": "The severity to assign to findings generated by the module.", "enum": [ "SEVERITY_UNSPECIFIED", "CRITICAL", @@ -4547,11 +4039,11 @@ "LOW" ], "enumDescriptions": [ - "Unspecified severity.", - "Critical severity.", - "High severity.", - "Medium severity.", - "Low severity." + "", + "", + "", + "", + "" ], "type": "string" } @@ -4559,11 +4051,9 @@ "type": "object" }, "GoogleCloudSecuritycenterV1CustomOutputSpec": { - "description": "A set of optional name-value pairs that define custom source properties to return with each finding that is generated by the custom module. The custom source properties that are defined here are included in the finding JSON under `sourceProperties`.", "id": "GoogleCloudSecuritycenterV1CustomOutputSpec", "properties": { "properties": { - "description": "A list of custom output properties to add to the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV1Property" }, @@ -4573,11 +4063,9 @@ "type": "object" }, "GoogleCloudSecuritycenterV1EffectiveSecurityHealthAnalyticsCustomModule": { - "description": "An EffectiveSecurityHealthAnalyticsCustomModule is the representation of a Security Health Analytics custom module at a specified level of the resource hierarchy: organization, folder, or project. If a custom module is inherited from a parent organization or folder, the value of the `enablementState` property in EffectiveSecurityHealthAnalyticsCustomModule is set to the value that is effective in the parent, instead of `INHERITED`. For example, if the module is enabled in a parent organization or folder, the effective enablement_state for the module in all child folders or projects is also `enabled`. EffectiveSecurityHealthAnalyticsCustomModule is read-only.", "id": "GoogleCloudSecuritycenterV1EffectiveSecurityHealthAnalyticsCustomModule", "properties": { "cloudProvider": { - "description": "The cloud provider of the custom module.", "enum": [ "CLOUD_PROVIDER_UNSPECIFIED", "GOOGLE_CLOUD_PLATFORM", @@ -4585,40 +4073,36 @@ "MICROSOFT_AZURE" ], "enumDescriptions": [ - "Unspecified cloud provider.", - "Google Cloud.", - "Amazon Web Services.", - "Microsoft Azure." + "", + "", + "", + "" ], "type": "string" }, "customConfig": { "$ref": "GoogleCloudSecuritycenterV1CustomConfig", - "description": "Output only. The user-specified configuration for the module.", "readOnly": true }, "displayName": { - "description": "Output only. The display name for the custom module. The name must be between 1 and 128 characters, start with a lowercase letter, and contain alphanumeric characters or underscores only.", "readOnly": true, "type": "string" }, "enablementState": { - "description": "Output only. The effective state of enablement for the module at the given level of the hierarchy.", "enum": [ "ENABLEMENT_STATE_UNSPECIFIED", "ENABLED", "DISABLED" ], "enumDescriptions": [ - "Unspecified enablement state.", - "The module is enabled at the given level.", - "The module is disabled at the given level." + "", + "", + "" ], "readOnly": true, "type": "string" }, "name": { - "description": "Output only. The resource name of the custom module. Its format is \"organizations/{organization}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}\", or \"folders/{folder}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}\", or \"projects/{project}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule}\"", "readOnly": true, "type": "string" } @@ -4626,116 +4110,94 @@ "type": "object" }, "GoogleCloudSecuritycenterV1ExternalSystem": { - "description": "Representation of third party SIEM/SOAR fields within SCC.", "id": "GoogleCloudSecuritycenterV1ExternalSystem", "properties": { "assignees": { - "description": "References primary/secondary etc assignees in the external system.", "items": { "type": "string" }, "type": "array" }, "caseCloseTime": { - "description": "The time when the case was closed, as reported by the external system.", "format": "google-datetime", "type": "string" }, "caseCreateTime": { - "description": "The time when the case was created, as reported by the external system.", "format": "google-datetime", "type": "string" }, "casePriority": { - "description": "The priority of the finding's corresponding case in the external system.", "type": "string" }, "caseSla": { - "description": "The SLA of the finding's corresponding case in the external system.", "format": "google-datetime", "type": "string" }, "caseUri": { - "description": "The link to the finding's corresponding case in the external system.", "type": "string" }, "externalSystemUpdateTime": { - "description": "The time when the case was last updated, as reported by the external system.", "format": "google-datetime", "type": "string" }, "externalUid": { - "description": "The identifier that's used to track the finding's corresponding case in the external system.", "type": "string" }, "name": { - "description": "Full resource name of the external system, for example: \"organizations/1234/sources/5678/findings/123456/externalSystems/jira\", \"folders/1234/sources/5678/findings/123456/externalSystems/jira\", \"projects/1234/sources/5678/findings/123456/externalSystems/jira\"", "type": "string" }, "status": { - "description": "The most recent status of the finding's corresponding case, as reported by the external system.", "type": "string" }, "ticketInfo": { - "$ref": "TicketInfo", - "description": "Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding." + "$ref": "TicketInfo" } }, "type": "object" }, "GoogleCloudSecuritycenterV1MuteConfig": { - "description": "A mute config is a Cloud SCC resource that contains the configuration to mute create/update events of findings.", "id": "GoogleCloudSecuritycenterV1MuteConfig", "properties": { "createTime": { - "description": "Output only. The time at which the mute config was created. This field is set by the server and will be ignored if provided on config creation.", "format": "google-datetime", "readOnly": true, "type": "string" }, "description": { - "description": "A description of the mute config.", "type": "string" }, "displayName": { "deprecated": true, - "description": "The human readable name to be displayed for the mute config.", "type": "string" }, "expiryTime": { - "description": "Optional. The expiry of the mute config. Only applicable for dynamic configs. If the expiry is set, when the config expires, it is removed from all findings.", "format": "google-datetime", "type": "string" }, "filter": { - "description": "Required. An expression that defines the filter to apply across create/update events of findings. While creating a filter string, be mindful of the scope in which the mute configuration is being created. E.g., If a filter contains project = X but is created under the project = Y scope, it might not match any findings. The following field and operator combinations are supported: * severity: `=`, `:` * category: `=`, `:` * resource.name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.folders.resource_folder: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.type: `=`, `:` * finding_class: `=`, `:` * indicator.ip_addresses: `=`, `:` * indicator.domains: `=`, `:`", "type": "string" }, "mostRecentEditor": { - "description": "Output only. Email address of the user who last edited the mute config. This field is set by the server and will be ignored if provided on config creation or update.", "readOnly": true, "type": "string" }, "name": { - "description": "This field will be ignored if provided on config creation. Format `organizations/{organization}/muteConfigs/{mute_config}` `folders/{folder}/muteConfigs/{mute_config}` `projects/{project}/muteConfigs/{mute_config}` `organizations/{organization}/locations/global/muteConfigs/{mute_config}` `folders/{folder}/locations/global/muteConfigs/{mute_config}` `projects/{project}/locations/global/muteConfigs/{mute_config}`", "type": "string" }, "type": { - "description": "Optional. The type of the mute config, which determines what type of mute state the config affects. The static mute state takes precedence over the dynamic mute state. Immutable after creation. STATIC by default if not set during creation.", "enum": [ "MUTE_CONFIG_TYPE_UNSPECIFIED", "STATIC", "DYNAMIC" ], "enumDescriptions": [ - "Unused.", - "A static mute config, which sets the static mute state of future matching findings to muted. Once the static mute state has been set, finding or config modifications will not affect the state.", - "A dynamic mute config, which is applied to existing and future matching findings, setting their dynamic mute state to \"muted\". If the config is updated or deleted, or a matching finding is updated, such that the finding doesn't match the config, the config will be removed from the finding, and the finding's dynamic mute state may become \"unmuted\" (unless other configs still match)." + "", + "", + "" ], "type": "string" }, "updateTime": { - "description": "Output only. The most recent time at which the mute config was updated. This field is set by the server and will be ignored if provided on config creation or update.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -4744,69 +4206,54 @@ "type": "object" }, "GoogleCloudSecuritycenterV1NotificationMessage": { - "description": "Cloud SCC's Notification", "id": "GoogleCloudSecuritycenterV1NotificationMessage", "properties": { "finding": { - "$ref": "Finding", - "description": "If it's a Finding based notification config, this field will be populated." + "$ref": "Finding" }, "notificationConfigName": { - "description": "Name of the notification config that generated current notification.", "type": "string" }, "resource": { - "$ref": "GoogleCloudSecuritycenterV1Resource", - "description": "The Cloud resource tied to this notification's Finding." + "$ref": "GoogleCloudSecuritycenterV1Resource" } }, "type": "object" }, "GoogleCloudSecuritycenterV1Property": { - "description": "An individual name-value pair that defines a custom source property.", "id": "GoogleCloudSecuritycenterV1Property", "properties": { "name": { - "description": "Name of the property for the custom output.", "type": "string" }, "valueExpression": { - "$ref": "Expr", - "description": "The CEL expression for the custom output. A resource property can be specified to return the value of the property or a text string enclosed in quotation marks." + "$ref": "Expr" } }, "type": "object" }, "GoogleCloudSecuritycenterV1Resource": { - "description": "Information related to the Google Cloud resource.", "id": "GoogleCloudSecuritycenterV1Resource", "properties": { "adcApplication": { - "$ref": "AdcApplication", - "description": "The ADC application associated with the finding." + "$ref": "AdcApplication" }, "adcApplicationTemplate": { - "$ref": "AdcApplicationTemplateRevision", - "description": "The ADC template associated with the finding." + "$ref": "AdcApplicationTemplateRevision" }, "adcSharedTemplate": { - "$ref": "AdcSharedTemplateRevision", - "description": "The ADC shared template associated with the finding." + "$ref": "AdcSharedTemplateRevision" }, "application": { - "$ref": "GoogleCloudSecuritycenterV1ResourceApplication", - "description": "The App Hub application this resource belongs to." + "$ref": "GoogleCloudSecuritycenterV1ResourceApplication" }, "awsMetadata": { - "$ref": "AwsMetadata", - "description": "The AWS metadata associated with the finding." + "$ref": "AwsMetadata" }, "azureMetadata": { - "$ref": "AzureMetadata", - "description": "The Azure metadata associated with the finding." + "$ref": "AzureMetadata" }, "cloudProvider": { - "description": "Indicates which cloud provider the resource resides in.", "enum": [ "CLOUD_PROVIDER_UNSPECIFIED", "GOOGLE_CLOUD_PLATFORM", @@ -4814,19 +4261,17 @@ "MICROSOFT_AZURE" ], "enumDescriptions": [ - "The cloud provider is unspecified.", - "The cloud provider is Google Cloud.", - "The cloud provider is Amazon Web Services.", - "The cloud provider is Microsoft Azure." + "", + "", + "", + "" ], "type": "string" }, "displayName": { - "description": "The human readable name of the resource.", "type": "string" }, "folders": { - "description": "Output only. Contains a Folder message for each folder in the assets ancestry. The first folder is the deepest nested folder, and the last folder is the folder directly under the Organization.", "items": { "$ref": "Folder" }, @@ -4834,95 +4279,75 @@ "type": "array" }, "location": { - "description": "The region or location of the service (if applicable).", "type": "string" }, "name": { - "description": "The full resource name of the resource. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", "type": "string" }, "organization": { - "description": "Indicates which organization or tenant in the cloud provider the finding applies to.", "type": "string" }, "parent": { - "description": "The full resource name of resource's parent.", "type": "string" }, "parentDisplayName": { - "description": "The human readable name of resource's parent.", "type": "string" }, "project": { - "description": "The full resource name of project that the resource belongs to.", "type": "string" }, "projectDisplayName": { - "description": "The project ID that the resource belongs to.", "type": "string" }, "resourcePath": { - "$ref": "ResourcePath", - "description": "Provides the path to the resource within the resource hierarchy." + "$ref": "ResourcePath" }, "resourcePathString": { - "description": "A string representation of the resource path. For Google Cloud, it has the format of `organizations/{organization_id}/folders/{folder_id}/folders/{folder_id}/projects/{project_id}` where there can be any number of folders. For AWS, it has the format of `org/{organization_id}/ou/{organizational_unit_id}/ou/{organizational_unit_id}/account/{account_id}` where there can be any number of organizational units. For Azure, it has the format of `mg/{management_group_id}/mg/{management_group_id}/subscription/{subscription_id}/rg/{resource_group_name}` where there can be any number of management groups.", "type": "string" }, "service": { - "description": "The parent service or product from which the resource is provided, for example, GKE or SNS.", "type": "string" }, "type": { - "description": "The full resource type of the resource.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV1ResourceApplication": { - "description": "The App Hub Application associated with the finding's resource.", "id": "GoogleCloudSecuritycenterV1ResourceApplication", "properties": { "attributes": { - "$ref": "GoogleCloudSecuritycenterV1ResourceApplicationAttributes", - "description": "Consumer provided attributes for the application" + "$ref": "GoogleCloudSecuritycenterV1ResourceApplicationAttributes" }, "name": { - "description": "The resource name of an Application. Format: `projects/{host-project-id}/locations/{location}/applications/{application-id}`", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV1ResourceApplicationAttributes": { - "description": "Consumer provided attributes for the application", "id": "GoogleCloudSecuritycenterV1ResourceApplicationAttributes", "properties": { "businessOwners": { - "description": "Business team that ensures user needs are met and value is delivered", "items": { "$ref": "GoogleCloudSecuritycenterV1ResourceApplicationAttributesContactInfo" }, "type": "array" }, "criticality": { - "$ref": "GoogleCloudSecuritycenterV1ResourceApplicationAttributesCriticality", - "description": "User-defined criticality information." + "$ref": "GoogleCloudSecuritycenterV1ResourceApplicationAttributesCriticality" }, "developerOwners": { - "description": "Developer team that owns development and coding.", "items": { "$ref": "GoogleCloudSecuritycenterV1ResourceApplicationAttributesContactInfo" }, "type": "array" }, "environment": { - "$ref": "GoogleCloudSecuritycenterV1ResourceApplicationAttributesEnvironment", - "description": "User-defined environment information." + "$ref": "GoogleCloudSecuritycenterV1ResourceApplicationAttributesEnvironment" }, "operatorOwners": { - "description": "Operator team that ensures runtime and operations.", "items": { "$ref": "GoogleCloudSecuritycenterV1ResourceApplicationAttributesContactInfo" }, @@ -4932,22 +4357,18 @@ "type": "object" }, "GoogleCloudSecuritycenterV1ResourceApplicationAttributesContactInfo": { - "description": "Contact information of stakeholders.", "id": "GoogleCloudSecuritycenterV1ResourceApplicationAttributesContactInfo", "properties": { "email": { - "description": "Email address of the contacts.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV1ResourceApplicationAttributesCriticality": { - "description": "Criticality of the Application, Service, or Workload", "id": "GoogleCloudSecuritycenterV1ResourceApplicationAttributesCriticality", "properties": { "type": { - "description": "Criticality Type.", "enum": [ "CRITICALITY_TYPE_UNSPECIFIED", "MISSION_CRITICAL", @@ -4956,11 +4377,11 @@ "LOW" ], "enumDescriptions": [ - "Unspecified type.", - "Mission critical service, application or workload.", - "High impact.", - "Medium impact.", - "Low impact." + "", + "", + "", + "", + "" ], "type": "string" } @@ -4968,11 +4389,9 @@ "type": "object" }, "GoogleCloudSecuritycenterV1ResourceApplicationAttributesEnvironment": { - "description": "Environment of the Application, Service, or Workload", "id": "GoogleCloudSecuritycenterV1ResourceApplicationAttributesEnvironment", "properties": { "type": { - "description": "Environment Type.", "enum": [ "ENVIRONMENT_TYPE_UNSPECIFIED", "PRODUCTION", @@ -4981,11 +4400,11 @@ "DEVELOPMENT" ], "enumDescriptions": [ - "Unspecified type.", - "Production environment.", - "Staging environment.", - "Test environment.", - "Development environment." + "", + "", + "", + "", + "" ], "type": "string" } @@ -4993,11 +4412,9 @@ "type": "object" }, "GoogleCloudSecuritycenterV1ResourceSelector": { - "description": "Resource for selecting resource type.", "id": "GoogleCloudSecuritycenterV1ResourceSelector", "properties": { "resourceTypes": { - "description": "The resource types to run the detector on.", "items": { "type": "string" }, @@ -5007,11 +4424,9 @@ "type": "object" }, "GoogleCloudSecuritycenterV1ResourceValueConfig": { - "description": "A resource value configuration (RVC) is a mapping configuration of user's resources to resource values. Used in Attack path simulations.", "id": "GoogleCloudSecuritycenterV1ResourceValueConfig", "properties": { "cloudProvider": { - "description": "Cloud provider this configuration applies to", "enum": [ "CLOUD_PROVIDER_UNSPECIFIED", "GOOGLE_CLOUD_PLATFORM", @@ -5019,40 +4434,34 @@ "MICROSOFT_AZURE" ], "enumDescriptions": [ - "The cloud provider is unspecified.", - "The cloud provider is Google Cloud.", - "The cloud provider is Amazon Web Services.", - "The cloud provider is Microsoft Azure." + "", + "", + "", + "" ], "type": "string" }, "createTime": { - "description": "Output only. Timestamp this resource value configuration was created.", "format": "google-datetime", "readOnly": true, "type": "string" }, "description": { - "description": "Description of the resource value configuration.", "type": "string" }, "name": { - "description": "Name for the resource value configuration", "type": "string" }, "resourceLabelsSelector": { "additionalProperties": { "type": "string" }, - "description": "List of resource labels to search for, evaluated with `AND`. For example, `\"resource_labels_selector\": {\"key\": \"value\", \"env\": \"prod\"}` will match resources with labels \"key\": \"value\" `AND` \"env\": \"prod\" https://cloud.google.com/resource-manager/docs/creating-managing-labels", "type": "object" }, "resourceType": { - "description": "Apply resource_value only to resources that match resource_type. resource_type will be checked with `AND` of other resources. For example, \"storage.googleapis.com/Bucket\" with resource_value \"HIGH\" will apply \"HIGH\" value only to \"storage.googleapis.com/Bucket\" resources.", "type": "string" }, "resourceValue": { - "description": "Required. Resource value level this expression represents", "enum": [ "RESOURCE_VALUE_UNSPECIFIED", "HIGH", @@ -5061,31 +4470,27 @@ "NONE" ], "enumDescriptions": [ - "Unspecific value", - "High resource value", - "Medium resource value", - "Low resource value", - "No resource value, e.g. ignore these resources" + "", + "", + "", + "", + "" ], "type": "string" }, "scope": { - "description": "Project or folder to scope this configuration to. For example, \"project/456\" would apply this configuration only to resources in \"project/456\" scope will be checked with `AND` of other resources.", "type": "string" }, "sensitiveDataProtectionMapping": { - "$ref": "GoogleCloudSecuritycenterV1SensitiveDataProtectionMapping", - "description": "A mapping of the sensitivity on Sensitive Data Protection finding to resource values. This mapping can only be used in combination with a resource_type that is related to BigQuery, e.g. \"bigquery.googleapis.com/Dataset\"." + "$ref": "GoogleCloudSecuritycenterV1SensitiveDataProtectionMapping" }, "tagValues": { - "description": "Required. Tag values combined with `AND` to check against. For Google Cloud resources, they are tag value IDs in the form of \"tagValues/123\". Example: `[ \"tagValues/123\", \"tagValues/456\", \"tagValues/789\" ]` https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing", "items": { "type": "string" }, "type": "array" }, "updateTime": { - "description": "Output only. Timestamp this resource value configuration was last updated.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -5094,16 +4499,13 @@ "type": "object" }, "GoogleCloudSecuritycenterV1RunAssetDiscoveryResponse": { - "description": "Response of asset discovery run", "id": "GoogleCloudSecuritycenterV1RunAssetDiscoveryResponse", "properties": { "duration": { - "description": "The duration between asset discovery run start and end", "format": "google-duration", "type": "string" }, "state": { - "description": "The state of an asset discovery run.", "enum": [ "STATE_UNSPECIFIED", "COMPLETED", @@ -5111,10 +4513,10 @@ "TERMINATED" ], "enumDescriptions": [ - "Asset discovery run state was unspecified.", - "Asset discovery run completed successfully.", - "Asset discovery run was cancelled with tasks still pending, as another run for the same organization was started with a higher priority.", - "Asset discovery run was killed and terminated." + "", + "", + "", + "" ], "type": "string" } @@ -5122,16 +4524,13 @@ "type": "object" }, "GoogleCloudSecuritycenterV1SecurityHealthAnalyticsCustomModule": { - "description": "Represents an instance of a Security Health Analytics custom module, including its full module name, display name, enablement state, and last updated time. You can create a custom module at the organization, folder, or project level. Custom modules that you create at the organization or folder level are inherited by the child folders and projects.", "id": "GoogleCloudSecuritycenterV1SecurityHealthAnalyticsCustomModule", "properties": { "ancestorModule": { - "description": "Output only. If empty, indicates that the custom module was created in the organization, folder, or project in which you are viewing the custom module. Otherwise, `ancestor_module` specifies the organization or folder from which the custom module is inherited.", "readOnly": true, "type": "string" }, "cloudProvider": { - "description": "The cloud provider of the custom module.", "enum": [ "CLOUD_PROVIDER_UNSPECIFIED", "GOOGLE_CLOUD_PLATFORM", @@ -5139,23 +4538,20 @@ "MICROSOFT_AZURE" ], "enumDescriptions": [ - "Unspecified cloud provider.", - "Google Cloud.", - "Amazon Web Services (AWS).", - "Microsoft Azure." + "", + "", + "", + "" ], "type": "string" }, "customConfig": { - "$ref": "GoogleCloudSecuritycenterV1CustomConfig", - "description": "The user specified custom configuration for the module." + "$ref": "GoogleCloudSecuritycenterV1CustomConfig" }, "displayName": { - "description": "The display name of the Security Health Analytics custom module. This display name becomes the finding category for all findings that are returned by this custom module. The display name must be between 1 and 128 characters, start with a lowercase letter, and contain alphanumeric characters or underscores only.", "type": "string" }, "enablementState": { - "description": "The enablement state of the custom module.", "enum": [ "ENABLEMENT_STATE_UNSPECIFIED", "ENABLED", @@ -5163,24 +4559,21 @@ "INHERITED" ], "enumDescriptions": [ - "Unspecified enablement state.", - "The module is enabled at the given CRM resource.", - "The module is disabled at the given CRM resource.", - "State is inherited from an ancestor module. The module will either be effectively ENABLED or DISABLED based on its closest non-inherited ancestor module in the CRM hierarchy." + "", + "", + "", + "" ], "type": "string" }, "lastEditor": { - "description": "Output only. The editor that last updated the custom module.", "readOnly": true, "type": "string" }, "name": { - "description": "Immutable. The resource name of the custom module. Its format is \"organizations/{organization}/securityHealthAnalyticsSettings/customModules/{customModule}\", or \"folders/{folder}/securityHealthAnalyticsSettings/customModules/{customModule}\", or \"projects/{project}/securityHealthAnalyticsSettings/customModules/{customModule}\" The id {customModule} is server-generated and is not user settable. It will be a numeric id containing 1-20 digits.", "type": "string" }, "updateTime": { - "description": "Output only. The time at which the custom module was last updated.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -5189,11 +4582,9 @@ "type": "object" }, "GoogleCloudSecuritycenterV1SensitiveDataProtectionMapping": { - "description": "Resource value mapping for Sensitive Data Protection findings. If any of these mappings have a resource value that is not unspecified, the resource_value field will be ignored when reading this configuration.", "id": "GoogleCloudSecuritycenterV1SensitiveDataProtectionMapping", "properties": { "highSensitivityMapping": { - "description": "Resource value mapping for high-sensitivity Sensitive Data Protection findings", "enum": [ "RESOURCE_VALUE_UNSPECIFIED", "HIGH", @@ -5202,16 +4593,15 @@ "NONE" ], "enumDescriptions": [ - "Unspecific value", - "High resource value", - "Medium resource value", - "Low resource value", - "No resource value, e.g. ignore these resources" + "", + "", + "", + "", + "" ], "type": "string" }, "mediumSensitivityMapping": { - "description": "Resource value mapping for medium-sensitivity Sensitive Data Protection findings", "enum": [ "RESOURCE_VALUE_UNSPECIFIED", "HIGH", @@ -5220,11 +4610,11 @@ "NONE" ], "enumDescriptions": [ - "Unspecific value", - "High resource value", - "Medium resource value", - "Low resource value", - "No resource value, e.g. ignore these resources" + "", + "", + "", + "", + "" ], "type": "string" } @@ -5232,16 +4622,13 @@ "type": "object" }, "GoogleCloudSecuritycenterV1beta1RunAssetDiscoveryResponse": { - "description": "Response of asset discovery run", "id": "GoogleCloudSecuritycenterV1beta1RunAssetDiscoveryResponse", "properties": { "duration": { - "description": "The duration between asset discovery run start and end", "format": "google-duration", "type": "string" }, "state": { - "description": "The state of an asset discovery run.", "enum": [ "STATE_UNSPECIFIED", "COMPLETED", @@ -5249,10 +4636,10 @@ "TERMINATED" ], "enumDescriptions": [ - "Asset discovery run state was unspecified.", - "Asset discovery run completed successfully.", - "Asset discovery run was cancelled with tasks still pending, as another run for the same organization was started with a higher priority.", - "Asset discovery run was killed and terminated." + "", + "", + "", + "" ], "type": "string" } @@ -5260,50 +4647,39 @@ "type": "object" }, "GoogleCloudSecuritycenterV1p1beta1Finding": { - "description": "Security Command Center finding. A finding is a record of assessment data (security, risk, health or privacy) ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, an XSS vulnerability in an App Engine application is a finding.", "id": "GoogleCloudSecuritycenterV1p1beta1Finding", "properties": { "canonicalName": { - "description": "The canonical name of the finding. It's either \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}\", \"folders/{folder_id}/sources/{source_id}/findings/{finding_id}\" or \"projects/{project_number}/sources/{source_id}/findings/{finding_id}\", depending on the closest CRM ancestor of the resource associated with the finding.", "type": "string" }, "category": { - "description": "The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: \"XSS_FLASH_INJECTION\"", "type": "string" }, "createTime": { - "description": "The time at which the finding was created in Security Command Center.", "format": "google-datetime", "type": "string" }, "eventTime": { - "description": "The time at which the event took place, or when an update to the finding occurred. For example, if the finding represents an open firewall it would capture the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding were to be resolved afterward, this time would reflect when the finding was resolved. Must not be set to a value greater than the current timestamp.", "format": "google-datetime", "type": "string" }, "externalUri": { - "description": "The URI that, if available, points to a web page outside of Security Command Center where additional information about the finding can be found. This field is guaranteed to be either empty or a well formed URL.", "type": "string" }, "name": { - "description": "The relative resource name of this finding. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}\"", "type": "string" }, "parent": { - "description": "The relative resource name of the source the finding belongs to. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name This field is immutable after creation time. For example: \"organizations/{organization_id}/sources/{source_id}\"", "type": "string" }, "resourceName": { - "description": "For findings on Google Cloud resources, the full resource name of the Google Cloud resource this finding is for. See: https://cloud.google.com/apis/design/resource_names#full_resource_name When the finding is for a non-Google Cloud resource, the resourceName can be a customer or partner defined string. This field is immutable after creation time.", "type": "string" }, "securityMarks": { "$ref": "GoogleCloudSecuritycenterV1p1beta1SecurityMarks", - "description": "Output only. User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the finding.", "readOnly": true }, "severity": { - "description": "The severity of the finding. This field is managed by the source that writes the finding.", "enum": [ "SEVERITY_UNSPECIFIED", "CRITICAL", @@ -5312,11 +4688,11 @@ "LOW" ], "enumDescriptions": [ - "No severity specified. The default value.", - "Critical severity.", - "High severity.", - "Medium severity.", - "Low severity." + "", + "", + "", + "", + "" ], "type": "string" }, @@ -5324,20 +4700,18 @@ "additionalProperties": { "type": "any" }, - "description": "Source specific properties. These properties are managed by the source that writes the finding. The key names in the source_properties map must be between 1 and 255 characters, and must start with a letter and contain alphanumeric characters or underscores only.", "type": "object" }, "state": { - "description": "The state of the finding.", "enum": [ "STATE_UNSPECIFIED", "ACTIVE", "INACTIVE" ], "enumDescriptions": [ - "Unspecified state.", - "The finding requires attention and has not been addressed yet.", - "The finding has been fixed, triaged as a non-issue or otherwise addressed and is no longer active." + "", + "", + "" ], "type": "string" } @@ -5345,45 +4719,36 @@ "type": "object" }, "GoogleCloudSecuritycenterV1p1beta1Folder": { - "description": "Message that contains the resource name and display name of a folder resource.", "id": "GoogleCloudSecuritycenterV1p1beta1Folder", "properties": { "resourceFolder": { - "description": "Full resource name of this folder. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", "type": "string" }, "resourceFolderDisplayName": { - "description": "The user defined display name for this folder.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV1p1beta1NotificationMessage": { - "description": "Security Command Center's Notification", "id": "GoogleCloudSecuritycenterV1p1beta1NotificationMessage", "properties": { "finding": { - "$ref": "GoogleCloudSecuritycenterV1p1beta1Finding", - "description": "If it's a Finding based notification config, this field will be populated." + "$ref": "GoogleCloudSecuritycenterV1p1beta1Finding" }, "notificationConfigName": { - "description": "Name of the notification config that generated current notification.", "type": "string" }, "resource": { - "$ref": "GoogleCloudSecuritycenterV1p1beta1Resource", - "description": "The Cloud resource tied to the notification." + "$ref": "GoogleCloudSecuritycenterV1p1beta1Resource" } }, "type": "object" }, "GoogleCloudSecuritycenterV1p1beta1Resource": { - "description": "Information related to the Google Cloud resource.", "id": "GoogleCloudSecuritycenterV1p1beta1Resource", "properties": { "folders": { - "description": "Output only. Contains a Folder message for each folder in the assets ancestry. The first folder is the deepest nested folder, and the last folder is the folder directly under the Organization.", "items": { "$ref": "GoogleCloudSecuritycenterV1p1beta1Folder" }, @@ -5391,39 +4756,31 @@ "type": "array" }, "name": { - "description": "The full resource name of the resource. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", "type": "string" }, "parent": { - "description": "The full resource name of resource's parent.", "type": "string" }, "parentDisplayName": { - "description": "The human readable name of resource's parent.", "type": "string" }, "project": { - "description": "The full resource name of project that the resource belongs to.", "type": "string" }, "projectDisplayName": { - "description": "The project id that the resource belongs to.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV1p1beta1RunAssetDiscoveryResponse": { - "description": "Response of asset discovery run", "id": "GoogleCloudSecuritycenterV1p1beta1RunAssetDiscoveryResponse", "properties": { "duration": { - "description": "The duration between asset discovery run start and end", "format": "google-duration", "type": "string" }, "state": { - "description": "The state of an asset discovery run.", "enum": [ "STATE_UNSPECIFIED", "COMPLETED", @@ -5431,10 +4788,10 @@ "TERMINATED" ], "enumDescriptions": [ - "Asset discovery run state was unspecified.", - "Asset discovery run completed successfully.", - "Asset discovery run was cancelled with tasks still pending, as another run for the same organization was started with a higher priority.", - "Asset discovery run was killed and terminated." + "", + "", + "", + "" ], "type": "string" } @@ -5442,122 +4799,96 @@ "type": "object" }, "GoogleCloudSecuritycenterV1p1beta1SecurityMarks": { - "description": "User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization.", "id": "GoogleCloudSecuritycenterV1p1beta1SecurityMarks", "properties": { "canonicalName": { - "description": "The canonical name of the marks. Examples: \"organizations/{organization_id}/assets/{asset_id}/securityMarks\" \"folders/{folder_id}/assets/{asset_id}/securityMarks\" \"projects/{project_number}/assets/{asset_id}/securityMarks\" \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks\" \"folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks\" \"projects/{project_number}/sources/{source_id}/findings/{finding_id}/securityMarks\"", "type": "string" }, "marks": { "additionalProperties": { "type": "string" }, - "description": "Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive)", "type": "object" }, "name": { - "description": "The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: \"organizations/{organization_id}/assets/{asset_id}/securityMarks\" \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks\".", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Access": { - "description": "Represents an access event.", "id": "GoogleCloudSecuritycenterV2Access", "properties": { "callerIp": { - "description": "Caller's IP address, such as \"1.1.1.1\".", "type": "string" }, "callerIpGeo": { - "$ref": "GoogleCloudSecuritycenterV2Geolocation", - "description": "The caller IP's geolocation, which identifies where the call came from." + "$ref": "GoogleCloudSecuritycenterV2Geolocation" }, "methodName": { - "description": "The method that the service account called, e.g. \"SetIamPolicy\".", "type": "string" }, "principalEmail": { - "description": "Associated email, such as \"foo@google.com\". The email address of the authenticated user or a service account acting on behalf of a third party principal making the request. For third party identity callers, the `principal_subject` field is populated instead of this field. For privacy reasons, the principal email address is sometimes redacted. For more information, see [Caller identities in audit logs](https://cloud.google.com/logging/docs/audit#user-id).", "type": "string" }, "principalSubject": { - "description": "A string that represents the principal_subject that is associated with the identity. Unlike `principal_email`, `principal_subject` supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format is `principal://iam.googleapis.com/{identity pool name}/subject/{subject}`. Some GKE identities, such as GKE_WORKLOAD, FREEFORM, and GKE_HUB_WORKLOAD, still use the legacy format `serviceAccount:{identity pool name}[{subject}]`.", "type": "string" }, "serviceAccountDelegationInfo": { - "description": "The identity delegation history of an authenticated service account that made the request. The `serviceAccountDelegationInfo[]` object contains information about the real authorities that try to access Google Cloud resources by delegating on a service account. When multiple authorities are present, they are guaranteed to be sorted based on the original ordering of the identity delegation events.", "items": { "$ref": "GoogleCloudSecuritycenterV2ServiceAccountDelegationInfo" }, "type": "array" }, "serviceAccountKeyName": { - "description": "The name of the service account key that was used to create or exchange credentials when authenticating the service account that made the request. This is a scheme-less URI full resource name. For example: \"//iam.googleapis.com/projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}\". ", "type": "string" }, "serviceName": { - "description": "This is the API service that the service account made a call to, e.g. \"iam.googleapis.com\"", "type": "string" }, "userAgent": { - "description": "The caller's user agent string associated with the finding.", "type": "string" }, "userAgentFamily": { - "description": "Type of user agent associated with the finding. For example, an operating system shell or an embedded or standalone application.", "type": "string" }, "userName": { - "description": "A string that represents a username. The username provided depends on the type of the finding and is likely not an IAM principal. For example, this can be a system username if the finding is related to a virtual machine, or it can be an application login username.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AccessReview": { - "description": "Conveys information about a Kubernetes access review (such as one returned by a [`kubectl auth can-i`](https://kubernetes.io/docs/reference/access-authn-authz/authorization/#checking-api-access) command) that was involved in a finding.", "id": "GoogleCloudSecuritycenterV2AccessReview", "properties": { "group": { - "description": "The API group of the resource. \"*\" means all.", "type": "string" }, "name": { - "description": "The name of the resource being requested. Empty means all.", "type": "string" }, "ns": { - "description": "Namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces. Both are represented by \"\" (empty).", "type": "string" }, "resource": { - "description": "The optional resource type requested. \"*\" means all.", "type": "string" }, "subresource": { - "description": "The optional subresource type.", "type": "string" }, "verb": { - "description": "A Kubernetes resource API verb, like get, list, watch, create, update, delete, proxy. \"*\" means all.", "type": "string" }, "version": { - "description": "The API version of the resource. \"*\" means all.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AdaptiveProtection": { - "description": "Information about [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-protection).", "id": "GoogleCloudSecuritycenterV2AdaptiveProtection", "properties": { "confidence": { - "description": "A score of 0 means that there is low confidence that the detected event is an actual attack. A score of 1 means that there is high confidence that the detected event is an attack. See the [Adaptive Protection documentation](https://cloud.google.com/armor/docs/adaptive-protection-overview#configure-alert-tuning) for further explanation.", "format": "double", "type": "number" } @@ -5565,48 +4896,39 @@ "type": "object" }, "GoogleCloudSecuritycenterV2AdcApplication": { - "description": "Represents an ADC application associated with the finding.", "id": "GoogleCloudSecuritycenterV2AdcApplication", "properties": { "attributes": { - "$ref": "GoogleCloudSecuritycenterV2ResourceApplicationAttributes", - "description": "Consumer provided attributes for the AppHub application." + "$ref": "GoogleCloudSecuritycenterV2ResourceApplicationAttributes" }, "name": { - "description": "The resource name of an ADC Application. Format: projects/{project}/locations/{location}/spaces/{space}/applications/{application}", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AdcApplicationTemplateRevision": { - "description": "Represents an ADC template associated with the finding.", "id": "GoogleCloudSecuritycenterV2AdcApplicationTemplateRevision", "properties": { "name": { - "description": "The resource name of an ADC Application Template Revision. Format: projects/{project}/locations/{location}/spaces/{space}/applicationTemplates/{application_template}/revisions/{revision}", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AdcSharedTemplateRevision": { - "description": "Represents an ADC shared template associated with the finding.", "id": "GoogleCloudSecuritycenterV2AdcSharedTemplateRevision", "properties": { "name": { - "description": "The resource name of an ADC Shared Template Revision. Format: projects/{project}/locations/{location}/spaces/{space}/applicationTemplates/{application_template}/revisions/{revision}", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AffectedResources": { - "description": "Details about resources affected by this finding.", "id": "GoogleCloudSecuritycenterV2AffectedResources", "properties": { "count": { - "description": "The count of resources affected by the finding.", "format": "int64", "type": "string" } @@ -5614,20 +4936,16 @@ "type": "object" }, "GoogleCloudSecuritycenterV2AgentDataAccessEvent": { - "description": "Details about a data access attempt made by an agent principal not authorized under applicable data security policy.", "id": "GoogleCloudSecuritycenterV2AgentDataAccessEvent", "properties": { "eventId": { - "description": "Unique identifier for data access event.", "type": "string" }, "eventTime": { - "description": "Timestamp of data access event.", "format": "google-datetime", "type": "string" }, "operation": { - "description": "The operation performed by the principal to access the data.", "enum": [ "OPERATION_UNSPECIFIED", "READ", @@ -5635,26 +4953,23 @@ "COPY" ], "enumDescriptions": [ - "The operation is unspecified.", - "Represents a read operation.", - "Represents a move operation.", - "Represents a copy operation." + "", + "", + "", + "" ], "type": "string" }, "principalSubject": { - "description": "The agent principal that accessed the data.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AiModel": { - "description": "Contains information about the AI model associated with the finding.", "id": "GoogleCloudSecuritycenterV2AiModel", "properties": { "deploymentPlatform": { - "description": "The platform on which the model is deployed.", "enum": [ "DEPLOYMENT_PLATFORM_UNSPECIFIED", "VERTEX_AI", @@ -5663,51 +4978,42 @@ "FINE_TUNED_MODEL" ], "enumDescriptions": [ - "Unspecified deployment platform.", - "Vertex AI.", - "Google Kubernetes Engine.", - "Google Compute Engine.", - "Fine tuned model." + "", + "", + "", + "", + "" ], "type": "string" }, "displayName": { - "description": "The user defined display name of model. Ex. baseline-classification-model", "type": "string" }, "domain": { - "description": "The domain of the model, for example, “image-classification”.", "type": "string" }, "library": { - "description": "The name of the model library, for example, “transformers”.", "type": "string" }, "location": { - "description": "The region in which the model is used, for example, “us-central1”.", "type": "string" }, "name": { - "description": "The name of the AI model, for example, \"gemini:1.0.0\".", "type": "string" }, "publisher": { - "description": "The publisher of the model, for example, “google” or “nvidia”.", "type": "string" }, "usageCategory": { - "description": "The purpose of the model, for example, \"Inteference\" or \"Training\".", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Allowed": { - "description": "Allowed IP rule.", "id": "GoogleCloudSecuritycenterV2Allowed", "properties": { "ipRules": { - "description": "Optional. Optional list of allowed IP rules.", "items": { "$ref": "GoogleCloudSecuritycenterV2IpRule" }, @@ -5717,59 +5023,49 @@ "type": "object" }, "GoogleCloudSecuritycenterV2Application": { - "description": "Represents an application associated with a finding.", "id": "GoogleCloudSecuritycenterV2Application", "properties": { "baseUri": { - "description": "The base URI that identifies the network location of the application in which the vulnerability was detected. For example, `http://example.com`.", "type": "string" }, "fullUri": { - "description": "The full URI with payload that could be used to reproduce the vulnerability. For example, `http://example.com?p=aMmYgI6H`.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2ArtifactGuardPolicies": { - "description": "Represents the result of evaluating artifact guard policies.", "id": "GoogleCloudSecuritycenterV2ArtifactGuardPolicies", "properties": { "failingPolicies": { - "description": "A list of failing policies.", "items": { "$ref": "GoogleCloudSecuritycenterV2ArtifactGuardPolicy" }, "type": "array" }, "resourceId": { - "description": "The ID of the resource that has policies configured for it.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2ArtifactGuardPolicy": { - "description": "Represents an artifact guard policy.", "id": "GoogleCloudSecuritycenterV2ArtifactGuardPolicy", "properties": { "failureReason": { - "description": "The reason for the policy failure, for example, \"severity=HIGH AND max_vuln_count=2\".", "type": "string" }, "policyId": { - "description": "The ID of the failing policy, for example, \"organizations/3392779/locations/global/policies/prod-policy\".", "type": "string" }, "type": { - "description": "The type of the policy evaluation.", "enum": [ "ARTIFACT_GUARD_POLICY_TYPE_UNSPECIFIED", "VULNERABILITY" ], "enumDescriptions": [ - "Default value. This value is unused.", - "Vulnerability type." + "", + "" ], "type": "string" } @@ -5777,32 +5073,26 @@ "type": "object" }, "GoogleCloudSecuritycenterV2Attack": { - "description": "Information about DDoS attack volume and classification.", "id": "GoogleCloudSecuritycenterV2Attack", "properties": { "classification": { - "description": "Type of attack, for example, 'SYN-flood', 'NTP-udp', or 'CHARGEN-udp'.", "type": "string" }, "volumeBps": { "deprecated": true, - "description": "Total BPS (bytes per second) volume of attack. Deprecated - refer to volume_bps_long instead.", "format": "int32", "type": "integer" }, "volumeBpsLong": { - "description": "Total BPS (bytes per second) volume of attack.", "format": "int64", "type": "string" }, "volumePps": { "deprecated": true, - "description": "Total PPS (packets per second) volume of attack. Deprecated - refer to volume_pps_long instead.", "format": "int32", "type": "integer" }, "volumePpsLong": { - "description": "Total PPS (packets per second) volume of attack.", "format": "int64", "type": "string" } @@ -5810,49 +5100,41 @@ "type": "object" }, "GoogleCloudSecuritycenterV2AttackExposure": { - "description": "An attack exposure contains the results of an attack path simulation run.", "id": "GoogleCloudSecuritycenterV2AttackExposure", "properties": { "attackExposureResult": { - "description": "The resource name of the attack path simulation result that contains the details regarding this attack exposure score. Example: `organizations/123/simulations/456/attackExposureResults/789`", "type": "string" }, "exposedHighValueResourcesCount": { - "description": "The number of high value resources that are exposed as a result of this finding.", "format": "int32", "type": "integer" }, "exposedLowValueResourcesCount": { - "description": "The number of high value resources that are exposed as a result of this finding.", "format": "int32", "type": "integer" }, "exposedMediumValueResourcesCount": { - "description": "The number of medium value resources that are exposed as a result of this finding.", "format": "int32", "type": "integer" }, "latestCalculationTime": { - "description": "The most recent time the attack exposure was updated on this finding.", "format": "google-datetime", "type": "string" }, "score": { - "description": "A number between 0 (inclusive) and infinity that represents how important this finding is to remediate. The higher the score, the more important it is to remediate.", "format": "double", "type": "number" }, "state": { - "description": "Output only. What state this AttackExposure is in. This captures whether or not an attack exposure has been calculated or not.", "enum": [ "STATE_UNSPECIFIED", "CALCULATED", "NOT_CALCULATED" ], "enumDescriptions": [ - "The state is not specified.", - "The attack exposure has been calculated.", - "The attack exposure has not been calculated." + "", + "", + "" ], "readOnly": true, "type": "string" @@ -5861,34 +5143,27 @@ "type": "object" }, "GoogleCloudSecuritycenterV2AwsAccount": { - "description": "An AWS account that is a member of an organization.", "id": "GoogleCloudSecuritycenterV2AwsAccount", "properties": { "id": { - "description": "The unique identifier (ID) of the account, containing exactly 12 digits.", "type": "string" }, "name": { - "description": "The friendly name of this account.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AwsMetadata": { - "description": "AWS metadata associated with the resource, only applicable if the finding's cloud provider is Amazon Web Services.", "id": "GoogleCloudSecuritycenterV2AwsMetadata", "properties": { "account": { - "$ref": "GoogleCloudSecuritycenterV2AwsAccount", - "description": "The AWS account associated with the resource." + "$ref": "GoogleCloudSecuritycenterV2AwsAccount" }, "organization": { - "$ref": "GoogleCloudSecuritycenterV2AwsOrganization", - "description": "The AWS organization associated with the resource." + "$ref": "GoogleCloudSecuritycenterV2AwsOrganization" }, "organizationalUnits": { - "description": "A list of AWS organizational units associated with the resource, ordered from lowest level (closest to the account) to highest level.", "items": { "$ref": "GoogleCloudSecuritycenterV2AwsOrganizationalUnit" }, @@ -5898,217 +5173,174 @@ "type": "object" }, "GoogleCloudSecuritycenterV2AwsOrganization": { - "description": "An organization is a collection of accounts that are centrally managed together using consolidated billing, organized hierarchically with organizational units (OUs), and controlled with policies.", "id": "GoogleCloudSecuritycenterV2AwsOrganization", "properties": { "id": { - "description": "The unique identifier (ID) for the organization. The regex pattern for an organization ID string requires \"o-\" followed by from 10 to 32 lowercase letters or digits.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AwsOrganizationalUnit": { - "description": "An Organizational Unit (OU) is a container of AWS accounts within a root of an organization. Policies that are attached to an OU apply to all accounts contained in that OU and in any child OUs.", "id": "GoogleCloudSecuritycenterV2AwsOrganizationalUnit", "properties": { "id": { - "description": "The unique identifier (ID) associated with this OU. The regex pattern for an organizational unit ID string requires \"ou-\" followed by from 4 to 32 lowercase letters or digits (the ID of the root that contains the OU). This string is followed by a second \"-\" dash and from 8 to 32 additional lowercase letters or digits. For example, \"ou-ab12-cd34ef56\".", "type": "string" }, "name": { - "description": "The friendly name of the OU.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AzureManagementGroup": { - "description": "Represents an Azure management group.", "id": "GoogleCloudSecuritycenterV2AzureManagementGroup", "properties": { "displayName": { - "description": "The display name of the Azure management group.", "type": "string" }, "id": { - "description": "The UUID of the Azure management group, for example, `20000000-0001-0000-0000-000000000000`.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AzureMetadata": { - "description": "Azure metadata associated with the resource, only applicable if the finding's cloud provider is Microsoft Azure.", "id": "GoogleCloudSecuritycenterV2AzureMetadata", "properties": { "managementGroups": { - "description": "A list of Azure management groups associated with the resource, ordered from lowest level (closest to the subscription) to highest level.", "items": { "$ref": "GoogleCloudSecuritycenterV2AzureManagementGroup" }, "type": "array" }, "resourceGroup": { - "$ref": "GoogleCloudSecuritycenterV2AzureResourceGroup", - "description": "The Azure resource group associated with the resource." + "$ref": "GoogleCloudSecuritycenterV2AzureResourceGroup" }, "subscription": { - "$ref": "GoogleCloudSecuritycenterV2AzureSubscription", - "description": "The Azure subscription associated with the resource." + "$ref": "GoogleCloudSecuritycenterV2AzureSubscription" }, "tenant": { - "$ref": "GoogleCloudSecuritycenterV2AzureTenant", - "description": "The Azure Entra tenant associated with the resource." + "$ref": "GoogleCloudSecuritycenterV2AzureTenant" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AzureResourceGroup": { - "description": "Represents an Azure resource group.", "id": "GoogleCloudSecuritycenterV2AzureResourceGroup", "properties": { "id": { - "description": "The ID of the Azure resource group.", "type": "string" }, "name": { - "description": "The name of the Azure resource group. This is not a UUID.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AzureSubscription": { - "description": "Represents an Azure subscription.", "id": "GoogleCloudSecuritycenterV2AzureSubscription", "properties": { "displayName": { - "description": "The display name of the Azure subscription.", "type": "string" }, "id": { - "description": "The UUID of the Azure subscription, for example, `291bba3f-e0a5-47bc-a099-3bdcb2a50a05`.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2AzureTenant": { - "description": "Represents a Microsoft Entra tenant.", "id": "GoogleCloudSecuritycenterV2AzureTenant", "properties": { "displayName": { - "description": "The display name of the Azure tenant.", "type": "string" }, "id": { - "description": "The ID of the Microsoft Entra tenant, for example, \"a11aaa11-aa11-1aa1-11aa-1aaa11a\".", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2BackupDisasterRecovery": { - "description": "Information related to Google Cloud Backup and DR Service findings.", "id": "GoogleCloudSecuritycenterV2BackupDisasterRecovery", "properties": { "appliance": { - "description": "The name of the Backup and DR appliance that captures, moves, and manages the lifecycle of backup data. For example, `backup-server-57137`.", "type": "string" }, "applications": { - "description": "The names of Backup and DR applications. An application is a VM, database, or file system on a managed host monitored by a backup and recovery appliance. For example, `centos7-01-vol00`, `centos7-01-vol01`, `centos7-01-vol02`.", "items": { "type": "string" }, "type": "array" }, "backupCreateTime": { - "description": "The timestamp at which the Backup and DR backup was created.", "format": "google-datetime", "type": "string" }, "backupTemplate": { - "description": "The name of a Backup and DR template which comprises one or more backup policies. See the [Backup and DR documentation](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#temp) for more information. For example, `snap-ov`.", "type": "string" }, "backupType": { - "description": "The backup type of the Backup and DR image. For example, `Snapshot`, `Remote Snapshot`, `OnVault`.", "type": "string" }, "host": { - "description": "The name of a Backup and DR host, which is managed by the backup and recovery appliance and known to the management console. The host can be of type Generic (for example, Compute Engine, SQL Server, Oracle DB, SMB file system, etc.), vCenter, or an ESX server. See the [Backup and DR documentation on hosts](https://cloud.google.com/backup-disaster-recovery/docs/configuration/manage-hosts-and-their-applications) for more information. For example, `centos7-01`.", "type": "string" }, "policies": { - "description": "The names of Backup and DR policies that are associated with a template and that define when to run a backup, how frequently to run a backup, and how long to retain the backup image. For example, `onvaults`.", "items": { "type": "string" }, "type": "array" }, "policyOptions": { - "description": "The names of Backup and DR advanced policy options of a policy applying to an application. See the [Backup and DR documentation on policy options](https://cloud.google.com/backup-disaster-recovery/docs/create-plan/policy-settings). For example, `skipofflineappsincongrp, nounmap`.", "items": { "type": "string" }, "type": "array" }, "profile": { - "description": "The name of the Backup and DR resource profile that specifies the storage media for backups of application and VM data. See the [Backup and DR documentation on profiles](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#profile). For example, `GCP`.", "type": "string" }, "storagePool": { - "description": "The name of the Backup and DR storage pool that the backup and recovery appliance is storing data in. The storage pool could be of type Cloud, Primary, Snapshot, or OnVault. See the [Backup and DR documentation on storage pools](https://cloud.google.com/backup-disaster-recovery/docs/concepts/storage-pools). For example, `DiskPoolOne`.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2BigQueryExport": { - "description": "Configures how to deliver Findings to BigQuery Instance.", "id": "GoogleCloudSecuritycenterV2BigQueryExport", "properties": { "createTime": { - "description": "Output only. The time at which the BigQuery export was created. This field is set by the server and will be ignored if provided on export on creation.", "format": "google-datetime", "readOnly": true, "type": "string" }, "cryptoKeyName": { - "description": "Output only. The resource name of the Cloud KMS `CryptoKey` used to protect this configuration's data, if configured during Security Command Center activation.", "readOnly": true, "type": "string" }, "dataset": { - "description": "The dataset to write findings' updates to. Its format is \"projects/[project_id]/datasets/[bigquery_dataset_id]\". BigQuery dataset unique ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_).", "type": "string" }, "description": { - "description": "The description of the export (max of 1024 characters).", "type": "string" }, "filter": { - "description": "Expression that defines the filter to apply across create/update events of findings. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are: * `=` for all value types. * `>`, `<`, `>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes.", "type": "string" }, "mostRecentEditor": { - "description": "Output only. Email address of the user who last edited the BigQuery export. This field is set by the server and will be ignored if provided on export creation or update.", "readOnly": true, "type": "string" }, "name": { - "description": "Identifier. The relative resource name of this export. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name. The following list shows some examples: + `organizations/{organization_id}/locations/{location_id}/bigQueryExports/{export_id}` + `folders/{folder_id}/locations/{location_id}/bigQueryExports/{export_id}` + `projects/{project_id}/locations/{location_id}/bigQueryExports/{export_id}` This field is provided in responses, and is ignored when provided in create requests.", "type": "string" }, "principal": { - "description": "Output only. The service account that needs permission to create table and upload data to the BigQuery dataset.", "readOnly": true, "type": "string" }, "updateTime": { - "description": "Output only. The most recent time at which the BigQuery export was updated. This field is set by the server and will be ignored if provided on export creation or update.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -6117,23 +5349,18 @@ "type": "object" }, "GoogleCloudSecuritycenterV2Binding": { - "description": "Represents a Kubernetes RoleBinding or ClusterRoleBinding.", "id": "GoogleCloudSecuritycenterV2Binding", "properties": { "name": { - "description": "Name for the binding.", "type": "string" }, "ns": { - "description": "Namespace for the binding.", "type": "string" }, "role": { - "$ref": "GoogleCloudSecuritycenterV2Role", - "description": "The Role or ClusterRole referenced by the binding." + "$ref": "GoogleCloudSecuritycenterV2Role" }, "subjects": { - "description": "Represents one or more subjects that are bound to the role. Not always available for PATCH requests.", "items": { "$ref": "GoogleCloudSecuritycenterV2Subject" }, @@ -6143,17 +5370,14 @@ "type": "object" }, "GoogleCloudSecuritycenterV2BulkMuteFindingsResponse": { - "description": "The response to a BulkMute request. Contains the LRO information.", "id": "GoogleCloudSecuritycenterV2BulkMuteFindingsResponse", "properties": {}, "type": "object" }, "GoogleCloudSecuritycenterV2Chokepoint": { - "description": "Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations).", "id": "GoogleCloudSecuritycenterV2Chokepoint", "properties": { "relatedFindings": { - "description": "List of resource names of findings associated with this chokepoint. For example, organizations/123/sources/456/findings/789. This list will have at most 100 findings.", "items": { "type": "string" }, @@ -6163,65 +5387,53 @@ "type": "object" }, "GoogleCloudSecuritycenterV2CloudArmor": { - "description": "Fields related to Google Cloud Armor findings.", "id": "GoogleCloudSecuritycenterV2CloudArmor", "properties": { "adaptiveProtection": { - "$ref": "GoogleCloudSecuritycenterV2AdaptiveProtection", - "description": "Information about potential Layer 7 DDoS attacks identified by [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/adaptive-protection-overview)." + "$ref": "GoogleCloudSecuritycenterV2AdaptiveProtection" }, "attack": { - "$ref": "GoogleCloudSecuritycenterV2Attack", - "description": "Information about DDoS attack volume and classification." + "$ref": "GoogleCloudSecuritycenterV2Attack" }, "duration": { - "description": "Duration of attack from the start until the current moment (updated every 5 minutes).", "format": "google-duration", "type": "string" }, "requests": { - "$ref": "GoogleCloudSecuritycenterV2Requests", - "description": "Information about incoming requests evaluated by [Google Cloud Armor security policies](https://cloud.google.com/armor/docs/security-policy-overview)." + "$ref": "GoogleCloudSecuritycenterV2Requests" }, "securityPolicy": { - "$ref": "GoogleCloudSecuritycenterV2SecurityPolicy", - "description": "Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding." + "$ref": "GoogleCloudSecuritycenterV2SecurityPolicy" }, "threatVector": { - "description": "Distinguish between volumetric & protocol DDoS attack and application layer attacks. For example, \"L3_4\" for Layer 3 and Layer 4 DDoS attacks, or \"L_7\" for Layer 7 DDoS attacks.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2CloudControl": { - "description": "CloudControl associated with the finding.", "id": "GoogleCloudSecuritycenterV2CloudControl", "properties": { "cloudControlName": { - "description": "Name of the CloudControl associated with the finding.", "type": "string" }, "policyType": { - "description": "Policy type of the CloudControl", "type": "string" }, "type": { - "description": "Type of cloud control.", "enum": [ "CLOUD_CONTROL_TYPE_UNSPECIFIED", "BUILT_IN", "CUSTOM" ], "enumDescriptions": [ - "Unspecified.", - "Built in Cloud Control.", - "Custom Cloud Control." + "", + "", + "" ], "type": "string" }, "version": { - "description": "Version of the Cloud Control", "format": "int32", "type": "integer" } @@ -6229,31 +5441,27 @@ "type": "object" }, "GoogleCloudSecuritycenterV2CloudDlpDataProfile": { - "description": "The [data profile](https://cloud.google.com/dlp/docs/data-profiles) associated with the finding.", "id": "GoogleCloudSecuritycenterV2CloudDlpDataProfile", "properties": { "dataProfile": { - "description": "Name of the data profile, for example, `projects/123/locations/europe/tableProfiles/8383929`.", "type": "string" }, "infoTypes": { - "description": "Type of information detected by SDP. Info type includes name, version and sensitivity of the detected information type.", "items": { "$ref": "GoogleCloudSecuritycenterV2InfoType" }, "type": "array" }, "parentType": { - "description": "The resource hierarchy level at which the data profile was generated.", "enum": [ "PARENT_TYPE_UNSPECIFIED", "ORGANIZATION", "PROJECT" ], "enumDescriptions": [ - "Unspecified parent type.", - "Organization-level configurations.", - "Project-level configurations." + "", + "", + "" ], "type": "string" } @@ -6261,47 +5469,37 @@ "type": "object" }, "GoogleCloudSecuritycenterV2CloudDlpInspection": { - "description": "Details about the Cloud Data Loss Prevention (Cloud DLP) [inspection job](https://cloud.google.com/dlp/docs/concepts-job-triggers) that produced the finding.", "id": "GoogleCloudSecuritycenterV2CloudDlpInspection", "properties": { "fullScan": { - "description": "Whether Cloud DLP scanned the complete resource or a sampled subset.", "type": "boolean" }, "infoType": { - "description": "The type of information (or *[infoType](https://cloud.google.com/dlp/docs/infotypes-reference)*) found, for example, `EMAIL_ADDRESS` or `STREET_ADDRESS`.", "type": "string" }, "infoTypeCount": { - "description": "The number of times Cloud DLP found this infoType within this job and resource.", "format": "int64", "type": "string" }, "inspectJob": { - "description": "Name of the inspection job, for example, `projects/123/locations/europe/dlpJobs/i-8383929`.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2CloudLoggingEntry": { - "description": "Metadata taken from a [Cloud Logging LogEntry](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry)", "id": "GoogleCloudSecuritycenterV2CloudLoggingEntry", "properties": { "insertId": { - "description": "A unique identifier for the log entry.", "type": "string" }, "logId": { - "description": "The type of the log (part of `log_name`. `log_name` is the resource name of the log to which this log entry belongs). For example: `cloudresourcemanager.googleapis.com/activity` Note that this field is not URL-encoded, unlike in `LogEntry`.", "type": "string" }, "resourceContainer": { - "description": "The organization, folder, or project of the monitored resource that produced this log entry.", "type": "string" }, "timestamp": { - "description": "The time the event described by the log entry occurred.", "format": "google-datetime", "type": "string" } @@ -6309,44 +5507,36 @@ "type": "object" }, "GoogleCloudSecuritycenterV2Compliance": { - "description": "Contains compliance information about a security standard indicating unmet recommendations.", "id": "GoogleCloudSecuritycenterV2Compliance", "properties": { "ids": { - "description": "Policies within the standard or benchmark, for example, A.12.4.1", "items": { "type": "string" }, "type": "array" }, "standard": { - "description": "Industry-wide compliance standards or benchmarks, such as CIS, PCI, and OWASP.", "type": "string" }, "version": { - "description": "Version of the standard or benchmark, for example, 1.1", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2ComplianceDetails": { - "description": "Compliance Details associated with the finding.", "id": "GoogleCloudSecuritycenterV2ComplianceDetails", "properties": { "cloudControl": { - "$ref": "GoogleCloudSecuritycenterV2CloudControl", - "description": "CloudControl associated with the finding" + "$ref": "GoogleCloudSecuritycenterV2CloudControl" }, "cloudControlDeploymentNames": { - "description": "Cloud Control Deployments associated with the finding. For example, organizations/123/locations/global/cloudControlDeployments/deploymentIdentifier", "items": { "type": "string" }, "type": "array" }, "frameworks": { - "description": "Details of Frameworks associated with the finding", "items": { "$ref": "GoogleCloudSecuritycenterV2Framework" }, @@ -6356,20 +5546,16 @@ "type": "object" }, "GoogleCloudSecuritycenterV2Connection": { - "description": "Contains information about the IP connection associated with the finding.", "id": "GoogleCloudSecuritycenterV2Connection", "properties": { "destinationIp": { - "description": "Destination IP address. Not present for sockets that are listening and not connected.", "type": "string" }, "destinationPort": { - "description": "Destination port. Not present for sockets that are listening and not connected.", "format": "int32", "type": "integer" }, "protocol": { - "description": "IANA Internet Protocol Number such as TCP(6) and UDP(17).", "enum": [ "PROTOCOL_UNSPECIFIED", "ICMP", @@ -6379,21 +5565,19 @@ "ESP" ], "enumDescriptions": [ - "Unspecified protocol (not HOPOPT).", - "Internet Control Message Protocol.", - "Transmission Control Protocol.", - "User Datagram Protocol.", - "Generic Routing Encapsulation.", - "Encap Security Payload." + "", + "", + "", + "", + "", + "" ], "type": "string" }, "sourceIp": { - "description": "Source IP address.", "type": "string" }, "sourcePort": { - "description": "Source port.", "format": "int32", "type": "integer" } @@ -6401,22 +5585,18 @@ "type": "object" }, "GoogleCloudSecuritycenterV2Contact": { - "description": "The email address of a contact.", "id": "GoogleCloudSecuritycenterV2Contact", "properties": { "email": { - "description": "An email address. For example, \"`person123@company.com`\".", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2ContactDetails": { - "description": "Details about specific contacts", "id": "GoogleCloudSecuritycenterV2ContactDetails", "properties": { "contacts": { - "description": "A list of contacts", "items": { "$ref": "GoogleCloudSecuritycenterV2Contact" }, @@ -6426,66 +5606,53 @@ "type": "object" }, "GoogleCloudSecuritycenterV2Container": { - "description": "Container associated with the finding.", "id": "GoogleCloudSecuritycenterV2Container", "properties": { "createTime": { - "description": "The time that the container was created.", "format": "google-datetime", "type": "string" }, "imageId": { - "description": "Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest.", "type": "string" }, "labels": { - "description": "Container labels, as provided by the container runtime.", "items": { "$ref": "GoogleCloudSecuritycenterV2Label" }, "type": "array" }, "name": { - "description": "Name of the container.", "type": "string" }, "uri": { - "description": "Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Control": { - "description": "Compliance control associated with the finding.", "id": "GoogleCloudSecuritycenterV2Control", "properties": { "controlName": { - "description": "Name of the Control", "type": "string" }, "displayName": { - "description": "Display name of the control. For example, AU-02.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Cve": { - "description": "CVE stands for Common Vulnerabilities and Exposures. Information from the [CVE record](https://www.cve.org/ResourcesSupport/Glossary) that describes this vulnerability.", "id": "GoogleCloudSecuritycenterV2Cve", "properties": { "cvssv3": { - "$ref": "GoogleCloudSecuritycenterV2Cvssv3", - "description": "Describe Common Vulnerability Scoring System specified at https://www.first.org/cvss/v3.1/specification-document" + "$ref": "GoogleCloudSecuritycenterV2Cvssv3" }, "exploitReleaseDate": { - "description": "Date the first publicly available exploit or PoC was released.", "format": "google-datetime", "type": "string" }, "exploitationActivity": { - "description": "The exploitation activity of the vulnerability in the wild.", "enum": [ "EXPLOITATION_ACTIVITY_UNSPECIFIED", "WIDE", @@ -6495,26 +5662,23 @@ "NO_KNOWN" ], "enumDescriptions": [ - "Invalid or empty value.", - "Exploitation has been reported or confirmed to widely occur.", - "Limited reported or confirmed exploitation activities.", - "Exploit is publicly available.", - "No known exploitation activity, but has a high potential for exploitation.", - "No known exploitation activity." + "", + "", + "", + "", + "", + "" ], "type": "string" }, "firstExploitationDate": { - "description": "Date of the earliest known exploitation.", "format": "google-datetime", "type": "string" }, "id": { - "description": "The unique identifier for the vulnerability. e.g. CVE-2021-34527", "type": "string" }, "impact": { - "description": "The potential impact of the vulnerability if it was to be exploited.", "enum": [ "RISK_RATING_UNSPECIFIED", "LOW", @@ -6523,56 +5687,49 @@ "CRITICAL" ], "enumDescriptions": [ - "Invalid or empty value.", - "Exploitation would have little to no security impact.", - "Exploitation would enable attackers to perform activities, or could allow attackers to have a direct impact, but would require additional steps.", - "Exploitation would enable attackers to have a notable direct impact without needing to overcome any major mitigating factors.", - "Exploitation would fundamentally undermine the security of affected systems, enable actors to perform significant attacks with minimal effort, with little to no mitigating factors to overcome." + "", + "", + "", + "", + "" ], "type": "string" }, "observedInTheWild": { - "description": "Whether or not the vulnerability has been observed in the wild.", "type": "boolean" }, "references": { - "description": "Additional information about the CVE. e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527", "items": { "$ref": "GoogleCloudSecuritycenterV2Reference" }, "type": "array" }, "upstreamFixAvailable": { - "description": "Whether upstream fix is available for the CVE.", "type": "boolean" }, "zeroDay": { - "description": "Whether or not the vulnerability was zero day when the finding was published.", "type": "boolean" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Cvssv3": { - "description": "Common Vulnerability Scoring System version 3.", "id": "GoogleCloudSecuritycenterV2Cvssv3", "properties": { "attackComplexity": { - "description": "This metric describes the conditions beyond the attacker's control that must exist in order to exploit the vulnerability.", "enum": [ "ATTACK_COMPLEXITY_UNSPECIFIED", "ATTACK_COMPLEXITY_LOW", "ATTACK_COMPLEXITY_HIGH" ], "enumDescriptions": [ - "Invalid value.", - "Specialized access conditions or extenuating circumstances do not exist. An attacker can expect repeatable success when attacking the vulnerable component.", - "A successful attack depends on conditions beyond the attacker's control. That is, a successful attack cannot be accomplished at will, but requires the attacker to invest in some measurable amount of effort in preparation or execution against the vulnerable component before a successful attack can be expected." + "", + "", + "" ], "type": "string" }, "attackVector": { - "description": "Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. This metric reflects the context by which vulnerability exploitation is possible.", "enum": [ "ATTACK_VECTOR_UNSPECIFIED", "ATTACK_VECTOR_NETWORK", @@ -6581,16 +5738,15 @@ "ATTACK_VECTOR_PHYSICAL" ], "enumDescriptions": [ - "Invalid value.", - "The vulnerable component is bound to the network stack and the set of possible attackers extends beyond the other options listed below, up to and including the entire Internet.", - "The vulnerable component is bound to the network stack, but the attack is limited at the protocol level to a logically adjacent topology.", - "The vulnerable component is not bound to the network stack and the attacker's path is via read/write/execute capabilities.", - "The attack requires the attacker to physically touch or manipulate the vulnerable component." + "", + "", + "", + "", + "" ], "type": "string" }, "availabilityImpact": { - "description": "This metric measures the impact to the availability of the impacted component resulting from a successfully exploited vulnerability.", "enum": [ "IMPACT_UNSPECIFIED", "IMPACT_HIGH", @@ -6598,20 +5754,18 @@ "IMPACT_NONE" ], "enumDescriptions": [ - "Invalid value.", - "High impact.", - "Low impact.", - "No impact." + "", + "", + "", + "" ], "type": "string" }, "baseScore": { - "description": "The base score is a function of the base metric scores.", "format": "double", "type": "number" }, "confidentialityImpact": { - "description": "This metric measures the impact to the confidentiality of the information resources managed by a software component due to a successfully exploited vulnerability.", "enum": [ "IMPACT_UNSPECIFIED", "IMPACT_HIGH", @@ -6619,15 +5773,14 @@ "IMPACT_NONE" ], "enumDescriptions": [ - "Invalid value.", - "High impact.", - "Low impact.", - "No impact." + "", + "", + "", + "" ], "type": "string" }, "integrityImpact": { - "description": "This metric measures the impact to integrity of a successfully exploited vulnerability.", "enum": [ "IMPACT_UNSPECIFIED", "IMPACT_HIGH", @@ -6635,15 +5788,14 @@ "IMPACT_NONE" ], "enumDescriptions": [ - "Invalid value.", - "High impact.", - "Low impact.", - "No impact." + "", + "", + "", + "" ], "type": "string" }, "privilegesRequired": { - "description": "This metric describes the level of privileges an attacker must possess before successfully exploiting the vulnerability.", "enum": [ "PRIVILEGES_REQUIRED_UNSPECIFIED", "PRIVILEGES_REQUIRED_NONE", @@ -6651,38 +5803,36 @@ "PRIVILEGES_REQUIRED_HIGH" ], "enumDescriptions": [ - "Invalid value.", - "The attacker is unauthorized prior to attack, and therefore does not require any access to settings or files of the vulnerable system to carry out an attack.", - "The attacker requires privileges that provide basic user capabilities that could normally affect only settings and files owned by a user. Alternatively, an attacker with Low privileges has the ability to access only non-sensitive resources.", - "The attacker requires privileges that provide significant (e.g., administrative) control over the vulnerable component allowing access to component-wide settings and files." + "", + "", + "", + "" ], "type": "string" }, "scope": { - "description": "The Scope metric captures whether a vulnerability in one vulnerable component impacts resources in components beyond its security scope.", "enum": [ "SCOPE_UNSPECIFIED", "SCOPE_UNCHANGED", "SCOPE_CHANGED" ], "enumDescriptions": [ - "Invalid value.", - "An exploited vulnerability can only affect resources managed by the same security authority.", - "An exploited vulnerability can affect resources beyond the security scope managed by the security authority of the vulnerable component." + "", + "", + "" ], "type": "string" }, "userInteraction": { - "description": "This metric captures the requirement for a human user, other than the attacker, to participate in the successful compromise of the vulnerable component.", "enum": [ "USER_INTERACTION_UNSPECIFIED", "USER_INTERACTION_NONE", "USER_INTERACTION_REQUIRED" ], "enumDescriptions": [ - "Invalid value.", - "The vulnerable system can be exploited without interaction from any user.", - "Successful exploitation of this vulnerability requires a user to take some action before the vulnerability can be exploited." + "", + "", + "" ], "type": "string" } @@ -6690,15 +5840,12 @@ "type": "object" }, "GoogleCloudSecuritycenterV2Cwe": { - "description": "CWE stands for Common Weakness Enumeration. Information about this weakness, as described by [CWE](https://cwe.mitre.org/).", "id": "GoogleCloudSecuritycenterV2Cwe", "properties": { "id": { - "description": "The CWE identifier, e.g. CWE-94", "type": "string" }, "references": { - "description": "Any reference to the details on the CWE, for example, https://cwe.mitre.org/data/definitions/94.html", "items": { "$ref": "GoogleCloudSecuritycenterV2Reference" }, @@ -6708,20 +5855,16 @@ "type": "object" }, "GoogleCloudSecuritycenterV2DataAccessEvent": { - "description": "Details about a data access attempt made by a principal not authorized under applicable data security policy.", "id": "GoogleCloudSecuritycenterV2DataAccessEvent", "properties": { "eventId": { - "description": "Unique identifier for data access event.", "type": "string" }, "eventTime": { - "description": "Timestamp of data access event.", "format": "google-datetime", "type": "string" }, "operation": { - "description": "The operation performed by the principal to access the data.", "enum": [ "OPERATION_UNSPECIFIED", "READ", @@ -6729,35 +5872,30 @@ "COPY" ], "enumDescriptions": [ - "The operation is unspecified.", - "Represents a read operation.", - "Represents a move operation.", - "Represents a copy operation." + "", + "", + "", + "" ], "type": "string" }, "principalEmail": { - "description": "The email address of the principal that accessed the data. The principal could be a user account, service account, Google group, or other.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2DataFlowEvent": { - "description": "Details about a data flow event, in which either the data is moved to or is accessed from a non-compliant geo-location, as defined in the applicable data security policy.", "id": "GoogleCloudSecuritycenterV2DataFlowEvent", "properties": { "eventId": { - "description": "Unique identifier for data flow event.", "type": "string" }, "eventTime": { - "description": "Timestamp of data flow event.", "format": "google-datetime", "type": "string" }, "operation": { - "description": "The operation performed by the principal for the data flow event.", "enum": [ "OPERATION_UNSPECIFIED", "READ", @@ -6765,40 +5903,34 @@ "COPY" ], "enumDescriptions": [ - "The operation is unspecified.", - "Represents a read operation.", - "Represents a move operation.", - "Represents a copy operation." + "", + "", + "", + "" ], "type": "string" }, "principalEmail": { - "description": "The email address of the principal that initiated the data flow event. The principal could be a user account, service account, Google group, or other.", "type": "string" }, "violatedLocation": { - "description": "Non-compliant location of the principal or the data destination.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2DataRetentionDeletionEvent": { - "description": "Details about data retention deletion violations, in which the data is non-compliant based on their retention or deletion time, as defined in the applicable data security policy. The Data Retention Deletion (DRD) control is a control of the DSPM (Data Security Posture Management) suite that enables organizations to manage data retention and deletion policies in compliance with regulations, such as GDPR and CRPA. DRD supports two primary policy types: maximum storage length (max TTL) and minimum storage length (min TTL). Both are aimed at helping organizations meet regulatory and data management commitments.", "id": "GoogleCloudSecuritycenterV2DataRetentionDeletionEvent", "properties": { "dataObjectCount": { - "description": "Number of objects that violated the policy for this resource. If the number is less than 1,000, then the value of this field is the exact number. If the number of objects that violated the policy is greater than or equal to 1,000, then the value of this field is 1000.", "format": "int64", "type": "string" }, "eventDetectionTime": { - "description": "Timestamp indicating when the event was detected.", "format": "google-datetime", "type": "string" }, "eventType": { - "description": "Type of the DRD event.", "enum": [ "EVENT_TYPE_UNSPECIFIED", "EVENT_TYPE_MAX_TTL_EXCEEDED", @@ -6814,21 +5946,19 @@ false ], "enumDescriptions": [ - "Unspecified event type.", - "Deprecated: This field is pending removal. Use EVENT_TYPE_MAX_TTL_FROM_CREATION or EVENT_TYPE_MAX_TTL_FROM_LAST_MODIFICATION instead.", - "Max TTL from the asset's creation time.", - "Max TTL from the asset's last modification time.", - "Min TTL from the asset's creation time." + "", + "", + "", + "", + "" ], "type": "string" }, "maxRetentionAllowed": { - "description": "Maximum duration of retention allowed from the DRD control. This comes from the DRD control where users set a max TTL for their data. For example, suppose that a user sets the max TTL for a Cloud Storage bucket to 90 days. However, an object in that bucket is 100 days old. In this case, a DataRetentionDeletionEvent will be generated for that Cloud Storage bucket, and the max_retention_allowed is 90 days.", "format": "google-duration", "type": "string" }, "minRetentionAllowed": { - "description": "Min duration of retention allowed from the DSPM retention control. This field is only populated when event type is set to EVENT_TYPE_MIN_TTL_FROM_CREATION.", "format": "google-duration", "type": "string" } @@ -6836,64 +5966,51 @@ "type": "object" }, "GoogleCloudSecuritycenterV2Database": { - "description": "Represents database access information, such as queries. A database may be a sub-resource of an instance (as in the case of Cloud SQL instances or Cloud Spanner instances), or the database instance itself. Some database resources might not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types, such as Cloud SQL databases, are not yet supported by Cloud Asset Inventory. In these cases only the display name is provided.", "id": "GoogleCloudSecuritycenterV2Database", "properties": { "displayName": { - "description": "The human-readable name of the database that the user connected to.", "type": "string" }, "grantees": { - "description": "The target usernames, roles, or groups of an SQL privilege grant, which is not an IAM policy change.", "items": { "type": "string" }, "type": "array" }, "name": { - "description": "Some database resources may not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types are not yet supported by Cloud Asset Inventory (e.g. Cloud SQL databases). In these cases only the display name will be provided. The [full resource name](https://google.aip.dev/122#full-resource-names) of the database that the user connected to, if it is supported by Cloud Asset Inventory.", "type": "string" }, "query": { - "description": "The SQL statement that is associated with the database access.", "type": "string" }, "userName": { - "description": "The username used to connect to the database. The username might not be an IAM principal and does not have a set format.", "type": "string" }, "version": { - "description": "The version of the database, for example, POSTGRES_14. See [the complete list](https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1/SqlDatabaseVersion).", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Dataset": { - "description": "Vertex AI dataset associated with the finding.", "id": "GoogleCloudSecuritycenterV2Dataset", "properties": { "displayName": { - "description": "The user defined display name of dataset, e.g. plants-dataset", "type": "string" }, "name": { - "description": "Resource name of the dataset, e.g. projects/{project}/locations/{location}/datasets/2094040236064505856", "type": "string" }, "source": { - "description": "Data source, such as a BigQuery source URI, e.g. bq://scc-nexus-test.AIPPtest.gsod", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Denied": { - "description": "Denied IP rule.", "id": "GoogleCloudSecuritycenterV2Denied", "properties": { "ipRules": { - "description": "Optional. Optional list of denied IP rules.", "items": { "$ref": "GoogleCloudSecuritycenterV2IpRule" }, @@ -6903,15 +6020,12 @@ "type": "object" }, "GoogleCloudSecuritycenterV2Detection": { - "description": "Memory hash detection contributing to the binary family match.", "id": "GoogleCloudSecuritycenterV2Detection", "properties": { "binary": { - "description": "The name of the binary associated with the memory hash signature detection.", "type": "string" }, "percentPagesMatched": { - "description": "The percentage of memory page hashes in the signature that were matched.", "format": "double", "type": "number" } @@ -6919,35 +6033,29 @@ "type": "object" }, "GoogleCloudSecuritycenterV2DiscoveredWorkload": { - "description": "Represents discovered, customer managed workload that is not registered with the respective GCP service.", "id": "GoogleCloudSecuritycenterV2DiscoveredWorkload", "properties": { "confidence": { - "description": "The confidence in detection of this workload.", "enum": [ "CONFIDENCE_UNSPECIFIED", "CONFIDENCE_HIGH" ], "enumDescriptions": [ - "Unspecified confidence level.", - "High confidence in detection of a workload." + "", + "" ], "type": "string" }, "detectedRelevantHardware": { - "description": "A boolean flag set to true if associated hardware strongly predicts the workload type.", "type": "boolean" }, "detectedRelevantKeywords": { - "description": "A boolean flag set to true if associated keywords strongly predict the workload type.", "type": "boolean" }, "detectedRelevantPackages": { - "description": "A boolean flag set to true if installed packages strongly predict the workload type.", "type": "boolean" }, "workloadType": { - "description": "The type of workload.", "enum": [ "WORKLOAD_TYPE_UNSPECIFIED", "MCP_SERVER", @@ -6955,10 +6063,10 @@ "AGENT" ], "enumDescriptions": [ - "Unspecified workload type", - "A workload of type MCP Server", - "A workload of type AI Inference", - "A workload of type LLM Agent" + "", + "", + "", + "" ], "type": "string" } @@ -6966,100 +6074,82 @@ "type": "object" }, "GoogleCloudSecuritycenterV2Disk": { - "description": "Contains information about the disk associated with the finding.", "id": "GoogleCloudSecuritycenterV2Disk", "properties": { "name": { - "description": "The name of the disk, for example, \"https://www.googleapis.com/compute/v1/projects/{project-id}/zones/{zone-id}/disks/{disk-id}\".", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2DiskPath": { - "description": "Path of the file in terms of underlying disk/partition identifiers.", "id": "GoogleCloudSecuritycenterV2DiskPath", "properties": { "partitionUuid": { - "description": "UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid)", "type": "string" }, "relativePath": { - "description": "Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2DynamicMuteRecord": { - "description": "The record of a dynamic mute rule that matches the finding.", "id": "GoogleCloudSecuritycenterV2DynamicMuteRecord", "properties": { "matchTime": { - "description": "When the dynamic mute rule first matched the finding.", "format": "google-datetime", "type": "string" }, "muteConfig": { - "description": "The relative resource name of the mute rule, represented by a mute config, that created this record, for example `organizations/123/muteConfigs/mymuteconfig` or `organizations/123/locations/global/muteConfigs/mymuteconfig`.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2EnvironmentVariable": { - "description": "A name-value pair representing an environment variable used in an operating system process.", "id": "GoogleCloudSecuritycenterV2EnvironmentVariable", "properties": { "name": { - "description": "Environment variable name as a JSON encoded string.", "type": "string" }, "val": { - "description": "Environment variable value as a JSON encoded string.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2ExfilResource": { - "description": "Resource where data was exfiltrated from or exfiltrated to.", "id": "GoogleCloudSecuritycenterV2ExfilResource", "properties": { "components": { - "description": "Subcomponents of the asset that was exfiltrated, like URIs used during exfiltration, table names, databases, and filenames. For example, multiple tables might have been exfiltrated from the same Cloud SQL instance, or multiple files might have been exfiltrated from the same Cloud Storage bucket.", "items": { "type": "string" }, "type": "array" }, "name": { - "description": "The resource's [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name).", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Exfiltration": { - "description": "Exfiltration represents a data exfiltration attempt from one or more sources to one or more targets. The `sources` attribute lists the sources of the exfiltrated data. The `targets` attribute lists the destinations the data was copied to.", "id": "GoogleCloudSecuritycenterV2Exfiltration", "properties": { "sources": { - "description": "If there are multiple sources, then the data is considered \"joined\" between them. For instance, BigQuery can join multiple tables, and each table would be considered a source.", "items": { "$ref": "GoogleCloudSecuritycenterV2ExfilResource" }, "type": "array" }, "targets": { - "description": "If there are multiple targets, each target would get a complete copy of the \"joined\" source data.", "items": { "$ref": "GoogleCloudSecuritycenterV2ExfilResource" }, "type": "array" }, "totalExfiltratedBytes": { - "description": "Total exfiltrated bytes processed for the entire job.", "format": "int64", "type": "string" } @@ -7067,205 +6157,162 @@ "type": "object" }, "GoogleCloudSecuritycenterV2ExternalExposure": { - "description": "Details about the externally exposed resource associated with the finding.", "id": "GoogleCloudSecuritycenterV2ExternalExposure", "properties": { "backendBucket": { - "description": "The full resource name of the load balancer backend bucket, for example, \"//compute.googleapis.com/projects/{project-id}/global/backendBuckets/{name}\"", "type": "string" }, "backendService": { - "description": "The full resource name of load balancer backend service, for example, \"//compute.googleapis.com/projects/{project-id}/global/backendServices/{name}\".", "type": "string" }, "exposedApplication": { - "description": "The name and version of the exposed web application, for example, \"Jenkins 2.184\".", "type": "string" }, "exposedEndpoint": { - "description": "The resource which is running the exposed service, for example, \"//compute.googleapis.com/projects/{project-id}/zones/{zone}/instances/{instance}.”", "type": "string" }, "exposedService": { - "description": "The name and version of the service, for example, \"Jupyter Notebook 6.14.0\".", "type": "string" }, "forwardingRule": { - "description": "The full resource name of the forwarding rule, for example, \"//compute.googleapis.com/projects/{project-id}/global/forwardingRules/{forwarding-rule-name}\".", "type": "string" }, "hostnameUri": { - "description": "Hostname of the exposed application, for example, \"https://test-app.a.run.app/\"", "type": "string" }, "httpResponse": { - "description": "The http response returned by the web application.", "items": { "$ref": "GoogleCloudSecuritycenterV2HttpResponse" }, "type": "array" }, "instanceGroup": { - "description": "The full resource name of the instance group, for example, \"//compute.googleapis.com/projects/{project-id}/global/instanceGroups/{name}\".", "type": "string" }, "internalBackendService": { - "description": "The full resource name of load balancer backend service in the internal project having resource exposed via PSC, for example, \"//compute.googleapis.com/projects/{project-id}/global/backendServices/{name}\".", "type": "string" }, "loadBalancerFirewallPolicy": { - "description": "The full resource name of the load balancer firewall policy, for example, \"//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{policy-name}\".", "type": "string" }, "networkEndpointGroup": { - "description": "The full resource name of the network endpoint group, for example, \"//compute.googleapis.com/projects/{project-id}/global/networkEndpointGroups/{name}\".", "type": "string" }, "networkIngressFirewallPolicy": { - "description": "The full resource name of the network ingress firewall policy, for example, \"//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{name}\".", "type": "string" }, "privateIpAddress": { - "description": "Private IP address of the exposed endpoint.", "type": "string" }, "privatePort": { - "description": "Port number associated with private IP address.", "type": "string" }, "pscNetworkAttachment": { - "description": "The full resource name of the PSC (Private Service Connect) network attachment that network interface controller is attached to, for example, \"//compute.googleapis.com/projects/{project-id}/regions/{region}/networkAttachments/{name}\"", "type": "string" }, "pscServiceAttachment": { - "description": "The full resource name of the PSC (Private Service Connect) service attachment that the load balancer network endpoint group targets, for example, \"//compute.googleapis.com/projects/{project-id}/regions/{region}/serviceAttachments/{name}\"", "type": "string" }, "publicIpAddress": { - "description": "Public IP address of the exposed endpoint.", "type": "string" }, "publicPort": { - "description": "Public port number of the exposed endpoint.", "type": "string" }, "serviceFirewallPolicy": { - "description": "The full resource name of the firewall policy of the exposed service, for example, \"//compute.googleapis.com/projects/{project-id}/global/firewallPolicies/{policy-name}\".", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2ExternalSystem": { - "description": "Representation of third party SIEM/SOAR fields within SCC.", "id": "GoogleCloudSecuritycenterV2ExternalSystem", "properties": { "assignees": { - "description": "References primary/secondary etc assignees in the external system.", "items": { "type": "string" }, "type": "array" }, "caseCloseTime": { - "description": "The time when the case was closed, as reported by the external system.", "format": "google-datetime", "type": "string" }, "caseCreateTime": { - "description": "The time when the case was created, as reported by the external system.", "format": "google-datetime", "type": "string" }, "casePriority": { - "description": "The priority of the finding's corresponding case in the external system.", "type": "string" }, "caseSla": { - "description": "The SLA of the finding's corresponding case in the external system.", "format": "google-datetime", "type": "string" }, "caseUri": { - "description": "The link to the finding's corresponding case in the external system.", "type": "string" }, "externalSystemUpdateTime": { - "description": "The time when the case was last updated, as reported by the external system.", "format": "google-datetime", "type": "string" }, "externalUid": { - "description": "The identifier that's used to track the finding's corresponding case in the external system.", "type": "string" }, "name": { - "description": "Full resource name of the external system. The following list shows some examples: + `organizations/1234/sources/5678/findings/123456/externalSystems/jira` + `organizations/1234/sources/5678/locations/us/findings/123456/externalSystems/jira` + `folders/1234/sources/5678/findings/123456/externalSystems/jira` + `folders/1234/sources/5678/locations/us/findings/123456/externalSystems/jira` + `projects/1234/sources/5678/findings/123456/externalSystems/jira` + `projects/1234/sources/5678/locations/us/findings/123456/externalSystems/jira`", "type": "string" }, "status": { - "description": "The most recent status of the finding's corresponding case, as reported by the external system.", "type": "string" }, "ticketInfo": { - "$ref": "GoogleCloudSecuritycenterV2TicketInfo", - "description": "Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding." + "$ref": "GoogleCloudSecuritycenterV2TicketInfo" } }, "type": "object" }, "GoogleCloudSecuritycenterV2File": { - "description": "File information about the related binary/library used by an executable, or the script used by a script interpreter", "id": "GoogleCloudSecuritycenterV2File", "properties": { "contents": { - "description": "Prefix of the file contents as a JSON-encoded string.", "type": "string" }, "diskPath": { - "$ref": "GoogleCloudSecuritycenterV2DiskPath", - "description": "Path of the file in terms of underlying disk/partition identifiers." + "$ref": "GoogleCloudSecuritycenterV2DiskPath" }, "fileLoadState": { - "description": "The load state of the file.", "enum": [ "FILE_LOAD_STATE_UNSPECIFIED", "LOADED_BY_PROCESS", "NOT_LOADED_BY_PROCESS" ], "enumDescriptions": [ - "The file state is unspecified.", - "The file is being used by an active process at the time of scanning.", - "The file is not being used by any active process at the time of scanning." + "", + "", + "" ], "type": "string" }, "hashedSize": { - "description": "The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file.", "format": "int64", "type": "string" }, "operations": { - "description": "Operation(s) performed on a file.", "items": { "$ref": "GoogleCloudSecuritycenterV2FileOperation" }, "type": "array" }, "partiallyHashed": { - "description": "True when the hash covers only a prefix of the file.", "type": "boolean" }, "path": { - "description": "Absolute path of the file as a JSON encoded string.", "type": "string" }, "sha256": { - "description": "SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file.", "type": "string" }, "size": { - "description": "Size of the file in bytes.", "format": "int64", "type": "string" } @@ -7273,11 +6320,9 @@ "type": "object" }, "GoogleCloudSecuritycenterV2FileOperation": { - "description": "Operation(s) performed on a file.", "id": "GoogleCloudSecuritycenterV2FileOperation", "properties": { "type": { - "description": "The type of the operation", "enum": [ "OPERATION_TYPE_UNSPECIFIED", "OPEN", @@ -7287,12 +6332,12 @@ "EXECUTE" ], "enumDescriptions": [ - "The operation is unspecified.", - "Represents an open operation.", - "Represents a read operation.", - "Represents a rename operation.", - "Represents a write operation.", - "Represents an execute operation." + "", + "", + "", + "", + "", + "" ], "type": "string" } @@ -7300,82 +6345,64 @@ "type": "object" }, "GoogleCloudSecuritycenterV2Finding": { - "description": "Security Command Center finding. A finding is a record of assessment data like security, risk, health, or privacy, that is ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, a cross-site scripting (XSS) vulnerability in an App Engine application is a finding.", "id": "GoogleCloudSecuritycenterV2Finding", "properties": { "access": { - "$ref": "GoogleCloudSecuritycenterV2Access", - "description": "Access details associated with the finding, such as more information on the caller, which method was accessed, and from where." + "$ref": "GoogleCloudSecuritycenterV2Access" }, "affectedResources": { - "$ref": "GoogleCloudSecuritycenterV2AffectedResources", - "description": "AffectedResources associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2AffectedResources" }, "agentDataAccessEvents": { - "description": "Agent data access events associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2AgentDataAccessEvent" }, "type": "array" }, "aiModel": { - "$ref": "GoogleCloudSecuritycenterV2AiModel", - "description": "The AI model associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2AiModel" }, "application": { - "$ref": "GoogleCloudSecuritycenterV2Application", - "description": "Represents an application associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2Application" }, "artifactGuardPolicies": { - "$ref": "GoogleCloudSecuritycenterV2ArtifactGuardPolicies", - "description": "ArtifactGuardPolicies associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2ArtifactGuardPolicies" }, "attackExposure": { - "$ref": "GoogleCloudSecuritycenterV2AttackExposure", - "description": "The results of an attack path simulation relevant to this finding." + "$ref": "GoogleCloudSecuritycenterV2AttackExposure" }, "backupDisasterRecovery": { - "$ref": "GoogleCloudSecuritycenterV2BackupDisasterRecovery", - "description": "Fields related to Backup and DR findings." + "$ref": "GoogleCloudSecuritycenterV2BackupDisasterRecovery" }, "canonicalName": { - "description": "Output only. The canonical name of the finding. The following list shows some examples: + `organizations/{organization_id}/sources/{source_id}/locations/{location_id}/findings/{finding_id}` + `folders/{folder_id}/sources/{source_id}/locations/{location_id}/findings/{finding_id}` + `projects/{project_id}/sources/{source_id}/locations/{location_id}/findings/{finding_id}` The prefix is the closest CRM ancestor of the resource associated with the finding.", "readOnly": true, "type": "string" }, "category": { - "description": "Immutable. The additional taxonomy group within findings from a given source. Example: \"XSS_FLASH_INJECTION\"", "type": "string" }, "chokepoint": { - "$ref": "GoogleCloudSecuritycenterV2Chokepoint", - "description": "Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations). This field cannot be updated. Its value is ignored in all update requests." + "$ref": "GoogleCloudSecuritycenterV2Chokepoint" }, "cloudArmor": { - "$ref": "GoogleCloudSecuritycenterV2CloudArmor", - "description": "Fields related to Cloud Armor findings." + "$ref": "GoogleCloudSecuritycenterV2CloudArmor" }, "cloudDlpDataProfile": { - "$ref": "GoogleCloudSecuritycenterV2CloudDlpDataProfile", - "description": "Cloud DLP data profile that is associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2CloudDlpDataProfile" }, "cloudDlpInspection": { - "$ref": "GoogleCloudSecuritycenterV2CloudDlpInspection", - "description": "Cloud Data Loss Prevention (Cloud DLP) inspection results that are associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2CloudDlpInspection" }, "complianceDetails": { - "$ref": "GoogleCloudSecuritycenterV2ComplianceDetails", - "description": "Details about the compliance implications of the finding." + "$ref": "GoogleCloudSecuritycenterV2ComplianceDetails" }, "compliances": { - "description": "Contains compliance information for security standards associated to the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2Compliance" }, "type": "array" }, "connections": { - "description": "Contains information about the IP connection associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2Connection" }, @@ -7385,99 +6412,81 @@ "additionalProperties": { "$ref": "GoogleCloudSecuritycenterV2ContactDetails" }, - "description": "Output only. Map containing the points of contact for the given finding. The key represents the type of contact, while the value contains a list of all the contacts that pertain. Please refer to: https://cloud.google.com/resource-manager/docs/managing-notification-contacts#notification-categories { \"security\": { \"contacts\": [ { \"email\": \"person1@company.com\" }, { \"email\": \"person2@company.com\" } ] } }", "readOnly": true, "type": "object" }, "containers": { - "description": "Containers associated with the finding. This field provides information for both Kubernetes and non-Kubernetes containers.", "items": { "$ref": "GoogleCloudSecuritycenterV2Container" }, "type": "array" }, "createTime": { - "description": "Output only. The time at which the finding was created in Security Command Center.", "format": "google-datetime", "readOnly": true, "type": "string" }, "cryptoKeyName": { - "description": "Output only. The name of the Cloud KMS key used to encrypt this finding, if any.", "readOnly": true, "type": "string" }, "dataAccessEvents": { - "description": "Data access events associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2DataAccessEvent" }, "type": "array" }, "dataFlowEvents": { - "description": "Data flow events associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2DataFlowEvent" }, "type": "array" }, "dataRetentionDeletionEvents": { - "description": "Data retention deletion events associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2DataRetentionDeletionEvent" }, "type": "array" }, "database": { - "$ref": "GoogleCloudSecuritycenterV2Database", - "description": "Database associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2Database" }, "description": { - "description": "Contains more details about the finding.", "type": "string" }, "discoveredWorkload": { - "$ref": "GoogleCloudSecuritycenterV2DiscoveredWorkload", - "description": "DiscoveredWorkload associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2DiscoveredWorkload" }, "disk": { - "$ref": "GoogleCloudSecuritycenterV2Disk", - "description": "Disk associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2Disk" }, "eventTime": { - "description": "The time the finding was first detected. If an existing finding is updated, then this is the time the update occurred. For example, if the finding represents an open firewall, this property captures the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding is later resolved, then this time reflects when the finding was resolved. This must not be set to a value greater than the current timestamp.", "format": "google-datetime", "type": "string" }, "exfiltration": { - "$ref": "GoogleCloudSecuritycenterV2Exfiltration", - "description": "Represents exfiltrations associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2Exfiltration" }, "externalExposure": { - "$ref": "GoogleCloudSecuritycenterV2ExternalExposure", - "description": "External exposure associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2ExternalExposure" }, "externalSystems": { "additionalProperties": { "$ref": "GoogleCloudSecuritycenterV2ExternalSystem" }, - "description": "Output only. Third party SIEM/SOAR fields within SCC, contains external system information and external system finding fields.", "readOnly": true, "type": "object" }, "externalUri": { - "description": "The URI that, if available, points to a web page outside of Security Command Center where additional information about the finding can be found. This field is guaranteed to be either empty or a well formed URL.", "type": "string" }, "files": { - "description": "File associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2File" }, "type": "array" }, "findingClass": { - "description": "The class of the finding.", "enum": [ "FINDING_CLASS_UNSPECIFIED", "THREAT", @@ -7493,79 +6502,67 @@ "SECRET" ], "enumDescriptions": [ - "Unspecified finding class.", - "Describes unwanted or malicious activity.", - "Describes a potential weakness in software that increases risk to Confidentiality & Integrity & Availability.", - "Describes a potential weakness in cloud resource/asset configuration that increases risk.", - "Describes a security observation that is for informational purposes.", - "Describes an error that prevents some SCC functionality.", - "Describes a potential security risk due to a change in the security posture.", - "Describes a combination of security issues that represent a more severe security problem when taken together.", - "Describes a potential security risk to data assets that contain sensitive data.", - "Describes a resource or resource group where high risk attack paths converge, based on attack path simulations (APS).", - "Describes a potential security risk due to the resource being exposed to the internet.", - "Describes a potential security risk due to plaintext credentials, keys, or tokens being exposed in an asset or workload." + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" ], "type": "string" }, "groupMemberships": { - "description": "Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way. This field cannot be updated. Its value is ignored in all update requests.", "items": { "$ref": "GoogleCloudSecuritycenterV2GroupMembership" }, "type": "array" }, "iamBindings": { - "description": "Represents IAM bindings associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2IamBinding" }, "type": "array" }, "indicator": { - "$ref": "GoogleCloudSecuritycenterV2Indicator", - "description": "Represents what's commonly known as an *indicator of compromise* (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise)." + "$ref": "GoogleCloudSecuritycenterV2Indicator" }, "ipRules": { - "$ref": "GoogleCloudSecuritycenterV2IpRules", - "description": "IP rules associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2IpRules" }, "job": { - "$ref": "GoogleCloudSecuritycenterV2Job", - "description": "Job associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2Job" }, "kernelRootkit": { - "$ref": "GoogleCloudSecuritycenterV2KernelRootkit", - "description": "Signature of the kernel rootkit." + "$ref": "GoogleCloudSecuritycenterV2KernelRootkit" }, "kubernetes": { - "$ref": "GoogleCloudSecuritycenterV2Kubernetes", - "description": "Kubernetes resources associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2Kubernetes" }, "loadBalancers": { - "description": "The load balancers associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2LoadBalancer" }, "type": "array" }, "logEntries": { - "description": "Log entries that are relevant to the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2LogEntry" }, "type": "array" }, "mitreAttack": { - "$ref": "GoogleCloudSecuritycenterV2MitreAttack", - "description": "MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org" + "$ref": "GoogleCloudSecuritycenterV2MitreAttack" }, "moduleName": { - "description": "Unique identifier of the module which generated the finding. Example: folders/598186756061/securityHealthAnalyticsSettings/customModules/56799441161885", "type": "string" }, "mute": { - "description": "Indicates the mute state of a finding (either muted, unmuted or undefined). Unlike other attributes of a finding, a finding provider shouldn't set the value of mute.", "enum": [ "MUTE_UNSPECIFIED", "MUTED", @@ -7573,93 +6570,76 @@ "UNDEFINED" ], "enumDescriptions": [ - "Unspecified.", - "Finding has been muted.", - "Finding has been unmuted.", - "Finding has never been muted/unmuted." + "", + "", + "", + "" ], "type": "string" }, "muteInfo": { "$ref": "GoogleCloudSecuritycenterV2MuteInfo", - "description": "Output only. The mute information regarding this finding.", "readOnly": true }, "muteInitiator": { - "description": "Records additional information about the mute operation, for example, the [mute configuration](https://cloud.google.com/security-command-center/docs/how-to-mute-findings) that muted the finding and the user who muted the finding.", "type": "string" }, "muteUpdateTime": { - "description": "Output only. The most recent time this finding was muted or unmuted.", "format": "google-datetime", "readOnly": true, "type": "string" }, "name": { - "description": "Identifier. The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. The following list shows some examples: + `organizations/{organization_id}/sources/{source_id}/findings/{finding_id}` + `organizations/{organization_id}/sources/{source_id}/locations/{location_id}/findings/{finding_id}` + `folders/{folder_id}/sources/{source_id}/findings/{finding_id}` + `folders/{folder_id}/sources/{source_id}/locations/{location_id}/findings/{finding_id}` + `projects/{project_id}/sources/{source_id}/findings/{finding_id}` + `projects/{project_id}/sources/{source_id}/locations/{location_id}/findings/{finding_id}`", "type": "string" }, "networks": { - "description": "Represents the VPC networks that the resource is attached to.", "items": { "$ref": "GoogleCloudSecuritycenterV2Network" }, "type": "array" }, "nextSteps": { - "description": "Steps to address the finding.", "type": "string" }, "notebook": { - "$ref": "GoogleCloudSecuritycenterV2Notebook", - "description": "Notebook associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2Notebook" }, "orgPolicies": { - "description": "Contains information about the org policies associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2OrgPolicy" }, "type": "array" }, "parent": { - "description": "The relative resource name of the source and location the finding belongs to. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name This field is immutable after creation time. The following list shows some examples: + `organizations/{organization_id}/sources/{source_id}` + `folders/{folders_id}/sources/{source_id}` + `projects/{projects_id}/sources/{source_id}` + `organizations/{organization_id}/sources/{source_id}/locations/{location_id}` + `folders/{folders_id}/sources/{source_id}/locations/{location_id}` + `projects/{projects_id}/sources/{source_id}/locations/{location_id}`", "type": "string" }, "parentDisplayName": { - "description": "Output only. The human readable display name of the finding source such as \"Event Threat Detection\" or \"Security Health Analytics\".", "readOnly": true, "type": "string" }, "policyViolationSummary": { - "$ref": "GoogleCloudSecuritycenterV2PolicyViolationSummary", - "description": "PolicyViolationSummary associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2PolicyViolationSummary" }, "processes": { - "description": "Represents operating system processes associated with the Finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2Process" }, "type": "array" }, "resourceName": { - "description": "Immutable. For findings on Google Cloud resources, the full resource name of the Google Cloud resource this finding is for. See: https://cloud.google.com/apis/design/resource_names#full_resource_name When the finding is for a non-Google Cloud resource, the resourceName can be a customer or partner defined string.", "type": "string" }, "secret": { - "$ref": "GoogleCloudSecuritycenterV2Secret", - "description": "Secret associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2Secret" }, "securityMarks": { "$ref": "GoogleCloudSecuritycenterV2SecurityMarks", - "description": "Output only. User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the finding.", "readOnly": true }, "securityPosture": { - "$ref": "GoogleCloudSecuritycenterV2SecurityPosture", - "description": "The security posture associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2SecurityPosture" }, "severity": { - "description": "The severity of the finding. This field is managed by the source that writes the finding.", "enum": [ "SEVERITY_UNSPECIFIED", "CRITICAL", @@ -7668,11 +6648,11 @@ "LOW" ], "enumDescriptions": [ - "This value is used for findings when a source doesn't write a severity value.", - "Vulnerability: A critical vulnerability is easily discoverable by an external actor, exploitable, and results in the direct ability to execute arbitrary code, exfiltrate data, and otherwise gain additional access and privileges to cloud resources and workloads. Examples include publicly accessible unprotected user data and public SSH access with weak or no passwords. Threat: Indicates a threat that is able to access, modify, or delete data or execute unauthorized code within existing resources.", - "Vulnerability: A high risk vulnerability can be easily discovered and exploited in combination with other vulnerabilities in order to gain direct access and the ability to execute arbitrary code, exfiltrate data, and otherwise gain additional access and privileges to cloud resources and workloads. An example is a database with weak or no passwords that is only accessible internally. This database could easily be compromised by an actor that had access to the internal network. Threat: Indicates a threat that is able to create new computational resources in an environment but not able to access data or execute code in existing resources.", - "Vulnerability: A medium risk vulnerability could be used by an actor to gain access to resources or privileges that enable them to eventually (through multiple steps or a complex exploit) gain access and the ability to execute arbitrary code or exfiltrate data. An example is a service account with access to more projects than it should have. If an actor gains access to the service account, they could potentially use that access to manipulate a project the service account was not intended to. Threat: Indicates a threat that is able to cause operational impact but may not access data or execute unauthorized code.", - "Vulnerability: A low risk vulnerability hampers a security organization's ability to detect vulnerabilities or active threats in their deployment, or prevents the root cause investigation of security issues. An example is monitoring and logs being disabled for resource configurations and access. Threat: Indicates a threat that has obtained minimal access to an environment but is not able to access data, execute code, or create resources." + "", + "", + "", + "", + "" ], "type": "string" }, @@ -7680,60 +6660,50 @@ "additionalProperties": { "type": "any" }, - "description": "Source specific properties. These properties are managed by the source that writes the finding. The key names in the source_properties map must be between 1 and 255 characters, and must start with a letter and contain alphanumeric characters or underscores only.", "type": "object" }, "state": { - "description": "Output only. The state of the finding.", "enum": [ "STATE_UNSPECIFIED", "ACTIVE", "INACTIVE" ], "enumDescriptions": [ - "Unspecified state.", - "The finding requires attention and has not been addressed yet.", - "The finding has been fixed, triaged as a non-issue or otherwise addressed and is no longer active." + "", + "", + "" ], "readOnly": true, "type": "string" }, "toxicCombination": { - "$ref": "GoogleCloudSecuritycenterV2ToxicCombination", - "description": "Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. This field cannot be updated. Its value is ignored in all update requests." + "$ref": "GoogleCloudSecuritycenterV2ToxicCombination" }, "vertexAi": { - "$ref": "GoogleCloudSecuritycenterV2VertexAi", - "description": "VertexAi associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2VertexAi" }, "vulnerability": { - "$ref": "GoogleCloudSecuritycenterV2Vulnerability", - "description": "Represents vulnerability-specific fields like CVE and CVSS scores. CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/)" + "$ref": "GoogleCloudSecuritycenterV2Vulnerability" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Folder": { - "description": "Message that contains the resource name and display name of a folder resource.", "id": "GoogleCloudSecuritycenterV2Folder", "properties": { "resourceFolder": { - "description": "Full resource name of this folder. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", "type": "string" }, "resourceFolderDisplayName": { - "description": "The user defined display name for this folder.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Framework": { - "description": "Compliance framework associated with the finding.", "id": "GoogleCloudSecuritycenterV2Framework", "properties": { "category": { - "description": "Category of the framework associated with the finding. E.g. Security Benchmark, or Assured Workloads", "items": { "enum": [ "FRAMEWORK_CATEGORY_UNSPECIFIED", @@ -7744,43 +6714,39 @@ "CUSTOM_FRAMEWORK" ], "enumDescriptions": [ - "Default value. This value is unused.", - "Security Benchmarks framework", - "Assured Workloads framework", - "Data Security framework", - "Google Best Practices framework", - "A user-created framework" + "", + "", + "", + "", + "", + "" ], "type": "string" }, "type": "array" }, "controls": { - "description": "The controls associated with the framework.", "items": { "$ref": "GoogleCloudSecuritycenterV2Control" }, "type": "array" }, "displayName": { - "description": "Display name of the framework. For a standard framework, this will look like e.g. PCI DSS 3.2.1, whereas for a custom framework it can be a user defined string like MyFramework", "type": "string" }, "name": { - "description": "Name of the framework associated with the finding", "type": "string" }, "type": { - "description": "Type of the framework associated with the finding, to specify whether the framework is built-in (pre-defined and immutable) or a custom framework defined by the customer (equivalent to security posture)", "enum": [ "FRAMEWORK_TYPE_UNSPECIFIED", "FRAMEWORK_TYPE_BUILT_IN", "FRAMEWORK_TYPE_CUSTOM" ], "enumDescriptions": [ - "Default value. This value is unused.", - "The framework is a built-in framework if it is created and managed by GCP.", - "The framework is a custom framework if it is created and managed by the user." + "", + "", + "" ], "type": "string" } @@ -7788,35 +6754,30 @@ "type": "object" }, "GoogleCloudSecuritycenterV2Geolocation": { - "description": "Represents a geographical location for a given access.", "id": "GoogleCloudSecuritycenterV2Geolocation", "properties": { "regionCode": { - "description": "A CLDR.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2GroupMembership": { - "description": "Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way.", "id": "GoogleCloudSecuritycenterV2GroupMembership", "properties": { "groupId": { - "description": "ID of the group.", "type": "string" }, "groupType": { - "description": "Type of group.", "enum": [ "GROUP_TYPE_UNSPECIFIED", "GROUP_TYPE_TOXIC_COMBINATION", "GROUP_TYPE_CHOKEPOINT" ], "enumDescriptions": [ - "Default value.", - "Group represents a toxic combination.", - "Group represents a chokepoint." + "", + "", + "" ], "type": "string" } @@ -7824,76 +6785,64 @@ "type": "object" }, "GoogleCloudSecuritycenterV2HttpResponse": { - "description": "The http response returned by the web application.", "id": "GoogleCloudSecuritycenterV2HttpResponse", "properties": { "path": { - "description": "The http path for which response code was returned by web application, for example, \"https://test-app.a.run.app/test\".", "type": "string" }, "statusCode": { - "description": "The http response code returned by the web application, for example, 200.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IamBinding": { - "description": "Represents a particular IAM binding, which captures a member's role addition, removal, or state.", "id": "GoogleCloudSecuritycenterV2IamBinding", "properties": { "action": { - "description": "The action that was performed on a Binding.", "enum": [ "ACTION_UNSPECIFIED", "ADD", "REMOVE" ], "enumDescriptions": [ - "Unspecified.", - "Addition of a Binding.", - "Removal of a Binding." + "", + "", + "" ], "type": "string" }, "member": { - "description": "A single identity requesting access for a Cloud Platform resource, for example, \"foo@google.com\".", "type": "string" }, "role": { - "description": "Role that is assigned to \"members\". For example, \"roles/viewer\", \"roles/editor\", or \"roles/owner\".", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Indicator": { - "description": "Represents what's commonly known as an _indicator of compromise_ (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise).", "id": "GoogleCloudSecuritycenterV2Indicator", "properties": { "domains": { - "description": "List of domains associated to the Finding.", "items": { "type": "string" }, "type": "array" }, "ipAddresses": { - "description": "The list of IP addresses that are associated with the finding.", "items": { "type": "string" }, "type": "array" }, "signatures": { - "description": "The list of matched signatures indicating that the given process is present in the environment.", "items": { "$ref": "GoogleCloudSecuritycenterV2ProcessSignature" }, "type": "array" }, "uris": { - "description": "The list of URIs associated to the Findings.", "items": { "type": "string" }, @@ -7903,84 +6852,70 @@ "type": "object" }, "GoogleCloudSecuritycenterV2InfoType": { - "description": "Type of information detected by the API.", "id": "GoogleCloudSecuritycenterV2InfoType", "properties": { "name": { - "description": "Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.", "type": "string" }, "sensitivityScore": { - "$ref": "GoogleCloudSecuritycenterV2SensitivityScore", - "description": "Optional custom sensitivity for this InfoType. This only applies to data profiling." + "$ref": "GoogleCloudSecuritycenterV2SensitivityScore" }, "version": { - "description": "Optional version name for this InfoType.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IpRule": { - "description": "IP rule information.", "id": "GoogleCloudSecuritycenterV2IpRule", "properties": { "portRanges": { - "description": "Optional. An optional list of ports to which this rule applies. This field is only applicable for the UDP or (S)TCP protocols. Each entry must be either an integer or a range including a min and max port number.", "items": { "$ref": "GoogleCloudSecuritycenterV2PortRange" }, "type": "array" }, "protocol": { - "description": "The IP protocol this rule applies to. This value can either be one of the following well known protocol strings (TCP, UDP, ICMP, ESP, AH, IPIP, SCTP) or a string representation of the integer value.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IpRules": { - "description": "IP rules associated with the finding.", "id": "GoogleCloudSecuritycenterV2IpRules", "properties": { "allowed": { - "$ref": "GoogleCloudSecuritycenterV2Allowed", - "description": "Tuple with allowed rules." + "$ref": "GoogleCloudSecuritycenterV2Allowed" }, "denied": { - "$ref": "GoogleCloudSecuritycenterV2Denied", - "description": "Tuple with denied rules." + "$ref": "GoogleCloudSecuritycenterV2Denied" }, "destinationIpRanges": { - "description": "If destination IP ranges are specified, the firewall rule applies only to traffic that has a destination IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4.", "items": { "type": "string" }, "type": "array" }, "direction": { - "description": "The direction that the rule is applicable to, one of ingress or egress.", "enum": [ "DIRECTION_UNSPECIFIED", "INGRESS", "EGRESS" ], "enumDescriptions": [ - "Unspecified direction value.", - "Ingress direction value.", - "Egress direction value." + "", + "", + "" ], "type": "string" }, "exposedServices": { - "description": "Name of the network protocol service, such as FTP, that is exposed by the open port. Follows the naming convention available at: https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml.", "items": { "type": "string" }, "type": "array" }, "sourceIpRanges": { - "description": "If source IP 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. Only supports IPv4.", "items": { "type": "string" }, @@ -7990,37 +6925,30 @@ "type": "object" }, "GoogleCloudSecuritycenterV2Issue": { - "description": "Security Command Center Issue.", "id": "GoogleCloudSecuritycenterV2Issue", "properties": { "createTime": { - "description": "Output only. The time the issue was created.", "format": "google-datetime", "readOnly": true, "type": "string" }, "description": { - "description": "The description of the issue in Markdown format.", "type": "string" }, "detection": { - "description": "The finding category or rule name that generated the issue.", "type": "string" }, "domains": { - "description": "The domains of the issue.", "items": { "$ref": "GoogleCloudSecuritycenterV2IssueDomain" }, "type": "array" }, "exposureScore": { - "description": "The exposure score of the issue.", "format": "double", "type": "number" }, "issueType": { - "description": "The type of the issue.", "enum": [ "ISSUE_TYPE_UNSPECIFIED", "CHOKEPOINT", @@ -8028,60 +6956,51 @@ "INSIGHT" ], "enumDescriptions": [ - "Unspecified issue type.", - "Chokepoint issue type.", - "Toxic combination issue type.", - "Insight issue type." + "", + "", + "", + "" ], "type": "string" }, "lastObservationTime": { - "description": "The time the issue was last observed.", "format": "google-datetime", "type": "string" }, "mute": { - "$ref": "GoogleCloudSecuritycenterV2IssueMute", - "description": "The mute information of the issue." + "$ref": "GoogleCloudSecuritycenterV2IssueMute" }, "name": { - "description": "Identifier. The name of the issue. Format: organizations/{organization}/locations/{location}/issues/{issue}", "type": "string" }, "primaryResource": { - "$ref": "GoogleCloudSecuritycenterV2IssueResource", - "description": "The primary resource associated with the issue." + "$ref": "GoogleCloudSecuritycenterV2IssueResource" }, "relatedFindings": { - "description": "The findings related to the issue.", "items": { "$ref": "GoogleCloudSecuritycenterV2IssueFinding" }, "type": "array" }, "remediations": { - "description": "Approaches to remediate the issue in Markdown format.", "items": { "type": "string" }, "type": "array" }, "secondaryResources": { - "description": "Additional resources associated with the issue.", "items": { "$ref": "GoogleCloudSecuritycenterV2IssueResource" }, "type": "array" }, "securityContexts": { - "description": "The security context of the issue.", "items": { "$ref": "GoogleCloudSecuritycenterV2IssueSecurityContext" }, "type": "array" }, "severity": { - "description": "The severity of the issue.", "enum": [ "SEVERITY_UNSPECIFIED", "CRITICAL", @@ -8090,31 +7009,29 @@ "LOW" ], "enumDescriptions": [ - "Unspecified severity.", - "Critical severity.", - "High severity.", - "Medium severity.", - "Low severity." + "", + "", + "", + "", + "" ], "type": "string" }, "state": { - "description": "Output only. The state of the issue.", "enum": [ "STATE_UNSPECIFIED", "ACTIVE", "INACTIVE" ], "enumDescriptions": [ - "Unspecified state.", - "Active state.", - "Inactive state." + "", + "", + "" ], "readOnly": true, "type": "string" }, "updateTime": { - "description": "Output only. The time the issue was last updated.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -8123,11 +7040,9 @@ "type": "object" }, "GoogleCloudSecuritycenterV2IssueDomain": { - "description": "The domains of an issue.", "id": "GoogleCloudSecuritycenterV2IssueDomain", "properties": { "domainCategory": { - "description": "The domain category of the issue.", "enum": [ "DOMAIN_CATEGORY_UNSPECIFIED", "AI", @@ -8139,14 +7054,14 @@ "THREAT" ], "enumDescriptions": [ - "Unspecified domain category.", - "Issues in the AI domain.", - "Issues in the code domain.", - "Issues in the container domain.", - "Issues in the data domain.", - "Issues in the identity and access domain.", - "Issues in the vulnerability domain.", - "Issues in the threat domain." + "", + "", + "", + "", + "", + "", + "", + "" ], "type": "string" } @@ -8154,75 +7069,62 @@ "type": "object" }, "GoogleCloudSecuritycenterV2IssueFinding": { - "description": "Finding related to an issue.", "id": "GoogleCloudSecuritycenterV2IssueFinding", "properties": { "cve": { - "$ref": "GoogleCloudSecuritycenterV2IssueFindingCve", - "description": "The CVE of the finding." + "$ref": "GoogleCloudSecuritycenterV2IssueFindingCve" }, "name": { - "description": "The name of the finding.", "type": "string" }, "securityBulletin": { - "$ref": "GoogleCloudSecuritycenterV2IssueFindingSecurityBulletin", - "description": "The security bulletin of the finding." + "$ref": "GoogleCloudSecuritycenterV2IssueFindingSecurityBulletin" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueFindingCve": { - "description": "The CVE of the finding.", "id": "GoogleCloudSecuritycenterV2IssueFindingCve", "properties": { "name": { - "description": "The CVE name.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueFindingSecurityBulletin": { - "description": "The security bulletin of the finding.", "id": "GoogleCloudSecuritycenterV2IssueFindingSecurityBulletin", "properties": { "name": { - "description": "The security bulletin name.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueMute": { - "description": "The mute information of the issue.", "id": "GoogleCloudSecuritycenterV2IssueMute", "properties": { "muteInitiator": { - "description": "The email address of the user who last changed the mute state of the issue.", "type": "string" }, "muteReason": { - "description": "The user-provided reason for muting the issue.", "type": "string" }, "muteState": { - "description": "Output only. The mute state of the issue.", "enum": [ "MUTE_STATE_UNSPECIFIED", "NOT_MUTED", "MUTED" ], "enumDescriptions": [ - "Unspecified mute state.", - "Not muted.", - "Muted." + "", + "", + "" ], "readOnly": true, "type": "string" }, "muteUpdateTime": { - "description": "The time the issue was muted.", "format": "google-datetime", "type": "string" } @@ -8230,35 +7132,27 @@ "type": "object" }, "GoogleCloudSecuritycenterV2IssueResource": { - "description": "A resource associated with the an issue.", "id": "GoogleCloudSecuritycenterV2IssueResource", "properties": { "adcApplication": { - "$ref": "GoogleCloudSecuritycenterV2IssueResourceAdcApplication", - "description": "The ADC application associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2IssueResourceAdcApplication" }, "adcApplicationTemplate": { - "$ref": "GoogleCloudSecuritycenterV2IssueResourceAdcApplicationTemplateRevision", - "description": "The ADC template associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2IssueResourceAdcApplicationTemplateRevision" }, "adcSharedTemplate": { - "$ref": "GoogleCloudSecuritycenterV2IssueResourceAdcSharedTemplateRevision", - "description": "The ADC shared template associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2IssueResourceAdcSharedTemplateRevision" }, "application": { - "$ref": "GoogleCloudSecuritycenterV2IssueResourceApplication", - "description": "The AppHub application associated with the resource, if any. Only populated for the primary resource." + "$ref": "GoogleCloudSecuritycenterV2IssueResourceApplication" }, "awsMetadata": { - "$ref": "GoogleCloudSecuritycenterV2IssueResourceAwsMetadata", - "description": "The AWS metadata of the resource associated with the issue. Only populated for AWS resources." + "$ref": "GoogleCloudSecuritycenterV2IssueResourceAwsMetadata" }, "azureMetadata": { - "$ref": "GoogleCloudSecuritycenterV2IssueResourceAzureMetadata", - "description": "The Azure metadata of the resource associated with the issue. Only populated for Azure resources." + "$ref": "GoogleCloudSecuritycenterV2IssueResourceAzureMetadata" }, "cloudProvider": { - "description": "The cloud provider of the resource associated with the issue.", "enum": [ "CLOUD_PROVIDER_UNSPECIFIED", "GOOGLE_CLOUD", @@ -8266,112 +7160,92 @@ "MICROSOFT_AZURE" ], "enumDescriptions": [ - "Unspecified cloud provider.", - "Google Cloud.", - "Amazon Web Services.", - "Microsoft Azure." + "", + "", + "", + "" ], "type": "string" }, "displayName": { - "description": "The resource-type specific display name of the resource associated with the issue.", "type": "string" }, "googleCloudMetadata": { - "$ref": "GoogleCloudSecuritycenterV2IssueResourceGoogleCloudMetadata", - "description": "The Google Cloud metadata of the resource associated with the issue. Only populated for Google Cloud resources." + "$ref": "GoogleCloudSecuritycenterV2IssueResourceGoogleCloudMetadata" }, "name": { - "description": "The full resource name of the resource associated with the issue.", "type": "string" }, "type": { - "description": "The type of the resource associated with the issue.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceAdcApplication": { - "description": "Represents an ADC application associated with the finding.", "id": "GoogleCloudSecuritycenterV2IssueResourceAdcApplication", "properties": { "attributes": { - "$ref": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributes", - "description": "Consumer provided attributes for the AppHub application." + "$ref": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributes" }, "name": { - "description": "The resource name of an ADC Application. Format: projects/{project}/locations/{location}/spaces/{space}/applications/{application}", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceAdcApplicationTemplateRevision": { - "description": "Represents an ADC template associated with the finding.", "id": "GoogleCloudSecuritycenterV2IssueResourceAdcApplicationTemplateRevision", "properties": { "name": { - "description": "The resource name of an ADC Application Template Revision. Format: projects/{project}/locations/{location}/spaces/{space}/applicationTemplates/{application_template}/revisions/{revision}", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceAdcSharedTemplateRevision": { - "description": "Represents an ADC shared template associated with the finding.", "id": "GoogleCloudSecuritycenterV2IssueResourceAdcSharedTemplateRevision", "properties": { "name": { - "description": "The resource name of an ADC Shared Template Revision. Format: projects/{project}/locations/{location}/spaces/{space}/applicationTemplates/{application_template}/revisions/{revision}", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceApplication": { - "description": "The AppHub application associated with the resource, if any.", "id": "GoogleCloudSecuritycenterV2IssueResourceApplication", "properties": { "attributes": { - "$ref": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributes", - "description": "Consumer provided attributes for the application" + "$ref": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributes" }, "name": { - "description": "The resource name of an Application. Format: `projects/{host-project-id}/locations/{location}/applications/{application-id}`", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributes": { - "description": "Consumer provided attributes for the application", "id": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributes", "properties": { "businessOwners": { - "description": "Business team that ensures user needs are met and value is delivered", "items": { "$ref": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesContactInfo" }, "type": "array" }, "criticality": { - "$ref": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesCriticality", - "description": "User-defined criticality information." + "$ref": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesCriticality" }, "developerOwners": { - "description": "Developer team that owns development and coding.", "items": { "$ref": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesContactInfo" }, "type": "array" }, "environment": { - "$ref": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesEnvironment", - "description": "User-defined environment information." + "$ref": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesEnvironment" }, "operatorOwners": { - "description": "Operator team that ensures runtime and operations.", "items": { "$ref": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesContactInfo" }, @@ -8381,22 +7255,18 @@ "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesContactInfo": { - "description": "Contact information of stakeholders.", "id": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesContactInfo", "properties": { "email": { - "description": "Email address of the contacts.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesCriticality": { - "description": "Criticality of the Application, Service, or Workload", "id": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesCriticality", "properties": { "type": { - "description": "Criticality Type.", "enum": [ "CRITICALITY_TYPE_UNSPECIFIED", "MISSION_CRITICAL", @@ -8405,11 +7275,11 @@ "LOW" ], "enumDescriptions": [ - "Unspecified type.", - "Mission critical service, application or workload.", - "High impact.", - "Medium impact.", - "Low impact." + "", + "", + "", + "", + "" ], "type": "string" } @@ -8417,11 +7287,9 @@ "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesEnvironment": { - "description": "Environment of the Application, Service, or Workload", "id": "GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesEnvironment", "properties": { "type": { - "description": "Environment Type.", "enum": [ "ENVIRONMENT_TYPE_UNSPECIFIED", "PRODUCTION", @@ -8430,11 +7298,11 @@ "DEVELOPMENT" ], "enumDescriptions": [ - "Unspecified type.", - "Production environment.", - "Staging environment.", - "Test environment.", - "Development environment." + "", + "", + "", + "", + "" ], "type": "string" } @@ -8442,93 +7310,75 @@ "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceAwsMetadata": { - "description": "The AWS metadata of a resource associated with an issue.", "id": "GoogleCloudSecuritycenterV2IssueResourceAwsMetadata", "properties": { "account": { - "$ref": "GoogleCloudSecuritycenterV2IssueResourceAwsMetadataAwsAccount", - "description": "The AWS account of the resource associated with the issue." + "$ref": "GoogleCloudSecuritycenterV2IssueResourceAwsMetadataAwsAccount" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceAwsMetadataAwsAccount": { - "description": "The AWS account of the resource associated with the issue.", "id": "GoogleCloudSecuritycenterV2IssueResourceAwsMetadataAwsAccount", "properties": { "id": { - "description": "The AWS account ID of the resource associated with the issue.", "type": "string" }, "name": { - "description": "The AWS account name of the resource associated with the issue.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceAzureMetadata": { - "description": "The Azure metadata of a resource associated with an issue.", "id": "GoogleCloudSecuritycenterV2IssueResourceAzureMetadata", "properties": { "subscription": { - "$ref": "GoogleCloudSecuritycenterV2IssueResourceAzureMetadataAzureSubscription", - "description": "The Azure subscription of the resource associated with the issue." + "$ref": "GoogleCloudSecuritycenterV2IssueResourceAzureMetadataAzureSubscription" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceAzureMetadataAzureSubscription": { - "description": "The Azure subscription of the resource associated with the issue.", "id": "GoogleCloudSecuritycenterV2IssueResourceAzureMetadataAzureSubscription", "properties": { "displayName": { - "description": "The Azure subscription display name of the resource associated with the issue.", "type": "string" }, "id": { - "description": "The Azure subscription ID of the resource associated with the issue.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueResourceGoogleCloudMetadata": { - "description": "Google Cloud metadata of a resource associated with an issue.", "id": "GoogleCloudSecuritycenterV2IssueResourceGoogleCloudMetadata", "properties": { "projectId": { - "description": "The project ID that the resource associated with the issue belongs to.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueSecurityContext": { - "description": "Security context associated with an issue.", "id": "GoogleCloudSecuritycenterV2IssueSecurityContext", "properties": { "aggregatedCount": { - "$ref": "GoogleCloudSecuritycenterV2IssueSecurityContextAggregatedCount", - "description": "The aggregated count of the security context." + "$ref": "GoogleCloudSecuritycenterV2IssueSecurityContextAggregatedCount" }, "context": { - "$ref": "GoogleCloudSecuritycenterV2IssueSecurityContextContext", - "description": "The context of the security context." + "$ref": "GoogleCloudSecuritycenterV2IssueSecurityContextContext" } }, "type": "object" }, "GoogleCloudSecuritycenterV2IssueSecurityContextAggregatedCount": { - "description": "Aggregated count of a security context.", "id": "GoogleCloudSecuritycenterV2IssueSecurityContextAggregatedCount", "properties": { "key": { - "description": "Aggregation key.", "type": "string" }, "value": { - "description": "Aggregation value.", "format": "int32", "type": "integer" } @@ -8536,15 +7386,12 @@ "type": "object" }, "GoogleCloudSecuritycenterV2IssueSecurityContextContext": { - "description": "Context of a security context.", "id": "GoogleCloudSecuritycenterV2IssueSecurityContextContext", "properties": { "type": { - "description": "Context type.", "type": "string" }, "values": { - "description": "Context values.", "items": { "type": "string" }, @@ -8554,24 +7401,19 @@ "type": "object" }, "GoogleCloudSecuritycenterV2Job": { - "description": "Describes a job", "id": "GoogleCloudSecuritycenterV2Job", "properties": { "errorCode": { - "description": "Optional. If the job did not complete successfully, this field describes why.", "format": "int32", "type": "integer" }, "location": { - "description": "Optional. Gives the location where the job ran, such as `US` or `europe-west1`", "type": "string" }, "name": { - "description": "The fully-qualified name for a job. e.g. `projects//jobs/`", "type": "string" }, "state": { - "description": "Output only. State of the job, such as `RUNNING` or `PENDING`.", "enum": [ "JOB_STATE_UNSPECIFIED", "PENDING", @@ -8580,11 +7422,11 @@ "FAILED" ], "enumDescriptions": [ - "Unspecified represents an unknown state and should not be used.", - "Job is scheduled and pending for run", - "Job in progress", - "Job has completed with success", - "Job has completed but with failure" + "", + "", + "", + "", + "" ], "readOnly": true, "type": "string" @@ -8593,96 +7435,78 @@ "type": "object" }, "GoogleCloudSecuritycenterV2KernelRootkit": { - "description": "Kernel mode rootkit signatures.", "id": "GoogleCloudSecuritycenterV2KernelRootkit", "properties": { "name": { - "description": "Rootkit name, when available.", "type": "string" }, "unexpectedCodeModification": { - "description": "True if unexpected modifications of kernel code memory are present.", "type": "boolean" }, "unexpectedFtraceHandler": { - "description": "True if `ftrace` points are present with callbacks pointing to regions that are not in the expected kernel or module code range.", "type": "boolean" }, "unexpectedInterruptHandler": { - "description": "True if interrupt handlers that are are not in the expected kernel or module code regions are present.", "type": "boolean" }, "unexpectedKernelCodePages": { - "description": "True if kernel code pages that are not in the expected kernel or module code regions are present.", "type": "boolean" }, "unexpectedKprobeHandler": { - "description": "True if `kprobe` points are present with callbacks pointing to regions that are not in the expected kernel or module code range.", "type": "boolean" }, "unexpectedProcessesInRunqueue": { - "description": "True if unexpected processes in the scheduler run queue are present. Such processes are in the run queue, but not in the process task list.", "type": "boolean" }, "unexpectedReadOnlyDataModification": { - "description": "True if unexpected modifications of kernel read-only data memory are present.", "type": "boolean" }, "unexpectedSystemCallHandler": { - "description": "True if system call handlers that are are not in the expected kernel or module code regions are present.", "type": "boolean" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Kubernetes": { - "description": "Kubernetes-related attributes.", "id": "GoogleCloudSecuritycenterV2Kubernetes", "properties": { "accessReviews": { - "description": "Provides information on any Kubernetes access reviews (privilege checks) relevant to the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2AccessReview" }, "type": "array" }, "bindings": { - "description": "Provides Kubernetes role binding information for findings that involve [RoleBindings or ClusterRoleBindings](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control).", "items": { "$ref": "GoogleCloudSecuritycenterV2Binding" }, "type": "array" }, "nodePools": { - "description": "GKE [node pools](https://cloud.google.com/kubernetes-engine/docs/concepts/node-pools) associated with the finding. This field contains node pool information for each node, when it is available.", "items": { "$ref": "GoogleCloudSecuritycenterV2NodePool" }, "type": "array" }, "nodes": { - "description": "Provides Kubernetes [node](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture#nodes) information.", "items": { "$ref": "GoogleCloudSecuritycenterV2Node" }, "type": "array" }, "objects": { - "description": "Kubernetes objects related to the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2Object" }, "type": "array" }, "pods": { - "description": "Kubernetes [Pods](https://cloud.google.com/kubernetes-engine/docs/concepts/pod) associated with the finding. This field contains Pod records for each container that is owned by a Pod.", "items": { "$ref": "GoogleCloudSecuritycenterV2Pod" }, "type": "array" }, "roles": { - "description": "Provides Kubernetes role information for findings that involve [Roles or ClusterRoles](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control).", "items": { "$ref": "GoogleCloudSecuritycenterV2Role" }, @@ -8692,52 +7516,42 @@ "type": "object" }, "GoogleCloudSecuritycenterV2Label": { - "description": "Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering).", "id": "GoogleCloudSecuritycenterV2Label", "properties": { "name": { - "description": "Name of the label.", "type": "string" }, "value": { - "description": "Value that corresponds to the label's name.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2LoadBalancer": { - "description": "Contains information related to the load balancer associated with the finding.", "id": "GoogleCloudSecuritycenterV2LoadBalancer", "properties": { "name": { - "description": "The name of the load balancer associated with the finding.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2LogEntry": { - "description": "An individual entry in a log.", "id": "GoogleCloudSecuritycenterV2LogEntry", "properties": { "cloudLoggingEntry": { - "$ref": "GoogleCloudSecuritycenterV2CloudLoggingEntry", - "description": "An individual entry in a log stored in Cloud Logging." + "$ref": "GoogleCloudSecuritycenterV2CloudLoggingEntry" } }, "type": "object" }, "GoogleCloudSecuritycenterV2MemoryHashSignature": { - "description": "A signature corresponding to memory page hashes.", "id": "GoogleCloudSecuritycenterV2MemoryHashSignature", "properties": { "binaryFamily": { - "description": "The binary family.", "type": "string" }, "detections": { - "description": "The list of memory hash detections contributing to the binary family match.", "items": { "$ref": "GoogleCloudSecuritycenterV2Detection" }, @@ -8747,11 +7561,9 @@ "type": "object" }, "GoogleCloudSecuritycenterV2MitreAttack": { - "description": "MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org", "id": "GoogleCloudSecuritycenterV2MitreAttack", "properties": { "additionalTactics": { - "description": "Additional MITRE ATT&CK tactics related to this finding, if any.", "items": { "enum": [ "TACTIC_UNSPECIFIED", @@ -8771,28 +7583,27 @@ "IMPACT" ], "enumDescriptions": [ - "Unspecified value.", - "TA0043", - "TA0042", - "TA0001", - "TA0002", - "TA0003", - "TA0004", - "TA0005", - "TA0006", - "TA0007", - "TA0008", - "TA0009", - "TA0011", - "TA0010", - "TA0040" + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" ], "type": "string" }, "type": "array" }, "additionalTechniques": { - "description": "Additional MITRE ATT&CK techniques related to this finding, if any, along with any of their respective parent techniques.", "items": { "enum": [ "TECHNIQUE_UNSPECIFIED", @@ -8936,152 +7747,151 @@ "FINANCIAL_THEFT" ], "enumDescriptions": [ - "Unspecified value.", - "T1001", - "T1001.002", - "T1003", - "T1003.007", - "T1003.008", - "T1005", - "T1020", - "T1027", - "T1027.003", - "T1027.004", - "T1027.010", - "T1029", - "T1033", - "T1036", - "T1036.005", - "T1037", - "T1037.005", - "T1046", - "T1053", - "T1053.003", - "T1053.007", - "T1055", - "T1056", - "T1056.001", - "T1057", - "T1059", - "T1059.004", - "T1059.006", - "T1068", - "T1069", - "T1069.003", - "T1070", - "T1070.002", - "T1070.003", - "T1070.004", - "T1070.006", - "T1070.008", - "T1071", - "T1071.004", - "T1072", - "T1078", - "T1078.001", - "T1078.003", - "T1078.004", - "T1083", - "T1087.001", - "T1090", - "T1090.002", - "T1090.003", - "T1098", - "T1098.001", - "T1098.003", - "T1098.004", - "T1098.006", - "T1104", - "T1105", - "T1106", - "T1110", - "T1119", - "T1129", - "T1132", - "T1132.001", - "T1134", - "T1134.001", - "T1136", - "T1136.001", - "T1140", - "T1190", - "T1195", - "T1195.001", - "T1203", - "T1204", - "T1212", - "T1222.002", - "T1484", - "T1485", - "T1486", - "T1489", - "T1490", - "T1495", - "T1496", - "T1498", - "T1526", - "T1528", - "T1531", - "T1537", - "T1539", - "T1543", - "T1546", - "T1547", - "T1547.006", - "T1547.009", - "T1548", - "T1548.001", - "T1548.003", - "T1552", - "T1552.001", - "T1552.003", - "T1552.004", - "T1553", - "T1553.004", - "T1554", - "T1555", - "T1556", - "T1556.003", - "T1556.006", - "T1562", - "T1562.001", - "T1562.006", - "T1562.012", - "T1564", - "T1564.001", - "T1564.002", - "T1567", - "T1567.002", - "T1568", - "T1570", - "T1574", - "T1574.006", - "T1578", - "T1578.001", - "T1580", - "T1587", - "T1587.001", - "T1588", - "T1588.001", - "T1588.006", - "T1595", - "T1595.001", - "T1608", - "T1608.001", - "T1609", - "T1610", - "T1611", - "T1613", - "T1620", - "T1649", - "T1657" + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" ], "type": "string" }, "type": "array" }, "primaryTactic": { - "description": "The MITRE ATT&CK tactic most closely represented by this finding, if any.", "enum": [ "TACTIC_UNSPECIFIED", "RECONNAISSANCE", @@ -9100,26 +7910,25 @@ "IMPACT" ], "enumDescriptions": [ - "Unspecified value.", - "TA0043", - "TA0042", - "TA0001", - "TA0002", - "TA0003", - "TA0004", - "TA0005", - "TA0006", - "TA0007", - "TA0008", - "TA0009", - "TA0011", - "TA0010", - "TA0040" + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" ], "type": "string" }, "primaryTechniques": { - "description": "The MITRE ATT&CK technique most closely represented by this finding, if any. primary_techniques is a repeated field because there are multiple levels of MITRE ATT&CK techniques. If the technique most closely represented by this finding is a sub-technique (e.g. `SCANNING_IP_BLOCKS`), both the sub-technique and its parent technique(s) will be listed (e.g. `SCANNING_IP_BLOCKS`, `ACTIVE_SCANNING`).", "items": { "enum": [ "TECHNIQUE_UNSPECIFIED", @@ -9263,210 +8072,199 @@ "FINANCIAL_THEFT" ], "enumDescriptions": [ - "Unspecified value.", - "T1001", - "T1001.002", - "T1003", - "T1003.007", - "T1003.008", - "T1005", - "T1020", - "T1027", - "T1027.003", - "T1027.004", - "T1027.010", - "T1029", - "T1033", - "T1036", - "T1036.005", - "T1037", - "T1037.005", - "T1046", - "T1053", - "T1053.003", - "T1053.007", - "T1055", - "T1056", - "T1056.001", - "T1057", - "T1059", - "T1059.004", - "T1059.006", - "T1068", - "T1069", - "T1069.003", - "T1070", - "T1070.002", - "T1070.003", - "T1070.004", - "T1070.006", - "T1070.008", - "T1071", - "T1071.004", - "T1072", - "T1078", - "T1078.001", - "T1078.003", - "T1078.004", - "T1083", - "T1087.001", - "T1090", - "T1090.002", - "T1090.003", - "T1098", - "T1098.001", - "T1098.003", - "T1098.004", - "T1098.006", - "T1104", - "T1105", - "T1106", - "T1110", - "T1119", - "T1129", - "T1132", - "T1132.001", - "T1134", - "T1134.001", - "T1136", - "T1136.001", - "T1140", - "T1190", - "T1195", - "T1195.001", - "T1203", - "T1204", - "T1212", - "T1222.002", - "T1484", - "T1485", - "T1486", - "T1489", - "T1490", - "T1495", - "T1496", - "T1498", - "T1526", - "T1528", - "T1531", - "T1537", - "T1539", - "T1543", - "T1546", - "T1547", - "T1547.006", - "T1547.009", - "T1548", - "T1548.001", - "T1548.003", - "T1552", - "T1552.001", - "T1552.003", - "T1552.004", - "T1553", - "T1553.004", - "T1554", - "T1555", - "T1556", - "T1556.003", - "T1556.006", - "T1562", - "T1562.001", - "T1562.006", - "T1562.012", - "T1564", - "T1564.001", - "T1564.002", - "T1567", - "T1567.002", - "T1568", - "T1570", - "T1574", - "T1574.006", - "T1578", - "T1578.001", - "T1580", - "T1587", - "T1587.001", - "T1588", - "T1588.001", - "T1588.006", - "T1595", - "T1595.001", - "T1608", - "T1608.001", - "T1609", - "T1610", - "T1611", - "T1613", - "T1620", - "T1649", - "T1657" + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" ], "type": "string" }, "type": "array" }, "version": { - "description": "The MITRE ATT&CK version referenced by the above fields. E.g. \"8\".", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2MuteConfig": { - "description": "A mute config is a Cloud SCC resource that contains the configuration to mute create/update events of findings.", "id": "GoogleCloudSecuritycenterV2MuteConfig", "properties": { "createTime": { - "description": "Output only. The time at which the mute config was created. This field is set by the server and will be ignored if provided on config creation.", "format": "google-datetime", "readOnly": true, "type": "string" }, "cryptoKeyName": { - "description": "Output only. The resource name of the Cloud KMS `CryptoKey` used to encrypt this configuration data, if CMEK was enabled during Security Command Center activation.", "readOnly": true, "type": "string" }, "description": { - "description": "A description of the mute config.", "type": "string" }, "expiryTime": { - "description": "Optional. The expiry of the mute config. Only applicable for dynamic configs. If the expiry is set, when the config expires, it is removed from all findings.", "format": "google-datetime", "type": "string" }, "filter": { - "description": "Required. An expression that defines the filter to apply across create/update events of findings. While creating a filter string, be mindful of the scope in which the mute configuration is being created. E.g., If a filter contains project = X but is created under the project = Y scope, it might not match any findings. The following field and operator combinations are supported: * severity: `=`, `:` * category: `=`, `:` * resource.name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.folders.resource_folder: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.type: `=`, `:` * finding_class: `=`, `:` * indicator.ip_addresses: `=`, `:` * indicator.domains: `=`, `:`", "type": "string" }, "mostRecentEditor": { - "description": "Output only. Email address of the user who last edited the mute config. This field is set by the server and will be ignored if provided on config creation or update.", "readOnly": true, "type": "string" }, "name": { - "description": "Identifier. This field will be ignored if provided on config creation. The following list shows some examples of the format: + `organizations/{organization}/muteConfigs/{mute_config}` + `organizations/{organization}locations/{location}//muteConfigs/{mute_config}` + `folders/{folder}/muteConfigs/{mute_config}` + `folders/{folder}/locations/{location}/muteConfigs/{mute_config}` + `projects/{project}/muteConfigs/{mute_config}` + `projects/{project}/locations/{location}/muteConfigs/{mute_config}`", "type": "string" }, "type": { - "description": "Required. The type of the mute config, which determines what type of mute state the config affects. Immutable after creation.", "enum": [ "MUTE_CONFIG_TYPE_UNSPECIFIED", "STATIC", "DYNAMIC" ], "enumDescriptions": [ - "Unused.", - "A static mute config, which sets the static mute state of future matching findings to muted. Once the static mute state has been set, finding or config modifications will not affect the state.", - "A dynamic mute config, which is applied to existing and future matching findings, setting their dynamic mute state to \"muted\". If the config is updated or deleted, or a matching finding is updated, such that the finding doesn't match the config, the config will be removed from the finding, and the finding's dynamic mute state may become \"unmuted\" (unless other configs still match)." + "", + "", + "" ], "type": "string" }, "updateTime": { - "description": "Output only. The most recent time at which the mute config was updated. This field is set by the server and will be ignored if provided on config creation or update.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -9475,55 +8273,45 @@ "type": "object" }, "GoogleCloudSecuritycenterV2MuteInfo": { - "description": "Mute information about the finding, including whether the finding has a static mute or any matching dynamic mute rules.", "id": "GoogleCloudSecuritycenterV2MuteInfo", "properties": { "dynamicMuteRecords": { - "description": "The list of dynamic mute rules that currently match the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2DynamicMuteRecord" }, "type": "array" }, "staticMute": { - "$ref": "GoogleCloudSecuritycenterV2StaticMute", - "description": "If set, the static mute applied to this finding. Static mutes override dynamic mutes. If unset, there is no static mute." + "$ref": "GoogleCloudSecuritycenterV2StaticMute" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Network": { - "description": "Contains information about a VPC network associated with the finding.", "id": "GoogleCloudSecuritycenterV2Network", "properties": { "name": { - "description": "The name of the VPC network resource, for example, `//compute.googleapis.com/projects/my-project/global/networks/my-network`.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Node": { - "description": "Kubernetes nodes associated with the finding.", "id": "GoogleCloudSecuritycenterV2Node", "properties": { "name": { - "description": "[Full resource name](https://google.aip.dev/122#full-resource-names) of the Compute Engine VM running the cluster node.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2NodePool": { - "description": "Provides GKE node pool information.", "id": "GoogleCloudSecuritycenterV2NodePool", "properties": { "name": { - "description": "Kubernetes node pool name.", "type": "string" }, "nodes": { - "description": "Nodes associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2Node" }, @@ -9533,196 +8321,157 @@ "type": "object" }, "GoogleCloudSecuritycenterV2Notebook": { - "description": "Represents a Jupyter notebook IPYNB file, such as a [Colab Enterprise notebook](https://cloud.google.com/colab/docs/introduction) file, that is associated with a finding.", "id": "GoogleCloudSecuritycenterV2Notebook", "properties": { "lastAuthor": { - "description": "The user ID of the latest author to modify the notebook.", "type": "string" }, "name": { - "description": "The name of the notebook.", "type": "string" }, "notebookUpdateTime": { - "description": "The most recent time the notebook was updated.", "format": "google-datetime", "type": "string" }, "service": { - "description": "The source notebook service, for example, \"Colab Enterprise\".", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2NotificationMessage": { - "description": "Cloud SCC's Notification", "id": "GoogleCloudSecuritycenterV2NotificationMessage", "properties": { "finding": { - "$ref": "GoogleCloudSecuritycenterV2Finding", - "description": "If it's a Finding based notification config, this field will be populated." + "$ref": "GoogleCloudSecuritycenterV2Finding" }, "notificationConfigName": { - "description": "Name of the notification config that generated current notification.", "type": "string" }, "resource": { - "$ref": "GoogleCloudSecuritycenterV2Resource", - "description": "The Cloud resource tied to this notification's Finding." + "$ref": "GoogleCloudSecuritycenterV2Resource" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Object": { - "description": "Kubernetes object related to the finding, uniquely identified by GKNN. Used if the object Kind is not one of Pod, Node, NodePool, Binding, or AccessReview.", "id": "GoogleCloudSecuritycenterV2Object", "properties": { "containers": { - "description": "Pod containers associated with this finding, if any.", "items": { "$ref": "GoogleCloudSecuritycenterV2Container" }, "type": "array" }, "group": { - "description": "Kubernetes object group, such as \"policy.k8s.io/v1\".", "type": "string" }, "kind": { - "description": "Kubernetes object kind, such as \"Namespace\".", "type": "string" }, "name": { - "description": "Kubernetes object name. For details see https://kubernetes.io/docs/concepts/overview/working-with-objects/names/.", "type": "string" }, "ns": { - "description": "Kubernetes object namespace. Must be a valid DNS label. Named \"ns\" to avoid collision with C++ namespace keyword. For details see https://kubernetes.io/docs/tasks/administer-cluster/namespaces/.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2OrgPolicy": { - "description": "Contains information about the org policies associated with the finding.", "id": "GoogleCloudSecuritycenterV2OrgPolicy", "properties": { "name": { - "description": "Identifier. The resource name of the org policy. Example: \"organizations/{organization_id}/policies/{constraint_name}\"", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Package": { - "description": "Package is a generic definition of a package.", "id": "GoogleCloudSecuritycenterV2Package", "properties": { "cpeUri": { - "description": "The CPE URI where the vulnerability was detected.", "type": "string" }, "packageName": { - "description": "The name of the package where the vulnerability was detected.", "type": "string" }, "packageType": { - "description": "Type of package, for example, os, maven, or go.", "type": "string" }, "packageVersion": { - "description": "The version of the package.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Pipeline": { - "description": "Vertex AI training pipeline associated with the finding.", "id": "GoogleCloudSecuritycenterV2Pipeline", "properties": { "displayName": { - "description": "The user-defined display name of pipeline, e.g. plants-classification", "type": "string" }, "name": { - "description": "Resource name of the pipeline, e.g. projects/{project}/locations/{location}/trainingPipelines/5253428229225578496", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Pod": { - "description": "A Kubernetes Pod.", "id": "GoogleCloudSecuritycenterV2Pod", "properties": { "containers": { - "description": "Pod containers associated with this finding, if any.", "items": { "$ref": "GoogleCloudSecuritycenterV2Container" }, "type": "array" }, "labels": { - "description": "Pod labels. For Kubernetes containers, these are applied to the container.", "items": { "$ref": "GoogleCloudSecuritycenterV2Label" }, "type": "array" }, "name": { - "description": "Kubernetes Pod name.", "type": "string" }, "ns": { - "description": "Kubernetes Pod namespace.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2PolicyDriftDetails": { - "description": "The policy field that violates the deployed posture and its expected and detected values.", "id": "GoogleCloudSecuritycenterV2PolicyDriftDetails", "properties": { "detectedValue": { - "description": "The detected value that violates the deployed posture, for example, `false` or `allowed_values={\"projects/22831892\"}`.", "type": "string" }, "expectedValue": { - "description": "The value of this field that was configured in a posture, for example, `true` or `allowed_values={\"projects/29831892\"}`.", "type": "string" }, "field": { - "description": "The name of the updated field, for example constraint.implementation.policy_rules[0].enforce", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2PolicyViolationSummary": { - "description": "Metadata summarizing policy violations of child resources of the affected resource. `finding_category` and `resource` determine the exact semantics of the counts. For example, when category=DATA_SECURITY_POSTURE_OBJECT_PUBLIC_ACCESS_VIOLATION and resource='storage.googleapis.com/buckets/my-bucket-name' then this counts the number of Cloud Storage objects in my-bucket-name which violate a Public Access control.", "id": "GoogleCloudSecuritycenterV2PolicyViolationSummary", "properties": { "conformantResourcesCount": { - "description": "Total number of child resources that conform to the policy.", "format": "int64", "type": "string" }, "evaluationErrorsCount": { - "description": "Number of child resources for which errors during evaluation occurred. The evaluation result for these child resources is effectively \"unknown\".", "format": "int64", "type": "string" }, "outOfScopeResourcesCount": { - "description": "Total count of child resources which were not in scope for evaluation.", "format": "int64", "type": "string" }, "policyViolationsCount": { - "description": "Count of child resources in violation of the policy.", "format": "int64", "type": "string" } @@ -9730,16 +8479,13 @@ "type": "object" }, "GoogleCloudSecuritycenterV2PortRange": { - "description": "A port range which is inclusive of the min and max values. Values are between 0 and 2^16-1. The max can be equal / must be not smaller than the min value. If min and max are equal this indicates that it is a single port.", "id": "GoogleCloudSecuritycenterV2PortRange", "properties": { "max": { - "description": "Maximum port value.", "format": "int64", "type": "string" }, "min": { - "description": "Minimum port value.", "format": "int64", "type": "string" } @@ -9747,62 +8493,50 @@ "type": "object" }, "GoogleCloudSecuritycenterV2Process": { - "description": "Represents an operating system process.", "id": "GoogleCloudSecuritycenterV2Process", "properties": { "args": { - "description": "Process arguments as JSON encoded strings.", "items": { "type": "string" }, "type": "array" }, "argumentsTruncated": { - "description": "True if `args` is incomplete.", "type": "boolean" }, "binary": { - "$ref": "GoogleCloudSecuritycenterV2File", - "description": "File information for the process executable." + "$ref": "GoogleCloudSecuritycenterV2File" }, "envVariables": { - "description": "Process environment variables.", "items": { "$ref": "GoogleCloudSecuritycenterV2EnvironmentVariable" }, "type": "array" }, "envVariablesTruncated": { - "description": "True if `env_variables` is incomplete.", "type": "boolean" }, "libraries": { - "description": "File information for libraries loaded by the process.", "items": { "$ref": "GoogleCloudSecuritycenterV2File" }, "type": "array" }, "name": { - "description": "The process name, as displayed in utilities like `top` and `ps`. This name can be accessed through `/proc/[pid]/comm` and changed with `prctl(PR_SET_NAME)`.", "type": "string" }, "parentPid": { - "description": "The parent process ID.", "format": "int64", "type": "string" }, "pid": { - "description": "The process ID.", "format": "int64", "type": "string" }, "script": { - "$ref": "GoogleCloudSecuritycenterV2File", - "description": "When the process represents the invocation of a script, `binary` provides information about the interpreter, while `script` provides information about the script file provided to the interpreter." + "$ref": "GoogleCloudSecuritycenterV2File" }, "userId": { - "description": "The ID of the user that executed the process. E.g. If this is the root user this will always be 0.", "format": "int64", "type": "string" } @@ -9810,70 +8544,58 @@ "type": "object" }, "GoogleCloudSecuritycenterV2ProcessSignature": { - "description": "Indicates what signature matched this process.", "id": "GoogleCloudSecuritycenterV2ProcessSignature", "properties": { "memoryHashSignature": { - "$ref": "GoogleCloudSecuritycenterV2MemoryHashSignature", - "description": "Signature indicating that a binary family was matched." + "$ref": "GoogleCloudSecuritycenterV2MemoryHashSignature" }, "signatureType": { - "description": "Describes the type of resource associated with the signature.", "enum": [ "SIGNATURE_TYPE_UNSPECIFIED", "SIGNATURE_TYPE_PROCESS", "SIGNATURE_TYPE_FILE" ], "enumDescriptions": [ - "The default signature type.", - "Used for signatures concerning processes.", - "Used for signatures concerning disks." + "", + "", + "" ], "type": "string" }, "yaraRuleSignature": { - "$ref": "GoogleCloudSecuritycenterV2YaraRuleSignature", - "description": "Signature indicating that a YARA rule was matched." + "$ref": "GoogleCloudSecuritycenterV2YaraRuleSignature" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Reference": { - "description": "Additional Links", "id": "GoogleCloudSecuritycenterV2Reference", "properties": { "source": { - "description": "Source of the reference e.g. NVD", "type": "string" }, "uri": { - "description": "Uri for the mentioned source e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Requests": { - "description": "Information about the requests relevant to the finding.", "id": "GoogleCloudSecuritycenterV2Requests", "properties": { "longTermAllowed": { - "description": "Allowed RPS (requests per second) over the long term.", "format": "int32", "type": "integer" }, "longTermDenied": { - "description": "Denied RPS (requests per second) over the long term.", "format": "int32", "type": "integer" }, "ratio": { - "description": "For 'Increasing deny ratio', the ratio is the denied traffic divided by the allowed traffic. For 'Allowed traffic spike', the ratio is the allowed traffic in the short term divided by allowed traffic in the long term.", "format": "double", "type": "number" }, "shortTermAllowed": { - "description": "Allowed RPS (requests per second) in the short term.", "format": "int32", "type": "integer" } @@ -9881,35 +8603,27 @@ "type": "object" }, "GoogleCloudSecuritycenterV2Resource": { - "description": "Information related to the Google Cloud resource.", "id": "GoogleCloudSecuritycenterV2Resource", "properties": { "adcApplication": { - "$ref": "GoogleCloudSecuritycenterV2AdcApplication", - "description": "The ADC application associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2AdcApplication" }, "adcApplicationTemplate": { - "$ref": "GoogleCloudSecuritycenterV2AdcApplicationTemplateRevision", - "description": "The ADC template associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2AdcApplicationTemplateRevision" }, "adcSharedTemplate": { - "$ref": "GoogleCloudSecuritycenterV2AdcSharedTemplateRevision", - "description": "The ADC shared template associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2AdcSharedTemplateRevision" }, "application": { - "$ref": "GoogleCloudSecuritycenterV2ResourceApplication", - "description": "The App Hub application this resource belongs to." + "$ref": "GoogleCloudSecuritycenterV2ResourceApplication" }, "awsMetadata": { - "$ref": "GoogleCloudSecuritycenterV2AwsMetadata", - "description": "The AWS metadata associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2AwsMetadata" }, "azureMetadata": { - "$ref": "GoogleCloudSecuritycenterV2AzureMetadata", - "description": "The Azure metadata associated with the finding." + "$ref": "GoogleCloudSecuritycenterV2AzureMetadata" }, "cloudProvider": { - "description": "Indicates which cloud provider the finding is from.", "enum": [ "CLOUD_PROVIDER_UNSPECIFIED", "GOOGLE_CLOUD_PLATFORM", @@ -9917,91 +8631,74 @@ "MICROSOFT_AZURE" ], "enumDescriptions": [ - "The cloud provider is unspecified.", - "The cloud provider is Google Cloud.", - "The cloud provider is Amazon Web Services.", - "The cloud provider is Microsoft Azure." + "", + "", + "", + "" ], "type": "string" }, "displayName": { - "description": "The human readable name of the resource.", "type": "string" }, "gcpMetadata": { - "$ref": "GcpMetadata", - "description": "The Google Cloud metadata associated with the finding." + "$ref": "GcpMetadata" }, "location": { - "description": "The region or location of the service (if applicable).", "type": "string" }, "name": { - "description": "The full resource name of the resource. See: https://cloud.google.com/apis/design/resource_names#full_resource_name", "type": "string" }, "resourcePath": { - "$ref": "GoogleCloudSecuritycenterV2ResourcePath", - "description": "Provides the path to the resource within the resource hierarchy." + "$ref": "GoogleCloudSecuritycenterV2ResourcePath" }, "resourcePathString": { - "description": "A string representation of the resource path. For Google Cloud, it has the format of `organizations/{organization_id}/folders/{folder_id}/folders/{folder_id}/projects/{project_id}` where there can be any number of folders. For AWS, it has the format of `org/{organization_id}/ou/{organizational_unit_id}/ou/{organizational_unit_id}/account/{account_id}` where there can be any number of organizational units. For Azure, it has the format of `mg/{management_group_id}/mg/{management_group_id}/subscription/{subscription_id}/rg/{resource_group_name}` where there can be any number of management groups.", "type": "string" }, "service": { - "description": "The service or resource provider associated with the resource.", "type": "string" }, "type": { - "description": "The full resource type of the resource.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2ResourceApplication": { - "description": "The App Hub Application associated with the finding's resource.", "id": "GoogleCloudSecuritycenterV2ResourceApplication", "properties": { "attributes": { - "$ref": "GoogleCloudSecuritycenterV2ResourceApplicationAttributes", - "description": "Consumer provided attributes for the application" + "$ref": "GoogleCloudSecuritycenterV2ResourceApplicationAttributes" }, "name": { - "description": "The resource name of an Application. Format: `projects/{host-project-id}/locations/{location}/applications/{application-id}`", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2ResourceApplicationAttributes": { - "description": "Consumer provided attributes for the application", "id": "GoogleCloudSecuritycenterV2ResourceApplicationAttributes", "properties": { "businessOwners": { - "description": "Business team that ensures user needs are met and value is delivered", "items": { "$ref": "GoogleCloudSecuritycenterV2ResourceApplicationAttributesContactInfo" }, "type": "array" }, "criticality": { - "$ref": "GoogleCloudSecuritycenterV2ResourceApplicationAttributesCriticality", - "description": "User-defined criticality information." + "$ref": "GoogleCloudSecuritycenterV2ResourceApplicationAttributesCriticality" }, "developerOwners": { - "description": "Developer team that owns development and coding.", "items": { "$ref": "GoogleCloudSecuritycenterV2ResourceApplicationAttributesContactInfo" }, "type": "array" }, "environment": { - "$ref": "GoogleCloudSecuritycenterV2ResourceApplicationAttributesEnvironment", - "description": "User-defined environment information." + "$ref": "GoogleCloudSecuritycenterV2ResourceApplicationAttributesEnvironment" }, "operatorOwners": { - "description": "Operator team that ensures runtime and operations.", "items": { "$ref": "GoogleCloudSecuritycenterV2ResourceApplicationAttributesContactInfo" }, @@ -10011,22 +8708,18 @@ "type": "object" }, "GoogleCloudSecuritycenterV2ResourceApplicationAttributesContactInfo": { - "description": "Contact information of stakeholders.", "id": "GoogleCloudSecuritycenterV2ResourceApplicationAttributesContactInfo", "properties": { "email": { - "description": "Email address of the contacts.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2ResourceApplicationAttributesCriticality": { - "description": "Criticality of the Application, Service, or Workload", "id": "GoogleCloudSecuritycenterV2ResourceApplicationAttributesCriticality", "properties": { "type": { - "description": "Criticality Type.", "enum": [ "CRITICALITY_TYPE_UNSPECIFIED", "MISSION_CRITICAL", @@ -10035,11 +8728,11 @@ "LOW" ], "enumDescriptions": [ - "Unspecified type.", - "Mission critical service, application or workload.", - "High impact.", - "Medium impact.", - "Low impact." + "", + "", + "", + "", + "" ], "type": "string" } @@ -10047,11 +8740,9 @@ "type": "object" }, "GoogleCloudSecuritycenterV2ResourceApplicationAttributesEnvironment": { - "description": "Environment of the Application, Service, or Workload", "id": "GoogleCloudSecuritycenterV2ResourceApplicationAttributesEnvironment", "properties": { "type": { - "description": "Environment Type.", "enum": [ "ENVIRONMENT_TYPE_UNSPECIFIED", "PRODUCTION", @@ -10060,11 +8751,11 @@ "DEVELOPMENT" ], "enumDescriptions": [ - "Unspecified type.", - "Production environment.", - "Staging environment.", - "Test environment.", - "Development environment." + "", + "", + "", + "", + "" ], "type": "string" } @@ -10072,11 +8763,9 @@ "type": "object" }, "GoogleCloudSecuritycenterV2ResourcePath": { - "description": "Represents the path of resources leading up to the resource this finding is about.", "id": "GoogleCloudSecuritycenterV2ResourcePath", "properties": { "nodes": { - "description": "The list of nodes that make the up resource path, ordered from lowest level to highest level.", "items": { "$ref": "GoogleCloudSecuritycenterV2ResourcePathNode" }, @@ -10086,19 +8775,15 @@ "type": "object" }, "GoogleCloudSecuritycenterV2ResourcePathNode": { - "description": "A node within the resource path. Each node represents a resource within the resource hierarchy.", "id": "GoogleCloudSecuritycenterV2ResourcePathNode", "properties": { "displayName": { - "description": "The display name of the resource this node represents.", "type": "string" }, "id": { - "description": "The ID of the resource this node represents.", "type": "string" }, "nodeType": { - "description": "The type of resource this node represents.", "enum": [ "RESOURCE_PATH_NODE_TYPE_UNSPECIFIED", "GCP_ORGANIZATION", @@ -10112,16 +8797,16 @@ "AZURE_RESOURCE_GROUP" ], "enumDescriptions": [ - "Node type is unspecified.", - "The node represents a Google Cloud organization.", - "The node represents a Google Cloud folder.", - "The node represents a Google Cloud project.", - "The node represents an AWS organization.", - "The node represents an AWS organizational unit.", - "The node represents an AWS account.", - "The node represents an Azure management group.", - "The node represents an Azure subscription.", - "The node represents an Azure resource group." + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" ], "type": "string" } @@ -10129,11 +8814,9 @@ "type": "object" }, "GoogleCloudSecuritycenterV2ResourceValueConfig": { - "description": "A resource value configuration (RVC) is a mapping configuration of user's resources to resource values. Used in Attack path simulations.", "id": "GoogleCloudSecuritycenterV2ResourceValueConfig", "properties": { "cloudProvider": { - "description": "Cloud provider this configuration applies to", "enum": [ "CLOUD_PROVIDER_UNSPECIFIED", "GOOGLE_CLOUD_PLATFORM", @@ -10141,40 +8824,34 @@ "MICROSOFT_AZURE" ], "enumDescriptions": [ - "The cloud provider is unspecified.", - "The cloud provider is Google Cloud.", - "The cloud provider is Amazon Web Services.", - "The cloud provider is Microsoft Azure." + "", + "", + "", + "" ], "type": "string" }, "createTime": { - "description": "Output only. Timestamp this resource value configuration was created.", "format": "google-datetime", "readOnly": true, "type": "string" }, "description": { - "description": "Description of the resource value configuration.", "type": "string" }, "name": { - "description": "Identifier. Name for the resource value configuration", "type": "string" }, "resourceLabelsSelector": { "additionalProperties": { "type": "string" }, - "description": "List of resource labels to search for, evaluated with `AND`. For example, \"resource_labels_selector\": {\"key\": \"value\", \"env\": \"prod\"} will match resources with labels \"key\": \"value\" `AND` \"env\": \"prod\" https://cloud.google.com/resource-manager/docs/creating-managing-labels", "type": "object" }, "resourceType": { - "description": "Apply resource_value only to resources that match resource_type. resource_type will be checked with `AND` of other resources. For example, \"storage.googleapis.com/Bucket\" with resource_value \"HIGH\" will apply \"HIGH\" value only to \"storage.googleapis.com/Bucket\" resources.", "type": "string" }, "resourceValue": { - "description": "Resource value level this expression represents Only required when there is no Sensitive Data Protection mapping in the request", "enum": [ "RESOURCE_VALUE_UNSPECIFIED", "HIGH", @@ -10183,31 +8860,27 @@ "NONE" ], "enumDescriptions": [ - "Unspecific value", - "High resource value", - "Medium resource value", - "Low resource value", - "No resource value, e.g. ignore these resources" + "", + "", + "", + "", + "" ], "type": "string" }, "scope": { - "description": "Project or folder to scope this configuration to. For example, \"project/456\" would apply this configuration only to resources in \"project/456\" scope and will be checked with `AND` of other resources.", "type": "string" }, "sensitiveDataProtectionMapping": { - "$ref": "GoogleCloudSecuritycenterV2SensitiveDataProtectionMapping", - "description": "A mapping of the sensitivity on Sensitive Data Protection finding to resource values. This mapping can only be used in combination with a resource_type that is related to BigQuery, e.g. \"bigquery.googleapis.com/Dataset\"." + "$ref": "GoogleCloudSecuritycenterV2SensitiveDataProtectionMapping" }, "tagValues": { - "description": "Tag values combined with `AND` to check against. For Google Cloud resources, they are tag value IDs in the form of \"tagValues/123\". Example: `[ \"tagValues/123\", \"tagValues/456\", \"tagValues/789\" ]` https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing", "items": { "type": "string" }, "type": "array" }, "updateTime": { - "description": "Output only. Timestamp this resource value configuration was last updated.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -10216,90 +8889,74 @@ "type": "object" }, "GoogleCloudSecuritycenterV2Role": { - "description": "Kubernetes Role or ClusterRole.", "id": "GoogleCloudSecuritycenterV2Role", "properties": { "kind": { - "description": "Role type.", "enum": [ "KIND_UNSPECIFIED", "ROLE", "CLUSTER_ROLE" ], "enumDescriptions": [ - "Role type is not specified.", - "Kubernetes Role.", - "Kubernetes ClusterRole." + "", + "", + "" ], "type": "string" }, "name": { - "description": "Role name.", "type": "string" }, "ns": { - "description": "Role namespace.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2Secret": { - "description": "Details about a secret or credential associated with the finding.", "id": "GoogleCloudSecuritycenterV2Secret", "properties": { "environmentVariable": { - "$ref": "GoogleCloudSecuritycenterV2SecretEnvironmentVariable", - "description": "The environment variable containing the secret." + "$ref": "GoogleCloudSecuritycenterV2SecretEnvironmentVariable" }, "filePath": { - "$ref": "GoogleCloudSecuritycenterV2SecretFilePath", - "description": "The file containing the secret." + "$ref": "GoogleCloudSecuritycenterV2SecretFilePath" }, "status": { - "$ref": "GoogleCloudSecuritycenterV2SecretStatus", - "description": "The status of the secret." + "$ref": "GoogleCloudSecuritycenterV2SecretStatus" }, "type": { - "description": "The type of secret, for example, GCP_API_KEY.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2SecretEnvironmentVariable": { - "description": "Environment variable containing the secret.", "id": "GoogleCloudSecuritycenterV2SecretEnvironmentVariable", "properties": { "key": { - "description": "Environment variable name as a JSON encoded string. Note that value is not included since the value contains the secret data, which is sensitive core content.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2SecretFilePath": { - "description": "File path containing the secret.", "id": "GoogleCloudSecuritycenterV2SecretFilePath", "properties": { "path": { - "description": "Path to the file.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2SecretStatus": { - "description": "The status of the secret.", "id": "GoogleCloudSecuritycenterV2SecretStatus", "properties": { "lastUpdatedTime": { - "description": "Time that the secret was found.", "format": "google-datetime", "type": "string" }, "validity": { - "description": "The validity of the secret.", "enum": [ "SECRET_VALIDITY_UNSPECIFIED", "SECRET_VALIDITY_UNSUPPORTED", @@ -10308,11 +8965,11 @@ "SECRET_VALIDITY_VALID" ], "enumDescriptions": [ - "Default value; no validation was attempted.", - "There is no mechanism to validate the secret.", - "Validation is supported but the validation failed.", - "The secret is confirmed to be invalid.", - "The secret is confirmed to be valid." + "", + "", + "", + "", + "" ], "type": "string" } @@ -10320,114 +8977,91 @@ "type": "object" }, "GoogleCloudSecuritycenterV2SecurityBulletin": { - "description": "SecurityBulletin are notifications of vulnerabilities of Google products.", "id": "GoogleCloudSecuritycenterV2SecurityBulletin", "properties": { "bulletinId": { - "description": "ID of the bulletin corresponding to the vulnerability.", "type": "string" }, "submissionTime": { - "description": "Submission time of this Security Bulletin.", "format": "google-datetime", "type": "string" }, "suggestedUpgradeVersion": { - "description": "This represents a version that the cluster receiving this notification should be upgraded to, based on its current version. For example, 1.15.0", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2SecurityMarks": { - "description": "User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization.", "id": "GoogleCloudSecuritycenterV2SecurityMarks", "properties": { "canonicalName": { - "description": "The canonical name of the marks. The following list shows some examples: + `organizations/{organization_id}/assets/{asset_id}/securityMarks` + `organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks` + `organizations/{organization_id}/sources/{source_id}/locations/{location}/findings/{finding_id}/securityMarks` + `folders/{folder_id}/assets/{asset_id}/securityMarks` + `folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks` + `folders/{folder_id}/sources/{source_id}/locations/{location}/findings/{finding_id}/securityMarks` + `projects/{project_number}/assets/{asset_id}/securityMarks` + `projects/{project_number}/sources/{source_id}/findings/{finding_id}/securityMarks` + `projects/{project_number}/sources/{source_id}/locations/{location}/findings/{finding_id}/securityMarks`", "type": "string" }, "marks": { "additionalProperties": { "type": "string" }, - "description": "Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive)", "type": "object" }, "name": { - "description": "The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name The following list shows some examples: + `organizations/{organization_id}/assets/{asset_id}/securityMarks` + `organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks` + `organizations/{organization_id}/sources/{source_id}/locations/{location}/findings/{finding_id}/securityMarks`", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2SecurityPolicy": { - "description": "Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding.", "id": "GoogleCloudSecuritycenterV2SecurityPolicy", "properties": { "name": { - "description": "The name of the Google Cloud Armor security policy, for example, \"my-security-policy\".", "type": "string" }, "preview": { - "description": "Whether or not the associated rule or policy is in preview mode.", "type": "boolean" }, "type": { - "description": "The type of Google Cloud Armor security policy for example, 'backend security policy', 'edge security policy', 'network edge security policy', or 'always-on DDoS protection'.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2SecurityPosture": { - "description": "Represents a posture that is deployed on Google Cloud by the Security Command Center Posture Management service. A posture contains one or more policy sets. A policy set is a group of policies that enforce a set of security rules on Google Cloud.", "id": "GoogleCloudSecuritycenterV2SecurityPosture", "properties": { "changedPolicy": { - "description": "The name of the updated policy, for example, `projects/{project_id}/policies/{constraint_name}`.", "type": "string" }, "name": { - "description": "Name of the posture, for example, `CIS-Posture`.", "type": "string" }, "policy": { - "description": "The ID of the updated policy, for example, `compute-policy-1`.", "type": "string" }, "policyDriftDetails": { - "description": "The details about a change in an updated policy that violates the deployed posture.", "items": { "$ref": "GoogleCloudSecuritycenterV2PolicyDriftDetails" }, "type": "array" }, "policySet": { - "description": "The name of the updated policy set, for example, `cis-policyset`.", "type": "string" }, "postureDeployment": { - "description": "The name of the posture deployment, for example, `organizations/{org_id}/posturedeployments/{posture_deployment_id}`.", "type": "string" }, "postureDeploymentResource": { - "description": "The project, folder, or organization on which the posture is deployed, for example, `projects/{project_number}`.", "type": "string" }, "revisionId": { - "description": "The version of the posture, for example, `c7cfa2a8`.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2SensitiveDataProtectionMapping": { - "description": "Resource value mapping for Sensitive Data Protection findings If any of these mappings have a resource value that is not unspecified, the resource_value field will be ignored when reading this configuration.", "id": "GoogleCloudSecuritycenterV2SensitiveDataProtectionMapping", "properties": { "highSensitivityMapping": { - "description": "Resource value mapping for high-sensitivity Sensitive Data Protection findings", "enum": [ "RESOURCE_VALUE_UNSPECIFIED", "HIGH", @@ -10436,16 +9070,15 @@ "NONE" ], "enumDescriptions": [ - "Unspecific value", - "High resource value", - "Medium resource value", - "Low resource value", - "No resource value, e.g. ignore these resources" + "", + "", + "", + "", + "" ], "type": "string" }, "mediumSensitivityMapping": { - "description": "Resource value mapping for medium-sensitivity Sensitive Data Protection findings", "enum": [ "RESOURCE_VALUE_UNSPECIFIED", "HIGH", @@ -10454,11 +9087,11 @@ "NONE" ], "enumDescriptions": [ - "Unspecific value", - "High resource value", - "Medium resource value", - "Low resource value", - "No resource value, e.g. ignore these resources" + "", + "", + "", + "", + "" ], "type": "string" } @@ -10466,11 +9099,9 @@ "type": "object" }, "GoogleCloudSecuritycenterV2SensitivityScore": { - "description": "Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive.", "id": "GoogleCloudSecuritycenterV2SensitivityScore", "properties": { "score": { - "description": "The sensitivity score applied to the resource.", "enum": [ "SENSITIVITY_SCORE_LEVEL_UNSPECIFIED", "SENSITIVITY_LOW", @@ -10479,11 +9110,11 @@ "SENSITIVITY_HIGH" ], "enumDescriptions": [ - "Unused.", - "No sensitive information detected. The resource isn't publicly accessible.", - "Unable to determine sensitivity.", - "Medium risk. Contains personally identifiable information (PII), potentially sensitive data, or fields with free-text data that are at a higher risk of having intermittent sensitive data. Consider limiting access.", - "High risk. Sensitive personally identifiable information (SPII) can be present. Exfiltration of data can lead to user data loss. Re-identification of users might be possible. Consider limiting usage and or removing SPII." + "", + "", + "", + "", + "" ], "type": "string" } @@ -10491,31 +9122,25 @@ "type": "object" }, "GoogleCloudSecuritycenterV2ServiceAccountDelegationInfo": { - "description": "Identity delegation history of an authenticated service account.", "id": "GoogleCloudSecuritycenterV2ServiceAccountDelegationInfo", "properties": { "principalEmail": { - "description": "The email address of a Google account.", "type": "string" }, "principalSubject": { - "description": "A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subjects/{subject}` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]`", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2StaticMute": { - "description": "Information about the static mute state. A static mute state overrides any dynamic mute rules that apply to this finding. The static mute state can be set by a static mute rule or by muting the finding directly.", "id": "GoogleCloudSecuritycenterV2StaticMute", "properties": { "applyTime": { - "description": "When the static mute was applied.", "format": "google-datetime", "type": "string" }, "state": { - "description": "The static mute state. If the value is `MUTED` or `UNMUTED`, then the finding's overall mute state will have the same value.", "enum": [ "MUTE_UNSPECIFIED", "MUTED", @@ -10523,10 +9148,10 @@ "UNDEFINED" ], "enumDescriptions": [ - "Unspecified.", - "Finding has been muted.", - "Finding has been unmuted.", - "Finding has never been muted/unmuted." + "", + "", + "", + "" ], "type": "string" } @@ -10534,11 +9159,9 @@ "type": "object" }, "GoogleCloudSecuritycenterV2Subject": { - "description": "Represents a Kubernetes subject.", "id": "GoogleCloudSecuritycenterV2Subject", "properties": { "kind": { - "description": "Authentication type for the subject.", "enum": [ "AUTH_TYPE_UNSPECIFIED", "USER", @@ -10546,67 +9169,55 @@ "GROUP" ], "enumDescriptions": [ - "Authentication is not specified.", - "User with valid certificate.", - "Users managed by Kubernetes API with credentials stored as secrets.", - "Collection of users." + "", + "", + "", + "" ], "type": "string" }, "name": { - "description": "Name for the subject.", "type": "string" }, "ns": { - "description": "Namespace for the subject.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2TicketInfo": { - "description": "Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding.", "id": "GoogleCloudSecuritycenterV2TicketInfo", "properties": { "assignee": { - "description": "The assignee of the ticket in the ticket system.", "type": "string" }, "description": { - "description": "The description of the ticket in the ticket system.", "type": "string" }, "id": { - "description": "The identifier of the ticket in the ticket system.", "type": "string" }, "status": { - "description": "The latest status of the ticket, as reported by the ticket system.", "type": "string" }, "updateTime": { - "description": "The time when the ticket was last updated, as reported by the ticket system.", "format": "google-datetime", "type": "string" }, "uri": { - "description": "The link to the ticket in the ticket system.", "type": "string" } }, "type": "object" }, "GoogleCloudSecuritycenterV2ToxicCombination": { - "description": "Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination.", "id": "GoogleCloudSecuritycenterV2ToxicCombination", "properties": { "attackExposureScore": { - "description": "The [Attack exposure score](https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_exposure_scores) of this toxic combination. The score is a measure of how much this toxic combination exposes one or more high-value resources to potential attack.", "format": "double", "type": "number" }, "relatedFindings": { - "description": "List of resource names of findings associated with this toxic combination. For example, `organizations/123/sources/456/findings/789`.", "items": { "type": "string" }, @@ -10616,18 +9227,15 @@ "type": "object" }, "GoogleCloudSecuritycenterV2VertexAi": { - "description": "Vertex AI-related information associated with the finding.", "id": "GoogleCloudSecuritycenterV2VertexAi", "properties": { "datasets": { - "description": "Datasets associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2Dataset" }, "type": "array" }, "pipelines": { - "description": "Pipelines associated with the finding.", "items": { "$ref": "GoogleCloudSecuritycenterV2Pipeline" }, @@ -10637,74 +9245,61 @@ "type": "object" }, "GoogleCloudSecuritycenterV2Vulnerability": { - "description": "Refers to common vulnerability fields e.g. cve, cvss, cwe etc.", "id": "GoogleCloudSecuritycenterV2Vulnerability", "properties": { "cve": { - "$ref": "GoogleCloudSecuritycenterV2Cve", - "description": "CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/)" + "$ref": "GoogleCloudSecuritycenterV2Cve" }, "cwes": { - "description": "Represents one or more Common Weakness Enumeration (CWE) information on this vulnerability.", "items": { "$ref": "GoogleCloudSecuritycenterV2Cwe" }, "type": "array" }, "fixedPackage": { - "$ref": "GoogleCloudSecuritycenterV2Package", - "description": "The fixed package is relevant to the finding." + "$ref": "GoogleCloudSecuritycenterV2Package" }, "offendingPackage": { - "$ref": "GoogleCloudSecuritycenterV2Package", - "description": "The offending package is relevant to the finding." + "$ref": "GoogleCloudSecuritycenterV2Package" }, "providerRiskScore": { - "description": "Provider provided risk_score based on multiple factors. The higher the risk score, the more risky the vulnerability is.", "format": "int64", "type": "string" }, "reachable": { - "description": "Represents whether the vulnerability is reachable (detected via static analysis)", "type": "boolean" }, "securityBulletin": { - "$ref": "GoogleCloudSecuritycenterV2SecurityBulletin", - "description": "The security bulletin is relevant to this finding." + "$ref": "GoogleCloudSecuritycenterV2SecurityBulletin" } }, "type": "object" }, "GoogleCloudSecuritycenterV2YaraRuleSignature": { - "description": "A signature corresponding to a YARA rule.", "id": "GoogleCloudSecuritycenterV2YaraRuleSignature", "properties": { "yaraRule": { - "description": "The name of the YARA rule.", "type": "string" } }, "type": "object" }, "GroupMembership": { - "description": "Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way.", "id": "GroupMembership", "properties": { "groupId": { - "description": "ID of the group.", "type": "string" }, "groupType": { - "description": "Type of group.", "enum": [ "GROUP_TYPE_UNSPECIFIED", "GROUP_TYPE_TOXIC_COMBINATION", "GROUP_TYPE_CHOKEPOINT" ], "enumDescriptions": [ - "Default value.", - "Group represents a toxic combination.", - "Group represents a chokepoint." + "", + "", + "" ], "type": "string" } @@ -10712,76 +9307,64 @@ "type": "object" }, "HttpResponse": { - "description": "The http response returned by the web application.", "id": "HttpResponse", "properties": { "path": { - "description": "The http path for which response code was returned by web application, for example, \"https://test-app.a.run.app/test\".", "type": "string" }, "statusCode": { - "description": "The http response code returned by the web application, for example, 200.", "type": "string" } }, "type": "object" }, "IamBinding": { - "description": "Represents a particular IAM binding, which captures a member's role addition, removal, or state.", "id": "IamBinding", "properties": { "action": { - "description": "The action that was performed on a Binding.", "enum": [ "ACTION_UNSPECIFIED", "ADD", "REMOVE" ], "enumDescriptions": [ - "Unspecified.", - "Addition of a Binding.", - "Removal of a Binding." + "", + "", + "" ], "type": "string" }, "member": { - "description": "A single identity requesting access for a Cloud Platform resource, for example, \"foo@google.com\".", "type": "string" }, "role": { - "description": "Role that is assigned to \"members\". For example, \"roles/viewer\", \"roles/editor\", or \"roles/owner\".", "type": "string" } }, "type": "object" }, "Indicator": { - "description": "Represents what's commonly known as an _indicator of compromise_ (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise).", "id": "Indicator", "properties": { "domains": { - "description": "List of domains associated to the Finding.", "items": { "type": "string" }, "type": "array" }, "ipAddresses": { - "description": "The list of IP addresses that are associated with the finding.", "items": { "type": "string" }, "type": "array" }, "signatures": { - "description": "The list of matched signatures indicating that the given process is present in the environment.", "items": { "$ref": "ProcessSignature" }, "type": "array" }, "uris": { - "description": "The list of URIs associated to the Findings.", "items": { "type": "string" }, @@ -10791,84 +9374,70 @@ "type": "object" }, "InfoType": { - "description": "Type of information detected by the API.", "id": "InfoType", "properties": { "name": { - "description": "Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.", "type": "string" }, "sensitivityScore": { - "$ref": "SensitivityScore", - "description": "Optional custom sensitivity for this InfoType. This only applies to data profiling." + "$ref": "SensitivityScore" }, "version": { - "description": "Optional version name for this InfoType.", "type": "string" } }, "type": "object" }, "IpRule": { - "description": "IP rule information.", "id": "IpRule", "properties": { "portRanges": { - "description": "Optional. An optional list of ports to which this rule applies. This field is only applicable for the UDP or (S)TCP protocols. Each entry must be either an integer or a range including a min and max port number.", "items": { "$ref": "PortRange" }, "type": "array" }, "protocol": { - "description": "The IP protocol this rule applies to. This value can either be one of the following well known protocol strings (TCP, UDP, ICMP, ESP, AH, IPIP, SCTP) or a string representation of the integer value.", "type": "string" } }, "type": "object" }, "IpRules": { - "description": "IP rules associated with the finding.", "id": "IpRules", "properties": { "allowed": { - "$ref": "Allowed", - "description": "Tuple with allowed rules." + "$ref": "Allowed" }, "denied": { - "$ref": "Denied", - "description": "Tuple with denied rules." + "$ref": "Denied" }, "destinationIpRanges": { - "description": "If destination IP ranges are specified, the firewall rule applies only to traffic that has a destination IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4.", "items": { "type": "string" }, "type": "array" }, "direction": { - "description": "The direction that the rule is applicable to, one of ingress or egress.", "enum": [ "DIRECTION_UNSPECIFIED", "INGRESS", "EGRESS" ], "enumDescriptions": [ - "Unspecified direction value.", - "Ingress direction value.", - "Egress direction value." + "", + "", + "" ], "type": "string" }, "exposedServices": { - "description": "Name of the network protocol service, such as FTP, that is exposed by the open port. Follows the naming convention available at: https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml.", "items": { "type": "string" }, "type": "array" }, "sourceIpRanges": { - "description": "If source IP 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. Only supports IPv4.", "items": { "type": "string" }, @@ -10878,24 +9447,19 @@ "type": "object" }, "Job": { - "description": "Describes a job", "id": "Job", "properties": { "errorCode": { - "description": "Optional. If the job did not complete successfully, this field describes why.", "format": "int32", "type": "integer" }, "location": { - "description": "Optional. Gives the location where the job ran, such as `US` or `europe-west1`", "type": "string" }, "name": { - "description": "The fully-qualified name for a job. e.g. `projects//jobs/`", "type": "string" }, "state": { - "description": "Output only. State of the job, such as `RUNNING` or `PENDING`.", "enum": [ "JOB_STATE_UNSPECIFIED", "PENDING", @@ -10904,11 +9468,11 @@ "FAILED" ], "enumDescriptions": [ - "Unspecified represents an unknown state and should not be used.", - "Job is scheduled and pending for run", - "Job in progress", - "Job has completed with success", - "Job has completed but with failure" + "", + "", + "", + "", + "" ], "readOnly": true, "type": "string" @@ -10917,96 +9481,78 @@ "type": "object" }, "KernelRootkit": { - "description": "Kernel mode rootkit signatures.", "id": "KernelRootkit", "properties": { "name": { - "description": "Rootkit name, when available.", "type": "string" }, "unexpectedCodeModification": { - "description": "True if unexpected modifications of kernel code memory are present.", "type": "boolean" }, "unexpectedFtraceHandler": { - "description": "True if `ftrace` points are present with callbacks pointing to regions that are not in the expected kernel or module code range.", "type": "boolean" }, "unexpectedInterruptHandler": { - "description": "True if interrupt handlers that are are not in the expected kernel or module code regions are present.", "type": "boolean" }, "unexpectedKernelCodePages": { - "description": "True if kernel code pages that are not in the expected kernel or module code regions are present.", "type": "boolean" }, "unexpectedKprobeHandler": { - "description": "True if `kprobe` points are present with callbacks pointing to regions that are not in the expected kernel or module code range.", "type": "boolean" }, "unexpectedProcessesInRunqueue": { - "description": "True if unexpected processes in the scheduler run queue are present. Such processes are in the run queue, but not in the process task list.", "type": "boolean" }, "unexpectedReadOnlyDataModification": { - "description": "True if unexpected modifications of kernel read-only data memory are present.", "type": "boolean" }, "unexpectedSystemCallHandler": { - "description": "True if system call handlers that are are not in the expected kernel or module code regions are present.", "type": "boolean" } }, "type": "object" }, "Kubernetes": { - "description": "Kubernetes-related attributes.", "id": "Kubernetes", "properties": { "accessReviews": { - "description": "Provides information on any Kubernetes access reviews (privilege checks) relevant to the finding.", "items": { "$ref": "AccessReview" }, "type": "array" }, "bindings": { - "description": "Provides Kubernetes role binding information for findings that involve [RoleBindings or ClusterRoleBindings](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control).", "items": { "$ref": "GoogleCloudSecuritycenterV1Binding" }, "type": "array" }, "nodePools": { - "description": "GKE [node pools](https://cloud.google.com/kubernetes-engine/docs/concepts/node-pools) associated with the finding. This field contains node pool information for each node, when it is available.", "items": { "$ref": "NodePool" }, "type": "array" }, "nodes": { - "description": "Provides Kubernetes [node](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture#nodes) information.", "items": { "$ref": "Node" }, "type": "array" }, "objects": { - "description": "Kubernetes objects related to the finding.", "items": { "$ref": "Object" }, "type": "array" }, "pods": { - "description": "Kubernetes [Pods](https://cloud.google.com/kubernetes-engine/docs/concepts/pod) associated with the finding. This field contains Pod records for each container that is owned by a Pod.", "items": { "$ref": "Pod" }, "type": "array" }, "roles": { - "description": "Provides Kubernetes role information for findings that involve [Roles or ClusterRoles](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control).", "items": { "$ref": "Role" }, @@ -11016,52 +9562,42 @@ "type": "object" }, "Label": { - "description": "Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering).", "id": "Label", "properties": { "name": { - "description": "Name of the label.", "type": "string" }, "value": { - "description": "Value that corresponds to the label's name.", "type": "string" } }, "type": "object" }, "LoadBalancer": { - "description": "Contains information related to the load balancer associated with the finding.", "id": "LoadBalancer", "properties": { "name": { - "description": "The name of the load balancer associated with the finding.", "type": "string" } }, "type": "object" }, "LogEntry": { - "description": "An individual entry in a log.", "id": "LogEntry", "properties": { "cloudLoggingEntry": { - "$ref": "CloudLoggingEntry", - "description": "An individual entry in a log stored in Cloud Logging." + "$ref": "CloudLoggingEntry" } }, "type": "object" }, "MemoryHashSignature": { - "description": "A signature corresponding to memory page hashes.", "id": "MemoryHashSignature", "properties": { "binaryFamily": { - "description": "The binary family.", "type": "string" }, "detections": { - "description": "The list of memory hash detections contributing to the binary family match.", "items": { "$ref": "Detection" }, @@ -11071,11 +9607,9 @@ "type": "object" }, "MitreAttack": { - "description": "MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org", "id": "MitreAttack", "properties": { "additionalTactics": { - "description": "Additional MITRE ATT&CK tactics related to this finding, if any.", "items": { "enum": [ "TACTIC_UNSPECIFIED", @@ -11095,28 +9629,27 @@ "IMPACT" ], "enumDescriptions": [ - "Unspecified value.", - "TA0043", - "TA0042", - "TA0001", - "TA0002", - "TA0003", - "TA0004", - "TA0005", - "TA0006", - "TA0007", - "TA0008", - "TA0009", - "TA0011", - "TA0010", - "TA0040" + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" ], "type": "string" }, "type": "array" }, "additionalTechniques": { - "description": "Additional MITRE ATT&CK techniques related to this finding, if any, along with any of their respective parent techniques.", "items": { "enum": [ "TECHNIQUE_UNSPECIFIED", @@ -11260,152 +9793,151 @@ "FINANCIAL_THEFT" ], "enumDescriptions": [ - "Unspecified value.", - "T1001", - "T1001.002", - "T1003", - "T1003.007", - "T1003.008", - "T1005", - "T1020", - "T1027", - "T1027.003", - "T1027.004", - "T1027.010", - "T1029", - "T1033", - "T1036", - "T1036.005", - "T1037", - "T1037.005", - "T1046", - "T1053", - "T1053.003", - "T1053.007", - "T1055", - "T1056", - "T1056.001", - "T1057", - "T1059", - "T1059.004", - "T1059.006", - "T1068", - "T1069", - "T1069.003", - "T1070", - "T1070.002", - "T1070.003", - "T1070.004", - "T1070.006", - "T1070.008", - "T1071", - "T1071.004", - "T1072", - "T1078", - "T1078.001", - "T1078.003", - "T1078.004", - "T1083", - "T1087.001", - "T1090", - "T1090.002", - "T1090.003", - "T1098", - "T1098.001", - "T1098.003", - "T1098.004", - "T1098.006", - "T1104", - "T1105", - "T1106", - "T1110", - "T1119", - "T1129", - "T1132", - "T1132.001", - "T1134", - "T1134.001", - "T1136", - "T1136.001", - "T1140", - "T1190", - "T1195", - "T1195.001", - "T1203", - "T1204", - "T1212", - "T1222.002", - "T1484", - "T1485", - "T1486", - "T1489", - "T1490", - "T1495", - "T1496", - "T1498", - "T1526", - "T1528", - "T1531", - "T1537", - "T1539", - "T1543", - "T1546", - "T1547", - "T1547.006", - "T1547.009", - "T1548", - "T1548.001", - "T1548.003", - "T1552", - "T1552.001", - "T1552.003", - "T1552.004", - "T1553", - "T1553.004", - "T1554", - "T1555", - "T1556", - "T1556.003", - "T1556.006", - "T1562", - "T1562.001", - "T1562.006", - "T1562.012", - "T1564", - "T1564.001", - "T1564.002", - "T1567", - "T1567.002", - "T1568", - "T1570", - "T1574", - "T1574.006", - "T1578", - "T1578.001", - "T1580", - "T1587", - "T1587.001", - "T1588", - "T1588.001", - "T1588.006", - "T1595", - "T1595.001", - "T1608", - "T1608.001", - "T1609", - "T1610", - "T1611", - "T1613", - "T1620", - "T1649", - "T1657" + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" ], "type": "string" }, "type": "array" }, "primaryTactic": { - "description": "The MITRE ATT&CK tactic most closely represented by this finding, if any.", "enum": [ "TACTIC_UNSPECIFIED", "RECONNAISSANCE", @@ -11424,26 +9956,25 @@ "IMPACT" ], "enumDescriptions": [ - "Unspecified value.", - "TA0043", - "TA0042", - "TA0001", - "TA0002", - "TA0003", - "TA0004", - "TA0005", - "TA0006", - "TA0007", - "TA0008", - "TA0009", - "TA0011", - "TA0010", - "TA0040" + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" ], "type": "string" }, "primaryTechniques": { - "description": "The MITRE ATT&CK technique most closely represented by this finding, if any. primary_techniques is a repeated field because there are multiple levels of MITRE ATT&CK techniques. If the technique most closely represented by this finding is a sub-technique (e.g. `SCANNING_IP_BLOCKS`), both the sub-technique and its parent technique(s) will be listed (e.g. `SCANNING_IP_BLOCKS`, `ACTIVE_SCANNING`).", "items": { "enum": [ "TECHNIQUE_UNSPECIFIED", @@ -11587,207 +10118,196 @@ "FINANCIAL_THEFT" ], "enumDescriptions": [ - "Unspecified value.", - "T1001", - "T1001.002", - "T1003", - "T1003.007", - "T1003.008", - "T1005", - "T1020", - "T1027", - "T1027.003", - "T1027.004", - "T1027.010", - "T1029", - "T1033", - "T1036", - "T1036.005", - "T1037", - "T1037.005", - "T1046", - "T1053", - "T1053.003", - "T1053.007", - "T1055", - "T1056", - "T1056.001", - "T1057", - "T1059", - "T1059.004", - "T1059.006", - "T1068", - "T1069", - "T1069.003", - "T1070", - "T1070.002", - "T1070.003", - "T1070.004", - "T1070.006", - "T1070.008", - "T1071", - "T1071.004", - "T1072", - "T1078", - "T1078.001", - "T1078.003", - "T1078.004", - "T1083", - "T1087.001", - "T1090", - "T1090.002", - "T1090.003", - "T1098", - "T1098.001", - "T1098.003", - "T1098.004", - "T1098.006", - "T1104", - "T1105", - "T1106", - "T1110", - "T1119", - "T1129", - "T1132", - "T1132.001", - "T1134", - "T1134.001", - "T1136", - "T1136.001", - "T1140", - "T1190", - "T1195", - "T1195.001", - "T1203", - "T1204", - "T1212", - "T1222.002", - "T1484", - "T1485", - "T1486", - "T1489", - "T1490", - "T1495", - "T1496", - "T1498", - "T1526", - "T1528", - "T1531", - "T1537", - "T1539", - "T1543", - "T1546", - "T1547", - "T1547.006", - "T1547.009", - "T1548", - "T1548.001", - "T1548.003", - "T1552", - "T1552.001", - "T1552.003", - "T1552.004", - "T1553", - "T1553.004", - "T1554", - "T1555", - "T1556", - "T1556.003", - "T1556.006", - "T1562", - "T1562.001", - "T1562.006", - "T1562.012", - "T1564", - "T1564.001", - "T1564.002", - "T1567", - "T1567.002", - "T1568", - "T1570", - "T1574", - "T1574.006", - "T1578", - "T1578.001", - "T1580", - "T1587", - "T1587.001", - "T1588", - "T1588.001", - "T1588.006", - "T1595", - "T1595.001", - "T1608", - "T1608.001", - "T1609", - "T1610", - "T1611", - "T1613", - "T1620", - "T1649", - "T1657" + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" ], "type": "string" }, "type": "array" }, "version": { - "description": "The MITRE ATT&CK version referenced by the above fields. E.g. \"8\".", "type": "string" } }, "type": "object" }, "MuteInfo": { - "description": "Mute information about the finding, including whether the finding has a static mute or any matching dynamic mute rules.", "id": "MuteInfo", "properties": { "dynamicMuteRecords": { - "description": "The list of dynamic mute rules that currently match the finding.", "items": { "$ref": "DynamicMuteRecord" }, "type": "array" }, "staticMute": { - "$ref": "StaticMute", - "description": "If set, the static mute applied to this finding. Static mutes override dynamic mutes. If unset, there is no static mute." + "$ref": "StaticMute" } }, "type": "object" }, "Network": { - "description": "Contains information about a VPC network associated with the finding.", "id": "Network", "properties": { "name": { - "description": "The name of the VPC network resource, for example, `//compute.googleapis.com/projects/my-project/global/networks/my-network`.", "type": "string" } }, "type": "object" }, "Node": { - "description": "Kubernetes nodes associated with the finding.", "id": "Node", "properties": { "name": { - "description": "[Full resource name](https://google.aip.dev/122#full-resource-names) of the Compute Engine VM running the cluster node.", "type": "string" } }, "type": "object" }, "NodePool": { - "description": "Provides GKE node pool information.", "id": "NodePool", "properties": { "name": { - "description": "Kubernetes node pool name.", "type": "string" }, "nodes": { - "description": "Nodes associated with the finding.", "items": { "$ref": "Node" }, @@ -11797,177 +10317,142 @@ "type": "object" }, "Notebook": { - "description": "Represents a Jupyter notebook IPYNB file, such as a [Colab Enterprise notebook](https://cloud.google.com/colab/docs/introduction) file, that is associated with a finding.", "id": "Notebook", "properties": { "lastAuthor": { - "description": "The user ID of the latest author to modify the notebook.", "type": "string" }, "name": { - "description": "The name of the notebook.", "type": "string" }, "notebookUpdateTime": { - "description": "The most recent time the notebook was updated.", "format": "google-datetime", "type": "string" }, "service": { - "description": "The source notebook service, for example, \"Colab Enterprise\".", "type": "string" } }, "type": "object" }, "Object": { - "description": "Kubernetes object related to the finding, uniquely identified by GKNN. Used if the object Kind is not one of Pod, Node, NodePool, Binding, or AccessReview.", "id": "Object", "properties": { "containers": { - "description": "Pod containers associated with this finding, if any.", "items": { "$ref": "Container" }, "type": "array" }, "group": { - "description": "Kubernetes object group, such as \"policy.k8s.io/v1\".", "type": "string" }, "kind": { - "description": "Kubernetes object kind, such as \"Namespace\".", "type": "string" }, "name": { - "description": "Kubernetes object name. For details see https://kubernetes.io/docs/concepts/overview/working-with-objects/names/.", "type": "string" }, "ns": { - "description": "Kubernetes object namespace. Must be a valid DNS label. Named \"ns\" to avoid collision with C++ namespace keyword. For details see https://kubernetes.io/docs/tasks/administer-cluster/namespaces/.", "type": "string" } }, "type": "object" }, "OrgPolicy": { - "description": "Contains information about the org policies associated with the finding.", "id": "OrgPolicy", "properties": { "name": { - "description": "The resource name of the org policy. Example: \"organizations/{organization_id}/policies/{constraint_name}\"", "type": "string" } }, "type": "object" }, "Package": { - "description": "Package is a generic definition of a package.", "id": "Package", "properties": { "cpeUri": { - "description": "The CPE URI where the vulnerability was detected.", "type": "string" }, "packageName": { - "description": "The name of the package where the vulnerability was detected.", "type": "string" }, "packageType": { - "description": "Type of package, for example, os, maven, or go.", "type": "string" }, "packageVersion": { - "description": "The version of the package.", "type": "string" } }, "type": "object" }, "Pipeline": { - "description": "Vertex AI training pipeline associated with the finding.", "id": "Pipeline", "properties": { "displayName": { - "description": "The user defined display name of pipeline, e.g. plants-classification", "type": "string" }, "name": { - "description": "Resource name of the pipeline, e.g. projects/{project}/locations/{location}/trainingPipelines/5253428229225578496", "type": "string" } }, "type": "object" }, "Pod": { - "description": "A Kubernetes Pod.", "id": "Pod", "properties": { "containers": { - "description": "Pod containers associated with this finding, if any.", "items": { "$ref": "Container" }, "type": "array" }, "labels": { - "description": "Pod labels. For Kubernetes containers, these are applied to the container.", "items": { "$ref": "Label" }, "type": "array" }, "name": { - "description": "Kubernetes Pod name.", "type": "string" }, "ns": { - "description": "Kubernetes Pod namespace.", "type": "string" } }, "type": "object" }, "PolicyDriftDetails": { - "description": "The policy field that violates the deployed posture and its expected and detected values.", "id": "PolicyDriftDetails", "properties": { "detectedValue": { - "description": "The detected value that violates the deployed posture, for example, `false` or `allowed_values={\"projects/22831892\"}`.", "type": "string" }, "expectedValue": { - "description": "The value of this field that was configured in a posture, for example, `true` or `allowed_values={\"projects/29831892\"}`.", "type": "string" }, "field": { - "description": "The name of the updated field, for example constraint.implementation.policy_rules[0].enforce", "type": "string" } }, "type": "object" }, "PolicyViolationSummary": { - "description": "Metadata summarizing policy violations of child resources of the affected resource. `finding_category` and `resource` determine the exact semantics of the counts. For example, when category=DATA_SECURITY_POSTURE_OBJECT_PUBLIC_ACCESS_VIOLATION and resource='storage.googleapis.com/buckets/my-bucket-name' then this counts the number of Cloud Storage objects in my-bucket-name which violate a Public Access control.", "id": "PolicyViolationSummary", "properties": { "conformantResourcesCount": { - "description": "Total number of child resources that conform to the policy.", "format": "int64", "type": "string" }, "evaluationErrorsCount": { - "description": "Number of child resources for which errors during evaluation occurred. The evaluation result for these child resources is effectively \"unknown\".", "format": "int64", "type": "string" }, "outOfScopeResourcesCount": { - "description": "Total count of child resources which were not in scope for evaluation.", "format": "int64", "type": "string" }, "policyViolationsCount": { - "description": "Count of child resources in violation of the policy.", "format": "int64", "type": "string" } @@ -11975,16 +10460,13 @@ "type": "object" }, "PortRange": { - "description": "A port range which is inclusive of the min and max values. Values are between 0 and 2^16-1. The max can be equal / must be not smaller than the min value. If min and max are equal this indicates that it is a single port.", "id": "PortRange", "properties": { "max": { - "description": "Maximum port value.", "format": "int64", "type": "string" }, "min": { - "description": "Minimum port value.", "format": "int64", "type": "string" } @@ -11992,62 +10474,50 @@ "type": "object" }, "Process": { - "description": "Represents an operating system process.", "id": "Process", "properties": { "args": { - "description": "Process arguments as JSON encoded strings.", "items": { "type": "string" }, "type": "array" }, "argumentsTruncated": { - "description": "True if `args` is incomplete.", "type": "boolean" }, "binary": { - "$ref": "File", - "description": "File information for the process executable." + "$ref": "File" }, "envVariables": { - "description": "Process environment variables.", "items": { "$ref": "EnvironmentVariable" }, "type": "array" }, "envVariablesTruncated": { - "description": "True if `env_variables` is incomplete.", "type": "boolean" }, "libraries": { - "description": "File information for libraries loaded by the process.", "items": { "$ref": "File" }, "type": "array" }, "name": { - "description": "The process name, as displayed in utilities like `top` and `ps`. This name can be accessed through `/proc/[pid]/comm` and changed with `prctl(PR_SET_NAME)`.", "type": "string" }, "parentPid": { - "description": "The parent process ID.", "format": "int64", "type": "string" }, "pid": { - "description": "The process ID.", "format": "int64", "type": "string" }, "script": { - "$ref": "File", - "description": "When the process represents the invocation of a script, `binary` provides information about the interpreter, while `script` provides information about the script file provided to the interpreter." + "$ref": "File" }, "userId": { - "description": "The ID of the user that executed the process. E.g. If this is the root user this will always be 0.", "format": "int64", "type": "string" } @@ -12055,51 +10525,43 @@ "type": "object" }, "ProcessSignature": { - "description": "Indicates what signature matched this process.", "id": "ProcessSignature", "properties": { "memoryHashSignature": { - "$ref": "MemoryHashSignature", - "description": "Signature indicating that a binary family was matched." + "$ref": "MemoryHashSignature" }, "signatureType": { - "description": "Describes the type of resource associated with the signature.", "enum": [ "SIGNATURE_TYPE_UNSPECIFIED", "SIGNATURE_TYPE_PROCESS", "SIGNATURE_TYPE_FILE" ], "enumDescriptions": [ - "The default signature type.", - "Used for signatures concerning processes.", - "Used for signatures concerning disks." + "", + "", + "" ], "type": "string" }, "yaraRuleSignature": { - "$ref": "YaraRuleSignature", - "description": "Signature indicating that a YARA rule was matched." + "$ref": "YaraRuleSignature" } }, "type": "object" }, "RapidVulnerabilityDetectionSettings": { - "description": "Resource capturing the settings for the Rapid Vulnerability Detection service.", "id": "RapidVulnerabilityDetectionSettings", "properties": { "modules": { "additionalProperties": { "$ref": "Config" }, - "description": "The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's.", "type": "object" }, "name": { - "description": "The resource name of the RapidVulnerabilityDetectionSettings. Formats: * organizations/{organization}/rapidVulnerabilityDetectionSettings * folders/{folder}/rapidVulnerabilityDetectionSettings * projects/{project}/rapidVulnerabilityDetectionSettings", "type": "string" }, "serviceEnablementState": { - "description": "The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED.", "enum": [ "ENABLEMENT_STATE_UNSPECIFIED", "INHERITED", @@ -12107,15 +10569,14 @@ "DISABLED" ], "enumDescriptions": [ - "Default value. This value is unused.", - "State is inherited from the parent resource.", - "State is enabled.", - "State is disabled." + "", + "", + "", + "" ], "type": "string" }, "updateTime": { - "description": "Output only. The time the settings were last updated.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -12124,41 +10585,33 @@ "type": "object" }, "Reference": { - "description": "Additional Links", "id": "Reference", "properties": { "source": { - "description": "Source of the reference e.g. NVD", "type": "string" }, "uri": { - "description": "Uri for the mentioned source e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527.", "type": "string" } }, "type": "object" }, "Requests": { - "description": "Information about the requests relevant to the finding.", "id": "Requests", "properties": { "longTermAllowed": { - "description": "Allowed RPS (requests per second) over the long term.", "format": "int32", "type": "integer" }, "longTermDenied": { - "description": "Denied RPS (requests per second) over the long term.", "format": "int32", "type": "integer" }, "ratio": { - "description": "For 'Increasing deny ratio', the ratio is the denied traffic divided by the allowed traffic. For 'Allowed traffic spike', the ratio is the allowed traffic in the short term divided by allowed traffic in the long term.", "format": "double", "type": "number" }, "shortTermAllowed": { - "description": "Allowed RPS (requests per second) in the short term.", "format": "int32", "type": "integer" } @@ -12166,11 +10619,9 @@ "type": "object" }, "ResourcePath": { - "description": "Represents the path of resources leading up to the resource this finding is about.", "id": "ResourcePath", "properties": { "nodes": { - "description": "The list of nodes that make the up resource path, ordered from lowest level to highest level.", "items": { "$ref": "ResourcePathNode" }, @@ -12180,19 +10631,15 @@ "type": "object" }, "ResourcePathNode": { - "description": "A node within the resource path. Each node represents a resource within the resource hierarchy.", "id": "ResourcePathNode", "properties": { "displayName": { - "description": "The display name of the resource this node represents.", "type": "string" }, "id": { - "description": "The ID of the resource this node represents.", "type": "string" }, "nodeType": { - "description": "The type of resource this node represents.", "enum": [ "RESOURCE_PATH_NODE_TYPE_UNSPECIFIED", "GCP_ORGANIZATION", @@ -12206,16 +10653,16 @@ "AZURE_RESOURCE_GROUP" ], "enumDescriptions": [ - "Node type is unspecified.", - "The node represents a Google Cloud organization.", - "The node represents a Google Cloud folder.", - "The node represents a Google Cloud project.", - "The node represents an AWS organization.", - "The node represents an AWS organizational unit.", - "The node represents an AWS account.", - "The node represents an Azure management group.", - "The node represents an Azure subscription.", - "The node represents an Azure resource group." + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" ], "type": "string" } @@ -12223,90 +10670,74 @@ "type": "object" }, "Role": { - "description": "Kubernetes Role or ClusterRole.", "id": "Role", "properties": { "kind": { - "description": "Role type.", "enum": [ "KIND_UNSPECIFIED", "ROLE", "CLUSTER_ROLE" ], "enumDescriptions": [ - "Role type is not specified.", - "Kubernetes Role.", - "Kubernetes ClusterRole." + "", + "", + "" ], "type": "string" }, "name": { - "description": "Role name.", "type": "string" }, "ns": { - "description": "Role namespace.", "type": "string" } }, "type": "object" }, "Secret": { - "description": "Details about a secret or credential associated with the finding.", "id": "Secret", "properties": { "environmentVariable": { - "$ref": "SecretEnvironmentVariable", - "description": "The environment variable containing the secret." + "$ref": "SecretEnvironmentVariable" }, "filePath": { - "$ref": "SecretFilePath", - "description": "The file containing the secret." + "$ref": "SecretFilePath" }, "status": { - "$ref": "SecretStatus", - "description": "The status of the secret." + "$ref": "SecretStatus" }, "type": { - "description": "The type of secret, for example, GCP_API_KEY.", "type": "string" } }, "type": "object" }, "SecretEnvironmentVariable": { - "description": "Environment variable containing the secret.", "id": "SecretEnvironmentVariable", "properties": { "key": { - "description": "Environment variable name as a JSON encoded string. Note that value is not included since the value contains the secret data, which is sensitive core content.", "type": "string" } }, "type": "object" }, "SecretFilePath": { - "description": "File path containing the secret.", "id": "SecretFilePath", "properties": { "path": { - "description": "Path to the file.", "type": "string" } }, "type": "object" }, "SecretStatus": { - "description": "The status of the secret.", "id": "SecretStatus", "properties": { "lastUpdatedTime": { - "description": "Time that the secret was found.", "format": "google-datetime", "type": "string" }, "validity": { - "description": "The validity of the secret.", "enum": [ "SECRET_VALIDITY_UNSPECIFIED", "SECRET_VALIDITY_UNSUPPORTED", @@ -12315,11 +10746,11 @@ "SECRET_VALIDITY_VALID" ], "enumDescriptions": [ - "Default value; no validation was attempted.", - "There is no mechanism to validate the secret.", - "Validation is supported but the validation failed.", - "The secret is confirmed to be invalid.", - "The secret is confirmed to be valid." + "", + "", + "", + "", + "" ], "type": "string" } @@ -12327,49 +10758,39 @@ "type": "object" }, "SecurityBulletin": { - "description": "SecurityBulletin are notifications of vulnerabilities of Google products.", "id": "SecurityBulletin", "properties": { "bulletinId": { - "description": "ID of the bulletin corresponding to the vulnerability.", "type": "string" }, "submissionTime": { - "description": "Submission time of this Security Bulletin.", "format": "google-datetime", "type": "string" }, "suggestedUpgradeVersion": { - "description": "This represents a version that the cluster receiving this notification should be upgraded to, based on its current version. For example, 1.15.0", "type": "string" } }, "type": "object" }, "SecurityCenterSettings": { - "description": "Resource capturing the settings for Security Center.", "id": "SecurityCenterSettings", "properties": { "cryptoKeyName": { - "description": "The KMS key name used for CMEK encryption. Format: projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{key_name}", "type": "string" }, "logSinkProject": { - "description": "The resource name of the project to send logs to. This project must be part of the organization this resource resides in. The format is `projects/{project_id}`. An empty value disables logging. This value is only referenced by services that support log sink. Please refer to the documentation for an updated list of compatible services. This may only be specified for organization level onboarding.", "type": "string" }, "name": { - "description": "The resource name of the SecurityCenterSettings. Format: organizations/{organization}/securityCenterSettings Format: folders/{folder}/securityCenterSettings Format: projects/{project}/securityCenterSettings", "type": "string" }, "onboardingTime": { - "description": "Output only. Timestamp of when the customer organization was onboarded to SCC.", "format": "google-datetime", "readOnly": true, "type": "string" }, "orgServiceAccount": { - "description": "Output only. The organization level service account to be used for security center components.", "readOnly": true, "type": "string" } @@ -12377,27 +10798,22 @@ "type": "object" }, "SecurityHealthAnalyticsSettings": { - "description": "Resource capturing the settings for the Security Health Analytics service.", "id": "SecurityHealthAnalyticsSettings", "properties": { "modules": { "additionalProperties": { "$ref": "Config" }, - "description": "The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration.", "type": "object" }, "name": { - "description": "Identifier. The resource name of the SecurityHealthAnalyticsSettings. Formats: * organizations/{organization}/securityHealthAnalyticsSettings * folders/{folder}/securityHealthAnalyticsSettings * projects/{project}/securityHealthAnalyticsSettings", "type": "string" }, "serviceAccount": { - "description": "Output only. The service account used by Security Health Analytics detectors.", "readOnly": true, "type": "string" }, "serviceEnablementState": { - "description": "The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED.", "enum": [ "ENABLEMENT_STATE_UNSPECIFIED", "INHERITED", @@ -12405,15 +10821,14 @@ "DISABLED" ], "enumDescriptions": [ - "Default value. This value is unused.", - "State is inherited from the parent resource.", - "State is enabled.", - "State is disabled." + "", + "", + "", + "" ], "type": "string" }, "updateTime": { - "description": "Output only. The time the settings were last updated.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -12422,94 +10837,75 @@ "type": "object" }, "SecurityMarks": { - "description": "User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization.", "id": "SecurityMarks", "properties": { "canonicalName": { - "description": "The canonical name of the marks. Examples: \"organizations/{organization_id}/assets/{asset_id}/securityMarks\" \"folders/{folder_id}/assets/{asset_id}/securityMarks\" \"projects/{project_number}/assets/{asset_id}/securityMarks\" \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks\" \"folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks\" \"projects/{project_number}/sources/{source_id}/findings/{finding_id}/securityMarks\"", "type": "string" }, "marks": { "additionalProperties": { "type": "string" }, - "description": "Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive)", "type": "object" }, "name": { - "description": "The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: \"organizations/{organization_id}/assets/{asset_id}/securityMarks\" \"organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks\".", "type": "string" } }, "type": "object" }, "SecurityPolicy": { - "description": "Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding.", "id": "SecurityPolicy", "properties": { "name": { - "description": "The name of the Google Cloud Armor security policy, for example, \"my-security-policy\".", "type": "string" }, "preview": { - "description": "Whether or not the associated rule or policy is in preview mode.", "type": "boolean" }, "type": { - "description": "The type of Google Cloud Armor security policy for example, 'backend security policy', 'edge security policy', 'network edge security policy', or 'always-on DDoS protection'.", "type": "string" } }, "type": "object" }, "SecurityPosture": { - "description": "Represents a posture that is deployed on Google Cloud by the Security Command Center Posture Management service. A posture contains one or more policy sets. A policy set is a group of policies that enforce a set of security rules on Google Cloud.", "id": "SecurityPosture", "properties": { "changedPolicy": { - "description": "The name of the updated policy, for example, `projects/{project_id}/policies/{constraint_name}`.", "type": "string" }, "name": { - "description": "Name of the posture, for example, `CIS-Posture`.", "type": "string" }, "policy": { - "description": "The ID of the updated policy, for example, `compute-policy-1`.", "type": "string" }, "policyDriftDetails": { - "description": "The details about a change in an updated policy that violates the deployed posture.", "items": { "$ref": "PolicyDriftDetails" }, "type": "array" }, "policySet": { - "description": "The name of the updated policyset, for example, `cis-policyset`.", "type": "string" }, "postureDeployment": { - "description": "The name of the posture deployment, for example, `organizations/{org_id}/posturedeployments/{posture_deployment_id}`.", "type": "string" }, "postureDeploymentResource": { - "description": "The project, folder, or organization on which the posture is deployed, for example, `projects/{project_number}`.", "type": "string" }, "revisionId": { - "description": "The version of the posture, for example, `c7cfa2a8`.", "type": "string" } }, "type": "object" }, "SensitivityScore": { - "description": "Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive.", "id": "SensitivityScore", "properties": { "score": { - "description": "The sensitivity score applied to the resource.", "enum": [ "SENSITIVITY_SCORE_LEVEL_UNSPECIFIED", "SENSITIVITY_LOW", @@ -12518,11 +10914,11 @@ "SENSITIVITY_HIGH" ], "enumDescriptions": [ - "Unused.", - "No sensitive information detected. The resource isn't publicly accessible.", - "Unable to determine sensitivity.", - "Medium risk. Contains personally identifiable information (PII), potentially sensitive data, or fields with free-text data that are at a higher risk of having intermittent sensitive data. Consider limiting access.", - "High risk. Sensitive personally identifiable information (SPII) can be present. Exfiltration of data can lead to user data loss. Re-identification of users might be possible. Consider limiting usage and or removing SPII." + "", + "", + "", + "", + "" ], "type": "string" } @@ -12530,31 +10926,25 @@ "type": "object" }, "ServiceAccountDelegationInfo": { - "description": "Identity delegation history of an authenticated service account.", "id": "ServiceAccountDelegationInfo", "properties": { "principalEmail": { - "description": "The email address of a Google account.", "type": "string" }, "principalSubject": { - "description": "A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name}/subjects/{subject}` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name}[{subject}]`", "type": "string" } }, "type": "object" }, "StaticMute": { - "description": "Information about the static mute state. A static mute state overrides any dynamic mute rules that apply to this finding. The static mute state can be set by a static mute rule or by muting the finding directly.", "id": "StaticMute", "properties": { "applyTime": { - "description": "When the static mute was applied.", "format": "google-datetime", "type": "string" }, "state": { - "description": "The static mute state. If the value is `MUTED` or `UNMUTED`, then the finding's overall mute state will have the same value.", "enum": [ "MUTE_UNSPECIFIED", "MUTED", @@ -12562,10 +10952,10 @@ "UNDEFINED" ], "enumDescriptions": [ - "Unspecified.", - "Finding has been muted.", - "Finding has been unmuted.", - "Finding has never been muted/unmuted." + "", + "", + "", + "" ], "type": "string" } @@ -12573,11 +10963,9 @@ "type": "object" }, "Subject": { - "description": "Represents a Kubernetes subject.", "id": "Subject", "properties": { "kind": { - "description": "Authentication type for the subject.", "enum": [ "AUTH_TYPE_UNSPECIFIED", "USER", @@ -12585,38 +10973,32 @@ "GROUP" ], "enumDescriptions": [ - "Authentication is not specified.", - "User with valid certificate.", - "Users managed by Kubernetes API with credentials stored as secrets.", - "Collection of users." + "", + "", + "", + "" ], "type": "string" }, "name": { - "description": "Name for the subject.", "type": "string" }, "ns": { - "description": "Namespace for the subject.", "type": "string" } }, "type": "object" }, "Subscription": { - "description": "Resource capturing the state of an organization's subscription.", "id": "Subscription", "properties": { "details": { - "$ref": "Details", - "description": "The details of the most recent active subscription. If there has never been a subscription this will be empty." + "$ref": "Details" }, "name": { - "description": "The resource name of the subscription. Format: organizations/{organization}/subscription", "type": "string" }, "tier": { - "description": "The tier of SCC features this organization currently has access to.", "enum": [ "TIER_UNSPECIFIED", "STANDARD", @@ -12625,11 +11007,11 @@ "ENTERPRISE_MC" ], "enumDescriptions": [ - "Default value. This value is unused.", - "The standard tier.", - "The premium tier.", - "The enterprise tier.", - "The enterprise MC tier." + "", + "", + "", + "", + "" ], "type": "string" } @@ -12637,48 +11019,38 @@ "type": "object" }, "TicketInfo": { - "description": "Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding.", "id": "TicketInfo", "properties": { "assignee": { - "description": "The assignee of the ticket in the ticket system.", "type": "string" }, "description": { - "description": "The description of the ticket in the ticket system.", "type": "string" }, "id": { - "description": "The identifier of the ticket in the ticket system.", "type": "string" }, "status": { - "description": "The latest status of the ticket, as reported by the ticket system.", "type": "string" }, "updateTime": { - "description": "The time when the ticket was last updated, as reported by the ticket system.", "format": "google-datetime", "type": "string" }, "uri": { - "description": "The link to the ticket in the ticket system.", "type": "string" } }, "type": "object" }, "ToxicCombination": { - "description": "Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination.", "id": "ToxicCombination", "properties": { "attackExposureScore": { - "description": "The [Attack exposure score](https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_exposure_scores) of this toxic combination. The score is a measure of how much this toxic combination exposes one or more high-value resources to potential attack.", "format": "double", "type": "number" }, "relatedFindings": { - "description": "List of resource names of findings associated with this toxic combination. For example, `organizations/123/sources/456/findings/789`.", "items": { "type": "string" }, @@ -12688,18 +11060,15 @@ "type": "object" }, "VertexAi": { - "description": "Vertex AI-related information associated with the finding.", "id": "VertexAi", "properties": { "datasets": { - "description": "Datasets associated with the finding.", "items": { "$ref": "Dataset" }, "type": "array" }, "pipelines": { - "description": "Pipelines associated with the finding.", "items": { "$ref": "Pipeline" }, @@ -12709,27 +11078,22 @@ "type": "object" }, "VirtualMachineThreatDetectionSettings": { - "description": "Resource capturing the settings for the Virtual Machine Threat Detection service.", "id": "VirtualMachineThreatDetectionSettings", "properties": { "modules": { "additionalProperties": { "$ref": "Config" }, - "description": "The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration.", "type": "object" }, "name": { - "description": "Identifier. The resource name of the VirtualMachineThreatDetectionSettings. Formats: * organizations/{organization}/virtualMachineThreatDetectionSettings * folders/{folder}/virtualMachineThreatDetectionSettings * projects/{project}/virtualMachineThreatDetectionSettings", "type": "string" }, "serviceAccount": { - "description": "Output only. The service account used by Virtual Machine Threat Detection detectors.", "readOnly": true, "type": "string" }, "serviceEnablementState": { - "description": "The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED.", "enum": [ "ENABLEMENT_STATE_UNSPECIFIED", "INHERITED", @@ -12737,15 +11101,14 @@ "DISABLED" ], "enumDescriptions": [ - "Default value. This value is unused.", - "State is inherited from the parent resource.", - "State is enabled.", - "State is disabled." + "", + "", + "", + "" ], "type": "string" }, "updateTime": { - "description": "Output only. The time the settings were last updated.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -12754,46 +11117,37 @@ "type": "object" }, "Vulnerability": { - "description": "Refers to common vulnerability fields e.g. cve, cvss, cwe etc.", "id": "Vulnerability", "properties": { "cve": { - "$ref": "Cve", - "description": "CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/)" + "$ref": "Cve" }, "cwes": { - "description": "Represents one or more Common Weakness Enumeration (CWE) information on this vulnerability.", "items": { "$ref": "Cwe" }, "type": "array" }, "fixedPackage": { - "$ref": "Package", - "description": "The fixed package is relevant to the finding." + "$ref": "Package" }, "offendingPackage": { - "$ref": "Package", - "description": "The offending package is relevant to the finding." + "$ref": "Package" }, "providerRiskScore": { - "description": "Provider provided risk_score based on multiple factors. The higher the risk score, the more risky the vulnerability is.", "format": "int64", "type": "string" }, "reachable": { - "description": "Represents whether the vulnerability is reachable (detected via static analysis)", "type": "boolean" }, "securityBulletin": { - "$ref": "SecurityBulletin", - "description": "The security bulletin is relevant to this finding." + "$ref": "SecurityBulletin" } }, "type": "object" }, "VulnerabilityCountBySeverity": { - "description": "Vulnerability count by severity.", "id": "VulnerabilityCountBySeverity", "properties": { "severityToFindingCount": { @@ -12801,18 +11155,15 @@ "format": "int64", "type": "string" }, - "description": "Key is the Severity enum.", "type": "object" } }, "type": "object" }, "VulnerabilitySnapshot": { - "description": "Result containing the properties and count of a VulnerabilitySnapshot request.", "id": "VulnerabilitySnapshot", "properties": { "cloudProvider": { - "description": "The cloud provider for the vulnerability snapshot.", "enum": [ "CLOUD_PROVIDER_UNSPECIFIED", "GOOGLE_CLOUD_PLATFORM", @@ -12820,23 +11171,20 @@ "MICROSOFT_AZURE" ], "enumDescriptions": [ - "The cloud provider is unspecified.", - "The cloud provider is Google Cloud.", - "The cloud provider is Amazon Web Services.", - "The cloud provider is Microsoft Azure." + "", + "", + "", + "" ], "type": "string" }, "findingCount": { - "$ref": "VulnerabilityCountBySeverity", - "description": "The vulnerability count by severity." + "$ref": "VulnerabilityCountBySeverity" }, "name": { - "description": "Identifier. The vulnerability snapshot name. Format: //locations//vulnerabilitySnapshots/", "type": "string" }, "snapshotTime": { - "description": "The time that the snapshot was taken.", "format": "google-datetime", "type": "string" } @@ -12844,22 +11192,18 @@ "type": "object" }, "WebSecurityScannerSettings": { - "description": "Resource capturing the settings for the Web Security Scanner service.", "id": "WebSecurityScannerSettings", "properties": { "modules": { "additionalProperties": { "$ref": "Config" }, - "description": "The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration.", "type": "object" }, "name": { - "description": "Identifier. The resource name of the WebSecurityScannerSettings. Formats: * organizations/{organization}/webSecurityScannerSettings * folders/{folder}/webSecurityScannerSettings * projects/{project}/webSecurityScannerSettings", "type": "string" }, "serviceEnablementState": { - "description": "The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED.", "enum": [ "ENABLEMENT_STATE_UNSPECIFIED", "INHERITED", @@ -12867,15 +11211,14 @@ "DISABLED" ], "enumDescriptions": [ - "Default value. This value is unused.", - "State is inherited from the parent resource.", - "State is enabled.", - "State is disabled." + "", + "", + "", + "" ], "type": "string" }, "updateTime": { - "description": "Output only. The time the settings were last updated.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -12884,11 +11227,9 @@ "type": "object" }, "YaraRuleSignature": { - "description": "A signature corresponding to a YARA rule.", "id": "YaraRuleSignature", "properties": { "yaraRule": { - "description": "The name of the YARA rule.", "type": "string" } }, diff --git a/discovery/servicecontrol-v1.json b/discovery/servicecontrol-v1.json index b8a35fe4731..80357ccf671 100644 --- a/discovery/servicecontrol-v1.json +++ b/discovery/servicecontrol-v1.json @@ -197,7 +197,7 @@ } } }, - "revision": "20260428", + "revision": "20260512", "rootUrl": "https://servicecontrol.googleapis.com/", "schemas": { "AllocateInfo": { @@ -422,6 +422,10 @@ "description": "Structured claims presented with the credential. JWTs include `{key: value}` pairs for standard and private claims. The following is a subset of the standard required and optional claims that would typically be presented for a Google-based JWT: {'iss': 'accounts.google.com', 'sub': '113289723416554971153', 'aud': ['123456789012', 'pubsub.googleapis.com'], 'azp': '123456789012.apps.googleusercontent.com', 'email': 'jsmith@example.com', 'iat': 1353601026, 'exp': 1353604926} SAML assertions are similarly specified, but with an identity provider dependent structure.", "type": "object" }, + "credentialId": { + "description": "Identifies the client credential id used for authentication. credential_id is in the format of AUTH_METHOD:IDENTIFIER, e.g. \"serviceaccount:XXXXX, apikey:XXXXX\" where the format of the IDENTIFIER can vary for different AUTH_METHODs.", + "type": "string" + }, "oauth": { "$ref": "Oauth", "description": "Attributes of the OAuth token associated with the request." diff --git a/discovery/servicecontrol-v2.json b/discovery/servicecontrol-v2.json index c6cfc7b690e..21e5d3d1d78 100644 --- a/discovery/servicecontrol-v2.json +++ b/discovery/servicecontrol-v2.json @@ -169,7 +169,7 @@ } } }, - "revision": "20260428", + "revision": "20260512", "rootUrl": "https://servicecontrol.googleapis.com/", "schemas": { "Api": { @@ -363,6 +363,10 @@ "description": "Structured claims presented with the credential. JWTs include `{key: value}` pairs for standard and private claims. The following is a subset of the standard required and optional claims that would typically be presented for a Google-based JWT: {'iss': 'accounts.google.com', 'sub': '113289723416554971153', 'aud': ['123456789012', 'pubsub.googleapis.com'], 'azp': '123456789012.apps.googleusercontent.com', 'email': 'jsmith@example.com', 'iat': 1353601026, 'exp': 1353604926} SAML assertions are similarly specified, but with an identity provider dependent structure.", "type": "object" }, + "credentialId": { + "description": "Identifies the client credential id used for authentication. credential_id is in the format of AUTH_METHOD:IDENTIFIER, e.g. \"serviceaccount:XXXXX, apikey:XXXXX\" where the format of the IDENTIFIER can vary for different AUTH_METHODs.", + "type": "string" + }, "oauth": { "$ref": "Oauth", "description": "Attributes of the OAuth token associated with the request." diff --git a/discovery/storage-v1.json b/discovery/storage-v1.json index 94826e2c9f3..e24a43806d3 100644 --- a/discovery/storage-v1.json +++ b/discovery/storage-v1.json @@ -253,7 +253,7 @@ "location": "northamerica-south1" } ], - "etag": "\"3136383236333536383830353031333435373432\"", + "etag": "\"3135343638383433383330343638393536313030\"", "icons": { "x16": "https://www.google.com/images/icons/product/cloud_storage-16.png", "x32": "https://www.google.com/images/icons/product/cloud_storage-32.png" @@ -4605,7 +4605,7 @@ } } }, - "revision": "20260408", + "revision": "20260524", "rootUrl": "https://storage.googleapis.com/", "schemas": { "AdvanceRelocateBucketOperationRequest": { @@ -5118,6 +5118,16 @@ "description": "Relevant only for versioned objects. If the value is N, this condition is satisfied when there are at least N versions (including the live version) newer than this version of the object.", "format": "int32", "type": "integer" + }, + "sizeAboveBytes": { + "description": "Objects having a size greater than this value in bytes will be matched.", + "format": "int64", + "type": "string" + }, + "sizeBelowBytes": { + "description": "Objects having a size less than this value in bytes will be matched.", + "format": "int64", + "type": "string" } }, "type": "object" diff --git a/discovery/storagebatchoperations-v1.json b/discovery/storagebatchoperations-v1.json index 5b1903ca992..8fe0f75b614 100644 --- a/discovery/storagebatchoperations-v1.json +++ b/discovery/storagebatchoperations-v1.json @@ -195,7 +195,7 @@ ], "parameters": { "name": { - "description": "Required. The `name` of the job to cancel. Format: projects/{project_id}/locations/global/jobs/{job_id}.", + "description": "Required. The `name` of the job to cancel. Format: `projects/{project_id}/locations/global/jobs/{job_id}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/jobs/[^/]+$", "required": true, @@ -223,19 +223,19 @@ ], "parameters": { "jobId": { - "description": "Required. The optional `job_id` for this Job . If not specified, an id is generated. `job_id` should be no more than 128 characters and must include only characters available in DNS names, as defined by RFC-1123.", + "description": "Required. A unique identifier for the job. `job_id` must be up to 128 characters and must include only characters available in DNS names, as defined by RFC-1123.", "location": "query", "type": "string" }, "parent": { - "description": "Required. Value for parent.", + "description": "Required. The value for parent.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" }, "requestId": { - "description": "Optional. An optional request ID to identify requests. Specify a unique request ID in case you need to retry your request. Requests with same `request_id` will be ignored for at least 60 minutes since the first request. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID in case you need to retry your request. Requests with same `request_id` are ignored for at least 60 minutes since the first request. The request ID must be a valid UUID with the exception that zero UUID isn't supported (00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -261,19 +261,19 @@ ], "parameters": { "force": { - "description": "Optional. If set to true, any child bucket operations of the job will also be deleted. Highly recommended to be set to true by all clients. Users cannot mutate bucket operations directly, so only the jobs.delete permission is required to delete a job (and its child bucket operations).", + "description": "Optional. If set to true, any child bucket operations of the job are deleted. We recommend setting this to `true`. You can't mutate bucket operations directly, so only the `jobs.delete` permission is required to delete a job (and its child bucket operations).", "location": "query", "type": "boolean" }, "name": { - "description": "Required. The `name` of the job to delete. Format: projects/{project_id}/locations/global/jobs/{job_id} .", + "description": "Required. The `name` of the job to delete. Format: `projects/{project_id}/locations/global/jobs/{job_id}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/jobs/[^/]+$", "required": true, "type": "string" }, "requestId": { - "description": "Optional. An optional request ID to identify requests. Specify a unique request ID in case you need to retry your request. Requests with same `request_id` will be ignored for at least 60 minutes since the first request. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID in case you need to retry your request. Requests with same `request_id` are ignored for at least 60 minutes since the first request. The request ID must be a valid UUID with the exception that zero UUID isn't supported (00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } @@ -296,7 +296,7 @@ ], "parameters": { "name": { - "description": "Required. `name` of the job to retrieve. Format: projects/{project_id}/locations/global/jobs/{job_id} .", + "description": "Required. The `name` of the job to retrieve. Format: `projects/{project_id}/locations/global/jobs/{job_id}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/jobs/[^/]+$", "required": true, @@ -326,12 +326,12 @@ "type": "string" }, "orderBy": { - "description": "Optional. Field to sort by. Supported fields are name, create_time.", + "description": "Optional. Field to sort by. Supported fields are `name` and `create_time`.", "location": "query", "type": "string" }, "pageSize": { - "description": "Optional. The list page size. default page size is 100.", + "description": "Optional. The list page size. The default page size is 100.", "format": "int32", "location": "query", "type": "integer" @@ -371,7 +371,7 @@ ], "parameters": { "name": { - "description": "Required. `name` of the bucket operation to retrieve. Format: projects/{project_id}/locations/global/jobs/{job_id}/bucketOperations/{bucket_operation_id}.", + "description": "Required. The `name` of the bucket operation to retrieve. Format: `projects/{project_id}/locations/global/jobs/{job_id}/bucketOperations/{bucket_operation_id}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/jobs/[^/]+/bucketOperations/[^/]+$", "required": true, @@ -401,7 +401,7 @@ "type": "string" }, "orderBy": { - "description": "Optional. Field to sort by. Supported fields are name, create_time.", + "description": "Optional. Field to sort by. Supported fields are `name` and `create_time`.", "location": "query", "type": "string" }, @@ -417,7 +417,7 @@ "type": "string" }, "parent": { - "description": "Required. Format: projects/{project_id}/locations/global/jobs/{job_id}.", + "description": "Required. Format: `projects/{project_id}/locations/global/jobs/{job_id}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/jobs/[^/]+$", "required": true, @@ -569,9 +569,30 @@ } } }, - "revision": "20260429", + "revision": "20260601", "rootUrl": "https://storagebatchoperations.googleapis.com/", "schemas": { + "AccessControlsUpdates": { + "description": "Represents updates to existing access-control entries on an object.", + "id": "AccessControlsUpdates", + "properties": { + "grants": { + "description": "Optional. Grants to add or update. If a grant for same entity exists, its role is updated.", + "items": { + "$ref": "ObjectAccessControl" + }, + "type": "array" + }, + "removeEntities": { + "description": "Optional. Entities for which all grants should be removed. An entity can't be in both `grants` and `remove_entities`.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "Bucket": { "description": "Describes configuration of a single bucket and its objects to be transformed.", "id": "Bucket", @@ -596,7 +617,7 @@ "id": "BucketList", "properties": { "buckets": { - "description": "Required. List of buckets and their objects to be transformed. Currently, only one bucket configuration is supported. If multiple buckets are specified, an error will be returned.", + "description": "Required. List of buckets and their objects to be transformed. You can specify only one bucket per job. If multiple buckets are specified, an error occurs.", "items": { "$ref": "Bucket" }, @@ -647,13 +668,17 @@ "description": "Specifies objects in a manifest file." }, "name": { - "description": "Identifier. The resource name of the BucketOperation. This is defined by the service. Format: projects/{project}/locations/global/jobs/{job_id}/bucketOperations/{bucket_operation}.", + "description": "Identifier. The resource name of the BucketOperation. This is defined by the service. Format: `projects/{project_id}/locations/global/jobs/{job_id}/bucketOperations/{bucket_operation}`.", "type": "string" }, "prefixList": { "$ref": "PrefixList", "description": "Specifies objects matching a prefix set." }, + "projectSource": { + "$ref": "ProjectSource", + "description": "Specifies objects matching the object filters in a project source." + }, "putMetadata": { "$ref": "PutMetadata", "description": "Updates object metadata. Allows updating fixed-key and custom metadata and fixed-key metadata i.e. Cache-Control, Content-Disposition, Content-Encoding, Content-Language, Content-Type, Custom-Time." @@ -666,6 +691,10 @@ "$ref": "RewriteObject", "description": "Rewrite the object and updates metadata like KMS key." }, + "setObjectAcls": { + "$ref": "SetObjectAcls", + "description": "Updates object ACLs." + }, "startTime": { "description": "Output only. The time that the BucketOperation was started.", "format": "google-datetime", @@ -705,7 +734,7 @@ "id": "CancelJobRequest", "properties": { "requestId": { - "description": "Optional. An optional request ID to identify requests. Specify a unique request ID in case you need to retry your request. Requests with same `request_id` will be ignored for at least 60 minutes since the first request. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID in case you need to retry your request. Requests with same `request_id` are ignored for at least 60 minutes since the first request. The request ID must be a valid UUID with the exception that zero UUID isn't supported (00000000-0000-0000-0000-000000000000).", "type": "string" } }, @@ -783,7 +812,7 @@ "id": "CustomContextUpdates", "properties": { "keysToClear": { - "description": "Optional. Custom contexts to clear by key. A key cannot be present in both `updates` and `keys_to_clear`.", + "description": "Optional. Custom contexts to clear by key. A key can't be present in both `updates` and `keys_to_clear`.", "items": { "type": "string" }, @@ -804,7 +833,7 @@ "id": "DeleteObject", "properties": { "permanentObjectDeletionEnabled": { - "description": "Required. Controls deletion behavior when versioning is enabled for the object's bucket. If true both live and noncurrent objects will be permanently deleted. Otherwise live objects in versioned buckets will become noncurrent and objects that were already noncurrent will be skipped. This setting doesn't have any impact on the Soft Delete feature. All objects deleted by this service can be be restored for the duration of the Soft Delete retention duration if enabled. If enabled and the manifest doesn't specify an object's generation, a GetObjectMetadata call (a Class B operation) will be made to determine the live object generation.", + "description": "Required. Controls deletion behavior when versioning is enabled for the object's bucket. If true, both live and noncurrent objects will be permanently deleted. Otherwise live objects in versioned buckets will become noncurrent and objects that were already noncurrent will be skipped. This setting doesn't have any impact on the Soft Delete feature. All objects deleted by this service can be be restored for the duration of the Soft Delete retention duration if enabled. If enabled and the manifest doesn't specify an object's generation, a `GetObjectMetadata` call is made to determine the live object generation.", "type": "boolean" } }, @@ -897,8 +926,31 @@ }, "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" + }, "Job": { - "description": "The Storage Batch Operations Job description.", + "description": "The storage batch operations job description.", "id": "Job", "properties": { "bucketList": { @@ -927,11 +979,11 @@ "description": "Delete objects." }, "description": { - "description": "Optional. A description provided by the user for the job. Its max length is 1024 bytes when Unicode-encoded.", + "description": "Optional. A user-provided description for the job. Maximum length: 1024 bytes when unicode-encoded.", "type": "string" }, "dryRun": { - "description": "Optional. If true, the job will run in dry run mode, returning the total object count and, if the object configuration is a prefix list, the bytes found from source. No transformations will be performed.", + "description": "Optional. If true, the job runs in dry run mode, returning the total object count and, if the object configuration is a prefix list, the bytes found from source. No transformations are performed.", "type": "boolean" }, "errorSummaries": { @@ -943,7 +995,7 @@ "type": "array" }, "isMultiBucketJob": { - "description": "Output only. If true, this Job operates on multiple buckets. Multibucket jobs are subject to different quota limits than single-bucket jobs.", + "description": "Output only. If true, this job operates on multiple buckets. Multi-bucket jobs are subject to different quota limits than single-bucket jobs.", "readOnly": true, "type": "boolean" }, @@ -952,12 +1004,16 @@ "description": "Optional. Logging configuration." }, "name": { - "description": "Identifier. The resource name of the Job. job_id is unique within the project, that is either set by the customer or defined by the service. Format: projects/{project}/locations/global/jobs/{job_id} . For example: \"projects/123456/locations/global/jobs/job01\".", + "description": "Identifier. The resource name of the job. Format: `projects/{project_id}/locations/global/jobs/{job_id}`. For example: `projects/123456/locations/global/jobs/job01`. `job_id` is unique in a given project.", "type": "string" }, + "projectSource": { + "$ref": "ProjectSource", + "description": "Specifies a project source and filters to identify objects to be transformed." + }, "putMetadata": { "$ref": "PutMetadata", - "description": "Updates object metadata. Allows updating fixed-key and custom metadata and fixed-key metadata i.e. Cache-Control, Content-Disposition, Content-Encoding, Content-Language, Content-Type, Custom-Time." + "description": "Updates object metadata. Allows updating fixed-key and custom metadata. For example, `Cache-Control`, `Content-Disposition`, `Content-Encoding`, `Content-Language`, `Content-Type`, `Custom-Time`, and `Retention configuration`." }, "putObjectHold": { "$ref": "PutObjectHold", @@ -973,6 +1029,10 @@ "readOnly": true, "type": "string" }, + "setObjectAcls": { + "$ref": "SetObjectAcls", + "description": "Updates object ACLs." + }, "state": { "description": "Output only. State of the job.", "enum": [ @@ -1172,18 +1232,33 @@ "id": "Manifest", "properties": { "manifestLocation": { - "description": "Required. `manifest_location` must contain the manifest source file that is a CSV file in a Google Cloud Storage bucket. Each row in the file must include the object details i.e. BucketId and Name. Generation may optionally be specified. When it is not specified the live object is acted upon. `manifest_location` should either be 1) An absolute path to the object in the format of `gs://bucket_name/path/file_name.csv`. 2) An absolute path with a single wildcard character in the file name, for example `gs://bucket_name/path/file_name*.csv`. If manifest location is specified with a wildcard, objects in all manifest files matching the pattern will be acted upon.", + "description": "Required. Specify the manifest file location. The format of manifest location can be an absolute path to the object in the format of `gs://bucket_name/path/object_name`. For example, `gs://bucket_name/path/object_name.csv`. Alternatively, you can specify an absolute path with a single wildcard character in the file name, for example `gs://bucket_name/path/file_name*.csv`. If the manifest location is specified with a wildcard, objects in all manifest files matching the pattern will be acted upon. The manifest is a CSV file, uploaded to Cloud Storage, that contains one object or a list of objects that you want to process. Each row in the manifest must include the `bucket` and `name` of the object. You can optionally specify the `generation` of the object. If you don't specify the `generation`, the current version of the object is used. You can optionally include a header row with the following format: `bucket,name,generation`. For example, bucket,name,generation bucket_1,object_1,generation_1 bucket_1,object_2,generation_2 bucket_1,object_3,generation_3 Note: The manifest file must specify only objects within the bucket provided to the job. Rows referencing objects in other buckets are ignored.", + "type": "string" + } + }, + "type": "object" + }, + "ObjectAccessControl": { + "description": "Represents an access control entry on an object.", + "id": "ObjectAccessControl", + "properties": { + "entity": { + "description": "Required. The entity holding the permission, in one of the following forms: * `allUsers` * `allAuthenticatedUsers`", + "type": "string" + }, + "role": { + "description": "Required. The role to grant. Acceptable values are: * `READER` - gives read access to the object. * `OWNER` - gives owner access to the object.", "type": "string" } }, "type": "object" }, "ObjectCustomContextPayload": { - "description": "Describes the payload of a user defined object custom context.", + "description": "Describes the payload of a user-defined object custom context.", "id": "ObjectCustomContextPayload", "properties": { "value": { - "description": "The value of the object custom context. If set, `value` must NOT be an empty string since it is a required field in custom context. If unset, `value` will be ignored and no changes will be made to the `value` field of the custom context payload.", + "description": "The value of the object custom context. If set, `value` can't be an empty string because it is a required field in custom context. If unset, `value` is ignored and no changes are made to the `value` field of the custom context payload.", "type": "string" } }, @@ -1194,20 +1269,20 @@ "id": "ObjectRetention", "properties": { "retainUntilTime": { - "description": "Required. The time when the object will be retained until. UNSET will clear the retention. Must be specified in RFC 3339 format e.g. YYYY-MM-DD'T'HH:MM:SS.SS'Z' or YYYY-MM-DD'T'HH:MM:SS'Z'.", + "description": "Required. The object's retention expiration time, during which, the object is protected from being deleted or overwritten. The time must be specified in RFC 3339 format, for example `YYYY-MM-DD'T'HH:MM:SS'Z'` or `YYYY-MM-DD'T'HH:MM:SS.SS'Z'`. To clear an object's retention, both `retentionMode` and `retainUntilTime` must be left unset (omitted). Setting `retentionMode` to `RETENTION_MODE_UNSPECIFIED` is treated as a no-op. Unlike an unset field, it doesn't modify or clear the retention settings.", "type": "string" }, "retentionMode": { - "description": "Required. The retention mode of the object.", + "description": "Required. The retention mode.", "enum": [ "RETENTION_MODE_UNSPECIFIED", "LOCKED", "UNLOCKED" ], "enumDescriptions": [ - "If set and retain_until_time is empty, clears the retention.", - "Sets the retention mode to locked.", - "Sets the retention mode to unlocked." + "The retention mode isn't specified.", + "When the retention mode is `LOCKED`, the `retainUntilTime` can't be removed or reduced.", + "When the retention mode is `UNLOCKED`, the `retainUntilTime` can be removed or modified." ], "type": "string" } @@ -1276,7 +1351,7 @@ "readOnly": true }, "operation": { - "description": "Output only. The unique operation resource name. Format: projects/{project}/locations/global/operations/{operation}.", + "description": "Output only. The unique operation resource name. Format: projects/{project_id}/locations/global/operations/{operation}.", "readOnly": true, "type": "string" }, @@ -1293,7 +1368,7 @@ "id": "PrefixList", "properties": { "includedObjectPrefixes": { - "description": "Optional. Include prefixes of the objects to be transformed. * Supports full object name * Supports prefix of the object name * Wildcards are not supported * Supports empty string for all objects in a bucket.", + "description": "Optional. Specify one or more object prefixes. For example: * To match one object, use a single prefix, `prefix1`. * To match multiple objects, use comma-separated prefixes, `prefix1, prefix2`. * To match all objects, use an empty prefix, `''`", "items": { "type": "string" }, @@ -1302,44 +1377,81 @@ }, "type": "object" }, + "ProjectSource": { + "description": "Describes the project source where the objects satisfying the filters will be transformed.", + "id": "ProjectSource", + "properties": { + "bucketFilters": { + "$ref": "Expr", + "description": "Optional. Filters expressed in Common Expression Language (CEL) to apply to buckets to identify buckets with objects to be transformed." + }, + "dryRunJobId": { + "description": "Optional. The unique identifier of a dry run job to use as the baseline for the current job. Specifying this ID ensures the job is executed against the same set of objects validated during the dry run. The value corresponds to the {job_id} segment of the resource name: `projects/{project_id}/locations/{location}/jobs/{job_id}`.", + "type": "string" + }, + "insightsDatasetConfig": { + "description": "Required. The resource identifier of the Storage Insights dataset configuration. Storage batch operations uses the latest snapshot from this dataset as the source to list and filter target objects. Format: `projects/{project_id}/locations/{location}/datasetConfigs/{dataset_config}`.", + "type": "string" + }, + "objectFilters": { + "$ref": "Expr", + "description": "Optional. Filters expressed in Common Expression Language (CEL) to apply to objects to identify objects to be transformed." + }, + "project": { + "description": "Required. Project name of the objects to be transformed. e.g. projects/my-project or projects/123456.", + "type": "string" + }, + "snapshotTime": { + "description": "Output only. The snapshot time used by the job to read the Storage Insights dataset for bucket and object discovery. This field is populated by the service and reflects the exact timestamp of the dataset snapshot used.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "targetLocations": { + "$ref": "TargetLocations", + "description": "Optional. Specifies the Cloud Storage locations to include in the job. If provided, only buckets and objects within these locations will be discovered from the Storage Insights dataset as configured in the `insights_dataset_config`. If omitted, the job will discover buckets and objects from all locations configured in the `insights_dataset_config`." + } + }, + "type": "object" + }, "PutMetadata": { "description": "Describes options for object metadata update.", "id": "PutMetadata", "properties": { "cacheControl": { - "description": "Optional. Updates objects Cache-Control fixed metadata. Unset values will be ignored. Set empty values to clear the metadata. Additionally, the value for Custom-Time cannot decrease. Refer to documentation in https://cloud.google.com/storage/docs/metadata#caching_data.", + "description": "Optional. Updates the objects `Cache-Control` fixed metadata. Unset values in the request are ignored. To clear the metadata, set an empty value. Additionally, the value for `Custom-Time` can't decrease. For details, see [Cache-Control](https://cloud.google.com/storage/docs/metadata#caching_data).", "type": "string" }, "contentDisposition": { - "description": "Optional. Updates objects Content-Disposition fixed metadata. Unset values will be ignored. Set empty values to clear the metadata. Refer https://cloud.google.com/storage/docs/metadata#content-disposition for additional documentation.", + "description": "Optional. Updates objects `Content-Disposition` fixed metadata. Unset values in the request are ignored. To clear the metadata, set an empty value. For details, see [Content-Disposition](https://cloud.google.com/storage/docs/metadata#content-disposition).", "type": "string" }, "contentEncoding": { - "description": "Optional. Updates objects Content-Encoding fixed metadata. Unset values will be ignored. Set empty values to clear the metadata. Refer to documentation in https://cloud.google.com/storage/docs/metadata#content-encoding.", + "description": "Optional. Updates the objects `Content-Encoding` fixed metadata. Unset values in the request are ignored. To clear the metadata, set an empty value. For details, see [Content-Encoding](https://cloud.google.com/storage/docs/metadata#content-encoding).", "type": "string" }, "contentLanguage": { - "description": "Optional. Updates objects Content-Language fixed metadata. Refer to ISO 639-1 language codes for typical values of this metadata. Max length 100 characters. Unset values will be ignored. Set empty values to clear the metadata. Refer to documentation in https://cloud.google.com/storage/docs/metadata#content-language.", + "description": "Optional. Updates the objects `Content-Language` fixed metadata. Metadata values must use ISO 639-1 language codes. The maximum length for metadata values is 100 characters. Unset values in the request are ignored. To clear the metadata, set an empty value. For details, see [Content-Language](https://cloud.google.com/storage/docs/metadata#content-language).", "type": "string" }, "contentType": { - "description": "Optional. Updates objects Content-Type fixed metadata. Unset values will be ignored. Set empty values to clear the metadata. Refer to documentation in https://cloud.google.com/storage/docs/metadata#content-type", + "description": "Optional. Updates objects `Content-Type` fixed metadata. Unset values in the request are ignored. To clear the metadata, set an empty value. For details, see [Content-Type](https://cloud.google.com/storage/docs/metadata#content-type).", "type": "string" }, "customMetadata": { "additionalProperties": { "type": "string" }, - "description": "Optional. Updates objects custom metadata. Adds or sets individual custom metadata key value pairs on objects. Keys that are set with empty custom metadata values will have its value cleared. Existing custom metadata not specified with this flag is not changed. Refer to documentation in https://cloud.google.com/storage/docs/metadata#custom-metadata", + "description": "Optional. Updates the object's custom metadata. This operation adds or sets individual custom metadata key-value pairs. Keys specified with empty values have their values cleared. Existing custom metadata keys not included in the request remain unchanged. For details, see [Custom metadata](https://cloud.google.com/storage/docs/metadata#custom-metadata).", "type": "object" }, "customTime": { - "description": "Optional. Updates objects Custom-Time fixed metadata. Unset values will be ignored. Set empty values to clear the metadata. Refer to documentation in https://cloud.google.com/storage/docs/metadata#custom-time.", + "description": "Optional. Updates the objects `Custom-Time` fixed metadata. Unset values in the request are ignored. To clear the metadata, set an empty value. The time must be specified in RFC 3339 format, for example `YYYY-MM-DD'T'HH:MM:SS'Z'` or `YYYY-MM-DD'T'HH:MM:SS.SS'Z'`. For details, see [Custom-Time](https://cloud.google.com/storage/docs/metadata#custom-time).", "type": "string" }, "objectRetention": { "$ref": "ObjectRetention", - "description": "Optional. Updates objects retention lock configuration. Unset values will be ignored. Set empty values to clear the retention for the object with existing `Unlocked` retention mode. Object with existing `Locked` retention mode cannot be cleared or reduce retain_until_time. Refer to documentation in https://cloud.google.com/storage/docs/object-lock" + "description": "Optional. Updates an object's retention configuration. To clear an object's retention, both `retentionMode` and `retainUntilTime` must be left unset (omitted). Setting `retentionMode` to `RETENTION_MODE_UNSPECIFIED` is treated as a no-op. Unlike an unset field, it doesn't modify or clear the retention settings. An object with `LOCKED` retention mode can't have its retention cleared or its `retainUntilTime` reduced. For more information, see [Object retention](https://cloud.google.com/storage/docs/batch-operations/create-manage-batch-operation-jobs#retain-until-time)." } }, "type": "object" @@ -1349,28 +1461,28 @@ "id": "PutObjectHold", "properties": { "eventBasedHold": { - "description": "Required. Updates object event based holds state. When object event based hold is set, object cannot be deleted or replaced. Resets object's time in the bucket for the purposes of the retention period.", + "description": "Required. Updates object event based holds state. When object event based hold is set, object can't be deleted or replaced. Resets object's time in the bucket for the purposes of the retention period.", "enum": [ "HOLD_STATUS_UNSPECIFIED", "SET", "UNSET" ], "enumDescriptions": [ - "Default value, Object hold status will not be changed.", + "Default value, Object hold status isn't changed.", "Places the hold.", "Releases the hold." ], "type": "string" }, "temporaryHold": { - "description": "Required. Updates object temporary holds state. When object temporary hold is set, object cannot be deleted or replaced.", + "description": "Required. Updates object temporary holds state. When object temporary hold is set, object can't be deleted or replaced.", "enum": [ "HOLD_STATUS_UNSPECIFIED", "SET", "UNSET" ], "enumDescriptions": [ - "Default value, Object hold status will not be changed.", + "Default value, Object hold status isn't changed.", "Places the hold.", "Releases the hold." ], @@ -1384,12 +1496,41 @@ "id": "RewriteObject", "properties": { "kmsKey": { - "description": "Required. Resource name of the Cloud KMS key that will be used to encrypt the object. The Cloud KMS key must be located in same location as the object. Refer to https://cloud.google.com/storage/docs/encryption/using-customer-managed-keys#add-object-key for additional documentation. Format: projects/{project}/locations/{location}/keyRings/{keyring}/cryptoKeys/{key} For example: \"projects/123456/locations/us-central1/keyRings/my-keyring/cryptoKeys/my-key\". The object will be rewritten and set with the specified KMS key.", + "description": "Optional. Resource name of the Cloud KMS key that is used to encrypt the object. The Cloud KMS key must be located in same location as the object. For details, see https://cloud.google.com/storage/docs/encryption/using-customer-managed-keys#add-object-key Format: `projects/{project_id}/locations/{location}/keyRings/{keyring}/cryptoKeys/{key}` For example: `projects/123456/locations/us-central1/keyRings/my-keyring/cryptoKeys/my-key`. The object will be rewritten and set with the specified KMS key.", + "type": "string" + }, + "storageClass": { + "description": "Optional. Rewrites the object to the specified storage class. Setting this field will perform a full byte copy of the object if the storage class is different from the object's current storage class. If Autoclass is enabled on the bucket, storage class changes are ignored by Cloud Storage.", + "enum": [ + "STORAGE_CLASS_UNSPECIFIED", + "STANDARD", + "NEARLINE", + "COLDLINE", + "ARCHIVE" + ], + "enumDescriptions": [ + "The storage class is not specified.", + "Standard storage class.", + "Nearline storage class.", + "Coldline storage class.", + "Archive storage class." + ], "type": "string" } }, "type": "object" }, + "SetObjectAcls": { + "description": "Describes options for setting object ACLs.", + "id": "SetObjectAcls", + "properties": { + "accessControlsUpdates": { + "$ref": "AccessControlsUpdates", + "description": "Required. Add, update, or remove grants from the object's existing ACLs." + } + }, + "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", @@ -1417,12 +1558,31 @@ }, "type": "object" }, + "TargetLocations": { + "description": "Describes the Cloud Storage locations to include in a ProjectSource job.", + "id": "TargetLocations", + "properties": { + "locations": { + "description": "Required. REQUIRED. A list of Cloud Storage locations (e.g., `us-central1`) to include in the job. If `snapshot_time` is omitted, the job automatically defaults to the most recent snapshot timestamp that is successfully populated in BOTH the `object_attributes_view` and `bucket_attributes_view` across ALL specified locations. For details on Storage Insights dataset snapshots and views, see: https://docs.cloud.google.com/storage/docs/insights/dataset-tables-and-schemas#schema", + "items": { + "type": "string" + }, + "type": "array" + }, + "snapshotTime": { + "description": "Optional. OPTIONAL. The exact Storage Insights snapshot timestamp to use for the job compatible with the RFC 3339 format (e.g., `2024-01-02T03:04:05Z`). If specified, this exact snapshot must exist in BOTH the `object_attributes_view` and `bucket_attributes_view` for every location listed in `locations`. If the snapshot is missing from either view in any of the locations, the job fails.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "UpdateObjectCustomContext": { "description": "Describes options to update object custom contexts.", "id": "UpdateObjectCustomContext", "properties": { "clearAll": { - "description": "If set, must be set to true and all existing object custom contexts will be deleted.", + "description": "If set, must be set to true and all existing object custom contexts are deleted.", "type": "boolean" }, "customContextUpdates": { diff --git a/discovery/tagmanager-v2.json b/discovery/tagmanager-v2.json index 7d77edd8cdf..678a7adef70 100644 --- a/discovery/tagmanager-v2.json +++ b/discovery/tagmanager-v2.json @@ -3986,7 +3986,7 @@ } } }, - "revision": "20260511", + "revision": "20260527", "rootUrl": "https://tagmanager.googleapis.com/", "schemas": { "Account": { @@ -6593,12 +6593,14 @@ "enum": [ "decimalSeparatorTypeUnspecified", "period", - "comma" + "comma", + "automatic" ], "enumDescriptions": [ "", "The option to convert a variable value to a number with a period as the decimal separator.", - "The option to convert a variable value to a number with a comma as the decimal separator." + "The option to convert a variable value to a number with a comma as the decimal separator.", + "The option to convert a variable value to a number with automatic decimal separator detection." ], "type": "string" }, diff --git a/discovery/threatintelligence-v1beta.json b/discovery/threatintelligence-v1beta.json index 6f485b85a30..f71267fd407 100644 --- a/discovery/threatintelligence-v1beta.json +++ b/discovery/threatintelligence-v1beta.json @@ -20,21 +20,6 @@ "description": "Regional Endpoint", "endpointUrl": "https://threatintelligence.us-central1.rep.googleapis.com/", "location": "us-central1" - }, - { - "description": "Regional Endpoint", - "endpointUrl": "https://threatintelligence.us-east5.rep.googleapis.com/", - "location": "us-east5" - }, - { - "description": "Regional Endpoint", - "endpointUrl": "https://threatintelligence.us-west2.rep.googleapis.com/", - "location": "us-west2" - }, - { - "description": "Regional Endpoint", - "endpointUrl": "https://threatintelligence.us.rep.googleapis.com/", - "location": "us" } ], "fullyEncodeReservedExpansion": true, @@ -832,7 +817,7 @@ } } }, - "revision": "20260513", + "revision": "20260527", "rootUrl": "https://threatintelligence.googleapis.com/", "schemas": { "Alert": { @@ -1122,6 +1107,10 @@ "readOnly": true, "type": "string" }, + "etag": { + "description": "If included when updating a configuration, this should be set to the current etag of the configuration. If the etags do not match, the update will be rejected and an ABORTED error will be returned.", + "type": "string" + }, "name": { "description": "Identifier. Server generated name for the configuration. format is projects/{project}/configurations/{configuration}", "type": "string" diff --git a/discovery/toolresults-v1beta3.json b/discovery/toolresults-v1beta3.json index 1579eb5c903..063cee2f55a 100644 --- a/discovery/toolresults-v1beta3.json +++ b/discovery/toolresults-v1beta3.json @@ -1464,7 +1464,7 @@ } } }, - "revision": "20260325", + "revision": "20260528", "rootUrl": "https://toolresults.googleapis.com/", "schemas": { "ANR": { @@ -2336,6 +2336,12 @@ "properties": {}, "type": "object" }, + "LicensingProtectionTermination": { + "description": "Licensing protection termination (Pairip) was detected.", + "id": "LicensingProtectionTermination", + "properties": {}, + "type": "object" + }, "ListEnvironmentsResponse": { "description": "Response message for EnvironmentService.ListEnvironments.", "id": "ListEnvironmentsResponse", @@ -3640,7 +3646,8 @@ "deviceOutOfMemory", "logcatCollectionError", "detectedAppSplashScreen", - "assetIssue" + "assetIssue", + "licensingProtectionTermination" ], "enumDescriptions": [ "Default unspecified type. Do not use. For versioning only.", @@ -3675,7 +3682,8 @@ "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." + "There was an issue with the assets in this test.", + "Licensing protection termination (Pairip) was detected." ], "type": "string" }, diff --git a/discovery/travelimpactmodel-v1.json b/discovery/travelimpactmodel-v1.json index 8240a9ea4a5..3a0dd8680f3 100644 --- a/discovery/travelimpactmodel-v1.json +++ b/discovery/travelimpactmodel-v1.json @@ -99,7 +99,7 @@ "flights": { "methods": { "computeFlightEmissions": { - "description": "Stateless method to retrieve emission estimates. Details on how emission estimates are computed are in [GitHub](https://github.com/google/travel-impact-model). The response will contain all entries that match the input flight legs, in the same order. If there are no estimates available for a certain flight leg, the response will return the flight leg object with empty emission fields. The request will still be considered successful. Reasons for missing emission estimates include: * The flight is unknown to the server. * The input flight leg is missing one or more identifiers. * The flight date is in the past. * The aircraft type is not supported by the model. * Missing seat configuration. The request can contain up to 1000 flight legs. If the request has more than 1000 direct flights, if will fail with an INVALID_ARGUMENT error.", + "description": "Retrieves emission estimates. Details on how emission estimates are computed are in [GitHub](https://github.com/google/travel-impact-model). The response will contain all entries that match the input flight legs, in the same order. If there are no estimates available for a certain flight leg, the response will return the flight leg object with empty emission fields. The request will still be considered successful. Reasons for missing emission estimates include: * The flight is unknown to the server. * The input flight leg is missing one or more identifiers. * The flight date is in the past. * The aircraft type is not supported by the model. * Missing seat configuration. The request can contain up to 1000 flight legs. If the request has more than 1000 direct flights, if will fail with an INVALID_ARGUMENT error.", "flatPath": "v1/flights:computeFlightEmissions", "httpMethod": "POST", "id": "travelimpactmodel.flights.computeFlightEmissions", @@ -114,7 +114,7 @@ } }, "computeScope3FlightEmissions": { - "description": "Stateless method to retrieve GHG emissions estimates for a set of flight segments for Scope 3 reporting. The response will contain all entries that match the input Scope3FlightSegment flight segments, in the same order provided. The estimates will be computed using the following cascading logic (using the first one that is available): 1. TIM-based emissions given origin, destination, carrier, flightNumber, departureDate, and cabinClass. 2. Typical flight emissions given origin, destination, year in departureDate, and cabinClass. 3. Distance-based emissions calculated using distanceKm, year in departureDate, and cabinClass. If there is a future flight requested in this calendar year, we do not support Tier 1 emissions and will fallback to Tier 2 or 3 emissions. If the requested future flight is in not in this calendar year, we will return an empty response. We recommend that for future flights, computeFlightEmissions API is used instead. If there are no estimates available for a certain flight with any of the three methods, the response will return a Scope3FlightEmissions object with empty emission fields. The request will still be considered successful. Generally, missing emissions estimates occur when the flight is unknown to the server (e.g. no specific flight exists, or typical flight emissions are not available for the requested pair). The request will fail with an `INVALID_ARGUMENT` error if: * The request contains more than 1,000 flight legs. * The input flight leg is missing one or more identifiers. For example, missing origin/destination without a valid distance for TIM_EMISSIONS or TYPICAL_FLIGHT_EMISSIONS type matching, or missing distance for a DISTANCE_BASED_EMISSIONS type matching (if you want to fallback to distance-based emissions or want a distance-based emissions estimate, you need to specify a distance). * The flight date is before 2019 (Scope 3 data is only available for 2019 and after). * The flight distance is 0 or lower. * Missing cabin class. Because the request is processed with fallback logic, it is possible that misconfigured requests return valid emissions estimates using fallback methods. For example, if a request has the wrong flight number but specifies the origin and destination, the request will still succeed, but the returned emissions will be based solely on the typical flight emissions. Similarly, if a request is missing the origin for a typical flight emissions request, but specifies a valid distance, the request could succeed based solely on the distance-based emissions. Consequently, one should check the source of the returned emissions (source) to confirm the results are as expected.", + "description": "Retrieves GHG emissions estimates for a set of flight segments for Scope 3 reporting. The response will contain all entries that match the input Scope3FlightSegment flight segments, in the same order provided. The estimates will be computed using the following cascading logic (using the first one that is available): 1. TIM-based emissions given origin, destination, carrier, flightNumber, departureDate, and cabinClass. 2. Typical flight emissions given origin, destination, year in departureDate, and cabinClass. 3. Distance-based emissions calculated using distanceKm, year in departureDate, and cabinClass. If there is a future flight requested in this calendar year, we do not support Tier 1 emissions and will fallback to Tier 2 or 3 emissions. If the requested future flight is in not in this calendar year, we will return an empty response. We recommend that for future flights, computeFlightEmissions API is used instead. If there are no estimates available for a certain flight with any of the three methods, the response will return a Scope3FlightEmissions object with empty emission fields. The request will still be considered successful. Generally, missing emissions estimates occur when the flight is unknown to the server (e.g. no specific flight exists, or typical flight emissions are not available for the requested pair). The request will fail with an `INVALID_ARGUMENT` error if: * The request contains more than 1,000 flight legs. * The input flight leg is missing one or more identifiers. For example, missing origin/destination without a valid distance for TIM_EMISSIONS or TYPICAL_FLIGHT_EMISSIONS type matching, or missing distance for a DISTANCE_BASED_EMISSIONS type matching (if you want to fallback to distance-based emissions or want a distance-based emissions estimate, you need to specify a distance). * The flight date is before 2019 (Scope 3 data is only available for 2019 and after). * The flight distance is 0 or lower. * Missing cabin class. Because the request is processed with fallback logic, it is possible that misconfigured requests return valid emissions estimates using fallback methods. For example, if a request has the wrong flight number but specifies the origin and destination, the request will still succeed, but the returned emissions will be based solely on the typical flight emissions. Similarly, if a request is missing the origin for a typical flight emissions request, but specifies a valid distance, the request could succeed based solely on the distance-based emissions. Consequently, one should check the source of the returned emissions (source) to confirm the results are as expected.", "flatPath": "v1/flights:computeScope3FlightEmissions", "httpMethod": "POST", "id": "travelimpactmodel.flights.computeScope3FlightEmissions", @@ -146,7 +146,7 @@ } } }, - "revision": "20260525", + "revision": "20260602", "rootUrl": "https://travelimpactmodel.googleapis.com/", "schemas": { "ComputeFlightEmissionsRequest": { diff --git a/discovery/vault-v1.json b/discovery/vault-v1.json index 6a227ca8556..0d5f149c941 100644 --- a/discovery/vault-v1.json +++ b/discovery/vault-v1.json @@ -1208,7 +1208,7 @@ } } }, - "revision": "20251126", + "revision": "20260528", "rootUrl": "https://vault.googleapis.com/", "schemas": { "AccountCount": { @@ -1352,14 +1352,16 @@ "MBOX", "PST", "ICS", - "XML" + "XML", + "JSON" ], "enumDescriptions": [ "No export format specified.", "Export as MBOX. Only available for Gmail, Groups, Hangouts and Voice.", "Export as PST. Only available for Gmail, Groups, Hangouts, Voice and Calendar.", "Export as ICS. Only available for Calendar.", - "Export as XML. Only available for Gemini." + "Export as XML. Only available for Gemini.", + "Export as JSON. Only available for Gemini in Workpace." ], "type": "string" } @@ -1827,14 +1829,16 @@ "MBOX", "PST", "ICS", - "XML" + "XML", + "JSON" ], "enumDescriptions": [ "No export format specified.", "Export as MBOX. Only available for Gmail, Groups, Hangouts and Voice.", "Export as PST. Only available for Gmail, Groups, Hangouts, Voice and Calendar.", "Export as ICS. Only available for Calendar.", - "Export as XML. Only available for Gemini." + "Export as XML. Only available for Gemini.", + "Export as JSON. Only available for Gemini in Workpace." ], "type": "string" } @@ -1896,14 +1900,16 @@ "MBOX", "PST", "ICS", - "XML" + "XML", + "JSON" ], "enumDescriptions": [ "No export format specified.", "Export as MBOX. Only available for Gmail, Groups, Hangouts and Voice.", "Export as PST. Only available for Gmail, Groups, Hangouts, Voice and Calendar.", "Export as ICS. Only available for Calendar.", - "Export as XML. Only available for Gemini." + "Export as XML. Only available for Gemini.", + "Export as JSON. Only available for Gemini in Workpace." ], "type": "string" } @@ -1921,14 +1927,16 @@ "MBOX", "PST", "ICS", - "XML" + "XML", + "JSON" ], "enumDescriptions": [ "No export format specified.", "Export as MBOX. Only available for Gmail, Groups, Hangouts and Voice.", "Export as PST. Only available for Gmail, Groups, Hangouts, Voice and Calendar.", "Export as ICS. Only available for Calendar.", - "Export as XML. Only available for Gemini." + "Export as XML. Only available for Gemini.", + "Export as JSON. Only available for Gemini in Workpace." ], "type": "string" } @@ -2324,14 +2332,16 @@ "MBOX", "PST", "ICS", - "XML" + "XML", + "JSON" ], "enumDescriptions": [ "No export format specified.", "Export as MBOX. Only available for Gmail, Groups, Hangouts and Voice.", "Export as PST. Only available for Gmail, Groups, Hangouts, Voice and Calendar.", "Export as ICS. Only available for Calendar.", - "Export as XML. Only available for Gemini." + "Export as XML. Only available for Gemini.", + "Export as JSON. Only available for Gemini in Workpace." ], "type": "string" }, @@ -2886,14 +2896,16 @@ "MBOX", "PST", "ICS", - "XML" + "XML", + "JSON" ], "enumDescriptions": [ "No export format specified.", "Export as MBOX. Only available for Gmail, Groups, Hangouts and Voice.", "Export as PST. Only available for Gmail, Groups, Hangouts, Voice and Calendar.", "Export as ICS. Only available for Calendar.", - "Export as XML. Only available for Gemini." + "Export as XML. Only available for Gemini.", + "Export as JSON. Only available for Gemini in Workpace." ], "type": "string" } diff --git a/discovery/workstations-v1beta.json b/discovery/workstations-v1beta.json index 907094212fa..b49d35f8543 100644 --- a/discovery/workstations-v1beta.json +++ b/discovery/workstations-v1beta.json @@ -1175,7 +1175,7 @@ } } }, - "revision": "20260506", + "revision": "20260526", "rootUrl": "https://workstations.googleapis.com/", "schemas": { "Accelerator": { @@ -2732,31 +2732,10 @@ }, "type": "object" }, - "WorkstationGceRegionalPersistentDisk": { - "description": "A Persistent Directory backed by a Compute Engine regional persistent disk within the workstation.", - "id": "WorkstationGceRegionalPersistentDisk", - "properties": { - "name": { - "description": "The name of the persistent directory.", - "type": "string" - }, - "sizeGb": { - "description": "Required. The desired size of the persistent directory in GB.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, "WorkstationPersistentDirectory": { "description": "A directory to persist across workstation sessions. Updates to this field will only take effect on this workstation after it is restarted.", "id": "WorkstationPersistentDirectory", "properties": { - "gcePd": { - "$ref": "WorkstationGceRegionalPersistentDisk", - "deprecated": true, - "description": "A PersistentDirectory backed by a Compute Engine persistent disk." - }, "mountPath": { "description": "Optional. The mount path of the persistent directory.", "type": "string" diff --git a/discovery/youtube-v3.json b/discovery/youtube-v3.json index 0ac97e88d97..17ea193dc30 100644 --- a/discovery/youtube-v3.json +++ b/discovery/youtube-v3.json @@ -4082,30 +4082,6 @@ "youtube": { "resources": { "v3": { - "methods": { - "updateCommentThreads": { - "description": "Updates an existing resource.", - "flatPath": "youtube/v3/commentThreads", - "httpMethod": "PUT", - "id": "youtube.youtube.v3.updateCommentThreads", - "parameterOrder": [], - "parameters": { - "part": { - "description": "The *part* parameter specifies a comma-separated list of commentThread resource properties that the API response will include. You must at least include the snippet part in the parameter value since that part contains all of the properties that the API request can update.", - "location": "query", - "repeated": true, - "type": "string" - } - }, - "path": "youtube/v3/commentThreads", - "request": { - "$ref": "CommentThread" - }, - "response": { - "$ref": "CommentThread" - } - } - }, "resources": { "liveChat": { "resources": { @@ -4176,7 +4152,7 @@ } } }, - "revision": "20260525", + "revision": "20260602", "rootUrl": "https://youtube.googleapis.com/", "schemas": { "AbuseReport": { diff --git a/src/apis/adexchangebuyer2/v2beta1.ts b/src/apis/adexchangebuyer2/v2beta1.ts index f66058f8a62..cfdcf33be1d 100644 --- a/src/apis/adexchangebuyer2/v2beta1.ts +++ b/src/apis/adexchangebuyer2/v2beta1.ts @@ -382,7 +382,12 @@ export namespace adexchangebuyer2_v2beta1 { /** * Request message for indicating that the proposal's setup step is complete. */ - export interface Schema$CompleteSetupRequest {} + export interface Schema$CompleteSetupRequest { + /** + * The external deal ids of the deals to mark as setup completed. If empty, all the deals in the proposal will be marked as setup completed. + */ + externalDealIds?: string[] | null; + } /** * Contains information on how a buyer or seller can be reached. */ @@ -6907,7 +6912,9 @@ export namespace adexchangebuyer2_v2beta1 { * // Request body metadata * requestBody: { * // request body parameters - * // {} + * // { + * // "externalDealIds": [] + * // } * }, * }); * console.log(res.data); diff --git a/src/apis/admin/directory_v1.ts b/src/apis/admin/directory_v1.ts index 001a618a2dd..0ee8d34bd54 100644 --- a/src/apis/admin/directory_v1.ts +++ b/src/apis/admin/directory_v1.ts @@ -2242,6 +2242,10 @@ export namespace admin_directory_v1 { * Output only. The list of the user's alias email addresses. */ aliases?: string[] | null; + /** + * Output only. User's account archival time. (Read-only) + */ + archivalTime?: string | null; /** * Indicates if user is archived. */ @@ -2407,6 +2411,10 @@ export namespace admin_directory_v1 { * 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`. */ suspensionReason?: string | null; + /** + * Output only. User's account suspension time. (Read-only) + */ + suspensionTime?: string | null; /** * Output only. ETag of the user's photo (Read-only) */ @@ -20743,6 +20751,7 @@ export namespace admin_directory_v1 { * // "addresses": {}, * // "agreedToTerms": false, * // "aliases": [], + * // "archivalTime": "my_archivalTime", * // "archived": false, * // "changePasswordAtNextLogin": false, * // "creationTime": "my_creationTime", @@ -20785,6 +20794,7 @@ export namespace admin_directory_v1 { * // "sshPublicKeys": {}, * // "suspended": false, * // "suspensionReason": "my_suspensionReason", + * // "suspensionTime": "my_suspensionTime", * // "thumbnailPhotoEtag": "my_thumbnailPhotoEtag", * // "thumbnailPhotoUrl": "my_thumbnailPhotoUrl", * // "websites": {} @@ -21065,6 +21075,7 @@ export namespace admin_directory_v1 { * // "addresses": {}, * // "agreedToTerms": false, * // "aliases": [], + * // "archivalTime": "my_archivalTime", * // "archived": false, * // "changePasswordAtNextLogin": false, * // "creationTime": "my_creationTime", @@ -21107,6 +21118,7 @@ export namespace admin_directory_v1 { * // "sshPublicKeys": {}, * // "suspended": false, * // "suspensionReason": "my_suspensionReason", + * // "suspensionTime": "my_suspensionTime", * // "thumbnailPhotoEtag": "my_thumbnailPhotoEtag", * // "thumbnailPhotoUrl": "my_thumbnailPhotoUrl", * // "websites": {} @@ -21248,6 +21260,7 @@ export namespace admin_directory_v1 { * // "addresses": {}, * // "agreedToTerms": false, * // "aliases": [], + * // "archivalTime": "my_archivalTime", * // "archived": false, * // "changePasswordAtNextLogin": false, * // "creationTime": "my_creationTime", @@ -21290,6 +21303,7 @@ export namespace admin_directory_v1 { * // "sshPublicKeys": {}, * // "suspended": false, * // "suspensionReason": "my_suspensionReason", + * // "suspensionTime": "my_suspensionTime", * // "thumbnailPhotoEtag": "my_thumbnailPhotoEtag", * // "thumbnailPhotoUrl": "my_thumbnailPhotoUrl", * // "websites": {} @@ -21303,6 +21317,7 @@ export namespace admin_directory_v1 { * // "addresses": {}, * // "agreedToTerms": false, * // "aliases": [], + * // "archivalTime": "my_archivalTime", * // "archived": false, * // "changePasswordAtNextLogin": false, * // "creationTime": "my_creationTime", @@ -21345,6 +21360,7 @@ export namespace admin_directory_v1 { * // "sshPublicKeys": {}, * // "suspended": false, * // "suspensionReason": "my_suspensionReason", + * // "suspensionTime": "my_suspensionTime", * // "thumbnailPhotoEtag": "my_thumbnailPhotoEtag", * // "thumbnailPhotoUrl": "my_thumbnailPhotoUrl", * // "websites": {} @@ -21788,6 +21804,7 @@ export namespace admin_directory_v1 { * // "addresses": {}, * // "agreedToTerms": false, * // "aliases": [], + * // "archivalTime": "my_archivalTime", * // "archived": false, * // "changePasswordAtNextLogin": false, * // "creationTime": "my_creationTime", @@ -21830,6 +21847,7 @@ export namespace admin_directory_v1 { * // "sshPublicKeys": {}, * // "suspended": false, * // "suspensionReason": "my_suspensionReason", + * // "suspensionTime": "my_suspensionTime", * // "thumbnailPhotoEtag": "my_thumbnailPhotoEtag", * // "thumbnailPhotoUrl": "my_thumbnailPhotoUrl", * // "websites": {} @@ -21843,6 +21861,7 @@ export namespace admin_directory_v1 { * // "addresses": {}, * // "agreedToTerms": false, * // "aliases": [], + * // "archivalTime": "my_archivalTime", * // "archived": false, * // "changePasswordAtNextLogin": false, * // "creationTime": "my_creationTime", @@ -21885,6 +21904,7 @@ export namespace admin_directory_v1 { * // "sshPublicKeys": {}, * // "suspended": false, * // "suspensionReason": "my_suspensionReason", + * // "suspensionTime": "my_suspensionTime", * // "thumbnailPhotoEtag": "my_thumbnailPhotoEtag", * // "thumbnailPhotoUrl": "my_thumbnailPhotoUrl", * // "websites": {} @@ -22290,6 +22310,7 @@ export namespace admin_directory_v1 { * // "addresses": {}, * // "agreedToTerms": false, * // "aliases": [], + * // "archivalTime": "my_archivalTime", * // "archived": false, * // "changePasswordAtNextLogin": false, * // "creationTime": "my_creationTime", @@ -22332,6 +22353,7 @@ export namespace admin_directory_v1 { * // "sshPublicKeys": {}, * // "suspended": false, * // "suspensionReason": "my_suspensionReason", + * // "suspensionTime": "my_suspensionTime", * // "thumbnailPhotoEtag": "my_thumbnailPhotoEtag", * // "thumbnailPhotoUrl": "my_thumbnailPhotoUrl", * // "websites": {} @@ -22345,6 +22367,7 @@ export namespace admin_directory_v1 { * // "addresses": {}, * // "agreedToTerms": false, * // "aliases": [], + * // "archivalTime": "my_archivalTime", * // "archived": false, * // "changePasswordAtNextLogin": false, * // "creationTime": "my_creationTime", @@ -22387,6 +22410,7 @@ export namespace admin_directory_v1 { * // "sshPublicKeys": {}, * // "suspended": false, * // "suspensionReason": "my_suspensionReason", + * // "suspensionTime": "my_suspensionTime", * // "thumbnailPhotoEtag": "my_thumbnailPhotoEtag", * // "thumbnailPhotoUrl": "my_thumbnailPhotoUrl", * // "websites": {} diff --git a/src/apis/aiplatform/v1.ts b/src/apis/aiplatform/v1.ts index 5db1be6fc3f..c620fdac99a 100644 --- a/src/apis/aiplatform/v1.ts +++ b/src/apis/aiplatform/v1.ts @@ -227,6 +227,10 @@ export namespace aiplatform_v1 { * Number of diffusion steps */ numDiffusionSteps?: number | null; + /** + * The original REST API request JSON sent by the user, in the instances/parameters format. Preserved for saving alongside output artifacts so users can reproduce their requests. This field is populated by the API handler and is not user-settable. + */ + originalRequestJson?: string | null; /** * Prompt chunks for "ProModel" prompting. If set, the prompt will not be rewritten, and top-level prompt ignored. */ @@ -2835,6 +2839,15 @@ export namespace aiplatform_v1 { */ genericMetadata?: Schema$GoogleCloudAiplatformV1GenericOperationMetadata; } + /** + * Runtime operation metadata for ServingProfileService.CreateServingProfile. + */ + export interface Schema$GoogleCloudAiplatformV1CreateServingProfileOperationMetadata { + /** + * Output only. The standard operation metadata for Vertex AI. + */ + genericMetadata?: Schema$GoogleCloudAiplatformV1GenericOperationMetadata; + } /** * Runtime operation information for SpecialistPoolService.CreateSpecialistPool. */ @@ -13526,7 +13539,7 @@ export namespace aiplatform_v1 { */ export interface Schema$GoogleCloudAiplatformV1PauseScheduleRequest {} /** - * Represents the spec of persistent disk options. + * Represents the spec of persistent disk and hyperdisk options. */ export interface Schema$GoogleCloudAiplatformV1PersistentDiskSpec { /** @@ -13534,7 +13547,7 @@ export namespace aiplatform_v1 { */ diskSizeGb?: string | null; /** - * 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 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) "hyperdisk-balanced" (Hyperdisk Balanced) "hyperdisk-extreme" (Hyperdisk Extreme) "hyperdisk-balanced-high-availability" (Hyperdisk Balanced High Availability) "hyperdisk-ml" (Hyperdisk ML) "hyperdisk-throughput" (Hyperdisk Throughput) */ diskType?: string | null; } @@ -17191,6 +17204,10 @@ export namespace aiplatform_v1 { * Required. The category of the default container image. */ defaultContainerCategory?: string | null; + /** + * Optional. Resource requests and limits for the default container. + */ + resources?: Schema$GoogleCloudAiplatformV1SandboxEnvironmentTemplateResourceRequirements; } /** * Configuration for egress control of sandbox instances. @@ -22245,6 +22262,10 @@ export namespace aiplatform_v1 { * Optional. Tool to support searching public web data, powered by Vertex AI Search and Sec4 compliance. */ enterpriseWebSearch?: Schema$GoogleCloudAiplatformV1EnterpriseWebSearch; + /** + * Optional. Uses Exa.ai to search for information to answer user queries. The search results will be grounded on Exa.ai and presented to the model for response generation + */ + exaAiSearch?: Schema$GoogleCloudAiplatformV1ToolExaAiSearch; /** * Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 512 function declarations can be provided. */ @@ -22365,6 +22386,19 @@ export namespace aiplatform_v1 { */ retrievalConfig?: Schema$GoogleCloudAiplatformV1RetrievalConfig; } + /** + * ExaAiSearch tool type. A tool that uses the Exa.ai search engine for grounding. + */ + export interface Schema$GoogleCloudAiplatformV1ToolExaAiSearch { + /** + * Required. The API key for ExaAiSearch. + */ + apiKey?: string | null; + /** + * Optional. This field can be used to pass any parameter from the Exa.ai Search API. + */ + customConfigs?: {[key: string]: any} | null; + } /** * GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google. */ @@ -138906,7 +138940,7 @@ export namespace aiplatform_v1 { * await aiplatform.projects.locations.reasoningEngines.memories.patch({ * // Identifier. Represents the resource name of the Memory. Format: `projects/{project\}/locations/{location\}/reasoningEngines/{reasoning_engine\}/memories/{memory\}` * name: 'projects/my-project/locations/my-location/reasoningEngines/my-reasoningEngine/memories/my-memorie', - * // Optional. Mask specifying which fields to update. Supported fields: * `display_name` * `description` * `fact` + * // Optional. Mask specifying which fields to update. The following fields are immutable: * `scope` * `memory_type` * updateMask: 'placeholder-value', * * // Request body metadata @@ -139584,7 +139618,7 @@ export namespace aiplatform_v1 { */ name?: string; /** - * Optional. Mask specifying which fields to update. Supported fields: * `display_name` * `description` * `fact` + * Optional. Mask specifying which fields to update. The following fields are immutable: * `scope` * `memory_type` */ updateMask?: string; diff --git a/src/apis/alloydb/v1.ts b/src/apis/alloydb/v1.ts index 14fcf0e5720..558c31c3e9a 100644 --- a/src/apis/alloydb/v1.ts +++ b/src/apis/alloydb/v1.ts @@ -2057,9 +2057,13 @@ export namespace alloydb_v1 { uniqueId?: string | null; } /** - * Common model for database resource instance metadata. Next ID: 32 + * Common model for database resource instance metadata. Next ID: 35 */ export interface Schema$StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata { + /** + * Field to ingest additional metadata whichd does not support proto format. + */ + additionalMetadata?: {[key: string]: any} | null; /** * Availability configuration for this instance */ @@ -2112,6 +2116,14 @@ export namespace alloydb_v1 { * The type of the instance. Specified at creation time. */ instanceType?: string | null; + /** + * Field to ingest additional metadata which support proto format. + */ + internalAdditionalMetadata?: {[key: string]: any} | null; + /** + * Optional. Private and public IP address of the resource. + */ + ipAddress?: Schema$StorageDatabasecenterPartnerapiV1mainIpAddress; /** * Optional. Whether deletion protection is enabled for this resource. */ @@ -2300,6 +2312,19 @@ export namespace alloydb_v1 { */ resourceName?: string | null; } + /** + * Used to send IP address information for a database resource. + */ + export interface Schema$StorageDatabasecenterPartnerapiV1mainIpAddress { + /** + * The private IP address assigned to the resource within a Virtual Private Cloud (VPC). This IP is only reachable from within the same VPC network. Stored in standard string format (e.g., "10.0.0.2"). + */ + privateIp?: string | null; + /** + * The public IP address assigned to the resource. This IP is reachable from the internet. Stored in standard string format (e.g., "34.72.1.1"). + */ + publicIp?: string | null; + } /** * MachineConfiguration describes the configuration of a machine specific to Database Resource. */ diff --git a/src/apis/alloydb/v1alpha.ts b/src/apis/alloydb/v1alpha.ts index f2b5c3c038c..dbec839b157 100644 --- a/src/apis/alloydb/v1alpha.ts +++ b/src/apis/alloydb/v1alpha.ts @@ -2297,9 +2297,13 @@ export namespace alloydb_v1alpha { uniqueId?: string | null; } /** - * Common model for database resource instance metadata. Next ID: 32 + * Common model for database resource instance metadata. Next ID: 35 */ export interface Schema$StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata { + /** + * Field to ingest additional metadata whichd does not support proto format. + */ + additionalMetadata?: {[key: string]: any} | null; /** * Availability configuration for this instance */ @@ -2352,6 +2356,14 @@ export namespace alloydb_v1alpha { * The type of the instance. Specified at creation time. */ instanceType?: string | null; + /** + * Field to ingest additional metadata which support proto format. + */ + internalAdditionalMetadata?: {[key: string]: any} | null; + /** + * Optional. Private and public IP address of the resource. + */ + ipAddress?: Schema$StorageDatabasecenterPartnerapiV1mainIpAddress; /** * Optional. Whether deletion protection is enabled for this resource. */ @@ -2540,6 +2552,19 @@ export namespace alloydb_v1alpha { */ resourceName?: string | null; } + /** + * Used to send IP address information for a database resource. + */ + export interface Schema$StorageDatabasecenterPartnerapiV1mainIpAddress { + /** + * The private IP address assigned to the resource within a Virtual Private Cloud (VPC). This IP is only reachable from within the same VPC network. Stored in standard string format (e.g., "10.0.0.2"). + */ + privateIp?: string | null; + /** + * The public IP address assigned to the resource. This IP is reachable from the internet. Stored in standard string format (e.g., "34.72.1.1"). + */ + publicIp?: string | null; + } /** * MachineConfiguration describes the configuration of a machine specific to Database Resource. */ diff --git a/src/apis/alloydb/v1beta.ts b/src/apis/alloydb/v1beta.ts index 4a2e0bab0c7..60f8f5bdd10 100644 --- a/src/apis/alloydb/v1beta.ts +++ b/src/apis/alloydb/v1beta.ts @@ -2281,9 +2281,13 @@ export namespace alloydb_v1beta { uniqueId?: string | null; } /** - * Common model for database resource instance metadata. Next ID: 32 + * Common model for database resource instance metadata. Next ID: 35 */ export interface Schema$StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata { + /** + * Field to ingest additional metadata whichd does not support proto format. + */ + additionalMetadata?: {[key: string]: any} | null; /** * Availability configuration for this instance */ @@ -2336,6 +2340,14 @@ export namespace alloydb_v1beta { * The type of the instance. Specified at creation time. */ instanceType?: string | null; + /** + * Field to ingest additional metadata which support proto format. + */ + internalAdditionalMetadata?: {[key: string]: any} | null; + /** + * Optional. Private and public IP address of the resource. + */ + ipAddress?: Schema$StorageDatabasecenterPartnerapiV1mainIpAddress; /** * Optional. Whether deletion protection is enabled for this resource. */ @@ -2524,6 +2536,19 @@ export namespace alloydb_v1beta { */ resourceName?: string | null; } + /** + * Used to send IP address information for a database resource. + */ + export interface Schema$StorageDatabasecenterPartnerapiV1mainIpAddress { + /** + * The private IP address assigned to the resource within a Virtual Private Cloud (VPC). This IP is only reachable from within the same VPC network. Stored in standard string format (e.g., "10.0.0.2"). + */ + privateIp?: string | null; + /** + * The public IP address assigned to the resource. This IP is reachable from the internet. Stored in standard string format (e.g., "34.72.1.1"). + */ + publicIp?: string | null; + } /** * MachineConfiguration describes the configuration of a machine specific to Database Resource. */ diff --git a/src/apis/analytics/v3.ts b/src/apis/analytics/v3.ts deleted file mode 100644 index 33504195233..00000000000 --- a/src/apis/analytics/v3.ts +++ /dev/null @@ -1,18783 +0,0 @@ -// Copyright 2020 Google LLC -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -/* eslint-disable @typescript-eslint/no-explicit-any */ -/* eslint-disable @typescript-eslint/no-unused-vars */ -/* eslint-disable @typescript-eslint/no-empty-interface */ -/* eslint-disable @typescript-eslint/no-namespace */ -/* eslint-disable no-irregular-whitespace */ - -import { - OAuth2Client, - JWT, - Compute, - UserRefreshClient, - BaseExternalAccountClient, - GaxiosResponseWithHTTP2, - GoogleConfigurable, - createAPIRequest, - MethodOptions, - StreamMethodOptions, - GlobalOptions, - GoogleAuth, - BodyResponseCallback, - APIRequestContext, -} from 'googleapis-common'; -import {Readable} from 'stream'; - -export namespace analytics_v3 { - export interface Options extends GlobalOptions { - version: 'v3'; - } - - interface StandardParameters { - /** - * Auth client or API Key for the request - */ - auth?: - | string - | OAuth2Client - | JWT - | Compute - | UserRefreshClient - | BaseExternalAccountClient - | GoogleAuth; - - /** - * Data format for the response. - */ - alt?: string; - /** - * Selector specifying which fields to include in a partial response. - */ - fields?: string; - /** - * 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. - */ - key?: string; - /** - * OAuth 2.0 token for the current user. - */ - oauth_token?: string; - /** - * Returns response with indentations and line breaks. - */ - prettyPrint?: boolean; - /** - * An opaque string that represents a user for quota purposes. Must not exceed 40 characters. - */ - quotaUser?: string; - /** - * Deprecated. Please use quotaUser instead. - */ - userIp?: string; - } - - /** - * Google Analytics API - * - * Views and manages your Google Analytics data. - * - * @example - * ```js - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * ``` - */ - export class Analytics { - context: APIRequestContext; - data: Resource$Data; - management: Resource$Management; - metadata: Resource$Metadata; - provisioning: Resource$Provisioning; - userDeletion: Resource$Userdeletion; - - constructor(options: GlobalOptions, google?: GoogleConfigurable) { - this.context = { - _options: options || {}, - google, - }; - - this.data = new Resource$Data(this.context); - this.management = new Resource$Management(this.context); - this.metadata = new Resource$Metadata(this.context); - this.provisioning = new Resource$Provisioning(this.context); - this.userDeletion = new Resource$Userdeletion(this.context); - } - } - - /** - * JSON template for Analytics account entry. - */ - export interface Schema$Account { - /** - * Child link for an account entry. Points to the list of web properties for this account. - */ - childLink?: {href?: string; type?: string} | null; - /** - * Time the account was created. - */ - created?: string | null; - /** - * Account ID. - */ - id?: string | null; - /** - * Resource type for Analytics account. - */ - kind?: string | null; - /** - * Account name. - */ - name?: string | null; - /** - * Permissions the user has for this account. - */ - permissions?: {effective?: string[]} | null; - /** - * Link for this account. - */ - selfLink?: string | null; - /** - * Indicates whether this account is starred or not. - */ - starred?: boolean | null; - /** - * Time the account was last modified. - */ - updated?: string | null; - } - /** - * JSON template for a linked account. - */ - export interface Schema$AccountRef { - /** - * Link for this account. - */ - href?: string | null; - /** - * Account ID. - */ - id?: string | null; - /** - * Analytics account reference. - */ - kind?: string | null; - /** - * Account name. - */ - name?: string | null; - } - /** - * An account collection provides a list of Analytics accounts to which a user has access. The account collection is the entry point to all management information. Each resource in the collection corresponds to a single Analytics account. - */ - export interface Schema$Accounts { - /** - * A list of accounts. - */ - items?: Schema$Account[]; - /** - * The maximum number of entries the response can contain, regardless of the actual number of entries returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter. - */ - itemsPerPage?: number | null; - /** - * Collection type. - */ - kind?: string | null; - /** - * Next link for this account collection. - */ - nextLink?: string | null; - /** - * Previous link for this account collection. - */ - previousLink?: string | null; - /** - * The starting index of the entries, which is 1 by default or otherwise specified by the start-index query parameter. - */ - startIndex?: number | null; - /** - * The total number of results for the query, regardless of the number of results in the response. - */ - totalResults?: number | null; - /** - * Email ID of the authenticated user - */ - username?: string | null; - } - /** - * An AccountSummary collection lists a summary of accounts, properties and views (profiles) to which the user has access. Each resource in the collection corresponds to a single AccountSummary. - */ - export interface Schema$AccountSummaries { - /** - * A list of AccountSummaries. - */ - items?: Schema$AccountSummary[]; - /** - * The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter. - */ - itemsPerPage?: number | null; - /** - * Collection type. - */ - kind?: string | null; - /** - * Link to next page for this AccountSummary collection. - */ - nextLink?: string | null; - /** - * Link to previous page for this AccountSummary collection. - */ - previousLink?: string | null; - /** - * The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter. - */ - startIndex?: number | null; - /** - * The total number of results for the query, regardless of the number of results in the response. - */ - totalResults?: number | null; - /** - * Email ID of the authenticated user - */ - username?: string | null; - } - /** - * JSON template for an Analytics AccountSummary. An AccountSummary is a lightweight tree comprised of properties/profiles. - */ - export interface Schema$AccountSummary { - /** - * Account ID. - */ - id?: string | null; - /** - * Resource type for Analytics AccountSummary. - */ - kind?: string | null; - /** - * Account name. - */ - name?: string | null; - /** - * Indicates whether this account is starred or not. - */ - starred?: boolean | null; - /** - * List of web properties under this account. - */ - webProperties?: Schema$WebPropertySummary[]; - } - /** - * JSON template for an Analytics account ticket. The account ticket consists of the ticket ID and the basic information for the account, property and profile. - */ - export interface Schema$AccountTicket { - /** - * Account for this ticket. - */ - account?: Schema$Account; - /** - * Account ticket ID used to access the account ticket. - */ - id?: string | null; - /** - * Resource type for account ticket. - */ - kind?: string | null; - /** - * View (Profile) for the account. - */ - profile?: Schema$Profile; - /** - * Redirect URI where the user will be sent after accepting Terms of Service. Must be configured in APIs console as a callback URL. - */ - redirectUri?: string | null; - /** - * Web property for the account. - */ - webproperty?: Schema$Webproperty; - } - /** - * JSON template for an Analytics account tree requests. The account tree request is used in the provisioning api to create an account, property, and view (profile). It contains the basic information required to make these fields. - */ - export interface Schema$AccountTreeRequest { - accountName?: string | null; - /** - * Resource type for account ticket. - */ - kind?: string | null; - profileName?: string | null; - timezone?: string | null; - webpropertyName?: string | null; - websiteUrl?: string | null; - } - /** - * JSON template for an Analytics account tree response. The account tree response is used in the provisioning api to return the result of creating an account, property, and view (profile). - */ - export interface Schema$AccountTreeResponse { - /** - * The account created. - */ - account?: Schema$Account; - /** - * Resource type for account ticket. - */ - kind?: string | null; - /** - * View (Profile) for the account. - */ - profile?: Schema$Profile; - /** - * Web property for the account. - */ - webproperty?: Schema$Webproperty; - } - /** - * JSON template for an Google Ads account. - */ - export interface Schema$AdWordsAccount { - /** - * True if auto-tagging is enabled on the Google Ads account. Read-only after the insert operation. - */ - autoTaggingEnabled?: boolean | null; - /** - * Customer ID. This field is required when creating a Google Ads link. - */ - customerId?: string | null; - /** - * Resource type for Google Ads account. - */ - kind?: string | null; - } - /** - * Request template for the delete upload data request. - */ - export interface Schema$AnalyticsDataimportDeleteUploadDataRequest { - /** - * A list of upload UIDs. - */ - customDataImportUids?: string[] | null; - } - /** - * JSON template for a metadata column. - */ - export interface Schema$Column { - /** - * Map of attribute name and value for this column. - */ - attributes?: {[key: string]: string} | null; - /** - * Column id. - */ - id?: string | null; - /** - * Resource type for Analytics column. - */ - kind?: string | null; - } - /** - * Lists columns (dimensions and metrics) for a particular report type. - */ - export interface Schema$Columns { - /** - * List of attributes names returned by columns. - */ - attributeNames?: string[] | null; - /** - * Etag of collection. This etag can be compared with the last response etag to check if response has changed. - */ - etag?: string | null; - /** - * List of columns for a report type. - */ - items?: Schema$Column[]; - /** - * Collection type. - */ - kind?: string | null; - /** - * Total number of columns returned in the response. - */ - totalResults?: number | null; - } - /** - * JSON template for an Analytics custom data source. - */ - export interface Schema$CustomDataSource { - /** - * Account ID to which this custom data source belongs. - */ - accountId?: string | null; - childLink?: {href?: string; type?: string} | null; - /** - * Time this custom data source was created. - */ - created?: string | null; - /** - * Description of custom data source. - */ - description?: string | null; - /** - * Custom data source ID. - */ - id?: string | null; - importBehavior?: string | null; - /** - * Resource type for Analytics custom data source. - */ - kind?: string | null; - /** - * Name of this custom data source. - */ - name?: string | null; - /** - * Parent link for this custom data source. Points to the web property to which this custom data source belongs. - */ - parentLink?: {href?: string; type?: string} | null; - /** - * IDs of views (profiles) linked to the custom data source. - */ - profilesLinked?: string[] | null; - /** - * Collection of schema headers of the custom data source. - */ - schema?: string[] | null; - /** - * Link for this Analytics custom data source. - */ - selfLink?: string | null; - /** - * Type of the custom data source. - */ - type?: string | null; - /** - * Time this custom data source was last modified. - */ - updated?: string | null; - /** - * Upload type of the custom data source. - */ - uploadType?: string | null; - /** - * Web property ID of the form UA-XXXXX-YY to which this custom data source belongs. - */ - webPropertyId?: string | null; - } - /** - * Lists Analytics custom data sources to which the user has access. Each resource in the collection corresponds to a single Analytics custom data source. - */ - export interface Schema$CustomDataSources { - /** - * Collection of custom data sources. - */ - items?: Schema$CustomDataSource[]; - /** - * The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter. - */ - itemsPerPage?: number | null; - /** - * Collection type. - */ - kind?: string | null; - /** - * Link to next page for this custom data source collection. - */ - nextLink?: string | null; - /** - * Link to previous page for this custom data source collection. - */ - previousLink?: string | null; - /** - * The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter. - */ - startIndex?: number | null; - /** - * The total number of results for the query, regardless of the number of results in the response. - */ - totalResults?: number | null; - /** - * Email ID of the authenticated user - */ - username?: string | null; - } - /** - * JSON template for Analytics Custom Dimension. - */ - export interface Schema$CustomDimension { - /** - * Account ID. - */ - accountId?: string | null; - /** - * Boolean indicating whether the custom dimension is active. - */ - active?: boolean | null; - /** - * Time the custom dimension was created. - */ - created?: string | null; - /** - * Custom dimension ID. - */ - id?: string | null; - /** - * Index of the custom dimension. - */ - index?: number | null; - /** - * Kind value for a custom dimension. Set to "analytics#customDimension". It is a read-only field. - */ - kind?: string | null; - /** - * Name of the custom dimension. - */ - name?: string | null; - /** - * Parent link for the custom dimension. Points to the property to which the custom dimension belongs. - */ - parentLink?: {href?: string; type?: string} | null; - /** - * Scope of the custom dimension: HIT, SESSION, USER or PRODUCT. - */ - scope?: string | null; - /** - * Link for the custom dimension - */ - selfLink?: string | null; - /** - * Time the custom dimension was last modified. - */ - updated?: string | null; - /** - * Property ID. - */ - webPropertyId?: string | null; - } - /** - * A custom dimension collection lists Analytics custom dimensions to which the user has access. Each resource in the collection corresponds to a single Analytics custom dimension. - */ - export interface Schema$CustomDimensions { - /** - * Collection of custom dimensions. - */ - items?: Schema$CustomDimension[]; - /** - * The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter. - */ - itemsPerPage?: number | null; - /** - * Collection type. - */ - kind?: string | null; - /** - * Link to next page for this custom dimension collection. - */ - nextLink?: string | null; - /** - * Link to previous page for this custom dimension collection. - */ - previousLink?: string | null; - /** - * The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter. - */ - startIndex?: number | null; - /** - * The total number of results for the query, regardless of the number of results in the response. - */ - totalResults?: number | null; - /** - * Email ID of the authenticated user - */ - username?: string | null; - } - /** - * JSON template for Analytics Custom Metric. - */ - export interface Schema$CustomMetric { - /** - * Account ID. - */ - accountId?: string | null; - /** - * Boolean indicating whether the custom metric is active. - */ - active?: boolean | null; - /** - * Time the custom metric was created. - */ - created?: string | null; - /** - * Custom metric ID. - */ - id?: string | null; - /** - * Index of the custom metric. - */ - index?: number | null; - /** - * Kind value for a custom metric. Set to "analytics#customMetric". It is a read-only field. - */ - kind?: string | null; - /** - * Max value of custom metric. - */ - max_value?: string | null; - /** - * Min value of custom metric. - */ - min_value?: string | null; - /** - * Name of the custom metric. - */ - name?: string | null; - /** - * Parent link for the custom metric. Points to the property to which the custom metric belongs. - */ - parentLink?: {href?: string; type?: string} | null; - /** - * Scope of the custom metric: HIT or PRODUCT. - */ - scope?: string | null; - /** - * Link for the custom metric - */ - selfLink?: string | null; - /** - * Data type of custom metric. - */ - type?: string | null; - /** - * Time the custom metric was last modified. - */ - updated?: string | null; - /** - * Property ID. - */ - webPropertyId?: string | null; - } - /** - * A custom metric collection lists Analytics custom metrics to which the user has access. Each resource in the collection corresponds to a single Analytics custom metric. - */ - export interface Schema$CustomMetrics { - /** - * Collection of custom metrics. - */ - items?: Schema$CustomMetric[]; - /** - * The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter. - */ - itemsPerPage?: number | null; - /** - * Collection type. - */ - kind?: string | null; - /** - * Link to next page for this custom metric collection. - */ - nextLink?: string | null; - /** - * Link to previous page for this custom metric collection. - */ - previousLink?: string | null; - /** - * The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter. - */ - startIndex?: number | null; - /** - * The total number of results for the query, regardless of the number of results in the response. - */ - totalResults?: number | null; - /** - * Email ID of the authenticated user - */ - username?: string | null; - } - /** - * JSON template for Analytics Entity Google Ads Link. - */ - export interface Schema$EntityAdWordsLink { - /** - * A list of Google Ads client accounts. These cannot be MCC accounts. This field is required when creating a Google Ads link. It cannot be empty. - */ - adWordsAccounts?: Schema$AdWordsAccount[]; - /** - * Web property being linked. - */ - entity?: {webPropertyRef?: Schema$WebPropertyRef} | null; - /** - * Entity Google Ads link ID - */ - id?: string | null; - /** - * Resource type for entity Google Ads link. - */ - kind?: string | null; - /** - * Name of the link. This field is required when creating a Google Ads link. - */ - name?: string | null; - /** - * IDs of linked Views (Profiles) represented as strings. - */ - profileIds?: string[] | null; - /** - * URL link for this Google Analytics - Google Ads link. - */ - selfLink?: string | null; - } - /** - * An entity Google Ads link collection provides a list of GA-Google Ads links Each resource in this collection corresponds to a single link. - */ - export interface Schema$EntityAdWordsLinks { - /** - * A list of entity Google Ads links. - */ - items?: Schema$EntityAdWordsLink[]; - /** - * The maximum number of entries the response can contain, regardless of the actual number of entries returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter. - */ - itemsPerPage?: number | null; - /** - * Collection type. - */ - kind?: string | null; - /** - * Next link for this Google Ads link collection. - */ - nextLink?: string | null; - /** - * Previous link for this Google Ads link collection. - */ - previousLink?: string | null; - /** - * The starting index of the entries, which is 1 by default or otherwise specified by the start-index query parameter. - */ - startIndex?: number | null; - /** - * The total number of results for the query, regardless of the number of results in the response. - */ - totalResults?: number | null; - } - /** - * JSON template for an Analytics Entity-User Link. Returns permissions that a user has for an entity. - */ - export interface Schema$EntityUserLink { - /** - * Entity for this link. It can be an account, a web property, or a view (profile). - */ - entity?: { - accountRef?: Schema$AccountRef; - profileRef?: Schema$ProfileRef; - webPropertyRef?: Schema$WebPropertyRef; - } | null; - /** - * Entity user link ID - */ - id?: string | null; - /** - * Resource type for entity user link. - */ - kind?: string | null; - /** - * Permissions the user has for this entity. - */ - permissions?: {effective?: string[]; local?: string[]} | null; - /** - * Self link for this resource. - */ - selfLink?: string | null; - /** - * User reference. - */ - userRef?: Schema$UserRef; - } - /** - * An entity user link collection provides a list of Analytics ACL links Each resource in this collection corresponds to a single link. - */ - export interface Schema$EntityUserLinks { - /** - * A list of entity user links. - */ - items?: Schema$EntityUserLink[]; - /** - * The maximum number of entries the response can contain, regardless of the actual number of entries returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter. - */ - itemsPerPage?: number | null; - /** - * Collection type. - */ - kind?: string | null; - /** - * Next link for this account collection. - */ - nextLink?: string | null; - /** - * Previous link for this account collection. - */ - previousLink?: string | null; - /** - * The starting index of the entries, which is 1 by default or otherwise specified by the start-index query parameter. - */ - startIndex?: number | null; - /** - * The total number of results for the query, regardless of the number of results in the response. - */ - totalResults?: number | null; - } - /** - * JSON template for Analytics experiment resource. - */ - export interface Schema$Experiment { - /** - * Account ID to which this experiment belongs. This field is read-only. - */ - accountId?: string | null; - /** - * Time the experiment was created. This field is read-only. - */ - created?: string | null; - /** - * Notes about this experiment. - */ - description?: string | null; - /** - * If true, the end user will be able to edit the experiment via the Google Analytics user interface. - */ - editableInGaUi?: boolean | null; - /** - * The ending time of the experiment (the time the status changed from RUNNING to ENDED). This field is present only if the experiment has ended. This field is read-only. - */ - endTime?: string | null; - /** - * Boolean specifying whether to distribute traffic evenly across all variations. If the value is False, content experiments follows the default behavior of adjusting traffic dynamically based on variation performance. Optional -- defaults to False. This field may not be changed for an experiment whose status is ENDED. - */ - equalWeighting?: boolean | null; - /** - * Experiment ID. Required for patch and update. Disallowed for create. - */ - id?: string | null; - /** - * Internal ID for the web property to which this experiment belongs. This field is read-only. - */ - internalWebPropertyId?: string | null; - /** - * Resource type for an Analytics experiment. This field is read-only. - */ - kind?: string | null; - /** - * An integer number in [3, 90]. Specifies the minimum length of the experiment. Can be changed for a running experiment. This field may not be changed for an experiments whose status is ENDED. - */ - minimumExperimentLengthInDays?: number | null; - /** - * Experiment name. This field may not be changed for an experiment whose status is ENDED. This field is required when creating an experiment. - */ - name?: string | null; - /** - * The metric that the experiment is optimizing. Valid values: "ga:goal(n)Completions", "ga:adsenseAdsClicks", "ga:adsenseAdsViewed", "ga:adsenseRevenue", "ga:bounces", "ga:pageviews", "ga:sessionDuration", "ga:transactions", "ga:transactionRevenue". This field is required if status is "RUNNING" and servingFramework is one of "REDIRECT" or "API". - */ - objectiveMetric?: string | null; - /** - * Whether the objectiveMetric should be minimized or maximized. Possible values: "MAXIMUM", "MINIMUM". Optional--defaults to "MAXIMUM". Cannot be specified without objectiveMetric. Cannot be modified when status is "RUNNING" or "ENDED". - */ - optimizationType?: string | null; - /** - * Parent link for an experiment. Points to the view (profile) to which this experiment belongs. - */ - parentLink?: {href?: string; type?: string} | null; - /** - * View (Profile) ID to which this experiment belongs. This field is read-only. - */ - profileId?: string | null; - /** - * Why the experiment ended. Possible values: "STOPPED_BY_USER", "WINNER_FOUND", "EXPERIMENT_EXPIRED", "ENDED_WITH_NO_WINNER", "GOAL_OBJECTIVE_CHANGED". "ENDED_WITH_NO_WINNER" means that the experiment didn't expire but no winner was projected to be found. If the experiment status is changed via the API to ENDED this field is set to STOPPED_BY_USER. This field is read-only. - */ - reasonExperimentEnded?: string | null; - /** - * Boolean specifying whether variations URLS are rewritten to match those of the original. This field may not be changed for an experiments whose status is ENDED. - */ - rewriteVariationUrlsAsOriginal?: boolean | null; - /** - * Link for this experiment. This field is read-only. - */ - selfLink?: string | null; - /** - * The framework used to serve the experiment variations and evaluate the results. One of: - * - REDIRECT: Google Analytics redirects traffic to different variation pages, reports the chosen variation and evaluates the results. - * - API: Google Analytics chooses and reports the variation to serve and evaluates the results; the caller is responsible for serving the selected variation. - * - EXTERNAL: The variations will be served externally and the chosen variation reported to Google Analytics. The caller is responsible for serving the selected variation and evaluating the results. - */ - servingFramework?: string | null; - /** - * The snippet of code to include on the control page(s). This field is read-only. - */ - snippet?: string | null; - /** - * The starting time of the experiment (the time the status changed from READY_TO_RUN to RUNNING). This field is present only if the experiment has started. This field is read-only. - */ - startTime?: string | null; - /** - * Experiment status. Possible values: "DRAFT", "READY_TO_RUN", "RUNNING", "ENDED". Experiments can be created in the "DRAFT", "READY_TO_RUN" or "RUNNING" state. This field is required when creating an experiment. - */ - status?: string | null; - /** - * A floating-point number in (0, 1]. Specifies the fraction of the traffic that participates in the experiment. Can be changed for a running experiment. This field may not be changed for an experiments whose status is ENDED. - */ - trafficCoverage?: number | null; - /** - * Time the experiment was last modified. This field is read-only. - */ - updated?: string | null; - /** - * Array of variations. The first variation in the array is the original. The number of variations may not change once an experiment is in the RUNNING state. At least two variations are required before status can be set to RUNNING. - */ - variations?: Array<{ - name?: string; - status?: string; - url?: string; - weight?: number; - won?: boolean; - }> | null; - /** - * Web property ID to which this experiment belongs. The web property ID is of the form UA-XXXXX-YY. This field is read-only. - */ - webPropertyId?: string | null; - /** - * A floating-point number in (0, 1). Specifies the necessary confidence level to choose a winner. This field may not be changed for an experiments whose status is ENDED. - */ - winnerConfidenceLevel?: number | null; - /** - * Boolean specifying whether a winner has been found for this experiment. This field is read-only. - */ - winnerFound?: boolean | null; - } - /** - * An experiment collection lists Analytics experiments to which the user has access. Each view (profile) can have a set of experiments. Each resource in the Experiment collection corresponds to a single Analytics experiment. - */ - export interface Schema$Experiments { - /** - * A list of experiments. - */ - items?: Schema$Experiment[]; - /** - * The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter. - */ - itemsPerPage?: number | null; - /** - * Collection type. - */ - kind?: string | null; - /** - * Link to next page for this experiment collection. - */ - nextLink?: string | null; - /** - * Link to previous page for this experiment collection. - */ - previousLink?: string | null; - /** - * The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter. - */ - startIndex?: number | null; - /** - * The total number of results for the query, regardless of the number of resources in the result. - */ - totalResults?: number | null; - /** - * Email ID of the authenticated user - */ - username?: string | null; - } - /** - * JSON template for an Analytics account filter. - */ - export interface Schema$Filter { - /** - * Account ID to which this filter belongs. - */ - accountId?: string | null; - /** - * Details for the filter of the type ADVANCED. - */ - advancedDetails?: { - caseSensitive?: boolean; - extractA?: string; - extractB?: string; - fieldA?: string; - fieldAIndex?: number; - fieldARequired?: boolean; - fieldB?: string; - fieldBIndex?: number; - fieldBRequired?: boolean; - outputConstructor?: string; - outputToField?: string; - outputToFieldIndex?: number; - overrideOutputField?: boolean; - } | null; - /** - * Time this filter was created. - */ - created?: string | null; - /** - * Details for the filter of the type EXCLUDE. - */ - excludeDetails?: Schema$FilterExpression; - /** - * Filter ID. - */ - id?: string | null; - /** - * Details for the filter of the type INCLUDE. - */ - includeDetails?: Schema$FilterExpression; - /** - * Resource type for Analytics filter. - */ - kind?: string | null; - /** - * Details for the filter of the type LOWER. - */ - lowercaseDetails?: {field?: string; fieldIndex?: number} | null; - /** - * Name of this filter. - */ - name?: string | null; - /** - * Parent link for this filter. Points to the account to which this filter belongs. - */ - parentLink?: {href?: string; type?: string} | null; - /** - * Details for the filter of the type SEARCH_AND_REPLACE. - */ - searchAndReplaceDetails?: { - caseSensitive?: boolean; - field?: string; - fieldIndex?: number; - replaceString?: string; - searchString?: string; - } | null; - /** - * Link for this filter. - */ - selfLink?: string | null; - /** - * Type of this filter. Possible values are INCLUDE, EXCLUDE, LOWERCASE, UPPERCASE, SEARCH_AND_REPLACE and ADVANCED. - */ - type?: string | null; - /** - * Time this filter was last modified. - */ - updated?: string | null; - /** - * Details for the filter of the type UPPER. - */ - uppercaseDetails?: {field?: string; fieldIndex?: number} | null; - } - /** - * JSON template for an Analytics filter expression. - */ - export interface Schema$FilterExpression { - /** - * Determines if the filter is case sensitive. - */ - caseSensitive?: boolean | null; - /** - * Filter expression value - */ - expressionValue?: string | null; - /** - * Field to filter. Possible values: - * - Content and Traffic - * - PAGE_REQUEST_URI, - * - PAGE_HOSTNAME, - * - PAGE_TITLE, - * - REFERRAL, - * - COST_DATA_URI (Campaign target URL), - * - HIT_TYPE, - * - INTERNAL_SEARCH_TERM, - * - INTERNAL_SEARCH_TYPE, - * - SOURCE_PROPERTY_TRACKING_ID, - * - Campaign or AdGroup - * - CAMPAIGN_SOURCE, - * - CAMPAIGN_MEDIUM, - * - CAMPAIGN_NAME, - * - CAMPAIGN_AD_GROUP, - * - CAMPAIGN_TERM, - * - CAMPAIGN_CONTENT, - * - CAMPAIGN_CODE, - * - CAMPAIGN_REFERRAL_PATH, - * - E-Commerce - * - TRANSACTION_COUNTRY, - * - TRANSACTION_REGION, - * - TRANSACTION_CITY, - * - TRANSACTION_AFFILIATION (Store or order location), - * - ITEM_NAME, - * - ITEM_CODE, - * - ITEM_VARIATION, - * - TRANSACTION_ID, - * - TRANSACTION_CURRENCY_CODE, - * - PRODUCT_ACTION_TYPE, - * - Audience/Users - * - BROWSER, - * - BROWSER_VERSION, - * - BROWSER_SIZE, - * - PLATFORM, - * - PLATFORM_VERSION, - * - LANGUAGE, - * - SCREEN_RESOLUTION, - * - SCREEN_COLORS, - * - JAVA_ENABLED (Boolean Field), - * - FLASH_VERSION, - * - GEO_SPEED (Connection speed), - * - VISITOR_TYPE, - * - GEO_ORGANIZATION (ISP organization), - * - GEO_DOMAIN, - * - GEO_IP_ADDRESS, - * - GEO_IP_VERSION, - * - Location - * - GEO_COUNTRY, - * - GEO_REGION, - * - GEO_CITY, - * - Event - * - EVENT_CATEGORY, - * - EVENT_ACTION, - * - EVENT_LABEL, - * - Other - * - CUSTOM_FIELD_1, - * - CUSTOM_FIELD_2, - * - USER_DEFINED_VALUE, - * - Application - * - APP_ID, - * - APP_INSTALLER_ID, - * - APP_NAME, - * - APP_VERSION, - * - SCREEN, - * - IS_APP (Boolean Field), - * - IS_FATAL_EXCEPTION (Boolean Field), - * - EXCEPTION_DESCRIPTION, - * - Mobile device - * - IS_MOBILE (Boolean Field, Deprecated. Use DEVICE_CATEGORY=mobile), - * - IS_TABLET (Boolean Field, Deprecated. Use DEVICE_CATEGORY=tablet), - * - DEVICE_CATEGORY, - * - MOBILE_HAS_QWERTY_KEYBOARD (Boolean Field), - * - MOBILE_HAS_NFC_SUPPORT (Boolean Field), - * - MOBILE_HAS_CELLULAR_RADIO (Boolean Field), - * - MOBILE_HAS_WIFI_SUPPORT (Boolean Field), - * - MOBILE_BRAND_NAME, - * - MOBILE_MODEL_NAME, - * - MOBILE_MARKETING_NAME, - * - MOBILE_POINTING_METHOD, - * - Social - * - SOCIAL_NETWORK, - * - SOCIAL_ACTION, - * - SOCIAL_ACTION_TARGET, - * - Custom dimension - * - CUSTOM_DIMENSION (See accompanying field index), - */ - field?: string | null; - /** - * The Index of the custom dimension. Set only if the field is a is CUSTOM_DIMENSION. - */ - fieldIndex?: number | null; - /** - * Kind value for filter expression - */ - kind?: string | null; - /** - * Match type for this filter. Possible values are BEGINS_WITH, EQUAL, ENDS_WITH, CONTAINS, or MATCHES. GEO_DOMAIN, GEO_IP_ADDRESS, PAGE_REQUEST_URI, or PAGE_HOSTNAME filters can use any match type; all other filters must use MATCHES. - */ - matchType?: string | null; - } - /** - * JSON template for a profile filter link. - */ - export interface Schema$FilterRef { - /** - * Account ID to which this filter belongs. - */ - accountId?: string | null; - /** - * Link for this filter. - */ - href?: string | null; - /** - * Filter ID. - */ - id?: string | null; - /** - * Kind value for filter reference. - */ - kind?: string | null; - /** - * Name of this filter. - */ - name?: string | null; - } - /** - * A filter collection lists filters created by users in an Analytics account. Each resource in the collection corresponds to a filter. - */ - export interface Schema$Filters { - /** - * A list of filters. - */ - items?: Schema$Filter[]; - /** - * The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1,000 with a value of 1000 by default, or otherwise specified by the max-results query parameter. - */ - itemsPerPage?: number | null; - /** - * Collection type. - */ - kind?: string | null; - /** - * Link to next page for this filter collection. - */ - nextLink?: string | null; - /** - * Link to previous page for this filter collection. - */ - previousLink?: string | null; - /** - * The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter. - */ - startIndex?: number | null; - /** - * The total number of results for the query, regardless of the number of results in the response. - */ - totalResults?: number | null; - /** - * Email ID of the authenticated user - */ - username?: string | null; - } - /** - * Analytics data for a given view (profile). - */ - export interface Schema$GaData { - /** - * Column headers that list dimension names followed by the metric names. The order of dimensions and metrics is same as specified in the request. - */ - columnHeaders?: Array<{ - columnType?: string; - dataType?: string; - name?: string; - }> | null; - /** - * Determines if Analytics data contains samples. - */ - containsSampledData?: boolean | null; - /** - * The last refreshed time in seconds for Analytics data. - */ - dataLastRefreshed?: string | null; - dataTable?: { - cols?: Array<{id?: string; label?: string; type?: string}>; - rows?: Array<{c?: Array<{v?: string}>}>; - } | null; - /** - * Unique ID for this data response. - */ - id?: string | null; - /** - * The maximum number of rows the response can contain, regardless of the actual number of rows returned. Its value ranges from 1 to 10,000 with a value of 1000 by default, or otherwise specified by the max-results query parameter. - */ - itemsPerPage?: number | null; - /** - * Resource type. - */ - kind?: string | null; - /** - * Link to next page for this Analytics data query. - */ - nextLink?: string | null; - /** - * Link to previous page for this Analytics data query. - */ - previousLink?: string | null; - /** - * Information for the view (profile), for which the Analytics data was requested. - */ - profileInfo?: { - accountId?: string; - internalWebPropertyId?: string; - profileId?: string; - profileName?: string; - tableId?: string; - webPropertyId?: string; - } | null; - /** - * Analytics data request query parameters. - */ - query?: { - dimensions?: string; - 'end-date'?: string; - filters?: string; - ids?: string; - 'max-results'?: number; - metrics?: string[]; - samplingLevel?: string; - segment?: string; - sort?: string[]; - 'start-date'?: string; - 'start-index'?: number; - } | null; - /** - * Analytics data rows, where each row contains a list of dimension values followed by the metric values. The order of dimensions and metrics is same as specified in the request. - */ - rows?: string[][] | null; - /** - * The number of samples used to calculate the result. - */ - sampleSize?: string | null; - /** - * Total size of the sample space from which the samples were selected. - */ - sampleSpace?: string | null; - /** - * Link to this page. - */ - selfLink?: string | null; - /** - * The total number of rows for the query, regardless of the number of rows in the response. - */ - totalResults?: number | null; - /** - * Total values for the requested metrics over all the results, not just the results returned in this response. The order of the metric totals is same as the metric order specified in the request. - */ - totalsForAllResults?: {[key: string]: string} | null; - } - /** - * JSON template for Analytics goal resource. - */ - export interface Schema$Goal { - /** - * Account ID to which this goal belongs. - */ - accountId?: string | null; - /** - * Determines whether this goal is active. - */ - active?: boolean | null; - /** - * Time this goal was created. - */ - created?: string | null; - /** - * Details for the goal of the type EVENT. - */ - eventDetails?: { - eventConditions?: Array<{ - comparisonType?: string; - comparisonValue?: string; - expression?: string; - matchType?: string; - type?: string; - }>; - useEventValue?: boolean; - } | null; - /** - * Goal ID. - */ - id?: string | null; - /** - * Internal ID for the web property to which this goal belongs. - */ - internalWebPropertyId?: string | null; - /** - * Resource type for an Analytics goal. - */ - kind?: string | null; - /** - * Goal name. - */ - name?: string | null; - /** - * Parent link for a goal. Points to the view (profile) to which this goal belongs. - */ - parentLink?: {href?: string; type?: string} | null; - /** - * View (Profile) ID to which this goal belongs. - */ - profileId?: string | null; - /** - * Link for this goal. - */ - selfLink?: string | null; - /** - * Goal type. Possible values are URL_DESTINATION, VISIT_TIME_ON_SITE, VISIT_NUM_PAGES, AND EVENT. - */ - type?: string | null; - /** - * Time this goal was last modified. - */ - updated?: string | null; - /** - * Details for the goal of the type URL_DESTINATION. - */ - urlDestinationDetails?: { - caseSensitive?: boolean; - firstStepRequired?: boolean; - matchType?: string; - steps?: Array<{name?: string; number?: number; url?: string}>; - url?: string; - } | null; - /** - * Goal value. - */ - value?: number | null; - /** - * Details for the goal of the type VISIT_NUM_PAGES. - */ - visitNumPagesDetails?: { - comparisonType?: string; - comparisonValue?: string; - } | null; - /** - * Details for the goal of the type VISIT_TIME_ON_SITE. - */ - visitTimeOnSiteDetails?: { - comparisonType?: string; - comparisonValue?: string; - } | null; - /** - * Web property ID to which this goal belongs. The web property ID is of the form UA-XXXXX-YY. - */ - webPropertyId?: string | null; - } - /** - * A goal collection lists Analytics goals to which the user has access. Each view (profile) can have a set of goals. Each resource in the Goal collection corresponds to a single Analytics goal. - */ - export interface Schema$Goals { - /** - * A list of goals. - */ - items?: Schema$Goal[]; - /** - * The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter. - */ - itemsPerPage?: number | null; - /** - * Collection type. - */ - kind?: string | null; - /** - * Link to next page for this goal collection. - */ - nextLink?: string | null; - /** - * Link to previous page for this goal collection. - */ - previousLink?: string | null; - /** - * The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter. - */ - startIndex?: number | null; - /** - * The total number of results for the query, regardless of the number of resources in the result. - */ - totalResults?: number | null; - /** - * Email ID of the authenticated user - */ - username?: string | null; - } - /** - * JSON template for a hash Client Id request resource. - */ - export interface Schema$HashClientIdRequest { - clientId?: string | null; - kind?: string | null; - webPropertyId?: string | null; - } - /** - * JSON template for a hash Client Id response resource. - */ - export interface Schema$HashClientIdResponse { - clientId?: string | null; - hashedClientId?: string | null; - kind?: string | null; - webPropertyId?: string | null; - } - /** - * JSON template for an Analytics Remarketing Include Conditions. - */ - export interface Schema$IncludeConditions { - /** - * The look-back window lets you specify a time frame for evaluating the behavior that qualifies users for your audience. For example, if your filters include users from Central Asia, and Transactions Greater than 2, and you set the look-back window to 14 days, then any user from Central Asia whose cumulative transactions exceed 2 during the last 14 days is added to the audience. - */ - daysToLookBack?: number | null; - /** - * Boolean indicating whether this segment is a smart list. https://support.google.com/analytics/answer/4628577 - */ - isSmartList?: boolean | null; - /** - * Resource type for include conditions. - */ - kind?: string | null; - /** - * Number of days (in the range 1 to 540) a user remains in the audience. - */ - membershipDurationDays?: number | null; - /** - * The segment condition that will cause a user to be added to an audience. - */ - segment?: string | null; - } - /** - * JSON template for an Analytics Remarketing Audience Foreign Link. - */ - export interface Schema$LinkedForeignAccount { - /** - * Account ID to which this linked foreign account belongs. - */ - accountId?: string | null; - /** - * Boolean indicating whether this is eligible for search. - */ - eligibleForSearch?: boolean | null; - /** - * Entity ad account link ID. - */ - id?: string | null; - /** - * Internal ID for the web property to which this linked foreign account belongs. - */ - internalWebPropertyId?: string | null; - /** - * Resource type for linked foreign account. - */ - kind?: string | null; - /** - * The foreign account ID. For example the an Google Ads `linkedAccountId` has the following format XXX-XXX-XXXX. - */ - linkedAccountId?: string | null; - /** - * Remarketing audience ID to which this linked foreign account belongs. - */ - remarketingAudienceId?: string | null; - /** - * The status of this foreign account link. - */ - status?: string | null; - /** - * The type of the foreign account. For example, `ADWORDS_LINKS`, `DBM_LINKS`, `MCC_LINKS` or `OPTIMIZE`. - */ - type?: string | null; - /** - * Web property ID of the form UA-XXXXX-YY to which this linked foreign account belongs. - */ - webPropertyId?: string | null; - } - /** - * Multi-Channel Funnels data for a given view (profile). - */ - export interface Schema$McfData { - /** - * Column headers that list dimension names followed by the metric names. The order of dimensions and metrics is same as specified in the request. - */ - columnHeaders?: Array<{ - columnType?: string; - dataType?: string; - name?: string; - }> | null; - /** - * Determines if the Analytics data contains sampled data. - */ - containsSampledData?: boolean | null; - /** - * Unique ID for this data response. - */ - id?: string | null; - /** - * The maximum number of rows the response can contain, regardless of the actual number of rows returned. Its value ranges from 1 to 10,000 with a value of 1000 by default, or otherwise specified by the max-results query parameter. - */ - itemsPerPage?: number | null; - /** - * Resource type. - */ - kind?: string | null; - /** - * Link to next page for this Analytics data query. - */ - nextLink?: string | null; - /** - * Link to previous page for this Analytics data query. - */ - previousLink?: string | null; - /** - * Information for the view (profile), for which the Analytics data was requested. - */ - profileInfo?: { - accountId?: string; - internalWebPropertyId?: string; - profileId?: string; - profileName?: string; - tableId?: string; - webPropertyId?: string; - } | null; - /** - * Analytics data request query parameters. - */ - query?: { - dimensions?: string; - 'end-date'?: string; - filters?: string; - ids?: string; - 'max-results'?: number; - metrics?: string[]; - samplingLevel?: string; - segment?: string; - sort?: string[]; - 'start-date'?: string; - 'start-index'?: number; - } | null; - /** - * Analytics data rows, where each row contains a list of dimension values followed by the metric values. The order of dimensions and metrics is same as specified in the request. - */ - rows?: Array< - Array<{ - conversionPathValue?: Array<{ - interactionType?: string; - nodeValue?: string; - }>; - primitiveValue?: string; - }> - > | null; - /** - * The number of samples used to calculate the result. - */ - sampleSize?: string | null; - /** - * Total size of the sample space from which the samples were selected. - */ - sampleSpace?: string | null; - /** - * Link to this page. - */ - selfLink?: string | null; - /** - * The total number of rows for the query, regardless of the number of rows in the response. - */ - totalResults?: number | null; - /** - * Total values for the requested metrics over all the results, not just the results returned in this response. The order of the metric totals is same as the metric order specified in the request. - */ - totalsForAllResults?: {[key: string]: string} | null; - } - /** - * JSON template for an Analytics view (profile). - */ - export interface Schema$Profile { - /** - * Account ID to which this view (profile) belongs. - */ - accountId?: string | null; - /** - * Indicates whether bot filtering is enabled for this view (profile). - */ - botFilteringEnabled?: boolean | null; - /** - * Child link for this view (profile). Points to the list of goals for this view (profile). - */ - childLink?: {href?: string; type?: string} | null; - /** - * Time this view (profile) was created. - */ - created?: string | null; - /** - * The currency type associated with this view (profile), defaults to USD. The supported values are: - * USD, JPY, EUR, GBP, AUD, KRW, BRL, CNY, DKK, RUB, SEK, NOK, PLN, TRY, TWD, HKD, THB, IDR, ARS, MXN, VND, PHP, INR, CHF, CAD, CZK, NZD, HUF, BGN, LTL, ZAR, UAH, AED, BOB, CLP, COP, EGP, HRK, ILS, MAD, MYR, PEN, PKR, RON, RSD, SAR, SGD, VEF, LVL - */ - currency?: string | null; - /** - * Default page for this view (profile). - */ - defaultPage?: string | null; - /** - * Indicates whether ecommerce tracking is enabled for this view (profile). - */ - eCommerceTracking?: boolean | null; - /** - * Indicates whether enhanced ecommerce tracking is enabled for this view (profile). This property can only be enabled if ecommerce tracking is enabled. - */ - enhancedECommerceTracking?: boolean | null; - /** - * The query parameters that are excluded from this view (profile). - */ - excludeQueryParameters?: string | null; - /** - * View (Profile) ID. - */ - id?: string | null; - /** - * Internal ID for the web property to which this view (profile) belongs. - */ - internalWebPropertyId?: string | null; - /** - * Resource type for Analytics view (profile). - */ - kind?: string | null; - /** - * Name of this view (profile). - */ - name?: string | null; - /** - * Parent link for this view (profile). Points to the web property to which this view (profile) belongs. - */ - parentLink?: {href?: string; type?: string} | null; - /** - * Permissions the user has for this view (profile). - */ - permissions?: {effective?: string[]} | null; - /** - * Link for this view (profile). - */ - selfLink?: string | null; - /** - * Site search category parameters for this view (profile). - */ - siteSearchCategoryParameters?: string | null; - /** - * The site search query parameters for this view (profile). - */ - siteSearchQueryParameters?: string | null; - /** - * Indicates whether this view (profile) is starred or not. - */ - starred?: boolean | null; - /** - * Whether or not Analytics will strip search category parameters from the URLs in your reports. - */ - stripSiteSearchCategoryParameters?: boolean | null; - /** - * Whether or not Analytics will strip search query parameters from the URLs in your reports. - */ - stripSiteSearchQueryParameters?: boolean | null; - /** - * Time zone for which this view (profile) has been configured. Time zones are identified by strings from the TZ database. - */ - timezone?: string | null; - /** - * View (Profile) type. Supported types: WEB or APP. - */ - type?: string | null; - /** - * Time this view (profile) was last modified. - */ - updated?: string | null; - /** - * Web property ID of the form UA-XXXXX-YY to which this view (profile) belongs. - */ - webPropertyId?: string | null; - /** - * Website URL for this view (profile). - */ - websiteUrl?: string | null; - } - /** - * JSON template for an Analytics profile filter link. - */ - export interface Schema$ProfileFilterLink { - /** - * Filter for this link. - */ - filterRef?: Schema$FilterRef; - /** - * Profile filter link ID. - */ - id?: string | null; - /** - * Resource type for Analytics filter. - */ - kind?: string | null; - /** - * View (Profile) for this link. - */ - profileRef?: Schema$ProfileRef; - /** - * The rank of this profile filter link relative to the other filters linked to the same profile. - * For readonly (i.e., list and get) operations, the rank always starts at 1. - * For write (i.e., create, update, or delete) operations, you may specify a value between 0 and 255 inclusively, [0, 255]. In order to insert a link at the end of the list, either don't specify a rank or set a rank to a number greater than the largest rank in the list. In order to insert a link to the beginning of the list specify a rank that is less than or equal to 1. The new link will move all existing filters with the same or lower rank down the list. After the link is inserted/updated/deleted all profile filter links will be renumbered starting at 1. - */ - rank?: number | null; - /** - * Link for this profile filter link. - */ - selfLink?: string | null; - } - /** - * A profile filter link collection lists profile filter links between profiles and filters. Each resource in the collection corresponds to a profile filter link. - */ - export interface Schema$ProfileFilterLinks { - /** - * A list of profile filter links. - */ - items?: Schema$ProfileFilterLink[]; - /** - * The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1,000 with a value of 1000 by default, or otherwise specified by the max-results query parameter. - */ - itemsPerPage?: number | null; - /** - * Collection type. - */ - kind?: string | null; - /** - * Link to next page for this profile filter link collection. - */ - nextLink?: string | null; - /** - * Link to previous page for this profile filter link collection. - */ - previousLink?: string | null; - /** - * The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter. - */ - startIndex?: number | null; - /** - * The total number of results for the query, regardless of the number of results in the response. - */ - totalResults?: number | null; - /** - * Email ID of the authenticated user - */ - username?: string | null; - } - /** - * JSON template for a linked view (profile). - */ - export interface Schema$ProfileRef { - /** - * Account ID to which this view (profile) belongs. - */ - accountId?: string | null; - /** - * Link for this view (profile). - */ - href?: string | null; - /** - * View (Profile) ID. - */ - id?: string | null; - /** - * Internal ID for the web property to which this view (profile) belongs. - */ - internalWebPropertyId?: string | null; - /** - * Analytics view (profile) reference. - */ - kind?: string | null; - /** - * Name of this view (profile). - */ - name?: string | null; - /** - * Web property ID of the form UA-XXXXX-YY to which this view (profile) belongs. - */ - webPropertyId?: string | null; - } - /** - * A view (profile) collection lists Analytics views (profiles) to which the user has access. Each resource in the collection corresponds to a single Analytics view (profile). - */ - export interface Schema$Profiles { - /** - * A list of views (profiles). - */ - items?: Schema$Profile[]; - /** - * The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter. - */ - itemsPerPage?: number | null; - /** - * Collection type. - */ - kind?: string | null; - /** - * Link to next page for this view (profile) collection. - */ - nextLink?: string | null; - /** - * Link to previous page for this view (profile) collection. - */ - previousLink?: string | null; - /** - * The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter. - */ - startIndex?: number | null; - /** - * The total number of results for the query, regardless of the number of results in the response. - */ - totalResults?: number | null; - /** - * Email ID of the authenticated user - */ - username?: string | null; - } - /** - * JSON template for an Analytics ProfileSummary. ProfileSummary returns basic information (i.e., summary) for a profile. - */ - export interface Schema$ProfileSummary { - /** - * View (profile) ID. - */ - id?: string | null; - /** - * Resource type for Analytics ProfileSummary. - */ - kind?: string | null; - /** - * View (profile) name. - */ - name?: string | null; - /** - * Indicates whether this view (profile) is starred or not. - */ - starred?: boolean | null; - /** - * View (Profile) type. Supported types: WEB or APP. - */ - type?: string | null; - } - /** - * Real time data for a given view (profile). - */ - export interface Schema$RealtimeData { - /** - * Column headers that list dimension names followed by the metric names. The order of dimensions and metrics is same as specified in the request. - */ - columnHeaders?: Array<{ - columnType?: string; - dataType?: string; - name?: string; - }> | null; - /** - * Unique ID for this data response. - */ - id?: string | null; - /** - * Resource type. - */ - kind?: string | null; - /** - * Information for the view (profile), for which the real time data was requested. - */ - profileInfo?: { - accountId?: string; - internalWebPropertyId?: string; - profileId?: string; - profileName?: string; - tableId?: string; - webPropertyId?: string; - } | null; - /** - * Real time data request query parameters. - */ - query?: { - dimensions?: string; - filters?: string; - ids?: string; - 'max-results'?: number; - metrics?: string[]; - sort?: string[]; - } | null; - /** - * Real time data rows, where each row contains a list of dimension values followed by the metric values. The order of dimensions and metrics is same as specified in the request. - */ - rows?: string[][] | null; - /** - * Link to this page. - */ - selfLink?: string | null; - /** - * The total number of rows for the query, regardless of the number of rows in the response. - */ - totalResults?: number | null; - /** - * Total values for the requested metrics over all the results, not just the results returned in this response. The order of the metric totals is same as the metric order specified in the request. - */ - totalsForAllResults?: {[key: string]: string} | null; - } - /** - * JSON template for an Analytics remarketing audience. - */ - export interface Schema$RemarketingAudience { - /** - * Account ID to which this remarketing audience belongs. - */ - accountId?: string | null; - /** - * The simple audience definition that will cause a user to be added to an audience. - */ - audienceDefinition?: {includeConditions?: Schema$IncludeConditions} | null; - /** - * The type of audience, either SIMPLE or STATE_BASED. - */ - audienceType?: string | null; - /** - * Time this remarketing audience was created. - */ - created?: string | null; - /** - * The description of this remarketing audience. - */ - description?: string | null; - /** - * Remarketing Audience ID. - */ - id?: string | null; - /** - * Internal ID for the web property to which this remarketing audience belongs. - */ - internalWebPropertyId?: string | null; - /** - * Collection type. - */ - kind?: string | null; - /** - * The linked ad accounts associated with this remarketing audience. A remarketing audience can have only one linkedAdAccount currently. - */ - linkedAdAccounts?: Schema$LinkedForeignAccount[]; - /** - * The views (profiles) that this remarketing audience is linked to. - */ - linkedViews?: string[] | null; - /** - * The name of this remarketing audience. - */ - name?: string | null; - /** - * A state based audience definition that will cause a user to be added or removed from an audience. - */ - stateBasedAudienceDefinition?: { - excludeConditions?: {exclusionDuration?: string; segment?: string}; - includeConditions?: Schema$IncludeConditions; - } | null; - /** - * Time this remarketing audience was last modified. - */ - updated?: string | null; - /** - * Web property ID of the form UA-XXXXX-YY to which this remarketing audience belongs. - */ - webPropertyId?: string | null; - } - /** - * A remarketing audience collection lists Analytics remarketing audiences to which the user has access. Each resource in the collection corresponds to a single Analytics remarketing audience. - */ - export interface Schema$RemarketingAudiences { - /** - * A list of remarketing audiences. - */ - items?: Schema$RemarketingAudience[]; - /** - * The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter. - */ - itemsPerPage?: number | null; - /** - * Collection type. - */ - kind?: string | null; - /** - * Link to next page for this remarketing audience collection. - */ - nextLink?: string | null; - /** - * Link to previous page for this view (profile) collection. - */ - previousLink?: string | null; - /** - * The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter. - */ - startIndex?: number | null; - /** - * The total number of results for the query, regardless of the number of results in the response. - */ - totalResults?: number | null; - /** - * Email ID of the authenticated user - */ - username?: string | null; - } - /** - * JSON template for an Analytics segment. - */ - export interface Schema$Segment { - /** - * Time the segment was created. - */ - created?: string | null; - /** - * Segment definition. - */ - definition?: string | null; - /** - * Segment ID. - */ - id?: string | null; - /** - * Resource type for Analytics segment. - */ - kind?: string | null; - /** - * Segment name. - */ - name?: string | null; - /** - * Segment ID. Can be used with the 'segment' parameter in Core Reporting API. - */ - segmentId?: string | null; - /** - * Link for this segment. - */ - selfLink?: string | null; - /** - * Type for a segment. Possible values are "BUILT_IN" or "CUSTOM". - */ - type?: string | null; - /** - * Time the segment was last modified. - */ - updated?: string | null; - } - /** - * An segment collection lists Analytics segments that the user has access to. Each resource in the collection corresponds to a single Analytics segment. - */ - export interface Schema$Segments { - /** - * A list of segments. - */ - items?: Schema$Segment[]; - /** - * The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter. - */ - itemsPerPage?: number | null; - /** - * Collection type for segments. - */ - kind?: string | null; - /** - * Link to next page for this segment collection. - */ - nextLink?: string | null; - /** - * Link to previous page for this segment collection. - */ - previousLink?: string | null; - /** - * The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter. - */ - startIndex?: number | null; - /** - * The total number of results for the query, regardless of the number of results in the response. - */ - totalResults?: number | null; - /** - * Email ID of the authenticated user - */ - username?: string | null; - } - /** - * JSON template for Analytics unsampled report resource. - */ - export interface Schema$UnsampledReport { - /** - * Account ID to which this unsampled report belongs. - */ - accountId?: string | null; - /** - * Download details for a file stored in Google Cloud Storage. - */ - cloudStorageDownloadDetails?: {bucketId?: string; objectId?: string} | null; - /** - * Time this unsampled report was created. - */ - created?: string | null; - /** - * The dimensions for the unsampled report. - */ - dimensions?: string | null; - /** - * The type of download you need to use for the report data file. Possible values include `GOOGLE_DRIVE` and `GOOGLE_CLOUD_STORAGE`. If the value is `GOOGLE_DRIVE`, see the `driveDownloadDetails` field. If the value is `GOOGLE_CLOUD_STORAGE`, see the `cloudStorageDownloadDetails` field. - */ - downloadType?: string | null; - /** - * Download details for a file stored in Google Drive. - */ - driveDownloadDetails?: {documentId?: string} | null; - /** - * The end date for the unsampled report. - */ - 'end-date'?: string | null; - /** - * The filters for the unsampled report. - */ - filters?: string | null; - /** - * Unsampled report ID. - */ - id?: string | null; - /** - * Resource type for an Analytics unsampled report. - */ - kind?: string | null; - /** - * The metrics for the unsampled report. - */ - metrics?: string | null; - /** - * View (Profile) ID to which this unsampled report belongs. - */ - profileId?: string | null; - /** - * The segment for the unsampled report. - */ - segment?: string | null; - /** - * Link for this unsampled report. - */ - selfLink?: string | null; - /** - * The start date for the unsampled report. - */ - 'start-date'?: string | null; - /** - * Status of this unsampled report. Possible values are PENDING, COMPLETED, or FAILED. - */ - status?: string | null; - /** - * Title of the unsampled report. - */ - title?: string | null; - /** - * Time this unsampled report was last modified. - */ - updated?: string | null; - /** - * Web property ID to which this unsampled report belongs. The web property ID is of the form UA-XXXXX-YY. - */ - webPropertyId?: string | null; - } - /** - * An unsampled report collection lists Analytics unsampled reports to which the user has access. Each view (profile) can have a set of unsampled reports. Each resource in the unsampled report collection corresponds to a single Analytics unsampled report. - */ - export interface Schema$UnsampledReports { - /** - * A list of unsampled reports. - */ - items?: Schema$UnsampledReport[]; - /** - * The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter. - */ - itemsPerPage?: number | null; - /** - * Collection type. - */ - kind?: string | null; - /** - * Link to next page for this unsampled report collection. - */ - nextLink?: string | null; - /** - * Link to previous page for this unsampled report collection. - */ - previousLink?: string | null; - /** - * The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter. - */ - startIndex?: number | null; - /** - * The total number of results for the query, regardless of the number of resources in the result. - */ - totalResults?: number | null; - /** - * Email ID of the authenticated user - */ - username?: string | null; - } - /** - * Metadata returned for an upload operation. - */ - export interface Schema$Upload { - /** - * Account Id to which this upload belongs. - */ - accountId?: string | null; - /** - * Custom data source Id to which this data import belongs. - */ - customDataSourceId?: string | null; - /** - * Data import errors collection. - */ - errors?: string[] | null; - /** - * A unique ID for this upload. - */ - id?: string | null; - /** - * Resource type for Analytics upload. - */ - kind?: string | null; - /** - * Upload status. Possible values: PENDING, COMPLETED, FAILED, DELETING, DELETED. - */ - status?: string | null; - /** - * Time this file is uploaded. - */ - uploadTime?: string | null; - } - /** - * Upload collection lists Analytics uploads to which the user has access. Each custom data source can have a set of uploads. Each resource in the upload collection corresponds to a single Analytics data upload. - */ - export interface Schema$Uploads { - /** - * A list of uploads. - */ - items?: Schema$Upload[]; - /** - * The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter. - */ - itemsPerPage?: number | null; - /** - * Collection type. - */ - kind?: string | null; - /** - * Link to next page for this upload collection. - */ - nextLink?: string | null; - /** - * Link to previous page for this upload collection. - */ - previousLink?: string | null; - /** - * The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter. - */ - startIndex?: number | null; - /** - * The total number of results for the query, regardless of the number of resources in the result. - */ - totalResults?: number | null; - } - /** - * JSON template for a user deletion request resource. - */ - export interface Schema$UserDeletionRequest { - /** - * This marks the point in time for which all user data before should be deleted - */ - deletionRequestTime?: string | null; - /** - * Firebase Project Id - */ - firebaseProjectId?: string | null; - /** - * User ID. - */ - id?: {type?: string; userId?: string} | null; - /** - * Value is "analytics#userDeletionRequest". - */ - kind?: string | null; - /** - * Property ID - */ - propertyId?: string | null; - /** - * Web property ID of the form UA-XXXXX-YY. - */ - webPropertyId?: string | null; - } - /** - * JSON template for a user reference. - */ - export interface Schema$UserRef { - /** - * Email ID of this user. - */ - email?: string | null; - /** - * User ID. - */ - id?: string | null; - kind?: string | null; - } - /** - * A web property collection lists Analytics web properties to which the user has access. Each resource in the collection corresponds to a single Analytics web property. - */ - export interface Schema$Webproperties { - /** - * A list of web properties. - */ - items?: Schema$Webproperty[]; - /** - * The maximum number of resources the response can contain, regardless of the actual number of resources returned. Its value ranges from 1 to 1000 with a value of 1000 by default, or otherwise specified by the max-results query parameter. - */ - itemsPerPage?: number | null; - /** - * Collection type. - */ - kind?: string | null; - /** - * Link to next page for this web property collection. - */ - nextLink?: string | null; - /** - * Link to previous page for this web property collection. - */ - previousLink?: string | null; - /** - * The starting index of the resources, which is 1 by default or otherwise specified by the start-index query parameter. - */ - startIndex?: number | null; - /** - * The total number of results for the query, regardless of the number of results in the response. - */ - totalResults?: number | null; - /** - * Email ID of the authenticated user - */ - username?: string | null; - } - /** - * JSON template for an Analytics web property. - */ - export interface Schema$Webproperty { - /** - * Account ID to which this web property belongs. - */ - accountId?: string | null; - /** - * Child link for this web property. Points to the list of views (profiles) for this web property. - */ - childLink?: {href?: string; type?: string} | null; - /** - * Time this web property was created. - */ - created?: string | null; - /** - * Set to true to reset the retention period of the user identifier with each new event from that user (thus setting the expiration date to current time plus retention period). - * Set to false to delete data associated with the user identifier automatically after the rentention period. - * This property cannot be set on insert. - */ - dataRetentionResetOnNewActivity?: boolean | null; - /** - * The length of time for which user and event data is retained. - * This property cannot be set on insert. - */ - dataRetentionTtl?: string | null; - /** - * Default view (profile) ID. - */ - defaultProfileId?: string | null; - /** - * Web property ID of the form UA-XXXXX-YY. - */ - id?: string | null; - /** - * The industry vertical/category selected for this web property. - */ - industryVertical?: string | null; - /** - * Internal ID for this web property. - */ - internalWebPropertyId?: string | null; - /** - * Resource type for Analytics WebProperty. - */ - kind?: string | null; - /** - * Level for this web property. Possible values are STANDARD or PREMIUM. - */ - level?: string | null; - /** - * Name of this web property. - */ - name?: string | null; - /** - * Parent link for this web property. Points to the account to which this web property belongs. - */ - parentLink?: {href?: string; type?: string} | null; - /** - * Permissions the user has for this web property. - */ - permissions?: {effective?: string[]} | null; - /** - * View (Profile) count for this web property. - */ - profileCount?: number | null; - /** - * Link for this web property. - */ - selfLink?: string | null; - /** - * Indicates whether this web property is starred or not. - */ - starred?: boolean | null; - /** - * Time this web property was last modified. - */ - updated?: string | null; - /** - * Website url for this web property. - */ - websiteUrl?: string | null; - } - /** - * JSON template for a web property reference. - */ - export interface Schema$WebPropertyRef { - /** - * Account ID to which this web property belongs. - */ - accountId?: string | null; - /** - * Link for this web property. - */ - href?: string | null; - /** - * Web property ID of the form UA-XXXXX-YY. - */ - id?: string | null; - /** - * Internal ID for this web property. - */ - internalWebPropertyId?: string | null; - /** - * Analytics web property reference. - */ - kind?: string | null; - /** - * Name of this web property. - */ - name?: string | null; - } - /** - * JSON template for an Analytics WebPropertySummary. WebPropertySummary returns basic information (i.e., summary) for a web property. - */ - export interface Schema$WebPropertySummary { - /** - * Web property ID of the form UA-XXXXX-YY. - */ - id?: string | null; - /** - * Internal ID for this web property. - */ - internalWebPropertyId?: string | null; - /** - * Resource type for Analytics WebPropertySummary. - */ - kind?: string | null; - /** - * Level for this web property. Possible values are STANDARD or PREMIUM. - */ - level?: string | null; - /** - * Web property name. - */ - name?: string | null; - /** - * List of profiles under this web property. - */ - profiles?: Schema$ProfileSummary[]; - /** - * Indicates whether this web property is starred or not. - */ - starred?: boolean | null; - /** - * Website url for this web property. - */ - websiteUrl?: string | null; - } - - export class Resource$Data { - context: APIRequestContext; - ga: Resource$Data$Ga; - mcf: Resource$Data$Mcf; - realtime: Resource$Data$Realtime; - constructor(context: APIRequestContext) { - this.context = context; - this.ga = new Resource$Data$Ga(this.context); - this.mcf = new Resource$Data$Mcf(this.context); - this.realtime = new Resource$Data$Realtime(this.context); - } - } - - export class Resource$Data$Ga { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Returns Analytics data for a view (profile). - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/analytics', - * 'https://www.googleapis.com/auth/analytics.readonly', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.data.ga.get({ - * // A comma-separated list of Analytics dimensions. E.g., 'ga:browser,ga:city'. - * dimensions: '(ga:.+)?', - * // End date for fetching Analytics data. Request can should specify an end date formatted as YYYY-MM-DD, or as a relative date (e.g., today, yesterday, or 7daysAgo). The default value is yesterday. - * 'end-date': '[0-9]{4}-[0-9]{2}-[0-9]{2}|today|yesterday|[0-9]+(daysAgo)', - * // A comma-separated list of dimension or metric filters to be applied to Analytics data. - * filters: 'ga:.+', - * // Unique table ID for retrieving Analytics data. Table ID is of the form ga:XXXX, where XXXX is the Analytics view (profile) ID. - * ids: 'ga:[0-9]+', - * // The response will include empty rows if this parameter is set to true, the default is true - * 'include-empty-rows': 'placeholder-value', - * // The maximum number of entries to include in this feed. - * 'max-results': 'placeholder-value', - * // A comma-separated list of Analytics metrics. E.g., 'ga:sessions,ga:pageviews'. At least one metric must be specified. - * metrics: 'ga:.+', - * // The selected format for the response. Default format is JSON. - * output: 'placeholder-value', - * // The desired sampling level. - * samplingLevel: 'placeholder-value', - * // An Analytics segment to be applied to data. - * segment: 'placeholder-value', - * // A comma-separated list of dimensions or metrics that determine the sort order for Analytics data. - * sort: '(-)?ga:.+', - * // Start date for fetching Analytics data. Requests can specify a start date formatted as YYYY-MM-DD, or as a relative date (e.g., today, yesterday, or 7daysAgo). The default value is 7daysAgo. - * 'start-date': '[0-9]{4}-[0-9]{2}-[0-9]{2}|today|yesterday|[0-9]+(daysAgo)', - * // An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. - * 'start-index': 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "columnHeaders": [], - * // "containsSampledData": false, - * // "dataLastRefreshed": "my_dataLastRefreshed", - * // "dataTable": {}, - * // "id": "my_id", - * // "itemsPerPage": 0, - * // "kind": "my_kind", - * // "nextLink": "my_nextLink", - * // "previousLink": "my_previousLink", - * // "profileInfo": {}, - * // "query": {}, - * // "rows": [], - * // "sampleSize": "my_sampleSize", - * // "sampleSpace": "my_sampleSpace", - * // "selfLink": "my_selfLink", - * // "totalResults": 0, - * // "totalsForAllResults": {} - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - get( - params: Params$Resource$Data$Ga$Get, - options: StreamMethodOptions - ): Promise>; - get( - params?: Params$Resource$Data$Ga$Get, - options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Data$Ga$Get, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Data$Ga$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Data$Ga$Get, - callback: BodyResponseCallback - ): void; - get(callback: BodyResponseCallback): void; - get( - paramsOrCallback?: - | Params$Resource$Data$Ga$Get - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Data$Ga$Get; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Data$Ga$Get; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/analytics/v3/data/ga').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['ids', 'start-date', 'end-date', 'metrics'], - pathParams: [], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Data$Ga$Get extends StandardParameters { - /** - * A comma-separated list of Analytics dimensions. E.g., 'ga:browser,ga:city'. - */ - dimensions?: string; - /** - * End date for fetching Analytics data. Request can should specify an end date formatted as YYYY-MM-DD, or as a relative date (e.g., today, yesterday, or 7daysAgo). The default value is yesterday. - */ - 'end-date'?: string; - /** - * A comma-separated list of dimension or metric filters to be applied to Analytics data. - */ - filters?: string; - /** - * Unique table ID for retrieving Analytics data. Table ID is of the form ga:XXXX, where XXXX is the Analytics view (profile) ID. - */ - ids?: string; - /** - * The response will include empty rows if this parameter is set to true, the default is true - */ - 'include-empty-rows'?: boolean; - /** - * The maximum number of entries to include in this feed. - */ - 'max-results'?: number; - /** - * A comma-separated list of Analytics metrics. E.g., 'ga:sessions,ga:pageviews'. At least one metric must be specified. - */ - metrics?: string; - /** - * The selected format for the response. Default format is JSON. - */ - output?: string; - /** - * The desired sampling level. - */ - samplingLevel?: string; - /** - * An Analytics segment to be applied to data. - */ - segment?: string; - /** - * A comma-separated list of dimensions or metrics that determine the sort order for Analytics data. - */ - sort?: string; - /** - * Start date for fetching Analytics data. Requests can specify a start date formatted as YYYY-MM-DD, or as a relative date (e.g., today, yesterday, or 7daysAgo). The default value is 7daysAgo. - */ - 'start-date'?: string; - /** - * An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. - */ - 'start-index'?: number; - } - - export class Resource$Data$Mcf { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Returns Analytics Multi-Channel Funnels data for a view (profile). - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/analytics', - * 'https://www.googleapis.com/auth/analytics.readonly', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.data.mcf.get({ - * // A comma-separated list of Multi-Channel Funnels dimensions. E.g., 'mcf:source,mcf:medium'. - * dimensions: '(mcf:.+)?', - * // End date for fetching Analytics data. Requests can specify a start date formatted as YYYY-MM-DD, or as a relative date (e.g., today, yesterday, or 7daysAgo). The default value is 7daysAgo. - * 'end-date': '[0-9]{4}-[0-9]{2}-[0-9]{2}|today|yesterday|[0-9]+(daysAgo)', - * // A comma-separated list of dimension or metric filters to be applied to the Analytics data. - * filters: 'mcf:.+', - * // Unique table ID for retrieving Analytics data. Table ID is of the form ga:XXXX, where XXXX is the Analytics view (profile) ID. - * ids: 'ga:[0-9]+', - * // The maximum number of entries to include in this feed. - * 'max-results': 'placeholder-value', - * // A comma-separated list of Multi-Channel Funnels metrics. E.g., 'mcf:totalConversions,mcf:totalConversionValue'. At least one metric must be specified. - * metrics: 'mcf:.+', - * // The desired sampling level. - * samplingLevel: 'placeholder-value', - * // A comma-separated list of dimensions or metrics that determine the sort order for the Analytics data. - * sort: '(-)?mcf:.+', - * // Start date for fetching Analytics data. Requests can specify a start date formatted as YYYY-MM-DD, or as a relative date (e.g., today, yesterday, or 7daysAgo). The default value is 7daysAgo. - * 'start-date': '[0-9]{4}-[0-9]{2}-[0-9]{2}|today|yesterday|[0-9]+(daysAgo)', - * // An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. - * 'start-index': 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "columnHeaders": [], - * // "containsSampledData": false, - * // "id": "my_id", - * // "itemsPerPage": 0, - * // "kind": "my_kind", - * // "nextLink": "my_nextLink", - * // "previousLink": "my_previousLink", - * // "profileInfo": {}, - * // "query": {}, - * // "rows": [], - * // "sampleSize": "my_sampleSize", - * // "sampleSpace": "my_sampleSpace", - * // "selfLink": "my_selfLink", - * // "totalResults": 0, - * // "totalsForAllResults": {} - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - get( - params: Params$Resource$Data$Mcf$Get, - options: StreamMethodOptions - ): Promise>; - get( - params?: Params$Resource$Data$Mcf$Get, - options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Data$Mcf$Get, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Data$Mcf$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Data$Mcf$Get, - callback: BodyResponseCallback - ): void; - get(callback: BodyResponseCallback): void; - get( - paramsOrCallback?: - | Params$Resource$Data$Mcf$Get - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Data$Mcf$Get; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Data$Mcf$Get; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/analytics/v3/data/mcf').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['ids', 'start-date', 'end-date', 'metrics'], - pathParams: [], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Data$Mcf$Get extends StandardParameters { - /** - * A comma-separated list of Multi-Channel Funnels dimensions. E.g., 'mcf:source,mcf:medium'. - */ - dimensions?: string; - /** - * End date for fetching Analytics data. Requests can specify a start date formatted as YYYY-MM-DD, or as a relative date (e.g., today, yesterday, or 7daysAgo). The default value is 7daysAgo. - */ - 'end-date'?: string; - /** - * A comma-separated list of dimension or metric filters to be applied to the Analytics data. - */ - filters?: string; - /** - * Unique table ID for retrieving Analytics data. Table ID is of the form ga:XXXX, where XXXX is the Analytics view (profile) ID. - */ - ids?: string; - /** - * The maximum number of entries to include in this feed. - */ - 'max-results'?: number; - /** - * A comma-separated list of Multi-Channel Funnels metrics. E.g., 'mcf:totalConversions,mcf:totalConversionValue'. At least one metric must be specified. - */ - metrics?: string; - /** - * The desired sampling level. - */ - samplingLevel?: string; - /** - * A comma-separated list of dimensions or metrics that determine the sort order for the Analytics data. - */ - sort?: string; - /** - * Start date for fetching Analytics data. Requests can specify a start date formatted as YYYY-MM-DD, or as a relative date (e.g., today, yesterday, or 7daysAgo). The default value is 7daysAgo. - */ - 'start-date'?: string; - /** - * An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. - */ - 'start-index'?: number; - } - - export class Resource$Data$Realtime { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Returns real time data for a view (profile). - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/analytics', - * 'https://www.googleapis.com/auth/analytics.readonly', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.data.realtime.get({ - * // A comma-separated list of real time dimensions. E.g., 'rt:medium,rt:city'. - * dimensions: '(ga:.+)|(rt:.+)', - * // A comma-separated list of dimension or metric filters to be applied to real time data. - * filters: '(ga:.+)|(rt:.+)', - * // Unique table ID for retrieving real time data. Table ID is of the form ga:XXXX, where XXXX is the Analytics view (profile) ID. - * ids: 'ga:[0-9]+', - * // The maximum number of entries to include in this feed. - * 'max-results': 'placeholder-value', - * // A comma-separated list of real time metrics. E.g., 'rt:activeUsers'. At least one metric must be specified. - * metrics: '(ga:.+)|(rt:.+)', - * // A comma-separated list of dimensions or metrics that determine the sort order for real time data. - * sort: '(-)?((ga:.+)|(rt:.+))', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "columnHeaders": [], - * // "id": "my_id", - * // "kind": "my_kind", - * // "profileInfo": {}, - * // "query": {}, - * // "rows": [], - * // "selfLink": "my_selfLink", - * // "totalResults": 0, - * // "totalsForAllResults": {} - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - get( - params: Params$Resource$Data$Realtime$Get, - options: StreamMethodOptions - ): Promise>; - get( - params?: Params$Resource$Data$Realtime$Get, - options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Data$Realtime$Get, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Data$Realtime$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Data$Realtime$Get, - callback: BodyResponseCallback - ): void; - get(callback: BodyResponseCallback): void; - get( - paramsOrCallback?: - | Params$Resource$Data$Realtime$Get - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Data$Realtime$Get; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Data$Realtime$Get; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/analytics/v3/data/realtime').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['ids', 'metrics'], - pathParams: [], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Data$Realtime$Get extends StandardParameters { - /** - * A comma-separated list of real time dimensions. E.g., 'rt:medium,rt:city'. - */ - dimensions?: string; - /** - * A comma-separated list of dimension or metric filters to be applied to real time data. - */ - filters?: string; - /** - * Unique table ID for retrieving real time data. Table ID is of the form ga:XXXX, where XXXX is the Analytics view (profile) ID. - */ - ids?: string; - /** - * The maximum number of entries to include in this feed. - */ - 'max-results'?: number; - /** - * A comma-separated list of real time metrics. E.g., 'rt:activeUsers'. At least one metric must be specified. - */ - metrics?: string; - /** - * A comma-separated list of dimensions or metrics that determine the sort order for real time data. - */ - sort?: string; - } - - export class Resource$Management { - context: APIRequestContext; - accounts: Resource$Management$Accounts; - accountSummaries: Resource$Management$Accountsummaries; - accountUserLinks: Resource$Management$Accountuserlinks; - clientId: Resource$Management$Clientid; - customDataSources: Resource$Management$Customdatasources; - customDimensions: Resource$Management$Customdimensions; - customMetrics: Resource$Management$Custommetrics; - experiments: Resource$Management$Experiments; - filters: Resource$Management$Filters; - goals: Resource$Management$Goals; - profileFilterLinks: Resource$Management$Profilefilterlinks; - profiles: Resource$Management$Profiles; - profileUserLinks: Resource$Management$Profileuserlinks; - remarketingAudience: Resource$Management$Remarketingaudience; - segments: Resource$Management$Segments; - unsampledReports: Resource$Management$Unsampledreports; - uploads: Resource$Management$Uploads; - webproperties: Resource$Management$Webproperties; - webPropertyAdWordsLinks: Resource$Management$Webpropertyadwordslinks; - webpropertyUserLinks: Resource$Management$Webpropertyuserlinks; - constructor(context: APIRequestContext) { - this.context = context; - this.accounts = new Resource$Management$Accounts(this.context); - this.accountSummaries = new Resource$Management$Accountsummaries( - this.context - ); - this.accountUserLinks = new Resource$Management$Accountuserlinks( - this.context - ); - this.clientId = new Resource$Management$Clientid(this.context); - this.customDataSources = new Resource$Management$Customdatasources( - this.context - ); - this.customDimensions = new Resource$Management$Customdimensions( - this.context - ); - this.customMetrics = new Resource$Management$Custommetrics(this.context); - this.experiments = new Resource$Management$Experiments(this.context); - this.filters = new Resource$Management$Filters(this.context); - this.goals = new Resource$Management$Goals(this.context); - this.profileFilterLinks = new Resource$Management$Profilefilterlinks( - this.context - ); - this.profiles = new Resource$Management$Profiles(this.context); - this.profileUserLinks = new Resource$Management$Profileuserlinks( - this.context - ); - this.remarketingAudience = new Resource$Management$Remarketingaudience( - this.context - ); - this.segments = new Resource$Management$Segments(this.context); - this.unsampledReports = new Resource$Management$Unsampledreports( - this.context - ); - this.uploads = new Resource$Management$Uploads(this.context); - this.webproperties = new Resource$Management$Webproperties(this.context); - this.webPropertyAdWordsLinks = - new Resource$Management$Webpropertyadwordslinks(this.context); - this.webpropertyUserLinks = new Resource$Management$Webpropertyuserlinks( - this.context - ); - } - } - - export class Resource$Management$Accounts { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Lists all accounts to which the user has access. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/analytics', - * 'https://www.googleapis.com/auth/analytics.edit', - * 'https://www.googleapis.com/auth/analytics.readonly', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.accounts.list({ - * // The maximum number of accounts to include in this response. - * 'max-results': 'placeholder-value', - * // An index of the first account to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. - * 'start-index': 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "items": [], - * // "itemsPerPage": 0, - * // "kind": "my_kind", - * // "nextLink": "my_nextLink", - * // "previousLink": "my_previousLink", - * // "startIndex": 0, - * // "totalResults": 0, - * // "username": "my_username" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - list( - params: Params$Resource$Management$Accounts$List, - options: StreamMethodOptions - ): Promise>; - list( - params?: Params$Resource$Management$Accounts$List, - options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Management$Accounts$List, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Management$Accounts$List, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Management$Accounts$List, - callback: BodyResponseCallback - ): void; - list(callback: BodyResponseCallback): void; - list( - paramsOrCallback?: - | Params$Resource$Management$Accounts$List - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Accounts$List; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Accounts$List; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/analytics/v3/management/accounts').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: [], - pathParams: [], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Management$Accounts$List extends StandardParameters { - /** - * The maximum number of accounts to include in this response. - */ - 'max-results'?: number; - /** - * An index of the first account to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. - */ - 'start-index'?: number; - } - - export class Resource$Management$Accountsummaries { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Lists account summaries (lightweight tree comprised of accounts/properties/profiles) to which the user has access. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/analytics.edit', - * 'https://www.googleapis.com/auth/analytics.readonly', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.accountSummaries.list({ - * // The maximum number of account summaries to include in this response, where the largest acceptable value is 1000. - * 'max-results': 'placeholder-value', - * // An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. - * 'start-index': 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "items": [], - * // "itemsPerPage": 0, - * // "kind": "my_kind", - * // "nextLink": "my_nextLink", - * // "previousLink": "my_previousLink", - * // "startIndex": 0, - * // "totalResults": 0, - * // "username": "my_username" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - list( - params: Params$Resource$Management$Accountsummaries$List, - options: StreamMethodOptions - ): Promise>; - list( - params?: Params$Resource$Management$Accountsummaries$List, - options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Management$Accountsummaries$List, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Management$Accountsummaries$List, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Management$Accountsummaries$List, - callback: BodyResponseCallback - ): void; - list(callback: BodyResponseCallback): void; - list( - paramsOrCallback?: - | Params$Resource$Management$Accountsummaries$List - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Accountsummaries$List; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Accountsummaries$List; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/analytics/v3/management/accountSummaries' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: [], - pathParams: [], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Management$Accountsummaries$List extends StandardParameters { - /** - * The maximum number of account summaries to include in this response, where the largest acceptable value is 1000. - */ - 'max-results'?: number; - /** - * An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. - */ - 'start-index'?: number; - } - - export class Resource$Management$Accountuserlinks { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Removes a user from the given account. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/analytics.manage.users'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.accountUserLinks.delete({ - * // Account ID to delete the user link for. - * accountId: 'placeholder-value', - * // Link ID to delete the user link for. - * linkId: 'placeholder-value', - * }); - * console.log(res.data); - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - delete( - params: Params$Resource$Management$Accountuserlinks$Delete, - options: StreamMethodOptions - ): Promise>; - delete( - params?: Params$Resource$Management$Accountuserlinks$Delete, - options?: MethodOptions - ): Promise>; - delete( - params: Params$Resource$Management$Accountuserlinks$Delete, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - delete( - params: Params$Resource$Management$Accountuserlinks$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - delete( - params: Params$Resource$Management$Accountuserlinks$Delete, - callback: BodyResponseCallback - ): void; - delete(callback: BodyResponseCallback): void; - delete( - paramsOrCallback?: - | Params$Resource$Management$Accountuserlinks$Delete - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: BodyResponseCallback | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Accountuserlinks$Delete; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Accountuserlinks$Delete; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/entityUserLinks/{linkId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId', 'linkId'], - pathParams: ['accountId', 'linkId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Adds a new user to the given account. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/analytics.manage.users'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.accountUserLinks.insert({ - * // Account ID to create the user link for. - * accountId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "entity": {}, - * // "id": "my_id", - * // "kind": "my_kind", - * // "permissions": {}, - * // "selfLink": "my_selfLink", - * // "userRef": {} - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "entity": {}, - * // "id": "my_id", - * // "kind": "my_kind", - * // "permissions": {}, - * // "selfLink": "my_selfLink", - * // "userRef": {} - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - insert( - params: Params$Resource$Management$Accountuserlinks$Insert, - options: StreamMethodOptions - ): Promise>; - insert( - params?: Params$Resource$Management$Accountuserlinks$Insert, - options?: MethodOptions - ): Promise>; - insert( - params: Params$Resource$Management$Accountuserlinks$Insert, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - insert( - params: Params$Resource$Management$Accountuserlinks$Insert, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - insert( - params: Params$Resource$Management$Accountuserlinks$Insert, - callback: BodyResponseCallback - ): void; - insert(callback: BodyResponseCallback): void; - insert( - paramsOrCallback?: - | Params$Resource$Management$Accountuserlinks$Insert - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Accountuserlinks$Insert; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Accountuserlinks$Insert; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/entityUserLinks' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId'], - pathParams: ['accountId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Lists account-user links for a given account. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/analytics.manage.users', - * 'https://www.googleapis.com/auth/analytics.manage.users.readonly', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.accountUserLinks.list({ - * // Account ID to retrieve the user links for. - * accountId: 'placeholder-value', - * // The maximum number of account-user links to include in this response. - * 'max-results': 'placeholder-value', - * // An index of the first account-user link to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. - * 'start-index': 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "items": [], - * // "itemsPerPage": 0, - * // "kind": "my_kind", - * // "nextLink": "my_nextLink", - * // "previousLink": "my_previousLink", - * // "startIndex": 0, - * // "totalResults": 0 - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - list( - params: Params$Resource$Management$Accountuserlinks$List, - options: StreamMethodOptions - ): Promise>; - list( - params?: Params$Resource$Management$Accountuserlinks$List, - options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Management$Accountuserlinks$List, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Management$Accountuserlinks$List, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Management$Accountuserlinks$List, - callback: BodyResponseCallback - ): void; - list(callback: BodyResponseCallback): void; - list( - paramsOrCallback?: - | Params$Resource$Management$Accountuserlinks$List - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Accountuserlinks$List; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Accountuserlinks$List; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/entityUserLinks' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId'], - pathParams: ['accountId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Updates permissions for an existing user on the given account. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/analytics.manage.users'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.accountUserLinks.update({ - * // Account ID to update the account-user link for. - * accountId: 'placeholder-value', - * // Link ID to update the account-user link for. - * linkId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "entity": {}, - * // "id": "my_id", - * // "kind": "my_kind", - * // "permissions": {}, - * // "selfLink": "my_selfLink", - * // "userRef": {} - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "entity": {}, - * // "id": "my_id", - * // "kind": "my_kind", - * // "permissions": {}, - * // "selfLink": "my_selfLink", - * // "userRef": {} - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - update( - params: Params$Resource$Management$Accountuserlinks$Update, - options: StreamMethodOptions - ): Promise>; - update( - params?: Params$Resource$Management$Accountuserlinks$Update, - options?: MethodOptions - ): Promise>; - update( - params: Params$Resource$Management$Accountuserlinks$Update, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - update( - params: Params$Resource$Management$Accountuserlinks$Update, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - update( - params: Params$Resource$Management$Accountuserlinks$Update, - callback: BodyResponseCallback - ): void; - update(callback: BodyResponseCallback): void; - update( - paramsOrCallback?: - | Params$Resource$Management$Accountuserlinks$Update - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Accountuserlinks$Update; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Accountuserlinks$Update; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/entityUserLinks/{linkId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PUT', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId', 'linkId'], - pathParams: ['accountId', 'linkId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Management$Accountuserlinks$Delete extends StandardParameters { - /** - * Account ID to delete the user link for. - */ - accountId?: string; - /** - * Link ID to delete the user link for. - */ - linkId?: string; - } - export interface Params$Resource$Management$Accountuserlinks$Insert extends StandardParameters { - /** - * Account ID to create the user link for. - */ - accountId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$EntityUserLink; - } - export interface Params$Resource$Management$Accountuserlinks$List extends StandardParameters { - /** - * Account ID to retrieve the user links for. - */ - accountId?: string; - /** - * The maximum number of account-user links to include in this response. - */ - 'max-results'?: number; - /** - * An index of the first account-user link to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. - */ - 'start-index'?: number; - } - export interface Params$Resource$Management$Accountuserlinks$Update extends StandardParameters { - /** - * Account ID to update the account-user link for. - */ - accountId?: string; - /** - * Link ID to update the account-user link for. - */ - linkId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$EntityUserLink; - } - - export class Resource$Management$Clientid { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Hashes the given Client ID. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/analytics.edit', - * 'https://www.googleapis.com/auth/analytics.readonly', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.clientId.hashClientId({ - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "clientId": "my_clientId", - * // "kind": "my_kind", - * // "webPropertyId": "my_webPropertyId" - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "clientId": "my_clientId", - * // "hashedClientId": "my_hashedClientId", - * // "kind": "my_kind", - * // "webPropertyId": "my_webPropertyId" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - hashClientId( - params: Params$Resource$Management$Clientid$Hashclientid, - options: StreamMethodOptions - ): Promise>; - hashClientId( - params?: Params$Resource$Management$Clientid$Hashclientid, - options?: MethodOptions - ): Promise>; - hashClientId( - params: Params$Resource$Management$Clientid$Hashclientid, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - hashClientId( - params: Params$Resource$Management$Clientid$Hashclientid, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - hashClientId( - params: Params$Resource$Management$Clientid$Hashclientid, - callback: BodyResponseCallback - ): void; - hashClientId( - callback: BodyResponseCallback - ): void; - hashClientId( - paramsOrCallback?: - | Params$Resource$Management$Clientid$Hashclientid - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Clientid$Hashclientid; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Clientid$Hashclientid; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/analytics/v3/management/clientId:hashClientId' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: [], - pathParams: [], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Management$Clientid$Hashclientid extends StandardParameters { - /** - * Request body metadata - */ - requestBody?: Schema$HashClientIdRequest; - } - - export class Resource$Management$Customdatasources { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * List custom data sources to which the user has access. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/analytics', - * 'https://www.googleapis.com/auth/analytics.edit', - * 'https://www.googleapis.com/auth/analytics.readonly', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.customDataSources.list({ - * // Account Id for the custom data sources to retrieve. - * accountId: '\d+', - * // The maximum number of custom data sources to include in this response. - * 'max-results': 'placeholder-value', - * // A 1-based index of the first custom data source to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. - * 'start-index': 'placeholder-value', - * // Web property Id for the custom data sources to retrieve. - * webPropertyId: 'UA-(\d+)-(\d+)', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "items": [], - * // "itemsPerPage": 0, - * // "kind": "my_kind", - * // "nextLink": "my_nextLink", - * // "previousLink": "my_previousLink", - * // "startIndex": 0, - * // "totalResults": 0, - * // "username": "my_username" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - list( - params: Params$Resource$Management$Customdatasources$List, - options: StreamMethodOptions - ): Promise>; - list( - params?: Params$Resource$Management$Customdatasources$List, - options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Management$Customdatasources$List, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Management$Customdatasources$List, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Management$Customdatasources$List, - callback: BodyResponseCallback - ): void; - list(callback: BodyResponseCallback): void; - list( - paramsOrCallback?: - | Params$Resource$Management$Customdatasources$List - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Customdatasources$List; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Customdatasources$List; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId', 'webPropertyId'], - pathParams: ['accountId', 'webPropertyId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Management$Customdatasources$List extends StandardParameters { - /** - * Account Id for the custom data sources to retrieve. - */ - accountId?: string; - /** - * The maximum number of custom data sources to include in this response. - */ - 'max-results'?: number; - /** - * A 1-based index of the first custom data source to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. - */ - 'start-index'?: number; - /** - * Web property Id for the custom data sources to retrieve. - */ - webPropertyId?: string; - } - - export class Resource$Management$Customdimensions { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Get a custom dimension to which the user has access. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/analytics.edit', - * 'https://www.googleapis.com/auth/analytics.readonly', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.customDimensions.get({ - * // Account ID for the custom dimension to retrieve. - * accountId: 'placeholder-value', - * // The ID of the custom dimension to retrieve. - * customDimensionId: 'placeholder-value', - * // Web property ID for the custom dimension to retrieve. - * webPropertyId: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "accountId": "my_accountId", - * // "active": false, - * // "created": "my_created", - * // "id": "my_id", - * // "index": 0, - * // "kind": "my_kind", - * // "name": "my_name", - * // "parentLink": {}, - * // "scope": "my_scope", - * // "selfLink": "my_selfLink", - * // "updated": "my_updated", - * // "webPropertyId": "my_webPropertyId" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - get( - params: Params$Resource$Management$Customdimensions$Get, - options: StreamMethodOptions - ): Promise>; - get( - params?: Params$Resource$Management$Customdimensions$Get, - options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Management$Customdimensions$Get, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Management$Customdimensions$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Management$Customdimensions$Get, - callback: BodyResponseCallback - ): void; - get(callback: BodyResponseCallback): void; - get( - paramsOrCallback?: - | Params$Resource$Management$Customdimensions$Get - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Customdimensions$Get; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Customdimensions$Get; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/customDimensions/{customDimensionId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId', 'webPropertyId', 'customDimensionId'], - pathParams: ['accountId', 'customDimensionId', 'webPropertyId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Create a new custom dimension. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/analytics.edit'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.customDimensions.insert({ - * // Account ID for the custom dimension to create. - * accountId: 'placeholder-value', - * // Web property ID for the custom dimension to create. - * webPropertyId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "accountId": "my_accountId", - * // "active": false, - * // "created": "my_created", - * // "id": "my_id", - * // "index": 0, - * // "kind": "my_kind", - * // "name": "my_name", - * // "parentLink": {}, - * // "scope": "my_scope", - * // "selfLink": "my_selfLink", - * // "updated": "my_updated", - * // "webPropertyId": "my_webPropertyId" - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "accountId": "my_accountId", - * // "active": false, - * // "created": "my_created", - * // "id": "my_id", - * // "index": 0, - * // "kind": "my_kind", - * // "name": "my_name", - * // "parentLink": {}, - * // "scope": "my_scope", - * // "selfLink": "my_selfLink", - * // "updated": "my_updated", - * // "webPropertyId": "my_webPropertyId" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - insert( - params: Params$Resource$Management$Customdimensions$Insert, - options: StreamMethodOptions - ): Promise>; - insert( - params?: Params$Resource$Management$Customdimensions$Insert, - options?: MethodOptions - ): Promise>; - insert( - params: Params$Resource$Management$Customdimensions$Insert, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - insert( - params: Params$Resource$Management$Customdimensions$Insert, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - insert( - params: Params$Resource$Management$Customdimensions$Insert, - callback: BodyResponseCallback - ): void; - insert(callback: BodyResponseCallback): void; - insert( - paramsOrCallback?: - | Params$Resource$Management$Customdimensions$Insert - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Customdimensions$Insert; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Customdimensions$Insert; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/customDimensions' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId', 'webPropertyId'], - pathParams: ['accountId', 'webPropertyId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Lists custom dimensions to which the user has access. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/analytics', - * 'https://www.googleapis.com/auth/analytics.readonly', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.customDimensions.list({ - * // Account ID for the custom dimensions to retrieve. - * accountId: 'placeholder-value', - * // The maximum number of custom dimensions to include in this response. - * 'max-results': 'placeholder-value', - * // An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. - * 'start-index': 'placeholder-value', - * // Web property ID for the custom dimensions to retrieve. - * webPropertyId: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "items": [], - * // "itemsPerPage": 0, - * // "kind": "my_kind", - * // "nextLink": "my_nextLink", - * // "previousLink": "my_previousLink", - * // "startIndex": 0, - * // "totalResults": 0, - * // "username": "my_username" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - list( - params: Params$Resource$Management$Customdimensions$List, - options: StreamMethodOptions - ): Promise>; - list( - params?: Params$Resource$Management$Customdimensions$List, - options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Management$Customdimensions$List, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Management$Customdimensions$List, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Management$Customdimensions$List, - callback: BodyResponseCallback - ): void; - list(callback: BodyResponseCallback): void; - list( - paramsOrCallback?: - | Params$Resource$Management$Customdimensions$List - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Customdimensions$List; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Customdimensions$List; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/customDimensions' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId', 'webPropertyId'], - pathParams: ['accountId', 'webPropertyId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Updates an existing custom dimension. This method supports patch semantics. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/analytics.edit'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.customDimensions.patch({ - * // Account ID for the custom dimension to update. - * accountId: 'placeholder-value', - * // Custom dimension ID for the custom dimension to update. - * customDimensionId: 'placeholder-value', - * // Force the update and ignore any warnings related to the custom dimension being linked to a custom data source / data set. - * ignoreCustomDataSourceLinks: 'placeholder-value', - * // Web property ID for the custom dimension to update. - * webPropertyId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "accountId": "my_accountId", - * // "active": false, - * // "created": "my_created", - * // "id": "my_id", - * // "index": 0, - * // "kind": "my_kind", - * // "name": "my_name", - * // "parentLink": {}, - * // "scope": "my_scope", - * // "selfLink": "my_selfLink", - * // "updated": "my_updated", - * // "webPropertyId": "my_webPropertyId" - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "accountId": "my_accountId", - * // "active": false, - * // "created": "my_created", - * // "id": "my_id", - * // "index": 0, - * // "kind": "my_kind", - * // "name": "my_name", - * // "parentLink": {}, - * // "scope": "my_scope", - * // "selfLink": "my_selfLink", - * // "updated": "my_updated", - * // "webPropertyId": "my_webPropertyId" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - patch( - params: Params$Resource$Management$Customdimensions$Patch, - options: StreamMethodOptions - ): Promise>; - patch( - params?: Params$Resource$Management$Customdimensions$Patch, - options?: MethodOptions - ): Promise>; - patch( - params: Params$Resource$Management$Customdimensions$Patch, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - patch( - params: Params$Resource$Management$Customdimensions$Patch, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - patch( - params: Params$Resource$Management$Customdimensions$Patch, - callback: BodyResponseCallback - ): void; - patch(callback: BodyResponseCallback): void; - patch( - paramsOrCallback?: - | Params$Resource$Management$Customdimensions$Patch - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Customdimensions$Patch; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Customdimensions$Patch; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/customDimensions/{customDimensionId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId', 'webPropertyId', 'customDimensionId'], - pathParams: ['accountId', 'customDimensionId', 'webPropertyId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Updates an existing custom dimension. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/analytics.edit'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.customDimensions.update({ - * // Account ID for the custom dimension to update. - * accountId: 'placeholder-value', - * // Custom dimension ID for the custom dimension to update. - * customDimensionId: 'placeholder-value', - * // Force the update and ignore any warnings related to the custom dimension being linked to a custom data source / data set. - * ignoreCustomDataSourceLinks: 'placeholder-value', - * // Web property ID for the custom dimension to update. - * webPropertyId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "accountId": "my_accountId", - * // "active": false, - * // "created": "my_created", - * // "id": "my_id", - * // "index": 0, - * // "kind": "my_kind", - * // "name": "my_name", - * // "parentLink": {}, - * // "scope": "my_scope", - * // "selfLink": "my_selfLink", - * // "updated": "my_updated", - * // "webPropertyId": "my_webPropertyId" - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "accountId": "my_accountId", - * // "active": false, - * // "created": "my_created", - * // "id": "my_id", - * // "index": 0, - * // "kind": "my_kind", - * // "name": "my_name", - * // "parentLink": {}, - * // "scope": "my_scope", - * // "selfLink": "my_selfLink", - * // "updated": "my_updated", - * // "webPropertyId": "my_webPropertyId" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - update( - params: Params$Resource$Management$Customdimensions$Update, - options: StreamMethodOptions - ): Promise>; - update( - params?: Params$Resource$Management$Customdimensions$Update, - options?: MethodOptions - ): Promise>; - update( - params: Params$Resource$Management$Customdimensions$Update, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - update( - params: Params$Resource$Management$Customdimensions$Update, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - update( - params: Params$Resource$Management$Customdimensions$Update, - callback: BodyResponseCallback - ): void; - update(callback: BodyResponseCallback): void; - update( - paramsOrCallback?: - | Params$Resource$Management$Customdimensions$Update - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Customdimensions$Update; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Customdimensions$Update; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/customDimensions/{customDimensionId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PUT', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId', 'webPropertyId', 'customDimensionId'], - pathParams: ['accountId', 'customDimensionId', 'webPropertyId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Management$Customdimensions$Get extends StandardParameters { - /** - * Account ID for the custom dimension to retrieve. - */ - accountId?: string; - /** - * The ID of the custom dimension to retrieve. - */ - customDimensionId?: string; - /** - * Web property ID for the custom dimension to retrieve. - */ - webPropertyId?: string; - } - export interface Params$Resource$Management$Customdimensions$Insert extends StandardParameters { - /** - * Account ID for the custom dimension to create. - */ - accountId?: string; - /** - * Web property ID for the custom dimension to create. - */ - webPropertyId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$CustomDimension; - } - export interface Params$Resource$Management$Customdimensions$List extends StandardParameters { - /** - * Account ID for the custom dimensions to retrieve. - */ - accountId?: string; - /** - * The maximum number of custom dimensions to include in this response. - */ - 'max-results'?: number; - /** - * An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. - */ - 'start-index'?: number; - /** - * Web property ID for the custom dimensions to retrieve. - */ - webPropertyId?: string; - } - export interface Params$Resource$Management$Customdimensions$Patch extends StandardParameters { - /** - * Account ID for the custom dimension to update. - */ - accountId?: string; - /** - * Custom dimension ID for the custom dimension to update. - */ - customDimensionId?: string; - /** - * Force the update and ignore any warnings related to the custom dimension being linked to a custom data source / data set. - */ - ignoreCustomDataSourceLinks?: boolean; - /** - * Web property ID for the custom dimension to update. - */ - webPropertyId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$CustomDimension; - } - export interface Params$Resource$Management$Customdimensions$Update extends StandardParameters { - /** - * Account ID for the custom dimension to update. - */ - accountId?: string; - /** - * Custom dimension ID for the custom dimension to update. - */ - customDimensionId?: string; - /** - * Force the update and ignore any warnings related to the custom dimension being linked to a custom data source / data set. - */ - ignoreCustomDataSourceLinks?: boolean; - /** - * Web property ID for the custom dimension to update. - */ - webPropertyId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$CustomDimension; - } - - export class Resource$Management$Custommetrics { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Get a custom metric to which the user has access. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/analytics.edit', - * 'https://www.googleapis.com/auth/analytics.readonly', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.customMetrics.get({ - * // Account ID for the custom metric to retrieve. - * accountId: 'placeholder-value', - * // The ID of the custom metric to retrieve. - * customMetricId: 'placeholder-value', - * // Web property ID for the custom metric to retrieve. - * webPropertyId: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "accountId": "my_accountId", - * // "active": false, - * // "created": "my_created", - * // "id": "my_id", - * // "index": 0, - * // "kind": "my_kind", - * // "max_value": "my_max_value", - * // "min_value": "my_min_value", - * // "name": "my_name", - * // "parentLink": {}, - * // "scope": "my_scope", - * // "selfLink": "my_selfLink", - * // "type": "my_type", - * // "updated": "my_updated", - * // "webPropertyId": "my_webPropertyId" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - get( - params: Params$Resource$Management$Custommetrics$Get, - options: StreamMethodOptions - ): Promise>; - get( - params?: Params$Resource$Management$Custommetrics$Get, - options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Management$Custommetrics$Get, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Management$Custommetrics$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Management$Custommetrics$Get, - callback: BodyResponseCallback - ): void; - get(callback: BodyResponseCallback): void; - get( - paramsOrCallback?: - | Params$Resource$Management$Custommetrics$Get - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Custommetrics$Get; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Custommetrics$Get; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/customMetrics/{customMetricId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId', 'webPropertyId', 'customMetricId'], - pathParams: ['accountId', 'customMetricId', 'webPropertyId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Create a new custom metric. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/analytics.edit'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.customMetrics.insert({ - * // Account ID for the custom metric to create. - * accountId: 'placeholder-value', - * // Web property ID for the custom dimension to create. - * webPropertyId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "accountId": "my_accountId", - * // "active": false, - * // "created": "my_created", - * // "id": "my_id", - * // "index": 0, - * // "kind": "my_kind", - * // "max_value": "my_max_value", - * // "min_value": "my_min_value", - * // "name": "my_name", - * // "parentLink": {}, - * // "scope": "my_scope", - * // "selfLink": "my_selfLink", - * // "type": "my_type", - * // "updated": "my_updated", - * // "webPropertyId": "my_webPropertyId" - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "accountId": "my_accountId", - * // "active": false, - * // "created": "my_created", - * // "id": "my_id", - * // "index": 0, - * // "kind": "my_kind", - * // "max_value": "my_max_value", - * // "min_value": "my_min_value", - * // "name": "my_name", - * // "parentLink": {}, - * // "scope": "my_scope", - * // "selfLink": "my_selfLink", - * // "type": "my_type", - * // "updated": "my_updated", - * // "webPropertyId": "my_webPropertyId" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - insert( - params: Params$Resource$Management$Custommetrics$Insert, - options: StreamMethodOptions - ): Promise>; - insert( - params?: Params$Resource$Management$Custommetrics$Insert, - options?: MethodOptions - ): Promise>; - insert( - params: Params$Resource$Management$Custommetrics$Insert, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - insert( - params: Params$Resource$Management$Custommetrics$Insert, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - insert( - params: Params$Resource$Management$Custommetrics$Insert, - callback: BodyResponseCallback - ): void; - insert(callback: BodyResponseCallback): void; - insert( - paramsOrCallback?: - | Params$Resource$Management$Custommetrics$Insert - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Custommetrics$Insert; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Custommetrics$Insert; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/customMetrics' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId', 'webPropertyId'], - pathParams: ['accountId', 'webPropertyId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Lists custom metrics to which the user has access. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/analytics', - * 'https://www.googleapis.com/auth/analytics.readonly', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.customMetrics.list({ - * // Account ID for the custom metrics to retrieve. - * accountId: 'placeholder-value', - * // The maximum number of custom metrics to include in this response. - * 'max-results': 'placeholder-value', - * // An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. - * 'start-index': 'placeholder-value', - * // Web property ID for the custom metrics to retrieve. - * webPropertyId: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "items": [], - * // "itemsPerPage": 0, - * // "kind": "my_kind", - * // "nextLink": "my_nextLink", - * // "previousLink": "my_previousLink", - * // "startIndex": 0, - * // "totalResults": 0, - * // "username": "my_username" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - list( - params: Params$Resource$Management$Custommetrics$List, - options: StreamMethodOptions - ): Promise>; - list( - params?: Params$Resource$Management$Custommetrics$List, - options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Management$Custommetrics$List, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Management$Custommetrics$List, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Management$Custommetrics$List, - callback: BodyResponseCallback - ): void; - list(callback: BodyResponseCallback): void; - list( - paramsOrCallback?: - | Params$Resource$Management$Custommetrics$List - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Custommetrics$List; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Custommetrics$List; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/customMetrics' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId', 'webPropertyId'], - pathParams: ['accountId', 'webPropertyId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Updates an existing custom metric. This method supports patch semantics. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/analytics.edit'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.customMetrics.patch({ - * // Account ID for the custom metric to update. - * accountId: 'placeholder-value', - * // Custom metric ID for the custom metric to update. - * customMetricId: 'placeholder-value', - * // Force the update and ignore any warnings related to the custom metric being linked to a custom data source / data set. - * ignoreCustomDataSourceLinks: 'placeholder-value', - * // Web property ID for the custom metric to update. - * webPropertyId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "accountId": "my_accountId", - * // "active": false, - * // "created": "my_created", - * // "id": "my_id", - * // "index": 0, - * // "kind": "my_kind", - * // "max_value": "my_max_value", - * // "min_value": "my_min_value", - * // "name": "my_name", - * // "parentLink": {}, - * // "scope": "my_scope", - * // "selfLink": "my_selfLink", - * // "type": "my_type", - * // "updated": "my_updated", - * // "webPropertyId": "my_webPropertyId" - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "accountId": "my_accountId", - * // "active": false, - * // "created": "my_created", - * // "id": "my_id", - * // "index": 0, - * // "kind": "my_kind", - * // "max_value": "my_max_value", - * // "min_value": "my_min_value", - * // "name": "my_name", - * // "parentLink": {}, - * // "scope": "my_scope", - * // "selfLink": "my_selfLink", - * // "type": "my_type", - * // "updated": "my_updated", - * // "webPropertyId": "my_webPropertyId" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - patch( - params: Params$Resource$Management$Custommetrics$Patch, - options: StreamMethodOptions - ): Promise>; - patch( - params?: Params$Resource$Management$Custommetrics$Patch, - options?: MethodOptions - ): Promise>; - patch( - params: Params$Resource$Management$Custommetrics$Patch, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - patch( - params: Params$Resource$Management$Custommetrics$Patch, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - patch( - params: Params$Resource$Management$Custommetrics$Patch, - callback: BodyResponseCallback - ): void; - patch(callback: BodyResponseCallback): void; - patch( - paramsOrCallback?: - | Params$Resource$Management$Custommetrics$Patch - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Custommetrics$Patch; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Custommetrics$Patch; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/customMetrics/{customMetricId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId', 'webPropertyId', 'customMetricId'], - pathParams: ['accountId', 'customMetricId', 'webPropertyId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Updates an existing custom metric. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/analytics.edit'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.customMetrics.update({ - * // Account ID for the custom metric to update. - * accountId: 'placeholder-value', - * // Custom metric ID for the custom metric to update. - * customMetricId: 'placeholder-value', - * // Force the update and ignore any warnings related to the custom metric being linked to a custom data source / data set. - * ignoreCustomDataSourceLinks: 'placeholder-value', - * // Web property ID for the custom metric to update. - * webPropertyId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "accountId": "my_accountId", - * // "active": false, - * // "created": "my_created", - * // "id": "my_id", - * // "index": 0, - * // "kind": "my_kind", - * // "max_value": "my_max_value", - * // "min_value": "my_min_value", - * // "name": "my_name", - * // "parentLink": {}, - * // "scope": "my_scope", - * // "selfLink": "my_selfLink", - * // "type": "my_type", - * // "updated": "my_updated", - * // "webPropertyId": "my_webPropertyId" - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "accountId": "my_accountId", - * // "active": false, - * // "created": "my_created", - * // "id": "my_id", - * // "index": 0, - * // "kind": "my_kind", - * // "max_value": "my_max_value", - * // "min_value": "my_min_value", - * // "name": "my_name", - * // "parentLink": {}, - * // "scope": "my_scope", - * // "selfLink": "my_selfLink", - * // "type": "my_type", - * // "updated": "my_updated", - * // "webPropertyId": "my_webPropertyId" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - update( - params: Params$Resource$Management$Custommetrics$Update, - options: StreamMethodOptions - ): Promise>; - update( - params?: Params$Resource$Management$Custommetrics$Update, - options?: MethodOptions - ): Promise>; - update( - params: Params$Resource$Management$Custommetrics$Update, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - update( - params: Params$Resource$Management$Custommetrics$Update, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - update( - params: Params$Resource$Management$Custommetrics$Update, - callback: BodyResponseCallback - ): void; - update(callback: BodyResponseCallback): void; - update( - paramsOrCallback?: - | Params$Resource$Management$Custommetrics$Update - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Custommetrics$Update; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Custommetrics$Update; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/customMetrics/{customMetricId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PUT', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId', 'webPropertyId', 'customMetricId'], - pathParams: ['accountId', 'customMetricId', 'webPropertyId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Management$Custommetrics$Get extends StandardParameters { - /** - * Account ID for the custom metric to retrieve. - */ - accountId?: string; - /** - * The ID of the custom metric to retrieve. - */ - customMetricId?: string; - /** - * Web property ID for the custom metric to retrieve. - */ - webPropertyId?: string; - } - export interface Params$Resource$Management$Custommetrics$Insert extends StandardParameters { - /** - * Account ID for the custom metric to create. - */ - accountId?: string; - /** - * Web property ID for the custom dimension to create. - */ - webPropertyId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$CustomMetric; - } - export interface Params$Resource$Management$Custommetrics$List extends StandardParameters { - /** - * Account ID for the custom metrics to retrieve. - */ - accountId?: string; - /** - * The maximum number of custom metrics to include in this response. - */ - 'max-results'?: number; - /** - * An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. - */ - 'start-index'?: number; - /** - * Web property ID for the custom metrics to retrieve. - */ - webPropertyId?: string; - } - export interface Params$Resource$Management$Custommetrics$Patch extends StandardParameters { - /** - * Account ID for the custom metric to update. - */ - accountId?: string; - /** - * Custom metric ID for the custom metric to update. - */ - customMetricId?: string; - /** - * Force the update and ignore any warnings related to the custom metric being linked to a custom data source / data set. - */ - ignoreCustomDataSourceLinks?: boolean; - /** - * Web property ID for the custom metric to update. - */ - webPropertyId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$CustomMetric; - } - export interface Params$Resource$Management$Custommetrics$Update extends StandardParameters { - /** - * Account ID for the custom metric to update. - */ - accountId?: string; - /** - * Custom metric ID for the custom metric to update. - */ - customMetricId?: string; - /** - * Force the update and ignore any warnings related to the custom metric being linked to a custom data source / data set. - */ - ignoreCustomDataSourceLinks?: boolean; - /** - * Web property ID for the custom metric to update. - */ - webPropertyId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$CustomMetric; - } - - export class Resource$Management$Experiments { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Delete an experiment. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/analytics', - * 'https://www.googleapis.com/auth/analytics.edit', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.experiments.delete({ - * // Account ID to which the experiment belongs - * accountId: 'placeholder-value', - * // ID of the experiment to delete - * experimentId: 'placeholder-value', - * // View (Profile) ID to which the experiment belongs - * profileId: 'placeholder-value', - * // Web property ID to which the experiment belongs - * webPropertyId: 'placeholder-value', - * }); - * console.log(res.data); - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - delete( - params: Params$Resource$Management$Experiments$Delete, - options: StreamMethodOptions - ): Promise>; - delete( - params?: Params$Resource$Management$Experiments$Delete, - options?: MethodOptions - ): Promise>; - delete( - params: Params$Resource$Management$Experiments$Delete, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - delete( - params: Params$Resource$Management$Experiments$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - delete( - params: Params$Resource$Management$Experiments$Delete, - callback: BodyResponseCallback - ): void; - delete(callback: BodyResponseCallback): void; - delete( - paramsOrCallback?: - | Params$Resource$Management$Experiments$Delete - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: BodyResponseCallback | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Experiments$Delete; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Experiments$Delete; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/experiments/{experimentId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', - apiVersion: '', - }, - options - ), - params, - requiredParams: [ - 'accountId', - 'webPropertyId', - 'profileId', - 'experimentId', - ], - pathParams: ['accountId', 'experimentId', 'profileId', 'webPropertyId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Returns an experiment to which the user has access. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/analytics', - * 'https://www.googleapis.com/auth/analytics.edit', - * 'https://www.googleapis.com/auth/analytics.readonly', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.experiments.get({ - * // Account ID to retrieve the experiment for. - * accountId: 'placeholder-value', - * // Experiment ID to retrieve the experiment for. - * experimentId: 'placeholder-value', - * // View (Profile) ID to retrieve the experiment for. - * profileId: 'placeholder-value', - * // Web property ID to retrieve the experiment for. - * webPropertyId: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "accountId": "my_accountId", - * // "created": "my_created", - * // "description": "my_description", - * // "editableInGaUi": false, - * // "endTime": "my_endTime", - * // "equalWeighting": false, - * // "id": "my_id", - * // "internalWebPropertyId": "my_internalWebPropertyId", - * // "kind": "my_kind", - * // "minimumExperimentLengthInDays": 0, - * // "name": "my_name", - * // "objectiveMetric": "my_objectiveMetric", - * // "optimizationType": "my_optimizationType", - * // "parentLink": {}, - * // "profileId": "my_profileId", - * // "reasonExperimentEnded": "my_reasonExperimentEnded", - * // "rewriteVariationUrlsAsOriginal": false, - * // "selfLink": "my_selfLink", - * // "servingFramework": "my_servingFramework", - * // "snippet": "my_snippet", - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "trafficCoverage": {}, - * // "updated": "my_updated", - * // "variations": [], - * // "webPropertyId": "my_webPropertyId", - * // "winnerConfidenceLevel": {}, - * // "winnerFound": false - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - get( - params: Params$Resource$Management$Experiments$Get, - options: StreamMethodOptions - ): Promise>; - get( - params?: Params$Resource$Management$Experiments$Get, - options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Management$Experiments$Get, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Management$Experiments$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Management$Experiments$Get, - callback: BodyResponseCallback - ): void; - get(callback: BodyResponseCallback): void; - get( - paramsOrCallback?: - | Params$Resource$Management$Experiments$Get - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Experiments$Get; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Experiments$Get; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/experiments/{experimentId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: [ - 'accountId', - 'webPropertyId', - 'profileId', - 'experimentId', - ], - pathParams: ['accountId', 'experimentId', 'profileId', 'webPropertyId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Create a new experiment. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/analytics', - * 'https://www.googleapis.com/auth/analytics.edit', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.experiments.insert({ - * // Account ID to create the experiment for. - * accountId: 'placeholder-value', - * // View (Profile) ID to create the experiment for. - * profileId: 'placeholder-value', - * // Web property ID to create the experiment for. - * webPropertyId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "accountId": "my_accountId", - * // "created": "my_created", - * // "description": "my_description", - * // "editableInGaUi": false, - * // "endTime": "my_endTime", - * // "equalWeighting": false, - * // "id": "my_id", - * // "internalWebPropertyId": "my_internalWebPropertyId", - * // "kind": "my_kind", - * // "minimumExperimentLengthInDays": 0, - * // "name": "my_name", - * // "objectiveMetric": "my_objectiveMetric", - * // "optimizationType": "my_optimizationType", - * // "parentLink": {}, - * // "profileId": "my_profileId", - * // "reasonExperimentEnded": "my_reasonExperimentEnded", - * // "rewriteVariationUrlsAsOriginal": false, - * // "selfLink": "my_selfLink", - * // "servingFramework": "my_servingFramework", - * // "snippet": "my_snippet", - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "trafficCoverage": {}, - * // "updated": "my_updated", - * // "variations": [], - * // "webPropertyId": "my_webPropertyId", - * // "winnerConfidenceLevel": {}, - * // "winnerFound": false - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "accountId": "my_accountId", - * // "created": "my_created", - * // "description": "my_description", - * // "editableInGaUi": false, - * // "endTime": "my_endTime", - * // "equalWeighting": false, - * // "id": "my_id", - * // "internalWebPropertyId": "my_internalWebPropertyId", - * // "kind": "my_kind", - * // "minimumExperimentLengthInDays": 0, - * // "name": "my_name", - * // "objectiveMetric": "my_objectiveMetric", - * // "optimizationType": "my_optimizationType", - * // "parentLink": {}, - * // "profileId": "my_profileId", - * // "reasonExperimentEnded": "my_reasonExperimentEnded", - * // "rewriteVariationUrlsAsOriginal": false, - * // "selfLink": "my_selfLink", - * // "servingFramework": "my_servingFramework", - * // "snippet": "my_snippet", - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "trafficCoverage": {}, - * // "updated": "my_updated", - * // "variations": [], - * // "webPropertyId": "my_webPropertyId", - * // "winnerConfidenceLevel": {}, - * // "winnerFound": false - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - insert( - params: Params$Resource$Management$Experiments$Insert, - options: StreamMethodOptions - ): Promise>; - insert( - params?: Params$Resource$Management$Experiments$Insert, - options?: MethodOptions - ): Promise>; - insert( - params: Params$Resource$Management$Experiments$Insert, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - insert( - params: Params$Resource$Management$Experiments$Insert, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - insert( - params: Params$Resource$Management$Experiments$Insert, - callback: BodyResponseCallback - ): void; - insert(callback: BodyResponseCallback): void; - insert( - paramsOrCallback?: - | Params$Resource$Management$Experiments$Insert - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Experiments$Insert; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Experiments$Insert; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/experiments' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId', 'webPropertyId', 'profileId'], - pathParams: ['accountId', 'profileId', 'webPropertyId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Lists experiments to which the user has access. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/analytics', - * 'https://www.googleapis.com/auth/analytics.edit', - * 'https://www.googleapis.com/auth/analytics.readonly', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.experiments.list({ - * // Account ID to retrieve experiments for. - * accountId: '\d+', - * // The maximum number of experiments to include in this response. - * 'max-results': 'placeholder-value', - * // View (Profile) ID to retrieve experiments for. - * profileId: '\d+', - * // An index of the first experiment to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. - * 'start-index': 'placeholder-value', - * // Web property ID to retrieve experiments for. - * webPropertyId: 'UA-(\d+)-(\d+)', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "items": [], - * // "itemsPerPage": 0, - * // "kind": "my_kind", - * // "nextLink": "my_nextLink", - * // "previousLink": "my_previousLink", - * // "startIndex": 0, - * // "totalResults": 0, - * // "username": "my_username" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - list( - params: Params$Resource$Management$Experiments$List, - options: StreamMethodOptions - ): Promise>; - list( - params?: Params$Resource$Management$Experiments$List, - options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Management$Experiments$List, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Management$Experiments$List, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Management$Experiments$List, - callback: BodyResponseCallback - ): void; - list(callback: BodyResponseCallback): void; - list( - paramsOrCallback?: - | Params$Resource$Management$Experiments$List - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Experiments$List; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Experiments$List; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/experiments' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId', 'webPropertyId', 'profileId'], - pathParams: ['accountId', 'profileId', 'webPropertyId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Update an existing experiment. This method supports patch semantics. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/analytics', - * 'https://www.googleapis.com/auth/analytics.edit', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.experiments.patch({ - * // Account ID of the experiment to update. - * accountId: 'placeholder-value', - * // Experiment ID of the experiment to update. - * experimentId: 'placeholder-value', - * // View (Profile) ID of the experiment to update. - * profileId: 'placeholder-value', - * // Web property ID of the experiment to update. - * webPropertyId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "accountId": "my_accountId", - * // "created": "my_created", - * // "description": "my_description", - * // "editableInGaUi": false, - * // "endTime": "my_endTime", - * // "equalWeighting": false, - * // "id": "my_id", - * // "internalWebPropertyId": "my_internalWebPropertyId", - * // "kind": "my_kind", - * // "minimumExperimentLengthInDays": 0, - * // "name": "my_name", - * // "objectiveMetric": "my_objectiveMetric", - * // "optimizationType": "my_optimizationType", - * // "parentLink": {}, - * // "profileId": "my_profileId", - * // "reasonExperimentEnded": "my_reasonExperimentEnded", - * // "rewriteVariationUrlsAsOriginal": false, - * // "selfLink": "my_selfLink", - * // "servingFramework": "my_servingFramework", - * // "snippet": "my_snippet", - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "trafficCoverage": {}, - * // "updated": "my_updated", - * // "variations": [], - * // "webPropertyId": "my_webPropertyId", - * // "winnerConfidenceLevel": {}, - * // "winnerFound": false - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "accountId": "my_accountId", - * // "created": "my_created", - * // "description": "my_description", - * // "editableInGaUi": false, - * // "endTime": "my_endTime", - * // "equalWeighting": false, - * // "id": "my_id", - * // "internalWebPropertyId": "my_internalWebPropertyId", - * // "kind": "my_kind", - * // "minimumExperimentLengthInDays": 0, - * // "name": "my_name", - * // "objectiveMetric": "my_objectiveMetric", - * // "optimizationType": "my_optimizationType", - * // "parentLink": {}, - * // "profileId": "my_profileId", - * // "reasonExperimentEnded": "my_reasonExperimentEnded", - * // "rewriteVariationUrlsAsOriginal": false, - * // "selfLink": "my_selfLink", - * // "servingFramework": "my_servingFramework", - * // "snippet": "my_snippet", - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "trafficCoverage": {}, - * // "updated": "my_updated", - * // "variations": [], - * // "webPropertyId": "my_webPropertyId", - * // "winnerConfidenceLevel": {}, - * // "winnerFound": false - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - patch( - params: Params$Resource$Management$Experiments$Patch, - options: StreamMethodOptions - ): Promise>; - patch( - params?: Params$Resource$Management$Experiments$Patch, - options?: MethodOptions - ): Promise>; - patch( - params: Params$Resource$Management$Experiments$Patch, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - patch( - params: Params$Resource$Management$Experiments$Patch, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - patch( - params: Params$Resource$Management$Experiments$Patch, - callback: BodyResponseCallback - ): void; - patch(callback: BodyResponseCallback): void; - patch( - paramsOrCallback?: - | Params$Resource$Management$Experiments$Patch - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Experiments$Patch; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Experiments$Patch; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/experiments/{experimentId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', - apiVersion: '', - }, - options - ), - params, - requiredParams: [ - 'accountId', - 'webPropertyId', - 'profileId', - 'experimentId', - ], - pathParams: ['accountId', 'experimentId', 'profileId', 'webPropertyId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Update an existing experiment. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/analytics', - * 'https://www.googleapis.com/auth/analytics.edit', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.experiments.update({ - * // Account ID of the experiment to update. - * accountId: 'placeholder-value', - * // Experiment ID of the experiment to update. - * experimentId: 'placeholder-value', - * // View (Profile) ID of the experiment to update. - * profileId: 'placeholder-value', - * // Web property ID of the experiment to update. - * webPropertyId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "accountId": "my_accountId", - * // "created": "my_created", - * // "description": "my_description", - * // "editableInGaUi": false, - * // "endTime": "my_endTime", - * // "equalWeighting": false, - * // "id": "my_id", - * // "internalWebPropertyId": "my_internalWebPropertyId", - * // "kind": "my_kind", - * // "minimumExperimentLengthInDays": 0, - * // "name": "my_name", - * // "objectiveMetric": "my_objectiveMetric", - * // "optimizationType": "my_optimizationType", - * // "parentLink": {}, - * // "profileId": "my_profileId", - * // "reasonExperimentEnded": "my_reasonExperimentEnded", - * // "rewriteVariationUrlsAsOriginal": false, - * // "selfLink": "my_selfLink", - * // "servingFramework": "my_servingFramework", - * // "snippet": "my_snippet", - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "trafficCoverage": {}, - * // "updated": "my_updated", - * // "variations": [], - * // "webPropertyId": "my_webPropertyId", - * // "winnerConfidenceLevel": {}, - * // "winnerFound": false - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "accountId": "my_accountId", - * // "created": "my_created", - * // "description": "my_description", - * // "editableInGaUi": false, - * // "endTime": "my_endTime", - * // "equalWeighting": false, - * // "id": "my_id", - * // "internalWebPropertyId": "my_internalWebPropertyId", - * // "kind": "my_kind", - * // "minimumExperimentLengthInDays": 0, - * // "name": "my_name", - * // "objectiveMetric": "my_objectiveMetric", - * // "optimizationType": "my_optimizationType", - * // "parentLink": {}, - * // "profileId": "my_profileId", - * // "reasonExperimentEnded": "my_reasonExperimentEnded", - * // "rewriteVariationUrlsAsOriginal": false, - * // "selfLink": "my_selfLink", - * // "servingFramework": "my_servingFramework", - * // "snippet": "my_snippet", - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "trafficCoverage": {}, - * // "updated": "my_updated", - * // "variations": [], - * // "webPropertyId": "my_webPropertyId", - * // "winnerConfidenceLevel": {}, - * // "winnerFound": false - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - update( - params: Params$Resource$Management$Experiments$Update, - options: StreamMethodOptions - ): Promise>; - update( - params?: Params$Resource$Management$Experiments$Update, - options?: MethodOptions - ): Promise>; - update( - params: Params$Resource$Management$Experiments$Update, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - update( - params: Params$Resource$Management$Experiments$Update, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - update( - params: Params$Resource$Management$Experiments$Update, - callback: BodyResponseCallback - ): void; - update(callback: BodyResponseCallback): void; - update( - paramsOrCallback?: - | Params$Resource$Management$Experiments$Update - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Experiments$Update; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Experiments$Update; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/experiments/{experimentId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PUT', - apiVersion: '', - }, - options - ), - params, - requiredParams: [ - 'accountId', - 'webPropertyId', - 'profileId', - 'experimentId', - ], - pathParams: ['accountId', 'experimentId', 'profileId', 'webPropertyId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Management$Experiments$Delete extends StandardParameters { - /** - * Account ID to which the experiment belongs - */ - accountId?: string; - /** - * ID of the experiment to delete - */ - experimentId?: string; - /** - * View (Profile) ID to which the experiment belongs - */ - profileId?: string; - /** - * Web property ID to which the experiment belongs - */ - webPropertyId?: string; - } - export interface Params$Resource$Management$Experiments$Get extends StandardParameters { - /** - * Account ID to retrieve the experiment for. - */ - accountId?: string; - /** - * Experiment ID to retrieve the experiment for. - */ - experimentId?: string; - /** - * View (Profile) ID to retrieve the experiment for. - */ - profileId?: string; - /** - * Web property ID to retrieve the experiment for. - */ - webPropertyId?: string; - } - export interface Params$Resource$Management$Experiments$Insert extends StandardParameters { - /** - * Account ID to create the experiment for. - */ - accountId?: string; - /** - * View (Profile) ID to create the experiment for. - */ - profileId?: string; - /** - * Web property ID to create the experiment for. - */ - webPropertyId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$Experiment; - } - export interface Params$Resource$Management$Experiments$List extends StandardParameters { - /** - * Account ID to retrieve experiments for. - */ - accountId?: string; - /** - * The maximum number of experiments to include in this response. - */ - 'max-results'?: number; - /** - * View (Profile) ID to retrieve experiments for. - */ - profileId?: string; - /** - * An index of the first experiment to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. - */ - 'start-index'?: number; - /** - * Web property ID to retrieve experiments for. - */ - webPropertyId?: string; - } - export interface Params$Resource$Management$Experiments$Patch extends StandardParameters { - /** - * Account ID of the experiment to update. - */ - accountId?: string; - /** - * Experiment ID of the experiment to update. - */ - experimentId?: string; - /** - * View (Profile) ID of the experiment to update. - */ - profileId?: string; - /** - * Web property ID of the experiment to update. - */ - webPropertyId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$Experiment; - } - export interface Params$Resource$Management$Experiments$Update extends StandardParameters { - /** - * Account ID of the experiment to update. - */ - accountId?: string; - /** - * Experiment ID of the experiment to update. - */ - experimentId?: string; - /** - * View (Profile) ID of the experiment to update. - */ - profileId?: string; - /** - * Web property ID of the experiment to update. - */ - webPropertyId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$Experiment; - } - - export class Resource$Management$Filters { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Delete a filter. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/analytics.edit'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.filters.delete({ - * // Account ID to delete the filter for. - * accountId: 'placeholder-value', - * // ID of the filter to be deleted. - * filterId: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "accountId": "my_accountId", - * // "advancedDetails": {}, - * // "created": "my_created", - * // "excludeDetails": {}, - * // "id": "my_id", - * // "includeDetails": {}, - * // "kind": "my_kind", - * // "lowercaseDetails": {}, - * // "name": "my_name", - * // "parentLink": {}, - * // "searchAndReplaceDetails": {}, - * // "selfLink": "my_selfLink", - * // "type": "my_type", - * // "updated": "my_updated", - * // "uppercaseDetails": {} - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - delete( - params: Params$Resource$Management$Filters$Delete, - options: StreamMethodOptions - ): Promise>; - delete( - params?: Params$Resource$Management$Filters$Delete, - options?: MethodOptions - ): Promise>; - delete( - params: Params$Resource$Management$Filters$Delete, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - delete( - params: Params$Resource$Management$Filters$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - delete( - params: Params$Resource$Management$Filters$Delete, - callback: BodyResponseCallback - ): void; - delete(callback: BodyResponseCallback): void; - delete( - paramsOrCallback?: - | Params$Resource$Management$Filters$Delete - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Filters$Delete; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Filters$Delete; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/filters/{filterId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId', 'filterId'], - pathParams: ['accountId', 'filterId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Returns filters to which the user has access. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/analytics.edit', - * 'https://www.googleapis.com/auth/analytics.readonly', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.filters.get({ - * // Account ID to retrieve filters for. - * accountId: 'placeholder-value', - * // Filter ID to retrieve filters for. - * filterId: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "accountId": "my_accountId", - * // "advancedDetails": {}, - * // "created": "my_created", - * // "excludeDetails": {}, - * // "id": "my_id", - * // "includeDetails": {}, - * // "kind": "my_kind", - * // "lowercaseDetails": {}, - * // "name": "my_name", - * // "parentLink": {}, - * // "searchAndReplaceDetails": {}, - * // "selfLink": "my_selfLink", - * // "type": "my_type", - * // "updated": "my_updated", - * // "uppercaseDetails": {} - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - get( - params: Params$Resource$Management$Filters$Get, - options: StreamMethodOptions - ): Promise>; - get( - params?: Params$Resource$Management$Filters$Get, - options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Management$Filters$Get, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Management$Filters$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Management$Filters$Get, - callback: BodyResponseCallback - ): void; - get(callback: BodyResponseCallback): void; - get( - paramsOrCallback?: - | Params$Resource$Management$Filters$Get - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Filters$Get; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Filters$Get; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/filters/{filterId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId', 'filterId'], - pathParams: ['accountId', 'filterId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Create a new filter. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/analytics.edit'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.filters.insert({ - * // Account ID to create filter for. - * accountId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "accountId": "my_accountId", - * // "advancedDetails": {}, - * // "created": "my_created", - * // "excludeDetails": {}, - * // "id": "my_id", - * // "includeDetails": {}, - * // "kind": "my_kind", - * // "lowercaseDetails": {}, - * // "name": "my_name", - * // "parentLink": {}, - * // "searchAndReplaceDetails": {}, - * // "selfLink": "my_selfLink", - * // "type": "my_type", - * // "updated": "my_updated", - * // "uppercaseDetails": {} - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "accountId": "my_accountId", - * // "advancedDetails": {}, - * // "created": "my_created", - * // "excludeDetails": {}, - * // "id": "my_id", - * // "includeDetails": {}, - * // "kind": "my_kind", - * // "lowercaseDetails": {}, - * // "name": "my_name", - * // "parentLink": {}, - * // "searchAndReplaceDetails": {}, - * // "selfLink": "my_selfLink", - * // "type": "my_type", - * // "updated": "my_updated", - * // "uppercaseDetails": {} - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - insert( - params: Params$Resource$Management$Filters$Insert, - options: StreamMethodOptions - ): Promise>; - insert( - params?: Params$Resource$Management$Filters$Insert, - options?: MethodOptions - ): Promise>; - insert( - params: Params$Resource$Management$Filters$Insert, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - insert( - params: Params$Resource$Management$Filters$Insert, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - insert( - params: Params$Resource$Management$Filters$Insert, - callback: BodyResponseCallback - ): void; - insert(callback: BodyResponseCallback): void; - insert( - paramsOrCallback?: - | Params$Resource$Management$Filters$Insert - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Filters$Insert; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Filters$Insert; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/analytics/v3/management/accounts/{accountId}/filters' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId'], - pathParams: ['accountId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Lists all filters for an account - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/analytics.edit', - * 'https://www.googleapis.com/auth/analytics.readonly', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.filters.list({ - * // Account ID to retrieve filters for. - * accountId: '\d+', - * // The maximum number of filters to include in this response. - * 'max-results': 'placeholder-value', - * // An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. - * 'start-index': 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "items": [], - * // "itemsPerPage": 0, - * // "kind": "my_kind", - * // "nextLink": "my_nextLink", - * // "previousLink": "my_previousLink", - * // "startIndex": 0, - * // "totalResults": 0, - * // "username": "my_username" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - list( - params: Params$Resource$Management$Filters$List, - options: StreamMethodOptions - ): Promise>; - list( - params?: Params$Resource$Management$Filters$List, - options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Management$Filters$List, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Management$Filters$List, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Management$Filters$List, - callback: BodyResponseCallback - ): void; - list(callback: BodyResponseCallback): void; - list( - paramsOrCallback?: - | Params$Resource$Management$Filters$List - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Filters$List; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Filters$List; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/analytics/v3/management/accounts/{accountId}/filters' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId'], - pathParams: ['accountId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Updates an existing filter. This method supports patch semantics. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/analytics.edit'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.filters.patch({ - * // Account ID to which the filter belongs. - * accountId: 'placeholder-value', - * // ID of the filter to be updated. - * filterId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "accountId": "my_accountId", - * // "advancedDetails": {}, - * // "created": "my_created", - * // "excludeDetails": {}, - * // "id": "my_id", - * // "includeDetails": {}, - * // "kind": "my_kind", - * // "lowercaseDetails": {}, - * // "name": "my_name", - * // "parentLink": {}, - * // "searchAndReplaceDetails": {}, - * // "selfLink": "my_selfLink", - * // "type": "my_type", - * // "updated": "my_updated", - * // "uppercaseDetails": {} - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "accountId": "my_accountId", - * // "advancedDetails": {}, - * // "created": "my_created", - * // "excludeDetails": {}, - * // "id": "my_id", - * // "includeDetails": {}, - * // "kind": "my_kind", - * // "lowercaseDetails": {}, - * // "name": "my_name", - * // "parentLink": {}, - * // "searchAndReplaceDetails": {}, - * // "selfLink": "my_selfLink", - * // "type": "my_type", - * // "updated": "my_updated", - * // "uppercaseDetails": {} - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - patch( - params: Params$Resource$Management$Filters$Patch, - options: StreamMethodOptions - ): Promise>; - patch( - params?: Params$Resource$Management$Filters$Patch, - options?: MethodOptions - ): Promise>; - patch( - params: Params$Resource$Management$Filters$Patch, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - patch( - params: Params$Resource$Management$Filters$Patch, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - patch( - params: Params$Resource$Management$Filters$Patch, - callback: BodyResponseCallback - ): void; - patch(callback: BodyResponseCallback): void; - patch( - paramsOrCallback?: - | Params$Resource$Management$Filters$Patch - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Filters$Patch; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Filters$Patch; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/filters/{filterId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId', 'filterId'], - pathParams: ['accountId', 'filterId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Updates an existing filter. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/analytics.edit'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.filters.update({ - * // Account ID to which the filter belongs. - * accountId: 'placeholder-value', - * // ID of the filter to be updated. - * filterId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "accountId": "my_accountId", - * // "advancedDetails": {}, - * // "created": "my_created", - * // "excludeDetails": {}, - * // "id": "my_id", - * // "includeDetails": {}, - * // "kind": "my_kind", - * // "lowercaseDetails": {}, - * // "name": "my_name", - * // "parentLink": {}, - * // "searchAndReplaceDetails": {}, - * // "selfLink": "my_selfLink", - * // "type": "my_type", - * // "updated": "my_updated", - * // "uppercaseDetails": {} - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "accountId": "my_accountId", - * // "advancedDetails": {}, - * // "created": "my_created", - * // "excludeDetails": {}, - * // "id": "my_id", - * // "includeDetails": {}, - * // "kind": "my_kind", - * // "lowercaseDetails": {}, - * // "name": "my_name", - * // "parentLink": {}, - * // "searchAndReplaceDetails": {}, - * // "selfLink": "my_selfLink", - * // "type": "my_type", - * // "updated": "my_updated", - * // "uppercaseDetails": {} - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - update( - params: Params$Resource$Management$Filters$Update, - options: StreamMethodOptions - ): Promise>; - update( - params?: Params$Resource$Management$Filters$Update, - options?: MethodOptions - ): Promise>; - update( - params: Params$Resource$Management$Filters$Update, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - update( - params: Params$Resource$Management$Filters$Update, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - update( - params: Params$Resource$Management$Filters$Update, - callback: BodyResponseCallback - ): void; - update(callback: BodyResponseCallback): void; - update( - paramsOrCallback?: - | Params$Resource$Management$Filters$Update - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Filters$Update; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Filters$Update; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/filters/{filterId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PUT', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId', 'filterId'], - pathParams: ['accountId', 'filterId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Management$Filters$Delete extends StandardParameters { - /** - * Account ID to delete the filter for. - */ - accountId?: string; - /** - * ID of the filter to be deleted. - */ - filterId?: string; - } - export interface Params$Resource$Management$Filters$Get extends StandardParameters { - /** - * Account ID to retrieve filters for. - */ - accountId?: string; - /** - * Filter ID to retrieve filters for. - */ - filterId?: string; - } - export interface Params$Resource$Management$Filters$Insert extends StandardParameters { - /** - * Account ID to create filter for. - */ - accountId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$Filter; - } - export interface Params$Resource$Management$Filters$List extends StandardParameters { - /** - * Account ID to retrieve filters for. - */ - accountId?: string; - /** - * The maximum number of filters to include in this response. - */ - 'max-results'?: number; - /** - * An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. - */ - 'start-index'?: number; - } - export interface Params$Resource$Management$Filters$Patch extends StandardParameters { - /** - * Account ID to which the filter belongs. - */ - accountId?: string; - /** - * ID of the filter to be updated. - */ - filterId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$Filter; - } - export interface Params$Resource$Management$Filters$Update extends StandardParameters { - /** - * Account ID to which the filter belongs. - */ - accountId?: string; - /** - * ID of the filter to be updated. - */ - filterId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$Filter; - } - - export class Resource$Management$Goals { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Gets a goal to which the user has access. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/analytics.edit', - * 'https://www.googleapis.com/auth/analytics.readonly', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.goals.get({ - * // Account ID to retrieve the goal for. - * accountId: 'placeholder-value', - * // Goal ID to retrieve the goal for. - * goalId: 'placeholder-value', - * // View (Profile) ID to retrieve the goal for. - * profileId: 'placeholder-value', - * // Web property ID to retrieve the goal for. - * webPropertyId: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "accountId": "my_accountId", - * // "active": false, - * // "created": "my_created", - * // "eventDetails": {}, - * // "id": "my_id", - * // "internalWebPropertyId": "my_internalWebPropertyId", - * // "kind": "my_kind", - * // "name": "my_name", - * // "parentLink": {}, - * // "profileId": "my_profileId", - * // "selfLink": "my_selfLink", - * // "type": "my_type", - * // "updated": "my_updated", - * // "urlDestinationDetails": {}, - * // "value": {}, - * // "visitNumPagesDetails": {}, - * // "visitTimeOnSiteDetails": {}, - * // "webPropertyId": "my_webPropertyId" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - get( - params: Params$Resource$Management$Goals$Get, - options: StreamMethodOptions - ): Promise>; - get( - params?: Params$Resource$Management$Goals$Get, - options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Management$Goals$Get, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Management$Goals$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Management$Goals$Get, - callback: BodyResponseCallback - ): void; - get(callback: BodyResponseCallback): void; - get( - paramsOrCallback?: - | Params$Resource$Management$Goals$Get - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Goals$Get; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Goals$Get; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/goals/{goalId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId', 'webPropertyId', 'profileId', 'goalId'], - pathParams: ['accountId', 'goalId', 'profileId', 'webPropertyId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Create a new goal. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/analytics.edit'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.goals.insert({ - * // Account ID to create the goal for. - * accountId: 'placeholder-value', - * // View (Profile) ID to create the goal for. - * profileId: 'placeholder-value', - * // Web property ID to create the goal for. - * webPropertyId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "accountId": "my_accountId", - * // "active": false, - * // "created": "my_created", - * // "eventDetails": {}, - * // "id": "my_id", - * // "internalWebPropertyId": "my_internalWebPropertyId", - * // "kind": "my_kind", - * // "name": "my_name", - * // "parentLink": {}, - * // "profileId": "my_profileId", - * // "selfLink": "my_selfLink", - * // "type": "my_type", - * // "updated": "my_updated", - * // "urlDestinationDetails": {}, - * // "value": {}, - * // "visitNumPagesDetails": {}, - * // "visitTimeOnSiteDetails": {}, - * // "webPropertyId": "my_webPropertyId" - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "accountId": "my_accountId", - * // "active": false, - * // "created": "my_created", - * // "eventDetails": {}, - * // "id": "my_id", - * // "internalWebPropertyId": "my_internalWebPropertyId", - * // "kind": "my_kind", - * // "name": "my_name", - * // "parentLink": {}, - * // "profileId": "my_profileId", - * // "selfLink": "my_selfLink", - * // "type": "my_type", - * // "updated": "my_updated", - * // "urlDestinationDetails": {}, - * // "value": {}, - * // "visitNumPagesDetails": {}, - * // "visitTimeOnSiteDetails": {}, - * // "webPropertyId": "my_webPropertyId" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - insert( - params: Params$Resource$Management$Goals$Insert, - options: StreamMethodOptions - ): Promise>; - insert( - params?: Params$Resource$Management$Goals$Insert, - options?: MethodOptions - ): Promise>; - insert( - params: Params$Resource$Management$Goals$Insert, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - insert( - params: Params$Resource$Management$Goals$Insert, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - insert( - params: Params$Resource$Management$Goals$Insert, - callback: BodyResponseCallback - ): void; - insert(callback: BodyResponseCallback): void; - insert( - paramsOrCallback?: - | Params$Resource$Management$Goals$Insert - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Goals$Insert; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Goals$Insert; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/goals' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId', 'webPropertyId', 'profileId'], - pathParams: ['accountId', 'profileId', 'webPropertyId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Lists goals to which the user has access. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/analytics', - * 'https://www.googleapis.com/auth/analytics.edit', - * 'https://www.googleapis.com/auth/analytics.readonly', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.goals.list({ - * // Account ID to retrieve goals for. Can either be a specific account ID or '~all', which refers to all the accounts that user has access to. - * accountId: 'placeholder-value', - * // The maximum number of goals to include in this response. - * 'max-results': 'placeholder-value', - * // View (Profile) ID to retrieve goals for. Can either be a specific view (profile) ID or '~all', which refers to all the views (profiles) that user has access to. - * profileId: 'placeholder-value', - * // An index of the first goal to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. - * 'start-index': 'placeholder-value', - * // Web property ID to retrieve goals for. Can either be a specific web property ID or '~all', which refers to all the web properties that user has access to. - * webPropertyId: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "items": [], - * // "itemsPerPage": 0, - * // "kind": "my_kind", - * // "nextLink": "my_nextLink", - * // "previousLink": "my_previousLink", - * // "startIndex": 0, - * // "totalResults": 0, - * // "username": "my_username" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - list( - params: Params$Resource$Management$Goals$List, - options: StreamMethodOptions - ): Promise>; - list( - params?: Params$Resource$Management$Goals$List, - options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Management$Goals$List, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Management$Goals$List, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Management$Goals$List, - callback: BodyResponseCallback - ): void; - list(callback: BodyResponseCallback): void; - list( - paramsOrCallback?: - | Params$Resource$Management$Goals$List - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Goals$List; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Goals$List; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/goals' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId', 'webPropertyId', 'profileId'], - pathParams: ['accountId', 'profileId', 'webPropertyId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Updates an existing goal. This method supports patch semantics. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/analytics.edit'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.goals.patch({ - * // Account ID to update the goal. - * accountId: 'placeholder-value', - * // Index of the goal to be updated. - * goalId: 'placeholder-value', - * // View (Profile) ID to update the goal. - * profileId: 'placeholder-value', - * // Web property ID to update the goal. - * webPropertyId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "accountId": "my_accountId", - * // "active": false, - * // "created": "my_created", - * // "eventDetails": {}, - * // "id": "my_id", - * // "internalWebPropertyId": "my_internalWebPropertyId", - * // "kind": "my_kind", - * // "name": "my_name", - * // "parentLink": {}, - * // "profileId": "my_profileId", - * // "selfLink": "my_selfLink", - * // "type": "my_type", - * // "updated": "my_updated", - * // "urlDestinationDetails": {}, - * // "value": {}, - * // "visitNumPagesDetails": {}, - * // "visitTimeOnSiteDetails": {}, - * // "webPropertyId": "my_webPropertyId" - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "accountId": "my_accountId", - * // "active": false, - * // "created": "my_created", - * // "eventDetails": {}, - * // "id": "my_id", - * // "internalWebPropertyId": "my_internalWebPropertyId", - * // "kind": "my_kind", - * // "name": "my_name", - * // "parentLink": {}, - * // "profileId": "my_profileId", - * // "selfLink": "my_selfLink", - * // "type": "my_type", - * // "updated": "my_updated", - * // "urlDestinationDetails": {}, - * // "value": {}, - * // "visitNumPagesDetails": {}, - * // "visitTimeOnSiteDetails": {}, - * // "webPropertyId": "my_webPropertyId" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - patch( - params: Params$Resource$Management$Goals$Patch, - options: StreamMethodOptions - ): Promise>; - patch( - params?: Params$Resource$Management$Goals$Patch, - options?: MethodOptions - ): Promise>; - patch( - params: Params$Resource$Management$Goals$Patch, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - patch( - params: Params$Resource$Management$Goals$Patch, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - patch( - params: Params$Resource$Management$Goals$Patch, - callback: BodyResponseCallback - ): void; - patch(callback: BodyResponseCallback): void; - patch( - paramsOrCallback?: - | Params$Resource$Management$Goals$Patch - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Goals$Patch; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Goals$Patch; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/goals/{goalId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId', 'webPropertyId', 'profileId', 'goalId'], - pathParams: ['accountId', 'goalId', 'profileId', 'webPropertyId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Updates an existing goal. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/analytics.edit'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.goals.update({ - * // Account ID to update the goal. - * accountId: 'placeholder-value', - * // Index of the goal to be updated. - * goalId: 'placeholder-value', - * // View (Profile) ID to update the goal. - * profileId: 'placeholder-value', - * // Web property ID to update the goal. - * webPropertyId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "accountId": "my_accountId", - * // "active": false, - * // "created": "my_created", - * // "eventDetails": {}, - * // "id": "my_id", - * // "internalWebPropertyId": "my_internalWebPropertyId", - * // "kind": "my_kind", - * // "name": "my_name", - * // "parentLink": {}, - * // "profileId": "my_profileId", - * // "selfLink": "my_selfLink", - * // "type": "my_type", - * // "updated": "my_updated", - * // "urlDestinationDetails": {}, - * // "value": {}, - * // "visitNumPagesDetails": {}, - * // "visitTimeOnSiteDetails": {}, - * // "webPropertyId": "my_webPropertyId" - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "accountId": "my_accountId", - * // "active": false, - * // "created": "my_created", - * // "eventDetails": {}, - * // "id": "my_id", - * // "internalWebPropertyId": "my_internalWebPropertyId", - * // "kind": "my_kind", - * // "name": "my_name", - * // "parentLink": {}, - * // "profileId": "my_profileId", - * // "selfLink": "my_selfLink", - * // "type": "my_type", - * // "updated": "my_updated", - * // "urlDestinationDetails": {}, - * // "value": {}, - * // "visitNumPagesDetails": {}, - * // "visitTimeOnSiteDetails": {}, - * // "webPropertyId": "my_webPropertyId" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - update( - params: Params$Resource$Management$Goals$Update, - options: StreamMethodOptions - ): Promise>; - update( - params?: Params$Resource$Management$Goals$Update, - options?: MethodOptions - ): Promise>; - update( - params: Params$Resource$Management$Goals$Update, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - update( - params: Params$Resource$Management$Goals$Update, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - update( - params: Params$Resource$Management$Goals$Update, - callback: BodyResponseCallback - ): void; - update(callback: BodyResponseCallback): void; - update( - paramsOrCallback?: - | Params$Resource$Management$Goals$Update - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Goals$Update; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Goals$Update; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/goals/{goalId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PUT', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId', 'webPropertyId', 'profileId', 'goalId'], - pathParams: ['accountId', 'goalId', 'profileId', 'webPropertyId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Management$Goals$Get extends StandardParameters { - /** - * Account ID to retrieve the goal for. - */ - accountId?: string; - /** - * Goal ID to retrieve the goal for. - */ - goalId?: string; - /** - * View (Profile) ID to retrieve the goal for. - */ - profileId?: string; - /** - * Web property ID to retrieve the goal for. - */ - webPropertyId?: string; - } - export interface Params$Resource$Management$Goals$Insert extends StandardParameters { - /** - * Account ID to create the goal for. - */ - accountId?: string; - /** - * View (Profile) ID to create the goal for. - */ - profileId?: string; - /** - * Web property ID to create the goal for. - */ - webPropertyId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$Goal; - } - export interface Params$Resource$Management$Goals$List extends StandardParameters { - /** - * Account ID to retrieve goals for. Can either be a specific account ID or '~all', which refers to all the accounts that user has access to. - */ - accountId?: string; - /** - * The maximum number of goals to include in this response. - */ - 'max-results'?: number; - /** - * View (Profile) ID to retrieve goals for. Can either be a specific view (profile) ID or '~all', which refers to all the views (profiles) that user has access to. - */ - profileId?: string; - /** - * An index of the first goal to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. - */ - 'start-index'?: number; - /** - * Web property ID to retrieve goals for. Can either be a specific web property ID or '~all', which refers to all the web properties that user has access to. - */ - webPropertyId?: string; - } - export interface Params$Resource$Management$Goals$Patch extends StandardParameters { - /** - * Account ID to update the goal. - */ - accountId?: string; - /** - * Index of the goal to be updated. - */ - goalId?: string; - /** - * View (Profile) ID to update the goal. - */ - profileId?: string; - /** - * Web property ID to update the goal. - */ - webPropertyId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$Goal; - } - export interface Params$Resource$Management$Goals$Update extends StandardParameters { - /** - * Account ID to update the goal. - */ - accountId?: string; - /** - * Index of the goal to be updated. - */ - goalId?: string; - /** - * View (Profile) ID to update the goal. - */ - profileId?: string; - /** - * Web property ID to update the goal. - */ - webPropertyId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$Goal; - } - - export class Resource$Management$Profilefilterlinks { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Delete a profile filter link. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/analytics.edit'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.profileFilterLinks.delete({ - * // Account ID to which the profile filter link belongs. - * accountId: '\d+', - * // ID of the profile filter link to delete. - * linkId: '\d+:\d+', - * // Profile ID to which the filter link belongs. - * profileId: '\d+', - * // Web property Id to which the profile filter link belongs. - * webPropertyId: 'UA-(\d+)-(\d+)', - * }); - * console.log(res.data); - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - delete( - params: Params$Resource$Management$Profilefilterlinks$Delete, - options: StreamMethodOptions - ): Promise>; - delete( - params?: Params$Resource$Management$Profilefilterlinks$Delete, - options?: MethodOptions - ): Promise>; - delete( - params: Params$Resource$Management$Profilefilterlinks$Delete, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - delete( - params: Params$Resource$Management$Profilefilterlinks$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - delete( - params: Params$Resource$Management$Profilefilterlinks$Delete, - callback: BodyResponseCallback - ): void; - delete(callback: BodyResponseCallback): void; - delete( - paramsOrCallback?: - | Params$Resource$Management$Profilefilterlinks$Delete - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: BodyResponseCallback | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Profilefilterlinks$Delete; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Profilefilterlinks$Delete; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/profileFilterLinks/{linkId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId', 'webPropertyId', 'profileId', 'linkId'], - pathParams: ['accountId', 'linkId', 'profileId', 'webPropertyId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Returns a single profile filter link. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/analytics.edit', - * 'https://www.googleapis.com/auth/analytics.readonly', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.profileFilterLinks.get({ - * // Account ID to retrieve profile filter link for. - * accountId: '\d+', - * // ID of the profile filter link. - * linkId: '\d+:\d+', - * // Profile ID to retrieve filter link for. - * profileId: '\d+', - * // Web property Id to retrieve profile filter link for. - * webPropertyId: 'UA-(\d+)-(\d+)', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "filterRef": {}, - * // "id": "my_id", - * // "kind": "my_kind", - * // "profileRef": {}, - * // "rank": 0, - * // "selfLink": "my_selfLink" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - get( - params: Params$Resource$Management$Profilefilterlinks$Get, - options: StreamMethodOptions - ): Promise>; - get( - params?: Params$Resource$Management$Profilefilterlinks$Get, - options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Management$Profilefilterlinks$Get, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Management$Profilefilterlinks$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Management$Profilefilterlinks$Get, - callback: BodyResponseCallback - ): void; - get(callback: BodyResponseCallback): void; - get( - paramsOrCallback?: - | Params$Resource$Management$Profilefilterlinks$Get - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Profilefilterlinks$Get; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Profilefilterlinks$Get; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/profileFilterLinks/{linkId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId', 'webPropertyId', 'profileId', 'linkId'], - pathParams: ['accountId', 'linkId', 'profileId', 'webPropertyId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Create a new profile filter link. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/analytics.edit'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.profileFilterLinks.insert({ - * // Account ID to create profile filter link for. - * accountId: '\d+', - * // Profile ID to create filter link for. - * profileId: '\d+', - * // Web property Id to create profile filter link for. - * webPropertyId: 'UA-(\d+)-(\d+)', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "filterRef": {}, - * // "id": "my_id", - * // "kind": "my_kind", - * // "profileRef": {}, - * // "rank": 0, - * // "selfLink": "my_selfLink" - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "filterRef": {}, - * // "id": "my_id", - * // "kind": "my_kind", - * // "profileRef": {}, - * // "rank": 0, - * // "selfLink": "my_selfLink" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - insert( - params: Params$Resource$Management$Profilefilterlinks$Insert, - options: StreamMethodOptions - ): Promise>; - insert( - params?: Params$Resource$Management$Profilefilterlinks$Insert, - options?: MethodOptions - ): Promise>; - insert( - params: Params$Resource$Management$Profilefilterlinks$Insert, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - insert( - params: Params$Resource$Management$Profilefilterlinks$Insert, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - insert( - params: Params$Resource$Management$Profilefilterlinks$Insert, - callback: BodyResponseCallback - ): void; - insert(callback: BodyResponseCallback): void; - insert( - paramsOrCallback?: - | Params$Resource$Management$Profilefilterlinks$Insert - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Profilefilterlinks$Insert; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Profilefilterlinks$Insert; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/profileFilterLinks' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId', 'webPropertyId', 'profileId'], - pathParams: ['accountId', 'profileId', 'webPropertyId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Lists all profile filter links for a profile. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/analytics.edit', - * 'https://www.googleapis.com/auth/analytics.readonly', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.profileFilterLinks.list({ - * // Account ID to retrieve profile filter links for. - * accountId: '\d+', - * // The maximum number of profile filter links to include in this response. - * 'max-results': 'placeholder-value', - * // Profile ID to retrieve filter links for. Can either be a specific profile ID or '~all', which refers to all the profiles that user has access to. - * profileId: 'placeholder-value', - * // An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. - * 'start-index': 'placeholder-value', - * // Web property Id for profile filter links for. Can either be a specific web property ID or '~all', which refers to all the web properties that user has access to. - * webPropertyId: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "items": [], - * // "itemsPerPage": 0, - * // "kind": "my_kind", - * // "nextLink": "my_nextLink", - * // "previousLink": "my_previousLink", - * // "startIndex": 0, - * // "totalResults": 0, - * // "username": "my_username" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - list( - params: Params$Resource$Management$Profilefilterlinks$List, - options: StreamMethodOptions - ): Promise>; - list( - params?: Params$Resource$Management$Profilefilterlinks$List, - options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Management$Profilefilterlinks$List, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Management$Profilefilterlinks$List, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Management$Profilefilterlinks$List, - callback: BodyResponseCallback - ): void; - list(callback: BodyResponseCallback): void; - list( - paramsOrCallback?: - | Params$Resource$Management$Profilefilterlinks$List - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Profilefilterlinks$List; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Profilefilterlinks$List; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/profileFilterLinks' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId', 'webPropertyId', 'profileId'], - pathParams: ['accountId', 'profileId', 'webPropertyId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Update an existing profile filter link. This method supports patch semantics. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/analytics.edit'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.profileFilterLinks.patch({ - * // Account ID to which profile filter link belongs. - * accountId: '\d+', - * // ID of the profile filter link to be updated. - * linkId: '\d+:\d+', - * // Profile ID to which filter link belongs - * profileId: '\d+', - * // Web property Id to which profile filter link belongs - * webPropertyId: 'UA-(\d+)-(\d+)', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "filterRef": {}, - * // "id": "my_id", - * // "kind": "my_kind", - * // "profileRef": {}, - * // "rank": 0, - * // "selfLink": "my_selfLink" - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "filterRef": {}, - * // "id": "my_id", - * // "kind": "my_kind", - * // "profileRef": {}, - * // "rank": 0, - * // "selfLink": "my_selfLink" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - patch( - params: Params$Resource$Management$Profilefilterlinks$Patch, - options: StreamMethodOptions - ): Promise>; - patch( - params?: Params$Resource$Management$Profilefilterlinks$Patch, - options?: MethodOptions - ): Promise>; - patch( - params: Params$Resource$Management$Profilefilterlinks$Patch, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - patch( - params: Params$Resource$Management$Profilefilterlinks$Patch, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - patch( - params: Params$Resource$Management$Profilefilterlinks$Patch, - callback: BodyResponseCallback - ): void; - patch(callback: BodyResponseCallback): void; - patch( - paramsOrCallback?: - | Params$Resource$Management$Profilefilterlinks$Patch - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Profilefilterlinks$Patch; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Profilefilterlinks$Patch; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/profileFilterLinks/{linkId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId', 'webPropertyId', 'profileId', 'linkId'], - pathParams: ['accountId', 'linkId', 'profileId', 'webPropertyId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Update an existing profile filter link. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/analytics.edit'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.profileFilterLinks.update({ - * // Account ID to which profile filter link belongs. - * accountId: '\d+', - * // ID of the profile filter link to be updated. - * linkId: '\d+:\d+', - * // Profile ID to which filter link belongs - * profileId: '\d+', - * // Web property Id to which profile filter link belongs - * webPropertyId: 'UA-(\d+)-(\d+)', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "filterRef": {}, - * // "id": "my_id", - * // "kind": "my_kind", - * // "profileRef": {}, - * // "rank": 0, - * // "selfLink": "my_selfLink" - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "filterRef": {}, - * // "id": "my_id", - * // "kind": "my_kind", - * // "profileRef": {}, - * // "rank": 0, - * // "selfLink": "my_selfLink" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - update( - params: Params$Resource$Management$Profilefilterlinks$Update, - options: StreamMethodOptions - ): Promise>; - update( - params?: Params$Resource$Management$Profilefilterlinks$Update, - options?: MethodOptions - ): Promise>; - update( - params: Params$Resource$Management$Profilefilterlinks$Update, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - update( - params: Params$Resource$Management$Profilefilterlinks$Update, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - update( - params: Params$Resource$Management$Profilefilterlinks$Update, - callback: BodyResponseCallback - ): void; - update(callback: BodyResponseCallback): void; - update( - paramsOrCallback?: - | Params$Resource$Management$Profilefilterlinks$Update - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Profilefilterlinks$Update; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Profilefilterlinks$Update; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/profileFilterLinks/{linkId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PUT', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId', 'webPropertyId', 'profileId', 'linkId'], - pathParams: ['accountId', 'linkId', 'profileId', 'webPropertyId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Management$Profilefilterlinks$Delete extends StandardParameters { - /** - * Account ID to which the profile filter link belongs. - */ - accountId?: string; - /** - * ID of the profile filter link to delete. - */ - linkId?: string; - /** - * Profile ID to which the filter link belongs. - */ - profileId?: string; - /** - * Web property Id to which the profile filter link belongs. - */ - webPropertyId?: string; - } - export interface Params$Resource$Management$Profilefilterlinks$Get extends StandardParameters { - /** - * Account ID to retrieve profile filter link for. - */ - accountId?: string; - /** - * ID of the profile filter link. - */ - linkId?: string; - /** - * Profile ID to retrieve filter link for. - */ - profileId?: string; - /** - * Web property Id to retrieve profile filter link for. - */ - webPropertyId?: string; - } - export interface Params$Resource$Management$Profilefilterlinks$Insert extends StandardParameters { - /** - * Account ID to create profile filter link for. - */ - accountId?: string; - /** - * Profile ID to create filter link for. - */ - profileId?: string; - /** - * Web property Id to create profile filter link for. - */ - webPropertyId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$ProfileFilterLink; - } - export interface Params$Resource$Management$Profilefilterlinks$List extends StandardParameters { - /** - * Account ID to retrieve profile filter links for. - */ - accountId?: string; - /** - * The maximum number of profile filter links to include in this response. - */ - 'max-results'?: number; - /** - * Profile ID to retrieve filter links for. Can either be a specific profile ID or '~all', which refers to all the profiles that user has access to. - */ - profileId?: string; - /** - * An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. - */ - 'start-index'?: number; - /** - * Web property Id for profile filter links for. Can either be a specific web property ID or '~all', which refers to all the web properties that user has access to. - */ - webPropertyId?: string; - } - export interface Params$Resource$Management$Profilefilterlinks$Patch extends StandardParameters { - /** - * Account ID to which profile filter link belongs. - */ - accountId?: string; - /** - * ID of the profile filter link to be updated. - */ - linkId?: string; - /** - * Profile ID to which filter link belongs - */ - profileId?: string; - /** - * Web property Id to which profile filter link belongs - */ - webPropertyId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$ProfileFilterLink; - } - export interface Params$Resource$Management$Profilefilterlinks$Update extends StandardParameters { - /** - * Account ID to which profile filter link belongs. - */ - accountId?: string; - /** - * ID of the profile filter link to be updated. - */ - linkId?: string; - /** - * Profile ID to which filter link belongs - */ - profileId?: string; - /** - * Web property Id to which profile filter link belongs - */ - webPropertyId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$ProfileFilterLink; - } - - export class Resource$Management$Profiles { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Deletes a view (profile). - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/analytics.edit'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.profiles.delete({ - * // Account ID to delete the view (profile) for. - * accountId: 'placeholder-value', - * // ID of the view (profile) to be deleted. - * profileId: 'placeholder-value', - * // Web property ID to delete the view (profile) for. - * webPropertyId: 'placeholder-value', - * }); - * console.log(res.data); - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - delete( - params: Params$Resource$Management$Profiles$Delete, - options: StreamMethodOptions - ): Promise>; - delete( - params?: Params$Resource$Management$Profiles$Delete, - options?: MethodOptions - ): Promise>; - delete( - params: Params$Resource$Management$Profiles$Delete, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - delete( - params: Params$Resource$Management$Profiles$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - delete( - params: Params$Resource$Management$Profiles$Delete, - callback: BodyResponseCallback - ): void; - delete(callback: BodyResponseCallback): void; - delete( - paramsOrCallback?: - | Params$Resource$Management$Profiles$Delete - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: BodyResponseCallback | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Profiles$Delete; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Profiles$Delete; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId', 'webPropertyId', 'profileId'], - pathParams: ['accountId', 'profileId', 'webPropertyId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Gets a view (profile) to which the user has access. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/analytics.edit', - * 'https://www.googleapis.com/auth/analytics.readonly', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.profiles.get({ - * // Account ID to retrieve the view (profile) for. - * accountId: '[0-9]+', - * // View (Profile) ID to retrieve the view (profile) for. - * profileId: '[0-9]+', - * // Web property ID to retrieve the view (profile) for. - * webPropertyId: 'UA-[0-9]+-[0-9]+', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "accountId": "my_accountId", - * // "botFilteringEnabled": false, - * // "childLink": {}, - * // "created": "my_created", - * // "currency": "my_currency", - * // "defaultPage": "my_defaultPage", - * // "eCommerceTracking": false, - * // "enhancedECommerceTracking": false, - * // "excludeQueryParameters": "my_excludeQueryParameters", - * // "id": "my_id", - * // "internalWebPropertyId": "my_internalWebPropertyId", - * // "kind": "my_kind", - * // "name": "my_name", - * // "parentLink": {}, - * // "permissions": {}, - * // "selfLink": "my_selfLink", - * // "siteSearchCategoryParameters": "my_siteSearchCategoryParameters", - * // "siteSearchQueryParameters": "my_siteSearchQueryParameters", - * // "starred": false, - * // "stripSiteSearchCategoryParameters": false, - * // "stripSiteSearchQueryParameters": false, - * // "timezone": "my_timezone", - * // "type": "my_type", - * // "updated": "my_updated", - * // "webPropertyId": "my_webPropertyId", - * // "websiteUrl": "my_websiteUrl" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - get( - params: Params$Resource$Management$Profiles$Get, - options: StreamMethodOptions - ): Promise>; - get( - params?: Params$Resource$Management$Profiles$Get, - options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Management$Profiles$Get, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Management$Profiles$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Management$Profiles$Get, - callback: BodyResponseCallback - ): void; - get(callback: BodyResponseCallback): void; - get( - paramsOrCallback?: - | Params$Resource$Management$Profiles$Get - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Profiles$Get; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Profiles$Get; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId', 'webPropertyId', 'profileId'], - pathParams: ['accountId', 'profileId', 'webPropertyId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Create a new view (profile). - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/analytics.edit'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.profiles.insert({ - * // Account ID to create the view (profile) for. - * accountId: 'placeholder-value', - * // Web property ID to create the view (profile) for. - * webPropertyId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "accountId": "my_accountId", - * // "botFilteringEnabled": false, - * // "childLink": {}, - * // "created": "my_created", - * // "currency": "my_currency", - * // "defaultPage": "my_defaultPage", - * // "eCommerceTracking": false, - * // "enhancedECommerceTracking": false, - * // "excludeQueryParameters": "my_excludeQueryParameters", - * // "id": "my_id", - * // "internalWebPropertyId": "my_internalWebPropertyId", - * // "kind": "my_kind", - * // "name": "my_name", - * // "parentLink": {}, - * // "permissions": {}, - * // "selfLink": "my_selfLink", - * // "siteSearchCategoryParameters": "my_siteSearchCategoryParameters", - * // "siteSearchQueryParameters": "my_siteSearchQueryParameters", - * // "starred": false, - * // "stripSiteSearchCategoryParameters": false, - * // "stripSiteSearchQueryParameters": false, - * // "timezone": "my_timezone", - * // "type": "my_type", - * // "updated": "my_updated", - * // "webPropertyId": "my_webPropertyId", - * // "websiteUrl": "my_websiteUrl" - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "accountId": "my_accountId", - * // "botFilteringEnabled": false, - * // "childLink": {}, - * // "created": "my_created", - * // "currency": "my_currency", - * // "defaultPage": "my_defaultPage", - * // "eCommerceTracking": false, - * // "enhancedECommerceTracking": false, - * // "excludeQueryParameters": "my_excludeQueryParameters", - * // "id": "my_id", - * // "internalWebPropertyId": "my_internalWebPropertyId", - * // "kind": "my_kind", - * // "name": "my_name", - * // "parentLink": {}, - * // "permissions": {}, - * // "selfLink": "my_selfLink", - * // "siteSearchCategoryParameters": "my_siteSearchCategoryParameters", - * // "siteSearchQueryParameters": "my_siteSearchQueryParameters", - * // "starred": false, - * // "stripSiteSearchCategoryParameters": false, - * // "stripSiteSearchQueryParameters": false, - * // "timezone": "my_timezone", - * // "type": "my_type", - * // "updated": "my_updated", - * // "webPropertyId": "my_webPropertyId", - * // "websiteUrl": "my_websiteUrl" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - insert( - params: Params$Resource$Management$Profiles$Insert, - options: StreamMethodOptions - ): Promise>; - insert( - params?: Params$Resource$Management$Profiles$Insert, - options?: MethodOptions - ): Promise>; - insert( - params: Params$Resource$Management$Profiles$Insert, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - insert( - params: Params$Resource$Management$Profiles$Insert, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - insert( - params: Params$Resource$Management$Profiles$Insert, - callback: BodyResponseCallback - ): void; - insert(callback: BodyResponseCallback): void; - insert( - paramsOrCallback?: - | Params$Resource$Management$Profiles$Insert - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Profiles$Insert; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Profiles$Insert; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/profiles' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId', 'webPropertyId'], - pathParams: ['accountId', 'webPropertyId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Lists views (profiles) to which the user has access. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/analytics', - * 'https://www.googleapis.com/auth/analytics.edit', - * 'https://www.googleapis.com/auth/analytics.readonly', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.profiles.list({ - * // Account ID for the view (profiles) to retrieve. Can either be a specific account ID or '~all', which refers to all the accounts to which the user has access. - * accountId: 'placeholder-value', - * // The maximum number of views (profiles) to include in this response. - * 'max-results': 'placeholder-value', - * // An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. - * 'start-index': 'placeholder-value', - * // Web property ID for the views (profiles) to retrieve. Can either be a specific web property ID or '~all', which refers to all the web properties to which the user has access. - * webPropertyId: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "items": [], - * // "itemsPerPage": 0, - * // "kind": "my_kind", - * // "nextLink": "my_nextLink", - * // "previousLink": "my_previousLink", - * // "startIndex": 0, - * // "totalResults": 0, - * // "username": "my_username" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - list( - params: Params$Resource$Management$Profiles$List, - options: StreamMethodOptions - ): Promise>; - list( - params?: Params$Resource$Management$Profiles$List, - options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Management$Profiles$List, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Management$Profiles$List, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Management$Profiles$List, - callback: BodyResponseCallback - ): void; - list(callback: BodyResponseCallback): void; - list( - paramsOrCallback?: - | Params$Resource$Management$Profiles$List - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Profiles$List; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Profiles$List; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/profiles' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId', 'webPropertyId'], - pathParams: ['accountId', 'webPropertyId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Updates an existing view (profile). This method supports patch semantics. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/analytics.edit'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.profiles.patch({ - * // Account ID to which the view (profile) belongs - * accountId: 'placeholder-value', - * // ID of the view (profile) to be updated. - * profileId: 'placeholder-value', - * // Web property ID to which the view (profile) belongs - * webPropertyId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "accountId": "my_accountId", - * // "botFilteringEnabled": false, - * // "childLink": {}, - * // "created": "my_created", - * // "currency": "my_currency", - * // "defaultPage": "my_defaultPage", - * // "eCommerceTracking": false, - * // "enhancedECommerceTracking": false, - * // "excludeQueryParameters": "my_excludeQueryParameters", - * // "id": "my_id", - * // "internalWebPropertyId": "my_internalWebPropertyId", - * // "kind": "my_kind", - * // "name": "my_name", - * // "parentLink": {}, - * // "permissions": {}, - * // "selfLink": "my_selfLink", - * // "siteSearchCategoryParameters": "my_siteSearchCategoryParameters", - * // "siteSearchQueryParameters": "my_siteSearchQueryParameters", - * // "starred": false, - * // "stripSiteSearchCategoryParameters": false, - * // "stripSiteSearchQueryParameters": false, - * // "timezone": "my_timezone", - * // "type": "my_type", - * // "updated": "my_updated", - * // "webPropertyId": "my_webPropertyId", - * // "websiteUrl": "my_websiteUrl" - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "accountId": "my_accountId", - * // "botFilteringEnabled": false, - * // "childLink": {}, - * // "created": "my_created", - * // "currency": "my_currency", - * // "defaultPage": "my_defaultPage", - * // "eCommerceTracking": false, - * // "enhancedECommerceTracking": false, - * // "excludeQueryParameters": "my_excludeQueryParameters", - * // "id": "my_id", - * // "internalWebPropertyId": "my_internalWebPropertyId", - * // "kind": "my_kind", - * // "name": "my_name", - * // "parentLink": {}, - * // "permissions": {}, - * // "selfLink": "my_selfLink", - * // "siteSearchCategoryParameters": "my_siteSearchCategoryParameters", - * // "siteSearchQueryParameters": "my_siteSearchQueryParameters", - * // "starred": false, - * // "stripSiteSearchCategoryParameters": false, - * // "stripSiteSearchQueryParameters": false, - * // "timezone": "my_timezone", - * // "type": "my_type", - * // "updated": "my_updated", - * // "webPropertyId": "my_webPropertyId", - * // "websiteUrl": "my_websiteUrl" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - patch( - params: Params$Resource$Management$Profiles$Patch, - options: StreamMethodOptions - ): Promise>; - patch( - params?: Params$Resource$Management$Profiles$Patch, - options?: MethodOptions - ): Promise>; - patch( - params: Params$Resource$Management$Profiles$Patch, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - patch( - params: Params$Resource$Management$Profiles$Patch, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - patch( - params: Params$Resource$Management$Profiles$Patch, - callback: BodyResponseCallback - ): void; - patch(callback: BodyResponseCallback): void; - patch( - paramsOrCallback?: - | Params$Resource$Management$Profiles$Patch - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Profiles$Patch; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Profiles$Patch; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId', 'webPropertyId', 'profileId'], - pathParams: ['accountId', 'profileId', 'webPropertyId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Updates an existing view (profile). - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/analytics.edit'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.profiles.update({ - * // Account ID to which the view (profile) belongs - * accountId: 'placeholder-value', - * // ID of the view (profile) to be updated. - * profileId: 'placeholder-value', - * // Web property ID to which the view (profile) belongs - * webPropertyId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "accountId": "my_accountId", - * // "botFilteringEnabled": false, - * // "childLink": {}, - * // "created": "my_created", - * // "currency": "my_currency", - * // "defaultPage": "my_defaultPage", - * // "eCommerceTracking": false, - * // "enhancedECommerceTracking": false, - * // "excludeQueryParameters": "my_excludeQueryParameters", - * // "id": "my_id", - * // "internalWebPropertyId": "my_internalWebPropertyId", - * // "kind": "my_kind", - * // "name": "my_name", - * // "parentLink": {}, - * // "permissions": {}, - * // "selfLink": "my_selfLink", - * // "siteSearchCategoryParameters": "my_siteSearchCategoryParameters", - * // "siteSearchQueryParameters": "my_siteSearchQueryParameters", - * // "starred": false, - * // "stripSiteSearchCategoryParameters": false, - * // "stripSiteSearchQueryParameters": false, - * // "timezone": "my_timezone", - * // "type": "my_type", - * // "updated": "my_updated", - * // "webPropertyId": "my_webPropertyId", - * // "websiteUrl": "my_websiteUrl" - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "accountId": "my_accountId", - * // "botFilteringEnabled": false, - * // "childLink": {}, - * // "created": "my_created", - * // "currency": "my_currency", - * // "defaultPage": "my_defaultPage", - * // "eCommerceTracking": false, - * // "enhancedECommerceTracking": false, - * // "excludeQueryParameters": "my_excludeQueryParameters", - * // "id": "my_id", - * // "internalWebPropertyId": "my_internalWebPropertyId", - * // "kind": "my_kind", - * // "name": "my_name", - * // "parentLink": {}, - * // "permissions": {}, - * // "selfLink": "my_selfLink", - * // "siteSearchCategoryParameters": "my_siteSearchCategoryParameters", - * // "siteSearchQueryParameters": "my_siteSearchQueryParameters", - * // "starred": false, - * // "stripSiteSearchCategoryParameters": false, - * // "stripSiteSearchQueryParameters": false, - * // "timezone": "my_timezone", - * // "type": "my_type", - * // "updated": "my_updated", - * // "webPropertyId": "my_webPropertyId", - * // "websiteUrl": "my_websiteUrl" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - update( - params: Params$Resource$Management$Profiles$Update, - options: StreamMethodOptions - ): Promise>; - update( - params?: Params$Resource$Management$Profiles$Update, - options?: MethodOptions - ): Promise>; - update( - params: Params$Resource$Management$Profiles$Update, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - update( - params: Params$Resource$Management$Profiles$Update, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - update( - params: Params$Resource$Management$Profiles$Update, - callback: BodyResponseCallback - ): void; - update(callback: BodyResponseCallback): void; - update( - paramsOrCallback?: - | Params$Resource$Management$Profiles$Update - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Profiles$Update; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Profiles$Update; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PUT', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId', 'webPropertyId', 'profileId'], - pathParams: ['accountId', 'profileId', 'webPropertyId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Management$Profiles$Delete extends StandardParameters { - /** - * Account ID to delete the view (profile) for. - */ - accountId?: string; - /** - * ID of the view (profile) to be deleted. - */ - profileId?: string; - /** - * Web property ID to delete the view (profile) for. - */ - webPropertyId?: string; - } - export interface Params$Resource$Management$Profiles$Get extends StandardParameters { - /** - * Account ID to retrieve the view (profile) for. - */ - accountId?: string; - /** - * View (Profile) ID to retrieve the view (profile) for. - */ - profileId?: string; - /** - * Web property ID to retrieve the view (profile) for. - */ - webPropertyId?: string; - } - export interface Params$Resource$Management$Profiles$Insert extends StandardParameters { - /** - * Account ID to create the view (profile) for. - */ - accountId?: string; - /** - * Web property ID to create the view (profile) for. - */ - webPropertyId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$Profile; - } - export interface Params$Resource$Management$Profiles$List extends StandardParameters { - /** - * Account ID for the view (profiles) to retrieve. Can either be a specific account ID or '~all', which refers to all the accounts to which the user has access. - */ - accountId?: string; - /** - * The maximum number of views (profiles) to include in this response. - */ - 'max-results'?: number; - /** - * An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. - */ - 'start-index'?: number; - /** - * Web property ID for the views (profiles) to retrieve. Can either be a specific web property ID or '~all', which refers to all the web properties to which the user has access. - */ - webPropertyId?: string; - } - export interface Params$Resource$Management$Profiles$Patch extends StandardParameters { - /** - * Account ID to which the view (profile) belongs - */ - accountId?: string; - /** - * ID of the view (profile) to be updated. - */ - profileId?: string; - /** - * Web property ID to which the view (profile) belongs - */ - webPropertyId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$Profile; - } - export interface Params$Resource$Management$Profiles$Update extends StandardParameters { - /** - * Account ID to which the view (profile) belongs - */ - accountId?: string; - /** - * ID of the view (profile) to be updated. - */ - profileId?: string; - /** - * Web property ID to which the view (profile) belongs - */ - webPropertyId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$Profile; - } - - export class Resource$Management$Profileuserlinks { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Removes a user from the given view (profile). - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/analytics.manage.users'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.profileUserLinks.delete({ - * // Account ID to delete the user link for. - * accountId: 'placeholder-value', - * // Link ID to delete the user link for. - * linkId: 'placeholder-value', - * // View (Profile) ID to delete the user link for. - * profileId: 'placeholder-value', - * // Web Property ID to delete the user link for. - * webPropertyId: 'placeholder-value', - * }); - * console.log(res.data); - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - delete( - params: Params$Resource$Management$Profileuserlinks$Delete, - options: StreamMethodOptions - ): Promise>; - delete( - params?: Params$Resource$Management$Profileuserlinks$Delete, - options?: MethodOptions - ): Promise>; - delete( - params: Params$Resource$Management$Profileuserlinks$Delete, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - delete( - params: Params$Resource$Management$Profileuserlinks$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - delete( - params: Params$Resource$Management$Profileuserlinks$Delete, - callback: BodyResponseCallback - ): void; - delete(callback: BodyResponseCallback): void; - delete( - paramsOrCallback?: - | Params$Resource$Management$Profileuserlinks$Delete - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: BodyResponseCallback | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Profileuserlinks$Delete; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Profileuserlinks$Delete; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/entityUserLinks/{linkId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId', 'webPropertyId', 'profileId', 'linkId'], - pathParams: ['accountId', 'linkId', 'profileId', 'webPropertyId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Adds a new user to the given view (profile). - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/analytics.manage.users'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.profileUserLinks.insert({ - * // Account ID to create the user link for. - * accountId: 'placeholder-value', - * // View (Profile) ID to create the user link for. - * profileId: 'placeholder-value', - * // Web Property ID to create the user link for. - * webPropertyId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "entity": {}, - * // "id": "my_id", - * // "kind": "my_kind", - * // "permissions": {}, - * // "selfLink": "my_selfLink", - * // "userRef": {} - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "entity": {}, - * // "id": "my_id", - * // "kind": "my_kind", - * // "permissions": {}, - * // "selfLink": "my_selfLink", - * // "userRef": {} - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - insert( - params: Params$Resource$Management$Profileuserlinks$Insert, - options: StreamMethodOptions - ): Promise>; - insert( - params?: Params$Resource$Management$Profileuserlinks$Insert, - options?: MethodOptions - ): Promise>; - insert( - params: Params$Resource$Management$Profileuserlinks$Insert, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - insert( - params: Params$Resource$Management$Profileuserlinks$Insert, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - insert( - params: Params$Resource$Management$Profileuserlinks$Insert, - callback: BodyResponseCallback - ): void; - insert(callback: BodyResponseCallback): void; - insert( - paramsOrCallback?: - | Params$Resource$Management$Profileuserlinks$Insert - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Profileuserlinks$Insert; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Profileuserlinks$Insert; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/entityUserLinks' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId', 'webPropertyId', 'profileId'], - pathParams: ['accountId', 'profileId', 'webPropertyId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Lists profile-user links for a given view (profile). - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/analytics.manage.users', - * 'https://www.googleapis.com/auth/analytics.manage.users.readonly', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.profileUserLinks.list({ - * // Account ID which the given view (profile) belongs to. - * accountId: 'placeholder-value', - * // The maximum number of profile-user links to include in this response. - * 'max-results': 'placeholder-value', - * // View (Profile) ID to retrieve the profile-user links for. Can either be a specific profile ID or '~all', which refers to all the profiles that user has access to. - * profileId: 'placeholder-value', - * // An index of the first profile-user link to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. - * 'start-index': 'placeholder-value', - * // Web Property ID which the given view (profile) belongs to. Can either be a specific web property ID or '~all', which refers to all the web properties that user has access to. - * webPropertyId: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "items": [], - * // "itemsPerPage": 0, - * // "kind": "my_kind", - * // "nextLink": "my_nextLink", - * // "previousLink": "my_previousLink", - * // "startIndex": 0, - * // "totalResults": 0 - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - list( - params: Params$Resource$Management$Profileuserlinks$List, - options: StreamMethodOptions - ): Promise>; - list( - params?: Params$Resource$Management$Profileuserlinks$List, - options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Management$Profileuserlinks$List, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Management$Profileuserlinks$List, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Management$Profileuserlinks$List, - callback: BodyResponseCallback - ): void; - list(callback: BodyResponseCallback): void; - list( - paramsOrCallback?: - | Params$Resource$Management$Profileuserlinks$List - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Profileuserlinks$List; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Profileuserlinks$List; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/entityUserLinks' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId', 'webPropertyId', 'profileId'], - pathParams: ['accountId', 'profileId', 'webPropertyId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Updates permissions for an existing user on the given view (profile). - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/analytics.manage.users'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.profileUserLinks.update({ - * // Account ID to update the user link for. - * accountId: 'placeholder-value', - * // Link ID to update the user link for. - * linkId: 'placeholder-value', - * // View (Profile ID) to update the user link for. - * profileId: 'placeholder-value', - * // Web Property ID to update the user link for. - * webPropertyId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "entity": {}, - * // "id": "my_id", - * // "kind": "my_kind", - * // "permissions": {}, - * // "selfLink": "my_selfLink", - * // "userRef": {} - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "entity": {}, - * // "id": "my_id", - * // "kind": "my_kind", - * // "permissions": {}, - * // "selfLink": "my_selfLink", - * // "userRef": {} - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - update( - params: Params$Resource$Management$Profileuserlinks$Update, - options: StreamMethodOptions - ): Promise>; - update( - params?: Params$Resource$Management$Profileuserlinks$Update, - options?: MethodOptions - ): Promise>; - update( - params: Params$Resource$Management$Profileuserlinks$Update, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - update( - params: Params$Resource$Management$Profileuserlinks$Update, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - update( - params: Params$Resource$Management$Profileuserlinks$Update, - callback: BodyResponseCallback - ): void; - update(callback: BodyResponseCallback): void; - update( - paramsOrCallback?: - | Params$Resource$Management$Profileuserlinks$Update - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Profileuserlinks$Update; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Profileuserlinks$Update; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/entityUserLinks/{linkId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PUT', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId', 'webPropertyId', 'profileId', 'linkId'], - pathParams: ['accountId', 'linkId', 'profileId', 'webPropertyId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Management$Profileuserlinks$Delete extends StandardParameters { - /** - * Account ID to delete the user link for. - */ - accountId?: string; - /** - * Link ID to delete the user link for. - */ - linkId?: string; - /** - * View (Profile) ID to delete the user link for. - */ - profileId?: string; - /** - * Web Property ID to delete the user link for. - */ - webPropertyId?: string; - } - export interface Params$Resource$Management$Profileuserlinks$Insert extends StandardParameters { - /** - * Account ID to create the user link for. - */ - accountId?: string; - /** - * View (Profile) ID to create the user link for. - */ - profileId?: string; - /** - * Web Property ID to create the user link for. - */ - webPropertyId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$EntityUserLink; - } - export interface Params$Resource$Management$Profileuserlinks$List extends StandardParameters { - /** - * Account ID which the given view (profile) belongs to. - */ - accountId?: string; - /** - * The maximum number of profile-user links to include in this response. - */ - 'max-results'?: number; - /** - * View (Profile) ID to retrieve the profile-user links for. Can either be a specific profile ID or '~all', which refers to all the profiles that user has access to. - */ - profileId?: string; - /** - * An index of the first profile-user link to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. - */ - 'start-index'?: number; - /** - * Web Property ID which the given view (profile) belongs to. Can either be a specific web property ID or '~all', which refers to all the web properties that user has access to. - */ - webPropertyId?: string; - } - export interface Params$Resource$Management$Profileuserlinks$Update extends StandardParameters { - /** - * Account ID to update the user link for. - */ - accountId?: string; - /** - * Link ID to update the user link for. - */ - linkId?: string; - /** - * View (Profile ID) to update the user link for. - */ - profileId?: string; - /** - * Web Property ID to update the user link for. - */ - webPropertyId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$EntityUserLink; - } - - export class Resource$Management$Remarketingaudience { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Delete a remarketing audience. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/analytics.edit'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.remarketingAudience.delete({ - * // Account ID to which the remarketing audience belongs. - * accountId: 'placeholder-value', - * // The ID of the remarketing audience to delete. - * remarketingAudienceId: 'placeholder-value', - * // Web property ID to which the remarketing audience belongs. - * webPropertyId: 'placeholder-value', - * }); - * console.log(res.data); - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - delete( - params: Params$Resource$Management$Remarketingaudience$Delete, - options: StreamMethodOptions - ): Promise>; - delete( - params?: Params$Resource$Management$Remarketingaudience$Delete, - options?: MethodOptions - ): Promise>; - delete( - params: Params$Resource$Management$Remarketingaudience$Delete, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - delete( - params: Params$Resource$Management$Remarketingaudience$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - delete( - params: Params$Resource$Management$Remarketingaudience$Delete, - callback: BodyResponseCallback - ): void; - delete(callback: BodyResponseCallback): void; - delete( - paramsOrCallback?: - | Params$Resource$Management$Remarketingaudience$Delete - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: BodyResponseCallback | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Remarketingaudience$Delete; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Remarketingaudience$Delete; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/remarketingAudiences/{remarketingAudienceId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId', 'webPropertyId', 'remarketingAudienceId'], - pathParams: ['accountId', 'remarketingAudienceId', 'webPropertyId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Gets a remarketing audience to which the user has access. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/analytics.edit', - * 'https://www.googleapis.com/auth/analytics.readonly', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.remarketingAudience.get({ - * // The account ID of the remarketing audience to retrieve. - * accountId: 'placeholder-value', - * // The ID of the remarketing audience to retrieve. - * remarketingAudienceId: 'placeholder-value', - * // The web property ID of the remarketing audience to retrieve. - * webPropertyId: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "accountId": "my_accountId", - * // "audienceDefinition": {}, - * // "audienceType": "my_audienceType", - * // "created": "my_created", - * // "description": "my_description", - * // "id": "my_id", - * // "internalWebPropertyId": "my_internalWebPropertyId", - * // "kind": "my_kind", - * // "linkedAdAccounts": [], - * // "linkedViews": [], - * // "name": "my_name", - * // "stateBasedAudienceDefinition": {}, - * // "updated": "my_updated", - * // "webPropertyId": "my_webPropertyId" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - get( - params: Params$Resource$Management$Remarketingaudience$Get, - options: StreamMethodOptions - ): Promise>; - get( - params?: Params$Resource$Management$Remarketingaudience$Get, - options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Management$Remarketingaudience$Get, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Management$Remarketingaudience$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Management$Remarketingaudience$Get, - callback: BodyResponseCallback - ): void; - get(callback: BodyResponseCallback): void; - get( - paramsOrCallback?: - | Params$Resource$Management$Remarketingaudience$Get - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Remarketingaudience$Get; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Remarketingaudience$Get; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/remarketingAudiences/{remarketingAudienceId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId', 'webPropertyId', 'remarketingAudienceId'], - pathParams: ['accountId', 'remarketingAudienceId', 'webPropertyId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Creates a new remarketing audience. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/analytics.edit'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.remarketingAudience.insert({ - * // The account ID for which to create the remarketing audience. - * accountId: 'placeholder-value', - * // Web property ID for which to create the remarketing audience. - * webPropertyId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "accountId": "my_accountId", - * // "audienceDefinition": {}, - * // "audienceType": "my_audienceType", - * // "created": "my_created", - * // "description": "my_description", - * // "id": "my_id", - * // "internalWebPropertyId": "my_internalWebPropertyId", - * // "kind": "my_kind", - * // "linkedAdAccounts": [], - * // "linkedViews": [], - * // "name": "my_name", - * // "stateBasedAudienceDefinition": {}, - * // "updated": "my_updated", - * // "webPropertyId": "my_webPropertyId" - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "accountId": "my_accountId", - * // "audienceDefinition": {}, - * // "audienceType": "my_audienceType", - * // "created": "my_created", - * // "description": "my_description", - * // "id": "my_id", - * // "internalWebPropertyId": "my_internalWebPropertyId", - * // "kind": "my_kind", - * // "linkedAdAccounts": [], - * // "linkedViews": [], - * // "name": "my_name", - * // "stateBasedAudienceDefinition": {}, - * // "updated": "my_updated", - * // "webPropertyId": "my_webPropertyId" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - insert( - params: Params$Resource$Management$Remarketingaudience$Insert, - options: StreamMethodOptions - ): Promise>; - insert( - params?: Params$Resource$Management$Remarketingaudience$Insert, - options?: MethodOptions - ): Promise>; - insert( - params: Params$Resource$Management$Remarketingaudience$Insert, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - insert( - params: Params$Resource$Management$Remarketingaudience$Insert, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - insert( - params: Params$Resource$Management$Remarketingaudience$Insert, - callback: BodyResponseCallback - ): void; - insert(callback: BodyResponseCallback): void; - insert( - paramsOrCallback?: - | Params$Resource$Management$Remarketingaudience$Insert - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Remarketingaudience$Insert; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Remarketingaudience$Insert; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/remarketingAudiences' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId', 'webPropertyId'], - pathParams: ['accountId', 'webPropertyId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Lists remarketing audiences to which the user has access. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/analytics.edit', - * 'https://www.googleapis.com/auth/analytics.readonly', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.remarketingAudience.list({ - * // The account ID of the remarketing audiences to retrieve. - * accountId: 'placeholder-value', - * // The maximum number of remarketing audiences to include in this response. - * 'max-results': 'placeholder-value', - * // An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. - * 'start-index': 'placeholder-value', - * - * type: 'placeholder-value', - * // The web property ID of the remarketing audiences to retrieve. - * webPropertyId: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "items": [], - * // "itemsPerPage": 0, - * // "kind": "my_kind", - * // "nextLink": "my_nextLink", - * // "previousLink": "my_previousLink", - * // "startIndex": 0, - * // "totalResults": 0, - * // "username": "my_username" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - list( - params: Params$Resource$Management$Remarketingaudience$List, - options: StreamMethodOptions - ): Promise>; - list( - params?: Params$Resource$Management$Remarketingaudience$List, - options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Management$Remarketingaudience$List, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Management$Remarketingaudience$List, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Management$Remarketingaudience$List, - callback: BodyResponseCallback - ): void; - list(callback: BodyResponseCallback): void; - list( - paramsOrCallback?: - | Params$Resource$Management$Remarketingaudience$List - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Remarketingaudience$List; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Remarketingaudience$List; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/remarketingAudiences' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId', 'webPropertyId'], - pathParams: ['accountId', 'webPropertyId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Updates an existing remarketing audience. This method supports patch semantics. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/analytics.edit'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.remarketingAudience.patch({ - * // The account ID of the remarketing audience to update. - * accountId: 'placeholder-value', - * // The ID of the remarketing audience to update. - * remarketingAudienceId: 'placeholder-value', - * // The web property ID of the remarketing audience to update. - * webPropertyId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "accountId": "my_accountId", - * // "audienceDefinition": {}, - * // "audienceType": "my_audienceType", - * // "created": "my_created", - * // "description": "my_description", - * // "id": "my_id", - * // "internalWebPropertyId": "my_internalWebPropertyId", - * // "kind": "my_kind", - * // "linkedAdAccounts": [], - * // "linkedViews": [], - * // "name": "my_name", - * // "stateBasedAudienceDefinition": {}, - * // "updated": "my_updated", - * // "webPropertyId": "my_webPropertyId" - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "accountId": "my_accountId", - * // "audienceDefinition": {}, - * // "audienceType": "my_audienceType", - * // "created": "my_created", - * // "description": "my_description", - * // "id": "my_id", - * // "internalWebPropertyId": "my_internalWebPropertyId", - * // "kind": "my_kind", - * // "linkedAdAccounts": [], - * // "linkedViews": [], - * // "name": "my_name", - * // "stateBasedAudienceDefinition": {}, - * // "updated": "my_updated", - * // "webPropertyId": "my_webPropertyId" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - patch( - params: Params$Resource$Management$Remarketingaudience$Patch, - options: StreamMethodOptions - ): Promise>; - patch( - params?: Params$Resource$Management$Remarketingaudience$Patch, - options?: MethodOptions - ): Promise>; - patch( - params: Params$Resource$Management$Remarketingaudience$Patch, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - patch( - params: Params$Resource$Management$Remarketingaudience$Patch, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - patch( - params: Params$Resource$Management$Remarketingaudience$Patch, - callback: BodyResponseCallback - ): void; - patch(callback: BodyResponseCallback): void; - patch( - paramsOrCallback?: - | Params$Resource$Management$Remarketingaudience$Patch - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Remarketingaudience$Patch; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Remarketingaudience$Patch; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/remarketingAudiences/{remarketingAudienceId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId', 'webPropertyId', 'remarketingAudienceId'], - pathParams: ['accountId', 'remarketingAudienceId', 'webPropertyId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Updates an existing remarketing audience. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/analytics.edit'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.remarketingAudience.update({ - * // The account ID of the remarketing audience to update. - * accountId: 'placeholder-value', - * // The ID of the remarketing audience to update. - * remarketingAudienceId: 'placeholder-value', - * // The web property ID of the remarketing audience to update. - * webPropertyId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "accountId": "my_accountId", - * // "audienceDefinition": {}, - * // "audienceType": "my_audienceType", - * // "created": "my_created", - * // "description": "my_description", - * // "id": "my_id", - * // "internalWebPropertyId": "my_internalWebPropertyId", - * // "kind": "my_kind", - * // "linkedAdAccounts": [], - * // "linkedViews": [], - * // "name": "my_name", - * // "stateBasedAudienceDefinition": {}, - * // "updated": "my_updated", - * // "webPropertyId": "my_webPropertyId" - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "accountId": "my_accountId", - * // "audienceDefinition": {}, - * // "audienceType": "my_audienceType", - * // "created": "my_created", - * // "description": "my_description", - * // "id": "my_id", - * // "internalWebPropertyId": "my_internalWebPropertyId", - * // "kind": "my_kind", - * // "linkedAdAccounts": [], - * // "linkedViews": [], - * // "name": "my_name", - * // "stateBasedAudienceDefinition": {}, - * // "updated": "my_updated", - * // "webPropertyId": "my_webPropertyId" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - update( - params: Params$Resource$Management$Remarketingaudience$Update, - options: StreamMethodOptions - ): Promise>; - update( - params?: Params$Resource$Management$Remarketingaudience$Update, - options?: MethodOptions - ): Promise>; - update( - params: Params$Resource$Management$Remarketingaudience$Update, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - update( - params: Params$Resource$Management$Remarketingaudience$Update, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - update( - params: Params$Resource$Management$Remarketingaudience$Update, - callback: BodyResponseCallback - ): void; - update(callback: BodyResponseCallback): void; - update( - paramsOrCallback?: - | Params$Resource$Management$Remarketingaudience$Update - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Remarketingaudience$Update; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Remarketingaudience$Update; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/remarketingAudiences/{remarketingAudienceId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PUT', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId', 'webPropertyId', 'remarketingAudienceId'], - pathParams: ['accountId', 'remarketingAudienceId', 'webPropertyId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Management$Remarketingaudience$Delete extends StandardParameters { - /** - * Account ID to which the remarketing audience belongs. - */ - accountId?: string; - /** - * The ID of the remarketing audience to delete. - */ - remarketingAudienceId?: string; - /** - * Web property ID to which the remarketing audience belongs. - */ - webPropertyId?: string; - } - export interface Params$Resource$Management$Remarketingaudience$Get extends StandardParameters { - /** - * The account ID of the remarketing audience to retrieve. - */ - accountId?: string; - /** - * The ID of the remarketing audience to retrieve. - */ - remarketingAudienceId?: string; - /** - * The web property ID of the remarketing audience to retrieve. - */ - webPropertyId?: string; - } - export interface Params$Resource$Management$Remarketingaudience$Insert extends StandardParameters { - /** - * The account ID for which to create the remarketing audience. - */ - accountId?: string; - /** - * Web property ID for which to create the remarketing audience. - */ - webPropertyId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$RemarketingAudience; - } - export interface Params$Resource$Management$Remarketingaudience$List extends StandardParameters { - /** - * The account ID of the remarketing audiences to retrieve. - */ - accountId?: string; - /** - * The maximum number of remarketing audiences to include in this response. - */ - 'max-results'?: number; - /** - * An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. - */ - 'start-index'?: number; - /** - * - */ - type?: string; - /** - * The web property ID of the remarketing audiences to retrieve. - */ - webPropertyId?: string; - } - export interface Params$Resource$Management$Remarketingaudience$Patch extends StandardParameters { - /** - * The account ID of the remarketing audience to update. - */ - accountId?: string; - /** - * The ID of the remarketing audience to update. - */ - remarketingAudienceId?: string; - /** - * The web property ID of the remarketing audience to update. - */ - webPropertyId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$RemarketingAudience; - } - export interface Params$Resource$Management$Remarketingaudience$Update extends StandardParameters { - /** - * The account ID of the remarketing audience to update. - */ - accountId?: string; - /** - * The ID of the remarketing audience to update. - */ - remarketingAudienceId?: string; - /** - * The web property ID of the remarketing audience to update. - */ - webPropertyId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$RemarketingAudience; - } - - export class Resource$Management$Segments { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Lists segments to which the user has access. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/analytics', - * 'https://www.googleapis.com/auth/analytics.edit', - * 'https://www.googleapis.com/auth/analytics.readonly', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.segments.list({ - * // The maximum number of segments to include in this response. - * 'max-results': 'placeholder-value', - * // An index of the first segment to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. - * 'start-index': 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "items": [], - * // "itemsPerPage": 0, - * // "kind": "my_kind", - * // "nextLink": "my_nextLink", - * // "previousLink": "my_previousLink", - * // "startIndex": 0, - * // "totalResults": 0, - * // "username": "my_username" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - list( - params: Params$Resource$Management$Segments$List, - options: StreamMethodOptions - ): Promise>; - list( - params?: Params$Resource$Management$Segments$List, - options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Management$Segments$List, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Management$Segments$List, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Management$Segments$List, - callback: BodyResponseCallback - ): void; - list(callback: BodyResponseCallback): void; - list( - paramsOrCallback?: - | Params$Resource$Management$Segments$List - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Segments$List; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Segments$List; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/analytics/v3/management/segments').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: [], - pathParams: [], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Management$Segments$List extends StandardParameters { - /** - * The maximum number of segments to include in this response. - */ - 'max-results'?: number; - /** - * An index of the first segment to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. - */ - 'start-index'?: number; - } - - export class Resource$Management$Unsampledreports { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Deletes an unsampled report. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/analytics.edit'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.unsampledReports.delete({ - * // Account ID to delete the unsampled report for. - * accountId: 'placeholder-value', - * // View (Profile) ID to delete the unsampled report for. - * profileId: 'placeholder-value', - * // ID of the unsampled report to be deleted. - * unsampledReportId: 'placeholder-value', - * // Web property ID to delete the unsampled reports for. - * webPropertyId: 'placeholder-value', - * }); - * console.log(res.data); - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - delete( - params: Params$Resource$Management$Unsampledreports$Delete, - options: StreamMethodOptions - ): Promise>; - delete( - params?: Params$Resource$Management$Unsampledreports$Delete, - options?: MethodOptions - ): Promise>; - delete( - params: Params$Resource$Management$Unsampledreports$Delete, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - delete( - params: Params$Resource$Management$Unsampledreports$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - delete( - params: Params$Resource$Management$Unsampledreports$Delete, - callback: BodyResponseCallback - ): void; - delete(callback: BodyResponseCallback): void; - delete( - paramsOrCallback?: - | Params$Resource$Management$Unsampledreports$Delete - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: BodyResponseCallback | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Unsampledreports$Delete; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Unsampledreports$Delete; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/unsampledReports/{unsampledReportId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', - apiVersion: '', - }, - options - ), - params, - requiredParams: [ - 'accountId', - 'webPropertyId', - 'profileId', - 'unsampledReportId', - ], - pathParams: [ - 'accountId', - 'profileId', - 'unsampledReportId', - 'webPropertyId', - ], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Returns a single unsampled report. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/analytics', - * 'https://www.googleapis.com/auth/analytics.edit', - * 'https://www.googleapis.com/auth/analytics.readonly', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.unsampledReports.get({ - * // Account ID to retrieve unsampled report for. - * accountId: 'placeholder-value', - * // View (Profile) ID to retrieve unsampled report for. - * profileId: 'placeholder-value', - * // ID of the unsampled report to retrieve. - * unsampledReportId: 'placeholder-value', - * // Web property ID to retrieve unsampled reports for. - * webPropertyId: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "accountId": "my_accountId", - * // "cloudStorageDownloadDetails": {}, - * // "created": "my_created", - * // "dimensions": "my_dimensions", - * // "downloadType": "my_downloadType", - * // "driveDownloadDetails": {}, - * // "end-date": "my_end-date", - * // "filters": "my_filters", - * // "id": "my_id", - * // "kind": "my_kind", - * // "metrics": "my_metrics", - * // "profileId": "my_profileId", - * // "segment": "my_segment", - * // "selfLink": "my_selfLink", - * // "start-date": "my_start-date", - * // "status": "my_status", - * // "title": "my_title", - * // "updated": "my_updated", - * // "webPropertyId": "my_webPropertyId" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - get( - params: Params$Resource$Management$Unsampledreports$Get, - options: StreamMethodOptions - ): Promise>; - get( - params?: Params$Resource$Management$Unsampledreports$Get, - options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Management$Unsampledreports$Get, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Management$Unsampledreports$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Management$Unsampledreports$Get, - callback: BodyResponseCallback - ): void; - get(callback: BodyResponseCallback): void; - get( - paramsOrCallback?: - | Params$Resource$Management$Unsampledreports$Get - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Unsampledreports$Get; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Unsampledreports$Get; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/unsampledReports/{unsampledReportId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: [ - 'accountId', - 'webPropertyId', - 'profileId', - 'unsampledReportId', - ], - pathParams: [ - 'accountId', - 'profileId', - 'unsampledReportId', - 'webPropertyId', - ], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Create a new unsampled report. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/analytics', - * 'https://www.googleapis.com/auth/analytics.edit', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.unsampledReports.insert({ - * // Account ID to create the unsampled report for. - * accountId: 'placeholder-value', - * // View (Profile) ID to create the unsampled report for. - * profileId: 'placeholder-value', - * // Web property ID to create the unsampled report for. - * webPropertyId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "accountId": "my_accountId", - * // "cloudStorageDownloadDetails": {}, - * // "created": "my_created", - * // "dimensions": "my_dimensions", - * // "downloadType": "my_downloadType", - * // "driveDownloadDetails": {}, - * // "end-date": "my_end-date", - * // "filters": "my_filters", - * // "id": "my_id", - * // "kind": "my_kind", - * // "metrics": "my_metrics", - * // "profileId": "my_profileId", - * // "segment": "my_segment", - * // "selfLink": "my_selfLink", - * // "start-date": "my_start-date", - * // "status": "my_status", - * // "title": "my_title", - * // "updated": "my_updated", - * // "webPropertyId": "my_webPropertyId" - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "accountId": "my_accountId", - * // "cloudStorageDownloadDetails": {}, - * // "created": "my_created", - * // "dimensions": "my_dimensions", - * // "downloadType": "my_downloadType", - * // "driveDownloadDetails": {}, - * // "end-date": "my_end-date", - * // "filters": "my_filters", - * // "id": "my_id", - * // "kind": "my_kind", - * // "metrics": "my_metrics", - * // "profileId": "my_profileId", - * // "segment": "my_segment", - * // "selfLink": "my_selfLink", - * // "start-date": "my_start-date", - * // "status": "my_status", - * // "title": "my_title", - * // "updated": "my_updated", - * // "webPropertyId": "my_webPropertyId" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - insert( - params: Params$Resource$Management$Unsampledreports$Insert, - options: StreamMethodOptions - ): Promise>; - insert( - params?: Params$Resource$Management$Unsampledreports$Insert, - options?: MethodOptions - ): Promise>; - insert( - params: Params$Resource$Management$Unsampledreports$Insert, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - insert( - params: Params$Resource$Management$Unsampledreports$Insert, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - insert( - params: Params$Resource$Management$Unsampledreports$Insert, - callback: BodyResponseCallback - ): void; - insert(callback: BodyResponseCallback): void; - insert( - paramsOrCallback?: - | Params$Resource$Management$Unsampledreports$Insert - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Unsampledreports$Insert; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Unsampledreports$Insert; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/unsampledReports' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId', 'webPropertyId', 'profileId'], - pathParams: ['accountId', 'profileId', 'webPropertyId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Lists unsampled reports to which the user has access. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/analytics', - * 'https://www.googleapis.com/auth/analytics.edit', - * 'https://www.googleapis.com/auth/analytics.readonly', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.unsampledReports.list({ - * // Account ID to retrieve unsampled reports for. Must be a specific account ID, ~all is not supported. - * accountId: 'placeholder-value', - * // The maximum number of unsampled reports to include in this response. - * 'max-results': 'placeholder-value', - * // View (Profile) ID to retrieve unsampled reports for. Must be a specific view (profile) ID, ~all is not supported. - * profileId: 'placeholder-value', - * // An index of the first unsampled report to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. - * 'start-index': 'placeholder-value', - * // Web property ID to retrieve unsampled reports for. Must be a specific web property ID, ~all is not supported. - * webPropertyId: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "items": [], - * // "itemsPerPage": 0, - * // "kind": "my_kind", - * // "nextLink": "my_nextLink", - * // "previousLink": "my_previousLink", - * // "startIndex": 0, - * // "totalResults": 0, - * // "username": "my_username" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - list( - params: Params$Resource$Management$Unsampledreports$List, - options: StreamMethodOptions - ): Promise>; - list( - params?: Params$Resource$Management$Unsampledreports$List, - options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Management$Unsampledreports$List, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Management$Unsampledreports$List, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Management$Unsampledreports$List, - callback: BodyResponseCallback - ): void; - list(callback: BodyResponseCallback): void; - list( - paramsOrCallback?: - | Params$Resource$Management$Unsampledreports$List - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Unsampledreports$List; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Unsampledreports$List; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/profiles/{profileId}/unsampledReports' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId', 'webPropertyId', 'profileId'], - pathParams: ['accountId', 'profileId', 'webPropertyId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Management$Unsampledreports$Delete extends StandardParameters { - /** - * Account ID to delete the unsampled report for. - */ - accountId?: string; - /** - * View (Profile) ID to delete the unsampled report for. - */ - profileId?: string; - /** - * ID of the unsampled report to be deleted. - */ - unsampledReportId?: string; - /** - * Web property ID to delete the unsampled reports for. - */ - webPropertyId?: string; - } - export interface Params$Resource$Management$Unsampledreports$Get extends StandardParameters { - /** - * Account ID to retrieve unsampled report for. - */ - accountId?: string; - /** - * View (Profile) ID to retrieve unsampled report for. - */ - profileId?: string; - /** - * ID of the unsampled report to retrieve. - */ - unsampledReportId?: string; - /** - * Web property ID to retrieve unsampled reports for. - */ - webPropertyId?: string; - } - export interface Params$Resource$Management$Unsampledreports$Insert extends StandardParameters { - /** - * Account ID to create the unsampled report for. - */ - accountId?: string; - /** - * View (Profile) ID to create the unsampled report for. - */ - profileId?: string; - /** - * Web property ID to create the unsampled report for. - */ - webPropertyId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$UnsampledReport; - } - export interface Params$Resource$Management$Unsampledreports$List extends StandardParameters { - /** - * Account ID to retrieve unsampled reports for. Must be a specific account ID, ~all is not supported. - */ - accountId?: string; - /** - * The maximum number of unsampled reports to include in this response. - */ - 'max-results'?: number; - /** - * View (Profile) ID to retrieve unsampled reports for. Must be a specific view (profile) ID, ~all is not supported. - */ - profileId?: string; - /** - * An index of the first unsampled report to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. - */ - 'start-index'?: number; - /** - * Web property ID to retrieve unsampled reports for. Must be a specific web property ID, ~all is not supported. - */ - webPropertyId?: string; - } - - export class Resource$Management$Uploads { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Delete data associated with a previous upload. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/analytics', - * 'https://www.googleapis.com/auth/analytics.edit', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.uploads.deleteUploadData({ - * // Account Id for the uploads to be deleted. - * accountId: '\d+', - * // Custom data source Id for the uploads to be deleted. - * customDataSourceId: '.{22}', - * // Web property Id for the uploads to be deleted. - * webPropertyId: 'UA-(\d+)-(\d+)', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "customDataImportUids": [] - * // } - * }, - * }); - * console.log(res.data); - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - deleteUploadData( - params: Params$Resource$Management$Uploads$Deleteuploaddata, - options: StreamMethodOptions - ): Promise>; - deleteUploadData( - params?: Params$Resource$Management$Uploads$Deleteuploaddata, - options?: MethodOptions - ): Promise>; - deleteUploadData( - params: Params$Resource$Management$Uploads$Deleteuploaddata, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - deleteUploadData( - params: Params$Resource$Management$Uploads$Deleteuploaddata, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - deleteUploadData( - params: Params$Resource$Management$Uploads$Deleteuploaddata, - callback: BodyResponseCallback - ): void; - deleteUploadData(callback: BodyResponseCallback): void; - deleteUploadData( - paramsOrCallback?: - | Params$Resource$Management$Uploads$Deleteuploaddata - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: BodyResponseCallback | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Uploads$Deleteuploaddata; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Uploads$Deleteuploaddata; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/deleteUploadData' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId', 'webPropertyId', 'customDataSourceId'], - pathParams: ['accountId', 'customDataSourceId', 'webPropertyId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * List uploads to which the user has access. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/analytics', - * 'https://www.googleapis.com/auth/analytics.edit', - * 'https://www.googleapis.com/auth/analytics.readonly', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.uploads.get({ - * // Account Id for the upload to retrieve. - * accountId: '\d+', - * // Custom data source Id for upload to retrieve. - * customDataSourceId: '.{22}', - * // Upload Id to retrieve. - * uploadId: '.{22}', - * // Web property Id for the upload to retrieve. - * webPropertyId: 'UA-(\d+)-(\d+)', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "accountId": "my_accountId", - * // "customDataSourceId": "my_customDataSourceId", - * // "errors": [], - * // "id": "my_id", - * // "kind": "my_kind", - * // "status": "my_status", - * // "uploadTime": "my_uploadTime" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - get( - params: Params$Resource$Management$Uploads$Get, - options: StreamMethodOptions - ): Promise>; - get( - params?: Params$Resource$Management$Uploads$Get, - options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Management$Uploads$Get, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Management$Uploads$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Management$Uploads$Get, - callback: BodyResponseCallback - ): void; - get(callback: BodyResponseCallback): void; - get( - paramsOrCallback?: - | Params$Resource$Management$Uploads$Get - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Uploads$Get; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Uploads$Get; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/uploads/{uploadId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: [ - 'accountId', - 'webPropertyId', - 'customDataSourceId', - 'uploadId', - ], - pathParams: [ - 'accountId', - 'customDataSourceId', - 'uploadId', - 'webPropertyId', - ], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * List uploads to which the user has access. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/analytics', - * 'https://www.googleapis.com/auth/analytics.edit', - * 'https://www.googleapis.com/auth/analytics.readonly', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.uploads.list({ - * // Account Id for the uploads to retrieve. - * accountId: '\d+', - * // Custom data source Id for uploads to retrieve. - * customDataSourceId: '.{22}', - * // The maximum number of uploads to include in this response. - * 'max-results': 'placeholder-value', - * // A 1-based index of the first upload to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. - * 'start-index': 'placeholder-value', - * // Web property Id for the uploads to retrieve. - * webPropertyId: 'UA-(\d+)-(\d+)', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "items": [], - * // "itemsPerPage": 0, - * // "kind": "my_kind", - * // "nextLink": "my_nextLink", - * // "previousLink": "my_previousLink", - * // "startIndex": 0, - * // "totalResults": 0 - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - list( - params: Params$Resource$Management$Uploads$List, - options: StreamMethodOptions - ): Promise>; - list( - params?: Params$Resource$Management$Uploads$List, - options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Management$Uploads$List, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Management$Uploads$List, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Management$Uploads$List, - callback: BodyResponseCallback - ): void; - list(callback: BodyResponseCallback): void; - list( - paramsOrCallback?: - | Params$Resource$Management$Uploads$List - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Uploads$List; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Uploads$List; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/uploads' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId', 'webPropertyId', 'customDataSourceId'], - pathParams: ['accountId', 'customDataSourceId', 'webPropertyId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Upload data for a custom data source. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/analytics', - * 'https://www.googleapis.com/auth/analytics.edit', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.uploads.uploadData({ - * // Account Id associated with the upload. - * accountId: '\d+', - * // Custom data source Id to which the data being uploaded belongs. - * customDataSourceId: 'placeholder-value', - * // Web property UA-string associated with the upload. - * webPropertyId: 'UA-\d+-\d+', - * - * requestBody: { - * // request body parameters - * }, - * media: { - * mimeType: 'placeholder-value', - * body: 'placeholder-value', - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "accountId": "my_accountId", - * // "customDataSourceId": "my_customDataSourceId", - * // "errors": [], - * // "id": "my_id", - * // "kind": "my_kind", - * // "status": "my_status", - * // "uploadTime": "my_uploadTime" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - uploadData( - params: Params$Resource$Management$Uploads$Uploaddata, - options: StreamMethodOptions - ): Promise>; - uploadData( - params?: Params$Resource$Management$Uploads$Uploaddata, - options?: MethodOptions - ): Promise>; - uploadData( - params: Params$Resource$Management$Uploads$Uploaddata, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - uploadData( - params: Params$Resource$Management$Uploads$Uploaddata, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - uploadData( - params: Params$Resource$Management$Uploads$Uploaddata, - callback: BodyResponseCallback - ): void; - uploadData(callback: BodyResponseCallback): void; - uploadData( - paramsOrCallback?: - | Params$Resource$Management$Uploads$Uploaddata - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Uploads$Uploaddata; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Uploads$Uploaddata; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/uploads' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - mediaUrl: ( - rootUrl + - '/upload/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/customDataSources/{customDataSourceId}/uploads' - ).replace(/([^:]\/)\/+/g, '$1'), - requiredParams: ['accountId', 'webPropertyId', 'customDataSourceId'], - pathParams: ['accountId', 'customDataSourceId', 'webPropertyId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Management$Uploads$Deleteuploaddata extends StandardParameters { - /** - * Account Id for the uploads to be deleted. - */ - accountId?: string; - /** - * Custom data source Id for the uploads to be deleted. - */ - customDataSourceId?: string; - /** - * Web property Id for the uploads to be deleted. - */ - webPropertyId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$AnalyticsDataimportDeleteUploadDataRequest; - } - export interface Params$Resource$Management$Uploads$Get extends StandardParameters { - /** - * Account Id for the upload to retrieve. - */ - accountId?: string; - /** - * Custom data source Id for upload to retrieve. - */ - customDataSourceId?: string; - /** - * Upload Id to retrieve. - */ - uploadId?: string; - /** - * Web property Id for the upload to retrieve. - */ - webPropertyId?: string; - } - export interface Params$Resource$Management$Uploads$List extends StandardParameters { - /** - * Account Id for the uploads to retrieve. - */ - accountId?: string; - /** - * Custom data source Id for uploads to retrieve. - */ - customDataSourceId?: string; - /** - * The maximum number of uploads to include in this response. - */ - 'max-results'?: number; - /** - * A 1-based index of the first upload to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. - */ - 'start-index'?: number; - /** - * Web property Id for the uploads to retrieve. - */ - webPropertyId?: string; - } - export interface Params$Resource$Management$Uploads$Uploaddata extends StandardParameters { - /** - * Account Id associated with the upload. - */ - accountId?: string; - /** - * Custom data source Id to which the data being uploaded belongs. - */ - customDataSourceId?: string; - /** - * Web property UA-string associated with the upload. - */ - webPropertyId?: string; - - /** - * Request body metadata - */ - requestBody?: {}; - - /** - * Media metadata - */ - media?: { - /** - * Media mime-type - */ - mimeType?: string; - - /** - * Media body contents - */ - body?: any; - }; - } - - export class Resource$Management$Webproperties { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Gets a web property to which the user has access. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/analytics.edit', - * 'https://www.googleapis.com/auth/analytics.readonly', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.webproperties.get({ - * // Account ID to retrieve the web property for. - * accountId: '[0-9]+', - * // ID to retrieve the web property for. - * webPropertyId: 'UA-[0-9]+-[0-9]+', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "accountId": "my_accountId", - * // "childLink": {}, - * // "created": "my_created", - * // "dataRetentionResetOnNewActivity": false, - * // "dataRetentionTtl": "my_dataRetentionTtl", - * // "defaultProfileId": "my_defaultProfileId", - * // "id": "my_id", - * // "industryVertical": "my_industryVertical", - * // "internalWebPropertyId": "my_internalWebPropertyId", - * // "kind": "my_kind", - * // "level": "my_level", - * // "name": "my_name", - * // "parentLink": {}, - * // "permissions": {}, - * // "profileCount": 0, - * // "selfLink": "my_selfLink", - * // "starred": false, - * // "updated": "my_updated", - * // "websiteUrl": "my_websiteUrl" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - get( - params: Params$Resource$Management$Webproperties$Get, - options: StreamMethodOptions - ): Promise>; - get( - params?: Params$Resource$Management$Webproperties$Get, - options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Management$Webproperties$Get, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Management$Webproperties$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Management$Webproperties$Get, - callback: BodyResponseCallback - ): void; - get(callback: BodyResponseCallback): void; - get( - paramsOrCallback?: - | Params$Resource$Management$Webproperties$Get - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Webproperties$Get; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Webproperties$Get; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId', 'webPropertyId'], - pathParams: ['accountId', 'webPropertyId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Create a new property if the account has fewer than 20 properties. Web properties are visible in the Google Analytics interface only if they have at least one profile. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/analytics.edit'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.webproperties.insert({ - * // Account ID to create the web property for. - * accountId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "accountId": "my_accountId", - * // "childLink": {}, - * // "created": "my_created", - * // "dataRetentionResetOnNewActivity": false, - * // "dataRetentionTtl": "my_dataRetentionTtl", - * // "defaultProfileId": "my_defaultProfileId", - * // "id": "my_id", - * // "industryVertical": "my_industryVertical", - * // "internalWebPropertyId": "my_internalWebPropertyId", - * // "kind": "my_kind", - * // "level": "my_level", - * // "name": "my_name", - * // "parentLink": {}, - * // "permissions": {}, - * // "profileCount": 0, - * // "selfLink": "my_selfLink", - * // "starred": false, - * // "updated": "my_updated", - * // "websiteUrl": "my_websiteUrl" - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "accountId": "my_accountId", - * // "childLink": {}, - * // "created": "my_created", - * // "dataRetentionResetOnNewActivity": false, - * // "dataRetentionTtl": "my_dataRetentionTtl", - * // "defaultProfileId": "my_defaultProfileId", - * // "id": "my_id", - * // "industryVertical": "my_industryVertical", - * // "internalWebPropertyId": "my_internalWebPropertyId", - * // "kind": "my_kind", - * // "level": "my_level", - * // "name": "my_name", - * // "parentLink": {}, - * // "permissions": {}, - * // "profileCount": 0, - * // "selfLink": "my_selfLink", - * // "starred": false, - * // "updated": "my_updated", - * // "websiteUrl": "my_websiteUrl" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - insert( - params: Params$Resource$Management$Webproperties$Insert, - options: StreamMethodOptions - ): Promise>; - insert( - params?: Params$Resource$Management$Webproperties$Insert, - options?: MethodOptions - ): Promise>; - insert( - params: Params$Resource$Management$Webproperties$Insert, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - insert( - params: Params$Resource$Management$Webproperties$Insert, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - insert( - params: Params$Resource$Management$Webproperties$Insert, - callback: BodyResponseCallback - ): void; - insert(callback: BodyResponseCallback): void; - insert( - paramsOrCallback?: - | Params$Resource$Management$Webproperties$Insert - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Webproperties$Insert; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Webproperties$Insert; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/webproperties' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId'], - pathParams: ['accountId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Lists web properties to which the user has access. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/analytics', - * 'https://www.googleapis.com/auth/analytics.edit', - * 'https://www.googleapis.com/auth/analytics.readonly', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.webproperties.list({ - * // Account ID to retrieve web properties for. Can either be a specific account ID or '~all', which refers to all the accounts that user has access to. - * accountId: 'placeholder-value', - * // The maximum number of web properties to include in this response. - * 'max-results': 'placeholder-value', - * // An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. - * 'start-index': 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "items": [], - * // "itemsPerPage": 0, - * // "kind": "my_kind", - * // "nextLink": "my_nextLink", - * // "previousLink": "my_previousLink", - * // "startIndex": 0, - * // "totalResults": 0, - * // "username": "my_username" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - list( - params: Params$Resource$Management$Webproperties$List, - options: StreamMethodOptions - ): Promise>; - list( - params?: Params$Resource$Management$Webproperties$List, - options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Management$Webproperties$List, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Management$Webproperties$List, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Management$Webproperties$List, - callback: BodyResponseCallback - ): void; - list(callback: BodyResponseCallback): void; - list( - paramsOrCallback?: - | Params$Resource$Management$Webproperties$List - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Webproperties$List; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Webproperties$List; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/webproperties' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId'], - pathParams: ['accountId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Updates an existing web property. This method supports patch semantics. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/analytics.edit'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.webproperties.patch({ - * // Account ID to which the web property belongs - * accountId: 'placeholder-value', - * // Web property ID - * webPropertyId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "accountId": "my_accountId", - * // "childLink": {}, - * // "created": "my_created", - * // "dataRetentionResetOnNewActivity": false, - * // "dataRetentionTtl": "my_dataRetentionTtl", - * // "defaultProfileId": "my_defaultProfileId", - * // "id": "my_id", - * // "industryVertical": "my_industryVertical", - * // "internalWebPropertyId": "my_internalWebPropertyId", - * // "kind": "my_kind", - * // "level": "my_level", - * // "name": "my_name", - * // "parentLink": {}, - * // "permissions": {}, - * // "profileCount": 0, - * // "selfLink": "my_selfLink", - * // "starred": false, - * // "updated": "my_updated", - * // "websiteUrl": "my_websiteUrl" - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "accountId": "my_accountId", - * // "childLink": {}, - * // "created": "my_created", - * // "dataRetentionResetOnNewActivity": false, - * // "dataRetentionTtl": "my_dataRetentionTtl", - * // "defaultProfileId": "my_defaultProfileId", - * // "id": "my_id", - * // "industryVertical": "my_industryVertical", - * // "internalWebPropertyId": "my_internalWebPropertyId", - * // "kind": "my_kind", - * // "level": "my_level", - * // "name": "my_name", - * // "parentLink": {}, - * // "permissions": {}, - * // "profileCount": 0, - * // "selfLink": "my_selfLink", - * // "starred": false, - * // "updated": "my_updated", - * // "websiteUrl": "my_websiteUrl" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - patch( - params: Params$Resource$Management$Webproperties$Patch, - options: StreamMethodOptions - ): Promise>; - patch( - params?: Params$Resource$Management$Webproperties$Patch, - options?: MethodOptions - ): Promise>; - patch( - params: Params$Resource$Management$Webproperties$Patch, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - patch( - params: Params$Resource$Management$Webproperties$Patch, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - patch( - params: Params$Resource$Management$Webproperties$Patch, - callback: BodyResponseCallback - ): void; - patch(callback: BodyResponseCallback): void; - patch( - paramsOrCallback?: - | Params$Resource$Management$Webproperties$Patch - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Webproperties$Patch; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Webproperties$Patch; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId', 'webPropertyId'], - pathParams: ['accountId', 'webPropertyId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Updates an existing web property. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/analytics.edit'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.webproperties.update({ - * // Account ID to which the web property belongs - * accountId: 'placeholder-value', - * // Web property ID - * webPropertyId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "accountId": "my_accountId", - * // "childLink": {}, - * // "created": "my_created", - * // "dataRetentionResetOnNewActivity": false, - * // "dataRetentionTtl": "my_dataRetentionTtl", - * // "defaultProfileId": "my_defaultProfileId", - * // "id": "my_id", - * // "industryVertical": "my_industryVertical", - * // "internalWebPropertyId": "my_internalWebPropertyId", - * // "kind": "my_kind", - * // "level": "my_level", - * // "name": "my_name", - * // "parentLink": {}, - * // "permissions": {}, - * // "profileCount": 0, - * // "selfLink": "my_selfLink", - * // "starred": false, - * // "updated": "my_updated", - * // "websiteUrl": "my_websiteUrl" - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "accountId": "my_accountId", - * // "childLink": {}, - * // "created": "my_created", - * // "dataRetentionResetOnNewActivity": false, - * // "dataRetentionTtl": "my_dataRetentionTtl", - * // "defaultProfileId": "my_defaultProfileId", - * // "id": "my_id", - * // "industryVertical": "my_industryVertical", - * // "internalWebPropertyId": "my_internalWebPropertyId", - * // "kind": "my_kind", - * // "level": "my_level", - * // "name": "my_name", - * // "parentLink": {}, - * // "permissions": {}, - * // "profileCount": 0, - * // "selfLink": "my_selfLink", - * // "starred": false, - * // "updated": "my_updated", - * // "websiteUrl": "my_websiteUrl" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - update( - params: Params$Resource$Management$Webproperties$Update, - options: StreamMethodOptions - ): Promise>; - update( - params?: Params$Resource$Management$Webproperties$Update, - options?: MethodOptions - ): Promise>; - update( - params: Params$Resource$Management$Webproperties$Update, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - update( - params: Params$Resource$Management$Webproperties$Update, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - update( - params: Params$Resource$Management$Webproperties$Update, - callback: BodyResponseCallback - ): void; - update(callback: BodyResponseCallback): void; - update( - paramsOrCallback?: - | Params$Resource$Management$Webproperties$Update - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Webproperties$Update; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Webproperties$Update; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PUT', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId', 'webPropertyId'], - pathParams: ['accountId', 'webPropertyId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Management$Webproperties$Get extends StandardParameters { - /** - * Account ID to retrieve the web property for. - */ - accountId?: string; - /** - * ID to retrieve the web property for. - */ - webPropertyId?: string; - } - export interface Params$Resource$Management$Webproperties$Insert extends StandardParameters { - /** - * Account ID to create the web property for. - */ - accountId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$Webproperty; - } - export interface Params$Resource$Management$Webproperties$List extends StandardParameters { - /** - * Account ID to retrieve web properties for. Can either be a specific account ID or '~all', which refers to all the accounts that user has access to. - */ - accountId?: string; - /** - * The maximum number of web properties to include in this response. - */ - 'max-results'?: number; - /** - * An index of the first entity to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. - */ - 'start-index'?: number; - } - export interface Params$Resource$Management$Webproperties$Patch extends StandardParameters { - /** - * Account ID to which the web property belongs - */ - accountId?: string; - /** - * Web property ID - */ - webPropertyId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$Webproperty; - } - export interface Params$Resource$Management$Webproperties$Update extends StandardParameters { - /** - * Account ID to which the web property belongs - */ - accountId?: string; - /** - * Web property ID - */ - webPropertyId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$Webproperty; - } - - export class Resource$Management$Webpropertyadwordslinks { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Deletes a web property-Google Ads link. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/analytics.edit'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.webPropertyAdWordsLinks.delete({ - * // ID of the account which the given web property belongs to. - * accountId: 'placeholder-value', - * // Web property Google Ads link ID. - * webPropertyAdWordsLinkId: 'placeholder-value', - * // Web property ID to delete the Google Ads link for. - * webPropertyId: 'placeholder-value', - * }); - * console.log(res.data); - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - delete( - params: Params$Resource$Management$Webpropertyadwordslinks$Delete, - options: StreamMethodOptions - ): Promise>; - delete( - params?: Params$Resource$Management$Webpropertyadwordslinks$Delete, - options?: MethodOptions - ): Promise>; - delete( - params: Params$Resource$Management$Webpropertyadwordslinks$Delete, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - delete( - params: Params$Resource$Management$Webpropertyadwordslinks$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - delete( - params: Params$Resource$Management$Webpropertyadwordslinks$Delete, - callback: BodyResponseCallback - ): void; - delete(callback: BodyResponseCallback): void; - delete( - paramsOrCallback?: - | Params$Resource$Management$Webpropertyadwordslinks$Delete - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: BodyResponseCallback | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Webpropertyadwordslinks$Delete; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = - {} as Params$Resource$Management$Webpropertyadwordslinks$Delete; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/entityAdWordsLinks/{webPropertyAdWordsLinkId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', - apiVersion: '', - }, - options - ), - params, - requiredParams: [ - 'accountId', - 'webPropertyId', - 'webPropertyAdWordsLinkId', - ], - pathParams: ['accountId', 'webPropertyAdWordsLinkId', 'webPropertyId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Returns a web property-Google Ads link to which the user has access. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/analytics.edit', - * 'https://www.googleapis.com/auth/analytics.readonly', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.webPropertyAdWordsLinks.get({ - * // ID of the account which the given web property belongs to. - * accountId: 'placeholder-value', - * // Web property-Google Ads link ID. - * webPropertyAdWordsLinkId: 'placeholder-value', - * // Web property ID to retrieve the Google Ads link for. - * webPropertyId: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "adWordsAccounts": [], - * // "entity": {}, - * // "id": "my_id", - * // "kind": "my_kind", - * // "name": "my_name", - * // "profileIds": [], - * // "selfLink": "my_selfLink" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - get( - params: Params$Resource$Management$Webpropertyadwordslinks$Get, - options: StreamMethodOptions - ): Promise>; - get( - params?: Params$Resource$Management$Webpropertyadwordslinks$Get, - options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Management$Webpropertyadwordslinks$Get, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Management$Webpropertyadwordslinks$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Management$Webpropertyadwordslinks$Get, - callback: BodyResponseCallback - ): void; - get(callback: BodyResponseCallback): void; - get( - paramsOrCallback?: - | Params$Resource$Management$Webpropertyadwordslinks$Get - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Webpropertyadwordslinks$Get; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Webpropertyadwordslinks$Get; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/entityAdWordsLinks/{webPropertyAdWordsLinkId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: [ - 'accountId', - 'webPropertyId', - 'webPropertyAdWordsLinkId', - ], - pathParams: ['accountId', 'webPropertyAdWordsLinkId', 'webPropertyId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Creates a webProperty-Google Ads link. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/analytics.edit'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.webPropertyAdWordsLinks.insert({ - * // ID of the Google Analytics account to create the link for. - * accountId: 'placeholder-value', - * // Web property ID to create the link for. - * webPropertyId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "adWordsAccounts": [], - * // "entity": {}, - * // "id": "my_id", - * // "kind": "my_kind", - * // "name": "my_name", - * // "profileIds": [], - * // "selfLink": "my_selfLink" - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "adWordsAccounts": [], - * // "entity": {}, - * // "id": "my_id", - * // "kind": "my_kind", - * // "name": "my_name", - * // "profileIds": [], - * // "selfLink": "my_selfLink" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - insert( - params: Params$Resource$Management$Webpropertyadwordslinks$Insert, - options: StreamMethodOptions - ): Promise>; - insert( - params?: Params$Resource$Management$Webpropertyadwordslinks$Insert, - options?: MethodOptions - ): Promise>; - insert( - params: Params$Resource$Management$Webpropertyadwordslinks$Insert, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - insert( - params: Params$Resource$Management$Webpropertyadwordslinks$Insert, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - insert( - params: Params$Resource$Management$Webpropertyadwordslinks$Insert, - callback: BodyResponseCallback - ): void; - insert(callback: BodyResponseCallback): void; - insert( - paramsOrCallback?: - | Params$Resource$Management$Webpropertyadwordslinks$Insert - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Webpropertyadwordslinks$Insert; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = - {} as Params$Resource$Management$Webpropertyadwordslinks$Insert; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/entityAdWordsLinks' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId', 'webPropertyId'], - pathParams: ['accountId', 'webPropertyId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Lists webProperty-Google Ads links for a given web property. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/analytics.edit', - * 'https://www.googleapis.com/auth/analytics.readonly', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.webPropertyAdWordsLinks.list({ - * // ID of the account which the given web property belongs to. - * accountId: '\d+', - * // The maximum number of webProperty-Google Ads links to include in this response. - * 'max-results': 'placeholder-value', - * // An index of the first webProperty-Google Ads link to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. - * 'start-index': 'placeholder-value', - * // Web property ID to retrieve the Google Ads links for. - * webPropertyId: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "items": [], - * // "itemsPerPage": 0, - * // "kind": "my_kind", - * // "nextLink": "my_nextLink", - * // "previousLink": "my_previousLink", - * // "startIndex": 0, - * // "totalResults": 0 - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - list( - params: Params$Resource$Management$Webpropertyadwordslinks$List, - options: StreamMethodOptions - ): Promise>; - list( - params?: Params$Resource$Management$Webpropertyadwordslinks$List, - options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Management$Webpropertyadwordslinks$List, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Management$Webpropertyadwordslinks$List, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Management$Webpropertyadwordslinks$List, - callback: BodyResponseCallback - ): void; - list(callback: BodyResponseCallback): void; - list( - paramsOrCallback?: - | Params$Resource$Management$Webpropertyadwordslinks$List - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Webpropertyadwordslinks$List; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Webpropertyadwordslinks$List; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/entityAdWordsLinks' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId', 'webPropertyId'], - pathParams: ['accountId', 'webPropertyId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Updates an existing webProperty-Google Ads link. This method supports patch semantics. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/analytics.edit'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.webPropertyAdWordsLinks.patch({ - * // ID of the account which the given web property belongs to. - * accountId: 'placeholder-value', - * // Web property-Google Ads link ID. - * webPropertyAdWordsLinkId: 'placeholder-value', - * // Web property ID to retrieve the Google Ads link for. - * webPropertyId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "adWordsAccounts": [], - * // "entity": {}, - * // "id": "my_id", - * // "kind": "my_kind", - * // "name": "my_name", - * // "profileIds": [], - * // "selfLink": "my_selfLink" - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "adWordsAccounts": [], - * // "entity": {}, - * // "id": "my_id", - * // "kind": "my_kind", - * // "name": "my_name", - * // "profileIds": [], - * // "selfLink": "my_selfLink" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - patch( - params: Params$Resource$Management$Webpropertyadwordslinks$Patch, - options: StreamMethodOptions - ): Promise>; - patch( - params?: Params$Resource$Management$Webpropertyadwordslinks$Patch, - options?: MethodOptions - ): Promise>; - patch( - params: Params$Resource$Management$Webpropertyadwordslinks$Patch, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - patch( - params: Params$Resource$Management$Webpropertyadwordslinks$Patch, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - patch( - params: Params$Resource$Management$Webpropertyadwordslinks$Patch, - callback: BodyResponseCallback - ): void; - patch(callback: BodyResponseCallback): void; - patch( - paramsOrCallback?: - | Params$Resource$Management$Webpropertyadwordslinks$Patch - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Webpropertyadwordslinks$Patch; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Webpropertyadwordslinks$Patch; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/entityAdWordsLinks/{webPropertyAdWordsLinkId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', - apiVersion: '', - }, - options - ), - params, - requiredParams: [ - 'accountId', - 'webPropertyId', - 'webPropertyAdWordsLinkId', - ], - pathParams: ['accountId', 'webPropertyAdWordsLinkId', 'webPropertyId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Updates an existing webProperty-Google Ads link. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/analytics.edit'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.webPropertyAdWordsLinks.update({ - * // ID of the account which the given web property belongs to. - * accountId: 'placeholder-value', - * // Web property-Google Ads link ID. - * webPropertyAdWordsLinkId: 'placeholder-value', - * // Web property ID to retrieve the Google Ads link for. - * webPropertyId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "adWordsAccounts": [], - * // "entity": {}, - * // "id": "my_id", - * // "kind": "my_kind", - * // "name": "my_name", - * // "profileIds": [], - * // "selfLink": "my_selfLink" - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "adWordsAccounts": [], - * // "entity": {}, - * // "id": "my_id", - * // "kind": "my_kind", - * // "name": "my_name", - * // "profileIds": [], - * // "selfLink": "my_selfLink" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - update( - params: Params$Resource$Management$Webpropertyadwordslinks$Update, - options: StreamMethodOptions - ): Promise>; - update( - params?: Params$Resource$Management$Webpropertyadwordslinks$Update, - options?: MethodOptions - ): Promise>; - update( - params: Params$Resource$Management$Webpropertyadwordslinks$Update, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - update( - params: Params$Resource$Management$Webpropertyadwordslinks$Update, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - update( - params: Params$Resource$Management$Webpropertyadwordslinks$Update, - callback: BodyResponseCallback - ): void; - update(callback: BodyResponseCallback): void; - update( - paramsOrCallback?: - | Params$Resource$Management$Webpropertyadwordslinks$Update - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Webpropertyadwordslinks$Update; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = - {} as Params$Resource$Management$Webpropertyadwordslinks$Update; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/entityAdWordsLinks/{webPropertyAdWordsLinkId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PUT', - apiVersion: '', - }, - options - ), - params, - requiredParams: [ - 'accountId', - 'webPropertyId', - 'webPropertyAdWordsLinkId', - ], - pathParams: ['accountId', 'webPropertyAdWordsLinkId', 'webPropertyId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Management$Webpropertyadwordslinks$Delete extends StandardParameters { - /** - * ID of the account which the given web property belongs to. - */ - accountId?: string; - /** - * Web property Google Ads link ID. - */ - webPropertyAdWordsLinkId?: string; - /** - * Web property ID to delete the Google Ads link for. - */ - webPropertyId?: string; - } - export interface Params$Resource$Management$Webpropertyadwordslinks$Get extends StandardParameters { - /** - * ID of the account which the given web property belongs to. - */ - accountId?: string; - /** - * Web property-Google Ads link ID. - */ - webPropertyAdWordsLinkId?: string; - /** - * Web property ID to retrieve the Google Ads link for. - */ - webPropertyId?: string; - } - export interface Params$Resource$Management$Webpropertyadwordslinks$Insert extends StandardParameters { - /** - * ID of the Google Analytics account to create the link for. - */ - accountId?: string; - /** - * Web property ID to create the link for. - */ - webPropertyId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$EntityAdWordsLink; - } - export interface Params$Resource$Management$Webpropertyadwordslinks$List extends StandardParameters { - /** - * ID of the account which the given web property belongs to. - */ - accountId?: string; - /** - * The maximum number of webProperty-Google Ads links to include in this response. - */ - 'max-results'?: number; - /** - * An index of the first webProperty-Google Ads link to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. - */ - 'start-index'?: number; - /** - * Web property ID to retrieve the Google Ads links for. - */ - webPropertyId?: string; - } - export interface Params$Resource$Management$Webpropertyadwordslinks$Patch extends StandardParameters { - /** - * ID of the account which the given web property belongs to. - */ - accountId?: string; - /** - * Web property-Google Ads link ID. - */ - webPropertyAdWordsLinkId?: string; - /** - * Web property ID to retrieve the Google Ads link for. - */ - webPropertyId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$EntityAdWordsLink; - } - export interface Params$Resource$Management$Webpropertyadwordslinks$Update extends StandardParameters { - /** - * ID of the account which the given web property belongs to. - */ - accountId?: string; - /** - * Web property-Google Ads link ID. - */ - webPropertyAdWordsLinkId?: string; - /** - * Web property ID to retrieve the Google Ads link for. - */ - webPropertyId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$EntityAdWordsLink; - } - - export class Resource$Management$Webpropertyuserlinks { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Removes a user from the given web property. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/analytics.manage.users'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.webpropertyUserLinks.delete({ - * // Account ID to delete the user link for. - * accountId: 'placeholder-value', - * // Link ID to delete the user link for. - * linkId: 'placeholder-value', - * // Web Property ID to delete the user link for. - * webPropertyId: 'placeholder-value', - * }); - * console.log(res.data); - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - delete( - params: Params$Resource$Management$Webpropertyuserlinks$Delete, - options: StreamMethodOptions - ): Promise>; - delete( - params?: Params$Resource$Management$Webpropertyuserlinks$Delete, - options?: MethodOptions - ): Promise>; - delete( - params: Params$Resource$Management$Webpropertyuserlinks$Delete, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - delete( - params: Params$Resource$Management$Webpropertyuserlinks$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - delete( - params: Params$Resource$Management$Webpropertyuserlinks$Delete, - callback: BodyResponseCallback - ): void; - delete(callback: BodyResponseCallback): void; - delete( - paramsOrCallback?: - | Params$Resource$Management$Webpropertyuserlinks$Delete - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: BodyResponseCallback | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Webpropertyuserlinks$Delete; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Webpropertyuserlinks$Delete; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/entityUserLinks/{linkId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId', 'webPropertyId', 'linkId'], - pathParams: ['accountId', 'linkId', 'webPropertyId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Adds a new user to the given web property. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/analytics.manage.users'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.webpropertyUserLinks.insert({ - * // Account ID to create the user link for. - * accountId: 'placeholder-value', - * // Web Property ID to create the user link for. - * webPropertyId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "entity": {}, - * // "id": "my_id", - * // "kind": "my_kind", - * // "permissions": {}, - * // "selfLink": "my_selfLink", - * // "userRef": {} - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "entity": {}, - * // "id": "my_id", - * // "kind": "my_kind", - * // "permissions": {}, - * // "selfLink": "my_selfLink", - * // "userRef": {} - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - insert( - params: Params$Resource$Management$Webpropertyuserlinks$Insert, - options: StreamMethodOptions - ): Promise>; - insert( - params?: Params$Resource$Management$Webpropertyuserlinks$Insert, - options?: MethodOptions - ): Promise>; - insert( - params: Params$Resource$Management$Webpropertyuserlinks$Insert, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - insert( - params: Params$Resource$Management$Webpropertyuserlinks$Insert, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - insert( - params: Params$Resource$Management$Webpropertyuserlinks$Insert, - callback: BodyResponseCallback - ): void; - insert(callback: BodyResponseCallback): void; - insert( - paramsOrCallback?: - | Params$Resource$Management$Webpropertyuserlinks$Insert - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Webpropertyuserlinks$Insert; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Webpropertyuserlinks$Insert; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/entityUserLinks' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId', 'webPropertyId'], - pathParams: ['accountId', 'webPropertyId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Lists webProperty-user links for a given web property. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/analytics.manage.users', - * 'https://www.googleapis.com/auth/analytics.manage.users.readonly', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.webpropertyUserLinks.list({ - * // Account ID which the given web property belongs to. - * accountId: 'placeholder-value', - * // The maximum number of webProperty-user Links to include in this response. - * 'max-results': 'placeholder-value', - * // An index of the first webProperty-user link to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. - * 'start-index': 'placeholder-value', - * // Web Property ID for the webProperty-user links to retrieve. Can either be a specific web property ID or '~all', which refers to all the web properties that user has access to. - * webPropertyId: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "items": [], - * // "itemsPerPage": 0, - * // "kind": "my_kind", - * // "nextLink": "my_nextLink", - * // "previousLink": "my_previousLink", - * // "startIndex": 0, - * // "totalResults": 0 - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - list( - params: Params$Resource$Management$Webpropertyuserlinks$List, - options: StreamMethodOptions - ): Promise>; - list( - params?: Params$Resource$Management$Webpropertyuserlinks$List, - options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Management$Webpropertyuserlinks$List, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Management$Webpropertyuserlinks$List, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Management$Webpropertyuserlinks$List, - callback: BodyResponseCallback - ): void; - list(callback: BodyResponseCallback): void; - list( - paramsOrCallback?: - | Params$Resource$Management$Webpropertyuserlinks$List - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Webpropertyuserlinks$List; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Webpropertyuserlinks$List; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/entityUserLinks' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId', 'webPropertyId'], - pathParams: ['accountId', 'webPropertyId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Updates permissions for an existing user on the given web property. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/analytics.manage.users'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.management.webpropertyUserLinks.update({ - * // Account ID to update the account-user link for. - * accountId: 'placeholder-value', - * // Link ID to update the account-user link for. - * linkId: 'placeholder-value', - * // Web property ID to update the account-user link for. - * webPropertyId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "entity": {}, - * // "id": "my_id", - * // "kind": "my_kind", - * // "permissions": {}, - * // "selfLink": "my_selfLink", - * // "userRef": {} - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "entity": {}, - * // "id": "my_id", - * // "kind": "my_kind", - * // "permissions": {}, - * // "selfLink": "my_selfLink", - * // "userRef": {} - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - update( - params: Params$Resource$Management$Webpropertyuserlinks$Update, - options: StreamMethodOptions - ): Promise>; - update( - params?: Params$Resource$Management$Webpropertyuserlinks$Update, - options?: MethodOptions - ): Promise>; - update( - params: Params$Resource$Management$Webpropertyuserlinks$Update, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - update( - params: Params$Resource$Management$Webpropertyuserlinks$Update, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - update( - params: Params$Resource$Management$Webpropertyuserlinks$Update, - callback: BodyResponseCallback - ): void; - update(callback: BodyResponseCallback): void; - update( - paramsOrCallback?: - | Params$Resource$Management$Webpropertyuserlinks$Update - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Management$Webpropertyuserlinks$Update; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Management$Webpropertyuserlinks$Update; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/analytics/v3/management/accounts/{accountId}/webproperties/{webPropertyId}/entityUserLinks/{linkId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PUT', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['accountId', 'webPropertyId', 'linkId'], - pathParams: ['accountId', 'linkId', 'webPropertyId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Management$Webpropertyuserlinks$Delete extends StandardParameters { - /** - * Account ID to delete the user link for. - */ - accountId?: string; - /** - * Link ID to delete the user link for. - */ - linkId?: string; - /** - * Web Property ID to delete the user link for. - */ - webPropertyId?: string; - } - export interface Params$Resource$Management$Webpropertyuserlinks$Insert extends StandardParameters { - /** - * Account ID to create the user link for. - */ - accountId?: string; - /** - * Web Property ID to create the user link for. - */ - webPropertyId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$EntityUserLink; - } - export interface Params$Resource$Management$Webpropertyuserlinks$List extends StandardParameters { - /** - * Account ID which the given web property belongs to. - */ - accountId?: string; - /** - * The maximum number of webProperty-user Links to include in this response. - */ - 'max-results'?: number; - /** - * An index of the first webProperty-user link to retrieve. Use this parameter as a pagination mechanism along with the max-results parameter. - */ - 'start-index'?: number; - /** - * Web Property ID for the webProperty-user links to retrieve. Can either be a specific web property ID or '~all', which refers to all the web properties that user has access to. - */ - webPropertyId?: string; - } - export interface Params$Resource$Management$Webpropertyuserlinks$Update extends StandardParameters { - /** - * Account ID to update the account-user link for. - */ - accountId?: string; - /** - * Link ID to update the account-user link for. - */ - linkId?: string; - /** - * Web property ID to update the account-user link for. - */ - webPropertyId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$EntityUserLink; - } - - export class Resource$Metadata { - context: APIRequestContext; - columns: Resource$Metadata$Columns; - constructor(context: APIRequestContext) { - this.context = context; - this.columns = new Resource$Metadata$Columns(this.context); - } - } - - export class Resource$Metadata$Columns { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Lists all columns for a report type - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/analytics', - * 'https://www.googleapis.com/auth/analytics.edit', - * 'https://www.googleapis.com/auth/analytics.readonly', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.metadata.columns.list({ - * // Report type. Allowed Values: 'ga'. Where 'ga' corresponds to the Core Reporting API - * reportType: 'ga', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "attributeNames": [], - * // "etag": "my_etag", - * // "items": [], - * // "kind": "my_kind", - * // "totalResults": 0 - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - list( - params: Params$Resource$Metadata$Columns$List, - options: StreamMethodOptions - ): Promise>; - list( - params?: Params$Resource$Metadata$Columns$List, - options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Metadata$Columns$List, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Metadata$Columns$List, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Metadata$Columns$List, - callback: BodyResponseCallback - ): void; - list(callback: BodyResponseCallback): void; - list( - paramsOrCallback?: - | Params$Resource$Metadata$Columns$List - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Metadata$Columns$List; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Metadata$Columns$List; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/analytics/v3/metadata/{reportType}/columns' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['reportType'], - pathParams: ['reportType'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Metadata$Columns$List extends StandardParameters { - /** - * Report type. Allowed Values: 'ga'. Where 'ga' corresponds to the Core Reporting API - */ - reportType?: string; - } - - export class Resource$Provisioning { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Creates an account ticket. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/analytics.provision'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.provisioning.createAccountTicket({ - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "account": {}, - * // "id": "my_id", - * // "kind": "my_kind", - * // "profile": {}, - * // "redirectUri": "my_redirectUri", - * // "webproperty": {} - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "account": {}, - * // "id": "my_id", - * // "kind": "my_kind", - * // "profile": {}, - * // "redirectUri": "my_redirectUri", - * // "webproperty": {} - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - createAccountTicket( - params: Params$Resource$Provisioning$Createaccountticket, - options: StreamMethodOptions - ): Promise>; - createAccountTicket( - params?: Params$Resource$Provisioning$Createaccountticket, - options?: MethodOptions - ): Promise>; - createAccountTicket( - params: Params$Resource$Provisioning$Createaccountticket, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - createAccountTicket( - params: Params$Resource$Provisioning$Createaccountticket, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - createAccountTicket( - params: Params$Resource$Provisioning$Createaccountticket, - callback: BodyResponseCallback - ): void; - createAccountTicket( - callback: BodyResponseCallback - ): void; - createAccountTicket( - paramsOrCallback?: - | Params$Resource$Provisioning$Createaccountticket - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Provisioning$Createaccountticket; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Provisioning$Createaccountticket; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/analytics/v3/provisioning/createAccountTicket' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: [], - pathParams: [], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Provision account. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/analytics.provision'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.provisioning.createAccountTree({ - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "accountName": "my_accountName", - * // "kind": "my_kind", - * // "profileName": "my_profileName", - * // "timezone": "my_timezone", - * // "webpropertyName": "my_webpropertyName", - * // "websiteUrl": "my_websiteUrl" - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "account": {}, - * // "kind": "my_kind", - * // "profile": {}, - * // "webproperty": {} - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - createAccountTree( - params: Params$Resource$Provisioning$Createaccounttree, - options: StreamMethodOptions - ): Promise>; - createAccountTree( - params?: Params$Resource$Provisioning$Createaccounttree, - options?: MethodOptions - ): Promise>; - createAccountTree( - params: Params$Resource$Provisioning$Createaccounttree, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - createAccountTree( - params: Params$Resource$Provisioning$Createaccounttree, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - createAccountTree( - params: Params$Resource$Provisioning$Createaccounttree, - callback: BodyResponseCallback - ): void; - createAccountTree( - callback: BodyResponseCallback - ): void; - createAccountTree( - paramsOrCallback?: - | Params$Resource$Provisioning$Createaccounttree - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Provisioning$Createaccounttree; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Provisioning$Createaccounttree; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/analytics/v3/provisioning/createAccountTree' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: [], - pathParams: [], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Provisioning$Createaccountticket extends StandardParameters { - /** - * Request body metadata - */ - requestBody?: Schema$AccountTicket; - } - export interface Params$Resource$Provisioning$Createaccounttree extends StandardParameters { - /** - * Request body metadata - */ - requestBody?: Schema$AccountTreeRequest; - } - - export class Resource$Userdeletion { - context: APIRequestContext; - userDeletionRequest: Resource$Userdeletion$Userdeletionrequest; - constructor(context: APIRequestContext) { - this.context = context; - this.userDeletionRequest = new Resource$Userdeletion$Userdeletionrequest( - this.context - ); - } - } - - export class Resource$Userdeletion$Userdeletionrequest { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Insert or update a user deletion requests. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/analytics.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const analytics = google.analytics('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/analytics.user.deletion'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await analytics.userDeletion.userDeletionRequest.upsert({ - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "deletionRequestTime": "my_deletionRequestTime", - * // "firebaseProjectId": "my_firebaseProjectId", - * // "id": {}, - * // "kind": "my_kind", - * // "propertyId": "my_propertyId", - * // "webPropertyId": "my_webPropertyId" - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "deletionRequestTime": "my_deletionRequestTime", - * // "firebaseProjectId": "my_firebaseProjectId", - * // "id": {}, - * // "kind": "my_kind", - * // "propertyId": "my_propertyId", - * // "webPropertyId": "my_webPropertyId" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - upsert( - params: Params$Resource$Userdeletion$Userdeletionrequest$Upsert, - options: StreamMethodOptions - ): Promise>; - upsert( - params?: Params$Resource$Userdeletion$Userdeletionrequest$Upsert, - options?: MethodOptions - ): Promise>; - upsert( - params: Params$Resource$Userdeletion$Userdeletionrequest$Upsert, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - upsert( - params: Params$Resource$Userdeletion$Userdeletionrequest$Upsert, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - upsert( - params: Params$Resource$Userdeletion$Userdeletionrequest$Upsert, - callback: BodyResponseCallback - ): void; - upsert(callback: BodyResponseCallback): void; - upsert( - paramsOrCallback?: - | Params$Resource$Userdeletion$Userdeletionrequest$Upsert - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Userdeletion$Userdeletionrequest$Upsert; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Userdeletion$Userdeletionrequest$Upsert; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://analytics.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/analytics/v3/userDeletion/userDeletionRequests:upsert' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: [], - pathParams: [], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Userdeletion$Userdeletionrequest$Upsert extends StandardParameters { - /** - * Request body metadata - */ - requestBody?: Schema$UserDeletionRequest; - } -} diff --git a/src/apis/androidpublisher/v3.ts b/src/apis/androidpublisher/v3.ts index 1a01a7feac2..3c9896a8b9c 100644 --- a/src/apis/androidpublisher/v3.ts +++ b/src/apis/androidpublisher/v3.ts @@ -1863,7 +1863,7 @@ export namespace androidpublisher_v3 { generatedApks?: Schema$GeneratedApksPerSigningKey[]; } /** - * Download metadata for split, standalone and universal APKs, as well as asset pack slices, signed with a given key. Next ID: 10 + * Download metadata for split, standalone and universal APKs, as well as asset pack slices, signed with a given key. */ export interface Schema$GeneratedApksPerSigningKey { /** diff --git a/src/apis/apphub/v1.ts b/src/apis/apphub/v1.ts index 6dea67d0c0a..0717e2462d9 100644 --- a/src/apis/apphub/v1.ts +++ b/src/apis/apphub/v1.ts @@ -1755,7 +1755,7 @@ export namespace apphub_v1 { * name: 'projects/my-project/locations/my-location/boundary', * // 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). * requestId: 'placeholder-value', - * // Required. Field mask is used to specify the fields to be overwritten in the Boundary 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. + * // Optional. Field mask is used to specify the fields to be overwritten in the Boundary 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. * updateMask: 'placeholder-value', * * // Request body metadata @@ -1936,7 +1936,7 @@ export namespace apphub_v1 { */ requestId?: string; /** - * Required. Field mask is used to specify the fields to be overwritten in the Boundary 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. + * Optional. Field mask is used to specify the fields to be overwritten in the Boundary 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. */ updateMask?: string; @@ -2731,7 +2731,7 @@ export namespace apphub_v1 { * name: 'projects/my-project/locations/my-location/applications/my-application', * // 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). * requestId: 'placeholder-value', - * // Required. Field mask is used to specify the fields to be overwritten in the Application resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. The API changes the values of the fields as specified in the update_mask. The API ignores the values of all fields not covered by the update_mask. You can also unset a field by not specifying it in the updated message, but adding the field to the mask. This clears whatever value the field previously had. + * // Optional. Field mask is used to specify the fields to be overwritten in the Application resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. The API changes the values of the fields as specified in the update_mask. The API ignores the values of all fields not covered by the update_mask. You can also unset a field by not specifying it in the updated message, but adding the field to the mask. This clears whatever value the field previously had. * updateMask: 'placeholder-value', * * // Request body metadata @@ -3234,7 +3234,7 @@ export namespace apphub_v1 { */ requestId?: string; /** - * Required. Field mask is used to specify the fields to be overwritten in the Application resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. The API changes the values of the fields as specified in the update_mask. The API ignores the values of all fields not covered by the update_mask. You can also unset a field by not specifying it in the updated message, but adding the field to the mask. This clears whatever value the field previously had. + * Optional. Field mask is used to specify the fields to be overwritten in the Application resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. The API changes the values of the fields as specified in the update_mask. The API ignores the values of all fields not covered by the update_mask. You can also unset a field by not specifying it in the updated message, but adding the field to the mask. This clears whatever value the field previously had. */ updateMask?: string; @@ -3909,7 +3909,7 @@ export namespace apphub_v1 { * name: 'projects/my-project/locations/my-location/applications/my-application/services/my-service', * // 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). * requestId: 'placeholder-value', - * // Required. Field mask is used to specify the fields to be overwritten in the Service resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. The API changes the values of the fields as specified in the update_mask. The API ignores the values of all fields not covered by the update_mask. You can also unset a field by not specifying it in the updated message, but adding the field to the mask. This clears whatever value the field previously had. + * // Optional. Field mask is used to specify the fields to be overwritten in the Service resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. The API changes the values of the fields as specified in the update_mask. The API ignores the values of all fields not covered by the update_mask. You can also unset a field by not specifying it in the updated message, but adding the field to the mask. This clears whatever value the field previously had. * updateMask: 'placeholder-value', * * // Request body metadata @@ -4103,7 +4103,7 @@ export namespace apphub_v1 { */ requestId?: string; /** - * Required. Field mask is used to specify the fields to be overwritten in the Service resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. The API changes the values of the fields as specified in the update_mask. The API ignores the values of all fields not covered by the update_mask. You can also unset a field by not specifying it in the updated message, but adding the field to the mask. This clears whatever value the field previously had. + * Optional. Field mask is used to specify the fields to be overwritten in the Service resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. The API changes the values of the fields as specified in the update_mask. The API ignores the values of all fields not covered by the update_mask. You can also unset a field by not specifying it in the updated message, but adding the field to the mask. This clears whatever value the field previously had. */ updateMask?: string; @@ -4756,7 +4756,7 @@ export namespace apphub_v1 { * name: 'projects/my-project/locations/my-location/applications/my-application/workloads/my-workload', * // 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). * requestId: 'placeholder-value', - * // Required. Field mask is used to specify the fields to be overwritten in the Workload resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. The API changes the values of the fields as specified in the update_mask. The API ignores the values of all fields not covered by the update_mask. You can also unset a field by not specifying it in the updated message, but adding the field to the mask. This clears whatever value the field previously had. + * // Optional. Field mask is used to specify the fields to be overwritten in the Workload resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. The API changes the values of the fields as specified in the update_mask. The API ignores the values of all fields not covered by the update_mask. You can also unset a field by not specifying it in the updated message, but adding the field to the mask. This clears whatever value the field previously had. * updateMask: 'placeholder-value', * * // Request body metadata @@ -4950,7 +4950,7 @@ export namespace apphub_v1 { */ requestId?: string; /** - * Required. Field mask is used to specify the fields to be overwritten in the Workload resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. The API changes the values of the fields as specified in the update_mask. The API ignores the values of all fields not covered by the update_mask. You can also unset a field by not specifying it in the updated message, but adding the field to the mask. This clears whatever value the field previously had. + * Optional. Field mask is used to specify the fields to be overwritten in the Workload resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. The API changes the values of the fields as specified in the update_mask. The API ignores the values of all fields not covered by the update_mask. You can also unset a field by not specifying it in the updated message, but adding the field to the mask. This clears whatever value the field previously had. */ updateMask?: string; diff --git a/src/apis/apphub/v1alpha.ts b/src/apis/apphub/v1alpha.ts index 455fa501e26..dd29cb2b15e 100644 --- a/src/apis/apphub/v1alpha.ts +++ b/src/apis/apphub/v1alpha.ts @@ -1805,7 +1805,7 @@ export namespace apphub_v1alpha { * name: 'projects/my-project/locations/my-location/boundary', * // 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). * requestId: 'placeholder-value', - * // Required. Field mask is used to specify the fields to be overwritten in the Boundary 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. + * // Optional. Field mask is used to specify the fields to be overwritten in the Boundary 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. * updateMask: 'placeholder-value', * * // Request body metadata @@ -1986,7 +1986,7 @@ export namespace apphub_v1alpha { */ requestId?: string; /** - * Required. Field mask is used to specify the fields to be overwritten in the Boundary 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. + * Optional. Field mask is used to specify the fields to be overwritten in the Boundary 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. */ updateMask?: string; @@ -2781,7 +2781,7 @@ export namespace apphub_v1alpha { * name: 'projects/my-project/locations/my-location/applications/my-application', * // 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). * requestId: 'placeholder-value', - * // Required. Field mask is used to specify the fields to be overwritten in the Application resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. The API changes the values of the fields as specified in the update_mask. The API ignores the values of all fields not covered by the update_mask. You can also unset a field by not specifying it in the updated message, but adding the field to the mask. This clears whatever value the field previously had. + * // Optional. Field mask is used to specify the fields to be overwritten in the Application resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. The API changes the values of the fields as specified in the update_mask. The API ignores the values of all fields not covered by the update_mask. You can also unset a field by not specifying it in the updated message, but adding the field to the mask. This clears whatever value the field previously had. * updateMask: 'placeholder-value', * * // Request body metadata @@ -3284,7 +3284,7 @@ export namespace apphub_v1alpha { */ requestId?: string; /** - * Required. Field mask is used to specify the fields to be overwritten in the Application resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. The API changes the values of the fields as specified in the update_mask. The API ignores the values of all fields not covered by the update_mask. You can also unset a field by not specifying it in the updated message, but adding the field to the mask. This clears whatever value the field previously had. + * Optional. Field mask is used to specify the fields to be overwritten in the Application resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. The API changes the values of the fields as specified in the update_mask. The API ignores the values of all fields not covered by the update_mask. You can also unset a field by not specifying it in the updated message, but adding the field to the mask. This clears whatever value the field previously had. */ updateMask?: string; @@ -3959,7 +3959,7 @@ export namespace apphub_v1alpha { * name: 'projects/my-project/locations/my-location/applications/my-application/services/my-service', * // 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). * requestId: 'placeholder-value', - * // Required. Field mask is used to specify the fields to be overwritten in the Service resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. The API changes the values of the fields as specified in the update_mask. The API ignores the values of all fields not covered by the update_mask. You can also unset a field by not specifying it in the updated message, but adding the field to the mask. This clears whatever value the field previously had. + * // Optional. Field mask is used to specify the fields to be overwritten in the Service resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. The API changes the values of the fields as specified in the update_mask. The API ignores the values of all fields not covered by the update_mask. You can also unset a field by not specifying it in the updated message, but adding the field to the mask. This clears whatever value the field previously had. * updateMask: 'placeholder-value', * * // Request body metadata @@ -4153,7 +4153,7 @@ export namespace apphub_v1alpha { */ requestId?: string; /** - * Required. Field mask is used to specify the fields to be overwritten in the Service resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. The API changes the values of the fields as specified in the update_mask. The API ignores the values of all fields not covered by the update_mask. You can also unset a field by not specifying it in the updated message, but adding the field to the mask. This clears whatever value the field previously had. + * Optional. Field mask is used to specify the fields to be overwritten in the Service resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. The API changes the values of the fields as specified in the update_mask. The API ignores the values of all fields not covered by the update_mask. You can also unset a field by not specifying it in the updated message, but adding the field to the mask. This clears whatever value the field previously had. */ updateMask?: string; @@ -4806,7 +4806,7 @@ export namespace apphub_v1alpha { * name: 'projects/my-project/locations/my-location/applications/my-application/workloads/my-workload', * // 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). * requestId: 'placeholder-value', - * // Required. Field mask is used to specify the fields to be overwritten in the Workload resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. The API changes the values of the fields as specified in the update_mask. The API ignores the values of all fields not covered by the update_mask. You can also unset a field by not specifying it in the updated message, but adding the field to the mask. This clears whatever value the field previously had. + * // Optional. Field mask is used to specify the fields to be overwritten in the Workload resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. The API changes the values of the fields as specified in the update_mask. The API ignores the values of all fields not covered by the update_mask. You can also unset a field by not specifying it in the updated message, but adding the field to the mask. This clears whatever value the field previously had. * updateMask: 'placeholder-value', * * // Request body metadata @@ -5000,7 +5000,7 @@ export namespace apphub_v1alpha { */ requestId?: string; /** - * Required. Field mask is used to specify the fields to be overwritten in the Workload resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. The API changes the values of the fields as specified in the update_mask. The API ignores the values of all fields not covered by the update_mask. You can also unset a field by not specifying it in the updated message, but adding the field to the mask. This clears whatever value the field previously had. + * Optional. Field mask is used to specify the fields to be overwritten in the Workload resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. The API changes the values of the fields as specified in the update_mask. The API ignores the values of all fields not covered by the update_mask. You can also unset a field by not specifying it in the updated message, but adding the field to the mask. This clears whatever value the field previously had. */ updateMask?: string; diff --git a/src/apis/artifactregistry/v1.ts b/src/apis/artifactregistry/v1.ts index 14dcaa8eb89..7198e8a9a18 100644 --- a/src/apis/artifactregistry/v1.ts +++ b/src/apis/artifactregistry/v1.ts @@ -250,6 +250,32 @@ export namespace artifactregistry_v1 { * The request message for Operations.CancelOperation. */ export interface Schema$CancelOperationRequest {} + /** + * The request for checking an artifact for streaming. + */ + export interface Schema$CheckPrewarmedArtifactRequest { + /** + * Optional. The location of the prewarmed artifact. multi-region is not supported for this field. + */ + streamLocation?: string | null; + /** + * Optional. The artifact tag Format:projects/{project\}/locations/{location\}/repositories/{repository\}/packages/{package\}/tags/{tag\} + */ + tag?: string | null; + /** + * Optional. The artifact version Format: projects/{project\}/locations/{location\}/repositories/{repository\}/packages/{package\}/versions/{version\} + */ + version?: string | null; + } + /** + * The response for checking an artifact for streaming. + */ + export interface Schema$CheckPrewarmedArtifactResponse { + /** + * The prewarmed artifact that was checked. + */ + prewarmedArtifact?: Schema$PrewarmedArtifact; + } /** * Artifact policy configuration for repository cleanup policies. */ @@ -974,6 +1000,19 @@ export namespace artifactregistry_v1 { */ packages?: Schema$Package[]; } + /** + * The response for listing artifacts for streaming. + */ + export interface Schema$ListPrewarmedArtifactsResponse { + /** + * The token to retrieve the next page of prewarmed artifacts, or empty if there are no more streamings to return. + */ + nextPageToken?: string | null; + /** + * The prewarmed artifacts. + */ + prewarmedArtifacts?: Schema$PrewarmedArtifact[]; + } /** * The response from listing python packages. */ @@ -1249,6 +1288,57 @@ export namespace artifactregistry_v1 { */ version?: number | null; } + /** + * The request for prewarming an artifact for streaming. + */ + export interface Schema$PrewarmArtifactRequest { + /** + * Optional. If true, old artifact will be evicted to make room for the new artifact. + */ + force?: boolean | null; + /** + * Optional. The retention days of the prewarmed artifact. If not specified, the artifact will be cached for 3 days. + */ + retentionDays?: string | null; + /** + * Optional. The location to cache the artifact in. If not specified, the artifact will be cached in the same location as the artifact. multi-region is not supported for this field. + */ + streamLocation?: string | null; + /** + * Optional. The artifact tag Format:projects/{project\}/locations/{location\}/repositories/{repository\}/packages/{package\}/tags/{tag\} + */ + tag?: string | null; + /** + * Optional. The artifact version Format: projects/{project\}/locations/{location\}/repositories/{repository\}/packages/{package\}/versions/{version\} + */ + version?: string | null; + } + /** + * The response for prewarming an artifact for streaming. + */ + export interface Schema$PrewarmArtifactResponse { + /** + * The prewarmed artifact that was prewarmed. + */ + prewarmedArtifact?: Schema$PrewarmedArtifact; + } + /** + * PrewarmedArtifact represents a streamed artifact. + */ + export interface Schema$PrewarmedArtifact { + /** + * The expiration time of the prewarmed artifact. + */ + expirationTime?: string | null; + /** + * The location of the prewarmed artifact. + */ + location?: string | null; + /** + * URL to access the image. Example: us-west4-docker.pkg.dev/test-project/test-repo/nginx@sha256:e9954c1fc875017be1c3e36eca16be2d9e9bccc4bf072163515467d6a823c7cf + */ + uri?: string | null; + } /** * The Artifact Registry logging configurations that apply to a Project. */ @@ -1366,6 +1456,32 @@ export namespace artifactregistry_v1 { */ yumRepository?: Schema$YumRepository; } + /** + * The request for removing an artifact from streaming. + */ + export interface Schema$RemovePrewarmedArtifactRequest { + /** + * Optional. The location of the prewarmed artifact. multi-region is not supported for this field. + */ + streamLocation?: string | null; + /** + * Optional. The artifact tag Format:projects/{project\}/locations/{location\}/repositories/{repository\}/packages/{package\}/tags/{tag\} + */ + tag?: string | null; + /** + * Optional. The artifact version Format: projects/{project\}/locations/{location\}/repositories/{repository\}/packages/{package\}/versions/{version\} + */ + version?: string | null; + } + /** + * The response for removing an artifact from streaming. + */ + export interface Schema$RemovePrewarmedArtifactResponse { + /** + * The prewarmed artifact that was removed. + */ + prewarmedArtifact?: Schema$PrewarmedArtifact; + } /** * A Repository for storing artifacts with a specific format. */ @@ -2596,7 +2712,7 @@ export namespace artifactregistry_v1 { } /** - * Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the [ListLocationsRequest.name] field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project\}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version. + * Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project\}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version. * @example * ```js * // Before running the sample: @@ -2629,7 +2745,7 @@ export namespace artifactregistry_v1 { * * // Do the magic * const res = await artifactregistry.projects.locations.list({ - * // Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage. + * // Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage. * extraLocationTypes: 'placeholder-value', * // 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). * filter: 'placeholder-value', @@ -3064,7 +3180,7 @@ export namespace artifactregistry_v1 { } export interface Params$Resource$Projects$Locations$List extends StandardParameters { /** - * Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage. + * Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage. */ extraLocationTypes?: string[]; /** @@ -3434,6 +3550,7 @@ export namespace artifactregistry_v1 { mavenArtifacts: Resource$Projects$Locations$Repositories$Mavenartifacts; npmPackages: Resource$Projects$Locations$Repositories$Npmpackages; packages: Resource$Projects$Locations$Repositories$Packages; + prewarmedArtifacts: Resource$Projects$Locations$Repositories$Prewarmedartifacts; pythonPackages: Resource$Projects$Locations$Repositories$Pythonpackages; rules: Resource$Projects$Locations$Repositories$Rules; yumArtifacts: Resource$Projects$Locations$Repositories$Yumartifacts; @@ -3470,6 +3587,10 @@ export namespace artifactregistry_v1 { this.packages = new Resource$Projects$Locations$Repositories$Packages( this.context ); + this.prewarmedArtifacts = + new Resource$Projects$Locations$Repositories$Prewarmedartifacts( + this.context + ); this.pythonPackages = new Resource$Projects$Locations$Repositories$Pythonpackages( this.context @@ -3481,6 +3602,168 @@ export namespace artifactregistry_v1 { new Resource$Projects$Locations$Repositories$Yumartifacts(this.context); } + /** + * Checks an artifact streaming. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/artifactregistry.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const artifactregistry = google.artifactregistry('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/cloud-platform.read-only', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await artifactregistry.projects.locations.repositories.checkPrewarmedArtifact( + * { + * // Required. The name of the repository, for example: `projects/p1/locations/us-central1/repositories/repo1`. If the package or version ID parts contain slashes, the slashes are escaped. + * repository: + * 'projects/my-project/locations/my-location/repositories/my-repositorie', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "streamLocation": "my_streamLocation", + * // "tag": "my_tag", + * // "version": "my_version" + * // } + * }, + * }, + * ); + * console.log(res.data); + * + * // Example response + * // { + * // "prewarmedArtifact": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + checkPrewarmedArtifact( + params: Params$Resource$Projects$Locations$Repositories$Checkprewarmedartifact, + options: StreamMethodOptions + ): Promise>; + checkPrewarmedArtifact( + params?: Params$Resource$Projects$Locations$Repositories$Checkprewarmedartifact, + options?: MethodOptions + ): Promise>; + checkPrewarmedArtifact( + params: Params$Resource$Projects$Locations$Repositories$Checkprewarmedartifact, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + checkPrewarmedArtifact( + params: Params$Resource$Projects$Locations$Repositories$Checkprewarmedartifact, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + checkPrewarmedArtifact( + params: Params$Resource$Projects$Locations$Repositories$Checkprewarmedartifact, + callback: BodyResponseCallback + ): void; + checkPrewarmedArtifact( + callback: BodyResponseCallback + ): void; + checkPrewarmedArtifact( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Repositories$Checkprewarmedartifact + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Repositories$Checkprewarmedartifact; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Repositories$Checkprewarmedartifact; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://artifactregistry.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+repository}:checkPrewarmedArtifact').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['repository'], + pathParams: ['repository'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + /** * Creates a repository. The returned Operation will finish once the repository has been created. Its response will be the created Repository. * @example @@ -4473,27 +4756,339 @@ export namespace artifactregistry_v1 { * * // Example response * // { - * // "cleanupPolicies": {}, - * // "cleanupPolicyDryRun": false, - * // "createTime": "my_createTime", - * // "description": "my_description", - * // "disallowUnspecifiedMode": false, - * // "dockerConfig": {}, - * // "format": "my_format", - * // "kmsKeyName": "my_kmsKeyName", - * // "labels": {}, - * // "mavenConfig": {}, - * // "mode": "my_mode", - * // "name": "my_name", - * // "platformLogsConfig": {}, - * // "registryUri": "my_registryUri", - * // "remoteRepositoryConfig": {}, - * // "satisfiesPzi": false, - * // "satisfiesPzs": false, - * // "sizeBytes": "my_sizeBytes", - * // "updateTime": "my_updateTime", - * // "virtualRepositoryConfig": {}, - * // "vulnerabilityScanningConfig": {} + * // "cleanupPolicies": {}, + * // "cleanupPolicyDryRun": false, + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "disallowUnspecifiedMode": false, + * // "dockerConfig": {}, + * // "format": "my_format", + * // "kmsKeyName": "my_kmsKeyName", + * // "labels": {}, + * // "mavenConfig": {}, + * // "mode": "my_mode", + * // "name": "my_name", + * // "platformLogsConfig": {}, + * // "registryUri": "my_registryUri", + * // "remoteRepositoryConfig": {}, + * // "satisfiesPzi": false, + * // "satisfiesPzs": false, + * // "sizeBytes": "my_sizeBytes", + * // "updateTime": "my_updateTime", + * // "virtualRepositoryConfig": {}, + * // "vulnerabilityScanningConfig": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Repositories$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Projects$Locations$Repositories$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Repositories$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Repositories$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Repositories$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Repositories$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Repositories$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Repositories$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://artifactregistry.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Prewarms an artifact for streaming. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/artifactregistry.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const artifactregistry = google.artifactregistry('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/cloud-platform.read-only', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await artifactregistry.projects.locations.repositories.prewarmArtifact({ + * // Required. The repository name, for example: `projects/p1/locations/us-central1/repositories/repo1`. If the package or version ID parts contain slashes, the slashes are escaped. + * repository: + * 'projects/my-project/locations/my-location/repositories/my-repositorie', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "force": false, + * // "retentionDays": "my_retentionDays", + * // "streamLocation": "my_streamLocation", + * // "tag": "my_tag", + * // "version": "my_version" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + prewarmArtifact( + params: Params$Resource$Projects$Locations$Repositories$Prewarmartifact, + options: StreamMethodOptions + ): Promise>; + prewarmArtifact( + params?: Params$Resource$Projects$Locations$Repositories$Prewarmartifact, + options?: MethodOptions + ): Promise>; + prewarmArtifact( + params: Params$Resource$Projects$Locations$Repositories$Prewarmartifact, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + prewarmArtifact( + params: Params$Resource$Projects$Locations$Repositories$Prewarmartifact, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + prewarmArtifact( + params: Params$Resource$Projects$Locations$Repositories$Prewarmartifact, + callback: BodyResponseCallback + ): void; + prewarmArtifact(callback: BodyResponseCallback): void; + prewarmArtifact( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Repositories$Prewarmartifact + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Repositories$Prewarmartifact; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Repositories$Prewarmartifact; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://artifactregistry.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+repository}:prewarmArtifact').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['repository'], + pathParams: ['repository'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Removes an artifact from streaming. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/artifactregistry.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const artifactregistry = google.artifactregistry('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/cloud-platform.read-only', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await artifactregistry.projects.locations.repositories.removePrewarmedArtifact( + * { + * // Required. The repository name, for example: `projects/p1/locations/us-central1/repositories/repo1`. + * repository: + * 'projects/my-project/locations/my-location/repositories/my-repositorie', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "streamLocation": "my_streamLocation", + * // "tag": "my_tag", + * // "version": "my_version" + * // } + * }, + * }, + * ); + * console.log(res.data); + * + * // Example response + * // { + * // "prewarmedArtifact": {} * // } * } * @@ -4509,53 +5104,58 @@ export namespace artifactregistry_v1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - patch( - params: Params$Resource$Projects$Locations$Repositories$Patch, + removePrewarmedArtifact( + params: Params$Resource$Projects$Locations$Repositories$Removeprewarmedartifact, options: StreamMethodOptions ): Promise>; - patch( - params?: Params$Resource$Projects$Locations$Repositories$Patch, + removePrewarmedArtifact( + params?: Params$Resource$Projects$Locations$Repositories$Removeprewarmedartifact, options?: MethodOptions - ): Promise>; - patch( - params: Params$Resource$Projects$Locations$Repositories$Patch, + ): Promise>; + removePrewarmedArtifact( + params: Params$Resource$Projects$Locations$Repositories$Removeprewarmedartifact, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Projects$Locations$Repositories$Patch, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + removePrewarmedArtifact( + params: Params$Resource$Projects$Locations$Repositories$Removeprewarmedartifact, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Projects$Locations$Repositories$Patch, - callback: BodyResponseCallback + removePrewarmedArtifact( + params: Params$Resource$Projects$Locations$Repositories$Removeprewarmedartifact, + callback: BodyResponseCallback ): void; - patch(callback: BodyResponseCallback): void; - patch( + removePrewarmedArtifact( + callback: BodyResponseCallback + ): void; + removePrewarmedArtifact( paramsOrCallback?: - | Params$Resource$Projects$Locations$Repositories$Patch - | BodyResponseCallback + | Params$Resource$Projects$Locations$Repositories$Removeprewarmedartifact + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Repositories$Patch; + {}) as Params$Resource$Projects$Locations$Repositories$Removeprewarmedartifact; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Repositories$Patch; + params = + {} as Params$Resource$Projects$Locations$Repositories$Removeprewarmedartifact; options = {}; } @@ -4569,24 +5169,28 @@ export namespace artifactregistry_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', + url: ( + rootUrl + '/v1/{+repository}:removePrewarmedArtifact' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['name'], - pathParams: ['name'], + requiredParams: ['repository'], + pathParams: ['repository'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); } } @@ -4898,6 +5502,17 @@ export namespace artifactregistry_v1 { } } + export interface Params$Resource$Projects$Locations$Repositories$Checkprewarmedartifact extends StandardParameters { + /** + * Required. The name of the repository, for example: `projects/p1/locations/us-central1/repositories/repo1`. If the package or version ID parts contain slashes, the slashes are escaped. + */ + repository?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$CheckPrewarmedArtifactRequest; + } export interface Params$Resource$Projects$Locations$Repositories$Create extends StandardParameters { /** * Required. The name of the parent resource where the repository will be created. @@ -4983,6 +5598,28 @@ export namespace artifactregistry_v1 { */ requestBody?: Schema$Repository; } + export interface Params$Resource$Projects$Locations$Repositories$Prewarmartifact extends StandardParameters { + /** + * Required. The repository name, for example: `projects/p1/locations/us-central1/repositories/repo1`. If the package or version ID parts contain slashes, the slashes are escaped. + */ + repository?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$PrewarmArtifactRequest; + } + export interface Params$Resource$Projects$Locations$Repositories$Removeprewarmedartifact extends StandardParameters { + /** + * Required. The repository name, for example: `projects/p1/locations/us-central1/repositories/repo1`. + */ + repository?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$RemovePrewarmedArtifactRequest; + } export interface Params$Resource$Projects$Locations$Repositories$Setiampolicy extends StandardParameters { /** * 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. @@ -11292,6 +11929,191 @@ export namespace artifactregistry_v1 { requestBody?: Schema$Version; } + export class Resource$Projects$Locations$Repositories$Prewarmedartifacts { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Lists all streamed artifacts in a repository. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/artifactregistry.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const artifactregistry = google.artifactregistry('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/cloud-platform.read-only', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await artifactregistry.projects.locations.repositories.prewarmedArtifacts.list( + * { + * // Optional. Filter should only support The location of the prewarmed artifacts. multi-region is not supported for this field. + * filter: 'placeholder-value', + * // Optional. The maximum number of prewarmed artifacts to return. Maximum page size is 1,000. Default page size is 100. + * pageSize: 'placeholder-value', + * // Optional. The next_page_token value returned from a previous list request, if any. + * pageToken: 'placeholder-value', + * // Required. The repository of the artifact to list. Format: projects/{project\}/locations/{location\}/repositories/{repository\} + * parent: + * 'projects/my-project/locations/my-location/repositories/my-repositorie', + * }, + * ); + * console.log(res.data); + * + * // Example response + * // { + * // "nextPageToken": "my_nextPageToken", + * // "prewarmedArtifacts": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Repositories$Prewarmedartifacts$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Repositories$Prewarmedartifacts$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Repositories$Prewarmedartifacts$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Repositories$Prewarmedartifacts$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Repositories$Prewarmedartifacts$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Repositories$Prewarmedartifacts$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Repositories$Prewarmedartifacts$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Repositories$Prewarmedartifacts$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://artifactregistry.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/prewarmedArtifacts').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Projects$Locations$Repositories$Prewarmedartifacts$List extends StandardParameters { + /** + * Optional. Filter should only support The location of the prewarmed artifacts. multi-region is not supported for this field. + */ + filter?: string; + /** + * Optional. The maximum number of prewarmed artifacts to return. Maximum page size is 1,000. Default page size is 100. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous list request, if any. + */ + pageToken?: string; + /** + * Required. The repository of the artifact to list. Format: projects/{project\}/locations/{location\}/repositories/{repository\} + */ + parent?: string; + } + export class Resource$Projects$Locations$Repositories$Pythonpackages { context: APIRequestContext; constructor(context: APIRequestContext) { diff --git a/src/apis/artifactregistry/v1beta1.ts b/src/apis/artifactregistry/v1beta1.ts index 023476b39ba..e1598d56f1f 100644 --- a/src/apis/artifactregistry/v1beta1.ts +++ b/src/apis/artifactregistry/v1beta1.ts @@ -668,7 +668,7 @@ export namespace artifactregistry_v1beta1 { } /** - * Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the [ListLocationsRequest.name] field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project\}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version. + * Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project\}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version. * @example * ```js * // Before running the sample: @@ -701,7 +701,7 @@ export namespace artifactregistry_v1beta1 { * * // Do the magic * const res = await artifactregistry.projects.locations.list({ - * // Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage. + * // Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage. * extraLocationTypes: 'placeholder-value', * // 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). * filter: 'placeholder-value', @@ -828,7 +828,7 @@ export namespace artifactregistry_v1beta1 { } export interface Params$Resource$Projects$Locations$List extends StandardParameters { /** - * Optional. Do not use this field. It is unsupported and is ignored unless explicitly documented otherwise. This is primarily for internal usage. + * Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage. */ extraLocationTypes?: string[]; /** diff --git a/src/apis/chat/v1.ts b/src/apis/chat/v1.ts index fce21a576a6..3aa976e8285 100644 --- a/src/apis/chat/v1.ts +++ b/src/apis/chat/v1.ts @@ -2130,6 +2130,10 @@ export namespace chat_v1 { * 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. */ export interface Schema$Membership { + /** + * Output only. A user's relationship to the Workspace organization that owns the space. In spaces owned by consumer accounts, the affiliation of all members is `EXTERNAL`. + */ + affiliation?: string | null; /** * 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. */ @@ -5920,6 +5924,7 @@ export namespace chat_v1 { * requestBody: { * // request body parameters * // { + * // "affiliation": "my_affiliation", * // "createTime": "my_createTime", * // "deleteTime": "my_deleteTime", * // "groupMember": {}, @@ -5934,6 +5939,7 @@ export namespace chat_v1 { * * // Example response * // { + * // "affiliation": "my_affiliation", * // "createTime": "my_createTime", * // "deleteTime": "my_deleteTime", * // "groupMember": {}, @@ -6085,6 +6091,7 @@ export namespace chat_v1 { * * // Example response * // { + * // "affiliation": "my_affiliation", * // "createTime": "my_createTime", * // "deleteTime": "my_deleteTime", * // "groupMember": {}, @@ -6234,6 +6241,7 @@ export namespace chat_v1 { * * // Example response * // { + * // "affiliation": "my_affiliation", * // "createTime": "my_createTime", * // "deleteTime": "my_deleteTime", * // "groupMember": {}, @@ -6543,6 +6551,7 @@ export namespace chat_v1 { * requestBody: { * // request body parameters * // { + * // "affiliation": "my_affiliation", * // "createTime": "my_createTime", * // "deleteTime": "my_deleteTime", * // "groupMember": {}, @@ -6557,6 +6566,7 @@ export namespace chat_v1 { * * // Example response * // { + * // "affiliation": "my_affiliation", * // "createTime": "my_createTime", * // "deleteTime": "my_deleteTime", * // "groupMember": {}, diff --git a/src/apis/chromemanagement/v1.ts b/src/apis/chromemanagement/v1.ts index a271fd3da14..9c6fc006117 100644 --- a/src/apis/chromemanagement/v1.ts +++ b/src/apis/chromemanagement/v1.ts @@ -685,6 +685,23 @@ export namespace chromemanagement_v1 { */ storageReports?: Schema$GoogleChromeManagementV1DeviceHardwareCountReport[]; } + /** + * Response containing requested managed profile versions details and counts. + */ + export interface Schema$GoogleChromeManagementV1CountChromeProfileVersionsResponse { + /** + * Token to specify the next page of the request. + */ + nextPageToken?: string | null; + /** + * List of all browser versions reported for profiles and their install counts. + */ + profileBrowserVersions?: Schema$GoogleChromeManagementV1BrowserVersion[]; + /** + * Total number browser versions matching request. + */ + totalSize?: number | null; + } /** * Response containing requested browser versions details and counts. */ @@ -1288,6 +1305,10 @@ export namespace chromemanagement_v1 { * Output only. Permissions of the installed app. */ permissions?: string[] | null; + /** + * Output only. Count of Chrome Profiles with this app installed. + */ + profileCount?: string | null; /** * Output only. If available, the risk assessment data about this extension. */ @@ -8965,6 +8986,167 @@ export namespace chromemanagement_v1 { } } + /** + * Generate report of installed Chrome versions on managed profiles. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/chromemanagement.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const chromemanagement = google.chromemanagement('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/chrome.management.reports.readonly', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await chromemanagement.customers.reports.countChromeProfileVersions({ + * // Required. Customer id or "my_customer" to use the customer associated to the account making the request. + * customer: 'customers/my-customer', + * // Optional. Query string to filter results, AND-separated fields in EBNF syntax. Note: OR operations are not supported in this filter. Supported filter fields: * last_active_date + * filter: 'placeholder-value', + * // The ID of the organizational unit. If omitted, all data will be returned. + * orgUnitId: 'placeholder-value', + * // Optional. Maximum number of results to return. Maximum and default are 100. + * pageSize: 'placeholder-value', + * // Optional. Token to specify the page of the request to be returned. + * pageToken: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "nextPageToken": "my_nextPageToken", + * // "profileBrowserVersions": [], + * // "totalSize": 0 + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + countChromeProfileVersions( + params: Params$Resource$Customers$Reports$Countchromeprofileversions, + options: StreamMethodOptions + ): Promise>; + countChromeProfileVersions( + params?: Params$Resource$Customers$Reports$Countchromeprofileversions, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + countChromeProfileVersions( + params: Params$Resource$Customers$Reports$Countchromeprofileversions, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + countChromeProfileVersions( + params: Params$Resource$Customers$Reports$Countchromeprofileversions, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + countChromeProfileVersions( + params: Params$Resource$Customers$Reports$Countchromeprofileversions, + callback: BodyResponseCallback + ): void; + countChromeProfileVersions( + callback: BodyResponseCallback + ): void; + countChromeProfileVersions( + paramsOrCallback?: + | Params$Resource$Customers$Reports$Countchromeprofileversions + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Reports$Countchromeprofileversions; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Customers$Reports$Countchromeprofileversions; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://chromemanagement.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v1/{+customer}/reports:countChromeProfileVersions' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customer'], + pathParams: ['customer'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + /** * Generate report of installed Chrome versions. * @example @@ -10518,6 +10700,28 @@ export namespace chromemanagement_v1 { */ readMask?: string; } + export interface Params$Resource$Customers$Reports$Countchromeprofileversions extends StandardParameters { + /** + * Required. Customer id or "my_customer" to use the customer associated to the account making the request. + */ + customer?: string; + /** + * Optional. Query string to filter results, AND-separated fields in EBNF syntax. Note: OR operations are not supported in this filter. Supported filter fields: * last_active_date + */ + filter?: string; + /** + * The ID of the organizational unit. If omitted, all data will be returned. + */ + orgUnitId?: string; + /** + * Optional. Maximum number of results to return. Maximum and default are 100. + */ + pageSize?: number; + /** + * Optional. Token to specify the page of the request to be returned. + */ + pageToken?: string; + } export interface Params$Resource$Customers$Reports$Countchromeversions extends StandardParameters { /** * Required. Customer id or "my_customer" to use the customer associated to the account making the request. diff --git a/src/apis/chromewebstore/v2.ts b/src/apis/chromewebstore/v2.ts index c7aecc4f88f..896076e7268 100644 --- a/src/apis/chromewebstore/v2.ts +++ b/src/apis/chromewebstore/v2.ts @@ -211,7 +211,7 @@ export namespace chromewebstore_v2 { */ export interface Schema$PublishItemRequest { /** - * Optional. When set to true the request will fail if there are any warnings during validation and the details will be included in the error_details. Otherwise warnings are treated as non-blocking and will be ignored for validation but will be included in the response for inspection. Defaults to `false` if unset. + * Optional. When set to true the request will fail if there are any warnings during validation and the details will be included in the `error.details`. Otherwise warnings are treated as non-blocking and will be ignored for validation but will be included in the response for inspection. Defaults to `false` if unset. */ blockOnWarnings?: boolean | null; /** @@ -295,7 +295,7 @@ export namespace chromewebstore_v2 { */ description?: string | null; /** - * The reason for the warning. This is a constant value that identifies the proximate cause of the warning. This should be at most 63 characters and match a regular expression of `A-Z+[A-Z0-9]`, which represents UPPER_SNAKE_CASE. + * The reason for the warning. This is a constant value that identifies the proximate cause of the warning. */ reason?: string | null; } diff --git a/src/apis/cloudidentity/v1.ts b/src/apis/cloudidentity/v1.ts index 687554a66e9..c231aad4f1e 100644 --- a/src/apis/cloudidentity/v1.ts +++ b/src/apis/cloudidentity/v1.ts @@ -12384,9 +12384,9 @@ export namespace cloudidentity_v1 { * * // Do the magic * const res = await cloudidentity.policies.list({ - * // Optional. A CEL expression for filtering the results. Policies can be filtered by application with this expression: setting.type.matches('^settings/gmail\\..*$') Policies can be filtered by setting type with this expression: setting.type.matches('^.*\\.service_status$') Policies can be filtered by customer with this expression: customer == "customers/{customer\}" Where `customer` is the `id` from the [Admin SDK `Customer` resource](https://developers.google.com/admin-sdk/directory/reference/rest/v1/customers). You may use `customers/my_customer` to specify your own organization. When no customer is mentioned it will be default to customers/my_customer. You may only filter on policies for a single customer at a time. The above clauses can be combined together in a single filter expression with the `&&` and `||` operators, like in the following example: customer == "customers/my_customer" && ( setting.type.matches('^settings/gmail\\..*$') || setting.type.matches('^.*\\.service_status$') ) + * // Optional. A CEL expression for filtering the results. Policies can be filtered using the expression in the following ways: - Filter by application: `setting.type.matches('^settings/gmail\\..*$')` - Filter by setting type: `setting.type.matches('^.*\\.service_status$')` - Filter by customer: `customer == "customers/{customer\}"` Where `customer` is the `id` from the [Admin SDK `Customer` resource](https://developers.google.com/admin-sdk/directory/reference/rest/v1/customers). You may use `customers/my_customer` to specify your own organization. When no `customer` is mentioned it will be default to `customers/my_customer`. You may only filter on policies for a single customer at a time. The above clauses can be combined together in a single filter expression with the `&&` and `||` operators, like in the following example: `customer == "customers/my_customer" && ( setting.type.matches('^settings/gmail\\..*$') || setting.type.matches('^.*\\.service_status$') )`. * filter: 'placeholder-value', - * // Optional. The maximum number of results to return. The service can return fewer than this number. If omitted or set to 0, the default is 50 results per page. The maximum allowed value is 100. `page_size` values greater than 100 default to 100. + * // Optional. The maximum number of results to return. The service can return fewer than this number. If omitted or set to `0`, the default is `50` results per page. The maximum allowed value is `100`. `page_size` values greater than `100` default to `100`. * pageSize: 'placeholder-value', * // Optional. The pagination token received from a prior call to PoliciesService.ListPolicies to retrieve the next page of results. When paginating, all other parameters provided to `ListPoliciesRequest` must match the call that provided the page token. * pageToken: 'placeholder-value', @@ -12665,11 +12665,11 @@ export namespace cloudidentity_v1 { } export interface Params$Resource$Policies$List extends StandardParameters { /** - * Optional. A CEL expression for filtering the results. Policies can be filtered by application with this expression: setting.type.matches('^settings/gmail\\..*$') Policies can be filtered by setting type with this expression: setting.type.matches('^.*\\.service_status$') Policies can be filtered by customer with this expression: customer == "customers/{customer\}" Where `customer` is the `id` from the [Admin SDK `Customer` resource](https://developers.google.com/admin-sdk/directory/reference/rest/v1/customers). You may use `customers/my_customer` to specify your own organization. When no customer is mentioned it will be default to customers/my_customer. You may only filter on policies for a single customer at a time. The above clauses can be combined together in a single filter expression with the `&&` and `||` operators, like in the following example: customer == "customers/my_customer" && ( setting.type.matches('^settings/gmail\\..*$') || setting.type.matches('^.*\\.service_status$') ) + * Optional. A CEL expression for filtering the results. Policies can be filtered using the expression in the following ways: - Filter by application: `setting.type.matches('^settings/gmail\\..*$')` - Filter by setting type: `setting.type.matches('^.*\\.service_status$')` - Filter by customer: `customer == "customers/{customer\}"` Where `customer` is the `id` from the [Admin SDK `Customer` resource](https://developers.google.com/admin-sdk/directory/reference/rest/v1/customers). You may use `customers/my_customer` to specify your own organization. When no `customer` is mentioned it will be default to `customers/my_customer`. You may only filter on policies for a single customer at a time. The above clauses can be combined together in a single filter expression with the `&&` and `||` operators, like in the following example: `customer == "customers/my_customer" && ( setting.type.matches('^settings/gmail\\..*$') || setting.type.matches('^.*\\.service_status$') )`. */ filter?: string; /** - * Optional. The maximum number of results to return. The service can return fewer than this number. If omitted or set to 0, the default is 50 results per page. The maximum allowed value is 100. `page_size` values greater than 100 default to 100. + * Optional. The maximum number of results to return. The service can return fewer than this number. If omitted or set to `0`, the default is `50` results per page. The maximum allowed value is `100`. `page_size` values greater than `100` default to `100`. */ pageSize?: number; /** diff --git a/src/apis/cloudidentity/v1beta1.ts b/src/apis/cloudidentity/v1beta1.ts index 73ba68e7e7f..de9274baf9f 100644 --- a/src/apis/cloudidentity/v1beta1.ts +++ b/src/apis/cloudidentity/v1beta1.ts @@ -13158,9 +13158,9 @@ export namespace cloudidentity_v1beta1 { * * // Do the magic * const res = await cloudidentity.policies.list({ - * // Optional. A CEL expression for filtering the results. Policies can be filtered by application with this expression: setting.type.matches('^settings/gmail\\..*$') Policies can be filtered by setting type with this expression: setting.type.matches('^.*\\.service_status$') Policies can be filtered by customer with this expression: customer == "customers/{customer\}" Where `customer` is the `id` from the [Admin SDK `Customer` resource](https://developers.google.com/admin-sdk/directory/reference/rest/v1/customers). You may use `customers/my_customer` to specify your own organization. When no customer is mentioned it will be default to customers/my_customer. You may only filter on policies for a single customer at a time. The above clauses can be combined together in a single filter expression with the `&&` and `||` operators, like in the following example: customer == "customers/my_customer" && ( setting.type.matches('^settings/gmail\\..*$') || setting.type.matches('^.*\\.service_status$') ) + * // Optional. A CEL expression for filtering the results. Policies can be filtered using the expression in the following ways: - Filter by application: `setting.type.matches('^settings/gmail\\..*$')` - Filter by setting type: `setting.type.matches('^.*\\.service_status$')` - Filter by customer: `customer == "customers/{customer\}"` Where `customer` is the `id` from the [Admin SDK `Customer` resource](https://developers.google.com/admin-sdk/directory/reference/rest/v1/customers). You may use `customers/my_customer` to specify your own organization. When no `customer` is mentioned it will be default to `customers/my_customer`. You may only filter on policies for a single customer at a time. The above clauses can be combined together in a single filter expression with the `&&` and `||` operators, like in the following example: `customer == "customers/my_customer" && ( setting.type.matches('^settings/gmail\\..*$') || setting.type.matches('^.*\\.service_status$') )`. * filter: 'placeholder-value', - * // Optional. The maximum number of results to return. The service can return fewer than this number. If omitted or set to 0, the default is 50 results per page. The maximum allowed value is 100. `page_size` values greater than 100 default to 100. + * // Optional. The maximum number of results to return. The service can return fewer than this number. If omitted or set to `0`, the default is `50` results per page. The maximum allowed value is `100`. `page_size` values greater than `100` default to `100`. * pageSize: 'placeholder-value', * // Optional. The pagination token received from a prior call to PoliciesService.ListPolicies to retrieve the next page of results. When paginating, all other parameters provided to `ListPoliciesRequest` must match the call that provided the page token. * pageToken: 'placeholder-value', @@ -13439,11 +13439,11 @@ export namespace cloudidentity_v1beta1 { } export interface Params$Resource$Policies$List extends StandardParameters { /** - * Optional. A CEL expression for filtering the results. Policies can be filtered by application with this expression: setting.type.matches('^settings/gmail\\..*$') Policies can be filtered by setting type with this expression: setting.type.matches('^.*\\.service_status$') Policies can be filtered by customer with this expression: customer == "customers/{customer\}" Where `customer` is the `id` from the [Admin SDK `Customer` resource](https://developers.google.com/admin-sdk/directory/reference/rest/v1/customers). You may use `customers/my_customer` to specify your own organization. When no customer is mentioned it will be default to customers/my_customer. You may only filter on policies for a single customer at a time. The above clauses can be combined together in a single filter expression with the `&&` and `||` operators, like in the following example: customer == "customers/my_customer" && ( setting.type.matches('^settings/gmail\\..*$') || setting.type.matches('^.*\\.service_status$') ) + * Optional. A CEL expression for filtering the results. Policies can be filtered using the expression in the following ways: - Filter by application: `setting.type.matches('^settings/gmail\\..*$')` - Filter by setting type: `setting.type.matches('^.*\\.service_status$')` - Filter by customer: `customer == "customers/{customer\}"` Where `customer` is the `id` from the [Admin SDK `Customer` resource](https://developers.google.com/admin-sdk/directory/reference/rest/v1/customers). You may use `customers/my_customer` to specify your own organization. When no `customer` is mentioned it will be default to `customers/my_customer`. You may only filter on policies for a single customer at a time. The above clauses can be combined together in a single filter expression with the `&&` and `||` operators, like in the following example: `customer == "customers/my_customer" && ( setting.type.matches('^settings/gmail\\..*$') || setting.type.matches('^.*\\.service_status$') )`. */ filter?: string; /** - * Optional. The maximum number of results to return. The service can return fewer than this number. If omitted or set to 0, the default is 50 results per page. The maximum allowed value is 100. `page_size` values greater than 100 default to 100. + * Optional. The maximum number of results to return. The service can return fewer than this number. If omitted or set to `0`, the default is `50` results per page. The maximum allowed value is `100`. `page_size` values greater than `100` default to `100`. */ pageSize?: number; /** diff --git a/src/apis/cloudkms/v1.ts b/src/apis/cloudkms/v1.ts index 83c08e8fba5..2deff532da7 100644 --- a/src/apis/cloudkms/v1.ts +++ b/src/apis/cloudkms/v1.ts @@ -281,7 +281,7 @@ export namespace cloudkms_v1 { */ keyProjectResolutionMode?: string | null; /** - * Identifier. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER\}/autokeyConfig` or `projects/{PROJECT_NUMBER\}/autokeyConfig`. + * Identifier. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER\}/autokeyConfig`, `projects/{PROJECT_NUMBER\}/autokeyConfig`, or `projects/{PROJECT_ID\}/autokeyConfig`. */ name?: string | null; /** @@ -1895,7 +1895,7 @@ export namespace cloudkms_v1 { * * // Do the magic * const res = await cloudkms.folders.getAutokeyConfig({ - * // Required. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER\}/autokeyConfig` or `projects/{PROJECT_NUMBER\}/autokeyConfig`. + * // Required. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER\}/autokeyConfig`, `projects/{PROJECT_NUMBER\}/autokeyConfig`, or `projects/{PROJECT_ID\}/autokeyConfig`. * name: 'folders/my-folder/autokeyConfig', * }); * console.log(res.data); @@ -2187,7 +2187,7 @@ export namespace cloudkms_v1 { * * // Do the magic * const res = await cloudkms.folders.updateAutokeyConfig({ - * // Identifier. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER\}/autokeyConfig` or `projects/{PROJECT_NUMBER\}/autokeyConfig`. + * // Identifier. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER\}/autokeyConfig`, `projects/{PROJECT_NUMBER\}/autokeyConfig`, or `projects/{PROJECT_ID\}/autokeyConfig`. * name: 'folders/my-folder/autokeyConfig', * // Required. Masks which fields of the AutokeyConfig to update, e.g. `keyProject`. * updateMask: 'placeholder-value', @@ -2474,7 +2474,7 @@ export namespace cloudkms_v1 { export interface Params$Resource$Folders$Getautokeyconfig extends StandardParameters { /** - * Required. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER\}/autokeyConfig` or `projects/{PROJECT_NUMBER\}/autokeyConfig`. + * Required. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER\}/autokeyConfig`, `projects/{PROJECT_NUMBER\}/autokeyConfig`, or `projects/{PROJECT_ID\}/autokeyConfig`. */ name?: string; } @@ -2486,7 +2486,7 @@ export namespace cloudkms_v1 { } export interface Params$Resource$Folders$Updateautokeyconfig extends StandardParameters { /** - * Identifier. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER\}/autokeyConfig` or `projects/{PROJECT_NUMBER\}/autokeyConfig`. + * Identifier. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER\}/autokeyConfig`, `projects/{PROJECT_NUMBER\}/autokeyConfig`, or `projects/{PROJECT_ID\}/autokeyConfig`. */ name?: string; /** @@ -2896,7 +2896,7 @@ export namespace cloudkms_v1 { * * // Do the magic * const res = await cloudkms.projects.getAutokeyConfig({ - * // Required. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER\}/autokeyConfig` or `projects/{PROJECT_NUMBER\}/autokeyConfig`. + * // Required. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER\}/autokeyConfig`, `projects/{PROJECT_NUMBER\}/autokeyConfig`, or `projects/{PROJECT_ID\}/autokeyConfig`. * name: 'projects/my-project/autokeyConfig', * }); * console.log(res.data); @@ -3646,7 +3646,7 @@ export namespace cloudkms_v1 { * * // Do the magic * const res = await cloudkms.projects.updateAutokeyConfig({ - * // Identifier. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER\}/autokeyConfig` or `projects/{PROJECT_NUMBER\}/autokeyConfig`. + * // Identifier. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER\}/autokeyConfig`, `projects/{PROJECT_NUMBER\}/autokeyConfig`, or `projects/{PROJECT_ID\}/autokeyConfig`. * name: 'projects/my-project/autokeyConfig', * // Required. Masks which fields of the AutokeyConfig to update, e.g. `keyProject`. * updateMask: 'placeholder-value', @@ -3933,7 +3933,7 @@ export namespace cloudkms_v1 { export interface Params$Resource$Projects$Getautokeyconfig extends StandardParameters { /** - * Required. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER\}/autokeyConfig` or `projects/{PROJECT_NUMBER\}/autokeyConfig`. + * Required. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER\}/autokeyConfig`, `projects/{PROJECT_NUMBER\}/autokeyConfig`, or `projects/{PROJECT_ID\}/autokeyConfig`. */ name?: string; } @@ -3963,7 +3963,7 @@ export namespace cloudkms_v1 { } export interface Params$Resource$Projects$Updateautokeyconfig extends StandardParameters { /** - * Identifier. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER\}/autokeyConfig` or `projects/{PROJECT_NUMBER\}/autokeyConfig`. + * Identifier. Name of the AutokeyConfig resource, e.g. `folders/{FOLDER_NUMBER\}/autokeyConfig`, `projects/{PROJECT_NUMBER\}/autokeyConfig`, or `projects/{PROJECT_ID\}/autokeyConfig`. */ name?: string; /** diff --git a/src/apis/cloudnumberregistry/v1alpha.ts b/src/apis/cloudnumberregistry/v1alpha.ts index ad673790393..fe5a5185eda 100644 --- a/src/apis/cloudnumberregistry/v1alpha.ts +++ b/src/apis/cloudnumberregistry/v1alpha.ts @@ -129,19 +129,19 @@ export namespace cloudnumberregistry_v1alpha { */ export interface Schema$AggregatedData { /** - * Output only. Number of custom ranges in the RegistryBook. + * Output only. Number of CustomRanges in the RegistryBook. */ customRangesCount?: number | null; /** - * Output only. Number of custom realms in the RegistryBook. + * Output only. Number of custom Realms in the RegistryBook. */ customRealmsCount?: number | null; /** - * Output only. Number of discovered ranges in the RegistryBook. + * Output only. Number of DiscoveredRanges in the RegistryBook. */ discoveredRangesCount?: number | null; /** - * Output only. Number of discovered realms in the RegistryBook. + * Output only. Number of discovered Realms in the RegistryBook. */ discoveredRealmsCount?: number | null; /** @@ -150,15 +150,15 @@ export namespace cloudnumberregistry_v1alpha { uniqueScopesCount?: number | null; } /** - * Message describing Attribute object + * A key-value pair representing a custom attribute associated with a resource. */ export interface Schema$Attribute { /** - * Required. Key of attribute + * Required. The key of the attribute. */ key?: string | null; /** - * Required. Value of attribute + * Required. The value of the attribute. */ value?: string | null; } @@ -167,7 +167,7 @@ export namespace cloudnumberregistry_v1alpha { */ export interface Schema$CancelOperationRequest {} /** - * Message for response to checking the availability of IpamAdminScopes + * Response message for the CloudNumberRegistry.CheckAvailabilityIpamAdminScopes method. */ export interface Schema$CheckAvailabilityIpamAdminScopesResponse { /** @@ -176,7 +176,7 @@ export namespace cloudnumberregistry_v1alpha { scopeAvailabilities?: Schema$IpamAdminScopeAvailability[]; } /** - * Message for cleaning up a IpamAdminScope + * Request message for the CloudNumberRegistry.CleanupIpamAdminScope method. */ export interface Schema$CleanupIpamAdminScopeRequest { /** @@ -185,7 +185,7 @@ export namespace cloudnumberregistry_v1alpha { requestId?: string | null; } /** - * Message describing CustomRange object + * A CustomRange represents a user-defined IP address range. */ export interface Schema$CustomRange { /** @@ -193,7 +193,7 @@ export namespace cloudnumberregistry_v1alpha { */ attributes?: Schema$Attribute[]; /** - * Optional. Description of the CustomRange. + * Optional. The description of the CustomRange. */ description?: string | null; /** @@ -205,28 +205,28 @@ export namespace cloudnumberregistry_v1alpha { */ ipv6CidrRange?: string | null; /** - * Optional. Labels as key value pairs + * Optional. User-defined labels. */ labels?: {[key: string]: string} | null; /** - * Required. Identifier. name of resource + * Required. Identifier. The resource name of the CustomRange, in the format `projects/{project\}/locations/{location\}/customRanges/{custom_range\}`. */ name?: string | null; /** - * Optional. The parent range of the CustomRange. Do not allow setting parent range if realm is specified. Format must follow this pattern: projects/{project\}/locations/{location\}/customRanges/{custom_range\} + * Optional. The resource name of the parent CustomRange, in the format `projects/{project\}/locations/{location\}/customRanges/{custom_range\}`. If specified, the parent CustomRange must be in the same RegistryBook. This field is mutually exclusive with the `realm` field, as the Realm is inherited from the parent CustomRange. */ parentRange?: string | null; /** - * Optional. The realm of the CustomRange. The realm must be in the same project as the custom range. Do not allow setting realm if parent range is specified, since the realm should be inherited from the parent range. Format must follow this pattern: projects/{project\}/locations/{location\}/realms/{realm\} + * Optional. The resource name of the Realm associated with the CustomRange, in the format `projects/{project\}/locations/{location\}/realms/{realm\}`. The Realm must be in the same project as the CustomRange. This field must not be set if the `parent_range` field is set, as the Realm will be inherited from the parent CustomRange. */ realm?: string | null; /** - * Output only. The registry book of the CustomRange. This field is inherited from the realm or parent range depending on which one is specified. + * Output only. The RegistryBook of the CustomRange. This field is inherited from the Realm or parent CustomRange depending on which one is specified. */ registryBook?: string | null; } /** - * Message for disabling a IpamAdminScope + * Request message for the CloudNumberRegistry.DisableIpamAdminScope method. */ export interface Schema$DisableIpamAdminScopeRequest { /** @@ -235,7 +235,7 @@ export namespace cloudnumberregistry_v1alpha { requestId?: string | null; } /** - * Message describing DiscoveredRange object + * A DiscoveredRange represents an IP address range automatically detected by the discovery pipeline. */ export interface Schema$DiscoveredRange { /** @@ -243,11 +243,11 @@ export namespace cloudnumberregistry_v1alpha { */ attributes?: Schema$Attribute[]; /** - * Output only. If true, allow child ranges of this range to overlap with each other. + * Output only. If true, allows child DiscoveredRanges of this DiscoveredRange to overlap with each other. */ childCidrOverlapAllowed?: boolean | null; /** - * Output only. [Output only] Create time stamp + * Output only. The time at which the DiscoveredRange was created. */ createTime?: string | null; /** @@ -267,32 +267,32 @@ export namespace cloudnumberregistry_v1alpha { */ ipv6CidrRange?: string | null; /** - * Optional. Labels as key value pairs + * Optional. User-defined labels. */ labels?: {[key: string]: string} | null; /** - * Required. Identifier. Name of the DiscoveredRange. + * Required. Identifier. The resource name of the DiscoveredRange, in the format `projects/{project\}/locations/{location\}/discoveredRanges/{discovered_range\}`. */ name?: string | null; /** - * Optional. The parent range of the DiscoveredRange. + * Optional. The resource name of the parent DiscoveredRange, in the format `projects/{project\}/locations/{location\}/discoveredRanges/{discovered_range\}`. */ parentRange?: string | null; /** - * Optional. The realm of the DiscoveredRange. + * Optional. The Realm of the DiscoveredRange. */ realm?: string | null; /** - * Output only. The registry book of the DiscoveredRange. + * Output only. The RegistryBook of the DiscoveredRange. */ registryBook?: string | null; /** - * Output only. [Output only] Update time stamp + * Output only. The time at which the DiscoveredRange was last updated. */ updateTime?: string | null; } /** - * Discovery metadata of the discovered resource. + * Metadata about a discovered resource, tracking event times, state, and source information. */ export interface Schema$DiscoveryMetadata { /** @@ -316,7 +316,7 @@ export namespace cloudnumberregistry_v1alpha { */ sourceId?: string | null; /** - * Output only. A single source resource can be the source of multiple CNR resources. This sub_id is used to distinguish between the different CNR resources derived from the same upstream resource. For example, a single subnetwork can be the source of multiple ranges, one for each protocol. In this case, the sub_id could be "private-ipv4" or "private-ipv6". + * Output only. A single source resource can be the source of multiple CNR resources. This sub_id is used to distinguish between the different CNR resources derived from the same upstream resource. For example, a single subnetwork can be the source of multiple Ranges, one for each protocol. In this case, the sub_id could be "private-ipv4" or "private-ipv6". */ sourceSubId?: string | null; /** @@ -333,41 +333,41 @@ export namespace cloudnumberregistry_v1alpha { */ export interface Schema$Empty {} /** - * Message for the response to finding free IP ranges. + * Response message for the CloudNumberRegistry.FindCustomRangeFreeIpRanges method. */ export interface Schema$FindCustomRangeFreeIpRangesResponse { /** - * Output only. Free IP CIDR ranges found in the CustomRange. + * Output only. The free IP CIDR ranges found. */ freeIpCidrRanges?: string[] | null; } /** - * Message for the response to finding free IP ranges. + * Response message for the CloudNumberRegistry.FindDiscoveredRangeFreeIpRanges method. */ export interface Schema$FindDiscoveredRangeFreeIpRangesResponse { /** - * Output only. Free IP CIDR ranges found in the DiscoveredRange. + * Output only. The free IP CIDR ranges found. */ freeIpCidrRanges?: string[] | null; } /** - * Message describing IpamAdminScope object + * An IpamAdminScope defines the administrative boundary for IP address discovery and management. It configures which platforms and organizational scopes are enabled for IP tracking. */ export interface Schema$IpamAdminScope { /** - * Output only. [Output only] Create time stamp + * Output only. The time at which the IpamAdminScope was created. */ createTime?: string | null; /** - * Required. Addon platforms that are enabled for this IPAM admin scope. Cloud Number Registry only discovers the IP addresses from the enabled platforms. + * Required. Add-on platforms that are enabled for this IpamAdminScope. Cloud Number Registry only discovers the IP addresses from the enabled platforms. */ enabledAddonPlatforms?: string[] | null; /** - * Optional. Labels as key value pairs + * Optional. User-defined labels. */ labels?: {[key: string]: string} | null; /** - * Required. Identifier. name of resource + * Required. Identifier. The resource name of the IpamAdminScope. */ name?: string | null; /** @@ -379,12 +379,12 @@ export namespace cloudnumberregistry_v1alpha { */ state?: string | null; /** - * Output only. [Output only] Update time stamp + * Output only. The time at which the IpamAdminScope was last updated. */ updateTime?: string | null; } /** - * Message for the availability of an IpamAdminScope + * Availability details for a specific IpamAdminScope. */ export interface Schema$IpamAdminScopeAvailability { /** @@ -401,15 +401,15 @@ export namespace cloudnumberregistry_v1alpha { scope?: string | null; } /** - * Message for response to listing CustomRanges + * Response message for the CloudNumberRegistry.ListCustomRanges method. */ export interface Schema$ListCustomRangesResponse { /** - * The list of CustomRange + * The list of CustomRanges. */ customRanges?: Schema$CustomRange[]; /** - * A token identifying a page of results the server should return. + * A token to retrieve the next page of results, or empty if there are no more results in the list. */ nextPageToken?: string | null; /** @@ -418,15 +418,15 @@ export namespace cloudnumberregistry_v1alpha { unreachable?: string[] | null; } /** - * Message for response to listing DiscoveredRanges + * Response message for the CloudNumberRegistry.ListDiscoveredRanges method. */ export interface Schema$ListDiscoveredRangesResponse { /** - * The list of DiscoveredRange + * The list of DiscoveredRanges. */ discoveredRanges?: Schema$DiscoveredRange[]; /** - * A token identifying a page of results the server should return. + * A token to retrieve the next page of results, or empty if there are no more results in the list. */ nextPageToken?: string | null; /** @@ -435,15 +435,15 @@ export namespace cloudnumberregistry_v1alpha { unreachable?: string[] | null; } /** - * Message for response to listing ipamAdminScopes + * Response message for the CloudNumberRegistry.ListIpamAdminScopes method. */ export interface Schema$ListIpamAdminScopesResponse { /** - * The list of IpamAdminScope + * The list of IpamAdminScopes. */ ipamAdminScopes?: Schema$IpamAdminScope[]; /** - * A token identifying a page of results the server should return. + * A token to retrieve the next page of results, or empty if there are no more results in the list. */ nextPageToken?: string | null; /** @@ -482,7 +482,7 @@ export namespace cloudnumberregistry_v1alpha { unreachable?: string[] | null; } /** - * Message for response to listing Realms + * Response message for the CloudNumberRegistry.ListRealms method. */ export interface Schema$ListRealmsResponse { /** @@ -490,7 +490,7 @@ export namespace cloudnumberregistry_v1alpha { */ nextPageToken?: string | null; /** - * The list of Realm + * The list of Realms. */ realms?: Schema$Realm[]; /** @@ -499,7 +499,7 @@ export namespace cloudnumberregistry_v1alpha { unreachable?: string[] | null; } /** - * Message for response to listing RegistryBooks + * Response message for the CloudNumberRegistry.ListRegistryBooks method. */ export interface Schema$ListRegistryBooksResponse { /** @@ -599,41 +599,41 @@ export namespace cloudnumberregistry_v1alpha { verb?: string | null; } /** - * Message describing either a CustomRange or a DiscoveredRange. + * Represents either a CustomRange or a DiscoveredRange. */ export interface Schema$Range { /** - * A custom range. + * A CustomRange. */ customRange?: Schema$CustomRange; /** - * A discovered range. + * A DiscoveredRange. */ discoveredRange?: Schema$DiscoveredRange; /** - * The utilization of the range. + * The utilization of the Range. */ utilization?: Schema$RangeUtilization; } /** - * Message for the utilization of an IP range + * Utilization metrics for an IP Range, including consumed and produced address counts. */ export interface Schema$RangeUtilization { /** - * Output only. The total number of IP addresses consumed in the range. + * Output only. The total number of IP addresses consumed in the Range. */ totalConsumed?: string | null; /** - * Output only. The total number of IP addresses produced in the range. + * Output only. The total number of IP addresses produced in the Range. */ totalProduced?: string | null; /** - * Output only. The usage of the range as a percentage. This is marked as optional so that we have presence tracking and API responses show 0.0 instead of NULL. + * Output only. The usage of the Range as a percentage. This is marked as optional so that we have presence tracking and API responses show 0.0 instead of NULL. */ usage?: number | null; } /** - * Message describing Realm object + * A Realm represents a distinct network domain or security zone. It groups Ranges that share the same traffic and management characteristics. All the ranges in a Realm are routable to each other, meaning that they cannot overlap. */ export interface Schema$Realm { /** @@ -641,39 +641,39 @@ export namespace cloudnumberregistry_v1alpha { */ aggregatedData?: Schema$RealmAggregatedData; /** - * Output only. [Output only] Create time stamp + * Output only. The time at which the Realm was created. */ createTime?: string | null; /** - * Output only. Discovery metadata of the realm. + * Output only. Discovery metadata of the Realm. */ discoveryMetadata?: Schema$DiscoveryMetadata; /** - * Optional. IP version of the realm. + * Optional. IP version of the Realm. */ ipVersion?: string | null; /** - * Optional. Labels as key value pairs + * Optional. User-defined labels. */ labels?: {[key: string]: string} | null; /** - * Required. Management type of realm. + * Required. Management type of the Realm. */ managementType?: string | null; /** - * Required. Identifier. Unique name/ID of the realm + * Required. Identifier. The resource name of the Realm. */ name?: string | null; /** - * Required. URI of the registry book that claims the realm. + * Required. Name of the RegistryBook that claims the Realm. */ registryBook?: string | null; /** - * Required. Traffic type of realm. + * Required. Traffic type of the Realm. */ trafficType?: string | null; /** - * Output only. [Output only] Update time stamp + * Output only. The time at which the Realm was last updated. */ updateTime?: string | null; } @@ -682,16 +682,16 @@ export namespace cloudnumberregistry_v1alpha { */ export interface Schema$RealmAggregatedData { /** - * Output only. Number of custom ranges in the Realm. + * Output only. Number of CustomRanges in the Realm. */ customRangesCount?: number | null; /** - * Output only. Number of discovered ranges in the Realm. + * Output only. Number of DiscoveredRanges in the Realm. */ discoveredRangesCount?: number | null; } /** - * Message describing RegistryBook object + * A RegistryBook organizes and manages IP address space. It claims specific scopes (such as projects) and groups related Realms and Ranges. */ export interface Schema$RegistryBook { /** @@ -703,7 +703,7 @@ export namespace cloudnumberregistry_v1alpha { */ claimedScopes?: string[] | null; /** - * Output only. [Output only] Create time stamp + * Output only. The time at which the RegistryBook was created. */ createTime?: string | null; /** @@ -711,24 +711,24 @@ export namespace cloudnumberregistry_v1alpha { */ isDefault?: boolean | null; /** - * Optional. Labels as key value pairs + * Optional. User-defined labels. */ labels?: {[key: string]: string} | null; /** - * Required. Identifier. name of resource + * Required. Identifier. The resource name of the RegistryBook. */ name?: string | null; /** - * Output only. [Output only] Update time stamp + * Output only. The time at which the RegistryBook was last updated. */ updateTime?: string | null; } /** - * Message for searching IP resources + * Request message for the CloudNumberRegistry.SearchIpResources method. */ export interface Schema$SearchIpResourcesRequest { /** - * Optional. Hint for how to order the results + * Optional. Hint for how to order the results. Supported sort fields are: - `name`: Sort alphabetically by the resource name. - `create_time`: Sort by the creation timestamp of the resource. - `update_time`: Sort by the last update timestamp of the resource. Supported directions are `asc` (ascending) and `desc` (descending). If unspecified, direction defaults to `asc`. Only sorting by a single field is supported. */ orderBy?: string | null; /** @@ -740,20 +740,20 @@ export namespace cloudnumberregistry_v1alpha { */ pageToken?: string | null; /** - * Optional. Search query. This string filters resources in an AIP-160-like format. It has some limitations. You can only specify top level conjunctions or attribute level negations. Each restriction can only be used once except the attribute restriction. The available restrictions for ranges are: - `realm`: The realm name to search in. - `ip_address`: The IP address to search for within ranges. - `ip_version`: The IP version to filter by (e.g., "IPV4", "IPV6"). - `parent_range`: The parent range of the range to search for. - `attribute_text`: The attribute text to search for within ranges. - `attribute`: The attribute key and value to filter by. The available restrictions for realms are: - `ip_version`: The IP version to search for. Only one of attribute_text or multiple attribute filters can be specified. Examples: - `realm=test-realm` - `realm=test-realm AND ip_address=10.0.0.0` - `realm=test-realm AND ip_version=IPV6` - `realm=test-realm AND attribute_text=test` - `ip_address=10.0.0.0 AND attribute:(key1=value1) AND attribute:(key2=value2)` - `attribute_text=test AND parent_range=projects/123/locations/global/discoveredRanges/test-parent-range` + * Optional. Search query. This string filters resources in an AIP-160-like format. It has some limitations. You can only specify top level conjunctions or attribute level negations. Each restriction can only be used once except the attribute restriction. The available restrictions for Ranges are: - `realm`: The Realm name to search in. - `ip_address`: The IP address to search for within Ranges. - `ip_version`: The IP version to filter by (e.g., "IPV4", "IPV6"). - `parent_range`: The parent Range of the Range to search for. - `attribute_text`: The attribute text to search for within Ranges. - `attribute`: The attribute key and value to filter by. The available restrictions for Realms are: - `ip_version`: The IP version to search for. - `management_type`: The management type of the Realm (e.g., "CNR", "USER"). Only one of attribute_text or multiple attribute filters can be specified. Examples: - `realm=test-realm` - `realm=test-realm AND ip_address=10.0.0.0` - `realm=test-realm AND ip_version=IPV6` - `realm=test-realm AND attribute_text=test` - `ip_address=10.0.0.0 AND attribute:(key1=value1) AND attribute:(key2=value2)` - `attribute_text=test AND parent_range=projects/123/locations/global/discoveredRanges/test-parent-range` - `management_type=CNR` */ query?: string | null; /** - * Optional. The type of resources to search for. If not specified, the server will return ranges. + * Optional. The type of resources to search for. If not specified, the server will return Ranges. */ searchResourceTypes?: string[] | null; /** - * Optional. Whether to show the utilization of the ranges in the response. + * Optional. Whether to show the utilization of the Ranges in the response. */ showUtilization?: boolean | null; } /** - * Message for response to searching IP resources + * Response message for the CloudNumberRegistry.SearchIpResources method. */ export interface Schema$SearchIpResourcesResponse { /** @@ -761,7 +761,7 @@ export namespace cloudnumberregistry_v1alpha { */ nextPageToken?: string | null; /** - * Deprecated: Use results field instead. The list of ranges matching the search query. + * Deprecated: Use results field instead. The list of Ranges matching the search query. */ ranges?: Schema$Range[]; /** @@ -774,20 +774,20 @@ export namespace cloudnumberregistry_v1alpha { unreachable?: string[] | null; } /** - * A result matching the search query, which can be either a range or a realm. + * A result matching the search query, which can be either a Range or a Realm. */ export interface Schema$SearchIpResourcesResult { /** - * A range matching the search query. + * A Range matching the search query. */ range?: Schema$Range; /** - * A realm matching the search query. + * A Realm matching the search query. */ realm?: Schema$Realm; } /** - * Message for the response to getting the utilization of a CustomRange + * Response message for the CloudNumberRegistry.ShowCustomRangeUtilization method. */ export interface Schema$ShowCustomRangeUtilizationResponse { /** @@ -795,12 +795,12 @@ export namespace cloudnumberregistry_v1alpha { */ customRange?: Schema$CustomRange; /** - * The utilization of the CustomRange. + * The utilization details of the CustomRange. */ rangeUtilization?: Schema$RangeUtilization; } /** - * Message for the response to getting the utilization of a DiscoveredRange + * Response message for the CloudNumberRegistry.ShowDiscoveredRangeUtilization method. */ export interface Schema$ShowDiscoveredRangeUtilizationResponse { /** @@ -808,7 +808,7 @@ export namespace cloudnumberregistry_v1alpha { */ discoveredRange?: Schema$DiscoveredRange; /** - * The utilization of the DiscoveredRange. + * The utilization details of the DiscoveredRange. */ rangeUtilization?: Schema$RangeUtilization; } @@ -1222,9 +1222,9 @@ export namespace cloudnumberregistry_v1alpha { * * // Do the magic * const res = await cloudnumberregistry.projects.locations.customRanges.create({ - * // Required. Id of the requesting object. + * // Required. The ID to use for the CustomRange, which will become the final segment of the resource name. * customRangeId: 'placeholder-value', - * // Required. Value for parent. + * // Required. The parent resource name where the CustomRange will be created. * parent: 'projects/my-project/locations/my-location', * // 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). * requestId: 'placeholder-value', @@ -1386,7 +1386,7 @@ export namespace cloudnumberregistry_v1alpha { * const res = await cloudnumberregistry.projects.locations.customRanges.delete({ * // Optional. If set to true, all associated resources will be deleted. * force: 'placeholder-value', - * // Required. Name of the resource + * // Required. The resource name of the CustomRange to delete. * name: 'projects/my-project/locations/my-location/customRanges/my-customRange', * // 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). * requestId: 'placeholder-value', @@ -1530,7 +1530,7 @@ export namespace cloudnumberregistry_v1alpha { * await cloudnumberregistry.projects.locations.customRanges.findFreeIpRanges({ * // Required. The prefix length of the free IP ranges to find. * cidrPrefixLength: 'placeholder-value', - * // Required. Name of the CustomRange. + * // Required. The resource name of the CustomRange to search within. * name: 'projects/my-project/locations/my-location/customRanges/my-customRange', * // Optional. The number of free IP ranges to find. * rangeCount: 'placeholder-value', @@ -1683,7 +1683,7 @@ export namespace cloudnumberregistry_v1alpha { * * // Do the magic * const res = await cloudnumberregistry.projects.locations.customRanges.get({ - * // Required. Name of the resource + * // Required. The resource name of the CustomRange to retrieve. * name: 'projects/my-project/locations/my-location/customRanges/my-customRange', * }); * console.log(res.data); @@ -1826,7 +1826,7 @@ export namespace cloudnumberregistry_v1alpha { * * // Do the magic * const res = await cloudnumberregistry.projects.locations.customRanges.list({ - * // Optional. Filtering results. + * // Optional. Filter expression to filter the results. * filter: 'placeholder-value', * // Optional. Hint for how to order the results. * orderBy: 'placeholder-value', @@ -1834,7 +1834,7 @@ export namespace cloudnumberregistry_v1alpha { * pageSize: 'placeholder-value', * // Optional. A token identifying a page of results the server should return. * pageToken: 'placeholder-value', - * // Required. Parent value for ListCustomRangesRequest + * // Required. The parent resource name, for example `projects/x/locations/x`. * parent: 'projects/my-project/locations/my-location', * }); * console.log(res.data); @@ -1976,7 +1976,7 @@ export namespace cloudnumberregistry_v1alpha { * * // Do the magic * const res = await cloudnumberregistry.projects.locations.customRanges.patch({ - * // Required. Identifier. name of resource + * // Required. Identifier. The resource name of the CustomRange, in the format `projects/{project\}/locations/{location\}/customRanges/{custom_range\}`. * name: 'projects/my-project/locations/my-location/customRanges/my-customRange', * // 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). * requestId: 'placeholder-value', @@ -2136,7 +2136,7 @@ export namespace cloudnumberregistry_v1alpha { * // Do the magic * const res = * await cloudnumberregistry.projects.locations.customRanges.showUtilization({ - * // Required. Name of the resource + * // Required. The resource name of the CustomRange. * name: 'projects/my-project/locations/my-location/customRanges/my-customRange', * }); * console.log(res.data); @@ -2258,11 +2258,11 @@ export namespace cloudnumberregistry_v1alpha { export interface Params$Resource$Projects$Locations$Customranges$Create extends StandardParameters { /** - * Required. Id of the requesting object. + * Required. The ID to use for the CustomRange, which will become the final segment of the resource name. */ customRangeId?: string; /** - * Required. Value for parent. + * Required. The parent resource name where the CustomRange will be created. */ parent?: string; /** @@ -2281,7 +2281,7 @@ export namespace cloudnumberregistry_v1alpha { */ force?: boolean; /** - * Required. Name of the resource + * Required. The resource name of the CustomRange to delete. */ name?: string; /** @@ -2295,7 +2295,7 @@ export namespace cloudnumberregistry_v1alpha { */ cidrPrefixLength?: number; /** - * Required. Name of the CustomRange. + * Required. The resource name of the CustomRange to search within. */ name?: string; /** @@ -2309,13 +2309,13 @@ export namespace cloudnumberregistry_v1alpha { } export interface Params$Resource$Projects$Locations$Customranges$Get extends StandardParameters { /** - * Required. Name of the resource + * Required. The resource name of the CustomRange to retrieve. */ name?: string; } export interface Params$Resource$Projects$Locations$Customranges$List extends StandardParameters { /** - * Optional. Filtering results. + * Optional. Filter expression to filter the results. */ filter?: string; /** @@ -2331,13 +2331,13 @@ export namespace cloudnumberregistry_v1alpha { */ pageToken?: string; /** - * Required. Parent value for ListCustomRangesRequest + * Required. The parent resource name, for example `projects/x/locations/x`. */ parent?: string; } export interface Params$Resource$Projects$Locations$Customranges$Patch extends StandardParameters { /** - * Required. Identifier. name of resource + * Required. Identifier. The resource name of the CustomRange, in the format `projects/{project\}/locations/{location\}/customRanges/{custom_range\}`. */ name?: string; /** @@ -2356,7 +2356,7 @@ export namespace cloudnumberregistry_v1alpha { } export interface Params$Resource$Projects$Locations$Customranges$Showutilization extends StandardParameters { /** - * Required. Name of the resource + * Required. The resource name of the CustomRange. */ name?: string; } @@ -2402,7 +2402,7 @@ export namespace cloudnumberregistry_v1alpha { * { * // Required. The prefix length of the free IP ranges to find. * cidrPrefixLength: 'placeholder-value', - * // Required. Name of the DiscoveredRange. + * // Required. The resource name of the DiscoveredRange to search within. * name: 'projects/my-project/locations/my-location/discoveredRanges/my-discoveredRange', * // Optional. The number of free IP ranges to find. * rangeCount: 'placeholder-value', @@ -2557,7 +2557,7 @@ export namespace cloudnumberregistry_v1alpha { * // Do the magic * const res = await cloudnumberregistry.projects.locations.discoveredRanges.get( * { - * // Required. Name of the resource + * // Required. The resource name of the DiscoveredRange to retrieve. * name: 'projects/my-project/locations/my-location/discoveredRanges/my-discoveredRange', * }, * ); @@ -2706,7 +2706,7 @@ export namespace cloudnumberregistry_v1alpha { * // Do the magic * const res = * await cloudnumberregistry.projects.locations.discoveredRanges.list({ - * // Optional. Filtering results. + * // Optional. Filter expression to filter the results. * filter: 'placeholder-value', * // Optional. Hint for how to order the results. * orderBy: 'placeholder-value', @@ -2714,7 +2714,7 @@ export namespace cloudnumberregistry_v1alpha { * pageSize: 'placeholder-value', * // Optional. A token identifying a page of results the server should return. * pageToken: 'placeholder-value', - * // Required. Parent value for ListDiscoveredRangesRequest + * // Required. The parent resource name, for example `projects/x/locations/x`. * parent: 'projects/my-project/locations/my-location', * }); * console.log(res.data); @@ -2862,7 +2862,7 @@ export namespace cloudnumberregistry_v1alpha { * const res = * await cloudnumberregistry.projects.locations.discoveredRanges.showUtilization( * { - * // Required. Name of the resource + * // Required. The resource name of the DiscoveredRange. * name: 'projects/my-project/locations/my-location/discoveredRanges/my-discoveredRange', * }, * ); @@ -2989,7 +2989,7 @@ export namespace cloudnumberregistry_v1alpha { */ cidrPrefixLength?: number; /** - * Required. Name of the DiscoveredRange. + * Required. The resource name of the DiscoveredRange to search within. */ name?: string; /** @@ -3003,13 +3003,13 @@ export namespace cloudnumberregistry_v1alpha { } export interface Params$Resource$Projects$Locations$Discoveredranges$Get extends StandardParameters { /** - * Required. Name of the resource + * Required. The resource name of the DiscoveredRange to retrieve. */ name?: string; } export interface Params$Resource$Projects$Locations$Discoveredranges$List extends StandardParameters { /** - * Optional. Filtering results. + * Optional. Filter expression to filter the results. */ filter?: string; /** @@ -3025,13 +3025,13 @@ export namespace cloudnumberregistry_v1alpha { */ pageToken?: string; /** - * Required. Parent value for ListDiscoveredRangesRequest + * Required. The parent resource name, for example `projects/x/locations/x`. */ parent?: string; } export interface Params$Resource$Projects$Locations$Discoveredranges$Showutilization extends StandardParameters { /** - * Required. Name of the resource + * Required. The resource name of the DiscoveredRange. */ name?: string; } @@ -3043,7 +3043,7 @@ export namespace cloudnumberregistry_v1alpha { } /** - * Checks the availability of IPAM admin scopes in a given project and location. + * Checks the availability of IpamAdminScopes in a given project and location. * @example * ```js * // Before running the sample: @@ -3075,9 +3075,9 @@ export namespace cloudnumberregistry_v1alpha { * const res = * await cloudnumberregistry.projects.locations.ipamAdminScopes.checkAvailability( * { - * // Required. Parent value for the IpamAdminScopes. + * // Required. The parent resource name, for example `projects/x/locations/x`. * parent: 'projects/my-project/locations/my-location', - * // Required. The scopes of the IpamAdminScopes to look for. + * // Required. The administrative scopes to check for availability. * scopes: 'placeholder-value', * }, * ); @@ -3227,7 +3227,7 @@ export namespace cloudnumberregistry_v1alpha { * // Do the magic * const res = * await cloudnumberregistry.projects.locations.ipamAdminScopes.cleanup({ - * // Required. Name of the resource + * // Required. The resource name of the IpamAdminScope to clean up. * name: 'projects/my-project/locations/my-location/ipamAdminScopes/my-ipamAdminScope', * * // Request body metadata @@ -3379,9 +3379,9 @@ export namespace cloudnumberregistry_v1alpha { * // Do the magic * const res = * await cloudnumberregistry.projects.locations.ipamAdminScopes.create({ - * // Required. Id of the requesting object. + * // Required. The ID to use for the IpamAdminScope, which will become the final segment of the resource name. * ipamAdminScopeId: 'placeholder-value', - * // Required. Value for parent. + * // Required. The parent resource name where the IpamAdminScope will be created. * parent: 'projects/my-project/locations/my-location', * // 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). * requestId: 'placeholder-value', @@ -3543,7 +3543,7 @@ export namespace cloudnumberregistry_v1alpha { * await cloudnumberregistry.projects.locations.ipamAdminScopes.delete({ * // Optional. If set to true, all associated resources will be deleted. * force: 'placeholder-value', - * // Required. Name of the resource + * // Required. The resource name of the IpamAdminScope to delete. * name: 'projects/my-project/locations/my-location/ipamAdminScopes/my-ipamAdminScope', * // 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). * requestId: 'placeholder-value', @@ -3686,7 +3686,7 @@ export namespace cloudnumberregistry_v1alpha { * // Do the magic * const res = * await cloudnumberregistry.projects.locations.ipamAdminScopes.disable({ - * // Required. Name of the resource + * // Required. The resource name of the IpamAdminScope to disable. * name: 'projects/my-project/locations/my-location/ipamAdminScopes/my-ipamAdminScope', * * // Request body metadata @@ -3837,7 +3837,7 @@ export namespace cloudnumberregistry_v1alpha { * * // Do the magic * const res = await cloudnumberregistry.projects.locations.ipamAdminScopes.get({ - * // Required. Name of the resource + * // Required. The resource name of the IpamAdminScope to retrieve. * name: 'projects/my-project/locations/my-location/ipamAdminScopes/my-ipamAdminScope', * }); * console.log(res.data); @@ -3948,7 +3948,7 @@ export namespace cloudnumberregistry_v1alpha { } /** - * List all IPAM admin scopes in a given project and location. + * Lists IpamAdminScopes in a given project and location. * @example * ```js * // Before running the sample: @@ -3979,15 +3979,15 @@ export namespace cloudnumberregistry_v1alpha { * // Do the magic * const res = await cloudnumberregistry.projects.locations.ipamAdminScopes.list( * { - * // Optional. Filtering results + * // Optional. Filter expression to filter the results. * filter: 'placeholder-value', - * // Optional. Hint for how to order the results + * // Optional. Hint for how to order the results. * orderBy: 'placeholder-value', * // Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. * pageSize: 'placeholder-value', * // Optional. A token identifying a page of results the server should return. * pageToken: 'placeholder-value', - * // Required. Parent value for ListIpamAdminScopesRequest + * // Required. The parent resource name, for example `projects/x/locations/x`. * parent: 'projects/my-project/locations/my-location', * }, * ); @@ -4133,7 +4133,7 @@ export namespace cloudnumberregistry_v1alpha { * // Do the magic * const res = * await cloudnumberregistry.projects.locations.ipamAdminScopes.patch({ - * // Required. Identifier. name of resource + * // Required. Identifier. The resource name of the IpamAdminScope. * name: 'projects/my-project/locations/my-location/ipamAdminScopes/my-ipamAdminScope', * // 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). * requestId: 'placeholder-value', @@ -4262,17 +4262,17 @@ export namespace cloudnumberregistry_v1alpha { export interface Params$Resource$Projects$Locations$Ipamadminscopes$Checkavailability extends StandardParameters { /** - * Required. Parent value for the IpamAdminScopes. + * Required. The parent resource name, for example `projects/x/locations/x`. */ parent?: string; /** - * Required. The scopes of the IpamAdminScopes to look for. + * Required. The administrative scopes to check for availability. */ scopes?: string[]; } export interface Params$Resource$Projects$Locations$Ipamadminscopes$Cleanup extends StandardParameters { /** - * Required. Name of the resource + * Required. The resource name of the IpamAdminScope to clean up. */ name?: string; @@ -4283,11 +4283,11 @@ export namespace cloudnumberregistry_v1alpha { } export interface Params$Resource$Projects$Locations$Ipamadminscopes$Create extends StandardParameters { /** - * Required. Id of the requesting object. + * Required. The ID to use for the IpamAdminScope, which will become the final segment of the resource name. */ ipamAdminScopeId?: string; /** - * Required. Value for parent. + * Required. The parent resource name where the IpamAdminScope will be created. */ parent?: string; /** @@ -4306,7 +4306,7 @@ export namespace cloudnumberregistry_v1alpha { */ force?: boolean; /** - * Required. Name of the resource + * Required. The resource name of the IpamAdminScope to delete. */ name?: string; /** @@ -4316,7 +4316,7 @@ export namespace cloudnumberregistry_v1alpha { } export interface Params$Resource$Projects$Locations$Ipamadminscopes$Disable extends StandardParameters { /** - * Required. Name of the resource + * Required. The resource name of the IpamAdminScope to disable. */ name?: string; @@ -4327,17 +4327,17 @@ export namespace cloudnumberregistry_v1alpha { } export interface Params$Resource$Projects$Locations$Ipamadminscopes$Get extends StandardParameters { /** - * Required. Name of the resource + * Required. The resource name of the IpamAdminScope to retrieve. */ name?: string; } export interface Params$Resource$Projects$Locations$Ipamadminscopes$List extends StandardParameters { /** - * Optional. Filtering results + * Optional. Filter expression to filter the results. */ filter?: string; /** - * Optional. Hint for how to order the results + * Optional. Hint for how to order the results. */ orderBy?: string; /** @@ -4349,13 +4349,13 @@ export namespace cloudnumberregistry_v1alpha { */ pageToken?: string; /** - * Required. Parent value for ListIpamAdminScopesRequest + * Required. The parent resource name, for example `projects/x/locations/x`. */ parent?: string; } export interface Params$Resource$Projects$Locations$Ipamadminscopes$Patch extends StandardParameters { /** - * Required. Identifier. name of resource + * Required. Identifier. The resource name of the IpamAdminScope. */ name?: string; /** @@ -5027,9 +5027,9 @@ export namespace cloudnumberregistry_v1alpha { * * // Do the magic * const res = await cloudnumberregistry.projects.locations.realms.create({ - * // Required. Value for parent. + * // Required. The parent resource name where the Realm will be created. * parent: 'projects/my-project/locations/my-location', - * // Required. Id of the requesting object. + * // Required. The ID to use for the Realm, which will become the final segment of the resource name. * realmId: 'placeholder-value', * // 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. * requestId: 'placeholder-value', @@ -5192,7 +5192,7 @@ export namespace cloudnumberregistry_v1alpha { * const res = await cloudnumberregistry.projects.locations.realms.delete({ * // Optional. If set to true, all associated resources will be deleted. * force: 'placeholder-value', - * // Required. Name of the resource + * // Required. The resource name of the Realm to delete. * name: 'projects/my-project/locations/my-location/realms/my-realm', * // 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. * requestId: 'placeholder-value', @@ -5333,9 +5333,9 @@ export namespace cloudnumberregistry_v1alpha { * * // Do the magic * const res = await cloudnumberregistry.projects.locations.realms.get({ - * // Required. Name of the resource + * // Required. The resource name of the Realm to retrieve. * name: 'projects/my-project/locations/my-location/realms/my-realm', - * // Optional. The view of the Realm. + * // Optional. The view of the Realm to retrieve. * view: 'placeholder-value', * }); * console.log(res.data); @@ -5479,17 +5479,17 @@ export namespace cloudnumberregistry_v1alpha { * * // Do the magic * const res = await cloudnumberregistry.projects.locations.realms.list({ - * // Optional. Filtering results + * // Optional. Filter expression to filter the results. * filter: 'placeholder-value', - * // Optional. Hint for how to order the results + * // Optional. Hint for how to order the results. * orderBy: 'placeholder-value', * // Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. * pageSize: 'placeholder-value', * // Optional. A token identifying a page of results the server should return. * pageToken: 'placeholder-value', - * // Required. Parent value for ListRealmsRequest + * // Required. The parent resource name, for example `projects/x/locations/x`. * parent: 'projects/my-project/locations/my-location', - * // Optional. The view of the Realm. + * // Optional. The view of the Realm to retrieve. * view: 'placeholder-value', * }); * console.log(res.data); @@ -5629,7 +5629,7 @@ export namespace cloudnumberregistry_v1alpha { * * // Do the magic * const res = await cloudnumberregistry.projects.locations.realms.patch({ - * // Required. Identifier. Unique name/ID of the realm + * // Required. Identifier. The resource name of the Realm. * name: 'projects/my-project/locations/my-location/realms/my-realm', * // 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. * requestId: 'placeholder-value', @@ -5761,11 +5761,11 @@ export namespace cloudnumberregistry_v1alpha { export interface Params$Resource$Projects$Locations$Realms$Create extends StandardParameters { /** - * Required. Value for parent. + * Required. The parent resource name where the Realm will be created. */ parent?: string; /** - * Required. Id of the requesting object. + * Required. The ID to use for the Realm, which will become the final segment of the resource name. */ realmId?: string; /** @@ -5784,7 +5784,7 @@ export namespace cloudnumberregistry_v1alpha { */ force?: boolean; /** - * Required. Name of the resource + * Required. The resource name of the Realm to delete. */ name?: string; /** @@ -5794,21 +5794,21 @@ export namespace cloudnumberregistry_v1alpha { } export interface Params$Resource$Projects$Locations$Realms$Get extends StandardParameters { /** - * Required. Name of the resource + * Required. The resource name of the Realm to retrieve. */ name?: string; /** - * Optional. The view of the Realm. + * Optional. The view of the Realm to retrieve. */ view?: string; } export interface Params$Resource$Projects$Locations$Realms$List extends StandardParameters { /** - * Optional. Filtering results + * Optional. Filter expression to filter the results. */ filter?: string; /** - * Optional. Hint for how to order the results + * Optional. Hint for how to order the results. */ orderBy?: string; /** @@ -5820,17 +5820,17 @@ export namespace cloudnumberregistry_v1alpha { */ pageToken?: string; /** - * Required. Parent value for ListRealmsRequest + * Required. The parent resource name, for example `projects/x/locations/x`. */ parent?: string; /** - * Optional. The view of the Realm. + * Optional. The view of the Realm to retrieve. */ view?: string; } export interface Params$Resource$Projects$Locations$Realms$Patch extends StandardParameters { /** - * Required. Identifier. Unique name/ID of the realm + * Required. Identifier. The resource name of the Realm. */ name?: string; /** @@ -5886,9 +5886,9 @@ export namespace cloudnumberregistry_v1alpha { * // Do the magic * const res = await cloudnumberregistry.projects.locations.registryBooks.create( * { - * // Required. Value for parent. + * // Required. The parent resource name where the RegistryBook will be created. * parent: 'projects/my-project/locations/my-location', - * // Required. Id of the requesting object. + * // Required. The ID to use for the RegistryBook, which will become the final segment of the resource name. * registryBookId: 'placeholder-value', * // 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). * requestId: 'placeholder-value', @@ -6050,7 +6050,7 @@ export namespace cloudnumberregistry_v1alpha { * { * // Optional. If set to true, all associated resources will be deleted. * force: 'placeholder-value', - * // Required. Name of the resource + * // Required. The resource name of the RegistryBook to delete. * name: 'projects/my-project/locations/my-location/registryBooks/my-registryBook', * // 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). * requestId: 'placeholder-value', @@ -6192,9 +6192,9 @@ export namespace cloudnumberregistry_v1alpha { * * // Do the magic * const res = await cloudnumberregistry.projects.locations.registryBooks.get({ - * // Required. Name of the resource + * // Required. The resource name of the RegistryBook to retrieve. * name: 'projects/my-project/locations/my-location/registryBooks/my-registryBook', - * // Optional. The view of the RegistryBook. + * // Optional. The view of the RegistryBook to retrieve. * view: 'placeholder-value', * }); * console.log(res.data); @@ -6335,17 +6335,17 @@ export namespace cloudnumberregistry_v1alpha { * * // Do the magic * const res = await cloudnumberregistry.projects.locations.registryBooks.list({ - * // Optional. Filtering results + * // Optional. Filter expression to filter the results. * filter: 'placeholder-value', - * // Optional. Hint for how to order the results + * // Optional. Hint for how to order the results. * orderBy: 'placeholder-value', * // Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. * pageSize: 'placeholder-value', * // Optional. A token identifying a page of results the server should return. * pageToken: 'placeholder-value', - * // Required. Parent value for ListRegistryBooksRequest + * // Required. The parent resource name, for example `projects/x/locations/x`. * parent: 'projects/my-project/locations/my-location', - * // Optional. The view of the RegistryBook. + * // Optional. The view of the RegistryBook to retrieve. * view: 'placeholder-value', * }); * console.log(res.data); @@ -6489,7 +6489,7 @@ export namespace cloudnumberregistry_v1alpha { * * // Do the magic * const res = await cloudnumberregistry.projects.locations.registryBooks.patch({ - * // Required. Identifier. name of resource + * // Required. Identifier. The resource name of the RegistryBook. * name: 'projects/my-project/locations/my-location/registryBooks/my-registryBook', * // 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). * requestId: 'placeholder-value', @@ -6648,7 +6648,7 @@ export namespace cloudnumberregistry_v1alpha { * const res = * await cloudnumberregistry.projects.locations.registryBooks.searchIpResources( * { - * // Required. The name of the RegistryBook to search in. + * // Required. The resource name of the RegistryBook to search in. * name: 'projects/my-project/locations/my-location/registryBooks/my-registryBook', * * // Request body metadata @@ -6780,11 +6780,11 @@ export namespace cloudnumberregistry_v1alpha { export interface Params$Resource$Projects$Locations$Registrybooks$Create extends StandardParameters { /** - * Required. Value for parent. + * Required. The parent resource name where the RegistryBook will be created. */ parent?: string; /** - * Required. Id of the requesting object. + * Required. The ID to use for the RegistryBook, which will become the final segment of the resource name. */ registryBookId?: string; /** @@ -6803,7 +6803,7 @@ export namespace cloudnumberregistry_v1alpha { */ force?: boolean; /** - * Required. Name of the resource + * Required. The resource name of the RegistryBook to delete. */ name?: string; /** @@ -6813,21 +6813,21 @@ export namespace cloudnumberregistry_v1alpha { } export interface Params$Resource$Projects$Locations$Registrybooks$Get extends StandardParameters { /** - * Required. Name of the resource + * Required. The resource name of the RegistryBook to retrieve. */ name?: string; /** - * Optional. The view of the RegistryBook. + * Optional. The view of the RegistryBook to retrieve. */ view?: string; } export interface Params$Resource$Projects$Locations$Registrybooks$List extends StandardParameters { /** - * Optional. Filtering results + * Optional. Filter expression to filter the results. */ filter?: string; /** - * Optional. Hint for how to order the results + * Optional. Hint for how to order the results. */ orderBy?: string; /** @@ -6839,17 +6839,17 @@ export namespace cloudnumberregistry_v1alpha { */ pageToken?: string; /** - * Required. Parent value for ListRegistryBooksRequest + * Required. The parent resource name, for example `projects/x/locations/x`. */ parent?: string; /** - * Optional. The view of the RegistryBook. + * Optional. The view of the RegistryBook to retrieve. */ view?: string; } export interface Params$Resource$Projects$Locations$Registrybooks$Patch extends StandardParameters { /** - * Required. Identifier. name of resource + * Required. Identifier. The resource name of the RegistryBook. */ name?: string; /** @@ -6868,7 +6868,7 @@ export namespace cloudnumberregistry_v1alpha { } export interface Params$Resource$Projects$Locations$Registrybooks$Searchipresources extends StandardParameters { /** - * Required. The name of the RegistryBook to search in. + * Required. The resource name of the RegistryBook to search in. */ name?: string; diff --git a/src/apis/cloudtasks/v2.ts b/src/apis/cloudtasks/v2.ts index f4101b58588..7c4df34cc28 100644 --- a/src/apis/cloudtasks/v2.ts +++ b/src/apis/cloudtasks/v2.ts @@ -571,7 +571,7 @@ export namespace cloudtasks_v2 { */ maxConcurrentDispatches?: number | null; /** - * The maximum rate at which tasks are dispatched from this queue. If unspecified when the queue is created, Cloud Tasks will pick the default. * The maximum allowed value is 500. This field has the same meaning as [rate in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate). + * The maximum rate at which tasks are dispatched from this queue. If unspecified when the queue is created, Cloud Tasks will pick the default. The maximum allowed value is 500. This field has the same meaning as [rate in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate). */ maxDispatchesPerSecond?: number | null; } @@ -584,11 +584,11 @@ export namespace cloudtasks_v2 { */ export interface Schema$RetryConfig { /** - * Number of attempts per task. Cloud Tasks will attempt the task `max_attempts` times (that is, if the first attempt fails, then there will be `max_attempts - 1` retries). Must be \>= -1. If unspecified when the queue is created, Cloud Tasks will pick the default. -1 indicates unlimited attempts. This field has the same meaning as [task_retry_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). Note: Cloud Tasks stops retrying only when `max_attempts` and `max_retry_duration` are both satisfied. When the task has been attempted `max_attempts` times and when the `max_retry_duration` time has passed, no further attempts are made, and the task is deleted. If you want your task to retry infinitely, you must set `max_attempts` to -1 and `max_retry_duration` to 0. + * Number of attempts per task, including the first attempt. (If the first attempt fails, there will be `max_attempts - 1` retries.) Must be greater than or equal to -1, which indicates unlimited attempts. Cloud Tasks stops retrying only when `max_attempts` and `max_retry_duration` are both satisfied, or when the task is successfully executed. When the task has been attempted `max_attempts` times and when the `max_retry_duration` time has passed, no further attempts are made, and the task is deleted. If `max_attempts` is set to -1 and `max_retry_duration` is set to 0, the task is retried until the [maximum task retention](https://docs.cloud.google.com/tasks/docs/quotas#limits) limit is reached. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [task_retry_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). */ maxAttempts?: number | null; /** - * A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_backoff` will be truncated to the nearest second. This field has the same meaning as [max_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + * A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_backoff` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [max_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). */ maxBackoff?: string | null; /** @@ -596,11 +596,11 @@ export namespace cloudtasks_v2 { */ maxDoublings?: number | null; /** - * If positive, `max_retry_duration` specifies the time limit for retrying a failed task, measured from when the task was first attempted. Once `max_retry_duration` time has passed *and* the task has been attempted max_attempts times, no further attempts will be made and the task will be deleted. If zero, then the task age is unlimited. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For the maximum possible value or the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_retry_duration` will be truncated to the nearest second. This field has the same meaning as [task_age_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + * If positive, `max_retry_duration` specifies the time limit for retrying a failed task, measured from when the task was first attempted. Once `max_retry_duration` time has passed *and* the task has been attempted max_attempts times, no further attempts are made and the task is deleted. A zero (0) indicates an unlimited duration, up to the [maximum task retention](https://docs.cloud.google.com/tasks/docs/quotas#limits) limit. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For the maximum possible value or the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_retry_duration` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [task_age_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). */ maxRetryDuration?: string | null; /** - * A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `min_backoff` will be truncated to the nearest second. This field has the same meaning as [min_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + * A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `min_backoff` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [min_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). */ minBackoff?: string | null; } diff --git a/src/apis/cloudtasks/v2beta3.ts b/src/apis/cloudtasks/v2beta3.ts index 62a2801d064..c10f3c09652 100644 --- a/src/apis/cloudtasks/v2beta3.ts +++ b/src/apis/cloudtasks/v2beta3.ts @@ -634,7 +634,7 @@ export namespace cloudtasks_v2beta3 { */ maxConcurrentDispatches?: number | null; /** - * The maximum rate at which tasks are dispatched from this queue. If unspecified when the queue is created, Cloud Tasks will pick the default. * For App Engine queues, the maximum allowed value is 500. This field has the same meaning as [rate in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate). + * The maximum rate at which tasks are dispatched from this queue. If unspecified when the queue is created, Cloud Tasks will pick the default. For App Engine queues, the maximum allowed value is 500. This field has the same meaning as [rate in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#rate). */ maxDispatchesPerSecond?: number | null; } @@ -647,11 +647,11 @@ export namespace cloudtasks_v2beta3 { */ export interface Schema$RetryConfig { /** - * Number of attempts per task. Cloud Tasks will attempt the task `max_attempts` times (that is, if the first attempt fails, then there will be `max_attempts - 1` retries). Must be \>= -1. If unspecified when the queue is created, Cloud Tasks will pick the default. -1 indicates unlimited attempts. This field has the same meaning as [task_retry_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). Note: Cloud Tasks stops retrying only when `max_attempts` and `max_retry_duration` are both satisfied. When the task has been attempted `max_attempts` times and when the `max_retry_duration` time has passed, no further attempts are made, and the task is deleted. If you want your task to retry infinitely, you must set `max_attempts` to -1 and `max_retry_duration` to 0. + * Number of attempts per task, including the first attempt. (If the first attempt fails, there will be `max_attempts - 1` retries.) Must be greater than or equal to -1, which indicates unlimited attempts. Cloud Tasks stops retrying only when `max_attempts` and `max_retry_duration` are both satisfied, or when the task is successfully executed. When the task has been attempted `max_attempts` times and when the `max_retry_duration` time has passed, no further attempts are made, and the task is deleted. If `max_attempts` is set to -1 and `max_retry_duration` is set to 0, the task is retried until the [maximum task retention](https://docs.cloud.google.com/tasks/docs/quotas#limits) limit is reached. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [task_retry_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). */ maxAttempts?: number | null; /** - * A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_backoff` will be truncated to the nearest second. This field has the same meaning as [max_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + * A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_backoff` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [max_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). */ maxBackoff?: string | null; /** @@ -659,11 +659,11 @@ export namespace cloudtasks_v2beta3 { */ maxDoublings?: number | null; /** - * If positive, `max_retry_duration` specifies the time limit for retrying a failed task, measured from when the task was first attempted. Once `max_retry_duration` time has passed *and* the task has been attempted max_attempts times, no further attempts will be made and the task will be deleted. If zero, then the task age is unlimited. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For the maximum possible value or the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_retry_duration` will be truncated to the nearest second. This field has the same meaning as [task_age_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + * If positive, `max_retry_duration` specifies the time limit for retrying a failed task, measured from when the task was first attempted. Once `max_retry_duration` time has passed *and* the task has been attempted max_attempts times, no further attempts are made and the task is deleted. A zero (0) indicates an unlimited duration, up to the [maximum task retention](https://docs.cloud.google.com/tasks/docs/quotas#limits) limit. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For the maximum possible value or the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `max_retry_duration` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [task_age_limit in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). */ maxRetryDuration?: string | null; /** - * A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. If unspecified when the queue is created, Cloud Tasks will pick the default. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `min_backoff` will be truncated to the nearest second. This field has the same meaning as [min_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). + * A task will be scheduled for retry between min_backoff and max_backoff duration after it fails, if the queue's RetryConfig specifies that the task should be retried. The value must be given as a string that indicates the length of time (in seconds) followed by `s` (for "seconds"). For more information on the format, see the documentation for [Duration](https://protobuf.dev/reference/protobuf/google.protobuf/#duration). `min_backoff` will be truncated to the nearest second. If unspecified when the queue is created, Cloud Tasks will pick the default. This field has the same meaning as [min_backoff_seconds in queue.yaml/xml](https://cloud.google.com/appengine/docs/standard/python/config/queueref#retry_parameters). */ minBackoff?: string | null; } diff --git a/src/apis/composer/v1beta1.ts b/src/apis/composer/v1beta1.ts index 1977a368c1c..438a79ab321 100644 --- a/src/apis/composer/v1beta1.ts +++ b/src/apis/composer/v1beta1.ts @@ -1210,6 +1210,10 @@ export namespace composer_v1beta1 { * Identifier. The resource name of the Secret, in the form: "projects/{projectId\}/locations/{locationId\}/environments/{environmentId\}/userWorkloadsSecrets/{userWorkloadsSecretId\}" */ name?: string | null; + /** + * Optional. The "type" field of Kubernetes Secret. For details see: https://kubernetes.io/docs/concepts/configuration/secret/#secret-types + */ + type?: string | null; } /** * The configuration settings for the Airflow web server App Engine instance. Supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*. @@ -4508,7 +4512,8 @@ export namespace composer_v1beta1 { * // request body parameters * // { * // "data": {}, - * // "name": "my_name" + * // "name": "my_name", + * // "type": "my_type" * // } * }, * }); @@ -4517,7 +4522,8 @@ export namespace composer_v1beta1 { * // Example response * // { * // "data": {}, - * // "name": "my_name" + * // "name": "my_name", + * // "type": "my_type" * // } * } * @@ -4798,7 +4804,8 @@ export namespace composer_v1beta1 { * // Example response * // { * // "data": {}, - * // "name": "my_name" + * // "name": "my_name", + * // "type": "my_type" * // } * } * @@ -5097,7 +5104,8 @@ export namespace composer_v1beta1 { * // request body parameters * // { * // "data": {}, - * // "name": "my_name" + * // "name": "my_name", + * // "type": "my_type" * // } * }, * }); @@ -5106,7 +5114,8 @@ export namespace composer_v1beta1 { * // Example response * // { * // "data": {}, - * // "name": "my_name" + * // "name": "my_name", + * // "type": "my_type" * // } * } * diff --git a/src/apis/compute/alpha.ts b/src/apis/compute/alpha.ts index 913e6b74aaf..9d07742634d 100644 --- a/src/apis/compute/alpha.ts +++ b/src/apis/compute/alpha.ts @@ -129,6 +129,7 @@ export namespace compute_alpha { externalVpnGateways: Resource$Externalvpngateways; firewallPolicies: Resource$Firewallpolicies; firewalls: Resource$Firewalls; + folderZoneVmExtensionPolicies: Resource$Folderzonevmextensionpolicies; forwardingRules: Resource$Forwardingrules; futureReservations: Resource$Futurereservations; globalAddresses: Resource$Globaladdresses; @@ -174,8 +175,12 @@ export namespace compute_alpha { nodeGroups: Resource$Nodegroups; nodeTemplates: Resource$Nodetemplates; nodeTypes: Resource$Nodetypes; + organizationRolloutPlans: Resource$Organizationrolloutplans; + organizationRollouts: Resource$Organizationrollouts; organizationSecurityPolicies: Resource$Organizationsecuritypolicies; organizationSnapshotRecycleBinPolicy: Resource$Organizationsnapshotrecyclebinpolicy; + organizationZoneVmExtensionPolicies: Resource$Organizationzonevmextensionpolicies; + orgVmExtensionPolicies: Resource$Orgvmextensionpolicies; packetMirrorings: Resource$Packetmirrorings; previewFeatures: Resource$Previewfeatures; projects: Resource$Projects; @@ -280,6 +285,8 @@ export namespace compute_alpha { this.externalVpnGateways = new Resource$Externalvpngateways(this.context); this.firewallPolicies = new Resource$Firewallpolicies(this.context); this.firewalls = new Resource$Firewalls(this.context); + this.folderZoneVmExtensionPolicies = + new Resource$Folderzonevmextensionpolicies(this.context); this.forwardingRules = new Resource$Forwardingrules(this.context); this.futureReservations = new Resource$Futurereservations(this.context); this.globalAddresses = new Resource$Globaladdresses(this.context); @@ -350,10 +357,21 @@ export namespace compute_alpha { this.nodeGroups = new Resource$Nodegroups(this.context); this.nodeTemplates = new Resource$Nodetemplates(this.context); this.nodeTypes = new Resource$Nodetypes(this.context); + this.organizationRolloutPlans = new Resource$Organizationrolloutplans( + this.context + ); + this.organizationRollouts = new Resource$Organizationrollouts( + this.context + ); this.organizationSecurityPolicies = new Resource$Organizationsecuritypolicies(this.context); this.organizationSnapshotRecycleBinPolicy = new Resource$Organizationsnapshotrecyclebinpolicy(this.context); + this.organizationZoneVmExtensionPolicies = + new Resource$Organizationzonevmextensionpolicies(this.context); + this.orgVmExtensionPolicies = new Resource$Orgvmextensionpolicies( + this.context + ); this.packetMirrorings = new Resource$Packetmirrorings(this.context); this.previewFeatures = new Resource$Previewfeatures(this.context); this.projects = new Resource$Projects(this.context); @@ -4397,6 +4415,14 @@ export namespace compute_alpha { * traffic served by this backend service. The default value is false. */ enable?: boolean | null; + /** + * The list of request headers that will be logged to Stackdriver. + */ + loggingHttpRequestHeaders?: Schema$BackendServiceLogConfigLoggingHttpHeader[]; + /** + * The list of response headers that will be logged to Stackdriver. + */ + loggingHttpResponseHeaders?: Schema$BackendServiceLogConfigLoggingHttpHeader[]; /** * Deprecated in favor of optionalMode. * This field can only be specified if logging is enabled for this backend @@ -4429,6 +4455,15 @@ export namespace compute_alpha { */ sampleRate?: number | null; } + /** + * Determines which HTTP headers will be logged to Stackdriver. + */ + export interface Schema$BackendServiceLogConfigLoggingHttpHeader { + /** + * The name of the header to be logged. + */ + headerName?: string | null; + } export interface Schema$BackendServiceNetworkPassThroughLbTrafficPolicy { /** * When configured, new connections are load balanced across healthy backend @@ -11322,11 +11357,6 @@ export namespace compute_alpha { * Name of the destination zone for the failover. */ failoverToZone?: string | null; - /** - * Name of the destination zone for the failover. - * Deprecated: use failover_to_zone instead. - */ - primaryZone?: string | null; } export interface Schema$HaControllersList { etag?: string | null; @@ -15822,6 +15852,10 @@ export namespace compute_alpha { * in the request. */ allInstances?: boolean | null; + /** + * Actions that are allowed to update instances within MIG. + */ + allowedActions?: string[] | null; /** * Whether the boot disk is allowed to be updated with restart. */ @@ -16493,6 +16527,10 @@ export namespace compute_alpha { mode?: string | null; } export interface Schema$InstanceGroupManagerUpdatePolicy { + /** + * Actions that are allowed to update instances within MIG. + */ + allowedActions?: string[] | null; /** * Whether the boot disk is allowed to be updated with restart. */ @@ -16790,34 +16828,33 @@ export namespace compute_alpha { } export interface Schema$InstanceManagedByIgmError { /** - * Output only. [Output Only] Contents of the error. + * Output only. Contents of the error. */ error?: Schema$InstanceManagedByIgmErrorManagedInstanceError; /** - * Output only. [Output Only] Details of the instance action that triggered this error. + * 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. */ instanceActionDetails?: Schema$InstanceManagedByIgmErrorInstanceActionDetails; /** - * Output only. [Output Only] The time that this error occurred. - * This value is in RFC3339 text format. + * Output only. The time that this error occurred. This value is in RFC3339 text format. */ timestamp?: string | null; } export interface Schema$InstanceManagedByIgmErrorInstanceActionDetails { /** - * Output only. [Output Only] Action that managed instance group was executing on - * the instance when the error occurred. Possible values: + * Output only. Action that managed instance group was executing on the instance when the + * error occurred. Possible values: */ action?: string | null; /** - * Output only. [Output Only] The URL of the instance. - * The URL can be set even if the instance has not yet been created. + * Output only. The URL of the instance. The URL can be set even if the instance has not + * yet been created. */ instance?: string | null; /** - * Output only. [Output Only] Version this instance was created from, or was being + * 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. @@ -16826,11 +16863,11 @@ export namespace compute_alpha { } export interface Schema$InstanceManagedByIgmErrorManagedInstanceError { /** - * Output only. [Output Only] Error code. + * Output only. Error code. */ code?: string | null; /** - * Output only. [Output Only] Error message. + * Output only. Error message. */ message?: string | null; } @@ -25950,6 +25987,42 @@ export namespace compute_alpha { message?: string; } | null; } + export interface Schema$OrganizationRolloutsListResponse { + etag?: string | null; + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string | null; + /** + * A list of Rollout resources. + */ + items?: Schema$Rollout[]; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger thanmaxResults, use the nextPageToken as a value for + * the query parameter pageToken in the next list request. + * Subsequent list requests will have their own nextPageToken to + * continue paging through the results. + */ + nextPageToken?: string | null; + /** + * Output only. [Output Only] Server-defined URL for this resource. + */ + selfLink?: string | null; + /** + * Output only. [Output Only] Unreachable resources. + * end_interface: MixerListResponseWithEtagBuilder + */ + unreachables?: string[] | null; + /** + * [Output Only] Informational warning message. + */ + warning?: { + code?: string; + data?: Array<{key?: string; value?: string}>; + message?: string; + } | null; + } export interface Schema$OrganizationSecurityPoliciesListAssociationsResponse { /** * A list of associations. @@ -28881,6 +28954,10 @@ export namespace compute_alpha { * in the request. */ allInstances?: boolean | null; + /** + * Actions that are allowed to update instances within MIG. + */ + allowedActions?: string[] | null; /** * Whether the boot disk is allowed to be updated with restart. */ @@ -30967,6 +31044,10 @@ export namespace compute_alpha { * running. */ export interface Schema$ResourceStatusPhysicalHostTopology { + /** + * Output only. [Output Only] Additional location information of the running instance. + */ + additionalAttributes?: Schema$ResourceStatusPhysicalHostTopologyAdditionalAttributes; /** * [Output Only] The ID of the block in which the running instance is * located. Instances within the same block experience low network latency. @@ -30990,6 +31071,18 @@ export namespace compute_alpha { */ subblock?: string | null; } + /** + * Additional location information of the running instance. + */ + export interface Schema$ResourceStatusPhysicalHostTopologyAdditionalAttributes { + /** + * Output only. The IDs of the accelerator topologies the instance belongs to. For + * example + * The key will be topologies like "4x4", "2x2x2" and the value will be + * the location ID of the topologies. + */ + acceleratorTopologyIds?: {[key: string]: string} | null; + } /** * Reservation consumption information that the instance is consuming from. */ @@ -32573,6 +32666,12 @@ export namespace compute_alpha { * These IPs should be used for updating/patching a NAT only. */ drainNatIps?: string[] | null; + /** + * Output only. Effective timeout (in seconds) for TCP connections that are in TIME_WAIT + * state. This value is equal to tcp_time_wait_timeout_sec if it is set, + * otherwise it is equal to 120s. The field is output only. + */ + effectiveTcpTimeWaitTimeoutSec?: number | null; /** * Enable Dynamic Port Allocation. * @@ -35910,6 +36009,11 @@ export namespace compute_alpha { * The value is the rule for the key. */ rules?: {[key: string]: Schema$SnapshotRecycleBinPolicyRule} | null; + /** + * Output only. The system rules for snapshot recycle bin policy. + * Defines the default rule that applies if no customer-defined rule matches. + */ + systemRules?: {[key: string]: Schema$SnapshotRecycleBinPolicyRule} | null; } /** * A rule that defines the retention policy for snapshots in the recycle bin. @@ -70763,17 +70867,14 @@ export namespace compute_alpha { requestBody?: Schema$Firewall; } - export class Resource$Forwardingrules { + export class Resource$Folderzonevmextensionpolicies { context: APIRequestContext; constructor(context: APIRequestContext) { this.context = context; } /** - * Retrieves an aggregated list of forwarding rules. - * - * To prevent failure, it is recommended that you set the - * `returnPartialSuccess` parameter to `true`. + * Deletes a specified zone VM extension policy within a folder. * @example * ```js * // Before running the sample: @@ -70797,7 +70898,6 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -70806,121 +70906,60 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.forwardingRules.aggregatedList({ - * // A filter expression that filters resources listed in the response. Most - * // Compute resources support two types of filter expressions: - * // expressions that support regular expressions and expressions that follow - * // API improvement proposal AIP-160. - * // These two types of filter expressions cannot be mixed in one request. - * // - * // If you want to use AIP-160, your expression must specify the field name, an - * // operator, and the value that you want to use for filtering. The value - * // must be a string, a number, or a boolean. The operator - * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * // - * // For example, if you are filtering Compute Engine instances, you can - * // exclude instances named `example-instance` by specifying - * // `name != example-instance`. - * // - * // The `:*` comparison can be used to test whether a key has been defined. - * // For example, to find all objects with `owner` label use: - * // ``` - * // labels.owner:* - * // ``` - * // - * // You can also filter nested fields. For example, you could specify - * // `scheduling.automaticRestart = false` to include instances only - * // if they are not scheduled for automatic restarts. You can use filtering - * // on nested fields to filter based onresource labels. - * // - * // To filter on multiple expressions, provide each separate expression within - * // parentheses. For example: - * // ``` - * // (scheduling.automaticRestart = true) - * // (cpuPlatform = "Intel Skylake") - * // ``` - * // By default, each expression is an `AND` expression. However, you - * // can include `AND` and `OR` expressions explicitly. - * // For example: - * // ``` - * // (cpuPlatform = "Intel Skylake") OR - * // (cpuPlatform = "Intel Broadwell") AND - * // (scheduling.automaticRestart = true) - * // ``` - * // - * // If you want to use a regular expression, use the `eq` (equal) or `ne` - * // (not equal) operator against a single un-parenthesized expression with or - * // without quotes or against multiple parenthesized expressions. Examples: - * // - * // `fieldname eq unquoted literal` - * // `fieldname eq 'single quoted literal'` - * // `fieldname eq "double quoted literal"` - * // `(fieldname1 eq literal) (fieldname2 ne "literal")` - * // - * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * // The literal value must match the entire field. - * // - * // For example, to filter for instances that do not end with name "instance", - * // you would use `name ne .*instance`. - * // - * // You cannot combine constraints on multiple fields using regular - * // expressions. - * filter: 'placeholder-value', - * // 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. - * includeAllScopes: 'placeholder-value', - * // The maximum number of results per page that should be returned. - * // If the number of available results is larger than `maxResults`, - * // Compute Engine returns a `nextPageToken` that can be used to get - * // the next page of results in subsequent list requests. Acceptable values are - * // `0` to `500`, inclusive. (Default: `500`) - * maxResults: 'placeholder-value', - * // Sorts list results by a certain order. By default, results - * // are returned in alphanumerical order based on the resource name. - * // - * // You can also sort results in descending order based on the creation - * // timestamp using `orderBy="creationTimestamp desc"`. This sorts - * // results based on the `creationTimestamp` field in - * // reverse chronological order (newest result first). Use this to sort - * // resources like operations so that the newest operation is returned first. + * const res = await compute.folderZoneVmExtensionPolicies.delete({ + * // Folder ID for this request. + * folder: 'folders/[0-9]{0,20}', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. * // - * // Currently, only sorting by `name` or - * // `creationTimestamp desc` is supported. - * orderBy: 'placeholder-value', - * // Specifies a page token to use. Set `pageToken` to the - * // `nextPageToken` returned by a previous list request to get - * // the next page of results. - * pageToken: 'placeholder-value', - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Opt-in for partial success behavior which provides partial results in case - * // of failure. The default value is false. + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. * // - * // For example, when partial success behavior is enabled, aggregatedList for a - * // single zone scope either returns all resources in the zone or no resources, - * // with an error code. - * returnPartialSuccess: 'placeholder-value', - * // The Shared VPC service project id or service project number for which - * // aggregated list request is invoked for subnetworks list-usable api. - * serviceProjectNumber: 'placeholder-value', + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // Name of the zone VM extension policy to delete. + * vmExtensionPolicy: 'placeholder-value', + * // Name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * }); * console.log(res.data); * * // Example response * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, * // "id": "my_id", - * // "items": {}, + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, * // "kind": "my_kind", - * // "nextPageToken": "my_nextPageToken", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", * // "selfLink": "my_selfLink", - * // "unreachables": [], - * // "warning": {} + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" * // } * } * @@ -70936,57 +70975,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - aggregatedList( - params: Params$Resource$Forwardingrules$Aggregatedlist, + delete( + params: Params$Resource$Folderzonevmextensionpolicies$Delete, options: StreamMethodOptions ): Promise>; - aggregatedList( - params?: Params$Resource$Forwardingrules$Aggregatedlist, + delete( + params?: Params$Resource$Folderzonevmextensionpolicies$Delete, options?: MethodOptions - ): Promise>; - aggregatedList( - params: Params$Resource$Forwardingrules$Aggregatedlist, + ): Promise>; + delete( + params: Params$Resource$Folderzonevmextensionpolicies$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - aggregatedList( - params: Params$Resource$Forwardingrules$Aggregatedlist, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - aggregatedList( - params: Params$Resource$Forwardingrules$Aggregatedlist, - callback: BodyResponseCallback + delete( + params: Params$Resource$Folderzonevmextensionpolicies$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - aggregatedList( - callback: BodyResponseCallback + delete( + params: Params$Resource$Folderzonevmextensionpolicies$Delete, + callback: BodyResponseCallback ): void; - aggregatedList( + delete(callback: BodyResponseCallback): void; + delete( paramsOrCallback?: - | Params$Resource$Forwardingrules$Aggregatedlist - | BodyResponseCallback + | Params$Resource$Folderzonevmextensionpolicies$Delete + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Forwardingrules$Aggregatedlist; + {}) as Params$Resource$Folderzonevmextensionpolicies$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Forwardingrules$Aggregatedlist; + params = {} as Params$Resource$Folderzonevmextensionpolicies$Delete; options = {}; } @@ -71001,32 +71036,30 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/aggregated/forwardingRules' + '/compute/alpha/{+folder}/zones/{zone}/vmExtensionPolicies/{vmExtensionPolicy}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'DELETE', apiVersion: '', }, options ), params, - requiredParams: ['project'], - pathParams: ['project'], + requiredParams: ['folder', 'zone', 'vmExtensionPolicy'], + pathParams: ['folder', 'vmExtensionPolicy', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } /** - * Deletes the specified ForwardingRule resource. + * Retrieves details of a specific zone VM extension policy within a folder. * @example * ```js * // Before running the sample: @@ -71050,6 +71083,7 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -71058,61 +71092,32 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.forwardingRules.delete({ - * // Name of the ForwardingRule resource to delete. - * forwardingRule: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name of the region scoping this request. - * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. - * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', + * const res = await compute.folderZoneVmExtensionPolicies.get({ + * // Folder ID for this request. + * folder: 'folders/[0-9]{0,20}', + * // Name of the VM extension policy resource to return. + * vmExtensionPolicy: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // Name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * }); * console.log(res.data); * * // Example response * // { - * // "clientOperationId": "my_clientOperationId", * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, + * // "extensionPolicies": {}, + * // "globalResourceLink": "my_globalResourceLink", * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, + * // "instanceSelectors": [], * // "kind": "my_kind", + * // "managedByGlobal": false, * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", + * // "priority": 0, * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" + * // "state": "my_state", + * // "updateTimestamp": "my_updateTimestamp" * // } * } * @@ -71128,53 +71133,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - delete( - params: Params$Resource$Forwardingrules$Delete, + get( + params: Params$Resource$Folderzonevmextensionpolicies$Get, options: StreamMethodOptions ): Promise>; - delete( - params?: Params$Resource$Forwardingrules$Delete, + get( + params?: Params$Resource$Folderzonevmextensionpolicies$Get, options?: MethodOptions - ): Promise>; - delete( - params: Params$Resource$Forwardingrules$Delete, + ): Promise>; + get( + params: Params$Resource$Folderzonevmextensionpolicies$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Forwardingrules$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + get( + params: Params$Resource$Folderzonevmextensionpolicies$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Forwardingrules$Delete, - callback: BodyResponseCallback + get( + params: Params$Resource$Folderzonevmextensionpolicies$Get, + callback: BodyResponseCallback ): void; - delete(callback: BodyResponseCallback): void; - delete( + get(callback: BodyResponseCallback): void; + get( paramsOrCallback?: - | Params$Resource$Forwardingrules$Delete - | BodyResponseCallback + | Params$Resource$Folderzonevmextensionpolicies$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Forwardingrules$Delete; + {}) as Params$Resource$Folderzonevmextensionpolicies$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Forwardingrules$Delete; + params = {} as Params$Resource$Folderzonevmextensionpolicies$Get; options = {}; } @@ -71189,30 +71194,30 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/regions/{region}/forwardingRules/{forwardingRule}' + '/compute/alpha/{+folder}/zones/{zone}/vmExtensionPolicies/{vmExtensionPolicy}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['project', 'region', 'forwardingRule'], - pathParams: ['forwardingRule', 'project', 'region'], + requiredParams: ['folder', 'zone', 'vmExtensionPolicy'], + pathParams: ['folder', 'vmExtensionPolicy', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Returns the specified ForwardingRule resource. + * Retrieves details of a specific VM extension within a folder. * @example * ```js * // Before running the sample: @@ -71245,64 +71250,19 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.forwardingRules.get({ - * // Name of the ForwardingRule resource to return. - * forwardingRule: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name of the region scoping this request. - * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', - * - * view: 'placeholder-value', + * const res = await compute.folderZoneVmExtensionPolicies.getVmExtension({ + * extensionName: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // Folder ID for this request. + * folder: 'folders/[0-9]{0,20}', + * // Name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * }); * console.log(res.data); * * // Example response * // { - * // "IPAddress": "my_IPAddress", - * // "IPAddresses": [], - * // "IPProtocol": "my_IPProtocol", - * // "allPorts": false, - * // "allowGlobalAccess": false, - * // "allowPscGlobalAccess": false, - * // "attachedExtensions": [], - * // "availabilityGroup": "my_availabilityGroup", - * // "backendService": "my_backendService", - * // "baseForwardingRule": "my_baseForwardingRule", - * // "childForwardingRules": [], - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "externalManagedBackendBucketMigrationState": "my_externalManagedBackendBucketMigrationState", - * // "externalManagedBackendBucketMigrationTestingPercentage": {}, - * // "fingerprint": "my_fingerprint", - * // "id": "my_id", - * // "ipCollection": "my_ipCollection", - * // "ipVersion": "my_ipVersion", - * // "isMirroringCollector": false, - * // "kind": "my_kind", - * // "labelFingerprint": "my_labelFingerprint", - * // "labels": {}, - * // "loadBalancingScheme": "my_loadBalancingScheme", - * // "metadataFilters": [], * // "name": "my_name", - * // "network": "my_network", - * // "networkTier": "my_networkTier", - * // "noAutomateDnsZone": false, - * // "parentForwardingRule": "my_parentForwardingRule", - * // "portRange": "my_portRange", - * // "ports": [], - * // "pscConnectionId": "my_pscConnectionId", - * // "pscConnectionStatus": "my_pscConnectionStatus", - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "serviceDirectoryRegistrations": [], - * // "serviceLabel": "my_serviceLabel", - * // "serviceName": "my_serviceName", - * // "sourceIpRanges": [], - * // "subnetwork": "my_subnetwork", - * // "target": "my_target" + * // "versions": [] * // } * } * @@ -71318,53 +71278,54 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - get( - params: Params$Resource$Forwardingrules$Get, + getVmExtension( + params: Params$Resource$Folderzonevmextensionpolicies$Getvmextension, options: StreamMethodOptions ): Promise>; - get( - params?: Params$Resource$Forwardingrules$Get, + getVmExtension( + params?: Params$Resource$Folderzonevmextensionpolicies$Getvmextension, options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Forwardingrules$Get, + ): Promise>; + getVmExtension( + params: Params$Resource$Folderzonevmextensionpolicies$Getvmextension, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Forwardingrules$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + getVmExtension( + params: Params$Resource$Folderzonevmextensionpolicies$Getvmextension, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Forwardingrules$Get, - callback: BodyResponseCallback + getVmExtension( + params: Params$Resource$Folderzonevmextensionpolicies$Getvmextension, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; - get( + getVmExtension(callback: BodyResponseCallback): void; + getVmExtension( paramsOrCallback?: - | Params$Resource$Forwardingrules$Get - | BodyResponseCallback + | Params$Resource$Folderzonevmextensionpolicies$Getvmextension + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Forwardingrules$Get; + {}) as Params$Resource$Folderzonevmextensionpolicies$Getvmextension; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Forwardingrules$Get; + params = + {} as Params$Resource$Folderzonevmextensionpolicies$Getvmextension; options = {}; } @@ -71379,7 +71340,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/regions/{region}/forwardingRules/{forwardingRule}' + '/compute/alpha/{+folder}/zones/{zone}/vmExtensions/{extensionName}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -71387,23 +71348,22 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'region', 'forwardingRule'], - pathParams: ['forwardingRule', 'project', 'region'], + requiredParams: ['folder', 'zone', 'extensionName'], + pathParams: ['extensionName', 'folder', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Creates a ForwardingRule resource in the specified project and region using - * the data included in the request. + * Creates a new zone-level VM extension policy within a folder. * @example * ```js * // Before running the sample: @@ -71435,12 +71395,9 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.forwardingRules.insert({ - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name of the region scoping this request. - * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * const res = await compute.folderZoneVmExtensionPolicies.insert({ + * // Folder ID for this request. + * folder: 'folders/[0-9]{0,20}', * // An optional request ID to identify requests. Specify a unique request ID so * // that if you must retry your request, the server will know to ignore the * // request if it has already been completed. @@ -71455,54 +71412,27 @@ export namespace compute_alpha { * // a valid UUID with the exception that zero UUID is not supported * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', + * // Name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * * // Request body metadata * requestBody: { * // request body parameters * // { - * // "IPAddress": "my_IPAddress", - * // "IPAddresses": [], - * // "IPProtocol": "my_IPProtocol", - * // "allPorts": false, - * // "allowGlobalAccess": false, - * // "allowPscGlobalAccess": false, - * // "attachedExtensions": [], - * // "availabilityGroup": "my_availabilityGroup", - * // "backendService": "my_backendService", - * // "baseForwardingRule": "my_baseForwardingRule", - * // "childForwardingRules": [], * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", - * // "externalManagedBackendBucketMigrationState": "my_externalManagedBackendBucketMigrationState", - * // "externalManagedBackendBucketMigrationTestingPercentage": {}, - * // "fingerprint": "my_fingerprint", + * // "extensionPolicies": {}, + * // "globalResourceLink": "my_globalResourceLink", * // "id": "my_id", - * // "ipCollection": "my_ipCollection", - * // "ipVersion": "my_ipVersion", - * // "isMirroringCollector": false, + * // "instanceSelectors": [], * // "kind": "my_kind", - * // "labelFingerprint": "my_labelFingerprint", - * // "labels": {}, - * // "loadBalancingScheme": "my_loadBalancingScheme", - * // "metadataFilters": [], + * // "managedByGlobal": false, * // "name": "my_name", - * // "network": "my_network", - * // "networkTier": "my_networkTier", - * // "noAutomateDnsZone": false, - * // "parentForwardingRule": "my_parentForwardingRule", - * // "portRange": "my_portRange", - * // "ports": [], - * // "pscConnectionId": "my_pscConnectionId", - * // "pscConnectionStatus": "my_pscConnectionStatus", - * // "region": "my_region", + * // "priority": 0, * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", - * // "serviceDirectoryRegistrations": [], - * // "serviceLabel": "my_serviceLabel", - * // "serviceName": "my_serviceName", - * // "sourceIpRanges": [], - * // "subnetwork": "my_subnetwork", - * // "target": "my_target" + * // "state": "my_state", + * // "updateTimestamp": "my_updateTimestamp" * // } * }, * }); @@ -71554,31 +71484,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ insert( - params: Params$Resource$Forwardingrules$Insert, + params: Params$Resource$Folderzonevmextensionpolicies$Insert, options: StreamMethodOptions ): Promise>; insert( - params?: Params$Resource$Forwardingrules$Insert, + params?: Params$Resource$Folderzonevmextensionpolicies$Insert, options?: MethodOptions ): Promise>; insert( - params: Params$Resource$Forwardingrules$Insert, + params: Params$Resource$Folderzonevmextensionpolicies$Insert, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; insert( - params: Params$Resource$Forwardingrules$Insert, + params: Params$Resource$Folderzonevmextensionpolicies$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; insert( - params: Params$Resource$Forwardingrules$Insert, + params: Params$Resource$Folderzonevmextensionpolicies$Insert, callback: BodyResponseCallback ): void; insert(callback: BodyResponseCallback): void; insert( paramsOrCallback?: - | Params$Resource$Forwardingrules$Insert + | Params$Resource$Folderzonevmextensionpolicies$Insert | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -71594,12 +71524,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Forwardingrules$Insert; + {}) as Params$Resource$Folderzonevmextensionpolicies$Insert; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Forwardingrules$Insert; + params = {} as Params$Resource$Folderzonevmextensionpolicies$Insert; options = {}; } @@ -71614,7 +71544,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/regions/{region}/forwardingRules' + '/compute/alpha/{+folder}/zones/{zone}/vmExtensionPolicies' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -71622,8 +71552,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'region'], - pathParams: ['project', 'region'], + requiredParams: ['folder', 'zone'], + pathParams: ['folder', 'zone'], context: this.context, }; if (callback) { @@ -71637,8 +71567,7 @@ export namespace compute_alpha { } /** - * Retrieves a list of ForwardingRule resources available to the specified - * project and region. + * Lists all VM extension policies within a specific zone for a folder. * @example * ```js * // Before running the sample: @@ -71671,7 +71600,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.forwardingRules.list({ + * const res = await compute.folderZoneVmExtensionPolicies.list({ * // A filter expression that filters resources listed in the response. Most * // Compute resources support two types of filter expressions: * // expressions that support regular expressions and expressions that follow @@ -71731,6 +71660,8 @@ export namespace compute_alpha { * // You cannot combine constraints on multiple fields using regular * // expressions. * filter: 'placeholder-value', + * // Folder ID for this request. + * folder: 'folders/[0-9]{0,20}', * // The maximum number of results per page that should be returned. * // If the number of available results is larger than `maxResults`, * // Compute Engine returns a `nextPageToken` that can be used to get @@ -71753,11 +71684,6 @@ export namespace compute_alpha { * // `nextPageToken` returned by a previous list request to get * // the next page of results. * pageToken: 'placeholder-value', - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name of the region scoping this request. - * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * // Opt-in for partial success behavior which provides partial results in case * // of failure. The default value is false. * // @@ -71765,16 +71691,20 @@ export namespace compute_alpha { * // single zone scope either returns all resources in the zone or no resources, * // with an error code. * returnPartialSuccess: 'placeholder-value', + * // Name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * }); * console.log(res.data); * * // Example response * // { + * // "etag": "my_etag", * // "id": "my_id", * // "items": [], * // "kind": "my_kind", * // "nextPageToken": "my_nextPageToken", * // "selfLink": "my_selfLink", + * // "unreachables": [], * // "warning": {} * // } * } @@ -71792,52 +71722,54 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ list( - params: Params$Resource$Forwardingrules$List, + params: Params$Resource$Folderzonevmextensionpolicies$List, options: StreamMethodOptions ): Promise>; list( - params?: Params$Resource$Forwardingrules$List, + params?: Params$Resource$Folderzonevmextensionpolicies$List, options?: MethodOptions - ): Promise>; + ): Promise>; list( - params: Params$Resource$Forwardingrules$List, + params: Params$Resource$Folderzonevmextensionpolicies$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; list( - params: Params$Resource$Forwardingrules$List, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + params: Params$Resource$Folderzonevmextensionpolicies$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; list( - params: Params$Resource$Forwardingrules$List, - callback: BodyResponseCallback + params: Params$Resource$Folderzonevmextensionpolicies$List, + callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; list( paramsOrCallback?: - | Params$Resource$Forwardingrules$List - | BodyResponseCallback + | Params$Resource$Folderzonevmextensionpolicies$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Forwardingrules$List; + {}) as Params$Resource$Folderzonevmextensionpolicies$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Forwardingrules$List; + params = {} as Params$Resource$Folderzonevmextensionpolicies$List; options = {}; } @@ -71852,7 +71784,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/regions/{region}/forwardingRules' + '/compute/alpha/{+folder}/zones/{zone}/vmExtensionPolicies' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -71860,26 +71792,23 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'region'], - pathParams: ['project', 'region'], + requiredParams: ['folder', 'zone'], + pathParams: ['folder', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Updates the specified forwarding rule with the data included in the - * request. This method supportsPATCH - * semantics and uses theJSON merge - * patch format and processing rules. Currently, you can only - * patch the network_tier field. + * Lists all VM extensions within a specific zone for a folder. + * This is a read-only API. * @example * ```js * // Before running the sample: @@ -71903,6 +71832,7 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -71911,308 +71841,112 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.forwardingRules.patch({ - * // Name of the ForwardingRule resource to patch. - * forwardingRule: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name of the region scoping this request. - * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. + * const res = await compute.folderZoneVmExtensionPolicies.listVmExtensions({ + * // A filter expression that filters resources listed in the response. Most + * // Compute resources support two types of filter expressions: + * // expressions that support regular expressions and expressions that follow + * // API improvement proposal AIP-160. + * // These two types of filter expressions cannot be mixed in one 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. + * // If you want to use AIP-160, your expression must specify the field name, an + * // operator, and the value that you want to use for filtering. The value + * // must be a string, a number, or a boolean. The operator + * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "IPAddress": "my_IPAddress", - * // "IPAddresses": [], - * // "IPProtocol": "my_IPProtocol", - * // "allPorts": false, - * // "allowGlobalAccess": false, - * // "allowPscGlobalAccess": false, - * // "attachedExtensions": [], - * // "availabilityGroup": "my_availabilityGroup", - * // "backendService": "my_backendService", - * // "baseForwardingRule": "my_baseForwardingRule", - * // "childForwardingRules": [], - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "externalManagedBackendBucketMigrationState": "my_externalManagedBackendBucketMigrationState", - * // "externalManagedBackendBucketMigrationTestingPercentage": {}, - * // "fingerprint": "my_fingerprint", - * // "id": "my_id", - * // "ipCollection": "my_ipCollection", - * // "ipVersion": "my_ipVersion", - * // "isMirroringCollector": false, - * // "kind": "my_kind", - * // "labelFingerprint": "my_labelFingerprint", - * // "labels": {}, - * // "loadBalancingScheme": "my_loadBalancingScheme", - * // "metadataFilters": [], - * // "name": "my_name", - * // "network": "my_network", - * // "networkTier": "my_networkTier", - * // "noAutomateDnsZone": false, - * // "parentForwardingRule": "my_parentForwardingRule", - * // "portRange": "my_portRange", - * // "ports": [], - * // "pscConnectionId": "my_pscConnectionId", - * // "pscConnectionStatus": "my_pscConnectionStatus", - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "serviceDirectoryRegistrations": [], - * // "serviceLabel": "my_serviceLabel", - * // "serviceName": "my_serviceName", - * // "sourceIpRanges": [], - * // "subnetwork": "my_subnetwork", - * // "target": "my_target" - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, - * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, - * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - patch( - params: Params$Resource$Forwardingrules$Patch, - options: StreamMethodOptions - ): Promise>; - patch( - params?: Params$Resource$Forwardingrules$Patch, - options?: MethodOptions - ): Promise>; - patch( - params: Params$Resource$Forwardingrules$Patch, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - patch( - params: Params$Resource$Forwardingrules$Patch, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - patch( - params: Params$Resource$Forwardingrules$Patch, - callback: BodyResponseCallback - ): void; - patch(callback: BodyResponseCallback): void; - patch( - paramsOrCallback?: - | Params$Resource$Forwardingrules$Patch - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Forwardingrules$Patch; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Forwardingrules$Patch; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/compute/alpha/projects/{project}/regions/{region}/forwardingRules/{forwardingRule}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['project', 'region', 'forwardingRule'], - pathParams: ['forwardingRule', 'project', 'region'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Sets the labels on the specified resource. To learn more about labels, - * read the - * Labeling Resources documentation. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/compute.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const compute = google.compute('alpha'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/cloud-platform', - * 'https://www.googleapis.com/auth/compute', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await compute.forwardingRules.setLabels({ - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // The region for this request. - * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. + * // For example, if you are filtering Compute Engine instances, you can + * // exclude instances named `example-instance` by specifying + * // `name != example-instance`. * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. + * // The `:*` comparison can be used to test whether a key has been defined. + * // For example, to find all objects with `owner` label use: + * // ``` + * // labels.owner:* + * // ``` * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * // Name or id of the resource for this request. - * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "labelFingerprint": "my_labelFingerprint", - * // "labels": {} - * // } - * }, + * // You can also filter nested fields. For example, you could specify + * // `scheduling.automaticRestart = false` to include instances only + * // if they are not scheduled for automatic restarts. You can use filtering + * // on nested fields to filter based onresource labels. + * // + * // To filter on multiple expressions, provide each separate expression within + * // parentheses. For example: + * // ``` + * // (scheduling.automaticRestart = true) + * // (cpuPlatform = "Intel Skylake") + * // ``` + * // By default, each expression is an `AND` expression. However, you + * // can include `AND` and `OR` expressions explicitly. + * // For example: + * // ``` + * // (cpuPlatform = "Intel Skylake") OR + * // (cpuPlatform = "Intel Broadwell") AND + * // (scheduling.automaticRestart = true) + * // ``` + * // + * // If you want to use a regular expression, use the `eq` (equal) or `ne` + * // (not equal) operator against a single un-parenthesized expression with or + * // without quotes or against multiple parenthesized expressions. Examples: + * // + * // `fieldname eq unquoted literal` + * // `fieldname eq 'single quoted literal'` + * // `fieldname eq "double quoted literal"` + * // `(fieldname1 eq literal) (fieldname2 ne "literal")` + * // + * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * // The literal value must match the entire field. + * // + * // For example, to filter for instances that do not end with name "instance", + * // you would use `name ne .*instance`. + * // + * // You cannot combine constraints on multiple fields using regular + * // expressions. + * filter: 'placeholder-value', + * // Folder ID for this request. + * folder: 'folders/[0-9]{0,20}', + * // The maximum number of results per page that should be returned. + * // If the number of available results is larger than `maxResults`, + * // Compute Engine returns a `nextPageToken` that can be used to get + * // the next page of results in subsequent list requests. Acceptable values are + * // `0` to `500`, inclusive. (Default: `500`) + * maxResults: 'placeholder-value', + * // Sorts list results by a certain order. By default, results + * // are returned in alphanumerical order based on the resource name. + * // + * // You can also sort results in descending order based on the creation + * // timestamp using `orderBy="creationTimestamp desc"`. This sorts + * // results based on the `creationTimestamp` field in + * // reverse chronological order (newest result first). Use this to sort + * // resources like operations so that the newest operation is returned first. + * // + * // Currently, only sorting by `name` or + * // `creationTimestamp desc` is supported. + * orderBy: 'placeholder-value', + * // Specifies a page token to use. Set `pageToken` to the + * // `nextPageToken` returned by a previous list request to get + * // the next page of results. + * pageToken: 'placeholder-value', + * // Opt-in for partial success behavior which provides partial results in case + * // of failure. The default value is false. + * // + * // For example, when partial success behavior is enabled, aggregatedList for a + * // single zone scope either returns all resources in the zone or no resources, + * // with an error code. + * returnPartialSuccess: 'placeholder-value', + * // Name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * }); * console.log(res.data); * * // Example response * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, + * // "etag": "my_etag", * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, + * // "items": [], * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", + * // "nextPageToken": "my_nextPageToken", * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" + * // "unreachables": [], + * // "warning": {} * // } * } * @@ -72228,53 +71962,58 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - setLabels( - params: Params$Resource$Forwardingrules$Setlabels, + listVmExtensions( + params: Params$Resource$Folderzonevmextensionpolicies$Listvmextensions, options: StreamMethodOptions ): Promise>; - setLabels( - params?: Params$Resource$Forwardingrules$Setlabels, + listVmExtensions( + params?: Params$Resource$Folderzonevmextensionpolicies$Listvmextensions, options?: MethodOptions - ): Promise>; - setLabels( - params: Params$Resource$Forwardingrules$Setlabels, + ): Promise>; + listVmExtensions( + params: Params$Resource$Folderzonevmextensionpolicies$Listvmextensions, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setLabels( - params: Params$Resource$Forwardingrules$Setlabels, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + listVmExtensions( + params: Params$Resource$Folderzonevmextensionpolicies$Listvmextensions, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - setLabels( - params: Params$Resource$Forwardingrules$Setlabels, - callback: BodyResponseCallback + listVmExtensions( + params: Params$Resource$Folderzonevmextensionpolicies$Listvmextensions, + callback: BodyResponseCallback ): void; - setLabels(callback: BodyResponseCallback): void; - setLabels( + listVmExtensions( + callback: BodyResponseCallback + ): void; + listVmExtensions( paramsOrCallback?: - | Params$Resource$Forwardingrules$Setlabels - | BodyResponseCallback + | Params$Resource$Folderzonevmextensionpolicies$Listvmextensions + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Forwardingrules$Setlabels; + {}) as Params$Resource$Folderzonevmextensionpolicies$Listvmextensions; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Forwardingrules$Setlabels; + params = + {} as Params$Resource$Folderzonevmextensionpolicies$Listvmextensions; options = {}; } @@ -72288,32 +72027,30 @@ export namespace compute_alpha { options: Object.assign( { url: ( - rootUrl + - '/compute/alpha/projects/{project}/regions/{region}/forwardingRules/{resource}/setLabels' + rootUrl + '/compute/alpha/{+folder}/zones/{zone}/vmExtensions' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['project', 'region', 'resource'], - pathParams: ['project', 'region', 'resource'], + requiredParams: ['folder', 'zone'], + pathParams: ['folder', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Changes target URL for forwarding rule. The new target should be of the - * same type as the old target. + * Modifies an existing zone VM extension policy within a folder. * @example * ```js * // Before running the sample: @@ -72345,14 +72082,9 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.forwardingRules.setTarget({ - * // Name of the ForwardingRule resource in which target is to be set. - * forwardingRule: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name of the region scoping this request. - * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * const res = await compute.folderZoneVmExtensionPolicies.update({ + * // Folder ID for this request. + * folder: 'folders/[0-9]{0,20}', * // An optional request ID to identify requests. Specify a unique request ID so * // that if you must retry your request, the server will know to ignore the * // request if it has already been completed. @@ -72367,12 +72099,29 @@ export namespace compute_alpha { * // a valid UUID with the exception that zero UUID is not supported * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', + * // Name of the zone VM extension policy to update. + * vmExtensionPolicy: 'placeholder-value', + * // Name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * * // Request body metadata * requestBody: { * // request body parameters * // { - * // "target": "my_target" + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "extensionPolicies": {}, + * // "globalResourceLink": "my_globalResourceLink", + * // "id": "my_id", + * // "instanceSelectors": [], + * // "kind": "my_kind", + * // "managedByGlobal": false, + * // "name": "my_name", + * // "priority": 0, + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "state": "my_state", + * // "updateTimestamp": "my_updateTimestamp" * // } * }, * }); @@ -72423,32 +72172,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - setTarget( - params: Params$Resource$Forwardingrules$Settarget, + update( + params: Params$Resource$Folderzonevmextensionpolicies$Update, options: StreamMethodOptions ): Promise>; - setTarget( - params?: Params$Resource$Forwardingrules$Settarget, + update( + params?: Params$Resource$Folderzonevmextensionpolicies$Update, options?: MethodOptions ): Promise>; - setTarget( - params: Params$Resource$Forwardingrules$Settarget, + update( + params: Params$Resource$Folderzonevmextensionpolicies$Update, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setTarget( - params: Params$Resource$Forwardingrules$Settarget, + update( + params: Params$Resource$Folderzonevmextensionpolicies$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setTarget( - params: Params$Resource$Forwardingrules$Settarget, + update( + params: Params$Resource$Folderzonevmextensionpolicies$Update, callback: BodyResponseCallback ): void; - setTarget(callback: BodyResponseCallback): void; - setTarget( + update(callback: BodyResponseCallback): void; + update( paramsOrCallback?: - | Params$Resource$Forwardingrules$Settarget + | Params$Resource$Folderzonevmextensionpolicies$Update | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -72464,12 +72213,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Forwardingrules$Settarget; + {}) as Params$Resource$Folderzonevmextensionpolicies$Update; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Forwardingrules$Settarget; + params = {} as Params$Resource$Folderzonevmextensionpolicies$Update; options = {}; } @@ -72484,16 +72233,16 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/regions/{region}/forwardingRules/{forwardingRule}/setTarget' + '/compute/alpha/{+folder}/zones/{zone}/vmExtensionPolicies/{vmExtensionPolicy}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'PATCH', apiVersion: '', }, options ), params, - requiredParams: ['project', 'region', 'forwardingRule'], - pathParams: ['forwardingRule', 'project', 'region'], + requiredParams: ['folder', 'zone', 'vmExtensionPolicy'], + pathParams: ['folder', 'vmExtensionPolicy', 'zone'], context: this.context, }; if (callback) { @@ -72505,167 +72254,98 @@ export namespace compute_alpha { return createAPIRequest(parameters); } } + } + export interface Params$Resource$Folderzonevmextensionpolicies$Delete extends StandardParameters { /** - * Returns permissions that a caller has on the specified resource. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/compute.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const compute = google.compute('alpha'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/cloud-platform', - * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await compute.forwardingRules.testIamPermissions({ - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // The name of the region for this request. - * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', - * // Name or id of the resource for this request. - * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * Folder ID for this request. + */ + folder?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "permissions": [] - * // } - * }, - * }); - * console.log(res.data); + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. * - * // Example response - * // { - * // "permissions": [] - * // } - * } + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the zone VM extension policy to delete. + */ + vmExtensionPolicy?: string; + /** + * Name of the zone for this request. + */ + zone?: string; + } + export interface Params$Resource$Folderzonevmextensionpolicies$Get extends StandardParameters { + /** + * Folder ID for this request. + */ + folder?: string; + /** + * Name of the VM extension policy resource to return. + */ + vmExtensionPolicy?: string; + /** + * Name of the zone for this request. + */ + zone?: string; + } + export interface Params$Resource$Folderzonevmextensionpolicies$Getvmextension extends StandardParameters { + /** * - * main().catch(e => { - * console.error(e); - * throw e; - * }); + */ + extensionName?: string; + /** + * Folder ID for this request. + */ + folder?: string; + /** + * Name of the zone for this request. + */ + zone?: string; + } + export interface Params$Resource$Folderzonevmextensionpolicies$Insert extends StandardParameters { + /** + * Folder ID for this request. + */ + folder?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. * - * ``` + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). */ - testIamPermissions( - params: Params$Resource$Forwardingrules$Testiampermissions, - options: StreamMethodOptions - ): Promise>; - testIamPermissions( - params?: Params$Resource$Forwardingrules$Testiampermissions, - options?: MethodOptions - ): Promise>; - testIamPermissions( - params: Params$Resource$Forwardingrules$Testiampermissions, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - testIamPermissions( - params: Params$Resource$Forwardingrules$Testiampermissions, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - testIamPermissions( - params: Params$Resource$Forwardingrules$Testiampermissions, - callback: BodyResponseCallback - ): void; - testIamPermissions( - callback: BodyResponseCallback - ): void; - testIamPermissions( - paramsOrCallback?: - | Params$Resource$Forwardingrules$Testiampermissions - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Forwardingrules$Testiampermissions; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Forwardingrules$Testiampermissions; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } + requestId?: string; + /** + * Name of the zone for this request. + */ + zone?: string; - const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/compute/alpha/projects/{project}/regions/{region}/forwardingRules/{resource}/testIamPermissions' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['project', 'region', 'resource'], - pathParams: ['project', 'region', 'resource'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } + /** + * Request body metadata + */ + requestBody?: Schema$VmExtensionPolicy; } - - export interface Params$Resource$Forwardingrules$Aggregatedlist extends StandardParameters { + export interface Params$Resource$Folderzonevmextensionpolicies$List extends StandardParameters { /** * A filter expression that filters resources listed in the response. Most * Compute resources support two types of filter expressions: @@ -72728,15 +72408,9 @@ export namespace compute_alpha { */ filter?: string; /** - * 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. + * Folder ID for this request. */ - includeAllScopes?: boolean; + folder?: string; /** * The maximum number of results per page that should be returned. * If the number of available results is larger than `maxResults`, @@ -72765,10 +72439,6 @@ export namespace compute_alpha { * the next page of results. */ pageToken?: string; - /** - * Project ID for this request. - */ - project?: string; /** * Opt-in for partial success behavior which provides partial results in case * of failure. The default value is false. @@ -72779,91 +72449,11 @@ export namespace compute_alpha { */ returnPartialSuccess?: boolean; /** - * The Shared VPC service project id or service project number for which - * aggregated list request is invoked for subnetworks list-usable api. - */ - serviceProjectNumber?: string; - } - export interface Params$Resource$Forwardingrules$Delete extends StandardParameters { - /** - * Name of the ForwardingRule resource to delete. - */ - forwardingRule?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * Name of the region scoping this request. - */ - region?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - } - export interface Params$Resource$Forwardingrules$Get extends StandardParameters { - /** - * Name of the ForwardingRule resource to return. - */ - forwardingRule?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * Name of the region scoping this request. - */ - region?: string; - /** - * - */ - view?: string; - } - export interface Params$Resource$Forwardingrules$Insert extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * Name of the region scoping this request. - */ - region?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - - /** - * Request body metadata + * Name of the zone for this request. */ - requestBody?: Schema$ForwardingRule; + zone?: string; } - export interface Params$Resource$Forwardingrules$List extends StandardParameters { + export interface Params$Resource$Folderzonevmextensionpolicies$Listvmextensions extends StandardParameters { /** * A filter expression that filters resources listed in the response. Most * Compute resources support two types of filter expressions: @@ -72925,6 +72515,10 @@ export namespace compute_alpha { * expressions. */ filter?: string; + /** + * Folder ID for this request. + */ + folder?: string; /** * The maximum number of results per page that should be returned. * If the number of available results is larger than `maxResults`, @@ -72953,14 +72547,6 @@ export namespace compute_alpha { * the next page of results. */ pageToken?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * Name of the region scoping this request. - */ - region?: string; /** * Opt-in for partial success behavior which provides partial results in case * of failure. The default value is false. @@ -72970,90 +72556,16 @@ export namespace compute_alpha { * with an error code. */ returnPartialSuccess?: boolean; - } - export interface Params$Resource$Forwardingrules$Patch extends StandardParameters { - /** - * Name of the ForwardingRule resource to patch. - */ - forwardingRule?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * Name of the region scoping this request. - */ - region?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$ForwardingRule; - } - export interface Params$Resource$Forwardingrules$Setlabels extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * The region for this request. - */ - region?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * Name or id of the resource for this request. - */ - resource?: string; - /** - * Request body metadata + * Name of the zone for this request. */ - requestBody?: Schema$RegionSetLabelsRequest; + zone?: string; } - export interface Params$Resource$Forwardingrules$Settarget extends StandardParameters { - /** - * Name of the ForwardingRule resource in which target is to be set. - */ - forwardingRule?: string; - /** - * Project ID for this request. - */ - project?: string; + export interface Params$Resource$Folderzonevmextensionpolicies$Update extends StandardParameters { /** - * Name of the region scoping this request. + * Folder ID for this request. */ - region?: string; + folder?: string; /** * An optional request ID to identify requests. Specify a unique request ID so * that if you must retry your request, the server will know to ignore the @@ -73070,40 +72582,29 @@ export namespace compute_alpha { * (00000000-0000-0000-0000-000000000000). */ requestId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$TargetReference; - } - export interface Params$Resource$Forwardingrules$Testiampermissions extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; /** - * The name of the region for this request. + * Name of the zone VM extension policy to update. */ - region?: string; + vmExtensionPolicy?: string; /** - * Name or id of the resource for this request. + * Name of the zone for this request. */ - resource?: string; + zone?: string; /** * Request body metadata */ - requestBody?: Schema$TestPermissionsRequest; + requestBody?: Schema$VmExtensionPolicy; } - export class Resource$Futurereservations { + export class Resource$Forwardingrules { context: APIRequestContext; constructor(context: APIRequestContext) { this.context = context; } /** - * Retrieves an aggregated list of future reservations. + * Retrieves an aggregated list of forwarding rules. * * To prevent failure, it is recommended that you set the * `returnPartialSuccess` parameter to `true`. @@ -73139,7 +72640,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.futureReservations.aggregatedList({ + * const res = await compute.forwardingRules.aggregatedList({ * // A filter expression that filters resources listed in the response. Most * // Compute resources support two types of filter expressions: * // expressions that support regular expressions and expressions that follow @@ -73247,7 +72748,6 @@ export namespace compute_alpha { * * // Example response * // { - * // "etag": "my_etag", * // "id": "my_id", * // "items": {}, * // "kind": "my_kind", @@ -73271,60 +72771,56 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ aggregatedList( - params: Params$Resource$Futurereservations$Aggregatedlist, + params: Params$Resource$Forwardingrules$Aggregatedlist, options: StreamMethodOptions ): Promise>; aggregatedList( - params?: Params$Resource$Futurereservations$Aggregatedlist, + params?: Params$Resource$Forwardingrules$Aggregatedlist, options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; + ): Promise>; aggregatedList( - params: Params$Resource$Futurereservations$Aggregatedlist, + params: Params$Resource$Forwardingrules$Aggregatedlist, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; aggregatedList( - params: Params$Resource$Futurereservations$Aggregatedlist, + params: Params$Resource$Forwardingrules$Aggregatedlist, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; aggregatedList( - params: Params$Resource$Futurereservations$Aggregatedlist, - callback: BodyResponseCallback + params: Params$Resource$Forwardingrules$Aggregatedlist, + callback: BodyResponseCallback ): void; aggregatedList( - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; aggregatedList( paramsOrCallback?: - | Params$Resource$Futurereservations$Aggregatedlist - | BodyResponseCallback + | Params$Resource$Forwardingrules$Aggregatedlist + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise< - GaxiosResponseWithHTTP2 - > + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Futurereservations$Aggregatedlist; + {}) as Params$Resource$Forwardingrules$Aggregatedlist; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Futurereservations$Aggregatedlist; + params = {} as Params$Resource$Forwardingrules$Aggregatedlist; options = {}; } @@ -73339,7 +72835,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/aggregated/futureReservations' + '/compute/alpha/projects/{project}/aggregated/forwardingRules' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -73352,19 +72848,19 @@ export namespace compute_alpha { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( + return createAPIRequest( parameters ); } } /** - * Cancel the specified future reservation. + * Deletes the specified ForwardingRule resource. * @example * ```js * // Before running the sample: @@ -73396,12 +72892,14 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.futureReservations.cancel({ - * // Name of the future reservation to retrieve. Name should conform to RFC1035. - * futureReservation: 'placeholder-value', + * const res = await compute.forwardingRules.delete({ + * // Name of the ForwardingRule resource to delete. + * forwardingRule: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Name of the region scoping this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * // An optional request ID to identify requests. Specify a unique request ID so * // that if you must retry your request, the server will know to ignore the * // request if it has already been completed. @@ -73416,8 +72914,6 @@ export namespace compute_alpha { * // a valid UUID with the exception that zero UUID is not supported * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', - * // Name of the zone for this request. Name should conform to RFC1035. - * zone: 'placeholder-value', * }); * console.log(res.data); * @@ -73466,218 +72962,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - cancel( - params: Params$Resource$Futurereservations$Cancel, + delete( + params: Params$Resource$Forwardingrules$Delete, options: StreamMethodOptions ): Promise>; - cancel( - params?: Params$Resource$Futurereservations$Cancel, + delete( + params?: Params$Resource$Forwardingrules$Delete, options?: MethodOptions ): Promise>; - cancel( - params: Params$Resource$Futurereservations$Cancel, + delete( + params: Params$Resource$Forwardingrules$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - cancel( - params: Params$Resource$Futurereservations$Cancel, + delete( + params: Params$Resource$Forwardingrules$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - cancel( - params: Params$Resource$Futurereservations$Cancel, - callback: BodyResponseCallback - ): void; - cancel(callback: BodyResponseCallback): void; - cancel( - paramsOrCallback?: - | Params$Resource$Futurereservations$Cancel - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Futurereservations$Cancel; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Futurereservations$Cancel; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/futureReservations/{futureReservation}/cancel' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['project', 'zone', 'futureReservation'], - pathParams: ['futureReservation', 'project', 'zone'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Deletes the specified future reservation. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/compute.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const compute = google.compute('alpha'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/cloud-platform', - * 'https://www.googleapis.com/auth/compute', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await compute.futureReservations.delete({ - * // Name of the future reservation to retrieve. Name should conform to RFC1035. - * futureReservation: 'placeholder-value', - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. - * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * // Name of the zone for this request. Name should conform to RFC1035. - * zone: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, - * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, - * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - delete( - params: Params$Resource$Futurereservations$Delete, - options: StreamMethodOptions - ): Promise>; - delete( - params?: Params$Resource$Futurereservations$Delete, - options?: MethodOptions - ): Promise>; - delete( - params: Params$Resource$Futurereservations$Delete, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - delete( - params: Params$Resource$Futurereservations$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - delete( - params: Params$Resource$Futurereservations$Delete, + delete( + params: Params$Resource$Forwardingrules$Delete, callback: BodyResponseCallback ): void; delete(callback: BodyResponseCallback): void; delete( paramsOrCallback?: - | Params$Resource$Futurereservations$Delete + | Params$Resource$Forwardingrules$Delete | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -73693,12 +73003,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Futurereservations$Delete; + {}) as Params$Resource$Forwardingrules$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Futurereservations$Delete; + params = {} as Params$Resource$Forwardingrules$Delete; options = {}; } @@ -73713,7 +73023,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/futureReservations/{futureReservation}' + '/compute/alpha/projects/{project}/regions/{region}/forwardingRules/{forwardingRule}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'DELETE', apiVersion: '', @@ -73721,8 +73031,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'zone', 'futureReservation'], - pathParams: ['futureReservation', 'project', 'zone'], + requiredParams: ['project', 'region', 'forwardingRule'], + pathParams: ['forwardingRule', 'project', 'region'], context: this.context, }; if (callback) { @@ -73736,7 +73046,7 @@ export namespace compute_alpha { } /** - * Retrieves information about the specified future reservation. + * Returns the specified ForwardingRule resource. * @example * ```js * // Before running the sample: @@ -73769,48 +73079,64 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.futureReservations.get({ - * // Name of the future reservation to retrieve. Name should conform to RFC1035. - * futureReservation: 'placeholder-value', + * const res = await compute.forwardingRules.get({ + * // Name of the ForwardingRule resource to return. + * forwardingRule: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name of the zone for this request. Name should conform to RFC1035. - * zone: 'placeholder-value', + * // Name of the region scoping this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * + * view: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { - * // "advancedDeploymentControl": {}, - * // "aggregateReservation": {}, - * // "autoCreatedReservationsDeleteTime": "my_autoCreatedReservationsDeleteTime", - * // "autoCreatedReservationsDuration": {}, - * // "autoDeleteAutoCreatedReservations": false, - * // "commitmentInfo": {}, - * // "confidentialComputeType": "my_confidentialComputeType", + * // "IPAddress": "my_IPAddress", + * // "IPAddresses": [], + * // "IPProtocol": "my_IPProtocol", + * // "allPorts": false, + * // "allowGlobalAccess": false, + * // "allowPscGlobalAccess": false, + * // "attachedExtensions": [], + * // "availabilityGroup": "my_availabilityGroup", + * // "backendService": "my_backendService", + * // "baseForwardingRule": "my_baseForwardingRule", + * // "childForwardingRules": [], * // "creationTimestamp": "my_creationTimestamp", - * // "deploymentType": "my_deploymentType", * // "description": "my_description", - * // "enableEmergentMaintenance": false, + * // "externalManagedBackendBucketMigrationState": "my_externalManagedBackendBucketMigrationState", + * // "externalManagedBackendBucketMigrationTestingPercentage": {}, + * // "fingerprint": "my_fingerprint", * // "id": "my_id", + * // "ipCollection": "my_ipCollection", + * // "ipVersion": "my_ipVersion", + * // "isMirroringCollector": false, * // "kind": "my_kind", + * // "labelFingerprint": "my_labelFingerprint", + * // "labels": {}, + * // "loadBalancingScheme": "my_loadBalancingScheme", + * // "metadataFilters": [], * // "name": "my_name", - * // "namePrefix": "my_namePrefix", - * // "params": {}, - * // "planningStatus": "my_planningStatus", - * // "protectionTier": "my_protectionTier", - * // "reservationMode": "my_reservationMode", - * // "reservationName": "my_reservationName", - * // "schedulingType": "my_schedulingType", + * // "network": "my_network", + * // "networkTier": "my_networkTier", + * // "noAutomateDnsZone": false, + * // "parentForwardingRule": "my_parentForwardingRule", + * // "portRange": "my_portRange", + * // "ports": [], + * // "pscConnectionId": "my_pscConnectionId", + * // "pscConnectionStatus": "my_pscConnectionStatus", + * // "region": "my_region", * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", - * // "shareSettings": {}, - * // "specificReservationRequired": false, - * // "specificSkuProperties": {}, - * // "status": {}, - * // "timeWindow": {}, - * // "zone": "my_zone" + * // "serviceDirectoryRegistrations": [], + * // "serviceLabel": "my_serviceLabel", + * // "serviceName": "my_serviceName", + * // "sourceIpRanges": [], + * // "subnetwork": "my_subnetwork", + * // "target": "my_target" * // } * } * @@ -73827,52 +73153,52 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ get( - params: Params$Resource$Futurereservations$Get, + params: Params$Resource$Forwardingrules$Get, options: StreamMethodOptions ): Promise>; get( - params?: Params$Resource$Futurereservations$Get, + params?: Params$Resource$Forwardingrules$Get, options?: MethodOptions - ): Promise>; + ): Promise>; get( - params: Params$Resource$Futurereservations$Get, + params: Params$Resource$Forwardingrules$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; get( - params: Params$Resource$Futurereservations$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + params: Params$Resource$Forwardingrules$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; get( - params: Params$Resource$Futurereservations$Get, - callback: BodyResponseCallback + params: Params$Resource$Forwardingrules$Get, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; get( paramsOrCallback?: - | Params$Resource$Futurereservations$Get - | BodyResponseCallback + | Params$Resource$Forwardingrules$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Futurereservations$Get; + {}) as Params$Resource$Forwardingrules$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Futurereservations$Get; + params = {} as Params$Resource$Forwardingrules$Get; options = {}; } @@ -73887,7 +73213,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/futureReservations/{futureReservation}' + '/compute/alpha/projects/{project}/regions/{region}/forwardingRules/{forwardingRule}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -73895,22 +73221,23 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'zone', 'futureReservation'], - pathParams: ['futureReservation', 'project', 'zone'], + requiredParams: ['project', 'region', 'forwardingRule'], + pathParams: ['forwardingRule', 'project', 'region'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Creates a new Future Reservation. + * Creates a ForwardingRule resource in the specified project and region using + * the data included in the request. * @example * ```js * // Before running the sample: @@ -73942,10 +73269,12 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.futureReservations.insert({ + * const res = await compute.forwardingRules.insert({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Name of the region scoping this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * // An optional request ID to identify requests. Specify a unique request ID so * // that if you must retry your request, the server will know to ignore the * // request if it has already been completed. @@ -73960,42 +73289,54 @@ export namespace compute_alpha { * // a valid UUID with the exception that zero UUID is not supported * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', - * // Name of the zone for this request. Name should conform to RFC1035. - * zone: 'placeholder-value', * * // Request body metadata * requestBody: { * // request body parameters * // { - * // "advancedDeploymentControl": {}, - * // "aggregateReservation": {}, - * // "autoCreatedReservationsDeleteTime": "my_autoCreatedReservationsDeleteTime", - * // "autoCreatedReservationsDuration": {}, - * // "autoDeleteAutoCreatedReservations": false, - * // "commitmentInfo": {}, - * // "confidentialComputeType": "my_confidentialComputeType", + * // "IPAddress": "my_IPAddress", + * // "IPAddresses": [], + * // "IPProtocol": "my_IPProtocol", + * // "allPorts": false, + * // "allowGlobalAccess": false, + * // "allowPscGlobalAccess": false, + * // "attachedExtensions": [], + * // "availabilityGroup": "my_availabilityGroup", + * // "backendService": "my_backendService", + * // "baseForwardingRule": "my_baseForwardingRule", + * // "childForwardingRules": [], * // "creationTimestamp": "my_creationTimestamp", - * // "deploymentType": "my_deploymentType", * // "description": "my_description", - * // "enableEmergentMaintenance": false, + * // "externalManagedBackendBucketMigrationState": "my_externalManagedBackendBucketMigrationState", + * // "externalManagedBackendBucketMigrationTestingPercentage": {}, + * // "fingerprint": "my_fingerprint", * // "id": "my_id", + * // "ipCollection": "my_ipCollection", + * // "ipVersion": "my_ipVersion", + * // "isMirroringCollector": false, * // "kind": "my_kind", + * // "labelFingerprint": "my_labelFingerprint", + * // "labels": {}, + * // "loadBalancingScheme": "my_loadBalancingScheme", + * // "metadataFilters": [], * // "name": "my_name", - * // "namePrefix": "my_namePrefix", - * // "params": {}, - * // "planningStatus": "my_planningStatus", - * // "protectionTier": "my_protectionTier", - * // "reservationMode": "my_reservationMode", - * // "reservationName": "my_reservationName", - * // "schedulingType": "my_schedulingType", + * // "network": "my_network", + * // "networkTier": "my_networkTier", + * // "noAutomateDnsZone": false, + * // "parentForwardingRule": "my_parentForwardingRule", + * // "portRange": "my_portRange", + * // "ports": [], + * // "pscConnectionId": "my_pscConnectionId", + * // "pscConnectionStatus": "my_pscConnectionStatus", + * // "region": "my_region", * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", - * // "shareSettings": {}, - * // "specificReservationRequired": false, - * // "specificSkuProperties": {}, - * // "status": {}, - * // "timeWindow": {}, - * // "zone": "my_zone" + * // "serviceDirectoryRegistrations": [], + * // "serviceLabel": "my_serviceLabel", + * // "serviceName": "my_serviceName", + * // "sourceIpRanges": [], + * // "subnetwork": "my_subnetwork", + * // "target": "my_target" * // } * }, * }); @@ -74047,31 +73388,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ insert( - params: Params$Resource$Futurereservations$Insert, + params: Params$Resource$Forwardingrules$Insert, options: StreamMethodOptions ): Promise>; insert( - params?: Params$Resource$Futurereservations$Insert, + params?: Params$Resource$Forwardingrules$Insert, options?: MethodOptions ): Promise>; insert( - params: Params$Resource$Futurereservations$Insert, + params: Params$Resource$Forwardingrules$Insert, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; insert( - params: Params$Resource$Futurereservations$Insert, + params: Params$Resource$Forwardingrules$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; insert( - params: Params$Resource$Futurereservations$Insert, + params: Params$Resource$Forwardingrules$Insert, callback: BodyResponseCallback ): void; insert(callback: BodyResponseCallback): void; insert( paramsOrCallback?: - | Params$Resource$Futurereservations$Insert + | Params$Resource$Forwardingrules$Insert | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -74087,12 +73428,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Futurereservations$Insert; + {}) as Params$Resource$Forwardingrules$Insert; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Futurereservations$Insert; + params = {} as Params$Resource$Forwardingrules$Insert; options = {}; } @@ -74107,7 +73448,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/futureReservations' + '/compute/alpha/projects/{project}/regions/{region}/forwardingRules' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -74115,8 +73456,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'zone'], - pathParams: ['project', 'zone'], + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], context: this.context, }; if (callback) { @@ -74130,8 +73471,8 @@ export namespace compute_alpha { } /** - * A list of all the future reservations that have been configured for the - * specified project in specified zone. + * Retrieves a list of ForwardingRule resources available to the specified + * project and region. * @example * ```js * // Before running the sample: @@ -74164,7 +73505,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.futureReservations.list({ + * const res = await compute.forwardingRules.list({ * // A filter expression that filters resources listed in the response. Most * // Compute resources support two types of filter expressions: * // expressions that support regular expressions and expressions that follow @@ -74249,6 +73590,8 @@ export namespace compute_alpha { * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Name of the region scoping this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * // Opt-in for partial success behavior which provides partial results in case * // of failure. The default value is false. * // @@ -74256,20 +73599,16 @@ export namespace compute_alpha { * // single zone scope either returns all resources in the zone or no resources, * // with an error code. * returnPartialSuccess: 'placeholder-value', - * // Name of the zone for this request. Name should conform to RFC1035. - * zone: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { - * // "etag": "my_etag", * // "id": "my_id", * // "items": [], * // "kind": "my_kind", * // "nextPageToken": "my_nextPageToken", * // "selfLink": "my_selfLink", - * // "unreachables": [], * // "warning": {} * // } * } @@ -74287,56 +73626,52 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ list( - params: Params$Resource$Futurereservations$List, + params: Params$Resource$Forwardingrules$List, options: StreamMethodOptions ): Promise>; list( - params?: Params$Resource$Futurereservations$List, + params?: Params$Resource$Forwardingrules$List, options?: MethodOptions - ): Promise>; + ): Promise>; list( - params: Params$Resource$Futurereservations$List, + params: Params$Resource$Forwardingrules$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; list( - params: Params$Resource$Futurereservations$List, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Futurereservations$List, - callback: BodyResponseCallback + params: Params$Resource$Forwardingrules$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; list( - callback: BodyResponseCallback + params: Params$Resource$Forwardingrules$List, + callback: BodyResponseCallback ): void; + list(callback: BodyResponseCallback): void; list( paramsOrCallback?: - | Params$Resource$Futurereservations$List - | BodyResponseCallback + | Params$Resource$Forwardingrules$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Futurereservations$List; + {}) as Params$Resource$Forwardingrules$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Futurereservations$List; + params = {} as Params$Resource$Forwardingrules$List; options = {}; } @@ -74351,7 +73686,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/futureReservations' + '/compute/alpha/projects/{project}/regions/{region}/forwardingRules' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -74359,24 +73694,26 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'zone'], - pathParams: ['project', 'zone'], + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } /** - * Updates the specified future reservation. + * Updates the specified forwarding rule with the data included in the + * request. This method supportsPATCH + * semantics and uses theJSON merge + * patch format and processing rules. Currently, you can only + * patch the network_tier field. * @example * ```js * // Before running the sample: @@ -74408,14 +73745,14 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.futureReservations.update({ - * // Name of the reservation to update. Name should conform to RFC1035. - * futureReservation: 'placeholder-value', - * - * paths: 'placeholder-value', + * const res = await compute.forwardingRules.patch({ + * // Name of the ForwardingRule resource to patch. + * forwardingRule: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Name of the region scoping this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * // An optional request ID to identify requests. Specify a unique request ID so * // that if you must retry your request, the server will know to ignore the * // request if it has already been completed. @@ -74430,44 +73767,54 @@ export namespace compute_alpha { * // a valid UUID with the exception that zero UUID is not supported * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', - * // update_mask indicates fields to be updated as part of this request. - * updateMask: 'placeholder-value', - * // Name of the zone for this request. Name should conform to RFC1035. - * zone: 'placeholder-value', * * // Request body metadata * requestBody: { * // request body parameters * // { - * // "advancedDeploymentControl": {}, - * // "aggregateReservation": {}, - * // "autoCreatedReservationsDeleteTime": "my_autoCreatedReservationsDeleteTime", - * // "autoCreatedReservationsDuration": {}, - * // "autoDeleteAutoCreatedReservations": false, - * // "commitmentInfo": {}, - * // "confidentialComputeType": "my_confidentialComputeType", + * // "IPAddress": "my_IPAddress", + * // "IPAddresses": [], + * // "IPProtocol": "my_IPProtocol", + * // "allPorts": false, + * // "allowGlobalAccess": false, + * // "allowPscGlobalAccess": false, + * // "attachedExtensions": [], + * // "availabilityGroup": "my_availabilityGroup", + * // "backendService": "my_backendService", + * // "baseForwardingRule": "my_baseForwardingRule", + * // "childForwardingRules": [], * // "creationTimestamp": "my_creationTimestamp", - * // "deploymentType": "my_deploymentType", * // "description": "my_description", - * // "enableEmergentMaintenance": false, + * // "externalManagedBackendBucketMigrationState": "my_externalManagedBackendBucketMigrationState", + * // "externalManagedBackendBucketMigrationTestingPercentage": {}, + * // "fingerprint": "my_fingerprint", * // "id": "my_id", + * // "ipCollection": "my_ipCollection", + * // "ipVersion": "my_ipVersion", + * // "isMirroringCollector": false, * // "kind": "my_kind", + * // "labelFingerprint": "my_labelFingerprint", + * // "labels": {}, + * // "loadBalancingScheme": "my_loadBalancingScheme", + * // "metadataFilters": [], * // "name": "my_name", - * // "namePrefix": "my_namePrefix", - * // "params": {}, - * // "planningStatus": "my_planningStatus", - * // "protectionTier": "my_protectionTier", - * // "reservationMode": "my_reservationMode", - * // "reservationName": "my_reservationName", - * // "schedulingType": "my_schedulingType", + * // "network": "my_network", + * // "networkTier": "my_networkTier", + * // "noAutomateDnsZone": false, + * // "parentForwardingRule": "my_parentForwardingRule", + * // "portRange": "my_portRange", + * // "ports": [], + * // "pscConnectionId": "my_pscConnectionId", + * // "pscConnectionStatus": "my_pscConnectionStatus", + * // "region": "my_region", * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", - * // "shareSettings": {}, - * // "specificReservationRequired": false, - * // "specificSkuProperties": {}, - * // "status": {}, - * // "timeWindow": {}, - * // "zone": "my_zone" + * // "serviceDirectoryRegistrations": [], + * // "serviceLabel": "my_serviceLabel", + * // "serviceName": "my_serviceName", + * // "sourceIpRanges": [], + * // "subnetwork": "my_subnetwork", + * // "target": "my_target" * // } * }, * }); @@ -74518,32 +73865,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - update( - params: Params$Resource$Futurereservations$Update, + patch( + params: Params$Resource$Forwardingrules$Patch, options: StreamMethodOptions ): Promise>; - update( - params?: Params$Resource$Futurereservations$Update, + patch( + params?: Params$Resource$Forwardingrules$Patch, options?: MethodOptions ): Promise>; - update( - params: Params$Resource$Futurereservations$Update, + patch( + params: Params$Resource$Forwardingrules$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - update( - params: Params$Resource$Futurereservations$Update, + patch( + params: Params$Resource$Forwardingrules$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - update( - params: Params$Resource$Futurereservations$Update, + patch( + params: Params$Resource$Forwardingrules$Patch, callback: BodyResponseCallback ): void; - update(callback: BodyResponseCallback): void; - update( + patch(callback: BodyResponseCallback): void; + patch( paramsOrCallback?: - | Params$Resource$Futurereservations$Update + | Params$Resource$Forwardingrules$Patch | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -74559,12 +73906,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Futurereservations$Update; + {}) as Params$Resource$Forwardingrules$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Futurereservations$Update; + params = {} as Params$Resource$Forwardingrules$Patch; options = {}; } @@ -74579,7 +73926,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/futureReservations/{futureReservation}' + '/compute/alpha/projects/{project}/regions/{region}/forwardingRules/{forwardingRule}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'PATCH', apiVersion: '', @@ -74587,8 +73934,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'zone', 'futureReservation'], - pathParams: ['futureReservation', 'project', 'zone'], + requiredParams: ['project', 'region', 'forwardingRule'], + pathParams: ['forwardingRule', 'project', 'region'], context: this.context, }; if (callback) { @@ -74600,392 +73947,11 @@ export namespace compute_alpha { return createAPIRequest(parameters); } } - } - - export interface Params$Resource$Futurereservations$Aggregatedlist extends StandardParameters { - /** - * A filter expression that filters resources listed in the response. Most - * Compute resources support two types of filter expressions: - * expressions that support regular expressions and expressions that follow - * API improvement proposal AIP-160. - * These two types of filter expressions cannot be mixed in one request. - * - * If you want to use AIP-160, your expression must specify the field name, an - * operator, and the value that you want to use for filtering. The value - * must be a string, a number, or a boolean. The operator - * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * - * For example, if you are filtering Compute Engine instances, you can - * exclude instances named `example-instance` by specifying - * `name != example-instance`. - * - * The `:*` comparison can be used to test whether a key has been defined. - * For example, to find all objects with `owner` label use: - * ``` - * labels.owner:* - * ``` - * - * You can also filter nested fields. For example, you could specify - * `scheduling.automaticRestart = false` to include instances only - * if they are not scheduled for automatic restarts. You can use filtering - * on nested fields to filter based onresource labels. - * - * To filter on multiple expressions, provide each separate expression within - * parentheses. For example: - * ``` - * (scheduling.automaticRestart = true) - * (cpuPlatform = "Intel Skylake") - * ``` - * By default, each expression is an `AND` expression. However, you - * can include `AND` and `OR` expressions explicitly. - * For example: - * ``` - * (cpuPlatform = "Intel Skylake") OR - * (cpuPlatform = "Intel Broadwell") AND - * (scheduling.automaticRestart = true) - * ``` - * - * If you want to use a regular expression, use the `eq` (equal) or `ne` - * (not equal) operator against a single un-parenthesized expression with or - * without quotes or against multiple parenthesized expressions. Examples: - * - * `fieldname eq unquoted literal` - * `fieldname eq 'single quoted literal'` - * `fieldname eq "double quoted literal"` - * `(fieldname1 eq literal) (fieldname2 ne "literal")` - * - * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * The literal value must match the entire field. - * - * For example, to filter for instances that do not end with name "instance", - * you would use `name ne .*instance`. - * - * You cannot combine constraints on multiple fields using regular - * expressions. - */ - filter?: string; - /** - * 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. - */ - includeAllScopes?: boolean; - /** - * The maximum number of results per page that should be returned. - * If the number of available results is larger than `maxResults`, - * Compute Engine returns a `nextPageToken` that can be used to get - * the next page of results in subsequent list requests. Acceptable values are - * `0` to `500`, inclusive. (Default: `500`) - */ - maxResults?: number; - /** - * Sorts list results by a certain order. By default, results - * are returned in alphanumerical order based on the resource name. - * - * You can also sort results in descending order based on the creation - * timestamp using `orderBy="creationTimestamp desc"`. This sorts - * results based on the `creationTimestamp` field in - * reverse chronological order (newest result first). Use this to sort - * resources like operations so that the newest operation is returned first. - * - * Currently, only sorting by `name` or - * `creationTimestamp desc` is supported. - */ - orderBy?: string; - /** - * Specifies a page token to use. Set `pageToken` to the - * `nextPageToken` returned by a previous list request to get - * the next page of results. - */ - pageToken?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * Opt-in for partial success behavior which provides partial results in case - * of failure. The default value is false. - * - * For example, when partial success behavior is enabled, aggregatedList for a - * single zone scope either returns all resources in the zone or no resources, - * with an error code. - */ - returnPartialSuccess?: boolean; - /** - * The Shared VPC service project id or service project number for which - * aggregated list request is invoked for subnetworks list-usable api. - */ - serviceProjectNumber?: string; - } - export interface Params$Resource$Futurereservations$Cancel extends StandardParameters { - /** - * Name of the future reservation to retrieve. Name should conform to RFC1035. - */ - futureReservation?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * Name of the zone for this request. Name should conform to RFC1035. - */ - zone?: string; - } - export interface Params$Resource$Futurereservations$Delete extends StandardParameters { - /** - * Name of the future reservation to retrieve. Name should conform to RFC1035. - */ - futureReservation?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * Name of the zone for this request. Name should conform to RFC1035. - */ - zone?: string; - } - export interface Params$Resource$Futurereservations$Get extends StandardParameters { - /** - * Name of the future reservation to retrieve. Name should conform to RFC1035. - */ - futureReservation?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * Name of the zone for this request. Name should conform to RFC1035. - */ - zone?: string; - } - export interface Params$Resource$Futurereservations$Insert extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * Name of the zone for this request. Name should conform to RFC1035. - */ - zone?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$FutureReservation; - } - export interface Params$Resource$Futurereservations$List extends StandardParameters { - /** - * A filter expression that filters resources listed in the response. Most - * Compute resources support two types of filter expressions: - * expressions that support regular expressions and expressions that follow - * API improvement proposal AIP-160. - * These two types of filter expressions cannot be mixed in one request. - * - * If you want to use AIP-160, your expression must specify the field name, an - * operator, and the value that you want to use for filtering. The value - * must be a string, a number, or a boolean. The operator - * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * - * For example, if you are filtering Compute Engine instances, you can - * exclude instances named `example-instance` by specifying - * `name != example-instance`. - * - * The `:*` comparison can be used to test whether a key has been defined. - * For example, to find all objects with `owner` label use: - * ``` - * labels.owner:* - * ``` - * - * You can also filter nested fields. For example, you could specify - * `scheduling.automaticRestart = false` to include instances only - * if they are not scheduled for automatic restarts. You can use filtering - * on nested fields to filter based onresource labels. - * - * To filter on multiple expressions, provide each separate expression within - * parentheses. For example: - * ``` - * (scheduling.automaticRestart = true) - * (cpuPlatform = "Intel Skylake") - * ``` - * By default, each expression is an `AND` expression. However, you - * can include `AND` and `OR` expressions explicitly. - * For example: - * ``` - * (cpuPlatform = "Intel Skylake") OR - * (cpuPlatform = "Intel Broadwell") AND - * (scheduling.automaticRestart = true) - * ``` - * - * If you want to use a regular expression, use the `eq` (equal) or `ne` - * (not equal) operator against a single un-parenthesized expression with or - * without quotes or against multiple parenthesized expressions. Examples: - * - * `fieldname eq unquoted literal` - * `fieldname eq 'single quoted literal'` - * `fieldname eq "double quoted literal"` - * `(fieldname1 eq literal) (fieldname2 ne "literal")` - * - * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * The literal value must match the entire field. - * - * For example, to filter for instances that do not end with name "instance", - * you would use `name ne .*instance`. - * - * You cannot combine constraints on multiple fields using regular - * expressions. - */ - filter?: string; - /** - * The maximum number of results per page that should be returned. - * If the number of available results is larger than `maxResults`, - * Compute Engine returns a `nextPageToken` that can be used to get - * the next page of results in subsequent list requests. Acceptable values are - * `0` to `500`, inclusive. (Default: `500`) - */ - maxResults?: number; - /** - * Sorts list results by a certain order. By default, results - * are returned in alphanumerical order based on the resource name. - * - * You can also sort results in descending order based on the creation - * timestamp using `orderBy="creationTimestamp desc"`. This sorts - * results based on the `creationTimestamp` field in - * reverse chronological order (newest result first). Use this to sort - * resources like operations so that the newest operation is returned first. - * - * Currently, only sorting by `name` or - * `creationTimestamp desc` is supported. - */ - orderBy?: string; - /** - * Specifies a page token to use. Set `pageToken` to the - * `nextPageToken` returned by a previous list request to get - * the next page of results. - */ - pageToken?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * Opt-in for partial success behavior which provides partial results in case - * of failure. The default value is false. - * - * For example, when partial success behavior is enabled, aggregatedList for a - * single zone scope either returns all resources in the zone or no resources, - * with an error code. - */ - returnPartialSuccess?: boolean; - /** - * Name of the zone for this request. Name should conform to RFC1035. - */ - zone?: string; - } - export interface Params$Resource$Futurereservations$Update extends StandardParameters { - /** - * Name of the reservation to update. Name should conform to RFC1035. - */ - futureReservation?: string; - /** - * - */ - paths?: string[]; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * update_mask indicates fields to be updated as part of this request. - */ - updateMask?: string; - /** - * Name of the zone for this request. Name should conform to RFC1035. - */ - zone?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$FutureReservation; - } - - export class Resource$Globaladdresses { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } /** - * Deletes the specified address resource. + * Sets the labels on the specified resource. To learn more about labels, + * read the + * Labeling Resources documentation. * @example * ```js * // Before running the sample: @@ -75017,12 +73983,12 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.globalAddresses.delete({ - * // Name of the address resource to delete. - * address: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.forwardingRules.setLabels({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // The region for this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * // An optional request ID to identify requests. Specify a unique request ID so * // that if you must retry your request, the server will know to ignore the * // request if it has already been completed. @@ -75037,6 +74003,17 @@ export namespace compute_alpha { * // a valid UUID with the exception that zero UUID is not supported * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', + * // Name or id of the resource for this request. + * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "labelFingerprint": "my_labelFingerprint", + * // "labels": {} + * // } + * }, * }); * console.log(res.data); * @@ -75085,32 +74062,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - delete( - params: Params$Resource$Globaladdresses$Delete, + setLabels( + params: Params$Resource$Forwardingrules$Setlabels, options: StreamMethodOptions ): Promise>; - delete( - params?: Params$Resource$Globaladdresses$Delete, + setLabels( + params?: Params$Resource$Forwardingrules$Setlabels, options?: MethodOptions ): Promise>; - delete( - params: Params$Resource$Globaladdresses$Delete, + setLabels( + params: Params$Resource$Forwardingrules$Setlabels, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Globaladdresses$Delete, + setLabels( + params: Params$Resource$Forwardingrules$Setlabels, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Globaladdresses$Delete, + setLabels( + params: Params$Resource$Forwardingrules$Setlabels, callback: BodyResponseCallback ): void; - delete(callback: BodyResponseCallback): void; - delete( + setLabels(callback: BodyResponseCallback): void; + setLabels( paramsOrCallback?: - | Params$Resource$Globaladdresses$Delete + | Params$Resource$Forwardingrules$Setlabels | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -75126,12 +74103,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Globaladdresses$Delete; + {}) as Params$Resource$Forwardingrules$Setlabels; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Globaladdresses$Delete; + params = {} as Params$Resource$Forwardingrules$Setlabels; options = {}; } @@ -75146,16 +74123,16 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/addresses/{address}' + '/compute/alpha/projects/{project}/regions/{region}/forwardingRules/{resource}/setLabels' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project', 'address'], - pathParams: ['address', 'project'], + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], context: this.context, }; if (callback) { @@ -75169,7 +74146,8 @@ export namespace compute_alpha { } /** - * Returns the specified address resource. + * Changes target URL for forwarding rule. The new target should be of the + * same type as the old target. * @example * ```js * // Before running the sample: @@ -75193,7 +74171,6 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -75202,39 +74179,69 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.globalAddresses.get({ - * // Name of the address resource to return. - * address: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.forwardingRules.setTarget({ + * // Name of the ForwardingRule resource in which target is to be set. + * forwardingRule: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Name of the region scoping this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "target": "my_target" + * // } + * }, * }); * console.log(res.data); * * // Example response * // { - * // "address": "my_address", - * // "addressType": "my_addressType", + * // "clientOperationId": "my_clientOperationId", * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, * // "id": "my_id", - * // "ipCollection": "my_ipCollection", - * // "ipVersion": "my_ipVersion", - * // "ipv6EndpointType": "my_ipv6EndpointType", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, * // "kind": "my_kind", - * // "labelFingerprint": "my_labelFingerprint", - * // "labels": {}, * // "name": "my_name", - * // "network": "my_network", - * // "networkTier": "my_networkTier", - * // "prefixLength": 0, - * // "purpose": "my_purpose", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, * // "region": "my_region", * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", * // "status": "my_status", - * // "subnetwork": "my_subnetwork", - * // "users": [] + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" * // } * } * @@ -75250,53 +74257,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - get( - params: Params$Resource$Globaladdresses$Get, + setTarget( + params: Params$Resource$Forwardingrules$Settarget, options: StreamMethodOptions ): Promise>; - get( - params?: Params$Resource$Globaladdresses$Get, + setTarget( + params?: Params$Resource$Forwardingrules$Settarget, options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Globaladdresses$Get, + ): Promise>; + setTarget( + params: Params$Resource$Forwardingrules$Settarget, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Globaladdresses$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + setTarget( + params: Params$Resource$Forwardingrules$Settarget, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Globaladdresses$Get, - callback: BodyResponseCallback + setTarget( + params: Params$Resource$Forwardingrules$Settarget, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; - get( + setTarget(callback: BodyResponseCallback): void; + setTarget( paramsOrCallback?: - | Params$Resource$Globaladdresses$Get - | BodyResponseCallback + | Params$Resource$Forwardingrules$Settarget + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Globaladdresses$Get; + {}) as Params$Resource$Forwardingrules$Settarget; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Globaladdresses$Get; + params = {} as Params$Resource$Forwardingrules$Settarget; options = {}; } @@ -75311,30 +74318,30 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/addresses/{address}' + '/compute/alpha/projects/{project}/regions/{region}/forwardingRules/{forwardingRule}/setTarget' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project', 'address'], - pathParams: ['address', 'project'], + requiredParams: ['project', 'region', 'forwardingRule'], + pathParams: ['forwardingRule', 'project', 'region'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Find owner instance from given ip address + * Returns permissions that a caller has on the specified resource. * @example * ```js * // Before running the sample: @@ -75367,18 +74374,28 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.globalAddresses.getOwnerInstance({ - * // The VM IP address. - * ipAddress: 'placeholder-value', + * const res = await compute.forwardingRules.testIamPermissions({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // The name of the region for this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * // Name or id of the resource for this request. + * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "permissions": [] + * // } + * }, * }); * console.log(res.data); * * // Example response * // { - * // "instance": "my_instance" + * // "permissions": [] * // } * } * @@ -75394,57 +74411,57 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - getOwnerInstance( - params: Params$Resource$Globaladdresses$Getownerinstance, + testIamPermissions( + params: Params$Resource$Forwardingrules$Testiampermissions, options: StreamMethodOptions ): Promise>; - getOwnerInstance( - params?: Params$Resource$Globaladdresses$Getownerinstance, + testIamPermissions( + params?: Params$Resource$Forwardingrules$Testiampermissions, options?: MethodOptions - ): Promise>; - getOwnerInstance( - params: Params$Resource$Globaladdresses$Getownerinstance, + ): Promise>; + testIamPermissions( + params: Params$Resource$Forwardingrules$Testiampermissions, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - getOwnerInstance( - params: Params$Resource$Globaladdresses$Getownerinstance, + testIamPermissions( + params: Params$Resource$Forwardingrules$Testiampermissions, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - getOwnerInstance( - params: Params$Resource$Globaladdresses$Getownerinstance, - callback: BodyResponseCallback + testIamPermissions( + params: Params$Resource$Forwardingrules$Testiampermissions, + callback: BodyResponseCallback ): void; - getOwnerInstance( - callback: BodyResponseCallback + testIamPermissions( + callback: BodyResponseCallback ): void; - getOwnerInstance( + testIamPermissions( paramsOrCallback?: - | Params$Resource$Globaladdresses$Getownerinstance - | BodyResponseCallback + | Params$Resource$Forwardingrules$Testiampermissions + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Globaladdresses$Getownerinstance; + {}) as Params$Resource$Forwardingrules$Testiampermissions; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Globaladdresses$Getownerinstance; + params = {} as Params$Resource$Forwardingrules$Testiampermissions; options = {}; } @@ -75459,241 +74476,471 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/addresses/getOwnerInstance' + '/compute/alpha/projects/{project}/regions/{region}/forwardingRules/{resource}/testIamPermissions' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project'], - pathParams: ['project'], + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } + } + export interface Params$Resource$Forwardingrules$Aggregatedlist extends StandardParameters { /** - * Creates an address resource in the specified project by using the data - * included in the request. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/compute.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` + * A filter expression that filters resources listed in the response. Most + * Compute resources support two types of filter expressions: + * expressions that support regular expressions and expressions that follow + * API improvement proposal AIP-160. + * These two types of filter expressions cannot be mixed in one request. * - * const {google} = require('googleapis'); - * const compute = google.compute('alpha'); + * If you want to use AIP-160, your expression must specify the field name, an + * operator, and the value that you want to use for filtering. The value + * must be a string, a number, or a boolean. The operator + * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/cloud-platform', - * 'https://www.googleapis.com/auth/compute', - * ], - * }); + * For example, if you are filtering Compute Engine instances, you can + * exclude instances named `example-instance` by specifying + * `name != example-instance`. * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); + * The `:*` comparison can be used to test whether a key has been defined. + * For example, to find all objects with `owner` label use: + * ``` + * labels.owner:* + * ``` * - * // Do the magic - * const res = await compute.globalAddresses.insert({ - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. - * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', + * You can also filter nested fields. For example, you could specify + * `scheduling.automaticRestart = false` to include instances only + * if they are not scheduled for automatic restarts. You can use filtering + * on nested fields to filter based onresource labels. * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "address": "my_address", - * // "addressType": "my_addressType", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "id": "my_id", - * // "ipCollection": "my_ipCollection", - * // "ipVersion": "my_ipVersion", - * // "ipv6EndpointType": "my_ipv6EndpointType", - * // "kind": "my_kind", - * // "labelFingerprint": "my_labelFingerprint", - * // "labels": {}, - * // "name": "my_name", - * // "network": "my_network", - * // "networkTier": "my_networkTier", - * // "prefixLength": 0, - * // "purpose": "my_purpose", - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "status": "my_status", - * // "subnetwork": "my_subnetwork", - * // "users": [] - * // } - * }, - * }); - * console.log(res.data); + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example: + * ``` + * (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake") + * ``` + * By default, each expression is an `AND` expression. However, you + * can include `AND` and `OR` expressions explicitly. + * For example: + * ``` + * (cpuPlatform = "Intel Skylake") OR + * (cpuPlatform = "Intel Broadwell") AND + * (scheduling.automaticRestart = true) + * ``` * - * // Example response - * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, - * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, - * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" - * // } - * } + * If you want to use a regular expression, use the `eq` (equal) or `ne` + * (not equal) operator against a single un-parenthesized expression with or + * without quotes or against multiple parenthesized expressions. Examples: * - * main().catch(e => { - * console.error(e); - * throw e; - * }); + * `fieldname eq unquoted literal` + * `fieldname eq 'single quoted literal'` + * `fieldname eq "double quoted literal"` + * `(fieldname1 eq literal) (fieldname2 ne "literal")` + * + * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * The literal value must match the entire field. + * + * For example, to filter for instances that do not end with name "instance", + * you would use `name ne .*instance`. + * + * You cannot combine constraints on multiple fields using regular + * expressions. + */ + filter?: string; + /** + * 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. + */ + includeAllScopes?: boolean; + /** + * The maximum number of results per page that should be returned. + * If the number of available results is larger than `maxResults`, + * Compute Engine returns a `nextPageToken` that can be used to get + * the next page of results in subsequent list requests. Acceptable values are + * `0` to `500`, inclusive. (Default: `500`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results + * are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation + * timestamp using `orderBy="creationTimestamp desc"`. This sorts + * results based on the `creationTimestamp` field in + * reverse chronological order (newest result first). Use this to sort + * resources like operations so that the newest operation is returned first. + * + * Currently, only sorting by `name` or + * `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the + * `nextPageToken` returned by a previous list request to get + * the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Opt-in for partial success behavior which provides partial results in case + * of failure. The default value is false. + * + * For example, when partial success behavior is enabled, aggregatedList for a + * single zone scope either returns all resources in the zone or no resources, + * with an error code. + */ + returnPartialSuccess?: boolean; + /** + * The Shared VPC service project id or service project number for which + * aggregated list request is invoked for subnetworks list-usable api. + */ + serviceProjectNumber?: string; + } + export interface Params$Resource$Forwardingrules$Delete extends StandardParameters { + /** + * Name of the ForwardingRule resource to delete. + */ + forwardingRule?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + export interface Params$Resource$Forwardingrules$Get extends StandardParameters { + /** + * Name of the ForwardingRule resource to return. + */ + forwardingRule?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * + */ + view?: string; + } + export interface Params$Resource$Forwardingrules$Insert extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ForwardingRule; + } + export interface Params$Resource$Forwardingrules$List extends StandardParameters { + /** + * A filter expression that filters resources listed in the response. Most + * Compute resources support two types of filter expressions: + * expressions that support regular expressions and expressions that follow + * API improvement proposal AIP-160. + * These two types of filter expressions cannot be mixed in one request. + * + * If you want to use AIP-160, your expression must specify the field name, an + * operator, and the value that you want to use for filtering. The value + * must be a string, a number, or a boolean. The operator + * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * + * For example, if you are filtering Compute Engine instances, you can + * exclude instances named `example-instance` by specifying + * `name != example-instance`. * + * The `:*` comparison can be used to test whether a key has been defined. + * For example, to find all objects with `owner` label use: + * ``` + * labels.owner:* * ``` * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. + * You can also filter nested fields. For example, you could specify + * `scheduling.automaticRestart = false` to include instances only + * if they are not scheduled for automatic restarts. You can use filtering + * on nested fields to filter based onresource labels. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example: + * ``` + * (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake") + * ``` + * By default, each expression is an `AND` expression. However, you + * can include `AND` and `OR` expressions explicitly. + * For example: + * ``` + * (cpuPlatform = "Intel Skylake") OR + * (cpuPlatform = "Intel Broadwell") AND + * (scheduling.automaticRestart = true) + * ``` + * + * If you want to use a regular expression, use the `eq` (equal) or `ne` + * (not equal) operator against a single un-parenthesized expression with or + * without quotes or against multiple parenthesized expressions. Examples: + * + * `fieldname eq unquoted literal` + * `fieldname eq 'single quoted literal'` + * `fieldname eq "double quoted literal"` + * `(fieldname1 eq literal) (fieldname2 ne "literal")` + * + * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * The literal value must match the entire field. + * + * For example, to filter for instances that do not end with name "instance", + * you would use `name ne .*instance`. + * + * You cannot combine constraints on multiple fields using regular + * expressions. */ - insert( - params: Params$Resource$Globaladdresses$Insert, - options: StreamMethodOptions - ): Promise>; - insert( - params?: Params$Resource$Globaladdresses$Insert, - options?: MethodOptions - ): Promise>; - insert( - params: Params$Resource$Globaladdresses$Insert, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - insert( - params: Params$Resource$Globaladdresses$Insert, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - insert( - params: Params$Resource$Globaladdresses$Insert, - callback: BodyResponseCallback - ): void; - insert(callback: BodyResponseCallback): void; - insert( - paramsOrCallback?: - | Params$Resource$Globaladdresses$Insert - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Globaladdresses$Insert; - let options = (optionsOrCallback || {}) as MethodOptions; + filter?: string; + /** + * The maximum number of results per page that should be returned. + * If the number of available results is larger than `maxResults`, + * Compute Engine returns a `nextPageToken` that can be used to get + * the next page of results in subsequent list requests. Acceptable values are + * `0` to `500`, inclusive. (Default: `500`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results + * are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation + * timestamp using `orderBy="creationTimestamp desc"`. This sorts + * results based on the `creationTimestamp` field in + * reverse chronological order (newest result first). Use this to sort + * resources like operations so that the newest operation is returned first. + * + * Currently, only sorting by `name` or + * `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the + * `nextPageToken` returned by a previous list request to get + * the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * Opt-in for partial success behavior which provides partial results in case + * of failure. The default value is false. + * + * For example, when partial success behavior is enabled, aggregatedList for a + * single zone scope either returns all resources in the zone or no resources, + * with an error code. + */ + returnPartialSuccess?: boolean; + } + export interface Params$Resource$Forwardingrules$Patch extends StandardParameters { + /** + * Name of the ForwardingRule resource to patch. + */ + forwardingRule?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Globaladdresses$Insert; - options = {}; - } + /** + * Request body metadata + */ + requestBody?: Schema$ForwardingRule; + } + export interface Params$Resource$Forwardingrules$Setlabels extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * The region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } + /** + * Request body metadata + */ + requestBody?: Schema$RegionSetLabelsRequest; + } + export interface Params$Resource$Forwardingrules$Settarget extends StandardParameters { + /** + * Name of the ForwardingRule resource in which target is to be set. + */ + forwardingRule?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; - const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/compute/alpha/projects/{project}/global/addresses' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['project'], - pathParams: ['project'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } + /** + * Request body metadata + */ + requestBody?: Schema$TargetReference; + } + export interface Params$Resource$Forwardingrules$Testiampermissions extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + + export class Resource$Futurereservations { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; } /** - * Retrieves a list of global addresses. + * Retrieves an aggregated list of future reservations. + * + * To prevent failure, it is recommended that you set the + * `returnPartialSuccess` parameter to `true`. * @example * ```js * // Before running the sample: @@ -75726,7 +74973,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.globalAddresses.list({ + * const res = await compute.futureReservations.aggregatedList({ * // A filter expression that filters resources listed in the response. Most * // Compute resources support two types of filter expressions: * // expressions that support regular expressions and expressions that follow @@ -75786,6 +75033,14 @@ export namespace compute_alpha { * // You cannot combine constraints on multiple fields using regular * // expressions. * filter: 'placeholder-value', + * // 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. + * includeAllScopes: 'placeholder-value', * // The maximum number of results per page that should be returned. * // If the number of available results is larger than `maxResults`, * // Compute Engine returns a `nextPageToken` that can be used to get @@ -75818,16 +75073,21 @@ export namespace compute_alpha { * // single zone scope either returns all resources in the zone or no resources, * // with an error code. * returnPartialSuccess: 'placeholder-value', + * // The Shared VPC service project id or service project number for which + * // aggregated list request is invoked for subnetworks list-usable api. + * serviceProjectNumber: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { + * // "etag": "my_etag", * // "id": "my_id", - * // "items": [], + * // "items": {}, * // "kind": "my_kind", * // "nextPageToken": "my_nextPageToken", * // "selfLink": "my_selfLink", + * // "unreachables": [], * // "warning": {} * // } * } @@ -75844,53 +75104,61 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - list( - params: Params$Resource$Globaladdresses$List, + aggregatedList( + params: Params$Resource$Futurereservations$Aggregatedlist, options: StreamMethodOptions ): Promise>; - list( - params?: Params$Resource$Globaladdresses$List, + aggregatedList( + params?: Params$Resource$Futurereservations$Aggregatedlist, options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Globaladdresses$List, + ): Promise< + GaxiosResponseWithHTTP2 + >; + aggregatedList( + params: Params$Resource$Futurereservations$Aggregatedlist, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Globaladdresses$List, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + aggregatedList( + params: Params$Resource$Futurereservations$Aggregatedlist, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Globaladdresses$List, - callback: BodyResponseCallback + aggregatedList( + params: Params$Resource$Futurereservations$Aggregatedlist, + callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; - list( + aggregatedList( + callback: BodyResponseCallback + ): void; + aggregatedList( paramsOrCallback?: - | Params$Resource$Globaladdresses$List - | BodyResponseCallback + | Params$Resource$Futurereservations$Aggregatedlist + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise< + GaxiosResponseWithHTTP2 + > | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Globaladdresses$List; + {}) as Params$Resource$Futurereservations$Aggregatedlist; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Globaladdresses$List; + params = {} as Params$Resource$Futurereservations$Aggregatedlist; options = {}; } @@ -75904,7 +75172,8 @@ export namespace compute_alpha { options: Object.assign( { url: ( - rootUrl + '/compute/alpha/projects/{project}/global/addresses' + rootUrl + + '/compute/alpha/projects/{project}/aggregated/futureReservations' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -75917,17 +75186,19 @@ export namespace compute_alpha { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); } } /** - * Moves the specified address resource from one project to another project. + * Cancel the specified future reservation. * @example * ```js * // Before running the sample: @@ -75959,10 +75230,10 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.globalAddresses.move({ - * // Name of the address resource to move. - * address: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // Source project ID which the Address is moved from. + * const res = await compute.futureReservations.cancel({ + * // Name of the future reservation to retrieve. Name should conform to RFC1035. + * futureReservation: 'placeholder-value', + * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', * // An optional request ID to identify requests. Specify a unique request ID so @@ -75979,15 +75250,8 @@ export namespace compute_alpha { * // a valid UUID with the exception that zero UUID is not supported * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "description": "my_description", - * // "destinationAddress": "my_destinationAddress" - * // } - * }, + * // Name of the zone for this request. Name should conform to RFC1035. + * zone: 'placeholder-value', * }); * console.log(res.data); * @@ -76036,32 +75300,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - move( - params: Params$Resource$Globaladdresses$Move, + cancel( + params: Params$Resource$Futurereservations$Cancel, options: StreamMethodOptions ): Promise>; - move( - params?: Params$Resource$Globaladdresses$Move, + cancel( + params?: Params$Resource$Futurereservations$Cancel, options?: MethodOptions ): Promise>; - move( - params: Params$Resource$Globaladdresses$Move, + cancel( + params: Params$Resource$Futurereservations$Cancel, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - move( - params: Params$Resource$Globaladdresses$Move, + cancel( + params: Params$Resource$Futurereservations$Cancel, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - move( - params: Params$Resource$Globaladdresses$Move, + cancel( + params: Params$Resource$Futurereservations$Cancel, callback: BodyResponseCallback ): void; - move(callback: BodyResponseCallback): void; - move( + cancel(callback: BodyResponseCallback): void; + cancel( paramsOrCallback?: - | Params$Resource$Globaladdresses$Move + | Params$Resource$Futurereservations$Cancel | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -76077,12 +75341,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Globaladdresses$Move; + {}) as Params$Resource$Futurereservations$Cancel; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Globaladdresses$Move; + params = {} as Params$Resource$Futurereservations$Cancel; options = {}; } @@ -76097,7 +75361,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/addresses/{address}/move' + '/compute/alpha/projects/{project}/zones/{zone}/futureReservations/{futureReservation}/cancel' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -76105,8 +75369,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'address'], - pathParams: ['address', 'project'], + requiredParams: ['project', 'zone', 'futureReservation'], + pathParams: ['futureReservation', 'project', 'zone'], context: this.context, }; if (callback) { @@ -76120,8 +75384,7 @@ export namespace compute_alpha { } /** - * Sets the labels on a GlobalAddress. To learn more about labels, read theLabeling - * Resources documentation. + * Deletes the specified future reservation. * @example * ```js * // Before running the sample: @@ -76153,21 +75416,28 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.globalAddresses.setLabels({ + * const res = await compute.futureReservations.delete({ + * // Name of the future reservation to retrieve. Name should conform to RFC1035. + * futureReservation: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name or id of the resource for this request. - * resource: '[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "labelFingerprint": "my_labelFingerprint", - * // "labels": {} - * // } - * }, + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // Name of the zone for this request. Name should conform to RFC1035. + * zone: 'placeholder-value', * }); * console.log(res.data); * @@ -76216,32 +75486,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - setLabels( - params: Params$Resource$Globaladdresses$Setlabels, + delete( + params: Params$Resource$Futurereservations$Delete, options: StreamMethodOptions ): Promise>; - setLabels( - params?: Params$Resource$Globaladdresses$Setlabels, + delete( + params?: Params$Resource$Futurereservations$Delete, options?: MethodOptions ): Promise>; - setLabels( - params: Params$Resource$Globaladdresses$Setlabels, + delete( + params: Params$Resource$Futurereservations$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setLabels( - params: Params$Resource$Globaladdresses$Setlabels, + delete( + params: Params$Resource$Futurereservations$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setLabels( - params: Params$Resource$Globaladdresses$Setlabels, + delete( + params: Params$Resource$Futurereservations$Delete, callback: BodyResponseCallback ): void; - setLabels(callback: BodyResponseCallback): void; - setLabels( + delete(callback: BodyResponseCallback): void; + delete( paramsOrCallback?: - | Params$Resource$Globaladdresses$Setlabels + | Params$Resource$Futurereservations$Delete | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -76257,12 +75527,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Globaladdresses$Setlabels; + {}) as Params$Resource$Futurereservations$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Globaladdresses$Setlabels; + params = {} as Params$Resource$Futurereservations$Delete; options = {}; } @@ -76277,16 +75547,16 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/addresses/{resource}/setLabels' + '/compute/alpha/projects/{project}/zones/{zone}/futureReservations/{futureReservation}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'DELETE', apiVersion: '', }, options ), params, - requiredParams: ['project', 'resource'], - pathParams: ['project', 'resource'], + requiredParams: ['project', 'zone', 'futureReservation'], + pathParams: ['futureReservation', 'project', 'zone'], context: this.context, }; if (callback) { @@ -76300,7 +75570,7 @@ export namespace compute_alpha { } /** - * Returns permissions that a caller has on the specified resource. + * Retrieves information about the specified future reservation. * @example * ```js * // Before running the sample: @@ -76333,26 +75603,48 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.globalAddresses.testIamPermissions({ + * const res = await compute.futureReservations.get({ + * // Name of the future reservation to retrieve. Name should conform to RFC1035. + * futureReservation: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name or id of the resource for this request. - * resource: '[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "permissions": [] - * // } - * }, + * // Name of the zone for this request. Name should conform to RFC1035. + * zone: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { - * // "permissions": [] + * // "advancedDeploymentControl": {}, + * // "aggregateReservation": {}, + * // "autoCreatedReservationsDeleteTime": "my_autoCreatedReservationsDeleteTime", + * // "autoCreatedReservationsDuration": {}, + * // "autoDeleteAutoCreatedReservations": false, + * // "commitmentInfo": {}, + * // "confidentialComputeType": "my_confidentialComputeType", + * // "creationTimestamp": "my_creationTimestamp", + * // "deploymentType": "my_deploymentType", + * // "description": "my_description", + * // "enableEmergentMaintenance": false, + * // "id": "my_id", + * // "kind": "my_kind", + * // "name": "my_name", + * // "namePrefix": "my_namePrefix", + * // "params": {}, + * // "planningStatus": "my_planningStatus", + * // "protectionTier": "my_protectionTier", + * // "reservationMode": "my_reservationMode", + * // "reservationName": "my_reservationName", + * // "schedulingType": "my_schedulingType", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "shareSettings": {}, + * // "specificReservationRequired": false, + * // "specificSkuProperties": {}, + * // "status": {}, + * // "timeWindow": {}, + * // "zone": "my_zone" * // } * } * @@ -76368,57 +75660,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - testIamPermissions( - params: Params$Resource$Globaladdresses$Testiampermissions, + get( + params: Params$Resource$Futurereservations$Get, options: StreamMethodOptions ): Promise>; - testIamPermissions( - params?: Params$Resource$Globaladdresses$Testiampermissions, + get( + params?: Params$Resource$Futurereservations$Get, options?: MethodOptions - ): Promise>; - testIamPermissions( - params: Params$Resource$Globaladdresses$Testiampermissions, + ): Promise>; + get( + params: Params$Resource$Futurereservations$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - testIamPermissions( - params: Params$Resource$Globaladdresses$Testiampermissions, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - testIamPermissions( - params: Params$Resource$Globaladdresses$Testiampermissions, - callback: BodyResponseCallback + get( + params: Params$Resource$Futurereservations$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - testIamPermissions( - callback: BodyResponseCallback + get( + params: Params$Resource$Futurereservations$Get, + callback: BodyResponseCallback ): void; - testIamPermissions( + get(callback: BodyResponseCallback): void; + get( paramsOrCallback?: - | Params$Resource$Globaladdresses$Testiampermissions - | BodyResponseCallback + | Params$Resource$Futurereservations$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Globaladdresses$Testiampermissions; + {}) as Params$Resource$Futurereservations$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Globaladdresses$Testiampermissions; + params = {} as Params$Resource$Futurereservations$Get; options = {}; } @@ -76433,276 +75721,30 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/addresses/{resource}/testIamPermissions' + '/compute/alpha/projects/{project}/zones/{zone}/futureReservations/{futureReservation}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['project', 'resource'], - pathParams: ['project', 'resource'], + requiredParams: ['project', 'zone', 'futureReservation'], + pathParams: ['futureReservation', 'project', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } - } - - export interface Params$Resource$Globaladdresses$Delete extends StandardParameters { - /** - * Name of the address resource to delete. - */ - address?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - } - export interface Params$Resource$Globaladdresses$Get extends StandardParameters { - /** - * Name of the address resource to return. - */ - address?: string; - /** - * Project ID for this request. - */ - project?: string; - } - export interface Params$Resource$Globaladdresses$Getownerinstance extends StandardParameters { - /** - * The VM IP address. - */ - ipAddress?: string; - /** - * Project ID for this request. - */ - project?: string; - } - export interface Params$Resource$Globaladdresses$Insert extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$Address; - } - export interface Params$Resource$Globaladdresses$List extends StandardParameters { - /** - * A filter expression that filters resources listed in the response. Most - * Compute resources support two types of filter expressions: - * expressions that support regular expressions and expressions that follow - * API improvement proposal AIP-160. - * These two types of filter expressions cannot be mixed in one request. - * - * If you want to use AIP-160, your expression must specify the field name, an - * operator, and the value that you want to use for filtering. The value - * must be a string, a number, or a boolean. The operator - * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * - * For example, if you are filtering Compute Engine instances, you can - * exclude instances named `example-instance` by specifying - * `name != example-instance`. - * - * The `:*` comparison can be used to test whether a key has been defined. - * For example, to find all objects with `owner` label use: - * ``` - * labels.owner:* - * ``` - * - * You can also filter nested fields. For example, you could specify - * `scheduling.automaticRestart = false` to include instances only - * if they are not scheduled for automatic restarts. You can use filtering - * on nested fields to filter based onresource labels. - * - * To filter on multiple expressions, provide each separate expression within - * parentheses. For example: - * ``` - * (scheduling.automaticRestart = true) - * (cpuPlatform = "Intel Skylake") - * ``` - * By default, each expression is an `AND` expression. However, you - * can include `AND` and `OR` expressions explicitly. - * For example: - * ``` - * (cpuPlatform = "Intel Skylake") OR - * (cpuPlatform = "Intel Broadwell") AND - * (scheduling.automaticRestart = true) - * ``` - * - * If you want to use a regular expression, use the `eq` (equal) or `ne` - * (not equal) operator against a single un-parenthesized expression with or - * without quotes or against multiple parenthesized expressions. Examples: - * - * `fieldname eq unquoted literal` - * `fieldname eq 'single quoted literal'` - * `fieldname eq "double quoted literal"` - * `(fieldname1 eq literal) (fieldname2 ne "literal")` - * - * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * The literal value must match the entire field. - * - * For example, to filter for instances that do not end with name "instance", - * you would use `name ne .*instance`. - * - * You cannot combine constraints on multiple fields using regular - * expressions. - */ - filter?: string; - /** - * The maximum number of results per page that should be returned. - * If the number of available results is larger than `maxResults`, - * Compute Engine returns a `nextPageToken` that can be used to get - * the next page of results in subsequent list requests. Acceptable values are - * `0` to `500`, inclusive. (Default: `500`) - */ - maxResults?: number; - /** - * Sorts list results by a certain order. By default, results - * are returned in alphanumerical order based on the resource name. - * - * You can also sort results in descending order based on the creation - * timestamp using `orderBy="creationTimestamp desc"`. This sorts - * results based on the `creationTimestamp` field in - * reverse chronological order (newest result first). Use this to sort - * resources like operations so that the newest operation is returned first. - * - * Currently, only sorting by `name` or - * `creationTimestamp desc` is supported. - */ - orderBy?: string; - /** - * Specifies a page token to use. Set `pageToken` to the - * `nextPageToken` returned by a previous list request to get - * the next page of results. - */ - pageToken?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * Opt-in for partial success behavior which provides partial results in case - * of failure. The default value is false. - * - * For example, when partial success behavior is enabled, aggregatedList for a - * single zone scope either returns all resources in the zone or no resources, - * with an error code. - */ - returnPartialSuccess?: boolean; - } - export interface Params$Resource$Globaladdresses$Move extends StandardParameters { - /** - * Name of the address resource to move. - */ - address?: string; - /** - * Source project ID which the Address is moved from. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$GlobalAddressesMoveRequest; - } - export interface Params$Resource$Globaladdresses$Setlabels extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * Name or id of the resource for this request. - */ - resource?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$GlobalSetLabelsRequest; - } - export interface Params$Resource$Globaladdresses$Testiampermissions extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * Name or id of the resource for this request. - */ - resource?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$TestPermissionsRequest; - } - - export class Resource$Globalfolderoperations { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } /** - * Retrieves the specified Operations resource. + * Creates a new Future Reservation. * @example * ```js * // Before running the sample: @@ -76726,7 +75768,6 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -76735,11 +75776,62 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.globalFolderOperations.get({ - * // Folder ID for this request. - * folder: 'folders/[0-9]{0,20}', - * // Name of the Operations resource to return. - * operation: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.futureReservations.insert({ + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // Name of the zone for this request. Name should conform to RFC1035. + * zone: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "advancedDeploymentControl": {}, + * // "aggregateReservation": {}, + * // "autoCreatedReservationsDeleteTime": "my_autoCreatedReservationsDeleteTime", + * // "autoCreatedReservationsDuration": {}, + * // "autoDeleteAutoCreatedReservations": false, + * // "commitmentInfo": {}, + * // "confidentialComputeType": "my_confidentialComputeType", + * // "creationTimestamp": "my_creationTimestamp", + * // "deploymentType": "my_deploymentType", + * // "description": "my_description", + * // "enableEmergentMaintenance": false, + * // "id": "my_id", + * // "kind": "my_kind", + * // "name": "my_name", + * // "namePrefix": "my_namePrefix", + * // "params": {}, + * // "planningStatus": "my_planningStatus", + * // "protectionTier": "my_protectionTier", + * // "reservationMode": "my_reservationMode", + * // "reservationName": "my_reservationName", + * // "schedulingType": "my_schedulingType", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "shareSettings": {}, + * // "specificReservationRequired": false, + * // "specificSkuProperties": {}, + * // "status": {}, + * // "timeWindow": {}, + * // "zone": "my_zone" + * // } + * }, * }); * console.log(res.data); * @@ -76788,32 +75880,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - get( - params: Params$Resource$Globalfolderoperations$Get, + insert( + params: Params$Resource$Futurereservations$Insert, options: StreamMethodOptions ): Promise>; - get( - params?: Params$Resource$Globalfolderoperations$Get, + insert( + params?: Params$Resource$Futurereservations$Insert, options?: MethodOptions ): Promise>; - get( - params: Params$Resource$Globalfolderoperations$Get, + insert( + params: Params$Resource$Futurereservations$Insert, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Globalfolderoperations$Get, + insert( + params: Params$Resource$Futurereservations$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Globalfolderoperations$Get, + insert( + params: Params$Resource$Futurereservations$Insert, callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; - get( + insert(callback: BodyResponseCallback): void; + insert( paramsOrCallback?: - | Params$Resource$Globalfolderoperations$Get + | Params$Resource$Futurereservations$Insert | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -76829,12 +75921,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Globalfolderoperations$Get; + {}) as Params$Resource$Futurereservations$Insert; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Globalfolderoperations$Get; + params = {} as Params$Resource$Futurereservations$Insert; options = {}; } @@ -76848,16 +75940,17 @@ export namespace compute_alpha { options: Object.assign( { url: ( - rootUrl + '/compute/alpha/{+folder}/global/operations/{operation}' + rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/futureReservations' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['folder', 'operation'], - pathParams: ['folder', 'operation'], + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], context: this.context, }; if (callback) { @@ -76871,8 +75964,8 @@ export namespace compute_alpha { } /** - * Retrieves a list of Operation resources contained within the specified - * folder. + * A list of all the future reservations that have been configured for the + * specified project in specified zone. * @example * ```js * // Before running the sample: @@ -76905,7 +75998,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.globalFolderOperations.list({ + * const res = await compute.futureReservations.list({ * // A filter expression that filters resources listed in the response. Most * // Compute resources support two types of filter expressions: * // expressions that support regular expressions and expressions that follow @@ -76965,8 +76058,6 @@ export namespace compute_alpha { * // You cannot combine constraints on multiple fields using regular * // expressions. * filter: 'placeholder-value', - * // Folder ID for this request. - * folder: 'folders/[0-9]{0,20}', * // The maximum number of results per page that should be returned. * // If the number of available results is larger than `maxResults`, * // Compute Engine returns a `nextPageToken` that can be used to get @@ -76989,6 +76080,9 @@ export namespace compute_alpha { * // `nextPageToken` returned by a previous list request to get * // the next page of results. * pageToken: 'placeholder-value', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', * // Opt-in for partial success behavior which provides partial results in case * // of failure. The default value is false. * // @@ -76996,16 +76090,20 @@ export namespace compute_alpha { * // single zone scope either returns all resources in the zone or no resources, * // with an error code. * returnPartialSuccess: 'placeholder-value', + * // Name of the zone for this request. Name should conform to RFC1035. + * zone: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { + * // "etag": "my_etag", * // "id": "my_id", * // "items": [], * // "kind": "my_kind", * // "nextPageToken": "my_nextPageToken", * // "selfLink": "my_selfLink", + * // "unreachables": [], * // "warning": {} * // } * } @@ -77023,52 +76121,56 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ list( - params: Params$Resource$Globalfolderoperations$List, + params: Params$Resource$Futurereservations$List, options: StreamMethodOptions ): Promise>; list( - params?: Params$Resource$Globalfolderoperations$List, + params?: Params$Resource$Futurereservations$List, options?: MethodOptions - ): Promise>; + ): Promise>; list( - params: Params$Resource$Globalfolderoperations$List, + params: Params$Resource$Futurereservations$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; list( - params: Params$Resource$Globalfolderoperations$List, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + params: Params$Resource$Futurereservations$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; list( - params: Params$Resource$Globalfolderoperations$List, - callback: BodyResponseCallback + params: Params$Resource$Futurereservations$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; list( paramsOrCallback?: - | Params$Resource$Globalfolderoperations$List - | BodyResponseCallback + | Params$Resource$Futurereservations$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Globalfolderoperations$List; + {}) as Params$Resource$Futurereservations$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Globalfolderoperations$List; + params = {} as Params$Resource$Futurereservations$List; options = {}; } @@ -77082,7 +76184,8 @@ export namespace compute_alpha { options: Object.assign( { url: ( - rootUrl + '/compute/alpha/{+folder}/global/operations' + rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/futureReservations' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -77090,144 +76193,24 @@ export namespace compute_alpha { options ), params, - requiredParams: ['folder'], - pathParams: ['folder'], + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); } } - } - - export interface Params$Resource$Globalfolderoperations$Get extends StandardParameters { - /** - * Folder ID for this request. - */ - folder?: string; - /** - * Name of the Operations resource to return. - */ - operation?: string; - } - export interface Params$Resource$Globalfolderoperations$List extends StandardParameters { - /** - * A filter expression that filters resources listed in the response. Most - * Compute resources support two types of filter expressions: - * expressions that support regular expressions and expressions that follow - * API improvement proposal AIP-160. - * These two types of filter expressions cannot be mixed in one request. - * - * If you want to use AIP-160, your expression must specify the field name, an - * operator, and the value that you want to use for filtering. The value - * must be a string, a number, or a boolean. The operator - * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * - * For example, if you are filtering Compute Engine instances, you can - * exclude instances named `example-instance` by specifying - * `name != example-instance`. - * - * The `:*` comparison can be used to test whether a key has been defined. - * For example, to find all objects with `owner` label use: - * ``` - * labels.owner:* - * ``` - * - * You can also filter nested fields. For example, you could specify - * `scheduling.automaticRestart = false` to include instances only - * if they are not scheduled for automatic restarts. You can use filtering - * on nested fields to filter based onresource labels. - * - * To filter on multiple expressions, provide each separate expression within - * parentheses. For example: - * ``` - * (scheduling.automaticRestart = true) - * (cpuPlatform = "Intel Skylake") - * ``` - * By default, each expression is an `AND` expression. However, you - * can include `AND` and `OR` expressions explicitly. - * For example: - * ``` - * (cpuPlatform = "Intel Skylake") OR - * (cpuPlatform = "Intel Broadwell") AND - * (scheduling.automaticRestart = true) - * ``` - * - * If you want to use a regular expression, use the `eq` (equal) or `ne` - * (not equal) operator against a single un-parenthesized expression with or - * without quotes or against multiple parenthesized expressions. Examples: - * - * `fieldname eq unquoted literal` - * `fieldname eq 'single quoted literal'` - * `fieldname eq "double quoted literal"` - * `(fieldname1 eq literal) (fieldname2 ne "literal")` - * - * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * The literal value must match the entire field. - * - * For example, to filter for instances that do not end with name "instance", - * you would use `name ne .*instance`. - * - * You cannot combine constraints on multiple fields using regular - * expressions. - */ - filter?: string; - /** - * Folder ID for this request. - */ - folder?: string; - /** - * The maximum number of results per page that should be returned. - * If the number of available results is larger than `maxResults`, - * Compute Engine returns a `nextPageToken` that can be used to get - * the next page of results in subsequent list requests. Acceptable values are - * `0` to `500`, inclusive. (Default: `500`) - */ - maxResults?: number; - /** - * Sorts list results by a certain order. By default, results - * are returned in alphanumerical order based on the resource name. - * - * You can also sort results in descending order based on the creation - * timestamp using `orderBy="creationTimestamp desc"`. This sorts - * results based on the `creationTimestamp` field in - * reverse chronological order (newest result first). Use this to sort - * resources like operations so that the newest operation is returned first. - * - * Currently, only sorting by `name` or - * `creationTimestamp desc` is supported. - */ - orderBy?: string; - /** - * Specifies a page token to use. Set `pageToken` to the - * `nextPageToken` returned by a previous list request to get - * the next page of results. - */ - pageToken?: string; - /** - * Opt-in for partial success behavior which provides partial results in case - * of failure. The default value is false. - * - * For example, when partial success behavior is enabled, aggregatedList for a - * single zone scope either returns all resources in the zone or no resources, - * with an error code. - */ - returnPartialSuccess?: boolean; - } - - export class Resource$Globalforwardingrules { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } /** - * Deletes the specified GlobalForwardingRule resource. + * Updates the specified future reservation. * @example * ```js * // Before running the sample: @@ -77259,9 +76242,11 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.globalForwardingRules.delete({ - * // Name of the ForwardingRule resource to delete. - * forwardingRule: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.futureReservations.update({ + * // Name of the reservation to update. Name should conform to RFC1035. + * futureReservation: 'placeholder-value', + * + * paths: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -77279,6 +76264,46 @@ export namespace compute_alpha { * // a valid UUID with the exception that zero UUID is not supported * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', + * // update_mask indicates fields to be updated as part of this request. + * updateMask: 'placeholder-value', + * // Name of the zone for this request. Name should conform to RFC1035. + * zone: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "advancedDeploymentControl": {}, + * // "aggregateReservation": {}, + * // "autoCreatedReservationsDeleteTime": "my_autoCreatedReservationsDeleteTime", + * // "autoCreatedReservationsDuration": {}, + * // "autoDeleteAutoCreatedReservations": false, + * // "commitmentInfo": {}, + * // "confidentialComputeType": "my_confidentialComputeType", + * // "creationTimestamp": "my_creationTimestamp", + * // "deploymentType": "my_deploymentType", + * // "description": "my_description", + * // "enableEmergentMaintenance": false, + * // "id": "my_id", + * // "kind": "my_kind", + * // "name": "my_name", + * // "namePrefix": "my_namePrefix", + * // "params": {}, + * // "planningStatus": "my_planningStatus", + * // "protectionTier": "my_protectionTier", + * // "reservationMode": "my_reservationMode", + * // "reservationName": "my_reservationName", + * // "schedulingType": "my_schedulingType", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "shareSettings": {}, + * // "specificReservationRequired": false, + * // "specificSkuProperties": {}, + * // "status": {}, + * // "timeWindow": {}, + * // "zone": "my_zone" + * // } + * }, * }); * console.log(res.data); * @@ -77327,32 +76352,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - delete( - params: Params$Resource$Globalforwardingrules$Delete, + update( + params: Params$Resource$Futurereservations$Update, options: StreamMethodOptions ): Promise>; - delete( - params?: Params$Resource$Globalforwardingrules$Delete, + update( + params?: Params$Resource$Futurereservations$Update, options?: MethodOptions ): Promise>; - delete( - params: Params$Resource$Globalforwardingrules$Delete, + update( + params: Params$Resource$Futurereservations$Update, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Globalforwardingrules$Delete, + update( + params: Params$Resource$Futurereservations$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Globalforwardingrules$Delete, + update( + params: Params$Resource$Futurereservations$Update, callback: BodyResponseCallback ): void; - delete(callback: BodyResponseCallback): void; - delete( + update(callback: BodyResponseCallback): void; + update( paramsOrCallback?: - | Params$Resource$Globalforwardingrules$Delete + | Params$Resource$Futurereservations$Update | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -77368,12 +76393,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Globalforwardingrules$Delete; + {}) as Params$Resource$Futurereservations$Update; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Globalforwardingrules$Delete; + params = {} as Params$Resource$Futurereservations$Update; options = {}; } @@ -77388,16 +76413,16 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/forwardingRules/{forwardingRule}' + '/compute/alpha/projects/{project}/zones/{zone}/futureReservations/{futureReservation}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', + method: 'PATCH', apiVersion: '', }, options ), params, - requiredParams: ['project', 'forwardingRule'], - pathParams: ['forwardingRule', 'project'], + requiredParams: ['project', 'zone', 'futureReservation'], + pathParams: ['futureReservation', 'project', 'zone'], context: this.context, }; if (callback) { @@ -77409,231 +76434,426 @@ export namespace compute_alpha { return createAPIRequest(parameters); } } + } + export interface Params$Resource$Futurereservations$Aggregatedlist extends StandardParameters { /** - * Returns the specified GlobalForwardingRule resource. Gets a list of - * available forwarding rules by making a list() request. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/compute.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` + * A filter expression that filters resources listed in the response. Most + * Compute resources support two types of filter expressions: + * expressions that support regular expressions and expressions that follow + * API improvement proposal AIP-160. + * These two types of filter expressions cannot be mixed in one request. * - * const {google} = require('googleapis'); - * const compute = google.compute('alpha'); + * If you want to use AIP-160, your expression must specify the field name, an + * operator, and the value that you want to use for filtering. The value + * must be a string, a number, or a boolean. The operator + * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/cloud-platform', - * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', - * ], - * }); + * For example, if you are filtering Compute Engine instances, you can + * exclude instances named `example-instance` by specifying + * `name != example-instance`. * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); + * The `:*` comparison can be used to test whether a key has been defined. + * For example, to find all objects with `owner` label use: + * ``` + * labels.owner:* + * ``` * - * // Do the magic - * const res = await compute.globalForwardingRules.get({ - * // Name of the ForwardingRule resource to return. - * forwardingRule: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * You can also filter nested fields. For example, you could specify + * `scheduling.automaticRestart = false` to include instances only + * if they are not scheduled for automatic restarts. You can use filtering + * on nested fields to filter based onresource labels. * - * view: 'placeholder-value', - * }); - * console.log(res.data); + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example: + * ``` + * (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake") + * ``` + * By default, each expression is an `AND` expression. However, you + * can include `AND` and `OR` expressions explicitly. + * For example: + * ``` + * (cpuPlatform = "Intel Skylake") OR + * (cpuPlatform = "Intel Broadwell") AND + * (scheduling.automaticRestart = true) + * ``` * - * // Example response - * // { - * // "IPAddress": "my_IPAddress", - * // "IPAddresses": [], - * // "IPProtocol": "my_IPProtocol", - * // "allPorts": false, - * // "allowGlobalAccess": false, - * // "allowPscGlobalAccess": false, - * // "attachedExtensions": [], - * // "availabilityGroup": "my_availabilityGroup", - * // "backendService": "my_backendService", - * // "baseForwardingRule": "my_baseForwardingRule", - * // "childForwardingRules": [], - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "externalManagedBackendBucketMigrationState": "my_externalManagedBackendBucketMigrationState", - * // "externalManagedBackendBucketMigrationTestingPercentage": {}, - * // "fingerprint": "my_fingerprint", - * // "id": "my_id", - * // "ipCollection": "my_ipCollection", - * // "ipVersion": "my_ipVersion", - * // "isMirroringCollector": false, - * // "kind": "my_kind", - * // "labelFingerprint": "my_labelFingerprint", - * // "labels": {}, - * // "loadBalancingScheme": "my_loadBalancingScheme", - * // "metadataFilters": [], - * // "name": "my_name", - * // "network": "my_network", - * // "networkTier": "my_networkTier", - * // "noAutomateDnsZone": false, - * // "parentForwardingRule": "my_parentForwardingRule", - * // "portRange": "my_portRange", - * // "ports": [], - * // "pscConnectionId": "my_pscConnectionId", - * // "pscConnectionStatus": "my_pscConnectionStatus", - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "serviceDirectoryRegistrations": [], - * // "serviceLabel": "my_serviceLabel", - * // "serviceName": "my_serviceName", - * // "sourceIpRanges": [], - * // "subnetwork": "my_subnetwork", - * // "target": "my_target" - * // } - * } + * If you want to use a regular expression, use the `eq` (equal) or `ne` + * (not equal) operator against a single un-parenthesized expression with or + * without quotes or against multiple parenthesized expressions. Examples: * - * main().catch(e => { - * console.error(e); - * throw e; - * }); + * `fieldname eq unquoted literal` + * `fieldname eq 'single quoted literal'` + * `fieldname eq "double quoted literal"` + * `(fieldname1 eq literal) (fieldname2 ne "literal")` * - * ``` + * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * The literal value must match the entire field. * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. + * For example, to filter for instances that do not end with name "instance", + * you would use `name ne .*instance`. + * + * You cannot combine constraints on multiple fields using regular + * expressions. */ - get( - params: Params$Resource$Globalforwardingrules$Get, - options: StreamMethodOptions - ): Promise>; - get( - params?: Params$Resource$Globalforwardingrules$Get, - options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Globalforwardingrules$Get, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Globalforwardingrules$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Globalforwardingrules$Get, - callback: BodyResponseCallback - ): void; - get(callback: BodyResponseCallback): void; - get( - paramsOrCallback?: - | Params$Resource$Globalforwardingrules$Get - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Globalforwardingrules$Get; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Globalforwardingrules$Get; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/compute/alpha/projects/{project}/global/forwardingRules/{forwardingRule}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['project', 'forwardingRule'], - pathParams: ['forwardingRule', 'project'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - + filter?: string; /** - * Creates a GlobalForwardingRule resource in the specified project using - * the data included in the request. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/compute.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const compute = google.compute('alpha'); + * 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. + */ + includeAllScopes?: boolean; + /** + * The maximum number of results per page that should be returned. + * If the number of available results is larger than `maxResults`, + * Compute Engine returns a `nextPageToken` that can be used to get + * the next page of results in subsequent list requests. Acceptable values are + * `0` to `500`, inclusive. (Default: `500`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results + * are returned in alphanumerical order based on the resource name. * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/cloud-platform', - * 'https://www.googleapis.com/auth/compute', - * ], - * }); + * You can also sort results in descending order based on the creation + * timestamp using `orderBy="creationTimestamp desc"`. This sorts + * results based on the `creationTimestamp` field in + * reverse chronological order (newest result first). Use this to sort + * resources like operations so that the newest operation is returned first. * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); + * Currently, only sorting by `name` or + * `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the + * `nextPageToken` returned by a previous list request to get + * the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Opt-in for partial success behavior which provides partial results in case + * of failure. The default value is false. + * + * For example, when partial success behavior is enabled, aggregatedList for a + * single zone scope either returns all resources in the zone or no resources, + * with an error code. + */ + returnPartialSuccess?: boolean; + /** + * The Shared VPC service project id or service project number for which + * aggregated list request is invoked for subnetworks list-usable api. + */ + serviceProjectNumber?: string; + } + export interface Params$Resource$Futurereservations$Cancel extends StandardParameters { + /** + * Name of the future reservation to retrieve. Name should conform to RFC1035. + */ + futureReservation?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the zone for this request. Name should conform to RFC1035. + */ + zone?: string; + } + export interface Params$Resource$Futurereservations$Delete extends StandardParameters { + /** + * Name of the future reservation to retrieve. Name should conform to RFC1035. + */ + futureReservation?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the zone for this request. Name should conform to RFC1035. + */ + zone?: string; + } + export interface Params$Resource$Futurereservations$Get extends StandardParameters { + /** + * Name of the future reservation to retrieve. Name should conform to RFC1035. + */ + futureReservation?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the zone for this request. Name should conform to RFC1035. + */ + zone?: string; + } + export interface Params$Resource$Futurereservations$Insert extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the zone for this request. Name should conform to RFC1035. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$FutureReservation; + } + export interface Params$Resource$Futurereservations$List extends StandardParameters { + /** + * A filter expression that filters resources listed in the response. Most + * Compute resources support two types of filter expressions: + * expressions that support regular expressions and expressions that follow + * API improvement proposal AIP-160. + * These two types of filter expressions cannot be mixed in one request. + * + * If you want to use AIP-160, your expression must specify the field name, an + * operator, and the value that you want to use for filtering. The value + * must be a string, a number, or a boolean. The operator + * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * + * For example, if you are filtering Compute Engine instances, you can + * exclude instances named `example-instance` by specifying + * `name != example-instance`. + * + * The `:*` comparison can be used to test whether a key has been defined. + * For example, to find all objects with `owner` label use: + * ``` + * labels.owner:* + * ``` + * + * You can also filter nested fields. For example, you could specify + * `scheduling.automaticRestart = false` to include instances only + * if they are not scheduled for automatic restarts. You can use filtering + * on nested fields to filter based onresource labels. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example: + * ``` + * (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake") + * ``` + * By default, each expression is an `AND` expression. However, you + * can include `AND` and `OR` expressions explicitly. + * For example: + * ``` + * (cpuPlatform = "Intel Skylake") OR + * (cpuPlatform = "Intel Broadwell") AND + * (scheduling.automaticRestart = true) + * ``` + * + * If you want to use a regular expression, use the `eq` (equal) or `ne` + * (not equal) operator against a single un-parenthesized expression with or + * without quotes or against multiple parenthesized expressions. Examples: + * + * `fieldname eq unquoted literal` + * `fieldname eq 'single quoted literal'` + * `fieldname eq "double quoted literal"` + * `(fieldname1 eq literal) (fieldname2 ne "literal")` + * + * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * The literal value must match the entire field. + * + * For example, to filter for instances that do not end with name "instance", + * you would use `name ne .*instance`. + * + * You cannot combine constraints on multiple fields using regular + * expressions. + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. + * If the number of available results is larger than `maxResults`, + * Compute Engine returns a `nextPageToken` that can be used to get + * the next page of results in subsequent list requests. Acceptable values are + * `0` to `500`, inclusive. (Default: `500`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results + * are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation + * timestamp using `orderBy="creationTimestamp desc"`. This sorts + * results based on the `creationTimestamp` field in + * reverse chronological order (newest result first). Use this to sort + * resources like operations so that the newest operation is returned first. + * + * Currently, only sorting by `name` or + * `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the + * `nextPageToken` returned by a previous list request to get + * the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Opt-in for partial success behavior which provides partial results in case + * of failure. The default value is false. + * + * For example, when partial success behavior is enabled, aggregatedList for a + * single zone scope either returns all resources in the zone or no resources, + * with an error code. + */ + returnPartialSuccess?: boolean; + /** + * Name of the zone for this request. Name should conform to RFC1035. + */ + zone?: string; + } + export interface Params$Resource$Futurereservations$Update extends StandardParameters { + /** + * Name of the reservation to update. Name should conform to RFC1035. + */ + futureReservation?: string; + /** + * + */ + paths?: string[]; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * update_mask indicates fields to be updated as part of this request. + */ + updateMask?: string; + /** + * Name of the zone for this request. Name should conform to RFC1035. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$FutureReservation; + } + + export class Resource$Globaladdresses { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Deletes the specified address resource. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.globalForwardingRules.insert({ + * const res = await compute.globalAddresses.delete({ + * // Name of the address resource to delete. + * address: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -77651,56 +76871,6 @@ export namespace compute_alpha { * // a valid UUID with the exception that zero UUID is not supported * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "IPAddress": "my_IPAddress", - * // "IPAddresses": [], - * // "IPProtocol": "my_IPProtocol", - * // "allPorts": false, - * // "allowGlobalAccess": false, - * // "allowPscGlobalAccess": false, - * // "attachedExtensions": [], - * // "availabilityGroup": "my_availabilityGroup", - * // "backendService": "my_backendService", - * // "baseForwardingRule": "my_baseForwardingRule", - * // "childForwardingRules": [], - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "externalManagedBackendBucketMigrationState": "my_externalManagedBackendBucketMigrationState", - * // "externalManagedBackendBucketMigrationTestingPercentage": {}, - * // "fingerprint": "my_fingerprint", - * // "id": "my_id", - * // "ipCollection": "my_ipCollection", - * // "ipVersion": "my_ipVersion", - * // "isMirroringCollector": false, - * // "kind": "my_kind", - * // "labelFingerprint": "my_labelFingerprint", - * // "labels": {}, - * // "loadBalancingScheme": "my_loadBalancingScheme", - * // "metadataFilters": [], - * // "name": "my_name", - * // "network": "my_network", - * // "networkTier": "my_networkTier", - * // "noAutomateDnsZone": false, - * // "parentForwardingRule": "my_parentForwardingRule", - * // "portRange": "my_portRange", - * // "ports": [], - * // "pscConnectionId": "my_pscConnectionId", - * // "pscConnectionStatus": "my_pscConnectionStatus", - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "serviceDirectoryRegistrations": [], - * // "serviceLabel": "my_serviceLabel", - * // "serviceName": "my_serviceName", - * // "sourceIpRanges": [], - * // "subnetwork": "my_subnetwork", - * // "target": "my_target" - * // } - * }, * }); * console.log(res.data); * @@ -77749,32 +76919,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - insert( - params: Params$Resource$Globalforwardingrules$Insert, + delete( + params: Params$Resource$Globaladdresses$Delete, options: StreamMethodOptions ): Promise>; - insert( - params?: Params$Resource$Globalforwardingrules$Insert, + delete( + params?: Params$Resource$Globaladdresses$Delete, options?: MethodOptions ): Promise>; - insert( - params: Params$Resource$Globalforwardingrules$Insert, + delete( + params: Params$Resource$Globaladdresses$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - insert( - params: Params$Resource$Globalforwardingrules$Insert, + delete( + params: Params$Resource$Globaladdresses$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - insert( - params: Params$Resource$Globalforwardingrules$Insert, + delete( + params: Params$Resource$Globaladdresses$Delete, callback: BodyResponseCallback ): void; - insert(callback: BodyResponseCallback): void; - insert( + delete(callback: BodyResponseCallback): void; + delete( paramsOrCallback?: - | Params$Resource$Globalforwardingrules$Insert + | Params$Resource$Globaladdresses$Delete | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -77790,12 +76960,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Globalforwardingrules$Insert; + {}) as Params$Resource$Globaladdresses$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Globalforwardingrules$Insert; + params = {} as Params$Resource$Globaladdresses$Delete; options = {}; } @@ -77810,16 +76980,16 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/forwardingRules' + '/compute/alpha/projects/{project}/global/addresses/{address}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'DELETE', apiVersion: '', }, options ), params, - requiredParams: ['project'], - pathParams: ['project'], + requiredParams: ['project', 'address'], + pathParams: ['address', 'project'], context: this.context, }; if (callback) { @@ -77833,8 +77003,7 @@ export namespace compute_alpha { } /** - * Retrieves a list of GlobalForwardingRule resources available to the - * specified project. + * Returns the specified address resource. * @example * ```js * // Before running the sample: @@ -77867,109 +77036,39 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.globalForwardingRules.list({ - * // A filter expression that filters resources listed in the response. Most - * // Compute resources support two types of filter expressions: - * // expressions that support regular expressions and expressions that follow - * // API improvement proposal AIP-160. - * // These two types of filter expressions cannot be mixed in one request. - * // - * // If you want to use AIP-160, your expression must specify the field name, an - * // operator, and the value that you want to use for filtering. The value - * // must be a string, a number, or a boolean. The operator - * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * // - * // For example, if you are filtering Compute Engine instances, you can - * // exclude instances named `example-instance` by specifying - * // `name != example-instance`. - * // - * // The `:*` comparison can be used to test whether a key has been defined. - * // For example, to find all objects with `owner` label use: - * // ``` - * // labels.owner:* - * // ``` - * // - * // You can also filter nested fields. For example, you could specify - * // `scheduling.automaticRestart = false` to include instances only - * // if they are not scheduled for automatic restarts. You can use filtering - * // on nested fields to filter based onresource labels. - * // - * // To filter on multiple expressions, provide each separate expression within - * // parentheses. For example: - * // ``` - * // (scheduling.automaticRestart = true) - * // (cpuPlatform = "Intel Skylake") - * // ``` - * // By default, each expression is an `AND` expression. However, you - * // can include `AND` and `OR` expressions explicitly. - * // For example: - * // ``` - * // (cpuPlatform = "Intel Skylake") OR - * // (cpuPlatform = "Intel Broadwell") AND - * // (scheduling.automaticRestart = true) - * // ``` - * // - * // If you want to use a regular expression, use the `eq` (equal) or `ne` - * // (not equal) operator against a single un-parenthesized expression with or - * // without quotes or against multiple parenthesized expressions. Examples: - * // - * // `fieldname eq unquoted literal` - * // `fieldname eq 'single quoted literal'` - * // `fieldname eq "double quoted literal"` - * // `(fieldname1 eq literal) (fieldname2 ne "literal")` - * // - * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * // The literal value must match the entire field. - * // - * // For example, to filter for instances that do not end with name "instance", - * // you would use `name ne .*instance`. - * // - * // You cannot combine constraints on multiple fields using regular - * // expressions. - * filter: 'placeholder-value', - * // The maximum number of results per page that should be returned. - * // If the number of available results is larger than `maxResults`, - * // Compute Engine returns a `nextPageToken` that can be used to get - * // the next page of results in subsequent list requests. Acceptable values are - * // `0` to `500`, inclusive. (Default: `500`) - * maxResults: 'placeholder-value', - * // Sorts list results by a certain order. By default, results - * // are returned in alphanumerical order based on the resource name. - * // - * // You can also sort results in descending order based on the creation - * // timestamp using `orderBy="creationTimestamp desc"`. This sorts - * // results based on the `creationTimestamp` field in - * // reverse chronological order (newest result first). Use this to sort - * // resources like operations so that the newest operation is returned first. - * // - * // Currently, only sorting by `name` or - * // `creationTimestamp desc` is supported. - * orderBy: 'placeholder-value', - * // Specifies a page token to use. Set `pageToken` to the - * // `nextPageToken` returned by a previous list request to get - * // the next page of results. - * pageToken: 'placeholder-value', + * const res = await compute.globalAddresses.get({ + * // Name of the address resource to return. + * address: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Opt-in for partial success behavior which provides partial results in case - * // of failure. The default value is false. - * // - * // For example, when partial success behavior is enabled, aggregatedList for a - * // single zone scope either returns all resources in the zone or no resources, - * // with an error code. - * returnPartialSuccess: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { + * // "address": "my_address", + * // "addressType": "my_addressType", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", * // "id": "my_id", - * // "items": [], + * // "ipCollection": "my_ipCollection", + * // "ipVersion": "my_ipVersion", + * // "ipv6EndpointType": "my_ipv6EndpointType", * // "kind": "my_kind", - * // "nextPageToken": "my_nextPageToken", + * // "labelFingerprint": "my_labelFingerprint", + * // "labels": {}, + * // "name": "my_name", + * // "network": "my_network", + * // "networkTier": "my_networkTier", + * // "prefixLength": 0, + * // "purpose": "my_purpose", + * // "region": "my_region", * // "selfLink": "my_selfLink", - * // "warning": {} + * // "selfLinkWithId": "my_selfLinkWithId", + * // "status": "my_status", + * // "subnetwork": "my_subnetwork", + * // "users": [] * // } * } * @@ -77985,53 +77084,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - list( - params: Params$Resource$Globalforwardingrules$List, + get( + params: Params$Resource$Globaladdresses$Get, options: StreamMethodOptions ): Promise>; - list( - params?: Params$Resource$Globalforwardingrules$List, + get( + params?: Params$Resource$Globaladdresses$Get, options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Globalforwardingrules$List, + ): Promise>; + get( + params: Params$Resource$Globaladdresses$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Globalforwardingrules$List, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + get( + params: Params$Resource$Globaladdresses$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Globalforwardingrules$List, - callback: BodyResponseCallback + get( + params: Params$Resource$Globaladdresses$Get, + callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; - list( + get(callback: BodyResponseCallback): void; + get( paramsOrCallback?: - | Params$Resource$Globalforwardingrules$List - | BodyResponseCallback + | Params$Resource$Globaladdresses$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Globalforwardingrules$List; + {}) as Params$Resource$Globaladdresses$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Globalforwardingrules$List; + params = {} as Params$Resource$Globaladdresses$Get; options = {}; } @@ -78046,7 +77145,155 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/forwardingRules' + '/compute/alpha/projects/{project}/global/addresses/{address}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'address'], + pathParams: ['address', 'project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Find owner instance from given ip address + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.globalAddresses.getOwnerInstance({ + * // The VM IP address. + * ipAddress: 'placeholder-value', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "instance": "my_instance" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + getOwnerInstance( + params: Params$Resource$Globaladdresses$Getownerinstance, + options: StreamMethodOptions + ): Promise>; + getOwnerInstance( + params?: Params$Resource$Globaladdresses$Getownerinstance, + options?: MethodOptions + ): Promise>; + getOwnerInstance( + params: Params$Resource$Globaladdresses$Getownerinstance, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getOwnerInstance( + params: Params$Resource$Globaladdresses$Getownerinstance, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getOwnerInstance( + params: Params$Resource$Globaladdresses$Getownerinstance, + callback: BodyResponseCallback + ): void; + getOwnerInstance( + callback: BodyResponseCallback + ): void; + getOwnerInstance( + paramsOrCallback?: + | Params$Resource$Globaladdresses$Getownerinstance + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Globaladdresses$Getownerinstance; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Globaladdresses$Getownerinstance; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/global/addresses/getOwnerInstance' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -78059,21 +77306,18 @@ export namespace compute_alpha { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Updates the specified forwarding rule with the data included in the - * request. This method supportsPATCH - * semantics and uses theJSON merge - * patch format and processing rules. Currently, you can only - * patch the network_tier field. + * Creates an address resource in the specified project by using the data + * included in the request. * @example * ```js * // Before running the sample: @@ -78105,9 +77349,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.globalForwardingRules.patch({ - * // Name of the ForwardingRule resource to patch. - * forwardingRule: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.globalAddresses.insert({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -78130,49 +77372,28 @@ export namespace compute_alpha { * requestBody: { * // request body parameters * // { - * // "IPAddress": "my_IPAddress", - * // "IPAddresses": [], - * // "IPProtocol": "my_IPProtocol", - * // "allPorts": false, - * // "allowGlobalAccess": false, - * // "allowPscGlobalAccess": false, - * // "attachedExtensions": [], - * // "availabilityGroup": "my_availabilityGroup", - * // "backendService": "my_backendService", - * // "baseForwardingRule": "my_baseForwardingRule", - * // "childForwardingRules": [], + * // "address": "my_address", + * // "addressType": "my_addressType", * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", - * // "externalManagedBackendBucketMigrationState": "my_externalManagedBackendBucketMigrationState", - * // "externalManagedBackendBucketMigrationTestingPercentage": {}, - * // "fingerprint": "my_fingerprint", * // "id": "my_id", * // "ipCollection": "my_ipCollection", * // "ipVersion": "my_ipVersion", - * // "isMirroringCollector": false, + * // "ipv6EndpointType": "my_ipv6EndpointType", * // "kind": "my_kind", * // "labelFingerprint": "my_labelFingerprint", * // "labels": {}, - * // "loadBalancingScheme": "my_loadBalancingScheme", - * // "metadataFilters": [], * // "name": "my_name", * // "network": "my_network", * // "networkTier": "my_networkTier", - * // "noAutomateDnsZone": false, - * // "parentForwardingRule": "my_parentForwardingRule", - * // "portRange": "my_portRange", - * // "ports": [], - * // "pscConnectionId": "my_pscConnectionId", - * // "pscConnectionStatus": "my_pscConnectionStatus", + * // "prefixLength": 0, + * // "purpose": "my_purpose", * // "region": "my_region", * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", - * // "serviceDirectoryRegistrations": [], - * // "serviceLabel": "my_serviceLabel", - * // "serviceName": "my_serviceName", - * // "sourceIpRanges": [], + * // "status": "my_status", * // "subnetwork": "my_subnetwork", - * // "target": "my_target" + * // "users": [] * // } * }, * }); @@ -78223,32 +77444,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - patch( - params: Params$Resource$Globalforwardingrules$Patch, + insert( + params: Params$Resource$Globaladdresses$Insert, options: StreamMethodOptions ): Promise>; - patch( - params?: Params$Resource$Globalforwardingrules$Patch, + insert( + params?: Params$Resource$Globaladdresses$Insert, options?: MethodOptions ): Promise>; - patch( - params: Params$Resource$Globalforwardingrules$Patch, + insert( + params: Params$Resource$Globaladdresses$Insert, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Globalforwardingrules$Patch, + insert( + params: Params$Resource$Globaladdresses$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Globalforwardingrules$Patch, + insert( + params: Params$Resource$Globaladdresses$Insert, callback: BodyResponseCallback ): void; - patch(callback: BodyResponseCallback): void; - patch( + insert(callback: BodyResponseCallback): void; + insert( paramsOrCallback?: - | Params$Resource$Globalforwardingrules$Patch + | Params$Resource$Globaladdresses$Insert | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -78264,12 +77485,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Globalforwardingrules$Patch; + {}) as Params$Resource$Globaladdresses$Insert; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Globalforwardingrules$Patch; + params = {} as Params$Resource$Globaladdresses$Insert; options = {}; } @@ -78283,17 +77504,16 @@ export namespace compute_alpha { options: Object.assign( { url: ( - rootUrl + - '/compute/alpha/projects/{project}/global/forwardingRules/{forwardingRule}' + rootUrl + '/compute/alpha/projects/{project}/global/addresses' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project', 'forwardingRule'], - pathParams: ['forwardingRule', 'project'], + requiredParams: ['project'], + pathParams: ['project'], context: this.context, }; if (callback) { @@ -78307,9 +77527,7 @@ export namespace compute_alpha { } /** - * Sets the labels on the specified resource. To learn more about labels, - * read the - * Labeling resources documentation. + * Retrieves a list of global addresses. * @example * ```js * // Before running the sample: @@ -78333,6 +77551,7 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -78341,54 +77560,109 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.globalForwardingRules.setLabels({ + * const res = await compute.globalAddresses.list({ + * // A filter expression that filters resources listed in the response. Most + * // Compute resources support two types of filter expressions: + * // expressions that support regular expressions and expressions that follow + * // API improvement proposal AIP-160. + * // These two types of filter expressions cannot be mixed in one request. + * // + * // If you want to use AIP-160, your expression must specify the field name, an + * // operator, and the value that you want to use for filtering. The value + * // must be a string, a number, or a boolean. The operator + * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * // + * // For example, if you are filtering Compute Engine instances, you can + * // exclude instances named `example-instance` by specifying + * // `name != example-instance`. + * // + * // The `:*` comparison can be used to test whether a key has been defined. + * // For example, to find all objects with `owner` label use: + * // ``` + * // labels.owner:* + * // ``` + * // + * // You can also filter nested fields. For example, you could specify + * // `scheduling.automaticRestart = false` to include instances only + * // if they are not scheduled for automatic restarts. You can use filtering + * // on nested fields to filter based onresource labels. + * // + * // To filter on multiple expressions, provide each separate expression within + * // parentheses. For example: + * // ``` + * // (scheduling.automaticRestart = true) + * // (cpuPlatform = "Intel Skylake") + * // ``` + * // By default, each expression is an `AND` expression. However, you + * // can include `AND` and `OR` expressions explicitly. + * // For example: + * // ``` + * // (cpuPlatform = "Intel Skylake") OR + * // (cpuPlatform = "Intel Broadwell") AND + * // (scheduling.automaticRestart = true) + * // ``` + * // + * // If you want to use a regular expression, use the `eq` (equal) or `ne` + * // (not equal) operator against a single un-parenthesized expression with or + * // without quotes or against multiple parenthesized expressions. Examples: + * // + * // `fieldname eq unquoted literal` + * // `fieldname eq 'single quoted literal'` + * // `fieldname eq "double quoted literal"` + * // `(fieldname1 eq literal) (fieldname2 ne "literal")` + * // + * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * // The literal value must match the entire field. + * // + * // For example, to filter for instances that do not end with name "instance", + * // you would use `name ne .*instance`. + * // + * // You cannot combine constraints on multiple fields using regular + * // expressions. + * filter: 'placeholder-value', + * // The maximum number of results per page that should be returned. + * // If the number of available results is larger than `maxResults`, + * // Compute Engine returns a `nextPageToken` that can be used to get + * // the next page of results in subsequent list requests. Acceptable values are + * // `0` to `500`, inclusive. (Default: `500`) + * maxResults: 'placeholder-value', + * // Sorts list results by a certain order. By default, results + * // are returned in alphanumerical order based on the resource name. + * // + * // You can also sort results in descending order based on the creation + * // timestamp using `orderBy="creationTimestamp desc"`. This sorts + * // results based on the `creationTimestamp` field in + * // reverse chronological order (newest result first). Use this to sort + * // resources like operations so that the newest operation is returned first. + * // + * // Currently, only sorting by `name` or + * // `creationTimestamp desc` is supported. + * orderBy: 'placeholder-value', + * // Specifies a page token to use. Set `pageToken` to the + * // `nextPageToken` returned by a previous list request to get + * // the next page of results. + * pageToken: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name or id of the resource for this request. - * resource: '[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "labelFingerprint": "my_labelFingerprint", - * // "labels": {} - * // } - * }, + * // Opt-in for partial success behavior which provides partial results in case + * // of failure. The default value is false. + * // + * // For example, when partial success behavior is enabled, aggregatedList for a + * // single zone scope either returns all resources in the zone or no resources, + * // with an error code. + * returnPartialSuccess: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, + * // "items": [], * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", + * // "nextPageToken": "my_nextPageToken", * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" + * // "warning": {} * // } * } * @@ -78404,53 +77678,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - setLabels( - params: Params$Resource$Globalforwardingrules$Setlabels, + list( + params: Params$Resource$Globaladdresses$List, options: StreamMethodOptions ): Promise>; - setLabels( - params?: Params$Resource$Globalforwardingrules$Setlabels, + list( + params?: Params$Resource$Globaladdresses$List, options?: MethodOptions - ): Promise>; - setLabels( - params: Params$Resource$Globalforwardingrules$Setlabels, + ): Promise>; + list( + params: Params$Resource$Globaladdresses$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setLabels( - params: Params$Resource$Globalforwardingrules$Setlabels, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + list( + params: Params$Resource$Globaladdresses$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - setLabels( - params: Params$Resource$Globalforwardingrules$Setlabels, - callback: BodyResponseCallback + list( + params: Params$Resource$Globaladdresses$List, + callback: BodyResponseCallback ): void; - setLabels(callback: BodyResponseCallback): void; - setLabels( + list(callback: BodyResponseCallback): void; + list( paramsOrCallback?: - | Params$Resource$Globalforwardingrules$Setlabels - | BodyResponseCallback + | Params$Resource$Globaladdresses$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Globalforwardingrules$Setlabels; + {}) as Params$Resource$Globaladdresses$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Globalforwardingrules$Setlabels; + params = {} as Params$Resource$Globaladdresses$List; options = {}; } @@ -78464,32 +77738,30 @@ export namespace compute_alpha { options: Object.assign( { url: ( - rootUrl + - '/compute/alpha/projects/{project}/global/forwardingRules/{resource}/setLabels' + rootUrl + '/compute/alpha/projects/{project}/global/addresses' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['project', 'resource'], - pathParams: ['project', 'resource'], + requiredParams: ['project'], + pathParams: ['project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Changes target URL for the GlobalForwardingRule resource. The new target - * should be of the same type as the old target. + * Moves the specified address resource from one project to another project. * @example * ```js * // Before running the sample: @@ -78521,10 +77793,10 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.globalForwardingRules.setTarget({ - * // Name of the ForwardingRule resource in which target is to be set. - * forwardingRule: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // Project ID for this request. + * const res = await compute.globalAddresses.move({ + * // Name of the address resource to move. + * address: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // Source project ID which the Address is moved from. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', * // An optional request ID to identify requests. Specify a unique request ID so @@ -78546,7 +77818,8 @@ export namespace compute_alpha { * requestBody: { * // request body parameters * // { - * // "target": "my_target" + * // "description": "my_description", + * // "destinationAddress": "my_destinationAddress" * // } * }, * }); @@ -78597,32 +77870,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - setTarget( - params: Params$Resource$Globalforwardingrules$Settarget, + move( + params: Params$Resource$Globaladdresses$Move, options: StreamMethodOptions ): Promise>; - setTarget( - params?: Params$Resource$Globalforwardingrules$Settarget, + move( + params?: Params$Resource$Globaladdresses$Move, options?: MethodOptions ): Promise>; - setTarget( - params: Params$Resource$Globalforwardingrules$Settarget, + move( + params: Params$Resource$Globaladdresses$Move, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setTarget( - params: Params$Resource$Globalforwardingrules$Settarget, + move( + params: Params$Resource$Globaladdresses$Move, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setTarget( - params: Params$Resource$Globalforwardingrules$Settarget, + move( + params: Params$Resource$Globaladdresses$Move, callback: BodyResponseCallback ): void; - setTarget(callback: BodyResponseCallback): void; - setTarget( + move(callback: BodyResponseCallback): void; + move( paramsOrCallback?: - | Params$Resource$Globalforwardingrules$Settarget + | Params$Resource$Globaladdresses$Move | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -78638,12 +77911,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Globalforwardingrules$Settarget; + {}) as Params$Resource$Globaladdresses$Move; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Globalforwardingrules$Settarget; + params = {} as Params$Resource$Globaladdresses$Move; options = {}; } @@ -78658,7 +77931,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/forwardingRules/{forwardingRule}/setTarget' + '/compute/alpha/projects/{project}/global/addresses/{address}/move' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -78666,8 +77939,188 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'forwardingRule'], - pathParams: ['forwardingRule', 'project'], + requiredParams: ['project', 'address'], + pathParams: ['address', 'project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Sets the labels on a GlobalAddress. To learn more about labels, read theLabeling + * Resources documentation. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.globalAddresses.setLabels({ + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Name or id of the resource for this request. + * resource: '[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "labelFingerprint": "my_labelFingerprint", + * // "labels": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + setLabels( + params: Params$Resource$Globaladdresses$Setlabels, + options: StreamMethodOptions + ): Promise>; + setLabels( + params?: Params$Resource$Globaladdresses$Setlabels, + options?: MethodOptions + ): Promise>; + setLabels( + params: Params$Resource$Globaladdresses$Setlabels, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setLabels( + params: Params$Resource$Globaladdresses$Setlabels, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setLabels( + params: Params$Resource$Globaladdresses$Setlabels, + callback: BodyResponseCallback + ): void; + setLabels(callback: BodyResponseCallback): void; + setLabels( + paramsOrCallback?: + | Params$Resource$Globaladdresses$Setlabels + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Globaladdresses$Setlabels; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Globaladdresses$Setlabels; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/global/addresses/{resource}/setLabels' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], context: this.context, }; if (callback) { @@ -78714,7 +78167,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.globalForwardingRules.testIamPermissions({ + * const res = await compute.globalAddresses.testIamPermissions({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -78750,27 +78203,27 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ testIamPermissions( - params: Params$Resource$Globalforwardingrules$Testiampermissions, + params: Params$Resource$Globaladdresses$Testiampermissions, options: StreamMethodOptions ): Promise>; testIamPermissions( - params?: Params$Resource$Globalforwardingrules$Testiampermissions, + params?: Params$Resource$Globaladdresses$Testiampermissions, options?: MethodOptions ): Promise>; testIamPermissions( - params: Params$Resource$Globalforwardingrules$Testiampermissions, + params: Params$Resource$Globaladdresses$Testiampermissions, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; testIamPermissions( - params: Params$Resource$Globalforwardingrules$Testiampermissions, + params: Params$Resource$Globaladdresses$Testiampermissions, options: | MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; testIamPermissions( - params: Params$Resource$Globalforwardingrules$Testiampermissions, + params: Params$Resource$Globaladdresses$Testiampermissions, callback: BodyResponseCallback ): void; testIamPermissions( @@ -78778,7 +78231,7 @@ export namespace compute_alpha { ): void; testIamPermissions( paramsOrCallback?: - | Params$Resource$Globalforwardingrules$Testiampermissions + | Params$Resource$Globaladdresses$Testiampermissions | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -78794,12 +78247,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Globalforwardingrules$Testiampermissions; + {}) as Params$Resource$Globaladdresses$Testiampermissions; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Globalforwardingrules$Testiampermissions; + params = {} as Params$Resource$Globaladdresses$Testiampermissions; options = {}; } @@ -78814,7 +78267,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/forwardingRules/{resource}/testIamPermissions' + '/compute/alpha/projects/{project}/global/addresses/{resource}/testIamPermissions' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -78837,11 +78290,11 @@ export namespace compute_alpha { } } - export interface Params$Resource$Globalforwardingrules$Delete extends StandardParameters { + export interface Params$Resource$Globaladdresses$Delete extends StandardParameters { /** - * Name of the ForwardingRule resource to delete. + * Name of the address resource to delete. */ - forwardingRule?: string; + address?: string; /** * Project ID for this request. */ @@ -78863,21 +78316,27 @@ export namespace compute_alpha { */ requestId?: string; } - export interface Params$Resource$Globalforwardingrules$Get extends StandardParameters { + export interface Params$Resource$Globaladdresses$Get extends StandardParameters { /** - * Name of the ForwardingRule resource to return. + * Name of the address resource to return. */ - forwardingRule?: string; + address?: string; /** * Project ID for this request. */ project?: string; + } + export interface Params$Resource$Globaladdresses$Getownerinstance extends StandardParameters { /** - * + * The VM IP address. */ - view?: string; + ipAddress?: string; + /** + * Project ID for this request. + */ + project?: string; } - export interface Params$Resource$Globalforwardingrules$Insert extends StandardParameters { + export interface Params$Resource$Globaladdresses$Insert extends StandardParameters { /** * Project ID for this request. */ @@ -78902,9 +78361,9 @@ export namespace compute_alpha { /** * Request body metadata */ - requestBody?: Schema$ForwardingRule; + requestBody?: Schema$Address; } - export interface Params$Resource$Globalforwardingrules$List extends StandardParameters { + export interface Params$Resource$Globaladdresses$List extends StandardParameters { /** * A filter expression that filters resources listed in the response. Most * Compute resources support two types of filter expressions: @@ -79008,13 +78467,13 @@ export namespace compute_alpha { */ returnPartialSuccess?: boolean; } - export interface Params$Resource$Globalforwardingrules$Patch extends StandardParameters { + export interface Params$Resource$Globaladdresses$Move extends StandardParameters { /** - * Name of the ForwardingRule resource to patch. + * Name of the address resource to move. */ - forwardingRule?: string; + address?: string; /** - * Project ID for this request. + * Source project ID which the Address is moved from. */ project?: string; /** @@ -79037,9 +78496,9 @@ export namespace compute_alpha { /** * Request body metadata */ - requestBody?: Schema$ForwardingRule; + requestBody?: Schema$GlobalAddressesMoveRequest; } - export interface Params$Resource$Globalforwardingrules$Setlabels extends StandardParameters { + export interface Params$Resource$Globaladdresses$Setlabels extends StandardParameters { /** * Project ID for this request. */ @@ -79054,38 +78513,7 @@ export namespace compute_alpha { */ requestBody?: Schema$GlobalSetLabelsRequest; } - export interface Params$Resource$Globalforwardingrules$Settarget extends StandardParameters { - /** - * Name of the ForwardingRule resource in which target is to be set. - */ - forwardingRule?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$TargetReference; - } - export interface Params$Resource$Globalforwardingrules$Testiampermissions extends StandardParameters { + export interface Params$Resource$Globaladdresses$Testiampermissions extends StandardParameters { /** * Project ID for this request. */ @@ -79101,14 +78529,14 @@ export namespace compute_alpha { requestBody?: Schema$TestPermissionsRequest; } - export class Resource$Globalnetworkendpointgroups { + export class Resource$Globalfolderoperations { context: APIRequestContext; constructor(context: APIRequestContext) { this.context = context; } /** - * Attach a network endpoint to the specified network endpoint group. + * Retrieves the specified Operations resource. * @example * ```js * // Before running the sample: @@ -79132,6 +78560,7 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -79140,35 +78569,11 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.globalNetworkEndpointGroups.attachNetworkEndpoints({ - * // The name of the network endpoint group where you are attaching network - * // endpoints to. It should comply with RFC1035. - * networkEndpointGroup: 'placeholder-value', - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. - * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "networkEndpoints": [] - * // } - * }, + * const res = await compute.globalFolderOperations.get({ + * // Folder ID for this request. + * folder: 'folders/[0-9]{0,20}', + * // Name of the Operations resource to return. + * operation: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * }); * console.log(res.data); * @@ -79217,34 +78622,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - attachNetworkEndpoints( - params: Params$Resource$Globalnetworkendpointgroups$Attachnetworkendpoints, + get( + params: Params$Resource$Globalfolderoperations$Get, options: StreamMethodOptions ): Promise>; - attachNetworkEndpoints( - params?: Params$Resource$Globalnetworkendpointgroups$Attachnetworkendpoints, + get( + params?: Params$Resource$Globalfolderoperations$Get, options?: MethodOptions ): Promise>; - attachNetworkEndpoints( - params: Params$Resource$Globalnetworkendpointgroups$Attachnetworkendpoints, + get( + params: Params$Resource$Globalfolderoperations$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - attachNetworkEndpoints( - params: Params$Resource$Globalnetworkendpointgroups$Attachnetworkendpoints, + get( + params: Params$Resource$Globalfolderoperations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - attachNetworkEndpoints( - params: Params$Resource$Globalnetworkendpointgroups$Attachnetworkendpoints, - callback: BodyResponseCallback - ): void; - attachNetworkEndpoints( + get( + params: Params$Resource$Globalfolderoperations$Get, callback: BodyResponseCallback ): void; - attachNetworkEndpoints( + get(callback: BodyResponseCallback): void; + get( paramsOrCallback?: - | Params$Resource$Globalnetworkendpointgroups$Attachnetworkendpoints + | Params$Resource$Globalfolderoperations$Get | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -79260,13 +78663,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Globalnetworkendpointgroups$Attachnetworkendpoints; + {}) as Params$Resource$Globalfolderoperations$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Globalnetworkendpointgroups$Attachnetworkendpoints; + params = {} as Params$Resource$Globalfolderoperations$Get; options = {}; } @@ -79280,17 +78682,16 @@ export namespace compute_alpha { options: Object.assign( { url: ( - rootUrl + - '/compute/alpha/projects/{project}/global/networkEndpointGroups/{networkEndpointGroup}/attachNetworkEndpoints' + rootUrl + '/compute/alpha/{+folder}/global/operations/{operation}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['project', 'networkEndpointGroup'], - pathParams: ['networkEndpointGroup', 'project'], + requiredParams: ['folder', 'operation'], + pathParams: ['folder', 'operation'], context: this.context, }; if (callback) { @@ -79304,8 +78705,8 @@ export namespace compute_alpha { } /** - * Deletes the specified network endpoint group.Note that the NEG cannot be - * deleted if there are backend services referencing it. + * Retrieves a list of Operation resources contained within the specified + * folder. * @example * ```js * // Before running the sample: @@ -79329,6 +78730,7 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -79337,60 +78739,108 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.globalNetworkEndpointGroups.delete({ - * // The name of the network endpoint group to delete. It should comply with - * // RFC1035. - * networkEndpointGroup: 'placeholder-value', - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. + * const res = await compute.globalFolderOperations.list({ + * // A filter expression that filters resources listed in the response. Most + * // Compute resources support two types of filter expressions: + * // expressions that support regular expressions and expressions that follow + * // API improvement proposal AIP-160. + * // These two types of filter expressions cannot be mixed in one 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. + * // If you want to use AIP-160, your expression must specify the field name, an + * // operator, and the value that you want to use for filtering. The value + * // must be a string, a number, or a boolean. The operator + * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', + * // For example, if you are filtering Compute Engine instances, you can + * // exclude instances named `example-instance` by specifying + * // `name != example-instance`. + * // + * // The `:*` comparison can be used to test whether a key has been defined. + * // For example, to find all objects with `owner` label use: + * // ``` + * // labels.owner:* + * // ``` + * // + * // You can also filter nested fields. For example, you could specify + * // `scheduling.automaticRestart = false` to include instances only + * // if they are not scheduled for automatic restarts. You can use filtering + * // on nested fields to filter based onresource labels. + * // + * // To filter on multiple expressions, provide each separate expression within + * // parentheses. For example: + * // ``` + * // (scheduling.automaticRestart = true) + * // (cpuPlatform = "Intel Skylake") + * // ``` + * // By default, each expression is an `AND` expression. However, you + * // can include `AND` and `OR` expressions explicitly. + * // For example: + * // ``` + * // (cpuPlatform = "Intel Skylake") OR + * // (cpuPlatform = "Intel Broadwell") AND + * // (scheduling.automaticRestart = true) + * // ``` + * // + * // If you want to use a regular expression, use the `eq` (equal) or `ne` + * // (not equal) operator against a single un-parenthesized expression with or + * // without quotes or against multiple parenthesized expressions. Examples: + * // + * // `fieldname eq unquoted literal` + * // `fieldname eq 'single quoted literal'` + * // `fieldname eq "double quoted literal"` + * // `(fieldname1 eq literal) (fieldname2 ne "literal")` + * // + * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * // The literal value must match the entire field. + * // + * // For example, to filter for instances that do not end with name "instance", + * // you would use `name ne .*instance`. + * // + * // You cannot combine constraints on multiple fields using regular + * // expressions. + * filter: 'placeholder-value', + * // Folder ID for this request. + * folder: 'folders/[0-9]{0,20}', + * // The maximum number of results per page that should be returned. + * // If the number of available results is larger than `maxResults`, + * // Compute Engine returns a `nextPageToken` that can be used to get + * // the next page of results in subsequent list requests. Acceptable values are + * // `0` to `500`, inclusive. (Default: `500`) + * maxResults: 'placeholder-value', + * // Sorts list results by a certain order. By default, results + * // are returned in alphanumerical order based on the resource name. + * // + * // You can also sort results in descending order based on the creation + * // timestamp using `orderBy="creationTimestamp desc"`. This sorts + * // results based on the `creationTimestamp` field in + * // reverse chronological order (newest result first). Use this to sort + * // resources like operations so that the newest operation is returned first. + * // + * // Currently, only sorting by `name` or + * // `creationTimestamp desc` is supported. + * orderBy: 'placeholder-value', + * // Specifies a page token to use. Set `pageToken` to the + * // `nextPageToken` returned by a previous list request to get + * // the next page of results. + * pageToken: 'placeholder-value', + * // Opt-in for partial success behavior which provides partial results in case + * // of failure. The default value is false. + * // + * // For example, when partial success behavior is enabled, aggregatedList for a + * // single zone scope either returns all resources in the zone or no resources, + * // with an error code. + * returnPartialSuccess: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, + * // "items": [], * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", + * // "nextPageToken": "my_nextPageToken", * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" + * // "warning": {} * // } * } * @@ -79406,53 +78856,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - delete( - params: Params$Resource$Globalnetworkendpointgroups$Delete, + list( + params: Params$Resource$Globalfolderoperations$List, options: StreamMethodOptions ): Promise>; - delete( - params?: Params$Resource$Globalnetworkendpointgroups$Delete, + list( + params?: Params$Resource$Globalfolderoperations$List, options?: MethodOptions - ): Promise>; - delete( - params: Params$Resource$Globalnetworkendpointgroups$Delete, + ): Promise>; + list( + params: Params$Resource$Globalfolderoperations$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Globalnetworkendpointgroups$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + list( + params: Params$Resource$Globalfolderoperations$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Globalnetworkendpointgroups$Delete, - callback: BodyResponseCallback + list( + params: Params$Resource$Globalfolderoperations$List, + callback: BodyResponseCallback ): void; - delete(callback: BodyResponseCallback): void; - delete( + list(callback: BodyResponseCallback): void; + list( paramsOrCallback?: - | Params$Resource$Globalnetworkendpointgroups$Delete - | BodyResponseCallback + | Params$Resource$Globalfolderoperations$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Globalnetworkendpointgroups$Delete; + {}) as Params$Resource$Globalfolderoperations$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Globalnetworkendpointgroups$Delete; + params = {} as Params$Resource$Globalfolderoperations$List; options = {}; } @@ -79466,31 +78916,152 @@ export namespace compute_alpha { options: Object.assign( { url: ( - rootUrl + - '/compute/alpha/projects/{project}/global/networkEndpointGroups/{networkEndpointGroup}' + rootUrl + '/compute/alpha/{+folder}/global/operations' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['project', 'networkEndpointGroup'], - pathParams: ['networkEndpointGroup', 'project'], + requiredParams: ['folder'], + pathParams: ['folder'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } + } + export interface Params$Resource$Globalfolderoperations$Get extends StandardParameters { /** - * Detach the network endpoint from the specified network endpoint group. + * Folder ID for this request. + */ + folder?: string; + /** + * Name of the Operations resource to return. + */ + operation?: string; + } + export interface Params$Resource$Globalfolderoperations$List extends StandardParameters { + /** + * A filter expression that filters resources listed in the response. Most + * Compute resources support two types of filter expressions: + * expressions that support regular expressions and expressions that follow + * API improvement proposal AIP-160. + * These two types of filter expressions cannot be mixed in one request. + * + * If you want to use AIP-160, your expression must specify the field name, an + * operator, and the value that you want to use for filtering. The value + * must be a string, a number, or a boolean. The operator + * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * + * For example, if you are filtering Compute Engine instances, you can + * exclude instances named `example-instance` by specifying + * `name != example-instance`. + * + * The `:*` comparison can be used to test whether a key has been defined. + * For example, to find all objects with `owner` label use: + * ``` + * labels.owner:* + * ``` + * + * You can also filter nested fields. For example, you could specify + * `scheduling.automaticRestart = false` to include instances only + * if they are not scheduled for automatic restarts. You can use filtering + * on nested fields to filter based onresource labels. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example: + * ``` + * (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake") + * ``` + * By default, each expression is an `AND` expression. However, you + * can include `AND` and `OR` expressions explicitly. + * For example: + * ``` + * (cpuPlatform = "Intel Skylake") OR + * (cpuPlatform = "Intel Broadwell") AND + * (scheduling.automaticRestart = true) + * ``` + * + * If you want to use a regular expression, use the `eq` (equal) or `ne` + * (not equal) operator against a single un-parenthesized expression with or + * without quotes or against multiple parenthesized expressions. Examples: + * + * `fieldname eq unquoted literal` + * `fieldname eq 'single quoted literal'` + * `fieldname eq "double quoted literal"` + * `(fieldname1 eq literal) (fieldname2 ne "literal")` + * + * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * The literal value must match the entire field. + * + * For example, to filter for instances that do not end with name "instance", + * you would use `name ne .*instance`. + * + * You cannot combine constraints on multiple fields using regular + * expressions. + */ + filter?: string; + /** + * Folder ID for this request. + */ + folder?: string; + /** + * The maximum number of results per page that should be returned. + * If the number of available results is larger than `maxResults`, + * Compute Engine returns a `nextPageToken` that can be used to get + * the next page of results in subsequent list requests. Acceptable values are + * `0` to `500`, inclusive. (Default: `500`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results + * are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation + * timestamp using `orderBy="creationTimestamp desc"`. This sorts + * results based on the `creationTimestamp` field in + * reverse chronological order (newest result first). Use this to sort + * resources like operations so that the newest operation is returned first. + * + * Currently, only sorting by `name` or + * `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the + * `nextPageToken` returned by a previous list request to get + * the next page of results. + */ + pageToken?: string; + /** + * Opt-in for partial success behavior which provides partial results in case + * of failure. The default value is false. + * + * For example, when partial success behavior is enabled, aggregatedList for a + * single zone scope either returns all resources in the zone or no resources, + * with an error code. + */ + returnPartialSuccess?: boolean; + } + + export class Resource$Globalforwardingrules { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Deletes the specified GlobalForwardingRule resource. * @example * ```js * // Before running the sample: @@ -79522,10 +79093,9 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.globalNetworkEndpointGroups.detachNetworkEndpoints({ - * // The name of the network endpoint group where you are removing network - * // endpoints. It should comply with RFC1035. - * networkEndpointGroup: 'placeholder-value', + * const res = await compute.globalForwardingRules.delete({ + * // Name of the ForwardingRule resource to delete. + * forwardingRule: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -79543,14 +79113,6 @@ export namespace compute_alpha { * // a valid UUID with the exception that zero UUID is not supported * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "networkEndpoints": [] - * // } - * }, * }); * console.log(res.data); * @@ -79599,34 +79161,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - detachNetworkEndpoints( - params: Params$Resource$Globalnetworkendpointgroups$Detachnetworkendpoints, + delete( + params: Params$Resource$Globalforwardingrules$Delete, options: StreamMethodOptions ): Promise>; - detachNetworkEndpoints( - params?: Params$Resource$Globalnetworkendpointgroups$Detachnetworkendpoints, + delete( + params?: Params$Resource$Globalforwardingrules$Delete, options?: MethodOptions ): Promise>; - detachNetworkEndpoints( - params: Params$Resource$Globalnetworkendpointgroups$Detachnetworkendpoints, + delete( + params: Params$Resource$Globalforwardingrules$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - detachNetworkEndpoints( - params: Params$Resource$Globalnetworkendpointgroups$Detachnetworkendpoints, + delete( + params: Params$Resource$Globalforwardingrules$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - detachNetworkEndpoints( - params: Params$Resource$Globalnetworkendpointgroups$Detachnetworkendpoints, - callback: BodyResponseCallback - ): void; - detachNetworkEndpoints( + delete( + params: Params$Resource$Globalforwardingrules$Delete, callback: BodyResponseCallback ): void; - detachNetworkEndpoints( + delete(callback: BodyResponseCallback): void; + delete( paramsOrCallback?: - | Params$Resource$Globalnetworkendpointgroups$Detachnetworkendpoints + | Params$Resource$Globalforwardingrules$Delete | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -79642,13 +79202,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Globalnetworkendpointgroups$Detachnetworkendpoints; + {}) as Params$Resource$Globalforwardingrules$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Globalnetworkendpointgroups$Detachnetworkendpoints; + params = {} as Params$Resource$Globalforwardingrules$Delete; options = {}; } @@ -79663,16 +79222,16 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/networkEndpointGroups/{networkEndpointGroup}/detachNetworkEndpoints' + '/compute/alpha/projects/{project}/global/forwardingRules/{forwardingRule}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'DELETE', apiVersion: '', }, options ), params, - requiredParams: ['project', 'networkEndpointGroup'], - pathParams: ['networkEndpointGroup', 'project'], + requiredParams: ['project', 'forwardingRule'], + pathParams: ['forwardingRule', 'project'], context: this.context, }; if (callback) { @@ -79686,7 +79245,8 @@ export namespace compute_alpha { } /** - * Returns the specified network endpoint group. + * Returns the specified GlobalForwardingRule resource. Gets a list of + * available forwarding rules by making a list() request. * @example * ```js * // Before running the sample: @@ -79719,40 +79279,62 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.globalNetworkEndpointGroups.get({ - * // The name of the network endpoint group. It should comply with RFC1035. - * networkEndpointGroup: 'placeholder-value', + * const res = await compute.globalForwardingRules.get({ + * // Name of the ForwardingRule resource to return. + * forwardingRule: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * + * view: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { - * // "annotations": {}, - * // "appEngine": {}, - * // "cloudFunction": {}, - * // "cloudRun": {}, + * // "IPAddress": "my_IPAddress", + * // "IPAddresses": [], + * // "IPProtocol": "my_IPProtocol", + * // "allPorts": false, + * // "allowGlobalAccess": false, + * // "allowPscGlobalAccess": false, + * // "attachedExtensions": [], + * // "availabilityGroup": "my_availabilityGroup", + * // "backendService": "my_backendService", + * // "baseForwardingRule": "my_baseForwardingRule", + * // "childForwardingRules": [], * // "creationTimestamp": "my_creationTimestamp", - * // "defaultPort": 0, * // "description": "my_description", + * // "externalManagedBackendBucketMigrationState": "my_externalManagedBackendBucketMigrationState", + * // "externalManagedBackendBucketMigrationTestingPercentage": {}, + * // "fingerprint": "my_fingerprint", * // "id": "my_id", + * // "ipCollection": "my_ipCollection", + * // "ipVersion": "my_ipVersion", + * // "isMirroringCollector": false, * // "kind": "my_kind", - * // "loadBalancer": {}, + * // "labelFingerprint": "my_labelFingerprint", + * // "labels": {}, + * // "loadBalancingScheme": "my_loadBalancingScheme", + * // "metadataFilters": [], * // "name": "my_name", * // "network": "my_network", - * // "networkEndpointType": "my_networkEndpointType", - * // "pscData": {}, - * // "pscTargetService": "my_pscTargetService", + * // "networkTier": "my_networkTier", + * // "noAutomateDnsZone": false, + * // "parentForwardingRule": "my_parentForwardingRule", + * // "portRange": "my_portRange", + * // "ports": [], + * // "pscConnectionId": "my_pscConnectionId", + * // "pscConnectionStatus": "my_pscConnectionStatus", * // "region": "my_region", * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", - * // "serverlessDeployment": {}, - * // "size": 0, + * // "serviceDirectoryRegistrations": [], + * // "serviceLabel": "my_serviceLabel", + * // "serviceName": "my_serviceName", + * // "sourceIpRanges": [], * // "subnetwork": "my_subnetwork", - * // "type": "my_type", - * // "zone": "my_zone" + * // "target": "my_target" * // } * } * @@ -79769,54 +79351,52 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ get( - params: Params$Resource$Globalnetworkendpointgroups$Get, + params: Params$Resource$Globalforwardingrules$Get, options: StreamMethodOptions ): Promise>; get( - params?: Params$Resource$Globalnetworkendpointgroups$Get, + params?: Params$Resource$Globalforwardingrules$Get, options?: MethodOptions - ): Promise>; + ): Promise>; get( - params: Params$Resource$Globalnetworkendpointgroups$Get, + params: Params$Resource$Globalforwardingrules$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; get( - params: Params$Resource$Globalnetworkendpointgroups$Get, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + params: Params$Resource$Globalforwardingrules$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; get( - params: Params$Resource$Globalnetworkendpointgroups$Get, - callback: BodyResponseCallback + params: Params$Resource$Globalforwardingrules$Get, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; get( paramsOrCallback?: - | Params$Resource$Globalnetworkendpointgroups$Get - | BodyResponseCallback + | Params$Resource$Globalforwardingrules$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Globalnetworkendpointgroups$Get; + {}) as Params$Resource$Globalforwardingrules$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Globalnetworkendpointgroups$Get; + params = {} as Params$Resource$Globalforwardingrules$Get; options = {}; } @@ -79831,7 +79411,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/networkEndpointGroups/{networkEndpointGroup}' + '/compute/alpha/projects/{project}/global/forwardingRules/{forwardingRule}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -79839,37 +79419,23 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'networkEndpointGroup'], - pathParams: ['networkEndpointGroup', 'project'], + requiredParams: ['project', 'forwardingRule'], + pathParams: ['forwardingRule', 'project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Creates a network endpoint group in the specified project using the - * parameters that are included in the request. - * - * Note: Use the following APIs to manage network endpoint groups: - * - * - - * To manage NEGs with zonal scope (such as zonal NEGs, hybrid connectivity - * NEGs): zonal - * API - * - - * To manage NEGs with regional scope (such as regional internet NEGs, - * serverless NEGs, Private Service Connect NEGs): regional - * API - * - - * To manage NEGs with global scope (such as global internet NEGs):global - * API + * Creates a GlobalForwardingRule resource in the specified project using + * the data included in the request. * @example * ```js * // Before running the sample: @@ -79901,7 +79467,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.globalNetworkEndpointGroups.insert({ + * const res = await compute.globalForwardingRules.insert({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -79924,29 +79490,49 @@ export namespace compute_alpha { * requestBody: { * // request body parameters * // { - * // "annotations": {}, - * // "appEngine": {}, - * // "cloudFunction": {}, - * // "cloudRun": {}, + * // "IPAddress": "my_IPAddress", + * // "IPAddresses": [], + * // "IPProtocol": "my_IPProtocol", + * // "allPorts": false, + * // "allowGlobalAccess": false, + * // "allowPscGlobalAccess": false, + * // "attachedExtensions": [], + * // "availabilityGroup": "my_availabilityGroup", + * // "backendService": "my_backendService", + * // "baseForwardingRule": "my_baseForwardingRule", + * // "childForwardingRules": [], * // "creationTimestamp": "my_creationTimestamp", - * // "defaultPort": 0, * // "description": "my_description", + * // "externalManagedBackendBucketMigrationState": "my_externalManagedBackendBucketMigrationState", + * // "externalManagedBackendBucketMigrationTestingPercentage": {}, + * // "fingerprint": "my_fingerprint", * // "id": "my_id", + * // "ipCollection": "my_ipCollection", + * // "ipVersion": "my_ipVersion", + * // "isMirroringCollector": false, * // "kind": "my_kind", - * // "loadBalancer": {}, + * // "labelFingerprint": "my_labelFingerprint", + * // "labels": {}, + * // "loadBalancingScheme": "my_loadBalancingScheme", + * // "metadataFilters": [], * // "name": "my_name", * // "network": "my_network", - * // "networkEndpointType": "my_networkEndpointType", - * // "pscData": {}, - * // "pscTargetService": "my_pscTargetService", + * // "networkTier": "my_networkTier", + * // "noAutomateDnsZone": false, + * // "parentForwardingRule": "my_parentForwardingRule", + * // "portRange": "my_portRange", + * // "ports": [], + * // "pscConnectionId": "my_pscConnectionId", + * // "pscConnectionStatus": "my_pscConnectionStatus", * // "region": "my_region", * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", - * // "serverlessDeployment": {}, - * // "size": 0, + * // "serviceDirectoryRegistrations": [], + * // "serviceLabel": "my_serviceLabel", + * // "serviceName": "my_serviceName", + * // "sourceIpRanges": [], * // "subnetwork": "my_subnetwork", - * // "type": "my_type", - * // "zone": "my_zone" + * // "target": "my_target" * // } * }, * }); @@ -79998,31 +79584,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ insert( - params: Params$Resource$Globalnetworkendpointgroups$Insert, + params: Params$Resource$Globalforwardingrules$Insert, options: StreamMethodOptions ): Promise>; insert( - params?: Params$Resource$Globalnetworkendpointgroups$Insert, + params?: Params$Resource$Globalforwardingrules$Insert, options?: MethodOptions ): Promise>; insert( - params: Params$Resource$Globalnetworkendpointgroups$Insert, + params: Params$Resource$Globalforwardingrules$Insert, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; insert( - params: Params$Resource$Globalnetworkendpointgroups$Insert, + params: Params$Resource$Globalforwardingrules$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; insert( - params: Params$Resource$Globalnetworkendpointgroups$Insert, + params: Params$Resource$Globalforwardingrules$Insert, callback: BodyResponseCallback ): void; insert(callback: BodyResponseCallback): void; insert( paramsOrCallback?: - | Params$Resource$Globalnetworkendpointgroups$Insert + | Params$Resource$Globalforwardingrules$Insert | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -80038,12 +79624,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Globalnetworkendpointgroups$Insert; + {}) as Params$Resource$Globalforwardingrules$Insert; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Globalnetworkendpointgroups$Insert; + params = {} as Params$Resource$Globalforwardingrules$Insert; options = {}; } @@ -80058,7 +79644,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/networkEndpointGroups' + '/compute/alpha/projects/{project}/global/forwardingRules' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -80081,7 +79667,7 @@ export namespace compute_alpha { } /** - * Retrieves the list of network endpoint groups that are located in the + * Retrieves a list of GlobalForwardingRule resources available to the * specified project. * @example * ```js @@ -80115,7 +79701,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.globalNetworkEndpointGroups.list({ + * const res = await compute.globalForwardingRules.list({ * // A filter expression that filters resources listed in the response. Most * // Compute resources support two types of filter expressions: * // expressions that support regular expressions and expressions that follow @@ -80234,54 +79820,52 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ list( - params: Params$Resource$Globalnetworkendpointgroups$List, + params: Params$Resource$Globalforwardingrules$List, options: StreamMethodOptions ): Promise>; list( - params?: Params$Resource$Globalnetworkendpointgroups$List, + params?: Params$Resource$Globalforwardingrules$List, options?: MethodOptions - ): Promise>; + ): Promise>; list( - params: Params$Resource$Globalnetworkendpointgroups$List, + params: Params$Resource$Globalforwardingrules$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; list( - params: Params$Resource$Globalnetworkendpointgroups$List, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + params: Params$Resource$Globalforwardingrules$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; list( - params: Params$Resource$Globalnetworkendpointgroups$List, - callback: BodyResponseCallback + params: Params$Resource$Globalforwardingrules$List, + callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; list( paramsOrCallback?: - | Params$Resource$Globalnetworkendpointgroups$List - | BodyResponseCallback + | Params$Resource$Globalforwardingrules$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Globalnetworkendpointgroups$List; + {}) as Params$Resource$Globalforwardingrules$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Globalnetworkendpointgroups$List; + params = {} as Params$Resource$Globalforwardingrules$List; options = {}; } @@ -80296,7 +79880,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/networkEndpointGroups' + '/compute/alpha/projects/{project}/global/forwardingRules' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -80309,17 +79893,21 @@ export namespace compute_alpha { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Lists the network endpoints in the specified network endpoint group. + * Updates the specified forwarding rule with the data included in the + * request. This method supportsPATCH + * semantics and uses theJSON merge + * patch format and processing rules. Currently, you can only + * patch the network_tier field. * @example * ```js * // Before running the sample: @@ -80343,7 +79931,6 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -80352,111 +79939,109 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.globalNetworkEndpointGroups.listNetworkEndpoints({ - * // A filter expression that filters resources listed in the response. Most - * // Compute resources support two types of filter expressions: - * // expressions that support regular expressions and expressions that follow - * // API improvement proposal AIP-160. - * // These two types of filter expressions cannot be mixed in one request. - * // - * // If you want to use AIP-160, your expression must specify the field name, an - * // operator, and the value that you want to use for filtering. The value - * // must be a string, a number, or a boolean. The operator - * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * // - * // For example, if you are filtering Compute Engine instances, you can - * // exclude instances named `example-instance` by specifying - * // `name != example-instance`. - * // - * // The `:*` comparison can be used to test whether a key has been defined. - * // For example, to find all objects with `owner` label use: - * // ``` - * // labels.owner:* - * // ``` - * // - * // You can also filter nested fields. For example, you could specify - * // `scheduling.automaticRestart = false` to include instances only - * // if they are not scheduled for automatic restarts. You can use filtering - * // on nested fields to filter based onresource labels. - * // - * // To filter on multiple expressions, provide each separate expression within - * // parentheses. For example: - * // ``` - * // (scheduling.automaticRestart = true) - * // (cpuPlatform = "Intel Skylake") - * // ``` - * // By default, each expression is an `AND` expression. However, you - * // can include `AND` and `OR` expressions explicitly. - * // For example: - * // ``` - * // (cpuPlatform = "Intel Skylake") OR - * // (cpuPlatform = "Intel Broadwell") AND - * // (scheduling.automaticRestart = true) - * // ``` - * // - * // If you want to use a regular expression, use the `eq` (equal) or `ne` - * // (not equal) operator against a single un-parenthesized expression with or - * // without quotes or against multiple parenthesized expressions. Examples: - * // - * // `fieldname eq unquoted literal` - * // `fieldname eq 'single quoted literal'` - * // `fieldname eq "double quoted literal"` - * // `(fieldname1 eq literal) (fieldname2 ne "literal")` - * // - * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * // The literal value must match the entire field. - * // - * // For example, to filter for instances that do not end with name "instance", - * // you would use `name ne .*instance`. - * // - * // You cannot combine constraints on multiple fields using regular - * // expressions. - * filter: 'placeholder-value', - * // The maximum number of results per page that should be returned. - * // If the number of available results is larger than `maxResults`, - * // Compute Engine returns a `nextPageToken` that can be used to get - * // the next page of results in subsequent list requests. Acceptable values are - * // `0` to `500`, inclusive. (Default: `500`) - * maxResults: 'placeholder-value', - * // The name of the network endpoint group from which you want to generate a - * // list of included network endpoints. It should comply with RFC1035. - * networkEndpointGroup: 'placeholder-value', - * // Sorts list results by a certain order. By default, results - * // are returned in alphanumerical order based on the resource name. - * // - * // You can also sort results in descending order based on the creation - * // timestamp using `orderBy="creationTimestamp desc"`. This sorts - * // results based on the `creationTimestamp` field in - * // reverse chronological order (newest result first). Use this to sort - * // resources like operations so that the newest operation is returned first. - * // - * // Currently, only sorting by `name` or - * // `creationTimestamp desc` is supported. - * orderBy: 'placeholder-value', - * // Specifies a page token to use. Set `pageToken` to the - * // `nextPageToken` returned by a previous list request to get - * // the next page of results. - * pageToken: 'placeholder-value', + * const res = await compute.globalForwardingRules.patch({ + * // Name of the ForwardingRule resource to patch. + * forwardingRule: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Opt-in for partial success behavior which provides partial results in case - * // of failure. The default value is false. + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. * // - * // For example, when partial success behavior is enabled, aggregatedList for a - * // single zone scope either returns all resources in the zone or no resources, - * // with an error code. - * returnPartialSuccess: 'placeholder-value', + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "IPAddress": "my_IPAddress", + * // "IPAddresses": [], + * // "IPProtocol": "my_IPProtocol", + * // "allPorts": false, + * // "allowGlobalAccess": false, + * // "allowPscGlobalAccess": false, + * // "attachedExtensions": [], + * // "availabilityGroup": "my_availabilityGroup", + * // "backendService": "my_backendService", + * // "baseForwardingRule": "my_baseForwardingRule", + * // "childForwardingRules": [], + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "externalManagedBackendBucketMigrationState": "my_externalManagedBackendBucketMigrationState", + * // "externalManagedBackendBucketMigrationTestingPercentage": {}, + * // "fingerprint": "my_fingerprint", + * // "id": "my_id", + * // "ipCollection": "my_ipCollection", + * // "ipVersion": "my_ipVersion", + * // "isMirroringCollector": false, + * // "kind": "my_kind", + * // "labelFingerprint": "my_labelFingerprint", + * // "labels": {}, + * // "loadBalancingScheme": "my_loadBalancingScheme", + * // "metadataFilters": [], + * // "name": "my_name", + * // "network": "my_network", + * // "networkTier": "my_networkTier", + * // "noAutomateDnsZone": false, + * // "parentForwardingRule": "my_parentForwardingRule", + * // "portRange": "my_portRange", + * // "ports": [], + * // "pscConnectionId": "my_pscConnectionId", + * // "pscConnectionStatus": "my_pscConnectionStatus", + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "serviceDirectoryRegistrations": [], + * // "serviceLabel": "my_serviceLabel", + * // "serviceName": "my_serviceName", + * // "sourceIpRanges": [], + * // "subnetwork": "my_subnetwork", + * // "target": "my_target" + * // } + * }, * }); * console.log(res.data); * * // Example response * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, * // "id": "my_id", - * // "items": [], + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, * // "kind": "my_kind", - * // "nextPageToken": "my_nextPageToken", - * // "warning": {} + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" * // } * } * @@ -80472,62 +80057,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - listNetworkEndpoints( - params: Params$Resource$Globalnetworkendpointgroups$Listnetworkendpoints, + patch( + params: Params$Resource$Globalforwardingrules$Patch, options: StreamMethodOptions ): Promise>; - listNetworkEndpoints( - params?: Params$Resource$Globalnetworkendpointgroups$Listnetworkendpoints, + patch( + params?: Params$Resource$Globalforwardingrules$Patch, options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; - listNetworkEndpoints( - params: Params$Resource$Globalnetworkendpointgroups$Listnetworkendpoints, + ): Promise>; + patch( + params: Params$Resource$Globalforwardingrules$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - listNetworkEndpoints( - params: Params$Resource$Globalnetworkendpointgroups$Listnetworkendpoints, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - listNetworkEndpoints( - params: Params$Resource$Globalnetworkendpointgroups$Listnetworkendpoints, - callback: BodyResponseCallback + patch( + params: Params$Resource$Globalforwardingrules$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - listNetworkEndpoints( - callback: BodyResponseCallback + patch( + params: Params$Resource$Globalforwardingrules$Patch, + callback: BodyResponseCallback ): void; - listNetworkEndpoints( + patch(callback: BodyResponseCallback): void; + patch( paramsOrCallback?: - | Params$Resource$Globalnetworkendpointgroups$Listnetworkendpoints - | BodyResponseCallback + | Params$Resource$Globalforwardingrules$Patch + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise< - GaxiosResponseWithHTTP2 - > + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Globalnetworkendpointgroups$Listnetworkendpoints; + {}) as Params$Resource$Globalforwardingrules$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Globalnetworkendpointgroups$Listnetworkendpoints; + params = {} as Params$Resource$Globalforwardingrules$Patch; options = {}; } @@ -80542,384 +80118,32 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/networkEndpointGroups/{networkEndpointGroup}/listNetworkEndpoints' + '/compute/alpha/projects/{project}/global/forwardingRules/{forwardingRule}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'PATCH', apiVersion: '', }, options ), params, - requiredParams: ['project', 'networkEndpointGroup'], - pathParams: ['networkEndpointGroup', 'project'], + requiredParams: ['project', 'forwardingRule'], + pathParams: ['forwardingRule', 'project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } - } - - export interface Params$Resource$Globalnetworkendpointgroups$Attachnetworkendpoints extends StandardParameters { - /** - * The name of the network endpoint group where you are attaching network - * endpoints to. It should comply with RFC1035. - */ - networkEndpointGroup?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$GlobalNetworkEndpointGroupsAttachEndpointsRequest; - } - export interface Params$Resource$Globalnetworkendpointgroups$Delete extends StandardParameters { - /** - * The name of the network endpoint group to delete. It should comply with - * RFC1035. - */ - networkEndpointGroup?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - } - export interface Params$Resource$Globalnetworkendpointgroups$Detachnetworkendpoints extends StandardParameters { - /** - * The name of the network endpoint group where you are removing network - * endpoints. It should comply with RFC1035. - */ - networkEndpointGroup?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$GlobalNetworkEndpointGroupsDetachEndpointsRequest; - } - export interface Params$Resource$Globalnetworkendpointgroups$Get extends StandardParameters { - /** - * The name of the network endpoint group. It should comply with RFC1035. - */ - networkEndpointGroup?: string; - /** - * Project ID for this request. - */ - project?: string; - } - export interface Params$Resource$Globalnetworkendpointgroups$Insert extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$NetworkEndpointGroup; - } - export interface Params$Resource$Globalnetworkendpointgroups$List extends StandardParameters { - /** - * A filter expression that filters resources listed in the response. Most - * Compute resources support two types of filter expressions: - * expressions that support regular expressions and expressions that follow - * API improvement proposal AIP-160. - * These two types of filter expressions cannot be mixed in one request. - * - * If you want to use AIP-160, your expression must specify the field name, an - * operator, and the value that you want to use for filtering. The value - * must be a string, a number, or a boolean. The operator - * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * - * For example, if you are filtering Compute Engine instances, you can - * exclude instances named `example-instance` by specifying - * `name != example-instance`. - * - * The `:*` comparison can be used to test whether a key has been defined. - * For example, to find all objects with `owner` label use: - * ``` - * labels.owner:* - * ``` - * - * You can also filter nested fields. For example, you could specify - * `scheduling.automaticRestart = false` to include instances only - * if they are not scheduled for automatic restarts. You can use filtering - * on nested fields to filter based onresource labels. - * - * To filter on multiple expressions, provide each separate expression within - * parentheses. For example: - * ``` - * (scheduling.automaticRestart = true) - * (cpuPlatform = "Intel Skylake") - * ``` - * By default, each expression is an `AND` expression. However, you - * can include `AND` and `OR` expressions explicitly. - * For example: - * ``` - * (cpuPlatform = "Intel Skylake") OR - * (cpuPlatform = "Intel Broadwell") AND - * (scheduling.automaticRestart = true) - * ``` - * - * If you want to use a regular expression, use the `eq` (equal) or `ne` - * (not equal) operator against a single un-parenthesized expression with or - * without quotes or against multiple parenthesized expressions. Examples: - * - * `fieldname eq unquoted literal` - * `fieldname eq 'single quoted literal'` - * `fieldname eq "double quoted literal"` - * `(fieldname1 eq literal) (fieldname2 ne "literal")` - * - * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * The literal value must match the entire field. - * - * For example, to filter for instances that do not end with name "instance", - * you would use `name ne .*instance`. - * - * You cannot combine constraints on multiple fields using regular - * expressions. - */ - filter?: string; - /** - * The maximum number of results per page that should be returned. - * If the number of available results is larger than `maxResults`, - * Compute Engine returns a `nextPageToken` that can be used to get - * the next page of results in subsequent list requests. Acceptable values are - * `0` to `500`, inclusive. (Default: `500`) - */ - maxResults?: number; - /** - * Sorts list results by a certain order. By default, results - * are returned in alphanumerical order based on the resource name. - * - * You can also sort results in descending order based on the creation - * timestamp using `orderBy="creationTimestamp desc"`. This sorts - * results based on the `creationTimestamp` field in - * reverse chronological order (newest result first). Use this to sort - * resources like operations so that the newest operation is returned first. - * - * Currently, only sorting by `name` or - * `creationTimestamp desc` is supported. - */ - orderBy?: string; - /** - * Specifies a page token to use. Set `pageToken` to the - * `nextPageToken` returned by a previous list request to get - * the next page of results. - */ - pageToken?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * Opt-in for partial success behavior which provides partial results in case - * of failure. The default value is false. - * - * For example, when partial success behavior is enabled, aggregatedList for a - * single zone scope either returns all resources in the zone or no resources, - * with an error code. - */ - returnPartialSuccess?: boolean; - } - export interface Params$Resource$Globalnetworkendpointgroups$Listnetworkendpoints extends StandardParameters { - /** - * A filter expression that filters resources listed in the response. Most - * Compute resources support two types of filter expressions: - * expressions that support regular expressions and expressions that follow - * API improvement proposal AIP-160. - * These two types of filter expressions cannot be mixed in one request. - * - * If you want to use AIP-160, your expression must specify the field name, an - * operator, and the value that you want to use for filtering. The value - * must be a string, a number, or a boolean. The operator - * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * - * For example, if you are filtering Compute Engine instances, you can - * exclude instances named `example-instance` by specifying - * `name != example-instance`. - * - * The `:*` comparison can be used to test whether a key has been defined. - * For example, to find all objects with `owner` label use: - * ``` - * labels.owner:* - * ``` - * - * You can also filter nested fields. For example, you could specify - * `scheduling.automaticRestart = false` to include instances only - * if they are not scheduled for automatic restarts. You can use filtering - * on nested fields to filter based onresource labels. - * - * To filter on multiple expressions, provide each separate expression within - * parentheses. For example: - * ``` - * (scheduling.automaticRestart = true) - * (cpuPlatform = "Intel Skylake") - * ``` - * By default, each expression is an `AND` expression. However, you - * can include `AND` and `OR` expressions explicitly. - * For example: - * ``` - * (cpuPlatform = "Intel Skylake") OR - * (cpuPlatform = "Intel Broadwell") AND - * (scheduling.automaticRestart = true) - * ``` - * - * If you want to use a regular expression, use the `eq` (equal) or `ne` - * (not equal) operator against a single un-parenthesized expression with or - * without quotes or against multiple parenthesized expressions. Examples: - * - * `fieldname eq unquoted literal` - * `fieldname eq 'single quoted literal'` - * `fieldname eq "double quoted literal"` - * `(fieldname1 eq literal) (fieldname2 ne "literal")` - * - * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * The literal value must match the entire field. - * - * For example, to filter for instances that do not end with name "instance", - * you would use `name ne .*instance`. - * - * You cannot combine constraints on multiple fields using regular - * expressions. - */ - filter?: string; - /** - * The maximum number of results per page that should be returned. - * If the number of available results is larger than `maxResults`, - * Compute Engine returns a `nextPageToken` that can be used to get - * the next page of results in subsequent list requests. Acceptable values are - * `0` to `500`, inclusive. (Default: `500`) - */ - maxResults?: number; - /** - * The name of the network endpoint group from which you want to generate a - * list of included network endpoints. It should comply with RFC1035. - */ - networkEndpointGroup?: string; - /** - * Sorts list results by a certain order. By default, results - * are returned in alphanumerical order based on the resource name. - * - * You can also sort results in descending order based on the creation - * timestamp using `orderBy="creationTimestamp desc"`. This sorts - * results based on the `creationTimestamp` field in - * reverse chronological order (newest result first). Use this to sort - * resources like operations so that the newest operation is returned first. - * - * Currently, only sorting by `name` or - * `creationTimestamp desc` is supported. - */ - orderBy?: string; - /** - * Specifies a page token to use. Set `pageToken` to the - * `nextPageToken` returned by a previous list request to get - * the next page of results. - */ - pageToken?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * Opt-in for partial success behavior which provides partial results in case - * of failure. The default value is false. - * - * For example, when partial success behavior is enabled, aggregatedList for a - * single zone scope either returns all resources in the zone or no resources, - * with an error code. - */ - returnPartialSuccess?: boolean; - } - - export class Resource$Globaloperations { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } /** - * Retrieves an aggregated list of all operations. - * - * To prevent failure, Google recommends that you set the - * `returnPartialSuccess` parameter to `true`. + * Sets the labels on the specified resource. To learn more about labels, + * read the + * Labeling resources documentation. * @example * ```js * // Before running the sample: @@ -80943,7 +80167,6 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -80952,121 +80175,54 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.globalOperations.aggregatedList({ - * // A filter expression that filters resources listed in the response. Most - * // Compute resources support two types of filter expressions: - * // expressions that support regular expressions and expressions that follow - * // API improvement proposal AIP-160. - * // These two types of filter expressions cannot be mixed in one request. - * // - * // If you want to use AIP-160, your expression must specify the field name, an - * // operator, and the value that you want to use for filtering. The value - * // must be a string, a number, or a boolean. The operator - * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * // - * // For example, if you are filtering Compute Engine instances, you can - * // exclude instances named `example-instance` by specifying - * // `name != example-instance`. - * // - * // The `:*` comparison can be used to test whether a key has been defined. - * // For example, to find all objects with `owner` label use: - * // ``` - * // labels.owner:* - * // ``` - * // - * // You can also filter nested fields. For example, you could specify - * // `scheduling.automaticRestart = false` to include instances only - * // if they are not scheduled for automatic restarts. You can use filtering - * // on nested fields to filter based onresource labels. - * // - * // To filter on multiple expressions, provide each separate expression within - * // parentheses. For example: - * // ``` - * // (scheduling.automaticRestart = true) - * // (cpuPlatform = "Intel Skylake") - * // ``` - * // By default, each expression is an `AND` expression. However, you - * // can include `AND` and `OR` expressions explicitly. - * // For example: - * // ``` - * // (cpuPlatform = "Intel Skylake") OR - * // (cpuPlatform = "Intel Broadwell") AND - * // (scheduling.automaticRestart = true) - * // ``` - * // - * // If you want to use a regular expression, use the `eq` (equal) or `ne` - * // (not equal) operator against a single un-parenthesized expression with or - * // without quotes or against multiple parenthesized expressions. Examples: - * // - * // `fieldname eq unquoted literal` - * // `fieldname eq 'single quoted literal'` - * // `fieldname eq "double quoted literal"` - * // `(fieldname1 eq literal) (fieldname2 ne "literal")` - * // - * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * // The literal value must match the entire field. - * // - * // For example, to filter for instances that do not end with name "instance", - * // you would use `name ne .*instance`. - * // - * // You cannot combine constraints on multiple fields using regular - * // expressions. - * filter: 'placeholder-value', - * // 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. - * includeAllScopes: 'placeholder-value', - * // The maximum number of results per page that should be returned. - * // If the number of available results is larger than `maxResults`, - * // Compute Engine returns a `nextPageToken` that can be used to get - * // the next page of results in subsequent list requests. Acceptable values are - * // `0` to `500`, inclusive. (Default: `500`) - * maxResults: 'placeholder-value', - * // Sorts list results by a certain order. By default, results - * // are returned in alphanumerical order based on the resource name. - * // - * // You can also sort results in descending order based on the creation - * // timestamp using `orderBy="creationTimestamp desc"`. This sorts - * // results based on the `creationTimestamp` field in - * // reverse chronological order (newest result first). Use this to sort - * // resources like operations so that the newest operation is returned first. - * // - * // Currently, only sorting by `name` or - * // `creationTimestamp desc` is supported. - * orderBy: 'placeholder-value', - * // Specifies a page token to use. Set `pageToken` to the - * // `nextPageToken` returned by a previous list request to get - * // the next page of results. - * pageToken: 'placeholder-value', + * const res = await compute.globalForwardingRules.setLabels({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Opt-in for partial success behavior which provides partial results in case - * // of failure. The default value is false. - * // - * // For example, when partial success behavior is enabled, aggregatedList for a - * // single zone scope either returns all resources in the zone or no resources, - * // with an error code. - * returnPartialSuccess: 'placeholder-value', - * // The Shared VPC service project id or service project number for which - * // aggregated list request is invoked for subnetworks list-usable api. - * serviceProjectNumber: 'placeholder-value', + * // Name or id of the resource for this request. + * resource: '[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "labelFingerprint": "my_labelFingerprint", + * // "labels": {} + * // } + * }, * }); * console.log(res.data); * * // Example response * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, * // "id": "my_id", - * // "items": {}, + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, * // "kind": "my_kind", - * // "nextPageToken": "my_nextPageToken", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", * // "selfLink": "my_selfLink", - * // "unreachables": [], - * // "warning": {} + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" * // } * } * @@ -81082,57 +80238,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - aggregatedList( - params: Params$Resource$Globaloperations$Aggregatedlist, + setLabels( + params: Params$Resource$Globalforwardingrules$Setlabels, options: StreamMethodOptions ): Promise>; - aggregatedList( - params?: Params$Resource$Globaloperations$Aggregatedlist, + setLabels( + params?: Params$Resource$Globalforwardingrules$Setlabels, options?: MethodOptions - ): Promise>; - aggregatedList( - params: Params$Resource$Globaloperations$Aggregatedlist, + ): Promise>; + setLabels( + params: Params$Resource$Globalforwardingrules$Setlabels, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - aggregatedList( - params: Params$Resource$Globaloperations$Aggregatedlist, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - aggregatedList( - params: Params$Resource$Globaloperations$Aggregatedlist, - callback: BodyResponseCallback + setLabels( + params: Params$Resource$Globalforwardingrules$Setlabels, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - aggregatedList( - callback: BodyResponseCallback + setLabels( + params: Params$Resource$Globalforwardingrules$Setlabels, + callback: BodyResponseCallback ): void; - aggregatedList( + setLabels(callback: BodyResponseCallback): void; + setLabels( paramsOrCallback?: - | Params$Resource$Globaloperations$Aggregatedlist - | BodyResponseCallback + | Params$Resource$Globalforwardingrules$Setlabels + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Globaloperations$Aggregatedlist; + {}) as Params$Resource$Globalforwardingrules$Setlabels; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Globaloperations$Aggregatedlist; + params = {} as Params$Resource$Globalforwardingrules$Setlabels; options = {}; } @@ -81147,30 +80299,31 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/aggregated/operations' + '/compute/alpha/projects/{project}/global/forwardingRules/{resource}/setLabels' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project'], - pathParams: ['project'], + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Deletes the specified Operations resource. + * Changes target URL for the GlobalForwardingRule resource. The new target + * should be of the same type as the old target. * @example * ```js * // Before running the sample: @@ -81202,15 +80355,68 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.globalOperations.delete({ - * // Name of the Operations resource to delete, or its unique numeric - * // identifier. - * operation: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.globalForwardingRules.setTarget({ + * // Name of the ForwardingRule resource in which target is to be set. + * forwardingRule: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "target": "my_target" + * // } + * }, * }); * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } * } * * main().catch(e => { @@ -81225,51 +80431,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - delete( - params: Params$Resource$Globaloperations$Delete, + setTarget( + params: Params$Resource$Globalforwardingrules$Settarget, options: StreamMethodOptions ): Promise>; - delete( - params?: Params$Resource$Globaloperations$Delete, + setTarget( + params?: Params$Resource$Globalforwardingrules$Settarget, options?: MethodOptions - ): Promise>; - delete( - params: Params$Resource$Globaloperations$Delete, + ): Promise>; + setTarget( + params: Params$Resource$Globalforwardingrules$Settarget, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Globaloperations$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + setTarget( + params: Params$Resource$Globalforwardingrules$Settarget, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Globaloperations$Delete, - callback: BodyResponseCallback + setTarget( + params: Params$Resource$Globalforwardingrules$Settarget, + callback: BodyResponseCallback ): void; - delete(callback: BodyResponseCallback): void; - delete( + setTarget(callback: BodyResponseCallback): void; + setTarget( paramsOrCallback?: - | Params$Resource$Globaloperations$Delete - | BodyResponseCallback + | Params$Resource$Globalforwardingrules$Settarget + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, - callback?: BodyResponseCallback | BodyResponseCallback + callback?: + | BodyResponseCallback + | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Globaloperations$Delete; + {}) as Params$Resource$Globalforwardingrules$Settarget; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Globaloperations$Delete; + params = {} as Params$Resource$Globalforwardingrules$Settarget; options = {}; } @@ -81284,30 +80492,30 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/operations/{operation}' + '/compute/alpha/projects/{project}/global/forwardingRules/{forwardingRule}/setTarget' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project', 'operation'], - pathParams: ['operation', 'project'], + requiredParams: ['project', 'forwardingRule'], + pathParams: ['forwardingRule', 'project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Retrieves the specified Operations resource. + * Returns permissions that a caller has on the specified resource. * @example * ```js * // Before running the sample: @@ -81340,46 +80548,26 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.globalOperations.get({ - * // Name of the Operations resource to return, or its unique numeric - * // identifier. - * operation: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.globalForwardingRules.testIamPermissions({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Name or id of the resource for this request. + * resource: '[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "permissions": [] + * // } + * }, * }); * console.log(res.data); * * // Example response * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, - * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, - * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" + * // "permissions": [] * // } * } * @@ -81395,53 +80583,57 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - get( - params: Params$Resource$Globaloperations$Get, + testIamPermissions( + params: Params$Resource$Globalforwardingrules$Testiampermissions, options: StreamMethodOptions ): Promise>; - get( - params?: Params$Resource$Globaloperations$Get, + testIamPermissions( + params?: Params$Resource$Globalforwardingrules$Testiampermissions, options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Globaloperations$Get, + ): Promise>; + testIamPermissions( + params: Params$Resource$Globalforwardingrules$Testiampermissions, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Globaloperations$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + testIamPermissions( + params: Params$Resource$Globalforwardingrules$Testiampermissions, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Globaloperations$Get, - callback: BodyResponseCallback + testIamPermissions( + params: Params$Resource$Globalforwardingrules$Testiampermissions, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; - get( + testIamPermissions( + callback: BodyResponseCallback + ): void; + testIamPermissions( paramsOrCallback?: - | Params$Resource$Globaloperations$Get - | BodyResponseCallback + | Params$Resource$Globalforwardingrules$Testiampermissions + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Globaloperations$Get; + {}) as Params$Resource$Globalforwardingrules$Testiampermissions; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Globaloperations$Get; + params = {} as Params$Resource$Globalforwardingrules$Testiampermissions; options = {}; } @@ -81456,452 +80648,97 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/operations/{operation}' + '/compute/alpha/projects/{project}/global/forwardingRules/{resource}/testIamPermissions' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project', 'operation'], - pathParams: ['operation', 'project'], + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } + } + export interface Params$Resource$Globalforwardingrules$Delete extends StandardParameters { /** - * Retrieves a list of Operation resources contained within the specified - * project. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/compute.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const compute = google.compute('alpha'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/cloud-platform', - * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await compute.globalOperations.list({ - * // A filter expression that filters resources listed in the response. Most - * // Compute resources support two types of filter expressions: - * // expressions that support regular expressions and expressions that follow - * // API improvement proposal AIP-160. - * // These two types of filter expressions cannot be mixed in one request. - * // - * // If you want to use AIP-160, your expression must specify the field name, an - * // operator, and the value that you want to use for filtering. The value - * // must be a string, a number, or a boolean. The operator - * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * // - * // For example, if you are filtering Compute Engine instances, you can - * // exclude instances named `example-instance` by specifying - * // `name != example-instance`. - * // - * // The `:*` comparison can be used to test whether a key has been defined. - * // For example, to find all objects with `owner` label use: - * // ``` - * // labels.owner:* - * // ``` - * // - * // You can also filter nested fields. For example, you could specify - * // `scheduling.automaticRestart = false` to include instances only - * // if they are not scheduled for automatic restarts. You can use filtering - * // on nested fields to filter based onresource labels. - * // - * // To filter on multiple expressions, provide each separate expression within - * // parentheses. For example: - * // ``` - * // (scheduling.automaticRestart = true) - * // (cpuPlatform = "Intel Skylake") - * // ``` - * // By default, each expression is an `AND` expression. However, you - * // can include `AND` and `OR` expressions explicitly. - * // For example: - * // ``` - * // (cpuPlatform = "Intel Skylake") OR - * // (cpuPlatform = "Intel Broadwell") AND - * // (scheduling.automaticRestart = true) - * // ``` - * // - * // If you want to use a regular expression, use the `eq` (equal) or `ne` - * // (not equal) operator against a single un-parenthesized expression with or - * // without quotes or against multiple parenthesized expressions. Examples: - * // - * // `fieldname eq unquoted literal` - * // `fieldname eq 'single quoted literal'` - * // `fieldname eq "double quoted literal"` - * // `(fieldname1 eq literal) (fieldname2 ne "literal")` - * // - * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * // The literal value must match the entire field. - * // - * // For example, to filter for instances that do not end with name "instance", - * // you would use `name ne .*instance`. - * // - * // You cannot combine constraints on multiple fields using regular - * // expressions. - * filter: 'placeholder-value', - * // The maximum number of results per page that should be returned. - * // If the number of available results is larger than `maxResults`, - * // Compute Engine returns a `nextPageToken` that can be used to get - * // the next page of results in subsequent list requests. Acceptable values are - * // `0` to `500`, inclusive. (Default: `500`) - * maxResults: 'placeholder-value', - * // Sorts list results by a certain order. By default, results - * // are returned in alphanumerical order based on the resource name. - * // - * // You can also sort results in descending order based on the creation - * // timestamp using `orderBy="creationTimestamp desc"`. This sorts - * // results based on the `creationTimestamp` field in - * // reverse chronological order (newest result first). Use this to sort - * // resources like operations so that the newest operation is returned first. - * // - * // Currently, only sorting by `name` or - * // `creationTimestamp desc` is supported. - * orderBy: 'placeholder-value', - * // Specifies a page token to use. Set `pageToken` to the - * // `nextPageToken` returned by a previous list request to get - * // the next page of results. - * pageToken: 'placeholder-value', - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Opt-in for partial success behavior which provides partial results in case - * // of failure. The default value is false. - * // - * // For example, when partial success behavior is enabled, aggregatedList for a - * // single zone scope either returns all resources in the zone or no resources, - * // with an error code. - * returnPartialSuccess: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "id": "my_id", - * // "items": [], - * // "kind": "my_kind", - * // "nextPageToken": "my_nextPageToken", - * // "selfLink": "my_selfLink", - * // "warning": {} - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. + * Name of the ForwardingRule resource to delete. */ - list( - params: Params$Resource$Globaloperations$List, - options: StreamMethodOptions - ): Promise>; - list( - params?: Params$Resource$Globaloperations$List, - options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Globaloperations$List, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Globaloperations$List, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Globaloperations$List, - callback: BodyResponseCallback - ): void; - list(callback: BodyResponseCallback): void; - list( - paramsOrCallback?: - | Params$Resource$Globaloperations$List - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Globaloperations$List; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Globaloperations$List; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/compute/alpha/projects/{project}/global/operations' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['project'], - pathParams: ['project'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - + forwardingRule?: string; /** - * 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`. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/compute.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const compute = google.compute('alpha'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/cloud-platform', - * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. * - * // Do the magic - * const res = await compute.globalOperations.wait({ - * // Name of the Operations resource to return, or its unique numeric - * // identifier. - * operation: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * }); - * console.log(res.data); + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. * - * // Example response - * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, - * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, - * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" - * // } - * } + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + export interface Params$Resource$Globalforwardingrules$Get extends StandardParameters { + /** + * Name of the ForwardingRule resource to return. + */ + forwardingRule?: string; + /** + * Project ID for this request. + */ + project?: string; + /** * - * main().catch(e => { - * console.error(e); - * throw e; - * }); + */ + view?: string; + } + export interface Params$Resource$Globalforwardingrules$Insert extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. * - * ``` + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). */ - wait( - params: Params$Resource$Globaloperations$Wait, - options: StreamMethodOptions - ): Promise>; - wait( - params?: Params$Resource$Globaloperations$Wait, - options?: MethodOptions - ): Promise>; - wait( - params: Params$Resource$Globaloperations$Wait, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - wait( - params: Params$Resource$Globaloperations$Wait, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - wait( - params: Params$Resource$Globaloperations$Wait, - callback: BodyResponseCallback - ): void; - wait(callback: BodyResponseCallback): void; - wait( - paramsOrCallback?: - | Params$Resource$Globaloperations$Wait - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Globaloperations$Wait; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Globaloperations$Wait; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } + requestId?: string; - const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/compute/alpha/projects/{project}/global/operations/{operation}/wait' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['project', 'operation'], - pathParams: ['operation', 'project'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } + /** + * Request body metadata + */ + requestBody?: Schema$ForwardingRule; } - - export interface Params$Resource$Globaloperations$Aggregatedlist extends StandardParameters { + export interface Params$Resource$Globalforwardingrules$List extends StandardParameters { /** * A filter expression that filters resources listed in the response. Most * Compute resources support two types of filter expressions: @@ -81963,16 +80800,6 @@ export namespace compute_alpha { * expressions. */ filter?: string; - /** - * 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. - */ - includeAllScopes?: boolean; /** * The maximum number of results per page that should be returned. * If the number of available results is larger than `maxResults`, @@ -82014,158 +80841,108 @@ export namespace compute_alpha { * with an error code. */ returnPartialSuccess?: boolean; - /** - * The Shared VPC service project id or service project number for which - * aggregated list request is invoked for subnetworks list-usable api. - */ - serviceProjectNumber?: string; } - export interface Params$Resource$Globaloperations$Delete extends StandardParameters { + export interface Params$Resource$Globalforwardingrules$Patch extends StandardParameters { /** - * Name of the Operations resource to delete, or its unique numeric - * identifier. + * Name of the ForwardingRule resource to patch. */ - operation?: string; + forwardingRule?: string; /** * Project ID for this request. */ project?: string; - } - export interface Params$Resource$Globaloperations$Get extends StandardParameters { /** - * Name of the Operations resource to return, or its unique numeric - * identifier. + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). */ - operation?: string; + requestId?: string; + /** - * Project ID for this request. + * Request body metadata */ - project?: string; + requestBody?: Schema$ForwardingRule; } - export interface Params$Resource$Globaloperations$List extends StandardParameters { + export interface Params$Resource$Globalforwardingrules$Setlabels extends StandardParameters { /** - * A filter expression that filters resources listed in the response. Most - * Compute resources support two types of filter expressions: - * expressions that support regular expressions and expressions that follow - * API improvement proposal AIP-160. - * These two types of filter expressions cannot be mixed in one request. - * - * If you want to use AIP-160, your expression must specify the field name, an - * operator, and the value that you want to use for filtering. The value - * must be a string, a number, or a boolean. The operator - * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * - * For example, if you are filtering Compute Engine instances, you can - * exclude instances named `example-instance` by specifying - * `name != example-instance`. - * - * The `:*` comparison can be used to test whether a key has been defined. - * For example, to find all objects with `owner` label use: - * ``` - * labels.owner:* - * ``` - * - * You can also filter nested fields. For example, you could specify - * `scheduling.automaticRestart = false` to include instances only - * if they are not scheduled for automatic restarts. You can use filtering - * on nested fields to filter based onresource labels. - * - * To filter on multiple expressions, provide each separate expression within - * parentheses. For example: - * ``` - * (scheduling.automaticRestart = true) - * (cpuPlatform = "Intel Skylake") - * ``` - * By default, each expression is an `AND` expression. However, you - * can include `AND` and `OR` expressions explicitly. - * For example: - * ``` - * (cpuPlatform = "Intel Skylake") OR - * (cpuPlatform = "Intel Broadwell") AND - * (scheduling.automaticRestart = true) - * ``` - * - * If you want to use a regular expression, use the `eq` (equal) or `ne` - * (not equal) operator against a single un-parenthesized expression with or - * without quotes or against multiple parenthesized expressions. Examples: - * - * `fieldname eq unquoted literal` - * `fieldname eq 'single quoted literal'` - * `fieldname eq "double quoted literal"` - * `(fieldname1 eq literal) (fieldname2 ne "literal")` - * - * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * The literal value must match the entire field. - * - * For example, to filter for instances that do not end with name "instance", - * you would use `name ne .*instance`. - * - * You cannot combine constraints on multiple fields using regular - * expressions. + * Project ID for this request. */ - filter?: string; + project?: string; /** - * The maximum number of results per page that should be returned. - * If the number of available results is larger than `maxResults`, - * Compute Engine returns a `nextPageToken` that can be used to get - * the next page of results in subsequent list requests. Acceptable values are - * `0` to `500`, inclusive. (Default: `500`) + * Name or id of the resource for this request. */ - maxResults?: number; + resource?: string; + /** - * Sorts list results by a certain order. By default, results - * are returned in alphanumerical order based on the resource name. - * - * You can also sort results in descending order based on the creation - * timestamp using `orderBy="creationTimestamp desc"`. This sorts - * results based on the `creationTimestamp` field in - * reverse chronological order (newest result first). Use this to sort - * resources like operations so that the newest operation is returned first. - * - * Currently, only sorting by `name` or - * `creationTimestamp desc` is supported. + * Request body metadata */ - orderBy?: string; + requestBody?: Schema$GlobalSetLabelsRequest; + } + export interface Params$Resource$Globalforwardingrules$Settarget extends StandardParameters { /** - * Specifies a page token to use. Set `pageToken` to the - * `nextPageToken` returned by a previous list request to get - * the next page of results. + * Name of the ForwardingRule resource in which target is to be set. */ - pageToken?: string; + forwardingRule?: string; /** * Project ID for this request. */ project?: string; /** - * Opt-in for partial success behavior which provides partial results in case - * of failure. The default value is false. + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. * - * For example, when partial success behavior is enabled, aggregatedList for a - * single zone scope either returns all resources in the zone or no resources, - * with an error code. + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). */ - returnPartialSuccess?: boolean; - } - export interface Params$Resource$Globaloperations$Wait extends StandardParameters { + requestId?: string; + /** - * Name of the Operations resource to return, or its unique numeric - * identifier. + * Request body metadata */ - operation?: string; + requestBody?: Schema$TargetReference; + } + export interface Params$Resource$Globalforwardingrules$Testiampermissions extends StandardParameters { /** * Project ID for this request. */ project?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; } - export class Resource$Globalorganizationoperations { + export class Resource$Globalnetworkendpointgroups { context: APIRequestContext; constructor(context: APIRequestContext) { this.context = context; } /** - * Deletes the specified Operations resource. + * Attach a network endpoint to the specified network endpoint group. * @example * ```js * // Before running the sample: @@ -82197,14 +80974,69 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.globalOrganizationOperations.delete({ - * // Name of the Operations resource to delete, or its unique numeric - * // identifier. - * operation: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // Parent ID for this request. - * parentId: 'placeholder-value', + * const res = await compute.globalNetworkEndpointGroups.attachNetworkEndpoints({ + * // The name of the network endpoint group where you are attaching network + * // endpoints to. It should comply with RFC1035. + * networkEndpointGroup: 'placeholder-value', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "networkEndpoints": [] + * // } + * }, * }); * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } * } * * main().catch(e => { @@ -82219,51 +81051,56 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - delete( - params: Params$Resource$Globalorganizationoperations$Delete, + attachNetworkEndpoints( + params: Params$Resource$Globalnetworkendpointgroups$Attachnetworkendpoints, options: StreamMethodOptions ): Promise>; - delete( - params?: Params$Resource$Globalorganizationoperations$Delete, + attachNetworkEndpoints( + params?: Params$Resource$Globalnetworkendpointgroups$Attachnetworkendpoints, options?: MethodOptions - ): Promise>; - delete( - params: Params$Resource$Globalorganizationoperations$Delete, + ): Promise>; + attachNetworkEndpoints( + params: Params$Resource$Globalnetworkendpointgroups$Attachnetworkendpoints, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Globalorganizationoperations$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + attachNetworkEndpoints( + params: Params$Resource$Globalnetworkendpointgroups$Attachnetworkendpoints, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Globalorganizationoperations$Delete, - callback: BodyResponseCallback + attachNetworkEndpoints( + params: Params$Resource$Globalnetworkendpointgroups$Attachnetworkendpoints, + callback: BodyResponseCallback ): void; - delete(callback: BodyResponseCallback): void; - delete( + attachNetworkEndpoints( + callback: BodyResponseCallback + ): void; + attachNetworkEndpoints( paramsOrCallback?: - | Params$Resource$Globalorganizationoperations$Delete - | BodyResponseCallback + | Params$Resource$Globalnetworkendpointgroups$Attachnetworkendpoints + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, - callback?: BodyResponseCallback | BodyResponseCallback + callback?: + | BodyResponseCallback + | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Globalorganizationoperations$Delete; + {}) as Params$Resource$Globalnetworkendpointgroups$Attachnetworkendpoints; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Globalorganizationoperations$Delete; + params = + {} as Params$Resource$Globalnetworkendpointgroups$Attachnetworkendpoints; options = {}; } @@ -82277,31 +81114,32 @@ export namespace compute_alpha { options: Object.assign( { url: ( - rootUrl + '/compute/alpha/locations/global/operations/{operation}' + rootUrl + + '/compute/alpha/projects/{project}/global/networkEndpointGroups/{networkEndpointGroup}/attachNetworkEndpoints' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['operation'], - pathParams: ['operation'], + requiredParams: ['project', 'networkEndpointGroup'], + pathParams: ['networkEndpointGroup', 'project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Retrieves the specified Operations resource. Gets a list of operations - * by making a `list()` request. + * Deletes the specified network endpoint group.Note that the NEG cannot be + * deleted if there are backend services referencing it. * @example * ```js * // Before running the sample: @@ -82325,7 +81163,6 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -82334,12 +81171,27 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.globalOrganizationOperations.get({ - * // Name of the Operations resource to return. Parent is derived from this - * // field. - * operation: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // Parent ID for this request. Not used. Parent is derived from resource_id. - * parentId: 'placeholder-value', + * const res = await compute.globalNetworkEndpointGroups.delete({ + * // The name of the network endpoint group to delete. It should comply with + * // RFC1035. + * networkEndpointGroup: 'placeholder-value', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', * }); * console.log(res.data); * @@ -82388,32 +81240,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - get( - params: Params$Resource$Globalorganizationoperations$Get, + delete( + params: Params$Resource$Globalnetworkendpointgroups$Delete, options: StreamMethodOptions ): Promise>; - get( - params?: Params$Resource$Globalorganizationoperations$Get, + delete( + params?: Params$Resource$Globalnetworkendpointgroups$Delete, options?: MethodOptions ): Promise>; - get( - params: Params$Resource$Globalorganizationoperations$Get, + delete( + params: Params$Resource$Globalnetworkendpointgroups$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Globalorganizationoperations$Get, + delete( + params: Params$Resource$Globalnetworkendpointgroups$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Globalorganizationoperations$Get, + delete( + params: Params$Resource$Globalnetworkendpointgroups$Delete, callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; - get( + delete(callback: BodyResponseCallback): void; + delete( paramsOrCallback?: - | Params$Resource$Globalorganizationoperations$Get + | Params$Resource$Globalnetworkendpointgroups$Delete | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -82429,12 +81281,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Globalorganizationoperations$Get; + {}) as Params$Resource$Globalnetworkendpointgroups$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Globalorganizationoperations$Get; + params = {} as Params$Resource$Globalnetworkendpointgroups$Delete; options = {}; } @@ -82448,16 +81300,17 @@ export namespace compute_alpha { options: Object.assign( { url: ( - rootUrl + '/compute/alpha/locations/global/operations/{operation}' + rootUrl + + '/compute/alpha/projects/{project}/global/networkEndpointGroups/{networkEndpointGroup}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'DELETE', apiVersion: '', }, options ), params, - requiredParams: ['operation'], - pathParams: ['operation'], + requiredParams: ['project', 'networkEndpointGroup'], + pathParams: ['networkEndpointGroup', 'project'], context: this.context, }; if (callback) { @@ -82471,8 +81324,7 @@ export namespace compute_alpha { } /** - * Retrieves a list of Operation resources contained within the specified - * organization. + * Detach the network endpoint from the specified network endpoint group. * @example * ```js * // Before running the sample: @@ -82496,7 +81348,6 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -82505,108 +81356,68 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.globalOrganizationOperations.list({ - * // A filter expression that filters resources listed in the response. Most - * // Compute resources support two types of filter expressions: - * // expressions that support regular expressions and expressions that follow - * // API improvement proposal AIP-160. - * // These two types of filter expressions cannot be mixed in one request. - * // - * // If you want to use AIP-160, your expression must specify the field name, an - * // operator, and the value that you want to use for filtering. The value - * // must be a string, a number, or a boolean. The operator - * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * // - * // For example, if you are filtering Compute Engine instances, you can - * // exclude instances named `example-instance` by specifying - * // `name != example-instance`. - * // - * // The `:*` comparison can be used to test whether a key has been defined. - * // For example, to find all objects with `owner` label use: - * // ``` - * // labels.owner:* - * // ``` - * // - * // You can also filter nested fields. For example, you could specify - * // `scheduling.automaticRestart = false` to include instances only - * // if they are not scheduled for automatic restarts. You can use filtering - * // on nested fields to filter based onresource labels. - * // - * // To filter on multiple expressions, provide each separate expression within - * // parentheses. For example: - * // ``` - * // (scheduling.automaticRestart = true) - * // (cpuPlatform = "Intel Skylake") - * // ``` - * // By default, each expression is an `AND` expression. However, you - * // can include `AND` and `OR` expressions explicitly. - * // For example: - * // ``` - * // (cpuPlatform = "Intel Skylake") OR - * // (cpuPlatform = "Intel Broadwell") AND - * // (scheduling.automaticRestart = true) - * // ``` - * // - * // If you want to use a regular expression, use the `eq` (equal) or `ne` - * // (not equal) operator against a single un-parenthesized expression with or - * // without quotes or against multiple parenthesized expressions. Examples: - * // - * // `fieldname eq unquoted literal` - * // `fieldname eq 'single quoted literal'` - * // `fieldname eq "double quoted literal"` - * // `(fieldname1 eq literal) (fieldname2 ne "literal")` - * // - * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * // The literal value must match the entire field. - * // - * // For example, to filter for instances that do not end with name "instance", - * // you would use `name ne .*instance`. - * // - * // You cannot combine constraints on multiple fields using regular - * // expressions. - * filter: 'placeholder-value', - * // The maximum number of results per page that should be returned. - * // If the number of available results is larger than `maxResults`, - * // Compute Engine returns a `nextPageToken` that can be used to get - * // the next page of results in subsequent list requests. Acceptable values are - * // `0` to `500`, inclusive. (Default: `500`) - * maxResults: 'placeholder-value', - * // Sorts list results by a certain order. By default, results - * // are returned in alphanumerical order based on the resource name. - * // - * // You can also sort results in descending order based on the creation - * // timestamp using `orderBy="creationTimestamp desc"`. This sorts - * // results based on the `creationTimestamp` field in - * // reverse chronological order (newest result first). Use this to sort - * // resources like operations so that the newest operation is returned first. + * const res = await compute.globalNetworkEndpointGroups.detachNetworkEndpoints({ + * // The name of the network endpoint group where you are removing network + * // endpoints. It should comply with RFC1035. + * networkEndpointGroup: 'placeholder-value', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. * // - * // Currently, only sorting by `name` or - * // `creationTimestamp desc` is supported. - * orderBy: 'placeholder-value', - * // Specifies a page token to use. Set `pageToken` to the - * // `nextPageToken` returned by a previous list request to get - * // the next page of results. - * pageToken: 'placeholder-value', - * // Parent ID for this request. - * parentId: 'placeholder-value', - * // Opt-in for partial success behavior which provides partial results in case - * // of failure. The default value is false. + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. * // - * // For example, when partial success behavior is enabled, aggregatedList for a - * // single zone scope either returns all resources in the zone or no resources, - * // with an error code. - * returnPartialSuccess: 'placeholder-value', + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "networkEndpoints": [] + * // } + * }, * }); * console.log(res.data); * * // Example response * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, * // "id": "my_id", - * // "items": [], + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, * // "kind": "my_kind", - * // "nextPageToken": "my_nextPageToken", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", * // "selfLink": "my_selfLink", - * // "warning": {} + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" * // } * } * @@ -82622,349 +81433,34 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - list( - params: Params$Resource$Globalorganizationoperations$List, + detachNetworkEndpoints( + params: Params$Resource$Globalnetworkendpointgroups$Detachnetworkendpoints, options: StreamMethodOptions ): Promise>; - list( - params?: Params$Resource$Globalorganizationoperations$List, - options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Globalorganizationoperations$List, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Globalorganizationoperations$List, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Globalorganizationoperations$List, - callback: BodyResponseCallback - ): void; - list(callback: BodyResponseCallback): void; - list( - paramsOrCallback?: - | Params$Resource$Globalorganizationoperations$List - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Globalorganizationoperations$List; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Globalorganizationoperations$List; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/compute/alpha/locations/global/operations' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: [], - pathParams: [], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Globalorganizationoperations$Delete extends StandardParameters { - /** - * Name of the Operations resource to delete, or its unique numeric - * identifier. - */ - operation?: string; - /** - * Parent ID for this request. - */ - parentId?: string; - } - export interface Params$Resource$Globalorganizationoperations$Get extends StandardParameters { - /** - * Name of the Operations resource to return. Parent is derived from this - * field. - */ - operation?: string; - /** - * Parent ID for this request. Not used. Parent is derived from resource_id. - */ - parentId?: string; - } - export interface Params$Resource$Globalorganizationoperations$List extends StandardParameters { - /** - * A filter expression that filters resources listed in the response. Most - * Compute resources support two types of filter expressions: - * expressions that support regular expressions and expressions that follow - * API improvement proposal AIP-160. - * These two types of filter expressions cannot be mixed in one request. - * - * If you want to use AIP-160, your expression must specify the field name, an - * operator, and the value that you want to use for filtering. The value - * must be a string, a number, or a boolean. The operator - * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * - * For example, if you are filtering Compute Engine instances, you can - * exclude instances named `example-instance` by specifying - * `name != example-instance`. - * - * The `:*` comparison can be used to test whether a key has been defined. - * For example, to find all objects with `owner` label use: - * ``` - * labels.owner:* - * ``` - * - * You can also filter nested fields. For example, you could specify - * `scheduling.automaticRestart = false` to include instances only - * if they are not scheduled for automatic restarts. You can use filtering - * on nested fields to filter based onresource labels. - * - * To filter on multiple expressions, provide each separate expression within - * parentheses. For example: - * ``` - * (scheduling.automaticRestart = true) - * (cpuPlatform = "Intel Skylake") - * ``` - * By default, each expression is an `AND` expression. However, you - * can include `AND` and `OR` expressions explicitly. - * For example: - * ``` - * (cpuPlatform = "Intel Skylake") OR - * (cpuPlatform = "Intel Broadwell") AND - * (scheduling.automaticRestart = true) - * ``` - * - * If you want to use a regular expression, use the `eq` (equal) or `ne` - * (not equal) operator against a single un-parenthesized expression with or - * without quotes or against multiple parenthesized expressions. Examples: - * - * `fieldname eq unquoted literal` - * `fieldname eq 'single quoted literal'` - * `fieldname eq "double quoted literal"` - * `(fieldname1 eq literal) (fieldname2 ne "literal")` - * - * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * The literal value must match the entire field. - * - * For example, to filter for instances that do not end with name "instance", - * you would use `name ne .*instance`. - * - * You cannot combine constraints on multiple fields using regular - * expressions. - */ - filter?: string; - /** - * The maximum number of results per page that should be returned. - * If the number of available results is larger than `maxResults`, - * Compute Engine returns a `nextPageToken` that can be used to get - * the next page of results in subsequent list requests. Acceptable values are - * `0` to `500`, inclusive. (Default: `500`) - */ - maxResults?: number; - /** - * Sorts list results by a certain order. By default, results - * are returned in alphanumerical order based on the resource name. - * - * You can also sort results in descending order based on the creation - * timestamp using `orderBy="creationTimestamp desc"`. This sorts - * results based on the `creationTimestamp` field in - * reverse chronological order (newest result first). Use this to sort - * resources like operations so that the newest operation is returned first. - * - * Currently, only sorting by `name` or - * `creationTimestamp desc` is supported. - */ - orderBy?: string; - /** - * Specifies a page token to use. Set `pageToken` to the - * `nextPageToken` returned by a previous list request to get - * the next page of results. - */ - pageToken?: string; - /** - * Parent ID for this request. - */ - parentId?: string; - /** - * Opt-in for partial success behavior which provides partial results in case - * of failure. The default value is false. - * - * For example, when partial success behavior is enabled, aggregatedList for a - * single zone scope either returns all resources in the zone or no resources, - * with an error code. - */ - returnPartialSuccess?: boolean; - } - - export class Resource$Globalpublicdelegatedprefixes { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Deletes the specified global PublicDelegatedPrefix. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/compute.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const compute = google.compute('alpha'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/cloud-platform', - * 'https://www.googleapis.com/auth/compute', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await compute.globalPublicDelegatedPrefixes.delete({ - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name of the PublicDelegatedPrefix resource to delete. - * publicDelegatedPrefix: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. - * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, - * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, - * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - delete( - params: Params$Resource$Globalpublicdelegatedprefixes$Delete, - options: StreamMethodOptions - ): Promise>; - delete( - params?: Params$Resource$Globalpublicdelegatedprefixes$Delete, + detachNetworkEndpoints( + params?: Params$Resource$Globalnetworkendpointgroups$Detachnetworkendpoints, options?: MethodOptions ): Promise>; - delete( - params: Params$Resource$Globalpublicdelegatedprefixes$Delete, + detachNetworkEndpoints( + params: Params$Resource$Globalnetworkendpointgroups$Detachnetworkendpoints, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Globalpublicdelegatedprefixes$Delete, + detachNetworkEndpoints( + params: Params$Resource$Globalnetworkendpointgroups$Detachnetworkendpoints, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Globalpublicdelegatedprefixes$Delete, + detachNetworkEndpoints( + params: Params$Resource$Globalnetworkendpointgroups$Detachnetworkendpoints, callback: BodyResponseCallback ): void; - delete(callback: BodyResponseCallback): void; - delete( + detachNetworkEndpoints( + callback: BodyResponseCallback + ): void; + detachNetworkEndpoints( paramsOrCallback?: - | Params$Resource$Globalpublicdelegatedprefixes$Delete + | Params$Resource$Globalnetworkendpointgroups$Detachnetworkendpoints | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -82980,12 +81476,13 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Globalpublicdelegatedprefixes$Delete; + {}) as Params$Resource$Globalnetworkendpointgroups$Detachnetworkendpoints; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Globalpublicdelegatedprefixes$Delete; + params = + {} as Params$Resource$Globalnetworkendpointgroups$Detachnetworkendpoints; options = {}; } @@ -83000,16 +81497,16 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/publicDelegatedPrefixes/{publicDelegatedPrefix}' + '/compute/alpha/projects/{project}/global/networkEndpointGroups/{networkEndpointGroup}/detachNetworkEndpoints' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project', 'publicDelegatedPrefix'], - pathParams: ['project', 'publicDelegatedPrefix'], + requiredParams: ['project', 'networkEndpointGroup'], + pathParams: ['networkEndpointGroup', 'project'], context: this.context, }; if (callback) { @@ -83023,7 +81520,7 @@ export namespace compute_alpha { } /** - * Returns the specified global PublicDelegatedPrefix resource. + * Returns the specified network endpoint group. * @example * ```js * // Before running the sample: @@ -83056,38 +81553,40 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.globalPublicDelegatedPrefixes.get({ + * const res = await compute.globalNetworkEndpointGroups.get({ + * // The name of the network endpoint group. It should comply with RFC1035. + * networkEndpointGroup: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name of the PublicDelegatedPrefix resource to return. - * publicDelegatedPrefix: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * }); * console.log(res.data); * * // Example response * // { - * // "allocatablePrefixLength": 0, - * // "byoipApiVersion": "my_byoipApiVersion", + * // "annotations": {}, + * // "appEngine": {}, + * // "cloudFunction": {}, + * // "cloudRun": {}, * // "creationTimestamp": "my_creationTimestamp", + * // "defaultPort": 0, * // "description": "my_description", - * // "enableEnhancedIpv4Allocation": false, - * // "fingerprint": "my_fingerprint", * // "id": "my_id", - * // "ipCidrRange": "my_ipCidrRange", - * // "ipv6AccessType": "my_ipv6AccessType", - * // "isLiveMigration": false, * // "kind": "my_kind", - * // "mode": "my_mode", + * // "loadBalancer": {}, * // "name": "my_name", - * // "networkTier": "my_networkTier", - * // "parentPrefix": "my_parentPrefix", - * // "publicDelegatedSubPrefixs": [], - * // "purpose": "my_purpose", + * // "network": "my_network", + * // "networkEndpointType": "my_networkEndpointType", + * // "pscData": {}, + * // "pscTargetService": "my_pscTargetService", * // "region": "my_region", * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", - * // "status": "my_status" + * // "serverlessDeployment": {}, + * // "size": 0, + * // "subnetwork": "my_subnetwork", + * // "type": "my_type", + * // "zone": "my_zone" * // } * } * @@ -83104,54 +81603,54 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ get( - params: Params$Resource$Globalpublicdelegatedprefixes$Get, + params: Params$Resource$Globalnetworkendpointgroups$Get, options: StreamMethodOptions ): Promise>; get( - params?: Params$Resource$Globalpublicdelegatedprefixes$Get, + params?: Params$Resource$Globalnetworkendpointgroups$Get, options?: MethodOptions - ): Promise>; + ): Promise>; get( - params: Params$Resource$Globalpublicdelegatedprefixes$Get, + params: Params$Resource$Globalnetworkendpointgroups$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; get( - params: Params$Resource$Globalpublicdelegatedprefixes$Get, + params: Params$Resource$Globalnetworkendpointgroups$Get, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; get( - params: Params$Resource$Globalpublicdelegatedprefixes$Get, - callback: BodyResponseCallback + params: Params$Resource$Globalnetworkendpointgroups$Get, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; get( paramsOrCallback?: - | Params$Resource$Globalpublicdelegatedprefixes$Get - | BodyResponseCallback + | Params$Resource$Globalnetworkendpointgroups$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Globalpublicdelegatedprefixes$Get; + {}) as Params$Resource$Globalnetworkendpointgroups$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Globalpublicdelegatedprefixes$Get; + params = {} as Params$Resource$Globalnetworkendpointgroups$Get; options = {}; } @@ -83166,7 +81665,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/publicDelegatedPrefixes/{publicDelegatedPrefix}' + '/compute/alpha/projects/{project}/global/networkEndpointGroups/{networkEndpointGroup}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -83174,23 +81673,37 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'publicDelegatedPrefix'], - pathParams: ['project', 'publicDelegatedPrefix'], + requiredParams: ['project', 'networkEndpointGroup'], + pathParams: ['networkEndpointGroup', 'project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Creates a global PublicDelegatedPrefix in the specified project using the + * Creates a network endpoint group in the specified project using the * parameters that are included in the request. + * + * Note: Use the following APIs to manage network endpoint groups: + * + * - + * To manage NEGs with zonal scope (such as zonal NEGs, hybrid connectivity + * NEGs): zonal + * API + * - + * To manage NEGs with regional scope (such as regional internet NEGs, + * serverless NEGs, Private Service Connect NEGs): regional + * API + * - + * To manage NEGs with global scope (such as global internet NEGs):global + * API * @example * ```js * // Before running the sample: @@ -83222,7 +81735,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.globalPublicDelegatedPrefixes.insert({ + * const res = await compute.globalNetworkEndpointGroups.insert({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -83245,27 +81758,29 @@ export namespace compute_alpha { * requestBody: { * // request body parameters * // { - * // "allocatablePrefixLength": 0, - * // "byoipApiVersion": "my_byoipApiVersion", + * // "annotations": {}, + * // "appEngine": {}, + * // "cloudFunction": {}, + * // "cloudRun": {}, * // "creationTimestamp": "my_creationTimestamp", + * // "defaultPort": 0, * // "description": "my_description", - * // "enableEnhancedIpv4Allocation": false, - * // "fingerprint": "my_fingerprint", * // "id": "my_id", - * // "ipCidrRange": "my_ipCidrRange", - * // "ipv6AccessType": "my_ipv6AccessType", - * // "isLiveMigration": false, * // "kind": "my_kind", - * // "mode": "my_mode", + * // "loadBalancer": {}, * // "name": "my_name", - * // "networkTier": "my_networkTier", - * // "parentPrefix": "my_parentPrefix", - * // "publicDelegatedSubPrefixs": [], - * // "purpose": "my_purpose", + * // "network": "my_network", + * // "networkEndpointType": "my_networkEndpointType", + * // "pscData": {}, + * // "pscTargetService": "my_pscTargetService", * // "region": "my_region", * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", - * // "status": "my_status" + * // "serverlessDeployment": {}, + * // "size": 0, + * // "subnetwork": "my_subnetwork", + * // "type": "my_type", + * // "zone": "my_zone" * // } * }, * }); @@ -83317,31 +81832,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ insert( - params: Params$Resource$Globalpublicdelegatedprefixes$Insert, + params: Params$Resource$Globalnetworkendpointgroups$Insert, options: StreamMethodOptions ): Promise>; insert( - params?: Params$Resource$Globalpublicdelegatedprefixes$Insert, + params?: Params$Resource$Globalnetworkendpointgroups$Insert, options?: MethodOptions ): Promise>; insert( - params: Params$Resource$Globalpublicdelegatedprefixes$Insert, + params: Params$Resource$Globalnetworkendpointgroups$Insert, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; insert( - params: Params$Resource$Globalpublicdelegatedprefixes$Insert, + params: Params$Resource$Globalnetworkendpointgroups$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; insert( - params: Params$Resource$Globalpublicdelegatedprefixes$Insert, + params: Params$Resource$Globalnetworkendpointgroups$Insert, callback: BodyResponseCallback ): void; insert(callback: BodyResponseCallback): void; insert( paramsOrCallback?: - | Params$Resource$Globalpublicdelegatedprefixes$Insert + | Params$Resource$Globalnetworkendpointgroups$Insert | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -83357,12 +81872,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Globalpublicdelegatedprefixes$Insert; + {}) as Params$Resource$Globalnetworkendpointgroups$Insert; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Globalpublicdelegatedprefixes$Insert; + params = {} as Params$Resource$Globalnetworkendpointgroups$Insert; options = {}; } @@ -83377,7 +81892,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/publicDelegatedPrefixes' + '/compute/alpha/projects/{project}/global/networkEndpointGroups' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -83400,7 +81915,8 @@ export namespace compute_alpha { } /** - * Lists the global PublicDelegatedPrefixes for a project. + * Retrieves the list of network endpoint groups that are located in the + * specified project. * @example * ```js * // Before running the sample: @@ -83433,7 +81949,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.globalPublicDelegatedPrefixes.list({ + * const res = await compute.globalNetworkEndpointGroups.list({ * // A filter expression that filters resources listed in the response. Most * // Compute resources support two types of filter expressions: * // expressions that support regular expressions and expressions that follow @@ -83552,56 +82068,54 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ list( - params: Params$Resource$Globalpublicdelegatedprefixes$List, + params: Params$Resource$Globalnetworkendpointgroups$List, options: StreamMethodOptions ): Promise>; list( - params?: Params$Resource$Globalpublicdelegatedprefixes$List, + params?: Params$Resource$Globalnetworkendpointgroups$List, options?: MethodOptions - ): Promise>; + ): Promise>; list( - params: Params$Resource$Globalpublicdelegatedprefixes$List, + params: Params$Resource$Globalnetworkendpointgroups$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; list( - params: Params$Resource$Globalpublicdelegatedprefixes$List, + params: Params$Resource$Globalnetworkendpointgroups$List, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Globalpublicdelegatedprefixes$List, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; list( - callback: BodyResponseCallback + params: Params$Resource$Globalnetworkendpointgroups$List, + callback: BodyResponseCallback ): void; + list(callback: BodyResponseCallback): void; list( paramsOrCallback?: - | Params$Resource$Globalpublicdelegatedprefixes$List - | BodyResponseCallback + | Params$Resource$Globalnetworkendpointgroups$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Globalpublicdelegatedprefixes$List; + {}) as Params$Resource$Globalnetworkendpointgroups$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Globalpublicdelegatedprefixes$List; + params = {} as Params$Resource$Globalnetworkendpointgroups$List; options = {}; } @@ -83616,7 +82130,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/publicDelegatedPrefixes' + '/compute/alpha/projects/{project}/global/networkEndpointGroups' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -83629,20 +82143,17 @@ export namespace compute_alpha { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Patches the specified global PublicDelegatedPrefix resource with the data - * included in the request. This method supportsPATCH - * semantics and usesJSON merge - * patch format and processing rules. + * Lists the network endpoints in the specified network endpoint group. * @example * ```js * // Before running the sample: @@ -83666,6 +82177,7 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -83674,87 +82186,111 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.globalPublicDelegatedPrefixes.patch({ + * const res = await compute.globalNetworkEndpointGroups.listNetworkEndpoints({ + * // A filter expression that filters resources listed in the response. Most + * // Compute resources support two types of filter expressions: + * // expressions that support regular expressions and expressions that follow + * // API improvement proposal AIP-160. + * // These two types of filter expressions cannot be mixed in one request. + * // + * // If you want to use AIP-160, your expression must specify the field name, an + * // operator, and the value that you want to use for filtering. The value + * // must be a string, a number, or a boolean. The operator + * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * // + * // For example, if you are filtering Compute Engine instances, you can + * // exclude instances named `example-instance` by specifying + * // `name != example-instance`. + * // + * // The `:*` comparison can be used to test whether a key has been defined. + * // For example, to find all objects with `owner` label use: + * // ``` + * // labels.owner:* + * // ``` + * // + * // You can also filter nested fields. For example, you could specify + * // `scheduling.automaticRestart = false` to include instances only + * // if they are not scheduled for automatic restarts. You can use filtering + * // on nested fields to filter based onresource labels. + * // + * // To filter on multiple expressions, provide each separate expression within + * // parentheses. For example: + * // ``` + * // (scheduling.automaticRestart = true) + * // (cpuPlatform = "Intel Skylake") + * // ``` + * // By default, each expression is an `AND` expression. However, you + * // can include `AND` and `OR` expressions explicitly. + * // For example: + * // ``` + * // (cpuPlatform = "Intel Skylake") OR + * // (cpuPlatform = "Intel Broadwell") AND + * // (scheduling.automaticRestart = true) + * // ``` + * // + * // If you want to use a regular expression, use the `eq` (equal) or `ne` + * // (not equal) operator against a single un-parenthesized expression with or + * // without quotes or against multiple parenthesized expressions. Examples: + * // + * // `fieldname eq unquoted literal` + * // `fieldname eq 'single quoted literal'` + * // `fieldname eq "double quoted literal"` + * // `(fieldname1 eq literal) (fieldname2 ne "literal")` + * // + * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * // The literal value must match the entire field. + * // + * // For example, to filter for instances that do not end with name "instance", + * // you would use `name ne .*instance`. + * // + * // You cannot combine constraints on multiple fields using regular + * // expressions. + * filter: 'placeholder-value', + * // The maximum number of results per page that should be returned. + * // If the number of available results is larger than `maxResults`, + * // Compute Engine returns a `nextPageToken` that can be used to get + * // the next page of results in subsequent list requests. Acceptable values are + * // `0` to `500`, inclusive. (Default: `500`) + * maxResults: 'placeholder-value', + * // The name of the network endpoint group from which you want to generate a + * // list of included network endpoints. It should comply with RFC1035. + * networkEndpointGroup: 'placeholder-value', + * // Sorts list results by a certain order. By default, results + * // are returned in alphanumerical order based on the resource name. + * // + * // You can also sort results in descending order based on the creation + * // timestamp using `orderBy="creationTimestamp desc"`. This sorts + * // results based on the `creationTimestamp` field in + * // reverse chronological order (newest result first). Use this to sort + * // resources like operations so that the newest operation is returned first. + * // + * // Currently, only sorting by `name` or + * // `creationTimestamp desc` is supported. + * orderBy: 'placeholder-value', + * // Specifies a page token to use. Set `pageToken` to the + * // `nextPageToken` returned by a previous list request to get + * // the next page of results. + * pageToken: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name of the PublicDelegatedPrefix resource to patch. - * publicDelegatedPrefix: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. + * // Opt-in for partial success behavior which provides partial results in case + * // of failure. The default value is false. * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "allocatablePrefixLength": 0, - * // "byoipApiVersion": "my_byoipApiVersion", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "enableEnhancedIpv4Allocation": false, - * // "fingerprint": "my_fingerprint", - * // "id": "my_id", - * // "ipCidrRange": "my_ipCidrRange", - * // "ipv6AccessType": "my_ipv6AccessType", - * // "isLiveMigration": false, - * // "kind": "my_kind", - * // "mode": "my_mode", - * // "name": "my_name", - * // "networkTier": "my_networkTier", - * // "parentPrefix": "my_parentPrefix", - * // "publicDelegatedSubPrefixs": [], - * // "purpose": "my_purpose", - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "status": "my_status" - * // } - * }, + * // For example, when partial success behavior is enabled, aggregatedList for a + * // single zone scope either returns all resources in the zone or no resources, + * // with an error code. + * returnPartialSuccess: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, + * // "items": [], * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" + * // "nextPageToken": "my_nextPageToken", + * // "warning": {} * // } * } * @@ -83770,53 +82306,62 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - patch( - params: Params$Resource$Globalpublicdelegatedprefixes$Patch, + listNetworkEndpoints( + params: Params$Resource$Globalnetworkendpointgroups$Listnetworkendpoints, options: StreamMethodOptions ): Promise>; - patch( - params?: Params$Resource$Globalpublicdelegatedprefixes$Patch, + listNetworkEndpoints( + params?: Params$Resource$Globalnetworkendpointgroups$Listnetworkendpoints, options?: MethodOptions - ): Promise>; - patch( - params: Params$Resource$Globalpublicdelegatedprefixes$Patch, + ): Promise< + GaxiosResponseWithHTTP2 + >; + listNetworkEndpoints( + params: Params$Resource$Globalnetworkendpointgroups$Listnetworkendpoints, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Globalpublicdelegatedprefixes$Patch, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + listNetworkEndpoints( + params: Params$Resource$Globalnetworkendpointgroups$Listnetworkendpoints, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Globalpublicdelegatedprefixes$Patch, - callback: BodyResponseCallback + listNetworkEndpoints( + params: Params$Resource$Globalnetworkendpointgroups$Listnetworkendpoints, + callback: BodyResponseCallback ): void; - patch(callback: BodyResponseCallback): void; - patch( + listNetworkEndpoints( + callback: BodyResponseCallback + ): void; + listNetworkEndpoints( paramsOrCallback?: - | Params$Resource$Globalpublicdelegatedprefixes$Patch - | BodyResponseCallback + | Params$Resource$Globalnetworkendpointgroups$Listnetworkendpoints + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise< + GaxiosResponseWithHTTP2 + > | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Globalpublicdelegatedprefixes$Patch; + {}) as Params$Resource$Globalnetworkendpointgroups$Listnetworkendpoints; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Globalpublicdelegatedprefixes$Patch; + params = + {} as Params$Resource$Globalnetworkendpointgroups$Listnetworkendpoints; options = {}; } @@ -83831,38 +82376,73 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/publicDelegatedPrefixes/{publicDelegatedPrefix}' + '/compute/alpha/projects/{project}/global/networkEndpointGroups/{networkEndpointGroup}/listNetworkEndpoints' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project', 'publicDelegatedPrefix'], - pathParams: ['project', 'publicDelegatedPrefix'], + requiredParams: ['project', 'networkEndpointGroup'], + pathParams: ['networkEndpointGroup', 'project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); } } } - export interface Params$Resource$Globalpublicdelegatedprefixes$Delete extends StandardParameters { + export interface Params$Resource$Globalnetworkendpointgroups$Attachnetworkendpoints extends StandardParameters { + /** + * The name of the network endpoint group where you are attaching network + * endpoints to. It should comply with RFC1035. + */ + networkEndpointGroup?: string; /** * Project ID for this request. */ project?: string; /** - * Name of the PublicDelegatedPrefix resource to delete. + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). */ - publicDelegatedPrefix?: string; + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GlobalNetworkEndpointGroupsAttachEndpointsRequest; + } + export interface Params$Resource$Globalnetworkendpointgroups$Delete extends StandardParameters { + /** + * The name of the network endpoint group to delete. It should comply with + * RFC1035. + */ + networkEndpointGroup?: string; + /** + * Project ID for this request. + */ + project?: string; /** * An optional request ID to identify requests. Specify a unique request ID so * that if you must retry your request, the server will know to ignore the @@ -83880,17 +82460,49 @@ export namespace compute_alpha { */ requestId?: string; } - export interface Params$Resource$Globalpublicdelegatedprefixes$Get extends StandardParameters { + export interface Params$Resource$Globalnetworkendpointgroups$Detachnetworkendpoints extends StandardParameters { + /** + * The name of the network endpoint group where you are removing network + * endpoints. It should comply with RFC1035. + */ + networkEndpointGroup?: string; /** * Project ID for this request. */ project?: string; /** - * Name of the PublicDelegatedPrefix resource to return. + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). */ - publicDelegatedPrefix?: string; + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GlobalNetworkEndpointGroupsDetachEndpointsRequest; } - export interface Params$Resource$Globalpublicdelegatedprefixes$Insert extends StandardParameters { + export interface Params$Resource$Globalnetworkendpointgroups$Get extends StandardParameters { + /** + * The name of the network endpoint group. It should comply with RFC1035. + */ + networkEndpointGroup?: string; + /** + * Project ID for this request. + */ + project?: string; + } + export interface Params$Resource$Globalnetworkendpointgroups$Insert extends StandardParameters { /** * Project ID for this request. */ @@ -83915,9 +82527,9 @@ export namespace compute_alpha { /** * Request body metadata */ - requestBody?: Schema$PublicDelegatedPrefix; + requestBody?: Schema$NetworkEndpointGroup; } - export interface Params$Resource$Globalpublicdelegatedprefixes$List extends StandardParameters { + export interface Params$Resource$Globalnetworkendpointgroups$List extends StandardParameters { /** * A filter expression that filters resources listed in the response. Most * Compute resources support two types of filter expressions: @@ -84021,49 +82633,126 @@ export namespace compute_alpha { */ returnPartialSuccess?: boolean; } - export interface Params$Resource$Globalpublicdelegatedprefixes$Patch extends StandardParameters { + export interface Params$Resource$Globalnetworkendpointgroups$Listnetworkendpoints extends StandardParameters { /** - * Project ID for this request. + * A filter expression that filters resources listed in the response. Most + * Compute resources support two types of filter expressions: + * expressions that support regular expressions and expressions that follow + * API improvement proposal AIP-160. + * These two types of filter expressions cannot be mixed in one request. + * + * If you want to use AIP-160, your expression must specify the field name, an + * operator, and the value that you want to use for filtering. The value + * must be a string, a number, or a boolean. The operator + * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * + * For example, if you are filtering Compute Engine instances, you can + * exclude instances named `example-instance` by specifying + * `name != example-instance`. + * + * The `:*` comparison can be used to test whether a key has been defined. + * For example, to find all objects with `owner` label use: + * ``` + * labels.owner:* + * ``` + * + * You can also filter nested fields. For example, you could specify + * `scheduling.automaticRestart = false` to include instances only + * if they are not scheduled for automatic restarts. You can use filtering + * on nested fields to filter based onresource labels. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example: + * ``` + * (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake") + * ``` + * By default, each expression is an `AND` expression. However, you + * can include `AND` and `OR` expressions explicitly. + * For example: + * ``` + * (cpuPlatform = "Intel Skylake") OR + * (cpuPlatform = "Intel Broadwell") AND + * (scheduling.automaticRestart = true) + * ``` + * + * If you want to use a regular expression, use the `eq` (equal) or `ne` + * (not equal) operator against a single un-parenthesized expression with or + * without quotes or against multiple parenthesized expressions. Examples: + * + * `fieldname eq unquoted literal` + * `fieldname eq 'single quoted literal'` + * `fieldname eq "double quoted literal"` + * `(fieldname1 eq literal) (fieldname2 ne "literal")` + * + * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * The literal value must match the entire field. + * + * For example, to filter for instances that do not end with name "instance", + * you would use `name ne .*instance`. + * + * You cannot combine constraints on multiple fields using regular + * expressions. */ - project?: string; + filter?: string; /** - * Name of the PublicDelegatedPrefix resource to patch. + * The maximum number of results per page that should be returned. + * If the number of available results is larger than `maxResults`, + * Compute Engine returns a `nextPageToken` that can be used to get + * the next page of results in subsequent list requests. Acceptable values are + * `0` to `500`, inclusive. (Default: `500`) */ - publicDelegatedPrefix?: string; + maxResults?: number; /** - * An optional request ID to identify requests. Specify a unique 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 name of the network endpoint group from which you want to generate a + * list of included network endpoints. It should comply with RFC1035. + */ + networkEndpointGroup?: string; + /** + * Sorts list results by a certain order. By default, results + * are returned in alphanumerical order based on the resource name. * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. + * You can also sort results in descending order based on the creation + * timestamp using `orderBy="creationTimestamp desc"`. This sorts + * results based on the `creationTimestamp` field in + * reverse chronological order (newest result first). Use this to sort + * resources like operations so that the newest operation is returned first. * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). + * Currently, only sorting by `name` or + * `creationTimestamp desc` is supported. */ - requestId?: string; - + orderBy?: string; /** - * Request body metadata + * Specifies a page token to use. Set `pageToken` to the + * `nextPageToken` returned by a previous list request to get + * the next page of results. */ - requestBody?: Schema$PublicDelegatedPrefix; + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Opt-in for partial success behavior which provides partial results in case + * of failure. The default value is false. + * + * For example, when partial success behavior is enabled, aggregatedList for a + * single zone scope either returns all resources in the zone or no resources, + * with an error code. + */ + returnPartialSuccess?: boolean; } - export class Resource$Globalvmextensionpolicies { + export class Resource$Globaloperations { context: APIRequestContext; constructor(context: APIRequestContext) { this.context = context; } /** - * Retrieves the list of all VM Extension Policy resources - * available to the specified project. + * Retrieves an aggregated list of all operations. * - * To prevent failure, it's recommended that you set the + * To prevent failure, Google recommends that you set the * `returnPartialSuccess` parameter to `true`. * @example * ```js @@ -84097,7 +82786,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.globalVmExtensionPolicies.aggregatedList({ + * const res = await compute.globalOperations.aggregatedList({ * // A filter expression that filters resources listed in the response. Most * // Compute resources support two types of filter expressions: * // expressions that support regular expressions and expressions that follow @@ -84187,7 +82876,7 @@ export namespace compute_alpha { * // `nextPageToken` returned by a previous list request to get * // the next page of results. * pageToken: 'placeholder-value', - * // Name of the project scoping this request. + * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', * // Opt-in for partial success behavior which provides partial results in case @@ -84205,7 +82894,6 @@ export namespace compute_alpha { * * // Example response * // { - * // "etag": "my_etag", * // "id": "my_id", * // "items": {}, * // "kind": "my_kind", @@ -84229,60 +82917,56 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ aggregatedList( - params: Params$Resource$Globalvmextensionpolicies$Aggregatedlist, + params: Params$Resource$Globaloperations$Aggregatedlist, options: StreamMethodOptions ): Promise>; aggregatedList( - params?: Params$Resource$Globalvmextensionpolicies$Aggregatedlist, + params?: Params$Resource$Globaloperations$Aggregatedlist, options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; + ): Promise>; aggregatedList( - params: Params$Resource$Globalvmextensionpolicies$Aggregatedlist, + params: Params$Resource$Globaloperations$Aggregatedlist, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; aggregatedList( - params: Params$Resource$Globalvmextensionpolicies$Aggregatedlist, + params: Params$Resource$Globaloperations$Aggregatedlist, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; aggregatedList( - params: Params$Resource$Globalvmextensionpolicies$Aggregatedlist, - callback: BodyResponseCallback + params: Params$Resource$Globaloperations$Aggregatedlist, + callback: BodyResponseCallback ): void; aggregatedList( - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; aggregatedList( paramsOrCallback?: - | Params$Resource$Globalvmextensionpolicies$Aggregatedlist - | BodyResponseCallback + | Params$Resource$Globaloperations$Aggregatedlist + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise< - GaxiosResponseWithHTTP2 - > + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Globalvmextensionpolicies$Aggregatedlist; + {}) as Params$Resource$Globaloperations$Aggregatedlist; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Globalvmextensionpolicies$Aggregatedlist; + params = {} as Params$Resource$Globaloperations$Aggregatedlist; options = {}; } @@ -84297,7 +82981,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/aggregated/vmExtensionPolicies' + '/compute/alpha/projects/{project}/aggregated/operations' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -84310,24 +82994,17 @@ export namespace compute_alpha { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } /** - * Purge scoped resources (zonal policies) from a global VM extension - * policy, and then delete the global VM extension policy. Purge of the scoped - * resources is a pre-condition of the global VM extension policy deletion. - * The deletion of the global VM extension policy happens after the purge - * rollout is done, so it's not a part of the LRO. It's an automatic process - * that triggers in the backend. + * Deletes the specified Operations resource. * @example * ```js * // Before running the sample: @@ -84359,71 +83036,15 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.globalVmExtensionPolicies.delete({ - * // Name of the global VM extension policy to purge scoped resources for. - * globalVmExtensionPolicy: 'placeholder-value', + * const res = await compute.globalOperations.delete({ + * // Name of the Operations resource to delete, or its unique numeric + * // identifier. + * operation: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. - * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "conflictBehavior": "my_conflictBehavior", - * // "name": "my_name", - * // "predefinedRolloutPlan": "my_predefinedRolloutPlan", - * // "retryUuid": "my_retryUuid" - * // } - * }, * }); * console.log(res.data); - * - * // Example response - * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, - * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, - * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" - * // } * } * * main().catch(e => { @@ -84439,211 +83060,50 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ delete( - params: Params$Resource$Globalvmextensionpolicies$Delete, + params: Params$Resource$Globaloperations$Delete, options: StreamMethodOptions ): Promise>; delete( - params?: Params$Resource$Globalvmextensionpolicies$Delete, + params?: Params$Resource$Globaloperations$Delete, options?: MethodOptions - ): Promise>; + ): Promise>; delete( - params: Params$Resource$Globalvmextensionpolicies$Delete, + params: Params$Resource$Globaloperations$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Globalvmextensionpolicies$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + params: Params$Resource$Globaloperations$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Globalvmextensionpolicies$Delete, - callback: BodyResponseCallback + params: Params$Resource$Globaloperations$Delete, + callback: BodyResponseCallback ): void; - delete(callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; delete( paramsOrCallback?: - | Params$Resource$Globalvmextensionpolicies$Delete - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Globalvmextensionpolicies$Delete; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Globalvmextensionpolicies$Delete; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/compute/alpha/projects/{project}/global/vmExtensionPolicies/{globalVmExtensionPolicy}/delete' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['project', 'globalVmExtensionPolicy'], - pathParams: ['globalVmExtensionPolicy', 'project'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Gets details of a global VM extension policy. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/compute.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const compute = google.compute('alpha'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/cloud-platform', - * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await compute.globalVmExtensionPolicies.get({ - * // Name of the GlobalVmExtensionPolicy resource to return. - * globalVmExtensionPolicy: - * '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "extensionPolicies": {}, - * // "id": "my_id", - * // "instanceSelectors": [], - * // "kind": "my_kind", - * // "name": "my_name", - * // "priority": 0, - * // "rolloutOperation": {}, - * // "scopedResourceStatus": "my_scopedResourceStatus", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "updateTimestamp": "my_updateTimestamp" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - get( - params: Params$Resource$Globalvmextensionpolicies$Get, - options: StreamMethodOptions - ): Promise>; - get( - params?: Params$Resource$Globalvmextensionpolicies$Get, - options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Globalvmextensionpolicies$Get, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Globalvmextensionpolicies$Get, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Globalvmextensionpolicies$Get, - callback: BodyResponseCallback - ): void; - get(callback: BodyResponseCallback): void; - get( - paramsOrCallback?: - | Params$Resource$Globalvmextensionpolicies$Get - | BodyResponseCallback + | Params$Resource$Globaloperations$Delete + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback + callback?: BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Globalvmextensionpolicies$Get; + {}) as Params$Resource$Globaloperations$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Globalvmextensionpolicies$Get; + params = {} as Params$Resource$Globaloperations$Delete; options = {}; } @@ -84658,30 +83118,30 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/vmExtensionPolicies/{globalVmExtensionPolicy}' + '/compute/alpha/projects/{project}/global/operations/{operation}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'DELETE', apiVersion: '', }, options ), params, - requiredParams: ['project', 'globalVmExtensionPolicy'], - pathParams: ['globalVmExtensionPolicy', 'project'], + requiredParams: ['project', 'operation'], + pathParams: ['operation', 'project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Retrieves details of a specific VM extension. + * Retrieves the specified Operations resource. * @example * ```js * // Before running the sample: @@ -84714,189 +83174,13 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.globalVmExtensionPolicies.getVmExtension({ - * extensionName: 'placeholder-value', - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "name": "my_name", - * // "versions": [] - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - getVmExtension( - params: Params$Resource$Globalvmextensionpolicies$Getvmextension, - options: StreamMethodOptions - ): Promise>; - getVmExtension( - params?: Params$Resource$Globalvmextensionpolicies$Getvmextension, - options?: MethodOptions - ): Promise>; - getVmExtension( - params: Params$Resource$Globalvmextensionpolicies$Getvmextension, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - getVmExtension( - params: Params$Resource$Globalvmextensionpolicies$Getvmextension, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - getVmExtension( - params: Params$Resource$Globalvmextensionpolicies$Getvmextension, - callback: BodyResponseCallback - ): void; - getVmExtension( - callback: BodyResponseCallback - ): void; - getVmExtension( - paramsOrCallback?: - | Params$Resource$Globalvmextensionpolicies$Getvmextension - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Globalvmextensionpolicies$Getvmextension; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Globalvmextensionpolicies$Getvmextension; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/compute/alpha/projects/{project}/global/vmExtensions/{extensionName}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['project', 'extensionName'], - pathParams: ['extensionName', 'project'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Creates a new project level GlobalVmExtensionPolicy. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/compute.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const compute = google.compute('alpha'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/cloud-platform', - * 'https://www.googleapis.com/auth/compute', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await compute.globalVmExtensionPolicies.insert({ + * const res = await compute.globalOperations.get({ + * // Name of the Operations resource to return, or its unique numeric + * // identifier. + * operation: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. - * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "extensionPolicies": {}, - * // "id": "my_id", - * // "instanceSelectors": [], - * // "kind": "my_kind", - * // "name": "my_name", - * // "priority": 0, - * // "rolloutOperation": {}, - * // "scopedResourceStatus": "my_scopedResourceStatus", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "updateTimestamp": "my_updateTimestamp" - * // } - * }, * }); * console.log(res.data); * @@ -84945,32 +83229,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - insert( - params: Params$Resource$Globalvmextensionpolicies$Insert, + get( + params: Params$Resource$Globaloperations$Get, options: StreamMethodOptions ): Promise>; - insert( - params?: Params$Resource$Globalvmextensionpolicies$Insert, + get( + params?: Params$Resource$Globaloperations$Get, options?: MethodOptions ): Promise>; - insert( - params: Params$Resource$Globalvmextensionpolicies$Insert, + get( + params: Params$Resource$Globaloperations$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - insert( - params: Params$Resource$Globalvmextensionpolicies$Insert, + get( + params: Params$Resource$Globaloperations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - insert( - params: Params$Resource$Globalvmextensionpolicies$Insert, + get( + params: Params$Resource$Globaloperations$Get, callback: BodyResponseCallback ): void; - insert(callback: BodyResponseCallback): void; - insert( + get(callback: BodyResponseCallback): void; + get( paramsOrCallback?: - | Params$Resource$Globalvmextensionpolicies$Insert + | Params$Resource$Globaloperations$Get | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -84986,12 +83270,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Globalvmextensionpolicies$Insert; + {}) as Params$Resource$Globaloperations$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Globalvmextensionpolicies$Insert; + params = {} as Params$Resource$Globaloperations$Get; options = {}; } @@ -85006,16 +83290,16 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/vmExtensionPolicies' + '/compute/alpha/projects/{project}/global/operations/{operation}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['project'], - pathParams: ['project'], + requiredParams: ['project', 'operation'], + pathParams: ['operation', 'project'], context: this.context, }; if (callback) { @@ -85029,7 +83313,8 @@ export namespace compute_alpha { } /** - * Lists global VM extension policies. + * Retrieves a list of Operation resources contained within the specified + * project. * @example * ```js * // Before running the sample: @@ -85062,7 +83347,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.globalVmExtensionPolicies.list({ + * const res = await compute.globalOperations.list({ * // A filter expression that filters resources listed in the response. Most * // Compute resources support two types of filter expressions: * // expressions that support regular expressions and expressions that follow @@ -85159,13 +83444,11 @@ export namespace compute_alpha { * * // Example response * // { - * // "etag": "my_etag", * // "id": "my_id", * // "items": [], * // "kind": "my_kind", * // "nextPageToken": "my_nextPageToken", * // "selfLink": "my_selfLink", - * // "unreachables": [], * // "warning": {} * // } * } @@ -85183,56 +83466,52 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ list( - params: Params$Resource$Globalvmextensionpolicies$List, + params: Params$Resource$Globaloperations$List, options: StreamMethodOptions ): Promise>; list( - params?: Params$Resource$Globalvmextensionpolicies$List, + params?: Params$Resource$Globaloperations$List, options?: MethodOptions - ): Promise>; + ): Promise>; list( - params: Params$Resource$Globalvmextensionpolicies$List, + params: Params$Resource$Globaloperations$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; list( - params: Params$Resource$Globalvmextensionpolicies$List, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Globalvmextensionpolicies$List, - callback: BodyResponseCallback + params: Params$Resource$Globaloperations$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; list( - callback: BodyResponseCallback + params: Params$Resource$Globaloperations$List, + callback: BodyResponseCallback ): void; + list(callback: BodyResponseCallback): void; list( paramsOrCallback?: - | Params$Resource$Globalvmextensionpolicies$List - | BodyResponseCallback + | Params$Resource$Globaloperations$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Globalvmextensionpolicies$List; + {}) as Params$Resource$Globaloperations$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Globalvmextensionpolicies$List; + params = {} as Params$Resource$Globaloperations$List; options = {}; } @@ -85246,8 +83525,7 @@ export namespace compute_alpha { options: Object.assign( { url: ( - rootUrl + - '/compute/alpha/projects/{project}/global/vmExtensionPolicies' + rootUrl + '/compute/alpha/projects/{project}/global/operations' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -85260,261 +83538,32 @@ export namespace compute_alpha { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Lists all VM extensions within a specific zone for a project. - * This is a read-only API. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/compute.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const compute = google.compute('alpha'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/cloud-platform', - * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await compute.globalVmExtensionPolicies.listVmExtensions({ - * // A filter expression that filters resources listed in the response. Most - * // Compute resources support two types of filter expressions: - * // expressions that support regular expressions and expressions that follow - * // API improvement proposal AIP-160. - * // These two types of filter expressions cannot be mixed in one request. - * // - * // If you want to use AIP-160, your expression must specify the field name, an - * // operator, and the value that you want to use for filtering. The value - * // must be a string, a number, or a boolean. The operator - * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * // - * // For example, if you are filtering Compute Engine instances, you can - * // exclude instances named `example-instance` by specifying - * // `name != example-instance`. - * // - * // The `:*` comparison can be used to test whether a key has been defined. - * // For example, to find all objects with `owner` label use: - * // ``` - * // labels.owner:* - * // ``` - * // - * // You can also filter nested fields. For example, you could specify - * // `scheduling.automaticRestart = false` to include instances only - * // if they are not scheduled for automatic restarts. You can use filtering - * // on nested fields to filter based onresource labels. - * // - * // To filter on multiple expressions, provide each separate expression within - * // parentheses. For example: - * // ``` - * // (scheduling.automaticRestart = true) - * // (cpuPlatform = "Intel Skylake") - * // ``` - * // By default, each expression is an `AND` expression. However, you - * // can include `AND` and `OR` expressions explicitly. - * // For example: - * // ``` - * // (cpuPlatform = "Intel Skylake") OR - * // (cpuPlatform = "Intel Broadwell") AND - * // (scheduling.automaticRestart = true) - * // ``` - * // - * // If you want to use a regular expression, use the `eq` (equal) or `ne` - * // (not equal) operator against a single un-parenthesized expression with or - * // without quotes or against multiple parenthesized expressions. Examples: - * // - * // `fieldname eq unquoted literal` - * // `fieldname eq 'single quoted literal'` - * // `fieldname eq "double quoted literal"` - * // `(fieldname1 eq literal) (fieldname2 ne "literal")` - * // - * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * // The literal value must match the entire field. - * // - * // For example, to filter for instances that do not end with name "instance", - * // you would use `name ne .*instance`. - * // - * // You cannot combine constraints on multiple fields using regular - * // expressions. - * filter: 'placeholder-value', - * // The maximum number of results per page that should be returned. - * // If the number of available results is larger than `maxResults`, - * // Compute Engine returns a `nextPageToken` that can be used to get - * // the next page of results in subsequent list requests. Acceptable values are - * // `0` to `500`, inclusive. (Default: `500`) - * maxResults: 'placeholder-value', - * // Sorts list results by a certain order. By default, results - * // are returned in alphanumerical order based on the resource name. - * // - * // You can also sort results in descending order based on the creation - * // timestamp using `orderBy="creationTimestamp desc"`. This sorts - * // results based on the `creationTimestamp` field in - * // reverse chronological order (newest result first). Use this to sort - * // resources like operations so that the newest operation is returned first. - * // - * // Currently, only sorting by `name` or - * // `creationTimestamp desc` is supported. - * orderBy: 'placeholder-value', - * // Specifies a page token to use. Set `pageToken` to the - * // `nextPageToken` returned by a previous list request to get - * // the next page of results. - * pageToken: 'placeholder-value', - * // Required. Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Opt-in for partial success behavior which provides partial results in case - * // of failure. The default value is false. - * // - * // For example, when partial success behavior is enabled, aggregatedList for a - * // single zone scope either returns all resources in the zone or no resources, - * // with an error code. - * returnPartialSuccess: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "etag": "my_etag", - * // "id": "my_id", - * // "items": [], - * // "kind": "my_kind", - * // "nextPageToken": "my_nextPageToken", - * // "selfLink": "my_selfLink", - * // "unreachables": [], - * // "warning": {} - * // } - * } + * 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. * - * main().catch(e => { - * console.error(e); - * throw e; - * }); + * This method is called on a best-effort basis. Specifically: * - * ``` * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - listVmExtensions( - params: Params$Resource$Globalvmextensionpolicies$Listvmextensions, - options: StreamMethodOptions - ): Promise>; - listVmExtensions( - params?: Params$Resource$Globalvmextensionpolicies$Listvmextensions, - options?: MethodOptions - ): Promise>; - listVmExtensions( - params: Params$Resource$Globalvmextensionpolicies$Listvmextensions, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - listVmExtensions( - params: Params$Resource$Globalvmextensionpolicies$Listvmextensions, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - listVmExtensions( - params: Params$Resource$Globalvmextensionpolicies$Listvmextensions, - callback: BodyResponseCallback - ): void; - listVmExtensions( - callback: BodyResponseCallback - ): void; - listVmExtensions( - paramsOrCallback?: - | Params$Resource$Globalvmextensionpolicies$Listvmextensions - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Globalvmextensionpolicies$Listvmextensions; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = - {} as Params$Resource$Globalvmextensionpolicies$Listvmextensions; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/compute/alpha/projects/{project}/global/vmExtensions' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['project'], - pathParams: ['project'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest( - parameters - ); - } - } - - /** - * Updates a global VM extension policy. + * - 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`. * @example * ```js * // Before running the sample: @@ -85538,6 +83587,7 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -85546,46 +83596,13 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.globalVmExtensionPolicies.update({ - * // Name of the global VM extension policy to update. - * globalVmExtensionPolicy: 'placeholder-value', + * const res = await compute.globalOperations.wait({ + * // Name of the Operations resource to return, or its unique numeric + * // identifier. + * operation: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. - * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "extensionPolicies": {}, - * // "id": "my_id", - * // "instanceSelectors": [], - * // "kind": "my_kind", - * // "name": "my_name", - * // "priority": 0, - * // "rolloutOperation": {}, - * // "scopedResourceStatus": "my_scopedResourceStatus", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "updateTimestamp": "my_updateTimestamp" - * // } - * }, * }); * console.log(res.data); * @@ -85634,32 +83651,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - update( - params: Params$Resource$Globalvmextensionpolicies$Update, + wait( + params: Params$Resource$Globaloperations$Wait, options: StreamMethodOptions ): Promise>; - update( - params?: Params$Resource$Globalvmextensionpolicies$Update, + wait( + params?: Params$Resource$Globaloperations$Wait, options?: MethodOptions ): Promise>; - update( - params: Params$Resource$Globalvmextensionpolicies$Update, + wait( + params: Params$Resource$Globaloperations$Wait, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - update( - params: Params$Resource$Globalvmextensionpolicies$Update, + wait( + params: Params$Resource$Globaloperations$Wait, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - update( - params: Params$Resource$Globalvmextensionpolicies$Update, + wait( + params: Params$Resource$Globaloperations$Wait, callback: BodyResponseCallback ): void; - update(callback: BodyResponseCallback): void; - update( + wait(callback: BodyResponseCallback): void; + wait( paramsOrCallback?: - | Params$Resource$Globalvmextensionpolicies$Update + | Params$Resource$Globaloperations$Wait | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -85675,12 +83692,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Globalvmextensionpolicies$Update; + {}) as Params$Resource$Globaloperations$Wait; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Globalvmextensionpolicies$Update; + params = {} as Params$Resource$Globaloperations$Wait; options = {}; } @@ -85695,16 +83712,16 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/vmExtensionPolicies/{globalVmExtensionPolicy}' + '/compute/alpha/projects/{project}/global/operations/{operation}/wait' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project', 'globalVmExtensionPolicy'], - pathParams: ['globalVmExtensionPolicy', 'project'], + requiredParams: ['project', 'operation'], + pathParams: ['operation', 'project'], context: this.context, }; if (callback) { @@ -85718,7 +83735,7 @@ export namespace compute_alpha { } } - export interface Params$Resource$Globalvmextensionpolicies$Aggregatedlist extends StandardParameters { + export interface Params$Resource$Globaloperations$Aggregatedlist extends StandardParameters { /** * A filter expression that filters resources listed in the response. Most * Compute resources support two types of filter expressions: @@ -85819,7 +83836,7 @@ export namespace compute_alpha { */ pageToken?: string; /** - * Name of the project scoping this request. + * Project ID for this request. */ project?: string; /** @@ -85837,85 +83854,29 @@ export namespace compute_alpha { */ serviceProjectNumber?: string; } - export interface Params$Resource$Globalvmextensionpolicies$Delete extends StandardParameters { - /** - * Name of the global VM extension policy to purge scoped resources for. - */ - globalVmExtensionPolicy?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$GlobalVmExtensionPolicyRolloutOperationRolloutInput; - } - export interface Params$Resource$Globalvmextensionpolicies$Get extends StandardParameters { + export interface Params$Resource$Globaloperations$Delete extends StandardParameters { /** - * Name of the GlobalVmExtensionPolicy resource to return. + * Name of the Operations resource to delete, or its unique numeric + * identifier. */ - globalVmExtensionPolicy?: string; + operation?: string; /** * Project ID for this request. */ project?: string; } - export interface Params$Resource$Globalvmextensionpolicies$Getvmextension extends StandardParameters { - /** - * - */ - extensionName?: string; + export interface Params$Resource$Globaloperations$Get extends StandardParameters { /** - * Project ID for this request. + * Name of the Operations resource to return, or its unique numeric + * identifier. */ - project?: string; - } - export interface Params$Resource$Globalvmextensionpolicies$Insert extends StandardParameters { + operation?: string; /** * Project ID for this request. */ project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$GlobalVmExtensionPolicy; } - export interface Params$Resource$Globalvmextensionpolicies$List extends StandardParameters { + export interface Params$Resource$Globaloperations$List extends StandardParameters { /** * A filter expression that filters resources listed in the response. Most * Compute resources support two types of filter expressions: @@ -86019,151 +83980,333 @@ export namespace compute_alpha { */ returnPartialSuccess?: boolean; } - export interface Params$Resource$Globalvmextensionpolicies$Listvmextensions extends StandardParameters { + export interface Params$Resource$Globaloperations$Wait extends StandardParameters { /** - * A filter expression that filters resources listed in the response. Most - * Compute resources support two types of filter expressions: - * expressions that support regular expressions and expressions that follow - * API improvement proposal AIP-160. - * These two types of filter expressions cannot be mixed in one request. + * Name of the Operations resource to return, or its unique numeric + * identifier. + */ + operation?: string; + /** + * Project ID for this request. + */ + project?: string; + } + + export class Resource$Globalorganizationoperations { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Deletes the specified Operations resource. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` * - * If you want to use AIP-160, your expression must specify the field name, an - * operator, and the value that you want to use for filtering. The value - * must be a string, a number, or a boolean. The operator - * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); * - * For example, if you are filtering Compute Engine instances, you can - * exclude instances named `example-instance` by specifying - * `name != example-instance`. + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); * - * The `:*` comparison can be used to test whether a key has been defined. - * For example, to find all objects with `owner` label use: - * ``` - * labels.owner:* - * ``` + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); * - * You can also filter nested fields. For example, you could specify - * `scheduling.automaticRestart = false` to include instances only - * if they are not scheduled for automatic restarts. You can use filtering - * on nested fields to filter based onresource labels. + * // Do the magic + * const res = await compute.globalOrganizationOperations.delete({ + * // Name of the Operations resource to delete, or its unique numeric + * // identifier. + * operation: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // Parent ID for this request. + * parentId: 'placeholder-value', + * }); + * console.log(res.data); + * } * - * To filter on multiple expressions, provide each separate expression within - * parentheses. For example: - * ``` - * (scheduling.automaticRestart = true) - * (cpuPlatform = "Intel Skylake") - * ``` - * By default, each expression is an `AND` expression. However, you - * can include `AND` and `OR` expressions explicitly. - * For example: - * ``` - * (cpuPlatform = "Intel Skylake") OR - * (cpuPlatform = "Intel Broadwell") AND - * (scheduling.automaticRestart = true) - * ``` + * main().catch(e => { + * console.error(e); + * throw e; + * }); * - * If you want to use a regular expression, use the `eq` (equal) or `ne` - * (not equal) operator against a single un-parenthesized expression with or - * without quotes or against multiple parenthesized expressions. Examples: + * ``` * - * `fieldname eq unquoted literal` - * `fieldname eq 'single quoted literal'` - * `fieldname eq "double quoted literal"` - * `(fieldname1 eq literal) (fieldname2 ne "literal")` + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Globalorganizationoperations$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Globalorganizationoperations$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Globalorganizationoperations$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Globalorganizationoperations$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Globalorganizationoperations$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Globalorganizationoperations$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: BodyResponseCallback | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Globalorganizationoperations$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Globalorganizationoperations$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/compute/alpha/locations/global/operations/{operation}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['operation'], + pathParams: ['operation'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Retrieves the specified Operations resource. Gets a list of operations + * by making a `list()` request. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` * - * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * The literal value must match the entire field. + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); * - * For example, to filter for instances that do not end with name "instance", - * you would use `name ne .*instance`. + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', + * ], + * }); * - * You cannot combine constraints on multiple fields using regular - * expressions. - */ - filter?: string; - /** - * The maximum number of results per page that should be returned. - * If the number of available results is larger than `maxResults`, - * Compute Engine returns a `nextPageToken` that can be used to get - * the next page of results in subsequent list requests. Acceptable values are - * `0` to `500`, inclusive. (Default: `500`) - */ - maxResults?: number; - /** - * Sorts list results by a certain order. By default, results - * are returned in alphanumerical order based on the resource name. + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); * - * You can also sort results in descending order based on the creation - * timestamp using `orderBy="creationTimestamp desc"`. This sorts - * results based on the `creationTimestamp` field in - * reverse chronological order (newest result first). Use this to sort - * resources like operations so that the newest operation is returned first. + * // Do the magic + * const res = await compute.globalOrganizationOperations.get({ + * // Name of the Operations resource to return. Parent is derived from this + * // field. + * operation: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // Parent ID for this request. Not used. Parent is derived from resource_id. + * parentId: 'placeholder-value', + * }); + * console.log(res.data); * - * Currently, only sorting by `name` or - * `creationTimestamp desc` is supported. - */ - orderBy?: string; - /** - * Specifies a page token to use. Set `pageToken` to the - * `nextPageToken` returned by a previous list request to get - * the next page of results. - */ - pageToken?: string; - /** - * Required. Project ID for this request. - */ - project?: string; - /** - * Opt-in for partial success behavior which provides partial results in case - * of failure. The default value is false. + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } * - * For example, when partial success behavior is enabled, aggregatedList for a - * single zone scope either returns all resources in the zone or no resources, - * with an error code. - */ - returnPartialSuccess?: boolean; - } - export interface Params$Resource$Globalvmextensionpolicies$Update extends StandardParameters { - /** - * Name of the global VM extension policy to update. - */ - globalVmExtensionPolicy?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. + * main().catch(e => { + * console.error(e); + * throw e; + * }); * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. + * ``` * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. */ - requestId?: string; + get( + params: Params$Resource$Globalorganizationoperations$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Globalorganizationoperations$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Globalorganizationoperations$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Globalorganizationoperations$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Globalorganizationoperations$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Globalorganizationoperations$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Globalorganizationoperations$Get; + let options = (optionsOrCallback || {}) as MethodOptions; - /** - * Request body metadata - */ - requestBody?: Schema$GlobalVmExtensionPolicy; - } + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Globalorganizationoperations$Get; + options = {}; + } - export class Resource$Hacontrollers { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/compute/alpha/locations/global/operations/{operation}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['operation'], + pathParams: ['operation'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } } /** - * Retrieves an aggregated list of all of the HaControllers in the specified - * project across all regions. + * Retrieves a list of Operation resources contained within the specified + * organization. * @example * ```js * // Before running the sample: @@ -86196,7 +84339,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.haControllers.aggregatedList({ + * const res = await compute.globalOrganizationOperations.list({ * // A filter expression that filters resources listed in the response. Most * // Compute resources support two types of filter expressions: * // expressions that support regular expressions and expressions that follow @@ -86256,14 +84399,6 @@ export namespace compute_alpha { * // You cannot combine constraints on multiple fields using regular * // expressions. * filter: 'placeholder-value', - * // 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. - * includeAllScopes: 'placeholder-value', * // The maximum number of results per page that should be returned. * // If the number of available results is larger than `maxResults`, * // Compute Engine returns a `nextPageToken` that can be used to get @@ -86286,9 +84421,8 @@ export namespace compute_alpha { * // `nextPageToken` returned by a previous list request to get * // the next page of results. * pageToken: 'placeholder-value', - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Parent ID for this request. + * parentId: 'placeholder-value', * // Opt-in for partial success behavior which provides partial results in case * // of failure. The default value is false. * // @@ -86296,21 +84430,16 @@ export namespace compute_alpha { * // single zone scope either returns all resources in the zone or no resources, * // with an error code. * returnPartialSuccess: 'placeholder-value', - * // The Shared VPC service project id or service project number for which - * // aggregated list request is invoked for subnetworks list-usable api. - * serviceProjectNumber: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { - * // "etag": "my_etag", * // "id": "my_id", - * // "items": {}, + * // "items": [], * // "kind": "my_kind", * // "nextPageToken": "my_nextPageToken", * // "selfLink": "my_selfLink", - * // "unreachables": [], * // "warning": {} * // } * } @@ -86327,57 +84456,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - aggregatedList( - params: Params$Resource$Hacontrollers$Aggregatedlist, + list( + params: Params$Resource$Globalorganizationoperations$List, options: StreamMethodOptions ): Promise>; - aggregatedList( - params?: Params$Resource$Hacontrollers$Aggregatedlist, + list( + params?: Params$Resource$Globalorganizationoperations$List, options?: MethodOptions - ): Promise>; - aggregatedList( - params: Params$Resource$Hacontrollers$Aggregatedlist, + ): Promise>; + list( + params: Params$Resource$Globalorganizationoperations$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - aggregatedList( - params: Params$Resource$Hacontrollers$Aggregatedlist, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - aggregatedList( - params: Params$Resource$Hacontrollers$Aggregatedlist, - callback: BodyResponseCallback + list( + params: Params$Resource$Globalorganizationoperations$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - aggregatedList( - callback: BodyResponseCallback + list( + params: Params$Resource$Globalorganizationoperations$List, + callback: BodyResponseCallback ): void; - aggregatedList( + list(callback: BodyResponseCallback): void; + list( paramsOrCallback?: - | Params$Resource$Hacontrollers$Aggregatedlist - | BodyResponseCallback + | Params$Resource$Globalorganizationoperations$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Hacontrollers$Aggregatedlist; + {}) as Params$Resource$Globalorganizationoperations$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Hacontrollers$Aggregatedlist; + params = {} as Params$Resource$Globalorganizationoperations$List; options = {}; } @@ -86391,8 +84516,7 @@ export namespace compute_alpha { options: Object.assign( { url: ( - rootUrl + - '/compute/alpha/projects/{project}/aggregated/haControllers' + rootUrl + '/compute/alpha/locations/global/operations' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -86400,203 +84524,156 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project'], - pathParams: ['project'], + requiredParams: [], + pathParams: [], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } + } + export interface Params$Resource$Globalorganizationoperations$Delete extends StandardParameters { /** - * Deletes an HaController in the specified project. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/compute.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` + * Name of the Operations resource to delete, or its unique numeric + * identifier. + */ + operation?: string; + /** + * Parent ID for this request. + */ + parentId?: string; + } + export interface Params$Resource$Globalorganizationoperations$Get extends StandardParameters { + /** + * Name of the Operations resource to return. Parent is derived from this + * field. + */ + operation?: string; + /** + * Parent ID for this request. Not used. Parent is derived from resource_id. + */ + parentId?: string; + } + export interface Params$Resource$Globalorganizationoperations$List extends StandardParameters { + /** + * A filter expression that filters resources listed in the response. Most + * Compute resources support two types of filter expressions: + * expressions that support regular expressions and expressions that follow + * API improvement proposal AIP-160. + * These two types of filter expressions cannot be mixed in one request. * - * const {google} = require('googleapis'); - * const compute = google.compute('alpha'); + * If you want to use AIP-160, your expression must specify the field name, an + * operator, and the value that you want to use for filtering. The value + * must be a string, a number, or a boolean. The operator + * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/cloud-platform', - * 'https://www.googleapis.com/auth/compute', - * ], - * }); + * For example, if you are filtering Compute Engine instances, you can + * exclude instances named `example-instance` by specifying + * `name != example-instance`. * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); + * The `:*` comparison can be used to test whether a key has been defined. + * For example, to find all objects with `owner` label use: + * ``` + * labels.owner:* + * ``` * - * // Do the magic - * const res = await compute.haControllers.delete({ - * // Force-deletes HA Controller when the Delete is stuck. Instance that is not - * // primary at the moment will also be deleted. Can only be used against the HA - * // Controller resource that is already being deleted. - * force: 'placeholder-value', - * // Name of the HaController resource to delete. - * haController: 'placeholder-value', - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name of the region for this request. - * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * requestId: 'placeholder-value', - * }); - * console.log(res.data); + * You can also filter nested fields. For example, you could specify + * `scheduling.automaticRestart = false` to include instances only + * if they are not scheduled for automatic restarts. You can use filtering + * on nested fields to filter based onresource labels. * - * // Example response - * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, - * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, - * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" - * // } - * } + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example: + * ``` + * (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake") + * ``` + * By default, each expression is an `AND` expression. However, you + * can include `AND` and `OR` expressions explicitly. + * For example: + * ``` + * (cpuPlatform = "Intel Skylake") OR + * (cpuPlatform = "Intel Broadwell") AND + * (scheduling.automaticRestart = true) + * ``` * - * main().catch(e => { - * console.error(e); - * throw e; - * }); + * If you want to use a regular expression, use the `eq` (equal) or `ne` + * (not equal) operator against a single un-parenthesized expression with or + * without quotes or against multiple parenthesized expressions. Examples: * - * ``` + * `fieldname eq unquoted literal` + * `fieldname eq 'single quoted literal'` + * `fieldname eq "double quoted literal"` + * `(fieldname1 eq literal) (fieldname2 ne "literal")` * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. + * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * The literal value must match the entire field. + * + * For example, to filter for instances that do not end with name "instance", + * you would use `name ne .*instance`. + * + * You cannot combine constraints on multiple fields using regular + * expressions. */ - delete( - params: Params$Resource$Hacontrollers$Delete, - options: StreamMethodOptions - ): Promise>; - delete( - params?: Params$Resource$Hacontrollers$Delete, - options?: MethodOptions - ): Promise>; - delete( - params: Params$Resource$Hacontrollers$Delete, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - delete( - params: Params$Resource$Hacontrollers$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - delete( - params: Params$Resource$Hacontrollers$Delete, - callback: BodyResponseCallback - ): void; - delete(callback: BodyResponseCallback): void; - delete( - paramsOrCallback?: - | Params$Resource$Hacontrollers$Delete - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Hacontrollers$Delete; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Hacontrollers$Delete; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } + filter?: string; + /** + * The maximum number of results per page that should be returned. + * If the number of available results is larger than `maxResults`, + * Compute Engine returns a `nextPageToken` that can be used to get + * the next page of results in subsequent list requests. Acceptable values are + * `0` to `500`, inclusive. (Default: `500`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results + * are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation + * timestamp using `orderBy="creationTimestamp desc"`. This sorts + * results based on the `creationTimestamp` field in + * reverse chronological order (newest result first). Use this to sort + * resources like operations so that the newest operation is returned first. + * + * Currently, only sorting by `name` or + * `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the + * `nextPageToken` returned by a previous list request to get + * the next page of results. + */ + pageToken?: string; + /** + * Parent ID for this request. + */ + parentId?: string; + /** + * Opt-in for partial success behavior which provides partial results in case + * of failure. The default value is false. + * + * For example, when partial success behavior is enabled, aggregatedList for a + * single zone scope either returns all resources in the zone or no resources, + * with an error code. + */ + returnPartialSuccess?: boolean; + } - const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/compute/alpha/projects/{project}/regions/{region}/haControllers/{haController}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['project', 'region', 'haController'], - pathParams: ['haController', 'project', 'region'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } + export class Resource$Globalpublicdelegatedprefixes { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; } /** - * Fails over a VM targeted by the specified HaController to the selected - * zone. + * Deletes the specified global PublicDelegatedPrefix. * @example * ```js * // Before running the sample: @@ -86628,27 +84705,26 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.haControllers.failover({ - * // ID of the HaController resource to update. - * haController: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.globalPublicDelegatedPrefixes.delete({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name of the region for this request. - * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * // Name of the PublicDelegatedPrefix resource to delete. + * publicDelegatedPrefix: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // An optional request ID to identify requests. Specify a unique request ID so * // that if you must retry your request, the server will know to ignore the * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "failoverToZone": "my_failoverToZone", - * // "primaryZone": "my_primaryZone" - * // } - * }, * }); * console.log(res.data); * @@ -86697,32 +84773,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - failover( - params: Params$Resource$Hacontrollers$Failover, + delete( + params: Params$Resource$Globalpublicdelegatedprefixes$Delete, options: StreamMethodOptions ): Promise>; - failover( - params?: Params$Resource$Hacontrollers$Failover, + delete( + params?: Params$Resource$Globalpublicdelegatedprefixes$Delete, options?: MethodOptions ): Promise>; - failover( - params: Params$Resource$Hacontrollers$Failover, + delete( + params: Params$Resource$Globalpublicdelegatedprefixes$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - failover( - params: Params$Resource$Hacontrollers$Failover, + delete( + params: Params$Resource$Globalpublicdelegatedprefixes$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - failover( - params: Params$Resource$Hacontrollers$Failover, + delete( + params: Params$Resource$Globalpublicdelegatedprefixes$Delete, callback: BodyResponseCallback ): void; - failover(callback: BodyResponseCallback): void; - failover( + delete(callback: BodyResponseCallback): void; + delete( paramsOrCallback?: - | Params$Resource$Hacontrollers$Failover + | Params$Resource$Globalpublicdelegatedprefixes$Delete | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -86738,12 +84814,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Hacontrollers$Failover; + {}) as Params$Resource$Globalpublicdelegatedprefixes$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Hacontrollers$Failover; + params = {} as Params$Resource$Globalpublicdelegatedprefixes$Delete; options = {}; } @@ -86758,16 +84834,16 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/regions/{region}/haControllers/{haController}/failover' + '/compute/alpha/projects/{project}/global/publicDelegatedPrefixes/{publicDelegatedPrefix}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'DELETE', apiVersion: '', }, options ), params, - requiredParams: ['project', 'region', 'haController'], - pathParams: ['haController', 'project', 'region'], + requiredParams: ['project', 'publicDelegatedPrefix'], + pathParams: ['project', 'publicDelegatedPrefix'], context: this.context, }; if (callback) { @@ -86781,7 +84857,7 @@ export namespace compute_alpha { } /** - * Returns all the details of a specific HaController. + * Returns the specified global PublicDelegatedPrefix resource. * @example * ```js * // Before running the sample: @@ -86814,35 +84890,38 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.haControllers.get({ - * // Name of the HaController resource to return. - * haController: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.globalPublicDelegatedPrefixes.get({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name of the region for this request. - * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * // Name of the PublicDelegatedPrefix resource to return. + * publicDelegatedPrefix: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * }); * console.log(res.data); * * // Example response * // { - * // "backendServices": [], + * // "allocatablePrefixLength": 0, + * // "byoipApiVersion": "my_byoipApiVersion", * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", - * // "failoverCapacity": "my_failoverCapacity", - * // "failoverInitiation": "my_failoverInitiation", + * // "enableEnhancedIpv4Allocation": false, + * // "fingerprint": "my_fingerprint", * // "id": "my_id", - * // "instanceName": "my_instanceName", + * // "ipCidrRange": "my_ipCidrRange", + * // "ipv6AccessType": "my_ipv6AccessType", + * // "isLiveMigration": false, * // "kind": "my_kind", + * // "mode": "my_mode", * // "name": "my_name", - * // "networkingAutoConfiguration": {}, + * // "networkTier": "my_networkTier", + * // "parentPrefix": "my_parentPrefix", + * // "publicDelegatedSubPrefixs": [], + * // "purpose": "my_purpose", * // "region": "my_region", - * // "secondaryZoneCapacity": "my_secondaryZoneCapacity", * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", - * // "status": {}, - * // "zoneConfigurations": {} + * // "status": "my_status" * // } * } * @@ -86859,52 +84938,54 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ get( - params: Params$Resource$Hacontrollers$Get, + params: Params$Resource$Globalpublicdelegatedprefixes$Get, options: StreamMethodOptions ): Promise>; get( - params?: Params$Resource$Hacontrollers$Get, + params?: Params$Resource$Globalpublicdelegatedprefixes$Get, options?: MethodOptions - ): Promise>; + ): Promise>; get( - params: Params$Resource$Hacontrollers$Get, + params: Params$Resource$Globalpublicdelegatedprefixes$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; get( - params: Params$Resource$Hacontrollers$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + params: Params$Resource$Globalpublicdelegatedprefixes$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; get( - params: Params$Resource$Hacontrollers$Get, - callback: BodyResponseCallback + params: Params$Resource$Globalpublicdelegatedprefixes$Get, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; get( paramsOrCallback?: - | Params$Resource$Hacontrollers$Get - | BodyResponseCallback + | Params$Resource$Globalpublicdelegatedprefixes$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Hacontrollers$Get; + {}) as Params$Resource$Globalpublicdelegatedprefixes$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Hacontrollers$Get; + params = {} as Params$Resource$Globalpublicdelegatedprefixes$Get; options = {}; } @@ -86919,7 +85000,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/regions/{region}/haControllers/{haController}' + '/compute/alpha/projects/{project}/global/publicDelegatedPrefixes/{publicDelegatedPrefix}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -86927,22 +85008,23 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'region', 'haController'], - pathParams: ['haController', 'project', 'region'], + requiredParams: ['project', 'publicDelegatedPrefix'], + pathParams: ['project', 'publicDelegatedPrefix'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Creates HaController in the specified project. + * Creates a global PublicDelegatedPrefix in the specified project using the + * parameters that are included in the request. * @example * ```js * // Before running the sample: @@ -86974,37 +85056,50 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.haControllers.insert({ + * const res = await compute.globalPublicDelegatedPrefixes.insert({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name of the region for this request. - * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * // An optional request ID to identify requests. Specify a unique request ID so * // that if you must retry your request, the server will know to ignore the * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', * * // Request body metadata * requestBody: { * // request body parameters * // { - * // "backendServices": [], + * // "allocatablePrefixLength": 0, + * // "byoipApiVersion": "my_byoipApiVersion", * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", - * // "failoverCapacity": "my_failoverCapacity", - * // "failoverInitiation": "my_failoverInitiation", + * // "enableEnhancedIpv4Allocation": false, + * // "fingerprint": "my_fingerprint", * // "id": "my_id", - * // "instanceName": "my_instanceName", + * // "ipCidrRange": "my_ipCidrRange", + * // "ipv6AccessType": "my_ipv6AccessType", + * // "isLiveMigration": false, * // "kind": "my_kind", + * // "mode": "my_mode", * // "name": "my_name", - * // "networkingAutoConfiguration": {}, + * // "networkTier": "my_networkTier", + * // "parentPrefix": "my_parentPrefix", + * // "publicDelegatedSubPrefixs": [], + * // "purpose": "my_purpose", * // "region": "my_region", - * // "secondaryZoneCapacity": "my_secondaryZoneCapacity", * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", - * // "status": {}, - * // "zoneConfigurations": {} + * // "status": "my_status" * // } * }, * }); @@ -87056,31 +85151,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ insert( - params: Params$Resource$Hacontrollers$Insert, + params: Params$Resource$Globalpublicdelegatedprefixes$Insert, options: StreamMethodOptions ): Promise>; insert( - params?: Params$Resource$Hacontrollers$Insert, + params?: Params$Resource$Globalpublicdelegatedprefixes$Insert, options?: MethodOptions ): Promise>; insert( - params: Params$Resource$Hacontrollers$Insert, + params: Params$Resource$Globalpublicdelegatedprefixes$Insert, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; insert( - params: Params$Resource$Hacontrollers$Insert, + params: Params$Resource$Globalpublicdelegatedprefixes$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; insert( - params: Params$Resource$Hacontrollers$Insert, + params: Params$Resource$Globalpublicdelegatedprefixes$Insert, callback: BodyResponseCallback ): void; insert(callback: BodyResponseCallback): void; insert( paramsOrCallback?: - | Params$Resource$Hacontrollers$Insert + | Params$Resource$Globalpublicdelegatedprefixes$Insert | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -87096,12 +85191,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Hacontrollers$Insert; + {}) as Params$Resource$Globalpublicdelegatedprefixes$Insert; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Hacontrollers$Insert; + params = {} as Params$Resource$Globalpublicdelegatedprefixes$Insert; options = {}; } @@ -87116,7 +85211,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/regions/{region}/haControllers' + '/compute/alpha/projects/{project}/global/publicDelegatedPrefixes' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -87124,8 +85219,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'region'], - pathParams: ['project', 'region'], + requiredParams: ['project'], + pathParams: ['project'], context: this.context, }; if (callback) { @@ -87139,7 +85234,7 @@ export namespace compute_alpha { } /** - * Lists all HaControllers in the specified project in the specified region. + * Lists the global PublicDelegatedPrefixes for a project. * @example * ```js * // Before running the sample: @@ -87172,7 +85267,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.haControllers.list({ + * const res = await compute.globalPublicDelegatedPrefixes.list({ * // A filter expression that filters resources listed in the response. Most * // Compute resources support two types of filter expressions: * // expressions that support regular expressions and expressions that follow @@ -87257,8 +85352,6 @@ export namespace compute_alpha { * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name of the region for this request. - * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * // Opt-in for partial success behavior which provides partial results in case * // of failure. The default value is false. * // @@ -87271,12 +85364,11 @@ export namespace compute_alpha { * * // Example response * // { - * // "etag": "my_etag", * // "id": "my_id", * // "items": [], + * // "kind": "my_kind", * // "nextPageToken": "my_nextPageToken", * // "selfLink": "my_selfLink", - * // "unreachables": [], * // "warning": {} * // } * } @@ -87294,52 +85386,56 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ list( - params: Params$Resource$Hacontrollers$List, + params: Params$Resource$Globalpublicdelegatedprefixes$List, options: StreamMethodOptions ): Promise>; list( - params?: Params$Resource$Hacontrollers$List, + params?: Params$Resource$Globalpublicdelegatedprefixes$List, options?: MethodOptions - ): Promise>; + ): Promise>; list( - params: Params$Resource$Hacontrollers$List, + params: Params$Resource$Globalpublicdelegatedprefixes$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; list( - params: Params$Resource$Hacontrollers$List, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + params: Params$Resource$Globalpublicdelegatedprefixes$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; list( - params: Params$Resource$Hacontrollers$List, - callback: BodyResponseCallback + params: Params$Resource$Globalpublicdelegatedprefixes$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; list( paramsOrCallback?: - | Params$Resource$Hacontrollers$List - | BodyResponseCallback + | Params$Resource$Globalpublicdelegatedprefixes$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Hacontrollers$List; + {}) as Params$Resource$Globalpublicdelegatedprefixes$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Hacontrollers$List; + params = {} as Params$Resource$Globalpublicdelegatedprefixes$List; options = {}; } @@ -87354,7 +85450,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/regions/{region}/haControllers' + '/compute/alpha/projects/{project}/global/publicDelegatedPrefixes' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -87362,22 +85458,25 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'region'], - pathParams: ['project', 'region'], + requiredParams: ['project'], + pathParams: ['project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Updates HaController in the specified project. + * Patches the specified global PublicDelegatedPrefix resource with the data + * included in the request. This method supportsPATCH + * semantics and usesJSON merge + * patch format and processing rules. * @example * ```js * // Before running the sample: @@ -87409,41 +85508,52 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.haControllers.patch({ - * // ID of the HaController resource to update. - * haController: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.globalPublicDelegatedPrefixes.patch({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name of the region for this request. - * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * // Name of the PublicDelegatedPrefix resource to patch. + * publicDelegatedPrefix: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // An optional request ID to identify requests. Specify a unique request ID so * // that if you must retry your request, the server will know to ignore the * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', - * // update_mask indicates fields to be updated as part of this request. - * updateMask: 'placeholder-value', * * // Request body metadata * requestBody: { * // request body parameters * // { - * // "backendServices": [], + * // "allocatablePrefixLength": 0, + * // "byoipApiVersion": "my_byoipApiVersion", * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", - * // "failoverCapacity": "my_failoverCapacity", - * // "failoverInitiation": "my_failoverInitiation", + * // "enableEnhancedIpv4Allocation": false, + * // "fingerprint": "my_fingerprint", * // "id": "my_id", - * // "instanceName": "my_instanceName", + * // "ipCidrRange": "my_ipCidrRange", + * // "ipv6AccessType": "my_ipv6AccessType", + * // "isLiveMigration": false, * // "kind": "my_kind", + * // "mode": "my_mode", * // "name": "my_name", - * // "networkingAutoConfiguration": {}, + * // "networkTier": "my_networkTier", + * // "parentPrefix": "my_parentPrefix", + * // "publicDelegatedSubPrefixs": [], + * // "purpose": "my_purpose", * // "region": "my_region", - * // "secondaryZoneCapacity": "my_secondaryZoneCapacity", * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", - * // "status": {}, - * // "zoneConfigurations": {} + * // "status": "my_status" * // } * }, * }); @@ -87495,31 +85605,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ patch( - params: Params$Resource$Hacontrollers$Patch, + params: Params$Resource$Globalpublicdelegatedprefixes$Patch, options: StreamMethodOptions ): Promise>; patch( - params?: Params$Resource$Hacontrollers$Patch, + params?: Params$Resource$Globalpublicdelegatedprefixes$Patch, options?: MethodOptions ): Promise>; patch( - params: Params$Resource$Hacontrollers$Patch, + params: Params$Resource$Globalpublicdelegatedprefixes$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; patch( - params: Params$Resource$Hacontrollers$Patch, + params: Params$Resource$Globalpublicdelegatedprefixes$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; patch( - params: Params$Resource$Hacontrollers$Patch, + params: Params$Resource$Globalpublicdelegatedprefixes$Patch, callback: BodyResponseCallback ): void; patch(callback: BodyResponseCallback): void; patch( paramsOrCallback?: - | Params$Resource$Hacontrollers$Patch + | Params$Resource$Globalpublicdelegatedprefixes$Patch | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -87535,12 +85645,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Hacontrollers$Patch; + {}) as Params$Resource$Globalpublicdelegatedprefixes$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Hacontrollers$Patch; + params = {} as Params$Resource$Globalpublicdelegatedprefixes$Patch; options = {}; } @@ -87555,7 +85665,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/regions/{region}/haControllers/{haController}' + '/compute/alpha/projects/{project}/global/publicDelegatedPrefixes/{publicDelegatedPrefix}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'PATCH', apiVersion: '', @@ -87563,8 +85673,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'region', 'haController'], - pathParams: ['haController', 'project', 'region'], + requiredParams: ['project', 'publicDelegatedPrefix'], + pathParams: ['project', 'publicDelegatedPrefix'], context: this.context, }; if (callback) { @@ -87578,212 +85688,70 @@ export namespace compute_alpha { } } - export interface Params$Resource$Hacontrollers$Aggregatedlist extends StandardParameters { - /** - * A filter expression that filters resources listed in the response. Most - * Compute resources support two types of filter expressions: - * expressions that support regular expressions and expressions that follow - * API improvement proposal AIP-160. - * These two types of filter expressions cannot be mixed in one request. - * - * If you want to use AIP-160, your expression must specify the field name, an - * operator, and the value that you want to use for filtering. The value - * must be a string, a number, or a boolean. The operator - * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * - * For example, if you are filtering Compute Engine instances, you can - * exclude instances named `example-instance` by specifying - * `name != example-instance`. - * - * The `:*` comparison can be used to test whether a key has been defined. - * For example, to find all objects with `owner` label use: - * ``` - * labels.owner:* - * ``` - * - * You can also filter nested fields. For example, you could specify - * `scheduling.automaticRestart = false` to include instances only - * if they are not scheduled for automatic restarts. You can use filtering - * on nested fields to filter based onresource labels. - * - * To filter on multiple expressions, provide each separate expression within - * parentheses. For example: - * ``` - * (scheduling.automaticRestart = true) - * (cpuPlatform = "Intel Skylake") - * ``` - * By default, each expression is an `AND` expression. However, you - * can include `AND` and `OR` expressions explicitly. - * For example: - * ``` - * (cpuPlatform = "Intel Skylake") OR - * (cpuPlatform = "Intel Broadwell") AND - * (scheduling.automaticRestart = true) - * ``` - * - * If you want to use a regular expression, use the `eq` (equal) or `ne` - * (not equal) operator against a single un-parenthesized expression with or - * without quotes or against multiple parenthesized expressions. Examples: - * - * `fieldname eq unquoted literal` - * `fieldname eq 'single quoted literal'` - * `fieldname eq "double quoted literal"` - * `(fieldname1 eq literal) (fieldname2 ne "literal")` - * - * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * The literal value must match the entire field. - * - * For example, to filter for instances that do not end with name "instance", - * you would use `name ne .*instance`. - * - * You cannot combine constraints on multiple fields using regular - * expressions. - */ - filter?: string; - /** - * 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. - */ - includeAllScopes?: boolean; - /** - * The maximum number of results per page that should be returned. - * If the number of available results is larger than `maxResults`, - * Compute Engine returns a `nextPageToken` that can be used to get - * the next page of results in subsequent list requests. Acceptable values are - * `0` to `500`, inclusive. (Default: `500`) - */ - maxResults?: number; - /** - * Sorts list results by a certain order. By default, results - * are returned in alphanumerical order based on the resource name. - * - * You can also sort results in descending order based on the creation - * timestamp using `orderBy="creationTimestamp desc"`. This sorts - * results based on the `creationTimestamp` field in - * reverse chronological order (newest result first). Use this to sort - * resources like operations so that the newest operation is returned first. - * - * Currently, only sorting by `name` or - * `creationTimestamp desc` is supported. - */ - orderBy?: string; - /** - * Specifies a page token to use. Set `pageToken` to the - * `nextPageToken` returned by a previous list request to get - * the next page of results. - */ - pageToken?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * Opt-in for partial success behavior which provides partial results in case - * of failure. The default value is false. - * - * For example, when partial success behavior is enabled, aggregatedList for a - * single zone scope either returns all resources in the zone or no resources, - * with an error code. - */ - returnPartialSuccess?: boolean; - /** - * The Shared VPC service project id or service project number for which - * aggregated list request is invoked for subnetworks list-usable api. - */ - serviceProjectNumber?: string; - } - export interface Params$Resource$Hacontrollers$Delete extends StandardParameters { - /** - * Force-deletes HA Controller when the Delete is stuck. Instance that is not - * primary at the moment will also be deleted. Can only be used against the HA - * Controller resource that is already being deleted. - */ - force?: boolean; - /** - * Name of the HaController resource to delete. - */ - haController?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * Name of the region for this request. - */ - region?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - */ - requestId?: string; - } - export interface Params$Resource$Hacontrollers$Failover extends StandardParameters { - /** - * ID of the HaController resource to update. - */ - haController?: string; + export interface Params$Resource$Globalpublicdelegatedprefixes$Delete extends StandardParameters { /** * Project ID for this request. */ project?: string; /** - * Name of the region for this request. + * Name of the PublicDelegatedPrefix resource to delete. */ - region?: string; + publicDelegatedPrefix?: string; /** * An optional request ID to identify requests. Specify a unique request ID so * that if you must retry your request, the server will know to ignore the * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). */ requestId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$HaControllersFailoverRequest; } - export interface Params$Resource$Hacontrollers$Get extends StandardParameters { - /** - * Name of the HaController resource to return. - */ - haController?: string; + export interface Params$Resource$Globalpublicdelegatedprefixes$Get extends StandardParameters { /** * Project ID for this request. */ project?: string; /** - * Name of the region for this request. + * Name of the PublicDelegatedPrefix resource to return. */ - region?: string; + publicDelegatedPrefix?: string; } - export interface Params$Resource$Hacontrollers$Insert extends StandardParameters { + export interface Params$Resource$Globalpublicdelegatedprefixes$Insert extends StandardParameters { /** * Project ID for this request. */ project?: string; - /** - * Name of the region for this request. - */ - region?: string; /** * An optional request ID to identify requests. Specify a unique request ID so * that if you must retry your request, the server will know to ignore the * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). */ requestId?: string; /** * Request body metadata */ - requestBody?: Schema$HaController; + requestBody?: Schema$PublicDelegatedPrefix; } - export interface Params$Resource$Hacontrollers$List extends StandardParameters { + export interface Params$Resource$Globalpublicdelegatedprefixes$List extends StandardParameters { /** * A filter expression that filters resources listed in the response. Most * Compute resources support two types of filter expressions: @@ -87877,10 +85845,6 @@ export namespace compute_alpha { * Project ID for this request. */ project?: string; - /** - * Name of the region for this request. - */ - region?: string; /** * Opt-in for partial success behavior which provides partial results in case * of failure. The default value is false. @@ -87891,47 +85855,49 @@ export namespace compute_alpha { */ returnPartialSuccess?: boolean; } - export interface Params$Resource$Hacontrollers$Patch extends StandardParameters { - /** - * ID of the HaController resource to update. - */ - haController?: string; + export interface Params$Resource$Globalpublicdelegatedprefixes$Patch extends StandardParameters { /** * Project ID for this request. */ project?: string; /** - * Name of the region for this request. + * Name of the PublicDelegatedPrefix resource to patch. */ - region?: string; + publicDelegatedPrefix?: string; /** * An optional request ID to identify requests. Specify a unique request ID so * that if you must retry your request, the server will know to ignore the * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). */ requestId?: string; - /** - * update_mask indicates fields to be updated as part of this request. - */ - updateMask?: string; /** * Request body metadata */ - requestBody?: Schema$HaController; + requestBody?: Schema$PublicDelegatedPrefix; } - export class Resource$Healthchecks { + export class Resource$Globalvmextensionpolicies { context: APIRequestContext; constructor(context: APIRequestContext) { this.context = context; } /** - * Retrieves the list of all HealthCheck resources, regional and global, + * Retrieves the list of all VM Extension Policy resources * available to the specified project. * - * To prevent failure, Google recommends that you set the + * To prevent failure, it's recommended that you set the * `returnPartialSuccess` parameter to `true`. * @example * ```js @@ -87965,7 +85931,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.healthChecks.aggregatedList({ + * const res = await compute.globalVmExtensionPolicies.aggregatedList({ * // A filter expression that filters resources listed in the response. Most * // Compute resources support two types of filter expressions: * // expressions that support regular expressions and expressions that follow @@ -88073,6 +86039,7 @@ export namespace compute_alpha { * * // Example response * // { + * // "etag": "my_etag", * // "id": "my_id", * // "items": {}, * // "kind": "my_kind", @@ -88096,56 +86063,60 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ aggregatedList( - params: Params$Resource$Healthchecks$Aggregatedlist, + params: Params$Resource$Globalvmextensionpolicies$Aggregatedlist, options: StreamMethodOptions ): Promise>; aggregatedList( - params?: Params$Resource$Healthchecks$Aggregatedlist, + params?: Params$Resource$Globalvmextensionpolicies$Aggregatedlist, options?: MethodOptions - ): Promise>; + ): Promise< + GaxiosResponseWithHTTP2 + >; aggregatedList( - params: Params$Resource$Healthchecks$Aggregatedlist, + params: Params$Resource$Globalvmextensionpolicies$Aggregatedlist, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; aggregatedList( - params: Params$Resource$Healthchecks$Aggregatedlist, + params: Params$Resource$Globalvmextensionpolicies$Aggregatedlist, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; aggregatedList( - params: Params$Resource$Healthchecks$Aggregatedlist, - callback: BodyResponseCallback + params: Params$Resource$Globalvmextensionpolicies$Aggregatedlist, + callback: BodyResponseCallback ): void; aggregatedList( - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; aggregatedList( paramsOrCallback?: - | Params$Resource$Healthchecks$Aggregatedlist - | BodyResponseCallback + | Params$Resource$Globalvmextensionpolicies$Aggregatedlist + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise< + GaxiosResponseWithHTTP2 + > | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Healthchecks$Aggregatedlist; + {}) as Params$Resource$Globalvmextensionpolicies$Aggregatedlist; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Healthchecks$Aggregatedlist; + params = {} as Params$Resource$Globalvmextensionpolicies$Aggregatedlist; options = {}; } @@ -88160,7 +86131,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/aggregated/healthChecks' + '/compute/alpha/projects/{project}/aggregated/vmExtensionPolicies' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -88173,17 +86144,24 @@ export namespace compute_alpha { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); } } /** - * Deletes the specified HealthCheck resource. + * Purge scoped resources (zonal policies) from a global VM extension + * policy, and then delete the global VM extension policy. Purge of the scoped + * resources is a pre-condition of the global VM extension policy deletion. + * The deletion of the global VM extension policy happens after the purge + * rollout is done, so it's not a part of the LRO. It's an automatic process + * that triggers in the backend. * @example * ```js * // Before running the sample: @@ -88215,9 +86193,9 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.healthChecks.delete({ - * // Name of the HealthCheck resource to delete. - * healthCheck: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.globalVmExtensionPolicies.delete({ + * // Name of the global VM extension policy to purge scoped resources for. + * globalVmExtensionPolicy: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -88235,6 +86213,17 @@ export namespace compute_alpha { * // a valid UUID with the exception that zero UUID is not supported * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "conflictBehavior": "my_conflictBehavior", + * // "name": "my_name", + * // "predefinedRolloutPlan": "my_predefinedRolloutPlan", + * // "retryUuid": "my_retryUuid" + * // } + * }, * }); * console.log(res.data); * @@ -88284,31 +86273,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ delete( - params: Params$Resource$Healthchecks$Delete, + params: Params$Resource$Globalvmextensionpolicies$Delete, options: StreamMethodOptions ): Promise>; delete( - params?: Params$Resource$Healthchecks$Delete, + params?: Params$Resource$Globalvmextensionpolicies$Delete, options?: MethodOptions ): Promise>; delete( - params: Params$Resource$Healthchecks$Delete, + params: Params$Resource$Globalvmextensionpolicies$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Healthchecks$Delete, + params: Params$Resource$Globalvmextensionpolicies$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Healthchecks$Delete, + params: Params$Resource$Globalvmextensionpolicies$Delete, callback: BodyResponseCallback ): void; delete(callback: BodyResponseCallback): void; delete( paramsOrCallback?: - | Params$Resource$Healthchecks$Delete + | Params$Resource$Globalvmextensionpolicies$Delete | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -88324,12 +86313,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Healthchecks$Delete; + {}) as Params$Resource$Globalvmextensionpolicies$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Healthchecks$Delete; + params = {} as Params$Resource$Globalvmextensionpolicies$Delete; options = {}; } @@ -88344,16 +86333,16 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/healthChecks/{healthCheck}' + '/compute/alpha/projects/{project}/global/vmExtensionPolicies/{globalVmExtensionPolicy}/delete' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project', 'healthCheck'], - pathParams: ['healthCheck', 'project'], + requiredParams: ['project', 'globalVmExtensionPolicy'], + pathParams: ['globalVmExtensionPolicy', 'project'], context: this.context, }; if (callback) { @@ -88367,7 +86356,7 @@ export namespace compute_alpha { } /** - * Returns the specified HealthCheck resource. + * Gets details of a global VM extension policy. * @example * ```js * // Before running the sample: @@ -88400,9 +86389,10 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.healthChecks.get({ - * // Name of the HealthCheck resource to return. - * healthCheck: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.globalVmExtensionPolicies.get({ + * // Name of the GlobalVmExtensionPolicy resource to return. + * globalVmExtensionPolicy: + * '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -88411,29 +86401,19 @@ export namespace compute_alpha { * * // Example response * // { - * // "checkIntervalSec": 0, * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", - * // "grpcHealthCheck": {}, - * // "grpcTlsHealthCheck": {}, - * // "healthyThreshold": 0, - * // "http2HealthCheck": {}, - * // "httpHealthCheck": {}, - * // "httpsHealthCheck": {}, + * // "extensionPolicies": {}, * // "id": "my_id", + * // "instanceSelectors": [], * // "kind": "my_kind", - * // "logConfig": {}, * // "name": "my_name", - * // "region": "my_region", + * // "priority": 0, + * // "rolloutOperation": {}, + * // "scopedResourceStatus": "my_scopedResourceStatus", * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", - * // "sourceRegions": [], - * // "sslHealthCheck": {}, - * // "tcpHealthCheck": {}, - * // "timeoutSec": 0, - * // "type": "my_type", - * // "udpHealthCheck": {}, - * // "unhealthyThreshold": 0 + * // "updateTimestamp": "my_updateTimestamp" * // } * } * @@ -88450,51 +86430,54 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ get( - params: Params$Resource$Healthchecks$Get, + params: Params$Resource$Globalvmextensionpolicies$Get, options: StreamMethodOptions ): Promise>; get( - params?: Params$Resource$Healthchecks$Get, + params?: Params$Resource$Globalvmextensionpolicies$Get, options?: MethodOptions - ): Promise>; + ): Promise>; get( - params: Params$Resource$Healthchecks$Get, + params: Params$Resource$Globalvmextensionpolicies$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; get( - params: Params$Resource$Healthchecks$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + params: Params$Resource$Globalvmextensionpolicies$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; get( - params: Params$Resource$Healthchecks$Get, - callback: BodyResponseCallback + params: Params$Resource$Globalvmextensionpolicies$Get, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; get( paramsOrCallback?: - | Params$Resource$Healthchecks$Get - | BodyResponseCallback + | Params$Resource$Globalvmextensionpolicies$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Healthchecks$Get; + let params = (paramsOrCallback || + {}) as Params$Resource$Globalvmextensionpolicies$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Healthchecks$Get; + params = {} as Params$Resource$Globalvmextensionpolicies$Get; options = {}; } @@ -88509,7 +86492,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/healthChecks/{healthCheck}' + '/compute/alpha/projects/{project}/global/vmExtensionPolicies/{globalVmExtensionPolicy}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -88517,23 +86500,22 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'healthCheck'], - pathParams: ['healthCheck', 'project'], + requiredParams: ['project', 'globalVmExtensionPolicy'], + pathParams: ['globalVmExtensionPolicy', 'project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Creates a HealthCheck resource in the specified project using the data - * included in the request. + * Retrieves details of a specific VM extension. * @example * ```js * // Before running the sample: @@ -88557,6 +86539,7 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -88565,7 +86548,152 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.healthChecks.insert({ + * const res = await compute.globalVmExtensionPolicies.getVmExtension({ + * extensionName: 'placeholder-value', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "name": "my_name", + * // "versions": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + getVmExtension( + params: Params$Resource$Globalvmextensionpolicies$Getvmextension, + options: StreamMethodOptions + ): Promise>; + getVmExtension( + params?: Params$Resource$Globalvmextensionpolicies$Getvmextension, + options?: MethodOptions + ): Promise>; + getVmExtension( + params: Params$Resource$Globalvmextensionpolicies$Getvmextension, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getVmExtension( + params: Params$Resource$Globalvmextensionpolicies$Getvmextension, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getVmExtension( + params: Params$Resource$Globalvmextensionpolicies$Getvmextension, + callback: BodyResponseCallback + ): void; + getVmExtension( + callback: BodyResponseCallback + ): void; + getVmExtension( + paramsOrCallback?: + | Params$Resource$Globalvmextensionpolicies$Getvmextension + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Globalvmextensionpolicies$Getvmextension; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Globalvmextensionpolicies$Getvmextension; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/global/vmExtensions/{extensionName}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'extensionName'], + pathParams: ['extensionName', 'project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Creates a new project level GlobalVmExtensionPolicy. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.globalVmExtensionPolicies.insert({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -88588,29 +86716,19 @@ export namespace compute_alpha { * requestBody: { * // request body parameters * // { - * // "checkIntervalSec": 0, * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", - * // "grpcHealthCheck": {}, - * // "grpcTlsHealthCheck": {}, - * // "healthyThreshold": 0, - * // "http2HealthCheck": {}, - * // "httpHealthCheck": {}, - * // "httpsHealthCheck": {}, + * // "extensionPolicies": {}, * // "id": "my_id", + * // "instanceSelectors": [], * // "kind": "my_kind", - * // "logConfig": {}, * // "name": "my_name", - * // "region": "my_region", + * // "priority": 0, + * // "rolloutOperation": {}, + * // "scopedResourceStatus": "my_scopedResourceStatus", * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", - * // "sourceRegions": [], - * // "sslHealthCheck": {}, - * // "tcpHealthCheck": {}, - * // "timeoutSec": 0, - * // "type": "my_type", - * // "udpHealthCheck": {}, - * // "unhealthyThreshold": 0 + * // "updateTimestamp": "my_updateTimestamp" * // } * }, * }); @@ -88662,31 +86780,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ insert( - params: Params$Resource$Healthchecks$Insert, + params: Params$Resource$Globalvmextensionpolicies$Insert, options: StreamMethodOptions ): Promise>; insert( - params?: Params$Resource$Healthchecks$Insert, + params?: Params$Resource$Globalvmextensionpolicies$Insert, options?: MethodOptions ): Promise>; insert( - params: Params$Resource$Healthchecks$Insert, + params: Params$Resource$Globalvmextensionpolicies$Insert, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; insert( - params: Params$Resource$Healthchecks$Insert, + params: Params$Resource$Globalvmextensionpolicies$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; insert( - params: Params$Resource$Healthchecks$Insert, + params: Params$Resource$Globalvmextensionpolicies$Insert, callback: BodyResponseCallback ): void; insert(callback: BodyResponseCallback): void; insert( paramsOrCallback?: - | Params$Resource$Healthchecks$Insert + | Params$Resource$Globalvmextensionpolicies$Insert | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -88702,12 +86820,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Healthchecks$Insert; + {}) as Params$Resource$Globalvmextensionpolicies$Insert; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Healthchecks$Insert; + params = {} as Params$Resource$Globalvmextensionpolicies$Insert; options = {}; } @@ -88721,7 +86839,8 @@ export namespace compute_alpha { options: Object.assign( { url: ( - rootUrl + '/compute/alpha/projects/{project}/global/healthChecks' + rootUrl + + '/compute/alpha/projects/{project}/global/vmExtensionPolicies' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -88744,8 +86863,7 @@ export namespace compute_alpha { } /** - * Retrieves the list of HealthCheck resources available to the specified - * project. + * Lists global VM extension policies. * @example * ```js * // Before running the sample: @@ -88778,7 +86896,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.healthChecks.list({ + * const res = await compute.globalVmExtensionPolicies.list({ * // A filter expression that filters resources listed in the response. Most * // Compute resources support two types of filter expressions: * // expressions that support regular expressions and expressions that follow @@ -88875,11 +86993,13 @@ export namespace compute_alpha { * * // Example response * // { + * // "etag": "my_etag", * // "id": "my_id", * // "items": [], * // "kind": "my_kind", * // "nextPageToken": "my_nextPageToken", * // "selfLink": "my_selfLink", + * // "unreachables": [], * // "warning": {} * // } * } @@ -88897,52 +87017,56 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ list( - params: Params$Resource$Healthchecks$List, + params: Params$Resource$Globalvmextensionpolicies$List, options: StreamMethodOptions ): Promise>; list( - params?: Params$Resource$Healthchecks$List, + params?: Params$Resource$Globalvmextensionpolicies$List, options?: MethodOptions - ): Promise>; + ): Promise>; list( - params: Params$Resource$Healthchecks$List, + params: Params$Resource$Globalvmextensionpolicies$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; list( - params: Params$Resource$Healthchecks$List, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + params: Params$Resource$Globalvmextensionpolicies$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; list( - params: Params$Resource$Healthchecks$List, - callback: BodyResponseCallback + params: Params$Resource$Globalvmextensionpolicies$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; list( paramsOrCallback?: - | Params$Resource$Healthchecks$List - | BodyResponseCallback + | Params$Resource$Globalvmextensionpolicies$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Healthchecks$List; + {}) as Params$Resource$Globalvmextensionpolicies$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Healthchecks$List; + params = {} as Params$Resource$Globalvmextensionpolicies$List; options = {}; } @@ -88956,7 +87080,8 @@ export namespace compute_alpha { options: Object.assign( { url: ( - rootUrl + '/compute/alpha/projects/{project}/global/healthChecks' + rootUrl + + '/compute/alpha/projects/{project}/global/vmExtensionPolicies' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -88969,20 +87094,18 @@ export namespace compute_alpha { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Updates a HealthCheck resource in the specified project using the data - * included in the request. This method supportsPATCH - * semantics and uses theJSON merge - * patch format and processing rules. + * Lists all VM extensions within a specific zone for a project. + * This is a read-only API. * @example * ```js * // Before running the sample: @@ -89006,6 +87129,7 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -89014,241 +87138,111 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.healthChecks.patch({ - * // Name of the HealthCheck resource to patch. - * healthCheck: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // Project ID for this request. + * const res = await compute.globalVmExtensionPolicies.listVmExtensions({ + * // A filter expression that filters resources listed in the response. Most + * // Compute resources support two types of filter expressions: + * // expressions that support regular expressions and expressions that follow + * // API improvement proposal AIP-160. + * // These two types of filter expressions cannot be mixed in one request. + * // + * // If you want to use AIP-160, your expression must specify the field name, an + * // operator, and the value that you want to use for filtering. The value + * // must be a string, a number, or a boolean. The operator + * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * // + * // For example, if you are filtering Compute Engine instances, you can + * // exclude instances named `example-instance` by specifying + * // `name != example-instance`. + * // + * // The `:*` comparison can be used to test whether a key has been defined. + * // For example, to find all objects with `owner` label use: + * // ``` + * // labels.owner:* + * // ``` + * // + * // You can also filter nested fields. For example, you could specify + * // `scheduling.automaticRestart = false` to include instances only + * // if they are not scheduled for automatic restarts. You can use filtering + * // on nested fields to filter based onresource labels. + * // + * // To filter on multiple expressions, provide each separate expression within + * // parentheses. For example: + * // ``` + * // (scheduling.automaticRestart = true) + * // (cpuPlatform = "Intel Skylake") + * // ``` + * // By default, each expression is an `AND` expression. However, you + * // can include `AND` and `OR` expressions explicitly. + * // For example: + * // ``` + * // (cpuPlatform = "Intel Skylake") OR + * // (cpuPlatform = "Intel Broadwell") AND + * // (scheduling.automaticRestart = true) + * // ``` + * // + * // If you want to use a regular expression, use the `eq` (equal) or `ne` + * // (not equal) operator against a single un-parenthesized expression with or + * // without quotes or against multiple parenthesized expressions. Examples: + * // + * // `fieldname eq unquoted literal` + * // `fieldname eq 'single quoted literal'` + * // `fieldname eq "double quoted literal"` + * // `(fieldname1 eq literal) (fieldname2 ne "literal")` + * // + * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * // The literal value must match the entire field. + * // + * // For example, to filter for instances that do not end with name "instance", + * // you would use `name ne .*instance`. + * // + * // You cannot combine constraints on multiple fields using regular + * // expressions. + * filter: 'placeholder-value', + * // The maximum number of results per page that should be returned. + * // If the number of available results is larger than `maxResults`, + * // Compute Engine returns a `nextPageToken` that can be used to get + * // the next page of results in subsequent list requests. Acceptable values are + * // `0` to `500`, inclusive. (Default: `500`) + * maxResults: 'placeholder-value', + * // Sorts list results by a certain order. By default, results + * // are returned in alphanumerical order based on the resource name. + * // + * // You can also sort results in descending order based on the creation + * // timestamp using `orderBy="creationTimestamp desc"`. This sorts + * // results based on the `creationTimestamp` field in + * // reverse chronological order (newest result first). Use this to sort + * // resources like operations so that the newest operation is returned first. + * // + * // Currently, only sorting by `name` or + * // `creationTimestamp desc` is supported. + * orderBy: 'placeholder-value', + * // Specifies a page token to use. Set `pageToken` to the + * // `nextPageToken` returned by a previous list request to get + * // the next page of results. + * pageToken: 'placeholder-value', + * // Required. Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. + * // Opt-in for partial success behavior which provides partial results in case + * // of failure. The default value is false. * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "checkIntervalSec": 0, - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "grpcHealthCheck": {}, - * // "grpcTlsHealthCheck": {}, - * // "healthyThreshold": 0, - * // "http2HealthCheck": {}, - * // "httpHealthCheck": {}, - * // "httpsHealthCheck": {}, - * // "id": "my_id", - * // "kind": "my_kind", - * // "logConfig": {}, - * // "name": "my_name", - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "sourceRegions": [], - * // "sslHealthCheck": {}, - * // "tcpHealthCheck": {}, - * // "timeoutSec": 0, - * // "type": "my_type", - * // "udpHealthCheck": {}, - * // "unhealthyThreshold": 0 - * // } - * }, + * // For example, when partial success behavior is enabled, aggregatedList for a + * // single zone scope either returns all resources in the zone or no resources, + * // with an error code. + * returnPartialSuccess: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, + * // "etag": "my_etag", * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, + * // "items": [], * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", + * // "nextPageToken": "my_nextPageToken", * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - patch( - params: Params$Resource$Healthchecks$Patch, - options: StreamMethodOptions - ): Promise>; - patch( - params?: Params$Resource$Healthchecks$Patch, - options?: MethodOptions - ): Promise>; - patch( - params: Params$Resource$Healthchecks$Patch, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - patch( - params: Params$Resource$Healthchecks$Patch, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - patch( - params: Params$Resource$Healthchecks$Patch, - callback: BodyResponseCallback - ): void; - patch(callback: BodyResponseCallback): void; - patch( - paramsOrCallback?: - | Params$Resource$Healthchecks$Patch - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Healthchecks$Patch; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Healthchecks$Patch; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/compute/alpha/projects/{project}/global/healthChecks/{healthCheck}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['project', 'healthCheck'], - pathParams: ['healthCheck', 'project'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Returns permissions that a caller has on the specified resource. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/compute.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const compute = google.compute('alpha'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/cloud-platform', - * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await compute.healthChecks.testIamPermissions({ - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name or id of the resource for this request. - * resource: '[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "permissions": [] - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "permissions": [] + * // "unreachables": [], + * // "warning": {} * // } * } * @@ -89264,57 +87258,58 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - testIamPermissions( - params: Params$Resource$Healthchecks$Testiampermissions, + listVmExtensions( + params: Params$Resource$Globalvmextensionpolicies$Listvmextensions, options: StreamMethodOptions ): Promise>; - testIamPermissions( - params?: Params$Resource$Healthchecks$Testiampermissions, + listVmExtensions( + params?: Params$Resource$Globalvmextensionpolicies$Listvmextensions, options?: MethodOptions - ): Promise>; - testIamPermissions( - params: Params$Resource$Healthchecks$Testiampermissions, + ): Promise>; + listVmExtensions( + params: Params$Resource$Globalvmextensionpolicies$Listvmextensions, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - testIamPermissions( - params: Params$Resource$Healthchecks$Testiampermissions, + listVmExtensions( + params: Params$Resource$Globalvmextensionpolicies$Listvmextensions, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - testIamPermissions( - params: Params$Resource$Healthchecks$Testiampermissions, - callback: BodyResponseCallback + listVmExtensions( + params: Params$Resource$Globalvmextensionpolicies$Listvmextensions, + callback: BodyResponseCallback ): void; - testIamPermissions( - callback: BodyResponseCallback + listVmExtensions( + callback: BodyResponseCallback ): void; - testIamPermissions( + listVmExtensions( paramsOrCallback?: - | Params$Resource$Healthchecks$Testiampermissions - | BodyResponseCallback + | Params$Resource$Globalvmextensionpolicies$Listvmextensions + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Healthchecks$Testiampermissions; + {}) as Params$Resource$Globalvmextensionpolicies$Listvmextensions; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Healthchecks$Testiampermissions; + params = + {} as Params$Resource$Globalvmextensionpolicies$Listvmextensions; options = {}; } @@ -89328,32 +87323,32 @@ export namespace compute_alpha { options: Object.assign( { url: ( - rootUrl + - '/compute/alpha/projects/{project}/global/healthChecks/{resource}/testIamPermissions' + rootUrl + '/compute/alpha/projects/{project}/global/vmExtensions' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['project', 'resource'], - pathParams: ['project', 'resource'], + requiredParams: ['project'], + pathParams: ['project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); } } /** - * Updates a HealthCheck resource in the specified project using the data - * included in the request. + * Updates a global VM extension policy. * @example * ```js * // Before running the sample: @@ -89385,9 +87380,9 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.healthChecks.update({ - * // Name of the HealthCheck resource to update. - * healthCheck: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.globalVmExtensionPolicies.update({ + * // Name of the global VM extension policy to update. + * globalVmExtensionPolicy: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -89410,29 +87405,19 @@ export namespace compute_alpha { * requestBody: { * // request body parameters * // { - * // "checkIntervalSec": 0, * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", - * // "grpcHealthCheck": {}, - * // "grpcTlsHealthCheck": {}, - * // "healthyThreshold": 0, - * // "http2HealthCheck": {}, - * // "httpHealthCheck": {}, - * // "httpsHealthCheck": {}, + * // "extensionPolicies": {}, * // "id": "my_id", + * // "instanceSelectors": [], * // "kind": "my_kind", - * // "logConfig": {}, * // "name": "my_name", - * // "region": "my_region", + * // "priority": 0, + * // "rolloutOperation": {}, + * // "scopedResourceStatus": "my_scopedResourceStatus", * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", - * // "sourceRegions": [], - * // "sslHealthCheck": {}, - * // "tcpHealthCheck": {}, - * // "timeoutSec": 0, - * // "type": "my_type", - * // "udpHealthCheck": {}, - * // "unhealthyThreshold": 0 + * // "updateTimestamp": "my_updateTimestamp" * // } * }, * }); @@ -89484,31 +87469,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ update( - params: Params$Resource$Healthchecks$Update, + params: Params$Resource$Globalvmextensionpolicies$Update, options: StreamMethodOptions ): Promise>; update( - params?: Params$Resource$Healthchecks$Update, + params?: Params$Resource$Globalvmextensionpolicies$Update, options?: MethodOptions ): Promise>; update( - params: Params$Resource$Healthchecks$Update, + params: Params$Resource$Globalvmextensionpolicies$Update, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; update( - params: Params$Resource$Healthchecks$Update, + params: Params$Resource$Globalvmextensionpolicies$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; update( - params: Params$Resource$Healthchecks$Update, + params: Params$Resource$Globalvmextensionpolicies$Update, callback: BodyResponseCallback ): void; update(callback: BodyResponseCallback): void; update( paramsOrCallback?: - | Params$Resource$Healthchecks$Update + | Params$Resource$Globalvmextensionpolicies$Update | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -89524,12 +87509,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Healthchecks$Update; + {}) as Params$Resource$Globalvmextensionpolicies$Update; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Healthchecks$Update; + params = {} as Params$Resource$Globalvmextensionpolicies$Update; options = {}; } @@ -89544,16 +87529,16 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/healthChecks/{healthCheck}' + '/compute/alpha/projects/{project}/global/vmExtensionPolicies/{globalVmExtensionPolicy}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PUT', + method: 'PATCH', apiVersion: '', }, options ), params, - requiredParams: ['project', 'healthCheck'], - pathParams: ['healthCheck', 'project'], + requiredParams: ['project', 'globalVmExtensionPolicy'], + pathParams: ['globalVmExtensionPolicy', 'project'], context: this.context, }; if (callback) { @@ -89567,7 +87552,7 @@ export namespace compute_alpha { } } - export interface Params$Resource$Healthchecks$Aggregatedlist extends StandardParameters { + export interface Params$Resource$Globalvmextensionpolicies$Aggregatedlist extends StandardParameters { /** * A filter expression that filters resources listed in the response. Most * Compute resources support two types of filter expressions: @@ -89686,11 +87671,11 @@ export namespace compute_alpha { */ serviceProjectNumber?: string; } - export interface Params$Resource$Healthchecks$Delete extends StandardParameters { + export interface Params$Resource$Globalvmextensionpolicies$Delete extends StandardParameters { /** - * Name of the HealthCheck resource to delete. + * Name of the global VM extension policy to purge scoped resources for. */ - healthCheck?: string; + globalVmExtensionPolicy?: string; /** * Project ID for this request. */ @@ -89711,18 +87696,33 @@ export namespace compute_alpha { * (00000000-0000-0000-0000-000000000000). */ requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GlobalVmExtensionPolicyRolloutOperationRolloutInput; } - export interface Params$Resource$Healthchecks$Get extends StandardParameters { + export interface Params$Resource$Globalvmextensionpolicies$Get extends StandardParameters { /** - * Name of the HealthCheck resource to return. + * Name of the GlobalVmExtensionPolicy resource to return. */ - healthCheck?: string; + globalVmExtensionPolicy?: string; /** * Project ID for this request. */ project?: string; } - export interface Params$Resource$Healthchecks$Insert extends StandardParameters { + export interface Params$Resource$Globalvmextensionpolicies$Getvmextension extends StandardParameters { + /** + * + */ + extensionName?: string; + /** + * Project ID for this request. + */ + project?: string; + } + export interface Params$Resource$Globalvmextensionpolicies$Insert extends StandardParameters { /** * Project ID for this request. */ @@ -89747,9 +87747,9 @@ export namespace compute_alpha { /** * Request body metadata */ - requestBody?: Schema$HealthCheck; + requestBody?: Schema$GlobalVmExtensionPolicy; } - export interface Params$Resource$Healthchecks$List extends StandardParameters { + export interface Params$Resource$Globalvmextensionpolicies$List extends StandardParameters { /** * A filter expression that filters resources listed in the response. Most * Compute resources support two types of filter expressions: @@ -89853,57 +87853,115 @@ export namespace compute_alpha { */ returnPartialSuccess?: boolean; } - export interface Params$Resource$Healthchecks$Patch extends StandardParameters { + export interface Params$Resource$Globalvmextensionpolicies$Listvmextensions extends StandardParameters { /** - * Name of the HealthCheck resource to patch. + * A filter expression that filters resources listed in the response. Most + * Compute resources support two types of filter expressions: + * expressions that support regular expressions and expressions that follow + * API improvement proposal AIP-160. + * These two types of filter expressions cannot be mixed in one request. + * + * If you want to use AIP-160, your expression must specify the field name, an + * operator, and the value that you want to use for filtering. The value + * must be a string, a number, or a boolean. The operator + * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * + * For example, if you are filtering Compute Engine instances, you can + * exclude instances named `example-instance` by specifying + * `name != example-instance`. + * + * The `:*` comparison can be used to test whether a key has been defined. + * For example, to find all objects with `owner` label use: + * ``` + * labels.owner:* + * ``` + * + * You can also filter nested fields. For example, you could specify + * `scheduling.automaticRestart = false` to include instances only + * if they are not scheduled for automatic restarts. You can use filtering + * on nested fields to filter based onresource labels. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example: + * ``` + * (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake") + * ``` + * By default, each expression is an `AND` expression. However, you + * can include `AND` and `OR` expressions explicitly. + * For example: + * ``` + * (cpuPlatform = "Intel Skylake") OR + * (cpuPlatform = "Intel Broadwell") AND + * (scheduling.automaticRestart = true) + * ``` + * + * If you want to use a regular expression, use the `eq` (equal) or `ne` + * (not equal) operator against a single un-parenthesized expression with or + * without quotes or against multiple parenthesized expressions. Examples: + * + * `fieldname eq unquoted literal` + * `fieldname eq 'single quoted literal'` + * `fieldname eq "double quoted literal"` + * `(fieldname1 eq literal) (fieldname2 ne "literal")` + * + * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * The literal value must match the entire field. + * + * For example, to filter for instances that do not end with name "instance", + * you would use `name ne .*instance`. + * + * You cannot combine constraints on multiple fields using regular + * expressions. */ - healthCheck?: string; + filter?: string; /** - * Project ID for this request. + * The maximum number of results per page that should be returned. + * If the number of available results is larger than `maxResults`, + * Compute Engine returns a `nextPageToken` that can be used to get + * the next page of results in subsequent list requests. Acceptable values are + * `0` to `500`, inclusive. (Default: `500`) */ - project?: string; + maxResults?: number; /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. + * Sorts list results by a certain order. By default, results + * are returned in alphanumerical order based on the resource name. * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. + * You can also sort results in descending order based on the creation + * timestamp using `orderBy="creationTimestamp desc"`. This sorts + * results based on the `creationTimestamp` field in + * reverse chronological order (newest result first). Use this to sort + * resources like operations so that the newest operation is returned first. * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). + * Currently, only sorting by `name` or + * `creationTimestamp desc` is supported. */ - requestId?: string; - + orderBy?: string; /** - * Request body metadata + * Specifies a page token to use. Set `pageToken` to the + * `nextPageToken` returned by a previous list request to get + * the next page of results. */ - requestBody?: Schema$HealthCheck; - } - export interface Params$Resource$Healthchecks$Testiampermissions extends StandardParameters { + pageToken?: string; /** - * Project ID for this request. + * Required. Project ID for this request. */ project?: string; /** - * Name or id of the resource for this request. - */ - resource?: string; - - /** - * Request body metadata + * Opt-in for partial success behavior which provides partial results in case + * of failure. The default value is false. + * + * For example, when partial success behavior is enabled, aggregatedList for a + * single zone scope either returns all resources in the zone or no resources, + * with an error code. */ - requestBody?: Schema$TestPermissionsRequest; + returnPartialSuccess?: boolean; } - export interface Params$Resource$Healthchecks$Update extends StandardParameters { + export interface Params$Resource$Globalvmextensionpolicies$Update extends StandardParameters { /** - * Name of the HealthCheck resource to update. + * Name of the global VM extension policy to update. */ - healthCheck?: string; + globalVmExtensionPolicy?: string; /** * Project ID for this request. */ @@ -89928,17 +87986,18 @@ export namespace compute_alpha { /** * Request body metadata */ - requestBody?: Schema$HealthCheck; + requestBody?: Schema$GlobalVmExtensionPolicy; } - export class Resource$Hosts { + export class Resource$Hacontrollers { context: APIRequestContext; constructor(context: APIRequestContext) { this.context = context; } /** - * Retrieves information about the specified host. + * Retrieves an aggregated list of all of the HaControllers in the specified + * project across all regions. * @example * ```js * // Before running the sample: @@ -89971,36 +88030,122 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.hosts.get({ - * // The parent resource association for the Host. This field specifies the - * // hierarchical context (e.g., reservation, block, sub-block) when - * // accessing the host. For example, reservations/reservation_name, - * // reservations/reservation_name/reservationBlocks/reservation_block_name or - * // reservations/reservation_name/reservationBlocks/reservation_block_name/reservationSubBlocks/reservation_sub_block_name. - * association: 'placeholder-value', - * // The name of the host, formatted as RFC1035 or a resource ID - * // number. - * host: 'placeholder-value', - * // The project ID for this request. - * project: 'placeholder-value', - * // The name of the zone for this request, formatted as RFC1035. - * zone: 'placeholder-value', + * const res = await compute.haControllers.aggregatedList({ + * // A filter expression that filters resources listed in the response. Most + * // Compute resources support two types of filter expressions: + * // expressions that support regular expressions and expressions that follow + * // API improvement proposal AIP-160. + * // These two types of filter expressions cannot be mixed in one request. + * // + * // If you want to use AIP-160, your expression must specify the field name, an + * // operator, and the value that you want to use for filtering. The value + * // must be a string, a number, or a boolean. The operator + * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * // + * // For example, if you are filtering Compute Engine instances, you can + * // exclude instances named `example-instance` by specifying + * // `name != example-instance`. + * // + * // The `:*` comparison can be used to test whether a key has been defined. + * // For example, to find all objects with `owner` label use: + * // ``` + * // labels.owner:* + * // ``` + * // + * // You can also filter nested fields. For example, you could specify + * // `scheduling.automaticRestart = false` to include instances only + * // if they are not scheduled for automatic restarts. You can use filtering + * // on nested fields to filter based onresource labels. + * // + * // To filter on multiple expressions, provide each separate expression within + * // parentheses. For example: + * // ``` + * // (scheduling.automaticRestart = true) + * // (cpuPlatform = "Intel Skylake") + * // ``` + * // By default, each expression is an `AND` expression. However, you + * // can include `AND` and `OR` expressions explicitly. + * // For example: + * // ``` + * // (cpuPlatform = "Intel Skylake") OR + * // (cpuPlatform = "Intel Broadwell") AND + * // (scheduling.automaticRestart = true) + * // ``` + * // + * // If you want to use a regular expression, use the `eq` (equal) or `ne` + * // (not equal) operator against a single un-parenthesized expression with or + * // without quotes or against multiple parenthesized expressions. Examples: + * // + * // `fieldname eq unquoted literal` + * // `fieldname eq 'single quoted literal'` + * // `fieldname eq "double quoted literal"` + * // `(fieldname1 eq literal) (fieldname2 ne "literal")` + * // + * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * // The literal value must match the entire field. + * // + * // For example, to filter for instances that do not end with name "instance", + * // you would use `name ne .*instance`. + * // + * // You cannot combine constraints on multiple fields using regular + * // expressions. + * filter: 'placeholder-value', + * // 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. + * includeAllScopes: 'placeholder-value', + * // The maximum number of results per page that should be returned. + * // If the number of available results is larger than `maxResults`, + * // Compute Engine returns a `nextPageToken` that can be used to get + * // the next page of results in subsequent list requests. Acceptable values are + * // `0` to `500`, inclusive. (Default: `500`) + * maxResults: 'placeholder-value', + * // Sorts list results by a certain order. By default, results + * // are returned in alphanumerical order based on the resource name. + * // + * // You can also sort results in descending order based on the creation + * // timestamp using `orderBy="creationTimestamp desc"`. This sorts + * // results based on the `creationTimestamp` field in + * // reverse chronological order (newest result first). Use this to sort + * // resources like operations so that the newest operation is returned first. + * // + * // Currently, only sorting by `name` or + * // `creationTimestamp desc` is supported. + * orderBy: 'placeholder-value', + * // Specifies a page token to use. Set `pageToken` to the + * // `nextPageToken` returned by a previous list request to get + * // the next page of results. + * pageToken: 'placeholder-value', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Opt-in for partial success behavior which provides partial results in case + * // of failure. The default value is false. + * // + * // For example, when partial success behavior is enabled, aggregatedList for a + * // single zone scope either returns all resources in the zone or no resources, + * // with an error code. + * returnPartialSuccess: 'placeholder-value', + * // The Shared VPC service project id or service project number for which + * // aggregated list request is invoked for subnetworks list-usable api. + * serviceProjectNumber: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { - * // "aliasLinks": [], - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", + * // "etag": "my_etag", * // "id": "my_id", + * // "items": {}, * // "kind": "my_kind", - * // "name": "my_name", + * // "nextPageToken": "my_nextPageToken", * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "state": "my_state", - * // "status": {}, - * // "zone": "my_zone" + * // "unreachables": [], + * // "warning": {} * // } * } * @@ -90016,52 +88161,57 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - get( - params: Params$Resource$Hosts$Get, + aggregatedList( + params: Params$Resource$Hacontrollers$Aggregatedlist, options: StreamMethodOptions ): Promise>; - get( - params?: Params$Resource$Hosts$Get, + aggregatedList( + params?: Params$Resource$Hacontrollers$Aggregatedlist, options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Hosts$Get, + ): Promise>; + aggregatedList( + params: Params$Resource$Hacontrollers$Aggregatedlist, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Hosts$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + aggregatedList( + params: Params$Resource$Hacontrollers$Aggregatedlist, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Hosts$Get, - callback: BodyResponseCallback + aggregatedList( + params: Params$Resource$Hacontrollers$Aggregatedlist, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; - get( + aggregatedList( + callback: BodyResponseCallback + ): void; + aggregatedList( paramsOrCallback?: - | Params$Resource$Hosts$Get - | BodyResponseCallback + | Params$Resource$Hacontrollers$Aggregatedlist + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Hosts$Get; + let params = (paramsOrCallback || + {}) as Params$Resource$Hacontrollers$Aggregatedlist; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Hosts$Get; + params = {} as Params$Resource$Hacontrollers$Aggregatedlist; options = {}; } @@ -90076,7 +88226,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/{association}/hosts/{host}' + '/compute/alpha/projects/{project}/aggregated/haControllers' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -90084,22 +88234,22 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'zone', 'association', 'host'], - pathParams: ['association', 'host', 'project', 'zone'], + requiredParams: ['project'], + pathParams: ['project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Allows customers to get SBOM versions of a host. + * Deletes an HaController in the specified project. * @example * ```js * // Before running the sample: @@ -90131,30 +88281,22 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.hosts.getVersion({ - * // The parent resource association for the Host. This field specifies the - * // hierarchical context (e.g., reservation, block, sub-block) when - * // accessing the host. - * association: 'placeholder-value', - * // The name of the host, formatted as RFC1035 or a resource ID - * // number. - * host: 'placeholder-value', + * const res = await compute.haControllers.delete({ + * // Force-deletes HA Controller when the Delete is stuck. Instance that is not + * // primary at the moment will also be deleted. Can only be used against the HA + * // Controller resource that is already being deleted. + * force: 'placeholder-value', + * // Name of the HaController resource to delete. + * haController: 'placeholder-value', * // Project ID for this request. - * project: 'placeholder-value', + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Name of the region for this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * // An optional request ID to identify requests. Specify a unique request ID so * // that if you must retry your request, the server will know to ignore the * // request if it has already been completed. * requestId: 'placeholder-value', - * // Name of the zone for this request. Zone name should conform to RFC1035. - * zone: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "sbomSelections": [] - * // } - * }, * }); * console.log(res.data); * @@ -90203,32 +88345,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - getVersion( - params: Params$Resource$Hosts$Getversion, + delete( + params: Params$Resource$Hacontrollers$Delete, options: StreamMethodOptions ): Promise>; - getVersion( - params?: Params$Resource$Hosts$Getversion, + delete( + params?: Params$Resource$Hacontrollers$Delete, options?: MethodOptions ): Promise>; - getVersion( - params: Params$Resource$Hosts$Getversion, + delete( + params: Params$Resource$Hacontrollers$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - getVersion( - params: Params$Resource$Hosts$Getversion, + delete( + params: Params$Resource$Hacontrollers$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - getVersion( - params: Params$Resource$Hosts$Getversion, + delete( + params: Params$Resource$Hacontrollers$Delete, callback: BodyResponseCallback ): void; - getVersion(callback: BodyResponseCallback): void; - getVersion( + delete(callback: BodyResponseCallback): void; + delete( paramsOrCallback?: - | Params$Resource$Hosts$Getversion + | Params$Resource$Hacontrollers$Delete | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -90243,12 +88385,13 @@ export namespace compute_alpha { | void | Promise> | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Hosts$Getversion; + let params = (paramsOrCallback || + {}) as Params$Resource$Hacontrollers$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Hosts$Getversion; + params = {} as Params$Resource$Hacontrollers$Delete; options = {}; } @@ -90263,16 +88406,16 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/{association}/hosts/{host}/getVersion' + '/compute/alpha/projects/{project}/regions/{region}/haControllers/{haController}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'DELETE', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone', 'association', 'host'], - pathParams: ['association', 'host', 'project', 'zone'], + requiredParams: ['project', 'region', 'haController'], + pathParams: ['haController', 'project', 'region'], context: this.context, }; if (callback) { @@ -90286,7 +88429,8 @@ export namespace compute_alpha { } /** - * Retrieves a list of hosts. + * Fails over a VM targeted by the specified HaController to the selected + * zone. * @example * ```js * // Before running the sample: @@ -90310,7 +88454,6 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -90319,118 +88462,59 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.hosts.list({ - * // The parent resource association for the Host. This field specifies the - * // hierarchical context (e.g., reservation, block, sub-block) when - * // accessing the host. For example, reservations/reservation_name, - * // reservations/reservation_name/reservationBlocks/reservation_block_name or - * // reservations/reservation_name/reservationBlocks/reservation_block_name/reservationSubBlocks/reservation_sub_block_name. - * association: 'placeholder-value', - * // A filter expression that filters resources listed in the response. Most - * // Compute resources support two types of filter expressions: - * // expressions that support regular expressions and expressions that follow - * // API improvement proposal AIP-160. - * // These two types of filter expressions cannot be mixed in one request. - * // - * // If you want to use AIP-160, your expression must specify the field name, an - * // operator, and the value that you want to use for filtering. The value - * // must be a string, a number, or a boolean. The operator - * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * // - * // For example, if you are filtering Compute Engine instances, you can - * // exclude instances named `example-instance` by specifying - * // `name != example-instance`. - * // - * // The `:*` comparison can be used to test whether a key has been defined. - * // For example, to find all objects with `owner` label use: - * // ``` - * // labels.owner:* - * // ``` - * // - * // You can also filter nested fields. For example, you could specify - * // `scheduling.automaticRestart = false` to include instances only - * // if they are not scheduled for automatic restarts. You can use filtering - * // on nested fields to filter based onresource labels. - * // - * // To filter on multiple expressions, provide each separate expression within - * // parentheses. For example: - * // ``` - * // (scheduling.automaticRestart = true) - * // (cpuPlatform = "Intel Skylake") - * // ``` - * // By default, each expression is an `AND` expression. However, you - * // can include `AND` and `OR` expressions explicitly. - * // For example: - * // ``` - * // (cpuPlatform = "Intel Skylake") OR - * // (cpuPlatform = "Intel Broadwell") AND - * // (scheduling.automaticRestart = true) - * // ``` - * // - * // If you want to use a regular expression, use the `eq` (equal) or `ne` - * // (not equal) operator against a single un-parenthesized expression with or - * // without quotes or against multiple parenthesized expressions. Examples: - * // - * // `fieldname eq unquoted literal` - * // `fieldname eq 'single quoted literal'` - * // `fieldname eq "double quoted literal"` - * // `(fieldname1 eq literal) (fieldname2 ne "literal")` - * // - * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * // The literal value must match the entire field. - * // - * // For example, to filter for instances that do not end with name "instance", - * // you would use `name ne .*instance`. - * // - * // You cannot combine constraints on multiple fields using regular - * // expressions. - * filter: 'placeholder-value', - * // The maximum number of results per page that should be returned. - * // If the number of available results is larger than `maxResults`, - * // Compute Engine returns a `nextPageToken` that can be used to get - * // the next page of results in subsequent list requests. Acceptable values are - * // `0` to `500`, inclusive. (Default: `500`) - * maxResults: 'placeholder-value', - * // Sorts list results by a certain order. By default, results - * // are returned in alphanumerical order based on the resource name. - * // - * // You can also sort results in descending order based on the creation - * // timestamp using `orderBy="creationTimestamp desc"`. This sorts - * // results based on the `creationTimestamp` field in - * // reverse chronological order (newest result first). Use this to sort - * // resources like operations so that the newest operation is returned first. - * // - * // Currently, only sorting by `name` or - * // `creationTimestamp desc` is supported. - * orderBy: 'placeholder-value', - * // Specifies a page token to use. Set `pageToken` to the - * // `nextPageToken` returned by a previous list request to get - * // the next page of results. - * pageToken: 'placeholder-value', - * // The project ID for this request. - * project: 'placeholder-value', - * // Opt-in for partial success behavior which provides partial results in case - * // of failure. The default value is false. - * // - * // For example, when partial success behavior is enabled, aggregatedList for a - * // single zone scope either returns all resources in the zone or no resources, - * // with an error code. - * returnPartialSuccess: 'placeholder-value', - * // The name of the zone for this request, formatted as RFC1035. - * zone: 'placeholder-value', + * const res = await compute.haControllers.failover({ + * // ID of the HaController resource to update. + * haController: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Name of the region for this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * requestId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "failoverToZone": "my_failoverToZone" + * // } + * }, * }); * console.log(res.data); * * // Example response * // { - * // "etag": "my_etag", + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, * // "id": "my_id", - * // "items": [], + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, * // "kind": "my_kind", - * // "nextPageToken": "my_nextPageToken", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", * // "selfLink": "my_selfLink", - * // "unreachables": [], - * // "warning": {} + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" * // } * } * @@ -90446,394 +88530,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - list( - params: Params$Resource$Hosts$List, + failover( + params: Params$Resource$Hacontrollers$Failover, options: StreamMethodOptions ): Promise>; - list( - params?: Params$Resource$Hosts$List, - options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Hosts$List, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Hosts$List, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Hosts$List, - callback: BodyResponseCallback - ): void; - list(callback: BodyResponseCallback): void; - list( - paramsOrCallback?: - | Params$Resource$Hosts$List - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Hosts$List; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Hosts$List; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/{association}/hosts' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['project', 'zone', 'association'], - pathParams: ['association', 'project', 'zone'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Hosts$Get extends StandardParameters { - /** - * The parent resource association for the Host. This field specifies the - * hierarchical context (e.g., reservation, block, sub-block) when - * accessing the host. For example, reservations/reservation_name, - * reservations/reservation_name/reservationBlocks/reservation_block_name or - * reservations/reservation_name/reservationBlocks/reservation_block_name/reservationSubBlocks/reservation_sub_block_name. - */ - association?: string; - /** - * The name of the host, formatted as RFC1035 or a resource ID - * number. - */ - host?: string; - /** - * The project ID for this request. - */ - project?: string; - /** - * The name of the zone for this request, formatted as RFC1035. - */ - zone?: string; - } - export interface Params$Resource$Hosts$Getversion extends StandardParameters { - /** - * The parent resource association for the Host. This field specifies the - * hierarchical context (e.g., reservation, block, sub-block) when - * accessing the host. - */ - association?: string; - /** - * The name of the host, formatted as RFC1035 or a resource ID - * number. - */ - host?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - */ - requestId?: string; - /** - * Name of the zone for this request. Zone name should conform to RFC1035. - */ - zone?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$HostsGetVersionRequest; - } - export interface Params$Resource$Hosts$List extends StandardParameters { - /** - * The parent resource association for the Host. This field specifies the - * hierarchical context (e.g., reservation, block, sub-block) when - * accessing the host. For example, reservations/reservation_name, - * reservations/reservation_name/reservationBlocks/reservation_block_name or - * reservations/reservation_name/reservationBlocks/reservation_block_name/reservationSubBlocks/reservation_sub_block_name. - */ - association?: string; - /** - * A filter expression that filters resources listed in the response. Most - * Compute resources support two types of filter expressions: - * expressions that support regular expressions and expressions that follow - * API improvement proposal AIP-160. - * These two types of filter expressions cannot be mixed in one request. - * - * If you want to use AIP-160, your expression must specify the field name, an - * operator, and the value that you want to use for filtering. The value - * must be a string, a number, or a boolean. The operator - * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * - * For example, if you are filtering Compute Engine instances, you can - * exclude instances named `example-instance` by specifying - * `name != example-instance`. - * - * The `:*` comparison can be used to test whether a key has been defined. - * For example, to find all objects with `owner` label use: - * ``` - * labels.owner:* - * ``` - * - * You can also filter nested fields. For example, you could specify - * `scheduling.automaticRestart = false` to include instances only - * if they are not scheduled for automatic restarts. You can use filtering - * on nested fields to filter based onresource labels. - * - * To filter on multiple expressions, provide each separate expression within - * parentheses. For example: - * ``` - * (scheduling.automaticRestart = true) - * (cpuPlatform = "Intel Skylake") - * ``` - * By default, each expression is an `AND` expression. However, you - * can include `AND` and `OR` expressions explicitly. - * For example: - * ``` - * (cpuPlatform = "Intel Skylake") OR - * (cpuPlatform = "Intel Broadwell") AND - * (scheduling.automaticRestart = true) - * ``` - * - * If you want to use a regular expression, use the `eq` (equal) or `ne` - * (not equal) operator against a single un-parenthesized expression with or - * without quotes or against multiple parenthesized expressions. Examples: - * - * `fieldname eq unquoted literal` - * `fieldname eq 'single quoted literal'` - * `fieldname eq "double quoted literal"` - * `(fieldname1 eq literal) (fieldname2 ne "literal")` - * - * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * The literal value must match the entire field. - * - * For example, to filter for instances that do not end with name "instance", - * you would use `name ne .*instance`. - * - * You cannot combine constraints on multiple fields using regular - * expressions. - */ - filter?: string; - /** - * The maximum number of results per page that should be returned. - * If the number of available results is larger than `maxResults`, - * Compute Engine returns a `nextPageToken` that can be used to get - * the next page of results in subsequent list requests. Acceptable values are - * `0` to `500`, inclusive. (Default: `500`) - */ - maxResults?: number; - /** - * Sorts list results by a certain order. By default, results - * are returned in alphanumerical order based on the resource name. - * - * You can also sort results in descending order based on the creation - * timestamp using `orderBy="creationTimestamp desc"`. This sorts - * results based on the `creationTimestamp` field in - * reverse chronological order (newest result first). Use this to sort - * resources like operations so that the newest operation is returned first. - * - * Currently, only sorting by `name` or - * `creationTimestamp desc` is supported. - */ - orderBy?: string; - /** - * Specifies a page token to use. Set `pageToken` to the - * `nextPageToken` returned by a previous list request to get - * the next page of results. - */ - pageToken?: string; - /** - * The project ID for this request. - */ - project?: string; - /** - * Opt-in for partial success behavior which provides partial results in case - * of failure. The default value is false. - * - * For example, when partial success behavior is enabled, aggregatedList for a - * single zone scope either returns all resources in the zone or no resources, - * with an error code. - */ - returnPartialSuccess?: boolean; - /** - * The name of the zone for this request, formatted as RFC1035. - */ - zone?: string; - } - - export class Resource$Httphealthchecks { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Deletes the specified HttpHealthCheck resource. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/compute.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const compute = google.compute('alpha'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/cloud-platform', - * 'https://www.googleapis.com/auth/compute', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await compute.httpHealthChecks.delete({ - * // Name of the HttpHealthCheck resource to delete. - * httpHealthCheck: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. - * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, - * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, - * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - delete( - params: Params$Resource$Httphealthchecks$Delete, - options: StreamMethodOptions - ): Promise>; - delete( - params?: Params$Resource$Httphealthchecks$Delete, + failover( + params?: Params$Resource$Hacontrollers$Failover, options?: MethodOptions ): Promise>; - delete( - params: Params$Resource$Httphealthchecks$Delete, + failover( + params: Params$Resource$Hacontrollers$Failover, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Httphealthchecks$Delete, + failover( + params: Params$Resource$Hacontrollers$Failover, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Httphealthchecks$Delete, + failover( + params: Params$Resource$Hacontrollers$Failover, callback: BodyResponseCallback ): void; - delete(callback: BodyResponseCallback): void; - delete( + failover(callback: BodyResponseCallback): void; + failover( paramsOrCallback?: - | Params$Resource$Httphealthchecks$Delete + | Params$Resource$Hacontrollers$Failover | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -90849,12 +88571,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Httphealthchecks$Delete; + {}) as Params$Resource$Hacontrollers$Failover; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Httphealthchecks$Delete; + params = {} as Params$Resource$Hacontrollers$Failover; options = {}; } @@ -90869,16 +88591,16 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/httpHealthChecks/{httpHealthCheck}' + '/compute/alpha/projects/{project}/regions/{region}/haControllers/{haController}/failover' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project', 'httpHealthCheck'], - pathParams: ['httpHealthCheck', 'project'], + requiredParams: ['project', 'region', 'haController'], + pathParams: ['haController', 'project', 'region'], context: this.context, }; if (callback) { @@ -90892,7 +88614,7 @@ export namespace compute_alpha { } /** - * Returns the specified HttpHealthCheck resource. + * Returns all the details of a specific HaController. * @example * ```js * // Before running the sample: @@ -90925,31 +88647,35 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.httpHealthChecks.get({ - * // Name of the HttpHealthCheck resource to return. - * httpHealthCheck: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.haControllers.get({ + * // Name of the HaController resource to return. + * haController: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Name of the region for this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * }); * console.log(res.data); * * // Example response * // { - * // "checkIntervalSec": 0, + * // "backendServices": [], * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", - * // "healthyThreshold": 0, - * // "host": "my_host", + * // "failoverCapacity": "my_failoverCapacity", + * // "failoverInitiation": "my_failoverInitiation", * // "id": "my_id", + * // "instanceName": "my_instanceName", * // "kind": "my_kind", * // "name": "my_name", - * // "port": 0, - * // "requestPath": "my_requestPath", + * // "networkingAutoConfiguration": {}, + * // "region": "my_region", + * // "secondaryZoneCapacity": "my_secondaryZoneCapacity", * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", - * // "timeoutSec": 0, - * // "unhealthyThreshold": 0 + * // "status": {}, + * // "zoneConfigurations": {} * // } * } * @@ -90966,52 +88692,52 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ get( - params: Params$Resource$Httphealthchecks$Get, + params: Params$Resource$Hacontrollers$Get, options: StreamMethodOptions ): Promise>; get( - params?: Params$Resource$Httphealthchecks$Get, + params?: Params$Resource$Hacontrollers$Get, options?: MethodOptions - ): Promise>; + ): Promise>; get( - params: Params$Resource$Httphealthchecks$Get, + params: Params$Resource$Hacontrollers$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; get( - params: Params$Resource$Httphealthchecks$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + params: Params$Resource$Hacontrollers$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; get( - params: Params$Resource$Httphealthchecks$Get, - callback: BodyResponseCallback + params: Params$Resource$Hacontrollers$Get, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; get( paramsOrCallback?: - | Params$Resource$Httphealthchecks$Get - | BodyResponseCallback + | Params$Resource$Hacontrollers$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Httphealthchecks$Get; + {}) as Params$Resource$Hacontrollers$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Httphealthchecks$Get; + params = {} as Params$Resource$Hacontrollers$Get; options = {}; } @@ -91026,7 +88752,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/httpHealthChecks/{httpHealthCheck}' + '/compute/alpha/projects/{project}/regions/{region}/haControllers/{haController}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -91034,23 +88760,22 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'httpHealthCheck'], - pathParams: ['httpHealthCheck', 'project'], + requiredParams: ['project', 'region', 'haController'], + pathParams: ['haController', 'project', 'region'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Creates a HttpHealthCheck resource in the specified project using the data - * included in the request. + * Creates HaController in the specified project. * @example * ```js * // Before running the sample: @@ -91082,43 +88807,37 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.httpHealthChecks.insert({ + * const res = await compute.haControllers.insert({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Name of the region for this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * // An optional request ID to identify requests. Specify a unique request ID so * // that if you must retry your request, the server will know to ignore the * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. - * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', * * // Request body metadata * requestBody: { * // request body parameters * // { - * // "checkIntervalSec": 0, + * // "backendServices": [], * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", - * // "healthyThreshold": 0, - * // "host": "my_host", + * // "failoverCapacity": "my_failoverCapacity", + * // "failoverInitiation": "my_failoverInitiation", * // "id": "my_id", + * // "instanceName": "my_instanceName", * // "kind": "my_kind", * // "name": "my_name", - * // "port": 0, - * // "requestPath": "my_requestPath", + * // "networkingAutoConfiguration": {}, + * // "region": "my_region", + * // "secondaryZoneCapacity": "my_secondaryZoneCapacity", * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", - * // "timeoutSec": 0, - * // "unhealthyThreshold": 0 + * // "status": {}, + * // "zoneConfigurations": {} * // } * }, * }); @@ -91170,31 +88889,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ insert( - params: Params$Resource$Httphealthchecks$Insert, + params: Params$Resource$Hacontrollers$Insert, options: StreamMethodOptions ): Promise>; insert( - params?: Params$Resource$Httphealthchecks$Insert, + params?: Params$Resource$Hacontrollers$Insert, options?: MethodOptions ): Promise>; insert( - params: Params$Resource$Httphealthchecks$Insert, + params: Params$Resource$Hacontrollers$Insert, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; insert( - params: Params$Resource$Httphealthchecks$Insert, + params: Params$Resource$Hacontrollers$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; insert( - params: Params$Resource$Httphealthchecks$Insert, + params: Params$Resource$Hacontrollers$Insert, callback: BodyResponseCallback ): void; insert(callback: BodyResponseCallback): void; insert( paramsOrCallback?: - | Params$Resource$Httphealthchecks$Insert + | Params$Resource$Hacontrollers$Insert | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -91210,12 +88929,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Httphealthchecks$Insert; + {}) as Params$Resource$Hacontrollers$Insert; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Httphealthchecks$Insert; + params = {} as Params$Resource$Hacontrollers$Insert; options = {}; } @@ -91230,7 +88949,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/httpHealthChecks' + '/compute/alpha/projects/{project}/regions/{region}/haControllers' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -91238,8 +88957,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project'], - pathParams: ['project'], + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], context: this.context, }; if (callback) { @@ -91253,8 +88972,7 @@ export namespace compute_alpha { } /** - * Retrieves the list of HttpHealthCheck resources available to the specified - * project. + * Lists all HaControllers in the specified project in the specified region. * @example * ```js * // Before running the sample: @@ -91287,7 +89005,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.httpHealthChecks.list({ + * const res = await compute.haControllers.list({ * // A filter expression that filters resources listed in the response. Most * // Compute resources support two types of filter expressions: * // expressions that support regular expressions and expressions that follow @@ -91372,6 +89090,8 @@ export namespace compute_alpha { * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Name of the region for this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * // Opt-in for partial success behavior which provides partial results in case * // of failure. The default value is false. * // @@ -91384,11 +89104,12 @@ export namespace compute_alpha { * * // Example response * // { + * // "etag": "my_etag", * // "id": "my_id", * // "items": [], - * // "kind": "my_kind", * // "nextPageToken": "my_nextPageToken", * // "selfLink": "my_selfLink", + * // "unreachables": [], * // "warning": {} * // } * } @@ -91406,52 +89127,52 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ list( - params: Params$Resource$Httphealthchecks$List, + params: Params$Resource$Hacontrollers$List, options: StreamMethodOptions ): Promise>; list( - params?: Params$Resource$Httphealthchecks$List, + params?: Params$Resource$Hacontrollers$List, options?: MethodOptions - ): Promise>; + ): Promise>; list( - params: Params$Resource$Httphealthchecks$List, + params: Params$Resource$Hacontrollers$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; list( - params: Params$Resource$Httphealthchecks$List, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + params: Params$Resource$Hacontrollers$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; list( - params: Params$Resource$Httphealthchecks$List, - callback: BodyResponseCallback + params: Params$Resource$Hacontrollers$List, + callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; list( paramsOrCallback?: - | Params$Resource$Httphealthchecks$List - | BodyResponseCallback + | Params$Resource$Hacontrollers$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Httphealthchecks$List; + {}) as Params$Resource$Hacontrollers$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Httphealthchecks$List; + params = {} as Params$Resource$Hacontrollers$List; options = {}; } @@ -91466,7 +89187,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/httpHealthChecks' + '/compute/alpha/projects/{project}/regions/{region}/haControllers' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -91474,25 +89195,22 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project'], - pathParams: ['project'], + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Updates a HttpHealthCheck resource in the specified project using the data - * included in the request. This method supportsPATCH - * semantics and uses theJSON merge - * patch format and processing rules. + * Updates HaController in the specified project. * @example * ```js * // Before running the sample: @@ -91524,45 +89242,41 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.httpHealthChecks.patch({ - * // Name of the HttpHealthCheck resource to patch. - * httpHealthCheck: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.haControllers.patch({ + * // ID of the HaController resource to update. + * haController: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Name of the region for this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * // An optional request ID to identify requests. Specify a unique request ID so * // that if you must retry your request, the server will know to ignore the * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. - * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', + * // update_mask indicates fields to be updated as part of this request. + * updateMask: 'placeholder-value', * * // Request body metadata * requestBody: { * // request body parameters * // { - * // "checkIntervalSec": 0, + * // "backendServices": [], * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", - * // "healthyThreshold": 0, - * // "host": "my_host", + * // "failoverCapacity": "my_failoverCapacity", + * // "failoverInitiation": "my_failoverInitiation", * // "id": "my_id", + * // "instanceName": "my_instanceName", * // "kind": "my_kind", * // "name": "my_name", - * // "port": 0, - * // "requestPath": "my_requestPath", + * // "networkingAutoConfiguration": {}, + * // "region": "my_region", + * // "secondaryZoneCapacity": "my_secondaryZoneCapacity", * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", - * // "timeoutSec": 0, - * // "unhealthyThreshold": 0 + * // "status": {}, + * // "zoneConfigurations": {} * // } * }, * }); @@ -91614,31 +89328,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ patch( - params: Params$Resource$Httphealthchecks$Patch, + params: Params$Resource$Hacontrollers$Patch, options: StreamMethodOptions ): Promise>; patch( - params?: Params$Resource$Httphealthchecks$Patch, + params?: Params$Resource$Hacontrollers$Patch, options?: MethodOptions ): Promise>; patch( - params: Params$Resource$Httphealthchecks$Patch, + params: Params$Resource$Hacontrollers$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; patch( - params: Params$Resource$Httphealthchecks$Patch, + params: Params$Resource$Hacontrollers$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; patch( - params: Params$Resource$Httphealthchecks$Patch, + params: Params$Resource$Hacontrollers$Patch, callback: BodyResponseCallback ): void; patch(callback: BodyResponseCallback): void; patch( paramsOrCallback?: - | Params$Resource$Httphealthchecks$Patch + | Params$Resource$Hacontrollers$Patch | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -91654,12 +89368,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Httphealthchecks$Patch; + {}) as Params$Resource$Hacontrollers$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Httphealthchecks$Patch; + params = {} as Params$Resource$Hacontrollers$Patch; options = {}; } @@ -91674,7 +89388,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/httpHealthChecks/{httpHealthCheck}' + '/compute/alpha/projects/{project}/regions/{region}/haControllers/{haController}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'PATCH', apiVersion: '', @@ -91682,8 +89396,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'httpHealthCheck'], - pathParams: ['httpHealthCheck', 'project'], + requiredParams: ['project', 'region', 'haController'], + pathParams: ['haController', 'project', 'region'], context: this.context, }; if (callback) { @@ -91695,9 +89409,363 @@ export namespace compute_alpha { return createAPIRequest(parameters); } } + } + export interface Params$Resource$Hacontrollers$Aggregatedlist extends StandardParameters { /** - * Returns permissions that a caller has on the specified resource. + * A filter expression that filters resources listed in the response. Most + * Compute resources support two types of filter expressions: + * expressions that support regular expressions and expressions that follow + * API improvement proposal AIP-160. + * These two types of filter expressions cannot be mixed in one request. + * + * If you want to use AIP-160, your expression must specify the field name, an + * operator, and the value that you want to use for filtering. The value + * must be a string, a number, or a boolean. The operator + * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * + * For example, if you are filtering Compute Engine instances, you can + * exclude instances named `example-instance` by specifying + * `name != example-instance`. + * + * The `:*` comparison can be used to test whether a key has been defined. + * For example, to find all objects with `owner` label use: + * ``` + * labels.owner:* + * ``` + * + * You can also filter nested fields. For example, you could specify + * `scheduling.automaticRestart = false` to include instances only + * if they are not scheduled for automatic restarts. You can use filtering + * on nested fields to filter based onresource labels. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example: + * ``` + * (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake") + * ``` + * By default, each expression is an `AND` expression. However, you + * can include `AND` and `OR` expressions explicitly. + * For example: + * ``` + * (cpuPlatform = "Intel Skylake") OR + * (cpuPlatform = "Intel Broadwell") AND + * (scheduling.automaticRestart = true) + * ``` + * + * If you want to use a regular expression, use the `eq` (equal) or `ne` + * (not equal) operator against a single un-parenthesized expression with or + * without quotes or against multiple parenthesized expressions. Examples: + * + * `fieldname eq unquoted literal` + * `fieldname eq 'single quoted literal'` + * `fieldname eq "double quoted literal"` + * `(fieldname1 eq literal) (fieldname2 ne "literal")` + * + * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * The literal value must match the entire field. + * + * For example, to filter for instances that do not end with name "instance", + * you would use `name ne .*instance`. + * + * You cannot combine constraints on multiple fields using regular + * expressions. + */ + filter?: string; + /** + * 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. + */ + includeAllScopes?: boolean; + /** + * The maximum number of results per page that should be returned. + * If the number of available results is larger than `maxResults`, + * Compute Engine returns a `nextPageToken` that can be used to get + * the next page of results in subsequent list requests. Acceptable values are + * `0` to `500`, inclusive. (Default: `500`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results + * are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation + * timestamp using `orderBy="creationTimestamp desc"`. This sorts + * results based on the `creationTimestamp` field in + * reverse chronological order (newest result first). Use this to sort + * resources like operations so that the newest operation is returned first. + * + * Currently, only sorting by `name` or + * `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the + * `nextPageToken` returned by a previous list request to get + * the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Opt-in for partial success behavior which provides partial results in case + * of failure. The default value is false. + * + * For example, when partial success behavior is enabled, aggregatedList for a + * single zone scope either returns all resources in the zone or no resources, + * with an error code. + */ + returnPartialSuccess?: boolean; + /** + * The Shared VPC service project id or service project number for which + * aggregated list request is invoked for subnetworks list-usable api. + */ + serviceProjectNumber?: string; + } + export interface Params$Resource$Hacontrollers$Delete extends StandardParameters { + /** + * Force-deletes HA Controller when the Delete is stuck. Instance that is not + * primary at the moment will also be deleted. Can only be used against the HA + * Controller resource that is already being deleted. + */ + force?: boolean; + /** + * Name of the HaController resource to delete. + */ + haController?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + */ + requestId?: string; + } + export interface Params$Resource$Hacontrollers$Failover extends StandardParameters { + /** + * ID of the HaController resource to update. + */ + haController?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$HaControllersFailoverRequest; + } + export interface Params$Resource$Hacontrollers$Get extends StandardParameters { + /** + * Name of the HaController resource to return. + */ + haController?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + } + export interface Params$Resource$Hacontrollers$Insert extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$HaController; + } + export interface Params$Resource$Hacontrollers$List extends StandardParameters { + /** + * A filter expression that filters resources listed in the response. Most + * Compute resources support two types of filter expressions: + * expressions that support regular expressions and expressions that follow + * API improvement proposal AIP-160. + * These two types of filter expressions cannot be mixed in one request. + * + * If you want to use AIP-160, your expression must specify the field name, an + * operator, and the value that you want to use for filtering. The value + * must be a string, a number, or a boolean. The operator + * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * + * For example, if you are filtering Compute Engine instances, you can + * exclude instances named `example-instance` by specifying + * `name != example-instance`. + * + * The `:*` comparison can be used to test whether a key has been defined. + * For example, to find all objects with `owner` label use: + * ``` + * labels.owner:* + * ``` + * + * You can also filter nested fields. For example, you could specify + * `scheduling.automaticRestart = false` to include instances only + * if they are not scheduled for automatic restarts. You can use filtering + * on nested fields to filter based onresource labels. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example: + * ``` + * (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake") + * ``` + * By default, each expression is an `AND` expression. However, you + * can include `AND` and `OR` expressions explicitly. + * For example: + * ``` + * (cpuPlatform = "Intel Skylake") OR + * (cpuPlatform = "Intel Broadwell") AND + * (scheduling.automaticRestart = true) + * ``` + * + * If you want to use a regular expression, use the `eq` (equal) or `ne` + * (not equal) operator against a single un-parenthesized expression with or + * without quotes or against multiple parenthesized expressions. Examples: + * + * `fieldname eq unquoted literal` + * `fieldname eq 'single quoted literal'` + * `fieldname eq "double quoted literal"` + * `(fieldname1 eq literal) (fieldname2 ne "literal")` + * + * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * The literal value must match the entire field. + * + * For example, to filter for instances that do not end with name "instance", + * you would use `name ne .*instance`. + * + * You cannot combine constraints on multiple fields using regular + * expressions. + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. + * If the number of available results is larger than `maxResults`, + * Compute Engine returns a `nextPageToken` that can be used to get + * the next page of results in subsequent list requests. Acceptable values are + * `0` to `500`, inclusive. (Default: `500`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results + * are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation + * timestamp using `orderBy="creationTimestamp desc"`. This sorts + * results based on the `creationTimestamp` field in + * reverse chronological order (newest result first). Use this to sort + * resources like operations so that the newest operation is returned first. + * + * Currently, only sorting by `name` or + * `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the + * `nextPageToken` returned by a previous list request to get + * the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * Opt-in for partial success behavior which provides partial results in case + * of failure. The default value is false. + * + * For example, when partial success behavior is enabled, aggregatedList for a + * single zone scope either returns all resources in the zone or no resources, + * with an error code. + */ + returnPartialSuccess?: boolean; + } + export interface Params$Resource$Hacontrollers$Patch extends StandardParameters { + /** + * ID of the HaController resource to update. + */ + haController?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + */ + requestId?: string; + /** + * update_mask indicates fields to be updated as part of this request. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$HaController; + } + + export class Resource$Healthchecks { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * 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`. * @example * ```js * // Before running the sample: @@ -91730,236 +89798,121 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.httpHealthChecks.testIamPermissions({ - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name or id of the resource for this request. - * resource: '[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "permissions": [] - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "permissions": [] - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - testIamPermissions( - params: Params$Resource$Httphealthchecks$Testiampermissions, - options: StreamMethodOptions - ): Promise>; - testIamPermissions( - params?: Params$Resource$Httphealthchecks$Testiampermissions, - options?: MethodOptions - ): Promise>; - testIamPermissions( - params: Params$Resource$Httphealthchecks$Testiampermissions, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - testIamPermissions( - params: Params$Resource$Httphealthchecks$Testiampermissions, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - testIamPermissions( - params: Params$Resource$Httphealthchecks$Testiampermissions, - callback: BodyResponseCallback - ): void; - testIamPermissions( - callback: BodyResponseCallback - ): void; - testIamPermissions( - paramsOrCallback?: - | Params$Resource$Httphealthchecks$Testiampermissions - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Httphealthchecks$Testiampermissions; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Httphealthchecks$Testiampermissions; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/compute/alpha/projects/{project}/global/httpHealthChecks/{resource}/testIamPermissions' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['project', 'resource'], - pathParams: ['project', 'resource'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Updates a HttpHealthCheck resource in the specified project using the data - * included in the request. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/compute.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const compute = google.compute('alpha'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/cloud-platform', - * 'https://www.googleapis.com/auth/compute', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await compute.httpHealthChecks.update({ - * // Name of the HttpHealthCheck resource to update. - * httpHealthCheck: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // Project ID for this request. + * const res = await compute.healthChecks.aggregatedList({ + * // A filter expression that filters resources listed in the response. Most + * // Compute resources support two types of filter expressions: + * // expressions that support regular expressions and expressions that follow + * // API improvement proposal AIP-160. + * // These two types of filter expressions cannot be mixed in one request. + * // + * // If you want to use AIP-160, your expression must specify the field name, an + * // operator, and the value that you want to use for filtering. The value + * // must be a string, a number, or a boolean. The operator + * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * // + * // For example, if you are filtering Compute Engine instances, you can + * // exclude instances named `example-instance` by specifying + * // `name != example-instance`. + * // + * // The `:*` comparison can be used to test whether a key has been defined. + * // For example, to find all objects with `owner` label use: + * // ``` + * // labels.owner:* + * // ``` + * // + * // You can also filter nested fields. For example, you could specify + * // `scheduling.automaticRestart = false` to include instances only + * // if they are not scheduled for automatic restarts. You can use filtering + * // on nested fields to filter based onresource labels. + * // + * // To filter on multiple expressions, provide each separate expression within + * // parentheses. For example: + * // ``` + * // (scheduling.automaticRestart = true) + * // (cpuPlatform = "Intel Skylake") + * // ``` + * // By default, each expression is an `AND` expression. However, you + * // can include `AND` and `OR` expressions explicitly. + * // For example: + * // ``` + * // (cpuPlatform = "Intel Skylake") OR + * // (cpuPlatform = "Intel Broadwell") AND + * // (scheduling.automaticRestart = true) + * // ``` + * // + * // If you want to use a regular expression, use the `eq` (equal) or `ne` + * // (not equal) operator against a single un-parenthesized expression with or + * // without quotes or against multiple parenthesized expressions. Examples: + * // + * // `fieldname eq unquoted literal` + * // `fieldname eq 'single quoted literal'` + * // `fieldname eq "double quoted literal"` + * // `(fieldname1 eq literal) (fieldname2 ne "literal")` + * // + * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * // The literal value must match the entire field. + * // + * // For example, to filter for instances that do not end with name "instance", + * // you would use `name ne .*instance`. + * // + * // You cannot combine constraints on multiple fields using regular + * // expressions. + * filter: 'placeholder-value', + * // 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. + * includeAllScopes: 'placeholder-value', + * // The maximum number of results per page that should be returned. + * // If the number of available results is larger than `maxResults`, + * // Compute Engine returns a `nextPageToken` that can be used to get + * // the next page of results in subsequent list requests. Acceptable values are + * // `0` to `500`, inclusive. (Default: `500`) + * maxResults: 'placeholder-value', + * // Sorts list results by a certain order. By default, results + * // are returned in alphanumerical order based on the resource name. + * // + * // You can also sort results in descending order based on the creation + * // timestamp using `orderBy="creationTimestamp desc"`. This sorts + * // results based on the `creationTimestamp` field in + * // reverse chronological order (newest result first). Use this to sort + * // resources like operations so that the newest operation is returned first. + * // + * // Currently, only sorting by `name` or + * // `creationTimestamp desc` is supported. + * orderBy: 'placeholder-value', + * // Specifies a page token to use. Set `pageToken` to the + * // `nextPageToken` returned by a previous list request to get + * // the next page of results. + * pageToken: 'placeholder-value', + * // Name of the project scoping this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. + * // Opt-in for partial success behavior which provides partial results in case + * // of failure. The default value is false. * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "checkIntervalSec": 0, - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "healthyThreshold": 0, - * // "host": "my_host", - * // "id": "my_id", - * // "kind": "my_kind", - * // "name": "my_name", - * // "port": 0, - * // "requestPath": "my_requestPath", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "timeoutSec": 0, - * // "unhealthyThreshold": 0 - * // } - * }, + * // For example, when partial success behavior is enabled, aggregatedList for a + * // single zone scope either returns all resources in the zone or no resources, + * // with an error code. + * returnPartialSuccess: 'placeholder-value', + * // The Shared VPC service project id or service project number for which + * // aggregated list request is invoked for subnetworks list-usable api. + * serviceProjectNumber: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, + * // "items": {}, * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", + * // "nextPageToken": "my_nextPageToken", * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" + * // "unreachables": [], + * // "warning": {} * // } * } * @@ -91975,53 +89928,57 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - update( - params: Params$Resource$Httphealthchecks$Update, + aggregatedList( + params: Params$Resource$Healthchecks$Aggregatedlist, options: StreamMethodOptions ): Promise>; - update( - params?: Params$Resource$Httphealthchecks$Update, + aggregatedList( + params?: Params$Resource$Healthchecks$Aggregatedlist, options?: MethodOptions - ): Promise>; - update( - params: Params$Resource$Httphealthchecks$Update, + ): Promise>; + aggregatedList( + params: Params$Resource$Healthchecks$Aggregatedlist, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - update( - params: Params$Resource$Httphealthchecks$Update, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + aggregatedList( + params: Params$Resource$Healthchecks$Aggregatedlist, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - update( - params: Params$Resource$Httphealthchecks$Update, - callback: BodyResponseCallback + aggregatedList( + params: Params$Resource$Healthchecks$Aggregatedlist, + callback: BodyResponseCallback ): void; - update(callback: BodyResponseCallback): void; - update( + aggregatedList( + callback: BodyResponseCallback + ): void; + aggregatedList( paramsOrCallback?: - | Params$Resource$Httphealthchecks$Update - | BodyResponseCallback + | Params$Resource$Healthchecks$Aggregatedlist + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Httphealthchecks$Update; + {}) as Params$Resource$Healthchecks$Aggregatedlist; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Httphealthchecks$Update; + params = {} as Params$Resource$Healthchecks$Aggregatedlist; options = {}; } @@ -92036,282 +89993,30 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/httpHealthChecks/{httpHealthCheck}' + '/compute/alpha/projects/{project}/aggregated/healthChecks' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PUT', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['project', 'httpHealthCheck'], - pathParams: ['httpHealthCheck', 'project'], + requiredParams: ['project'], + pathParams: ['project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } - } - - export interface Params$Resource$Httphealthchecks$Delete extends StandardParameters { - /** - * Name of the HttpHealthCheck resource to delete. - */ - httpHealthCheck?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - } - export interface Params$Resource$Httphealthchecks$Get extends StandardParameters { - /** - * Name of the HttpHealthCheck resource to return. - */ - httpHealthCheck?: string; - /** - * Project ID for this request. - */ - project?: string; - } - export interface Params$Resource$Httphealthchecks$Insert extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$HttpHealthCheck; - } - export interface Params$Resource$Httphealthchecks$List extends StandardParameters { - /** - * A filter expression that filters resources listed in the response. Most - * Compute resources support two types of filter expressions: - * expressions that support regular expressions and expressions that follow - * API improvement proposal AIP-160. - * These two types of filter expressions cannot be mixed in one request. - * - * If you want to use AIP-160, your expression must specify the field name, an - * operator, and the value that you want to use for filtering. The value - * must be a string, a number, or a boolean. The operator - * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * - * For example, if you are filtering Compute Engine instances, you can - * exclude instances named `example-instance` by specifying - * `name != example-instance`. - * - * The `:*` comparison can be used to test whether a key has been defined. - * For example, to find all objects with `owner` label use: - * ``` - * labels.owner:* - * ``` - * - * You can also filter nested fields. For example, you could specify - * `scheduling.automaticRestart = false` to include instances only - * if they are not scheduled for automatic restarts. You can use filtering - * on nested fields to filter based onresource labels. - * - * To filter on multiple expressions, provide each separate expression within - * parentheses. For example: - * ``` - * (scheduling.automaticRestart = true) - * (cpuPlatform = "Intel Skylake") - * ``` - * By default, each expression is an `AND` expression. However, you - * can include `AND` and `OR` expressions explicitly. - * For example: - * ``` - * (cpuPlatform = "Intel Skylake") OR - * (cpuPlatform = "Intel Broadwell") AND - * (scheduling.automaticRestart = true) - * ``` - * - * If you want to use a regular expression, use the `eq` (equal) or `ne` - * (not equal) operator against a single un-parenthesized expression with or - * without quotes or against multiple parenthesized expressions. Examples: - * - * `fieldname eq unquoted literal` - * `fieldname eq 'single quoted literal'` - * `fieldname eq "double quoted literal"` - * `(fieldname1 eq literal) (fieldname2 ne "literal")` - * - * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * The literal value must match the entire field. - * - * For example, to filter for instances that do not end with name "instance", - * you would use `name ne .*instance`. - * - * You cannot combine constraints on multiple fields using regular - * expressions. - */ - filter?: string; - /** - * The maximum number of results per page that should be returned. - * If the number of available results is larger than `maxResults`, - * Compute Engine returns a `nextPageToken` that can be used to get - * the next page of results in subsequent list requests. Acceptable values are - * `0` to `500`, inclusive. (Default: `500`) - */ - maxResults?: number; - /** - * Sorts list results by a certain order. By default, results - * are returned in alphanumerical order based on the resource name. - * - * You can also sort results in descending order based on the creation - * timestamp using `orderBy="creationTimestamp desc"`. This sorts - * results based on the `creationTimestamp` field in - * reverse chronological order (newest result first). Use this to sort - * resources like operations so that the newest operation is returned first. - * - * Currently, only sorting by `name` or - * `creationTimestamp desc` is supported. - */ - orderBy?: string; - /** - * Specifies a page token to use. Set `pageToken` to the - * `nextPageToken` returned by a previous list request to get - * the next page of results. - */ - pageToken?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * Opt-in for partial success behavior which provides partial results in case - * of failure. The default value is false. - * - * For example, when partial success behavior is enabled, aggregatedList for a - * single zone scope either returns all resources in the zone or no resources, - * with an error code. - */ - returnPartialSuccess?: boolean; - } - export interface Params$Resource$Httphealthchecks$Patch extends StandardParameters { - /** - * Name of the HttpHealthCheck resource to patch. - */ - httpHealthCheck?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$HttpHealthCheck; - } - export interface Params$Resource$Httphealthchecks$Testiampermissions extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * Name or id of the resource for this request. - */ - resource?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$TestPermissionsRequest; - } - export interface Params$Resource$Httphealthchecks$Update extends StandardParameters { - /** - * Name of the HttpHealthCheck resource to update. - */ - httpHealthCheck?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$HttpHealthCheck; - } - - export class Resource$Httpshealthchecks { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } /** - * Deletes the specified HttpsHealthCheck resource. + * Deletes the specified HealthCheck resource. * @example * ```js * // Before running the sample: @@ -92343,9 +90048,9 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.httpsHealthChecks.delete({ - * // Name of the HttpsHealthCheck resource to delete. - * httpsHealthCheck: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.healthChecks.delete({ + * // Name of the HealthCheck resource to delete. + * healthCheck: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -92412,31 +90117,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ delete( - params: Params$Resource$Httpshealthchecks$Delete, + params: Params$Resource$Healthchecks$Delete, options: StreamMethodOptions ): Promise>; delete( - params?: Params$Resource$Httpshealthchecks$Delete, + params?: Params$Resource$Healthchecks$Delete, options?: MethodOptions ): Promise>; delete( - params: Params$Resource$Httpshealthchecks$Delete, + params: Params$Resource$Healthchecks$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Httpshealthchecks$Delete, + params: Params$Resource$Healthchecks$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Httpshealthchecks$Delete, + params: Params$Resource$Healthchecks$Delete, callback: BodyResponseCallback ): void; delete(callback: BodyResponseCallback): void; delete( paramsOrCallback?: - | Params$Resource$Httpshealthchecks$Delete + | Params$Resource$Healthchecks$Delete | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -92452,12 +90157,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Httpshealthchecks$Delete; + {}) as Params$Resource$Healthchecks$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Httpshealthchecks$Delete; + params = {} as Params$Resource$Healthchecks$Delete; options = {}; } @@ -92472,7 +90177,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}' + '/compute/alpha/projects/{project}/global/healthChecks/{healthCheck}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'DELETE', apiVersion: '', @@ -92480,8 +90185,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'httpsHealthCheck'], - pathParams: ['httpsHealthCheck', 'project'], + requiredParams: ['project', 'healthCheck'], + pathParams: ['healthCheck', 'project'], context: this.context, }; if (callback) { @@ -92495,7 +90200,7 @@ export namespace compute_alpha { } /** - * Returns the specified HttpsHealthCheck resource. + * Returns the specified HealthCheck resource. * @example * ```js * // Before running the sample: @@ -92528,9 +90233,9 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.httpsHealthChecks.get({ - * // Name of the HttpsHealthCheck resource to return. - * httpsHealthCheck: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.healthChecks.get({ + * // Name of the HealthCheck resource to return. + * healthCheck: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -92542,16 +90247,25 @@ export namespace compute_alpha { * // "checkIntervalSec": 0, * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", + * // "grpcHealthCheck": {}, + * // "grpcTlsHealthCheck": {}, * // "healthyThreshold": 0, - * // "host": "my_host", + * // "http2HealthCheck": {}, + * // "httpHealthCheck": {}, + * // "httpsHealthCheck": {}, * // "id": "my_id", * // "kind": "my_kind", + * // "logConfig": {}, * // "name": "my_name", - * // "port": 0, - * // "requestPath": "my_requestPath", + * // "region": "my_region", * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", + * // "sourceRegions": [], + * // "sslHealthCheck": {}, + * // "tcpHealthCheck": {}, * // "timeoutSec": 0, + * // "type": "my_type", + * // "udpHealthCheck": {}, * // "unhealthyThreshold": 0 * // } * } @@ -92569,52 +90283,51 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ get( - params: Params$Resource$Httpshealthchecks$Get, + params: Params$Resource$Healthchecks$Get, options: StreamMethodOptions ): Promise>; get( - params?: Params$Resource$Httpshealthchecks$Get, + params?: Params$Resource$Healthchecks$Get, options?: MethodOptions - ): Promise>; + ): Promise>; get( - params: Params$Resource$Httpshealthchecks$Get, + params: Params$Resource$Healthchecks$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; get( - params: Params$Resource$Httpshealthchecks$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + params: Params$Resource$Healthchecks$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; get( - params: Params$Resource$Httpshealthchecks$Get, - callback: BodyResponseCallback + params: Params$Resource$Healthchecks$Get, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; get( paramsOrCallback?: - | Params$Resource$Httpshealthchecks$Get - | BodyResponseCallback + | Params$Resource$Healthchecks$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Httpshealthchecks$Get; + let params = (paramsOrCallback || {}) as Params$Resource$Healthchecks$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Httpshealthchecks$Get; + params = {} as Params$Resource$Healthchecks$Get; options = {}; } @@ -92629,7 +90342,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}' + '/compute/alpha/projects/{project}/global/healthChecks/{healthCheck}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -92637,22 +90350,22 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'httpsHealthCheck'], - pathParams: ['httpsHealthCheck', 'project'], + requiredParams: ['project', 'healthCheck'], + pathParams: ['healthCheck', 'project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Creates a HttpsHealthCheck resource in the specified project using the data + * Creates a HealthCheck resource in the specified project using the data * included in the request. * @example * ```js @@ -92685,7 +90398,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.httpsHealthChecks.insert({ + * const res = await compute.healthChecks.insert({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -92711,16 +90424,25 @@ export namespace compute_alpha { * // "checkIntervalSec": 0, * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", + * // "grpcHealthCheck": {}, + * // "grpcTlsHealthCheck": {}, * // "healthyThreshold": 0, - * // "host": "my_host", + * // "http2HealthCheck": {}, + * // "httpHealthCheck": {}, + * // "httpsHealthCheck": {}, * // "id": "my_id", * // "kind": "my_kind", + * // "logConfig": {}, * // "name": "my_name", - * // "port": 0, - * // "requestPath": "my_requestPath", + * // "region": "my_region", * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", + * // "sourceRegions": [], + * // "sslHealthCheck": {}, + * // "tcpHealthCheck": {}, * // "timeoutSec": 0, + * // "type": "my_type", + * // "udpHealthCheck": {}, * // "unhealthyThreshold": 0 * // } * }, @@ -92773,31 +90495,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ insert( - params: Params$Resource$Httpshealthchecks$Insert, + params: Params$Resource$Healthchecks$Insert, options: StreamMethodOptions ): Promise>; insert( - params?: Params$Resource$Httpshealthchecks$Insert, + params?: Params$Resource$Healthchecks$Insert, options?: MethodOptions ): Promise>; insert( - params: Params$Resource$Httpshealthchecks$Insert, + params: Params$Resource$Healthchecks$Insert, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; insert( - params: Params$Resource$Httpshealthchecks$Insert, + params: Params$Resource$Healthchecks$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; insert( - params: Params$Resource$Httpshealthchecks$Insert, + params: Params$Resource$Healthchecks$Insert, callback: BodyResponseCallback ): void; insert(callback: BodyResponseCallback): void; insert( paramsOrCallback?: - | Params$Resource$Httpshealthchecks$Insert + | Params$Resource$Healthchecks$Insert | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -92813,12 +90535,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Httpshealthchecks$Insert; + {}) as Params$Resource$Healthchecks$Insert; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Httpshealthchecks$Insert; + params = {} as Params$Resource$Healthchecks$Insert; options = {}; } @@ -92832,8 +90554,7 @@ export namespace compute_alpha { options: Object.assign( { url: ( - rootUrl + - '/compute/alpha/projects/{project}/global/httpsHealthChecks' + rootUrl + '/compute/alpha/projects/{project}/global/healthChecks' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -92856,7 +90577,7 @@ export namespace compute_alpha { } /** - * Retrieves the list of HttpsHealthCheck resources available to the specified + * Retrieves the list of HealthCheck resources available to the specified * project. * @example * ```js @@ -92890,7 +90611,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.httpsHealthChecks.list({ + * const res = await compute.healthChecks.list({ * // A filter expression that filters resources listed in the response. Most * // Compute resources support two types of filter expressions: * // expressions that support regular expressions and expressions that follow @@ -93009,54 +90730,52 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ list( - params: Params$Resource$Httpshealthchecks$List, + params: Params$Resource$Healthchecks$List, options: StreamMethodOptions ): Promise>; list( - params?: Params$Resource$Httpshealthchecks$List, + params?: Params$Resource$Healthchecks$List, options?: MethodOptions - ): Promise>; + ): Promise>; list( - params: Params$Resource$Httpshealthchecks$List, + params: Params$Resource$Healthchecks$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; list( - params: Params$Resource$Httpshealthchecks$List, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + params: Params$Resource$Healthchecks$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; list( - params: Params$Resource$Httpshealthchecks$List, - callback: BodyResponseCallback + params: Params$Resource$Healthchecks$List, + callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; list( paramsOrCallback?: - | Params$Resource$Httpshealthchecks$List - | BodyResponseCallback + | Params$Resource$Healthchecks$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Httpshealthchecks$List; + {}) as Params$Resource$Healthchecks$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Httpshealthchecks$List; + params = {} as Params$Resource$Healthchecks$List; options = {}; } @@ -93070,8 +90789,7 @@ export namespace compute_alpha { options: Object.assign( { url: ( - rootUrl + - '/compute/alpha/projects/{project}/global/httpsHealthChecks' + rootUrl + '/compute/alpha/projects/{project}/global/healthChecks' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -93084,17 +90802,17 @@ export namespace compute_alpha { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Updates a HttpsHealthCheck resource in the specified project using the data + * Updates a HealthCheck resource in the specified project using the data * included in the request. This method supportsPATCH * semantics and uses theJSON merge * patch format and processing rules. @@ -93129,9 +90847,9 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.httpsHealthChecks.patch({ - * // Name of the HttpsHealthCheck resource to patch. - * httpsHealthCheck: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.healthChecks.patch({ + * // Name of the HealthCheck resource to patch. + * healthCheck: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -93157,16 +90875,25 @@ export namespace compute_alpha { * // "checkIntervalSec": 0, * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", + * // "grpcHealthCheck": {}, + * // "grpcTlsHealthCheck": {}, * // "healthyThreshold": 0, - * // "host": "my_host", + * // "http2HealthCheck": {}, + * // "httpHealthCheck": {}, + * // "httpsHealthCheck": {}, * // "id": "my_id", * // "kind": "my_kind", + * // "logConfig": {}, * // "name": "my_name", - * // "port": 0, - * // "requestPath": "my_requestPath", + * // "region": "my_region", * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", + * // "sourceRegions": [], + * // "sslHealthCheck": {}, + * // "tcpHealthCheck": {}, * // "timeoutSec": 0, + * // "type": "my_type", + * // "udpHealthCheck": {}, * // "unhealthyThreshold": 0 * // } * }, @@ -93219,31 +90946,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ patch( - params: Params$Resource$Httpshealthchecks$Patch, + params: Params$Resource$Healthchecks$Patch, options: StreamMethodOptions ): Promise>; patch( - params?: Params$Resource$Httpshealthchecks$Patch, + params?: Params$Resource$Healthchecks$Patch, options?: MethodOptions ): Promise>; patch( - params: Params$Resource$Httpshealthchecks$Patch, + params: Params$Resource$Healthchecks$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; patch( - params: Params$Resource$Httpshealthchecks$Patch, + params: Params$Resource$Healthchecks$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; patch( - params: Params$Resource$Httpshealthchecks$Patch, + params: Params$Resource$Healthchecks$Patch, callback: BodyResponseCallback ): void; patch(callback: BodyResponseCallback): void; patch( paramsOrCallback?: - | Params$Resource$Httpshealthchecks$Patch + | Params$Resource$Healthchecks$Patch | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -93259,12 +90986,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Httpshealthchecks$Patch; + {}) as Params$Resource$Healthchecks$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Httpshealthchecks$Patch; + params = {} as Params$Resource$Healthchecks$Patch; options = {}; } @@ -93279,7 +91006,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}' + '/compute/alpha/projects/{project}/global/healthChecks/{healthCheck}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'PATCH', apiVersion: '', @@ -93287,8 +91014,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'httpsHealthCheck'], - pathParams: ['httpsHealthCheck', 'project'], + requiredParams: ['project', 'healthCheck'], + pathParams: ['healthCheck', 'project'], context: this.context, }; if (callback) { @@ -93335,7 +91062,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.httpsHealthChecks.testIamPermissions({ + * const res = await compute.healthChecks.testIamPermissions({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -93371,27 +91098,27 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ testIamPermissions( - params: Params$Resource$Httpshealthchecks$Testiampermissions, + params: Params$Resource$Healthchecks$Testiampermissions, options: StreamMethodOptions ): Promise>; testIamPermissions( - params?: Params$Resource$Httpshealthchecks$Testiampermissions, + params?: Params$Resource$Healthchecks$Testiampermissions, options?: MethodOptions ): Promise>; testIamPermissions( - params: Params$Resource$Httpshealthchecks$Testiampermissions, + params: Params$Resource$Healthchecks$Testiampermissions, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; testIamPermissions( - params: Params$Resource$Httpshealthchecks$Testiampermissions, + params: Params$Resource$Healthchecks$Testiampermissions, options: | MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; testIamPermissions( - params: Params$Resource$Httpshealthchecks$Testiampermissions, + params: Params$Resource$Healthchecks$Testiampermissions, callback: BodyResponseCallback ): void; testIamPermissions( @@ -93399,7 +91126,7 @@ export namespace compute_alpha { ): void; testIamPermissions( paramsOrCallback?: - | Params$Resource$Httpshealthchecks$Testiampermissions + | Params$Resource$Healthchecks$Testiampermissions | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -93415,12 +91142,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Httpshealthchecks$Testiampermissions; + {}) as Params$Resource$Healthchecks$Testiampermissions; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Httpshealthchecks$Testiampermissions; + params = {} as Params$Resource$Healthchecks$Testiampermissions; options = {}; } @@ -93435,7 +91162,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/httpsHealthChecks/{resource}/testIamPermissions' + '/compute/alpha/projects/{project}/global/healthChecks/{resource}/testIamPermissions' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -93458,7 +91185,7 @@ export namespace compute_alpha { } /** - * Updates a HttpsHealthCheck resource in the specified project using the data + * Updates a HealthCheck resource in the specified project using the data * included in the request. * @example * ```js @@ -93491,9 +91218,9 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.httpsHealthChecks.update({ - * // Name of the HttpsHealthCheck resource to update. - * httpsHealthCheck: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.healthChecks.update({ + * // Name of the HealthCheck resource to update. + * healthCheck: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -93519,16 +91246,25 @@ export namespace compute_alpha { * // "checkIntervalSec": 0, * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", + * // "grpcHealthCheck": {}, + * // "grpcTlsHealthCheck": {}, * // "healthyThreshold": 0, - * // "host": "my_host", + * // "http2HealthCheck": {}, + * // "httpHealthCheck": {}, + * // "httpsHealthCheck": {}, * // "id": "my_id", * // "kind": "my_kind", + * // "logConfig": {}, * // "name": "my_name", - * // "port": 0, - * // "requestPath": "my_requestPath", + * // "region": "my_region", * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", + * // "sourceRegions": [], + * // "sslHealthCheck": {}, + * // "tcpHealthCheck": {}, * // "timeoutSec": 0, + * // "type": "my_type", + * // "udpHealthCheck": {}, * // "unhealthyThreshold": 0 * // } * }, @@ -93581,31 +91317,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ update( - params: Params$Resource$Httpshealthchecks$Update, + params: Params$Resource$Healthchecks$Update, options: StreamMethodOptions ): Promise>; update( - params?: Params$Resource$Httpshealthchecks$Update, + params?: Params$Resource$Healthchecks$Update, options?: MethodOptions ): Promise>; update( - params: Params$Resource$Httpshealthchecks$Update, + params: Params$Resource$Healthchecks$Update, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; update( - params: Params$Resource$Httpshealthchecks$Update, + params: Params$Resource$Healthchecks$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; update( - params: Params$Resource$Httpshealthchecks$Update, + params: Params$Resource$Healthchecks$Update, callback: BodyResponseCallback ): void; update(callback: BodyResponseCallback): void; update( paramsOrCallback?: - | Params$Resource$Httpshealthchecks$Update + | Params$Resource$Healthchecks$Update | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -93621,12 +91357,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Httpshealthchecks$Update; + {}) as Params$Resource$Healthchecks$Update; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Httpshealthchecks$Update; + params = {} as Params$Resource$Healthchecks$Update; options = {}; } @@ -93641,7 +91377,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}' + '/compute/alpha/projects/{project}/global/healthChecks/{healthCheck}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'PUT', apiVersion: '', @@ -93649,8 +91385,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'httpsHealthCheck'], - pathParams: ['httpsHealthCheck', 'project'], + requiredParams: ['project', 'healthCheck'], + pathParams: ['healthCheck', 'project'], context: this.context, }; if (callback) { @@ -93664,70 +91400,7 @@ export namespace compute_alpha { } } - export interface Params$Resource$Httpshealthchecks$Delete extends StandardParameters { - /** - * Name of the HttpsHealthCheck resource to delete. - */ - httpsHealthCheck?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - } - export interface Params$Resource$Httpshealthchecks$Get extends StandardParameters { - /** - * Name of the HttpsHealthCheck resource to return. - */ - httpsHealthCheck?: string; - /** - * Project ID for this request. - */ - project?: string; - } - export interface Params$Resource$Httpshealthchecks$Insert extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$HttpsHealthCheck; - } - export interface Params$Resource$Httpshealthchecks$List extends StandardParameters { + export interface Params$Resource$Healthchecks$Aggregatedlist extends StandardParameters { /** * A filter expression that filters resources listed in the response. Most * Compute resources support two types of filter expressions: @@ -93789,6 +91462,16 @@ export namespace compute_alpha { * expressions. */ filter?: string; + /** + * 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. + */ + includeAllScopes?: boolean; /** * The maximum number of results per page that should be returned. * If the number of available results is larger than `maxResults`, @@ -93818,7 +91501,7 @@ export namespace compute_alpha { */ pageToken?: string; /** - * Project ID for this request. + * Name of the project scoping this request. */ project?: string; /** @@ -93830,12 +91513,17 @@ export namespace compute_alpha { * with an error code. */ returnPartialSuccess?: boolean; + /** + * The Shared VPC service project id or service project number for which + * aggregated list request is invoked for subnetworks list-usable api. + */ + serviceProjectNumber?: string; } - export interface Params$Resource$Httpshealthchecks$Patch extends StandardParameters { + export interface Params$Resource$Healthchecks$Delete extends StandardParameters { /** - * Name of the HttpsHealthCheck resource to patch. + * Name of the HealthCheck resource to delete. */ - httpsHealthCheck?: string; + healthCheck?: string; /** * Project ID for this request. */ @@ -93856,32 +91544,18 @@ export namespace compute_alpha { * (00000000-0000-0000-0000-000000000000). */ requestId?: string; - + } + export interface Params$Resource$Healthchecks$Get extends StandardParameters { /** - * Request body metadata + * Name of the HealthCheck resource to return. */ - requestBody?: Schema$HttpsHealthCheck; - } - export interface Params$Resource$Httpshealthchecks$Testiampermissions extends StandardParameters { + healthCheck?: string; /** * Project ID for this request. */ project?: string; - /** - * Name or id of the resource for this request. - */ - resource?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$TestPermissionsRequest; } - export interface Params$Resource$Httpshealthchecks$Update extends StandardParameters { - /** - * Name of the HttpsHealthCheck resource to update. - */ - httpsHealthCheck?: string; + export interface Params$Resource$Healthchecks$Insert extends StandardParameters { /** * Project ID for this request. */ @@ -93906,20 +91580,200 @@ export namespace compute_alpha { /** * Request body metadata */ - requestBody?: Schema$HttpsHealthCheck; + requestBody?: Schema$HealthCheck; } - - export class Resource$Imagefamilyviews { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - + export interface Params$Resource$Healthchecks$List extends StandardParameters { /** - * Returns the latest image that is part of an image family, is not - * deprecated and is rolled out in the specified zone. - * @example - * ```js + * A filter expression that filters resources listed in the response. Most + * Compute resources support two types of filter expressions: + * expressions that support regular expressions and expressions that follow + * API improvement proposal AIP-160. + * These two types of filter expressions cannot be mixed in one request. + * + * If you want to use AIP-160, your expression must specify the field name, an + * operator, and the value that you want to use for filtering. The value + * must be a string, a number, or a boolean. The operator + * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * + * For example, if you are filtering Compute Engine instances, you can + * exclude instances named `example-instance` by specifying + * `name != example-instance`. + * + * The `:*` comparison can be used to test whether a key has been defined. + * For example, to find all objects with `owner` label use: + * ``` + * labels.owner:* + * ``` + * + * You can also filter nested fields. For example, you could specify + * `scheduling.automaticRestart = false` to include instances only + * if they are not scheduled for automatic restarts. You can use filtering + * on nested fields to filter based onresource labels. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example: + * ``` + * (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake") + * ``` + * By default, each expression is an `AND` expression. However, you + * can include `AND` and `OR` expressions explicitly. + * For example: + * ``` + * (cpuPlatform = "Intel Skylake") OR + * (cpuPlatform = "Intel Broadwell") AND + * (scheduling.automaticRestart = true) + * ``` + * + * If you want to use a regular expression, use the `eq` (equal) or `ne` + * (not equal) operator against a single un-parenthesized expression with or + * without quotes or against multiple parenthesized expressions. Examples: + * + * `fieldname eq unquoted literal` + * `fieldname eq 'single quoted literal'` + * `fieldname eq "double quoted literal"` + * `(fieldname1 eq literal) (fieldname2 ne "literal")` + * + * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * The literal value must match the entire field. + * + * For example, to filter for instances that do not end with name "instance", + * you would use `name ne .*instance`. + * + * You cannot combine constraints on multiple fields using regular + * expressions. + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. + * If the number of available results is larger than `maxResults`, + * Compute Engine returns a `nextPageToken` that can be used to get + * the next page of results in subsequent list requests. Acceptable values are + * `0` to `500`, inclusive. (Default: `500`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results + * are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation + * timestamp using `orderBy="creationTimestamp desc"`. This sorts + * results based on the `creationTimestamp` field in + * reverse chronological order (newest result first). Use this to sort + * resources like operations so that the newest operation is returned first. + * + * Currently, only sorting by `name` or + * `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the + * `nextPageToken` returned by a previous list request to get + * the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Opt-in for partial success behavior which provides partial results in case + * of failure. The default value is false. + * + * For example, when partial success behavior is enabled, aggregatedList for a + * single zone scope either returns all resources in the zone or no resources, + * with an error code. + */ + returnPartialSuccess?: boolean; + } + export interface Params$Resource$Healthchecks$Patch extends StandardParameters { + /** + * Name of the HealthCheck resource to patch. + */ + healthCheck?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$HealthCheck; + } + export interface Params$Resource$Healthchecks$Testiampermissions extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + export interface Params$Resource$Healthchecks$Update extends StandardParameters { + /** + * Name of the HealthCheck resource to update. + */ + healthCheck?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$HealthCheck; + } + + export class Resource$Hosts { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Retrieves information about the specified host. + * @example + * ```js * // Before running the sample: * // - Enable the API at: * // https://console.developers.google.com/apis/api/compute.googleapis.com @@ -93950,20 +91804,36 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.imageFamilyViews.get({ - * // Name of the image family to search for. - * family: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // The name of the zone for this request. - * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * const res = await compute.hosts.get({ + * // The parent resource association for the Host. This field specifies the + * // hierarchical context (e.g., reservation, block, sub-block) when + * // accessing the host. For example, reservations/reservation_name, + * // reservations/reservation_name/reservationBlocks/reservation_block_name or + * // reservations/reservation_name/reservationBlocks/reservation_block_name/reservationSubBlocks/reservation_sub_block_name. + * association: 'placeholder-value', + * // The name of the host, formatted as RFC1035 or a resource ID + * // number. + * host: 'placeholder-value', + * // The project ID for this request. + * project: 'placeholder-value', + * // The name of the zone for this request, formatted as RFC1035. + * zone: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { - * // "image": {} + * // "aliasLinks": [], + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "id": "my_id", + * // "kind": "my_kind", + * // "name": "my_name", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "state": "my_state", + * // "status": {}, + * // "zone": "my_zone" * // } * } * @@ -93980,52 +91850,51 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ get( - params: Params$Resource$Imagefamilyviews$Get, + params: Params$Resource$Hosts$Get, options: StreamMethodOptions ): Promise>; get( - params?: Params$Resource$Imagefamilyviews$Get, + params?: Params$Resource$Hosts$Get, options?: MethodOptions - ): Promise>; + ): Promise>; get( - params: Params$Resource$Imagefamilyviews$Get, + params: Params$Resource$Hosts$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; get( - params: Params$Resource$Imagefamilyviews$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + params: Params$Resource$Hosts$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; get( - params: Params$Resource$Imagefamilyviews$Get, - callback: BodyResponseCallback + params: Params$Resource$Hosts$Get, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; get( paramsOrCallback?: - | Params$Resource$Imagefamilyviews$Get - | BodyResponseCallback + | Params$Resource$Hosts$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Imagefamilyviews$Get; + let params = (paramsOrCallback || {}) as Params$Resource$Hosts$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Imagefamilyviews$Get; + params = {} as Params$Resource$Hosts$Get; options = {}; } @@ -94040,7 +91909,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/imageFamilyViews/{family}' + '/compute/alpha/projects/{project}/zones/{zone}/{association}/hosts/{host}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -94048,44 +91917,22 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'zone', 'family'], - pathParams: ['family', 'project', 'zone'], + requiredParams: ['project', 'zone', 'association', 'host'], + pathParams: ['association', 'host', 'project', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } - } - - export interface Params$Resource$Imagefamilyviews$Get extends StandardParameters { - /** - * Name of the image family to search for. - */ - family?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * The name of the zone for this request. - */ - zone?: string; - } - - export class Resource$Images { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } /** - * Deletes the specified image. + * Allows customers to get SBOM versions of a host. * @example * ```js * // Before running the sample: @@ -94117,26 +91964,30 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.images.delete({ - * // Name of the image resource to delete. - * image: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.hosts.getVersion({ + * // The parent resource association for the Host. This field specifies the + * // hierarchical context (e.g., reservation, block, sub-block) when + * // accessing the host. + * association: 'placeholder-value', + * // The name of the host, formatted as RFC1035 or a resource ID + * // number. + * host: 'placeholder-value', * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * project: 'placeholder-value', * // An optional request ID to identify requests. Specify a unique request ID so * // that if you must retry your request, the server will know to ignore the * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. - * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', + * // Name of the zone for this request. Zone name should conform to RFC1035. + * zone: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "sbomSelections": [] + * // } + * }, * }); * console.log(res.data); * @@ -94185,32 +92036,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - delete( - params: Params$Resource$Images$Delete, + getVersion( + params: Params$Resource$Hosts$Getversion, options: StreamMethodOptions ): Promise>; - delete( - params?: Params$Resource$Images$Delete, + getVersion( + params?: Params$Resource$Hosts$Getversion, options?: MethodOptions ): Promise>; - delete( - params: Params$Resource$Images$Delete, + getVersion( + params: Params$Resource$Hosts$Getversion, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Images$Delete, + getVersion( + params: Params$Resource$Hosts$Getversion, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Images$Delete, + getVersion( + params: Params$Resource$Hosts$Getversion, callback: BodyResponseCallback ): void; - delete(callback: BodyResponseCallback): void; - delete( + getVersion(callback: BodyResponseCallback): void; + getVersion( paramsOrCallback?: - | Params$Resource$Images$Delete + | Params$Resource$Hosts$Getversion | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -94225,12 +92076,12 @@ export namespace compute_alpha { | void | Promise> | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Images$Delete; + let params = (paramsOrCallback || {}) as Params$Resource$Hosts$Getversion; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Images$Delete; + params = {} as Params$Resource$Hosts$Getversion; options = {}; } @@ -94245,16 +92096,16 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/images/{image}' + '/compute/alpha/projects/{project}/zones/{zone}/{association}/hosts/{host}/getVersion' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project', 'image'], - pathParams: ['image', 'project'], + requiredParams: ['project', 'zone', 'association', 'host'], + pathParams: ['association', 'host', 'project', 'zone'], context: this.context, }; if (callback) { @@ -94268,9 +92119,7 @@ export namespace compute_alpha { } /** - * Sets the deprecation status of an image. - * - * If an empty request body is given, clears the deprecation status instead. + * Retrieves a list of hosts. * @example * ```js * // Before running the sample: @@ -94294,6 +92143,7 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -94302,72 +92152,118 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.images.deprecate({ - * // Image name. - * image: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. + * const res = await compute.hosts.list({ + * // The parent resource association for the Host. This field specifies the + * // hierarchical context (e.g., reservation, block, sub-block) when + * // accessing the host. For example, reservations/reservation_name, + * // reservations/reservation_name/reservationBlocks/reservation_block_name or + * // reservations/reservation_name/reservationBlocks/reservation_block_name/reservationSubBlocks/reservation_sub_block_name. + * association: 'placeholder-value', + * // A filter expression that filters resources listed in the response. Most + * // Compute resources support two types of filter expressions: + * // expressions that support regular expressions and expressions that follow + * // API improvement proposal AIP-160. + * // These two types of filter expressions cannot be mixed in one 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. + * // If you want to use AIP-160, your expression must specify the field name, an + * // operator, and the value that you want to use for filtering. The value + * // must be a string, a number, or a boolean. The operator + * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "deleted": "my_deleted", - * // "deprecated": "my_deprecated", - * // "obsolete": "my_obsolete", - * // "replacement": "my_replacement", - * // "state": "my_state", - * // "stateOverride": {} - * // } - * }, + * // For example, if you are filtering Compute Engine instances, you can + * // exclude instances named `example-instance` by specifying + * // `name != example-instance`. + * // + * // The `:*` comparison can be used to test whether a key has been defined. + * // For example, to find all objects with `owner` label use: + * // ``` + * // labels.owner:* + * // ``` + * // + * // You can also filter nested fields. For example, you could specify + * // `scheduling.automaticRestart = false` to include instances only + * // if they are not scheduled for automatic restarts. You can use filtering + * // on nested fields to filter based onresource labels. + * // + * // To filter on multiple expressions, provide each separate expression within + * // parentheses. For example: + * // ``` + * // (scheduling.automaticRestart = true) + * // (cpuPlatform = "Intel Skylake") + * // ``` + * // By default, each expression is an `AND` expression. However, you + * // can include `AND` and `OR` expressions explicitly. + * // For example: + * // ``` + * // (cpuPlatform = "Intel Skylake") OR + * // (cpuPlatform = "Intel Broadwell") AND + * // (scheduling.automaticRestart = true) + * // ``` + * // + * // If you want to use a regular expression, use the `eq` (equal) or `ne` + * // (not equal) operator against a single un-parenthesized expression with or + * // without quotes or against multiple parenthesized expressions. Examples: + * // + * // `fieldname eq unquoted literal` + * // `fieldname eq 'single quoted literal'` + * // `fieldname eq "double quoted literal"` + * // `(fieldname1 eq literal) (fieldname2 ne "literal")` + * // + * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * // The literal value must match the entire field. + * // + * // For example, to filter for instances that do not end with name "instance", + * // you would use `name ne .*instance`. + * // + * // You cannot combine constraints on multiple fields using regular + * // expressions. + * filter: 'placeholder-value', + * // The maximum number of results per page that should be returned. + * // If the number of available results is larger than `maxResults`, + * // Compute Engine returns a `nextPageToken` that can be used to get + * // the next page of results in subsequent list requests. Acceptable values are + * // `0` to `500`, inclusive. (Default: `500`) + * maxResults: 'placeholder-value', + * // Sorts list results by a certain order. By default, results + * // are returned in alphanumerical order based on the resource name. + * // + * // You can also sort results in descending order based on the creation + * // timestamp using `orderBy="creationTimestamp desc"`. This sorts + * // results based on the `creationTimestamp` field in + * // reverse chronological order (newest result first). Use this to sort + * // resources like operations so that the newest operation is returned first. + * // + * // Currently, only sorting by `name` or + * // `creationTimestamp desc` is supported. + * orderBy: 'placeholder-value', + * // Specifies a page token to use. Set `pageToken` to the + * // `nextPageToken` returned by a previous list request to get + * // the next page of results. + * pageToken: 'placeholder-value', + * // The project ID for this request. + * project: 'placeholder-value', + * // Opt-in for partial success behavior which provides partial results in case + * // of failure. The default value is false. + * // + * // For example, when partial success behavior is enabled, aggregatedList for a + * // single zone scope either returns all resources in the zone or no resources, + * // with an error code. + * returnPartialSuccess: 'placeholder-value', + * // The name of the zone for this request, formatted as RFC1035. + * zone: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, + * // "etag": "my_etag", * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, + * // "items": [], * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", + * // "nextPageToken": "my_nextPageToken", * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" + * // "unreachables": [], + * // "warning": {} * // } * } * @@ -94383,52 +92279,52 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - deprecate( - params: Params$Resource$Images$Deprecate, + list( + params: Params$Resource$Hosts$List, options: StreamMethodOptions ): Promise>; - deprecate( - params?: Params$Resource$Images$Deprecate, + list( + params?: Params$Resource$Hosts$List, options?: MethodOptions - ): Promise>; - deprecate( - params: Params$Resource$Images$Deprecate, + ): Promise>; + list( + params: Params$Resource$Hosts$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - deprecate( - params: Params$Resource$Images$Deprecate, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + list( + params: Params$Resource$Hosts$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - deprecate( - params: Params$Resource$Images$Deprecate, - callback: BodyResponseCallback + list( + params: Params$Resource$Hosts$List, + callback: BodyResponseCallback ): void; - deprecate(callback: BodyResponseCallback): void; - deprecate( + list(callback: BodyResponseCallback): void; + list( paramsOrCallback?: - | Params$Resource$Images$Deprecate - | BodyResponseCallback + | Params$Resource$Hosts$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Images$Deprecate; + let params = (paramsOrCallback || {}) as Params$Resource$Hosts$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Images$Deprecate; + params = {} as Params$Resource$Hosts$List; options = {}; } @@ -94443,30 +92339,209 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/images/{image}/deprecate' + '/compute/alpha/projects/{project}/zones/{zone}/{association}/hosts' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['project', 'image'], - pathParams: ['image', 'project'], + requiredParams: ['project', 'zone', 'association'], + pathParams: ['association', 'project', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } + } + export interface Params$Resource$Hosts$Get extends StandardParameters { /** - * Returns the specified image. + * The parent resource association for the Host. This field specifies the + * hierarchical context (e.g., reservation, block, sub-block) when + * accessing the host. For example, reservations/reservation_name, + * reservations/reservation_name/reservationBlocks/reservation_block_name or + * reservations/reservation_name/reservationBlocks/reservation_block_name/reservationSubBlocks/reservation_sub_block_name. + */ + association?: string; + /** + * The name of the host, formatted as RFC1035 or a resource ID + * number. + */ + host?: string; + /** + * The project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request, formatted as RFC1035. + */ + zone?: string; + } + export interface Params$Resource$Hosts$Getversion extends StandardParameters { + /** + * The parent resource association for the Host. This field specifies the + * hierarchical context (e.g., reservation, block, sub-block) when + * accessing the host. + */ + association?: string; + /** + * The name of the host, formatted as RFC1035 or a resource ID + * number. + */ + host?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + */ + requestId?: string; + /** + * Name of the zone for this request. Zone name should conform to RFC1035. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$HostsGetVersionRequest; + } + export interface Params$Resource$Hosts$List extends StandardParameters { + /** + * The parent resource association for the Host. This field specifies the + * hierarchical context (e.g., reservation, block, sub-block) when + * accessing the host. For example, reservations/reservation_name, + * reservations/reservation_name/reservationBlocks/reservation_block_name or + * reservations/reservation_name/reservationBlocks/reservation_block_name/reservationSubBlocks/reservation_sub_block_name. + */ + association?: string; + /** + * A filter expression that filters resources listed in the response. Most + * Compute resources support two types of filter expressions: + * expressions that support regular expressions and expressions that follow + * API improvement proposal AIP-160. + * These two types of filter expressions cannot be mixed in one request. + * + * If you want to use AIP-160, your expression must specify the field name, an + * operator, and the value that you want to use for filtering. The value + * must be a string, a number, or a boolean. The operator + * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * + * For example, if you are filtering Compute Engine instances, you can + * exclude instances named `example-instance` by specifying + * `name != example-instance`. + * + * The `:*` comparison can be used to test whether a key has been defined. + * For example, to find all objects with `owner` label use: + * ``` + * labels.owner:* + * ``` + * + * You can also filter nested fields. For example, you could specify + * `scheduling.automaticRestart = false` to include instances only + * if they are not scheduled for automatic restarts. You can use filtering + * on nested fields to filter based onresource labels. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example: + * ``` + * (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake") + * ``` + * By default, each expression is an `AND` expression. However, you + * can include `AND` and `OR` expressions explicitly. + * For example: + * ``` + * (cpuPlatform = "Intel Skylake") OR + * (cpuPlatform = "Intel Broadwell") AND + * (scheduling.automaticRestart = true) + * ``` + * + * If you want to use a regular expression, use the `eq` (equal) or `ne` + * (not equal) operator against a single un-parenthesized expression with or + * without quotes or against multiple parenthesized expressions. Examples: + * + * `fieldname eq unquoted literal` + * `fieldname eq 'single quoted literal'` + * `fieldname eq "double quoted literal"` + * `(fieldname1 eq literal) (fieldname2 ne "literal")` + * + * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * The literal value must match the entire field. + * + * For example, to filter for instances that do not end with name "instance", + * you would use `name ne .*instance`. + * + * You cannot combine constraints on multiple fields using regular + * expressions. + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. + * If the number of available results is larger than `maxResults`, + * Compute Engine returns a `nextPageToken` that can be used to get + * the next page of results in subsequent list requests. Acceptable values are + * `0` to `500`, inclusive. (Default: `500`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results + * are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation + * timestamp using `orderBy="creationTimestamp desc"`. This sorts + * results based on the `creationTimestamp` field in + * reverse chronological order (newest result first). Use this to sort + * resources like operations so that the newest operation is returned first. + * + * Currently, only sorting by `name` or + * `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the + * `nextPageToken` returned by a previous list request to get + * the next page of results. + */ + pageToken?: string; + /** + * The project ID for this request. + */ + project?: string; + /** + * Opt-in for partial success behavior which provides partial results in case + * of failure. The default value is false. + * + * For example, when partial success behavior is enabled, aggregatedList for a + * single zone scope either returns all resources in the zone or no resources, + * with an error code. + */ + returnPartialSuccess?: boolean; + /** + * The name of the zone for this request, formatted as RFC1035. + */ + zone?: string; + } + + export class Resource$Httphealthchecks { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Deletes the specified HttpHealthCheck resource. * @example * ```js * // Before running the sample: @@ -94490,7 +92565,6 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -94499,55 +92573,59 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.images.get({ - * // Name of the image resource to return. - * image: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.httpHealthChecks.delete({ + * // Name of the HttpHealthCheck resource to delete. + * httpHealthCheck: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { - * // "architecture": "my_architecture", - * // "archiveSizeBytes": "my_archiveSizeBytes", + * // "clientOperationId": "my_clientOperationId", * // "creationTimestamp": "my_creationTimestamp", - * // "deprecated": {}, * // "description": "my_description", - * // "diskSizeGb": "my_diskSizeGb", - * // "enableConfidentialCompute": false, - * // "family": "my_family", - * // "guestOsFeatures": [], + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, * // "id": "my_id", - * // "imageEncryptionKey": {}, + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, * // "kind": "my_kind", - * // "labelFingerprint": "my_labelFingerprint", - * // "labels": {}, - * // "licenseCodes": [], - * // "licenses": [], - * // "locked": false, * // "name": "my_name", - * // "params": {}, - * // "rawDisk": {}, - * // "rolloutOverride": {}, - * // "satisfiesPzi": false, - * // "satisfiesPzs": false, + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", - * // "shieldedInstanceInitialState": {}, - * // "sourceDisk": "my_sourceDisk", - * // "sourceDiskEncryptionKey": {}, - * // "sourceDiskId": "my_sourceDiskId", - * // "sourceImage": "my_sourceImage", - * // "sourceImageEncryptionKey": {}, - * // "sourceImageId": "my_sourceImageId", - * // "sourceSnapshot": "my_sourceSnapshot", - * // "sourceSnapshotEncryptionKey": {}, - * // "sourceSnapshotId": "my_sourceSnapshotId", - * // "sourceType": "my_sourceType", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", * // "status": "my_status", - * // "storageLocations": [] + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" * // } * } * @@ -94563,52 +92641,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - get( - params: Params$Resource$Images$Get, + delete( + params: Params$Resource$Httphealthchecks$Delete, options: StreamMethodOptions ): Promise>; - get( - params?: Params$Resource$Images$Get, + delete( + params?: Params$Resource$Httphealthchecks$Delete, options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Images$Get, + ): Promise>; + delete( + params: Params$Resource$Httphealthchecks$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Images$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + delete( + params: Params$Resource$Httphealthchecks$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Images$Get, - callback: BodyResponseCallback + delete( + params: Params$Resource$Httphealthchecks$Delete, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; - get( + delete(callback: BodyResponseCallback): void; + delete( paramsOrCallback?: - | Params$Resource$Images$Get - | BodyResponseCallback + | Params$Resource$Httphealthchecks$Delete + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Images$Get; + let params = (paramsOrCallback || + {}) as Params$Resource$Httphealthchecks$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Images$Get; + params = {} as Params$Resource$Httphealthchecks$Delete; options = {}; } @@ -94623,32 +92702,30 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/images/{image}' + '/compute/alpha/projects/{project}/global/httpHealthChecks/{httpHealthCheck}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'DELETE', apiVersion: '', }, options ), params, - requiredParams: ['project', 'image'], - pathParams: ['image', 'project'], + requiredParams: ['project', 'httpHealthCheck'], + pathParams: ['httpHealthCheck', 'project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Returns the latest image that is part of an image family and is not - * deprecated. For more information on image families, seePublic - * image families documentation. + * Returns the specified HttpHealthCheck resource. * @example * ```js * // Before running the sample: @@ -94681,11 +92758,10 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.images.getFromFamily({ - * // Name of the image family to search for. - * family: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // The image project that the image belongs to. For example, to get a CentOS - * // image, specify centos-cloud as the image project. + * const res = await compute.httpHealthChecks.get({ + * // Name of the HttpHealthCheck resource to return. + * httpHealthCheck: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', * }); @@ -94693,44 +92769,20 @@ export namespace compute_alpha { * * // Example response * // { - * // "architecture": "my_architecture", - * // "archiveSizeBytes": "my_archiveSizeBytes", + * // "checkIntervalSec": 0, * // "creationTimestamp": "my_creationTimestamp", - * // "deprecated": {}, * // "description": "my_description", - * // "diskSizeGb": "my_diskSizeGb", - * // "enableConfidentialCompute": false, - * // "family": "my_family", - * // "guestOsFeatures": [], + * // "healthyThreshold": 0, + * // "host": "my_host", * // "id": "my_id", - * // "imageEncryptionKey": {}, * // "kind": "my_kind", - * // "labelFingerprint": "my_labelFingerprint", - * // "labels": {}, - * // "licenseCodes": [], - * // "licenses": [], - * // "locked": false, * // "name": "my_name", - * // "params": {}, - * // "rawDisk": {}, - * // "rolloutOverride": {}, - * // "satisfiesPzi": false, - * // "satisfiesPzs": false, + * // "port": 0, + * // "requestPath": "my_requestPath", * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", - * // "shieldedInstanceInitialState": {}, - * // "sourceDisk": "my_sourceDisk", - * // "sourceDiskEncryptionKey": {}, - * // "sourceDiskId": "my_sourceDiskId", - * // "sourceImage": "my_sourceImage", - * // "sourceImageEncryptionKey": {}, - * // "sourceImageId": "my_sourceImageId", - * // "sourceSnapshot": "my_sourceSnapshot", - * // "sourceSnapshotEncryptionKey": {}, - * // "sourceSnapshotId": "my_sourceSnapshotId", - * // "sourceType": "my_sourceType", - * // "status": "my_status", - * // "storageLocations": [] + * // "timeoutSec": 0, + * // "unhealthyThreshold": 0 * // } * } * @@ -94746,53 +92798,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - getFromFamily( - params: Params$Resource$Images$Getfromfamily, + get( + params: Params$Resource$Httphealthchecks$Get, options: StreamMethodOptions ): Promise>; - getFromFamily( - params?: Params$Resource$Images$Getfromfamily, + get( + params?: Params$Resource$Httphealthchecks$Get, options?: MethodOptions - ): Promise>; - getFromFamily( - params: Params$Resource$Images$Getfromfamily, + ): Promise>; + get( + params: Params$Resource$Httphealthchecks$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - getFromFamily( - params: Params$Resource$Images$Getfromfamily, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + get( + params: Params$Resource$Httphealthchecks$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - getFromFamily( - params: Params$Resource$Images$Getfromfamily, - callback: BodyResponseCallback + get( + params: Params$Resource$Httphealthchecks$Get, + callback: BodyResponseCallback ): void; - getFromFamily(callback: BodyResponseCallback): void; - getFromFamily( + get(callback: BodyResponseCallback): void; + get( paramsOrCallback?: - | Params$Resource$Images$Getfromfamily - | BodyResponseCallback + | Params$Resource$Httphealthchecks$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Images$Getfromfamily; + {}) as Params$Resource$Httphealthchecks$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Images$Getfromfamily; + params = {} as Params$Resource$Httphealthchecks$Get; options = {}; } @@ -94807,7 +92859,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/images/family/{family}' + '/compute/alpha/projects/{project}/global/httpHealthChecks/{httpHealthCheck}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -94815,23 +92867,23 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'family'], - pathParams: ['family', 'project'], + requiredParams: ['project', 'httpHealthCheck'], + pathParams: ['httpHealthCheck', 'project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Gets the access control policy for a resource. May be empty if no such - * policy or resource exists. + * Creates a HttpHealthCheck resource in the specified project using the data + * included in the request. * @example * ```js * // Before running the sample: @@ -94855,7 +92907,6 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -94864,158 +92915,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.images.getIamPolicy({ - * // Requested IAM Policy version. - * optionsRequestedPolicyVersion: 'placeholder-value', - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name or id of the resource for this request. - * resource: '[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "auditConfigs": [], - * // "bindings": [], - * // "etag": "my_etag", - * // "version": 0 - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - getIamPolicy( - params: Params$Resource$Images$Getiampolicy, - options: StreamMethodOptions - ): Promise>; - getIamPolicy( - params?: Params$Resource$Images$Getiampolicy, - options?: MethodOptions - ): Promise>; - getIamPolicy( - params: Params$Resource$Images$Getiampolicy, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - getIamPolicy( - params: Params$Resource$Images$Getiampolicy, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - getIamPolicy( - params: Params$Resource$Images$Getiampolicy, - callback: BodyResponseCallback - ): void; - getIamPolicy(callback: BodyResponseCallback): void; - getIamPolicy( - paramsOrCallback?: - | Params$Resource$Images$Getiampolicy - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Images$Getiampolicy; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Images$Getiampolicy; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/compute/alpha/projects/{project}/global/images/{resource}/getIamPolicy' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['project', 'resource'], - pathParams: ['project', 'resource'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Creates an image in the specified project using the data included - * in the request. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/compute.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const compute = google.compute('alpha'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/cloud-platform', - * 'https://www.googleapis.com/auth/compute', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await compute.images.insert({ - * // Force image creation if true. - * forceCreate: 'placeholder-value', + * const res = await compute.httpHealthChecks.insert({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -95038,44 +92938,20 @@ export namespace compute_alpha { * requestBody: { * // request body parameters * // { - * // "architecture": "my_architecture", - * // "archiveSizeBytes": "my_archiveSizeBytes", + * // "checkIntervalSec": 0, * // "creationTimestamp": "my_creationTimestamp", - * // "deprecated": {}, * // "description": "my_description", - * // "diskSizeGb": "my_diskSizeGb", - * // "enableConfidentialCompute": false, - * // "family": "my_family", - * // "guestOsFeatures": [], + * // "healthyThreshold": 0, + * // "host": "my_host", * // "id": "my_id", - * // "imageEncryptionKey": {}, * // "kind": "my_kind", - * // "labelFingerprint": "my_labelFingerprint", - * // "labels": {}, - * // "licenseCodes": [], - * // "licenses": [], - * // "locked": false, * // "name": "my_name", - * // "params": {}, - * // "rawDisk": {}, - * // "rolloutOverride": {}, - * // "satisfiesPzi": false, - * // "satisfiesPzs": false, + * // "port": 0, + * // "requestPath": "my_requestPath", * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", - * // "shieldedInstanceInitialState": {}, - * // "sourceDisk": "my_sourceDisk", - * // "sourceDiskEncryptionKey": {}, - * // "sourceDiskId": "my_sourceDiskId", - * // "sourceImage": "my_sourceImage", - * // "sourceImageEncryptionKey": {}, - * // "sourceImageId": "my_sourceImageId", - * // "sourceSnapshot": "my_sourceSnapshot", - * // "sourceSnapshotEncryptionKey": {}, - * // "sourceSnapshotId": "my_sourceSnapshotId", - * // "sourceType": "my_sourceType", - * // "status": "my_status", - * // "storageLocations": [] + * // "timeoutSec": 0, + * // "unhealthyThreshold": 0 * // } * }, * }); @@ -95127,31 +93003,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ insert( - params: Params$Resource$Images$Insert, + params: Params$Resource$Httphealthchecks$Insert, options: StreamMethodOptions ): Promise>; insert( - params?: Params$Resource$Images$Insert, + params?: Params$Resource$Httphealthchecks$Insert, options?: MethodOptions ): Promise>; insert( - params: Params$Resource$Images$Insert, + params: Params$Resource$Httphealthchecks$Insert, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; insert( - params: Params$Resource$Images$Insert, + params: Params$Resource$Httphealthchecks$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; insert( - params: Params$Resource$Images$Insert, + params: Params$Resource$Httphealthchecks$Insert, callback: BodyResponseCallback ): void; insert(callback: BodyResponseCallback): void; insert( paramsOrCallback?: - | Params$Resource$Images$Insert + | Params$Resource$Httphealthchecks$Insert | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -95166,12 +93042,13 @@ export namespace compute_alpha { | void | Promise> | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Images$Insert; + let params = (paramsOrCallback || + {}) as Params$Resource$Httphealthchecks$Insert; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Images$Insert; + params = {} as Params$Resource$Httphealthchecks$Insert; options = {}; } @@ -95185,7 +93062,8 @@ export namespace compute_alpha { options: Object.assign( { url: ( - rootUrl + '/compute/alpha/projects/{project}/global/images' + rootUrl + + '/compute/alpha/projects/{project}/global/httpHealthChecks' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -95208,13 +93086,8 @@ export namespace compute_alpha { } /** - * 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. + * Retrieves the list of HttpHealthCheck resources available to the specified + * project. * @example * ```js * // Before running the sample: @@ -95247,7 +93120,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.images.list({ + * const res = await compute.httpHealthChecks.list({ * // A filter expression that filters resources listed in the response. Most * // Compute resources support two types of filter expressions: * // expressions that support regular expressions and expressions that follow @@ -95339,8 +93212,6 @@ export namespace compute_alpha { * // single zone scope either returns all resources in the zone or no resources, * // with an error code. * returnPartialSuccess: 'placeholder-value', - * // The zone query parameter. - * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * }); * console.log(res.data); * @@ -95368,51 +93239,52 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ list( - params: Params$Resource$Images$List, + params: Params$Resource$Httphealthchecks$List, options: StreamMethodOptions ): Promise>; list( - params?: Params$Resource$Images$List, + params?: Params$Resource$Httphealthchecks$List, options?: MethodOptions - ): Promise>; + ): Promise>; list( - params: Params$Resource$Images$List, + params: Params$Resource$Httphealthchecks$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; list( - params: Params$Resource$Images$List, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + params: Params$Resource$Httphealthchecks$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; list( - params: Params$Resource$Images$List, - callback: BodyResponseCallback + params: Params$Resource$Httphealthchecks$List, + callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; list( paramsOrCallback?: - | Params$Resource$Images$List - | BodyResponseCallback + | Params$Resource$Httphealthchecks$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Images$List; + let params = (paramsOrCallback || + {}) as Params$Resource$Httphealthchecks$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Images$List; + params = {} as Params$Resource$Httphealthchecks$List; options = {}; } @@ -95426,7 +93298,8 @@ export namespace compute_alpha { options: Object.assign( { url: ( - rootUrl + '/compute/alpha/projects/{project}/global/images' + rootUrl + + '/compute/alpha/projects/{project}/global/httpHealthChecks' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -95439,19 +93312,20 @@ export namespace compute_alpha { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Patches the specified image with the data included in the request. - * Only the following fields can be modified: family, description, - * deprecation status. + * Updates a HttpHealthCheck resource in the specified project using the data + * included in the request. This method supportsPATCH + * semantics and uses theJSON merge + * patch format and processing rules. * @example * ```js * // Before running the sample: @@ -95483,9 +93357,9 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.images.patch({ - * // Name of the image resource to patch. - * image: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.httpHealthChecks.patch({ + * // Name of the HttpHealthCheck resource to patch. + * httpHealthCheck: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -95508,44 +93382,20 @@ export namespace compute_alpha { * requestBody: { * // request body parameters * // { - * // "architecture": "my_architecture", - * // "archiveSizeBytes": "my_archiveSizeBytes", + * // "checkIntervalSec": 0, * // "creationTimestamp": "my_creationTimestamp", - * // "deprecated": {}, * // "description": "my_description", - * // "diskSizeGb": "my_diskSizeGb", - * // "enableConfidentialCompute": false, - * // "family": "my_family", - * // "guestOsFeatures": [], + * // "healthyThreshold": 0, + * // "host": "my_host", * // "id": "my_id", - * // "imageEncryptionKey": {}, * // "kind": "my_kind", - * // "labelFingerprint": "my_labelFingerprint", - * // "labels": {}, - * // "licenseCodes": [], - * // "licenses": [], - * // "locked": false, * // "name": "my_name", - * // "params": {}, - * // "rawDisk": {}, - * // "rolloutOverride": {}, - * // "satisfiesPzi": false, - * // "satisfiesPzs": false, + * // "port": 0, + * // "requestPath": "my_requestPath", * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", - * // "shieldedInstanceInitialState": {}, - * // "sourceDisk": "my_sourceDisk", - * // "sourceDiskEncryptionKey": {}, - * // "sourceDiskId": "my_sourceDiskId", - * // "sourceImage": "my_sourceImage", - * // "sourceImageEncryptionKey": {}, - * // "sourceImageId": "my_sourceImageId", - * // "sourceSnapshot": "my_sourceSnapshot", - * // "sourceSnapshotEncryptionKey": {}, - * // "sourceSnapshotId": "my_sourceSnapshotId", - * // "sourceType": "my_sourceType", - * // "status": "my_status", - * // "storageLocations": [] + * // "timeoutSec": 0, + * // "unhealthyThreshold": 0 * // } * }, * }); @@ -95597,31 +93447,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ patch( - params: Params$Resource$Images$Patch, + params: Params$Resource$Httphealthchecks$Patch, options: StreamMethodOptions ): Promise>; patch( - params?: Params$Resource$Images$Patch, + params?: Params$Resource$Httphealthchecks$Patch, options?: MethodOptions ): Promise>; patch( - params: Params$Resource$Images$Patch, + params: Params$Resource$Httphealthchecks$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; patch( - params: Params$Resource$Images$Patch, + params: Params$Resource$Httphealthchecks$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; patch( - params: Params$Resource$Images$Patch, + params: Params$Resource$Httphealthchecks$Patch, callback: BodyResponseCallback ): void; patch(callback: BodyResponseCallback): void; patch( paramsOrCallback?: - | Params$Resource$Images$Patch + | Params$Resource$Httphealthchecks$Patch | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -95636,12 +93486,13 @@ export namespace compute_alpha { | void | Promise> | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Images$Patch; + let params = (paramsOrCallback || + {}) as Params$Resource$Httphealthchecks$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Images$Patch; + params = {} as Params$Resource$Httphealthchecks$Patch; options = {}; } @@ -95656,7 +93507,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/images/{image}' + '/compute/alpha/projects/{project}/global/httpHealthChecks/{httpHealthCheck}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'PATCH', apiVersion: '', @@ -95664,8 +93515,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'image'], - pathParams: ['image', 'project'], + requiredParams: ['project', 'httpHealthCheck'], + pathParams: ['httpHealthCheck', 'project'], context: this.context, }; if (callback) { @@ -95679,8 +93530,7 @@ export namespace compute_alpha { } /** - * Sets the access control policy on the specified resource. - * Replaces any existing policy. + * Returns permissions that a caller has on the specified resource. * @example * ```js * // Before running the sample: @@ -95704,6 +93554,7 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -95712,7 +93563,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.images.setIamPolicy({ + * const res = await compute.httpHealthChecks.testIamPermissions({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -95723,9 +93574,7 @@ export namespace compute_alpha { * requestBody: { * // request body parameters * // { - * // "bindings": [], - * // "etag": "my_etag", - * // "policy": {} + * // "permissions": [] * // } * }, * }); @@ -95733,10 +93582,7 @@ export namespace compute_alpha { * * // Example response * // { - * // "auditConfigs": [], - * // "bindings": [], - * // "etag": "my_etag", - * // "version": 0 + * // "permissions": [] * // } * } * @@ -95752,53 +93598,57 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - setIamPolicy( - params: Params$Resource$Images$Setiampolicy, + testIamPermissions( + params: Params$Resource$Httphealthchecks$Testiampermissions, options: StreamMethodOptions ): Promise>; - setIamPolicy( - params?: Params$Resource$Images$Setiampolicy, + testIamPermissions( + params?: Params$Resource$Httphealthchecks$Testiampermissions, options?: MethodOptions - ): Promise>; - setIamPolicy( - params: Params$Resource$Images$Setiampolicy, + ): Promise>; + testIamPermissions( + params: Params$Resource$Httphealthchecks$Testiampermissions, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setIamPolicy( - params: Params$Resource$Images$Setiampolicy, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + testIamPermissions( + params: Params$Resource$Httphealthchecks$Testiampermissions, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - setIamPolicy( - params: Params$Resource$Images$Setiampolicy, - callback: BodyResponseCallback + testIamPermissions( + params: Params$Resource$Httphealthchecks$Testiampermissions, + callback: BodyResponseCallback ): void; - setIamPolicy(callback: BodyResponseCallback): void; - setIamPolicy( + testIamPermissions( + callback: BodyResponseCallback + ): void; + testIamPermissions( paramsOrCallback?: - | Params$Resource$Images$Setiampolicy - | BodyResponseCallback + | Params$Resource$Httphealthchecks$Testiampermissions + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Images$Setiampolicy; + {}) as Params$Resource$Httphealthchecks$Testiampermissions; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Images$Setiampolicy; + params = {} as Params$Resource$Httphealthchecks$Testiampermissions; options = {}; } @@ -95813,7 +93663,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/images/{resource}/setIamPolicy' + '/compute/alpha/projects/{project}/global/httpHealthChecks/{resource}/testIamPermissions' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -95826,18 +93676,18 @@ export namespace compute_alpha { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Sets the labels on an image. To learn more about labels, read theLabeling - * Resources documentation. + * Updates a HttpHealthCheck resource in the specified project using the data + * included in the request. * @example * ```js * // Before running the sample: @@ -95869,19 +93719,45 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.images.setLabels({ + * const res = await compute.httpHealthChecks.update({ + * // Name of the HttpHealthCheck resource to update. + * httpHealthCheck: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name or id of the resource for this request. - * resource: '[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', * * // Request body metadata * requestBody: { * // request body parameters * // { - * // "labelFingerprint": "my_labelFingerprint", - * // "labels": {} + * // "checkIntervalSec": 0, + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "healthyThreshold": 0, + * // "host": "my_host", + * // "id": "my_id", + * // "kind": "my_kind", + * // "name": "my_name", + * // "port": 0, + * // "requestPath": "my_requestPath", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "timeoutSec": 0, + * // "unhealthyThreshold": 0 * // } * }, * }); @@ -95932,32 +93808,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - setLabels( - params: Params$Resource$Images$Setlabels, + update( + params: Params$Resource$Httphealthchecks$Update, options: StreamMethodOptions ): Promise>; - setLabels( - params?: Params$Resource$Images$Setlabels, + update( + params?: Params$Resource$Httphealthchecks$Update, options?: MethodOptions ): Promise>; - setLabels( - params: Params$Resource$Images$Setlabels, + update( + params: Params$Resource$Httphealthchecks$Update, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setLabels( - params: Params$Resource$Images$Setlabels, + update( + params: Params$Resource$Httphealthchecks$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setLabels( - params: Params$Resource$Images$Setlabels, + update( + params: Params$Resource$Httphealthchecks$Update, callback: BodyResponseCallback ): void; - setLabels(callback: BodyResponseCallback): void; - setLabels( + update(callback: BodyResponseCallback): void; + update( paramsOrCallback?: - | Params$Resource$Images$Setlabels + | Params$Resource$Httphealthchecks$Update | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -95972,12 +93848,13 @@ export namespace compute_alpha { | void | Promise> | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Images$Setlabels; + let params = (paramsOrCallback || + {}) as Params$Resource$Httphealthchecks$Update; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Images$Setlabels; + params = {} as Params$Resource$Httphealthchecks$Update; options = {}; } @@ -95992,16 +93869,16 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/images/{resource}/setLabels' + '/compute/alpha/projects/{project}/global/httpHealthChecks/{httpHealthCheck}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'PUT', apiVersion: '', }, options ), params, - requiredParams: ['project', 'resource'], - pathParams: ['project', 'resource'], + requiredParams: ['project', 'httpHealthCheck'], + pathParams: ['httpHealthCheck', 'project'], context: this.context, }; if (callback) { @@ -96013,195 +93890,13 @@ export namespace compute_alpha { return createAPIRequest(parameters); } } - - /** - * Returns permissions that a caller has on the specified resource. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/compute.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const compute = google.compute('alpha'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/cloud-platform', - * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await compute.images.testIamPermissions({ - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name or id of the resource for this request. - * resource: '[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "permissions": [] - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "permissions": [] - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - testIamPermissions( - params: Params$Resource$Images$Testiampermissions, - options: StreamMethodOptions - ): Promise>; - testIamPermissions( - params?: Params$Resource$Images$Testiampermissions, - options?: MethodOptions - ): Promise>; - testIamPermissions( - params: Params$Resource$Images$Testiampermissions, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - testIamPermissions( - params: Params$Resource$Images$Testiampermissions, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - testIamPermissions( - params: Params$Resource$Images$Testiampermissions, - callback: BodyResponseCallback - ): void; - testIamPermissions( - callback: BodyResponseCallback - ): void; - testIamPermissions( - paramsOrCallback?: - | Params$Resource$Images$Testiampermissions - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Images$Testiampermissions; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Images$Testiampermissions; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/compute/alpha/projects/{project}/global/images/{resource}/testIamPermissions' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['project', 'resource'], - pathParams: ['project', 'resource'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } } - export interface Params$Resource$Images$Delete extends StandardParameters { - /** - * Name of the image resource to delete. - */ - image?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - } - export interface Params$Resource$Images$Deprecate extends StandardParameters { + export interface Params$Resource$Httphealthchecks$Delete extends StandardParameters { /** - * Image name. + * Name of the HttpHealthCheck resource to delete. */ - image?: string; + httpHealthCheck?: string; /** * Project ID for this request. */ @@ -96222,52 +93917,18 @@ export namespace compute_alpha { * (00000000-0000-0000-0000-000000000000). */ requestId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$DeprecationStatus; - } - export interface Params$Resource$Images$Get extends StandardParameters { - /** - * Name of the image resource to return. - */ - image?: string; - /** - * Project ID for this request. - */ - project?: string; - } - export interface Params$Resource$Images$Getfromfamily extends StandardParameters { - /** - * Name of the image family to search for. - */ - family?: string; - /** - * The image project that the image belongs to. For example, to get a CentOS - * image, specify centos-cloud as the image project. - */ - project?: string; } - export interface Params$Resource$Images$Getiampolicy extends StandardParameters { + export interface Params$Resource$Httphealthchecks$Get extends StandardParameters { /** - * Requested IAM Policy version. + * Name of the HttpHealthCheck resource to return. */ - optionsRequestedPolicyVersion?: number; + httpHealthCheck?: string; /** * Project ID for this request. */ project?: string; - /** - * Name or id of the resource for this request. - */ - resource?: string; } - export interface Params$Resource$Images$Insert extends StandardParameters { - /** - * Force image creation if true. - */ - forceCreate?: boolean; + export interface Params$Resource$Httphealthchecks$Insert extends StandardParameters { /** * Project ID for this request. */ @@ -96292,9 +93953,9 @@ export namespace compute_alpha { /** * Request body metadata */ - requestBody?: Schema$Image; + requestBody?: Schema$HttpHealthCheck; } - export interface Params$Resource$Images$List extends StandardParameters { + export interface Params$Resource$Httphealthchecks$List extends StandardParameters { /** * A filter expression that filters resources listed in the response. Most * Compute resources support two types of filter expressions: @@ -96397,16 +94058,12 @@ export namespace compute_alpha { * with an error code. */ returnPartialSuccess?: boolean; - /** - * The zone query parameter. - */ - zone?: string; } - export interface Params$Resource$Images$Patch extends StandardParameters { + export interface Params$Resource$Httphealthchecks$Patch extends StandardParameters { /** - * Name of the image resource to patch. + * Name of the HttpHealthCheck resource to patch. */ - image?: string; + httpHealthCheck?: string; /** * Project ID for this request. */ @@ -96431,9 +94088,9 @@ export namespace compute_alpha { /** * Request body metadata */ - requestBody?: Schema$Image; + requestBody?: Schema$HttpHealthCheck; } - export interface Params$Resource$Images$Setiampolicy extends StandardParameters { + export interface Params$Resource$Httphealthchecks$Testiampermissions extends StandardParameters { /** * Project ID for this request. */ @@ -96446,48 +94103,48 @@ export namespace compute_alpha { /** * Request body metadata */ - requestBody?: Schema$GlobalSetPolicyRequest; + requestBody?: Schema$TestPermissionsRequest; } - export interface Params$Resource$Images$Setlabels extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * Name or id of the resource for this request. - */ - resource?: string; - + export interface Params$Resource$Httphealthchecks$Update extends StandardParameters { /** - * Request body metadata + * Name of the HttpHealthCheck resource to update. */ - requestBody?: Schema$GlobalSetLabelsRequest; - } - export interface Params$Resource$Images$Testiampermissions extends StandardParameters { + httpHealthCheck?: string; /** * Project ID for this request. */ project?: string; /** - * Name or id of the resource for this request. + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). */ - resource?: string; + requestId?: string; /** * Request body metadata */ - requestBody?: Schema$TestPermissionsRequest; + requestBody?: Schema$HttpHealthCheck; } - export class Resource$Imageviews { + export class Resource$Httpshealthchecks { context: APIRequestContext; constructor(context: APIRequestContext) { this.context = context; } /** - * Returns the specified global Image resource by providing a regional - * context to read the metadata from the Global Clone in the region. + * Deletes the specified HttpsHealthCheck resource. * @example * ```js * // Before running the sample: @@ -96511,7 +94168,6 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -96520,20 +94176,59 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.imageViews.get({ - * // Required. Project ID for this request. + * const res = await compute.httpsHealthChecks.delete({ + * // Name of the HttpsHealthCheck resource to delete. + * httpsHealthCheck: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Required. Name of the region for this request. - * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', - * // Name of the image resource to return. - * resourceId: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { - * // "image": {} + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" * // } * } * @@ -96549,52 +94244,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - get( - params: Params$Resource$Imageviews$Get, + delete( + params: Params$Resource$Httpshealthchecks$Delete, options: StreamMethodOptions ): Promise>; - get( - params?: Params$Resource$Imageviews$Get, + delete( + params?: Params$Resource$Httpshealthchecks$Delete, options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Imageviews$Get, + ): Promise>; + delete( + params: Params$Resource$Httpshealthchecks$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Imageviews$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + delete( + params: Params$Resource$Httpshealthchecks$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Imageviews$Get, - callback: BodyResponseCallback + delete( + params: Params$Resource$Httpshealthchecks$Delete, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; - get( + delete(callback: BodyResponseCallback): void; + delete( paramsOrCallback?: - | Params$Resource$Imageviews$Get - | BodyResponseCallback + | Params$Resource$Httpshealthchecks$Delete + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Imageviews$Get; + let params = (paramsOrCallback || + {}) as Params$Resource$Httpshealthchecks$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Imageviews$Get; + params = {} as Params$Resource$Httpshealthchecks$Delete; options = {}; } @@ -96609,32 +94305,30 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/regions/{region}/imageViews/{resourceId}' + '/compute/alpha/projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'DELETE', apiVersion: '', }, options ), params, - requiredParams: ['project', 'region', 'resourceId'], - pathParams: ['project', 'region', 'resourceId'], + requiredParams: ['project', 'httpsHealthCheck'], + pathParams: ['httpsHealthCheck', 'project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Retrieves the list of global Image resources available to the project by - * providing a regional context to read the metadata from the Global Clone in - * the region. + * Returns the specified HttpsHealthCheck resource. * @example * ```js * // Before running the sample: @@ -96667,113 +94361,31 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.imageViews.list({ - * // A filter expression that filters resources listed in the response. Most - * // Compute resources support two types of filter expressions: - * // expressions that support regular expressions and expressions that follow - * // API improvement proposal AIP-160. - * // These two types of filter expressions cannot be mixed in one request. - * // - * // If you want to use AIP-160, your expression must specify the field name, an - * // operator, and the value that you want to use for filtering. The value - * // must be a string, a number, or a boolean. The operator - * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * // - * // For example, if you are filtering Compute Engine instances, you can - * // exclude instances named `example-instance` by specifying - * // `name != example-instance`. - * // - * // The `:*` comparison can be used to test whether a key has been defined. - * // For example, to find all objects with `owner` label use: - * // ``` - * // labels.owner:* - * // ``` - * // - * // You can also filter nested fields. For example, you could specify - * // `scheduling.automaticRestart = false` to include instances only - * // if they are not scheduled for automatic restarts. You can use filtering - * // on nested fields to filter based onresource labels. - * // - * // To filter on multiple expressions, provide each separate expression within - * // parentheses. For example: - * // ``` - * // (scheduling.automaticRestart = true) - * // (cpuPlatform = "Intel Skylake") - * // ``` - * // By default, each expression is an `AND` expression. However, you - * // can include `AND` and `OR` expressions explicitly. - * // For example: - * // ``` - * // (cpuPlatform = "Intel Skylake") OR - * // (cpuPlatform = "Intel Broadwell") AND - * // (scheduling.automaticRestart = true) - * // ``` - * // - * // If you want to use a regular expression, use the `eq` (equal) or `ne` - * // (not equal) operator against a single un-parenthesized expression with or - * // without quotes or against multiple parenthesized expressions. Examples: - * // - * // `fieldname eq unquoted literal` - * // `fieldname eq 'single quoted literal'` - * // `fieldname eq "double quoted literal"` - * // `(fieldname1 eq literal) (fieldname2 ne "literal")` - * // - * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * // The literal value must match the entire field. - * // - * // For example, to filter for instances that do not end with name "instance", - * // you would use `name ne .*instance`. - * // - * // You cannot combine constraints on multiple fields using regular - * // expressions. - * filter: 'placeholder-value', - * // The maximum number of results per page that should be returned. - * // If the number of available results is larger than `maxResults`, - * // Compute Engine returns a `nextPageToken` that can be used to get - * // the next page of results in subsequent list requests. Acceptable values are - * // `0` to `500`, inclusive. (Default: `500`) - * maxResults: 'placeholder-value', - * // Sorts list results by a certain order. By default, results - * // are returned in alphanumerical order based on the resource name. - * // - * // You can also sort results in descending order based on the creation - * // timestamp using `orderBy="creationTimestamp desc"`. This sorts - * // results based on the `creationTimestamp` field in - * // reverse chronological order (newest result first). Use this to sort - * // resources like operations so that the newest operation is returned first. - * // - * // Currently, only sorting by `name` or - * // `creationTimestamp desc` is supported. - * orderBy: 'placeholder-value', - * // Specifies a page token to use. Set `pageToken` to the - * // `nextPageToken` returned by a previous list request to get - * // the next page of results. - * pageToken: 'placeholder-value', - * // Required. Project ID for this request. + * const res = await compute.httpsHealthChecks.get({ + * // Name of the HttpsHealthCheck resource to return. + * httpsHealthCheck: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Required. Name of the region for this request. - * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', - * // Opt-in for partial success behavior which provides partial results in case - * // of failure. The default value is false. - * // - * // For example, when partial success behavior is enabled, aggregatedList for a - * // single zone scope either returns all resources in the zone or no resources, - * // with an error code. - * returnPartialSuccess: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { - * // "etag": "my_etag", + * // "checkIntervalSec": 0, + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "healthyThreshold": 0, + * // "host": "my_host", * // "id": "my_id", - * // "items": [], * // "kind": "my_kind", - * // "nextPageToken": "my_nextPageToken", + * // "name": "my_name", + * // "port": 0, + * // "requestPath": "my_requestPath", * // "selfLink": "my_selfLink", - * // "unreachables": [], - * // "warning": {} + * // "selfLinkWithId": "my_selfLinkWithId", + * // "timeoutSec": 0, + * // "unhealthyThreshold": 0 * // } * } * @@ -96789,54 +94401,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - list( - params: Params$Resource$Imageviews$List, + get( + params: Params$Resource$Httpshealthchecks$Get, options: StreamMethodOptions ): Promise>; - list( - params?: Params$Resource$Imageviews$List, + get( + params?: Params$Resource$Httpshealthchecks$Get, options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Imageviews$List, + ): Promise>; + get( + params: Params$Resource$Httpshealthchecks$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Imageviews$List, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + get( + params: Params$Resource$Httpshealthchecks$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Imageviews$List, - callback: BodyResponseCallback + get( + params: Params$Resource$Httpshealthchecks$Get, + callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; - list( + get(callback: BodyResponseCallback): void; + get( paramsOrCallback?: - | Params$Resource$Imageviews$List - | BodyResponseCallback + | Params$Resource$Httpshealthchecks$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Imageviews$List; + let params = (paramsOrCallback || + {}) as Params$Resource$Httpshealthchecks$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Imageviews$List; + params = {} as Params$Resource$Httpshealthchecks$Get; options = {}; } @@ -96851,7 +94462,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/regions/{region}/imageViews' + '/compute/alpha/projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -96859,155 +94470,23 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'region'], - pathParams: ['project', 'region'], + requiredParams: ['project', 'httpsHealthCheck'], + pathParams: ['httpsHealthCheck', 'project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } - } - - export interface Params$Resource$Imageviews$Get extends StandardParameters { - /** - * Required. Project ID for this request. - */ - project?: string; - /** - * Required. Name of the region for this request. - */ - region?: string; - /** - * Name of the image resource to return. - */ - resourceId?: string; - } - export interface Params$Resource$Imageviews$List extends StandardParameters { - /** - * A filter expression that filters resources listed in the response. Most - * Compute resources support two types of filter expressions: - * expressions that support regular expressions and expressions that follow - * API improvement proposal AIP-160. - * These two types of filter expressions cannot be mixed in one request. - * - * If you want to use AIP-160, your expression must specify the field name, an - * operator, and the value that you want to use for filtering. The value - * must be a string, a number, or a boolean. The operator - * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * - * For example, if you are filtering Compute Engine instances, you can - * exclude instances named `example-instance` by specifying - * `name != example-instance`. - * - * The `:*` comparison can be used to test whether a key has been defined. - * For example, to find all objects with `owner` label use: - * ``` - * labels.owner:* - * ``` - * - * You can also filter nested fields. For example, you could specify - * `scheduling.automaticRestart = false` to include instances only - * if they are not scheduled for automatic restarts. You can use filtering - * on nested fields to filter based onresource labels. - * - * To filter on multiple expressions, provide each separate expression within - * parentheses. For example: - * ``` - * (scheduling.automaticRestart = true) - * (cpuPlatform = "Intel Skylake") - * ``` - * By default, each expression is an `AND` expression. However, you - * can include `AND` and `OR` expressions explicitly. - * For example: - * ``` - * (cpuPlatform = "Intel Skylake") OR - * (cpuPlatform = "Intel Broadwell") AND - * (scheduling.automaticRestart = true) - * ``` - * - * If you want to use a regular expression, use the `eq` (equal) or `ne` - * (not equal) operator against a single un-parenthesized expression with or - * without quotes or against multiple parenthesized expressions. Examples: - * - * `fieldname eq unquoted literal` - * `fieldname eq 'single quoted literal'` - * `fieldname eq "double quoted literal"` - * `(fieldname1 eq literal) (fieldname2 ne "literal")` - * - * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * The literal value must match the entire field. - * - * For example, to filter for instances that do not end with name "instance", - * you would use `name ne .*instance`. - * - * You cannot combine constraints on multiple fields using regular - * expressions. - */ - filter?: string; - /** - * The maximum number of results per page that should be returned. - * If the number of available results is larger than `maxResults`, - * Compute Engine returns a `nextPageToken` that can be used to get - * the next page of results in subsequent list requests. Acceptable values are - * `0` to `500`, inclusive. (Default: `500`) - */ - maxResults?: number; - /** - * Sorts list results by a certain order. By default, results - * are returned in alphanumerical order based on the resource name. - * - * You can also sort results in descending order based on the creation - * timestamp using `orderBy="creationTimestamp desc"`. This sorts - * results based on the `creationTimestamp` field in - * reverse chronological order (newest result first). Use this to sort - * resources like operations so that the newest operation is returned first. - * - * Currently, only sorting by `name` or - * `creationTimestamp desc` is supported. - */ - orderBy?: string; - /** - * Specifies a page token to use. Set `pageToken` to the - * `nextPageToken` returned by a previous list request to get - * the next page of results. - */ - pageToken?: string; - /** - * Required. Project ID for this request. - */ - project?: string; - /** - * Required. Name of the region for this request. - */ - region?: string; - /** - * Opt-in for partial success behavior which provides partial results in case - * of failure. The default value is false. - * - * For example, when partial success behavior is enabled, aggregatedList for a - * single zone scope either returns all resources in the zone or no resources, - * with an error code. - */ - returnPartialSuccess?: boolean; - } - - export class Resource$Instancegroupmanagerresizerequests { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } /** - * 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. + * Creates a HttpsHealthCheck resource in the specified project using the data + * included in the request. * @example * ```js * // Before running the sample: @@ -97039,10 +94518,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instanceGroupManagerResizeRequests.cancel({ - * // The name of the managed instance group. - * // The name should conform to RFC1035 or be a resource ID. - * instanceGroupManager: 'placeholder-value', + * const res = await compute.httpsHealthChecks.insert({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -97060,12 +94536,27 @@ export namespace compute_alpha { * // a valid UUID with the exception that zero UUID is not supported * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', - * // The name of the resize request to cancel. - * // The name should conform to RFC1035 or be a resource ID. - * resizeRequest: 'placeholder-value', - * // The name of thezone where the managed - * // instance group is located. The name should conform to RFC1035. - * zone: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "checkIntervalSec": 0, + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "healthyThreshold": 0, + * // "host": "my_host", + * // "id": "my_id", + * // "kind": "my_kind", + * // "name": "my_name", + * // "port": 0, + * // "requestPath": "my_requestPath", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "timeoutSec": 0, + * // "unhealthyThreshold": 0 + * // } + * }, * }); * console.log(res.data); * @@ -97114,32 +94605,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - cancel( - params: Params$Resource$Instancegroupmanagerresizerequests$Cancel, + insert( + params: Params$Resource$Httpshealthchecks$Insert, options: StreamMethodOptions ): Promise>; - cancel( - params?: Params$Resource$Instancegroupmanagerresizerequests$Cancel, + insert( + params?: Params$Resource$Httpshealthchecks$Insert, options?: MethodOptions ): Promise>; - cancel( - params: Params$Resource$Instancegroupmanagerresizerequests$Cancel, + insert( + params: Params$Resource$Httpshealthchecks$Insert, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - cancel( - params: Params$Resource$Instancegroupmanagerresizerequests$Cancel, + insert( + params: Params$Resource$Httpshealthchecks$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - cancel( - params: Params$Resource$Instancegroupmanagerresizerequests$Cancel, + insert( + params: Params$Resource$Httpshealthchecks$Insert, callback: BodyResponseCallback ): void; - cancel(callback: BodyResponseCallback): void; - cancel( + insert(callback: BodyResponseCallback): void; + insert( paramsOrCallback?: - | Params$Resource$Instancegroupmanagerresizerequests$Cancel + | Params$Resource$Httpshealthchecks$Insert | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -97155,13 +94646,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instancegroupmanagerresizerequests$Cancel; + {}) as Params$Resource$Httpshealthchecks$Insert; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Instancegroupmanagerresizerequests$Cancel; + params = {} as Params$Resource$Httpshealthchecks$Insert; options = {}; } @@ -97176,7 +94666,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}/cancel' + '/compute/alpha/projects/{project}/global/httpsHealthChecks' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -97184,18 +94674,8 @@ export namespace compute_alpha { options ), params, - requiredParams: [ - 'project', - 'zone', - 'instanceGroupManager', - 'resizeRequest', - ], - pathParams: [ - 'instanceGroupManager', - 'project', - 'resizeRequest', - 'zone', - ], + requiredParams: ['project'], + pathParams: ['project'], context: this.context, }; if (callback) { @@ -97209,9 +94689,8 @@ export namespace compute_alpha { } /** - * Deletes the specified, inactive resize request. Requests that are still - * active cannot be deleted. Deleting request does not delete instances that - * were provisioned previously. + * Retrieves the list of HttpsHealthCheck resources available to the specified + * project. * @example * ```js * // Before running the sample: @@ -97235,6 +94714,7 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -97243,66 +94723,109 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instanceGroupManagerResizeRequests.delete({ - * // The name of the managed instance group. - * // The name should conform to RFC1035 or be a resource ID. - * instanceGroupManager: 'placeholder-value', + * const res = await compute.httpsHealthChecks.list({ + * // A filter expression that filters resources listed in the response. Most + * // Compute resources support two types of filter expressions: + * // expressions that support regular expressions and expressions that follow + * // API improvement proposal AIP-160. + * // These two types of filter expressions cannot be mixed in one request. + * // + * // If you want to use AIP-160, your expression must specify the field name, an + * // operator, and the value that you want to use for filtering. The value + * // must be a string, a number, or a boolean. The operator + * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * // + * // For example, if you are filtering Compute Engine instances, you can + * // exclude instances named `example-instance` by specifying + * // `name != example-instance`. + * // + * // The `:*` comparison can be used to test whether a key has been defined. + * // For example, to find all objects with `owner` label use: + * // ``` + * // labels.owner:* + * // ``` + * // + * // You can also filter nested fields. For example, you could specify + * // `scheduling.automaticRestart = false` to include instances only + * // if they are not scheduled for automatic restarts. You can use filtering + * // on nested fields to filter based onresource labels. + * // + * // To filter on multiple expressions, provide each separate expression within + * // parentheses. For example: + * // ``` + * // (scheduling.automaticRestart = true) + * // (cpuPlatform = "Intel Skylake") + * // ``` + * // By default, each expression is an `AND` expression. However, you + * // can include `AND` and `OR` expressions explicitly. + * // For example: + * // ``` + * // (cpuPlatform = "Intel Skylake") OR + * // (cpuPlatform = "Intel Broadwell") AND + * // (scheduling.automaticRestart = true) + * // ``` + * // + * // If you want to use a regular expression, use the `eq` (equal) or `ne` + * // (not equal) operator against a single un-parenthesized expression with or + * // without quotes or against multiple parenthesized expressions. Examples: + * // + * // `fieldname eq unquoted literal` + * // `fieldname eq 'single quoted literal'` + * // `fieldname eq "double quoted literal"` + * // `(fieldname1 eq literal) (fieldname2 ne "literal")` + * // + * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * // The literal value must match the entire field. + * // + * // For example, to filter for instances that do not end with name "instance", + * // you would use `name ne .*instance`. + * // + * // You cannot combine constraints on multiple fields using regular + * // expressions. + * filter: 'placeholder-value', + * // The maximum number of results per page that should be returned. + * // If the number of available results is larger than `maxResults`, + * // Compute Engine returns a `nextPageToken` that can be used to get + * // the next page of results in subsequent list requests. Acceptable values are + * // `0` to `500`, inclusive. (Default: `500`) + * maxResults: 'placeholder-value', + * // Sorts list results by a certain order. By default, results + * // are returned in alphanumerical order based on the resource name. + * // + * // You can also sort results in descending order based on the creation + * // timestamp using `orderBy="creationTimestamp desc"`. This sorts + * // results based on the `creationTimestamp` field in + * // reverse chronological order (newest result first). Use this to sort + * // resources like operations so that the newest operation is returned first. + * // + * // Currently, only sorting by `name` or + * // `creationTimestamp desc` is supported. + * orderBy: 'placeholder-value', + * // Specifies a page token to use. Set `pageToken` to the + * // `nextPageToken` returned by a previous list request to get + * // the next page of results. + * pageToken: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. + * // Opt-in for partial success behavior which provides partial results in case + * // of failure. The default value is false. * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * // The name of the resize request to delete. - * // The name should conform to RFC1035 or be a resource ID. - * resizeRequest: 'placeholder-value', - * // The name of thezone where the managed - * // instance group is located. The name should conform to RFC1035. - * zone: 'placeholder-value', + * // For example, when partial success behavior is enabled, aggregatedList for a + * // single zone scope either returns all resources in the zone or no resources, + * // with an error code. + * returnPartialSuccess: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, + * // "items": [], * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", + * // "nextPageToken": "my_nextPageToken", * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" + * // "warning": {} * // } * } * @@ -97318,54 +94841,55 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - delete( - params: Params$Resource$Instancegroupmanagerresizerequests$Delete, + list( + params: Params$Resource$Httpshealthchecks$List, options: StreamMethodOptions ): Promise>; - delete( - params?: Params$Resource$Instancegroupmanagerresizerequests$Delete, + list( + params?: Params$Resource$Httpshealthchecks$List, options?: MethodOptions - ): Promise>; - delete( - params: Params$Resource$Instancegroupmanagerresizerequests$Delete, + ): Promise>; + list( + params: Params$Resource$Httpshealthchecks$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Instancegroupmanagerresizerequests$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + list( + params: Params$Resource$Httpshealthchecks$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Instancegroupmanagerresizerequests$Delete, - callback: BodyResponseCallback + list( + params: Params$Resource$Httpshealthchecks$List, + callback: BodyResponseCallback ): void; - delete(callback: BodyResponseCallback): void; - delete( + list(callback: BodyResponseCallback): void; + list( paramsOrCallback?: - | Params$Resource$Instancegroupmanagerresizerequests$Delete - | BodyResponseCallback + | Params$Resource$Httpshealthchecks$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instancegroupmanagerresizerequests$Delete; + {}) as Params$Resource$Httpshealthchecks$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Instancegroupmanagerresizerequests$Delete; + params = {} as Params$Resource$Httpshealthchecks$List; options = {}; } @@ -97380,40 +94904,33 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}' + '/compute/alpha/projects/{project}/global/httpsHealthChecks' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: [ - 'project', - 'zone', - 'instanceGroupManager', - 'resizeRequest', - ], - pathParams: [ - 'instanceGroupManager', - 'project', - 'resizeRequest', - 'zone', - ], + requiredParams: ['project'], + pathParams: ['project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Returns all of the details about the specified resize request. + * Updates a HttpsHealthCheck resource in the specified project using the data + * included in the request. This method supportsPATCH + * semantics and uses theJSON merge + * patch format and processing rules. * @example * ```js * // Before running the sample: @@ -97437,7 +94954,6 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -97446,39 +94962,79 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instanceGroupManagerResizeRequests.get({ - * // The name of the managed instance group. - * // Name should conform to RFC1035 or be a resource ID. - * instanceGroupManager: 'placeholder-value', + * const res = await compute.httpsHealthChecks.patch({ + * // Name of the HttpsHealthCheck resource to patch. + * httpsHealthCheck: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // The name of the resize request. - * // Name should conform to RFC1035 or be a resource ID. - * resizeRequest: 'placeholder-value', - * // Name of the href="/compute/docs/regions-zones/#available"\>zone - * // scoping this request. Name should conform to RFC1035. - * zone: 'placeholder-value', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "checkIntervalSec": 0, + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "healthyThreshold": 0, + * // "host": "my_host", + * // "id": "my_id", + * // "kind": "my_kind", + * // "name": "my_name", + * // "port": 0, + * // "requestPath": "my_requestPath", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "timeoutSec": 0, + * // "unhealthyThreshold": 0 + * // } + * }, * }); * console.log(res.data); * * // Example response * // { - * // "count": 0, + * // "clientOperationId": "my_clientOperationId", * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, * // "id": "my_id", - * // "instances": [], + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, * // "kind": "my_kind", * // "name": "my_name", - * // "queuingPolicy": {}, + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, * // "region": "my_region", - * // "requestedRunDuration": {}, - * // "resizeBy": 0, * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", - * // "state": "my_state", - * // "status": {}, + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], * // "zone": "my_zone" * // } * } @@ -97495,61 +95051,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - get( - params: Params$Resource$Instancegroupmanagerresizerequests$Get, + patch( + params: Params$Resource$Httpshealthchecks$Patch, options: StreamMethodOptions ): Promise>; - get( - params?: Params$Resource$Instancegroupmanagerresizerequests$Get, + patch( + params?: Params$Resource$Httpshealthchecks$Patch, options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; - get( - params: Params$Resource$Instancegroupmanagerresizerequests$Get, + ): Promise>; + patch( + params: Params$Resource$Httpshealthchecks$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Instancegroupmanagerresizerequests$Get, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Instancegroupmanagerresizerequests$Get, - callback: BodyResponseCallback + patch( + params: Params$Resource$Httpshealthchecks$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - get( - callback: BodyResponseCallback + patch( + params: Params$Resource$Httpshealthchecks$Patch, + callback: BodyResponseCallback ): void; - get( + patch(callback: BodyResponseCallback): void; + patch( paramsOrCallback?: - | Params$Resource$Instancegroupmanagerresizerequests$Get - | BodyResponseCallback + | Params$Resource$Httpshealthchecks$Patch + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise< - GaxiosResponseWithHTTP2 - > + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instancegroupmanagerresizerequests$Get; + {}) as Params$Resource$Httpshealthchecks$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instancegroupmanagerresizerequests$Get; + params = {} as Params$Resource$Httpshealthchecks$Patch; options = {}; } @@ -97564,43 +95112,30 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}' + '/compute/alpha/projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'PATCH', apiVersion: '', }, options ), params, - requiredParams: [ - 'project', - 'zone', - 'instanceGroupManager', - 'resizeRequest', - ], - pathParams: [ - 'instanceGroupManager', - 'project', - 'resizeRequest', - 'zone', - ], + requiredParams: ['project', 'httpsHealthCheck'], + pathParams: ['httpsHealthCheck', 'project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } /** - * Creates a new resize request that starts provisioning VMs immediately - * or queues VM creation. + * Returns permissions that a caller has on the specified resource. * @example * ```js * // Before running the sample: @@ -97624,6 +95159,7 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -97632,53 +95168,18 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instanceGroupManagerResizeRequests.insert({ - * // 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. - * instanceGroupManager: 'placeholder-value', + * const res = await compute.httpsHealthChecks.testIamPermissions({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. - * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * // The name of thezone where the managed - * // instance group is located and where the resize request will be created. - * // Name should conform to RFC1035. - * zone: 'placeholder-value', + * // Name or id of the resource for this request. + * resource: '[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * * // Request body metadata * requestBody: { * // request body parameters * // { - * // "count": 0, - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "id": "my_id", - * // "instances": [], - * // "kind": "my_kind", - * // "name": "my_name", - * // "queuingPolicy": {}, - * // "region": "my_region", - * // "requestedRunDuration": {}, - * // "resizeBy": 0, - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "state": "my_state", - * // "status": {}, - * // "zone": "my_zone" + * // "permissions": [] * // } * }, * }); @@ -97686,34 +95187,7 @@ export namespace compute_alpha { * * // Example response * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, - * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, - * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" + * // "permissions": [] * // } * } * @@ -97729,54 +95203,57 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - insert( - params: Params$Resource$Instancegroupmanagerresizerequests$Insert, + testIamPermissions( + params: Params$Resource$Httpshealthchecks$Testiampermissions, options: StreamMethodOptions ): Promise>; - insert( - params?: Params$Resource$Instancegroupmanagerresizerequests$Insert, + testIamPermissions( + params?: Params$Resource$Httpshealthchecks$Testiampermissions, options?: MethodOptions - ): Promise>; - insert( - params: Params$Resource$Instancegroupmanagerresizerequests$Insert, + ): Promise>; + testIamPermissions( + params: Params$Resource$Httpshealthchecks$Testiampermissions, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - insert( - params: Params$Resource$Instancegroupmanagerresizerequests$Insert, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + testIamPermissions( + params: Params$Resource$Httpshealthchecks$Testiampermissions, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - insert( - params: Params$Resource$Instancegroupmanagerresizerequests$Insert, - callback: BodyResponseCallback + testIamPermissions( + params: Params$Resource$Httpshealthchecks$Testiampermissions, + callback: BodyResponseCallback ): void; - insert(callback: BodyResponseCallback): void; - insert( + testIamPermissions( + callback: BodyResponseCallback + ): void; + testIamPermissions( paramsOrCallback?: - | Params$Resource$Instancegroupmanagerresizerequests$Insert - | BodyResponseCallback + | Params$Resource$Httpshealthchecks$Testiampermissions + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instancegroupmanagerresizerequests$Insert; + {}) as Params$Resource$Httpshealthchecks$Testiampermissions; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Instancegroupmanagerresizerequests$Insert; + params = {} as Params$Resource$Httpshealthchecks$Testiampermissions; options = {}; } @@ -97791,7 +95268,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeRequests' + '/compute/alpha/projects/{project}/global/httpsHealthChecks/{resource}/testIamPermissions' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -97799,23 +95276,23 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'zone', 'instanceGroupManager'], - pathParams: ['instanceGroupManager', 'project', 'zone'], + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Retrieves a list of resize requests that are contained in the - * managed instance group. + * Updates a HttpsHealthCheck resource in the specified project using the data + * included in the request. * @example * ```js * // Before running the sample: @@ -97839,7 +95316,6 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -97848,114 +95324,80 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instanceGroupManagerResizeRequests.list({ - * // A filter expression that filters resources listed in the response. Most - * // Compute resources support two types of filter expressions: - * // expressions that support regular expressions and expressions that follow - * // API improvement proposal AIP-160. - * // These two types of filter expressions cannot be mixed in one request. - * // - * // If you want to use AIP-160, your expression must specify the field name, an - * // operator, and the value that you want to use for filtering. The value - * // must be a string, a number, or a boolean. The operator - * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * // - * // For example, if you are filtering Compute Engine instances, you can - * // exclude instances named `example-instance` by specifying - * // `name != example-instance`. - * // - * // The `:*` comparison can be used to test whether a key has been defined. - * // For example, to find all objects with `owner` label use: - * // ``` - * // labels.owner:* - * // ``` - * // - * // You can also filter nested fields. For example, you could specify - * // `scheduling.automaticRestart = false` to include instances only - * // if they are not scheduled for automatic restarts. You can use filtering - * // on nested fields to filter based onresource labels. - * // - * // To filter on multiple expressions, provide each separate expression within - * // parentheses. For example: - * // ``` - * // (scheduling.automaticRestart = true) - * // (cpuPlatform = "Intel Skylake") - * // ``` - * // By default, each expression is an `AND` expression. However, you - * // can include `AND` and `OR` expressions explicitly. - * // For example: - * // ``` - * // (cpuPlatform = "Intel Skylake") OR - * // (cpuPlatform = "Intel Broadwell") AND - * // (scheduling.automaticRestart = true) - * // ``` - * // - * // If you want to use a regular expression, use the `eq` (equal) or `ne` - * // (not equal) operator against a single un-parenthesized expression with or - * // without quotes or against multiple parenthesized expressions. Examples: - * // - * // `fieldname eq unquoted literal` - * // `fieldname eq 'single quoted literal'` - * // `fieldname eq "double quoted literal"` - * // `(fieldname1 eq literal) (fieldname2 ne "literal")` - * // - * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * // The literal value must match the entire field. - * // - * // For example, to filter for instances that do not end with name "instance", - * // you would use `name ne .*instance`. - * // - * // You cannot combine constraints on multiple fields using regular - * // expressions. - * filter: 'placeholder-value', - * // The name of the managed instance group. The name should conform to RFC1035. - * instanceGroupManager: 'placeholder-value', - * // The maximum number of results per page that should be returned. - * // If the number of available results is larger than `maxResults`, - * // Compute Engine returns a `nextPageToken` that can be used to get - * // the next page of results in subsequent list requests. Acceptable values are - * // `0` to `500`, inclusive. (Default: `500`) - * maxResults: 'placeholder-value', - * // Sorts list results by a certain order. By default, results - * // are returned in alphanumerical order based on the resource name. - * // - * // You can also sort results in descending order based on the creation - * // timestamp using `orderBy="creationTimestamp desc"`. This sorts - * // results based on the `creationTimestamp` field in - * // reverse chronological order (newest result first). Use this to sort - * // resources like operations so that the newest operation is returned first. - * // - * // Currently, only sorting by `name` or - * // `creationTimestamp desc` is supported. - * orderBy: 'placeholder-value', - * // Specifies a page token to use. Set `pageToken` to the - * // `nextPageToken` returned by a previous list request to get - * // the next page of results. - * pageToken: 'placeholder-value', + * const res = await compute.httpsHealthChecks.update({ + * // Name of the HttpsHealthCheck resource to update. + * httpsHealthCheck: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Opt-in for partial success behavior which provides partial results in case - * // of failure. The default value is false. + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. * // - * // For example, when partial success behavior is enabled, aggregatedList for a - * // single zone scope either returns all resources in the zone or no resources, - * // with an error code. - * returnPartialSuccess: 'placeholder-value', - * // The name of thezone where the managed - * // instance group is located. The name should conform to RFC1035. - * zone: 'placeholder-value', + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "checkIntervalSec": 0, + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "healthyThreshold": 0, + * // "host": "my_host", + * // "id": "my_id", + * // "kind": "my_kind", + * // "name": "my_name", + * // "port": 0, + * // "requestPath": "my_requestPath", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "timeoutSec": 0, + * // "unhealthyThreshold": 0 + * // } + * }, * }); * console.log(res.data); * * // Example response * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, * // "id": "my_id", - * // "items": [], + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, * // "kind": "my_kind", - * // "nextPageToken": "my_nextPageToken", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", * // "selfLink": "my_selfLink", - * // "warning": {} + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" * // } * } * @@ -97971,61 +95413,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - list( - params: Params$Resource$Instancegroupmanagerresizerequests$List, + update( + params: Params$Resource$Httpshealthchecks$Update, options: StreamMethodOptions ): Promise>; - list( - params?: Params$Resource$Instancegroupmanagerresizerequests$List, + update( + params?: Params$Resource$Httpshealthchecks$Update, options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; - list( - params: Params$Resource$Instancegroupmanagerresizerequests$List, + ): Promise>; + update( + params: Params$Resource$Httpshealthchecks$Update, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Instancegroupmanagerresizerequests$List, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Instancegroupmanagerresizerequests$List, - callback: BodyResponseCallback + update( + params: Params$Resource$Httpshealthchecks$Update, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - list( - callback: BodyResponseCallback + update( + params: Params$Resource$Httpshealthchecks$Update, + callback: BodyResponseCallback ): void; - list( + update(callback: BodyResponseCallback): void; + update( paramsOrCallback?: - | Params$Resource$Instancegroupmanagerresizerequests$List - | BodyResponseCallback + | Params$Resource$Httpshealthchecks$Update + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise< - GaxiosResponseWithHTTP2 - > + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instancegroupmanagerresizerequests$List; + {}) as Params$Resource$Httpshealthchecks$Update; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instancegroupmanagerresizerequests$List; + params = {} as Params$Resource$Httpshealthchecks$Update; options = {}; } @@ -98040,74 +95474,34 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeRequests' + '/compute/alpha/projects/{project}/global/httpsHealthChecks/{httpsHealthCheck}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'PUT', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone', 'instanceGroupManager'], - pathParams: ['instanceGroupManager', 'project', 'zone'], + requiredParams: ['project', 'httpsHealthCheck'], + pathParams: ['httpsHealthCheck', 'project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } } - export interface Params$Resource$Instancegroupmanagerresizerequests$Cancel extends StandardParameters { - /** - * The name of the managed instance group. - * The name should conform to RFC1035 or be a resource ID. - */ - instanceGroupManager?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of the resize request to cancel. - * The name should conform to RFC1035 or be a resource ID. - */ - resizeRequest?: string; - /** - * The name of thezone where the managed - * instance group is located. The name should conform to RFC1035. - */ - zone?: string; - } - export interface Params$Resource$Instancegroupmanagerresizerequests$Delete extends StandardParameters { + export interface Params$Resource$Httpshealthchecks$Delete extends StandardParameters { /** - * The name of the managed instance group. - * The name should conform to RFC1035 or be a resource ID. + * Name of the HttpsHealthCheck resource to delete. */ - instanceGroupManager?: string; + httpsHealthCheck?: string; /** * Project ID for this request. */ @@ -98128,45 +95522,18 @@ export namespace compute_alpha { * (00000000-0000-0000-0000-000000000000). */ requestId?: string; - /** - * The name of the resize request to delete. - * The name should conform to RFC1035 or be a resource ID. - */ - resizeRequest?: string; - /** - * The name of thezone where the managed - * instance group is located. The name should conform to RFC1035. - */ - zone?: string; } - export interface Params$Resource$Instancegroupmanagerresizerequests$Get extends StandardParameters { + export interface Params$Resource$Httpshealthchecks$Get extends StandardParameters { /** - * The name of the managed instance group. - * Name should conform to RFC1035 or be a resource ID. + * Name of the HttpsHealthCheck resource to return. */ - instanceGroupManager?: string; + httpsHealthCheck?: string; /** * Project ID for this request. */ project?: string; - /** - * The name of the resize request. - * Name should conform to RFC1035 or be a resource ID. - */ - resizeRequest?: string; - /** - * Name of the href="/compute/docs/regions-zones/#available"\>zone - * scoping this request. Name should conform to RFC1035. - */ - zone?: string; } - export interface Params$Resource$Instancegroupmanagerresizerequests$Insert extends StandardParameters { - /** - * 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. - */ - instanceGroupManager?: string; + export interface Params$Resource$Httpshealthchecks$Insert extends StandardParameters { /** * Project ID for this request. */ @@ -98187,19 +95554,13 @@ export namespace compute_alpha { * (00000000-0000-0000-0000-000000000000). */ requestId?: string; - /** - * The name of thezone where the managed - * instance group is located and where the resize request will be created. - * Name should conform to RFC1035. - */ - zone?: string; /** * Request body metadata */ - requestBody?: Schema$InstanceGroupManagerResizeRequest; + requestBody?: Schema$HttpsHealthCheck; } - export interface Params$Resource$Instancegroupmanagerresizerequests$List extends StandardParameters { + export interface Params$Resource$Httpshealthchecks$List extends StandardParameters { /** * A filter expression that filters resources listed in the response. Most * Compute resources support two types of filter expressions: @@ -98261,10 +95622,6 @@ export namespace compute_alpha { * expressions. */ filter?: string; - /** - * The name of the managed instance group. The name should conform to RFC1035. - */ - instanceGroupManager?: string; /** * The maximum number of results per page that should be returned. * If the number of available results is larger than `maxResults`, @@ -98306,35 +95663,262 @@ export namespace compute_alpha { * with an error code. */ returnPartialSuccess?: boolean; + } + export interface Params$Resource$Httpshealthchecks$Patch extends StandardParameters { /** - * The name of thezone where the managed - * instance group is located. The name should conform to RFC1035. + * Name of the HttpsHealthCheck resource to patch. */ - zone?: string; + httpsHealthCheck?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$HttpsHealthCheck; } + export interface Params$Resource$Httpshealthchecks$Testiampermissions extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; - export class Resource$Instancegroupmanagers { + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + export interface Params$Resource$Httpshealthchecks$Update extends StandardParameters { + /** + * Name of the HttpsHealthCheck resource to update. + */ + httpsHealthCheck?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$HttpsHealthCheck; + } + + export class Resource$Imagefamilyviews { context: APIRequestContext; constructor(context: APIRequestContext) { this.context = context; } /** - * 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 thetargetSize of the managed instance group by the - * number of instances that you abandon. This operation is marked asDONE 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 thelistmanagedinstances - * method. + * Returns the latest image that is part of an image family, is not + * deprecated and is rolled out in the specified zone. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` * - * 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. + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); * - * You can specify a maximum of 1000 instances with this method per request. + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.imageFamilyViews.get({ + * // Name of the image family to search for. + * family: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // The name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "image": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Imagefamilyviews$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Imagefamilyviews$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Imagefamilyviews$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Imagefamilyviews$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Imagefamilyviews$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Imagefamilyviews$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Imagefamilyviews$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Imagefamilyviews$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/imageFamilyViews/{family}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'family'], + pathParams: ['family', 'project', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Imagefamilyviews$Get extends StandardParameters { + /** + * Name of the image family to search for. + */ + family?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + + export class Resource$Images { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Deletes the specified image. * @example * ```js * // Before running the sample: @@ -98366,9 +95950,9 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instanceGroupManagers.abandonInstances({ - * // The name of the managed instance group. - * instanceGroupManager: 'placeholder-value', + * const res = await compute.images.delete({ + * // Name of the image resource to delete. + * image: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -98386,17 +95970,6 @@ export namespace compute_alpha { * // a valid UUID with the exception that zero UUID is not supported * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', - * // The name of thezone where the managed - * // instance group is located. - * zone: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "instances": [] - * // } - * }, * }); * console.log(res.data); * @@ -98445,32 +96018,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - abandonInstances( - params: Params$Resource$Instancegroupmanagers$Abandoninstances, + delete( + params: Params$Resource$Images$Delete, options: StreamMethodOptions ): Promise>; - abandonInstances( - params?: Params$Resource$Instancegroupmanagers$Abandoninstances, + delete( + params?: Params$Resource$Images$Delete, options?: MethodOptions ): Promise>; - abandonInstances( - params: Params$Resource$Instancegroupmanagers$Abandoninstances, + delete( + params: Params$Resource$Images$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - abandonInstances( - params: Params$Resource$Instancegroupmanagers$Abandoninstances, + delete( + params: Params$Resource$Images$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - abandonInstances( - params: Params$Resource$Instancegroupmanagers$Abandoninstances, + delete( + params: Params$Resource$Images$Delete, callback: BodyResponseCallback ): void; - abandonInstances(callback: BodyResponseCallback): void; - abandonInstances( + delete(callback: BodyResponseCallback): void; + delete( paramsOrCallback?: - | Params$Resource$Instancegroupmanagers$Abandoninstances + | Params$Resource$Images$Delete | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -98485,13 +96058,12 @@ export namespace compute_alpha { | void | Promise> | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Instancegroupmanagers$Abandoninstances; + let params = (paramsOrCallback || {}) as Params$Resource$Images$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instancegroupmanagers$Abandoninstances; + params = {} as Params$Resource$Images$Delete; options = {}; } @@ -98506,16 +96078,16 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/abandonInstances' + '/compute/alpha/projects/{project}/global/images/{image}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'DELETE', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone', 'instanceGroupManager'], - pathParams: ['instanceGroupManager', 'project', 'zone'], + requiredParams: ['project', 'image'], + pathParams: ['image', 'project'], context: this.context, }; if (callback) { @@ -98529,10 +96101,9 @@ export namespace compute_alpha { } /** - * Retrieves the list of managed instance groups and groups them by zone. + * Sets the deprecation status of an image. * - * To prevent failure, Google recommends that you set the - * `returnPartialSuccess` parameter to `true`. + * If an empty request body is given, clears the deprecation status instead. * @example * ```js * // Before running the sample: @@ -98556,7 +96127,6 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -98565,121 +96135,72 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instanceGroupManagers.aggregatedList({ - * // A filter expression that filters resources listed in the response. Most - * // Compute resources support two types of filter expressions: - * // expressions that support regular expressions and expressions that follow - * // API improvement proposal AIP-160. - * // These two types of filter expressions cannot be mixed in one request. - * // - * // If you want to use AIP-160, your expression must specify the field name, an - * // operator, and the value that you want to use for filtering. The value - * // must be a string, a number, or a boolean. The operator - * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * // - * // For example, if you are filtering Compute Engine instances, you can - * // exclude instances named `example-instance` by specifying - * // `name != example-instance`. - * // - * // The `:*` comparison can be used to test whether a key has been defined. - * // For example, to find all objects with `owner` label use: - * // ``` - * // labels.owner:* - * // ``` - * // - * // You can also filter nested fields. For example, you could specify - * // `scheduling.automaticRestart = false` to include instances only - * // if they are not scheduled for automatic restarts. You can use filtering - * // on nested fields to filter based onresource labels. - * // - * // To filter on multiple expressions, provide each separate expression within - * // parentheses. For example: - * // ``` - * // (scheduling.automaticRestart = true) - * // (cpuPlatform = "Intel Skylake") - * // ``` - * // By default, each expression is an `AND` expression. However, you - * // can include `AND` and `OR` expressions explicitly. - * // For example: - * // ``` - * // (cpuPlatform = "Intel Skylake") OR - * // (cpuPlatform = "Intel Broadwell") AND - * // (scheduling.automaticRestart = true) - * // ``` - * // - * // If you want to use a regular expression, use the `eq` (equal) or `ne` - * // (not equal) operator against a single un-parenthesized expression with or - * // without quotes or against multiple parenthesized expressions. Examples: + * const res = await compute.images.deprecate({ + * // Image name. + * image: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. * // - * // `fieldname eq unquoted literal` - * // `fieldname eq 'single quoted literal'` - * // `fieldname eq "double quoted literal"` - * // `(fieldname1 eq literal) (fieldname2 ne "literal")` + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. * // - * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * // The literal value must match the entire field. - * // - * // For example, to filter for instances that do not end with name "instance", - * // you would use `name ne .*instance`. - * // - * // You cannot combine constraints on multiple fields using regular - * // expressions. - * filter: 'placeholder-value', - * // 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. - * includeAllScopes: 'placeholder-value', - * // The maximum number of results per page that should be returned. - * // If the number of available results is larger than `maxResults`, - * // Compute Engine returns a `nextPageToken` that can be used to get - * // the next page of results in subsequent list requests. Acceptable values are - * // `0` to `500`, inclusive. (Default: `500`) - * maxResults: 'placeholder-value', - * // Sorts list results by a certain order. By default, results - * // are returned in alphanumerical order based on the resource name. - * // - * // You can also sort results in descending order based on the creation - * // timestamp using `orderBy="creationTimestamp desc"`. This sorts - * // results based on the `creationTimestamp` field in - * // reverse chronological order (newest result first). Use this to sort - * // resources like operations so that the newest operation is returned first. - * // - * // Currently, only sorting by `name` or - * // `creationTimestamp desc` is supported. - * orderBy: 'placeholder-value', - * // Specifies a page token to use. Set `pageToken` to the - * // `nextPageToken` returned by a previous list request to get - * // the next page of results. - * pageToken: 'placeholder-value', - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Opt-in for partial success behavior which provides partial results in case - * // of failure. The default value is false. - * // - * // For example, when partial success behavior is enabled, aggregatedList for a - * // single zone scope either returns all resources in the zone or no resources, - * // with an error code. - * returnPartialSuccess: 'placeholder-value', - * // The Shared VPC service project id or service project number for which - * // aggregated list request is invoked for subnetworks list-usable api. - * serviceProjectNumber: 'placeholder-value', + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "deleted": "my_deleted", + * // "deprecated": "my_deprecated", + * // "obsolete": "my_obsolete", + * // "replacement": "my_replacement", + * // "state": "my_state", + * // "stateOverride": {} + * // } + * }, * }); * console.log(res.data); * * // Example response * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, * // "id": "my_id", - * // "items": {}, + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, * // "kind": "my_kind", - * // "nextPageToken": "my_nextPageToken", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", * // "selfLink": "my_selfLink", - * // "unreachables": [], - * // "warning": {} + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" * // } * } * @@ -98695,61 +96216,52 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - aggregatedList( - params: Params$Resource$Instancegroupmanagers$Aggregatedlist, + deprecate( + params: Params$Resource$Images$Deprecate, options: StreamMethodOptions ): Promise>; - aggregatedList( - params?: Params$Resource$Instancegroupmanagers$Aggregatedlist, + deprecate( + params?: Params$Resource$Images$Deprecate, options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; - aggregatedList( - params: Params$Resource$Instancegroupmanagers$Aggregatedlist, + ): Promise>; + deprecate( + params: Params$Resource$Images$Deprecate, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - aggregatedList( - params: Params$Resource$Instancegroupmanagers$Aggregatedlist, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - aggregatedList( - params: Params$Resource$Instancegroupmanagers$Aggregatedlist, - callback: BodyResponseCallback + deprecate( + params: Params$Resource$Images$Deprecate, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - aggregatedList( - callback: BodyResponseCallback + deprecate( + params: Params$Resource$Images$Deprecate, + callback: BodyResponseCallback ): void; - aggregatedList( + deprecate(callback: BodyResponseCallback): void; + deprecate( paramsOrCallback?: - | Params$Resource$Instancegroupmanagers$Aggregatedlist - | BodyResponseCallback + | Params$Resource$Images$Deprecate + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise< - GaxiosResponseWithHTTP2 - > + | Promise> | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Instancegroupmanagers$Aggregatedlist; + let params = (paramsOrCallback || {}) as Params$Resource$Images$Deprecate; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instancegroupmanagers$Aggregatedlist; + params = {} as Params$Resource$Images$Deprecate; options = {}; } @@ -98764,33 +96276,30 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/aggregated/instanceGroupManagers' + '/compute/alpha/projects/{project}/global/images/{image}/deprecate' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project'], - pathParams: ['project'], + requiredParams: ['project', 'image'], + pathParams: ['image', 'project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } /** - * Applies changes to selected instances on the managed instance group. - * This method can be used to apply new overrides and/or new versions. + * Returns the specified image. * @example * ```js * // Before running the sample: @@ -98814,6 +96323,7 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -98822,61 +96332,55 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instanceGroupManagers.applyUpdatesToInstances({ - * // The name of the managed instance group, should conform to RFC1035. - * instanceGroupManager: 'placeholder-value', + * const res = await compute.images.get({ + * // Name of the image resource to return. + * image: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // The name of thezone - * // where the managed instance group is located. Should conform to RFC1035. - * zone: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "allInstances": false, - * // "disruptionMode": "my_disruptionMode", - * // "instances": [], - * // "maximalAction": "my_maximalAction", - * // "minimalAction": "my_minimalAction", - * // "mostDisruptiveAllowedAction": "my_mostDisruptiveAllowedAction" - * // } - * }, * }); * console.log(res.data); * * // Example response * // { - * // "clientOperationId": "my_clientOperationId", + * // "architecture": "my_architecture", + * // "archiveSizeBytes": "my_archiveSizeBytes", * // "creationTimestamp": "my_creationTimestamp", + * // "deprecated": {}, * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, + * // "diskSizeGb": "my_diskSizeGb", + * // "enableConfidentialCompute": false, + * // "family": "my_family", + * // "guestOsFeatures": [], * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, + * // "imageEncryptionKey": {}, * // "kind": "my_kind", + * // "labelFingerprint": "my_labelFingerprint", + * // "labels": {}, + * // "licenseCodes": [], + * // "licenses": [], + * // "locked": false, * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", + * // "params": {}, + * // "rawDisk": {}, + * // "rolloutOverride": {}, + * // "satisfiesPzi": false, + * // "satisfiesPzs": false, * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", + * // "shieldedInstanceInitialState": {}, + * // "sourceDisk": "my_sourceDisk", + * // "sourceDiskEncryptionKey": {}, + * // "sourceDiskId": "my_sourceDiskId", + * // "sourceImage": "my_sourceImage", + * // "sourceImageEncryptionKey": {}, + * // "sourceImageId": "my_sourceImageId", + * // "sourceSnapshot": "my_sourceSnapshot", + * // "sourceSnapshotEncryptionKey": {}, + * // "sourceSnapshotId": "my_sourceSnapshotId", + * // "sourceType": "my_sourceType", * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" + * // "storageLocations": [] * // } * } * @@ -98892,56 +96396,52 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - applyUpdatesToInstances( - params: Params$Resource$Instancegroupmanagers$Applyupdatestoinstances, + get( + params: Params$Resource$Images$Get, options: StreamMethodOptions ): Promise>; - applyUpdatesToInstances( - params?: Params$Resource$Instancegroupmanagers$Applyupdatestoinstances, + get( + params?: Params$Resource$Images$Get, options?: MethodOptions - ): Promise>; - applyUpdatesToInstances( - params: Params$Resource$Instancegroupmanagers$Applyupdatestoinstances, + ): Promise>; + get( + params: Params$Resource$Images$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - applyUpdatesToInstances( - params: Params$Resource$Instancegroupmanagers$Applyupdatestoinstances, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - applyUpdatesToInstances( - params: Params$Resource$Instancegroupmanagers$Applyupdatestoinstances, - callback: BodyResponseCallback + get( + params: Params$Resource$Images$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - applyUpdatesToInstances( - callback: BodyResponseCallback + get( + params: Params$Resource$Images$Get, + callback: BodyResponseCallback ): void; - applyUpdatesToInstances( + get(callback: BodyResponseCallback): void; + get( paramsOrCallback?: - | Params$Resource$Instancegroupmanagers$Applyupdatestoinstances - | BodyResponseCallback + | Params$Resource$Images$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Instancegroupmanagers$Applyupdatestoinstances; + let params = (paramsOrCallback || {}) as Params$Resource$Images$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Instancegroupmanagers$Applyupdatestoinstances; + params = {} as Params$Resource$Images$Get; options = {}; } @@ -98956,30 +96456,32 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/applyUpdatesToInstances' + '/compute/alpha/projects/{project}/global/images/{image}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone', 'instanceGroupManager'], - pathParams: ['instanceGroupManager', 'project', 'zone'], + requiredParams: ['project', 'image'], + pathParams: ['image', 'project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Updates the accelerator topologies configuration. + * Returns the latest image that is part of an image family and is not + * deprecated. For more information on image families, seePublic + * image families documentation. * @example * ```js * // Before running the sample: @@ -99003,6 +96505,7 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -99011,73 +96514,56 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = - * await compute.instanceGroupManagers.configureAcceleratorTopologies({ - * // The name of the managed instance group. - * // It should conform to RFC1035. - * instanceGroupManager: 'placeholder-value', - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // 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). - * requestId: 'placeholder-value', - * // The name of thezone - * // where the managed instance group is located. - * // It should conform to RFC1035. - * zone: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "acceleratorTopologyActions": {}, - * // "acceleratorTopologyConfigurations": {} - * // } - * }, - * }); + * const res = await compute.images.getFromFamily({ + * // Name of the image family to search for. + * family: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // The image project that the image belongs to. For example, to get a CentOS + * // image, specify centos-cloud as the image project. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * }); * console.log(res.data); * * // Example response * // { - * // "clientOperationId": "my_clientOperationId", + * // "architecture": "my_architecture", + * // "archiveSizeBytes": "my_archiveSizeBytes", * // "creationTimestamp": "my_creationTimestamp", + * // "deprecated": {}, * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, + * // "diskSizeGb": "my_diskSizeGb", + * // "enableConfidentialCompute": false, + * // "family": "my_family", + * // "guestOsFeatures": [], * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, + * // "imageEncryptionKey": {}, * // "kind": "my_kind", + * // "labelFingerprint": "my_labelFingerprint", + * // "labels": {}, + * // "licenseCodes": [], + * // "licenses": [], + * // "locked": false, * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", + * // "params": {}, + * // "rawDisk": {}, + * // "rolloutOverride": {}, + * // "satisfiesPzi": false, + * // "satisfiesPzs": false, * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", + * // "shieldedInstanceInitialState": {}, + * // "sourceDisk": "my_sourceDisk", + * // "sourceDiskEncryptionKey": {}, + * // "sourceDiskId": "my_sourceDiskId", + * // "sourceImage": "my_sourceImage", + * // "sourceImageEncryptionKey": {}, + * // "sourceImageId": "my_sourceImageId", + * // "sourceSnapshot": "my_sourceSnapshot", + * // "sourceSnapshotEncryptionKey": {}, + * // "sourceSnapshotId": "my_sourceSnapshotId", + * // "sourceType": "my_sourceType", * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" + * // "storageLocations": [] * // } * } * @@ -99093,56 +96579,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - configureAcceleratorTopologies( - params: Params$Resource$Instancegroupmanagers$Configureacceleratortopologies, + getFromFamily( + params: Params$Resource$Images$Getfromfamily, options: StreamMethodOptions ): Promise>; - configureAcceleratorTopologies( - params?: Params$Resource$Instancegroupmanagers$Configureacceleratortopologies, + getFromFamily( + params?: Params$Resource$Images$Getfromfamily, options?: MethodOptions - ): Promise>; - configureAcceleratorTopologies( - params: Params$Resource$Instancegroupmanagers$Configureacceleratortopologies, + ): Promise>; + getFromFamily( + params: Params$Resource$Images$Getfromfamily, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - configureAcceleratorTopologies( - params: Params$Resource$Instancegroupmanagers$Configureacceleratortopologies, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - configureAcceleratorTopologies( - params: Params$Resource$Instancegroupmanagers$Configureacceleratortopologies, - callback: BodyResponseCallback + getFromFamily( + params: Params$Resource$Images$Getfromfamily, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - configureAcceleratorTopologies( - callback: BodyResponseCallback + getFromFamily( + params: Params$Resource$Images$Getfromfamily, + callback: BodyResponseCallback ): void; - configureAcceleratorTopologies( + getFromFamily(callback: BodyResponseCallback): void; + getFromFamily( paramsOrCallback?: - | Params$Resource$Instancegroupmanagers$Configureacceleratortopologies - | BodyResponseCallback + | Params$Resource$Images$Getfromfamily + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instancegroupmanagers$Configureacceleratortopologies; + {}) as Params$Resource$Images$Getfromfamily; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Instancegroupmanagers$Configureacceleratortopologies; + params = {} as Params$Resource$Images$Getfromfamily; options = {}; } @@ -99157,33 +96640,31 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/configureAcceleratorTopologies' + '/compute/alpha/projects/{project}/global/images/family/{family}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone', 'instanceGroupManager'], - pathParams: ['instanceGroupManager', 'project', 'zone'], + requiredParams: ['project', 'family'], + pathParams: ['family', 'project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Creates instances with per-instance configurations in this managed instance - * group. Instances are created using the current instance template. Thecreate instances operation is marked DONE if thecreateInstances request is successful. The underlying actions - * take additional time. You must separately verify the status of thecreating or actions with the listmanagedinstances - * method. + * Gets the access control policy for a resource. May be empty if no such + * policy or resource exists. * @example * ```js * // Before running the sample: @@ -99207,6 +96688,7 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -99215,71 +96697,23 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instanceGroupManagers.createInstances({ - * // The name of the managed instance group. - * // It should conform to RFC1035. - * instanceGroupManager: 'placeholder-value', + * const res = await compute.images.getIamPolicy({ + * // Requested IAM Policy version. + * optionsRequestedPolicyVersion: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // 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). - * requestId: 'placeholder-value', - * // The name of thezone - * // where the managed instance group is located. - * // It should conform to RFC1035. - * zone: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "instances": [] - * // } - * }, + * // Name or id of the resource for this request. + * resource: '[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * }); * console.log(res.data); * * // Example response * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, - * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, - * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" + * // "auditConfigs": [], + * // "bindings": [], + * // "etag": "my_etag", + * // "version": 0 * // } * } * @@ -99295,53 +96729,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - createInstances( - params: Params$Resource$Instancegroupmanagers$Createinstances, + getIamPolicy( + params: Params$Resource$Images$Getiampolicy, options: StreamMethodOptions ): Promise>; - createInstances( - params?: Params$Resource$Instancegroupmanagers$Createinstances, + getIamPolicy( + params?: Params$Resource$Images$Getiampolicy, options?: MethodOptions - ): Promise>; - createInstances( - params: Params$Resource$Instancegroupmanagers$Createinstances, + ): Promise>; + getIamPolicy( + params: Params$Resource$Images$Getiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - createInstances( - params: Params$Resource$Instancegroupmanagers$Createinstances, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + getIamPolicy( + params: Params$Resource$Images$Getiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - createInstances( - params: Params$Resource$Instancegroupmanagers$Createinstances, - callback: BodyResponseCallback + getIamPolicy( + params: Params$Resource$Images$Getiampolicy, + callback: BodyResponseCallback ): void; - createInstances(callback: BodyResponseCallback): void; - createInstances( + getIamPolicy(callback: BodyResponseCallback): void; + getIamPolicy( paramsOrCallback?: - | Params$Resource$Instancegroupmanagers$Createinstances - | BodyResponseCallback + | Params$Resource$Images$Getiampolicy + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instancegroupmanagers$Createinstances; + {}) as Params$Resource$Images$Getiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instancegroupmanagers$Createinstances; + params = {} as Params$Resource$Images$Getiampolicy; options = {}; } @@ -99356,33 +96790,31 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/createInstances' + '/compute/alpha/projects/{project}/global/images/{resource}/getIamPolicy' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone', 'instanceGroupManager'], - pathParams: ['instanceGroupManager', 'project', 'zone'], + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * 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. + * Creates an image in the specified project using the data included + * in the request. * @example * ```js * // Before running the sample: @@ -99414,12 +96846,9 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instanceGroupManagers.delete({ - * // The name of the managed instance group to delete. - * instanceGroupManager: 'placeholder-value', - * // When set, graceful shutdown is skipped for instance deletion even if it's - * // configured for the instances. - * noGracefulShutdown: 'placeholder-value', + * const res = await compute.images.insert({ + * // Force image creation if true. + * forceCreate: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -99437,9 +96866,51 @@ export namespace compute_alpha { * // a valid UUID with the exception that zero UUID is not supported * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', - * // The name of thezone where the managed - * // instance group is located. - * zone: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "architecture": "my_architecture", + * // "archiveSizeBytes": "my_archiveSizeBytes", + * // "creationTimestamp": "my_creationTimestamp", + * // "deprecated": {}, + * // "description": "my_description", + * // "diskSizeGb": "my_diskSizeGb", + * // "enableConfidentialCompute": false, + * // "family": "my_family", + * // "guestOsFeatures": [], + * // "id": "my_id", + * // "imageEncryptionKey": {}, + * // "kind": "my_kind", + * // "labelFingerprint": "my_labelFingerprint", + * // "labels": {}, + * // "licenseCodes": [], + * // "licenses": [], + * // "locked": false, + * // "name": "my_name", + * // "params": {}, + * // "rawDisk": {}, + * // "rolloutOverride": {}, + * // "satisfiesPzi": false, + * // "satisfiesPzs": false, + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "shieldedInstanceInitialState": {}, + * // "sourceDisk": "my_sourceDisk", + * // "sourceDiskEncryptionKey": {}, + * // "sourceDiskId": "my_sourceDiskId", + * // "sourceImage": "my_sourceImage", + * // "sourceImageEncryptionKey": {}, + * // "sourceImageId": "my_sourceImageId", + * // "sourceSnapshot": "my_sourceSnapshot", + * // "sourceSnapshotEncryptionKey": {}, + * // "sourceSnapshotId": "my_sourceSnapshotId", + * // "sourceType": "my_sourceType", + * // "status": "my_status", + * // "storageLocations": [] + * // } + * }, * }); * console.log(res.data); * @@ -99488,32 +96959,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - delete( - params: Params$Resource$Instancegroupmanagers$Delete, + insert( + params: Params$Resource$Images$Insert, options: StreamMethodOptions ): Promise>; - delete( - params?: Params$Resource$Instancegroupmanagers$Delete, + insert( + params?: Params$Resource$Images$Insert, options?: MethodOptions ): Promise>; - delete( - params: Params$Resource$Instancegroupmanagers$Delete, + insert( + params: Params$Resource$Images$Insert, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Instancegroupmanagers$Delete, + insert( + params: Params$Resource$Images$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Instancegroupmanagers$Delete, + insert( + params: Params$Resource$Images$Insert, callback: BodyResponseCallback ): void; - delete(callback: BodyResponseCallback): void; - delete( + insert(callback: BodyResponseCallback): void; + insert( paramsOrCallback?: - | Params$Resource$Instancegroupmanagers$Delete + | Params$Resource$Images$Insert | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -99528,13 +96999,12 @@ export namespace compute_alpha { | void | Promise> | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Instancegroupmanagers$Delete; + let params = (paramsOrCallback || {}) as Params$Resource$Images$Insert; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instancegroupmanagers$Delete; + params = {} as Params$Resource$Images$Insert; options = {}; } @@ -99548,17 +97018,16 @@ export namespace compute_alpha { options: Object.assign( { url: ( - rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}' + rootUrl + '/compute/alpha/projects/{project}/global/images' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone', 'instanceGroupManager'], - pathParams: ['instanceGroupManager', 'project', 'zone'], + requiredParams: ['project'], + pathParams: ['project'], context: this.context, }; if (callback) { @@ -99572,21 +97041,13 @@ export namespace compute_alpha { } /** - * 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 thetargetSize 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 thelistmanagedinstances - * 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. + * 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. * @example * ```js * // Before running the sample: @@ -99610,6 +97071,7 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -99618,75 +97080,111 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instanceGroupManagers.deleteInstances({ - * // The name of the managed instance group. - * instanceGroupManager: 'placeholder-value', - * // When set, graceful shutdown is skipped for instance deletion even if it's - * // configured for the instances. - * noGracefulShutdown: 'placeholder-value', + * const res = await compute.images.list({ + * // A filter expression that filters resources listed in the response. Most + * // Compute resources support two types of filter expressions: + * // expressions that support regular expressions and expressions that follow + * // API improvement proposal AIP-160. + * // These two types of filter expressions cannot be mixed in one request. + * // + * // If you want to use AIP-160, your expression must specify the field name, an + * // operator, and the value that you want to use for filtering. The value + * // must be a string, a number, or a boolean. The operator + * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * // + * // For example, if you are filtering Compute Engine instances, you can + * // exclude instances named `example-instance` by specifying + * // `name != example-instance`. + * // + * // The `:*` comparison can be used to test whether a key has been defined. + * // For example, to find all objects with `owner` label use: + * // ``` + * // labels.owner:* + * // ``` + * // + * // You can also filter nested fields. For example, you could specify + * // `scheduling.automaticRestart = false` to include instances only + * // if they are not scheduled for automatic restarts. You can use filtering + * // on nested fields to filter based onresource labels. + * // + * // To filter on multiple expressions, provide each separate expression within + * // parentheses. For example: + * // ``` + * // (scheduling.automaticRestart = true) + * // (cpuPlatform = "Intel Skylake") + * // ``` + * // By default, each expression is an `AND` expression. However, you + * // can include `AND` and `OR` expressions explicitly. + * // For example: + * // ``` + * // (cpuPlatform = "Intel Skylake") OR + * // (cpuPlatform = "Intel Broadwell") AND + * // (scheduling.automaticRestart = true) + * // ``` + * // + * // If you want to use a regular expression, use the `eq` (equal) or `ne` + * // (not equal) operator against a single un-parenthesized expression with or + * // without quotes or against multiple parenthesized expressions. Examples: + * // + * // `fieldname eq unquoted literal` + * // `fieldname eq 'single quoted literal'` + * // `fieldname eq "double quoted literal"` + * // `(fieldname1 eq literal) (fieldname2 ne "literal")` + * // + * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * // The literal value must match the entire field. + * // + * // For example, to filter for instances that do not end with name "instance", + * // you would use `name ne .*instance`. + * // + * // You cannot combine constraints on multiple fields using regular + * // expressions. + * filter: 'placeholder-value', + * // The maximum number of results per page that should be returned. + * // If the number of available results is larger than `maxResults`, + * // Compute Engine returns a `nextPageToken` that can be used to get + * // the next page of results in subsequent list requests. Acceptable values are + * // `0` to `500`, inclusive. (Default: `500`) + * maxResults: 'placeholder-value', + * // Sorts list results by a certain order. By default, results + * // are returned in alphanumerical order based on the resource name. + * // + * // You can also sort results in descending order based on the creation + * // timestamp using `orderBy="creationTimestamp desc"`. This sorts + * // results based on the `creationTimestamp` field in + * // reverse chronological order (newest result first). Use this to sort + * // resources like operations so that the newest operation is returned first. + * // + * // Currently, only sorting by `name` or + * // `creationTimestamp desc` is supported. + * orderBy: 'placeholder-value', + * // Specifies a page token to use. Set `pageToken` to the + * // `nextPageToken` returned by a previous list request to get + * // the next page of results. + * pageToken: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. + * // Opt-in for partial success behavior which provides partial results in case + * // of failure. The default value is false. * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * // The name of thezone where the managed - * // instance group is located. - * zone: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "instanceNames": [], - * // "instances": [], - * // "skipInstancesOnValidationError": false - * // } - * }, + * // For example, when partial success behavior is enabled, aggregatedList for a + * // single zone scope either returns all resources in the zone or no resources, + * // with an error code. + * returnPartialSuccess: 'placeholder-value', + * // The zone query parameter. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * }); * console.log(res.data); * * // Example response * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, + * // "items": [], * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", + * // "nextPageToken": "my_nextPageToken", * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" + * // "warning": {} * // } * } * @@ -99702,53 +97200,52 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - deleteInstances( - params: Params$Resource$Instancegroupmanagers$Deleteinstances, + list( + params: Params$Resource$Images$List, options: StreamMethodOptions ): Promise>; - deleteInstances( - params?: Params$Resource$Instancegroupmanagers$Deleteinstances, + list( + params?: Params$Resource$Images$List, options?: MethodOptions - ): Promise>; - deleteInstances( - params: Params$Resource$Instancegroupmanagers$Deleteinstances, + ): Promise>; + list( + params: Params$Resource$Images$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - deleteInstances( - params: Params$Resource$Instancegroupmanagers$Deleteinstances, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + list( + params: Params$Resource$Images$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - deleteInstances( - params: Params$Resource$Instancegroupmanagers$Deleteinstances, - callback: BodyResponseCallback + list( + params: Params$Resource$Images$List, + callback: BodyResponseCallback ): void; - deleteInstances(callback: BodyResponseCallback): void; - deleteInstances( + list(callback: BodyResponseCallback): void; + list( paramsOrCallback?: - | Params$Resource$Instancegroupmanagers$Deleteinstances - | BodyResponseCallback + | Params$Resource$Images$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Instancegroupmanagers$Deleteinstances; + let params = (paramsOrCallback || {}) as Params$Resource$Images$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instancegroupmanagers$Deleteinstances; + params = {} as Params$Resource$Images$List; options = {}; } @@ -99762,32 +97259,32 @@ export namespace compute_alpha { options: Object.assign( { url: ( - rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/deleteInstances' + rootUrl + '/compute/alpha/projects/{project}/global/images' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone', 'instanceGroupManager'], - pathParams: ['instanceGroupManager', 'project', 'zone'], + requiredParams: ['project'], + pathParams: ['project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Deletes selected per-instance configurations for the managed instance - * group. + * Patches the specified image with the data included in the request. + * Only the following fields can be modified: family, description, + * deprecation status. * @example * ```js * // Before running the sample: @@ -99819,24 +97316,69 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instanceGroupManagers.deletePerInstanceConfigs({ - * // The name of the managed instance group. - * // It should conform to RFC1035. - * instanceGroupManager: 'placeholder-value', + * const res = await compute.images.patch({ + * // Name of the image resource to patch. + * image: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // The name of thezone - * // where the managed instance - * // group is located. - * // It should conform to RFC1035. - * zone: 'placeholder-value', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', * * // Request body metadata * requestBody: { * // request body parameters * // { - * // "names": [] + * // "architecture": "my_architecture", + * // "archiveSizeBytes": "my_archiveSizeBytes", + * // "creationTimestamp": "my_creationTimestamp", + * // "deprecated": {}, + * // "description": "my_description", + * // "diskSizeGb": "my_diskSizeGb", + * // "enableConfidentialCompute": false, + * // "family": "my_family", + * // "guestOsFeatures": [], + * // "id": "my_id", + * // "imageEncryptionKey": {}, + * // "kind": "my_kind", + * // "labelFingerprint": "my_labelFingerprint", + * // "labels": {}, + * // "licenseCodes": [], + * // "licenses": [], + * // "locked": false, + * // "name": "my_name", + * // "params": {}, + * // "rawDisk": {}, + * // "rolloutOverride": {}, + * // "satisfiesPzi": false, + * // "satisfiesPzs": false, + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "shieldedInstanceInitialState": {}, + * // "sourceDisk": "my_sourceDisk", + * // "sourceDiskEncryptionKey": {}, + * // "sourceDiskId": "my_sourceDiskId", + * // "sourceImage": "my_sourceImage", + * // "sourceImageEncryptionKey": {}, + * // "sourceImageId": "my_sourceImageId", + * // "sourceSnapshot": "my_sourceSnapshot", + * // "sourceSnapshotEncryptionKey": {}, + * // "sourceSnapshotId": "my_sourceSnapshotId", + * // "sourceType": "my_sourceType", + * // "status": "my_status", + * // "storageLocations": [] * // } * }, * }); @@ -99887,34 +97429,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - deletePerInstanceConfigs( - params: Params$Resource$Instancegroupmanagers$Deleteperinstanceconfigs, + patch( + params: Params$Resource$Images$Patch, options: StreamMethodOptions ): Promise>; - deletePerInstanceConfigs( - params?: Params$Resource$Instancegroupmanagers$Deleteperinstanceconfigs, + patch( + params?: Params$Resource$Images$Patch, options?: MethodOptions ): Promise>; - deletePerInstanceConfigs( - params: Params$Resource$Instancegroupmanagers$Deleteperinstanceconfigs, + patch( + params: Params$Resource$Images$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - deletePerInstanceConfigs( - params: Params$Resource$Instancegroupmanagers$Deleteperinstanceconfigs, + patch( + params: Params$Resource$Images$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - deletePerInstanceConfigs( - params: Params$Resource$Instancegroupmanagers$Deleteperinstanceconfigs, - callback: BodyResponseCallback - ): void; - deletePerInstanceConfigs( + patch( + params: Params$Resource$Images$Patch, callback: BodyResponseCallback ): void; - deletePerInstanceConfigs( + patch(callback: BodyResponseCallback): void; + patch( paramsOrCallback?: - | Params$Resource$Instancegroupmanagers$Deleteperinstanceconfigs + | Params$Resource$Images$Patch | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -99929,14 +97469,12 @@ export namespace compute_alpha { | void | Promise> | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Instancegroupmanagers$Deleteperinstanceconfigs; + let params = (paramsOrCallback || {}) as Params$Resource$Images$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Instancegroupmanagers$Deleteperinstanceconfigs; + params = {} as Params$Resource$Images$Patch; options = {}; } @@ -99951,16 +97489,16 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/deletePerInstanceConfigs' + '/compute/alpha/projects/{project}/global/images/{image}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'PATCH', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone', 'instanceGroupManager'], - pathParams: ['instanceGroupManager', 'project', 'zone'], + requiredParams: ['project', 'image'], + pathParams: ['image', 'project'], context: this.context, }; if (callback) { @@ -99974,7 +97512,8 @@ export namespace compute_alpha { } /** - * Returns all of the details about the specified managed instance group. + * Sets the access control policy on the specified resource. + * Replaces any existing policy. * @example * ```js * // Before running the sample: @@ -99998,7 +97537,6 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -100007,59 +97545,31 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instanceGroupManagers.get({ - * // The name of the managed instance group. - * instanceGroupManager: 'placeholder-value', + * const res = await compute.images.setIamPolicy({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // The name of thezone where the managed - * // instance group is located. - * zone: 'placeholder-value', + * // Name or id of the resource for this request. + * resource: '[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "bindings": [], + * // "etag": "my_etag", + * // "policy": {} + * // } + * }, * }); * console.log(res.data); * * // Example response * // { - * // "allInstancesConfig": {}, - * // "autoHealingPolicies": [], - * // "baseInstanceName": "my_baseInstanceName", - * // "creationTimestamp": "my_creationTimestamp", - * // "currentActions": {}, - * // "description": "my_description", - * // "distributionPolicy": {}, - * // "failoverAction": "my_failoverAction", - * // "fingerprint": "my_fingerprint", - * // "id": "my_id", - * // "instanceFlexibilityPolicy": {}, - * // "instanceGroup": "my_instanceGroup", - * // "instanceLifecyclePolicy": {}, - * // "instanceTemplate": "my_instanceTemplate", - * // "kind": "my_kind", - * // "listManagedInstancesResults": "my_listManagedInstancesResults", - * // "multiMig": "my_multiMig", - * // "name": "my_name", - * // "namedPorts": [], - * // "params": {}, - * // "region": "my_region", - * // "resourcePolicies": {}, - * // "satisfiesPzi": false, - * // "satisfiesPzs": false, - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "serviceAccount": "my_serviceAccount", - * // "standbyPolicy": {}, - * // "statefulPolicy": {}, - * // "status": {}, - * // "targetPools": [], - * // "targetSize": 0, - * // "targetSizePolicy": {}, - * // "targetSizeUnit": "my_targetSizeUnit", - * // "targetStoppedSize": 0, - * // "targetSuspendedSize": 0, - * // "updatePolicy": {}, - * // "versions": [], - * // "zone": "my_zone" + * // "auditConfigs": [], + * // "bindings": [], + * // "etag": "my_etag", + * // "version": 0 * // } * } * @@ -100075,55 +97585,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - get( - params: Params$Resource$Instancegroupmanagers$Get, + setIamPolicy( + params: Params$Resource$Images$Setiampolicy, options: StreamMethodOptions ): Promise>; - get( - params?: Params$Resource$Instancegroupmanagers$Get, + setIamPolicy( + params?: Params$Resource$Images$Setiampolicy, options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Instancegroupmanagers$Get, + ): Promise>; + setIamPolicy( + params: Params$Resource$Images$Setiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Instancegroupmanagers$Get, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + setIamPolicy( + params: Params$Resource$Images$Setiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Instancegroupmanagers$Get, - callback: BodyResponseCallback + setIamPolicy( + params: Params$Resource$Images$Setiampolicy, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; - get( + setIamPolicy(callback: BodyResponseCallback): void; + setIamPolicy( paramsOrCallback?: - | Params$Resource$Instancegroupmanagers$Get - | BodyResponseCallback + | Params$Resource$Images$Setiampolicy + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instancegroupmanagers$Get; + {}) as Params$Resource$Images$Setiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instancegroupmanagers$Get; + params = {} as Params$Resource$Images$Setiampolicy; options = {}; } @@ -100138,30 +97646,31 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}' + '/compute/alpha/projects/{project}/global/images/{resource}/setIamPolicy' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone', 'instanceGroupManager'], - pathParams: ['instanceGroupManager', 'project', 'zone'], + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Returns information about available accelerator topologies for a given MIG. + * Sets the labels on an image. To learn more about labels, read theLabeling + * Resources documentation. * @example * ```js * // Before running the sample: @@ -100185,7 +97694,6 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -100194,25 +97702,54 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = - * await compute.instanceGroupManagers.getAvailableAcceleratorTopologies({ - * // Required. Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Required. The name of the managed instance group. - * // It should conform to RFC1035. - * resourceId: 'placeholder-value', - * // Required. The name of thezone where the managed - * // instance group is located. - * // Name should conform to RFC1035. - * zone: 'placeholder-value', - * }); + * const res = await compute.images.setLabels({ + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Name or id of the resource for this request. + * resource: '[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "labelFingerprint": "my_labelFingerprint", + * // "labels": {} + * // } + * }, + * }); * console.log(res.data); * * // Example response * // { - * // "acceleratorTopologiesInfo": {}, - * // "multiMig": "my_multiMig" + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" * // } * } * @@ -100228,62 +97765,52 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - getAvailableAcceleratorTopologies( - params: Params$Resource$Instancegroupmanagers$Getavailableacceleratortopologies, + setLabels( + params: Params$Resource$Images$Setlabels, options: StreamMethodOptions ): Promise>; - getAvailableAcceleratorTopologies( - params?: Params$Resource$Instancegroupmanagers$Getavailableacceleratortopologies, + setLabels( + params?: Params$Resource$Images$Setlabels, options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; - getAvailableAcceleratorTopologies( - params: Params$Resource$Instancegroupmanagers$Getavailableacceleratortopologies, + ): Promise>; + setLabels( + params: Params$Resource$Images$Setlabels, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - getAvailableAcceleratorTopologies( - params: Params$Resource$Instancegroupmanagers$Getavailableacceleratortopologies, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - getAvailableAcceleratorTopologies( - params: Params$Resource$Instancegroupmanagers$Getavailableacceleratortopologies, - callback: BodyResponseCallback + setLabels( + params: Params$Resource$Images$Setlabels, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - getAvailableAcceleratorTopologies( - callback: BodyResponseCallback + setLabels( + params: Params$Resource$Images$Setlabels, + callback: BodyResponseCallback ): void; - getAvailableAcceleratorTopologies( + setLabels(callback: BodyResponseCallback): void; + setLabels( paramsOrCallback?: - | Params$Resource$Instancegroupmanagers$Getavailableacceleratortopologies - | BodyResponseCallback + | Params$Resource$Images$Setlabels + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise< - GaxiosResponseWithHTTP2 - > + | Promise> | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Instancegroupmanagers$Getavailableacceleratortopologies; + let params = (paramsOrCallback || {}) as Params$Resource$Images$Setlabels; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Instancegroupmanagers$Getavailableacceleratortopologies; + params = {} as Params$Resource$Images$Setlabels; options = {}; } @@ -100298,42 +97825,30 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{resourceId}/getAvailableAcceleratorTopologies' + '/compute/alpha/projects/{project}/global/images/{resource}/setLabels' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone', 'resourceId'], - pathParams: ['project', 'resourceId', 'zone'], + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } /** - * 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 thelistmanagedinstances - * 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. + * Returns permissions that a caller has on the specified resource. * @example * ```js * // Before running the sample: @@ -100357,6 +97872,7 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -100365,71 +97881,18 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instanceGroupManagers.insert({ + * const res = await compute.images.testIamPermissions({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. - * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * // The name of the zone - * // where you want to create the managed instance group. - * zone: 'placeholder-value', + * // Name or id of the resource for this request. + * resource: '[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * * // Request body metadata * requestBody: { * // request body parameters * // { - * // "allInstancesConfig": {}, - * // "autoHealingPolicies": [], - * // "baseInstanceName": "my_baseInstanceName", - * // "creationTimestamp": "my_creationTimestamp", - * // "currentActions": {}, - * // "description": "my_description", - * // "distributionPolicy": {}, - * // "failoverAction": "my_failoverAction", - * // "fingerprint": "my_fingerprint", - * // "id": "my_id", - * // "instanceFlexibilityPolicy": {}, - * // "instanceGroup": "my_instanceGroup", - * // "instanceLifecyclePolicy": {}, - * // "instanceTemplate": "my_instanceTemplate", - * // "kind": "my_kind", - * // "listManagedInstancesResults": "my_listManagedInstancesResults", - * // "multiMig": "my_multiMig", - * // "name": "my_name", - * // "namedPorts": [], - * // "params": {}, - * // "region": "my_region", - * // "resourcePolicies": {}, - * // "satisfiesPzi": false, - * // "satisfiesPzs": false, - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "serviceAccount": "my_serviceAccount", - * // "standbyPolicy": {}, - * // "statefulPolicy": {}, - * // "status": {}, - * // "targetPools": [], - * // "targetSize": 0, - * // "targetSizePolicy": {}, - * // "targetSizeUnit": "my_targetSizeUnit", - * // "targetStoppedSize": 0, - * // "targetSuspendedSize": 0, - * // "updatePolicy": {}, - * // "versions": [], - * // "zone": "my_zone" + * // "permissions": [] * // } * }, * }); @@ -100437,34 +97900,7 @@ export namespace compute_alpha { * * // Example response * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, - * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, - * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" + * // "permissions": [] * // } * } * @@ -100480,53 +97916,57 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - insert( - params: Params$Resource$Instancegroupmanagers$Insert, + testIamPermissions( + params: Params$Resource$Images$Testiampermissions, options: StreamMethodOptions ): Promise>; - insert( - params?: Params$Resource$Instancegroupmanagers$Insert, + testIamPermissions( + params?: Params$Resource$Images$Testiampermissions, options?: MethodOptions - ): Promise>; - insert( - params: Params$Resource$Instancegroupmanagers$Insert, + ): Promise>; + testIamPermissions( + params: Params$Resource$Images$Testiampermissions, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - insert( - params: Params$Resource$Instancegroupmanagers$Insert, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + testIamPermissions( + params: Params$Resource$Images$Testiampermissions, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - insert( - params: Params$Resource$Instancegroupmanagers$Insert, - callback: BodyResponseCallback + testIamPermissions( + params: Params$Resource$Images$Testiampermissions, + callback: BodyResponseCallback ): void; - insert(callback: BodyResponseCallback): void; - insert( + testIamPermissions( + callback: BodyResponseCallback + ): void; + testIamPermissions( paramsOrCallback?: - | Params$Resource$Instancegroupmanagers$Insert - | BodyResponseCallback + | Params$Resource$Images$Testiampermissions + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instancegroupmanagers$Insert; + {}) as Params$Resource$Images$Testiampermissions; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instancegroupmanagers$Insert; + params = {} as Params$Resource$Images$Testiampermissions; options = {}; } @@ -100541,7 +97981,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers' + '/compute/alpha/projects/{project}/global/images/{resource}/testIamPermissions' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -100549,23 +97989,338 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'zone'], - pathParams: ['project', 'zone'], + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } + } + export interface Params$Resource$Images$Delete extends StandardParameters { /** - * Retrieves a list of managed instance groups that are contained within the - * specified project and zone. + * Name of the image resource to delete. + */ + image?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + export interface Params$Resource$Images$Deprecate extends StandardParameters { + /** + * Image name. + */ + image?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$DeprecationStatus; + } + export interface Params$Resource$Images$Get extends StandardParameters { + /** + * Name of the image resource to return. + */ + image?: string; + /** + * Project ID for this request. + */ + project?: string; + } + export interface Params$Resource$Images$Getfromfamily extends StandardParameters { + /** + * Name of the image family to search for. + */ + family?: string; + /** + * The image project that the image belongs to. For example, to get a CentOS + * image, specify centos-cloud as the image project. + */ + project?: string; + } + export interface Params$Resource$Images$Getiampolicy extends StandardParameters { + /** + * Requested IAM Policy version. + */ + optionsRequestedPolicyVersion?: number; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; + } + export interface Params$Resource$Images$Insert extends StandardParameters { + /** + * Force image creation if true. + */ + forceCreate?: boolean; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Image; + } + export interface Params$Resource$Images$List extends StandardParameters { + /** + * A filter expression that filters resources listed in the response. Most + * Compute resources support two types of filter expressions: + * expressions that support regular expressions and expressions that follow + * API improvement proposal AIP-160. + * These two types of filter expressions cannot be mixed in one request. + * + * If you want to use AIP-160, your expression must specify the field name, an + * operator, and the value that you want to use for filtering. The value + * must be a string, a number, or a boolean. The operator + * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * + * For example, if you are filtering Compute Engine instances, you can + * exclude instances named `example-instance` by specifying + * `name != example-instance`. + * + * The `:*` comparison can be used to test whether a key has been defined. + * For example, to find all objects with `owner` label use: + * ``` + * labels.owner:* + * ``` + * + * You can also filter nested fields. For example, you could specify + * `scheduling.automaticRestart = false` to include instances only + * if they are not scheduled for automatic restarts. You can use filtering + * on nested fields to filter based onresource labels. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example: + * ``` + * (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake") + * ``` + * By default, each expression is an `AND` expression. However, you + * can include `AND` and `OR` expressions explicitly. + * For example: + * ``` + * (cpuPlatform = "Intel Skylake") OR + * (cpuPlatform = "Intel Broadwell") AND + * (scheduling.automaticRestart = true) + * ``` + * + * If you want to use a regular expression, use the `eq` (equal) or `ne` + * (not equal) operator against a single un-parenthesized expression with or + * without quotes or against multiple parenthesized expressions. Examples: + * + * `fieldname eq unquoted literal` + * `fieldname eq 'single quoted literal'` + * `fieldname eq "double quoted literal"` + * `(fieldname1 eq literal) (fieldname2 ne "literal")` + * + * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * The literal value must match the entire field. + * + * For example, to filter for instances that do not end with name "instance", + * you would use `name ne .*instance`. + * + * You cannot combine constraints on multiple fields using regular + * expressions. + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. + * If the number of available results is larger than `maxResults`, + * Compute Engine returns a `nextPageToken` that can be used to get + * the next page of results in subsequent list requests. Acceptable values are + * `0` to `500`, inclusive. (Default: `500`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results + * are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation + * timestamp using `orderBy="creationTimestamp desc"`. This sorts + * results based on the `creationTimestamp` field in + * reverse chronological order (newest result first). Use this to sort + * resources like operations so that the newest operation is returned first. + * + * Currently, only sorting by `name` or + * `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the + * `nextPageToken` returned by a previous list request to get + * the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Opt-in for partial success behavior which provides partial results in case + * of failure. The default value is false. + * + * For example, when partial success behavior is enabled, aggregatedList for a + * single zone scope either returns all resources in the zone or no resources, + * with an error code. + */ + returnPartialSuccess?: boolean; + /** + * The zone query parameter. + */ + zone?: string; + } + export interface Params$Resource$Images$Patch extends StandardParameters { + /** + * Name of the image resource to patch. + */ + image?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Image; + } + export interface Params$Resource$Images$Setiampolicy extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GlobalSetPolicyRequest; + } + export interface Params$Resource$Images$Setlabels extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GlobalSetLabelsRequest; + } + export interface Params$Resource$Images$Testiampermissions extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + + export class Resource$Imageviews { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Returns the specified global ImageView resource, with a regional + * context. * @example * ```js * // Before running the sample: @@ -100598,112 +98353,20 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instanceGroupManagers.list({ - * // A filter expression that filters resources listed in the response. Most - * // Compute resources support two types of filter expressions: - * // expressions that support regular expressions and expressions that follow - * // API improvement proposal AIP-160. - * // These two types of filter expressions cannot be mixed in one request. - * // - * // If you want to use AIP-160, your expression must specify the field name, an - * // operator, and the value that you want to use for filtering. The value - * // must be a string, a number, or a boolean. The operator - * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * // - * // For example, if you are filtering Compute Engine instances, you can - * // exclude instances named `example-instance` by specifying - * // `name != example-instance`. - * // - * // The `:*` comparison can be used to test whether a key has been defined. - * // For example, to find all objects with `owner` label use: - * // ``` - * // labels.owner:* - * // ``` - * // - * // You can also filter nested fields. For example, you could specify - * // `scheduling.automaticRestart = false` to include instances only - * // if they are not scheduled for automatic restarts. You can use filtering - * // on nested fields to filter based onresource labels. - * // - * // To filter on multiple expressions, provide each separate expression within - * // parentheses. For example: - * // ``` - * // (scheduling.automaticRestart = true) - * // (cpuPlatform = "Intel Skylake") - * // ``` - * // By default, each expression is an `AND` expression. However, you - * // can include `AND` and `OR` expressions explicitly. - * // For example: - * // ``` - * // (cpuPlatform = "Intel Skylake") OR - * // (cpuPlatform = "Intel Broadwell") AND - * // (scheduling.automaticRestart = true) - * // ``` - * // - * // If you want to use a regular expression, use the `eq` (equal) or `ne` - * // (not equal) operator against a single un-parenthesized expression with or - * // without quotes or against multiple parenthesized expressions. Examples: - * // - * // `fieldname eq unquoted literal` - * // `fieldname eq 'single quoted literal'` - * // `fieldname eq "double quoted literal"` - * // `(fieldname1 eq literal) (fieldname2 ne "literal")` - * // - * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * // The literal value must match the entire field. - * // - * // For example, to filter for instances that do not end with name "instance", - * // you would use `name ne .*instance`. - * // - * // You cannot combine constraints on multiple fields using regular - * // expressions. - * filter: 'placeholder-value', - * // The maximum number of results per page that should be returned. - * // If the number of available results is larger than `maxResults`, - * // Compute Engine returns a `nextPageToken` that can be used to get - * // the next page of results in subsequent list requests. Acceptable values are - * // `0` to `500`, inclusive. (Default: `500`) - * maxResults: 'placeholder-value', - * // Sorts list results by a certain order. By default, results - * // are returned in alphanumerical order based on the resource name. - * // - * // You can also sort results in descending order based on the creation - * // timestamp using `orderBy="creationTimestamp desc"`. This sorts - * // results based on the `creationTimestamp` field in - * // reverse chronological order (newest result first). Use this to sort - * // resources like operations so that the newest operation is returned first. - * // - * // Currently, only sorting by `name` or - * // `creationTimestamp desc` is supported. - * orderBy: 'placeholder-value', - * // Specifies a page token to use. Set `pageToken` to the - * // `nextPageToken` returned by a previous list request to get - * // the next page of results. - * pageToken: 'placeholder-value', - * // Project ID for this request. + * const res = await compute.imageViews.get({ + * // Required. Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Opt-in for partial success behavior which provides partial results in case - * // of failure. The default value is false. - * // - * // For example, when partial success behavior is enabled, aggregatedList for a - * // single zone scope either returns all resources in the zone or no resources, - * // with an error code. - * returnPartialSuccess: 'placeholder-value', - * // The name of thezone where the managed - * // instance group is located. - * zone: 'placeholder-value', + * // Required. Name of the region for this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * // Name of the image resource to return. + * resourceId: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * }); * console.log(res.data); * * // Example response * // { - * // "id": "my_id", - * // "items": [], - * // "kind": "my_kind", - * // "nextPageToken": "my_nextPageToken", - * // "selfLink": "my_selfLink", - * // "warning": {} + * // "image": {} * // } * } * @@ -100719,55 +98382,52 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - list( - params: Params$Resource$Instancegroupmanagers$List, + get( + params: Params$Resource$Imageviews$Get, options: StreamMethodOptions ): Promise>; - list( - params?: Params$Resource$Instancegroupmanagers$List, + get( + params?: Params$Resource$Imageviews$Get, options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Instancegroupmanagers$List, + ): Promise>; + get( + params: Params$Resource$Imageviews$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Instancegroupmanagers$List, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + get( + params: Params$Resource$Imageviews$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Instancegroupmanagers$List, - callback: BodyResponseCallback + get( + params: Params$Resource$Imageviews$Get, + callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; - list( + get(callback: BodyResponseCallback): void; + get( paramsOrCallback?: - | Params$Resource$Instancegroupmanagers$List - | BodyResponseCallback + | Params$Resource$Imageviews$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Instancegroupmanagers$List; + let params = (paramsOrCallback || {}) as Params$Resource$Imageviews$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instancegroupmanagers$List; + params = {} as Params$Resource$Imageviews$Get; options = {}; } @@ -100782,7 +98442,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers' + '/compute/alpha/projects/{project}/regions/{region}/imageViews/{resourceId}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -100790,24 +98450,23 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'zone'], - pathParams: ['project', 'zone'], + requiredParams: ['project', 'region', 'resourceId'], + pathParams: ['project', 'region', 'resourceId'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Lists all errors thrown by actions on instances for a given managed - * instance group. The filter and orderBy query - * parameters are not supported. + * Returns a list of global ImageView resources, with a regional + * context. * @example * ```js * // Before running the sample: @@ -100840,7 +98499,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instanceGroupManagers.listErrors({ + * const res = await compute.imageViews.list({ * // A filter expression that filters resources listed in the response. Most * // Compute resources support two types of filter expressions: * // expressions that support regular expressions and expressions that follow @@ -100900,11 +98559,6 @@ export namespace compute_alpha { * // You cannot combine constraints on multiple fields using regular * // expressions. * filter: 'placeholder-value', - * // 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\}. - * instanceGroupManager: 'placeholder-value', * // The maximum number of results per page that should be returned. * // If the number of available results is larger than `maxResults`, * // Compute Engine returns a `nextPageToken` that can be used to get @@ -100927,9 +98581,11 @@ export namespace compute_alpha { * // `nextPageToken` returned by a previous list request to get * // the next page of results. * pageToken: 'placeholder-value', - * // Project ID for this request. + * // Required. Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Required. Name of the region for this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * // Opt-in for partial success behavior which provides partial results in case * // of failure. The default value is false. * // @@ -100937,17 +98593,19 @@ export namespace compute_alpha { * // single zone scope either returns all resources in the zone or no resources, * // with an error code. * returnPartialSuccess: 'placeholder-value', - * // The name of thezone where the managed - * // instance group is located. - * // It should conform to RFC1035. - * zone: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { + * // "etag": "my_etag", + * // "id": "my_id", * // "items": [], - * // "nextPageToken": "my_nextPageToken" + * // "kind": "my_kind", + * // "nextPageToken": "my_nextPageToken", + * // "selfLink": "my_selfLink", + * // "unreachables": [], + * // "warning": {} * // } * } * @@ -100963,61 +98621,54 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - listErrors( - params: Params$Resource$Instancegroupmanagers$Listerrors, + list( + params: Params$Resource$Imageviews$List, options: StreamMethodOptions ): Promise>; - listErrors( - params?: Params$Resource$Instancegroupmanagers$Listerrors, + list( + params?: Params$Resource$Imageviews$List, options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; - listErrors( - params: Params$Resource$Instancegroupmanagers$Listerrors, + ): Promise>; + list( + params: Params$Resource$Imageviews$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - listErrors( - params: Params$Resource$Instancegroupmanagers$Listerrors, + list( + params: Params$Resource$Imageviews$List, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - listErrors( - params: Params$Resource$Instancegroupmanagers$Listerrors, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - listErrors( - callback: BodyResponseCallback + list( + params: Params$Resource$Imageviews$List, + callback: BodyResponseCallback ): void; - listErrors( + list(callback: BodyResponseCallback): void; + list( paramsOrCallback?: - | Params$Resource$Instancegroupmanagers$Listerrors - | BodyResponseCallback + | Params$Resource$Imageviews$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise< - GaxiosResponseWithHTTP2 - > + | Promise> | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Instancegroupmanagers$Listerrors; + let params = (paramsOrCallback || {}) as Params$Resource$Imageviews$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instancegroupmanagers$Listerrors; + params = {} as Params$Resource$Imageviews$List; options = {}; } @@ -101032,7 +98683,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/listErrors' + '/compute/alpha/projects/{project}/regions/{region}/imageViews' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -101040,280 +98691,155 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'zone', 'instanceGroupManager'], - pathParams: ['instanceGroupManager', 'project', 'zone'], + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } + } + export interface Params$Resource$Imageviews$Get extends StandardParameters { /** - * 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`. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/compute.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` + * Required. Project ID for this request. + */ + project?: string; + /** + * Required. Name of the region for this request. + */ + region?: string; + /** + * Name of the image resource to return. + */ + resourceId?: string; + } + export interface Params$Resource$Imageviews$List extends StandardParameters { + /** + * A filter expression that filters resources listed in the response. Most + * Compute resources support two types of filter expressions: + * expressions that support regular expressions and expressions that follow + * API improvement proposal AIP-160. + * These two types of filter expressions cannot be mixed in one request. * - * const {google} = require('googleapis'); - * const compute = google.compute('alpha'); + * If you want to use AIP-160, your expression must specify the field name, an + * operator, and the value that you want to use for filtering. The value + * must be a string, a number, or a boolean. The operator + * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/cloud-platform', - * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', - * ], - * }); + * For example, if you are filtering Compute Engine instances, you can + * exclude instances named `example-instance` by specifying + * `name != example-instance`. * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); + * The `:*` comparison can be used to test whether a key has been defined. + * For example, to find all objects with `owner` label use: + * ``` + * labels.owner:* + * ``` * - * // Do the magic - * const res = await compute.instanceGroupManagers.listManagedInstances({ - * // A filter expression that filters resources listed in the response. Most - * // Compute resources support two types of filter expressions: - * // expressions that support regular expressions and expressions that follow - * // API improvement proposal AIP-160. - * // These two types of filter expressions cannot be mixed in one request. - * // - * // If you want to use AIP-160, your expression must specify the field name, an - * // operator, and the value that you want to use for filtering. The value - * // must be a string, a number, or a boolean. The operator - * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * // - * // For example, if you are filtering Compute Engine instances, you can - * // exclude instances named `example-instance` by specifying - * // `name != example-instance`. - * // - * // The `:*` comparison can be used to test whether a key has been defined. - * // For example, to find all objects with `owner` label use: - * // ``` - * // labels.owner:* - * // ``` - * // - * // You can also filter nested fields. For example, you could specify - * // `scheduling.automaticRestart = false` to include instances only - * // if they are not scheduled for automatic restarts. You can use filtering - * // on nested fields to filter based onresource labels. - * // - * // To filter on multiple expressions, provide each separate expression within - * // parentheses. For example: - * // ``` - * // (scheduling.automaticRestart = true) - * // (cpuPlatform = "Intel Skylake") - * // ``` - * // By default, each expression is an `AND` expression. However, you - * // can include `AND` and `OR` expressions explicitly. - * // For example: - * // ``` - * // (cpuPlatform = "Intel Skylake") OR - * // (cpuPlatform = "Intel Broadwell") AND - * // (scheduling.automaticRestart = true) - * // ``` - * // - * // If you want to use a regular expression, use the `eq` (equal) or `ne` - * // (not equal) operator against a single un-parenthesized expression with or - * // without quotes or against multiple parenthesized expressions. Examples: - * // - * // `fieldname eq unquoted literal` - * // `fieldname eq 'single quoted literal'` - * // `fieldname eq "double quoted literal"` - * // `(fieldname1 eq literal) (fieldname2 ne "literal")` - * // - * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * // The literal value must match the entire field. - * // - * // For example, to filter for instances that do not end with name "instance", - * // you would use `name ne .*instance`. - * // - * // You cannot combine constraints on multiple fields using regular - * // expressions. - * filter: 'placeholder-value', - * // The name of the managed instance group. - * instanceGroupManager: 'placeholder-value', - * // The maximum number of results per page that should be returned. - * // If the number of available results is larger than `maxResults`, - * // Compute Engine returns a `nextPageToken` that can be used to get - * // the next page of results in subsequent list requests. Acceptable values are - * // `0` to `500`, inclusive. (Default: `500`) - * maxResults: 'placeholder-value', - * // Sorts list results by a certain order. By default, results - * // are returned in alphanumerical order based on the resource name. - * // - * // You can also sort results in descending order based on the creation - * // timestamp using `orderBy="creationTimestamp desc"`. This sorts - * // results based on the `creationTimestamp` field in - * // reverse chronological order (newest result first). Use this to sort - * // resources like operations so that the newest operation is returned first. - * // - * // Currently, only sorting by `name` or - * // `creationTimestamp desc` is supported. - * orderBy: 'placeholder-value', - * // Specifies a page token to use. Set `pageToken` to the - * // `nextPageToken` returned by a previous list request to get - * // the next page of results. - * pageToken: 'placeholder-value', - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Opt-in for partial success behavior which provides partial results in case - * // of failure. The default value is false. - * // - * // For example, when partial success behavior is enabled, aggregatedList for a - * // single zone scope either returns all resources in the zone or no resources, - * // with an error code. - * returnPartialSuccess: 'placeholder-value', - * // The name of thezone where the managed - * // instance group is located. - * zone: 'placeholder-value', - * }); - * console.log(res.data); + * You can also filter nested fields. For example, you could specify + * `scheduling.automaticRestart = false` to include instances only + * if they are not scheduled for automatic restarts. You can use filtering + * on nested fields to filter based onresource labels. * - * // Example response - * // { - * // "managedInstances": [], - * // "nextPageToken": "my_nextPageToken" - * // } - * } + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example: + * ``` + * (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake") + * ``` + * By default, each expression is an `AND` expression. However, you + * can include `AND` and `OR` expressions explicitly. + * For example: + * ``` + * (cpuPlatform = "Intel Skylake") OR + * (cpuPlatform = "Intel Broadwell") AND + * (scheduling.automaticRestart = true) + * ``` * - * main().catch(e => { - * console.error(e); - * throw e; - * }); + * If you want to use a regular expression, use the `eq` (equal) or `ne` + * (not equal) operator against a single un-parenthesized expression with or + * without quotes or against multiple parenthesized expressions. Examples: * - * ``` + * `fieldname eq unquoted literal` + * `fieldname eq 'single quoted literal'` + * `fieldname eq "double quoted literal"` + * `(fieldname1 eq literal) (fieldname2 ne "literal")` * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. + * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * The literal value must match the entire field. + * + * For example, to filter for instances that do not end with name "instance", + * you would use `name ne .*instance`. + * + * You cannot combine constraints on multiple fields using regular + * expressions. */ - listManagedInstances( - params: Params$Resource$Instancegroupmanagers$Listmanagedinstances, - options: StreamMethodOptions - ): Promise>; - listManagedInstances( - params?: Params$Resource$Instancegroupmanagers$Listmanagedinstances, - options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; - listManagedInstances( - params: Params$Resource$Instancegroupmanagers$Listmanagedinstances, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - listManagedInstances( - params: Params$Resource$Instancegroupmanagers$Listmanagedinstances, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - listManagedInstances( - params: Params$Resource$Instancegroupmanagers$Listmanagedinstances, - callback: BodyResponseCallback - ): void; - listManagedInstances( - callback: BodyResponseCallback - ): void; - listManagedInstances( - paramsOrCallback?: - | Params$Resource$Instancegroupmanagers$Listmanagedinstances - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise< - GaxiosResponseWithHTTP2 - > - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Instancegroupmanagers$Listmanagedinstances; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = - {} as Params$Resource$Instancegroupmanagers$Listmanagedinstances; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } + filter?: string; + /** + * The maximum number of results per page that should be returned. + * If the number of available results is larger than `maxResults`, + * Compute Engine returns a `nextPageToken` that can be used to get + * the next page of results in subsequent list requests. Acceptable values are + * `0` to `500`, inclusive. (Default: `500`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results + * are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation + * timestamp using `orderBy="creationTimestamp desc"`. This sorts + * results based on the `creationTimestamp` field in + * reverse chronological order (newest result first). Use this to sort + * resources like operations so that the newest operation is returned first. + * + * Currently, only sorting by `name` or + * `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the + * `nextPageToken` returned by a previous list request to get + * the next page of results. + */ + pageToken?: string; + /** + * Required. Project ID for this request. + */ + project?: string; + /** + * Required. Name of the region for this request. + */ + region?: string; + /** + * Opt-in for partial success behavior which provides partial results in case + * of failure. The default value is false. + * + * For example, when partial success behavior is enabled, aggregatedList for a + * single zone scope either returns all resources in the zone or no resources, + * with an error code. + */ + returnPartialSuccess?: boolean; + } - const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/listManagedInstances' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['project', 'zone', 'instanceGroupManager'], - pathParams: ['instanceGroupManager', 'project', 'zone'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest( - parameters - ); - } + export class Resource$Instancegroupmanagerresizerequests { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; } /** - * Lists all of the per-instance configurations defined for the managed - * instance group. The orderBy query parameter is not supported. + * 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. * @example * ```js * // Before running the sample: @@ -101337,7 +98863,6 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -101346,112 +98871,66 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instanceGroupManagers.listPerInstanceConfigs({ - * // A filter expression that filters resources listed in the response. Most - * // Compute resources support two types of filter expressions: - * // expressions that support regular expressions and expressions that follow - * // API improvement proposal AIP-160. - * // These two types of filter expressions cannot be mixed in one request. - * // - * // If you want to use AIP-160, your expression must specify the field name, an - * // operator, and the value that you want to use for filtering. The value - * // must be a string, a number, or a boolean. The operator - * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * // - * // For example, if you are filtering Compute Engine instances, you can - * // exclude instances named `example-instance` by specifying - * // `name != example-instance`. - * // - * // The `:*` comparison can be used to test whether a key has been defined. - * // For example, to find all objects with `owner` label use: - * // ``` - * // labels.owner:* - * // ``` - * // - * // You can also filter nested fields. For example, you could specify - * // `scheduling.automaticRestart = false` to include instances only - * // if they are not scheduled for automatic restarts. You can use filtering - * // on nested fields to filter based onresource labels. - * // - * // To filter on multiple expressions, provide each separate expression within - * // parentheses. For example: - * // ``` - * // (scheduling.automaticRestart = true) - * // (cpuPlatform = "Intel Skylake") - * // ``` - * // By default, each expression is an `AND` expression. However, you - * // can include `AND` and `OR` expressions explicitly. - * // For example: - * // ``` - * // (cpuPlatform = "Intel Skylake") OR - * // (cpuPlatform = "Intel Broadwell") AND - * // (scheduling.automaticRestart = true) - * // ``` - * // - * // If you want to use a regular expression, use the `eq` (equal) or `ne` - * // (not equal) operator against a single un-parenthesized expression with or - * // without quotes or against multiple parenthesized expressions. Examples: - * // - * // `fieldname eq unquoted literal` - * // `fieldname eq 'single quoted literal'` - * // `fieldname eq "double quoted literal"` - * // `(fieldname1 eq literal) (fieldname2 ne "literal")` - * // - * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * // The literal value must match the entire field. - * // - * // For example, to filter for instances that do not end with name "instance", - * // you would use `name ne .*instance`. - * // - * // You cannot combine constraints on multiple fields using regular - * // expressions. - * filter: 'placeholder-value', - * // The name of the managed instance group. It should conform to RFC1035. + * const res = await compute.instanceGroupManagerResizeRequests.cancel({ + * // The name of the managed instance group. + * // The name should conform to RFC1035 or be a resource ID. * instanceGroupManager: 'placeholder-value', - * // The maximum number of results per page that should be returned. - * // If the number of available results is larger than `maxResults`, - * // Compute Engine returns a `nextPageToken` that can be used to get - * // the next page of results in subsequent list requests. Acceptable values are - * // `0` to `500`, inclusive. (Default: `500`) - * maxResults: 'placeholder-value', - * // Sorts list results by a certain order. By default, results - * // are returned in alphanumerical order based on the resource name. - * // - * // You can also sort results in descending order based on the creation - * // timestamp using `orderBy="creationTimestamp desc"`. This sorts - * // results based on the `creationTimestamp` field in - * // reverse chronological order (newest result first). Use this to sort - * // resources like operations so that the newest operation is returned first. - * // - * // Currently, only sorting by `name` or - * // `creationTimestamp desc` is supported. - * orderBy: 'placeholder-value', - * // Specifies a page token to use. Set `pageToken` to the - * // `nextPageToken` returned by a previous list request to get - * // the next page of results. - * pageToken: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Opt-in for partial success behavior which provides partial results in case - * // of failure. The default value is false. + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. * // - * // For example, when partial success behavior is enabled, aggregatedList for a - * // single zone scope either returns all resources in the zone or no resources, - * // with an error code. - * returnPartialSuccess: 'placeholder-value', - * // The name of thezone - * // where the managed instance group is located. - * // It should conform to RFC1035. + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // The name of the resize request to cancel. + * // The name should conform to RFC1035 or be a resource ID. + * resizeRequest: 'placeholder-value', + * // The name of thezone where the managed + * // instance group is located. The name should conform to RFC1035. * zone: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { - * // "items": [], - * // "nextPageToken": "my_nextPageToken", - * // "warning": {} + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" * // } * } * @@ -101467,62 +98946,54 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - listPerInstanceConfigs( - params: Params$Resource$Instancegroupmanagers$Listperinstanceconfigs, + cancel( + params: Params$Resource$Instancegroupmanagerresizerequests$Cancel, options: StreamMethodOptions ): Promise>; - listPerInstanceConfigs( - params?: Params$Resource$Instancegroupmanagers$Listperinstanceconfigs, + cancel( + params?: Params$Resource$Instancegroupmanagerresizerequests$Cancel, options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; - listPerInstanceConfigs( - params: Params$Resource$Instancegroupmanagers$Listperinstanceconfigs, + ): Promise>; + cancel( + params: Params$Resource$Instancegroupmanagerresizerequests$Cancel, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - listPerInstanceConfigs( - params: Params$Resource$Instancegroupmanagers$Listperinstanceconfigs, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - listPerInstanceConfigs( - params: Params$Resource$Instancegroupmanagers$Listperinstanceconfigs, - callback: BodyResponseCallback + cancel( + params: Params$Resource$Instancegroupmanagerresizerequests$Cancel, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - listPerInstanceConfigs( - callback: BodyResponseCallback + cancel( + params: Params$Resource$Instancegroupmanagerresizerequests$Cancel, + callback: BodyResponseCallback ): void; - listPerInstanceConfigs( + cancel(callback: BodyResponseCallback): void; + cancel( paramsOrCallback?: - | Params$Resource$Instancegroupmanagers$Listperinstanceconfigs - | BodyResponseCallback + | Params$Resource$Instancegroupmanagerresizerequests$Cancel + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise< - GaxiosResponseWithHTTP2 - > + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instancegroupmanagers$Listperinstanceconfigs; + {}) as Params$Resource$Instancegroupmanagerresizerequests$Cancel; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Instancegroupmanagers$Listperinstanceconfigs; + {} as Params$Resource$Instancegroupmanagerresizerequests$Cancel; options = {}; } @@ -101537,7 +99008,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/listPerInstanceConfigs' + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}/cancel' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -101545,38 +99016,34 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'zone', 'instanceGroupManager'], - pathParams: ['instanceGroupManager', 'project', 'zone'], + requiredParams: [ + 'project', + 'zone', + 'instanceGroupManager', + 'resizeRequest', + ], + pathParams: [ + 'instanceGroupManager', + 'project', + 'resizeRequest', + 'zone', + ], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } /** - * 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 thelistManagedInstances - * method. This method supportsPATCH - * semantics and uses theJSON 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, seeUpdating instances in - * a MIG. + * Deletes the specified, inactive resize request. Requests that are still + * active cannot be deleted. Deleting request does not delete instances that + * were provisioned previously. * @example * ```js * // Before running the sample: @@ -101608,8 +99075,9 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instanceGroupManagers.patch({ - * // The name of the instance group manager. + * const res = await compute.instanceGroupManagerResizeRequests.delete({ + * // The name of the managed instance group. + * // The name should conform to RFC1035 or be a resource ID. * instanceGroupManager: 'placeholder-value', * // Project ID for this request. * project: @@ -101628,55 +99096,12 @@ export namespace compute_alpha { * // a valid UUID with the exception that zero UUID is not supported * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', - * // The name of the zone where - * // you want to create the managed instance group. + * // The name of the resize request to delete. + * // The name should conform to RFC1035 or be a resource ID. + * resizeRequest: 'placeholder-value', + * // The name of thezone where the managed + * // instance group is located. The name should conform to RFC1035. * zone: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "allInstancesConfig": {}, - * // "autoHealingPolicies": [], - * // "baseInstanceName": "my_baseInstanceName", - * // "creationTimestamp": "my_creationTimestamp", - * // "currentActions": {}, - * // "description": "my_description", - * // "distributionPolicy": {}, - * // "failoverAction": "my_failoverAction", - * // "fingerprint": "my_fingerprint", - * // "id": "my_id", - * // "instanceFlexibilityPolicy": {}, - * // "instanceGroup": "my_instanceGroup", - * // "instanceLifecyclePolicy": {}, - * // "instanceTemplate": "my_instanceTemplate", - * // "kind": "my_kind", - * // "listManagedInstancesResults": "my_listManagedInstancesResults", - * // "multiMig": "my_multiMig", - * // "name": "my_name", - * // "namedPorts": [], - * // "params": {}, - * // "region": "my_region", - * // "resourcePolicies": {}, - * // "satisfiesPzi": false, - * // "satisfiesPzs": false, - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "serviceAccount": "my_serviceAccount", - * // "standbyPolicy": {}, - * // "statefulPolicy": {}, - * // "status": {}, - * // "targetPools": [], - * // "targetSize": 0, - * // "targetSizePolicy": {}, - * // "targetSizeUnit": "my_targetSizeUnit", - * // "targetStoppedSize": 0, - * // "targetSuspendedSize": 0, - * // "updatePolicy": {}, - * // "versions": [], - * // "zone": "my_zone" - * // } - * }, * }); * console.log(res.data); * @@ -101725,32 +99150,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - patch( - params: Params$Resource$Instancegroupmanagers$Patch, + delete( + params: Params$Resource$Instancegroupmanagerresizerequests$Delete, options: StreamMethodOptions ): Promise>; - patch( - params?: Params$Resource$Instancegroupmanagers$Patch, + delete( + params?: Params$Resource$Instancegroupmanagerresizerequests$Delete, options?: MethodOptions ): Promise>; - patch( - params: Params$Resource$Instancegroupmanagers$Patch, + delete( + params: Params$Resource$Instancegroupmanagerresizerequests$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Instancegroupmanagers$Patch, + delete( + params: Params$Resource$Instancegroupmanagerresizerequests$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Instancegroupmanagers$Patch, + delete( + params: Params$Resource$Instancegroupmanagerresizerequests$Delete, callback: BodyResponseCallback ): void; - patch(callback: BodyResponseCallback): void; - patch( + delete(callback: BodyResponseCallback): void; + delete( paramsOrCallback?: - | Params$Resource$Instancegroupmanagers$Patch + | Params$Resource$Instancegroupmanagerresizerequests$Delete | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -101766,12 +99191,13 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instancegroupmanagers$Patch; + {}) as Params$Resource$Instancegroupmanagerresizerequests$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instancegroupmanagers$Patch; + params = + {} as Params$Resource$Instancegroupmanagerresizerequests$Delete; options = {}; } @@ -101786,16 +99212,26 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}' + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', + method: 'DELETE', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone', 'instanceGroupManager'], - pathParams: ['instanceGroupManager', 'project', 'zone'], + requiredParams: [ + 'project', + 'zone', + 'instanceGroupManager', + 'resizeRequest', + ], + pathParams: [ + 'instanceGroupManager', + 'project', + 'resizeRequest', + 'zone', + ], context: this.context, }; if (callback) { @@ -101809,9 +99245,7 @@ export namespace compute_alpha { } /** - * 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. + * Returns all of the details about the specified resize request. * @example * ```js * // Before running the sample: @@ -101835,6 +99269,7 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -101843,71 +99278,39 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instanceGroupManagers.patchPerInstanceConfigs({ + * const res = await compute.instanceGroupManagerResizeRequests.get({ * // The name of the managed instance group. - * // It should conform to RFC1035. + * // Name should conform to RFC1035 or be a resource ID. * instanceGroupManager: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. - * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * // The name of thezone - * // where the managed instance group is located. - * // It should conform to RFC1035. + * // The name of the resize request. + * // Name should conform to RFC1035 or be a resource ID. + * resizeRequest: 'placeholder-value', + * // Name of the href="/compute/docs/regions-zones/#available"\>zone + * // scoping this request. Name should conform to RFC1035. * zone: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "perInstanceConfigs": [] - * // } - * }, * }); * console.log(res.data); * * // Example response * // { - * // "clientOperationId": "my_clientOperationId", + * // "count": 0, * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, + * // "instances": [], * // "kind": "my_kind", * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, + * // "queuingPolicy": {}, * // "region": "my_region", + * // "requestedRunDuration": {}, + * // "resizeBy": 0, * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], + * // "state": "my_state", + * // "status": {}, * // "zone": "my_zone" * // } * } @@ -101924,56 +99327,61 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - patchPerInstanceConfigs( - params: Params$Resource$Instancegroupmanagers$Patchperinstanceconfigs, + get( + params: Params$Resource$Instancegroupmanagerresizerequests$Get, options: StreamMethodOptions ): Promise>; - patchPerInstanceConfigs( - params?: Params$Resource$Instancegroupmanagers$Patchperinstanceconfigs, + get( + params?: Params$Resource$Instancegroupmanagerresizerequests$Get, options?: MethodOptions - ): Promise>; - patchPerInstanceConfigs( - params: Params$Resource$Instancegroupmanagers$Patchperinstanceconfigs, + ): Promise< + GaxiosResponseWithHTTP2 + >; + get( + params: Params$Resource$Instancegroupmanagerresizerequests$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patchPerInstanceConfigs( - params: Params$Resource$Instancegroupmanagers$Patchperinstanceconfigs, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + get( + params: Params$Resource$Instancegroupmanagerresizerequests$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - patchPerInstanceConfigs( - params: Params$Resource$Instancegroupmanagers$Patchperinstanceconfigs, - callback: BodyResponseCallback + get( + params: Params$Resource$Instancegroupmanagerresizerequests$Get, + callback: BodyResponseCallback ): void; - patchPerInstanceConfigs( - callback: BodyResponseCallback + get( + callback: BodyResponseCallback ): void; - patchPerInstanceConfigs( + get( paramsOrCallback?: - | Params$Resource$Instancegroupmanagers$Patchperinstanceconfigs - | BodyResponseCallback + | Params$Resource$Instancegroupmanagerresizerequests$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise< + GaxiosResponseWithHTTP2 + > | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instancegroupmanagers$Patchperinstanceconfigs; + {}) as Params$Resource$Instancegroupmanagerresizerequests$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Instancegroupmanagers$Patchperinstanceconfigs; + params = {} as Params$Resource$Instancegroupmanagerresizerequests$Get; options = {}; } @@ -101988,42 +99396,43 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/patchPerInstanceConfigs' + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone', 'instanceGroupManager'], - pathParams: ['instanceGroupManager', 'project', 'zone'], + requiredParams: [ + 'project', + 'zone', + 'instanceGroupManager', + 'resizeRequest', + ], + pathParams: [ + 'instanceGroupManager', + 'project', + 'resizeRequest', + 'zone', + ], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); } } /** - * 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 itscurrentAction 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. + * Creates a new resize request that starts provisioning VMs immediately + * or queues VM creation. * @example * ```js * // Before running the sample: @@ -102055,12 +99464,11 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instanceGroupManagers.recreateInstances({ - * // The name of the managed instance group. + * const res = await compute.instanceGroupManagerResizeRequests.insert({ + * // 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. * instanceGroupManager: 'placeholder-value', - * // When set, graceful shutdown is skipped for instance recreation even if it's - * // configured for the instances. - * noGracefulShutdown: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -102079,14 +99487,30 @@ export namespace compute_alpha { * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', * // The name of thezone where the managed - * // instance group is located. + * // instance group is located and where the resize request will be created. + * // Name should conform to RFC1035. * zone: 'placeholder-value', * * // Request body metadata * requestBody: { * // request body parameters * // { - * // "instances": [] + * // "count": 0, + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "id": "my_id", + * // "instances": [], + * // "kind": "my_kind", + * // "name": "my_name", + * // "queuingPolicy": {}, + * // "region": "my_region", + * // "requestedRunDuration": {}, + * // "resizeBy": 0, + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "state": "my_state", + * // "status": {}, + * // "zone": "my_zone" * // } * }, * }); @@ -102137,32 +99561,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - recreateInstances( - params: Params$Resource$Instancegroupmanagers$Recreateinstances, + insert( + params: Params$Resource$Instancegroupmanagerresizerequests$Insert, options: StreamMethodOptions ): Promise>; - recreateInstances( - params?: Params$Resource$Instancegroupmanagers$Recreateinstances, + insert( + params?: Params$Resource$Instancegroupmanagerresizerequests$Insert, options?: MethodOptions ): Promise>; - recreateInstances( - params: Params$Resource$Instancegroupmanagers$Recreateinstances, + insert( + params: Params$Resource$Instancegroupmanagerresizerequests$Insert, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - recreateInstances( - params: Params$Resource$Instancegroupmanagers$Recreateinstances, + insert( + params: Params$Resource$Instancegroupmanagerresizerequests$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - recreateInstances( - params: Params$Resource$Instancegroupmanagers$Recreateinstances, + insert( + params: Params$Resource$Instancegroupmanagerresizerequests$Insert, callback: BodyResponseCallback ): void; - recreateInstances(callback: BodyResponseCallback): void; - recreateInstances( + insert(callback: BodyResponseCallback): void; + insert( paramsOrCallback?: - | Params$Resource$Instancegroupmanagers$Recreateinstances + | Params$Resource$Instancegroupmanagerresizerequests$Insert | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -102178,12 +99602,13 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instancegroupmanagers$Recreateinstances; + {}) as Params$Resource$Instancegroupmanagerresizerequests$Insert; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instancegroupmanagers$Recreateinstances; + params = + {} as Params$Resource$Instancegroupmanagerresizerequests$Insert; options = {}; } @@ -102198,7 +99623,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/recreateInstances' + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeRequests' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -102221,29 +99646,8 @@ export namespace compute_alpha { } /** - * 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 markedDONE 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 thelistmanagedinstances - * 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. + * Retrieves a list of resize requests that are contained in the + * managed instance group. * @example * ```js * // Before running the sample: @@ -102267,6 +99671,7 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -102275,72 +99680,120 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instanceGroupManagers.resize({ - * // The name of the managed instance group. - * instanceGroupManager: 'placeholder-value', - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. + * const res = await compute.instanceGroupManagerResizeRequests.list({ + * // A filter expression that filters resources listed in the response. Most + * // Compute resources support two types of filter expressions: + * // expressions that support regular expressions and expressions that follow + * // API improvement proposal AIP-160. + * // These two types of filter expressions cannot be mixed in one 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. + * // If you want to use AIP-160, your expression must specify the field name, an + * // operator, and the value that you want to use for filtering. The value + * // must be a string, a number, or a boolean. The operator + * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * // 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. - * size: 'placeholder-value', - * // The name of thezone where the managed - * // instance group is located. - * zone: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, - * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, - * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; + * // For example, if you are filtering Compute Engine instances, you can + * // exclude instances named `example-instance` by specifying + * // `name != example-instance`. + * // + * // The `:*` comparison can be used to test whether a key has been defined. + * // For example, to find all objects with `owner` label use: + * // ``` + * // labels.owner:* + * // ``` + * // + * // You can also filter nested fields. For example, you could specify + * // `scheduling.automaticRestart = false` to include instances only + * // if they are not scheduled for automatic restarts. You can use filtering + * // on nested fields to filter based onresource labels. + * // + * // To filter on multiple expressions, provide each separate expression within + * // parentheses. For example: + * // ``` + * // (scheduling.automaticRestart = true) + * // (cpuPlatform = "Intel Skylake") + * // ``` + * // By default, each expression is an `AND` expression. However, you + * // can include `AND` and `OR` expressions explicitly. + * // For example: + * // ``` + * // (cpuPlatform = "Intel Skylake") OR + * // (cpuPlatform = "Intel Broadwell") AND + * // (scheduling.automaticRestart = true) + * // ``` + * // + * // If you want to use a regular expression, use the `eq` (equal) or `ne` + * // (not equal) operator against a single un-parenthesized expression with or + * // without quotes or against multiple parenthesized expressions. Examples: + * // + * // `fieldname eq unquoted literal` + * // `fieldname eq 'single quoted literal'` + * // `fieldname eq "double quoted literal"` + * // `(fieldname1 eq literal) (fieldname2 ne "literal")` + * // + * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * // The literal value must match the entire field. + * // + * // For example, to filter for instances that do not end with name "instance", + * // you would use `name ne .*instance`. + * // + * // You cannot combine constraints on multiple fields using regular + * // expressions. + * filter: 'placeholder-value', + * // The name of the managed instance group. The name should conform to RFC1035. + * instanceGroupManager: 'placeholder-value', + * // The maximum number of results per page that should be returned. + * // If the number of available results is larger than `maxResults`, + * // Compute Engine returns a `nextPageToken` that can be used to get + * // the next page of results in subsequent list requests. Acceptable values are + * // `0` to `500`, inclusive. (Default: `500`) + * maxResults: 'placeholder-value', + * // Sorts list results by a certain order. By default, results + * // are returned in alphanumerical order based on the resource name. + * // + * // You can also sort results in descending order based on the creation + * // timestamp using `orderBy="creationTimestamp desc"`. This sorts + * // results based on the `creationTimestamp` field in + * // reverse chronological order (newest result first). Use this to sort + * // resources like operations so that the newest operation is returned first. + * // + * // Currently, only sorting by `name` or + * // `creationTimestamp desc` is supported. + * orderBy: 'placeholder-value', + * // Specifies a page token to use. Set `pageToken` to the + * // `nextPageToken` returned by a previous list request to get + * // the next page of results. + * pageToken: 'placeholder-value', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Opt-in for partial success behavior which provides partial results in case + * // of failure. The default value is false. + * // + * // For example, when partial success behavior is enabled, aggregatedList for a + * // single zone scope either returns all resources in the zone or no resources, + * // with an error code. + * returnPartialSuccess: 'placeholder-value', + * // The name of thezone where the managed + * // instance group is located. The name should conform to RFC1035. + * zone: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "id": "my_id", + * // "items": [], + * // "kind": "my_kind", + * // "nextPageToken": "my_nextPageToken", + * // "selfLink": "my_selfLink", + * // "warning": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; * }); * * ``` @@ -102350,53 +99803,61 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - resize( - params: Params$Resource$Instancegroupmanagers$Resize, + list( + params: Params$Resource$Instancegroupmanagerresizerequests$List, options: StreamMethodOptions ): Promise>; - resize( - params?: Params$Resource$Instancegroupmanagers$Resize, + list( + params?: Params$Resource$Instancegroupmanagerresizerequests$List, options?: MethodOptions - ): Promise>; - resize( - params: Params$Resource$Instancegroupmanagers$Resize, + ): Promise< + GaxiosResponseWithHTTP2 + >; + list( + params: Params$Resource$Instancegroupmanagerresizerequests$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - resize( - params: Params$Resource$Instancegroupmanagers$Resize, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + list( + params: Params$Resource$Instancegroupmanagerresizerequests$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - resize( - params: Params$Resource$Instancegroupmanagers$Resize, - callback: BodyResponseCallback + list( + params: Params$Resource$Instancegroupmanagerresizerequests$List, + callback: BodyResponseCallback ): void; - resize(callback: BodyResponseCallback): void; - resize( + list( + callback: BodyResponseCallback + ): void; + list( paramsOrCallback?: - | Params$Resource$Instancegroupmanagers$Resize - | BodyResponseCallback + | Params$Resource$Instancegroupmanagerresizerequests$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise< + GaxiosResponseWithHTTP2 + > | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instancegroupmanagers$Resize; + {}) as Params$Resource$Instancegroupmanagerresizerequests$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instancegroupmanagers$Resize; + params = {} as Params$Resource$Instancegroupmanagerresizerequests$List; options = {}; } @@ -102411,45 +99872,301 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resize' + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeRequests' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone', 'instanceGroupManager', 'size'], + requiredParams: ['project', 'zone', 'instanceGroupManager'], pathParams: ['instanceGroupManager', 'project', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); } } + } + export interface Params$Resource$Instancegroupmanagerresizerequests$Cancel extends StandardParameters { /** - * Resizes the managed instance group with advanced configuration options like - * disabling creation retries. This is an extended version of theresize method. + * The name of the managed instance group. + * The name should conform to RFC1035 or be a resource ID. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. * - * 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 markedDONE 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 - * orlistmanagedinstances + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the resize request to cancel. + * The name should conform to RFC1035 or be a resource ID. + */ + resizeRequest?: string; + /** + * The name of thezone where the managed + * instance group is located. The name should conform to RFC1035. + */ + zone?: string; + } + export interface Params$Resource$Instancegroupmanagerresizerequests$Delete extends StandardParameters { + /** + * The name of the managed instance group. + * The name should conform to RFC1035 or be a resource ID. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the resize request to delete. + * The name should conform to RFC1035 or be a resource ID. + */ + resizeRequest?: string; + /** + * The name of thezone where the managed + * instance group is located. The name should conform to RFC1035. + */ + zone?: string; + } + export interface Params$Resource$Instancegroupmanagerresizerequests$Get extends StandardParameters { + /** + * The name of the managed instance group. + * Name should conform to RFC1035 or be a resource ID. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the resize request. + * Name should conform to RFC1035 or be a resource ID. + */ + resizeRequest?: string; + /** + * Name of the href="/compute/docs/regions-zones/#available"\>zone + * scoping this request. Name should conform to RFC1035. + */ + zone?: string; + } + export interface Params$Resource$Instancegroupmanagerresizerequests$Insert extends StandardParameters { + /** + * 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. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of thezone where the managed + * instance group is located and where the resize request will be created. + * Name should conform to RFC1035. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupManagerResizeRequest; + } + export interface Params$Resource$Instancegroupmanagerresizerequests$List extends StandardParameters { + /** + * A filter expression that filters resources listed in the response. Most + * Compute resources support two types of filter expressions: + * expressions that support regular expressions and expressions that follow + * API improvement proposal AIP-160. + * These two types of filter expressions cannot be mixed in one request. + * + * If you want to use AIP-160, your expression must specify the field name, an + * operator, and the value that you want to use for filtering. The value + * must be a string, a number, or a boolean. The operator + * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * + * For example, if you are filtering Compute Engine instances, you can + * exclude instances named `example-instance` by specifying + * `name != example-instance`. + * + * The `:*` comparison can be used to test whether a key has been defined. + * For example, to find all objects with `owner` label use: + * ``` + * labels.owner:* + * ``` + * + * You can also filter nested fields. For example, you could specify + * `scheduling.automaticRestart = false` to include instances only + * if they are not scheduled for automatic restarts. You can use filtering + * on nested fields to filter based onresource labels. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example: + * ``` + * (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake") + * ``` + * By default, each expression is an `AND` expression. However, you + * can include `AND` and `OR` expressions explicitly. + * For example: + * ``` + * (cpuPlatform = "Intel Skylake") OR + * (cpuPlatform = "Intel Broadwell") AND + * (scheduling.automaticRestart = true) + * ``` + * + * If you want to use a regular expression, use the `eq` (equal) or `ne` + * (not equal) operator against a single un-parenthesized expression with or + * without quotes or against multiple parenthesized expressions. Examples: + * + * `fieldname eq unquoted literal` + * `fieldname eq 'single quoted literal'` + * `fieldname eq "double quoted literal"` + * `(fieldname1 eq literal) (fieldname2 ne "literal")` + * + * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * The literal value must match the entire field. + * + * For example, to filter for instances that do not end with name "instance", + * you would use `name ne .*instance`. + * + * You cannot combine constraints on multiple fields using regular + * expressions. + */ + filter?: string; + /** + * The name of the managed instance group. The name should conform to RFC1035. + */ + instanceGroupManager?: string; + /** + * The maximum number of results per page that should be returned. + * If the number of available results is larger than `maxResults`, + * Compute Engine returns a `nextPageToken` that can be used to get + * the next page of results in subsequent list requests. Acceptable values are + * `0` to `500`, inclusive. (Default: `500`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results + * are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation + * timestamp using `orderBy="creationTimestamp desc"`. This sorts + * results based on the `creationTimestamp` field in + * reverse chronological order (newest result first). Use this to sort + * resources like operations so that the newest operation is returned first. + * + * Currently, only sorting by `name` or + * `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the + * `nextPageToken` returned by a previous list request to get + * the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Opt-in for partial success behavior which provides partial results in case + * of failure. The default value is false. + * + * For example, when partial success behavior is enabled, aggregatedList for a + * single zone scope either returns all resources in the zone or no resources, + * with an error code. + */ + returnPartialSuccess?: boolean; + /** + * The name of thezone where the managed + * instance group is located. The name should conform to RFC1035. + */ + zone?: string; + } + + export class Resource$Instancegroupmanagers { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * 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 thetargetSize of the managed instance group by the + * number of instances that you abandon. This operation is marked asDONE 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 thelistmanagedinstances * 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. * @example * ```js * // Before running the sample: @@ -102481,7 +100198,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instanceGroupManagers.resizeAdvanced({ + * const res = await compute.instanceGroupManagers.abandonInstances({ * // The name of the managed instance group. * instanceGroupManager: 'placeholder-value', * // Project ID for this request. @@ -102509,9 +100226,7 @@ export namespace compute_alpha { * requestBody: { * // request body parameters * // { - * // "noCreationRetries": false, - * // "scaleInProtection": false, - * // "targetSize": 0 + * // "instances": [] * // } * }, * }); @@ -102562,32 +100277,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - resizeAdvanced( - params: Params$Resource$Instancegroupmanagers$Resizeadvanced, + abandonInstances( + params: Params$Resource$Instancegroupmanagers$Abandoninstances, options: StreamMethodOptions ): Promise>; - resizeAdvanced( - params?: Params$Resource$Instancegroupmanagers$Resizeadvanced, + abandonInstances( + params?: Params$Resource$Instancegroupmanagers$Abandoninstances, options?: MethodOptions ): Promise>; - resizeAdvanced( - params: Params$Resource$Instancegroupmanagers$Resizeadvanced, + abandonInstances( + params: Params$Resource$Instancegroupmanagers$Abandoninstances, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - resizeAdvanced( - params: Params$Resource$Instancegroupmanagers$Resizeadvanced, + abandonInstances( + params: Params$Resource$Instancegroupmanagers$Abandoninstances, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - resizeAdvanced( - params: Params$Resource$Instancegroupmanagers$Resizeadvanced, + abandonInstances( + params: Params$Resource$Instancegroupmanagers$Abandoninstances, callback: BodyResponseCallback ): void; - resizeAdvanced(callback: BodyResponseCallback): void; - resizeAdvanced( + abandonInstances(callback: BodyResponseCallback): void; + abandonInstances( paramsOrCallback?: - | Params$Resource$Instancegroupmanagers$Resizeadvanced + | Params$Resource$Instancegroupmanagers$Abandoninstances | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -102603,12 +100318,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instancegroupmanagers$Resizeadvanced; + {}) as Params$Resource$Instancegroupmanagers$Abandoninstances; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instancegroupmanagers$Resizeadvanced; + params = {} as Params$Resource$Instancegroupmanagers$Abandoninstances; options = {}; } @@ -102623,7 +100338,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeAdvanced' + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/abandonInstances' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -102646,22 +100361,10 @@ export namespace compute_alpha { } /** - * Flags the specified instances in the managed instance group to be - * resumed. This method increases thetargetSize 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 theRESUMING action with thelistmanagedinstances - * 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. + * Retrieves the list of managed instance groups and groups them by zone. * - * You can specify a maximum of 1000 instances with this method per request. + * To prevent failure, Google recommends that you set the + * `returnPartialSuccess` parameter to `true`. * @example * ```js * // Before running the sample: @@ -102685,6 +100388,7 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -102693,70 +100397,121 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instanceGroupManagers.resumeInstances({ - * // The name of the managed instance group. - * instanceGroupManager: 'placeholder-value', + * const res = await compute.instanceGroupManagers.aggregatedList({ + * // A filter expression that filters resources listed in the response. Most + * // Compute resources support two types of filter expressions: + * // expressions that support regular expressions and expressions that follow + * // API improvement proposal AIP-160. + * // These two types of filter expressions cannot be mixed in one request. + * // + * // If you want to use AIP-160, your expression must specify the field name, an + * // operator, and the value that you want to use for filtering. The value + * // must be a string, a number, or a boolean. The operator + * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * // + * // For example, if you are filtering Compute Engine instances, you can + * // exclude instances named `example-instance` by specifying + * // `name != example-instance`. + * // + * // The `:*` comparison can be used to test whether a key has been defined. + * // For example, to find all objects with `owner` label use: + * // ``` + * // labels.owner:* + * // ``` + * // + * // You can also filter nested fields. For example, you could specify + * // `scheduling.automaticRestart = false` to include instances only + * // if they are not scheduled for automatic restarts. You can use filtering + * // on nested fields to filter based onresource labels. + * // + * // To filter on multiple expressions, provide each separate expression within + * // parentheses. For example: + * // ``` + * // (scheduling.automaticRestart = true) + * // (cpuPlatform = "Intel Skylake") + * // ``` + * // By default, each expression is an `AND` expression. However, you + * // can include `AND` and `OR` expressions explicitly. + * // For example: + * // ``` + * // (cpuPlatform = "Intel Skylake") OR + * // (cpuPlatform = "Intel Broadwell") AND + * // (scheduling.automaticRestart = true) + * // ``` + * // + * // If you want to use a regular expression, use the `eq` (equal) or `ne` + * // (not equal) operator against a single un-parenthesized expression with or + * // without quotes or against multiple parenthesized expressions. Examples: + * // + * // `fieldname eq unquoted literal` + * // `fieldname eq 'single quoted literal'` + * // `fieldname eq "double quoted literal"` + * // `(fieldname1 eq literal) (fieldname2 ne "literal")` + * // + * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * // The literal value must match the entire field. + * // + * // For example, to filter for instances that do not end with name "instance", + * // you would use `name ne .*instance`. + * // + * // You cannot combine constraints on multiple fields using regular + * // expressions. + * filter: 'placeholder-value', + * // 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. + * includeAllScopes: 'placeholder-value', + * // The maximum number of results per page that should be returned. + * // If the number of available results is larger than `maxResults`, + * // Compute Engine returns a `nextPageToken` that can be used to get + * // the next page of results in subsequent list requests. Acceptable values are + * // `0` to `500`, inclusive. (Default: `500`) + * maxResults: 'placeholder-value', + * // Sorts list results by a certain order. By default, results + * // are returned in alphanumerical order based on the resource name. + * // + * // You can also sort results in descending order based on the creation + * // timestamp using `orderBy="creationTimestamp desc"`. This sorts + * // results based on the `creationTimestamp` field in + * // reverse chronological order (newest result first). Use this to sort + * // resources like operations so that the newest operation is returned first. + * // + * // Currently, only sorting by `name` or + * // `creationTimestamp desc` is supported. + * orderBy: 'placeholder-value', + * // Specifies a page token to use. Set `pageToken` to the + * // `nextPageToken` returned by a previous list request to get + * // the next page of results. + * pageToken: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. + * // Opt-in for partial success behavior which provides partial results in case + * // of failure. The default value is false. * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * // The name of thezone where the managed - * // instance group is located. - * zone: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "instances": [] - * // } - * }, + * // For example, when partial success behavior is enabled, aggregatedList for a + * // single zone scope either returns all resources in the zone or no resources, + * // with an error code. + * returnPartialSuccess: 'placeholder-value', + * // The Shared VPC service project id or service project number for which + * // aggregated list request is invoked for subnetworks list-usable api. + * serviceProjectNumber: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, + * // "items": {}, * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", + * // "nextPageToken": "my_nextPageToken", * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" + * // "unreachables": [], + * // "warning": {} * // } * } * @@ -102772,53 +100527,61 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - resumeInstances( - params: Params$Resource$Instancegroupmanagers$Resumeinstances, + aggregatedList( + params: Params$Resource$Instancegroupmanagers$Aggregatedlist, options: StreamMethodOptions ): Promise>; - resumeInstances( - params?: Params$Resource$Instancegroupmanagers$Resumeinstances, + aggregatedList( + params?: Params$Resource$Instancegroupmanagers$Aggregatedlist, options?: MethodOptions - ): Promise>; - resumeInstances( - params: Params$Resource$Instancegroupmanagers$Resumeinstances, + ): Promise< + GaxiosResponseWithHTTP2 + >; + aggregatedList( + params: Params$Resource$Instancegroupmanagers$Aggregatedlist, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - resumeInstances( - params: Params$Resource$Instancegroupmanagers$Resumeinstances, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + aggregatedList( + params: Params$Resource$Instancegroupmanagers$Aggregatedlist, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - resumeInstances( - params: Params$Resource$Instancegroupmanagers$Resumeinstances, - callback: BodyResponseCallback + aggregatedList( + params: Params$Resource$Instancegroupmanagers$Aggregatedlist, + callback: BodyResponseCallback ): void; - resumeInstances(callback: BodyResponseCallback): void; - resumeInstances( + aggregatedList( + callback: BodyResponseCallback + ): void; + aggregatedList( paramsOrCallback?: - | Params$Resource$Instancegroupmanagers$Resumeinstances - | BodyResponseCallback + | Params$Resource$Instancegroupmanagers$Aggregatedlist + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise< + GaxiosResponseWithHTTP2 + > | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instancegroupmanagers$Resumeinstances; + {}) as Params$Resource$Instancegroupmanagers$Aggregatedlist; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instancegroupmanagers$Resumeinstances; + params = {} as Params$Resource$Instancegroupmanagers$Aggregatedlist; options = {}; } @@ -102833,32 +100596,33 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resumeInstances' + '/compute/alpha/projects/{project}/aggregated/instanceGroupManagers' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone', 'instanceGroupManager'], - pathParams: ['instanceGroupManager', 'project', 'zone'], + requiredParams: ['project'], + pathParams: ['project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); } } /** - * Motifies the autohealing policy for the instances in this managed - * instance group. - * [Deprecated] This method is deprecated. UseinstanceGroupManagers.patch instead. + * Applies changes to selected instances on the managed instance group. + * This method can be used to apply new overrides and/or new versions. * @example * ```js * // Before running the sample: @@ -102890,35 +100654,27 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instanceGroupManagers.setAutoHealingPolicies({ - * // The name of the instance group manager. + * const res = await compute.instanceGroupManagers.applyUpdatesToInstances({ + * // The name of the managed instance group, should conform to RFC1035. * instanceGroupManager: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. - * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * // The name of thezone where the managed - * // instance group is located. + * // The name of thezone + * // where the managed instance group is located. Should conform to RFC1035. * zone: 'placeholder-value', * * // Request body metadata * requestBody: { * // request body parameters * // { - * // "autoHealingPolicies": [] + * // "allInstances": false, + * // "allowedActions": [], + * // "disruptionMode": "my_disruptionMode", + * // "instances": [], + * // "maximalAction": "my_maximalAction", + * // "minimalAction": "my_minimalAction", + * // "mostDisruptiveAllowedAction": "my_mostDisruptiveAllowedAction" * // } * }, * }); @@ -102969,34 +100725,34 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - setAutoHealingPolicies( - params: Params$Resource$Instancegroupmanagers$Setautohealingpolicies, + applyUpdatesToInstances( + params: Params$Resource$Instancegroupmanagers$Applyupdatestoinstances, options: StreamMethodOptions ): Promise>; - setAutoHealingPolicies( - params?: Params$Resource$Instancegroupmanagers$Setautohealingpolicies, + applyUpdatesToInstances( + params?: Params$Resource$Instancegroupmanagers$Applyupdatestoinstances, options?: MethodOptions ): Promise>; - setAutoHealingPolicies( - params: Params$Resource$Instancegroupmanagers$Setautohealingpolicies, + applyUpdatesToInstances( + params: Params$Resource$Instancegroupmanagers$Applyupdatestoinstances, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setAutoHealingPolicies( - params: Params$Resource$Instancegroupmanagers$Setautohealingpolicies, + applyUpdatesToInstances( + params: Params$Resource$Instancegroupmanagers$Applyupdatestoinstances, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setAutoHealingPolicies( - params: Params$Resource$Instancegroupmanagers$Setautohealingpolicies, + applyUpdatesToInstances( + params: Params$Resource$Instancegroupmanagers$Applyupdatestoinstances, callback: BodyResponseCallback ): void; - setAutoHealingPolicies( + applyUpdatesToInstances( callback: BodyResponseCallback ): void; - setAutoHealingPolicies( + applyUpdatesToInstances( paramsOrCallback?: - | Params$Resource$Instancegroupmanagers$Setautohealingpolicies + | Params$Resource$Instancegroupmanagers$Applyupdatestoinstances | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -103012,13 +100768,13 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instancegroupmanagers$Setautohealingpolicies; + {}) as Params$Resource$Instancegroupmanagers$Applyupdatestoinstances; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Instancegroupmanagers$Setautohealingpolicies; + {} as Params$Resource$Instancegroupmanagers$Applyupdatestoinstances; options = {}; } @@ -103033,7 +100789,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setAutoHealingPolicies' + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/applyUpdatesToInstances' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -103056,9 +100812,7 @@ export namespace compute_alpha { } /** - * 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, runapplyUpdatesToInstances, or set the group'supdatePolicy.type to PROACTIVE. + * Updates the accelerator topologies configuration. * @example * ```js * // Before running the sample: @@ -103090,38 +100844,41 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instanceGroupManagers.setInstanceTemplate({ - * // The name of the managed instance group. - * instanceGroupManager: 'placeholder-value', - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. - * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * // The name of thezone where the managed - * // instance group is located. - * zone: 'placeholder-value', + * const res = + * await compute.instanceGroupManagers.configureAcceleratorTopologies({ + * // The name of the managed instance group. + * // It should conform to RFC1035. + * instanceGroupManager: 'placeholder-value', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // 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). + * requestId: 'placeholder-value', + * // The name of thezone + * // where the managed instance group is located. + * // It should conform to RFC1035. + * zone: 'placeholder-value', * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "instanceTemplate": "my_instanceTemplate" - * // } - * }, - * }); + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "acceleratorTopologyActions": {}, + * // "acceleratorTopologyConfigurations": {} + * // } + * }, + * }); * console.log(res.data); * * // Example response @@ -103169,32 +100926,34 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - setInstanceTemplate( - params: Params$Resource$Instancegroupmanagers$Setinstancetemplate, + configureAcceleratorTopologies( + params: Params$Resource$Instancegroupmanagers$Configureacceleratortopologies, options: StreamMethodOptions ): Promise>; - setInstanceTemplate( - params?: Params$Resource$Instancegroupmanagers$Setinstancetemplate, + configureAcceleratorTopologies( + params?: Params$Resource$Instancegroupmanagers$Configureacceleratortopologies, options?: MethodOptions ): Promise>; - setInstanceTemplate( - params: Params$Resource$Instancegroupmanagers$Setinstancetemplate, + configureAcceleratorTopologies( + params: Params$Resource$Instancegroupmanagers$Configureacceleratortopologies, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setInstanceTemplate( - params: Params$Resource$Instancegroupmanagers$Setinstancetemplate, + configureAcceleratorTopologies( + params: Params$Resource$Instancegroupmanagers$Configureacceleratortopologies, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setInstanceTemplate( - params: Params$Resource$Instancegroupmanagers$Setinstancetemplate, + configureAcceleratorTopologies( + params: Params$Resource$Instancegroupmanagers$Configureacceleratortopologies, callback: BodyResponseCallback ): void; - setInstanceTemplate(callback: BodyResponseCallback): void; - setInstanceTemplate( + configureAcceleratorTopologies( + callback: BodyResponseCallback + ): void; + configureAcceleratorTopologies( paramsOrCallback?: - | Params$Resource$Instancegroupmanagers$Setinstancetemplate + | Params$Resource$Instancegroupmanagers$Configureacceleratortopologies | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -103210,13 +100969,13 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instancegroupmanagers$Setinstancetemplate; + {}) as Params$Resource$Instancegroupmanagers$Configureacceleratortopologies; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Instancegroupmanagers$Setinstancetemplate; + {} as Params$Resource$Instancegroupmanagers$Configureacceleratortopologies; options = {}; } @@ -103231,7 +100990,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setInstanceTemplate' + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/configureAcceleratorTopologies' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -103254,12 +101013,10 @@ export namespace compute_alpha { } /** - * 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 markedDONE 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. + * Creates instances with per-instance configurations in this managed instance + * group. Instances are created using the current instance template. Thecreate instances operation is marked DONE if thecreateInstances request is successful. The underlying actions + * take additional time. You must separately verify the status of thecreating or actions with the listmanagedinstances + * method. * @example * ```js * // Before running the sample: @@ -103291,8 +101048,9 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instanceGroupManagers.setTargetPools({ + * const res = await compute.instanceGroupManagers.createInstances({ * // The name of the managed instance group. + * // It should conform to RFC1035. * instanceGroupManager: 'placeholder-value', * // Project ID for this request. * project: @@ -103304,23 +101062,22 @@ export namespace compute_alpha { * // For example, consider a situation where you make an initial request and * // the request times out. If you make the request again with the same * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. + * // 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). * requestId: 'placeholder-value', - * // The name of thezone where the managed - * // instance group is located. + * // The name of thezone + * // where the managed instance group is located. + * // It should conform to RFC1035. * zone: 'placeholder-value', * * // Request body metadata * requestBody: { * // request body parameters * // { - * // "fingerprint": "my_fingerprint", - * // "targetPools": [] + * // "instances": [] * // } * }, * }); @@ -103371,32 +101128,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - setTargetPools( - params: Params$Resource$Instancegroupmanagers$Settargetpools, + createInstances( + params: Params$Resource$Instancegroupmanagers$Createinstances, options: StreamMethodOptions ): Promise>; - setTargetPools( - params?: Params$Resource$Instancegroupmanagers$Settargetpools, + createInstances( + params?: Params$Resource$Instancegroupmanagers$Createinstances, options?: MethodOptions ): Promise>; - setTargetPools( - params: Params$Resource$Instancegroupmanagers$Settargetpools, + createInstances( + params: Params$Resource$Instancegroupmanagers$Createinstances, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setTargetPools( - params: Params$Resource$Instancegroupmanagers$Settargetpools, + createInstances( + params: Params$Resource$Instancegroupmanagers$Createinstances, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setTargetPools( - params: Params$Resource$Instancegroupmanagers$Settargetpools, + createInstances( + params: Params$Resource$Instancegroupmanagers$Createinstances, callback: BodyResponseCallback ): void; - setTargetPools(callback: BodyResponseCallback): void; - setTargetPools( + createInstances(callback: BodyResponseCallback): void; + createInstances( paramsOrCallback?: - | Params$Resource$Instancegroupmanagers$Settargetpools + | Params$Resource$Instancegroupmanagers$Createinstances | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -103412,12 +101169,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instancegroupmanagers$Settargetpools; + {}) as Params$Resource$Instancegroupmanagers$Createinstances; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instancegroupmanagers$Settargetpools; + params = {} as Params$Resource$Instancegroupmanagers$Createinstances; options = {}; } @@ -103432,7 +101189,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setTargetPools' + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/createInstances' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -103455,22 +101212,10 @@ export namespace compute_alpha { } /** - * Flags the specified instances in the managed instance group to be - * started. This method increases thetargetSize 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 theSTARTING action with thelistmanagedinstances - * 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. + * 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. * @example * ```js * // Before running the sample: @@ -103502,9 +101247,12 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instanceGroupManagers.startInstances({ - * // The name of the managed instance group. + * const res = await compute.instanceGroupManagers.delete({ + * // The name of the managed instance group to delete. * instanceGroupManager: 'placeholder-value', + * // When set, graceful shutdown is skipped for instance deletion even if it's + * // configured for the instances. + * noGracefulShutdown: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -103525,14 +101273,6 @@ export namespace compute_alpha { * // The name of thezone where the managed * // instance group is located. * zone: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "instances": [] - * // } - * }, * }); * console.log(res.data); * @@ -103581,32 +101321,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - startInstances( - params: Params$Resource$Instancegroupmanagers$Startinstances, + delete( + params: Params$Resource$Instancegroupmanagers$Delete, options: StreamMethodOptions ): Promise>; - startInstances( - params?: Params$Resource$Instancegroupmanagers$Startinstances, + delete( + params?: Params$Resource$Instancegroupmanagers$Delete, options?: MethodOptions ): Promise>; - startInstances( - params: Params$Resource$Instancegroupmanagers$Startinstances, + delete( + params: Params$Resource$Instancegroupmanagers$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - startInstances( - params: Params$Resource$Instancegroupmanagers$Startinstances, + delete( + params: Params$Resource$Instancegroupmanagers$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - startInstances( - params: Params$Resource$Instancegroupmanagers$Startinstances, + delete( + params: Params$Resource$Instancegroupmanagers$Delete, callback: BodyResponseCallback ): void; - startInstances(callback: BodyResponseCallback): void; - startInstances( + delete(callback: BodyResponseCallback): void; + delete( paramsOrCallback?: - | Params$Resource$Instancegroupmanagers$Startinstances + | Params$Resource$Instancegroupmanagers$Delete | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -103622,12 +101362,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instancegroupmanagers$Startinstances; + {}) as Params$Resource$Instancegroupmanagers$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instancegroupmanagers$Startinstances; + params = {} as Params$Resource$Instancegroupmanagers$Delete; options = {}; } @@ -103642,9 +101382,9 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/startInstances' + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'DELETE', apiVersion: '', }, options @@ -103665,29 +101405,19 @@ export namespace compute_alpha { } /** - * 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 thetargetSize 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 theSTOPPING action with thelistmanagedinstances - * 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 thaninitialDelaySec seconds have passed sinceinstance.creationTimestamp when this method is called, there - * will be zero delay. + * 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 thetargetSize 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 thelistmanagedinstances + * 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 stopped. - * - * Stopped instances can be started using the startInstances - * method. + * 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. * @example @@ -103721,10 +101451,10 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instanceGroupManagers.stopInstances({ + * const res = await compute.instanceGroupManagers.deleteInstances({ * // The name of the managed instance group. * instanceGroupManager: 'placeholder-value', - * // When set, graceful shutdown is skipped for instance stopping even if it's + * // When set, graceful shutdown is skipped for instance deletion even if it's * // configured for the instances. * noGracefulShutdown: 'placeholder-value', * // Project ID for this request. @@ -103752,8 +101482,9 @@ export namespace compute_alpha { * requestBody: { * // request body parameters * // { - * // "forceStop": false, - * // "instances": [] + * // "instanceNames": [], + * // "instances": [], + * // "skipInstancesOnValidationError": false * // } * }, * }); @@ -103804,32 +101535,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - stopInstances( - params: Params$Resource$Instancegroupmanagers$Stopinstances, + deleteInstances( + params: Params$Resource$Instancegroupmanagers$Deleteinstances, options: StreamMethodOptions ): Promise>; - stopInstances( - params?: Params$Resource$Instancegroupmanagers$Stopinstances, + deleteInstances( + params?: Params$Resource$Instancegroupmanagers$Deleteinstances, options?: MethodOptions ): Promise>; - stopInstances( - params: Params$Resource$Instancegroupmanagers$Stopinstances, + deleteInstances( + params: Params$Resource$Instancegroupmanagers$Deleteinstances, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - stopInstances( - params: Params$Resource$Instancegroupmanagers$Stopinstances, + deleteInstances( + params: Params$Resource$Instancegroupmanagers$Deleteinstances, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - stopInstances( - params: Params$Resource$Instancegroupmanagers$Stopinstances, + deleteInstances( + params: Params$Resource$Instancegroupmanagers$Deleteinstances, callback: BodyResponseCallback ): void; - stopInstances(callback: BodyResponseCallback): void; - stopInstances( + deleteInstances(callback: BodyResponseCallback): void; + deleteInstances( paramsOrCallback?: - | Params$Resource$Instancegroupmanagers$Stopinstances + | Params$Resource$Instancegroupmanagers$Deleteinstances | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -103845,12 +101576,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instancegroupmanagers$Stopinstances; + {}) as Params$Resource$Instancegroupmanagers$Deleteinstances; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instancegroupmanagers$Stopinstances; + params = {} as Params$Resource$Instancegroupmanagers$Deleteinstances; options = {}; } @@ -103865,7 +101596,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/stopInstances' + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/deleteInstances' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -103888,31 +101619,8 @@ export namespace compute_alpha { } /** - * 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 thetargetSize 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 theSUSPENDING action with thelistmanagedinstances - * 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 thaninitialDelaySec seconds have passed sinceinstance.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. + * Deletes selected per-instance configurations for the managed instance + * group. * @example * ```js * // Before running the sample: @@ -103944,36 +101652,24 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instanceGroupManagers.suspendInstances({ + * const res = await compute.instanceGroupManagers.deletePerInstanceConfigs({ * // The name of the managed instance group. + * // It should conform to RFC1035. * instanceGroupManager: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. - * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * // The name of thezone where the managed - * // instance group is located. + * // The name of thezone + * // where the managed instance + * // group is located. + * // It should conform to RFC1035. * zone: 'placeholder-value', * * // Request body metadata * requestBody: { * // request body parameters * // { - * // "forceSuspend": false, - * // "instances": [] + * // "names": [] * // } * }, * }); @@ -104024,32 +101720,34 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - suspendInstances( - params: Params$Resource$Instancegroupmanagers$Suspendinstances, + deletePerInstanceConfigs( + params: Params$Resource$Instancegroupmanagers$Deleteperinstanceconfigs, options: StreamMethodOptions ): Promise>; - suspendInstances( - params?: Params$Resource$Instancegroupmanagers$Suspendinstances, + deletePerInstanceConfigs( + params?: Params$Resource$Instancegroupmanagers$Deleteperinstanceconfigs, options?: MethodOptions ): Promise>; - suspendInstances( - params: Params$Resource$Instancegroupmanagers$Suspendinstances, + deletePerInstanceConfigs( + params: Params$Resource$Instancegroupmanagers$Deleteperinstanceconfigs, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - suspendInstances( - params: Params$Resource$Instancegroupmanagers$Suspendinstances, + deletePerInstanceConfigs( + params: Params$Resource$Instancegroupmanagers$Deleteperinstanceconfigs, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - suspendInstances( - params: Params$Resource$Instancegroupmanagers$Suspendinstances, + deletePerInstanceConfigs( + params: Params$Resource$Instancegroupmanagers$Deleteperinstanceconfigs, callback: BodyResponseCallback ): void; - suspendInstances(callback: BodyResponseCallback): void; - suspendInstances( + deletePerInstanceConfigs( + callback: BodyResponseCallback + ): void; + deletePerInstanceConfigs( paramsOrCallback?: - | Params$Resource$Instancegroupmanagers$Suspendinstances + | Params$Resource$Instancegroupmanagers$Deleteperinstanceconfigs | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -104065,12 +101763,13 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instancegroupmanagers$Suspendinstances; + {}) as Params$Resource$Instancegroupmanagers$Deleteperinstanceconfigs; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instancegroupmanagers$Suspendinstances; + params = + {} as Params$Resource$Instancegroupmanagers$Deleteperinstanceconfigs; options = {}; } @@ -104085,7 +101784,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/suspendInstances' + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/deletePerInstanceConfigs' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -104108,7 +101807,7 @@ export namespace compute_alpha { } /** - * Returns permissions that a caller has on the specified resource. + * Returns all of the details about the specified managed instance group. * @example * ```js * // Before running the sample: @@ -104141,28 +101840,59 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instanceGroupManagers.testIamPermissions({ + * const res = await compute.instanceGroupManagers.get({ + * // The name of the managed instance group. + * instanceGroupManager: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name or id of the resource for this request. - * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // The name of the zone for this request. - * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "permissions": [] - * // } - * }, + * // The name of thezone where the managed + * // instance group is located. + * zone: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { - * // "permissions": [] + * // "allInstancesConfig": {}, + * // "autoHealingPolicies": [], + * // "baseInstanceName": "my_baseInstanceName", + * // "creationTimestamp": "my_creationTimestamp", + * // "currentActions": {}, + * // "description": "my_description", + * // "distributionPolicy": {}, + * // "failoverAction": "my_failoverAction", + * // "fingerprint": "my_fingerprint", + * // "id": "my_id", + * // "instanceFlexibilityPolicy": {}, + * // "instanceGroup": "my_instanceGroup", + * // "instanceLifecyclePolicy": {}, + * // "instanceTemplate": "my_instanceTemplate", + * // "kind": "my_kind", + * // "listManagedInstancesResults": "my_listManagedInstancesResults", + * // "multiMig": "my_multiMig", + * // "name": "my_name", + * // "namedPorts": [], + * // "params": {}, + * // "region": "my_region", + * // "resourcePolicies": {}, + * // "satisfiesPzi": false, + * // "satisfiesPzs": false, + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "serviceAccount": "my_serviceAccount", + * // "standbyPolicy": {}, + * // "statefulPolicy": {}, + * // "status": {}, + * // "targetPools": [], + * // "targetSize": 0, + * // "targetSizePolicy": {}, + * // "targetSizeUnit": "my_targetSizeUnit", + * // "targetStoppedSize": 0, + * // "targetSuspendedSize": 0, + * // "updatePolicy": {}, + * // "versions": [], + * // "zone": "my_zone" * // } * } * @@ -104178,57 +101908,55 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - testIamPermissions( - params: Params$Resource$Instancegroupmanagers$Testiampermissions, + get( + params: Params$Resource$Instancegroupmanagers$Get, options: StreamMethodOptions ): Promise>; - testIamPermissions( - params?: Params$Resource$Instancegroupmanagers$Testiampermissions, + get( + params?: Params$Resource$Instancegroupmanagers$Get, options?: MethodOptions - ): Promise>; - testIamPermissions( - params: Params$Resource$Instancegroupmanagers$Testiampermissions, + ): Promise>; + get( + params: Params$Resource$Instancegroupmanagers$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - testIamPermissions( - params: Params$Resource$Instancegroupmanagers$Testiampermissions, + get( + params: Params$Resource$Instancegroupmanagers$Get, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - testIamPermissions( - params: Params$Resource$Instancegroupmanagers$Testiampermissions, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - testIamPermissions( - callback: BodyResponseCallback + get( + params: Params$Resource$Instancegroupmanagers$Get, + callback: BodyResponseCallback ): void; - testIamPermissions( + get(callback: BodyResponseCallback): void; + get( paramsOrCallback?: - | Params$Resource$Instancegroupmanagers$Testiampermissions - | BodyResponseCallback + | Params$Resource$Instancegroupmanagers$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instancegroupmanagers$Testiampermissions; + {}) as Params$Resource$Instancegroupmanagers$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instancegroupmanagers$Testiampermissions; + params = {} as Params$Resource$Instancegroupmanagers$Get; options = {}; } @@ -104243,41 +101971,30 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{resource}/testIamPermissions' + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone', 'resource'], - pathParams: ['project', 'resource', 'zone'], + requiredParams: ['project', 'zone', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * 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 thelistManagedInstances - * 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, seeUpdating instances in - * a MIG. + * Returns information about available accelerator topologies for a given MIG. * @example * ```js * // Before running the sample: @@ -104301,6 +102018,7 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -104309,9 +102027,178 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instanceGroupManagers.update({ - * // The name of the instance group manager. - * instanceGroupManager: 'placeholder-value', + * const res = + * await compute.instanceGroupManagers.getAvailableAcceleratorTopologies({ + * // Required. Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Required. The name of the managed instance group. + * // It should conform to RFC1035. + * resourceId: 'placeholder-value', + * // Required. The name of thezone where the managed + * // instance group is located. + * // Name should conform to RFC1035. + * zone: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "acceleratorTopologiesInfo": {}, + * // "multiMig": "my_multiMig" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + getAvailableAcceleratorTopologies( + params: Params$Resource$Instancegroupmanagers$Getavailableacceleratortopologies, + options: StreamMethodOptions + ): Promise>; + getAvailableAcceleratorTopologies( + params?: Params$Resource$Instancegroupmanagers$Getavailableacceleratortopologies, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + getAvailableAcceleratorTopologies( + params: Params$Resource$Instancegroupmanagers$Getavailableacceleratortopologies, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getAvailableAcceleratorTopologies( + params: Params$Resource$Instancegroupmanagers$Getavailableacceleratortopologies, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getAvailableAcceleratorTopologies( + params: Params$Resource$Instancegroupmanagers$Getavailableacceleratortopologies, + callback: BodyResponseCallback + ): void; + getAvailableAcceleratorTopologies( + callback: BodyResponseCallback + ): void; + getAvailableAcceleratorTopologies( + paramsOrCallback?: + | Params$Resource$Instancegroupmanagers$Getavailableacceleratortopologies + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Instancegroupmanagers$Getavailableacceleratortopologies; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Instancegroupmanagers$Getavailableacceleratortopologies; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{resourceId}/getAvailableAcceleratorTopologies' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'resourceId'], + pathParams: ['project', 'resourceId', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * 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 thelistmanagedinstances + * 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. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.instanceGroupManagers.insert({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -104426,32 +102313,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - update( - params: Params$Resource$Instancegroupmanagers$Update, + insert( + params: Params$Resource$Instancegroupmanagers$Insert, options: StreamMethodOptions ): Promise>; - update( - params?: Params$Resource$Instancegroupmanagers$Update, + insert( + params?: Params$Resource$Instancegroupmanagers$Insert, options?: MethodOptions ): Promise>; - update( - params: Params$Resource$Instancegroupmanagers$Update, + insert( + params: Params$Resource$Instancegroupmanagers$Insert, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - update( - params: Params$Resource$Instancegroupmanagers$Update, + insert( + params: Params$Resource$Instancegroupmanagers$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - update( - params: Params$Resource$Instancegroupmanagers$Update, + insert( + params: Params$Resource$Instancegroupmanagers$Insert, callback: BodyResponseCallback ): void; - update(callback: BodyResponseCallback): void; - update( + insert(callback: BodyResponseCallback): void; + insert( paramsOrCallback?: - | Params$Resource$Instancegroupmanagers$Update + | Params$Resource$Instancegroupmanagers$Insert | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -104467,12 +102354,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instancegroupmanagers$Update; + {}) as Params$Resource$Instancegroupmanagers$Insert; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instancegroupmanagers$Update; + params = {} as Params$Resource$Instancegroupmanagers$Insert; options = {}; } @@ -104487,16 +102374,16 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}' + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PUT', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone', 'instanceGroupManager'], - pathParams: ['instanceGroupManager', 'project', 'zone'], + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], context: this.context, }; if (callback) { @@ -104510,9 +102397,8 @@ export namespace compute_alpha { } /** - * 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. + * Retrieves a list of managed instance groups that are contained within the + * specified project and zone. * @example * ```js * // Before running the sample: @@ -104536,6 +102422,7 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -104544,72 +102431,112 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instanceGroupManagers.updatePerInstanceConfigs({ - * // The name of the managed instance group. - * // It should conform to RFC1035. - * instanceGroupManager: 'placeholder-value', + * const res = await compute.instanceGroupManagers.list({ + * // A filter expression that filters resources listed in the response. Most + * // Compute resources support two types of filter expressions: + * // expressions that support regular expressions and expressions that follow + * // API improvement proposal AIP-160. + * // These two types of filter expressions cannot be mixed in one request. + * // + * // If you want to use AIP-160, your expression must specify the field name, an + * // operator, and the value that you want to use for filtering. The value + * // must be a string, a number, or a boolean. The operator + * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * // + * // For example, if you are filtering Compute Engine instances, you can + * // exclude instances named `example-instance` by specifying + * // `name != example-instance`. + * // + * // The `:*` comparison can be used to test whether a key has been defined. + * // For example, to find all objects with `owner` label use: + * // ``` + * // labels.owner:* + * // ``` + * // + * // You can also filter nested fields. For example, you could specify + * // `scheduling.automaticRestart = false` to include instances only + * // if they are not scheduled for automatic restarts. You can use filtering + * // on nested fields to filter based onresource labels. + * // + * // To filter on multiple expressions, provide each separate expression within + * // parentheses. For example: + * // ``` + * // (scheduling.automaticRestart = true) + * // (cpuPlatform = "Intel Skylake") + * // ``` + * // By default, each expression is an `AND` expression. However, you + * // can include `AND` and `OR` expressions explicitly. + * // For example: + * // ``` + * // (cpuPlatform = "Intel Skylake") OR + * // (cpuPlatform = "Intel Broadwell") AND + * // (scheduling.automaticRestart = true) + * // ``` + * // + * // If you want to use a regular expression, use the `eq` (equal) or `ne` + * // (not equal) operator against a single un-parenthesized expression with or + * // without quotes or against multiple parenthesized expressions. Examples: + * // + * // `fieldname eq unquoted literal` + * // `fieldname eq 'single quoted literal'` + * // `fieldname eq "double quoted literal"` + * // `(fieldname1 eq literal) (fieldname2 ne "literal")` + * // + * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * // The literal value must match the entire field. + * // + * // For example, to filter for instances that do not end with name "instance", + * // you would use `name ne .*instance`. + * // + * // You cannot combine constraints on multiple fields using regular + * // expressions. + * filter: 'placeholder-value', + * // The maximum number of results per page that should be returned. + * // If the number of available results is larger than `maxResults`, + * // Compute Engine returns a `nextPageToken` that can be used to get + * // the next page of results in subsequent list requests. Acceptable values are + * // `0` to `500`, inclusive. (Default: `500`) + * maxResults: 'placeholder-value', + * // Sorts list results by a certain order. By default, results + * // are returned in alphanumerical order based on the resource name. + * // + * // You can also sort results in descending order based on the creation + * // timestamp using `orderBy="creationTimestamp desc"`. This sorts + * // results based on the `creationTimestamp` field in + * // reverse chronological order (newest result first). Use this to sort + * // resources like operations so that the newest operation is returned first. + * // + * // Currently, only sorting by `name` or + * // `creationTimestamp desc` is supported. + * orderBy: 'placeholder-value', + * // Specifies a page token to use. Set `pageToken` to the + * // `nextPageToken` returned by a previous list request to get + * // the next page of results. + * pageToken: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. + * // Opt-in for partial success behavior which provides partial results in case + * // of failure. The default value is false. * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * // The name of thezone - * // where the managed instance group is located. - * // It should conform to RFC1035. + * // For example, when partial success behavior is enabled, aggregatedList for a + * // single zone scope either returns all resources in the zone or no resources, + * // with an error code. + * returnPartialSuccess: 'placeholder-value', + * // The name of thezone where the managed + * // instance group is located. * zone: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "perInstanceConfigs": [] - * // } - * }, * }); * console.log(res.data); * * // Example response * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, + * // "items": [], * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", + * // "nextPageToken": "my_nextPageToken", * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" + * // "warning": {} * // } * } * @@ -104625,56 +102552,55 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - updatePerInstanceConfigs( - params: Params$Resource$Instancegroupmanagers$Updateperinstanceconfigs, + list( + params: Params$Resource$Instancegroupmanagers$List, options: StreamMethodOptions ): Promise>; - updatePerInstanceConfigs( - params?: Params$Resource$Instancegroupmanagers$Updateperinstanceconfigs, + list( + params?: Params$Resource$Instancegroupmanagers$List, options?: MethodOptions - ): Promise>; - updatePerInstanceConfigs( - params: Params$Resource$Instancegroupmanagers$Updateperinstanceconfigs, + ): Promise>; + list( + params: Params$Resource$Instancegroupmanagers$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - updatePerInstanceConfigs( - params: Params$Resource$Instancegroupmanagers$Updateperinstanceconfigs, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - updatePerInstanceConfigs( - params: Params$Resource$Instancegroupmanagers$Updateperinstanceconfigs, - callback: BodyResponseCallback + list( + params: Params$Resource$Instancegroupmanagers$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - updatePerInstanceConfigs( - callback: BodyResponseCallback + list( + params: Params$Resource$Instancegroupmanagers$List, + callback: BodyResponseCallback ): void; - updatePerInstanceConfigs( + list(callback: BodyResponseCallback): void; + list( paramsOrCallback?: - | Params$Resource$Instancegroupmanagers$Updateperinstanceconfigs - | BodyResponseCallback + | Params$Resource$Instancegroupmanagers$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instancegroupmanagers$Updateperinstanceconfigs; + {}) as Params$Resource$Instancegroupmanagers$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Instancegroupmanagers$Updateperinstanceconfigs; + params = {} as Params$Resource$Instancegroupmanagers$List; options = {}; } @@ -104689,411 +102615,7422 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/updatePerInstanceConfigs' + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone', 'instanceGroupManager'], - pathParams: ['instanceGroupManager', 'project', 'zone'], + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } - } - export interface Params$Resource$Instancegroupmanagers$Abandoninstances extends StandardParameters { - /** - * The name of the managed instance group. - */ - instanceGroupManager?: string; - /** - * Project ID for this request. - */ - project?: string; /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. + * Lists all errors thrown by actions on instances for a given managed + * instance group. The filter and orderBy query + * parameters are not supported. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of thezone where the managed - * instance group is located. - */ - zone?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$InstanceGroupManagersAbandonInstancesRequest; - } - export interface Params$Resource$Instancegroupmanagers$Aggregatedlist extends StandardParameters { - /** - * A filter expression that filters resources listed in the response. Most - * Compute resources support two types of filter expressions: - * expressions that support regular expressions and expressions that follow - * API improvement proposal AIP-160. - * These two types of filter expressions cannot be mixed in one request. + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', + * ], + * }); * - * If you want to use AIP-160, your expression must specify the field name, an - * operator, and the value that you want to use for filtering. The value - * must be a string, a number, or a boolean. The operator - * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); * - * For example, if you are filtering Compute Engine instances, you can - * exclude instances named `example-instance` by specifying - * `name != example-instance`. + * // Do the magic + * const res = await compute.instanceGroupManagers.listErrors({ + * // A filter expression that filters resources listed in the response. Most + * // Compute resources support two types of filter expressions: + * // expressions that support regular expressions and expressions that follow + * // API improvement proposal AIP-160. + * // These two types of filter expressions cannot be mixed in one request. + * // + * // If you want to use AIP-160, your expression must specify the field name, an + * // operator, and the value that you want to use for filtering. The value + * // must be a string, a number, or a boolean. The operator + * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * // + * // For example, if you are filtering Compute Engine instances, you can + * // exclude instances named `example-instance` by specifying + * // `name != example-instance`. + * // + * // The `:*` comparison can be used to test whether a key has been defined. + * // For example, to find all objects with `owner` label use: + * // ``` + * // labels.owner:* + * // ``` + * // + * // You can also filter nested fields. For example, you could specify + * // `scheduling.automaticRestart = false` to include instances only + * // if they are not scheduled for automatic restarts. You can use filtering + * // on nested fields to filter based onresource labels. + * // + * // To filter on multiple expressions, provide each separate expression within + * // parentheses. For example: + * // ``` + * // (scheduling.automaticRestart = true) + * // (cpuPlatform = "Intel Skylake") + * // ``` + * // By default, each expression is an `AND` expression. However, you + * // can include `AND` and `OR` expressions explicitly. + * // For example: + * // ``` + * // (cpuPlatform = "Intel Skylake") OR + * // (cpuPlatform = "Intel Broadwell") AND + * // (scheduling.automaticRestart = true) + * // ``` + * // + * // If you want to use a regular expression, use the `eq` (equal) or `ne` + * // (not equal) operator against a single un-parenthesized expression with or + * // without quotes or against multiple parenthesized expressions. Examples: + * // + * // `fieldname eq unquoted literal` + * // `fieldname eq 'single quoted literal'` + * // `fieldname eq "double quoted literal"` + * // `(fieldname1 eq literal) (fieldname2 ne "literal")` + * // + * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * // The literal value must match the entire field. + * // + * // For example, to filter for instances that do not end with name "instance", + * // you would use `name ne .*instance`. + * // + * // You cannot combine constraints on multiple fields using regular + * // expressions. + * filter: 'placeholder-value', + * // 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\}. + * instanceGroupManager: 'placeholder-value', + * // The maximum number of results per page that should be returned. + * // If the number of available results is larger than `maxResults`, + * // Compute Engine returns a `nextPageToken` that can be used to get + * // the next page of results in subsequent list requests. Acceptable values are + * // `0` to `500`, inclusive. (Default: `500`) + * maxResults: 'placeholder-value', + * // Sorts list results by a certain order. By default, results + * // are returned in alphanumerical order based on the resource name. + * // + * // You can also sort results in descending order based on the creation + * // timestamp using `orderBy="creationTimestamp desc"`. This sorts + * // results based on the `creationTimestamp` field in + * // reverse chronological order (newest result first). Use this to sort + * // resources like operations so that the newest operation is returned first. + * // + * // Currently, only sorting by `name` or + * // `creationTimestamp desc` is supported. + * orderBy: 'placeholder-value', + * // Specifies a page token to use. Set `pageToken` to the + * // `nextPageToken` returned by a previous list request to get + * // the next page of results. + * pageToken: 'placeholder-value', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Opt-in for partial success behavior which provides partial results in case + * // of failure. The default value is false. + * // + * // For example, when partial success behavior is enabled, aggregatedList for a + * // single zone scope either returns all resources in the zone or no resources, + * // with an error code. + * returnPartialSuccess: 'placeholder-value', + * // The name of thezone where the managed + * // instance group is located. + * // It should conform to RFC1035. + * zone: 'placeholder-value', + * }); + * console.log(res.data); * - * The `:*` comparison can be used to test whether a key has been defined. - * For example, to find all objects with `owner` label use: - * ``` - * labels.owner:* - * ``` + * // Example response + * // { + * // "items": [], + * // "nextPageToken": "my_nextPageToken" + * // } + * } * - * You can also filter nested fields. For example, you could specify - * `scheduling.automaticRestart = false` to include instances only - * if they are not scheduled for automatic restarts. You can use filtering - * on nested fields to filter based onresource labels. + * main().catch(e => { + * console.error(e); + * throw e; + * }); * - * To filter on multiple expressions, provide each separate expression within - * parentheses. For example: - * ``` - * (scheduling.automaticRestart = true) - * (cpuPlatform = "Intel Skylake") - * ``` - * By default, each expression is an `AND` expression. However, you - * can include `AND` and `OR` expressions explicitly. - * For example: - * ``` - * (cpuPlatform = "Intel Skylake") OR - * (cpuPlatform = "Intel Broadwell") AND - * (scheduling.automaticRestart = true) * ``` * - * If you want to use a regular expression, use the `eq` (equal) or `ne` - * (not equal) operator against a single un-parenthesized expression with or - * without quotes or against multiple parenthesized expressions. Examples: - * - * `fieldname eq unquoted literal` - * `fieldname eq 'single quoted literal'` - * `fieldname eq "double quoted literal"` - * `(fieldname1 eq literal) (fieldname2 ne "literal")` - * - * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * The literal value must match the entire field. - * - * For example, to filter for instances that do not end with name "instance", - * you would use `name ne .*instance`. - * - * You cannot combine constraints on multiple fields using regular - * expressions. - */ - filter?: string; - /** - * 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. - */ - includeAllScopes?: boolean; - /** - * The maximum number of results per page that should be returned. - * If the number of available results is larger than `maxResults`, - * Compute Engine returns a `nextPageToken` that can be used to get - * the next page of results in subsequent list requests. Acceptable values are - * `0` to `500`, inclusive. (Default: `500`) - */ - maxResults?: number; - /** - * Sorts list results by a certain order. By default, results - * are returned in alphanumerical order based on the resource name. - * - * You can also sort results in descending order based on the creation - * timestamp using `orderBy="creationTimestamp desc"`. This sorts - * results based on the `creationTimestamp` field in - * reverse chronological order (newest result first). Use this to sort - * resources like operations so that the newest operation is returned first. - * - * Currently, only sorting by `name` or - * `creationTimestamp desc` is supported. - */ - orderBy?: string; - /** - * Specifies a page token to use. Set `pageToken` to the - * `nextPageToken` returned by a previous list request to get - * the next page of results. - */ - pageToken?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * Opt-in for partial success behavior which provides partial results in case - * of failure. The default value is false. - * - * For example, when partial success behavior is enabled, aggregatedList for a - * single zone scope either returns all resources in the zone or no resources, - * with an error code. - */ - returnPartialSuccess?: boolean; - /** - * The Shared VPC service project id or service project number for which - * aggregated list request is invoked for subnetworks list-usable api. - */ - serviceProjectNumber?: string; - } - export interface Params$Resource$Instancegroupmanagers$Applyupdatestoinstances extends StandardParameters { - /** - * The name of the managed instance group, should conform to RFC1035. - */ - instanceGroupManager?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * The name of thezone - * where the managed instance group is located. Should conform to RFC1035. + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. */ - zone?: string; + listErrors( + params: Params$Resource$Instancegroupmanagers$Listerrors, + options: StreamMethodOptions + ): Promise>; + listErrors( + params?: Params$Resource$Instancegroupmanagers$Listerrors, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + listErrors( + params: Params$Resource$Instancegroupmanagers$Listerrors, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + listErrors( + params: Params$Resource$Instancegroupmanagers$Listerrors, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + listErrors( + params: Params$Resource$Instancegroupmanagers$Listerrors, + callback: BodyResponseCallback + ): void; + listErrors( + callback: BodyResponseCallback + ): void; + listErrors( + paramsOrCallback?: + | Params$Resource$Instancegroupmanagers$Listerrors + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Instancegroupmanagers$Listerrors; + let options = (optionsOrCallback || {}) as MethodOptions; - /** - * Request body metadata - */ - requestBody?: Schema$InstanceGroupManagersApplyUpdatesRequest; - } - export interface Params$Resource$Instancegroupmanagers$Configureacceleratortopologies extends StandardParameters { - /** - * The name of the managed instance group. - * It should conform to RFC1035. - */ - instanceGroupManager?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * 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). - */ - requestId?: string; - /** - * The name of thezone - * where the managed instance group is located. - * It should conform to RFC1035. - */ - zone?: string; + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Instancegroupmanagers$Listerrors; + options = {}; + } - /** - * Request body metadata - */ - requestBody?: Schema$InstanceGroupManagersConfigureAcceleratorTopologiesRequest; - } - export interface Params$Resource$Instancegroupmanagers$Createinstances extends StandardParameters { - /** - * The name of the managed instance group. - * It should conform to RFC1035. - */ - instanceGroupManager?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * 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). - */ - requestId?: string; - /** - * The name of thezone - * where the managed instance group is located. - * It should conform to RFC1035. - */ - zone?: string; + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/listErrors' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } /** - * Request body metadata - */ - requestBody?: Schema$InstanceGroupManagersCreateInstancesRequest; - } - export interface Params$Resource$Instancegroupmanagers$Delete extends StandardParameters { - /** - * The name of the managed instance group to delete. - */ - instanceGroupManager?: string; - /** - * When set, graceful shutdown is skipped for instance deletion even if it's - * configured for the instances. - */ - noGracefulShutdown?: boolean; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. + * 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`. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of thezone where the managed - * instance group is located. - */ - zone?: string; - } - export interface Params$Resource$Instancegroupmanagers$Deleteinstances extends StandardParameters { - /** - * The name of the managed instance group. - */ - instanceGroupManager?: string; - /** - * When set, graceful shutdown is skipped for instance deletion even if it's - * configured for the instances. - */ - noGracefulShutdown?: boolean; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', + * ], + * }); * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of thezone where the managed - * instance group is located. - */ - zone?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$InstanceGroupManagersDeleteInstancesRequest; - } - export interface Params$Resource$Instancegroupmanagers$Deleteperinstanceconfigs extends StandardParameters { - /** - * The name of the managed instance group. - * It should conform to RFC1035. - */ - instanceGroupManager?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * The name of thezone - * where the managed instance + * // Do the magic + * const res = await compute.instanceGroupManagers.listManagedInstances({ + * // A filter expression that filters resources listed in the response. Most + * // Compute resources support two types of filter expressions: + * // expressions that support regular expressions and expressions that follow + * // API improvement proposal AIP-160. + * // These two types of filter expressions cannot be mixed in one request. + * // + * // If you want to use AIP-160, your expression must specify the field name, an + * // operator, and the value that you want to use for filtering. The value + * // must be a string, a number, or a boolean. The operator + * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * // + * // For example, if you are filtering Compute Engine instances, you can + * // exclude instances named `example-instance` by specifying + * // `name != example-instance`. + * // + * // The `:*` comparison can be used to test whether a key has been defined. + * // For example, to find all objects with `owner` label use: + * // ``` + * // labels.owner:* + * // ``` + * // + * // You can also filter nested fields. For example, you could specify + * // `scheduling.automaticRestart = false` to include instances only + * // if they are not scheduled for automatic restarts. You can use filtering + * // on nested fields to filter based onresource labels. + * // + * // To filter on multiple expressions, provide each separate expression within + * // parentheses. For example: + * // ``` + * // (scheduling.automaticRestart = true) + * // (cpuPlatform = "Intel Skylake") + * // ``` + * // By default, each expression is an `AND` expression. However, you + * // can include `AND` and `OR` expressions explicitly. + * // For example: + * // ``` + * // (cpuPlatform = "Intel Skylake") OR + * // (cpuPlatform = "Intel Broadwell") AND + * // (scheduling.automaticRestart = true) + * // ``` + * // + * // If you want to use a regular expression, use the `eq` (equal) or `ne` + * // (not equal) operator against a single un-parenthesized expression with or + * // without quotes or against multiple parenthesized expressions. Examples: + * // + * // `fieldname eq unquoted literal` + * // `fieldname eq 'single quoted literal'` + * // `fieldname eq "double quoted literal"` + * // `(fieldname1 eq literal) (fieldname2 ne "literal")` + * // + * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * // The literal value must match the entire field. + * // + * // For example, to filter for instances that do not end with name "instance", + * // you would use `name ne .*instance`. + * // + * // You cannot combine constraints on multiple fields using regular + * // expressions. + * filter: 'placeholder-value', + * // The name of the managed instance group. + * instanceGroupManager: 'placeholder-value', + * // The maximum number of results per page that should be returned. + * // If the number of available results is larger than `maxResults`, + * // Compute Engine returns a `nextPageToken` that can be used to get + * // the next page of results in subsequent list requests. Acceptable values are + * // `0` to `500`, inclusive. (Default: `500`) + * maxResults: 'placeholder-value', + * // Sorts list results by a certain order. By default, results + * // are returned in alphanumerical order based on the resource name. + * // + * // You can also sort results in descending order based on the creation + * // timestamp using `orderBy="creationTimestamp desc"`. This sorts + * // results based on the `creationTimestamp` field in + * // reverse chronological order (newest result first). Use this to sort + * // resources like operations so that the newest operation is returned first. + * // + * // Currently, only sorting by `name` or + * // `creationTimestamp desc` is supported. + * orderBy: 'placeholder-value', + * // Specifies a page token to use. Set `pageToken` to the + * // `nextPageToken` returned by a previous list request to get + * // the next page of results. + * pageToken: 'placeholder-value', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Opt-in for partial success behavior which provides partial results in case + * // of failure. The default value is false. + * // + * // For example, when partial success behavior is enabled, aggregatedList for a + * // single zone scope either returns all resources in the zone or no resources, + * // with an error code. + * returnPartialSuccess: 'placeholder-value', + * // The name of thezone where the managed + * // instance group is located. + * zone: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "managedInstances": [], + * // "nextPageToken": "my_nextPageToken" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + listManagedInstances( + params: Params$Resource$Instancegroupmanagers$Listmanagedinstances, + options: StreamMethodOptions + ): Promise>; + listManagedInstances( + params?: Params$Resource$Instancegroupmanagers$Listmanagedinstances, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + listManagedInstances( + params: Params$Resource$Instancegroupmanagers$Listmanagedinstances, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + listManagedInstances( + params: Params$Resource$Instancegroupmanagers$Listmanagedinstances, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + listManagedInstances( + params: Params$Resource$Instancegroupmanagers$Listmanagedinstances, + callback: BodyResponseCallback + ): void; + listManagedInstances( + callback: BodyResponseCallback + ): void; + listManagedInstances( + paramsOrCallback?: + | Params$Resource$Instancegroupmanagers$Listmanagedinstances + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Instancegroupmanagers$Listmanagedinstances; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Instancegroupmanagers$Listmanagedinstances; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/listManagedInstances' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Lists all of the per-instance configurations defined for the managed + * instance group. The orderBy query parameter is not supported. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.instanceGroupManagers.listPerInstanceConfigs({ + * // A filter expression that filters resources listed in the response. Most + * // Compute resources support two types of filter expressions: + * // expressions that support regular expressions and expressions that follow + * // API improvement proposal AIP-160. + * // These two types of filter expressions cannot be mixed in one request. + * // + * // If you want to use AIP-160, your expression must specify the field name, an + * // operator, and the value that you want to use for filtering. The value + * // must be a string, a number, or a boolean. The operator + * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * // + * // For example, if you are filtering Compute Engine instances, you can + * // exclude instances named `example-instance` by specifying + * // `name != example-instance`. + * // + * // The `:*` comparison can be used to test whether a key has been defined. + * // For example, to find all objects with `owner` label use: + * // ``` + * // labels.owner:* + * // ``` + * // + * // You can also filter nested fields. For example, you could specify + * // `scheduling.automaticRestart = false` to include instances only + * // if they are not scheduled for automatic restarts. You can use filtering + * // on nested fields to filter based onresource labels. + * // + * // To filter on multiple expressions, provide each separate expression within + * // parentheses. For example: + * // ``` + * // (scheduling.automaticRestart = true) + * // (cpuPlatform = "Intel Skylake") + * // ``` + * // By default, each expression is an `AND` expression. However, you + * // can include `AND` and `OR` expressions explicitly. + * // For example: + * // ``` + * // (cpuPlatform = "Intel Skylake") OR + * // (cpuPlatform = "Intel Broadwell") AND + * // (scheduling.automaticRestart = true) + * // ``` + * // + * // If you want to use a regular expression, use the `eq` (equal) or `ne` + * // (not equal) operator against a single un-parenthesized expression with or + * // without quotes or against multiple parenthesized expressions. Examples: + * // + * // `fieldname eq unquoted literal` + * // `fieldname eq 'single quoted literal'` + * // `fieldname eq "double quoted literal"` + * // `(fieldname1 eq literal) (fieldname2 ne "literal")` + * // + * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * // The literal value must match the entire field. + * // + * // For example, to filter for instances that do not end with name "instance", + * // you would use `name ne .*instance`. + * // + * // You cannot combine constraints on multiple fields using regular + * // expressions. + * filter: 'placeholder-value', + * // The name of the managed instance group. It should conform to RFC1035. + * instanceGroupManager: 'placeholder-value', + * // The maximum number of results per page that should be returned. + * // If the number of available results is larger than `maxResults`, + * // Compute Engine returns a `nextPageToken` that can be used to get + * // the next page of results in subsequent list requests. Acceptable values are + * // `0` to `500`, inclusive. (Default: `500`) + * maxResults: 'placeholder-value', + * // Sorts list results by a certain order. By default, results + * // are returned in alphanumerical order based on the resource name. + * // + * // You can also sort results in descending order based on the creation + * // timestamp using `orderBy="creationTimestamp desc"`. This sorts + * // results based on the `creationTimestamp` field in + * // reverse chronological order (newest result first). Use this to sort + * // resources like operations so that the newest operation is returned first. + * // + * // Currently, only sorting by `name` or + * // `creationTimestamp desc` is supported. + * orderBy: 'placeholder-value', + * // Specifies a page token to use. Set `pageToken` to the + * // `nextPageToken` returned by a previous list request to get + * // the next page of results. + * pageToken: 'placeholder-value', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Opt-in for partial success behavior which provides partial results in case + * // of failure. The default value is false. + * // + * // For example, when partial success behavior is enabled, aggregatedList for a + * // single zone scope either returns all resources in the zone or no resources, + * // with an error code. + * returnPartialSuccess: 'placeholder-value', + * // The name of thezone + * // where the managed instance group is located. + * // It should conform to RFC1035. + * zone: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "items": [], + * // "nextPageToken": "my_nextPageToken", + * // "warning": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + listPerInstanceConfigs( + params: Params$Resource$Instancegroupmanagers$Listperinstanceconfigs, + options: StreamMethodOptions + ): Promise>; + listPerInstanceConfigs( + params?: Params$Resource$Instancegroupmanagers$Listperinstanceconfigs, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + listPerInstanceConfigs( + params: Params$Resource$Instancegroupmanagers$Listperinstanceconfigs, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + listPerInstanceConfigs( + params: Params$Resource$Instancegroupmanagers$Listperinstanceconfigs, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + listPerInstanceConfigs( + params: Params$Resource$Instancegroupmanagers$Listperinstanceconfigs, + callback: BodyResponseCallback + ): void; + listPerInstanceConfigs( + callback: BodyResponseCallback + ): void; + listPerInstanceConfigs( + paramsOrCallback?: + | Params$Resource$Instancegroupmanagers$Listperinstanceconfigs + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Instancegroupmanagers$Listperinstanceconfigs; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Instancegroupmanagers$Listperinstanceconfigs; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/listPerInstanceConfigs' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * 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 thelistManagedInstances + * method. This method supportsPATCH + * semantics and uses theJSON 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, seeUpdating instances in + * a MIG. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.instanceGroupManagers.patch({ + * // The name of the instance group manager. + * instanceGroupManager: 'placeholder-value', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // The name of the zone where + * // you want to create the managed instance group. + * zone: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "allInstancesConfig": {}, + * // "autoHealingPolicies": [], + * // "baseInstanceName": "my_baseInstanceName", + * // "creationTimestamp": "my_creationTimestamp", + * // "currentActions": {}, + * // "description": "my_description", + * // "distributionPolicy": {}, + * // "failoverAction": "my_failoverAction", + * // "fingerprint": "my_fingerprint", + * // "id": "my_id", + * // "instanceFlexibilityPolicy": {}, + * // "instanceGroup": "my_instanceGroup", + * // "instanceLifecyclePolicy": {}, + * // "instanceTemplate": "my_instanceTemplate", + * // "kind": "my_kind", + * // "listManagedInstancesResults": "my_listManagedInstancesResults", + * // "multiMig": "my_multiMig", + * // "name": "my_name", + * // "namedPorts": [], + * // "params": {}, + * // "region": "my_region", + * // "resourcePolicies": {}, + * // "satisfiesPzi": false, + * // "satisfiesPzs": false, + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "serviceAccount": "my_serviceAccount", + * // "standbyPolicy": {}, + * // "statefulPolicy": {}, + * // "status": {}, + * // "targetPools": [], + * // "targetSize": 0, + * // "targetSizePolicy": {}, + * // "targetSizeUnit": "my_targetSizeUnit", + * // "targetStoppedSize": 0, + * // "targetSuspendedSize": 0, + * // "updatePolicy": {}, + * // "versions": [], + * // "zone": "my_zone" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Instancegroupmanagers$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Instancegroupmanagers$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Instancegroupmanagers$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Instancegroupmanagers$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Instancegroupmanagers$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Instancegroupmanagers$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Instancegroupmanagers$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Instancegroupmanagers$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * 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. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.instanceGroupManagers.patchPerInstanceConfigs({ + * // The name of the managed instance group. + * // It should conform to RFC1035. + * instanceGroupManager: 'placeholder-value', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // The name of thezone + * // where the managed instance group is located. + * // It should conform to RFC1035. + * zone: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "perInstanceConfigs": [] + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patchPerInstanceConfigs( + params: Params$Resource$Instancegroupmanagers$Patchperinstanceconfigs, + options: StreamMethodOptions + ): Promise>; + patchPerInstanceConfigs( + params?: Params$Resource$Instancegroupmanagers$Patchperinstanceconfigs, + options?: MethodOptions + ): Promise>; + patchPerInstanceConfigs( + params: Params$Resource$Instancegroupmanagers$Patchperinstanceconfigs, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patchPerInstanceConfigs( + params: Params$Resource$Instancegroupmanagers$Patchperinstanceconfigs, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patchPerInstanceConfigs( + params: Params$Resource$Instancegroupmanagers$Patchperinstanceconfigs, + callback: BodyResponseCallback + ): void; + patchPerInstanceConfigs( + callback: BodyResponseCallback + ): void; + patchPerInstanceConfigs( + paramsOrCallback?: + | Params$Resource$Instancegroupmanagers$Patchperinstanceconfigs + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Instancegroupmanagers$Patchperinstanceconfigs; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Instancegroupmanagers$Patchperinstanceconfigs; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/patchPerInstanceConfigs' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * 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 itscurrentAction 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. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.instanceGroupManagers.recreateInstances({ + * // The name of the managed instance group. + * instanceGroupManager: 'placeholder-value', + * // When set, graceful shutdown is skipped for instance recreation even if it's + * // configured for the instances. + * noGracefulShutdown: 'placeholder-value', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // The name of thezone where the managed + * // instance group is located. + * zone: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "instances": [] + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + recreateInstances( + params: Params$Resource$Instancegroupmanagers$Recreateinstances, + options: StreamMethodOptions + ): Promise>; + recreateInstances( + params?: Params$Resource$Instancegroupmanagers$Recreateinstances, + options?: MethodOptions + ): Promise>; + recreateInstances( + params: Params$Resource$Instancegroupmanagers$Recreateinstances, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + recreateInstances( + params: Params$Resource$Instancegroupmanagers$Recreateinstances, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + recreateInstances( + params: Params$Resource$Instancegroupmanagers$Recreateinstances, + callback: BodyResponseCallback + ): void; + recreateInstances(callback: BodyResponseCallback): void; + recreateInstances( + paramsOrCallback?: + | Params$Resource$Instancegroupmanagers$Recreateinstances + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Instancegroupmanagers$Recreateinstances; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Instancegroupmanagers$Recreateinstances; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/recreateInstances' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * 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 markedDONE 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 thelistmanagedinstances + * 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. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.instanceGroupManagers.resize({ + * // The name of the managed instance group. + * instanceGroupManager: 'placeholder-value', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // 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. + * size: 'placeholder-value', + * // The name of thezone where the managed + * // instance group is located. + * zone: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + resize( + params: Params$Resource$Instancegroupmanagers$Resize, + options: StreamMethodOptions + ): Promise>; + resize( + params?: Params$Resource$Instancegroupmanagers$Resize, + options?: MethodOptions + ): Promise>; + resize( + params: Params$Resource$Instancegroupmanagers$Resize, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + resize( + params: Params$Resource$Instancegroupmanagers$Resize, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + resize( + params: Params$Resource$Instancegroupmanagers$Resize, + callback: BodyResponseCallback + ): void; + resize(callback: BodyResponseCallback): void; + resize( + paramsOrCallback?: + | Params$Resource$Instancegroupmanagers$Resize + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Instancegroupmanagers$Resize; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Instancegroupmanagers$Resize; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resize' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'instanceGroupManager', 'size'], + pathParams: ['instanceGroupManager', 'project', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Resizes the managed instance group with advanced configuration options like + * disabling creation retries. This is an extended version of theresize 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 markedDONE 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 + * orlistmanagedinstances + * 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. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.instanceGroupManagers.resizeAdvanced({ + * // The name of the managed instance group. + * instanceGroupManager: 'placeholder-value', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // The name of thezone where the managed + * // instance group is located. + * zone: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "noCreationRetries": false, + * // "scaleInProtection": false, + * // "targetSize": 0 + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + resizeAdvanced( + params: Params$Resource$Instancegroupmanagers$Resizeadvanced, + options: StreamMethodOptions + ): Promise>; + resizeAdvanced( + params?: Params$Resource$Instancegroupmanagers$Resizeadvanced, + options?: MethodOptions + ): Promise>; + resizeAdvanced( + params: Params$Resource$Instancegroupmanagers$Resizeadvanced, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + resizeAdvanced( + params: Params$Resource$Instancegroupmanagers$Resizeadvanced, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + resizeAdvanced( + params: Params$Resource$Instancegroupmanagers$Resizeadvanced, + callback: BodyResponseCallback + ): void; + resizeAdvanced(callback: BodyResponseCallback): void; + resizeAdvanced( + paramsOrCallback?: + | Params$Resource$Instancegroupmanagers$Resizeadvanced + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Instancegroupmanagers$Resizeadvanced; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Instancegroupmanagers$Resizeadvanced; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resizeAdvanced' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Flags the specified instances in the managed instance group to be + * resumed. This method increases thetargetSize 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 theRESUMING action with thelistmanagedinstances + * 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. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.instanceGroupManagers.resumeInstances({ + * // The name of the managed instance group. + * instanceGroupManager: 'placeholder-value', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // The name of thezone where the managed + * // instance group is located. + * zone: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "instances": [] + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + resumeInstances( + params: Params$Resource$Instancegroupmanagers$Resumeinstances, + options: StreamMethodOptions + ): Promise>; + resumeInstances( + params?: Params$Resource$Instancegroupmanagers$Resumeinstances, + options?: MethodOptions + ): Promise>; + resumeInstances( + params: Params$Resource$Instancegroupmanagers$Resumeinstances, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + resumeInstances( + params: Params$Resource$Instancegroupmanagers$Resumeinstances, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + resumeInstances( + params: Params$Resource$Instancegroupmanagers$Resumeinstances, + callback: BodyResponseCallback + ): void; + resumeInstances(callback: BodyResponseCallback): void; + resumeInstances( + paramsOrCallback?: + | Params$Resource$Instancegroupmanagers$Resumeinstances + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Instancegroupmanagers$Resumeinstances; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Instancegroupmanagers$Resumeinstances; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resumeInstances' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Motifies the autohealing policy for the instances in this managed + * instance group. + * [Deprecated] This method is deprecated. UseinstanceGroupManagers.patch instead. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.instanceGroupManagers.setAutoHealingPolicies({ + * // The name of the instance group manager. + * instanceGroupManager: 'placeholder-value', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // The name of thezone where the managed + * // instance group is located. + * zone: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "autoHealingPolicies": [] + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + setAutoHealingPolicies( + params: Params$Resource$Instancegroupmanagers$Setautohealingpolicies, + options: StreamMethodOptions + ): Promise>; + setAutoHealingPolicies( + params?: Params$Resource$Instancegroupmanagers$Setautohealingpolicies, + options?: MethodOptions + ): Promise>; + setAutoHealingPolicies( + params: Params$Resource$Instancegroupmanagers$Setautohealingpolicies, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setAutoHealingPolicies( + params: Params$Resource$Instancegroupmanagers$Setautohealingpolicies, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setAutoHealingPolicies( + params: Params$Resource$Instancegroupmanagers$Setautohealingpolicies, + callback: BodyResponseCallback + ): void; + setAutoHealingPolicies( + callback: BodyResponseCallback + ): void; + setAutoHealingPolicies( + paramsOrCallback?: + | Params$Resource$Instancegroupmanagers$Setautohealingpolicies + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Instancegroupmanagers$Setautohealingpolicies; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Instancegroupmanagers$Setautohealingpolicies; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setAutoHealingPolicies' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * 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, runapplyUpdatesToInstances, or set the group'supdatePolicy.type to PROACTIVE. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.instanceGroupManagers.setInstanceTemplate({ + * // The name of the managed instance group. + * instanceGroupManager: 'placeholder-value', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // The name of thezone where the managed + * // instance group is located. + * zone: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "instanceTemplate": "my_instanceTemplate" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + setInstanceTemplate( + params: Params$Resource$Instancegroupmanagers$Setinstancetemplate, + options: StreamMethodOptions + ): Promise>; + setInstanceTemplate( + params?: Params$Resource$Instancegroupmanagers$Setinstancetemplate, + options?: MethodOptions + ): Promise>; + setInstanceTemplate( + params: Params$Resource$Instancegroupmanagers$Setinstancetemplate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setInstanceTemplate( + params: Params$Resource$Instancegroupmanagers$Setinstancetemplate, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setInstanceTemplate( + params: Params$Resource$Instancegroupmanagers$Setinstancetemplate, + callback: BodyResponseCallback + ): void; + setInstanceTemplate(callback: BodyResponseCallback): void; + setInstanceTemplate( + paramsOrCallback?: + | Params$Resource$Instancegroupmanagers$Setinstancetemplate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Instancegroupmanagers$Setinstancetemplate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Instancegroupmanagers$Setinstancetemplate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setInstanceTemplate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * 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 markedDONE 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. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.instanceGroupManagers.setTargetPools({ + * // The name of the managed instance group. + * instanceGroupManager: 'placeholder-value', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // The name of thezone where the managed + * // instance group is located. + * zone: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "fingerprint": "my_fingerprint", + * // "targetPools": [] + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + setTargetPools( + params: Params$Resource$Instancegroupmanagers$Settargetpools, + options: StreamMethodOptions + ): Promise>; + setTargetPools( + params?: Params$Resource$Instancegroupmanagers$Settargetpools, + options?: MethodOptions + ): Promise>; + setTargetPools( + params: Params$Resource$Instancegroupmanagers$Settargetpools, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setTargetPools( + params: Params$Resource$Instancegroupmanagers$Settargetpools, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setTargetPools( + params: Params$Resource$Instancegroupmanagers$Settargetpools, + callback: BodyResponseCallback + ): void; + setTargetPools(callback: BodyResponseCallback): void; + setTargetPools( + paramsOrCallback?: + | Params$Resource$Instancegroupmanagers$Settargetpools + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Instancegroupmanagers$Settargetpools; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Instancegroupmanagers$Settargetpools; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setTargetPools' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Flags the specified instances in the managed instance group to be + * started. This method increases thetargetSize 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 theSTARTING action with thelistmanagedinstances + * 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. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.instanceGroupManagers.startInstances({ + * // The name of the managed instance group. + * instanceGroupManager: 'placeholder-value', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // The name of thezone where the managed + * // instance group is located. + * zone: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "instances": [] + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + startInstances( + params: Params$Resource$Instancegroupmanagers$Startinstances, + options: StreamMethodOptions + ): Promise>; + startInstances( + params?: Params$Resource$Instancegroupmanagers$Startinstances, + options?: MethodOptions + ): Promise>; + startInstances( + params: Params$Resource$Instancegroupmanagers$Startinstances, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + startInstances( + params: Params$Resource$Instancegroupmanagers$Startinstances, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + startInstances( + params: Params$Resource$Instancegroupmanagers$Startinstances, + callback: BodyResponseCallback + ): void; + startInstances(callback: BodyResponseCallback): void; + startInstances( + paramsOrCallback?: + | Params$Resource$Instancegroupmanagers$Startinstances + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Instancegroupmanagers$Startinstances; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Instancegroupmanagers$Startinstances; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/startInstances' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * 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 thetargetSize 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 theSTOPPING action with thelistmanagedinstances + * 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 thaninitialDelaySec seconds have passed sinceinstance.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. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.instanceGroupManagers.stopInstances({ + * // The name of the managed instance group. + * instanceGroupManager: 'placeholder-value', + * // When set, graceful shutdown is skipped for instance stopping even if it's + * // configured for the instances. + * noGracefulShutdown: 'placeholder-value', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // The name of thezone where the managed + * // instance group is located. + * zone: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "forceStop": false, + * // "instances": [] + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + stopInstances( + params: Params$Resource$Instancegroupmanagers$Stopinstances, + options: StreamMethodOptions + ): Promise>; + stopInstances( + params?: Params$Resource$Instancegroupmanagers$Stopinstances, + options?: MethodOptions + ): Promise>; + stopInstances( + params: Params$Resource$Instancegroupmanagers$Stopinstances, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + stopInstances( + params: Params$Resource$Instancegroupmanagers$Stopinstances, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + stopInstances( + params: Params$Resource$Instancegroupmanagers$Stopinstances, + callback: BodyResponseCallback + ): void; + stopInstances(callback: BodyResponseCallback): void; + stopInstances( + paramsOrCallback?: + | Params$Resource$Instancegroupmanagers$Stopinstances + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Instancegroupmanagers$Stopinstances; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Instancegroupmanagers$Stopinstances; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/stopInstances' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * 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 thetargetSize 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 theSUSPENDING action with thelistmanagedinstances + * 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 thaninitialDelaySec seconds have passed sinceinstance.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. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.instanceGroupManagers.suspendInstances({ + * // The name of the managed instance group. + * instanceGroupManager: 'placeholder-value', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // The name of thezone where the managed + * // instance group is located. + * zone: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "forceSuspend": false, + * // "instances": [] + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + suspendInstances( + params: Params$Resource$Instancegroupmanagers$Suspendinstances, + options: StreamMethodOptions + ): Promise>; + suspendInstances( + params?: Params$Resource$Instancegroupmanagers$Suspendinstances, + options?: MethodOptions + ): Promise>; + suspendInstances( + params: Params$Resource$Instancegroupmanagers$Suspendinstances, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + suspendInstances( + params: Params$Resource$Instancegroupmanagers$Suspendinstances, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + suspendInstances( + params: Params$Resource$Instancegroupmanagers$Suspendinstances, + callback: BodyResponseCallback + ): void; + suspendInstances(callback: BodyResponseCallback): void; + suspendInstances( + paramsOrCallback?: + | Params$Resource$Instancegroupmanagers$Suspendinstances + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Instancegroupmanagers$Suspendinstances; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Instancegroupmanagers$Suspendinstances; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/suspendInstances' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Returns permissions that a caller has on the specified resource. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.instanceGroupManagers.testIamPermissions({ + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Name or id of the resource for this request. + * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // The name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "permissions": [] + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "permissions": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + testIamPermissions( + params: Params$Resource$Instancegroupmanagers$Testiampermissions, + options: StreamMethodOptions + ): Promise>; + testIamPermissions( + params?: Params$Resource$Instancegroupmanagers$Testiampermissions, + options?: MethodOptions + ): Promise>; + testIamPermissions( + params: Params$Resource$Instancegroupmanagers$Testiampermissions, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Instancegroupmanagers$Testiampermissions, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Instancegroupmanagers$Testiampermissions, + callback: BodyResponseCallback + ): void; + testIamPermissions( + callback: BodyResponseCallback + ): void; + testIamPermissions( + paramsOrCallback?: + | Params$Resource$Instancegroupmanagers$Testiampermissions + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Instancegroupmanagers$Testiampermissions; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Instancegroupmanagers$Testiampermissions; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{resource}/testIamPermissions' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'resource'], + pathParams: ['project', 'resource', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * 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 thelistManagedInstances + * 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, seeUpdating instances in + * a MIG. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.instanceGroupManagers.update({ + * // The name of the instance group manager. + * instanceGroupManager: 'placeholder-value', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // The name of the zone + * // where you want to create the managed instance group. + * zone: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "allInstancesConfig": {}, + * // "autoHealingPolicies": [], + * // "baseInstanceName": "my_baseInstanceName", + * // "creationTimestamp": "my_creationTimestamp", + * // "currentActions": {}, + * // "description": "my_description", + * // "distributionPolicy": {}, + * // "failoverAction": "my_failoverAction", + * // "fingerprint": "my_fingerprint", + * // "id": "my_id", + * // "instanceFlexibilityPolicy": {}, + * // "instanceGroup": "my_instanceGroup", + * // "instanceLifecyclePolicy": {}, + * // "instanceTemplate": "my_instanceTemplate", + * // "kind": "my_kind", + * // "listManagedInstancesResults": "my_listManagedInstancesResults", + * // "multiMig": "my_multiMig", + * // "name": "my_name", + * // "namedPorts": [], + * // "params": {}, + * // "region": "my_region", + * // "resourcePolicies": {}, + * // "satisfiesPzi": false, + * // "satisfiesPzs": false, + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "serviceAccount": "my_serviceAccount", + * // "standbyPolicy": {}, + * // "statefulPolicy": {}, + * // "status": {}, + * // "targetPools": [], + * // "targetSize": 0, + * // "targetSizePolicy": {}, + * // "targetSizeUnit": "my_targetSizeUnit", + * // "targetStoppedSize": 0, + * // "targetSuspendedSize": 0, + * // "updatePolicy": {}, + * // "versions": [], + * // "zone": "my_zone" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + update( + params: Params$Resource$Instancegroupmanagers$Update, + options: StreamMethodOptions + ): Promise>; + update( + params?: Params$Resource$Instancegroupmanagers$Update, + options?: MethodOptions + ): Promise>; + update( + params: Params$Resource$Instancegroupmanagers$Update, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + update( + params: Params$Resource$Instancegroupmanagers$Update, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + update( + params: Params$Resource$Instancegroupmanagers$Update, + callback: BodyResponseCallback + ): void; + update(callback: BodyResponseCallback): void; + update( + paramsOrCallback?: + | Params$Resource$Instancegroupmanagers$Update + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Instancegroupmanagers$Update; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Instancegroupmanagers$Update; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'PUT', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * 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. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.instanceGroupManagers.updatePerInstanceConfigs({ + * // The name of the managed instance group. + * // It should conform to RFC1035. + * instanceGroupManager: 'placeholder-value', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // The name of thezone + * // where the managed instance group is located. + * // It should conform to RFC1035. + * zone: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "perInstanceConfigs": [] + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + updatePerInstanceConfigs( + params: Params$Resource$Instancegroupmanagers$Updateperinstanceconfigs, + options: StreamMethodOptions + ): Promise>; + updatePerInstanceConfigs( + params?: Params$Resource$Instancegroupmanagers$Updateperinstanceconfigs, + options?: MethodOptions + ): Promise>; + updatePerInstanceConfigs( + params: Params$Resource$Instancegroupmanagers$Updateperinstanceconfigs, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + updatePerInstanceConfigs( + params: Params$Resource$Instancegroupmanagers$Updateperinstanceconfigs, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + updatePerInstanceConfigs( + params: Params$Resource$Instancegroupmanagers$Updateperinstanceconfigs, + callback: BodyResponseCallback + ): void; + updatePerInstanceConfigs( + callback: BodyResponseCallback + ): void; + updatePerInstanceConfigs( + paramsOrCallback?: + | Params$Resource$Instancegroupmanagers$Updateperinstanceconfigs + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Instancegroupmanagers$Updateperinstanceconfigs; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Instancegroupmanagers$Updateperinstanceconfigs; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/updatePerInstanceConfigs' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Instancegroupmanagers$Abandoninstances extends StandardParameters { + /** + * The name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of thezone where the managed + * instance group is located. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupManagersAbandonInstancesRequest; + } + export interface Params$Resource$Instancegroupmanagers$Aggregatedlist extends StandardParameters { + /** + * A filter expression that filters resources listed in the response. Most + * Compute resources support two types of filter expressions: + * expressions that support regular expressions and expressions that follow + * API improvement proposal AIP-160. + * These two types of filter expressions cannot be mixed in one request. + * + * If you want to use AIP-160, your expression must specify the field name, an + * operator, and the value that you want to use for filtering. The value + * must be a string, a number, or a boolean. The operator + * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * + * For example, if you are filtering Compute Engine instances, you can + * exclude instances named `example-instance` by specifying + * `name != example-instance`. + * + * The `:*` comparison can be used to test whether a key has been defined. + * For example, to find all objects with `owner` label use: + * ``` + * labels.owner:* + * ``` + * + * You can also filter nested fields. For example, you could specify + * `scheduling.automaticRestart = false` to include instances only + * if they are not scheduled for automatic restarts. You can use filtering + * on nested fields to filter based onresource labels. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example: + * ``` + * (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake") + * ``` + * By default, each expression is an `AND` expression. However, you + * can include `AND` and `OR` expressions explicitly. + * For example: + * ``` + * (cpuPlatform = "Intel Skylake") OR + * (cpuPlatform = "Intel Broadwell") AND + * (scheduling.automaticRestart = true) + * ``` + * + * If you want to use a regular expression, use the `eq` (equal) or `ne` + * (not equal) operator against a single un-parenthesized expression with or + * without quotes or against multiple parenthesized expressions. Examples: + * + * `fieldname eq unquoted literal` + * `fieldname eq 'single quoted literal'` + * `fieldname eq "double quoted literal"` + * `(fieldname1 eq literal) (fieldname2 ne "literal")` + * + * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * The literal value must match the entire field. + * + * For example, to filter for instances that do not end with name "instance", + * you would use `name ne .*instance`. + * + * You cannot combine constraints on multiple fields using regular + * expressions. + */ + filter?: string; + /** + * 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. + */ + includeAllScopes?: boolean; + /** + * The maximum number of results per page that should be returned. + * If the number of available results is larger than `maxResults`, + * Compute Engine returns a `nextPageToken` that can be used to get + * the next page of results in subsequent list requests. Acceptable values are + * `0` to `500`, inclusive. (Default: `500`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results + * are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation + * timestamp using `orderBy="creationTimestamp desc"`. This sorts + * results based on the `creationTimestamp` field in + * reverse chronological order (newest result first). Use this to sort + * resources like operations so that the newest operation is returned first. + * + * Currently, only sorting by `name` or + * `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the + * `nextPageToken` returned by a previous list request to get + * the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Opt-in for partial success behavior which provides partial results in case + * of failure. The default value is false. + * + * For example, when partial success behavior is enabled, aggregatedList for a + * single zone scope either returns all resources in the zone or no resources, + * with an error code. + */ + returnPartialSuccess?: boolean; + /** + * The Shared VPC service project id or service project number for which + * aggregated list request is invoked for subnetworks list-usable api. + */ + serviceProjectNumber?: string; + } + export interface Params$Resource$Instancegroupmanagers$Applyupdatestoinstances extends StandardParameters { + /** + * The name of the managed instance group, should conform to RFC1035. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of thezone + * where the managed instance group is located. Should conform to RFC1035. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupManagersApplyUpdatesRequest; + } + export interface Params$Resource$Instancegroupmanagers$Configureacceleratortopologies extends StandardParameters { + /** + * The name of the managed instance group. + * It should conform to RFC1035. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * 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). + */ + requestId?: string; + /** + * The name of thezone + * where the managed instance group is located. + * It should conform to RFC1035. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupManagersConfigureAcceleratorTopologiesRequest; + } + export interface Params$Resource$Instancegroupmanagers$Createinstances extends StandardParameters { + /** + * The name of the managed instance group. + * It should conform to RFC1035. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * 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). + */ + requestId?: string; + /** + * The name of thezone + * where the managed instance group is located. + * It should conform to RFC1035. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupManagersCreateInstancesRequest; + } + export interface Params$Resource$Instancegroupmanagers$Delete extends StandardParameters { + /** + * The name of the managed instance group to delete. + */ + instanceGroupManager?: string; + /** + * When set, graceful shutdown is skipped for instance deletion even if it's + * configured for the instances. + */ + noGracefulShutdown?: boolean; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of thezone where the managed + * instance group is located. + */ + zone?: string; + } + export interface Params$Resource$Instancegroupmanagers$Deleteinstances extends StandardParameters { + /** + * The name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * When set, graceful shutdown is skipped for instance deletion even if it's + * configured for the instances. + */ + noGracefulShutdown?: boolean; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of thezone where the managed + * instance group is located. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupManagersDeleteInstancesRequest; + } + export interface Params$Resource$Instancegroupmanagers$Deleteperinstanceconfigs extends StandardParameters { + /** + * The name of the managed instance group. + * It should conform to RFC1035. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of thezone + * where the managed instance * group is located. * It should conform to RFC1035. */ - zone?: string; + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupManagersDeletePerInstanceConfigsReq; + } + export interface Params$Resource$Instancegroupmanagers$Get extends StandardParameters { + /** + * The name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of thezone where the managed + * instance group is located. + */ + zone?: string; + } + export interface Params$Resource$Instancegroupmanagers$Getavailableacceleratortopologies extends StandardParameters { + /** + * Required. Project ID for this request. + */ + project?: string; + /** + * Required. The name of the managed instance group. + * It should conform to RFC1035. + */ + resourceId?: string; + /** + * Required. The name of thezone where the managed + * instance group is located. + * Name should conform to RFC1035. + */ + zone?: string; + } + export interface Params$Resource$Instancegroupmanagers$Insert extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone + * where you want to create the managed instance group. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupManager; + } + export interface Params$Resource$Instancegroupmanagers$List extends StandardParameters { + /** + * A filter expression that filters resources listed in the response. Most + * Compute resources support two types of filter expressions: + * expressions that support regular expressions and expressions that follow + * API improvement proposal AIP-160. + * These two types of filter expressions cannot be mixed in one request. + * + * If you want to use AIP-160, your expression must specify the field name, an + * operator, and the value that you want to use for filtering. The value + * must be a string, a number, or a boolean. The operator + * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * + * For example, if you are filtering Compute Engine instances, you can + * exclude instances named `example-instance` by specifying + * `name != example-instance`. + * + * The `:*` comparison can be used to test whether a key has been defined. + * For example, to find all objects with `owner` label use: + * ``` + * labels.owner:* + * ``` + * + * You can also filter nested fields. For example, you could specify + * `scheduling.automaticRestart = false` to include instances only + * if they are not scheduled for automatic restarts. You can use filtering + * on nested fields to filter based onresource labels. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example: + * ``` + * (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake") + * ``` + * By default, each expression is an `AND` expression. However, you + * can include `AND` and `OR` expressions explicitly. + * For example: + * ``` + * (cpuPlatform = "Intel Skylake") OR + * (cpuPlatform = "Intel Broadwell") AND + * (scheduling.automaticRestart = true) + * ``` + * + * If you want to use a regular expression, use the `eq` (equal) or `ne` + * (not equal) operator against a single un-parenthesized expression with or + * without quotes or against multiple parenthesized expressions. Examples: + * + * `fieldname eq unquoted literal` + * `fieldname eq 'single quoted literal'` + * `fieldname eq "double quoted literal"` + * `(fieldname1 eq literal) (fieldname2 ne "literal")` + * + * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * The literal value must match the entire field. + * + * For example, to filter for instances that do not end with name "instance", + * you would use `name ne .*instance`. + * + * You cannot combine constraints on multiple fields using regular + * expressions. + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. + * If the number of available results is larger than `maxResults`, + * Compute Engine returns a `nextPageToken` that can be used to get + * the next page of results in subsequent list requests. Acceptable values are + * `0` to `500`, inclusive. (Default: `500`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results + * are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation + * timestamp using `orderBy="creationTimestamp desc"`. This sorts + * results based on the `creationTimestamp` field in + * reverse chronological order (newest result first). Use this to sort + * resources like operations so that the newest operation is returned first. + * + * Currently, only sorting by `name` or + * `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the + * `nextPageToken` returned by a previous list request to get + * the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Opt-in for partial success behavior which provides partial results in case + * of failure. The default value is false. + * + * For example, when partial success behavior is enabled, aggregatedList for a + * single zone scope either returns all resources in the zone or no resources, + * with an error code. + */ + returnPartialSuccess?: boolean; + /** + * The name of thezone where the managed + * instance group is located. + */ + zone?: string; + } + export interface Params$Resource$Instancegroupmanagers$Listerrors extends StandardParameters { + /** + * A filter expression that filters resources listed in the response. Most + * Compute resources support two types of filter expressions: + * expressions that support regular expressions and expressions that follow + * API improvement proposal AIP-160. + * These two types of filter expressions cannot be mixed in one request. + * + * If you want to use AIP-160, your expression must specify the field name, an + * operator, and the value that you want to use for filtering. The value + * must be a string, a number, or a boolean. The operator + * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * + * For example, if you are filtering Compute Engine instances, you can + * exclude instances named `example-instance` by specifying + * `name != example-instance`. + * + * The `:*` comparison can be used to test whether a key has been defined. + * For example, to find all objects with `owner` label use: + * ``` + * labels.owner:* + * ``` + * + * You can also filter nested fields. For example, you could specify + * `scheduling.automaticRestart = false` to include instances only + * if they are not scheduled for automatic restarts. You can use filtering + * on nested fields to filter based onresource labels. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example: + * ``` + * (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake") + * ``` + * By default, each expression is an `AND` expression. However, you + * can include `AND` and `OR` expressions explicitly. + * For example: + * ``` + * (cpuPlatform = "Intel Skylake") OR + * (cpuPlatform = "Intel Broadwell") AND + * (scheduling.automaticRestart = true) + * ``` + * + * If you want to use a regular expression, use the `eq` (equal) or `ne` + * (not equal) operator against a single un-parenthesized expression with or + * without quotes or against multiple parenthesized expressions. Examples: + * + * `fieldname eq unquoted literal` + * `fieldname eq 'single quoted literal'` + * `fieldname eq "double quoted literal"` + * `(fieldname1 eq literal) (fieldname2 ne "literal")` + * + * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * The literal value must match the entire field. + * + * For example, to filter for instances that do not end with name "instance", + * you would use `name ne .*instance`. + * + * You cannot combine constraints on multiple fields using regular + * expressions. + */ + filter?: string; + /** + * 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\}. + */ + instanceGroupManager?: string; + /** + * The maximum number of results per page that should be returned. + * If the number of available results is larger than `maxResults`, + * Compute Engine returns a `nextPageToken` that can be used to get + * the next page of results in subsequent list requests. Acceptable values are + * `0` to `500`, inclusive. (Default: `500`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results + * are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation + * timestamp using `orderBy="creationTimestamp desc"`. This sorts + * results based on the `creationTimestamp` field in + * reverse chronological order (newest result first). Use this to sort + * resources like operations so that the newest operation is returned first. + * + * Currently, only sorting by `name` or + * `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the + * `nextPageToken` returned by a previous list request to get + * the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Opt-in for partial success behavior which provides partial results in case + * of failure. The default value is false. + * + * For example, when partial success behavior is enabled, aggregatedList for a + * single zone scope either returns all resources in the zone or no resources, + * with an error code. + */ + returnPartialSuccess?: boolean; + /** + * The name of thezone where the managed + * instance group is located. + * It should conform to RFC1035. + */ + zone?: string; + } + export interface Params$Resource$Instancegroupmanagers$Listmanagedinstances extends StandardParameters { + /** + * A filter expression that filters resources listed in the response. Most + * Compute resources support two types of filter expressions: + * expressions that support regular expressions and expressions that follow + * API improvement proposal AIP-160. + * These two types of filter expressions cannot be mixed in one request. + * + * If you want to use AIP-160, your expression must specify the field name, an + * operator, and the value that you want to use for filtering. The value + * must be a string, a number, or a boolean. The operator + * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * + * For example, if you are filtering Compute Engine instances, you can + * exclude instances named `example-instance` by specifying + * `name != example-instance`. + * + * The `:*` comparison can be used to test whether a key has been defined. + * For example, to find all objects with `owner` label use: + * ``` + * labels.owner:* + * ``` + * + * You can also filter nested fields. For example, you could specify + * `scheduling.automaticRestart = false` to include instances only + * if they are not scheduled for automatic restarts. You can use filtering + * on nested fields to filter based onresource labels. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example: + * ``` + * (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake") + * ``` + * By default, each expression is an `AND` expression. However, you + * can include `AND` and `OR` expressions explicitly. + * For example: + * ``` + * (cpuPlatform = "Intel Skylake") OR + * (cpuPlatform = "Intel Broadwell") AND + * (scheduling.automaticRestart = true) + * ``` + * + * If you want to use a regular expression, use the `eq` (equal) or `ne` + * (not equal) operator against a single un-parenthesized expression with or + * without quotes or against multiple parenthesized expressions. Examples: + * + * `fieldname eq unquoted literal` + * `fieldname eq 'single quoted literal'` + * `fieldname eq "double quoted literal"` + * `(fieldname1 eq literal) (fieldname2 ne "literal")` + * + * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * The literal value must match the entire field. + * + * For example, to filter for instances that do not end with name "instance", + * you would use `name ne .*instance`. + * + * You cannot combine constraints on multiple fields using regular + * expressions. + */ + filter?: string; + /** + * The name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * The maximum number of results per page that should be returned. + * If the number of available results is larger than `maxResults`, + * Compute Engine returns a `nextPageToken` that can be used to get + * the next page of results in subsequent list requests. Acceptable values are + * `0` to `500`, inclusive. (Default: `500`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results + * are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation + * timestamp using `orderBy="creationTimestamp desc"`. This sorts + * results based on the `creationTimestamp` field in + * reverse chronological order (newest result first). Use this to sort + * resources like operations so that the newest operation is returned first. + * + * Currently, only sorting by `name` or + * `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the + * `nextPageToken` returned by a previous list request to get + * the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Opt-in for partial success behavior which provides partial results in case + * of failure. The default value is false. + * + * For example, when partial success behavior is enabled, aggregatedList for a + * single zone scope either returns all resources in the zone or no resources, + * with an error code. + */ + returnPartialSuccess?: boolean; + /** + * The name of thezone where the managed + * instance group is located. + */ + zone?: string; + } + export interface Params$Resource$Instancegroupmanagers$Listperinstanceconfigs extends StandardParameters { + /** + * A filter expression that filters resources listed in the response. Most + * Compute resources support two types of filter expressions: + * expressions that support regular expressions and expressions that follow + * API improvement proposal AIP-160. + * These two types of filter expressions cannot be mixed in one request. + * + * If you want to use AIP-160, your expression must specify the field name, an + * operator, and the value that you want to use for filtering. The value + * must be a string, a number, or a boolean. The operator + * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * + * For example, if you are filtering Compute Engine instances, you can + * exclude instances named `example-instance` by specifying + * `name != example-instance`. + * + * The `:*` comparison can be used to test whether a key has been defined. + * For example, to find all objects with `owner` label use: + * ``` + * labels.owner:* + * ``` + * + * You can also filter nested fields. For example, you could specify + * `scheduling.automaticRestart = false` to include instances only + * if they are not scheduled for automatic restarts. You can use filtering + * on nested fields to filter based onresource labels. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example: + * ``` + * (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake") + * ``` + * By default, each expression is an `AND` expression. However, you + * can include `AND` and `OR` expressions explicitly. + * For example: + * ``` + * (cpuPlatform = "Intel Skylake") OR + * (cpuPlatform = "Intel Broadwell") AND + * (scheduling.automaticRestart = true) + * ``` + * + * If you want to use a regular expression, use the `eq` (equal) or `ne` + * (not equal) operator against a single un-parenthesized expression with or + * without quotes or against multiple parenthesized expressions. Examples: + * + * `fieldname eq unquoted literal` + * `fieldname eq 'single quoted literal'` + * `fieldname eq "double quoted literal"` + * `(fieldname1 eq literal) (fieldname2 ne "literal")` + * + * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * The literal value must match the entire field. + * + * For example, to filter for instances that do not end with name "instance", + * you would use `name ne .*instance`. + * + * You cannot combine constraints on multiple fields using regular + * expressions. + */ + filter?: string; + /** + * The name of the managed instance group. It should conform to RFC1035. + */ + instanceGroupManager?: string; + /** + * The maximum number of results per page that should be returned. + * If the number of available results is larger than `maxResults`, + * Compute Engine returns a `nextPageToken` that can be used to get + * the next page of results in subsequent list requests. Acceptable values are + * `0` to `500`, inclusive. (Default: `500`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results + * are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation + * timestamp using `orderBy="creationTimestamp desc"`. This sorts + * results based on the `creationTimestamp` field in + * reverse chronological order (newest result first). Use this to sort + * resources like operations so that the newest operation is returned first. + * + * Currently, only sorting by `name` or + * `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the + * `nextPageToken` returned by a previous list request to get + * the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Opt-in for partial success behavior which provides partial results in case + * of failure. The default value is false. + * + * For example, when partial success behavior is enabled, aggregatedList for a + * single zone scope either returns all resources in the zone or no resources, + * with an error code. + */ + returnPartialSuccess?: boolean; + /** + * The name of thezone + * where the managed instance group is located. + * It should conform to RFC1035. + */ + zone?: string; + } + export interface Params$Resource$Instancegroupmanagers$Patch extends StandardParameters { + /** + * The name of the instance group manager. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone where + * you want to create the managed instance group. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupManager; + } + export interface Params$Resource$Instancegroupmanagers$Patchperinstanceconfigs extends StandardParameters { + /** + * The name of the managed instance group. + * It should conform to RFC1035. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of thezone + * where the managed instance group is located. + * It should conform to RFC1035. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupManagersPatchPerInstanceConfigsReq; + } + export interface Params$Resource$Instancegroupmanagers$Recreateinstances extends StandardParameters { + /** + * The name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * When set, graceful shutdown is skipped for instance recreation even if it's + * configured for the instances. + */ + noGracefulShutdown?: boolean; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of thezone where the managed + * instance group is located. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupManagersRecreateInstancesRequest; + } + export interface Params$Resource$Instancegroupmanagers$Resize extends StandardParameters { + /** + * The name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * 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. + */ + size?: number; + /** + * The name of thezone where the managed + * instance group is located. + */ + zone?: string; + } + export interface Params$Resource$Instancegroupmanagers$Resizeadvanced extends StandardParameters { + /** + * The name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of thezone where the managed + * instance group is located. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupManagersResizeAdvancedRequest; + } + export interface Params$Resource$Instancegroupmanagers$Resumeinstances extends StandardParameters { + /** + * The name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of thezone where the managed + * instance group is located. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupManagersResumeInstancesRequest; + } + export interface Params$Resource$Instancegroupmanagers$Setautohealingpolicies extends StandardParameters { + /** + * The name of the instance group manager. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of thezone where the managed + * instance group is located. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupManagersSetAutoHealingRequest; + } + export interface Params$Resource$Instancegroupmanagers$Setinstancetemplate extends StandardParameters { + /** + * The name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of thezone where the managed + * instance group is located. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupManagersSetInstanceTemplateRequest; + } + export interface Params$Resource$Instancegroupmanagers$Settargetpools extends StandardParameters { + /** + * The name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of thezone where the managed + * instance group is located. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupManagersSetTargetPoolsRequest; + } + export interface Params$Resource$Instancegroupmanagers$Startinstances extends StandardParameters { + /** + * The name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of thezone where the managed + * instance group is located. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupManagersStartInstancesRequest; + } + export interface Params$Resource$Instancegroupmanagers$Stopinstances extends StandardParameters { + /** + * The name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * When set, graceful shutdown is skipped for instance stopping even if it's + * configured for the instances. + */ + noGracefulShutdown?: boolean; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of thezone where the managed + * instance group is located. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupManagersStopInstancesRequest; + } + export interface Params$Resource$Instancegroupmanagers$Suspendinstances extends StandardParameters { + /** + * The name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of thezone where the managed + * instance group is located. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupManagersSuspendInstancesRequest; + } + export interface Params$Resource$Instancegroupmanagers$Testiampermissions extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + export interface Params$Resource$Instancegroupmanagers$Update extends StandardParameters { + /** + * The name of the instance group manager. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone + * where you want to create the managed instance group. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupManager; + } + export interface Params$Resource$Instancegroupmanagers$Updateperinstanceconfigs extends StandardParameters { + /** + * The name of the managed instance group. + * It should conform to RFC1035. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of thezone + * where the managed instance group is located. + * It should conform to RFC1035. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupManagersUpdatePerInstanceConfigsReq; + } + + export class Resource$Instancegroups { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * 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. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.instanceGroups.addInstances({ + * // The name of the instance group where you are adding instances. + * instanceGroup: 'placeholder-value', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // The name of the zone + * // where the instance group is located. + * zone: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "instances": [] + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + addInstances( + params: Params$Resource$Instancegroups$Addinstances, + options: StreamMethodOptions + ): Promise>; + addInstances( + params?: Params$Resource$Instancegroups$Addinstances, + options?: MethodOptions + ): Promise>; + addInstances( + params: Params$Resource$Instancegroups$Addinstances, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + addInstances( + params: Params$Resource$Instancegroups$Addinstances, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + addInstances( + params: Params$Resource$Instancegroups$Addinstances, + callback: BodyResponseCallback + ): void; + addInstances(callback: BodyResponseCallback): void; + addInstances( + paramsOrCallback?: + | Params$Resource$Instancegroups$Addinstances + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Instancegroups$Addinstances; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Instancegroups$Addinstances; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}/addInstances' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'instanceGroup'], + pathParams: ['instanceGroup', 'project', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Retrieves the list of instance groups and sorts them by zone. + * + * To prevent failure, Google recommends that you set the + * `returnPartialSuccess` parameter to `true`. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.instanceGroups.aggregatedList({ + * // A filter expression that filters resources listed in the response. Most + * // Compute resources support two types of filter expressions: + * // expressions that support regular expressions and expressions that follow + * // API improvement proposal AIP-160. + * // These two types of filter expressions cannot be mixed in one request. + * // + * // If you want to use AIP-160, your expression must specify the field name, an + * // operator, and the value that you want to use for filtering. The value + * // must be a string, a number, or a boolean. The operator + * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * // + * // For example, if you are filtering Compute Engine instances, you can + * // exclude instances named `example-instance` by specifying + * // `name != example-instance`. + * // + * // The `:*` comparison can be used to test whether a key has been defined. + * // For example, to find all objects with `owner` label use: + * // ``` + * // labels.owner:* + * // ``` + * // + * // You can also filter nested fields. For example, you could specify + * // `scheduling.automaticRestart = false` to include instances only + * // if they are not scheduled for automatic restarts. You can use filtering + * // on nested fields to filter based onresource labels. + * // + * // To filter on multiple expressions, provide each separate expression within + * // parentheses. For example: + * // ``` + * // (scheduling.automaticRestart = true) + * // (cpuPlatform = "Intel Skylake") + * // ``` + * // By default, each expression is an `AND` expression. However, you + * // can include `AND` and `OR` expressions explicitly. + * // For example: + * // ``` + * // (cpuPlatform = "Intel Skylake") OR + * // (cpuPlatform = "Intel Broadwell") AND + * // (scheduling.automaticRestart = true) + * // ``` + * // + * // If you want to use a regular expression, use the `eq` (equal) or `ne` + * // (not equal) operator against a single un-parenthesized expression with or + * // without quotes or against multiple parenthesized expressions. Examples: + * // + * // `fieldname eq unquoted literal` + * // `fieldname eq 'single quoted literal'` + * // `fieldname eq "double quoted literal"` + * // `(fieldname1 eq literal) (fieldname2 ne "literal")` + * // + * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * // The literal value must match the entire field. + * // + * // For example, to filter for instances that do not end with name "instance", + * // you would use `name ne .*instance`. + * // + * // You cannot combine constraints on multiple fields using regular + * // expressions. + * filter: 'placeholder-value', + * // 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. + * includeAllScopes: 'placeholder-value', + * // The maximum number of results per page that should be returned. + * // If the number of available results is larger than `maxResults`, + * // Compute Engine returns a `nextPageToken` that can be used to get + * // the next page of results in subsequent list requests. Acceptable values are + * // `0` to `500`, inclusive. (Default: `500`) + * maxResults: 'placeholder-value', + * // Sorts list results by a certain order. By default, results + * // are returned in alphanumerical order based on the resource name. + * // + * // You can also sort results in descending order based on the creation + * // timestamp using `orderBy="creationTimestamp desc"`. This sorts + * // results based on the `creationTimestamp` field in + * // reverse chronological order (newest result first). Use this to sort + * // resources like operations so that the newest operation is returned first. + * // + * // Currently, only sorting by `name` or + * // `creationTimestamp desc` is supported. + * orderBy: 'placeholder-value', + * // Specifies a page token to use. Set `pageToken` to the + * // `nextPageToken` returned by a previous list request to get + * // the next page of results. + * pageToken: 'placeholder-value', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Opt-in for partial success behavior which provides partial results in case + * // of failure. The default value is false. + * // + * // For example, when partial success behavior is enabled, aggregatedList for a + * // single zone scope either returns all resources in the zone or no resources, + * // with an error code. + * returnPartialSuccess: 'placeholder-value', + * // The Shared VPC service project id or service project number for which + * // aggregated list request is invoked for subnetworks list-usable api. + * serviceProjectNumber: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "id": "my_id", + * // "items": {}, + * // "kind": "my_kind", + * // "nextPageToken": "my_nextPageToken", + * // "selfLink": "my_selfLink", + * // "unreachables": [], + * // "warning": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + aggregatedList( + params: Params$Resource$Instancegroups$Aggregatedlist, + options: StreamMethodOptions + ): Promise>; + aggregatedList( + params?: Params$Resource$Instancegroups$Aggregatedlist, + options?: MethodOptions + ): Promise>; + aggregatedList( + params: Params$Resource$Instancegroups$Aggregatedlist, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + aggregatedList( + params: Params$Resource$Instancegroups$Aggregatedlist, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + aggregatedList( + params: Params$Resource$Instancegroups$Aggregatedlist, + callback: BodyResponseCallback + ): void; + aggregatedList( + callback: BodyResponseCallback + ): void; + aggregatedList( + paramsOrCallback?: + | Params$Resource$Instancegroups$Aggregatedlist + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Instancegroups$Aggregatedlist; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Instancegroups$Aggregatedlist; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/aggregated/instanceGroups' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * 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. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.instanceGroups.delete({ + * // The name of the instance group to delete. + * instanceGroup: 'placeholder-value', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // The name of the zone + * // where the instance group is located. + * zone: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Instancegroups$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Instancegroups$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Instancegroups$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Instancegroups$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Instancegroups$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Instancegroups$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Instancegroups$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Instancegroups$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'instanceGroup'], + pathParams: ['instanceGroup', 'project', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Returns the specified zonal instance group. Get a list of available zonal + * instance groups by making a list() request. + * + * For managed instance groups, use theinstanceGroupManagers + * or regionInstanceGroupManagers + * methods instead. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.instanceGroups.get({ + * // The name of the instance group. + * instanceGroup: 'placeholder-value', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // The name of the zone + * // where the instance group is located. + * zone: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "fingerprint": "my_fingerprint", + * // "id": "my_id", + * // "kind": "my_kind", + * // "name": "my_name", + * // "namedPorts": [], + * // "network": "my_network", + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "size": 0, + * // "subnetwork": "my_subnetwork", + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Instancegroups$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Instancegroups$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Instancegroups$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Instancegroups$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Instancegroups$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Instancegroups$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Instancegroups$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Instancegroups$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'instanceGroup'], + pathParams: ['instanceGroup', 'project', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Creates an instance group in the specified project using the + * parameters that are included in the request. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.instanceGroups.insert({ + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // The name of the zone + * // where you want to create the instance group. + * zone: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "fingerprint": "my_fingerprint", + * // "id": "my_id", + * // "kind": "my_kind", + * // "name": "my_name", + * // "namedPorts": [], + * // "network": "my_network", + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "size": 0, + * // "subnetwork": "my_subnetwork", + * // "zone": "my_zone" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + insert( + params: Params$Resource$Instancegroups$Insert, + options: StreamMethodOptions + ): Promise>; + insert( + params?: Params$Resource$Instancegroups$Insert, + options?: MethodOptions + ): Promise>; + insert( + params: Params$Resource$Instancegroups$Insert, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + insert( + params: Params$Resource$Instancegroups$Insert, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + insert( + params: Params$Resource$Instancegroups$Insert, + callback: BodyResponseCallback + ): void; + insert(callback: BodyResponseCallback): void; + insert( + paramsOrCallback?: + | Params$Resource$Instancegroups$Insert + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Instancegroups$Insert; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Instancegroups$Insert; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroups' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Retrieves the list of zonal instance group resources contained within the + * specified zone. + * + * For managed instance groups, use theinstanceGroupManagers + * or regionInstanceGroupManagers + * methods instead. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.instanceGroups.list({ + * // A filter expression that filters resources listed in the response. Most + * // Compute resources support two types of filter expressions: + * // expressions that support regular expressions and expressions that follow + * // API improvement proposal AIP-160. + * // These two types of filter expressions cannot be mixed in one request. + * // + * // If you want to use AIP-160, your expression must specify the field name, an + * // operator, and the value that you want to use for filtering. The value + * // must be a string, a number, or a boolean. The operator + * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * // + * // For example, if you are filtering Compute Engine instances, you can + * // exclude instances named `example-instance` by specifying + * // `name != example-instance`. + * // + * // The `:*` comparison can be used to test whether a key has been defined. + * // For example, to find all objects with `owner` label use: + * // ``` + * // labels.owner:* + * // ``` + * // + * // You can also filter nested fields. For example, you could specify + * // `scheduling.automaticRestart = false` to include instances only + * // if they are not scheduled for automatic restarts. You can use filtering + * // on nested fields to filter based onresource labels. + * // + * // To filter on multiple expressions, provide each separate expression within + * // parentheses. For example: + * // ``` + * // (scheduling.automaticRestart = true) + * // (cpuPlatform = "Intel Skylake") + * // ``` + * // By default, each expression is an `AND` expression. However, you + * // can include `AND` and `OR` expressions explicitly. + * // For example: + * // ``` + * // (cpuPlatform = "Intel Skylake") OR + * // (cpuPlatform = "Intel Broadwell") AND + * // (scheduling.automaticRestart = true) + * // ``` + * // + * // If you want to use a regular expression, use the `eq` (equal) or `ne` + * // (not equal) operator against a single un-parenthesized expression with or + * // without quotes or against multiple parenthesized expressions. Examples: + * // + * // `fieldname eq unquoted literal` + * // `fieldname eq 'single quoted literal'` + * // `fieldname eq "double quoted literal"` + * // `(fieldname1 eq literal) (fieldname2 ne "literal")` + * // + * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * // The literal value must match the entire field. + * // + * // For example, to filter for instances that do not end with name "instance", + * // you would use `name ne .*instance`. + * // + * // You cannot combine constraints on multiple fields using regular + * // expressions. + * filter: 'placeholder-value', + * // The maximum number of results per page that should be returned. + * // If the number of available results is larger than `maxResults`, + * // Compute Engine returns a `nextPageToken` that can be used to get + * // the next page of results in subsequent list requests. Acceptable values are + * // `0` to `500`, inclusive. (Default: `500`) + * maxResults: 'placeholder-value', + * // Sorts list results by a certain order. By default, results + * // are returned in alphanumerical order based on the resource name. + * // + * // You can also sort results in descending order based on the creation + * // timestamp using `orderBy="creationTimestamp desc"`. This sorts + * // results based on the `creationTimestamp` field in + * // reverse chronological order (newest result first). Use this to sort + * // resources like operations so that the newest operation is returned first. + * // + * // Currently, only sorting by `name` or + * // `creationTimestamp desc` is supported. + * orderBy: 'placeholder-value', + * // Specifies a page token to use. Set `pageToken` to the + * // `nextPageToken` returned by a previous list request to get + * // the next page of results. + * pageToken: 'placeholder-value', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Opt-in for partial success behavior which provides partial results in case + * // of failure. The default value is false. + * // + * // For example, when partial success behavior is enabled, aggregatedList for a + * // single zone scope either returns all resources in the zone or no resources, + * // with an error code. + * returnPartialSuccess: 'placeholder-value', + * // The name of thezone + * // where the instance group is located. + * zone: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "id": "my_id", + * // "items": [], + * // "kind": "my_kind", + * // "nextPageToken": "my_nextPageToken", + * // "selfLink": "my_selfLink", + * // "warning": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Instancegroups$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Instancegroups$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Instancegroups$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Instancegroups$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Instancegroups$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Instancegroups$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Instancegroups$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Instancegroups$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroups' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * 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. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.instanceGroups.listInstances({ + * // A filter expression that filters resources listed in the response. Most + * // Compute resources support two types of filter expressions: + * // expressions that support regular expressions and expressions that follow + * // API improvement proposal AIP-160. + * // These two types of filter expressions cannot be mixed in one request. + * // + * // If you want to use AIP-160, your expression must specify the field name, an + * // operator, and the value that you want to use for filtering. The value + * // must be a string, a number, or a boolean. The operator + * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * // + * // For example, if you are filtering Compute Engine instances, you can + * // exclude instances named `example-instance` by specifying + * // `name != example-instance`. + * // + * // The `:*` comparison can be used to test whether a key has been defined. + * // For example, to find all objects with `owner` label use: + * // ``` + * // labels.owner:* + * // ``` + * // + * // You can also filter nested fields. For example, you could specify + * // `scheduling.automaticRestart = false` to include instances only + * // if they are not scheduled for automatic restarts. You can use filtering + * // on nested fields to filter based onresource labels. + * // + * // To filter on multiple expressions, provide each separate expression within + * // parentheses. For example: + * // ``` + * // (scheduling.automaticRestart = true) + * // (cpuPlatform = "Intel Skylake") + * // ``` + * // By default, each expression is an `AND` expression. However, you + * // can include `AND` and `OR` expressions explicitly. + * // For example: + * // ``` + * // (cpuPlatform = "Intel Skylake") OR + * // (cpuPlatform = "Intel Broadwell") AND + * // (scheduling.automaticRestart = true) + * // ``` + * // + * // If you want to use a regular expression, use the `eq` (equal) or `ne` + * // (not equal) operator against a single un-parenthesized expression with or + * // without quotes or against multiple parenthesized expressions. Examples: + * // + * // `fieldname eq unquoted literal` + * // `fieldname eq 'single quoted literal'` + * // `fieldname eq "double quoted literal"` + * // `(fieldname1 eq literal) (fieldname2 ne "literal")` + * // + * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * // The literal value must match the entire field. + * // + * // For example, to filter for instances that do not end with name "instance", + * // you would use `name ne .*instance`. + * // + * // You cannot combine constraints on multiple fields using regular + * // expressions. + * filter: 'placeholder-value', + * // The name of the instance group from which you want to generate a list + * // of included instances. + * instanceGroup: 'placeholder-value', + * // The maximum number of results per page that should be returned. + * // If the number of available results is larger than `maxResults`, + * // Compute Engine returns a `nextPageToken` that can be used to get + * // the next page of results in subsequent list requests. Acceptable values are + * // `0` to `500`, inclusive. (Default: `500`) + * maxResults: 'placeholder-value', + * // Sorts list results by a certain order. By default, results + * // are returned in alphanumerical order based on the resource name. + * // + * // You can also sort results in descending order based on the creation + * // timestamp using `orderBy="creationTimestamp desc"`. This sorts + * // results based on the `creationTimestamp` field in + * // reverse chronological order (newest result first). Use this to sort + * // resources like operations so that the newest operation is returned first. + * // + * // Currently, only sorting by `name` or + * // `creationTimestamp desc` is supported. + * orderBy: 'placeholder-value', + * // Specifies a page token to use. Set `pageToken` to the + * // `nextPageToken` returned by a previous list request to get + * // the next page of results. + * pageToken: 'placeholder-value', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Opt-in for partial success behavior which provides partial results in case + * // of failure. The default value is false. + * // + * // For example, when partial success behavior is enabled, aggregatedList for a + * // single zone scope either returns all resources in the zone or no resources, + * // with an error code. + * returnPartialSuccess: 'placeholder-value', + * // The name of the zone + * // where the instance group is located. + * zone: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "instanceState": "my_instanceState" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "id": "my_id", + * // "items": [], + * // "kind": "my_kind", + * // "nextPageToken": "my_nextPageToken", + * // "selfLink": "my_selfLink", + * // "warning": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + listInstances( + params: Params$Resource$Instancegroups$Listinstances, + options: StreamMethodOptions + ): Promise>; + listInstances( + params?: Params$Resource$Instancegroups$Listinstances, + options?: MethodOptions + ): Promise>; + listInstances( + params: Params$Resource$Instancegroups$Listinstances, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + listInstances( + params: Params$Resource$Instancegroups$Listinstances, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + listInstances( + params: Params$Resource$Instancegroups$Listinstances, + callback: BodyResponseCallback + ): void; + listInstances( + callback: BodyResponseCallback + ): void; + listInstances( + paramsOrCallback?: + | Params$Resource$Instancegroups$Listinstances + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Instancegroups$Listinstances; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Instancegroups$Listinstances; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}/listInstances' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'instanceGroup'], + pathParams: ['instanceGroup', 'project', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * 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. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.instanceGroups.removeInstances({ + * // The name of the instance group where the specified instances will be + * // removed. + * instanceGroup: 'placeholder-value', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // The name of the zone + * // where the instance group is located. + * zone: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "instances": [] + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + removeInstances( + params: Params$Resource$Instancegroups$Removeinstances, + options: StreamMethodOptions + ): Promise>; + removeInstances( + params?: Params$Resource$Instancegroups$Removeinstances, + options?: MethodOptions + ): Promise>; + removeInstances( + params: Params$Resource$Instancegroups$Removeinstances, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + removeInstances( + params: Params$Resource$Instancegroups$Removeinstances, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + removeInstances( + params: Params$Resource$Instancegroups$Removeinstances, + callback: BodyResponseCallback + ): void; + removeInstances(callback: BodyResponseCallback): void; + removeInstances( + paramsOrCallback?: + | Params$Resource$Instancegroups$Removeinstances + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Instancegroups$Removeinstances; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Instancegroups$Removeinstances; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}/removeInstances' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'instanceGroup'], + pathParams: ['instanceGroup', 'project', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Sets the named ports for the specified instance group. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.instanceGroups.setNamedPorts({ + * // The name of the instance group where the named ports are updated. + * instanceGroup: 'placeholder-value', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // The name of the zone + * // where the instance group is located. + * zone: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "fingerprint": "my_fingerprint", + * // "namedPorts": [] + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + setNamedPorts( + params: Params$Resource$Instancegroups$Setnamedports, + options: StreamMethodOptions + ): Promise>; + setNamedPorts( + params?: Params$Resource$Instancegroups$Setnamedports, + options?: MethodOptions + ): Promise>; + setNamedPorts( + params: Params$Resource$Instancegroups$Setnamedports, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setNamedPorts( + params: Params$Resource$Instancegroups$Setnamedports, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setNamedPorts( + params: Params$Resource$Instancegroups$Setnamedports, + callback: BodyResponseCallback + ): void; + setNamedPorts(callback: BodyResponseCallback): void; + setNamedPorts( + paramsOrCallback?: + | Params$Resource$Instancegroups$Setnamedports + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Instancegroups$Setnamedports; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Instancegroups$Setnamedports; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}/setNamedPorts' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'instanceGroup'], + pathParams: ['instanceGroup', 'project', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } /** - * Request body metadata - */ - requestBody?: Schema$InstanceGroupManagersDeletePerInstanceConfigsReq; - } - export interface Params$Resource$Instancegroupmanagers$Get extends StandardParameters { - /** - * The name of the managed instance group. - */ - instanceGroupManager?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * The name of thezone where the managed - * instance group is located. + * Returns permissions that a caller has on the specified resource. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.instanceGroups.testIamPermissions({ + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Name or id of the resource for this request. + * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // The name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "permissions": [] + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "permissions": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. */ - zone?: string; + testIamPermissions( + params: Params$Resource$Instancegroups$Testiampermissions, + options: StreamMethodOptions + ): Promise>; + testIamPermissions( + params?: Params$Resource$Instancegroups$Testiampermissions, + options?: MethodOptions + ): Promise>; + testIamPermissions( + params: Params$Resource$Instancegroups$Testiampermissions, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Instancegroups$Testiampermissions, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Instancegroups$Testiampermissions, + callback: BodyResponseCallback + ): void; + testIamPermissions( + callback: BodyResponseCallback + ): void; + testIamPermissions( + paramsOrCallback?: + | Params$Resource$Instancegroups$Testiampermissions + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Instancegroups$Testiampermissions; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Instancegroups$Testiampermissions; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instanceGroups/{resource}/testIamPermissions' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'resource'], + pathParams: ['project', 'resource', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } } - export interface Params$Resource$Instancegroupmanagers$Getavailableacceleratortopologies extends StandardParameters { - /** - * Required. Project ID for this request. - */ - project?: string; - /** - * Required. The name of the managed instance group. - * It should conform to RFC1035. - */ - resourceId?: string; + + export interface Params$Resource$Instancegroups$Addinstances extends StandardParameters { /** - * Required. The name of thezone where the managed - * instance group is located. - * Name should conform to RFC1035. + * The name of the instance group where you are adding instances. */ - zone?: string; - } - export interface Params$Resource$Instancegroupmanagers$Insert extends StandardParameters { + instanceGroup?: string; /** * Project ID for this request. */ @@ -105116,16 +110053,16 @@ export namespace compute_alpha { requestId?: string; /** * The name of the zone - * where you want to create the managed instance group. + * where the instance group is located. */ zone?: string; /** * Request body metadata */ - requestBody?: Schema$InstanceGroupManager; + requestBody?: Schema$InstanceGroupsAddInstancesRequest; } - export interface Params$Resource$Instancegroupmanagers$List extends StandardParameters { + export interface Params$Resource$Instancegroups$Aggregatedlist extends StandardParameters { /** * A filter expression that filters resources listed in the response. Most * Compute resources support two types of filter expressions: @@ -105187,6 +110124,16 @@ export namespace compute_alpha { * expressions. */ filter?: string; + /** + * 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. + */ + includeAllScopes?: boolean; /** * The maximum number of results per page that should be returned. * If the number of available results is larger than `maxResults`, @@ -105229,129 +110176,90 @@ export namespace compute_alpha { */ returnPartialSuccess?: boolean; /** - * The name of thezone where the managed - * instance group is located. + * The Shared VPC service project id or service project number for which + * aggregated list request is invoked for subnetworks list-usable api. */ - zone?: string; + serviceProjectNumber?: string; } - export interface Params$Resource$Instancegroupmanagers$Listerrors extends StandardParameters { + export interface Params$Resource$Instancegroups$Delete extends StandardParameters { /** - * A filter expression that filters resources listed in the response. Most - * Compute resources support two types of filter expressions: - * expressions that support regular expressions and expressions that follow - * API improvement proposal AIP-160. - * These two types of filter expressions cannot be mixed in one request. - * - * If you want to use AIP-160, your expression must specify the field name, an - * operator, and the value that you want to use for filtering. The value - * must be a string, a number, or a boolean. The operator - * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * - * For example, if you are filtering Compute Engine instances, you can - * exclude instances named `example-instance` by specifying - * `name != example-instance`. - * - * The `:*` comparison can be used to test whether a key has been defined. - * For example, to find all objects with `owner` label use: - * ``` - * labels.owner:* - * ``` - * - * You can also filter nested fields. For example, you could specify - * `scheduling.automaticRestart = false` to include instances only - * if they are not scheduled for automatic restarts. You can use filtering - * on nested fields to filter based onresource labels. - * - * To filter on multiple expressions, provide each separate expression within - * parentheses. For example: - * ``` - * (scheduling.automaticRestart = true) - * (cpuPlatform = "Intel Skylake") - * ``` - * By default, each expression is an `AND` expression. However, you - * can include `AND` and `OR` expressions explicitly. - * For example: - * ``` - * (cpuPlatform = "Intel Skylake") OR - * (cpuPlatform = "Intel Broadwell") AND - * (scheduling.automaticRestart = true) - * ``` - * - * If you want to use a regular expression, use the `eq` (equal) or `ne` - * (not equal) operator against a single un-parenthesized expression with or - * without quotes or against multiple parenthesized expressions. Examples: - * - * `fieldname eq unquoted literal` - * `fieldname eq 'single quoted literal'` - * `fieldname eq "double quoted literal"` - * `(fieldname1 eq literal) (fieldname2 ne "literal")` - * - * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * The literal value must match the entire field. + * The name of the instance group to delete. + */ + instanceGroup?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. * - * For example, to filter for instances that do not end with name "instance", - * you would use `name ne .*instance`. + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. * - * You cannot combine constraints on multiple fields using regular - * expressions. + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). */ - filter?: string; + requestId?: string; /** - * 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\}. + * The name of the zone + * where the instance group is located. */ - instanceGroupManager?: string; + zone?: string; + } + export interface Params$Resource$Instancegroups$Get extends StandardParameters { /** - * The maximum number of results per page that should be returned. - * If the number of available results is larger than `maxResults`, - * Compute Engine returns a `nextPageToken` that can be used to get - * the next page of results in subsequent list requests. Acceptable values are - * `0` to `500`, inclusive. (Default: `500`) + * The name of the instance group. */ - maxResults?: number; + instanceGroup?: string; /** - * Sorts list results by a certain order. By default, results - * are returned in alphanumerical order based on the resource name. - * - * You can also sort results in descending order based on the creation - * timestamp using `orderBy="creationTimestamp desc"`. This sorts - * results based on the `creationTimestamp` field in - * reverse chronological order (newest result first). Use this to sort - * resources like operations so that the newest operation is returned first. - * - * Currently, only sorting by `name` or - * `creationTimestamp desc` is supported. + * Project ID for this request. */ - orderBy?: string; + project?: string; /** - * Specifies a page token to use. Set `pageToken` to the - * `nextPageToken` returned by a previous list request to get - * the next page of results. + * The name of the zone + * where the instance group is located. */ - pageToken?: string; + zone?: string; + } + export interface Params$Resource$Instancegroups$Insert extends StandardParameters { /** * Project ID for this request. */ project?: string; /** - * Opt-in for partial success behavior which provides partial results in case - * of failure. The default value is false. + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. * - * For example, when partial success behavior is enabled, aggregatedList for a - * single zone scope either returns all resources in the zone or no resources, - * with an error code. + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). */ - returnPartialSuccess?: boolean; + requestId?: string; /** - * The name of thezone where the managed - * instance group is located. - * It should conform to RFC1035. + * The name of the zone + * where you want to create the instance group. */ zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroup; } - export interface Params$Resource$Instancegroupmanagers$Listmanagedinstances extends StandardParameters { + export interface Params$Resource$Instancegroups$List extends StandardParameters { /** * A filter expression that filters resources listed in the response. Most * Compute resources support two types of filter expressions: @@ -105413,10 +110321,6 @@ export namespace compute_alpha { * expressions. */ filter?: string; - /** - * The name of the managed instance group. - */ - instanceGroupManager?: string; /** * The maximum number of results per page that should be returned. * If the number of available results is larger than `maxResults`, @@ -105459,12 +110363,12 @@ export namespace compute_alpha { */ returnPartialSuccess?: boolean; /** - * The name of thezone where the managed - * instance group is located. + * The name of thezone + * where the instance group is located. */ zone?: string; } - export interface Params$Resource$Instancegroupmanagers$Listperinstanceconfigs extends StandardParameters { + export interface Params$Resource$Instancegroups$Listinstances extends StandardParameters { /** * A filter expression that filters resources listed in the response. Most * Compute resources support two types of filter expressions: @@ -105527,9 +110431,10 @@ export namespace compute_alpha { */ filter?: string; /** - * The name of the managed instance group. It should conform to RFC1035. + * The name of the instance group from which you want to generate a list + * of included instances. */ - instanceGroupManager?: string; + instanceGroup?: string; /** * The maximum number of results per page that should be returned. * If the number of available results is larger than `maxResults`, @@ -105572,17 +110477,22 @@ export namespace compute_alpha { */ returnPartialSuccess?: boolean; /** - * The name of thezone - * where the managed instance group is located. - * It should conform to RFC1035. + * The name of the zone + * where the instance group is located. */ zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupsListInstancesRequest; } - export interface Params$Resource$Instancegroupmanagers$Patch extends StandardParameters { + export interface Params$Resource$Instancegroups$Removeinstances extends StandardParameters { /** - * The name of the instance group manager. + * The name of the instance group where the specified instances will be + * removed. */ - instanceGroupManager?: string; + instanceGroup?: string; /** * Project ID for this request. */ @@ -105604,22 +110514,21 @@ export namespace compute_alpha { */ requestId?: string; /** - * The name of the zone where - * you want to create the managed instance group. + * The name of the zone + * where the instance group is located. */ zone?: string; /** * Request body metadata */ - requestBody?: Schema$InstanceGroupManager; + requestBody?: Schema$InstanceGroupsRemoveInstancesRequest; } - export interface Params$Resource$Instancegroupmanagers$Patchperinstanceconfigs extends StandardParameters { + export interface Params$Resource$Instancegroups$Setnamedports extends StandardParameters { /** - * The name of the managed instance group. - * It should conform to RFC1035. + * The name of the instance group where the named ports are updated. */ - instanceGroupManager?: string; + instanceGroup?: string; /** * Project ID for this request. */ @@ -105641,493 +110550,1145 @@ export namespace compute_alpha { */ requestId?: string; /** - * The name of thezone - * where the managed instance group is located. - * It should conform to RFC1035. + * The name of the zone + * where the instance group is located. */ zone?: string; /** * Request body metadata */ - requestBody?: Schema$InstanceGroupManagersPatchPerInstanceConfigsReq; + requestBody?: Schema$InstanceGroupsSetNamedPortsRequest; } - export interface Params$Resource$Instancegroupmanagers$Recreateinstances extends StandardParameters { + export interface Params$Resource$Instancegroups$Testiampermissions extends StandardParameters { /** - * The name of the managed instance group. + * Project ID for this request. */ - instanceGroupManager?: string; + project?: string; /** - * When set, graceful shutdown is skipped for instance recreation even if it's - * configured for the instances. + * Name or id of the resource for this request. */ - noGracefulShutdown?: boolean; + resource?: string; /** - * Project ID for this request. + * The name of the zone for this request. */ - project?: string; + zone?: string; + /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + + export class Resource$Instances { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Adds an access config to an instance's network interface. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.instances.addAccessConfig({ + * // The instance name for this request. + * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // The name of the network interface to add to this instance. + * networkInterface: 'placeholder-value', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // The name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "externalIpv6": "my_externalIpv6", + * // "externalIpv6PrefixLength": 0, + * // "kind": "my_kind", + * // "name": "my_name", + * // "natIP": "my_natIP", + * // "networkTier": "my_networkTier", + * // "publicDnsName": "my_publicDnsName", + * // "publicPtrDomainName": "my_publicPtrDomainName", + * // "securityPolicy": "my_securityPolicy", + * // "setPublicDns": false, + * // "setPublicPtr": false, + * // "type": "my_type" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. */ - requestId?: string; + addAccessConfig( + params: Params$Resource$Instances$Addaccessconfig, + options: StreamMethodOptions + ): Promise>; + addAccessConfig( + params?: Params$Resource$Instances$Addaccessconfig, + options?: MethodOptions + ): Promise>; + addAccessConfig( + params: Params$Resource$Instances$Addaccessconfig, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + addAccessConfig( + params: Params$Resource$Instances$Addaccessconfig, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + addAccessConfig( + params: Params$Resource$Instances$Addaccessconfig, + callback: BodyResponseCallback + ): void; + addAccessConfig(callback: BodyResponseCallback): void; + addAccessConfig( + paramsOrCallback?: + | Params$Resource$Instances$Addaccessconfig + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Instances$Addaccessconfig; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Instances$Addaccessconfig; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/addAccessConfig' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'instance', 'networkInterface'], + pathParams: ['instance', 'project', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** - * The name of thezone where the managed - * instance group is located. + * Adds one dynamic network interface to an active instance. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.instances.addNetworkInterface({ + * // The instance name for this request stored as resource_id. + * // Name should conform to RFC1035 or be an unsigned long integer. + * instance: 'placeholder-value', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // The name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "accessConfigs": [], + * // "aliasIpRanges": [], + * // "aliasIpv6Ranges": [], + * // "dns64Eligible": false, + * // "enableVpcScopedDns": false, + * // "fingerprint": "my_fingerprint", + * // "igmpQuery": "my_igmpQuery", + * // "internalIpv6PrefixLength": 0, + * // "ipv6AccessConfigs": [], + * // "ipv6AccessType": "my_ipv6AccessType", + * // "ipv6Address": "my_ipv6Address", + * // "kind": "my_kind", + * // "macAddress": "my_macAddress", + * // "name": "my_name", + * // "nat64Eligible": false, + * // "network": "my_network", + * // "networkAttachment": "my_networkAttachment", + * // "networkIP": "my_networkIP", + * // "nicType": "my_nicType", + * // "parentNicName": "my_parentNicName", + * // "queueCount": 0, + * // "serviceClassId": "my_serviceClassId", + * // "stackType": "my_stackType", + * // "subinterfaces": [], + * // "subnetwork": "my_subnetwork", + * // "vlan": 0 + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. */ - zone?: string; + addNetworkInterface( + params: Params$Resource$Instances$Addnetworkinterface, + options: StreamMethodOptions + ): Promise>; + addNetworkInterface( + params?: Params$Resource$Instances$Addnetworkinterface, + options?: MethodOptions + ): Promise>; + addNetworkInterface( + params: Params$Resource$Instances$Addnetworkinterface, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + addNetworkInterface( + params: Params$Resource$Instances$Addnetworkinterface, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + addNetworkInterface( + params: Params$Resource$Instances$Addnetworkinterface, + callback: BodyResponseCallback + ): void; + addNetworkInterface(callback: BodyResponseCallback): void; + addNetworkInterface( + paramsOrCallback?: + | Params$Resource$Instances$Addnetworkinterface + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Instances$Addnetworkinterface; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Instances$Addnetworkinterface; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/addNetworkInterface' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } /** - * Request body metadata - */ - requestBody?: Schema$InstanceGroupManagersRecreateInstancesRequest; - } - export interface Params$Resource$Instancegroupmanagers$Resize extends StandardParameters { - /** - * The name of the managed instance group. - */ - instanceGroupManager?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. + * 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. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * 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. - */ - size?: number; - /** - * The name of thezone where the managed - * instance group is located. - */ - zone?: string; - } - export interface Params$Resource$Instancegroupmanagers$Resizeadvanced extends StandardParameters { - /** - * The name of the managed instance group. - */ - instanceGroupManager?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of thezone where the managed - * instance group is located. - */ - zone?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$InstanceGroupManagersResizeAdvancedRequest; - } - export interface Params$Resource$Instancegroupmanagers$Resumeinstances extends StandardParameters { - /** - * The name of the managed instance group. - */ - instanceGroupManager?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. + * // Do the magic + * const res = await compute.instances.addResourcePolicies({ + * // The instance name for this request. + * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // The name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "resourcePolicies": [] + * // } + * }, + * }); + * console.log(res.data); * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of thezone where the managed - * instance group is located. - */ - zone?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$InstanceGroupManagersResumeInstancesRequest; - } - export interface Params$Resource$Instancegroupmanagers$Setautohealingpolicies extends StandardParameters { - /** - * The name of the instance group manager. - */ - instanceGroupManager?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. + * main().catch(e => { + * console.error(e); + * throw e; + * }); * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of thezone where the managed - * instance group is located. + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. */ - zone?: string; + addResourcePolicies( + params: Params$Resource$Instances$Addresourcepolicies, + options: StreamMethodOptions + ): Promise>; + addResourcePolicies( + params?: Params$Resource$Instances$Addresourcepolicies, + options?: MethodOptions + ): Promise>; + addResourcePolicies( + params: Params$Resource$Instances$Addresourcepolicies, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + addResourcePolicies( + params: Params$Resource$Instances$Addresourcepolicies, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + addResourcePolicies( + params: Params$Resource$Instances$Addresourcepolicies, + callback: BodyResponseCallback + ): void; + addResourcePolicies(callback: BodyResponseCallback): void; + addResourcePolicies( + paramsOrCallback?: + | Params$Resource$Instances$Addresourcepolicies + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Instances$Addresourcepolicies; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Instances$Addresourcepolicies; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/addResourcePolicies' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } /** - * Request body metadata - */ - requestBody?: Schema$InstanceGroupManagersSetAutoHealingRequest; - } - export interface Params$Resource$Instancegroupmanagers$Setinstancetemplate extends StandardParameters { - /** - * The name of the managed instance group. - */ - instanceGroupManager?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. + * Retrieves an aggregated list of all of the instances in your project + * across all regions and zones. * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. + * The performance of this method degrades when a filter is specified on a + * project that has a very large number of instances. * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of thezone where the managed - * instance group is located. - */ - zone?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$InstanceGroupManagersSetInstanceTemplateRequest; - } - export interface Params$Resource$Instancegroupmanagers$Settargetpools extends StandardParameters { - /** - * The name of the managed instance group. - */ - instanceGroupManager?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. + * To prevent failure, Google recommends that you set the + * `returnPartialSuccess` parameter to `true`. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of thezone where the managed - * instance group is located. - */ - zone?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$InstanceGroupManagersSetTargetPoolsRequest; - } - export interface Params$Resource$Instancegroupmanagers$Startinstances extends StandardParameters { - /** - * The name of the managed instance group. - */ - instanceGroupManager?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', + * ], + * }); * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of thezone where the managed - * instance group is located. - */ - zone?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$InstanceGroupManagersStartInstancesRequest; - } - export interface Params$Resource$Instancegroupmanagers$Stopinstances extends StandardParameters { - /** - * The name of the managed instance group. - */ - instanceGroupManager?: string; - /** - * When set, graceful shutdown is skipped for instance stopping even if it's - * configured for the instances. - */ - noGracefulShutdown?: boolean; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. + * // Do the magic + * const res = await compute.instances.aggregatedList({ + * // A filter expression that filters resources listed in the response. Most + * // Compute resources support two types of filter expressions: + * // expressions that support regular expressions and expressions that follow + * // API improvement proposal AIP-160. + * // These two types of filter expressions cannot be mixed in one request. + * // + * // If you want to use AIP-160, your expression must specify the field name, an + * // operator, and the value that you want to use for filtering. The value + * // must be a string, a number, or a boolean. The operator + * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * // + * // For example, if you are filtering Compute Engine instances, you can + * // exclude instances named `example-instance` by specifying + * // `name != example-instance`. + * // + * // The `:*` comparison can be used to test whether a key has been defined. + * // For example, to find all objects with `owner` label use: + * // ``` + * // labels.owner:* + * // ``` + * // + * // You can also filter nested fields. For example, you could specify + * // `scheduling.automaticRestart = false` to include instances only + * // if they are not scheduled for automatic restarts. You can use filtering + * // on nested fields to filter based onresource labels. + * // + * // To filter on multiple expressions, provide each separate expression within + * // parentheses. For example: + * // ``` + * // (scheduling.automaticRestart = true) + * // (cpuPlatform = "Intel Skylake") + * // ``` + * // By default, each expression is an `AND` expression. However, you + * // can include `AND` and `OR` expressions explicitly. + * // For example: + * // ``` + * // (cpuPlatform = "Intel Skylake") OR + * // (cpuPlatform = "Intel Broadwell") AND + * // (scheduling.automaticRestart = true) + * // ``` + * // + * // If you want to use a regular expression, use the `eq` (equal) or `ne` + * // (not equal) operator against a single un-parenthesized expression with or + * // without quotes or against multiple parenthesized expressions. Examples: + * // + * // `fieldname eq unquoted literal` + * // `fieldname eq 'single quoted literal'` + * // `fieldname eq "double quoted literal"` + * // `(fieldname1 eq literal) (fieldname2 ne "literal")` + * // + * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * // The literal value must match the entire field. + * // + * // For example, to filter for instances that do not end with name "instance", + * // you would use `name ne .*instance`. + * // + * // You cannot combine constraints on multiple fields using regular + * // expressions. + * filter: 'placeholder-value', + * // 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. + * includeAllScopes: 'placeholder-value', + * // The maximum number of results per page that should be returned. + * // If the number of available results is larger than `maxResults`, + * // Compute Engine returns a `nextPageToken` that can be used to get + * // the next page of results in subsequent list requests. Acceptable values are + * // `0` to `500`, inclusive. (Default: `500`) + * maxResults: 'placeholder-value', + * // Sorts list results by a certain order. By default, results + * // are returned in alphanumerical order based on the resource name. + * // + * // You can also sort results in descending order based on the creation + * // timestamp using `orderBy="creationTimestamp desc"`. This sorts + * // results based on the `creationTimestamp` field in + * // reverse chronological order (newest result first). Use this to sort + * // resources like operations so that the newest operation is returned first. + * // + * // Currently, only sorting by `name` or + * // `creationTimestamp desc` is supported. + * orderBy: 'placeholder-value', + * // Specifies a page token to use. Set `pageToken` to the + * // `nextPageToken` returned by a previous list request to get + * // the next page of results. + * pageToken: 'placeholder-value', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Opt-in for partial success behavior which provides partial results in case + * // of failure. The default value is false. + * // + * // For example, when partial success behavior is enabled, aggregatedList for a + * // single zone scope either returns all resources in the zone or no resources, + * // with an error code. + * returnPartialSuccess: 'placeholder-value', + * // The Shared VPC service project id or service project number for which + * // aggregated list request is invoked for subnetworks list-usable api. + * serviceProjectNumber: 'placeholder-value', + * }); + * console.log(res.data); * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. + * // Example response + * // { + * // "id": "my_id", + * // "items": {}, + * // "kind": "my_kind", + * // "nextPageToken": "my_nextPageToken", + * // "selfLink": "my_selfLink", + * // "unreachables": [], + * // "warning": {} + * // } + * } * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of thezone where the managed - * instance group is located. - */ - zone?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$InstanceGroupManagersStopInstancesRequest; - } - export interface Params$Resource$Instancegroupmanagers$Suspendinstances extends StandardParameters { - /** - * The name of the managed instance group. - */ - instanceGroupManager?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. + * main().catch(e => { + * console.error(e); + * throw e; + * }); * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. + * ``` * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of thezone where the managed - * instance group is located. + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. */ - zone?: string; + aggregatedList( + params: Params$Resource$Instances$Aggregatedlist, + options: StreamMethodOptions + ): Promise>; + aggregatedList( + params?: Params$Resource$Instances$Aggregatedlist, + options?: MethodOptions + ): Promise>; + aggregatedList( + params: Params$Resource$Instances$Aggregatedlist, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + aggregatedList( + params: Params$Resource$Instances$Aggregatedlist, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + aggregatedList( + params: Params$Resource$Instances$Aggregatedlist, + callback: BodyResponseCallback + ): void; + aggregatedList( + callback: BodyResponseCallback + ): void; + aggregatedList( + paramsOrCallback?: + | Params$Resource$Instances$Aggregatedlist + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Instances$Aggregatedlist; + let options = (optionsOrCallback || {}) as MethodOptions; - /** - * Request body metadata - */ - requestBody?: Schema$InstanceGroupManagersSuspendInstancesRequest; - } - export interface Params$Resource$Instancegroupmanagers$Testiampermissions extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * Name or id of the resource for this request. - */ - resource?: string; - /** - * The name of the zone for this request. - */ - zone?: string; + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Instances$Aggregatedlist; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/compute/alpha/projects/{project}/aggregated/instances' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } /** - * Request body metadata - */ - requestBody?: Schema$TestPermissionsRequest; - } - export interface Params$Resource$Instancegroupmanagers$Update extends StandardParameters { - /** - * The name of the instance group manager. - */ - instanceGroupManager?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. + * 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, readAdding a + * persistent disk to your instance. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of the zone - * where you want to create the managed instance group. - */ - zone?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$InstanceGroupManager; - } - export interface Params$Resource$Instancegroupmanagers$Updateperinstanceconfigs extends StandardParameters { - /** - * The name of the managed instance group. - * It should conform to RFC1035. - */ - instanceGroupManager?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of thezone - * where the managed instance group is located. - * It should conform to RFC1035. + * // Do the magic + * const res = await compute.instances.attachDisk({ + * // 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. + * forceAttach: 'placeholder-value', + * // The instance name for this request. + * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // The name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "architecture": "my_architecture", + * // "autoDelete": false, + * // "boot": false, + * // "deviceName": "my_deviceName", + * // "diskEncryptionKey": {}, + * // "diskSizeGb": "my_diskSizeGb", + * // "forceAttach": false, + * // "guestOsFeatures": [], + * // "index": 0, + * // "initializeParams": {}, + * // "interface": "my_interface", + * // "kind": "my_kind", + * // "licenses": [], + * // "locked": false, + * // "mode": "my_mode", + * // "savedState": "my_savedState", + * // "shieldedInstanceInitialState": {}, + * // "source": "my_source", + * // "type": "my_type" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. */ - zone?: string; + attachDisk( + params: Params$Resource$Instances$Attachdisk, + options: StreamMethodOptions + ): Promise>; + attachDisk( + params?: Params$Resource$Instances$Attachdisk, + options?: MethodOptions + ): Promise>; + attachDisk( + params: Params$Resource$Instances$Attachdisk, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + attachDisk( + params: Params$Resource$Instances$Attachdisk, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + attachDisk( + params: Params$Resource$Instances$Attachdisk, + callback: BodyResponseCallback + ): void; + attachDisk(callback: BodyResponseCallback): void; + attachDisk( + paramsOrCallback?: + | Params$Resource$Instances$Attachdisk + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Instances$Attachdisk; + let options = (optionsOrCallback || {}) as MethodOptions; - /** - * Request body metadata - */ - requestBody?: Schema$InstanceGroupManagersUpdatePerInstanceConfigsReq; - } + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Instances$Attachdisk; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } - export class Resource$Instancegroups { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/attachDisk' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } } /** - * 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. + * Creates multiple instances. Count specifies the number of instances to + * create. For more information, seeAbout bulk + * creation of VMs. * @example * ```js * // Before running the sample: @@ -106159,9 +111720,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instanceGroups.addInstances({ - * // The name of the instance group where you are adding instances. - * instanceGroup: 'placeholder-value', + * const res = await compute.instances.bulkInsert({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -106179,15 +111738,21 @@ export namespace compute_alpha { * // a valid UUID with the exception that zero UUID is not supported * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', - * // The name of the zone - * // where the instance group is located. - * zone: 'placeholder-value', + * // The name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * * // Request body metadata * requestBody: { * // request body parameters * // { - * // "instances": [] + * // "count": "my_count", + * // "instanceFlexibilityPolicy": {}, + * // "instanceProperties": {}, + * // "locationPolicy": {}, + * // "minCount": "my_minCount", + * // "namePattern": "my_namePattern", + * // "perInstanceProperties": {}, + * // "sourceInstanceTemplate": "my_sourceInstanceTemplate" * // } * }, * }); @@ -106238,32 +111803,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - addInstances( - params: Params$Resource$Instancegroups$Addinstances, + bulkInsert( + params: Params$Resource$Instances$Bulkinsert, options: StreamMethodOptions ): Promise>; - addInstances( - params?: Params$Resource$Instancegroups$Addinstances, + bulkInsert( + params?: Params$Resource$Instances$Bulkinsert, options?: MethodOptions ): Promise>; - addInstances( - params: Params$Resource$Instancegroups$Addinstances, + bulkInsert( + params: Params$Resource$Instances$Bulkinsert, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - addInstances( - params: Params$Resource$Instancegroups$Addinstances, + bulkInsert( + params: Params$Resource$Instances$Bulkinsert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - addInstances( - params: Params$Resource$Instancegroups$Addinstances, + bulkInsert( + params: Params$Resource$Instances$Bulkinsert, callback: BodyResponseCallback ): void; - addInstances(callback: BodyResponseCallback): void; - addInstances( + bulkInsert(callback: BodyResponseCallback): void; + bulkInsert( paramsOrCallback?: - | Params$Resource$Instancegroups$Addinstances + | Params$Resource$Instances$Bulkinsert | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -106279,12 +111844,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instancegroups$Addinstances; + {}) as Params$Resource$Instances$Bulkinsert; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instancegroups$Addinstances; + params = {} as Params$Resource$Instances$Bulkinsert; options = {}; } @@ -106299,7 +111864,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}/addInstances' + '/compute/alpha/projects/{project}/zones/{zone}/instances/bulkInsert' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -106307,8 +111872,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'zone', 'instanceGroup'], - pathParams: ['instanceGroup', 'project', 'zone'], + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], context: this.context, }; if (callback) { @@ -106322,10 +111887,8 @@ export namespace compute_alpha { } /** - * Retrieves the list of instance groups and sorts them by zone. - * - * To prevent failure, Google recommends that you set the - * `returnPartialSuccess` parameter to `true`. + * Deletes the specified Instance resource. For more information, seeDeleting + * an instance. * @example * ```js * // Before running the sample: @@ -106349,7 +111912,6 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -106358,121 +111920,63 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instanceGroups.aggregatedList({ - * // A filter expression that filters resources listed in the response. Most - * // Compute resources support two types of filter expressions: - * // expressions that support regular expressions and expressions that follow - * // API improvement proposal AIP-160. - * // These two types of filter expressions cannot be mixed in one request. - * // - * // If you want to use AIP-160, your expression must specify the field name, an - * // operator, and the value that you want to use for filtering. The value - * // must be a string, a number, or a boolean. The operator - * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * // - * // For example, if you are filtering Compute Engine instances, you can - * // exclude instances named `example-instance` by specifying - * // `name != example-instance`. - * // - * // The `:*` comparison can be used to test whether a key has been defined. - * // For example, to find all objects with `owner` label use: - * // ``` - * // labels.owner:* - * // ``` - * // - * // You can also filter nested fields. For example, you could specify - * // `scheduling.automaticRestart = false` to include instances only - * // if they are not scheduled for automatic restarts. You can use filtering - * // on nested fields to filter based onresource labels. - * // - * // To filter on multiple expressions, provide each separate expression within - * // parentheses. For example: - * // ``` - * // (scheduling.automaticRestart = true) - * // (cpuPlatform = "Intel Skylake") - * // ``` - * // By default, each expression is an `AND` expression. However, you - * // can include `AND` and `OR` expressions explicitly. - * // For example: - * // ``` - * // (cpuPlatform = "Intel Skylake") OR - * // (cpuPlatform = "Intel Broadwell") AND - * // (scheduling.automaticRestart = true) - * // ``` - * // - * // If you want to use a regular expression, use the `eq` (equal) or `ne` - * // (not equal) operator against a single un-parenthesized expression with or - * // without quotes or against multiple parenthesized expressions. Examples: - * // - * // `fieldname eq unquoted literal` - * // `fieldname eq 'single quoted literal'` - * // `fieldname eq "double quoted literal"` - * // `(fieldname1 eq literal) (fieldname2 ne "literal")` - * // - * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * // The literal value must match the entire field. - * // - * // For example, to filter for instances that do not end with name "instance", - * // you would use `name ne .*instance`. - * // - * // You cannot combine constraints on multiple fields using regular - * // expressions. - * filter: 'placeholder-value', - * // 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. - * includeAllScopes: 'placeholder-value', - * // The maximum number of results per page that should be returned. - * // If the number of available results is larger than `maxResults`, - * // Compute Engine returns a `nextPageToken` that can be used to get - * // the next page of results in subsequent list requests. Acceptable values are - * // `0` to `500`, inclusive. (Default: `500`) - * maxResults: 'placeholder-value', - * // Sorts list results by a certain order. By default, results - * // are returned in alphanumerical order based on the resource name. - * // - * // You can also sort results in descending order based on the creation - * // timestamp using `orderBy="creationTimestamp desc"`. This sorts - * // results based on the `creationTimestamp` field in - * // reverse chronological order (newest result first). Use this to sort - * // resources like operations so that the newest operation is returned first. - * // - * // Currently, only sorting by `name` or - * // `creationTimestamp desc` is supported. - * orderBy: 'placeholder-value', - * // Specifies a page token to use. Set `pageToken` to the - * // `nextPageToken` returned by a previous list request to get - * // the next page of results. - * pageToken: 'placeholder-value', + * const res = await compute.instances.delete({ + * // Name of the instance resource to delete. + * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // If set to true, Graceful Shutdown is skipped. + * noGracefulShutdown: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Opt-in for partial success behavior which provides partial results in case - * // of failure. The default value is false. + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. * // - * // For example, when partial success behavior is enabled, aggregatedList for a - * // single zone scope either returns all resources in the zone or no resources, - * // with an error code. - * returnPartialSuccess: 'placeholder-value', - * // The Shared VPC service project id or service project number for which - * // aggregated list request is invoked for subnetworks list-usable api. - * serviceProjectNumber: 'placeholder-value', + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // The name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * }); * console.log(res.data); * * // Example response * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, * // "id": "my_id", - * // "items": {}, + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, * // "kind": "my_kind", - * // "nextPageToken": "my_nextPageToken", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", * // "selfLink": "my_selfLink", - * // "unreachables": [], - * // "warning": {} + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" * // } * } * @@ -106488,57 +111992,52 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - aggregatedList( - params: Params$Resource$Instancegroups$Aggregatedlist, + delete( + params: Params$Resource$Instances$Delete, options: StreamMethodOptions ): Promise>; - aggregatedList( - params?: Params$Resource$Instancegroups$Aggregatedlist, + delete( + params?: Params$Resource$Instances$Delete, options?: MethodOptions - ): Promise>; - aggregatedList( - params: Params$Resource$Instancegroups$Aggregatedlist, + ): Promise>; + delete( + params: Params$Resource$Instances$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - aggregatedList( - params: Params$Resource$Instancegroups$Aggregatedlist, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - aggregatedList( - params: Params$Resource$Instancegroups$Aggregatedlist, - callback: BodyResponseCallback + delete( + params: Params$Resource$Instances$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - aggregatedList( - callback: BodyResponseCallback + delete( + params: Params$Resource$Instances$Delete, + callback: BodyResponseCallback ): void; - aggregatedList( + delete(callback: BodyResponseCallback): void; + delete( paramsOrCallback?: - | Params$Resource$Instancegroups$Aggregatedlist - | BodyResponseCallback + | Params$Resource$Instances$Delete + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Instancegroups$Aggregatedlist; + let params = (paramsOrCallback || {}) as Params$Resource$Instances$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instancegroups$Aggregatedlist; + params = {} as Params$Resource$Instances$Delete; options = {}; } @@ -106553,33 +112052,30 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/aggregated/instanceGroups' + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'DELETE', apiVersion: '', }, options ), params, - requiredParams: ['project'], - pathParams: ['project'], + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * 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. + * Deletes an access config from an instance's network interface. * @example * ```js * // Before running the sample: @@ -106611,9 +112107,13 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instanceGroups.delete({ - * // The name of the instance group to delete. - * instanceGroup: 'placeholder-value', + * const res = await compute.instances.deleteAccessConfig({ + * // The name of the access config to delete. + * accessConfig: 'placeholder-value', + * // The instance name for this request. + * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // The name of the network interface. + * networkInterface: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -106631,9 +112131,8 @@ export namespace compute_alpha { * // a valid UUID with the exception that zero UUID is not supported * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', - * // The name of the zone - * // where the instance group is located. - * zone: 'placeholder-value', + * // The name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * }); * console.log(res.data); * @@ -106682,32 +112181,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - delete( - params: Params$Resource$Instancegroups$Delete, + deleteAccessConfig( + params: Params$Resource$Instances$Deleteaccessconfig, options: StreamMethodOptions ): Promise>; - delete( - params?: Params$Resource$Instancegroups$Delete, + deleteAccessConfig( + params?: Params$Resource$Instances$Deleteaccessconfig, options?: MethodOptions ): Promise>; - delete( - params: Params$Resource$Instancegroups$Delete, + deleteAccessConfig( + params: Params$Resource$Instances$Deleteaccessconfig, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Instancegroups$Delete, + deleteAccessConfig( + params: Params$Resource$Instances$Deleteaccessconfig, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Instancegroups$Delete, + deleteAccessConfig( + params: Params$Resource$Instances$Deleteaccessconfig, callback: BodyResponseCallback ): void; - delete(callback: BodyResponseCallback): void; - delete( + deleteAccessConfig(callback: BodyResponseCallback): void; + deleteAccessConfig( paramsOrCallback?: - | Params$Resource$Instancegroups$Delete + | Params$Resource$Instances$Deleteaccessconfig | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -106723,12 +112222,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instancegroups$Delete; + {}) as Params$Resource$Instances$Deleteaccessconfig; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instancegroups$Delete; + params = {} as Params$Resource$Instances$Deleteaccessconfig; options = {}; } @@ -106743,16 +112242,22 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}' + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/deleteAccessConfig' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone', 'instanceGroup'], - pathParams: ['instanceGroup', 'project', 'zone'], + requiredParams: [ + 'project', + 'zone', + 'instance', + 'accessConfig', + 'networkInterface', + ], + pathParams: ['instance', 'project', 'zone'], context: this.context, }; if (callback) { @@ -106766,12 +112271,11 @@ export namespace compute_alpha { } /** - * Returns the specified zonal instance group. Get a list of available zonal - * instance groups by making a list() request. - * - * For managed instance groups, use theinstanceGroupManagers - * or regionInstanceGroupManagers - * methods instead. + * Deletes one dynamic network interface from an active instance. + * InstancesDeleteNetworkInterfaceRequest indicates: + * - instance from which to delete, using project+zone+resource_id fields; + * - dynamic network interface to be deleted, using network_interface_name + * field; * @example * ```js * // Before running the sample: @@ -106795,7 +112299,6 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -106804,33 +112307,63 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instanceGroups.get({ - * // The name of the instance group. - * instanceGroup: 'placeholder-value', + * const res = await compute.instances.deleteNetworkInterface({ + * // The instance name for this request stored as resource_id. + * // Name should conform to RFC1035 or be an unsigned long integer. + * instance: 'placeholder-value', + * // The name of the dynamic network interface to be deleted from the instance. + * networkInterfaceName: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // The name of the zone - * // where the instance group is located. - * zone: 'placeholder-value', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // The name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * }); * console.log(res.data); * * // Example response * // { + * // "clientOperationId": "my_clientOperationId", * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", - * // "fingerprint": "my_fingerprint", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, * // "kind": "my_kind", * // "name": "my_name", - * // "namedPorts": [], - * // "network": "my_network", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, * // "region": "my_region", * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", - * // "size": 0, - * // "subnetwork": "my_subnetwork", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], * // "zone": "my_zone" * // } * } @@ -106847,53 +112380,55 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - get( - params: Params$Resource$Instancegroups$Get, + deleteNetworkInterface( + params: Params$Resource$Instances$Deletenetworkinterface, options: StreamMethodOptions ): Promise>; - get( - params?: Params$Resource$Instancegroups$Get, + deleteNetworkInterface( + params?: Params$Resource$Instances$Deletenetworkinterface, options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Instancegroups$Get, + ): Promise>; + deleteNetworkInterface( + params: Params$Resource$Instances$Deletenetworkinterface, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Instancegroups$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + deleteNetworkInterface( + params: Params$Resource$Instances$Deletenetworkinterface, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Instancegroups$Get, - callback: BodyResponseCallback + deleteNetworkInterface( + params: Params$Resource$Instances$Deletenetworkinterface, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; - get( + deleteNetworkInterface( + callback: BodyResponseCallback + ): void; + deleteNetworkInterface( paramsOrCallback?: - | Params$Resource$Instancegroups$Get - | BodyResponseCallback + | Params$Resource$Instances$Deletenetworkinterface + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instancegroups$Get; + {}) as Params$Resource$Instances$Deletenetworkinterface; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instancegroups$Get; + params = {} as Params$Resource$Instances$Deletenetworkinterface; options = {}; } @@ -106908,31 +112443,30 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}' + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/deleteNetworkInterface' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone', 'instanceGroup'], - pathParams: ['instanceGroup', 'project', 'zone'], + requiredParams: ['project', 'zone', 'instance', 'networkInterfaceName'], + pathParams: ['instance', 'project', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Creates an instance group in the specified project using the - * parameters that are included in the request. + * Detaches a disk from an instance. * @example * ```js * // Before running the sample: @@ -106964,7 +112498,12 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instanceGroups.insert({ + * const res = await compute.instances.detachDisk({ + * // The device name of the disk to detach. Make a get() request on + * // the instance to view currently attached disks and device names. + * deviceName: 'placeholder-value', + * // Instance name for this request. + * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -106982,30 +112521,8 @@ export namespace compute_alpha { * // a valid UUID with the exception that zero UUID is not supported * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', - * // The name of the zone - * // where you want to create the instance group. - * zone: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "fingerprint": "my_fingerprint", - * // "id": "my_id", - * // "kind": "my_kind", - * // "name": "my_name", - * // "namedPorts": [], - * // "network": "my_network", - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "size": 0, - * // "subnetwork": "my_subnetwork", - * // "zone": "my_zone" - * // } - * }, + * // The name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * }); * console.log(res.data); * @@ -107054,32 +112571,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - insert( - params: Params$Resource$Instancegroups$Insert, + detachDisk( + params: Params$Resource$Instances$Detachdisk, options: StreamMethodOptions ): Promise>; - insert( - params?: Params$Resource$Instancegroups$Insert, + detachDisk( + params?: Params$Resource$Instances$Detachdisk, options?: MethodOptions ): Promise>; - insert( - params: Params$Resource$Instancegroups$Insert, + detachDisk( + params: Params$Resource$Instances$Detachdisk, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - insert( - params: Params$Resource$Instancegroups$Insert, + detachDisk( + params: Params$Resource$Instances$Detachdisk, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - insert( - params: Params$Resource$Instancegroups$Insert, + detachDisk( + params: Params$Resource$Instances$Detachdisk, callback: BodyResponseCallback ): void; - insert(callback: BodyResponseCallback): void; - insert( + detachDisk(callback: BodyResponseCallback): void; + detachDisk( paramsOrCallback?: - | Params$Resource$Instancegroups$Insert + | Params$Resource$Instances$Detachdisk | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -107095,12 +112612,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instancegroups$Insert; + {}) as Params$Resource$Instances$Detachdisk; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instancegroups$Insert; + params = {} as Params$Resource$Instances$Detachdisk; options = {}; } @@ -107115,7 +112632,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instanceGroups' + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/detachDisk' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -107123,8 +112640,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'zone'], - pathParams: ['project', 'zone'], + requiredParams: ['project', 'zone', 'instance', 'deviceName'], + pathParams: ['instance', 'project', 'zone'], context: this.context, }; if (callback) { @@ -107138,12 +112655,212 @@ export namespace compute_alpha { } /** - * Retrieves the list of zonal instance group resources contained within the - * specified zone. + * Returns the specified Instance resource. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` * - * For managed instance groups, use theinstanceGroupManagers - * or regionInstanceGroupManagers - * methods instead. + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.instances.get({ + * // Name of the instance resource to return. + * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // View of the instance. + * view: 'placeholder-value', + * // The name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "advancedMachineFeatures": {}, + * // "canIpForward": false, + * // "confidentialInstanceConfig": {}, + * // "cpuPlatform": "my_cpuPlatform", + * // "creationTimestamp": "my_creationTimestamp", + * // "deletionProtection": false, + * // "description": "my_description", + * // "disks": [], + * // "displayDevice": {}, + * // "eraseWindowsVssSignature": false, + * // "fingerprint": "my_fingerprint", + * // "guestAccelerators": [], + * // "hostname": "my_hostname", + * // "id": "my_id", + * // "identity": "my_identity", + * // "identityCertificate": false, + * // "instanceEncryptionKey": {}, + * // "keyRevocationActionType": "my_keyRevocationActionType", + * // "kind": "my_kind", + * // "labelFingerprint": "my_labelFingerprint", + * // "labels": {}, + * // "lastStartTimestamp": "my_lastStartTimestamp", + * // "lastStopTimestamp": "my_lastStopTimestamp", + * // "lastSuspendedTimestamp": "my_lastSuspendedTimestamp", + * // "machineType": "my_machineType", + * // "metadata": {}, + * // "minCpuPlatform": "my_minCpuPlatform", + * // "name": "my_name", + * // "networkInterfaces": [], + * // "networkPerformanceConfig": {}, + * // "params": {}, + * // "partnerMetadata": {}, + * // "postKeyRevocationActionType": "my_postKeyRevocationActionType", + * // "preservedStateSizeGb": "my_preservedStateSizeGb", + * // "privateIpv6GoogleAccess": "my_privateIpv6GoogleAccess", + * // "reservationAffinity": {}, + * // "resourcePolicies": [], + * // "resourceStatus": {}, + * // "satisfiesPzi": false, + * // "satisfiesPzs": false, + * // "scheduling": {}, + * // "secureTags": [], + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "serviceAccounts": [], + * // "serviceIntegrationSpecs": {}, + * // "shieldedInstanceConfig": {}, + * // "shieldedInstanceIntegrityPolicy": {}, + * // "shieldedVmConfig": {}, + * // "shieldedVmIntegrityPolicy": {}, + * // "sourceMachineImage": "my_sourceMachineImage", + * // "sourceMachineImageEncryptionKey": {}, + * // "startRestricted": false, + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "tags": {}, + * // "upcomingMaintenance": {}, + * // "workloadIdentityConfig": {}, + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Instances$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Instances$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Instances$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Instances$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Instances$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Instances$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || {}) as Params$Resource$Instances$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Instances$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Returns effective firewalls applied to an interface of the instance. * @example * ```js * // Before running the sample: @@ -107176,112 +112893,189 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instanceGroups.list({ - * // A filter expression that filters resources listed in the response. Most - * // Compute resources support two types of filter expressions: - * // expressions that support regular expressions and expressions that follow - * // API improvement proposal AIP-160. - * // These two types of filter expressions cannot be mixed in one request. - * // - * // If you want to use AIP-160, your expression must specify the field name, an - * // operator, and the value that you want to use for filtering. The value - * // must be a string, a number, or a boolean. The operator - * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * // - * // For example, if you are filtering Compute Engine instances, you can - * // exclude instances named `example-instance` by specifying - * // `name != example-instance`. - * // - * // The `:*` comparison can be used to test whether a key has been defined. - * // For example, to find all objects with `owner` label use: - * // ``` - * // labels.owner:* - * // ``` - * // - * // You can also filter nested fields. For example, you could specify - * // `scheduling.automaticRestart = false` to include instances only - * // if they are not scheduled for automatic restarts. You can use filtering - * // on nested fields to filter based onresource labels. - * // - * // To filter on multiple expressions, provide each separate expression within - * // parentheses. For example: - * // ``` - * // (scheduling.automaticRestart = true) - * // (cpuPlatform = "Intel Skylake") - * // ``` - * // By default, each expression is an `AND` expression. However, you - * // can include `AND` and `OR` expressions explicitly. - * // For example: - * // ``` - * // (cpuPlatform = "Intel Skylake") OR - * // (cpuPlatform = "Intel Broadwell") AND - * // (scheduling.automaticRestart = true) - * // ``` - * // - * // If you want to use a regular expression, use the `eq` (equal) or `ne` - * // (not equal) operator against a single un-parenthesized expression with or - * // without quotes or against multiple parenthesized expressions. Examples: - * // - * // `fieldname eq unquoted literal` - * // `fieldname eq 'single quoted literal'` - * // `fieldname eq "double quoted literal"` - * // `(fieldname1 eq literal) (fieldname2 ne "literal")` - * // - * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * // The literal value must match the entire field. - * // - * // For example, to filter for instances that do not end with name "instance", - * // you would use `name ne .*instance`. - * // - * // You cannot combine constraints on multiple fields using regular - * // expressions. - * filter: 'placeholder-value', - * // The maximum number of results per page that should be returned. - * // If the number of available results is larger than `maxResults`, - * // Compute Engine returns a `nextPageToken` that can be used to get - * // the next page of results in subsequent list requests. Acceptable values are - * // `0` to `500`, inclusive. (Default: `500`) - * maxResults: 'placeholder-value', - * // Sorts list results by a certain order. By default, results - * // are returned in alphanumerical order based on the resource name. - * // - * // You can also sort results in descending order based on the creation - * // timestamp using `orderBy="creationTimestamp desc"`. This sorts - * // results based on the `creationTimestamp` field in - * // reverse chronological order (newest result first). Use this to sort - * // resources like operations so that the newest operation is returned first. - * // - * // Currently, only sorting by `name` or - * // `creationTimestamp desc` is supported. - * orderBy: 'placeholder-value', - * // Specifies a page token to use. Set `pageToken` to the - * // `nextPageToken` returned by a previous list request to get - * // the next page of results. - * pageToken: 'placeholder-value', + * const res = await compute.instances.getEffectiveFirewalls({ + * // Name of the instance scoping this request. + * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * // The name of the network interface to get the effective firewalls. + * networkInterface: 'placeholder-value', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // The name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "firewallPolicys": [], + * // "firewalls": [], + * // "organizationFirewalls": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + getEffectiveFirewalls( + params: Params$Resource$Instances$Geteffectivefirewalls, + options: StreamMethodOptions + ): Promise>; + getEffectiveFirewalls( + params?: Params$Resource$Instances$Geteffectivefirewalls, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + getEffectiveFirewalls( + params: Params$Resource$Instances$Geteffectivefirewalls, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getEffectiveFirewalls( + params: Params$Resource$Instances$Geteffectivefirewalls, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getEffectiveFirewalls( + params: Params$Resource$Instances$Geteffectivefirewalls, + callback: BodyResponseCallback + ): void; + getEffectiveFirewalls( + callback: BodyResponseCallback + ): void; + getEffectiveFirewalls( + paramsOrCallback?: + | Params$Resource$Instances$Geteffectivefirewalls + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Instances$Geteffectivefirewalls; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Instances$Geteffectivefirewalls; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/getEffectiveFirewalls' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'instance', 'networkInterface'], + pathParams: ['instance', 'project', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Returns the specified guest attributes entry. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.instances.getGuestAttributes({ + * // Name of the instance scoping this request. + * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Opt-in for partial success behavior which provides partial results in case - * // of failure. The default value is false. - * // - * // For example, when partial success behavior is enabled, aggregatedList for a - * // single zone scope either returns all resources in the zone or no resources, - * // with an error code. - * returnPartialSuccess: 'placeholder-value', - * // The name of thezone - * // where the instance group is located. - * zone: 'placeholder-value', + * // Specifies the guest attributes path to be queried. + * queryPath: 'placeholder-value', + * // Specifies the key for the guest attributes entry. + * variableKey: 'placeholder-value', + * // The name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * }); * console.log(res.data); * * // Example response * // { - * // "id": "my_id", - * // "items": [], * // "kind": "my_kind", - * // "nextPageToken": "my_nextPageToken", + * // "queryPath": "my_queryPath", + * // "queryValue": {}, * // "selfLink": "my_selfLink", - * // "warning": {} + * // "variableKey": "my_variableKey", + * // "variableValue": "my_variableValue" * // } * } * @@ -107297,53 +113091,55 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - list( - params: Params$Resource$Instancegroups$List, + getGuestAttributes( + params: Params$Resource$Instances$Getguestattributes, options: StreamMethodOptions ): Promise>; - list( - params?: Params$Resource$Instancegroups$List, + getGuestAttributes( + params?: Params$Resource$Instances$Getguestattributes, options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Instancegroups$List, + ): Promise>; + getGuestAttributes( + params: Params$Resource$Instances$Getguestattributes, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Instancegroups$List, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + getGuestAttributes( + params: Params$Resource$Instances$Getguestattributes, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Instancegroups$List, - callback: BodyResponseCallback + getGuestAttributes( + params: Params$Resource$Instances$Getguestattributes, + callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; - list( + getGuestAttributes( + callback: BodyResponseCallback + ): void; + getGuestAttributes( paramsOrCallback?: - | Params$Resource$Instancegroups$List - | BodyResponseCallback + | Params$Resource$Instances$Getguestattributes + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instancegroups$List; + {}) as Params$Resource$Instances$Getguestattributes; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instancegroups$List; + params = {} as Params$Resource$Instances$Getguestattributes; options = {}; } @@ -107358,7 +113154,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instanceGroups' + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/getGuestAttributes' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -107366,25 +113162,23 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'zone'], - pathParams: ['project', 'zone'], + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * 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. + * Gets the access control policy for a resource. May be empty if no such + * policy or resource exists. * @example * ```js * // Before running the sample: @@ -107417,123 +113211,25 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instanceGroups.listInstances({ - * // A filter expression that filters resources listed in the response. Most - * // Compute resources support two types of filter expressions: - * // expressions that support regular expressions and expressions that follow - * // API improvement proposal AIP-160. - * // These two types of filter expressions cannot be mixed in one request. - * // - * // If you want to use AIP-160, your expression must specify the field name, an - * // operator, and the value that you want to use for filtering. The value - * // must be a string, a number, or a boolean. The operator - * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * // - * // For example, if you are filtering Compute Engine instances, you can - * // exclude instances named `example-instance` by specifying - * // `name != example-instance`. - * // - * // The `:*` comparison can be used to test whether a key has been defined. - * // For example, to find all objects with `owner` label use: - * // ``` - * // labels.owner:* - * // ``` - * // - * // You can also filter nested fields. For example, you could specify - * // `scheduling.automaticRestart = false` to include instances only - * // if they are not scheduled for automatic restarts. You can use filtering - * // on nested fields to filter based onresource labels. - * // - * // To filter on multiple expressions, provide each separate expression within - * // parentheses. For example: - * // ``` - * // (scheduling.automaticRestart = true) - * // (cpuPlatform = "Intel Skylake") - * // ``` - * // By default, each expression is an `AND` expression. However, you - * // can include `AND` and `OR` expressions explicitly. - * // For example: - * // ``` - * // (cpuPlatform = "Intel Skylake") OR - * // (cpuPlatform = "Intel Broadwell") AND - * // (scheduling.automaticRestart = true) - * // ``` - * // - * // If you want to use a regular expression, use the `eq` (equal) or `ne` - * // (not equal) operator against a single un-parenthesized expression with or - * // without quotes or against multiple parenthesized expressions. Examples: - * // - * // `fieldname eq unquoted literal` - * // `fieldname eq 'single quoted literal'` - * // `fieldname eq "double quoted literal"` - * // `(fieldname1 eq literal) (fieldname2 ne "literal")` - * // - * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * // The literal value must match the entire field. - * // - * // For example, to filter for instances that do not end with name "instance", - * // you would use `name ne .*instance`. - * // - * // You cannot combine constraints on multiple fields using regular - * // expressions. - * filter: 'placeholder-value', - * // The name of the instance group from which you want to generate a list - * // of included instances. - * instanceGroup: 'placeholder-value', - * // The maximum number of results per page that should be returned. - * // If the number of available results is larger than `maxResults`, - * // Compute Engine returns a `nextPageToken` that can be used to get - * // the next page of results in subsequent list requests. Acceptable values are - * // `0` to `500`, inclusive. (Default: `500`) - * maxResults: 'placeholder-value', - * // Sorts list results by a certain order. By default, results - * // are returned in alphanumerical order based on the resource name. - * // - * // You can also sort results in descending order based on the creation - * // timestamp using `orderBy="creationTimestamp desc"`. This sorts - * // results based on the `creationTimestamp` field in - * // reverse chronological order (newest result first). Use this to sort - * // resources like operations so that the newest operation is returned first. - * // - * // Currently, only sorting by `name` or - * // `creationTimestamp desc` is supported. - * orderBy: 'placeholder-value', - * // Specifies a page token to use. Set `pageToken` to the - * // `nextPageToken` returned by a previous list request to get - * // the next page of results. - * pageToken: 'placeholder-value', + * const res = await compute.instances.getIamPolicy({ + * // Requested IAM Policy version. + * optionsRequestedPolicyVersion: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Opt-in for partial success behavior which provides partial results in case - * // of failure. The default value is false. - * // - * // For example, when partial success behavior is enabled, aggregatedList for a - * // single zone scope either returns all resources in the zone or no resources, - * // with an error code. - * returnPartialSuccess: 'placeholder-value', - * // The name of the zone - * // where the instance group is located. - * zone: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "instanceState": "my_instanceState" - * // } - * }, + * // Name or id of the resource for this request. + * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // The name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * }); * console.log(res.data); * * // Example response * // { - * // "id": "my_id", - * // "items": [], - * // "kind": "my_kind", - * // "nextPageToken": "my_nextPageToken", - * // "selfLink": "my_selfLink", - * // "warning": {} + * // "auditConfigs": [], + * // "bindings": [], + * // "etag": "my_etag", + * // "version": 0 * // } * } * @@ -107549,57 +113245,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - listInstances( - params: Params$Resource$Instancegroups$Listinstances, + getIamPolicy( + params: Params$Resource$Instances$Getiampolicy, options: StreamMethodOptions ): Promise>; - listInstances( - params?: Params$Resource$Instancegroups$Listinstances, + getIamPolicy( + params?: Params$Resource$Instances$Getiampolicy, options?: MethodOptions - ): Promise>; - listInstances( - params: Params$Resource$Instancegroups$Listinstances, + ): Promise>; + getIamPolicy( + params: Params$Resource$Instances$Getiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - listInstances( - params: Params$Resource$Instancegroups$Listinstances, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - listInstances( - params: Params$Resource$Instancegroups$Listinstances, - callback: BodyResponseCallback + getIamPolicy( + params: Params$Resource$Instances$Getiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - listInstances( - callback: BodyResponseCallback + getIamPolicy( + params: Params$Resource$Instances$Getiampolicy, + callback: BodyResponseCallback ): void; - listInstances( + getIamPolicy(callback: BodyResponseCallback): void; + getIamPolicy( paramsOrCallback?: - | Params$Resource$Instancegroups$Listinstances - | BodyResponseCallback + | Params$Resource$Instances$Getiampolicy + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instancegroups$Listinstances; + {}) as Params$Resource$Instances$Getiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instancegroups$Listinstances; + params = {} as Params$Resource$Instances$Getiampolicy; options = {}; } @@ -107614,36 +113306,30 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}/listInstances' + '/compute/alpha/projects/{project}/zones/{zone}/instances/{resource}/getIamPolicy' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone', 'instanceGroup'], - pathParams: ['instanceGroup', 'project', 'zone'], + requiredParams: ['project', 'zone', 'resource'], + pathParams: ['project', 'resource', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * 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. + * Gets partner metadata of the specified instance and namespaces. * @example * ```js * // Before running the sample: @@ -107667,6 +113353,7 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -107675,71 +113362,23 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instanceGroups.removeInstances({ - * // The name of the instance group where the specified instances will be - * // removed. - * instanceGroup: 'placeholder-value', + * const res = await compute.instances.getPartnerMetadata({ + * // Name of the instance scoping this request. + * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // Comma separated partner metadata namespaces. + * namespaces: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. - * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * // The name of the zone - * // where the instance group is located. - * zone: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "instances": [] - * // } - * }, + * // The name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * }); * console.log(res.data); * * // Example response * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, - * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, - * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" + * // "fingerprint": "my_fingerprint", + * // "partnerMetadata": {} * // } * } * @@ -107755,53 +113394,55 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - removeInstances( - params: Params$Resource$Instancegroups$Removeinstances, + getPartnerMetadata( + params: Params$Resource$Instances$Getpartnermetadata, options: StreamMethodOptions ): Promise>; - removeInstances( - params?: Params$Resource$Instancegroups$Removeinstances, + getPartnerMetadata( + params?: Params$Resource$Instances$Getpartnermetadata, options?: MethodOptions - ): Promise>; - removeInstances( - params: Params$Resource$Instancegroups$Removeinstances, + ): Promise>; + getPartnerMetadata( + params: Params$Resource$Instances$Getpartnermetadata, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - removeInstances( - params: Params$Resource$Instancegroups$Removeinstances, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + getPartnerMetadata( + params: Params$Resource$Instances$Getpartnermetadata, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - removeInstances( - params: Params$Resource$Instancegroups$Removeinstances, - callback: BodyResponseCallback + getPartnerMetadata( + params: Params$Resource$Instances$Getpartnermetadata, + callback: BodyResponseCallback ): void; - removeInstances(callback: BodyResponseCallback): void; - removeInstances( + getPartnerMetadata( + callback: BodyResponseCallback + ): void; + getPartnerMetadata( paramsOrCallback?: - | Params$Resource$Instancegroups$Removeinstances - | BodyResponseCallback + | Params$Resource$Instances$Getpartnermetadata + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instancegroups$Removeinstances; + {}) as Params$Resource$Instances$Getpartnermetadata; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instancegroups$Removeinstances; + params = {} as Params$Resource$Instances$Getpartnermetadata; options = {}; } @@ -107816,30 +113457,30 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}/removeInstances' + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/getPartnerMetadata' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone', 'instanceGroup'], - pathParams: ['instanceGroup', 'project', 'zone'], + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Sets the named ports for the specified instance group. + * Returns the screenshot from the specified instance. * @example * ```js * // Before running the sample: @@ -107863,6 +113504,7 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -107871,71 +113513,21 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instanceGroups.setNamedPorts({ - * // The name of the instance group where the named ports are updated. - * instanceGroup: 'placeholder-value', + * const res = await compute.instances.getScreenshot({ + * // Name of the instance scoping this request. + * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. - * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * // The name of the zone - * // where the instance group is located. - * zone: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "fingerprint": "my_fingerprint", - * // "namedPorts": [] - * // } - * }, + * // The name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * }); * console.log(res.data); * * // Example response * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, - * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, - * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" + * // "contents": "my_contents", + * // "kind": "my_kind" * // } * } * @@ -107951,53 +113543,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - setNamedPorts( - params: Params$Resource$Instancegroups$Setnamedports, + getScreenshot( + params: Params$Resource$Instances$Getscreenshot, options: StreamMethodOptions ): Promise>; - setNamedPorts( - params?: Params$Resource$Instancegroups$Setnamedports, + getScreenshot( + params?: Params$Resource$Instances$Getscreenshot, options?: MethodOptions - ): Promise>; - setNamedPorts( - params: Params$Resource$Instancegroups$Setnamedports, + ): Promise>; + getScreenshot( + params: Params$Resource$Instances$Getscreenshot, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setNamedPorts( - params: Params$Resource$Instancegroups$Setnamedports, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + getScreenshot( + params: Params$Resource$Instances$Getscreenshot, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - setNamedPorts( - params: Params$Resource$Instancegroups$Setnamedports, - callback: BodyResponseCallback + getScreenshot( + params: Params$Resource$Instances$Getscreenshot, + callback: BodyResponseCallback ): void; - setNamedPorts(callback: BodyResponseCallback): void; - setNamedPorts( + getScreenshot(callback: BodyResponseCallback): void; + getScreenshot( paramsOrCallback?: - | Params$Resource$Instancegroups$Setnamedports - | BodyResponseCallback + | Params$Resource$Instances$Getscreenshot + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instancegroups$Setnamedports; + {}) as Params$Resource$Instances$Getscreenshot; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instancegroups$Setnamedports; + params = {} as Params$Resource$Instances$Getscreenshot; options = {}; } @@ -108012,30 +113604,30 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instanceGroups/{instanceGroup}/setNamedPorts' + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/screenshot' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone', 'instanceGroup'], - pathParams: ['instanceGroup', 'project', 'zone'], + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Returns permissions that a caller has on the specified resource. + * Returns the last 1 MB of serial port output from the specified instance. * @example * ```js * // Before running the sample: @@ -108068,28 +113660,44 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instanceGroups.testIamPermissions({ + * const res = await compute.instances.getSerialPortOutput({ + * // Name of the instance for this request. + * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // Specifies which COM or serial port to retrieve data from. + * port: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name or id of the resource for this request. - * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // 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. + * start: 'placeholder-value', * // The name of the zone for this request. * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "permissions": [] - * // } - * }, * }); * console.log(res.data); * * // Example response * // { - * // "permissions": [] + * // "contents": "my_contents", + * // "kind": "my_kind", + * // "next": "my_next", + * // "selfLink": "my_selfLink", + * // "start": "my_start" * // } * } * @@ -108105,57 +113713,55 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - testIamPermissions( - params: Params$Resource$Instancegroups$Testiampermissions, + getSerialPortOutput( + params: Params$Resource$Instances$Getserialportoutput, options: StreamMethodOptions ): Promise>; - testIamPermissions( - params?: Params$Resource$Instancegroups$Testiampermissions, + getSerialPortOutput( + params?: Params$Resource$Instances$Getserialportoutput, options?: MethodOptions - ): Promise>; - testIamPermissions( - params: Params$Resource$Instancegroups$Testiampermissions, + ): Promise>; + getSerialPortOutput( + params: Params$Resource$Instances$Getserialportoutput, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - testIamPermissions( - params: Params$Resource$Instancegroups$Testiampermissions, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + getSerialPortOutput( + params: Params$Resource$Instances$Getserialportoutput, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - testIamPermissions( - params: Params$Resource$Instancegroups$Testiampermissions, - callback: BodyResponseCallback + getSerialPortOutput( + params: Params$Resource$Instances$Getserialportoutput, + callback: BodyResponseCallback ): void; - testIamPermissions( - callback: BodyResponseCallback + getSerialPortOutput( + callback: BodyResponseCallback ): void; - testIamPermissions( + getSerialPortOutput( paramsOrCallback?: - | Params$Resource$Instancegroups$Testiampermissions - | BodyResponseCallback + | Params$Resource$Instances$Getserialportoutput + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instancegroups$Testiampermissions; + {}) as Params$Resource$Instances$Getserialportoutput; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instancegroups$Testiampermissions; + params = {} as Params$Resource$Instances$Getserialportoutput; options = {}; } @@ -108170,591 +113776,335 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instanceGroups/{resource}/testIamPermissions' + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/serialPort' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone', 'resource'], - pathParams: ['project', 'resource', 'zone'], + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } - } - - export interface Params$Resource$Instancegroups$Addinstances extends StandardParameters { - /** - * The name of the instance group where you are adding instances. - */ - instanceGroup?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of the zone - * where the instance group is located. - */ - zone?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$InstanceGroupsAddInstancesRequest; - } - export interface Params$Resource$Instancegroups$Aggregatedlist extends StandardParameters { - /** - * A filter expression that filters resources listed in the response. Most - * Compute resources support two types of filter expressions: - * expressions that support regular expressions and expressions that follow - * API improvement proposal AIP-160. - * These two types of filter expressions cannot be mixed in one request. - * - * If you want to use AIP-160, your expression must specify the field name, an - * operator, and the value that you want to use for filtering. The value - * must be a string, a number, or a boolean. The operator - * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * - * For example, if you are filtering Compute Engine instances, you can - * exclude instances named `example-instance` by specifying - * `name != example-instance`. - * - * The `:*` comparison can be used to test whether a key has been defined. - * For example, to find all objects with `owner` label use: - * ``` - * labels.owner:* - * ``` - * - * You can also filter nested fields. For example, you could specify - * `scheduling.automaticRestart = false` to include instances only - * if they are not scheduled for automatic restarts. You can use filtering - * on nested fields to filter based onresource labels. - * - * To filter on multiple expressions, provide each separate expression within - * parentheses. For example: - * ``` - * (scheduling.automaticRestart = true) - * (cpuPlatform = "Intel Skylake") - * ``` - * By default, each expression is an `AND` expression. However, you - * can include `AND` and `OR` expressions explicitly. - * For example: - * ``` - * (cpuPlatform = "Intel Skylake") OR - * (cpuPlatform = "Intel Broadwell") AND - * (scheduling.automaticRestart = true) - * ``` - * - * If you want to use a regular expression, use the `eq` (equal) or `ne` - * (not equal) operator against a single un-parenthesized expression with or - * without quotes or against multiple parenthesized expressions. Examples: - * - * `fieldname eq unquoted literal` - * `fieldname eq 'single quoted literal'` - * `fieldname eq "double quoted literal"` - * `(fieldname1 eq literal) (fieldname2 ne "literal")` - * - * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * The literal value must match the entire field. - * - * For example, to filter for instances that do not end with name "instance", - * you would use `name ne .*instance`. - * - * You cannot combine constraints on multiple fields using regular - * expressions. - */ - filter?: string; - /** - * 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. - */ - includeAllScopes?: boolean; - /** - * The maximum number of results per page that should be returned. - * If the number of available results is larger than `maxResults`, - * Compute Engine returns a `nextPageToken` that can be used to get - * the next page of results in subsequent list requests. Acceptable values are - * `0` to `500`, inclusive. (Default: `500`) - */ - maxResults?: number; - /** - * Sorts list results by a certain order. By default, results - * are returned in alphanumerical order based on the resource name. - * - * You can also sort results in descending order based on the creation - * timestamp using `orderBy="creationTimestamp desc"`. This sorts - * results based on the `creationTimestamp` field in - * reverse chronological order (newest result first). Use this to sort - * resources like operations so that the newest operation is returned first. - * - * Currently, only sorting by `name` or - * `creationTimestamp desc` is supported. - */ - orderBy?: string; - /** - * Specifies a page token to use. Set `pageToken` to the - * `nextPageToken` returned by a previous list request to get - * the next page of results. - */ - pageToken?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * Opt-in for partial success behavior which provides partial results in case - * of failure. The default value is false. - * - * For example, when partial success behavior is enabled, aggregatedList for a - * single zone scope either returns all resources in the zone or no resources, - * with an error code. - */ - returnPartialSuccess?: boolean; - /** - * The Shared VPC service project id or service project number for which - * aggregated list request is invoked for subnetworks list-usable api. - */ - serviceProjectNumber?: string; - } - export interface Params$Resource$Instancegroups$Delete extends StandardParameters { - /** - * The name of the instance group to delete. - */ - instanceGroup?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of the zone - * where the instance group is located. - */ - zone?: string; - } - export interface Params$Resource$Instancegroups$Get extends StandardParameters { - /** - * The name of the instance group. - */ - instanceGroup?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * The name of the zone - * where the instance group is located. - */ - zone?: string; - } - export interface Params$Resource$Instancegroups$Insert extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of the zone - * where you want to create the instance group. - */ - zone?: string; /** - * Request body metadata - */ - requestBody?: Schema$InstanceGroup; - } - export interface Params$Resource$Instancegroups$List extends StandardParameters { - /** - * A filter expression that filters resources listed in the response. Most - * Compute resources support two types of filter expressions: - * expressions that support regular expressions and expressions that follow - * API improvement proposal AIP-160. - * These two types of filter expressions cannot be mixed in one request. - * - * If you want to use AIP-160, your expression must specify the field name, an - * operator, and the value that you want to use for filtering. The value - * must be a string, a number, or a boolean. The operator - * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * - * For example, if you are filtering Compute Engine instances, you can - * exclude instances named `example-instance` by specifying - * `name != example-instance`. - * - * The `:*` comparison can be used to test whether a key has been defined. - * For example, to find all objects with `owner` label use: - * ``` - * labels.owner:* - * ``` - * - * You can also filter nested fields. For example, you could specify - * `scheduling.automaticRestart = false` to include instances only - * if they are not scheduled for automatic restarts. You can use filtering - * on nested fields to filter based onresource labels. - * - * To filter on multiple expressions, provide each separate expression within - * parentheses. For example: - * ``` - * (scheduling.automaticRestart = true) - * (cpuPlatform = "Intel Skylake") - * ``` - * By default, each expression is an `AND` expression. However, you - * can include `AND` and `OR` expressions explicitly. - * For example: - * ``` - * (cpuPlatform = "Intel Skylake") OR - * (cpuPlatform = "Intel Broadwell") AND - * (scheduling.automaticRestart = true) - * ``` - * - * If you want to use a regular expression, use the `eq` (equal) or `ne` - * (not equal) operator against a single un-parenthesized expression with or - * without quotes or against multiple parenthesized expressions. Examples: - * - * `fieldname eq unquoted literal` - * `fieldname eq 'single quoted literal'` - * `fieldname eq "double quoted literal"` - * `(fieldname1 eq literal) (fieldname2 ne "literal")` - * - * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * The literal value must match the entire field. - * - * For example, to filter for instances that do not end with name "instance", - * you would use `name ne .*instance`. - * - * You cannot combine constraints on multiple fields using regular - * expressions. - */ - filter?: string; - /** - * The maximum number of results per page that should be returned. - * If the number of available results is larger than `maxResults`, - * Compute Engine returns a `nextPageToken` that can be used to get - * the next page of results in subsequent list requests. Acceptable values are - * `0` to `500`, inclusive. (Default: `500`) - */ - maxResults?: number; - /** - * Sorts list results by a certain order. By default, results - * are returned in alphanumerical order based on the resource name. - * - * You can also sort results in descending order based on the creation - * timestamp using `orderBy="creationTimestamp desc"`. This sorts - * results based on the `creationTimestamp` field in - * reverse chronological order (newest result first). Use this to sort - * resources like operations so that the newest operation is returned first. - * - * Currently, only sorting by `name` or - * `creationTimestamp desc` is supported. - */ - orderBy?: string; - /** - * Specifies a page token to use. Set `pageToken` to the - * `nextPageToken` returned by a previous list request to get - * the next page of results. - */ - pageToken?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * Opt-in for partial success behavior which provides partial results in case - * of failure. The default value is false. - * - * For example, when partial success behavior is enabled, aggregatedList for a - * single zone scope either returns all resources in the zone or no resources, - * with an error code. - */ - returnPartialSuccess?: boolean; - /** - * The name of thezone - * where the instance group is located. - */ - zone?: string; - } - export interface Params$Resource$Instancegroups$Listinstances extends StandardParameters { - /** - * A filter expression that filters resources listed in the response. Most - * Compute resources support two types of filter expressions: - * expressions that support regular expressions and expressions that follow - * API improvement proposal AIP-160. - * These two types of filter expressions cannot be mixed in one request. - * - * If you want to use AIP-160, your expression must specify the field name, an - * operator, and the value that you want to use for filtering. The value - * must be a string, a number, or a boolean. The operator - * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * - * For example, if you are filtering Compute Engine instances, you can - * exclude instances named `example-instance` by specifying - * `name != example-instance`. - * - * The `:*` comparison can be used to test whether a key has been defined. - * For example, to find all objects with `owner` label use: - * ``` - * labels.owner:* - * ``` - * - * You can also filter nested fields. For example, you could specify - * `scheduling.automaticRestart = false` to include instances only - * if they are not scheduled for automatic restarts. You can use filtering - * on nested fields to filter based onresource labels. - * - * To filter on multiple expressions, provide each separate expression within - * parentheses. For example: - * ``` - * (scheduling.automaticRestart = true) - * (cpuPlatform = "Intel Skylake") - * ``` - * By default, each expression is an `AND` expression. However, you - * can include `AND` and `OR` expressions explicitly. - * For example: - * ``` - * (cpuPlatform = "Intel Skylake") OR - * (cpuPlatform = "Intel Broadwell") AND - * (scheduling.automaticRestart = true) - * ``` + * Returns the Shielded Instance Identity of an instance + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` * - * If you want to use a regular expression, use the `eq` (equal) or `ne` - * (not equal) operator against a single un-parenthesized expression with or - * without quotes or against multiple parenthesized expressions. Examples: + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); * - * `fieldname eq unquoted literal` - * `fieldname eq 'single quoted literal'` - * `fieldname eq "double quoted literal"` - * `(fieldname1 eq literal) (fieldname2 ne "literal")` + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', + * ], + * }); * - * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * The literal value must match the entire field. + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); * - * For example, to filter for instances that do not end with name "instance", - * you would use `name ne .*instance`. + * // Do the magic + * const res = await compute.instances.getShieldedInstanceIdentity({ + * // Name or id of the instance scoping this request. + * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // The name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * }); + * console.log(res.data); * - * You cannot combine constraints on multiple fields using regular - * expressions. - */ - filter?: string; - /** - * The name of the instance group from which you want to generate a list - * of included instances. - */ - instanceGroup?: string; - /** - * The maximum number of results per page that should be returned. - * If the number of available results is larger than `maxResults`, - * Compute Engine returns a `nextPageToken` that can be used to get - * the next page of results in subsequent list requests. Acceptable values are - * `0` to `500`, inclusive. (Default: `500`) - */ - maxResults?: number; - /** - * Sorts list results by a certain order. By default, results - * are returned in alphanumerical order based on the resource name. + * // Example response + * // { + * // "eccP256EncryptionKey": {}, + * // "eccP256SigningKey": {}, + * // "encryptionKey": {}, + * // "kind": "my_kind", + * // "signingKey": {} + * // } + * } * - * You can also sort results in descending order based on the creation - * timestamp using `orderBy="creationTimestamp desc"`. This sorts - * results based on the `creationTimestamp` field in - * reverse chronological order (newest result first). Use this to sort - * resources like operations so that the newest operation is returned first. + * main().catch(e => { + * console.error(e); + * throw e; + * }); * - * Currently, only sorting by `name` or - * `creationTimestamp desc` is supported. - */ - orderBy?: string; - /** - * Specifies a page token to use. Set `pageToken` to the - * `nextPageToken` returned by a previous list request to get - * the next page of results. - */ - pageToken?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * Opt-in for partial success behavior which provides partial results in case - * of failure. The default value is false. + * ``` * - * For example, when partial success behavior is enabled, aggregatedList for a - * single zone scope either returns all resources in the zone or no resources, - * with an error code. - */ - returnPartialSuccess?: boolean; - /** - * The name of the zone - * where the instance group is located. + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. */ - zone?: string; + getShieldedInstanceIdentity( + params: Params$Resource$Instances$Getshieldedinstanceidentity, + options: StreamMethodOptions + ): Promise>; + getShieldedInstanceIdentity( + params?: Params$Resource$Instances$Getshieldedinstanceidentity, + options?: MethodOptions + ): Promise>; + getShieldedInstanceIdentity( + params: Params$Resource$Instances$Getshieldedinstanceidentity, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getShieldedInstanceIdentity( + params: Params$Resource$Instances$Getshieldedinstanceidentity, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getShieldedInstanceIdentity( + params: Params$Resource$Instances$Getshieldedinstanceidentity, + callback: BodyResponseCallback + ): void; + getShieldedInstanceIdentity( + callback: BodyResponseCallback + ): void; + getShieldedInstanceIdentity( + paramsOrCallback?: + | Params$Resource$Instances$Getshieldedinstanceidentity + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Instances$Getshieldedinstanceidentity; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Instances$Getshieldedinstanceidentity; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/getShieldedInstanceIdentity' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } /** - * Request body metadata - */ - requestBody?: Schema$InstanceGroupsListInstancesRequest; - } - export interface Params$Resource$Instancegroups$Removeinstances extends StandardParameters { - /** - * The name of the instance group where the specified instances will be - * removed. - */ - instanceGroup?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. + * Returns the Shielded VM Identity of an instance + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of the zone - * where the instance group is located. - */ - zone?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$InstanceGroupsRemoveInstancesRequest; - } - export interface Params$Resource$Instancegroups$Setnamedports extends StandardParameters { - /** - * The name of the instance group where the named ports are updated. - */ - instanceGroup?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', + * ], + * }); * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of the zone - * where the instance group is located. + * // Do the magic + * const res = await compute.instances.getShieldedVmIdentity({ + * // Name of the instance scoping this request. + * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // The name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "encryptionKey": {}, + * // "kind": "my_kind", + * // "signingKey": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. */ - zone?: string; + getShieldedVmIdentity( + params: Params$Resource$Instances$Getshieldedvmidentity, + options: StreamMethodOptions + ): Promise>; + getShieldedVmIdentity( + params?: Params$Resource$Instances$Getshieldedvmidentity, + options?: MethodOptions + ): Promise>; + getShieldedVmIdentity( + params: Params$Resource$Instances$Getshieldedvmidentity, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getShieldedVmIdentity( + params: Params$Resource$Instances$Getshieldedvmidentity, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getShieldedVmIdentity( + params: Params$Resource$Instances$Getshieldedvmidentity, + callback: BodyResponseCallback + ): void; + getShieldedVmIdentity( + callback: BodyResponseCallback + ): void; + getShieldedVmIdentity( + paramsOrCallback?: + | Params$Resource$Instances$Getshieldedvmidentity + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Instances$Getshieldedvmidentity; + let options = (optionsOrCallback || {}) as MethodOptions; - /** - * Request body metadata - */ - requestBody?: Schema$InstanceGroupsSetNamedPortsRequest; - } - export interface Params$Resource$Instancegroups$Testiampermissions extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * Name or id of the resource for this request. - */ - resource?: string; - /** - * The name of the zone for this request. - */ - zone?: string; + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Instances$Getshieldedvmidentity; + options = {}; + } - /** - * Request body metadata - */ - requestBody?: Schema$TestPermissionsRequest; - } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } - export class Resource$Instances { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/getShieldedVmIdentity' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } } /** - * Adds an access config to an instance's network interface. + * Retrieves details of a specific VM extension state. + * This is a read-only API. * @example * ```js * // Before running the sample: @@ -108778,6 +114128,7 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -108786,82 +114137,28 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instances.addAccessConfig({ - * // The instance name for this request. + * const res = await compute.instances.getVmExtensionState({ + * // The name of the extension to get the state for. + * extensionName: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // Name or id of the instance resource. * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // The name of the network interface to add to this instance. - * networkInterface: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. - * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * // The name of the zone for this request. + * // Name of the zone for this request. * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "externalIpv6": "my_externalIpv6", - * // "externalIpv6PrefixLength": 0, - * // "kind": "my_kind", - * // "name": "my_name", - * // "natIP": "my_natIP", - * // "networkTier": "my_networkTier", - * // "publicDnsName": "my_publicDnsName", - * // "publicPtrDomainName": "my_publicPtrDomainName", - * // "securityPolicy": "my_securityPolicy", - * // "setPublicDns": false, - * // "setPublicPtr": false, - * // "type": "my_type" - * // } - * }, * }); * console.log(res.data); * * // Example response * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, - * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, - * // "kind": "my_kind", + * // "enforcementMsg": "my_enforcementMsg", + * // "enforcementState": "my_enforcementState", + * // "healthMsg": "my_healthMsg", + * // "healthStatus": "my_healthStatus", * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" + * // "policyId": "my_policyId", + * // "version": "my_version" * // } * } * @@ -108877,53 +114174,55 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - addAccessConfig( - params: Params$Resource$Instances$Addaccessconfig, + getVmExtensionState( + params: Params$Resource$Instances$Getvmextensionstate, options: StreamMethodOptions ): Promise>; - addAccessConfig( - params?: Params$Resource$Instances$Addaccessconfig, + getVmExtensionState( + params?: Params$Resource$Instances$Getvmextensionstate, options?: MethodOptions - ): Promise>; - addAccessConfig( - params: Params$Resource$Instances$Addaccessconfig, + ): Promise>; + getVmExtensionState( + params: Params$Resource$Instances$Getvmextensionstate, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - addAccessConfig( - params: Params$Resource$Instances$Addaccessconfig, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + getVmExtensionState( + params: Params$Resource$Instances$Getvmextensionstate, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - addAccessConfig( - params: Params$Resource$Instances$Addaccessconfig, - callback: BodyResponseCallback + getVmExtensionState( + params: Params$Resource$Instances$Getvmextensionstate, + callback: BodyResponseCallback ): void; - addAccessConfig(callback: BodyResponseCallback): void; - addAccessConfig( + getVmExtensionState( + callback: BodyResponseCallback + ): void; + getVmExtensionState( paramsOrCallback?: - | Params$Resource$Instances$Addaccessconfig - | BodyResponseCallback + | Params$Resource$Instances$Getvmextensionstate + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instances$Addaccessconfig; + {}) as Params$Resource$Instances$Getvmextensionstate; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instances$Addaccessconfig; + params = {} as Params$Resource$Instances$Getvmextensionstate; options = {}; } @@ -108938,30 +114237,31 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/addAccessConfig' + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/vmExtensionStates/{extensionName}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone', 'instance', 'networkInterface'], - pathParams: ['instance', 'project', 'zone'], + requiredParams: ['project', 'zone', 'instance', 'extensionName'], + pathParams: ['extensionName', 'instance', 'project', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Adds one dynamic network interface to an active instance. + * Creates an instance resource in the specified project using the data + * included in the request. * @example * ```js * // Before running the sample: @@ -108993,10 +114293,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instances.addNetworkInterface({ - * // The instance name for this request stored as resource_id. - * // Name should conform to RFC1035 or be an unsigned long integer. - * instance: 'placeholder-value', + * const res = await compute.instances.insert({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -109014,6 +114311,26 @@ export namespace compute_alpha { * // a valid UUID with the exception that zero UUID is not supported * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', + * // 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 + * sourceInstanceTemplate: 'placeholder-value', + * // 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 + * sourceMachineImage: 'placeholder-value', * // The name of the zone for this request. * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * @@ -109021,32 +114338,65 @@ export namespace compute_alpha { * requestBody: { * // request body parameters * // { - * // "accessConfigs": [], - * // "aliasIpRanges": [], - * // "aliasIpv6Ranges": [], - * // "dns64Eligible": false, - * // "enableVpcScopedDns": false, + * // "advancedMachineFeatures": {}, + * // "canIpForward": false, + * // "confidentialInstanceConfig": {}, + * // "cpuPlatform": "my_cpuPlatform", + * // "creationTimestamp": "my_creationTimestamp", + * // "deletionProtection": false, + * // "description": "my_description", + * // "disks": [], + * // "displayDevice": {}, + * // "eraseWindowsVssSignature": false, * // "fingerprint": "my_fingerprint", - * // "igmpQuery": "my_igmpQuery", - * // "internalIpv6PrefixLength": 0, - * // "ipv6AccessConfigs": [], - * // "ipv6AccessType": "my_ipv6AccessType", - * // "ipv6Address": "my_ipv6Address", + * // "guestAccelerators": [], + * // "hostname": "my_hostname", + * // "id": "my_id", + * // "identity": "my_identity", + * // "identityCertificate": false, + * // "instanceEncryptionKey": {}, + * // "keyRevocationActionType": "my_keyRevocationActionType", * // "kind": "my_kind", - * // "macAddress": "my_macAddress", + * // "labelFingerprint": "my_labelFingerprint", + * // "labels": {}, + * // "lastStartTimestamp": "my_lastStartTimestamp", + * // "lastStopTimestamp": "my_lastStopTimestamp", + * // "lastSuspendedTimestamp": "my_lastSuspendedTimestamp", + * // "machineType": "my_machineType", + * // "metadata": {}, + * // "minCpuPlatform": "my_minCpuPlatform", * // "name": "my_name", - * // "nat64Eligible": false, - * // "network": "my_network", - * // "networkAttachment": "my_networkAttachment", - * // "networkIP": "my_networkIP", - * // "nicType": "my_nicType", - * // "parentNicName": "my_parentNicName", - * // "queueCount": 0, - * // "serviceClassId": "my_serviceClassId", - * // "stackType": "my_stackType", - * // "subinterfaces": [], - * // "subnetwork": "my_subnetwork", - * // "vlan": 0 + * // "networkInterfaces": [], + * // "networkPerformanceConfig": {}, + * // "params": {}, + * // "partnerMetadata": {}, + * // "postKeyRevocationActionType": "my_postKeyRevocationActionType", + * // "preservedStateSizeGb": "my_preservedStateSizeGb", + * // "privateIpv6GoogleAccess": "my_privateIpv6GoogleAccess", + * // "reservationAffinity": {}, + * // "resourcePolicies": [], + * // "resourceStatus": {}, + * // "satisfiesPzi": false, + * // "satisfiesPzs": false, + * // "scheduling": {}, + * // "secureTags": [], + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "serviceAccounts": [], + * // "serviceIntegrationSpecs": {}, + * // "shieldedInstanceConfig": {}, + * // "shieldedInstanceIntegrityPolicy": {}, + * // "shieldedVmConfig": {}, + * // "shieldedVmIntegrityPolicy": {}, + * // "sourceMachineImage": "my_sourceMachineImage", + * // "sourceMachineImageEncryptionKey": {}, + * // "startRestricted": false, + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "tags": {}, + * // "upcomingMaintenance": {}, + * // "workloadIdentityConfig": {}, + * // "zone": "my_zone" * // } * }, * }); @@ -109097,32 +114447,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - addNetworkInterface( - params: Params$Resource$Instances$Addnetworkinterface, + insert( + params: Params$Resource$Instances$Insert, options: StreamMethodOptions ): Promise>; - addNetworkInterface( - params?: Params$Resource$Instances$Addnetworkinterface, + insert( + params?: Params$Resource$Instances$Insert, options?: MethodOptions ): Promise>; - addNetworkInterface( - params: Params$Resource$Instances$Addnetworkinterface, + insert( + params: Params$Resource$Instances$Insert, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - addNetworkInterface( - params: Params$Resource$Instances$Addnetworkinterface, + insert( + params: Params$Resource$Instances$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - addNetworkInterface( - params: Params$Resource$Instances$Addnetworkinterface, + insert( + params: Params$Resource$Instances$Insert, callback: BodyResponseCallback ): void; - addNetworkInterface(callback: BodyResponseCallback): void; - addNetworkInterface( + insert(callback: BodyResponseCallback): void; + insert( paramsOrCallback?: - | Params$Resource$Instances$Addnetworkinterface + | Params$Resource$Instances$Insert | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -109137,13 +114487,12 @@ export namespace compute_alpha { | void | Promise> | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Instances$Addnetworkinterface; + let params = (paramsOrCallback || {}) as Params$Resource$Instances$Insert; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instances$Addnetworkinterface; + params = {} as Params$Resource$Instances$Insert; options = {}; } @@ -109158,7 +114507,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/addNetworkInterface' + '/compute/alpha/projects/{project}/zones/{zone}/instances' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -109166,8 +114515,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'zone', 'instance'], - pathParams: ['instance', 'project', 'zone'], + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], context: this.context, }; if (callback) { @@ -109181,9 +114530,8 @@ export namespace compute_alpha { } /** - * 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. + * Retrieves the list of instances contained within + * the specified zone. * @example * ```js * // Before running the sample: @@ -109207,6 +114555,7 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -109215,69 +114564,113 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instances.addResourcePolicies({ - * // The instance name for this request. - * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.instances.list({ + * // A filter expression that filters resources listed in the response. Most + * // Compute resources support two types of filter expressions: + * // expressions that support regular expressions and expressions that follow + * // API improvement proposal AIP-160. + * // These two types of filter expressions cannot be mixed in one request. + * // + * // If you want to use AIP-160, your expression must specify the field name, an + * // operator, and the value that you want to use for filtering. The value + * // must be a string, a number, or a boolean. The operator + * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * // + * // For example, if you are filtering Compute Engine instances, you can + * // exclude instances named `example-instance` by specifying + * // `name != example-instance`. + * // + * // The `:*` comparison can be used to test whether a key has been defined. + * // For example, to find all objects with `owner` label use: + * // ``` + * // labels.owner:* + * // ``` + * // + * // You can also filter nested fields. For example, you could specify + * // `scheduling.automaticRestart = false` to include instances only + * // if they are not scheduled for automatic restarts. You can use filtering + * // on nested fields to filter based onresource labels. + * // + * // To filter on multiple expressions, provide each separate expression within + * // parentheses. For example: + * // ``` + * // (scheduling.automaticRestart = true) + * // (cpuPlatform = "Intel Skylake") + * // ``` + * // By default, each expression is an `AND` expression. However, you + * // can include `AND` and `OR` expressions explicitly. + * // For example: + * // ``` + * // (cpuPlatform = "Intel Skylake") OR + * // (cpuPlatform = "Intel Broadwell") AND + * // (scheduling.automaticRestart = true) + * // ``` + * // + * // If you want to use a regular expression, use the `eq` (equal) or `ne` + * // (not equal) operator against a single un-parenthesized expression with or + * // without quotes or against multiple parenthesized expressions. Examples: + * // + * // `fieldname eq unquoted literal` + * // `fieldname eq 'single quoted literal'` + * // `fieldname eq "double quoted literal"` + * // `(fieldname1 eq literal) (fieldname2 ne "literal")` + * // + * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * // The literal value must match the entire field. + * // + * // For example, to filter for instances that do not end with name "instance", + * // you would use `name ne .*instance`. + * // + * // You cannot combine constraints on multiple fields using regular + * // expressions. + * filter: 'placeholder-value', + * // The maximum number of results per page that should be returned. + * // If the number of available results is larger than `maxResults`, + * // Compute Engine returns a `nextPageToken` that can be used to get + * // the next page of results in subsequent list requests. Acceptable values are + * // `0` to `500`, inclusive. (Default: `500`) + * maxResults: 'placeholder-value', + * // Sorts list results by a certain order. By default, results + * // are returned in alphanumerical order based on the resource name. + * // + * // You can also sort results in descending order based on the creation + * // timestamp using `orderBy="creationTimestamp desc"`. This sorts + * // results based on the `creationTimestamp` field in + * // reverse chronological order (newest result first). Use this to sort + * // resources like operations so that the newest operation is returned first. + * // + * // Currently, only sorting by `name` or + * // `creationTimestamp desc` is supported. + * orderBy: 'placeholder-value', + * // Specifies a page token to use. Set `pageToken` to the + * // `nextPageToken` returned by a previous list request to get + * // the next page of results. + * pageToken: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. + * // Opt-in for partial success behavior which provides partial results in case + * // of failure. The default value is false. * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', + * // For example, when partial success behavior is enabled, aggregatedList for a + * // single zone scope either returns all resources in the zone or no resources, + * // with an error code. + * returnPartialSuccess: 'placeholder-value', + * // View of the instance. + * view: 'placeholder-value', * // The name of the zone for this request. * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "resourcePolicies": [] - * // } - * }, * }); * console.log(res.data); * * // Example response * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, + * // "items": [], * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", + * // "nextPageToken": "my_nextPageToken", * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" + * // "warning": {} * // } * } * @@ -109293,53 +114686,52 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - addResourcePolicies( - params: Params$Resource$Instances$Addresourcepolicies, + list( + params: Params$Resource$Instances$List, options: StreamMethodOptions ): Promise>; - addResourcePolicies( - params?: Params$Resource$Instances$Addresourcepolicies, + list( + params?: Params$Resource$Instances$List, options?: MethodOptions - ): Promise>; - addResourcePolicies( - params: Params$Resource$Instances$Addresourcepolicies, + ): Promise>; + list( + params: Params$Resource$Instances$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - addResourcePolicies( - params: Params$Resource$Instances$Addresourcepolicies, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + list( + params: Params$Resource$Instances$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - addResourcePolicies( - params: Params$Resource$Instances$Addresourcepolicies, - callback: BodyResponseCallback + list( + params: Params$Resource$Instances$List, + callback: BodyResponseCallback ): void; - addResourcePolicies(callback: BodyResponseCallback): void; - addResourcePolicies( + list(callback: BodyResponseCallback): void; + list( paramsOrCallback?: - | Params$Resource$Instances$Addresourcepolicies - | BodyResponseCallback + | Params$Resource$Instances$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Instances$Addresourcepolicies; + let params = (paramsOrCallback || {}) as Params$Resource$Instances$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instances$Addresourcepolicies; + params = {} as Params$Resource$Instances$List; options = {}; } @@ -109354,37 +114746,34 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/addResourcePolicies' + '/compute/alpha/projects/{project}/zones/{zone}/instances' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone', 'instance'], - pathParams: ['instance', 'project', 'zone'], + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * 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`. + * 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, readViewing + * referrers to VM instances. * @example * ```js * // Before running the sample: @@ -109417,7 +114806,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instances.aggregatedList({ + * const res = await compute.instances.listReferrers({ * // A filter expression that filters resources listed in the response. Most * // Compute resources support two types of filter expressions: * // expressions that support regular expressions and expressions that follow @@ -109477,14 +114866,9 @@ export namespace compute_alpha { * // You cannot combine constraints on multiple fields using regular * // expressions. * filter: 'placeholder-value', - * // 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. - * includeAllScopes: 'placeholder-value', + * // Name of the target instance scoping this request, or '-' if the + * // request should span over all instances in the container. + * instance: '-|[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // The maximum number of results per page that should be returned. * // If the number of available results is larger than `maxResults`, * // Compute Engine returns a `nextPageToken` that can be used to get @@ -109517,20 +114901,18 @@ export namespace compute_alpha { * // single zone scope either returns all resources in the zone or no resources, * // with an error code. * returnPartialSuccess: 'placeholder-value', - * // The Shared VPC service project id or service project number for which - * // aggregated list request is invoked for subnetworks list-usable api. - * serviceProjectNumber: 'placeholder-value', + * // The name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * }); * console.log(res.data); * * // Example response * // { * // "id": "my_id", - * // "items": {}, + * // "items": [], * // "kind": "my_kind", * // "nextPageToken": "my_nextPageToken", * // "selfLink": "my_selfLink", - * // "unreachables": [], * // "warning": {} * // } * } @@ -109547,57 +114929,57 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - aggregatedList( - params: Params$Resource$Instances$Aggregatedlist, + listReferrers( + params: Params$Resource$Instances$Listreferrers, options: StreamMethodOptions ): Promise>; - aggregatedList( - params?: Params$Resource$Instances$Aggregatedlist, + listReferrers( + params?: Params$Resource$Instances$Listreferrers, options?: MethodOptions - ): Promise>; - aggregatedList( - params: Params$Resource$Instances$Aggregatedlist, + ): Promise>; + listReferrers( + params: Params$Resource$Instances$Listreferrers, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - aggregatedList( - params: Params$Resource$Instances$Aggregatedlist, + listReferrers( + params: Params$Resource$Instances$Listreferrers, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - aggregatedList( - params: Params$Resource$Instances$Aggregatedlist, - callback: BodyResponseCallback + listReferrers( + params: Params$Resource$Instances$Listreferrers, + callback: BodyResponseCallback ): void; - aggregatedList( - callback: BodyResponseCallback + listReferrers( + callback: BodyResponseCallback ): void; - aggregatedList( + listReferrers( paramsOrCallback?: - | Params$Resource$Instances$Aggregatedlist - | BodyResponseCallback + | Params$Resource$Instances$Listreferrers + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instances$Aggregatedlist; + {}) as Params$Resource$Instances$Listreferrers; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instances$Aggregatedlist; + params = {} as Params$Resource$Instances$Listreferrers; options = {}; } @@ -109611,7 +114993,8 @@ export namespace compute_alpha { options: Object.assign( { url: ( - rootUrl + '/compute/alpha/projects/{project}/aggregated/instances' + rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/referrers' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -109619,25 +115002,23 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project'], - pathParams: ['project'], + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * 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, readAdding a - * persistent disk to your instance. + * Lists all VM extensions states for a specific instance. + * This is a read-only API. * @example * ```js * // Before running the sample: @@ -109661,6 +115042,7 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -109669,91 +115051,115 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instances.attachDisk({ - * // 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. - * forceAttach: 'placeholder-value', - * // The instance name for this request. + * const res = await compute.instances.listVmExtensionStates({ + * // A filter expression that filters resources listed in the response. Most + * // Compute resources support two types of filter expressions: + * // expressions that support regular expressions and expressions that follow + * // API improvement proposal AIP-160. + * // These two types of filter expressions cannot be mixed in one request. + * // + * // If you want to use AIP-160, your expression must specify the field name, an + * // operator, and the value that you want to use for filtering. The value + * // must be a string, a number, or a boolean. The operator + * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * // + * // For example, if you are filtering Compute Engine instances, you can + * // exclude instances named `example-instance` by specifying + * // `name != example-instance`. + * // + * // The `:*` comparison can be used to test whether a key has been defined. + * // For example, to find all objects with `owner` label use: + * // ``` + * // labels.owner:* + * // ``` + * // + * // You can also filter nested fields. For example, you could specify + * // `scheduling.automaticRestart = false` to include instances only + * // if they are not scheduled for automatic restarts. You can use filtering + * // on nested fields to filter based onresource labels. + * // + * // To filter on multiple expressions, provide each separate expression within + * // parentheses. For example: + * // ``` + * // (scheduling.automaticRestart = true) + * // (cpuPlatform = "Intel Skylake") + * // ``` + * // By default, each expression is an `AND` expression. However, you + * // can include `AND` and `OR` expressions explicitly. + * // For example: + * // ``` + * // (cpuPlatform = "Intel Skylake") OR + * // (cpuPlatform = "Intel Broadwell") AND + * // (scheduling.automaticRestart = true) + * // ``` + * // + * // If you want to use a regular expression, use the `eq` (equal) or `ne` + * // (not equal) operator against a single un-parenthesized expression with or + * // without quotes or against multiple parenthesized expressions. Examples: + * // + * // `fieldname eq unquoted literal` + * // `fieldname eq 'single quoted literal'` + * // `fieldname eq "double quoted literal"` + * // `(fieldname1 eq literal) (fieldname2 ne "literal")` + * // + * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * // The literal value must match the entire field. + * // + * // For example, to filter for instances that do not end with name "instance", + * // you would use `name ne .*instance`. + * // + * // You cannot combine constraints on multiple fields using regular + * // expressions. + * filter: 'placeholder-value', + * // Name of the target instance scoping this request. * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // The maximum number of results per page that should be returned. + * // If the number of available results is larger than `maxResults`, + * // Compute Engine returns a `nextPageToken` that can be used to get + * // the next page of results in subsequent list requests. Acceptable values are + * // `0` to `500`, inclusive. (Default: `500`) + * maxResults: 'placeholder-value', + * // Sorts list results by a certain order. By default, results + * // are returned in alphanumerical order based on the resource name. + * // + * // You can also sort results in descending order based on the creation + * // timestamp using `orderBy="creationTimestamp desc"`. This sorts + * // results based on the `creationTimestamp` field in + * // reverse chronological order (newest result first). Use this to sort + * // resources like operations so that the newest operation is returned first. + * // + * // Currently, only sorting by `name` or + * // `creationTimestamp desc` is supported. + * orderBy: 'placeholder-value', + * // Specifies a page token to use. Set `pageToken` to the + * // `nextPageToken` returned by a previous list request to get + * // the next page of results. + * pageToken: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. + * // Opt-in for partial success behavior which provides partial results in case + * // of failure. The default value is false. * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * // The name of the zone for this request. + * // For example, when partial success behavior is enabled, aggregatedList for a + * // single zone scope either returns all resources in the zone or no resources, + * // with an error code. + * returnPartialSuccess: 'placeholder-value', + * // Required. Name of the zone for this request. * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "architecture": "my_architecture", - * // "autoDelete": false, - * // "boot": false, - * // "deviceName": "my_deviceName", - * // "diskEncryptionKey": {}, - * // "diskSizeGb": "my_diskSizeGb", - * // "forceAttach": false, - * // "guestOsFeatures": [], - * // "index": 0, - * // "initializeParams": {}, - * // "interface": "my_interface", - * // "kind": "my_kind", - * // "licenses": [], - * // "locked": false, - * // "mode": "my_mode", - * // "savedState": "my_savedState", - * // "shieldedInstanceInitialState": {}, - * // "source": "my_source", - * // "type": "my_type" - * // } - * }, * }); * console.log(res.data); * * // Example response * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, + * // "etag": "my_etag", * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, + * // "items": [], * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", + * // "nextPageToken": "my_nextPageToken", * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" + * // "unreachables": [], + * // "warning": {} * // } * } * @@ -109769,53 +115175,57 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - attachDisk( - params: Params$Resource$Instances$Attachdisk, + listVmExtensionStates( + params: Params$Resource$Instances$Listvmextensionstates, options: StreamMethodOptions ): Promise>; - attachDisk( - params?: Params$Resource$Instances$Attachdisk, + listVmExtensionStates( + params?: Params$Resource$Instances$Listvmextensionstates, options?: MethodOptions - ): Promise>; - attachDisk( - params: Params$Resource$Instances$Attachdisk, + ): Promise>; + listVmExtensionStates( + params: Params$Resource$Instances$Listvmextensionstates, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - attachDisk( - params: Params$Resource$Instances$Attachdisk, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + listVmExtensionStates( + params: Params$Resource$Instances$Listvmextensionstates, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - attachDisk( - params: Params$Resource$Instances$Attachdisk, - callback: BodyResponseCallback + listVmExtensionStates( + params: Params$Resource$Instances$Listvmextensionstates, + callback: BodyResponseCallback ): void; - attachDisk(callback: BodyResponseCallback): void; - attachDisk( + listVmExtensionStates( + callback: BodyResponseCallback + ): void; + listVmExtensionStates( paramsOrCallback?: - | Params$Resource$Instances$Attachdisk - | BodyResponseCallback + | Params$Resource$Instances$Listvmextensionstates + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instances$Attachdisk; + {}) as Params$Resource$Instances$Listvmextensionstates; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instances$Attachdisk; + params = {} as Params$Resource$Instances$Listvmextensionstates; options = {}; } @@ -109830,9 +115240,9 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/attachDisk' + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/vmExtensionStates' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options @@ -109843,19 +115253,19 @@ export namespace compute_alpha { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); } } /** - * Creates multiple instances. Count specifies the number of instances to - * create. For more information, seeAbout bulk - * creation of VMs. + * Patches partner metadata of the specified instance. * @example * ```js * // Before running the sample: @@ -109887,7 +115297,9 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instances.bulkInsert({ + * const res = await compute.instances.patchPartnerMetadata({ + * // Name of the instance scoping this request. + * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -109912,14 +115324,8 @@ export namespace compute_alpha { * requestBody: { * // request body parameters * // { - * // "count": "my_count", - * // "instanceFlexibilityPolicy": {}, - * // "instanceProperties": {}, - * // "locationPolicy": {}, - * // "minCount": "my_minCount", - * // "namePattern": "my_namePattern", - * // "perInstanceProperties": {}, - * // "sourceInstanceTemplate": "my_sourceInstanceTemplate" + * // "fingerprint": "my_fingerprint", + * // "partnerMetadata": {} * // } * }, * }); @@ -109970,32 +115376,34 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - bulkInsert( - params: Params$Resource$Instances$Bulkinsert, + patchPartnerMetadata( + params: Params$Resource$Instances$Patchpartnermetadata, options: StreamMethodOptions ): Promise>; - bulkInsert( - params?: Params$Resource$Instances$Bulkinsert, + patchPartnerMetadata( + params?: Params$Resource$Instances$Patchpartnermetadata, options?: MethodOptions ): Promise>; - bulkInsert( - params: Params$Resource$Instances$Bulkinsert, + patchPartnerMetadata( + params: Params$Resource$Instances$Patchpartnermetadata, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - bulkInsert( - params: Params$Resource$Instances$Bulkinsert, + patchPartnerMetadata( + params: Params$Resource$Instances$Patchpartnermetadata, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - bulkInsert( - params: Params$Resource$Instances$Bulkinsert, + patchPartnerMetadata( + params: Params$Resource$Instances$Patchpartnermetadata, callback: BodyResponseCallback ): void; - bulkInsert(callback: BodyResponseCallback): void; - bulkInsert( + patchPartnerMetadata( + callback: BodyResponseCallback + ): void; + patchPartnerMetadata( paramsOrCallback?: - | Params$Resource$Instances$Bulkinsert + | Params$Resource$Instances$Patchpartnermetadata | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -110011,12 +115419,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instances$Bulkinsert; + {}) as Params$Resource$Instances$Patchpartnermetadata; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instances$Bulkinsert; + params = {} as Params$Resource$Instances$Patchpartnermetadata; options = {}; } @@ -110031,7 +115439,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instances/bulkInsert' + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/patchPartnerMetadata' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -110039,8 +115447,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'zone'], - pathParams: ['project', 'zone'], + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], context: this.context, }; if (callback) { @@ -110054,8 +115462,7 @@ export namespace compute_alpha { } /** - * Deletes the specified Instance resource. For more information, seeDeleting - * an instance. + * Perform a manual maintenance on the instance. * @example * ```js * // Before running the sample: @@ -110087,11 +115494,9 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instances.delete({ - * // Name of the instance resource to delete. + * const res = await compute.instances.performMaintenance({ + * // Name of the instance scoping this request. * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // If set to true, Graceful Shutdown is skipped. - * noGracefulShutdown: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -110159,32 +115564,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - delete( - params: Params$Resource$Instances$Delete, + performMaintenance( + params: Params$Resource$Instances$Performmaintenance, options: StreamMethodOptions ): Promise>; - delete( - params?: Params$Resource$Instances$Delete, + performMaintenance( + params?: Params$Resource$Instances$Performmaintenance, options?: MethodOptions ): Promise>; - delete( - params: Params$Resource$Instances$Delete, + performMaintenance( + params: Params$Resource$Instances$Performmaintenance, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Instances$Delete, + performMaintenance( + params: Params$Resource$Instances$Performmaintenance, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Instances$Delete, + performMaintenance( + params: Params$Resource$Instances$Performmaintenance, callback: BodyResponseCallback ): void; - delete(callback: BodyResponseCallback): void; - delete( + performMaintenance(callback: BodyResponseCallback): void; + performMaintenance( paramsOrCallback?: - | Params$Resource$Instances$Delete + | Params$Resource$Instances$Performmaintenance | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -110199,12 +115604,13 @@ export namespace compute_alpha { | void | Promise> | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Instances$Delete; + let params = (paramsOrCallback || + {}) as Params$Resource$Instances$Performmaintenance; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instances$Delete; + params = {} as Params$Resource$Instances$Performmaintenance; options = {}; } @@ -110219,9 +115625,9 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}' + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/performMaintenance' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', + method: 'POST', apiVersion: '', }, options @@ -110242,7 +115648,7 @@ export namespace compute_alpha { } /** - * Deletes an access config from an instance's network interface. + * Removes resource policies from an instance. * @example * ```js * // Before running the sample: @@ -110274,13 +115680,9 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instances.deleteAccessConfig({ - * // The name of the access config to delete. - * accessConfig: 'placeholder-value', + * const res = await compute.instances.removeResourcePolicies({ * // The instance name for this request. * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // The name of the network interface. - * networkInterface: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -110300,6 +115702,14 @@ export namespace compute_alpha { * requestId: 'placeholder-value', * // The name of the zone for this request. * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "resourcePolicies": [] + * // } + * }, * }); * console.log(res.data); * @@ -110348,32 +115758,34 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - deleteAccessConfig( - params: Params$Resource$Instances$Deleteaccessconfig, + removeResourcePolicies( + params: Params$Resource$Instances$Removeresourcepolicies, options: StreamMethodOptions ): Promise>; - deleteAccessConfig( - params?: Params$Resource$Instances$Deleteaccessconfig, + removeResourcePolicies( + params?: Params$Resource$Instances$Removeresourcepolicies, options?: MethodOptions ): Promise>; - deleteAccessConfig( - params: Params$Resource$Instances$Deleteaccessconfig, + removeResourcePolicies( + params: Params$Resource$Instances$Removeresourcepolicies, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - deleteAccessConfig( - params: Params$Resource$Instances$Deleteaccessconfig, + removeResourcePolicies( + params: Params$Resource$Instances$Removeresourcepolicies, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - deleteAccessConfig( - params: Params$Resource$Instances$Deleteaccessconfig, + removeResourcePolicies( + params: Params$Resource$Instances$Removeresourcepolicies, callback: BodyResponseCallback ): void; - deleteAccessConfig(callback: BodyResponseCallback): void; - deleteAccessConfig( + removeResourcePolicies( + callback: BodyResponseCallback + ): void; + removeResourcePolicies( paramsOrCallback?: - | Params$Resource$Instances$Deleteaccessconfig + | Params$Resource$Instances$Removeresourcepolicies | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -110389,12 +115801,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instances$Deleteaccessconfig; + {}) as Params$Resource$Instances$Removeresourcepolicies; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instances$Deleteaccessconfig; + params = {} as Params$Resource$Instances$Removeresourcepolicies; options = {}; } @@ -110409,7 +115821,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/deleteAccessConfig' + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/removeResourcePolicies' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -110417,13 +115829,7 @@ export namespace compute_alpha { options ), params, - requiredParams: [ - 'project', - 'zone', - 'instance', - 'accessConfig', - 'networkInterface', - ], + requiredParams: ['project', 'zone', 'instance'], pathParams: ['instance', 'project', 'zone'], context: this.context, }; @@ -110438,11 +115844,7 @@ export namespace compute_alpha { } /** - * Deletes one dynamic network interface from an active instance. - * InstancesDeleteNetworkInterfaceRequest indicates: - * - instance from which to delete, using project+zone+resource_id fields; - * - dynamic network interface to be deleted, using network_interface_name - * field; + * Mark the host as faulty and try to restart the instance on a new host. * @example * ```js * // Before running the sample: @@ -110474,12 +115876,9 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instances.deleteNetworkInterface({ - * // The instance name for this request stored as resource_id. - * // Name should conform to RFC1035 or be an unsigned long integer. - * instance: 'placeholder-value', - * // The name of the dynamic network interface to be deleted from the instance. - * networkInterfaceName: 'placeholder-value', + * const res = await compute.instances.reportHostAsFaulty({ + * // Name of the instance scoping this request. + * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -110499,6 +115898,16 @@ export namespace compute_alpha { * requestId: 'placeholder-value', * // The name of the zone for this request. * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "actionHint": "my_actionHint", + * // "disruptionSchedule": "my_disruptionSchedule", + * // "faultReasons": [] + * // } + * }, * }); * console.log(res.data); * @@ -110546,35 +115955,33 @@ export namespace compute_alpha { * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. - */ - deleteNetworkInterface( - params: Params$Resource$Instances$Deletenetworkinterface, + */ + reportHostAsFaulty( + params: Params$Resource$Instances$Reporthostasfaulty, options: StreamMethodOptions ): Promise>; - deleteNetworkInterface( - params?: Params$Resource$Instances$Deletenetworkinterface, + reportHostAsFaulty( + params?: Params$Resource$Instances$Reporthostasfaulty, options?: MethodOptions ): Promise>; - deleteNetworkInterface( - params: Params$Resource$Instances$Deletenetworkinterface, + reportHostAsFaulty( + params: Params$Resource$Instances$Reporthostasfaulty, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - deleteNetworkInterface( - params: Params$Resource$Instances$Deletenetworkinterface, + reportHostAsFaulty( + params: Params$Resource$Instances$Reporthostasfaulty, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - deleteNetworkInterface( - params: Params$Resource$Instances$Deletenetworkinterface, - callback: BodyResponseCallback - ): void; - deleteNetworkInterface( + reportHostAsFaulty( + params: Params$Resource$Instances$Reporthostasfaulty, callback: BodyResponseCallback ): void; - deleteNetworkInterface( + reportHostAsFaulty(callback: BodyResponseCallback): void; + reportHostAsFaulty( paramsOrCallback?: - | Params$Resource$Instances$Deletenetworkinterface + | Params$Resource$Instances$Reporthostasfaulty | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -110590,12 +115997,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instances$Deletenetworkinterface; + {}) as Params$Resource$Instances$Reporthostasfaulty; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instances$Deletenetworkinterface; + params = {} as Params$Resource$Instances$Reporthostasfaulty; options = {}; } @@ -110610,7 +116017,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/deleteNetworkInterface' + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/reportHostAsFaulty' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -110618,7 +116025,7 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'zone', 'instance', 'networkInterfaceName'], + requiredParams: ['project', 'zone', 'instance'], pathParams: ['instance', 'project', 'zone'], context: this.context, }; @@ -110633,7 +116040,9 @@ export namespace compute_alpha { } /** - * Detaches a disk from an instance. + * Performs a reset on the instance. This is a hard reset. The VM + * does not do a graceful shutdown. For more information, seeResetting + * an instance. * @example * ```js * // Before running the sample: @@ -110665,11 +116074,8 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instances.detachDisk({ - * // The device name of the disk to detach. Make a get() request on - * // the instance to view currently attached disks and device names. - * deviceName: 'placeholder-value', - * // Instance name for this request. + * const res = await compute.instances.reset({ + * // Name of the instance scoping this request. * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: @@ -110738,32 +116144,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - detachDisk( - params: Params$Resource$Instances$Detachdisk, + reset( + params: Params$Resource$Instances$Reset, options: StreamMethodOptions ): Promise>; - detachDisk( - params?: Params$Resource$Instances$Detachdisk, + reset( + params?: Params$Resource$Instances$Reset, options?: MethodOptions ): Promise>; - detachDisk( - params: Params$Resource$Instances$Detachdisk, + reset( + params: Params$Resource$Instances$Reset, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - detachDisk( - params: Params$Resource$Instances$Detachdisk, + reset( + params: Params$Resource$Instances$Reset, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - detachDisk( - params: Params$Resource$Instances$Detachdisk, + reset( + params: Params$Resource$Instances$Reset, callback: BodyResponseCallback ): void; - detachDisk(callback: BodyResponseCallback): void; - detachDisk( + reset(callback: BodyResponseCallback): void; + reset( paramsOrCallback?: - | Params$Resource$Instances$Detachdisk + | Params$Resource$Instances$Reset | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -110778,13 +116184,12 @@ export namespace compute_alpha { | void | Promise> | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Instances$Detachdisk; + let params = (paramsOrCallback || {}) as Params$Resource$Instances$Reset; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instances$Detachdisk; + params = {} as Params$Resource$Instances$Reset; options = {}; } @@ -110799,7 +116204,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/detachDisk' + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/reset' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -110807,7 +116212,7 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'zone', 'instance', 'deviceName'], + requiredParams: ['project', 'zone', 'instance'], pathParams: ['instance', 'project', 'zone'], context: this.context, }; @@ -110822,7 +116227,8 @@ export namespace compute_alpha { } /** - * Returns the specified Instance resource. + * Resumes an instance that was suspended using theinstances().suspend + * method. * @example * ```js * // Before running the sample: @@ -110846,7 +116252,6 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -110855,79 +116260,69 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instances.get({ - * // Name of the instance resource to return. + * const res = await compute.instances.resume({ + * // Name of the instance resource to resume. * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // View of the instance. - * view: 'placeholder-value', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', * // The name of the zone for this request. * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "disks": [], + * // "instanceEncryptionKey": {} + * // } + * }, * }); * console.log(res.data); * * // Example response * // { - * // "advancedMachineFeatures": {}, - * // "canIpForward": false, - * // "confidentialInstanceConfig": {}, - * // "cpuPlatform": "my_cpuPlatform", + * // "clientOperationId": "my_clientOperationId", * // "creationTimestamp": "my_creationTimestamp", - * // "deletionProtection": false, * // "description": "my_description", - * // "disks": [], - * // "displayDevice": {}, - * // "eraseWindowsVssSignature": false, - * // "fingerprint": "my_fingerprint", - * // "guestAccelerators": [], - * // "hostname": "my_hostname", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, * // "id": "my_id", - * // "identity": "my_identity", - * // "identityCertificate": false, - * // "instanceEncryptionKey": {}, - * // "keyRevocationActionType": "my_keyRevocationActionType", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, * // "kind": "my_kind", - * // "labelFingerprint": "my_labelFingerprint", - * // "labels": {}, - * // "lastStartTimestamp": "my_lastStartTimestamp", - * // "lastStopTimestamp": "my_lastStopTimestamp", - * // "lastSuspendedTimestamp": "my_lastSuspendedTimestamp", - * // "machineType": "my_machineType", - * // "metadata": {}, - * // "minCpuPlatform": "my_minCpuPlatform", * // "name": "my_name", - * // "networkInterfaces": [], - * // "networkPerformanceConfig": {}, - * // "params": {}, - * // "partnerMetadata": {}, - * // "postKeyRevocationActionType": "my_postKeyRevocationActionType", - * // "preservedStateSizeGb": "my_preservedStateSizeGb", - * // "privateIpv6GoogleAccess": "my_privateIpv6GoogleAccess", - * // "reservationAffinity": {}, - * // "resourcePolicies": [], - * // "resourceStatus": {}, - * // "satisfiesPzi": false, - * // "satisfiesPzs": false, - * // "scheduling": {}, - * // "secureTags": [], + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", - * // "serviceAccounts": [], - * // "serviceIntegrationSpecs": {}, - * // "shieldedInstanceConfig": {}, - * // "shieldedInstanceIntegrityPolicy": {}, - * // "shieldedVmConfig": {}, - * // "shieldedVmIntegrityPolicy": {}, - * // "sourceMachineImage": "my_sourceMachineImage", - * // "sourceMachineImageEncryptionKey": {}, - * // "startRestricted": false, + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", * // "status": "my_status", * // "statusMessage": "my_statusMessage", - * // "tags": {}, - * // "upcomingMaintenance": {}, - * // "workloadIdentityConfig": {}, + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], * // "zone": "my_zone" * // } * } @@ -110944,52 +116339,52 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - get( - params: Params$Resource$Instances$Get, + resume( + params: Params$Resource$Instances$Resume, options: StreamMethodOptions ): Promise>; - get( - params?: Params$Resource$Instances$Get, + resume( + params?: Params$Resource$Instances$Resume, options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Instances$Get, + ): Promise>; + resume( + params: Params$Resource$Instances$Resume, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Instances$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + resume( + params: Params$Resource$Instances$Resume, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Instances$Get, - callback: BodyResponseCallback + resume( + params: Params$Resource$Instances$Resume, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; - get( + resume(callback: BodyResponseCallback): void; + resume( paramsOrCallback?: - | Params$Resource$Instances$Get - | BodyResponseCallback + | Params$Resource$Instances$Resume + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Instances$Get; + let params = (paramsOrCallback || {}) as Params$Resource$Instances$Resume; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instances$Get; + params = {} as Params$Resource$Instances$Resume; options = {}; } @@ -111004,9 +116399,9 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}' + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/resume' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'POST', apiVersion: '', }, options @@ -111017,17 +116412,17 @@ export namespace compute_alpha { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Returns effective firewalls applied to an interface of the instance. + * Sends diagnostic interrupt to the instance. * @example * ```js * // Before running the sample: @@ -111051,7 +116446,6 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -111060,11 +116454,9 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instances.getEffectiveFirewalls({ + * const res = await compute.instances.sendDiagnosticInterrupt({ * // Name of the instance scoping this request. - * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', - * // The name of the network interface to get the effective firewalls. - * networkInterface: 'placeholder-value', + * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -111072,13 +116464,6 @@ export namespace compute_alpha { * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * }); * console.log(res.data); - * - * // Example response - * // { - * // "firewallPolicys": [], - * // "firewalls": [], - * // "organizationFirewalls": [] - * // } * } * * main().catch(e => { @@ -111093,61 +116478,51 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - getEffectiveFirewalls( - params: Params$Resource$Instances$Geteffectivefirewalls, + sendDiagnosticInterrupt( + params: Params$Resource$Instances$Senddiagnosticinterrupt, options: StreamMethodOptions ): Promise>; - getEffectiveFirewalls( - params?: Params$Resource$Instances$Geteffectivefirewalls, + sendDiagnosticInterrupt( + params?: Params$Resource$Instances$Senddiagnosticinterrupt, options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; - getEffectiveFirewalls( - params: Params$Resource$Instances$Geteffectivefirewalls, + ): Promise>; + sendDiagnosticInterrupt( + params: Params$Resource$Instances$Senddiagnosticinterrupt, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - getEffectiveFirewalls( - params: Params$Resource$Instances$Geteffectivefirewalls, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - getEffectiveFirewalls( - params: Params$Resource$Instances$Geteffectivefirewalls, - callback: BodyResponseCallback + sendDiagnosticInterrupt( + params: Params$Resource$Instances$Senddiagnosticinterrupt, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - getEffectiveFirewalls( - callback: BodyResponseCallback + sendDiagnosticInterrupt( + params: Params$Resource$Instances$Senddiagnosticinterrupt, + callback: BodyResponseCallback ): void; - getEffectiveFirewalls( + sendDiagnosticInterrupt(callback: BodyResponseCallback): void; + sendDiagnosticInterrupt( paramsOrCallback?: - | Params$Resource$Instances$Geteffectivefirewalls - | BodyResponseCallback + | Params$Resource$Instances$Senddiagnosticinterrupt + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback + callback?: BodyResponseCallback | BodyResponseCallback ): | void - | Promise< - GaxiosResponseWithHTTP2 - > + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instances$Geteffectivefirewalls; + {}) as Params$Resource$Instances$Senddiagnosticinterrupt; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instances$Geteffectivefirewalls; + params = {} as Params$Resource$Instances$Senddiagnosticinterrupt; options = {}; } @@ -111162,32 +116537,30 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/getEffectiveFirewalls' + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/sendDiagnosticInterrupt' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone', 'instance', 'networkInterface'], + requiredParams: ['project', 'zone', 'instance'], pathParams: ['instance', 'project', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } /** - * Returns the specified guest attributes entry. + * Sets deletion protection on the instance. * @example * ```js * // Before running the sample: @@ -111211,7 +116584,6 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -111220,16 +116592,28 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instances.getGuestAttributes({ - * // Name of the instance scoping this request. - * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.instances.setDeletionProtection({ + * // Whether the resource should be protected against deletion. + * deletionProtection: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Specifies the guest attributes path to be queried. - * queryPath: 'placeholder-value', - * // Specifies the key for the guest attributes entry. - * variableKey: 'placeholder-value', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // Name or id of the resource for this request. + * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // The name of the zone for this request. * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * }); @@ -111237,12 +116621,34 @@ export namespace compute_alpha { * * // Example response * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, * // "kind": "my_kind", - * // "queryPath": "my_queryPath", - * // "queryValue": {}, + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", * // "selfLink": "my_selfLink", - * // "variableKey": "my_variableKey", - * // "variableValue": "my_variableValue" + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" * // } * } * @@ -111258,55 +116664,55 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - getGuestAttributes( - params: Params$Resource$Instances$Getguestattributes, + setDeletionProtection( + params: Params$Resource$Instances$Setdeletionprotection, options: StreamMethodOptions ): Promise>; - getGuestAttributes( - params?: Params$Resource$Instances$Getguestattributes, + setDeletionProtection( + params?: Params$Resource$Instances$Setdeletionprotection, options?: MethodOptions - ): Promise>; - getGuestAttributes( - params: Params$Resource$Instances$Getguestattributes, + ): Promise>; + setDeletionProtection( + params: Params$Resource$Instances$Setdeletionprotection, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - getGuestAttributes( - params: Params$Resource$Instances$Getguestattributes, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + setDeletionProtection( + params: Params$Resource$Instances$Setdeletionprotection, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - getGuestAttributes( - params: Params$Resource$Instances$Getguestattributes, - callback: BodyResponseCallback + setDeletionProtection( + params: Params$Resource$Instances$Setdeletionprotection, + callback: BodyResponseCallback ): void; - getGuestAttributes( - callback: BodyResponseCallback + setDeletionProtection( + callback: BodyResponseCallback ): void; - getGuestAttributes( + setDeletionProtection( paramsOrCallback?: - | Params$Resource$Instances$Getguestattributes - | BodyResponseCallback + | Params$Resource$Instances$Setdeletionprotection + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instances$Getguestattributes; + {}) as Params$Resource$Instances$Setdeletionprotection; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instances$Getguestattributes; + params = {} as Params$Resource$Instances$Setdeletionprotection; options = {}; } @@ -111321,31 +116727,30 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/getGuestAttributes' + '/compute/alpha/projects/{project}/zones/{zone}/instances/{resource}/setDeletionProtection' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone', 'instance'], - pathParams: ['instance', 'project', 'zone'], + requiredParams: ['project', 'zone', 'resource'], + pathParams: ['project', 'resource', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Gets the access control policy for a resource. May be empty if no such - * policy or resource exists. + * Sets the auto-delete flag for a disk attached to an instance. * @example * ```js * // Before running the sample: @@ -111369,7 +116774,6 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -111378,14 +116782,31 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instances.getIamPolicy({ - * // Requested IAM Policy version. - * optionsRequestedPolicyVersion: 'placeholder-value', + * const res = await compute.instances.setDiskAutoDelete({ + * // Whether to auto-delete the disk when the instance is deleted. + * autoDelete: 'placeholder-value', + * // The device name of the disk to modify. Make a get() request + * // on the instance to view currently attached disks and device names. + * deviceName: '\w[\w.-]{0,254}', + * // The instance name for this request. + * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name or id of the resource for this request. - * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', * // The name of the zone for this request. * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * }); @@ -111393,10 +116814,34 @@ export namespace compute_alpha { * * // Example response * // { - * // "auditConfigs": [], - * // "bindings": [], - * // "etag": "my_etag", - * // "version": 0 + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" * // } * } * @@ -111412,53 +116857,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - getIamPolicy( - params: Params$Resource$Instances$Getiampolicy, + setDiskAutoDelete( + params: Params$Resource$Instances$Setdiskautodelete, options: StreamMethodOptions ): Promise>; - getIamPolicy( - params?: Params$Resource$Instances$Getiampolicy, + setDiskAutoDelete( + params?: Params$Resource$Instances$Setdiskautodelete, options?: MethodOptions - ): Promise>; - getIamPolicy( - params: Params$Resource$Instances$Getiampolicy, + ): Promise>; + setDiskAutoDelete( + params: Params$Resource$Instances$Setdiskautodelete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - getIamPolicy( - params: Params$Resource$Instances$Getiampolicy, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + setDiskAutoDelete( + params: Params$Resource$Instances$Setdiskautodelete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - getIamPolicy( - params: Params$Resource$Instances$Getiampolicy, - callback: BodyResponseCallback + setDiskAutoDelete( + params: Params$Resource$Instances$Setdiskautodelete, + callback: BodyResponseCallback ): void; - getIamPolicy(callback: BodyResponseCallback): void; - getIamPolicy( + setDiskAutoDelete(callback: BodyResponseCallback): void; + setDiskAutoDelete( paramsOrCallback?: - | Params$Resource$Instances$Getiampolicy - | BodyResponseCallback + | Params$Resource$Instances$Setdiskautodelete + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instances$Getiampolicy; + {}) as Params$Resource$Instances$Setdiskautodelete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instances$Getiampolicy; + params = {} as Params$Resource$Instances$Setdiskautodelete; options = {}; } @@ -111473,30 +116918,37 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instances/{resource}/getIamPolicy' + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/setDiskAutoDelete' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone', 'resource'], - pathParams: ['project', 'resource', 'zone'], + requiredParams: [ + 'project', + 'zone', + 'instance', + 'autoDelete', + 'deviceName', + ], + pathParams: ['instance', 'project', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Gets partner metadata of the specified instance and namespaces. + * Sets the access control policy on the specified resource. + * Replaces any existing policy. * @example * ```js * // Before running the sample: @@ -111520,7 +116972,6 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -111529,23 +116980,33 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instances.getPartnerMetadata({ - * // Name of the instance scoping this request. - * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // Comma separated partner metadata namespaces. - * namespaces: 'placeholder-value', + * const res = await compute.instances.setIamPolicy({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Name or id of the resource for this request. + * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // The name of the zone for this request. * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "bindings": [], + * // "etag": "my_etag", + * // "policy": {} + * // } + * }, * }); * console.log(res.data); * * // Example response * // { - * // "fingerprint": "my_fingerprint", - * // "partnerMetadata": {} + * // "auditConfigs": [], + * // "bindings": [], + * // "etag": "my_etag", + * // "version": 0 * // } * } * @@ -111561,55 +117022,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - getPartnerMetadata( - params: Params$Resource$Instances$Getpartnermetadata, + setIamPolicy( + params: Params$Resource$Instances$Setiampolicy, options: StreamMethodOptions ): Promise>; - getPartnerMetadata( - params?: Params$Resource$Instances$Getpartnermetadata, + setIamPolicy( + params?: Params$Resource$Instances$Setiampolicy, options?: MethodOptions - ): Promise>; - getPartnerMetadata( - params: Params$Resource$Instances$Getpartnermetadata, + ): Promise>; + setIamPolicy( + params: Params$Resource$Instances$Setiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - getPartnerMetadata( - params: Params$Resource$Instances$Getpartnermetadata, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - getPartnerMetadata( - params: Params$Resource$Instances$Getpartnermetadata, - callback: BodyResponseCallback + setIamPolicy( + params: Params$Resource$Instances$Setiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - getPartnerMetadata( - callback: BodyResponseCallback + setIamPolicy( + params: Params$Resource$Instances$Setiampolicy, + callback: BodyResponseCallback ): void; - getPartnerMetadata( + setIamPolicy(callback: BodyResponseCallback): void; + setIamPolicy( paramsOrCallback?: - | Params$Resource$Instances$Getpartnermetadata - | BodyResponseCallback + | Params$Resource$Instances$Setiampolicy + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instances$Getpartnermetadata; + {}) as Params$Resource$Instances$Setiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instances$Getpartnermetadata; + params = {} as Params$Resource$Instances$Setiampolicy; options = {}; } @@ -111624,30 +117083,31 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/getPartnerMetadata' + '/compute/alpha/projects/{project}/zones/{zone}/instances/{resource}/setIamPolicy' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone', 'instance'], - pathParams: ['instance', 'project', 'zone'], + requiredParams: ['project', 'zone', 'resource'], + pathParams: ['project', 'resource', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Returns the screenshot from the specified instance. + * Sets labels on an instance. To learn more about labels, read theLabeling + * Resources documentation. * @example * ```js * // Before running the sample: @@ -111671,7 +117131,6 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -111680,21 +117139,70 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instances.getScreenshot({ + * const res = await compute.instances.setLabels({ * // Name of the instance scoping this request. * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', * // The name of the zone for this request. * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "labelFingerprint": "my_labelFingerprint", + * // "labels": {} + * // } + * }, * }); * console.log(res.data); * * // Example response * // { - * // "contents": "my_contents", - * // "kind": "my_kind" + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" * // } * } * @@ -111710,53 +117218,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - getScreenshot( - params: Params$Resource$Instances$Getscreenshot, + setLabels( + params: Params$Resource$Instances$Setlabels, options: StreamMethodOptions ): Promise>; - getScreenshot( - params?: Params$Resource$Instances$Getscreenshot, + setLabels( + params?: Params$Resource$Instances$Setlabels, options?: MethodOptions - ): Promise>; - getScreenshot( - params: Params$Resource$Instances$Getscreenshot, + ): Promise>; + setLabels( + params: Params$Resource$Instances$Setlabels, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - getScreenshot( - params: Params$Resource$Instances$Getscreenshot, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + setLabels( + params: Params$Resource$Instances$Setlabels, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - getScreenshot( - params: Params$Resource$Instances$Getscreenshot, - callback: BodyResponseCallback + setLabels( + params: Params$Resource$Instances$Setlabels, + callback: BodyResponseCallback ): void; - getScreenshot(callback: BodyResponseCallback): void; - getScreenshot( + setLabels(callback: BodyResponseCallback): void; + setLabels( paramsOrCallback?: - | Params$Resource$Instances$Getscreenshot - | BodyResponseCallback + | Params$Resource$Instances$Setlabels + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instances$Getscreenshot; + {}) as Params$Resource$Instances$Setlabels; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instances$Getscreenshot; + params = {} as Params$Resource$Instances$Setlabels; options = {}; } @@ -111771,9 +117279,9 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/screenshot' + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/setLabels' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'POST', apiVersion: '', }, options @@ -111784,17 +117292,18 @@ export namespace compute_alpha { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Returns the last 1 MB of serial port output from the specified instance. + * Changes the number and/or type of accelerator for a stopped instance to the + * values specified in the request. * @example * ```js * // Before running the sample: @@ -111818,7 +117327,6 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -111827,44 +117335,69 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instances.getSerialPortOutput({ - * // Name of the instance for this request. + * const res = await compute.instances.setMachineResources({ + * // Name of the instance scoping this request. * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // Specifies which COM or serial port to retrieve data from. - * port: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // 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`. + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. * // - * // 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. + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. * // - * // 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. - * start: 'placeholder-value', + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', * // The name of the zone for this request. * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "guestAccelerators": [] + * // } + * }, * }); * console.log(res.data); * * // Example response * // { - * // "contents": "my_contents", + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, * // "kind": "my_kind", - * // "next": "my_next", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", * // "selfLink": "my_selfLink", - * // "start": "my_start" + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" * // } * } * @@ -111880,55 +117413,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - getSerialPortOutput( - params: Params$Resource$Instances$Getserialportoutput, + setMachineResources( + params: Params$Resource$Instances$Setmachineresources, options: StreamMethodOptions ): Promise>; - getSerialPortOutput( - params?: Params$Resource$Instances$Getserialportoutput, + setMachineResources( + params?: Params$Resource$Instances$Setmachineresources, options?: MethodOptions - ): Promise>; - getSerialPortOutput( - params: Params$Resource$Instances$Getserialportoutput, + ): Promise>; + setMachineResources( + params: Params$Resource$Instances$Setmachineresources, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - getSerialPortOutput( - params: Params$Resource$Instances$Getserialportoutput, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - getSerialPortOutput( - params: Params$Resource$Instances$Getserialportoutput, - callback: BodyResponseCallback + setMachineResources( + params: Params$Resource$Instances$Setmachineresources, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - getSerialPortOutput( - callback: BodyResponseCallback + setMachineResources( + params: Params$Resource$Instances$Setmachineresources, + callback: BodyResponseCallback ): void; - getSerialPortOutput( + setMachineResources(callback: BodyResponseCallback): void; + setMachineResources( paramsOrCallback?: - | Params$Resource$Instances$Getserialportoutput - | BodyResponseCallback + | Params$Resource$Instances$Setmachineresources + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instances$Getserialportoutput; + {}) as Params$Resource$Instances$Setmachineresources; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instances$Getserialportoutput; + params = {} as Params$Resource$Instances$Setmachineresources; options = {}; } @@ -111943,9 +117474,9 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/serialPort' + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/setMachineResources' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'POST', apiVersion: '', }, options @@ -111956,17 +117487,18 @@ export namespace compute_alpha { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Returns the Shielded Instance Identity of an instance + * Changes the machine type for a stopped instance to the machine + * type specified in the request. * @example * ```js * // Before running the sample: @@ -111990,7 +117522,6 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -111999,24 +117530,69 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instances.getShieldedInstanceIdentity({ - * // Name or id of the instance scoping this request. + * const res = await compute.instances.setMachineType({ + * // Name of the instance scoping this request. * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', * // The name of the zone for this request. * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "machineType": "my_machineType" + * // } + * }, * }); * console.log(res.data); * * // Example response * // { - * // "eccP256EncryptionKey": {}, - * // "eccP256SigningKey": {}, - * // "encryptionKey": {}, + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, * // "kind": "my_kind", - * // "signingKey": {} + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" * // } * } * @@ -112032,57 +117608,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - getShieldedInstanceIdentity( - params: Params$Resource$Instances$Getshieldedinstanceidentity, + setMachineType( + params: Params$Resource$Instances$Setmachinetype, options: StreamMethodOptions ): Promise>; - getShieldedInstanceIdentity( - params?: Params$Resource$Instances$Getshieldedinstanceidentity, + setMachineType( + params?: Params$Resource$Instances$Setmachinetype, options?: MethodOptions - ): Promise>; - getShieldedInstanceIdentity( - params: Params$Resource$Instances$Getshieldedinstanceidentity, + ): Promise>; + setMachineType( + params: Params$Resource$Instances$Setmachinetype, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - getShieldedInstanceIdentity( - params: Params$Resource$Instances$Getshieldedinstanceidentity, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - getShieldedInstanceIdentity( - params: Params$Resource$Instances$Getshieldedinstanceidentity, - callback: BodyResponseCallback + setMachineType( + params: Params$Resource$Instances$Setmachinetype, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - getShieldedInstanceIdentity( - callback: BodyResponseCallback + setMachineType( + params: Params$Resource$Instances$Setmachinetype, + callback: BodyResponseCallback ): void; - getShieldedInstanceIdentity( + setMachineType(callback: BodyResponseCallback): void; + setMachineType( paramsOrCallback?: - | Params$Resource$Instances$Getshieldedinstanceidentity - | BodyResponseCallback + | Params$Resource$Instances$Setmachinetype + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instances$Getshieldedinstanceidentity; + {}) as Params$Resource$Instances$Setmachinetype; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instances$Getshieldedinstanceidentity; + params = {} as Params$Resource$Instances$Setmachinetype; options = {}; } @@ -112097,9 +117669,9 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/getShieldedInstanceIdentity' + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/setMachineType' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'POST', apiVersion: '', }, options @@ -112110,17 +117682,18 @@ export namespace compute_alpha { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Returns the Shielded VM Identity of an instance + * Sets metadata for the specified instance to the data included + * in the request. * @example * ```js * // Before running the sample: @@ -112144,7 +117717,6 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -112153,22 +117725,71 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instances.getShieldedVmIdentity({ + * const res = await compute.instances.setMetadata({ * // Name of the instance scoping this request. * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', * // The name of the zone for this request. * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "fingerprint": "my_fingerprint", + * // "items": [], + * // "kind": "my_kind" + * // } + * }, * }); * console.log(res.data); * * // Example response * // { - * // "encryptionKey": {}, + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, * // "kind": "my_kind", - * // "signingKey": {} + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" * // } * } * @@ -112184,55 +117805,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - getShieldedVmIdentity( - params: Params$Resource$Instances$Getshieldedvmidentity, + setMetadata( + params: Params$Resource$Instances$Setmetadata, options: StreamMethodOptions ): Promise>; - getShieldedVmIdentity( - params?: Params$Resource$Instances$Getshieldedvmidentity, + setMetadata( + params?: Params$Resource$Instances$Setmetadata, options?: MethodOptions - ): Promise>; - getShieldedVmIdentity( - params: Params$Resource$Instances$Getshieldedvmidentity, + ): Promise>; + setMetadata( + params: Params$Resource$Instances$Setmetadata, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - getShieldedVmIdentity( - params: Params$Resource$Instances$Getshieldedvmidentity, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - getShieldedVmIdentity( - params: Params$Resource$Instances$Getshieldedvmidentity, - callback: BodyResponseCallback + setMetadata( + params: Params$Resource$Instances$Setmetadata, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - getShieldedVmIdentity( - callback: BodyResponseCallback + setMetadata( + params: Params$Resource$Instances$Setmetadata, + callback: BodyResponseCallback ): void; - getShieldedVmIdentity( + setMetadata(callback: BodyResponseCallback): void; + setMetadata( paramsOrCallback?: - | Params$Resource$Instances$Getshieldedvmidentity - | BodyResponseCallback + | Params$Resource$Instances$Setmetadata + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instances$Getshieldedvmidentity; + {}) as Params$Resource$Instances$Setmetadata; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instances$Getshieldedvmidentity; + params = {} as Params$Resource$Instances$Setmetadata; options = {}; } @@ -112247,9 +117866,9 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/getShieldedVmIdentity' + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/setMetadata' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'POST', apiVersion: '', }, options @@ -112260,18 +117879,20 @@ export namespace compute_alpha { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Retrieves details of a specific VM extension state. - * This is a read-only API. + * Changes the minimum CPU platform that this instance should use. + * This method can only + * be called on a stopped instance. For more information, readSpecifying a + * Minimum CPU Platform. * @example * ```js * // Before running the sample: @@ -112295,7 +117916,6 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -112304,28 +117924,69 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instances.getVmExtensionState({ - * // The name of the extension to get the state for. - * extensionName: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // Name or id of the instance resource. + * const res = await compute.instances.setMinCpuPlatform({ + * // Name of the instance scoping this request. * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name of the zone for this request. + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // The name of the zone for this request. * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "minCpuPlatform": "my_minCpuPlatform" + * // } + * }, * }); * console.log(res.data); * * // Example response * // { - * // "enforcementMsg": "my_enforcementMsg", - * // "enforcementState": "my_enforcementState", - * // "healthMsg": "my_healthMsg", - * // "healthStatus": "my_healthStatus", + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", * // "name": "my_name", - * // "policyId": "my_policyId", - * // "version": "my_version" + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" * // } * } * @@ -112341,55 +118002,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - getVmExtensionState( - params: Params$Resource$Instances$Getvmextensionstate, + setMinCpuPlatform( + params: Params$Resource$Instances$Setmincpuplatform, options: StreamMethodOptions ): Promise>; - getVmExtensionState( - params?: Params$Resource$Instances$Getvmextensionstate, + setMinCpuPlatform( + params?: Params$Resource$Instances$Setmincpuplatform, options?: MethodOptions - ): Promise>; - getVmExtensionState( - params: Params$Resource$Instances$Getvmextensionstate, + ): Promise>; + setMinCpuPlatform( + params: Params$Resource$Instances$Setmincpuplatform, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - getVmExtensionState( - params: Params$Resource$Instances$Getvmextensionstate, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - getVmExtensionState( - params: Params$Resource$Instances$Getvmextensionstate, - callback: BodyResponseCallback + setMinCpuPlatform( + params: Params$Resource$Instances$Setmincpuplatform, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - getVmExtensionState( - callback: BodyResponseCallback + setMinCpuPlatform( + params: Params$Resource$Instances$Setmincpuplatform, + callback: BodyResponseCallback ): void; - getVmExtensionState( + setMinCpuPlatform(callback: BodyResponseCallback): void; + setMinCpuPlatform( paramsOrCallback?: - | Params$Resource$Instances$Getvmextensionstate - | BodyResponseCallback + | Params$Resource$Instances$Setmincpuplatform + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instances$Getvmextensionstate; + {}) as Params$Resource$Instances$Setmincpuplatform; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instances$Getvmextensionstate; + params = {} as Params$Resource$Instances$Setmincpuplatform; options = {}; } @@ -112404,31 +118063,30 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/vmExtensionStates/{extensionName}' + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/setMinCpuPlatform' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone', 'instance', 'extensionName'], - pathParams: ['extensionName', 'instance', 'project', 'zone'], + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Creates an instance resource in the specified project using the data - * included in the request. + * Sets name of an instance. * @example * ```js * // Before running the sample: @@ -112460,7 +118118,9 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instances.insert({ + * const res = await compute.instances.setName({ + * // The instance name for this request. + * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -112478,26 +118138,6 @@ export namespace compute_alpha { * // a valid UUID with the exception that zero UUID is not supported * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', - * // 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 - * sourceInstanceTemplate: 'placeholder-value', - * // 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 - * sourceMachineImage: 'placeholder-value', * // The name of the zone for this request. * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * @@ -112505,65 +118145,8 @@ export namespace compute_alpha { * requestBody: { * // request body parameters * // { - * // "advancedMachineFeatures": {}, - * // "canIpForward": false, - * // "confidentialInstanceConfig": {}, - * // "cpuPlatform": "my_cpuPlatform", - * // "creationTimestamp": "my_creationTimestamp", - * // "deletionProtection": false, - * // "description": "my_description", - * // "disks": [], - * // "displayDevice": {}, - * // "eraseWindowsVssSignature": false, - * // "fingerprint": "my_fingerprint", - * // "guestAccelerators": [], - * // "hostname": "my_hostname", - * // "id": "my_id", - * // "identity": "my_identity", - * // "identityCertificate": false, - * // "instanceEncryptionKey": {}, - * // "keyRevocationActionType": "my_keyRevocationActionType", - * // "kind": "my_kind", - * // "labelFingerprint": "my_labelFingerprint", - * // "labels": {}, - * // "lastStartTimestamp": "my_lastStartTimestamp", - * // "lastStopTimestamp": "my_lastStopTimestamp", - * // "lastSuspendedTimestamp": "my_lastSuspendedTimestamp", - * // "machineType": "my_machineType", - * // "metadata": {}, - * // "minCpuPlatform": "my_minCpuPlatform", - * // "name": "my_name", - * // "networkInterfaces": [], - * // "networkPerformanceConfig": {}, - * // "params": {}, - * // "partnerMetadata": {}, - * // "postKeyRevocationActionType": "my_postKeyRevocationActionType", - * // "preservedStateSizeGb": "my_preservedStateSizeGb", - * // "privateIpv6GoogleAccess": "my_privateIpv6GoogleAccess", - * // "reservationAffinity": {}, - * // "resourcePolicies": [], - * // "resourceStatus": {}, - * // "satisfiesPzi": false, - * // "satisfiesPzs": false, - * // "scheduling": {}, - * // "secureTags": [], - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "serviceAccounts": [], - * // "serviceIntegrationSpecs": {}, - * // "shieldedInstanceConfig": {}, - * // "shieldedInstanceIntegrityPolicy": {}, - * // "shieldedVmConfig": {}, - * // "shieldedVmIntegrityPolicy": {}, - * // "sourceMachineImage": "my_sourceMachineImage", - * // "sourceMachineImageEncryptionKey": {}, - * // "startRestricted": false, - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "tags": {}, - * // "upcomingMaintenance": {}, - * // "workloadIdentityConfig": {}, - * // "zone": "my_zone" + * // "currentName": "my_currentName", + * // "name": "my_name" * // } * }, * }); @@ -112614,32 +118197,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - insert( - params: Params$Resource$Instances$Insert, + setName( + params: Params$Resource$Instances$Setname, options: StreamMethodOptions ): Promise>; - insert( - params?: Params$Resource$Instances$Insert, + setName( + params?: Params$Resource$Instances$Setname, options?: MethodOptions ): Promise>; - insert( - params: Params$Resource$Instances$Insert, + setName( + params: Params$Resource$Instances$Setname, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - insert( - params: Params$Resource$Instances$Insert, + setName( + params: Params$Resource$Instances$Setname, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - insert( - params: Params$Resource$Instances$Insert, + setName( + params: Params$Resource$Instances$Setname, callback: BodyResponseCallback ): void; - insert(callback: BodyResponseCallback): void; - insert( + setName(callback: BodyResponseCallback): void; + setName( paramsOrCallback?: - | Params$Resource$Instances$Insert + | Params$Resource$Instances$Setname | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -112654,12 +118237,13 @@ export namespace compute_alpha { | void | Promise> | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Instances$Insert; + let params = (paramsOrCallback || + {}) as Params$Resource$Instances$Setname; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instances$Insert; + params = {} as Params$Resource$Instances$Setname; options = {}; } @@ -112674,7 +118258,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instances' + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/setName' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -112682,8 +118266,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'zone'], - pathParams: ['project', 'zone'], + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], context: this.context, }; if (callback) { @@ -112697,8 +118281,11 @@ export namespace compute_alpha { } /** - * Retrieves the list of instances contained within - * the specified zone. + * Sets an instance's scheduling options. You can only call this method on astopped instance, + * that is, a VM instance that is in a `TERMINATED` state. SeeInstance Life + * Cycle for more information on the possible instance states. + * For more information about setting scheduling options for a VM, seeSet + * VM host maintenance policy. * @example * ```js * // Before running the sample: @@ -112722,7 +118309,6 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -112731,113 +118317,92 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instances.list({ - * // A filter expression that filters resources listed in the response. Most - * // Compute resources support two types of filter expressions: - * // expressions that support regular expressions and expressions that follow - * // API improvement proposal AIP-160. - * // These two types of filter expressions cannot be mixed in one request. - * // - * // If you want to use AIP-160, your expression must specify the field name, an - * // operator, and the value that you want to use for filtering. The value - * // must be a string, a number, or a boolean. The operator - * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * // - * // For example, if you are filtering Compute Engine instances, you can - * // exclude instances named `example-instance` by specifying - * // `name != example-instance`. - * // - * // The `:*` comparison can be used to test whether a key has been defined. - * // For example, to find all objects with `owner` label use: - * // ``` - * // labels.owner:* - * // ``` - * // - * // You can also filter nested fields. For example, you could specify - * // `scheduling.automaticRestart = false` to include instances only - * // if they are not scheduled for automatic restarts. You can use filtering - * // on nested fields to filter based onresource labels. - * // - * // To filter on multiple expressions, provide each separate expression within - * // parentheses. For example: - * // ``` - * // (scheduling.automaticRestart = true) - * // (cpuPlatform = "Intel Skylake") - * // ``` - * // By default, each expression is an `AND` expression. However, you - * // can include `AND` and `OR` expressions explicitly. - * // For example: - * // ``` - * // (cpuPlatform = "Intel Skylake") OR - * // (cpuPlatform = "Intel Broadwell") AND - * // (scheduling.automaticRestart = true) - * // ``` - * // - * // If you want to use a regular expression, use the `eq` (equal) or `ne` - * // (not equal) operator against a single un-parenthesized expression with or - * // without quotes or against multiple parenthesized expressions. Examples: - * // - * // `fieldname eq unquoted literal` - * // `fieldname eq 'single quoted literal'` - * // `fieldname eq "double quoted literal"` - * // `(fieldname1 eq literal) (fieldname2 ne "literal")` - * // - * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * // The literal value must match the entire field. - * // - * // For example, to filter for instances that do not end with name "instance", - * // you would use `name ne .*instance`. - * // - * // You cannot combine constraints on multiple fields using regular - * // expressions. - * filter: 'placeholder-value', - * // The maximum number of results per page that should be returned. - * // If the number of available results is larger than `maxResults`, - * // Compute Engine returns a `nextPageToken` that can be used to get - * // the next page of results in subsequent list requests. Acceptable values are - * // `0` to `500`, inclusive. (Default: `500`) - * maxResults: 'placeholder-value', - * // Sorts list results by a certain order. By default, results - * // are returned in alphanumerical order based on the resource name. - * // - * // You can also sort results in descending order based on the creation - * // timestamp using `orderBy="creationTimestamp desc"`. This sorts - * // results based on the `creationTimestamp` field in - * // reverse chronological order (newest result first). Use this to sort - * // resources like operations so that the newest operation is returned first. - * // - * // Currently, only sorting by `name` or - * // `creationTimestamp desc` is supported. - * orderBy: 'placeholder-value', - * // Specifies a page token to use. Set `pageToken` to the - * // `nextPageToken` returned by a previous list request to get - * // the next page of results. - * pageToken: 'placeholder-value', + * const res = await compute.instances.setScheduling({ + * // Instance name for this request. + * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Opt-in for partial success behavior which provides partial results in case - * // of failure. The default value is false. + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. * // - * // For example, when partial success behavior is enabled, aggregatedList for a - * // single zone scope either returns all resources in the zone or no resources, - * // with an error code. - * returnPartialSuccess: 'placeholder-value', - * // View of the instance. - * view: 'placeholder-value', + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', * // The name of the zone for this request. * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "automaticRestart": false, + * // "availabilityDomain": 0, + * // "currentCpus": 0, + * // "currentMemoryMb": "my_currentMemoryMb", + * // "gracefulShutdown": {}, + * // "hostErrorTimeoutSeconds": 0, + * // "instanceTerminationAction": "my_instanceTerminationAction", + * // "latencyTolerant": false, + * // "localSsdRecoveryTimeout": {}, + * // "locationHint": "my_locationHint", + * // "maintenanceFreezeDurationHours": 0, + * // "maintenanceInterval": "my_maintenanceInterval", + * // "maxRunDuration": {}, + * // "minNodeCpus": 0, + * // "nodeAffinities": [], + * // "onHostMaintenance": "my_onHostMaintenance", + * // "onInstanceStopAction": {}, + * // "preemptible": false, + * // "preemptionNoticeDuration": {}, + * // "provisioningModel": "my_provisioningModel", + * // "shutdownTimeout": {}, + * // "skipGuestOsShutdown": false, + * // "terminationTime": "my_terminationTime", + * // "windowsLicenseOptimizationMode": "my_windowsLicenseOptimizationMode" + * // } + * }, * }); * console.log(res.data); * * // Example response * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, * // "id": "my_id", - * // "items": [], + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, * // "kind": "my_kind", - * // "nextPageToken": "my_nextPageToken", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", * // "selfLink": "my_selfLink", - * // "warning": {} + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" * // } * } * @@ -112853,52 +118418,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - list( - params: Params$Resource$Instances$List, + setScheduling( + params: Params$Resource$Instances$Setscheduling, options: StreamMethodOptions ): Promise>; - list( - params?: Params$Resource$Instances$List, + setScheduling( + params?: Params$Resource$Instances$Setscheduling, options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Instances$List, + ): Promise>; + setScheduling( + params: Params$Resource$Instances$Setscheduling, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Instances$List, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + setScheduling( + params: Params$Resource$Instances$Setscheduling, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Instances$List, - callback: BodyResponseCallback + setScheduling( + params: Params$Resource$Instances$Setscheduling, + callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; - list( + setScheduling(callback: BodyResponseCallback): void; + setScheduling( paramsOrCallback?: - | Params$Resource$Instances$List - | BodyResponseCallback + | Params$Resource$Instances$Setscheduling + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Instances$List; + let params = (paramsOrCallback || + {}) as Params$Resource$Instances$Setscheduling; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instances$List; + params = {} as Params$Resource$Instances$Setscheduling; options = {}; } @@ -112913,34 +118479,32 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instances' + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/setScheduling' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone'], - pathParams: ['project', 'zone'], + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * 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, readViewing - * referrers to VM instances. + * Sets the Google Cloud Armor security policy for the specified instance. + * For more information, seeGoogle + * Cloud Armor Overview * @example * ```js * // Before running the sample: @@ -112964,7 +118528,6 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -112973,114 +118536,71 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instances.listReferrers({ - * // A filter expression that filters resources listed in the response. Most - * // Compute resources support two types of filter expressions: - * // expressions that support regular expressions and expressions that follow - * // API improvement proposal AIP-160. - * // These two types of filter expressions cannot be mixed in one request. - * // - * // If you want to use AIP-160, your expression must specify the field name, an - * // operator, and the value that you want to use for filtering. The value - * // must be a string, a number, or a boolean. The operator - * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * // - * // For example, if you are filtering Compute Engine instances, you can - * // exclude instances named `example-instance` by specifying - * // `name != example-instance`. - * // - * // The `:*` comparison can be used to test whether a key has been defined. - * // For example, to find all objects with `owner` label use: - * // ``` - * // labels.owner:* - * // ``` - * // - * // You can also filter nested fields. For example, you could specify - * // `scheduling.automaticRestart = false` to include instances only - * // if they are not scheduled for automatic restarts. You can use filtering - * // on nested fields to filter based onresource labels. - * // - * // To filter on multiple expressions, provide each separate expression within - * // parentheses. For example: - * // ``` - * // (scheduling.automaticRestart = true) - * // (cpuPlatform = "Intel Skylake") - * // ``` - * // By default, each expression is an `AND` expression. However, you - * // can include `AND` and `OR` expressions explicitly. - * // For example: - * // ``` - * // (cpuPlatform = "Intel Skylake") OR - * // (cpuPlatform = "Intel Broadwell") AND - * // (scheduling.automaticRestart = true) - * // ``` - * // - * // If you want to use a regular expression, use the `eq` (equal) or `ne` - * // (not equal) operator against a single un-parenthesized expression with or - * // without quotes or against multiple parenthesized expressions. Examples: - * // - * // `fieldname eq unquoted literal` - * // `fieldname eq 'single quoted literal'` - * // `fieldname eq "double quoted literal"` - * // `(fieldname1 eq literal) (fieldname2 ne "literal")` - * // - * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * // The literal value must match the entire field. - * // - * // For example, to filter for instances that do not end with name "instance", - * // you would use `name ne .*instance`. - * // - * // You cannot combine constraints on multiple fields using regular - * // expressions. - * filter: 'placeholder-value', - * // Name of the target instance scoping this request, or '-' if the - * // request should span over all instances in the container. - * instance: '-|[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // The maximum number of results per page that should be returned. - * // If the number of available results is larger than `maxResults`, - * // Compute Engine returns a `nextPageToken` that can be used to get - * // the next page of results in subsequent list requests. Acceptable values are - * // `0` to `500`, inclusive. (Default: `500`) - * maxResults: 'placeholder-value', - * // Sorts list results by a certain order. By default, results - * // are returned in alphanumerical order based on the resource name. - * // - * // You can also sort results in descending order based on the creation - * // timestamp using `orderBy="creationTimestamp desc"`. This sorts - * // results based on the `creationTimestamp` field in - * // reverse chronological order (newest result first). Use this to sort - * // resources like operations so that the newest operation is returned first. - * // - * // Currently, only sorting by `name` or - * // `creationTimestamp desc` is supported. - * orderBy: 'placeholder-value', - * // Specifies a page token to use. Set `pageToken` to the - * // `nextPageToken` returned by a previous list request to get - * // the next page of results. - * pageToken: 'placeholder-value', + * const res = await compute.instances.setSecurityPolicy({ + * // Name of the Instance resource to which the security policy should be + * // set. The name should conform to RFC1035. + * instance: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Opt-in for partial success behavior which provides partial results in case - * // of failure. The default value is false. + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. * // - * // For example, when partial success behavior is enabled, aggregatedList for a - * // single zone scope either returns all resources in the zone or no resources, - * // with an error code. - * returnPartialSuccess: 'placeholder-value', - * // The name of the zone for this 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). + * requestId: 'placeholder-value', + * // Name of the zone scoping this request. * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "networkInterfaces": [], + * // "securityPolicy": "my_securityPolicy" + * // } + * }, * }); * console.log(res.data); * * // Example response * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, * // "id": "my_id", - * // "items": [], + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, * // "kind": "my_kind", - * // "nextPageToken": "my_nextPageToken", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", * // "selfLink": "my_selfLink", - * // "warning": {} + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" * // } * } * @@ -113096,57 +118616,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - listReferrers( - params: Params$Resource$Instances$Listreferrers, + setSecurityPolicy( + params: Params$Resource$Instances$Setsecuritypolicy, options: StreamMethodOptions ): Promise>; - listReferrers( - params?: Params$Resource$Instances$Listreferrers, + setSecurityPolicy( + params?: Params$Resource$Instances$Setsecuritypolicy, options?: MethodOptions - ): Promise>; - listReferrers( - params: Params$Resource$Instances$Listreferrers, + ): Promise>; + setSecurityPolicy( + params: Params$Resource$Instances$Setsecuritypolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - listReferrers( - params: Params$Resource$Instances$Listreferrers, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - listReferrers( - params: Params$Resource$Instances$Listreferrers, - callback: BodyResponseCallback + setSecurityPolicy( + params: Params$Resource$Instances$Setsecuritypolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - listReferrers( - callback: BodyResponseCallback + setSecurityPolicy( + params: Params$Resource$Instances$Setsecuritypolicy, + callback: BodyResponseCallback ): void; - listReferrers( + setSecurityPolicy(callback: BodyResponseCallback): void; + setSecurityPolicy( paramsOrCallback?: - | Params$Resource$Instances$Listreferrers - | BodyResponseCallback + | Params$Resource$Instances$Setsecuritypolicy + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instances$Listreferrers; + {}) as Params$Resource$Instances$Setsecuritypolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instances$Listreferrers; + params = {} as Params$Resource$Instances$Setsecuritypolicy; options = {}; } @@ -113161,9 +118677,9 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/referrers' + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/setSecurityPolicy' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'POST', apiVersion: '', }, options @@ -113174,18 +118690,19 @@ export namespace compute_alpha { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Lists all VM extensions states for a specific instance. - * This is a read-only API. + * Sets the service account on the instance. For more information, + * readChanging + * the service account and access scopes for an instance. * @example * ```js * // Before running the sample: @@ -113209,7 +118726,6 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -113218,115 +118734,70 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instances.listVmExtensionStates({ - * // A filter expression that filters resources listed in the response. Most - * // Compute resources support two types of filter expressions: - * // expressions that support regular expressions and expressions that follow - * // API improvement proposal AIP-160. - * // These two types of filter expressions cannot be mixed in one request. - * // - * // If you want to use AIP-160, your expression must specify the field name, an - * // operator, and the value that you want to use for filtering. The value - * // must be a string, a number, or a boolean. The operator - * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * // - * // For example, if you are filtering Compute Engine instances, you can - * // exclude instances named `example-instance` by specifying - * // `name != example-instance`. - * // - * // The `:*` comparison can be used to test whether a key has been defined. - * // For example, to find all objects with `owner` label use: - * // ``` - * // labels.owner:* - * // ``` - * // - * // You can also filter nested fields. For example, you could specify - * // `scheduling.automaticRestart = false` to include instances only - * // if they are not scheduled for automatic restarts. You can use filtering - * // on nested fields to filter based onresource labels. - * // - * // To filter on multiple expressions, provide each separate expression within - * // parentheses. For example: - * // ``` - * // (scheduling.automaticRestart = true) - * // (cpuPlatform = "Intel Skylake") - * // ``` - * // By default, each expression is an `AND` expression. However, you - * // can include `AND` and `OR` expressions explicitly. - * // For example: - * // ``` - * // (cpuPlatform = "Intel Skylake") OR - * // (cpuPlatform = "Intel Broadwell") AND - * // (scheduling.automaticRestart = true) - * // ``` - * // - * // If you want to use a regular expression, use the `eq` (equal) or `ne` - * // (not equal) operator against a single un-parenthesized expression with or - * // without quotes or against multiple parenthesized expressions. Examples: - * // - * // `fieldname eq unquoted literal` - * // `fieldname eq 'single quoted literal'` - * // `fieldname eq "double quoted literal"` - * // `(fieldname1 eq literal) (fieldname2 ne "literal")` - * // - * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * // The literal value must match the entire field. - * // - * // For example, to filter for instances that do not end with name "instance", - * // you would use `name ne .*instance`. - * // - * // You cannot combine constraints on multiple fields using regular - * // expressions. - * filter: 'placeholder-value', - * // Name of the target instance scoping this request. + * const res = await compute.instances.setServiceAccount({ + * // Name of the instance resource to start. * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // The maximum number of results per page that should be returned. - * // If the number of available results is larger than `maxResults`, - * // Compute Engine returns a `nextPageToken` that can be used to get - * // the next page of results in subsequent list requests. Acceptable values are - * // `0` to `500`, inclusive. (Default: `500`) - * maxResults: 'placeholder-value', - * // Sorts list results by a certain order. By default, results - * // are returned in alphanumerical order based on the resource name. - * // - * // You can also sort results in descending order based on the creation - * // timestamp using `orderBy="creationTimestamp desc"`. This sorts - * // results based on the `creationTimestamp` field in - * // reverse chronological order (newest result first). Use this to sort - * // resources like operations so that the newest operation is returned first. - * // - * // Currently, only sorting by `name` or - * // `creationTimestamp desc` is supported. - * orderBy: 'placeholder-value', - * // Specifies a page token to use. Set `pageToken` to the - * // `nextPageToken` returned by a previous list request to get - * // the next page of results. - * pageToken: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Opt-in for partial success behavior which provides partial results in case - * // of failure. The default value is false. + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. * // - * // For example, when partial success behavior is enabled, aggregatedList for a - * // single zone scope either returns all resources in the zone or no resources, - * // with an error code. - * returnPartialSuccess: 'placeholder-value', - * // Required. Name of the zone for this 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). + * requestId: 'placeholder-value', + * // The name of the zone for this request. * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "email": "my_email", + * // "scopes": [] + * // } + * }, * }); * console.log(res.data); * * // Example response * // { - * // "etag": "my_etag", + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, * // "id": "my_id", - * // "items": [], + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, * // "kind": "my_kind", - * // "nextPageToken": "my_nextPageToken", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", * // "selfLink": "my_selfLink", - * // "unreachables": [], - * // "warning": {} + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" * // } * } * @@ -113342,57 +118813,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - listVmExtensionStates( - params: Params$Resource$Instances$Listvmextensionstates, + setServiceAccount( + params: Params$Resource$Instances$Setserviceaccount, options: StreamMethodOptions ): Promise>; - listVmExtensionStates( - params?: Params$Resource$Instances$Listvmextensionstates, + setServiceAccount( + params?: Params$Resource$Instances$Setserviceaccount, options?: MethodOptions - ): Promise>; - listVmExtensionStates( - params: Params$Resource$Instances$Listvmextensionstates, + ): Promise>; + setServiceAccount( + params: Params$Resource$Instances$Setserviceaccount, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - listVmExtensionStates( - params: Params$Resource$Instances$Listvmextensionstates, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - listVmExtensionStates( - params: Params$Resource$Instances$Listvmextensionstates, - callback: BodyResponseCallback + setServiceAccount( + params: Params$Resource$Instances$Setserviceaccount, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - listVmExtensionStates( - callback: BodyResponseCallback + setServiceAccount( + params: Params$Resource$Instances$Setserviceaccount, + callback: BodyResponseCallback ): void; - listVmExtensionStates( + setServiceAccount(callback: BodyResponseCallback): void; + setServiceAccount( paramsOrCallback?: - | Params$Resource$Instances$Listvmextensionstates - | BodyResponseCallback + | Params$Resource$Instances$Setserviceaccount + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instances$Listvmextensionstates; + {}) as Params$Resource$Instances$Setserviceaccount; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instances$Listvmextensionstates; + params = {} as Params$Resource$Instances$Setserviceaccount; options = {}; } @@ -113407,9 +118874,9 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/vmExtensionStates' + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/setServiceAccount' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'POST', apiVersion: '', }, options @@ -113420,19 +118887,20 @@ export namespace compute_alpha { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } /** - * Patches partner metadata of the specified instance. + * 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. * @example * ```js * // Before running the sample: @@ -113464,8 +118932,8 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instances.patchPartnerMetadata({ - * // Name of the instance scoping this request. + * const res = await compute.instances.setShieldedInstanceIntegrityPolicy({ + * // Name or id of the instance scoping this request. * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: @@ -113491,8 +118959,7 @@ export namespace compute_alpha { * requestBody: { * // request body parameters * // { - * // "fingerprint": "my_fingerprint", - * // "partnerMetadata": {} + * // "updateAutoLearnPolicy": false * // } * }, * }); @@ -113543,34 +119010,34 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - patchPartnerMetadata( - params: Params$Resource$Instances$Patchpartnermetadata, + setShieldedInstanceIntegrityPolicy( + params: Params$Resource$Instances$Setshieldedinstanceintegritypolicy, options: StreamMethodOptions ): Promise>; - patchPartnerMetadata( - params?: Params$Resource$Instances$Patchpartnermetadata, + setShieldedInstanceIntegrityPolicy( + params?: Params$Resource$Instances$Setshieldedinstanceintegritypolicy, options?: MethodOptions ): Promise>; - patchPartnerMetadata( - params: Params$Resource$Instances$Patchpartnermetadata, + setShieldedInstanceIntegrityPolicy( + params: Params$Resource$Instances$Setshieldedinstanceintegritypolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patchPartnerMetadata( - params: Params$Resource$Instances$Patchpartnermetadata, + setShieldedInstanceIntegrityPolicy( + params: Params$Resource$Instances$Setshieldedinstanceintegritypolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patchPartnerMetadata( - params: Params$Resource$Instances$Patchpartnermetadata, + setShieldedInstanceIntegrityPolicy( + params: Params$Resource$Instances$Setshieldedinstanceintegritypolicy, callback: BodyResponseCallback ): void; - patchPartnerMetadata( + setShieldedInstanceIntegrityPolicy( callback: BodyResponseCallback ): void; - patchPartnerMetadata( + setShieldedInstanceIntegrityPolicy( paramsOrCallback?: - | Params$Resource$Instances$Patchpartnermetadata + | Params$Resource$Instances$Setshieldedinstanceintegritypolicy | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -113586,12 +119053,13 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instances$Patchpartnermetadata; + {}) as Params$Resource$Instances$Setshieldedinstanceintegritypolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instances$Patchpartnermetadata; + params = + {} as Params$Resource$Instances$Setshieldedinstanceintegritypolicy; options = {}; } @@ -113606,9 +119074,9 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/patchPartnerMetadata' + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/setShieldedInstanceIntegrityPolicy' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'PATCH', apiVersion: '', }, options @@ -113629,7 +119097,10 @@ export namespace compute_alpha { } /** - * Perform a manual maintenance on the instance. + * 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. * @example * ```js * // Before running the sample: @@ -113661,7 +119132,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instances.performMaintenance({ + * const res = await compute.instances.setShieldedVmIntegrityPolicy({ * // Name of the instance scoping this request. * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. @@ -113683,198 +119154,12 @@ export namespace compute_alpha { * requestId: 'placeholder-value', * // The name of the zone for this request. * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, - * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, - * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - performMaintenance( - params: Params$Resource$Instances$Performmaintenance, - options: StreamMethodOptions - ): Promise>; - performMaintenance( - params?: Params$Resource$Instances$Performmaintenance, - options?: MethodOptions - ): Promise>; - performMaintenance( - params: Params$Resource$Instances$Performmaintenance, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - performMaintenance( - params: Params$Resource$Instances$Performmaintenance, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - performMaintenance( - params: Params$Resource$Instances$Performmaintenance, - callback: BodyResponseCallback - ): void; - performMaintenance(callback: BodyResponseCallback): void; - performMaintenance( - paramsOrCallback?: - | Params$Resource$Instances$Performmaintenance - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Instances$Performmaintenance; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Instances$Performmaintenance; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/performMaintenance' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['project', 'zone', 'instance'], - pathParams: ['instance', 'project', 'zone'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Removes resource policies from an instance. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/compute.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const compute = google.compute('alpha'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/cloud-platform', - * 'https://www.googleapis.com/auth/compute', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await compute.instances.removeResourcePolicies({ - * // The instance name for this request. - * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. - * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * // The name of the zone for this request. - * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * * // Request body metadata * requestBody: { * // request body parameters * // { - * // "resourcePolicies": [] + * // "updateAutoLearnPolicy": false * // } * }, * }); @@ -113925,34 +119210,34 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - removeResourcePolicies( - params: Params$Resource$Instances$Removeresourcepolicies, + setShieldedVmIntegrityPolicy( + params: Params$Resource$Instances$Setshieldedvmintegritypolicy, options: StreamMethodOptions ): Promise>; - removeResourcePolicies( - params?: Params$Resource$Instances$Removeresourcepolicies, + setShieldedVmIntegrityPolicy( + params?: Params$Resource$Instances$Setshieldedvmintegritypolicy, options?: MethodOptions ): Promise>; - removeResourcePolicies( - params: Params$Resource$Instances$Removeresourcepolicies, + setShieldedVmIntegrityPolicy( + params: Params$Resource$Instances$Setshieldedvmintegritypolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - removeResourcePolicies( - params: Params$Resource$Instances$Removeresourcepolicies, + setShieldedVmIntegrityPolicy( + params: Params$Resource$Instances$Setshieldedvmintegritypolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - removeResourcePolicies( - params: Params$Resource$Instances$Removeresourcepolicies, + setShieldedVmIntegrityPolicy( + params: Params$Resource$Instances$Setshieldedvmintegritypolicy, callback: BodyResponseCallback ): void; - removeResourcePolicies( + setShieldedVmIntegrityPolicy( callback: BodyResponseCallback ): void; - removeResourcePolicies( + setShieldedVmIntegrityPolicy( paramsOrCallback?: - | Params$Resource$Instances$Removeresourcepolicies + | Params$Resource$Instances$Setshieldedvmintegritypolicy | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -113968,12 +119253,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instances$Removeresourcepolicies; + {}) as Params$Resource$Instances$Setshieldedvmintegritypolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instances$Removeresourcepolicies; + params = {} as Params$Resource$Instances$Setshieldedvmintegritypolicy; options = {}; } @@ -113988,9 +119273,9 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/removeResourcePolicies' + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/setShieldedVmIntegrityPolicy' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'PATCH', apiVersion: '', }, options @@ -114011,7 +119296,8 @@ export namespace compute_alpha { } /** - * Mark the host as faulty and try to restart the instance on a new host. + * Sets network tags + * for the specified instance to the data included in the request. * @example * ```js * // Before running the sample: @@ -114043,7 +119329,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instances.reportHostAsFaulty({ + * const res = await compute.instances.setTags({ * // Name of the instance scoping this request. * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. @@ -114070,9 +119356,8 @@ export namespace compute_alpha { * requestBody: { * // request body parameters * // { - * // "actionHint": "my_actionHint", - * // "disruptionSchedule": "my_disruptionSchedule", - * // "faultReasons": [] + * // "fingerprint": "my_fingerprint", + * // "items": [] * // } * }, * }); @@ -114123,32 +119408,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - reportHostAsFaulty( - params: Params$Resource$Instances$Reporthostasfaulty, + setTags( + params: Params$Resource$Instances$Settags, options: StreamMethodOptions ): Promise>; - reportHostAsFaulty( - params?: Params$Resource$Instances$Reporthostasfaulty, + setTags( + params?: Params$Resource$Instances$Settags, options?: MethodOptions ): Promise>; - reportHostAsFaulty( - params: Params$Resource$Instances$Reporthostasfaulty, + setTags( + params: Params$Resource$Instances$Settags, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - reportHostAsFaulty( - params: Params$Resource$Instances$Reporthostasfaulty, + setTags( + params: Params$Resource$Instances$Settags, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - reportHostAsFaulty( - params: Params$Resource$Instances$Reporthostasfaulty, + setTags( + params: Params$Resource$Instances$Settags, callback: BodyResponseCallback ): void; - reportHostAsFaulty(callback: BodyResponseCallback): void; - reportHostAsFaulty( + setTags(callback: BodyResponseCallback): void; + setTags( paramsOrCallback?: - | Params$Resource$Instances$Reporthostasfaulty + | Params$Resource$Instances$Settags | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -114164,12 +119449,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instances$Reporthostasfaulty; + {}) as Params$Resource$Instances$Settags; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instances$Reporthostasfaulty; + params = {} as Params$Resource$Instances$Settags; options = {}; } @@ -114184,7 +119469,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/reportHostAsFaulty' + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/setTags' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -114207,9 +119492,8 @@ export namespace compute_alpha { } /** - * Performs a reset on the instance. This is a hard reset. The VM - * does not do a graceful shutdown. For more information, seeResetting - * an instance. + * Simulates a host maintenance event on a VM. For more information, see + * Simulate a host maintenance event. * @example * ```js * // Before running the sample: @@ -114241,7 +119525,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instances.reset({ + * const res = await compute.instances.simulateMaintenanceEvent({ * // Name of the instance scoping this request. * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. @@ -114261,6 +119545,9 @@ export namespace compute_alpha { * // a valid UUID with the exception that zero UUID is not supported * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', + * // Determines whether the customers receive notifications before migration. + * // Only applicable to SF vms. + * withExtendedNotifications: 'placeholder-value', * // The name of the zone for this request. * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * }); @@ -114311,32 +119598,34 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - reset( - params: Params$Resource$Instances$Reset, + simulateMaintenanceEvent( + params: Params$Resource$Instances$Simulatemaintenanceevent, options: StreamMethodOptions ): Promise>; - reset( - params?: Params$Resource$Instances$Reset, + simulateMaintenanceEvent( + params?: Params$Resource$Instances$Simulatemaintenanceevent, options?: MethodOptions ): Promise>; - reset( - params: Params$Resource$Instances$Reset, + simulateMaintenanceEvent( + params: Params$Resource$Instances$Simulatemaintenanceevent, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - reset( - params: Params$Resource$Instances$Reset, + simulateMaintenanceEvent( + params: Params$Resource$Instances$Simulatemaintenanceevent, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - reset( - params: Params$Resource$Instances$Reset, + simulateMaintenanceEvent( + params: Params$Resource$Instances$Simulatemaintenanceevent, callback: BodyResponseCallback ): void; - reset(callback: BodyResponseCallback): void; - reset( + simulateMaintenanceEvent( + callback: BodyResponseCallback + ): void; + simulateMaintenanceEvent( paramsOrCallback?: - | Params$Resource$Instances$Reset + | Params$Resource$Instances$Simulatemaintenanceevent | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -114351,12 +119640,13 @@ export namespace compute_alpha { | void | Promise> | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Instances$Reset; + let params = (paramsOrCallback || + {}) as Params$Resource$Instances$Simulatemaintenanceevent; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instances$Reset; + params = {} as Params$Resource$Instances$Simulatemaintenanceevent; options = {}; } @@ -114371,7 +119661,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/reset' + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/simulateMaintenanceEvent' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -114394,8 +119684,9 @@ export namespace compute_alpha { } /** - * Resumes an instance that was suspended using theinstances().suspend - * method. + * Starts an instance that was stopped using theinstances().stop + * method. For more information, seeRestart an + * instance. * @example * ```js * // Before running the sample: @@ -114427,8 +119718,8 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instances.resume({ - * // Name of the instance resource to resume. + * const res = await compute.instances.start({ + * // Name of the instance resource to start. * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: @@ -114449,15 +119740,6 @@ export namespace compute_alpha { * requestId: 'placeholder-value', * // The name of the zone for this request. * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "disks": [], - * // "instanceEncryptionKey": {} - * // } - * }, * }); * console.log(res.data); * @@ -114506,32 +119788,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - resume( - params: Params$Resource$Instances$Resume, + start( + params: Params$Resource$Instances$Start, options: StreamMethodOptions ): Promise>; - resume( - params?: Params$Resource$Instances$Resume, + start( + params?: Params$Resource$Instances$Start, options?: MethodOptions ): Promise>; - resume( - params: Params$Resource$Instances$Resume, + start( + params: Params$Resource$Instances$Start, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - resume( - params: Params$Resource$Instances$Resume, + start( + params: Params$Resource$Instances$Start, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - resume( - params: Params$Resource$Instances$Resume, + start( + params: Params$Resource$Instances$Start, callback: BodyResponseCallback ): void; - resume(callback: BodyResponseCallback): void; - resume( + start(callback: BodyResponseCallback): void; + start( paramsOrCallback?: - | Params$Resource$Instances$Resume + | Params$Resource$Instances$Start | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -114546,12 +119828,12 @@ export namespace compute_alpha { | void | Promise> | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Instances$Resume; + let params = (paramsOrCallback || {}) as Params$Resource$Instances$Start; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instances$Resume; + params = {} as Params$Resource$Instances$Start; options = {}; } @@ -114566,7 +119848,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/resume' + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/start' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -114589,7 +119871,9 @@ export namespace compute_alpha { } /** - * Sends diagnostic interrupt to the instance. + * Starts an instance that was stopped using theinstances().stop + * method. For more information, seeRestart an + * instance. * @example * ```js * // Before running the sample: @@ -114621,16 +119905,71 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instances.sendDiagnosticInterrupt({ - * // Name of the instance scoping this request. + * const res = await compute.instances.startWithEncryptionKey({ + * // Name of the instance resource to start. * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', * // The name of the zone for this request. * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "disks": [], + * // "instanceEncryptionKey": {} + * // } + * }, * }); * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } * } * * main().catch(e => { @@ -114645,51 +119984,55 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - sendDiagnosticInterrupt( - params: Params$Resource$Instances$Senddiagnosticinterrupt, + startWithEncryptionKey( + params: Params$Resource$Instances$Startwithencryptionkey, options: StreamMethodOptions ): Promise>; - sendDiagnosticInterrupt( - params?: Params$Resource$Instances$Senddiagnosticinterrupt, + startWithEncryptionKey( + params?: Params$Resource$Instances$Startwithencryptionkey, options?: MethodOptions - ): Promise>; - sendDiagnosticInterrupt( - params: Params$Resource$Instances$Senddiagnosticinterrupt, + ): Promise>; + startWithEncryptionKey( + params: Params$Resource$Instances$Startwithencryptionkey, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - sendDiagnosticInterrupt( - params: Params$Resource$Instances$Senddiagnosticinterrupt, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + startWithEncryptionKey( + params: Params$Resource$Instances$Startwithencryptionkey, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - sendDiagnosticInterrupt( - params: Params$Resource$Instances$Senddiagnosticinterrupt, - callback: BodyResponseCallback + startWithEncryptionKey( + params: Params$Resource$Instances$Startwithencryptionkey, + callback: BodyResponseCallback ): void; - sendDiagnosticInterrupt(callback: BodyResponseCallback): void; - sendDiagnosticInterrupt( + startWithEncryptionKey( + callback: BodyResponseCallback + ): void; + startWithEncryptionKey( paramsOrCallback?: - | Params$Resource$Instances$Senddiagnosticinterrupt - | BodyResponseCallback + | Params$Resource$Instances$Startwithencryptionkey + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, - callback?: BodyResponseCallback | BodyResponseCallback + callback?: + | BodyResponseCallback + | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instances$Senddiagnosticinterrupt; + {}) as Params$Resource$Instances$Startwithencryptionkey; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instances$Senddiagnosticinterrupt; + params = {} as Params$Resource$Instances$Startwithencryptionkey; options = {}; } @@ -114704,7 +120047,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/sendDiagnosticInterrupt' + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/startWithEncryptionKey' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -114717,17 +120060,22 @@ export namespace compute_alpha { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Sets deletion protection on the instance. + * 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, seeStopping + * an instance. * @example * ```js * // Before running the sample: @@ -114759,9 +120107,15 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instances.setDeletionProtection({ - * // Whether the resource should be protected against deletion. - * deletionProtection: 'placeholder-value', + * const res = await compute.instances.stop({ + * // 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. + * discardLocalSsd: 'placeholder-value', + * // Name of the instance resource to stop. + * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // If set to true, Graceful Shutdown is skipped. + * noGracefulShutdown: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -114779,8 +120133,6 @@ export namespace compute_alpha { * // a valid UUID with the exception that zero UUID is not supported * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', - * // Name or id of the resource for this request. - * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // The name of the zone for this request. * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * }); @@ -114831,34 +120183,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - setDeletionProtection( - params: Params$Resource$Instances$Setdeletionprotection, + stop( + params: Params$Resource$Instances$Stop, options: StreamMethodOptions ): Promise>; - setDeletionProtection( - params?: Params$Resource$Instances$Setdeletionprotection, + stop( + params?: Params$Resource$Instances$Stop, options?: MethodOptions ): Promise>; - setDeletionProtection( - params: Params$Resource$Instances$Setdeletionprotection, + stop( + params: Params$Resource$Instances$Stop, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setDeletionProtection( - params: Params$Resource$Instances$Setdeletionprotection, + stop( + params: Params$Resource$Instances$Stop, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setDeletionProtection( - params: Params$Resource$Instances$Setdeletionprotection, - callback: BodyResponseCallback - ): void; - setDeletionProtection( + stop( + params: Params$Resource$Instances$Stop, callback: BodyResponseCallback ): void; - setDeletionProtection( + stop(callback: BodyResponseCallback): void; + stop( paramsOrCallback?: - | Params$Resource$Instances$Setdeletionprotection + | Params$Resource$Instances$Stop | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -114873,13 +120223,12 @@ export namespace compute_alpha { | void | Promise> | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Instances$Setdeletionprotection; + let params = (paramsOrCallback || {}) as Params$Resource$Instances$Stop; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instances$Setdeletionprotection; + params = {} as Params$Resource$Instances$Stop; options = {}; } @@ -114894,7 +120243,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instances/{resource}/setDeletionProtection' + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/stop' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -114902,8 +120251,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'zone', 'resource'], - pathParams: ['project', 'resource', 'zone'], + requiredParams: ['project', 'zone', 'instance'], + pathParams: ['instance', 'project', 'zone'], context: this.context, }; if (callback) { @@ -114917,7 +120266,14 @@ export namespace compute_alpha { } /** - * Sets the auto-delete flag for a disk attached to an instance. + * 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. * @example * ```js * // Before running the sample: @@ -114949,13 +120305,12 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instances.setDiskAutoDelete({ - * // Whether to auto-delete the disk when the instance is deleted. - * autoDelete: 'placeholder-value', - * // The device name of the disk to modify. Make a get() request - * // on the instance to view currently attached disks and device names. - * deviceName: '\w[\w.-]{0,254}', - * // The instance name for this request. + * const res = await compute.instances.suspend({ + * // 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. + * discardLocalSsd: 'placeholder-value', + * // Name of the instance resource to suspend. * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: @@ -115024,32 +120379,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - setDiskAutoDelete( - params: Params$Resource$Instances$Setdiskautodelete, + suspend( + params: Params$Resource$Instances$Suspend, options: StreamMethodOptions ): Promise>; - setDiskAutoDelete( - params?: Params$Resource$Instances$Setdiskautodelete, + suspend( + params?: Params$Resource$Instances$Suspend, options?: MethodOptions ): Promise>; - setDiskAutoDelete( - params: Params$Resource$Instances$Setdiskautodelete, + suspend( + params: Params$Resource$Instances$Suspend, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setDiskAutoDelete( - params: Params$Resource$Instances$Setdiskautodelete, + suspend( + params: Params$Resource$Instances$Suspend, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setDiskAutoDelete( - params: Params$Resource$Instances$Setdiskautodelete, + suspend( + params: Params$Resource$Instances$Suspend, callback: BodyResponseCallback ): void; - setDiskAutoDelete(callback: BodyResponseCallback): void; - setDiskAutoDelete( + suspend(callback: BodyResponseCallback): void; + suspend( paramsOrCallback?: - | Params$Resource$Instances$Setdiskautodelete + | Params$Resource$Instances$Suspend | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -115065,12 +120420,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instances$Setdiskautodelete; + {}) as Params$Resource$Instances$Suspend; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instances$Setdiskautodelete; + params = {} as Params$Resource$Instances$Suspend; options = {}; } @@ -115085,7 +120440,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/setDiskAutoDelete' + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/suspend' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -115093,13 +120448,7 @@ export namespace compute_alpha { options ), params, - requiredParams: [ - 'project', - 'zone', - 'instance', - 'autoDelete', - 'deviceName', - ], + requiredParams: ['project', 'zone', 'instance'], pathParams: ['instance', 'project', 'zone'], context: this.context, }; @@ -115114,8 +120463,7 @@ export namespace compute_alpha { } /** - * Sets the access control policy on the specified resource. - * Replaces any existing policy. + * Returns permissions that a caller has on the specified resource. * @example * ```js * // Before running the sample: @@ -115139,6 +120487,7 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -115147,7 +120496,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instances.setIamPolicy({ + * const res = await compute.instances.testIamPermissions({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -115160,9 +120509,7 @@ export namespace compute_alpha { * requestBody: { * // request body parameters * // { - * // "bindings": [], - * // "etag": "my_etag", - * // "policy": {} + * // "permissions": [] * // } * }, * }); @@ -115170,10 +120517,7 @@ export namespace compute_alpha { * * // Example response * // { - * // "auditConfigs": [], - * // "bindings": [], - * // "etag": "my_etag", - * // "version": 0 + * // "permissions": [] * // } * } * @@ -115189,53 +120533,57 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - setIamPolicy( - params: Params$Resource$Instances$Setiampolicy, + testIamPermissions( + params: Params$Resource$Instances$Testiampermissions, options: StreamMethodOptions ): Promise>; - setIamPolicy( - params?: Params$Resource$Instances$Setiampolicy, + testIamPermissions( + params?: Params$Resource$Instances$Testiampermissions, options?: MethodOptions - ): Promise>; - setIamPolicy( - params: Params$Resource$Instances$Setiampolicy, + ): Promise>; + testIamPermissions( + params: Params$Resource$Instances$Testiampermissions, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setIamPolicy( - params: Params$Resource$Instances$Setiampolicy, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + testIamPermissions( + params: Params$Resource$Instances$Testiampermissions, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - setIamPolicy( - params: Params$Resource$Instances$Setiampolicy, - callback: BodyResponseCallback + testIamPermissions( + params: Params$Resource$Instances$Testiampermissions, + callback: BodyResponseCallback ): void; - setIamPolicy(callback: BodyResponseCallback): void; - setIamPolicy( + testIamPermissions( + callback: BodyResponseCallback + ): void; + testIamPermissions( paramsOrCallback?: - | Params$Resource$Instances$Setiampolicy - | BodyResponseCallback + | Params$Resource$Instances$Testiampermissions + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instances$Setiampolicy; + {}) as Params$Resource$Instances$Testiampermissions; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instances$Setiampolicy; + params = {} as Params$Resource$Instances$Testiampermissions; options = {}; } @@ -115250,7 +120598,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instances/{resource}/setIamPolicy' + '/compute/alpha/projects/{project}/zones/{zone}/instances/{resource}/testIamPermissions' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -115263,18 +120611,20 @@ export namespace compute_alpha { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Sets labels on an instance. To learn more about labels, read theLabeling - * Resources documentation. + * 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. * @example * ```js * // Before running the sample: @@ -115306,9 +120656,27 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instances.setLabels({ - * // Name of the instance scoping this request. + * const res = await compute.instances.update({ + * // Whether to clear secure tags from the instance. + * // + * // This property if set to true will clear secure tags regardless of theresource.secure_tags. + * clearSecureTag: 'placeholder-value', + * // Whether to discard local SSDs from the instance during restart + * // default value is false. + * discardLocalSsd: 'placeholder-value', + * // Name of the instance resource to update. * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // 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. + * minimalAction: 'placeholder-value', + * // 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. + * mostDisruptiveAllowedAction: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -115333,8 +120701,65 @@ export namespace compute_alpha { * requestBody: { * // request body parameters * // { + * // "advancedMachineFeatures": {}, + * // "canIpForward": false, + * // "confidentialInstanceConfig": {}, + * // "cpuPlatform": "my_cpuPlatform", + * // "creationTimestamp": "my_creationTimestamp", + * // "deletionProtection": false, + * // "description": "my_description", + * // "disks": [], + * // "displayDevice": {}, + * // "eraseWindowsVssSignature": false, + * // "fingerprint": "my_fingerprint", + * // "guestAccelerators": [], + * // "hostname": "my_hostname", + * // "id": "my_id", + * // "identity": "my_identity", + * // "identityCertificate": false, + * // "instanceEncryptionKey": {}, + * // "keyRevocationActionType": "my_keyRevocationActionType", + * // "kind": "my_kind", * // "labelFingerprint": "my_labelFingerprint", - * // "labels": {} + * // "labels": {}, + * // "lastStartTimestamp": "my_lastStartTimestamp", + * // "lastStopTimestamp": "my_lastStopTimestamp", + * // "lastSuspendedTimestamp": "my_lastSuspendedTimestamp", + * // "machineType": "my_machineType", + * // "metadata": {}, + * // "minCpuPlatform": "my_minCpuPlatform", + * // "name": "my_name", + * // "networkInterfaces": [], + * // "networkPerformanceConfig": {}, + * // "params": {}, + * // "partnerMetadata": {}, + * // "postKeyRevocationActionType": "my_postKeyRevocationActionType", + * // "preservedStateSizeGb": "my_preservedStateSizeGb", + * // "privateIpv6GoogleAccess": "my_privateIpv6GoogleAccess", + * // "reservationAffinity": {}, + * // "resourcePolicies": [], + * // "resourceStatus": {}, + * // "satisfiesPzi": false, + * // "satisfiesPzs": false, + * // "scheduling": {}, + * // "secureTags": [], + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "serviceAccounts": [], + * // "serviceIntegrationSpecs": {}, + * // "shieldedInstanceConfig": {}, + * // "shieldedInstanceIntegrityPolicy": {}, + * // "shieldedVmConfig": {}, + * // "shieldedVmIntegrityPolicy": {}, + * // "sourceMachineImage": "my_sourceMachineImage", + * // "sourceMachineImageEncryptionKey": {}, + * // "startRestricted": false, + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "tags": {}, + * // "upcomingMaintenance": {}, + * // "workloadIdentityConfig": {}, + * // "zone": "my_zone" * // } * }, * }); @@ -115385,32 +120810,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - setLabels( - params: Params$Resource$Instances$Setlabels, + update( + params: Params$Resource$Instances$Update, options: StreamMethodOptions ): Promise>; - setLabels( - params?: Params$Resource$Instances$Setlabels, + update( + params?: Params$Resource$Instances$Update, options?: MethodOptions ): Promise>; - setLabels( - params: Params$Resource$Instances$Setlabels, + update( + params: Params$Resource$Instances$Update, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setLabels( - params: Params$Resource$Instances$Setlabels, + update( + params: Params$Resource$Instances$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setLabels( - params: Params$Resource$Instances$Setlabels, + update( + params: Params$Resource$Instances$Update, callback: BodyResponseCallback ): void; - setLabels(callback: BodyResponseCallback): void; - setLabels( + update(callback: BodyResponseCallback): void; + update( paramsOrCallback?: - | Params$Resource$Instances$Setlabels + | Params$Resource$Instances$Update | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -115425,13 +120850,12 @@ export namespace compute_alpha { | void | Promise> | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Instances$Setlabels; + let params = (paramsOrCallback || {}) as Params$Resource$Instances$Update; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instances$Setlabels; + params = {} as Params$Resource$Instances$Update; options = {}; } @@ -115446,9 +120870,9 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/setLabels' + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'PUT', apiVersion: '', }, options @@ -115469,8 +120893,10 @@ export namespace compute_alpha { } /** - * Changes the number and/or type of accelerator for a stopped instance to the - * values specified in the request. + * Updates the specified access config from an instance's network interface + * with the data included in the request. This method supportsPATCH + * semantics and uses theJSON merge + * patch format and processing rules. * @example * ```js * // Before running the sample: @@ -115502,9 +120928,11 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instances.setMachineResources({ - * // Name of the instance scoping this request. + * const res = await compute.instances.updateAccessConfig({ + * // The instance name for this request. * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // The name of the network interface where the access config is attached. + * networkInterface: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -115529,7 +120957,18 @@ export namespace compute_alpha { * requestBody: { * // request body parameters * // { - * // "guestAccelerators": [] + * // "externalIpv6": "my_externalIpv6", + * // "externalIpv6PrefixLength": 0, + * // "kind": "my_kind", + * // "name": "my_name", + * // "natIP": "my_natIP", + * // "networkTier": "my_networkTier", + * // "publicDnsName": "my_publicDnsName", + * // "publicPtrDomainName": "my_publicPtrDomainName", + * // "securityPolicy": "my_securityPolicy", + * // "setPublicDns": false, + * // "setPublicPtr": false, + * // "type": "my_type" * // } * }, * }); @@ -115580,32 +121019,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - setMachineResources( - params: Params$Resource$Instances$Setmachineresources, + updateAccessConfig( + params: Params$Resource$Instances$Updateaccessconfig, options: StreamMethodOptions ): Promise>; - setMachineResources( - params?: Params$Resource$Instances$Setmachineresources, + updateAccessConfig( + params?: Params$Resource$Instances$Updateaccessconfig, options?: MethodOptions ): Promise>; - setMachineResources( - params: Params$Resource$Instances$Setmachineresources, + updateAccessConfig( + params: Params$Resource$Instances$Updateaccessconfig, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setMachineResources( - params: Params$Resource$Instances$Setmachineresources, + updateAccessConfig( + params: Params$Resource$Instances$Updateaccessconfig, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setMachineResources( - params: Params$Resource$Instances$Setmachineresources, + updateAccessConfig( + params: Params$Resource$Instances$Updateaccessconfig, callback: BodyResponseCallback ): void; - setMachineResources(callback: BodyResponseCallback): void; - setMachineResources( + updateAccessConfig(callback: BodyResponseCallback): void; + updateAccessConfig( paramsOrCallback?: - | Params$Resource$Instances$Setmachineresources + | Params$Resource$Instances$Updateaccessconfig | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -115621,12 +121060,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instances$Setmachineresources; + {}) as Params$Resource$Instances$Updateaccessconfig; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instances$Setmachineresources; + params = {} as Params$Resource$Instances$Updateaccessconfig; options = {}; } @@ -115641,7 +121080,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/setMachineResources' + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/updateAccessConfig' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -115649,7 +121088,7 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'zone', 'instance'], + requiredParams: ['project', 'zone', 'instance', 'networkInterface'], pathParams: ['instance', 'project', 'zone'], context: this.context, }; @@ -115664,8 +121103,10 @@ export namespace compute_alpha { } /** - * Changes the machine type for a stopped instance to the machine - * type specified in the request. + * Updates the Display config for a VM instance. You can + * only use this method on a stopped VM instance. This method supportsPATCH + * semantics and uses theJSON merge + * patch format and processing rules. * @example * ```js * // Before running the sample: @@ -115697,9 +121138,9 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instances.setMachineType({ + * const res = await compute.instances.updateDisplayDevice({ * // Name of the instance scoping this request. - * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -115724,7 +121165,7 @@ export namespace compute_alpha { * requestBody: { * // request body parameters * // { - * // "machineType": "my_machineType" + * // "enableDisplay": false * // } * }, * }); @@ -115775,32 +121216,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - setMachineType( - params: Params$Resource$Instances$Setmachinetype, + updateDisplayDevice( + params: Params$Resource$Instances$Updatedisplaydevice, options: StreamMethodOptions ): Promise>; - setMachineType( - params?: Params$Resource$Instances$Setmachinetype, + updateDisplayDevice( + params?: Params$Resource$Instances$Updatedisplaydevice, options?: MethodOptions ): Promise>; - setMachineType( - params: Params$Resource$Instances$Setmachinetype, + updateDisplayDevice( + params: Params$Resource$Instances$Updatedisplaydevice, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setMachineType( - params: Params$Resource$Instances$Setmachinetype, + updateDisplayDevice( + params: Params$Resource$Instances$Updatedisplaydevice, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setMachineType( - params: Params$Resource$Instances$Setmachinetype, + updateDisplayDevice( + params: Params$Resource$Instances$Updatedisplaydevice, callback: BodyResponseCallback ): void; - setMachineType(callback: BodyResponseCallback): void; - setMachineType( + updateDisplayDevice(callback: BodyResponseCallback): void; + updateDisplayDevice( paramsOrCallback?: - | Params$Resource$Instances$Setmachinetype + | Params$Resource$Instances$Updatedisplaydevice | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -115816,12 +121257,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instances$Setmachinetype; + {}) as Params$Resource$Instances$Updatedisplaydevice; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instances$Setmachinetype; + params = {} as Params$Resource$Instances$Updatedisplaydevice; options = {}; } @@ -115836,9 +121277,9 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/setMachineType' + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/updateDisplayDevice' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'PATCH', apiVersion: '', }, options @@ -115859,8 +121300,12 @@ export namespace compute_alpha { } /** - * Sets metadata for the specified instance to the data included - * in the request. + * 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. * @example * ```js * // Before running the sample: @@ -115892,9 +121337,11 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instances.setMetadata({ - * // Name of the instance scoping this request. + * const res = await compute.instances.updateNetworkInterface({ + * // The instance name for this request. * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // The name of the network interface to update. + * networkInterface: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -115919,9 +121366,32 @@ export namespace compute_alpha { * requestBody: { * // request body parameters * // { + * // "accessConfigs": [], + * // "aliasIpRanges": [], + * // "aliasIpv6Ranges": [], + * // "dns64Eligible": false, + * // "enableVpcScopedDns": false, * // "fingerprint": "my_fingerprint", - * // "items": [], - * // "kind": "my_kind" + * // "igmpQuery": "my_igmpQuery", + * // "internalIpv6PrefixLength": 0, + * // "ipv6AccessConfigs": [], + * // "ipv6AccessType": "my_ipv6AccessType", + * // "ipv6Address": "my_ipv6Address", + * // "kind": "my_kind", + * // "macAddress": "my_macAddress", + * // "name": "my_name", + * // "nat64Eligible": false, + * // "network": "my_network", + * // "networkAttachment": "my_networkAttachment", + * // "networkIP": "my_networkIP", + * // "nicType": "my_nicType", + * // "parentNicName": "my_parentNicName", + * // "queueCount": 0, + * // "serviceClassId": "my_serviceClassId", + * // "stackType": "my_stackType", + * // "subinterfaces": [], + * // "subnetwork": "my_subnetwork", + * // "vlan": 0 * // } * }, * }); @@ -115972,32 +121442,34 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - setMetadata( - params: Params$Resource$Instances$Setmetadata, + updateNetworkInterface( + params: Params$Resource$Instances$Updatenetworkinterface, options: StreamMethodOptions ): Promise>; - setMetadata( - params?: Params$Resource$Instances$Setmetadata, + updateNetworkInterface( + params?: Params$Resource$Instances$Updatenetworkinterface, options?: MethodOptions ): Promise>; - setMetadata( - params: Params$Resource$Instances$Setmetadata, + updateNetworkInterface( + params: Params$Resource$Instances$Updatenetworkinterface, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setMetadata( - params: Params$Resource$Instances$Setmetadata, + updateNetworkInterface( + params: Params$Resource$Instances$Updatenetworkinterface, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setMetadata( - params: Params$Resource$Instances$Setmetadata, + updateNetworkInterface( + params: Params$Resource$Instances$Updatenetworkinterface, callback: BodyResponseCallback ): void; - setMetadata(callback: BodyResponseCallback): void; - setMetadata( + updateNetworkInterface( + callback: BodyResponseCallback + ): void; + updateNetworkInterface( paramsOrCallback?: - | Params$Resource$Instances$Setmetadata + | Params$Resource$Instances$Updatenetworkinterface | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -116013,12 +121485,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instances$Setmetadata; + {}) as Params$Resource$Instances$Updatenetworkinterface; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instances$Setmetadata; + params = {} as Params$Resource$Instances$Updatenetworkinterface; options = {}; } @@ -116033,15 +121505,15 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/setMetadata' + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/updateNetworkInterface' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'PATCH', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone', 'instance'], + requiredParams: ['project', 'zone', 'instance', 'networkInterface'], pathParams: ['instance', 'project', 'zone'], context: this.context, }; @@ -116056,10 +121528,10 @@ export namespace compute_alpha { } /** - * Changes the minimum CPU platform that this instance should use. - * This method can only - * be called on a stopped instance. For more information, readSpecifying a - * Minimum CPU Platform. + * Updates the Shielded Instance config for an instance. You can + * only use this method on a stopped instance. This method supportsPATCH + * semantics and uses theJSON merge + * patch format and processing rules. * @example * ```js * // Before running the sample: @@ -116091,8 +121563,8 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instances.setMinCpuPlatform({ - * // Name of the instance scoping this request. + * const res = await compute.instances.updateShieldedInstanceConfig({ + * // Name or id of the instance scoping this request. * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: @@ -116118,7 +121590,9 @@ export namespace compute_alpha { * requestBody: { * // request body parameters * // { - * // "minCpuPlatform": "my_minCpuPlatform" + * // "enableIntegrityMonitoring": false, + * // "enableSecureBoot": false, + * // "enableVtpm": false * // } * }, * }); @@ -116169,32 +121643,34 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - setMinCpuPlatform( - params: Params$Resource$Instances$Setmincpuplatform, + updateShieldedInstanceConfig( + params: Params$Resource$Instances$Updateshieldedinstanceconfig, options: StreamMethodOptions ): Promise>; - setMinCpuPlatform( - params?: Params$Resource$Instances$Setmincpuplatform, + updateShieldedInstanceConfig( + params?: Params$Resource$Instances$Updateshieldedinstanceconfig, options?: MethodOptions ): Promise>; - setMinCpuPlatform( - params: Params$Resource$Instances$Setmincpuplatform, + updateShieldedInstanceConfig( + params: Params$Resource$Instances$Updateshieldedinstanceconfig, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setMinCpuPlatform( - params: Params$Resource$Instances$Setmincpuplatform, + updateShieldedInstanceConfig( + params: Params$Resource$Instances$Updateshieldedinstanceconfig, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setMinCpuPlatform( - params: Params$Resource$Instances$Setmincpuplatform, + updateShieldedInstanceConfig( + params: Params$Resource$Instances$Updateshieldedinstanceconfig, callback: BodyResponseCallback ): void; - setMinCpuPlatform(callback: BodyResponseCallback): void; - setMinCpuPlatform( + updateShieldedInstanceConfig( + callback: BodyResponseCallback + ): void; + updateShieldedInstanceConfig( paramsOrCallback?: - | Params$Resource$Instances$Setmincpuplatform + | Params$Resource$Instances$Updateshieldedinstanceconfig | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -116210,12 +121686,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instances$Setmincpuplatform; + {}) as Params$Resource$Instances$Updateshieldedinstanceconfig; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instances$Setmincpuplatform; + params = {} as Params$Resource$Instances$Updateshieldedinstanceconfig; options = {}; } @@ -116230,9 +121706,9 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/setMinCpuPlatform' + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/updateShieldedInstanceConfig' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'PATCH', apiVersion: '', }, options @@ -116253,7 +121729,10 @@ export namespace compute_alpha { } /** - * Sets name of an instance. + * Updates the Shielded VM config for a VM instance. You can + * only use this method on a stopped VM instance. This method supportsPATCH + * semantics and uses theJSON merge + * patch format and processing rules. * @example * ```js * // Before running the sample: @@ -116285,8 +121764,8 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instances.setName({ - * // The instance name for this request. + * const res = await compute.instances.updateShieldedVmConfig({ + * // Name of the instance scoping this request. * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: @@ -116312,8 +121791,9 @@ export namespace compute_alpha { * requestBody: { * // request body parameters * // { - * // "currentName": "my_currentName", - * // "name": "my_name" + * // "enableIntegrityMonitoring": false, + * // "enableSecureBoot": false, + * // "enableVtpm": false * // } * }, * }); @@ -116364,32 +121844,34 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - setName( - params: Params$Resource$Instances$Setname, + updateShieldedVmConfig( + params: Params$Resource$Instances$Updateshieldedvmconfig, options: StreamMethodOptions ): Promise>; - setName( - params?: Params$Resource$Instances$Setname, + updateShieldedVmConfig( + params?: Params$Resource$Instances$Updateshieldedvmconfig, options?: MethodOptions ): Promise>; - setName( - params: Params$Resource$Instances$Setname, + updateShieldedVmConfig( + params: Params$Resource$Instances$Updateshieldedvmconfig, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setName( - params: Params$Resource$Instances$Setname, + updateShieldedVmConfig( + params: Params$Resource$Instances$Updateshieldedvmconfig, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setName( - params: Params$Resource$Instances$Setname, + updateShieldedVmConfig( + params: Params$Resource$Instances$Updateshieldedvmconfig, callback: BodyResponseCallback ): void; - setName(callback: BodyResponseCallback): void; - setName( + updateShieldedVmConfig( + callback: BodyResponseCallback + ): void; + updateShieldedVmConfig( paramsOrCallback?: - | Params$Resource$Instances$Setname + | Params$Resource$Instances$Updateshieldedvmconfig | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -116405,12 +121887,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instances$Setname; + {}) as Params$Resource$Instances$Updateshieldedvmconfig; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instances$Setname; + params = {} as Params$Resource$Instances$Updateshieldedvmconfig; options = {}; } @@ -116425,9 +121907,9 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/setName' + '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/updateShieldedVmConfig' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'PATCH', apiVersion: '', }, options @@ -116446,1803 +121928,2210 @@ export namespace compute_alpha { return createAPIRequest(parameters); } } + } + + export interface Params$Resource$Instances$Addaccessconfig extends StandardParameters { + /** + * The instance name for this request. + */ + instance?: string; + /** + * The name of the network interface to add to this instance. + */ + networkInterface?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$AccessConfig; + } + export interface Params$Resource$Instances$Addnetworkinterface extends StandardParameters { + /** + * The instance name for this request stored as resource_id. + * Name should conform to RFC1035 or be an unsigned long integer. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$NetworkInterface; + } + export interface Params$Resource$Instances$Addresourcepolicies extends StandardParameters { + /** + * The instance name for this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InstancesAddResourcePoliciesRequest; + } + export interface Params$Resource$Instances$Aggregatedlist extends StandardParameters { + /** + * A filter expression that filters resources listed in the response. Most + * Compute resources support two types of filter expressions: + * expressions that support regular expressions and expressions that follow + * API improvement proposal AIP-160. + * These two types of filter expressions cannot be mixed in one request. + * + * If you want to use AIP-160, your expression must specify the field name, an + * operator, and the value that you want to use for filtering. The value + * must be a string, a number, or a boolean. The operator + * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * + * For example, if you are filtering Compute Engine instances, you can + * exclude instances named `example-instance` by specifying + * `name != example-instance`. + * + * The `:*` comparison can be used to test whether a key has been defined. + * For example, to find all objects with `owner` label use: + * ``` + * labels.owner:* + * ``` + * + * You can also filter nested fields. For example, you could specify + * `scheduling.automaticRestart = false` to include instances only + * if they are not scheduled for automatic restarts. You can use filtering + * on nested fields to filter based onresource labels. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example: + * ``` + * (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake") + * ``` + * By default, each expression is an `AND` expression. However, you + * can include `AND` and `OR` expressions explicitly. + * For example: + * ``` + * (cpuPlatform = "Intel Skylake") OR + * (cpuPlatform = "Intel Broadwell") AND + * (scheduling.automaticRestart = true) + * ``` + * + * If you want to use a regular expression, use the `eq` (equal) or `ne` + * (not equal) operator against a single un-parenthesized expression with or + * without quotes or against multiple parenthesized expressions. Examples: + * + * `fieldname eq unquoted literal` + * `fieldname eq 'single quoted literal'` + * `fieldname eq "double quoted literal"` + * `(fieldname1 eq literal) (fieldname2 ne "literal")` + * + * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * The literal value must match the entire field. + * + * For example, to filter for instances that do not end with name "instance", + * you would use `name ne .*instance`. + * + * You cannot combine constraints on multiple fields using regular + * expressions. + */ + filter?: string; + /** + * 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. + */ + includeAllScopes?: boolean; + /** + * The maximum number of results per page that should be returned. + * If the number of available results is larger than `maxResults`, + * Compute Engine returns a `nextPageToken` that can be used to get + * the next page of results in subsequent list requests. Acceptable values are + * `0` to `500`, inclusive. (Default: `500`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results + * are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation + * timestamp using `orderBy="creationTimestamp desc"`. This sorts + * results based on the `creationTimestamp` field in + * reverse chronological order (newest result first). Use this to sort + * resources like operations so that the newest operation is returned first. + * + * Currently, only sorting by `name` or + * `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the + * `nextPageToken` returned by a previous list request to get + * the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Opt-in for partial success behavior which provides partial results in case + * of failure. The default value is false. + * + * For example, when partial success behavior is enabled, aggregatedList for a + * single zone scope either returns all resources in the zone or no resources, + * with an error code. + */ + returnPartialSuccess?: boolean; + /** + * The Shared VPC service project id or service project number for which + * aggregated list request is invoked for subnetworks list-usable api. + */ + serviceProjectNumber?: string; + } + export interface Params$Resource$Instances$Attachdisk extends StandardParameters { + /** + * 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. + */ + forceAttach?: boolean; + /** + * The instance name for this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$AttachedDisk; + } + export interface Params$Resource$Instances$Bulkinsert extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$BulkInsertInstanceResource; + } + export interface Params$Resource$Instances$Delete extends StandardParameters { + /** + * Name of the instance resource to delete. + */ + instance?: string; + /** + * If set to true, Graceful Shutdown is skipped. + */ + noGracefulShutdown?: boolean; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + export interface Params$Resource$Instances$Deleteaccessconfig extends StandardParameters { + /** + * The name of the access config to delete. + */ + accessConfig?: string; + /** + * The instance name for this request. + */ + instance?: string; + /** + * The name of the network interface. + */ + networkInterface?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + export interface Params$Resource$Instances$Deletenetworkinterface extends StandardParameters { + /** + * The instance name for this request stored as resource_id. + * Name should conform to RFC1035 or be an unsigned long integer. + */ + instance?: string; + /** + * The name of the dynamic network interface to be deleted from the instance. + */ + networkInterfaceName?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + export interface Params$Resource$Instances$Detachdisk extends StandardParameters { + /** + * The device name of the disk to detach. Make a get() request on + * the instance to view currently attached disks and device names. + */ + deviceName?: string; + /** + * Instance name for this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + export interface Params$Resource$Instances$Get extends StandardParameters { + /** + * Name of the instance resource to return. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * View of the instance. + */ + view?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + export interface Params$Resource$Instances$Geteffectivefirewalls extends StandardParameters { + /** + * Name of the instance scoping this request. + */ + instance?: string; + /** + * The name of the network interface to get the effective firewalls. + */ + networkInterface?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + export interface Params$Resource$Instances$Getguestattributes extends StandardParameters { + /** + * Name of the instance scoping this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Specifies the guest attributes path to be queried. + */ + queryPath?: string; + /** + * Specifies the key for the guest attributes entry. + */ + variableKey?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + export interface Params$Resource$Instances$Getiampolicy extends StandardParameters { + /** + * Requested IAM Policy version. + */ + optionsRequestedPolicyVersion?: number; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + export interface Params$Resource$Instances$Getpartnermetadata extends StandardParameters { + /** + * Name of the instance scoping this request. + */ + instance?: string; + /** + * Comma separated partner metadata namespaces. + */ + namespaces?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + export interface Params$Resource$Instances$Getscreenshot extends StandardParameters { + /** + * Name of the instance scoping this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + export interface Params$Resource$Instances$Getserialportoutput extends StandardParameters { + /** + * Name of the instance for this request. + */ + instance?: string; + /** + * Specifies which COM or serial port to retrieve data from. + */ + port?: number; + /** + * Project ID for this request. + */ + project?: string; + /** + * 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. + */ + start?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + export interface Params$Resource$Instances$Getshieldedinstanceidentity extends StandardParameters { + /** + * Name or id of the instance scoping this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + export interface Params$Resource$Instances$Getshieldedvmidentity extends StandardParameters { + /** + * Name of the instance scoping this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + export interface Params$Resource$Instances$Getvmextensionstate extends StandardParameters { + /** + * The name of the extension to get the state for. + */ + extensionName?: string; + /** + * Name or id of the instance resource. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the zone for this request. + */ + zone?: string; + } + export interface Params$Resource$Instances$Insert extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * 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 + */ + sourceInstanceTemplate?: string; + /** + * 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 + */ + sourceMachineImage?: string; + /** + * The name of the zone for this request. + */ + zone?: string; /** - * Sets an instance's scheduling options. You can only call this method on astopped instance, - * that is, a VM instance that is in a `TERMINATED` state. SeeInstance Life - * Cycle for more information on the possible instance states. - * For more information about setting scheduling options for a VM, seeSet - * VM host maintenance policy. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/compute.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` + * Request body metadata + */ + requestBody?: Schema$Instance; + } + export interface Params$Resource$Instances$List extends StandardParameters { + /** + * A filter expression that filters resources listed in the response. Most + * Compute resources support two types of filter expressions: + * expressions that support regular expressions and expressions that follow + * API improvement proposal AIP-160. + * These two types of filter expressions cannot be mixed in one request. + * + * If you want to use AIP-160, your expression must specify the field name, an + * operator, and the value that you want to use for filtering. The value + * must be a string, a number, or a boolean. The operator + * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * + * For example, if you are filtering Compute Engine instances, you can + * exclude instances named `example-instance` by specifying + * `name != example-instance`. + * + * The `:*` comparison can be used to test whether a key has been defined. + * For example, to find all objects with `owner` label use: + * ``` + * labels.owner:* + * ``` + * + * You can also filter nested fields. For example, you could specify + * `scheduling.automaticRestart = false` to include instances only + * if they are not scheduled for automatic restarts. You can use filtering + * on nested fields to filter based onresource labels. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example: + * ``` + * (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake") + * ``` + * By default, each expression is an `AND` expression. However, you + * can include `AND` and `OR` expressions explicitly. + * For example: + * ``` + * (cpuPlatform = "Intel Skylake") OR + * (cpuPlatform = "Intel Broadwell") AND + * (scheduling.automaticRestart = true) + * ``` + * + * If you want to use a regular expression, use the `eq` (equal) or `ne` + * (not equal) operator against a single un-parenthesized expression with or + * without quotes or against multiple parenthesized expressions. Examples: + * + * `fieldname eq unquoted literal` + * `fieldname eq 'single quoted literal'` + * `fieldname eq "double quoted literal"` + * `(fieldname1 eq literal) (fieldname2 ne "literal")` + * + * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * The literal value must match the entire field. + * + * For example, to filter for instances that do not end with name "instance", + * you would use `name ne .*instance`. + * + * You cannot combine constraints on multiple fields using regular + * expressions. + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. + * If the number of available results is larger than `maxResults`, + * Compute Engine returns a `nextPageToken` that can be used to get + * the next page of results in subsequent list requests. Acceptable values are + * `0` to `500`, inclusive. (Default: `500`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results + * are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation + * timestamp using `orderBy="creationTimestamp desc"`. This sorts + * results based on the `creationTimestamp` field in + * reverse chronological order (newest result first). Use this to sort + * resources like operations so that the newest operation is returned first. + * + * Currently, only sorting by `name` or + * `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the + * `nextPageToken` returned by a previous list request to get + * the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Opt-in for partial success behavior which provides partial results in case + * of failure. The default value is false. * - * const {google} = require('googleapis'); - * const compute = google.compute('alpha'); + * For example, when partial success behavior is enabled, aggregatedList for a + * single zone scope either returns all resources in the zone or no resources, + * with an error code. + */ + returnPartialSuccess?: boolean; + /** + * View of the instance. + */ + view?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + export interface Params$Resource$Instances$Listreferrers extends StandardParameters { + /** + * A filter expression that filters resources listed in the response. Most + * Compute resources support two types of filter expressions: + * expressions that support regular expressions and expressions that follow + * API improvement proposal AIP-160. + * These two types of filter expressions cannot be mixed in one request. * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/cloud-platform', - * 'https://www.googleapis.com/auth/compute', - * ], - * }); + * If you want to use AIP-160, your expression must specify the field name, an + * operator, and the value that you want to use for filtering. The value + * must be a string, a number, or a boolean. The operator + * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); + * For example, if you are filtering Compute Engine instances, you can + * exclude instances named `example-instance` by specifying + * `name != example-instance`. * - * // Do the magic - * const res = await compute.instances.setScheduling({ - * // Instance name for this request. - * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. - * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * // The name of the zone for this request. - * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * The `:*` comparison can be used to test whether a key has been defined. + * For example, to find all objects with `owner` label use: + * ``` + * labels.owner:* + * ``` * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "automaticRestart": false, - * // "availabilityDomain": 0, - * // "currentCpus": 0, - * // "currentMemoryMb": "my_currentMemoryMb", - * // "gracefulShutdown": {}, - * // "hostErrorTimeoutSeconds": 0, - * // "instanceTerminationAction": "my_instanceTerminationAction", - * // "latencyTolerant": false, - * // "localSsdRecoveryTimeout": {}, - * // "locationHint": "my_locationHint", - * // "maintenanceFreezeDurationHours": 0, - * // "maintenanceInterval": "my_maintenanceInterval", - * // "maxRunDuration": {}, - * // "minNodeCpus": 0, - * // "nodeAffinities": [], - * // "onHostMaintenance": "my_onHostMaintenance", - * // "onInstanceStopAction": {}, - * // "preemptible": false, - * // "preemptionNoticeDuration": {}, - * // "provisioningModel": "my_provisioningModel", - * // "shutdownTimeout": {}, - * // "skipGuestOsShutdown": false, - * // "terminationTime": "my_terminationTime", - * // "windowsLicenseOptimizationMode": "my_windowsLicenseOptimizationMode" - * // } - * }, - * }); - * console.log(res.data); + * You can also filter nested fields. For example, you could specify + * `scheduling.automaticRestart = false` to include instances only + * if they are not scheduled for automatic restarts. You can use filtering + * on nested fields to filter based onresource labels. * - * // Example response - * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, - * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, - * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" - * // } - * } + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example: + * ``` + * (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake") + * ``` + * By default, each expression is an `AND` expression. However, you + * can include `AND` and `OR` expressions explicitly. + * For example: + * ``` + * (cpuPlatform = "Intel Skylake") OR + * (cpuPlatform = "Intel Broadwell") AND + * (scheduling.automaticRestart = true) + * ``` * - * main().catch(e => { - * console.error(e); - * throw e; - * }); + * If you want to use a regular expression, use the `eq` (equal) or `ne` + * (not equal) operator against a single un-parenthesized expression with or + * without quotes or against multiple parenthesized expressions. Examples: * - * ``` + * `fieldname eq unquoted literal` + * `fieldname eq 'single quoted literal'` + * `fieldname eq "double quoted literal"` + * `(fieldname1 eq literal) (fieldname2 ne "literal")` * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. + * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * The literal value must match the entire field. + * + * For example, to filter for instances that do not end with name "instance", + * you would use `name ne .*instance`. + * + * You cannot combine constraints on multiple fields using regular + * expressions. */ - setScheduling( - params: Params$Resource$Instances$Setscheduling, - options: StreamMethodOptions - ): Promise>; - setScheduling( - params?: Params$Resource$Instances$Setscheduling, - options?: MethodOptions - ): Promise>; - setScheduling( - params: Params$Resource$Instances$Setscheduling, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - setScheduling( - params: Params$Resource$Instances$Setscheduling, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - setScheduling( - params: Params$Resource$Instances$Setscheduling, - callback: BodyResponseCallback - ): void; - setScheduling(callback: BodyResponseCallback): void; - setScheduling( - paramsOrCallback?: - | Params$Resource$Instances$Setscheduling - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Instances$Setscheduling; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Instances$Setscheduling; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/setScheduling' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['project', 'zone', 'instance'], - pathParams: ['instance', 'project', 'zone'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - + filter?: string; /** - * Sets the Google Cloud Armor security policy for the specified instance. - * For more information, seeGoogle - * Cloud Armor Overview - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/compute.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` + * Name of the target instance scoping this request, or '-' if the + * request should span over all instances in the container. + */ + instance?: string; + /** + * The maximum number of results per page that should be returned. + * If the number of available results is larger than `maxResults`, + * Compute Engine returns a `nextPageToken` that can be used to get + * the next page of results in subsequent list requests. Acceptable values are + * `0` to `500`, inclusive. (Default: `500`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results + * are returned in alphanumerical order based on the resource name. * - * const {google} = require('googleapis'); - * const compute = google.compute('alpha'); + * You can also sort results in descending order based on the creation + * timestamp using `orderBy="creationTimestamp desc"`. This sorts + * results based on the `creationTimestamp` field in + * reverse chronological order (newest result first). Use this to sort + * resources like operations so that the newest operation is returned first. * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/cloud-platform', - * 'https://www.googleapis.com/auth/compute', - * ], - * }); + * Currently, only sorting by `name` or + * `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the + * `nextPageToken` returned by a previous list request to get + * the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Opt-in for partial success behavior which provides partial results in case + * of failure. The default value is false. * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); + * For example, when partial success behavior is enabled, aggregatedList for a + * single zone scope either returns all resources in the zone or no resources, + * with an error code. + */ + returnPartialSuccess?: boolean; + /** + * The name of the zone for this request. + */ + zone?: string; + } + export interface Params$Resource$Instances$Listvmextensionstates extends StandardParameters { + /** + * A filter expression that filters resources listed in the response. Most + * Compute resources support two types of filter expressions: + * expressions that support regular expressions and expressions that follow + * API improvement proposal AIP-160. + * These two types of filter expressions cannot be mixed in one request. * - * // Do the magic - * const res = await compute.instances.setSecurityPolicy({ - * // Name of the Instance resource to which the security policy should be - * // set. The name should conform to RFC1035. - * instance: 'placeholder-value', - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. - * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * // Name of the zone scoping this request. - * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * If you want to use AIP-160, your expression must specify the field name, an + * operator, and the value that you want to use for filtering. The value + * must be a string, a number, or a boolean. The operator + * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "networkInterfaces": [], - * // "securityPolicy": "my_securityPolicy" - * // } - * }, - * }); - * console.log(res.data); + * For example, if you are filtering Compute Engine instances, you can + * exclude instances named `example-instance` by specifying + * `name != example-instance`. * - * // Example response - * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, - * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, - * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" - * // } - * } + * The `:*` comparison can be used to test whether a key has been defined. + * For example, to find all objects with `owner` label use: + * ``` + * labels.owner:* + * ``` * - * main().catch(e => { - * console.error(e); - * throw e; - * }); + * You can also filter nested fields. For example, you could specify + * `scheduling.automaticRestart = false` to include instances only + * if they are not scheduled for automatic restarts. You can use filtering + * on nested fields to filter based onresource labels. * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example: + * ``` + * (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake") + * ``` + * By default, each expression is an `AND` expression. However, you + * can include `AND` and `OR` expressions explicitly. + * For example: + * ``` + * (cpuPlatform = "Intel Skylake") OR + * (cpuPlatform = "Intel Broadwell") AND + * (scheduling.automaticRestart = true) * ``` * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. + * If you want to use a regular expression, use the `eq` (equal) or `ne` + * (not equal) operator against a single un-parenthesized expression with or + * without quotes or against multiple parenthesized expressions. Examples: + * + * `fieldname eq unquoted literal` + * `fieldname eq 'single quoted literal'` + * `fieldname eq "double quoted literal"` + * `(fieldname1 eq literal) (fieldname2 ne "literal")` + * + * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * The literal value must match the entire field. + * + * For example, to filter for instances that do not end with name "instance", + * you would use `name ne .*instance`. + * + * You cannot combine constraints on multiple fields using regular + * expressions. */ - setSecurityPolicy( - params: Params$Resource$Instances$Setsecuritypolicy, - options: StreamMethodOptions - ): Promise>; - setSecurityPolicy( - params?: Params$Resource$Instances$Setsecuritypolicy, - options?: MethodOptions - ): Promise>; - setSecurityPolicy( - params: Params$Resource$Instances$Setsecuritypolicy, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - setSecurityPolicy( - params: Params$Resource$Instances$Setsecuritypolicy, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - setSecurityPolicy( - params: Params$Resource$Instances$Setsecuritypolicy, - callback: BodyResponseCallback - ): void; - setSecurityPolicy(callback: BodyResponseCallback): void; - setSecurityPolicy( - paramsOrCallback?: - | Params$Resource$Instances$Setsecuritypolicy - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Instances$Setsecuritypolicy; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Instances$Setsecuritypolicy; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/setSecurityPolicy' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['project', 'zone', 'instance'], - pathParams: ['instance', 'project', 'zone'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - + filter?: string; /** - * Sets the service account on the instance. For more information, - * readChanging - * the service account and access scopes for an instance. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/compute.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` + * Name of the target instance scoping this request. + */ + instance?: string; + /** + * The maximum number of results per page that should be returned. + * If the number of available results is larger than `maxResults`, + * Compute Engine returns a `nextPageToken` that can be used to get + * the next page of results in subsequent list requests. Acceptable values are + * `0` to `500`, inclusive. (Default: `500`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results + * are returned in alphanumerical order based on the resource name. * - * const {google} = require('googleapis'); - * const compute = google.compute('alpha'); + * You can also sort results in descending order based on the creation + * timestamp using `orderBy="creationTimestamp desc"`. This sorts + * results based on the `creationTimestamp` field in + * reverse chronological order (newest result first). Use this to sort + * resources like operations so that the newest operation is returned first. * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/cloud-platform', - * 'https://www.googleapis.com/auth/compute', - * ], - * }); + * Currently, only sorting by `name` or + * `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the + * `nextPageToken` returned by a previous list request to get + * the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Opt-in for partial success behavior which provides partial results in case + * of failure. The default value is false. * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); + * For example, when partial success behavior is enabled, aggregatedList for a + * single zone scope either returns all resources in the zone or no resources, + * with an error code. + */ + returnPartialSuccess?: boolean; + /** + * Required. Name of the zone for this request. + */ + zone?: string; + } + export interface Params$Resource$Instances$Patchpartnermetadata extends StandardParameters { + /** + * Name of the instance scoping this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. * - * // Do the magic - * const res = await compute.instances.setServiceAccount({ - * // Name of the instance resource to start. - * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. - * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * // The name of the zone for this request. - * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "email": "my_email", - * // "scopes": [] - * // } - * }, - * }); - * console.log(res.data); + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$PartnerMetadata; + } + export interface Params$Resource$Instances$Performmaintenance extends StandardParameters { + /** + * Name of the instance scoping this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. * - * // Example response - * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, - * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, - * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" - * // } - * } + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. * - * main().catch(e => { - * console.error(e); - * throw e; - * }); + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + export interface Params$Resource$Instances$Removeresourcepolicies extends StandardParameters { + /** + * The instance name for this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. * - * ``` + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). */ - setServiceAccount( - params: Params$Resource$Instances$Setserviceaccount, - options: StreamMethodOptions - ): Promise>; - setServiceAccount( - params?: Params$Resource$Instances$Setserviceaccount, - options?: MethodOptions - ): Promise>; - setServiceAccount( - params: Params$Resource$Instances$Setserviceaccount, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - setServiceAccount( - params: Params$Resource$Instances$Setserviceaccount, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - setServiceAccount( - params: Params$Resource$Instances$Setserviceaccount, - callback: BodyResponseCallback - ): void; - setServiceAccount(callback: BodyResponseCallback): void; - setServiceAccount( - paramsOrCallback?: - | Params$Resource$Instances$Setserviceaccount - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Instances$Setserviceaccount; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Instances$Setserviceaccount; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; - const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/setServiceAccount' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['project', 'zone', 'instance'], - pathParams: ['instance', 'project', 'zone'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } + /** + * Request body metadata + */ + requestBody?: Schema$InstancesRemoveResourcePoliciesRequest; + } + export interface Params$Resource$Instances$Reporthostasfaulty extends StandardParameters { + /** + * Name of the instance scoping this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; /** - * 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. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/compute.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` + * Request body metadata + */ + requestBody?: Schema$InstancesReportHostAsFaultyRequest; + } + export interface Params$Resource$Instances$Reset extends StandardParameters { + /** + * Name of the instance scoping this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. * - * const {google} = require('googleapis'); - * const compute = google.compute('alpha'); + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + export interface Params$Resource$Instances$Resume extends StandardParameters { + /** + * Name of the instance resource to resume. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InstancesResumeRequest; + } + export interface Params$Resource$Instances$Senddiagnosticinterrupt extends StandardParameters { + /** + * Name of the instance scoping this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + export interface Params$Resource$Instances$Setdeletionprotection extends StandardParameters { + /** + * Whether the resource should be protected against deletion. + */ + deletionProtection?: boolean; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/cloud-platform', - * 'https://www.googleapis.com/auth/compute', - * ], - * }); + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + export interface Params$Resource$Instances$Setdiskautodelete extends StandardParameters { + /** + * Whether to auto-delete the disk when the instance is deleted. + */ + autoDelete?: boolean; + /** + * The device name of the disk to modify. Make a get() request + * on the instance to view currently attached disks and device names. + */ + deviceName?: string; + /** + * The instance name for this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. * - * // Do the magic - * const res = await compute.instances.setShieldedInstanceIntegrityPolicy({ - * // Name or id of the instance scoping this request. - * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. - * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * // The name of the zone for this request. - * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "updateAutoLearnPolicy": false - * // } - * }, - * }); - * console.log(res.data); + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + export interface Params$Resource$Instances$Setiampolicy extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ZoneSetPolicyRequest; + } + export interface Params$Resource$Instances$Setlabels extends StandardParameters { + /** + * Name of the instance scoping this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. * - * // Example response - * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, - * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, - * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" - * // } - * } + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. * - * main().catch(e => { - * console.error(e); - * throw e; - * }); + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InstancesSetLabelsRequest; + } + export interface Params$Resource$Instances$Setmachineresources extends StandardParameters { + /** + * Name of the instance scoping this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. * - * ``` + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). */ - setShieldedInstanceIntegrityPolicy( - params: Params$Resource$Instances$Setshieldedinstanceintegritypolicy, - options: StreamMethodOptions - ): Promise>; - setShieldedInstanceIntegrityPolicy( - params?: Params$Resource$Instances$Setshieldedinstanceintegritypolicy, - options?: MethodOptions - ): Promise>; - setShieldedInstanceIntegrityPolicy( - params: Params$Resource$Instances$Setshieldedinstanceintegritypolicy, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - setShieldedInstanceIntegrityPolicy( - params: Params$Resource$Instances$Setshieldedinstanceintegritypolicy, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - setShieldedInstanceIntegrityPolicy( - params: Params$Resource$Instances$Setshieldedinstanceintegritypolicy, - callback: BodyResponseCallback - ): void; - setShieldedInstanceIntegrityPolicy( - callback: BodyResponseCallback - ): void; - setShieldedInstanceIntegrityPolicy( - paramsOrCallback?: - | Params$Resource$Instances$Setshieldedinstanceintegritypolicy - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Instances$Setshieldedinstanceintegritypolicy; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = - {} as Params$Resource$Instances$Setshieldedinstanceintegritypolicy; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/setShieldedInstanceIntegrityPolicy' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['project', 'zone', 'instance'], - pathParams: ['instance', 'project', 'zone'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; /** - * 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. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/compute.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const compute = google.compute('alpha'); + * Request body metadata + */ + requestBody?: Schema$InstancesSetMachineResourcesRequest; + } + export interface Params$Resource$Instances$Setmachinetype extends StandardParameters { + /** + * Name of the instance scoping this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/cloud-platform', - * 'https://www.googleapis.com/auth/compute', - * ], - * }); + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InstancesSetMachineTypeRequest; + } + export interface Params$Resource$Instances$Setmetadata extends StandardParameters { + /** + * Name of the instance scoping this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. * - * // Do the magic - * const res = await compute.instances.setShieldedVmIntegrityPolicy({ - * // Name of the instance scoping this request. - * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. - * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * // The name of the zone for this request. - * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "updateAutoLearnPolicy": false - * // } - * }, - * }); - * console.log(res.data); + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Metadata; + } + export interface Params$Resource$Instances$Setmincpuplatform extends StandardParameters { + /** + * Name of the instance scoping this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. * - * // Example response - * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, - * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, - * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" - * // } - * } + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. * - * main().catch(e => { - * console.error(e); - * throw e; - * }); + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InstancesSetMinCpuPlatformRequest; + } + export interface Params$Resource$Instances$Setname extends StandardParameters { + /** + * The instance name for this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. * - * ``` + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). */ - setShieldedVmIntegrityPolicy( - params: Params$Resource$Instances$Setshieldedvmintegritypolicy, - options: StreamMethodOptions - ): Promise>; - setShieldedVmIntegrityPolicy( - params?: Params$Resource$Instances$Setshieldedvmintegritypolicy, - options?: MethodOptions - ): Promise>; - setShieldedVmIntegrityPolicy( - params: Params$Resource$Instances$Setshieldedvmintegritypolicy, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - setShieldedVmIntegrityPolicy( - params: Params$Resource$Instances$Setshieldedvmintegritypolicy, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - setShieldedVmIntegrityPolicy( - params: Params$Resource$Instances$Setshieldedvmintegritypolicy, - callback: BodyResponseCallback - ): void; - setShieldedVmIntegrityPolicy( - callback: BodyResponseCallback - ): void; - setShieldedVmIntegrityPolicy( - paramsOrCallback?: - | Params$Resource$Instances$Setshieldedvmintegritypolicy - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Instances$Setshieldedvmintegritypolicy; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Instances$Setshieldedvmintegritypolicy; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/setShieldedVmIntegrityPolicy' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['project', 'zone', 'instance'], - pathParams: ['instance', 'project', 'zone'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; /** - * Sets network tags - * for the specified instance to the data included in the request. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/compute.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const compute = google.compute('alpha'); + * Request body metadata + */ + requestBody?: Schema$InstancesSetNameRequest; + } + export interface Params$Resource$Instances$Setscheduling extends StandardParameters { + /** + * Instance name for this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/cloud-platform', - * 'https://www.googleapis.com/auth/compute', - * ], - * }); + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Scheduling; + } + export interface Params$Resource$Instances$Setsecuritypolicy extends StandardParameters { + /** + * Name of the Instance resource to which the security policy should be + * set. The name should conform to RFC1035. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. * - * // Do the magic - * const res = await compute.instances.setTags({ - * // Name of the instance scoping this request. - * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. - * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * // The name of the zone for this request. - * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "fingerprint": "my_fingerprint", - * // "items": [] - * // } - * }, - * }); - * console.log(res.data); + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the zone scoping this request. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InstancesSetSecurityPolicyRequest; + } + export interface Params$Resource$Instances$Setserviceaccount extends StandardParameters { + /** + * Name of the instance resource to start. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. * - * // Example response - * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, - * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, - * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" - * // } - * } + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. * - * main().catch(e => { - * console.error(e); - * throw e; - * }); + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InstancesSetServiceAccountRequest; + } + export interface Params$Resource$Instances$Setshieldedinstanceintegritypolicy extends StandardParameters { + /** + * Name or id of the instance scoping this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. * - * ``` + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). */ - setTags( - params: Params$Resource$Instances$Settags, - options: StreamMethodOptions - ): Promise>; - setTags( - params?: Params$Resource$Instances$Settags, - options?: MethodOptions - ): Promise>; - setTags( - params: Params$Resource$Instances$Settags, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - setTags( - params: Params$Resource$Instances$Settags, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - setTags( - params: Params$Resource$Instances$Settags, - callback: BodyResponseCallback - ): void; - setTags(callback: BodyResponseCallback): void; - setTags( - paramsOrCallback?: - | Params$Resource$Instances$Settags - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Instances$Settags; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Instances$Settags; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; - const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/setTags' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['project', 'zone', 'instance'], - pathParams: ['instance', 'project', 'zone'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } + /** + * Request body metadata + */ + requestBody?: Schema$ShieldedInstanceIntegrityPolicy; + } + export interface Params$Resource$Instances$Setshieldedvmintegritypolicy extends StandardParameters { + /** + * Name of the instance scoping this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; /** - * Simulates a host maintenance event on a VM. For more information, see - * Simulate a host maintenance event. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/compute.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` + * Request body metadata + */ + requestBody?: Schema$ShieldedVmIntegrityPolicy; + } + export interface Params$Resource$Instances$Settags extends StandardParameters { + /** + * Name of the instance scoping this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. * - * const {google} = require('googleapis'); - * const compute = google.compute('alpha'); + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/cloud-platform', - * 'https://www.googleapis.com/auth/compute', - * ], - * }); + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Tags; + } + export interface Params$Resource$Instances$Simulatemaintenanceevent extends StandardParameters { + /** + * Name of the instance scoping this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. * - * // Do the magic - * const res = await compute.instances.simulateMaintenanceEvent({ - * // Name of the instance scoping this request. - * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. - * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * // Determines whether the customers receive notifications before migration. - * // Only applicable to SF vms. - * withExtendedNotifications: 'placeholder-value', - * // The name of the zone for this request. - * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', - * }); - * console.log(res.data); + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Determines whether the customers receive notifications before migration. + * Only applicable to SF vms. + */ + withExtendedNotifications?: boolean; + /** + * The name of the zone for this request. + */ + zone?: string; + } + export interface Params$Resource$Instances$Start extends StandardParameters { + /** + * Name of the instance resource to start. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. * - * // Example response - * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, - * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, - * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" - * // } - * } + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. * - * main().catch(e => { - * console.error(e); - * throw e; - * }); + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + export interface Params$Resource$Instances$Startwithencryptionkey extends StandardParameters { + /** + * Name of the instance resource to start. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. * - * ``` + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). */ - simulateMaintenanceEvent( - params: Params$Resource$Instances$Simulatemaintenanceevent, - options: StreamMethodOptions - ): Promise>; - simulateMaintenanceEvent( - params?: Params$Resource$Instances$Simulatemaintenanceevent, - options?: MethodOptions - ): Promise>; - simulateMaintenanceEvent( - params: Params$Resource$Instances$Simulatemaintenanceevent, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - simulateMaintenanceEvent( - params: Params$Resource$Instances$Simulatemaintenanceevent, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - simulateMaintenanceEvent( - params: Params$Resource$Instances$Simulatemaintenanceevent, - callback: BodyResponseCallback - ): void; - simulateMaintenanceEvent( - callback: BodyResponseCallback - ): void; - simulateMaintenanceEvent( - paramsOrCallback?: - | Params$Resource$Instances$Simulatemaintenanceevent - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Instances$Simulatemaintenanceevent; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Instances$Simulatemaintenanceevent; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/simulateMaintenanceEvent' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['project', 'zone', 'instance'], - pathParams: ['instance', 'project', 'zone'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; /** - * Starts an instance that was stopped using theinstances().stop - * method. For more information, seeRestart an - * instance. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/compute.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const compute = google.compute('alpha'); + * Request body metadata + */ + requestBody?: Schema$InstancesStartWithEncryptionKeyRequest; + } + export interface Params$Resource$Instances$Stop extends StandardParameters { + /** + * 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. + */ + discardLocalSsd?: boolean; + /** + * Name of the instance resource to stop. + */ + instance?: string; + /** + * If set to true, Graceful Shutdown is skipped. + */ + noGracefulShutdown?: boolean; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/cloud-platform', - * 'https://www.googleapis.com/auth/compute', - * ], - * }); + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + export interface Params$Resource$Instances$Suspend extends StandardParameters { + /** + * 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. + */ + discardLocalSsd?: boolean; + /** + * Name of the instance resource to suspend. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. * - * // Do the magic - * const res = await compute.instances.start({ - * // Name of the instance resource to start. - * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. - * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * // The name of the zone for this request. - * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', - * }); - * console.log(res.data); + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. * - * // Example response - * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, - * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, - * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" - * // } - * } + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + export interface Params$Resource$Instances$Testiampermissions extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + export interface Params$Resource$Instances$Update extends StandardParameters { + /** + * Whether to clear secure tags from the instance. * - * main().catch(e => { - * console.error(e); - * throw e; - * }); + * This property if set to true will clear secure tags regardless of theresource.secure_tags. + */ + clearSecureTag?: boolean; + /** + * Whether to discard local SSDs from the instance during restart + * default value is false. + */ + discardLocalSsd?: boolean; + /** + * Name of the instance resource to update. + */ + instance?: string; + /** + * 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. + */ + minimalAction?: string; + /** + * 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. + */ + mostDisruptiveAllowedAction?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. * - * ``` + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). */ - start( - params: Params$Resource$Instances$Start, - options: StreamMethodOptions - ): Promise>; - start( - params?: Params$Resource$Instances$Start, - options?: MethodOptions - ): Promise>; - start( - params: Params$Resource$Instances$Start, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - start( - params: Params$Resource$Instances$Start, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - start( - params: Params$Resource$Instances$Start, - callback: BodyResponseCallback - ): void; - start(callback: BodyResponseCallback): void; - start( - paramsOrCallback?: - | Params$Resource$Instances$Start - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Instances$Start; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Instances$Start; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/start' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['project', 'zone', 'instance'], - pathParams: ['instance', 'project', 'zone'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; /** - * Starts an instance that was stopped using theinstances().stop - * method. For more information, seeRestart an - * instance. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/compute.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const compute = google.compute('alpha'); + * Request body metadata + */ + requestBody?: Schema$Instance; + } + export interface Params$Resource$Instances$Updateaccessconfig extends StandardParameters { + /** + * The instance name for this request. + */ + instance?: string; + /** + * The name of the network interface where the access config is attached. + */ + networkInterface?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/cloud-platform', - * 'https://www.googleapis.com/auth/compute', - * ], - * }); + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$AccessConfig; + } + export interface Params$Resource$Instances$Updatedisplaydevice extends StandardParameters { + /** + * Name of the instance scoping this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. * - * // Do the magic - * const res = await compute.instances.startWithEncryptionKey({ - * // Name of the instance resource to start. - * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. - * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * // The name of the zone for this request. - * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "disks": [], - * // "instanceEncryptionKey": {} - * // } - * }, - * }); - * console.log(res.data); + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$DisplayDevice; + } + export interface Params$Resource$Instances$Updatenetworkinterface extends StandardParameters { + /** + * The instance name for this request. + */ + instance?: string; + /** + * The name of the network interface to update. + */ + networkInterface?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. * - * // Example response - * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, - * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, - * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" - * // } - * } + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. * - * main().catch(e => { - * console.error(e); - * throw e; - * }); + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$NetworkInterface; + } + export interface Params$Resource$Instances$Updateshieldedinstanceconfig extends StandardParameters { + /** + * Name or id of the instance scoping this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. * - * ``` + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). */ - startWithEncryptionKey( - params: Params$Resource$Instances$Startwithencryptionkey, - options: StreamMethodOptions - ): Promise>; - startWithEncryptionKey( - params?: Params$Resource$Instances$Startwithencryptionkey, - options?: MethodOptions - ): Promise>; - startWithEncryptionKey( - params: Params$Resource$Instances$Startwithencryptionkey, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - startWithEncryptionKey( - params: Params$Resource$Instances$Startwithencryptionkey, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - startWithEncryptionKey( - params: Params$Resource$Instances$Startwithencryptionkey, - callback: BodyResponseCallback - ): void; - startWithEncryptionKey( - callback: BodyResponseCallback - ): void; - startWithEncryptionKey( - paramsOrCallback?: - | Params$Resource$Instances$Startwithencryptionkey - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Instances$Startwithencryptionkey; - let options = (optionsOrCallback || {}) as MethodOptions; + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Instances$Startwithencryptionkey; - options = {}; - } + /** + * Request body metadata + */ + requestBody?: Schema$ShieldedInstanceConfig; + } + export interface Params$Resource$Instances$Updateshieldedvmconfig extends StandardParameters { + /** + * Name of the instance scoping this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } + /** + * Request body metadata + */ + requestBody?: Schema$ShieldedVmConfig; + } - const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/startWithEncryptionKey' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['project', 'zone', 'instance'], - pathParams: ['instance', 'project', 'zone'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } + export class Resource$Instancesettings { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; } /** - * 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, seeStopping - * an instance. + * Get Instance settings. * @example * ```js * // Before running the sample: @@ -118266,6 +124155,7 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -118274,66 +124164,21 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instances.stop({ - * // 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. - * discardLocalSsd: 'placeholder-value', - * // Name of the instance resource to stop. - * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // If set to true, Graceful Shutdown is skipped. - * noGracefulShutdown: 'placeholder-value', + * const res = await compute.instanceSettings.get({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. - * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * // The name of the zone for this request. + * // Name of the zone for this request. * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * }); * console.log(res.data); * * // Example response * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, - * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, + * // "email": "my_email", + * // "fingerprint": "my_fingerprint", * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], + * // "metadata": {}, * // "zone": "my_zone" * // } * } @@ -118350,52 +124195,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - stop( - params: Params$Resource$Instances$Stop, + get( + params: Params$Resource$Instancesettings$Get, options: StreamMethodOptions ): Promise>; - stop( - params?: Params$Resource$Instances$Stop, + get( + params?: Params$Resource$Instancesettings$Get, options?: MethodOptions - ): Promise>; - stop( - params: Params$Resource$Instances$Stop, + ): Promise>; + get( + params: Params$Resource$Instancesettings$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - stop( - params: Params$Resource$Instances$Stop, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + get( + params: Params$Resource$Instancesettings$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - stop( - params: Params$Resource$Instances$Stop, - callback: BodyResponseCallback + get( + params: Params$Resource$Instancesettings$Get, + callback: BodyResponseCallback ): void; - stop(callback: BodyResponseCallback): void; - stop( + get(callback: BodyResponseCallback): void; + get( paramsOrCallback?: - | Params$Resource$Instances$Stop - | BodyResponseCallback + | Params$Resource$Instancesettings$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Instances$Stop; + let params = (paramsOrCallback || + {}) as Params$Resource$Instancesettings$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instances$Stop; + params = {} as Params$Resource$Instancesettings$Get; options = {}; } @@ -118410,37 +124256,30 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/stop' + '/compute/alpha/projects/{project}/zones/{zone}/instanceSettings' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone', 'instance'], - pathParams: ['instance', 'project', 'zone'], + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * 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. + * Patch Instance settings * @example * ```js * // Before running the sample: @@ -118472,13 +124311,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instances.suspend({ - * // 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. - * discardLocalSsd: 'placeholder-value', - * // Name of the instance resource to suspend. - * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.instanceSettings.patch({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -118496,8 +124329,22 @@ export namespace compute_alpha { * // a valid UUID with the exception that zero UUID is not supported * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', - * // The name of the zone for this request. - * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * // update_mask indicates fields to be updated as part of this request. + * updateMask: 'placeholder-value', + * // The zone scoping this request. It should conform to RFC1035. + * zone: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "email": "my_email", + * // "fingerprint": "my_fingerprint", + * // "kind": "my_kind", + * // "metadata": {}, + * // "zone": "my_zone" + * // } + * }, * }); * console.log(res.data); * @@ -118546,32 +124393,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - suspend( - params: Params$Resource$Instances$Suspend, + patch( + params: Params$Resource$Instancesettings$Patch, options: StreamMethodOptions ): Promise>; - suspend( - params?: Params$Resource$Instances$Suspend, + patch( + params?: Params$Resource$Instancesettings$Patch, options?: MethodOptions ): Promise>; - suspend( - params: Params$Resource$Instances$Suspend, + patch( + params: Params$Resource$Instancesettings$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - suspend( - params: Params$Resource$Instances$Suspend, + patch( + params: Params$Resource$Instancesettings$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - suspend( - params: Params$Resource$Instances$Suspend, + patch( + params: Params$Resource$Instancesettings$Patch, callback: BodyResponseCallback ): void; - suspend(callback: BodyResponseCallback): void; - suspend( + patch(callback: BodyResponseCallback): void; + patch( paramsOrCallback?: - | Params$Resource$Instances$Suspend + | Params$Resource$Instancesettings$Patch | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -118587,12 +124434,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instances$Suspend; + {}) as Params$Resource$Instancesettings$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instances$Suspend; + params = {} as Params$Resource$Instancesettings$Patch; options = {}; } @@ -118607,16 +124454,16 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/suspend' + '/compute/alpha/projects/{project}/zones/{zone}/instanceSettings' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'PATCH', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone', 'instance'], - pathParams: ['instance', 'project', 'zone'], + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], context: this.context, }; if (callback) { @@ -118628,9 +124475,66 @@ export namespace compute_alpha { return createAPIRequest(parameters); } } + } + export interface Params$Resource$Instancesettings$Get extends StandardParameters { /** - * Returns permissions that a caller has on the specified resource. + * Project ID for this request. + */ + project?: string; + /** + * Name of the zone for this request. + */ + zone?: string; + } + export interface Params$Resource$Instancesettings$Patch extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * update_mask indicates fields to be updated as part of this request. + */ + updateMask?: string; + /** + * The zone scoping this request. It should conform to RFC1035. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InstanceSettings; + } + + export class Resource$Instancetemplates { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * 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`. * @example * ```js * // Before running the sample: @@ -118663,28 +124567,120 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instances.testIamPermissions({ - * // Project ID for this request. + * const res = await compute.instanceTemplates.aggregatedList({ + * // A filter expression that filters resources listed in the response. Most + * // Compute resources support two types of filter expressions: + * // expressions that support regular expressions and expressions that follow + * // API improvement proposal AIP-160. + * // These two types of filter expressions cannot be mixed in one request. + * // + * // If you want to use AIP-160, your expression must specify the field name, an + * // operator, and the value that you want to use for filtering. The value + * // must be a string, a number, or a boolean. The operator + * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * // + * // For example, if you are filtering Compute Engine instances, you can + * // exclude instances named `example-instance` by specifying + * // `name != example-instance`. + * // + * // The `:*` comparison can be used to test whether a key has been defined. + * // For example, to find all objects with `owner` label use: + * // ``` + * // labels.owner:* + * // ``` + * // + * // You can also filter nested fields. For example, you could specify + * // `scheduling.automaticRestart = false` to include instances only + * // if they are not scheduled for automatic restarts. You can use filtering + * // on nested fields to filter based onresource labels. + * // + * // To filter on multiple expressions, provide each separate expression within + * // parentheses. For example: + * // ``` + * // (scheduling.automaticRestart = true) + * // (cpuPlatform = "Intel Skylake") + * // ``` + * // By default, each expression is an `AND` expression. However, you + * // can include `AND` and `OR` expressions explicitly. + * // For example: + * // ``` + * // (cpuPlatform = "Intel Skylake") OR + * // (cpuPlatform = "Intel Broadwell") AND + * // (scheduling.automaticRestart = true) + * // ``` + * // + * // If you want to use a regular expression, use the `eq` (equal) or `ne` + * // (not equal) operator against a single un-parenthesized expression with or + * // without quotes or against multiple parenthesized expressions. Examples: + * // + * // `fieldname eq unquoted literal` + * // `fieldname eq 'single quoted literal'` + * // `fieldname eq "double quoted literal"` + * // `(fieldname1 eq literal) (fieldname2 ne "literal")` + * // + * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * // The literal value must match the entire field. + * // + * // For example, to filter for instances that do not end with name "instance", + * // you would use `name ne .*instance`. + * // + * // You cannot combine constraints on multiple fields using regular + * // expressions. + * filter: 'placeholder-value', + * // 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. + * includeAllScopes: 'placeholder-value', + * // The maximum number of results per page that should be returned. + * // If the number of available results is larger than `maxResults`, + * // Compute Engine returns a `nextPageToken` that can be used to get + * // the next page of results in subsequent list requests. Acceptable values are + * // `0` to `500`, inclusive. (Default: `500`) + * maxResults: 'placeholder-value', + * // Sorts list results by a certain order. By default, results + * // are returned in alphanumerical order based on the resource name. + * // + * // You can also sort results in descending order based on the creation + * // timestamp using `orderBy="creationTimestamp desc"`. This sorts + * // results based on the `creationTimestamp` field in + * // reverse chronological order (newest result first). Use this to sort + * // resources like operations so that the newest operation is returned first. + * // + * // Currently, only sorting by `name` or + * // `creationTimestamp desc` is supported. + * orderBy: 'placeholder-value', + * // Specifies a page token to use. Set `pageToken` to the + * // `nextPageToken` returned by a previous list request to get + * // the next page of results. + * pageToken: 'placeholder-value', + * // Name of the project scoping this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name or id of the resource for this request. - * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // The name of the zone for this request. - * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "permissions": [] - * // } - * }, + * // Opt-in for partial success behavior which provides partial results in case + * // of failure. The default value is false. + * // + * // For example, when partial success behavior is enabled, aggregatedList for a + * // single zone scope either returns all resources in the zone or no resources, + * // with an error code. + * returnPartialSuccess: 'placeholder-value', + * // The Shared VPC service project id or service project number for which + * // aggregated list request is invoked for subnetworks list-usable api. + * serviceProjectNumber: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { - * // "permissions": [] + * // "id": "my_id", + * // "items": {}, + * // "kind": "my_kind", + * // "nextPageToken": "my_nextPageToken", + * // "selfLink": "my_selfLink", + * // "warning": {} * // } * } * @@ -118700,57 +124696,57 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - testIamPermissions( - params: Params$Resource$Instances$Testiampermissions, + aggregatedList( + params: Params$Resource$Instancetemplates$Aggregatedlist, options: StreamMethodOptions ): Promise>; - testIamPermissions( - params?: Params$Resource$Instances$Testiampermissions, + aggregatedList( + params?: Params$Resource$Instancetemplates$Aggregatedlist, options?: MethodOptions - ): Promise>; - testIamPermissions( - params: Params$Resource$Instances$Testiampermissions, + ): Promise>; + aggregatedList( + params: Params$Resource$Instancetemplates$Aggregatedlist, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - testIamPermissions( - params: Params$Resource$Instances$Testiampermissions, + aggregatedList( + params: Params$Resource$Instancetemplates$Aggregatedlist, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - testIamPermissions( - params: Params$Resource$Instances$Testiampermissions, - callback: BodyResponseCallback + aggregatedList( + params: Params$Resource$Instancetemplates$Aggregatedlist, + callback: BodyResponseCallback ): void; - testIamPermissions( - callback: BodyResponseCallback + aggregatedList( + callback: BodyResponseCallback ): void; - testIamPermissions( + aggregatedList( paramsOrCallback?: - | Params$Resource$Instances$Testiampermissions - | BodyResponseCallback + | Params$Resource$Instancetemplates$Aggregatedlist + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instances$Testiampermissions; + {}) as Params$Resource$Instancetemplates$Aggregatedlist; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instances$Testiampermissions; + params = {} as Params$Resource$Instancetemplates$Aggregatedlist; options = {}; } @@ -118765,33 +124761,34 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instances/{resource}/testIamPermissions' + '/compute/alpha/projects/{project}/aggregated/instanceTemplates' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone', 'resource'], - pathParams: ['project', 'resource', 'zone'], + requiredParams: ['project'], + pathParams: ['project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); } } /** - * 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. + * 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. * @example * ```js * // Before running the sample: @@ -118823,27 +124820,9 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instances.update({ - * // Whether to clear secure tags from the instance. - * // - * // This property if set to true will clear secure tags regardless of theresource.secure_tags. - * clearSecureTag: 'placeholder-value', - * // Whether to discard local SSDs from the instance during restart - * // default value is false. - * discardLocalSsd: 'placeholder-value', - * // Name of the instance resource to update. - * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // 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. - * minimalAction: 'placeholder-value', - * // 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. - * mostDisruptiveAllowedAction: 'placeholder-value', + * const res = await compute.instanceTemplates.delete({ + * // The name of the instance template to delete. + * instanceTemplate: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -118861,74 +124840,6 @@ export namespace compute_alpha { * // a valid UUID with the exception that zero UUID is not supported * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', - * // The name of the zone for this request. - * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "advancedMachineFeatures": {}, - * // "canIpForward": false, - * // "confidentialInstanceConfig": {}, - * // "cpuPlatform": "my_cpuPlatform", - * // "creationTimestamp": "my_creationTimestamp", - * // "deletionProtection": false, - * // "description": "my_description", - * // "disks": [], - * // "displayDevice": {}, - * // "eraseWindowsVssSignature": false, - * // "fingerprint": "my_fingerprint", - * // "guestAccelerators": [], - * // "hostname": "my_hostname", - * // "id": "my_id", - * // "identity": "my_identity", - * // "identityCertificate": false, - * // "instanceEncryptionKey": {}, - * // "keyRevocationActionType": "my_keyRevocationActionType", - * // "kind": "my_kind", - * // "labelFingerprint": "my_labelFingerprint", - * // "labels": {}, - * // "lastStartTimestamp": "my_lastStartTimestamp", - * // "lastStopTimestamp": "my_lastStopTimestamp", - * // "lastSuspendedTimestamp": "my_lastSuspendedTimestamp", - * // "machineType": "my_machineType", - * // "metadata": {}, - * // "minCpuPlatform": "my_minCpuPlatform", - * // "name": "my_name", - * // "networkInterfaces": [], - * // "networkPerformanceConfig": {}, - * // "params": {}, - * // "partnerMetadata": {}, - * // "postKeyRevocationActionType": "my_postKeyRevocationActionType", - * // "preservedStateSizeGb": "my_preservedStateSizeGb", - * // "privateIpv6GoogleAccess": "my_privateIpv6GoogleAccess", - * // "reservationAffinity": {}, - * // "resourcePolicies": [], - * // "resourceStatus": {}, - * // "satisfiesPzi": false, - * // "satisfiesPzs": false, - * // "scheduling": {}, - * // "secureTags": [], - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "serviceAccounts": [], - * // "serviceIntegrationSpecs": {}, - * // "shieldedInstanceConfig": {}, - * // "shieldedInstanceIntegrityPolicy": {}, - * // "shieldedVmConfig": {}, - * // "shieldedVmIntegrityPolicy": {}, - * // "sourceMachineImage": "my_sourceMachineImage", - * // "sourceMachineImageEncryptionKey": {}, - * // "startRestricted": false, - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "tags": {}, - * // "upcomingMaintenance": {}, - * // "workloadIdentityConfig": {}, - * // "zone": "my_zone" - * // } - * }, * }); * console.log(res.data); * @@ -118977,32 +124888,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - update( - params: Params$Resource$Instances$Update, + delete( + params: Params$Resource$Instancetemplates$Delete, options: StreamMethodOptions ): Promise>; - update( - params?: Params$Resource$Instances$Update, + delete( + params?: Params$Resource$Instancetemplates$Delete, options?: MethodOptions ): Promise>; - update( - params: Params$Resource$Instances$Update, + delete( + params: Params$Resource$Instancetemplates$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - update( - params: Params$Resource$Instances$Update, + delete( + params: Params$Resource$Instancetemplates$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - update( - params: Params$Resource$Instances$Update, + delete( + params: Params$Resource$Instancetemplates$Delete, callback: BodyResponseCallback ): void; - update(callback: BodyResponseCallback): void; - update( + delete(callback: BodyResponseCallback): void; + delete( paramsOrCallback?: - | Params$Resource$Instances$Update + | Params$Resource$Instancetemplates$Delete | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -119017,12 +124928,13 @@ export namespace compute_alpha { | void | Promise> | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Instances$Update; + let params = (paramsOrCallback || + {}) as Params$Resource$Instancetemplates$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instances$Update; + params = {} as Params$Resource$Instancetemplates$Delete; options = {}; } @@ -119037,16 +124949,16 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}' + '/compute/alpha/projects/{project}/global/instanceTemplates/{instanceTemplate}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PUT', + method: 'DELETE', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone', 'instance'], - pathParams: ['instance', 'project', 'zone'], + requiredParams: ['project', 'instanceTemplate'], + pathParams: ['instanceTemplate', 'project'], context: this.context, }; if (callback) { @@ -119060,10 +124972,7 @@ export namespace compute_alpha { } /** - * Updates the specified access config from an instance's network interface - * with the data included in the request. This method supportsPATCH - * semantics and uses theJSON merge - * patch format and processing rules. + * Returns the specified instance template. * @example * ```js * // Before running the sample: @@ -119087,6 +124996,7 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -119095,82 +125005,30 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instances.updateAccessConfig({ - * // The instance name for this request. - * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // The name of the network interface where the access config is attached. - * networkInterface: 'placeholder-value', + * const res = await compute.instanceTemplates.get({ + * // The name of the instance template. + * instanceTemplate: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. - * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * // The name of the zone for this request. - * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "externalIpv6": "my_externalIpv6", - * // "externalIpv6PrefixLength": 0, - * // "kind": "my_kind", - * // "name": "my_name", - * // "natIP": "my_natIP", - * // "networkTier": "my_networkTier", - * // "publicDnsName": "my_publicDnsName", - * // "publicPtrDomainName": "my_publicPtrDomainName", - * // "securityPolicy": "my_securityPolicy", - * // "setPublicDns": false, - * // "setPublicPtr": false, - * // "type": "my_type" - * // } - * }, + * // View of the instance template. + * view: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { - * // "clientOperationId": "my_clientOperationId", * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, * // "kind": "my_kind", * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, + * // "properties": {}, * // "region": "my_region", * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" + * // "sourceInstance": "my_sourceInstance", + * // "sourceInstanceParams": {} * // } * } * @@ -119186,53 +125044,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - updateAccessConfig( - params: Params$Resource$Instances$Updateaccessconfig, + get( + params: Params$Resource$Instancetemplates$Get, options: StreamMethodOptions ): Promise>; - updateAccessConfig( - params?: Params$Resource$Instances$Updateaccessconfig, + get( + params?: Params$Resource$Instancetemplates$Get, options?: MethodOptions - ): Promise>; - updateAccessConfig( - params: Params$Resource$Instances$Updateaccessconfig, + ): Promise>; + get( + params: Params$Resource$Instancetemplates$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - updateAccessConfig( - params: Params$Resource$Instances$Updateaccessconfig, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + get( + params: Params$Resource$Instancetemplates$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - updateAccessConfig( - params: Params$Resource$Instances$Updateaccessconfig, - callback: BodyResponseCallback + get( + params: Params$Resource$Instancetemplates$Get, + callback: BodyResponseCallback ): void; - updateAccessConfig(callback: BodyResponseCallback): void; - updateAccessConfig( + get(callback: BodyResponseCallback): void; + get( paramsOrCallback?: - | Params$Resource$Instances$Updateaccessconfig - | BodyResponseCallback + | Params$Resource$Instancetemplates$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instances$Updateaccessconfig; + {}) as Params$Resource$Instancetemplates$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instances$Updateaccessconfig; + params = {} as Params$Resource$Instancetemplates$Get; options = {}; } @@ -119247,33 +125105,31 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/updateAccessConfig' + '/compute/alpha/projects/{project}/global/instanceTemplates/{instanceTemplate}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone', 'instance', 'networkInterface'], - pathParams: ['instance', 'project', 'zone'], + requiredParams: ['project', 'instanceTemplate'], + pathParams: ['instanceTemplate', 'project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Updates the Display config for a VM instance. You can - * only use this method on a stopped VM instance. This method supportsPATCH - * semantics and uses theJSON merge - * patch format and processing rules. + * Gets the access control policy for a resource. May be empty if no such + * policy or resource exists. * @example * ```js * // Before running the sample: @@ -119297,6 +125153,7 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -119305,69 +125162,23 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instances.updateDisplayDevice({ - * // Name of the instance scoping this request. - * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * const res = await compute.instanceTemplates.getIamPolicy({ + * // Requested IAM Policy version. + * optionsRequestedPolicyVersion: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. - * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * // The name of the zone for this request. - * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "enableDisplay": false - * // } - * }, + * // Name or id of the resource for this request. + * resource: '[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * }); * console.log(res.data); * * // Example response * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, - * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, - * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" + * // "auditConfigs": [], + * // "bindings": [], + * // "etag": "my_etag", + * // "version": 0 * // } * } * @@ -119383,53 +125194,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - updateDisplayDevice( - params: Params$Resource$Instances$Updatedisplaydevice, + getIamPolicy( + params: Params$Resource$Instancetemplates$Getiampolicy, options: StreamMethodOptions ): Promise>; - updateDisplayDevice( - params?: Params$Resource$Instances$Updatedisplaydevice, + getIamPolicy( + params?: Params$Resource$Instancetemplates$Getiampolicy, options?: MethodOptions - ): Promise>; - updateDisplayDevice( - params: Params$Resource$Instances$Updatedisplaydevice, + ): Promise>; + getIamPolicy( + params: Params$Resource$Instancetemplates$Getiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - updateDisplayDevice( - params: Params$Resource$Instances$Updatedisplaydevice, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + getIamPolicy( + params: Params$Resource$Instancetemplates$Getiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - updateDisplayDevice( - params: Params$Resource$Instances$Updatedisplaydevice, - callback: BodyResponseCallback + getIamPolicy( + params: Params$Resource$Instancetemplates$Getiampolicy, + callback: BodyResponseCallback ): void; - updateDisplayDevice(callback: BodyResponseCallback): void; - updateDisplayDevice( + getIamPolicy(callback: BodyResponseCallback): void; + getIamPolicy( paramsOrCallback?: - | Params$Resource$Instances$Updatedisplaydevice - | BodyResponseCallback + | Params$Resource$Instancetemplates$Getiampolicy + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instances$Updatedisplaydevice; + {}) as Params$Resource$Instancetemplates$Getiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instances$Updatedisplaydevice; + params = {} as Params$Resource$Instancetemplates$Getiampolicy; options = {}; } @@ -119444,35 +125255,34 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/updateDisplayDevice' + '/compute/alpha/projects/{project}/global/instanceTemplates/{resource}/getIamPolicy' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone', 'instance'], - pathParams: ['instance', 'project', 'zone'], + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * 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. + * 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. * @example * ```js * // Before running the sample: @@ -119504,11 +125314,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instances.updateNetworkInterface({ - * // The instance name for this request. - * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // The name of the network interface to update. - * networkInterface: 'placeholder-value', + * const res = await compute.instanceTemplates.insert({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -119526,39 +125332,22 @@ export namespace compute_alpha { * // a valid UUID with the exception that zero UUID is not supported * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', - * // The name of the zone for this request. - * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * * // Request body metadata * requestBody: { * // request body parameters * // { - * // "accessConfigs": [], - * // "aliasIpRanges": [], - * // "aliasIpv6Ranges": [], - * // "dns64Eligible": false, - * // "enableVpcScopedDns": false, - * // "fingerprint": "my_fingerprint", - * // "igmpQuery": "my_igmpQuery", - * // "internalIpv6PrefixLength": 0, - * // "ipv6AccessConfigs": [], - * // "ipv6AccessType": "my_ipv6AccessType", - * // "ipv6Address": "my_ipv6Address", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "id": "my_id", * // "kind": "my_kind", - * // "macAddress": "my_macAddress", * // "name": "my_name", - * // "nat64Eligible": false, - * // "network": "my_network", - * // "networkAttachment": "my_networkAttachment", - * // "networkIP": "my_networkIP", - * // "nicType": "my_nicType", - * // "parentNicName": "my_parentNicName", - * // "queueCount": 0, - * // "serviceClassId": "my_serviceClassId", - * // "stackType": "my_stackType", - * // "subinterfaces": [], - * // "subnetwork": "my_subnetwork", - * // "vlan": 0 + * // "properties": {}, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "sourceInstance": "my_sourceInstance", + * // "sourceInstanceParams": {} * // } * }, * }); @@ -119609,34 +125398,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - updateNetworkInterface( - params: Params$Resource$Instances$Updatenetworkinterface, + insert( + params: Params$Resource$Instancetemplates$Insert, options: StreamMethodOptions ): Promise>; - updateNetworkInterface( - params?: Params$Resource$Instances$Updatenetworkinterface, + insert( + params?: Params$Resource$Instancetemplates$Insert, options?: MethodOptions ): Promise>; - updateNetworkInterface( - params: Params$Resource$Instances$Updatenetworkinterface, + insert( + params: Params$Resource$Instancetemplates$Insert, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - updateNetworkInterface( - params: Params$Resource$Instances$Updatenetworkinterface, + insert( + params: Params$Resource$Instancetemplates$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - updateNetworkInterface( - params: Params$Resource$Instances$Updatenetworkinterface, - callback: BodyResponseCallback - ): void; - updateNetworkInterface( + insert( + params: Params$Resource$Instancetemplates$Insert, callback: BodyResponseCallback ): void; - updateNetworkInterface( + insert(callback: BodyResponseCallback): void; + insert( paramsOrCallback?: - | Params$Resource$Instances$Updatenetworkinterface + | Params$Resource$Instancetemplates$Insert | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -119652,12 +125439,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instances$Updatenetworkinterface; + {}) as Params$Resource$Instancetemplates$Insert; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instances$Updatenetworkinterface; + params = {} as Params$Resource$Instancetemplates$Insert; options = {}; } @@ -119672,16 +125459,16 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/updateNetworkInterface' + '/compute/alpha/projects/{project}/global/instanceTemplates' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone', 'instance', 'networkInterface'], - pathParams: ['instance', 'project', 'zone'], + requiredParams: ['project'], + pathParams: ['project'], context: this.context, }; if (callback) { @@ -119695,10 +125482,8 @@ export namespace compute_alpha { } /** - * Updates the Shielded Instance config for an instance. You can - * only use this method on a stopped instance. This method supportsPATCH - * semantics and uses theJSON merge - * patch format and processing rules. + * Retrieves a list of instance templates that are contained within + * the specified project. * @example * ```js * // Before running the sample: @@ -119722,6 +125507,7 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -119730,71 +125516,111 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instances.updateShieldedInstanceConfig({ - * // Name or id of the instance scoping this request. - * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.instanceTemplates.list({ + * // A filter expression that filters resources listed in the response. Most + * // Compute resources support two types of filter expressions: + * // expressions that support regular expressions and expressions that follow + * // API improvement proposal AIP-160. + * // These two types of filter expressions cannot be mixed in one request. + * // + * // If you want to use AIP-160, your expression must specify the field name, an + * // operator, and the value that you want to use for filtering. The value + * // must be a string, a number, or a boolean. The operator + * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * // + * // For example, if you are filtering Compute Engine instances, you can + * // exclude instances named `example-instance` by specifying + * // `name != example-instance`. + * // + * // The `:*` comparison can be used to test whether a key has been defined. + * // For example, to find all objects with `owner` label use: + * // ``` + * // labels.owner:* + * // ``` + * // + * // You can also filter nested fields. For example, you could specify + * // `scheduling.automaticRestart = false` to include instances only + * // if they are not scheduled for automatic restarts. You can use filtering + * // on nested fields to filter based onresource labels. + * // + * // To filter on multiple expressions, provide each separate expression within + * // parentheses. For example: + * // ``` + * // (scheduling.automaticRestart = true) + * // (cpuPlatform = "Intel Skylake") + * // ``` + * // By default, each expression is an `AND` expression. However, you + * // can include `AND` and `OR` expressions explicitly. + * // For example: + * // ``` + * // (cpuPlatform = "Intel Skylake") OR + * // (cpuPlatform = "Intel Broadwell") AND + * // (scheduling.automaticRestart = true) + * // ``` + * // + * // If you want to use a regular expression, use the `eq` (equal) or `ne` + * // (not equal) operator against a single un-parenthesized expression with or + * // without quotes or against multiple parenthesized expressions. Examples: + * // + * // `fieldname eq unquoted literal` + * // `fieldname eq 'single quoted literal'` + * // `fieldname eq "double quoted literal"` + * // `(fieldname1 eq literal) (fieldname2 ne "literal")` + * // + * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * // The literal value must match the entire field. + * // + * // For example, to filter for instances that do not end with name "instance", + * // you would use `name ne .*instance`. + * // + * // You cannot combine constraints on multiple fields using regular + * // expressions. + * filter: 'placeholder-value', + * // The maximum number of results per page that should be returned. + * // If the number of available results is larger than `maxResults`, + * // Compute Engine returns a `nextPageToken` that can be used to get + * // the next page of results in subsequent list requests. Acceptable values are + * // `0` to `500`, inclusive. (Default: `500`) + * maxResults: 'placeholder-value', + * // Sorts list results by a certain order. By default, results + * // are returned in alphanumerical order based on the resource name. + * // + * // You can also sort results in descending order based on the creation + * // timestamp using `orderBy="creationTimestamp desc"`. This sorts + * // results based on the `creationTimestamp` field in + * // reverse chronological order (newest result first). Use this to sort + * // resources like operations so that the newest operation is returned first. + * // + * // Currently, only sorting by `name` or + * // `creationTimestamp desc` is supported. + * orderBy: 'placeholder-value', + * // Specifies a page token to use. Set `pageToken` to the + * // `nextPageToken` returned by a previous list request to get + * // the next page of results. + * pageToken: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. + * // Opt-in for partial success behavior which provides partial results in case + * // of failure. The default value is false. * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * // The name of the zone for this request. - * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "enableIntegrityMonitoring": false, - * // "enableSecureBoot": false, - * // "enableVtpm": false - * // } - * }, + * // For example, when partial success behavior is enabled, aggregatedList for a + * // single zone scope either returns all resources in the zone or no resources, + * // with an error code. + * returnPartialSuccess: 'placeholder-value', + * // View of the instance template. + * view: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, + * // "items": [], * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", + * // "nextPageToken": "my_nextPageToken", * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" + * // "warning": {} * // } * } * @@ -119810,55 +125636,55 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - updateShieldedInstanceConfig( - params: Params$Resource$Instances$Updateshieldedinstanceconfig, + list( + params: Params$Resource$Instancetemplates$List, options: StreamMethodOptions ): Promise>; - updateShieldedInstanceConfig( - params?: Params$Resource$Instances$Updateshieldedinstanceconfig, + list( + params?: Params$Resource$Instancetemplates$List, options?: MethodOptions - ): Promise>; - updateShieldedInstanceConfig( - params: Params$Resource$Instances$Updateshieldedinstanceconfig, + ): Promise>; + list( + params: Params$Resource$Instancetemplates$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - updateShieldedInstanceConfig( - params: Params$Resource$Instances$Updateshieldedinstanceconfig, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - updateShieldedInstanceConfig( - params: Params$Resource$Instances$Updateshieldedinstanceconfig, - callback: BodyResponseCallback - ): void; - updateShieldedInstanceConfig( - callback: BodyResponseCallback + list( + params: Params$Resource$Instancetemplates$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - updateShieldedInstanceConfig( + list( + params: Params$Resource$Instancetemplates$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( paramsOrCallback?: - | Params$Resource$Instances$Updateshieldedinstanceconfig - | BodyResponseCallback + | Params$Resource$Instancetemplates$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instances$Updateshieldedinstanceconfig; + {}) as Params$Resource$Instancetemplates$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instances$Updateshieldedinstanceconfig; + params = {} as Params$Resource$Instancetemplates$List; options = {}; } @@ -119873,33 +125699,31 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/updateShieldedInstanceConfig' + '/compute/alpha/projects/{project}/global/instanceTemplates' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone', 'instance'], - pathParams: ['instance', 'project', 'zone'], + requiredParams: ['project'], + pathParams: ['project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Updates the Shielded VM config for a VM instance. You can - * only use this method on a stopped VM instance. This method supportsPATCH - * semantics and uses theJSON merge - * patch format and processing rules. + * Sets the access control policy on the specified resource. + * Replaces any existing policy. * @example * ```js * // Before running the sample: @@ -119931,36 +125755,20 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instances.updateShieldedVmConfig({ - * // Name of the instance scoping this request. - * instance: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.instanceTemplates.setIamPolicy({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. - * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * // The name of the zone for this request. - * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * // Name or id of the resource for this request. + * resource: '[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * * // Request body metadata * requestBody: { * // request body parameters * // { - * // "enableIntegrityMonitoring": false, - * // "enableSecureBoot": false, - * // "enableVtpm": false + * // "bindings": [], + * // "etag": "my_etag", + * // "policy": {} * // } * }, * }); @@ -119968,1051 +125776,266 @@ export namespace compute_alpha { * * // Example response * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, - * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, - * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" + * // "auditConfigs": [], + * // "bindings": [], + * // "etag": "my_etag", + * // "version": 0 * // } * } * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - updateShieldedVmConfig( - params: Params$Resource$Instances$Updateshieldedvmconfig, - options: StreamMethodOptions - ): Promise>; - updateShieldedVmConfig( - params?: Params$Resource$Instances$Updateshieldedvmconfig, - options?: MethodOptions - ): Promise>; - updateShieldedVmConfig( - params: Params$Resource$Instances$Updateshieldedvmconfig, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - updateShieldedVmConfig( - params: Params$Resource$Instances$Updateshieldedvmconfig, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - updateShieldedVmConfig( - params: Params$Resource$Instances$Updateshieldedvmconfig, - callback: BodyResponseCallback - ): void; - updateShieldedVmConfig( - callback: BodyResponseCallback - ): void; - updateShieldedVmConfig( - paramsOrCallback?: - | Params$Resource$Instances$Updateshieldedvmconfig - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Instances$Updateshieldedvmconfig; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Instances$Updateshieldedvmconfig; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instances/{instance}/updateShieldedVmConfig' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['project', 'zone', 'instance'], - pathParams: ['instance', 'project', 'zone'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Instances$Addaccessconfig extends StandardParameters { - /** - * The instance name for this request. - */ - instance?: string; - /** - * The name of the network interface to add to this instance. - */ - networkInterface?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of the zone for this request. - */ - zone?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$AccessConfig; - } - export interface Params$Resource$Instances$Addnetworkinterface extends StandardParameters { - /** - * The instance name for this request stored as resource_id. - * Name should conform to RFC1035 or be an unsigned long integer. - */ - instance?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of the zone for this request. - */ - zone?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$NetworkInterface; - } - export interface Params$Resource$Instances$Addresourcepolicies extends StandardParameters { - /** - * The instance name for this request. - */ - instance?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of the zone for this request. - */ - zone?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$InstancesAddResourcePoliciesRequest; - } - export interface Params$Resource$Instances$Aggregatedlist extends StandardParameters { - /** - * A filter expression that filters resources listed in the response. Most - * Compute resources support two types of filter expressions: - * expressions that support regular expressions and expressions that follow - * API improvement proposal AIP-160. - * These two types of filter expressions cannot be mixed in one request. - * - * If you want to use AIP-160, your expression must specify the field name, an - * operator, and the value that you want to use for filtering. The value - * must be a string, a number, or a boolean. The operator - * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * - * For example, if you are filtering Compute Engine instances, you can - * exclude instances named `example-instance` by specifying - * `name != example-instance`. - * - * The `:*` comparison can be used to test whether a key has been defined. - * For example, to find all objects with `owner` label use: - * ``` - * labels.owner:* - * ``` - * - * You can also filter nested fields. For example, you could specify - * `scheduling.automaticRestart = false` to include instances only - * if they are not scheduled for automatic restarts. You can use filtering - * on nested fields to filter based onresource labels. - * - * To filter on multiple expressions, provide each separate expression within - * parentheses. For example: - * ``` - * (scheduling.automaticRestart = true) - * (cpuPlatform = "Intel Skylake") - * ``` - * By default, each expression is an `AND` expression. However, you - * can include `AND` and `OR` expressions explicitly. - * For example: - * ``` - * (cpuPlatform = "Intel Skylake") OR - * (cpuPlatform = "Intel Broadwell") AND - * (scheduling.automaticRestart = true) - * ``` - * - * If you want to use a regular expression, use the `eq` (equal) or `ne` - * (not equal) operator against a single un-parenthesized expression with or - * without quotes or against multiple parenthesized expressions. Examples: - * - * `fieldname eq unquoted literal` - * `fieldname eq 'single quoted literal'` - * `fieldname eq "double quoted literal"` - * `(fieldname1 eq literal) (fieldname2 ne "literal")` - * - * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * The literal value must match the entire field. - * - * For example, to filter for instances that do not end with name "instance", - * you would use `name ne .*instance`. - * - * You cannot combine constraints on multiple fields using regular - * expressions. - */ - filter?: string; - /** - * 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. - */ - includeAllScopes?: boolean; - /** - * The maximum number of results per page that should be returned. - * If the number of available results is larger than `maxResults`, - * Compute Engine returns a `nextPageToken` that can be used to get - * the next page of results in subsequent list requests. Acceptable values are - * `0` to `500`, inclusive. (Default: `500`) - */ - maxResults?: number; - /** - * Sorts list results by a certain order. By default, results - * are returned in alphanumerical order based on the resource name. - * - * You can also sort results in descending order based on the creation - * timestamp using `orderBy="creationTimestamp desc"`. This sorts - * results based on the `creationTimestamp` field in - * reverse chronological order (newest result first). Use this to sort - * resources like operations so that the newest operation is returned first. - * - * Currently, only sorting by `name` or - * `creationTimestamp desc` is supported. - */ - orderBy?: string; - /** - * Specifies a page token to use. Set `pageToken` to the - * `nextPageToken` returned by a previous list request to get - * the next page of results. - */ - pageToken?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * Opt-in for partial success behavior which provides partial results in case - * of failure. The default value is false. - * - * For example, when partial success behavior is enabled, aggregatedList for a - * single zone scope either returns all resources in the zone or no resources, - * with an error code. - */ - returnPartialSuccess?: boolean; - /** - * The Shared VPC service project id or service project number for which - * aggregated list request is invoked for subnetworks list-usable api. - */ - serviceProjectNumber?: string; - } - export interface Params$Resource$Instances$Attachdisk extends StandardParameters { - /** - * 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. - */ - forceAttach?: boolean; - /** - * The instance name for this request. - */ - instance?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of the zone for this request. - */ - zone?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$AttachedDisk; - } - export interface Params$Resource$Instances$Bulkinsert extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of the zone for this request. - */ - zone?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$BulkInsertInstanceResource; - } - export interface Params$Resource$Instances$Delete extends StandardParameters { - /** - * Name of the instance resource to delete. - */ - instance?: string; - /** - * If set to true, Graceful Shutdown is skipped. - */ - noGracefulShutdown?: boolean; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of the zone for this request. - */ - zone?: string; - } - export interface Params$Resource$Instances$Deleteaccessconfig extends StandardParameters { - /** - * The name of the access config to delete. - */ - accessConfig?: string; - /** - * The instance name for this request. - */ - instance?: string; - /** - * The name of the network interface. - */ - networkInterface?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of the zone for this request. - */ - zone?: string; - } - export interface Params$Resource$Instances$Deletenetworkinterface extends StandardParameters { - /** - * The instance name for this request stored as resource_id. - * Name should conform to RFC1035 or be an unsigned long integer. - */ - instance?: string; - /** - * The name of the dynamic network interface to be deleted from the instance. - */ - networkInterfaceName?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of the zone for this request. - */ - zone?: string; - } - export interface Params$Resource$Instances$Detachdisk extends StandardParameters { - /** - * The device name of the disk to detach. Make a get() request on - * the instance to view currently attached disks and device names. - */ - deviceName?: string; - /** - * Instance name for this request. - */ - instance?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of the zone for this request. - */ - zone?: string; - } - export interface Params$Resource$Instances$Get extends StandardParameters { - /** - * Name of the instance resource to return. - */ - instance?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * View of the instance. - */ - view?: string; - /** - * The name of the zone for this request. - */ - zone?: string; - } - export interface Params$Resource$Instances$Geteffectivefirewalls extends StandardParameters { - /** - * Name of the instance scoping this request. - */ - instance?: string; - /** - * The name of the network interface to get the effective firewalls. - */ - networkInterface?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * The name of the zone for this request. - */ - zone?: string; - } - export interface Params$Resource$Instances$Getguestattributes extends StandardParameters { - /** - * Name of the instance scoping this request. - */ - instance?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * Specifies the guest attributes path to be queried. - */ - queryPath?: string; - /** - * Specifies the key for the guest attributes entry. - */ - variableKey?: string; - /** - * The name of the zone for this request. - */ - zone?: string; - } - export interface Params$Resource$Instances$Getiampolicy extends StandardParameters { - /** - * Requested IAM Policy version. - */ - optionsRequestedPolicyVersion?: number; - /** - * Project ID for this request. - */ - project?: string; - /** - * Name or id of the resource for this request. - */ - resource?: string; - /** - * The name of the zone for this request. - */ - zone?: string; - } - export interface Params$Resource$Instances$Getpartnermetadata extends StandardParameters { - /** - * Name of the instance scoping this request. - */ - instance?: string; - /** - * Comma separated partner metadata namespaces. - */ - namespaces?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * The name of the zone for this request. - */ - zone?: string; - } - export interface Params$Resource$Instances$Getscreenshot extends StandardParameters { - /** - * Name of the instance scoping this request. - */ - instance?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * The name of the zone for this request. - */ - zone?: string; - } - export interface Params$Resource$Instances$Getserialportoutput extends StandardParameters { - /** - * Name of the instance for this request. - */ - instance?: string; - /** - * Specifies which COM or serial port to retrieve data from. - */ - port?: number; - /** - * Project ID for this request. - */ - project?: string; - /** - * 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. - */ - start?: string; - /** - * The name of the zone for this request. - */ - zone?: string; - } - export interface Params$Resource$Instances$Getshieldedinstanceidentity extends StandardParameters { - /** - * Name or id of the instance scoping this request. - */ - instance?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * The name of the zone for this request. - */ - zone?: string; - } - export interface Params$Resource$Instances$Getshieldedvmidentity extends StandardParameters { - /** - * Name of the instance scoping this request. - */ - instance?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * The name of the zone for this request. - */ - zone?: string; - } - export interface Params$Resource$Instances$Getvmextensionstate extends StandardParameters { - /** - * The name of the extension to get the state for. - */ - extensionName?: string; - /** - * Name or id of the instance resource. - */ - instance?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * Name of the zone for this request. - */ - zone?: string; - } - export interface Params$Resource$Instances$Insert extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * 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 - */ - sourceInstanceTemplate?: string; - /** - * 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 - */ - sourceMachineImage?: string; - /** - * The name of the zone for this request. - */ - zone?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$Instance; - } - export interface Params$Resource$Instances$List extends StandardParameters { - /** - * A filter expression that filters resources listed in the response. Most - * Compute resources support two types of filter expressions: - * expressions that support regular expressions and expressions that follow - * API improvement proposal AIP-160. - * These two types of filter expressions cannot be mixed in one request. - * - * If you want to use AIP-160, your expression must specify the field name, an - * operator, and the value that you want to use for filtering. The value - * must be a string, a number, or a boolean. The operator - * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * - * For example, if you are filtering Compute Engine instances, you can - * exclude instances named `example-instance` by specifying - * `name != example-instance`. - * - * The `:*` comparison can be used to test whether a key has been defined. - * For example, to find all objects with `owner` label use: - * ``` - * labels.owner:* - * ``` - * - * You can also filter nested fields. For example, you could specify - * `scheduling.automaticRestart = false` to include instances only - * if they are not scheduled for automatic restarts. You can use filtering - * on nested fields to filter based onresource labels. - * - * To filter on multiple expressions, provide each separate expression within - * parentheses. For example: - * ``` - * (scheduling.automaticRestart = true) - * (cpuPlatform = "Intel Skylake") - * ``` - * By default, each expression is an `AND` expression. However, you - * can include `AND` and `OR` expressions explicitly. - * For example: - * ``` - * (cpuPlatform = "Intel Skylake") OR - * (cpuPlatform = "Intel Broadwell") AND - * (scheduling.automaticRestart = true) - * ``` - * - * If you want to use a regular expression, use the `eq` (equal) or `ne` - * (not equal) operator against a single un-parenthesized expression with or - * without quotes or against multiple parenthesized expressions. Examples: - * - * `fieldname eq unquoted literal` - * `fieldname eq 'single quoted literal'` - * `fieldname eq "double quoted literal"` - * `(fieldname1 eq literal) (fieldname2 ne "literal")` - * - * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * The literal value must match the entire field. - * - * For example, to filter for instances that do not end with name "instance", - * you would use `name ne .*instance`. - * - * You cannot combine constraints on multiple fields using regular - * expressions. - */ - filter?: string; - /** - * The maximum number of results per page that should be returned. - * If the number of available results is larger than `maxResults`, - * Compute Engine returns a `nextPageToken` that can be used to get - * the next page of results in subsequent list requests. Acceptable values are - * `0` to `500`, inclusive. (Default: `500`) - */ - maxResults?: number; - /** - * Sorts list results by a certain order. By default, results - * are returned in alphanumerical order based on the resource name. - * - * You can also sort results in descending order based on the creation - * timestamp using `orderBy="creationTimestamp desc"`. This sorts - * results based on the `creationTimestamp` field in - * reverse chronological order (newest result first). Use this to sort - * resources like operations so that the newest operation is returned first. - * - * Currently, only sorting by `name` or - * `creationTimestamp desc` is supported. - */ - orderBy?: string; - /** - * Specifies a page token to use. Set `pageToken` to the - * `nextPageToken` returned by a previous list request to get - * the next page of results. - */ - pageToken?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * Opt-in for partial success behavior which provides partial results in case - * of failure. The default value is false. - * - * For example, when partial success behavior is enabled, aggregatedList for a - * single zone scope either returns all resources in the zone or no resources, - * with an error code. - */ - returnPartialSuccess?: boolean; - /** - * View of the instance. - */ - view?: string; - /** - * The name of the zone for this request. - */ - zone?: string; - } - export interface Params$Resource$Instances$Listreferrers extends StandardParameters { - /** - * A filter expression that filters resources listed in the response. Most - * Compute resources support two types of filter expressions: - * expressions that support regular expressions and expressions that follow - * API improvement proposal AIP-160. - * These two types of filter expressions cannot be mixed in one request. - * - * If you want to use AIP-160, your expression must specify the field name, an - * operator, and the value that you want to use for filtering. The value - * must be a string, a number, or a boolean. The operator - * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * - * For example, if you are filtering Compute Engine instances, you can - * exclude instances named `example-instance` by specifying - * `name != example-instance`. - * - * The `:*` comparison can be used to test whether a key has been defined. - * For example, to find all objects with `owner` label use: - * ``` - * labels.owner:* + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * * ``` * - * You can also filter nested fields. For example, you could specify - * `scheduling.automaticRestart = false` to include instances only - * if they are not scheduled for automatic restarts. You can use filtering - * on nested fields to filter based onresource labels. + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + setIamPolicy( + params: Params$Resource$Instancetemplates$Setiampolicy, + options: StreamMethodOptions + ): Promise>; + setIamPolicy( + params?: Params$Resource$Instancetemplates$Setiampolicy, + options?: MethodOptions + ): Promise>; + setIamPolicy( + params: Params$Resource$Instancetemplates$Setiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Instancetemplates$Setiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Instancetemplates$Setiampolicy, + callback: BodyResponseCallback + ): void; + setIamPolicy(callback: BodyResponseCallback): void; + setIamPolicy( + paramsOrCallback?: + | Params$Resource$Instancetemplates$Setiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Instancetemplates$Setiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Instancetemplates$Setiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/global/instanceTemplates/{resource}/setIamPolicy' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Returns permissions that a caller has on the specified resource. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` * - * To filter on multiple expressions, provide each separate expression within - * parentheses. For example: - * ``` - * (scheduling.automaticRestart = true) - * (cpuPlatform = "Intel Skylake") - * ``` - * By default, each expression is an `AND` expression. However, you - * can include `AND` and `OR` expressions explicitly. - * For example: - * ``` - * (cpuPlatform = "Intel Skylake") OR - * (cpuPlatform = "Intel Broadwell") AND - * (scheduling.automaticRestart = true) - * ``` + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); * - * If you want to use a regular expression, use the `eq` (equal) or `ne` - * (not equal) operator against a single un-parenthesized expression with or - * without quotes or against multiple parenthesized expressions. Examples: + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', + * ], + * }); * - * `fieldname eq unquoted literal` - * `fieldname eq 'single quoted literal'` - * `fieldname eq "double quoted literal"` - * `(fieldname1 eq literal) (fieldname2 ne "literal")` + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); * - * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * The literal value must match the entire field. + * // Do the magic + * const res = await compute.instanceTemplates.testIamPermissions({ + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Name or id of the resource for this request. + * resource: '[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * - * For example, to filter for instances that do not end with name "instance", - * you would use `name ne .*instance`. + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "permissions": [] + * // } + * }, + * }); + * console.log(res.data); * - * You cannot combine constraints on multiple fields using regular - * expressions. - */ - filter?: string; - /** - * Name of the target instance scoping this request, or '-' if the - * request should span over all instances in the container. - */ - instance?: string; - /** - * The maximum number of results per page that should be returned. - * If the number of available results is larger than `maxResults`, - * Compute Engine returns a `nextPageToken` that can be used to get - * the next page of results in subsequent list requests. Acceptable values are - * `0` to `500`, inclusive. (Default: `500`) - */ - maxResults?: number; - /** - * Sorts list results by a certain order. By default, results - * are returned in alphanumerical order based on the resource name. + * // Example response + * // { + * // "permissions": [] + * // } + * } * - * You can also sort results in descending order based on the creation - * timestamp using `orderBy="creationTimestamp desc"`. This sorts - * results based on the `creationTimestamp` field in - * reverse chronological order (newest result first). Use this to sort - * resources like operations so that the newest operation is returned first. + * main().catch(e => { + * console.error(e); + * throw e; + * }); * - * Currently, only sorting by `name` or - * `creationTimestamp desc` is supported. - */ - orderBy?: string; - /** - * Specifies a page token to use. Set `pageToken` to the - * `nextPageToken` returned by a previous list request to get - * the next page of results. - */ - pageToken?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * Opt-in for partial success behavior which provides partial results in case - * of failure. The default value is false. + * ``` * - * For example, when partial success behavior is enabled, aggregatedList for a - * single zone scope either returns all resources in the zone or no resources, - * with an error code. - */ - returnPartialSuccess?: boolean; - /** - * The name of the zone for this request. + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. */ - zone?: string; + testIamPermissions( + params: Params$Resource$Instancetemplates$Testiampermissions, + options: StreamMethodOptions + ): Promise>; + testIamPermissions( + params?: Params$Resource$Instancetemplates$Testiampermissions, + options?: MethodOptions + ): Promise>; + testIamPermissions( + params: Params$Resource$Instancetemplates$Testiampermissions, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Instancetemplates$Testiampermissions, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Instancetemplates$Testiampermissions, + callback: BodyResponseCallback + ): void; + testIamPermissions( + callback: BodyResponseCallback + ): void; + testIamPermissions( + paramsOrCallback?: + | Params$Resource$Instancetemplates$Testiampermissions + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Instancetemplates$Testiampermissions; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Instancetemplates$Testiampermissions; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/global/instanceTemplates/{resource}/testIamPermissions' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } } - export interface Params$Resource$Instances$Listvmextensionstates extends StandardParameters { + + export interface Params$Resource$Instancetemplates$Aggregatedlist extends StandardParameters { /** * A filter expression that filters resources listed in the response. Most * Compute resources support two types of filter expressions: @@ -121075,752 +126098,67 @@ export namespace compute_alpha { */ filter?: string; /** - * Name of the target instance scoping this request. - */ - instance?: string; - /** - * The maximum number of results per page that should be returned. - * If the number of available results is larger than `maxResults`, - * Compute Engine returns a `nextPageToken` that can be used to get - * the next page of results in subsequent list requests. Acceptable values are - * `0` to `500`, inclusive. (Default: `500`) - */ - maxResults?: number; - /** - * Sorts list results by a certain order. By default, results - * are returned in alphanumerical order based on the resource name. - * - * You can also sort results in descending order based on the creation - * timestamp using `orderBy="creationTimestamp desc"`. This sorts - * results based on the `creationTimestamp` field in - * reverse chronological order (newest result first). Use this to sort - * resources like operations so that the newest operation is returned first. - * - * Currently, only sorting by `name` or - * `creationTimestamp desc` is supported. - */ - orderBy?: string; - /** - * Specifies a page token to use. Set `pageToken` to the - * `nextPageToken` returned by a previous list request to get - * the next page of results. - */ - pageToken?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * Opt-in for partial success behavior which provides partial results in case - * of failure. The default value is false. - * - * For example, when partial success behavior is enabled, aggregatedList for a - * single zone scope either returns all resources in the zone or no resources, - * with an error code. - */ - returnPartialSuccess?: boolean; - /** - * Required. Name of the zone for this request. - */ - zone?: string; - } - export interface Params$Resource$Instances$Patchpartnermetadata extends StandardParameters { - /** - * Name of the instance scoping this request. - */ - instance?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of the zone for this request. - */ - zone?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$PartnerMetadata; - } - export interface Params$Resource$Instances$Performmaintenance extends StandardParameters { - /** - * Name of the instance scoping this request. - */ - instance?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of the zone for this request. - */ - zone?: string; - } - export interface Params$Resource$Instances$Removeresourcepolicies extends StandardParameters { - /** - * The instance name for this request. - */ - instance?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of the zone for this request. - */ - zone?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$InstancesRemoveResourcePoliciesRequest; - } - export interface Params$Resource$Instances$Reporthostasfaulty extends StandardParameters { - /** - * Name of the instance scoping this request. - */ - instance?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of the zone for this request. - */ - zone?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$InstancesReportHostAsFaultyRequest; - } - export interface Params$Resource$Instances$Reset extends StandardParameters { - /** - * Name of the instance scoping this request. - */ - instance?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of the zone for this request. - */ - zone?: string; - } - export interface Params$Resource$Instances$Resume extends StandardParameters { - /** - * Name of the instance resource to resume. - */ - instance?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of the zone for this request. - */ - zone?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$InstancesResumeRequest; - } - export interface Params$Resource$Instances$Senddiagnosticinterrupt extends StandardParameters { - /** - * Name of the instance scoping this request. - */ - instance?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * The name of the zone for this request. - */ - zone?: string; - } - export interface Params$Resource$Instances$Setdeletionprotection extends StandardParameters { - /** - * Whether the resource should be protected against deletion. - */ - deletionProtection?: boolean; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * Name or id of the resource for this request. - */ - resource?: string; - /** - * The name of the zone for this request. - */ - zone?: string; - } - export interface Params$Resource$Instances$Setdiskautodelete extends StandardParameters { - /** - * Whether to auto-delete the disk when the instance is deleted. - */ - autoDelete?: boolean; - /** - * The device name of the disk to modify. Make a get() request - * on the instance to view currently attached disks and device names. - */ - deviceName?: string; - /** - * The instance name for this request. - */ - instance?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of the zone for this request. - */ - zone?: string; - } - export interface Params$Resource$Instances$Setiampolicy extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * Name or id of the resource for this request. - */ - resource?: string; - /** - * The name of the zone for this request. - */ - zone?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$ZoneSetPolicyRequest; - } - export interface Params$Resource$Instances$Setlabels extends StandardParameters { - /** - * Name of the instance scoping this request. - */ - instance?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of the zone for this request. - */ - zone?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$InstancesSetLabelsRequest; - } - export interface Params$Resource$Instances$Setmachineresources extends StandardParameters { - /** - * Name of the instance scoping this request. - */ - instance?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of the zone for this request. - */ - zone?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$InstancesSetMachineResourcesRequest; - } - export interface Params$Resource$Instances$Setmachinetype extends StandardParameters { - /** - * Name of the instance scoping this request. - */ - instance?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of the zone for this request. - */ - zone?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$InstancesSetMachineTypeRequest; - } - export interface Params$Resource$Instances$Setmetadata extends StandardParameters { - /** - * Name of the instance scoping this request. - */ - instance?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of the zone for this request. - */ - zone?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$Metadata; - } - export interface Params$Resource$Instances$Setmincpuplatform extends StandardParameters { - /** - * Name of the instance scoping this request. - */ - instance?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of the zone for this request. - */ - zone?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$InstancesSetMinCpuPlatformRequest; - } - export interface Params$Resource$Instances$Setname extends StandardParameters { - /** - * The instance name for this request. - */ - instance?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of the zone for this request. - */ - zone?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$InstancesSetNameRequest; - } - export interface Params$Resource$Instances$Setscheduling extends StandardParameters { - /** - * Instance name for this request. - */ - instance?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of the zone for this request. - */ - zone?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$Scheduling; - } - export interface Params$Resource$Instances$Setsecuritypolicy extends StandardParameters { - /** - * Name of the Instance resource to which the security policy should be - * set. The name should conform to RFC1035. - */ - instance?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * Name of the zone scoping this request. - */ - zone?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$InstancesSetSecurityPolicyRequest; - } - export interface Params$Resource$Instances$Setserviceaccount extends StandardParameters { - /** - * Name of the instance resource to start. - */ - instance?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of the zone for this request. - */ - zone?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$InstancesSetServiceAccountRequest; - } - export interface Params$Resource$Instances$Setshieldedinstanceintegritypolicy extends StandardParameters { - /** - * Name or id of the instance scoping this request. - */ - instance?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). + * 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. */ - requestId?: string; + includeAllScopes?: boolean; /** - * The name of the zone for this request. + * The maximum number of results per page that should be returned. + * If the number of available results is larger than `maxResults`, + * Compute Engine returns a `nextPageToken` that can be used to get + * the next page of results in subsequent list requests. Acceptable values are + * `0` to `500`, inclusive. (Default: `500`) */ - zone?: string; - + maxResults?: number; /** - * Request body metadata + * Sorts list results by a certain order. By default, results + * are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation + * timestamp using `orderBy="creationTimestamp desc"`. This sorts + * results based on the `creationTimestamp` field in + * reverse chronological order (newest result first). Use this to sort + * resources like operations so that the newest operation is returned first. + * + * Currently, only sorting by `name` or + * `creationTimestamp desc` is supported. */ - requestBody?: Schema$ShieldedInstanceIntegrityPolicy; - } - export interface Params$Resource$Instances$Setshieldedvmintegritypolicy extends StandardParameters { + orderBy?: string; /** - * Name of the instance scoping this request. + * Specifies a page token to use. Set `pageToken` to the + * `nextPageToken` returned by a previous list request to get + * the next page of results. */ - instance?: string; + pageToken?: string; /** - * Project ID for this request. + * Name of the project scoping this request. */ project?: string; /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. + * Opt-in for partial success behavior which provides partial results in case + * of failure. The default value is false. * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of the zone for this request. + * For example, when partial success behavior is enabled, aggregatedList for a + * single zone scope either returns all resources in the zone or no resources, + * with an error code. */ - zone?: string; - + returnPartialSuccess?: boolean; /** - * Request body metadata + * The Shared VPC service project id or service project number for which + * aggregated list request is invoked for subnetworks list-usable api. */ - requestBody?: Schema$ShieldedVmIntegrityPolicy; + serviceProjectNumber?: string; } - export interface Params$Resource$Instances$Settags extends StandardParameters { + export interface Params$Resource$Instancetemplates$Delete extends StandardParameters { /** - * Name of the instance scoping this request. + * The name of the instance template to delete. */ - instance?: string; + instanceTemplate?: string; /** * Project ID for this request. */ @@ -121841,86 +126179,36 @@ export namespace compute_alpha { * (00000000-0000-0000-0000-000000000000). */ requestId?: string; - /** - * The name of the zone for this request. - */ - zone?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$Tags; } - export interface Params$Resource$Instances$Simulatemaintenanceevent extends StandardParameters { + export interface Params$Resource$Instancetemplates$Get extends StandardParameters { /** - * Name of the instance scoping this request. + * The name of the instance template. */ - instance?: string; + instanceTemplate?: string; /** * Project ID for this request. */ project?: string; /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * Determines whether the customers receive notifications before migration. - * Only applicable to SF vms. - */ - withExtendedNotifications?: boolean; - /** - * The name of the zone for this request. + * View of the instance template. */ - zone?: string; + view?: string; } - export interface Params$Resource$Instances$Start extends StandardParameters { + export interface Params$Resource$Instancetemplates$Getiampolicy extends StandardParameters { /** - * Name of the instance resource to start. + * Requested IAM Policy version. */ - instance?: string; + optionsRequestedPolicyVersion?: number; /** * Project ID for this request. */ project?: string; /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of the zone for this request. + * Name or id of the resource for this request. */ - zone?: string; + resource?: string; } - export interface Params$Resource$Instances$Startwithencryptionkey extends StandardParameters { - /** - * Name of the instance resource to start. - */ - instance?: string; + export interface Params$Resource$Instancetemplates$Insert extends StandardParameters { /** * Project ID for this request. */ @@ -121941,93 +126229,136 @@ export namespace compute_alpha { * (00000000-0000-0000-0000-000000000000). */ requestId?: string; - /** - * The name of the zone for this request. - */ - zone?: string; /** * Request body metadata */ - requestBody?: Schema$InstancesStartWithEncryptionKeyRequest; + requestBody?: Schema$InstanceTemplate; } - export interface Params$Resource$Instances$Stop extends StandardParameters { + export interface Params$Resource$Instancetemplates$List extends StandardParameters { /** - * 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. + * A filter expression that filters resources listed in the response. Most + * Compute resources support two types of filter expressions: + * expressions that support regular expressions and expressions that follow + * API improvement proposal AIP-160. + * These two types of filter expressions cannot be mixed in one request. + * + * If you want to use AIP-160, your expression must specify the field name, an + * operator, and the value that you want to use for filtering. The value + * must be a string, a number, or a boolean. The operator + * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * + * For example, if you are filtering Compute Engine instances, you can + * exclude instances named `example-instance` by specifying + * `name != example-instance`. + * + * The `:*` comparison can be used to test whether a key has been defined. + * For example, to find all objects with `owner` label use: + * ``` + * labels.owner:* + * ``` + * + * You can also filter nested fields. For example, you could specify + * `scheduling.automaticRestart = false` to include instances only + * if they are not scheduled for automatic restarts. You can use filtering + * on nested fields to filter based onresource labels. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example: + * ``` + * (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake") + * ``` + * By default, each expression is an `AND` expression. However, you + * can include `AND` and `OR` expressions explicitly. + * For example: + * ``` + * (cpuPlatform = "Intel Skylake") OR + * (cpuPlatform = "Intel Broadwell") AND + * (scheduling.automaticRestart = true) + * ``` + * + * If you want to use a regular expression, use the `eq` (equal) or `ne` + * (not equal) operator against a single un-parenthesized expression with or + * without quotes or against multiple parenthesized expressions. Examples: + * + * `fieldname eq unquoted literal` + * `fieldname eq 'single quoted literal'` + * `fieldname eq "double quoted literal"` + * `(fieldname1 eq literal) (fieldname2 ne "literal")` + * + * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * The literal value must match the entire field. + * + * For example, to filter for instances that do not end with name "instance", + * you would use `name ne .*instance`. + * + * You cannot combine constraints on multiple fields using regular + * expressions. */ - discardLocalSsd?: boolean; + filter?: string; /** - * Name of the instance resource to stop. + * The maximum number of results per page that should be returned. + * If the number of available results is larger than `maxResults`, + * Compute Engine returns a `nextPageToken` that can be used to get + * the next page of results in subsequent list requests. Acceptable values are + * `0` to `500`, inclusive. (Default: `500`) */ - instance?: string; + maxResults?: number; /** - * If set to true, Graceful Shutdown is skipped. + * Sorts list results by a certain order. By default, results + * are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation + * timestamp using `orderBy="creationTimestamp desc"`. This sorts + * results based on the `creationTimestamp` field in + * reverse chronological order (newest result first). Use this to sort + * resources like operations so that the newest operation is returned first. + * + * Currently, only sorting by `name` or + * `creationTimestamp desc` is supported. */ - noGracefulShutdown?: boolean; + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the + * `nextPageToken` returned by a previous list request to get + * the next page of results. + */ + pageToken?: string; /** * Project ID for this request. */ project?: string; /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. + * Opt-in for partial success behavior which provides partial results in case + * of failure. The default value is false. * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). + * For example, when partial success behavior is enabled, aggregatedList for a + * single zone scope either returns all resources in the zone or no resources, + * with an error code. */ - requestId?: string; + returnPartialSuccess?: boolean; /** - * The name of the zone for this request. + * View of the instance template. */ - zone?: string; + view?: string; } - export interface Params$Resource$Instances$Suspend extends StandardParameters { - /** - * 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. - */ - discardLocalSsd?: boolean; - /** - * Name of the instance resource to suspend. - */ - instance?: string; + export interface Params$Resource$Instancetemplates$Setiampolicy extends StandardParameters { /** * Project ID for this request. */ project?: string; /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). + * Name or id of the resource for this request. */ - requestId?: string; + resource?: string; + /** - * The name of the zone for this request. + * Request body metadata */ - zone?: string; + requestBody?: Schema$GlobalSetPolicyRequest; } - export interface Params$Resource$Instances$Testiampermissions extends StandardParameters { + export interface Params$Resource$Instancetemplates$Testiampermissions extends StandardParameters { /** * Project ID for this request. */ @@ -122036,269 +126367,968 @@ export namespace compute_alpha { * Name or id of the resource for this request. */ resource?: string; - /** - * The name of the zone for this request. - */ - zone?: string; /** * Request body metadata */ requestBody?: Schema$TestPermissionsRequest; } - export interface Params$Resource$Instances$Update extends StandardParameters { + + export class Resource$Instantsnapshotgroups { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + /** - * Whether to clear secure tags from the instance. + * deletes a Zonal InstantSnapshotGroup resource + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` * - * This property if set to true will clear secure tags regardless of theresource.secure_tags. - */ - clearSecureTag?: boolean; - /** - * Whether to discard local SSDs from the instance during restart - * default value is false. - */ - discardLocalSsd?: boolean; - /** - * Name of the instance resource to update. - */ - instance?: string; - /** - * 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. - */ - minimalAction?: string; - /** - * 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. + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.instantSnapshotGroups.delete({ + * // Name of the InstantSnapshot resource to delete. + * instantSnapshotGroup: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // The name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. */ - mostDisruptiveAllowedAction?: string; + delete( + params: Params$Resource$Instantsnapshotgroups$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Instantsnapshotgroups$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Instantsnapshotgroups$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Instantsnapshotgroups$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Instantsnapshotgroups$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Instantsnapshotgroups$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Instantsnapshotgroups$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Instantsnapshotgroups$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instantSnapshotGroups/{instantSnapshotGroup}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'instantSnapshotGroup'], + pathParams: ['instantSnapshotGroup', 'project', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** - * Project ID for this request. + * returns the specified InstantSnapshotGroup resource in the specified zone. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.instantSnapshotGroups.get({ + * // Name of the InstantSnapshotGroup resource to return. + * instantSnapshotGroup: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // The name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "id": "my_id", + * // "kind": "my_kind", + * // "name": "my_name", + * // "region": "my_region", + * // "resourceStatus": {}, + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "sourceConsistencyGroup": "my_sourceConsistencyGroup", + * // "status": "my_status", + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. */ - project?: string; + get( + params: Params$Resource$Instantsnapshotgroups$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Instantsnapshotgroups$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Instantsnapshotgroups$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Instantsnapshotgroups$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Instantsnapshotgroups$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Instantsnapshotgroups$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Instantsnapshotgroups$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Instantsnapshotgroups$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instantSnapshotGroups/{instantSnapshotGroup}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'instantSnapshotGroup'], + pathParams: ['instantSnapshotGroup', 'project', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. + * Gets the access control policy for a resource. May be empty if no such + * policy or resource exists. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.instantSnapshotGroups.getIamPolicy({ + * // Requested IAM Policy version. + * optionsRequestedPolicyVersion: 'placeholder-value', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Name or id of the resource for this request. + * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // The name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "auditConfigs": [], + * // "bindings": [], + * // "etag": "my_etag", + * // "version": 0 + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. */ - requestId?: string; + getIamPolicy( + params: Params$Resource$Instantsnapshotgroups$Getiampolicy, + options: StreamMethodOptions + ): Promise>; + getIamPolicy( + params?: Params$Resource$Instantsnapshotgroups$Getiampolicy, + options?: MethodOptions + ): Promise>; + getIamPolicy( + params: Params$Resource$Instantsnapshotgroups$Getiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Instantsnapshotgroups$Getiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Instantsnapshotgroups$Getiampolicy, + callback: BodyResponseCallback + ): void; + getIamPolicy(callback: BodyResponseCallback): void; + getIamPolicy( + paramsOrCallback?: + | Params$Resource$Instantsnapshotgroups$Getiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Instantsnapshotgroups$Getiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Instantsnapshotgroups$Getiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instantSnapshotGroups/{resource}/getIamPolicy' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'resource'], + pathParams: ['project', 'resource', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** - * The name of the zone for this request. + * inserts a Zonal InstantSnapshotGroup resource + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.instantSnapshotGroups.insert({ + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // begin_interface: MixerMutationRequestBuilder + * sourceConsistencyGroup: 'placeholder-value', + * // Name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "id": "my_id", + * // "kind": "my_kind", + * // "name": "my_name", + * // "region": "my_region", + * // "resourceStatus": {}, + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "sourceConsistencyGroup": "my_sourceConsistencyGroup", + * // "status": "my_status", + * // "zone": "my_zone" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. */ - zone?: string; + insert( + params: Params$Resource$Instantsnapshotgroups$Insert, + options: StreamMethodOptions + ): Promise>; + insert( + params?: Params$Resource$Instantsnapshotgroups$Insert, + options?: MethodOptions + ): Promise>; + insert( + params: Params$Resource$Instantsnapshotgroups$Insert, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + insert( + params: Params$Resource$Instantsnapshotgroups$Insert, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + insert( + params: Params$Resource$Instantsnapshotgroups$Insert, + callback: BodyResponseCallback + ): void; + insert(callback: BodyResponseCallback): void; + insert( + paramsOrCallback?: + | Params$Resource$Instantsnapshotgroups$Insert + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Instantsnapshotgroups$Insert; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Instantsnapshotgroups$Insert; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instantSnapshotGroups' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } /** - * Request body metadata - */ - requestBody?: Schema$Instance; - } - export interface Params$Resource$Instances$Updateaccessconfig extends StandardParameters { - /** - * The instance name for this request. - */ - instance?: string; - /** - * The name of the network interface where the access config is attached. - */ - networkInterface?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. + * retrieves the list of InstantSnapshotGroup resources contained within + * the specified zone. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of the zone for this request. - */ - zone?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$AccessConfig; - } - export interface Params$Resource$Instances$Updatedisplaydevice extends StandardParameters { - /** - * Name of the instance scoping this request. - */ - instance?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', + * ], + * }); * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of the zone for this request. - */ - zone?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$DisplayDevice; - } - export interface Params$Resource$Instances$Updatenetworkinterface extends StandardParameters { - /** - * The instance name for this request. - */ - instance?: string; - /** - * The name of the network interface to update. - */ - networkInterface?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. + * // Do the magic + * const res = await compute.instantSnapshotGroups.list({ + * // A filter expression that filters resources listed in the response. Most + * // Compute resources support two types of filter expressions: + * // expressions that support regular expressions and expressions that follow + * // API improvement proposal AIP-160. + * // These two types of filter expressions cannot be mixed in one request. + * // + * // If you want to use AIP-160, your expression must specify the field name, an + * // operator, and the value that you want to use for filtering. The value + * // must be a string, a number, or a boolean. The operator + * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * // + * // For example, if you are filtering Compute Engine instances, you can + * // exclude instances named `example-instance` by specifying + * // `name != example-instance`. + * // + * // The `:*` comparison can be used to test whether a key has been defined. + * // For example, to find all objects with `owner` label use: + * // ``` + * // labels.owner:* + * // ``` + * // + * // You can also filter nested fields. For example, you could specify + * // `scheduling.automaticRestart = false` to include instances only + * // if they are not scheduled for automatic restarts. You can use filtering + * // on nested fields to filter based onresource labels. + * // + * // To filter on multiple expressions, provide each separate expression within + * // parentheses. For example: + * // ``` + * // (scheduling.automaticRestart = true) + * // (cpuPlatform = "Intel Skylake") + * // ``` + * // By default, each expression is an `AND` expression. However, you + * // can include `AND` and `OR` expressions explicitly. + * // For example: + * // ``` + * // (cpuPlatform = "Intel Skylake") OR + * // (cpuPlatform = "Intel Broadwell") AND + * // (scheduling.automaticRestart = true) + * // ``` + * // + * // If you want to use a regular expression, use the `eq` (equal) or `ne` + * // (not equal) operator against a single un-parenthesized expression with or + * // without quotes or against multiple parenthesized expressions. Examples: + * // + * // `fieldname eq unquoted literal` + * // `fieldname eq 'single quoted literal'` + * // `fieldname eq "double quoted literal"` + * // `(fieldname1 eq literal) (fieldname2 ne "literal")` + * // + * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * // The literal value must match the entire field. + * // + * // For example, to filter for instances that do not end with name "instance", + * // you would use `name ne .*instance`. + * // + * // You cannot combine constraints on multiple fields using regular + * // expressions. + * filter: 'placeholder-value', + * // The maximum number of results per page that should be returned. + * // If the number of available results is larger than `maxResults`, + * // Compute Engine returns a `nextPageToken` that can be used to get + * // the next page of results in subsequent list requests. Acceptable values are + * // `0` to `500`, inclusive. (Default: `500`) + * maxResults: 'placeholder-value', + * // Sorts list results by a certain order. By default, results + * // are returned in alphanumerical order based on the resource name. + * // + * // You can also sort results in descending order based on the creation + * // timestamp using `orderBy="creationTimestamp desc"`. This sorts + * // results based on the `creationTimestamp` field in + * // reverse chronological order (newest result first). Use this to sort + * // resources like operations so that the newest operation is returned first. + * // + * // Currently, only sorting by `name` or + * // `creationTimestamp desc` is supported. + * orderBy: 'placeholder-value', + * // Specifies a page token to use. Set `pageToken` to the + * // `nextPageToken` returned by a previous list request to get + * // the next page of results. + * pageToken: 'placeholder-value', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Opt-in for partial success behavior which provides partial results in case + * // of failure. The default value is false. + * // + * // For example, when partial success behavior is enabled, aggregatedList for a + * // single zone scope either returns all resources in the zone or no resources, + * // with an error code. + * returnPartialSuccess: 'placeholder-value', + * // The name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * }); + * console.log(res.data); * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. + * // Example response + * // { + * // "etag": "my_etag", + * // "id": "my_id", + * // "items": [], + * // "kind": "my_kind", + * // "nextPageToken": "my_nextPageToken", + * // "selfLink": "my_selfLink", + * // "unreachables": [], + * // "warning": {} + * // } + * } * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of the zone for this request. - */ - zone?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$NetworkInterface; - } - export interface Params$Resource$Instances$Updateshieldedinstanceconfig extends StandardParameters { - /** - * Name or id of the instance scoping this request. - */ - instance?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. + * main().catch(e => { + * console.error(e); + * throw e; + * }); * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. + * ``` * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of the zone for this request. + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. */ - zone?: string; + list( + params: Params$Resource$Instantsnapshotgroups$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Instantsnapshotgroups$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Instantsnapshotgroups$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Instantsnapshotgroups$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Instantsnapshotgroups$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Instantsnapshotgroups$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Instantsnapshotgroups$List; + let options = (optionsOrCallback || {}) as MethodOptions; - /** - * Request body metadata - */ - requestBody?: Schema$ShieldedInstanceConfig; - } - export interface Params$Resource$Instances$Updateshieldedvmconfig extends StandardParameters { - /** - * Name of the instance scoping this request. - */ - instance?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of the zone for this request. - */ - zone?: string; + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Instantsnapshotgroups$List; + options = {}; + } - /** - * Request body metadata - */ - requestBody?: Schema$ShieldedVmConfig; - } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } - export class Resource$Instancesettings { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instantSnapshotGroups' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } } /** - * Get Instance settings. + * Sets the access control policy on the specified resource. + * Replaces any existing policy. * @example * ```js * // Before running the sample: @@ -122322,7 +127352,6 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -122331,22 +127360,33 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instanceSettings.get({ + * const res = await compute.instantSnapshotGroups.setIamPolicy({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name of the zone for this request. + * // Name or id of the resource for this request. + * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // The name of the zone for this request. * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "bindings": [], + * // "etag": "my_etag", + * // "policy": {} + * // } + * }, * }); * console.log(res.data); * * // Example response * // { - * // "email": "my_email", - * // "fingerprint": "my_fingerprint", - * // "kind": "my_kind", - * // "metadata": {}, - * // "zone": "my_zone" + * // "auditConfigs": [], + * // "bindings": [], + * // "etag": "my_etag", + * // "version": 0 * // } * } * @@ -122362,53 +127402,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - get( - params: Params$Resource$Instancesettings$Get, + setIamPolicy( + params: Params$Resource$Instantsnapshotgroups$Setiampolicy, options: StreamMethodOptions ): Promise>; - get( - params?: Params$Resource$Instancesettings$Get, + setIamPolicy( + params?: Params$Resource$Instantsnapshotgroups$Setiampolicy, options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Instancesettings$Get, + ): Promise>; + setIamPolicy( + params: Params$Resource$Instantsnapshotgroups$Setiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Instancesettings$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + setIamPolicy( + params: Params$Resource$Instantsnapshotgroups$Setiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Instancesettings$Get, - callback: BodyResponseCallback + setIamPolicy( + params: Params$Resource$Instantsnapshotgroups$Setiampolicy, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; - get( + setIamPolicy(callback: BodyResponseCallback): void; + setIamPolicy( paramsOrCallback?: - | Params$Resource$Instancesettings$Get - | BodyResponseCallback + | Params$Resource$Instantsnapshotgroups$Setiampolicy + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instancesettings$Get; + {}) as Params$Resource$Instantsnapshotgroups$Setiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instancesettings$Get; + params = {} as Params$Resource$Instantsnapshotgroups$Setiampolicy; options = {}; } @@ -122423,30 +127463,30 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instanceSettings' + '/compute/alpha/projects/{project}/zones/{zone}/instantSnapshotGroups/{resource}/setIamPolicy' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone'], - pathParams: ['project', 'zone'], + requiredParams: ['project', 'zone', 'resource'], + pathParams: ['project', 'resource', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Patch Instance settings + * Returns permissions that a caller has on the specified resource. * @example * ```js * // Before running the sample: @@ -122470,6 +127510,7 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -122478,38 +127519,20 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instanceSettings.patch({ + * const res = await compute.instantSnapshotGroups.testIamPermissions({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. - * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * // update_mask indicates fields to be updated as part of this request. - * updateMask: 'placeholder-value', - * // The zone scoping this request. It should conform to RFC1035. - * zone: 'placeholder-value', + * // Name or id of the resource for this request. + * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // The name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * * // Request body metadata * requestBody: { * // request body parameters * // { - * // "email": "my_email", - * // "fingerprint": "my_fingerprint", - * // "kind": "my_kind", - * // "metadata": {}, - * // "zone": "my_zone" + * // "permissions": [] * // } * }, * }); @@ -122517,34 +127540,7 @@ export namespace compute_alpha { * * // Example response * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, - * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, - * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" + * // "permissions": [] * // } * } * @@ -122560,53 +127556,57 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - patch( - params: Params$Resource$Instancesettings$Patch, + testIamPermissions( + params: Params$Resource$Instantsnapshotgroups$Testiampermissions, options: StreamMethodOptions ): Promise>; - patch( - params?: Params$Resource$Instancesettings$Patch, + testIamPermissions( + params?: Params$Resource$Instantsnapshotgroups$Testiampermissions, options?: MethodOptions - ): Promise>; - patch( - params: Params$Resource$Instancesettings$Patch, + ): Promise>; + testIamPermissions( + params: Params$Resource$Instantsnapshotgroups$Testiampermissions, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Instancesettings$Patch, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + testIamPermissions( + params: Params$Resource$Instantsnapshotgroups$Testiampermissions, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Instancesettings$Patch, - callback: BodyResponseCallback + testIamPermissions( + params: Params$Resource$Instantsnapshotgroups$Testiampermissions, + callback: BodyResponseCallback ): void; - patch(callback: BodyResponseCallback): void; - patch( + testIamPermissions( + callback: BodyResponseCallback + ): void; + testIamPermissions( paramsOrCallback?: - | Params$Resource$Instancesettings$Patch - | BodyResponseCallback + | Params$Resource$Instantsnapshotgroups$Testiampermissions + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instancesettings$Patch; + {}) as Params$Resource$Instantsnapshotgroups$Testiampermissions; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instancesettings$Patch; + params = {} as Params$Resource$Instantsnapshotgroups$Testiampermissions; options = {}; } @@ -122621,40 +127621,92 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instanceSettings' + '/compute/alpha/projects/{project}/zones/{zone}/instantSnapshotGroups/{resource}/testIamPermissions' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone'], - pathParams: ['project', 'zone'], + requiredParams: ['project', 'zone', 'resource'], + pathParams: ['project', 'resource', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } } - export interface Params$Resource$Instancesettings$Get extends StandardParameters { + export interface Params$Resource$Instantsnapshotgroups$Delete extends StandardParameters { + /** + * Name of the InstantSnapshot resource to delete. + */ + instantSnapshotGroup?: string; /** * Project ID for this request. */ project?: string; /** - * Name of the zone for this request. + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. */ zone?: string; } - export interface Params$Resource$Instancesettings$Patch extends StandardParameters { + export interface Params$Resource$Instantsnapshotgroups$Get extends StandardParameters { + /** + * Name of the InstantSnapshotGroup resource to return. + */ + instantSnapshotGroup?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + export interface Params$Resource$Instantsnapshotgroups$Getiampolicy extends StandardParameters { + /** + * Requested IAM Policy version. + */ + optionsRequestedPolicyVersion?: number; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + export interface Params$Resource$Instantsnapshotgroups$Insert extends StandardParameters { /** * Project ID for this request. */ @@ -122676,29 +127728,174 @@ export namespace compute_alpha { */ requestId?: string; /** - * update_mask indicates fields to be updated as part of this request. + * begin_interface: MixerMutationRequestBuilder */ - updateMask?: string; + sourceConsistencyGroup?: string; /** - * The zone scoping this request. It should conform to RFC1035. + * Name of the zone for this request. */ zone?: string; /** * Request body metadata */ - requestBody?: Schema$InstanceSettings; + requestBody?: Schema$InstantSnapshotGroup; + } + export interface Params$Resource$Instantsnapshotgroups$List extends StandardParameters { + /** + * A filter expression that filters resources listed in the response. Most + * Compute resources support two types of filter expressions: + * expressions that support regular expressions and expressions that follow + * API improvement proposal AIP-160. + * These two types of filter expressions cannot be mixed in one request. + * + * If you want to use AIP-160, your expression must specify the field name, an + * operator, and the value that you want to use for filtering. The value + * must be a string, a number, or a boolean. The operator + * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * + * For example, if you are filtering Compute Engine instances, you can + * exclude instances named `example-instance` by specifying + * `name != example-instance`. + * + * The `:*` comparison can be used to test whether a key has been defined. + * For example, to find all objects with `owner` label use: + * ``` + * labels.owner:* + * ``` + * + * You can also filter nested fields. For example, you could specify + * `scheduling.automaticRestart = false` to include instances only + * if they are not scheduled for automatic restarts. You can use filtering + * on nested fields to filter based onresource labels. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example: + * ``` + * (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake") + * ``` + * By default, each expression is an `AND` expression. However, you + * can include `AND` and `OR` expressions explicitly. + * For example: + * ``` + * (cpuPlatform = "Intel Skylake") OR + * (cpuPlatform = "Intel Broadwell") AND + * (scheduling.automaticRestart = true) + * ``` + * + * If you want to use a regular expression, use the `eq` (equal) or `ne` + * (not equal) operator against a single un-parenthesized expression with or + * without quotes or against multiple parenthesized expressions. Examples: + * + * `fieldname eq unquoted literal` + * `fieldname eq 'single quoted literal'` + * `fieldname eq "double quoted literal"` + * `(fieldname1 eq literal) (fieldname2 ne "literal")` + * + * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * The literal value must match the entire field. + * + * For example, to filter for instances that do not end with name "instance", + * you would use `name ne .*instance`. + * + * You cannot combine constraints on multiple fields using regular + * expressions. + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. + * If the number of available results is larger than `maxResults`, + * Compute Engine returns a `nextPageToken` that can be used to get + * the next page of results in subsequent list requests. Acceptable values are + * `0` to `500`, inclusive. (Default: `500`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results + * are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation + * timestamp using `orderBy="creationTimestamp desc"`. This sorts + * results based on the `creationTimestamp` field in + * reverse chronological order (newest result first). Use this to sort + * resources like operations so that the newest operation is returned first. + * + * Currently, only sorting by `name` or + * `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the + * `nextPageToken` returned by a previous list request to get + * the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Opt-in for partial success behavior which provides partial results in case + * of failure. The default value is false. + * + * For example, when partial success behavior is enabled, aggregatedList for a + * single zone scope either returns all resources in the zone or no resources, + * with an error code. + */ + returnPartialSuccess?: boolean; + /** + * The name of the zone for this request. + */ + zone?: string; } + export interface Params$Resource$Instantsnapshotgroups$Setiampolicy extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; - export class Resource$Instancetemplates { + /** + * Request body metadata + */ + requestBody?: Schema$ZoneSetPolicyRequest; + } + export interface Params$Resource$Instantsnapshotgroups$Testiampermissions extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + + export class Resource$Instantsnapshots { context: APIRequestContext; constructor(context: APIRequestContext) { this.context = context; } /** - * Retrieves the list of all InstanceTemplates resources, regional and global, - * available to the specified project. + * Retrieves an aggregated list of instantSnapshots. * * To prevent failure, Google recommends that you set the * `returnPartialSuccess` parameter to `true`. @@ -122734,7 +127931,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instanceTemplates.aggregatedList({ + * const res = await compute.instantSnapshots.aggregatedList({ * // A filter expression that filters resources listed in the response. Most * // Compute resources support two types of filter expressions: * // expressions that support regular expressions and expressions that follow @@ -122824,7 +128021,7 @@ export namespace compute_alpha { * // `nextPageToken` returned by a previous list request to get * // the next page of results. * pageToken: 'placeholder-value', - * // Name of the project scoping this request. + * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', * // Opt-in for partial success behavior which provides partial results in case @@ -122847,6 +128044,7 @@ export namespace compute_alpha { * // "kind": "my_kind", * // "nextPageToken": "my_nextPageToken", * // "selfLink": "my_selfLink", + * // "unreachables": [], * // "warning": {} * // } * } @@ -122864,56 +128062,56 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ aggregatedList( - params: Params$Resource$Instancetemplates$Aggregatedlist, + params: Params$Resource$Instantsnapshots$Aggregatedlist, options: StreamMethodOptions ): Promise>; aggregatedList( - params?: Params$Resource$Instancetemplates$Aggregatedlist, + params?: Params$Resource$Instantsnapshots$Aggregatedlist, options?: MethodOptions - ): Promise>; + ): Promise>; aggregatedList( - params: Params$Resource$Instancetemplates$Aggregatedlist, + params: Params$Resource$Instantsnapshots$Aggregatedlist, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; aggregatedList( - params: Params$Resource$Instancetemplates$Aggregatedlist, + params: Params$Resource$Instantsnapshots$Aggregatedlist, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; aggregatedList( - params: Params$Resource$Instancetemplates$Aggregatedlist, - callback: BodyResponseCallback + params: Params$Resource$Instantsnapshots$Aggregatedlist, + callback: BodyResponseCallback ): void; aggregatedList( - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; aggregatedList( paramsOrCallback?: - | Params$Resource$Instancetemplates$Aggregatedlist - | BodyResponseCallback + | Params$Resource$Instantsnapshots$Aggregatedlist + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instancetemplates$Aggregatedlist; + {}) as Params$Resource$Instantsnapshots$Aggregatedlist; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instancetemplates$Aggregatedlist; + params = {} as Params$Resource$Instantsnapshots$Aggregatedlist; options = {}; } @@ -122928,7 +128126,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/aggregated/instanceTemplates' + '/compute/alpha/projects/{project}/aggregated/instantSnapshots' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -122941,21 +128139,26 @@ export namespace compute_alpha { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( + return createAPIRequest( parameters ); } } /** - * 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. + * 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, seeDeleting + * instantSnapshots. * @example * ```js * // Before running the sample: @@ -122987,9 +128190,9 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instanceTemplates.delete({ - * // The name of the instance template to delete. - * instanceTemplate: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.instantSnapshots.delete({ + * // Name of the InstantSnapshot resource to delete. + * instantSnapshot: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -123007,6 +128210,8 @@ export namespace compute_alpha { * // a valid UUID with the exception that zero UUID is not supported * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', + * // The name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * }); * console.log(res.data); * @@ -123056,31 +128261,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ delete( - params: Params$Resource$Instancetemplates$Delete, + params: Params$Resource$Instantsnapshots$Delete, options: StreamMethodOptions ): Promise>; delete( - params?: Params$Resource$Instancetemplates$Delete, + params?: Params$Resource$Instantsnapshots$Delete, options?: MethodOptions ): Promise>; delete( - params: Params$Resource$Instancetemplates$Delete, + params: Params$Resource$Instantsnapshots$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Instancetemplates$Delete, + params: Params$Resource$Instantsnapshots$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Instancetemplates$Delete, + params: Params$Resource$Instantsnapshots$Delete, callback: BodyResponseCallback ): void; delete(callback: BodyResponseCallback): void; delete( paramsOrCallback?: - | Params$Resource$Instancetemplates$Delete + | Params$Resource$Instantsnapshots$Delete | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -123096,12 +128301,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instancetemplates$Delete; + {}) as Params$Resource$Instantsnapshots$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instancetemplates$Delete; + params = {} as Params$Resource$Instantsnapshots$Delete; options = {}; } @@ -123116,7 +128321,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/instanceTemplates/{instanceTemplate}' + '/compute/alpha/projects/{project}/zones/{zone}/instantSnapshots/{instantSnapshot}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'DELETE', apiVersion: '', @@ -123124,8 +128329,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'instanceTemplate'], - pathParams: ['instanceTemplate', 'project'], + requiredParams: ['project', 'zone', 'instantSnapshot'], + pathParams: ['instantSnapshot', 'project', 'zone'], context: this.context, }; if (callback) { @@ -123139,7 +128344,7 @@ export namespace compute_alpha { } /** - * Returns the specified instance template. + * Returns the specified InstantSnapshot resource in the specified zone. * @example * ```js * // Before running the sample: @@ -123172,30 +128377,42 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instanceTemplates.get({ - * // The name of the instance template. - * instanceTemplate: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.instantSnapshots.get({ + * // Name of the InstantSnapshot resource to return. + * instantSnapshot: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // View of the instance template. - * view: 'placeholder-value', + * // The name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * }); * console.log(res.data); * * // Example response * // { + * // "architecture": "my_architecture", * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", + * // "diskSizeGb": "my_diskSizeGb", + * // "guestFlush": false, * // "id": "my_id", * // "kind": "my_kind", + * // "labelFingerprint": "my_labelFingerprint", + * // "labels": {}, * // "name": "my_name", - * // "properties": {}, + * // "params": {}, * // "region": "my_region", + * // "resourceStatus": {}, + * // "satisfiesPzi": false, + * // "satisfiesPzs": false, * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", - * // "sourceInstance": "my_sourceInstance", - * // "sourceInstanceParams": {} + * // "sourceDisk": "my_sourceDisk", + * // "sourceDiskId": "my_sourceDiskId", + * // "sourceInstantSnapshotGroup": "my_sourceInstantSnapshotGroup", + * // "sourceInstantSnapshotGroupId": "my_sourceInstantSnapshotGroupId", + * // "status": "my_status", + * // "zone": "my_zone" * // } * } * @@ -123212,52 +128429,52 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ get( - params: Params$Resource$Instancetemplates$Get, + params: Params$Resource$Instantsnapshots$Get, options: StreamMethodOptions ): Promise>; get( - params?: Params$Resource$Instancetemplates$Get, + params?: Params$Resource$Instantsnapshots$Get, options?: MethodOptions - ): Promise>; + ): Promise>; get( - params: Params$Resource$Instancetemplates$Get, + params: Params$Resource$Instantsnapshots$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; get( - params: Params$Resource$Instancetemplates$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + params: Params$Resource$Instantsnapshots$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; get( - params: Params$Resource$Instancetemplates$Get, - callback: BodyResponseCallback + params: Params$Resource$Instantsnapshots$Get, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; get( paramsOrCallback?: - | Params$Resource$Instancetemplates$Get - | BodyResponseCallback + | Params$Resource$Instantsnapshots$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instancetemplates$Get; + {}) as Params$Resource$Instantsnapshots$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instancetemplates$Get; + params = {} as Params$Resource$Instantsnapshots$Get; options = {}; } @@ -123272,7 +128489,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/instanceTemplates/{instanceTemplate}' + '/compute/alpha/projects/{project}/zones/{zone}/instantSnapshots/{instantSnapshot}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -123280,17 +128497,17 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'instanceTemplate'], - pathParams: ['instanceTemplate', 'project'], + requiredParams: ['project', 'zone', 'instantSnapshot'], + pathParams: ['instantSnapshot', 'project', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } @@ -123329,14 +128546,16 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instanceTemplates.getIamPolicy({ + * const res = await compute.instantSnapshots.getIamPolicy({ * // Requested IAM Policy version. * optionsRequestedPolicyVersion: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', * // Name or id of the resource for this request. - * resource: '[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // The name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * }); * console.log(res.data); * @@ -123362,31 +128581,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ getIamPolicy( - params: Params$Resource$Instancetemplates$Getiampolicy, + params: Params$Resource$Instantsnapshots$Getiampolicy, options: StreamMethodOptions ): Promise>; getIamPolicy( - params?: Params$Resource$Instancetemplates$Getiampolicy, + params?: Params$Resource$Instantsnapshots$Getiampolicy, options?: MethodOptions ): Promise>; getIamPolicy( - params: Params$Resource$Instancetemplates$Getiampolicy, + params: Params$Resource$Instantsnapshots$Getiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; getIamPolicy( - params: Params$Resource$Instancetemplates$Getiampolicy, + params: Params$Resource$Instantsnapshots$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; getIamPolicy( - params: Params$Resource$Instancetemplates$Getiampolicy, + params: Params$Resource$Instantsnapshots$Getiampolicy, callback: BodyResponseCallback ): void; getIamPolicy(callback: BodyResponseCallback): void; getIamPolicy( paramsOrCallback?: - | Params$Resource$Instancetemplates$Getiampolicy + | Params$Resource$Instantsnapshots$Getiampolicy | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -123402,12 +128621,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instancetemplates$Getiampolicy; + {}) as Params$Resource$Instantsnapshots$Getiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instancetemplates$Getiampolicy; + params = {} as Params$Resource$Instantsnapshots$Getiampolicy; options = {}; } @@ -123422,7 +128641,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/instanceTemplates/{resource}/getIamPolicy' + '/compute/alpha/projects/{project}/zones/{zone}/instantSnapshots/{resource}/getIamPolicy' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -123430,8 +128649,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'resource'], - pathParams: ['project', 'resource'], + requiredParams: ['project', 'zone', 'resource'], + pathParams: ['project', 'resource', 'zone'], context: this.context, }; if (callback) { @@ -123445,11 +128664,7 @@ export namespace compute_alpha { } /** - * 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. + * Creates an instant snapshot in the specified zone. * @example * ```js * // Before running the sample: @@ -123481,7 +128696,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instanceTemplates.insert({ + * const res = await compute.instantSnapshots.insert({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -123499,22 +128714,36 @@ export namespace compute_alpha { * // a valid UUID with the exception that zero UUID is not supported * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', + * // Name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * * // Request body metadata * requestBody: { * // request body parameters * // { + * // "architecture": "my_architecture", * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", + * // "diskSizeGb": "my_diskSizeGb", + * // "guestFlush": false, * // "id": "my_id", * // "kind": "my_kind", + * // "labelFingerprint": "my_labelFingerprint", + * // "labels": {}, * // "name": "my_name", - * // "properties": {}, + * // "params": {}, * // "region": "my_region", + * // "resourceStatus": {}, + * // "satisfiesPzi": false, + * // "satisfiesPzs": false, * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", - * // "sourceInstance": "my_sourceInstance", - * // "sourceInstanceParams": {} + * // "sourceDisk": "my_sourceDisk", + * // "sourceDiskId": "my_sourceDiskId", + * // "sourceInstantSnapshotGroup": "my_sourceInstantSnapshotGroup", + * // "sourceInstantSnapshotGroupId": "my_sourceInstantSnapshotGroupId", + * // "status": "my_status", + * // "zone": "my_zone" * // } * }, * }); @@ -123566,31 +128795,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ insert( - params: Params$Resource$Instancetemplates$Insert, + params: Params$Resource$Instantsnapshots$Insert, options: StreamMethodOptions ): Promise>; insert( - params?: Params$Resource$Instancetemplates$Insert, + params?: Params$Resource$Instantsnapshots$Insert, options?: MethodOptions ): Promise>; insert( - params: Params$Resource$Instancetemplates$Insert, + params: Params$Resource$Instantsnapshots$Insert, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; insert( - params: Params$Resource$Instancetemplates$Insert, + params: Params$Resource$Instantsnapshots$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; insert( - params: Params$Resource$Instancetemplates$Insert, + params: Params$Resource$Instantsnapshots$Insert, callback: BodyResponseCallback ): void; insert(callback: BodyResponseCallback): void; insert( paramsOrCallback?: - | Params$Resource$Instancetemplates$Insert + | Params$Resource$Instantsnapshots$Insert | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -123606,12 +128835,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instancetemplates$Insert; + {}) as Params$Resource$Instantsnapshots$Insert; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instancetemplates$Insert; + params = {} as Params$Resource$Instantsnapshots$Insert; options = {}; } @@ -123626,7 +128855,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/instanceTemplates' + '/compute/alpha/projects/{project}/zones/{zone}/instantSnapshots' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -123634,8 +128863,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project'], - pathParams: ['project'], + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], context: this.context, }; if (callback) { @@ -123649,8 +128878,8 @@ export namespace compute_alpha { } /** - * Retrieves a list of instance templates that are contained within - * the specified project. + * Retrieves the list of InstantSnapshot resources contained within + * the specified zone. * @example * ```js * // Before running the sample: @@ -123683,7 +128912,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instanceTemplates.list({ + * const res = await compute.instantSnapshots.list({ * // A filter expression that filters resources listed in the response. Most * // Compute resources support two types of filter expressions: * // expressions that support regular expressions and expressions that follow @@ -123775,8 +129004,8 @@ export namespace compute_alpha { * // single zone scope either returns all resources in the zone or no resources, * // with an error code. * returnPartialSuccess: 'placeholder-value', - * // View of the instance template. - * view: 'placeholder-value', + * // The name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * }); * console.log(res.data); * @@ -123804,54 +129033,52 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ list( - params: Params$Resource$Instancetemplates$List, + params: Params$Resource$Instantsnapshots$List, options: StreamMethodOptions ): Promise>; list( - params?: Params$Resource$Instancetemplates$List, + params?: Params$Resource$Instantsnapshots$List, options?: MethodOptions - ): Promise>; + ): Promise>; list( - params: Params$Resource$Instancetemplates$List, + params: Params$Resource$Instantsnapshots$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; list( - params: Params$Resource$Instancetemplates$List, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + params: Params$Resource$Instantsnapshots$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; list( - params: Params$Resource$Instancetemplates$List, - callback: BodyResponseCallback + params: Params$Resource$Instantsnapshots$List, + callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; list( paramsOrCallback?: - | Params$Resource$Instancetemplates$List - | BodyResponseCallback + | Params$Resource$Instantsnapshots$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instancetemplates$List; + {}) as Params$Resource$Instantsnapshots$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instancetemplates$List; + params = {} as Params$Resource$Instantsnapshots$List; options = {}; } @@ -123866,7 +129093,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/instanceTemplates' + '/compute/alpha/projects/{project}/zones/{zone}/instantSnapshots' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -123874,17 +129101,17 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project'], - pathParams: ['project'], + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } @@ -123922,12 +129149,14 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instanceTemplates.setIamPolicy({ + * const res = await compute.instantSnapshots.setIamPolicy({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', * // Name or id of the resource for this request. - * resource: '[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // The name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * * // Request body metadata * requestBody: { @@ -123962,53 +129191,250 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - setIamPolicy( - params: Params$Resource$Instancetemplates$Setiampolicy, + setIamPolicy( + params: Params$Resource$Instantsnapshots$Setiampolicy, + options: StreamMethodOptions + ): Promise>; + setIamPolicy( + params?: Params$Resource$Instantsnapshots$Setiampolicy, + options?: MethodOptions + ): Promise>; + setIamPolicy( + params: Params$Resource$Instantsnapshots$Setiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Instantsnapshots$Setiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Instantsnapshots$Setiampolicy, + callback: BodyResponseCallback + ): void; + setIamPolicy(callback: BodyResponseCallback): void; + setIamPolicy( + paramsOrCallback?: + | Params$Resource$Instantsnapshots$Setiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Instantsnapshots$Setiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Instantsnapshots$Setiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instantSnapshots/{resource}/setIamPolicy' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'resource'], + pathParams: ['project', 'resource', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Sets the labels on a instantSnapshot in the given zone. To learn more about + * labels, read the Labeling + * Resources documentation. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.instantSnapshots.setLabels({ + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // Name or id of the resource for this request. + * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // The name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "labelFingerprint": "my_labelFingerprint", + * // "labels": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + setLabels( + params: Params$Resource$Instantsnapshots$Setlabels, options: StreamMethodOptions ): Promise>; - setIamPolicy( - params?: Params$Resource$Instancetemplates$Setiampolicy, + setLabels( + params?: Params$Resource$Instantsnapshots$Setlabels, options?: MethodOptions - ): Promise>; - setIamPolicy( - params: Params$Resource$Instancetemplates$Setiampolicy, + ): Promise>; + setLabels( + params: Params$Resource$Instantsnapshots$Setlabels, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setIamPolicy( - params: Params$Resource$Instancetemplates$Setiampolicy, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + setLabels( + params: Params$Resource$Instantsnapshots$Setlabels, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - setIamPolicy( - params: Params$Resource$Instancetemplates$Setiampolicy, - callback: BodyResponseCallback + setLabels( + params: Params$Resource$Instantsnapshots$Setlabels, + callback: BodyResponseCallback ): void; - setIamPolicy(callback: BodyResponseCallback): void; - setIamPolicy( + setLabels(callback: BodyResponseCallback): void; + setLabels( paramsOrCallback?: - | Params$Resource$Instancetemplates$Setiampolicy - | BodyResponseCallback + | Params$Resource$Instantsnapshots$Setlabels + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instancetemplates$Setiampolicy; + {}) as Params$Resource$Instantsnapshots$Setlabels; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instancetemplates$Setiampolicy; + params = {} as Params$Resource$Instantsnapshots$Setlabels; options = {}; } @@ -124023,7 +129449,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/instanceTemplates/{resource}/setIamPolicy' + '/compute/alpha/projects/{project}/zones/{zone}/instantSnapshots/{resource}/setLabels' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -124031,17 +129457,17 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'resource'], - pathParams: ['project', 'resource'], + requiredParams: ['project', 'zone', 'resource'], + pathParams: ['project', 'resource', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } @@ -124079,12 +129505,14 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instanceTemplates.testIamPermissions({ + * const res = await compute.instantSnapshots.testIamPermissions({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', * // Name or id of the resource for this request. - * resource: '[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // The name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * * // Request body metadata * requestBody: { @@ -124115,27 +129543,27 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ testIamPermissions( - params: Params$Resource$Instancetemplates$Testiampermissions, + params: Params$Resource$Instantsnapshots$Testiampermissions, options: StreamMethodOptions ): Promise>; testIamPermissions( - params?: Params$Resource$Instancetemplates$Testiampermissions, + params?: Params$Resource$Instantsnapshots$Testiampermissions, options?: MethodOptions ): Promise>; testIamPermissions( - params: Params$Resource$Instancetemplates$Testiampermissions, + params: Params$Resource$Instantsnapshots$Testiampermissions, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; testIamPermissions( - params: Params$Resource$Instancetemplates$Testiampermissions, + params: Params$Resource$Instantsnapshots$Testiampermissions, options: | MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; testIamPermissions( - params: Params$Resource$Instancetemplates$Testiampermissions, + params: Params$Resource$Instantsnapshots$Testiampermissions, callback: BodyResponseCallback ): void; testIamPermissions( @@ -124143,7 +129571,7 @@ export namespace compute_alpha { ): void; testIamPermissions( paramsOrCallback?: - | Params$Resource$Instancetemplates$Testiampermissions + | Params$Resource$Instantsnapshots$Testiampermissions | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -124159,12 +129587,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instancetemplates$Testiampermissions; + {}) as Params$Resource$Instantsnapshots$Testiampermissions; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instancetemplates$Testiampermissions; + params = {} as Params$Resource$Instantsnapshots$Testiampermissions; options = {}; } @@ -124179,7 +129607,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/instanceTemplates/{resource}/testIamPermissions' + '/compute/alpha/projects/{project}/zones/{zone}/instantSnapshots/{resource}/testIamPermissions' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -124187,8 +129615,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'resource'], - pathParams: ['project', 'resource'], + requiredParams: ['project', 'zone', 'resource'], + pathParams: ['project', 'resource', 'zone'], context: this.context, }; if (callback) { @@ -124202,7 +129630,7 @@ export namespace compute_alpha { } } - export interface Params$Resource$Instancetemplates$Aggregatedlist extends StandardParameters { + export interface Params$Resource$Instantsnapshots$Aggregatedlist extends StandardParameters { /** * A filter expression that filters resources listed in the response. Most * Compute resources support two types of filter expressions: @@ -124303,7 +129731,7 @@ export namespace compute_alpha { */ pageToken?: string; /** - * Name of the project scoping this request. + * Project ID for this request. */ project?: string; /** @@ -124321,11 +129749,11 @@ export namespace compute_alpha { */ serviceProjectNumber?: string; } - export interface Params$Resource$Instancetemplates$Delete extends StandardParameters { + export interface Params$Resource$Instantsnapshots$Delete extends StandardParameters { /** - * The name of the instance template to delete. + * Name of the InstantSnapshot resource to delete. */ - instanceTemplate?: string; + instantSnapshot?: string; /** * Project ID for this request. */ @@ -124346,22 +129774,26 @@ export namespace compute_alpha { * (00000000-0000-0000-0000-000000000000). */ requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; } - export interface Params$Resource$Instancetemplates$Get extends StandardParameters { + export interface Params$Resource$Instantsnapshots$Get extends StandardParameters { /** - * The name of the instance template. + * Name of the InstantSnapshot resource to return. */ - instanceTemplate?: string; + instantSnapshot?: string; /** * Project ID for this request. */ project?: string; /** - * View of the instance template. + * The name of the zone for this request. */ - view?: string; + zone?: string; } - export interface Params$Resource$Instancetemplates$Getiampolicy extends StandardParameters { + export interface Params$Resource$Instantsnapshots$Getiampolicy extends StandardParameters { /** * Requested IAM Policy version. */ @@ -124374,8 +129806,12 @@ export namespace compute_alpha { * Name or id of the resource for this request. */ resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; } - export interface Params$Resource$Instancetemplates$Insert extends StandardParameters { + export interface Params$Resource$Instantsnapshots$Insert extends StandardParameters { /** * Project ID for this request. */ @@ -124396,13 +129832,17 @@ export namespace compute_alpha { * (00000000-0000-0000-0000-000000000000). */ requestId?: string; + /** + * Name of the zone for this request. + */ + zone?: string; /** * Request body metadata */ - requestBody?: Schema$InstanceTemplate; + requestBody?: Schema$InstantSnapshot; } - export interface Params$Resource$Instancetemplates$List extends StandardParameters { + export interface Params$Resource$Instantsnapshots$List extends StandardParameters { /** * A filter expression that filters resources listed in the response. Most * Compute resources support two types of filter expressions: @@ -124506,11 +129946,11 @@ export namespace compute_alpha { */ returnPartialSuccess?: boolean; /** - * View of the instance template. + * The name of the zone for this request. */ - view?: string; + zone?: string; } - export interface Params$Resource$Instancetemplates$Setiampolicy extends StandardParameters { + export interface Params$Resource$Instantsnapshots$Setiampolicy extends StandardParameters { /** * Project ID for this request. */ @@ -124519,13 +129959,52 @@ export namespace compute_alpha { * Name or id of the resource for this request. */ resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; /** * Request body metadata */ - requestBody?: Schema$GlobalSetPolicyRequest; + requestBody?: Schema$ZoneSetPolicyRequest; } - export interface Params$Resource$Instancetemplates$Testiampermissions extends StandardParameters { + export interface Params$Resource$Instantsnapshots$Setlabels extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ZoneSetLabelsRequest; + } + export interface Params$Resource$Instantsnapshots$Testiampermissions extends StandardParameters { /** * Project ID for this request. */ @@ -124534,6 +130013,10 @@ export namespace compute_alpha { * Name or id of the resource for this request. */ resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; /** * Request body metadata @@ -124541,14 +130024,15 @@ export namespace compute_alpha { requestBody?: Schema$TestPermissionsRequest; } - export class Resource$Instantsnapshotgroups { + export class Resource$Interconnectattachmentgroups { context: APIRequestContext; constructor(context: APIRequestContext) { this.context = context; } /** - * deletes a Zonal InstantSnapshotGroup resource + * Create Interconnect Attachments with redundancy by creating them in a + * specified interconnect attachment group. * @example * ```js * // Before running the sample: @@ -124580,9 +130064,190 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instantSnapshotGroups.delete({ - * // Name of the InstantSnapshot resource to delete. - * instantSnapshotGroup: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.interconnectAttachmentGroups.createMembers({ + * // Name of the group resource to create members for. + * interconnectAttachmentGroup: + * '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "request": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + createMembers( + params: Params$Resource$Interconnectattachmentgroups$Createmembers, + options: StreamMethodOptions + ): Promise>; + createMembers( + params?: Params$Resource$Interconnectattachmentgroups$Createmembers, + options?: MethodOptions + ): Promise>; + createMembers( + params: Params$Resource$Interconnectattachmentgroups$Createmembers, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + createMembers( + params: Params$Resource$Interconnectattachmentgroups$Createmembers, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + createMembers( + params: Params$Resource$Interconnectattachmentgroups$Createmembers, + callback: BodyResponseCallback + ): void; + createMembers(callback: BodyResponseCallback): void; + createMembers( + paramsOrCallback?: + | Params$Resource$Interconnectattachmentgroups$Createmembers + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Interconnectattachmentgroups$Createmembers; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Interconnectattachmentgroups$Createmembers; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/global/interconnectAttachmentGroups/{interconnectAttachmentGroup}/createMembers' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'interconnectAttachmentGroup'], + pathParams: ['interconnectAttachmentGroup', 'project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes the specified InterconnectAttachmentGroup in the given scope + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.interconnectAttachmentGroups.delete({ + * // Name of the InterconnectAttachmentGroup resource to delete. + * interconnectAttachmentGroup: + * '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -124599,9 +130264,8 @@ export namespace compute_alpha { * // 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 * requestId: 'placeholder-value', - * // The name of the zone for this request. - * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * }); * console.log(res.data); * @@ -124651,31 +130315,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ delete( - params: Params$Resource$Instantsnapshotgroups$Delete, + params: Params$Resource$Interconnectattachmentgroups$Delete, options: StreamMethodOptions ): Promise>; delete( - params?: Params$Resource$Instantsnapshotgroups$Delete, + params?: Params$Resource$Interconnectattachmentgroups$Delete, options?: MethodOptions ): Promise>; delete( - params: Params$Resource$Instantsnapshotgroups$Delete, + params: Params$Resource$Interconnectattachmentgroups$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Instantsnapshotgroups$Delete, + params: Params$Resource$Interconnectattachmentgroups$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Instantsnapshotgroups$Delete, + params: Params$Resource$Interconnectattachmentgroups$Delete, callback: BodyResponseCallback ): void; delete(callback: BodyResponseCallback): void; delete( paramsOrCallback?: - | Params$Resource$Instantsnapshotgroups$Delete + | Params$Resource$Interconnectattachmentgroups$Delete | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -124691,12 +130355,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instantsnapshotgroups$Delete; + {}) as Params$Resource$Interconnectattachmentgroups$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instantsnapshotgroups$Delete; + params = {} as Params$Resource$Interconnectattachmentgroups$Delete; options = {}; } @@ -124711,7 +130375,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instantSnapshotGroups/{instantSnapshotGroup}' + '/compute/alpha/projects/{project}/global/interconnectAttachmentGroups/{interconnectAttachmentGroup}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'DELETE', apiVersion: '', @@ -124719,8 +130383,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'zone', 'instantSnapshotGroup'], - pathParams: ['instantSnapshotGroup', 'project', 'zone'], + requiredParams: ['project', 'interconnectAttachmentGroup'], + pathParams: ['interconnectAttachmentGroup', 'project'], context: this.context, }; if (callback) { @@ -124734,7 +130398,8 @@ export namespace compute_alpha { } /** - * returns the specified InstantSnapshotGroup resource in the specified zone. + * Returns the specified InterconnectAttachmentGroup resource in the given + * scope. * @example * ```js * // Before running the sample: @@ -124767,31 +130432,30 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instantSnapshotGroups.get({ - * // Name of the InstantSnapshotGroup resource to return. - * instantSnapshotGroup: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.interconnectAttachmentGroups.get({ + * // Name of the InterconnectAttachmentGroup resource to return. + * interconnectAttachmentGroup: + * '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // The name of the zone for this request. - * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * }); * console.log(res.data); * * // Example response * // { + * // "attachments": {}, + * // "configured": {}, * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", + * // "etag": "my_etag", * // "id": "my_id", + * // "intent": {}, + * // "interconnectGroup": "my_interconnectGroup", * // "kind": "my_kind", + * // "logicalStructure": {}, * // "name": "my_name", - * // "region": "my_region", - * // "resourceStatus": {}, - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "sourceConsistencyGroup": "my_sourceConsistencyGroup", - * // "status": "my_status", - * // "zone": "my_zone" + * // "selfLink": "my_selfLink" * // } * } * @@ -124808,54 +130472,56 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ get( - params: Params$Resource$Instantsnapshotgroups$Get, + params: Params$Resource$Interconnectattachmentgroups$Get, options: StreamMethodOptions ): Promise>; get( - params?: Params$Resource$Instantsnapshotgroups$Get, + params?: Params$Resource$Interconnectattachmentgroups$Get, options?: MethodOptions - ): Promise>; + ): Promise>; get( - params: Params$Resource$Instantsnapshotgroups$Get, + params: Params$Resource$Interconnectattachmentgroups$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; get( - params: Params$Resource$Instantsnapshotgroups$Get, + params: Params$Resource$Interconnectattachmentgroups$Get, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; get( - params: Params$Resource$Instantsnapshotgroups$Get, - callback: BodyResponseCallback + params: Params$Resource$Interconnectattachmentgroups$Get, + callback: BodyResponseCallback + ): void; + get( + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; get( paramsOrCallback?: - | Params$Resource$Instantsnapshotgroups$Get - | BodyResponseCallback + | Params$Resource$Interconnectattachmentgroups$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instantsnapshotgroups$Get; + {}) as Params$Resource$Interconnectattachmentgroups$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instantsnapshotgroups$Get; + params = {} as Params$Resource$Interconnectattachmentgroups$Get; options = {}; } @@ -124870,7 +130536,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instantSnapshotGroups/{instantSnapshotGroup}' + '/compute/alpha/projects/{project}/global/interconnectAttachmentGroups/{interconnectAttachmentGroup}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -124878,17 +130544,17 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'zone', 'instantSnapshotGroup'], - pathParams: ['instantSnapshotGroup', 'project', 'zone'], + requiredParams: ['project', 'interconnectAttachmentGroup'], + pathParams: ['interconnectAttachmentGroup', 'project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } @@ -124927,16 +130593,14 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instantSnapshotGroups.getIamPolicy({ + * const res = await compute.interconnectAttachmentGroups.getIamPolicy({ * // Requested IAM Policy version. * optionsRequestedPolicyVersion: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', * // Name or id of the resource for this request. - * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // The name of the zone for this request. - * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * resource: '[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * }); * console.log(res.data); * @@ -124962,31 +130626,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ getIamPolicy( - params: Params$Resource$Instantsnapshotgroups$Getiampolicy, + params: Params$Resource$Interconnectattachmentgroups$Getiampolicy, options: StreamMethodOptions ): Promise>; getIamPolicy( - params?: Params$Resource$Instantsnapshotgroups$Getiampolicy, + params?: Params$Resource$Interconnectattachmentgroups$Getiampolicy, options?: MethodOptions ): Promise>; getIamPolicy( - params: Params$Resource$Instantsnapshotgroups$Getiampolicy, + params: Params$Resource$Interconnectattachmentgroups$Getiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; getIamPolicy( - params: Params$Resource$Instantsnapshotgroups$Getiampolicy, + params: Params$Resource$Interconnectattachmentgroups$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; getIamPolicy( - params: Params$Resource$Instantsnapshotgroups$Getiampolicy, + params: Params$Resource$Interconnectattachmentgroups$Getiampolicy, callback: BodyResponseCallback ): void; getIamPolicy(callback: BodyResponseCallback): void; getIamPolicy( paramsOrCallback?: - | Params$Resource$Instantsnapshotgroups$Getiampolicy + | Params$Resource$Interconnectattachmentgroups$Getiampolicy | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -125002,12 +130666,13 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instantsnapshotgroups$Getiampolicy; + {}) as Params$Resource$Interconnectattachmentgroups$Getiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instantsnapshotgroups$Getiampolicy; + params = + {} as Params$Resource$Interconnectattachmentgroups$Getiampolicy; options = {}; } @@ -125022,7 +130687,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instantSnapshotGroups/{resource}/getIamPolicy' + '/compute/alpha/projects/{project}/global/interconnectAttachmentGroups/{resource}/getIamPolicy' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -125030,8 +130695,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'zone', 'resource'], - pathParams: ['project', 'resource', 'zone'], + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], context: this.context, }; if (callback) { @@ -125045,7 +130710,8 @@ export namespace compute_alpha { } /** - * inserts a Zonal InstantSnapshotGroup resource + * Returns the InterconnectAttachmentStatuses for the specified + * InterconnectAttachmentGroup resource. * @example * ```js * // Before running the sample: @@ -125069,6 +130735,7 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -125077,7 +130744,164 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instantSnapshotGroups.insert({ + * const res = await compute.interconnectAttachmentGroups.getOperationalStatus({ + * // Name of the interconnectAttachmentGroup resource to query. + * interconnectAttachmentGroup: + * '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "etag": "my_etag", + * // "result": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + getOperationalStatus( + params: Params$Resource$Interconnectattachmentgroups$Getoperationalstatus, + options: StreamMethodOptions + ): Promise>; + getOperationalStatus( + params?: Params$Resource$Interconnectattachmentgroups$Getoperationalstatus, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + getOperationalStatus( + params: Params$Resource$Interconnectattachmentgroups$Getoperationalstatus, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getOperationalStatus( + params: Params$Resource$Interconnectattachmentgroups$Getoperationalstatus, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getOperationalStatus( + params: Params$Resource$Interconnectattachmentgroups$Getoperationalstatus, + callback: BodyResponseCallback + ): void; + getOperationalStatus( + callback: BodyResponseCallback + ): void; + getOperationalStatus( + paramsOrCallback?: + | Params$Resource$Interconnectattachmentgroups$Getoperationalstatus + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Interconnectattachmentgroups$Getoperationalstatus; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Interconnectattachmentgroups$Getoperationalstatus; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/global/interconnectAttachmentGroups/{interconnectAttachmentGroup}/getOperationalStatus' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'interconnectAttachmentGroup'], + pathParams: ['interconnectAttachmentGroup', 'project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Creates a InterconnectAttachmentGroup in the specified project in the given + * scope using the parameters that are included in the request. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.interconnectAttachmentGroups.insert({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -125094,28 +130918,25 @@ export namespace compute_alpha { * // 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 * requestId: 'placeholder-value', - * // begin_interface: MixerMutationRequestBuilder - * sourceConsistencyGroup: 'placeholder-value', - * // Name of the zone for this request. - * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * * // Request body metadata * requestBody: { * // request body parameters * // { + * // "attachments": {}, + * // "configured": {}, * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", + * // "etag": "my_etag", * // "id": "my_id", + * // "intent": {}, + * // "interconnectGroup": "my_interconnectGroup", * // "kind": "my_kind", + * // "logicalStructure": {}, * // "name": "my_name", - * // "region": "my_region", - * // "resourceStatus": {}, - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "sourceConsistencyGroup": "my_sourceConsistencyGroup", - * // "status": "my_status", - * // "zone": "my_zone" + * // "selfLink": "my_selfLink" * // } * }, * }); @@ -125167,31 +130988,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ insert( - params: Params$Resource$Instantsnapshotgroups$Insert, + params: Params$Resource$Interconnectattachmentgroups$Insert, options: StreamMethodOptions ): Promise>; insert( - params?: Params$Resource$Instantsnapshotgroups$Insert, + params?: Params$Resource$Interconnectattachmentgroups$Insert, options?: MethodOptions ): Promise>; insert( - params: Params$Resource$Instantsnapshotgroups$Insert, + params: Params$Resource$Interconnectattachmentgroups$Insert, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; insert( - params: Params$Resource$Instantsnapshotgroups$Insert, + params: Params$Resource$Interconnectattachmentgroups$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; insert( - params: Params$Resource$Instantsnapshotgroups$Insert, + params: Params$Resource$Interconnectattachmentgroups$Insert, callback: BodyResponseCallback ): void; insert(callback: BodyResponseCallback): void; insert( paramsOrCallback?: - | Params$Resource$Instantsnapshotgroups$Insert + | Params$Resource$Interconnectattachmentgroups$Insert | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -125207,12 +131028,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instantsnapshotgroups$Insert; + {}) as Params$Resource$Interconnectattachmentgroups$Insert; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instantsnapshotgroups$Insert; + params = {} as Params$Resource$Interconnectattachmentgroups$Insert; options = {}; } @@ -125227,7 +131048,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instantSnapshotGroups' + '/compute/alpha/projects/{project}/global/interconnectAttachmentGroups' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -125235,8 +131056,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'zone'], - pathParams: ['project', 'zone'], + requiredParams: ['project'], + pathParams: ['project'], context: this.context, }; if (callback) { @@ -125250,8 +131071,7 @@ export namespace compute_alpha { } /** - * retrieves the list of InstantSnapshotGroup resources contained within - * the specified zone. + * Lists the InterconnectAttachmentGroups for a project in the given scope. * @example * ```js * // Before running the sample: @@ -125284,7 +131104,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instantSnapshotGroups.list({ + * const res = await compute.interconnectAttachmentGroups.list({ * // A filter expression that filters resources listed in the response. Most * // Compute resources support two types of filter expressions: * // expressions that support regular expressions and expressions that follow @@ -125376,8 +131196,6 @@ export namespace compute_alpha { * // single zone scope either returns all resources in the zone or no resources, * // with an error code. * returnPartialSuccess: 'placeholder-value', - * // The name of the zone for this request. - * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * }); * console.log(res.data); * @@ -125407,56 +131225,60 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ list( - params: Params$Resource$Instantsnapshotgroups$List, + params: Params$Resource$Interconnectattachmentgroups$List, options: StreamMethodOptions ): Promise>; list( - params?: Params$Resource$Instantsnapshotgroups$List, + params?: Params$Resource$Interconnectattachmentgroups$List, options?: MethodOptions - ): Promise>; + ): Promise< + GaxiosResponseWithHTTP2 + >; list( - params: Params$Resource$Instantsnapshotgroups$List, + params: Params$Resource$Interconnectattachmentgroups$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; list( - params: Params$Resource$Instantsnapshotgroups$List, + params: Params$Resource$Interconnectattachmentgroups$List, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; list( - params: Params$Resource$Instantsnapshotgroups$List, - callback: BodyResponseCallback + params: Params$Resource$Interconnectattachmentgroups$List, + callback: BodyResponseCallback ): void; list( - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; list( paramsOrCallback?: - | Params$Resource$Instantsnapshotgroups$List - | BodyResponseCallback + | Params$Resource$Interconnectattachmentgroups$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise< + GaxiosResponseWithHTTP2 + > | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instantsnapshotgroups$List; + {}) as Params$Resource$Interconnectattachmentgroups$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instantsnapshotgroups$List; + params = {} as Params$Resource$Interconnectattachmentgroups$List; options = {}; } @@ -125471,7 +131293,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instantSnapshotGroups' + '/compute/alpha/projects/{project}/global/interconnectAttachmentGroups' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -125479,17 +131301,229 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'zone'], - pathParams: ['project', 'zone'], + requiredParams: ['project'], + pathParams: ['project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); + } + } + + /** + * Patches the specified InterconnectAttachmentGroup resource with the data + * included in the request. This method supports PATCH + * semantics and usesJSON merge + * patch format and processing rules. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.interconnectAttachmentGroups.patch({ + * // Name of the InterconnectAttachmentGroup resource to patch. + * interconnectAttachmentGroup: + * '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating 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 + * requestId: 'placeholder-value', + * // The list of fields to update. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "attachments": {}, + * // "configured": {}, + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "etag": "my_etag", + * // "id": "my_id", + * // "intent": {}, + * // "interconnectGroup": "my_interconnectGroup", + * // "kind": "my_kind", + * // "logicalStructure": {}, + * // "name": "my_name", + * // "selfLink": "my_selfLink" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Interconnectattachmentgroups$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Interconnectattachmentgroups$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Interconnectattachmentgroups$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Interconnectattachmentgroups$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Interconnectattachmentgroups$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Interconnectattachmentgroups$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Interconnectattachmentgroups$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Interconnectattachmentgroups$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/global/interconnectAttachmentGroups/{interconnectAttachmentGroup}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'interconnectAttachmentGroup'], + pathParams: ['interconnectAttachmentGroup', 'project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); } } @@ -125527,14 +131561,12 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instantSnapshotGroups.setIamPolicy({ + * const res = await compute.interconnectAttachmentGroups.setIamPolicy({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', * // Name or id of the resource for this request. - * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // The name of the zone for this request. - * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * resource: '[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * * // Request body metadata * requestBody: { @@ -125570,31 +131602,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ setIamPolicy( - params: Params$Resource$Instantsnapshotgroups$Setiampolicy, + params: Params$Resource$Interconnectattachmentgroups$Setiampolicy, options: StreamMethodOptions ): Promise>; setIamPolicy( - params?: Params$Resource$Instantsnapshotgroups$Setiampolicy, + params?: Params$Resource$Interconnectattachmentgroups$Setiampolicy, options?: MethodOptions ): Promise>; setIamPolicy( - params: Params$Resource$Instantsnapshotgroups$Setiampolicy, + params: Params$Resource$Interconnectattachmentgroups$Setiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; setIamPolicy( - params: Params$Resource$Instantsnapshotgroups$Setiampolicy, + params: Params$Resource$Interconnectattachmentgroups$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; setIamPolicy( - params: Params$Resource$Instantsnapshotgroups$Setiampolicy, + params: Params$Resource$Interconnectattachmentgroups$Setiampolicy, callback: BodyResponseCallback ): void; setIamPolicy(callback: BodyResponseCallback): void; setIamPolicy( paramsOrCallback?: - | Params$Resource$Instantsnapshotgroups$Setiampolicy + | Params$Resource$Interconnectattachmentgroups$Setiampolicy | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -125610,12 +131642,13 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instantsnapshotgroups$Setiampolicy; + {}) as Params$Resource$Interconnectattachmentgroups$Setiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instantsnapshotgroups$Setiampolicy; + params = + {} as Params$Resource$Interconnectattachmentgroups$Setiampolicy; options = {}; } @@ -125630,7 +131663,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instantSnapshotGroups/{resource}/setIamPolicy' + '/compute/alpha/projects/{project}/global/interconnectAttachmentGroups/{resource}/setIamPolicy' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -125638,8 +131671,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'zone', 'resource'], - pathParams: ['project', 'resource', 'zone'], + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], context: this.context, }; if (callback) { @@ -125686,14 +131719,12 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instantSnapshotGroups.testIamPermissions({ + * const res = await compute.interconnectAttachmentGroups.testIamPermissions({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', * // Name or id of the resource for this request. - * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // The name of the zone for this request. - * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * resource: '[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * * // Request body metadata * requestBody: { @@ -125724,27 +131755,27 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ testIamPermissions( - params: Params$Resource$Instantsnapshotgroups$Testiampermissions, + params: Params$Resource$Interconnectattachmentgroups$Testiampermissions, options: StreamMethodOptions ): Promise>; testIamPermissions( - params?: Params$Resource$Instantsnapshotgroups$Testiampermissions, + params?: Params$Resource$Interconnectattachmentgroups$Testiampermissions, options?: MethodOptions ): Promise>; testIamPermissions( - params: Params$Resource$Instantsnapshotgroups$Testiampermissions, + params: Params$Resource$Interconnectattachmentgroups$Testiampermissions, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; testIamPermissions( - params: Params$Resource$Instantsnapshotgroups$Testiampermissions, + params: Params$Resource$Interconnectattachmentgroups$Testiampermissions, options: | MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; testIamPermissions( - params: Params$Resource$Instantsnapshotgroups$Testiampermissions, + params: Params$Resource$Interconnectattachmentgroups$Testiampermissions, callback: BodyResponseCallback ): void; testIamPermissions( @@ -125752,7 +131783,7 @@ export namespace compute_alpha { ): void; testIamPermissions( paramsOrCallback?: - | Params$Resource$Instantsnapshotgroups$Testiampermissions + | Params$Resource$Interconnectattachmentgroups$Testiampermissions | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -125768,12 +131799,13 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instantsnapshotgroups$Testiampermissions; + {}) as Params$Resource$Interconnectattachmentgroups$Testiampermissions; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instantsnapshotgroups$Testiampermissions; + params = + {} as Params$Resource$Interconnectattachmentgroups$Testiampermissions; options = {}; } @@ -125788,7 +131820,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instantSnapshotGroups/{resource}/testIamPermissions' + '/compute/alpha/projects/{project}/global/interconnectAttachmentGroups/{resource}/testIamPermissions' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -125796,8 +131828,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'zone', 'resource'], - pathParams: ['project', 'resource', 'zone'], + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], context: this.context, }; if (callback) { @@ -125811,11 +131843,26 @@ export namespace compute_alpha { } } - export interface Params$Resource$Instantsnapshotgroups$Delete extends StandardParameters { + export interface Params$Resource$Interconnectattachmentgroups$Createmembers extends StandardParameters { /** - * Name of the InstantSnapshot resource to delete. + * Name of the group resource to create members for. */ - instantSnapshotGroup?: string; + interconnectAttachmentGroup?: string; + /** + * Project ID for this request. + */ + project?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InterconnectAttachmentGroupsCreateMembersRequest; + } + export interface Params$Resource$Interconnectattachmentgroups$Delete extends StandardParameters { + /** + * Name of the InterconnectAttachmentGroup resource to delete. + */ + interconnectAttachmentGroup?: string; /** * Project ID for this request. */ @@ -125834,28 +131881,21 @@ export namespace compute_alpha { * 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 */ requestId?: string; - /** - * The name of the zone for this request. - */ - zone?: string; } - export interface Params$Resource$Instantsnapshotgroups$Get extends StandardParameters { + export interface Params$Resource$Interconnectattachmentgroups$Get extends StandardParameters { /** - * Name of the InstantSnapshotGroup resource to return. + * Name of the InterconnectAttachmentGroup resource to return. */ - instantSnapshotGroup?: string; + interconnectAttachmentGroup?: string; /** * Project ID for this request. */ project?: string; - /** - * The name of the zone for this request. - */ - zone?: string; } - export interface Params$Resource$Instantsnapshotgroups$Getiampolicy extends StandardParameters { + export interface Params$Resource$Interconnectattachmentgroups$Getiampolicy extends StandardParameters { /** * Requested IAM Policy version. */ @@ -125868,12 +131908,18 @@ export namespace compute_alpha { * Name or id of the resource for this request. */ resource?: string; + } + export interface Params$Resource$Interconnectattachmentgroups$Getoperationalstatus extends StandardParameters { /** - * The name of the zone for this request. + * Name of the interconnectAttachmentGroup resource to query. */ - zone?: string; + interconnectAttachmentGroup?: string; + /** + * Project ID for this request. + */ + project?: string; } - export interface Params$Resource$Instantsnapshotgroups$Insert extends StandardParameters { + export interface Params$Resource$Interconnectattachmentgroups$Insert extends StandardParameters { /** * Project ID for this request. */ @@ -125892,23 +131938,16 @@ export namespace compute_alpha { * 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 */ requestId?: string; - /** - * begin_interface: MixerMutationRequestBuilder - */ - sourceConsistencyGroup?: string; - /** - * Name of the zone for this request. - */ - zone?: string; /** * Request body metadata */ - requestBody?: Schema$InstantSnapshotGroup; + requestBody?: Schema$InterconnectAttachmentGroup; } - export interface Params$Resource$Instantsnapshotgroups$List extends StandardParameters { + export interface Params$Resource$Interconnectattachmentgroups$List extends StandardParameters { /** * A filter expression that filters resources listed in the response. Most * Compute resources support two types of filter expressions: @@ -126011,31 +132050,44 @@ export namespace compute_alpha { * with an error code. */ returnPartialSuccess?: boolean; + } + export interface Params$Resource$Interconnectattachmentgroups$Patch extends StandardParameters { /** - * The name of the zone for this request. + * Name of the InterconnectAttachmentGroup resource to patch. */ - zone?: string; - } - export interface Params$Resource$Instantsnapshotgroups$Setiampolicy extends StandardParameters { + interconnectAttachmentGroup?: string; /** * Project ID for this request. */ project?: string; /** - * Name or id of the resource for this request. + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating 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 */ - resource?: string; + requestId?: string; /** - * The name of the zone for this request. + * The list of fields to update. */ - zone?: string; + updateMask?: string; /** * Request body metadata */ - requestBody?: Schema$ZoneSetPolicyRequest; + requestBody?: Schema$InterconnectAttachmentGroup; } - export interface Params$Resource$Instantsnapshotgroups$Testiampermissions extends StandardParameters { + export interface Params$Resource$Interconnectattachmentgroups$Setiampolicy extends StandardParameters { /** * Project ID for this request. */ @@ -126044,10 +132096,21 @@ export namespace compute_alpha { * Name or id of the resource for this request. */ resource?: string; + /** - * The name of the zone for this request. + * Request body metadata */ - zone?: string; + requestBody?: Schema$GlobalSetPolicyRequest; + } + export interface Params$Resource$Interconnectattachmentgroups$Testiampermissions extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; /** * Request body metadata @@ -126055,14 +132118,14 @@ export namespace compute_alpha { requestBody?: Schema$TestPermissionsRequest; } - export class Resource$Instantsnapshots { + export class Resource$Interconnectattachments { context: APIRequestContext; constructor(context: APIRequestContext) { this.context = context; } /** - * Retrieves an aggregated list of instantSnapshots. + * Retrieves an aggregated list of interconnect attachments. * * To prevent failure, Google recommends that you set the * `returnPartialSuccess` parameter to `true`. @@ -126098,7 +132161,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instantSnapshots.aggregatedList({ + * const res = await compute.interconnectAttachments.aggregatedList({ * // A filter expression that filters resources listed in the response. Most * // Compute resources support two types of filter expressions: * // expressions that support regular expressions and expressions that follow @@ -126229,56 +132292,60 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ aggregatedList( - params: Params$Resource$Instantsnapshots$Aggregatedlist, + params: Params$Resource$Interconnectattachments$Aggregatedlist, options: StreamMethodOptions ): Promise>; aggregatedList( - params?: Params$Resource$Instantsnapshots$Aggregatedlist, + params?: Params$Resource$Interconnectattachments$Aggregatedlist, options?: MethodOptions - ): Promise>; + ): Promise< + GaxiosResponseWithHTTP2 + >; aggregatedList( - params: Params$Resource$Instantsnapshots$Aggregatedlist, + params: Params$Resource$Interconnectattachments$Aggregatedlist, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; aggregatedList( - params: Params$Resource$Instantsnapshots$Aggregatedlist, + params: Params$Resource$Interconnectattachments$Aggregatedlist, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; aggregatedList( - params: Params$Resource$Instantsnapshots$Aggregatedlist, - callback: BodyResponseCallback + params: Params$Resource$Interconnectattachments$Aggregatedlist, + callback: BodyResponseCallback ): void; aggregatedList( - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; aggregatedList( paramsOrCallback?: - | Params$Resource$Instantsnapshots$Aggregatedlist - | BodyResponseCallback + | Params$Resource$Interconnectattachments$Aggregatedlist + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise< + GaxiosResponseWithHTTP2 + > | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instantsnapshots$Aggregatedlist; + {}) as Params$Resource$Interconnectattachments$Aggregatedlist; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instantsnapshots$Aggregatedlist; + params = {} as Params$Resource$Interconnectattachments$Aggregatedlist; options = {}; } @@ -126293,7 +132360,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/aggregated/instantSnapshots' + '/compute/alpha/projects/{project}/aggregated/interconnectAttachments' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -126306,26 +132373,19 @@ export namespace compute_alpha { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( + return createAPIRequest( parameters ); } } /** - * 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, seeDeleting - * instantSnapshots. + * Deletes the specified interconnect attachment. * @example * ```js * // Before running the sample: @@ -126357,12 +132417,15 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instantSnapshots.delete({ - * // Name of the InstantSnapshot resource to delete. - * instantSnapshot: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.interconnectAttachments.delete({ + * // Name of the interconnect attachment to delete. + * interconnectAttachment: + * '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Name of the region for this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * // An optional request ID to identify requests. Specify a unique request ID so * // that if you must retry your request, the server will know to ignore the * // request if it has already been completed. @@ -126377,8 +132440,6 @@ export namespace compute_alpha { * // a valid UUID with the exception that zero UUID is not supported * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', - * // The name of the zone for this request. - * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * }); * console.log(res.data); * @@ -126428,31 +132489,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ delete( - params: Params$Resource$Instantsnapshots$Delete, + params: Params$Resource$Interconnectattachments$Delete, options: StreamMethodOptions ): Promise>; delete( - params?: Params$Resource$Instantsnapshots$Delete, + params?: Params$Resource$Interconnectattachments$Delete, options?: MethodOptions ): Promise>; delete( - params: Params$Resource$Instantsnapshots$Delete, + params: Params$Resource$Interconnectattachments$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Instantsnapshots$Delete, + params: Params$Resource$Interconnectattachments$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Instantsnapshots$Delete, + params: Params$Resource$Interconnectattachments$Delete, callback: BodyResponseCallback ): void; delete(callback: BodyResponseCallback): void; delete( paramsOrCallback?: - | Params$Resource$Instantsnapshots$Delete + | Params$Resource$Interconnectattachments$Delete | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -126468,12 +132529,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instantsnapshots$Delete; + {}) as Params$Resource$Interconnectattachments$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instantsnapshots$Delete; + params = {} as Params$Resource$Interconnectattachments$Delete; options = {}; } @@ -126488,7 +132549,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instantSnapshots/{instantSnapshot}' + '/compute/alpha/projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'DELETE', apiVersion: '', @@ -126496,8 +132557,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'zone', 'instantSnapshot'], - pathParams: ['instantSnapshot', 'project', 'zone'], + requiredParams: ['project', 'region', 'interconnectAttachment'], + pathParams: ['interconnectAttachment', 'project', 'region'], context: this.context, }; if (callback) { @@ -126511,7 +132572,7 @@ export namespace compute_alpha { } /** - * Returns the specified InstantSnapshot resource in the specified zone. + * Returns the specified interconnect attachment. * @example * ```js * // Before running the sample: @@ -126544,42 +132605,69 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instantSnapshots.get({ - * // Name of the InstantSnapshot resource to return. - * instantSnapshot: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.interconnectAttachments.get({ + * // Name of the interconnect attachment to return. + * interconnectAttachment: + * '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // The name of the zone for this request. - * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * // Name of the region for this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * }); * console.log(res.data); * * // Example response * // { - * // "architecture": "my_architecture", + * // "adminEnabled": false, + * // "attachmentGroup": "my_attachmentGroup", + * // "bandwidth": "my_bandwidth", + * // "candidateCloudRouterIpAddress": "my_candidateCloudRouterIpAddress", + * // "candidateCloudRouterIpv6Address": "my_candidateCloudRouterIpv6Address", + * // "candidateCustomerRouterIpAddress": "my_candidateCustomerRouterIpAddress", + * // "candidateCustomerRouterIpv6Address": "my_candidateCustomerRouterIpv6Address", + * // "candidateIpv6Subnets": [], + * // "candidateSubnets": [], + * // "cloudRouterIpAddress": "my_cloudRouterIpAddress", + * // "cloudRouterIpv6Address": "my_cloudRouterIpv6Address", + * // "cloudRouterIpv6InterfaceId": "my_cloudRouterIpv6InterfaceId", + * // "configurationConstraints": {}, * // "creationTimestamp": "my_creationTimestamp", + * // "customerRouterIpAddress": "my_customerRouterIpAddress", + * // "customerRouterIpv6Address": "my_customerRouterIpv6Address", + * // "customerRouterIpv6InterfaceId": "my_customerRouterIpv6InterfaceId", + * // "dataplaneVersion": 0, * // "description": "my_description", - * // "diskSizeGb": "my_diskSizeGb", - * // "guestFlush": false, + * // "edgeAvailabilityDomain": "my_edgeAvailabilityDomain", + * // "encryption": "my_encryption", + * // "googleReferenceId": "my_googleReferenceId", * // "id": "my_id", + * // "interconnect": "my_interconnect", + * // "ipsecInternalAddresses": [], * // "kind": "my_kind", + * // "l2Forwarding": {}, * // "labelFingerprint": "my_labelFingerprint", * // "labels": {}, + * // "mtu": 0, + * // "multicastEnabled": false, * // "name": "my_name", + * // "operationalStatus": "my_operationalStatus", + * // "pairingKey": "my_pairingKey", * // "params": {}, + * // "partnerAsn": "my_partnerAsn", + * // "partnerMetadata": {}, + * // "privateInterconnectInfo": {}, * // "region": "my_region", - * // "resourceStatus": {}, - * // "satisfiesPzi": false, + * // "remoteService": "my_remoteService", + * // "router": "my_router", * // "satisfiesPzs": false, * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", - * // "sourceDisk": "my_sourceDisk", - * // "sourceDiskId": "my_sourceDiskId", - * // "sourceInstantSnapshotGroup": "my_sourceInstantSnapshotGroup", - * // "sourceInstantSnapshotGroupId": "my_sourceInstantSnapshotGroupId", - * // "status": "my_status", - * // "zone": "my_zone" + * // "stackType": "my_stackType", + * // "state": "my_state", + * // "subnetLength": 0, + * // "type": "my_type", + * // "vlanTag8021q": 0 * // } * } * @@ -126596,52 +132684,54 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ get( - params: Params$Resource$Instantsnapshots$Get, + params: Params$Resource$Interconnectattachments$Get, options: StreamMethodOptions ): Promise>; get( - params?: Params$Resource$Instantsnapshots$Get, + params?: Params$Resource$Interconnectattachments$Get, options?: MethodOptions - ): Promise>; + ): Promise>; get( - params: Params$Resource$Instantsnapshots$Get, + params: Params$Resource$Interconnectattachments$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; get( - params: Params$Resource$Instantsnapshots$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + params: Params$Resource$Interconnectattachments$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; get( - params: Params$Resource$Instantsnapshots$Get, - callback: BodyResponseCallback + params: Params$Resource$Interconnectattachments$Get, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; get( paramsOrCallback?: - | Params$Resource$Instantsnapshots$Get - | BodyResponseCallback + | Params$Resource$Interconnectattachments$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instantsnapshots$Get; + {}) as Params$Resource$Interconnectattachments$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instantsnapshots$Get; + params = {} as Params$Resource$Interconnectattachments$Get; options = {}; } @@ -126656,7 +132746,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instantSnapshots/{instantSnapshot}' + '/compute/alpha/projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -126664,17 +132754,17 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'zone', 'instantSnapshot'], - pathParams: ['instantSnapshot', 'project', 'zone'], + requiredParams: ['project', 'region', 'interconnectAttachment'], + pathParams: ['interconnectAttachment', 'project', 'region'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } @@ -126713,16 +132803,16 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instantSnapshots.getIamPolicy({ + * const res = await compute.interconnectAttachments.getIamPolicy({ * // Requested IAM Policy version. * optionsRequestedPolicyVersion: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // The name of the region for this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * // Name or id of the resource for this request. * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // The name of the zone for this request. - * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * }); * console.log(res.data); * @@ -126748,31 +132838,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ getIamPolicy( - params: Params$Resource$Instantsnapshots$Getiampolicy, + params: Params$Resource$Interconnectattachments$Getiampolicy, options: StreamMethodOptions ): Promise>; getIamPolicy( - params?: Params$Resource$Instantsnapshots$Getiampolicy, + params?: Params$Resource$Interconnectattachments$Getiampolicy, options?: MethodOptions ): Promise>; getIamPolicy( - params: Params$Resource$Instantsnapshots$Getiampolicy, + params: Params$Resource$Interconnectattachments$Getiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; getIamPolicy( - params: Params$Resource$Instantsnapshots$Getiampolicy, + params: Params$Resource$Interconnectattachments$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; getIamPolicy( - params: Params$Resource$Instantsnapshots$Getiampolicy, + params: Params$Resource$Interconnectattachments$Getiampolicy, callback: BodyResponseCallback ): void; getIamPolicy(callback: BodyResponseCallback): void; getIamPolicy( paramsOrCallback?: - | Params$Resource$Instantsnapshots$Getiampolicy + | Params$Resource$Interconnectattachments$Getiampolicy | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -126788,12 +132878,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instantsnapshots$Getiampolicy; + {}) as Params$Resource$Interconnectattachments$Getiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instantsnapshots$Getiampolicy; + params = {} as Params$Resource$Interconnectattachments$Getiampolicy; options = {}; } @@ -126808,7 +132898,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instantSnapshots/{resource}/getIamPolicy' + '/compute/alpha/projects/{project}/regions/{region}/interconnectAttachments/{resource}/getIamPolicy' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -126816,8 +132906,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'zone', 'resource'], - pathParams: ['project', 'resource', 'zone'], + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], context: this.context, }; if (callback) { @@ -126831,7 +132921,8 @@ export namespace compute_alpha { } /** - * Creates an instant snapshot in the specified zone. + * Creates an InterconnectAttachment in the specified project using the data + * included in the request. * @example * ```js * // Before running the sample: @@ -126863,10 +132954,12 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instantSnapshots.insert({ + * const res = await compute.interconnectAttachments.insert({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Name of the region for this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * // An optional request ID to identify requests. Specify a unique request ID so * // that if you must retry your request, the server will know to ignore the * // request if it has already been completed. @@ -126881,36 +132974,62 @@ export namespace compute_alpha { * // a valid UUID with the exception that zero UUID is not supported * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', - * // Name of the zone for this request. - * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * // If true, the request will not be committed. + * validateOnly: 'placeholder-value', * * // Request body metadata * requestBody: { * // request body parameters * // { - * // "architecture": "my_architecture", + * // "adminEnabled": false, + * // "attachmentGroup": "my_attachmentGroup", + * // "bandwidth": "my_bandwidth", + * // "candidateCloudRouterIpAddress": "my_candidateCloudRouterIpAddress", + * // "candidateCloudRouterIpv6Address": "my_candidateCloudRouterIpv6Address", + * // "candidateCustomerRouterIpAddress": "my_candidateCustomerRouterIpAddress", + * // "candidateCustomerRouterIpv6Address": "my_candidateCustomerRouterIpv6Address", + * // "candidateIpv6Subnets": [], + * // "candidateSubnets": [], + * // "cloudRouterIpAddress": "my_cloudRouterIpAddress", + * // "cloudRouterIpv6Address": "my_cloudRouterIpv6Address", + * // "cloudRouterIpv6InterfaceId": "my_cloudRouterIpv6InterfaceId", + * // "configurationConstraints": {}, * // "creationTimestamp": "my_creationTimestamp", + * // "customerRouterIpAddress": "my_customerRouterIpAddress", + * // "customerRouterIpv6Address": "my_customerRouterIpv6Address", + * // "customerRouterIpv6InterfaceId": "my_customerRouterIpv6InterfaceId", + * // "dataplaneVersion": 0, * // "description": "my_description", - * // "diskSizeGb": "my_diskSizeGb", - * // "guestFlush": false, + * // "edgeAvailabilityDomain": "my_edgeAvailabilityDomain", + * // "encryption": "my_encryption", + * // "googleReferenceId": "my_googleReferenceId", * // "id": "my_id", + * // "interconnect": "my_interconnect", + * // "ipsecInternalAddresses": [], * // "kind": "my_kind", + * // "l2Forwarding": {}, * // "labelFingerprint": "my_labelFingerprint", * // "labels": {}, + * // "mtu": 0, + * // "multicastEnabled": false, * // "name": "my_name", + * // "operationalStatus": "my_operationalStatus", + * // "pairingKey": "my_pairingKey", * // "params": {}, + * // "partnerAsn": "my_partnerAsn", + * // "partnerMetadata": {}, + * // "privateInterconnectInfo": {}, * // "region": "my_region", - * // "resourceStatus": {}, - * // "satisfiesPzi": false, + * // "remoteService": "my_remoteService", + * // "router": "my_router", * // "satisfiesPzs": false, * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", - * // "sourceDisk": "my_sourceDisk", - * // "sourceDiskId": "my_sourceDiskId", - * // "sourceInstantSnapshotGroup": "my_sourceInstantSnapshotGroup", - * // "sourceInstantSnapshotGroupId": "my_sourceInstantSnapshotGroupId", - * // "status": "my_status", - * // "zone": "my_zone" + * // "stackType": "my_stackType", + * // "state": "my_state", + * // "subnetLength": 0, + * // "type": "my_type", + * // "vlanTag8021q": 0 * // } * }, * }); @@ -126962,31 +133081,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ insert( - params: Params$Resource$Instantsnapshots$Insert, + params: Params$Resource$Interconnectattachments$Insert, options: StreamMethodOptions ): Promise>; insert( - params?: Params$Resource$Instantsnapshots$Insert, + params?: Params$Resource$Interconnectattachments$Insert, options?: MethodOptions ): Promise>; insert( - params: Params$Resource$Instantsnapshots$Insert, + params: Params$Resource$Interconnectattachments$Insert, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; insert( - params: Params$Resource$Instantsnapshots$Insert, + params: Params$Resource$Interconnectattachments$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; insert( - params: Params$Resource$Instantsnapshots$Insert, + params: Params$Resource$Interconnectattachments$Insert, callback: BodyResponseCallback ): void; insert(callback: BodyResponseCallback): void; insert( paramsOrCallback?: - | Params$Resource$Instantsnapshots$Insert + | Params$Resource$Interconnectattachments$Insert | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -127002,12 +133121,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instantsnapshots$Insert; + {}) as Params$Resource$Interconnectattachments$Insert; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instantsnapshots$Insert; + params = {} as Params$Resource$Interconnectattachments$Insert; options = {}; } @@ -127022,7 +133141,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instantSnapshots' + '/compute/alpha/projects/{project}/regions/{region}/interconnectAttachments' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -127030,8 +133149,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'zone'], - pathParams: ['project', 'zone'], + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], context: this.context, }; if (callback) { @@ -127045,8 +133164,252 @@ export namespace compute_alpha { } /** - * Retrieves the list of InstantSnapshot resources contained within - * the specified zone. + * Retrieves the list of interconnect attachments contained within + * the specified region. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.interconnectAttachments.list({ + * // A filter expression that filters resources listed in the response. Most + * // Compute resources support two types of filter expressions: + * // expressions that support regular expressions and expressions that follow + * // API improvement proposal AIP-160. + * // These two types of filter expressions cannot be mixed in one request. + * // + * // If you want to use AIP-160, your expression must specify the field name, an + * // operator, and the value that you want to use for filtering. The value + * // must be a string, a number, or a boolean. The operator + * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * // + * // For example, if you are filtering Compute Engine instances, you can + * // exclude instances named `example-instance` by specifying + * // `name != example-instance`. + * // + * // The `:*` comparison can be used to test whether a key has been defined. + * // For example, to find all objects with `owner` label use: + * // ``` + * // labels.owner:* + * // ``` + * // + * // You can also filter nested fields. For example, you could specify + * // `scheduling.automaticRestart = false` to include instances only + * // if they are not scheduled for automatic restarts. You can use filtering + * // on nested fields to filter based onresource labels. + * // + * // To filter on multiple expressions, provide each separate expression within + * // parentheses. For example: + * // ``` + * // (scheduling.automaticRestart = true) + * // (cpuPlatform = "Intel Skylake") + * // ``` + * // By default, each expression is an `AND` expression. However, you + * // can include `AND` and `OR` expressions explicitly. + * // For example: + * // ``` + * // (cpuPlatform = "Intel Skylake") OR + * // (cpuPlatform = "Intel Broadwell") AND + * // (scheduling.automaticRestart = true) + * // ``` + * // + * // If you want to use a regular expression, use the `eq` (equal) or `ne` + * // (not equal) operator against a single un-parenthesized expression with or + * // without quotes or against multiple parenthesized expressions. Examples: + * // + * // `fieldname eq unquoted literal` + * // `fieldname eq 'single quoted literal'` + * // `fieldname eq "double quoted literal"` + * // `(fieldname1 eq literal) (fieldname2 ne "literal")` + * // + * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * // The literal value must match the entire field. + * // + * // For example, to filter for instances that do not end with name "instance", + * // you would use `name ne .*instance`. + * // + * // You cannot combine constraints on multiple fields using regular + * // expressions. + * filter: 'placeholder-value', + * // The maximum number of results per page that should be returned. + * // If the number of available results is larger than `maxResults`, + * // Compute Engine returns a `nextPageToken` that can be used to get + * // the next page of results in subsequent list requests. Acceptable values are + * // `0` to `500`, inclusive. (Default: `500`) + * maxResults: 'placeholder-value', + * // Sorts list results by a certain order. By default, results + * // are returned in alphanumerical order based on the resource name. + * // + * // You can also sort results in descending order based on the creation + * // timestamp using `orderBy="creationTimestamp desc"`. This sorts + * // results based on the `creationTimestamp` field in + * // reverse chronological order (newest result first). Use this to sort + * // resources like operations so that the newest operation is returned first. + * // + * // Currently, only sorting by `name` or + * // `creationTimestamp desc` is supported. + * orderBy: 'placeholder-value', + * // Specifies a page token to use. Set `pageToken` to the + * // `nextPageToken` returned by a previous list request to get + * // the next page of results. + * pageToken: 'placeholder-value', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Name of the region for this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * // Opt-in for partial success behavior which provides partial results in case + * // of failure. The default value is false. + * // + * // For example, when partial success behavior is enabled, aggregatedList for a + * // single zone scope either returns all resources in the zone or no resources, + * // with an error code. + * returnPartialSuccess: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "id": "my_id", + * // "items": [], + * // "kind": "my_kind", + * // "nextPageToken": "my_nextPageToken", + * // "selfLink": "my_selfLink", + * // "warning": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Interconnectattachments$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Interconnectattachments$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Interconnectattachments$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Interconnectattachments$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Interconnectattachments$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Interconnectattachments$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Interconnectattachments$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Interconnectattachments$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/interconnectAttachments' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Updates the specified interconnect attachment with the data included in the + * request. This method supportsPATCH + * semantics and uses theJSON merge + * patch format and processing rules. * @example * ```js * // Before running the sample: @@ -127070,7 +133433,6 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -127079,111 +133441,118 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instantSnapshots.list({ - * // A filter expression that filters resources listed in the response. Most - * // Compute resources support two types of filter expressions: - * // expressions that support regular expressions and expressions that follow - * // API improvement proposal AIP-160. - * // These two types of filter expressions cannot be mixed in one request. - * // - * // If you want to use AIP-160, your expression must specify the field name, an - * // operator, and the value that you want to use for filtering. The value - * // must be a string, a number, or a boolean. The operator - * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * // - * // For example, if you are filtering Compute Engine instances, you can - * // exclude instances named `example-instance` by specifying - * // `name != example-instance`. - * // - * // The `:*` comparison can be used to test whether a key has been defined. - * // For example, to find all objects with `owner` label use: - * // ``` - * // labels.owner:* - * // ``` - * // - * // You can also filter nested fields. For example, you could specify - * // `scheduling.automaticRestart = false` to include instances only - * // if they are not scheduled for automatic restarts. You can use filtering - * // on nested fields to filter based onresource labels. - * // - * // To filter on multiple expressions, provide each separate expression within - * // parentheses. For example: - * // ``` - * // (scheduling.automaticRestart = true) - * // (cpuPlatform = "Intel Skylake") - * // ``` - * // By default, each expression is an `AND` expression. However, you - * // can include `AND` and `OR` expressions explicitly. - * // For example: - * // ``` - * // (cpuPlatform = "Intel Skylake") OR - * // (cpuPlatform = "Intel Broadwell") AND - * // (scheduling.automaticRestart = true) - * // ``` - * // - * // If you want to use a regular expression, use the `eq` (equal) or `ne` - * // (not equal) operator against a single un-parenthesized expression with or - * // without quotes or against multiple parenthesized expressions. Examples: - * // - * // `fieldname eq unquoted literal` - * // `fieldname eq 'single quoted literal'` - * // `fieldname eq "double quoted literal"` - * // `(fieldname1 eq literal) (fieldname2 ne "literal")` - * // - * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * // The literal value must match the entire field. - * // - * // For example, to filter for instances that do not end with name "instance", - * // you would use `name ne .*instance`. - * // - * // You cannot combine constraints on multiple fields using regular - * // expressions. - * filter: 'placeholder-value', - * // The maximum number of results per page that should be returned. - * // If the number of available results is larger than `maxResults`, - * // Compute Engine returns a `nextPageToken` that can be used to get - * // the next page of results in subsequent list requests. Acceptable values are - * // `0` to `500`, inclusive. (Default: `500`) - * maxResults: 'placeholder-value', - * // Sorts list results by a certain order. By default, results - * // are returned in alphanumerical order based on the resource name. - * // - * // You can also sort results in descending order based on the creation - * // timestamp using `orderBy="creationTimestamp desc"`. This sorts - * // results based on the `creationTimestamp` field in - * // reverse chronological order (newest result first). Use this to sort - * // resources like operations so that the newest operation is returned first. - * // - * // Currently, only sorting by `name` or - * // `creationTimestamp desc` is supported. - * orderBy: 'placeholder-value', - * // Specifies a page token to use. Set `pageToken` to the - * // `nextPageToken` returned by a previous list request to get - * // the next page of results. - * pageToken: 'placeholder-value', + * const res = await compute.interconnectAttachments.patch({ + * // Name of the interconnect attachment to patch. + * interconnectAttachment: + * '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Opt-in for partial success behavior which provides partial results in case - * // of failure. The default value is false. + * // Name of the region scoping this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. * // - * // For example, when partial success behavior is enabled, aggregatedList for a - * // single zone scope either returns all resources in the zone or no resources, - * // with an error code. - * returnPartialSuccess: 'placeholder-value', - * // The name of the zone for this request. - * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "adminEnabled": false, + * // "attachmentGroup": "my_attachmentGroup", + * // "bandwidth": "my_bandwidth", + * // "candidateCloudRouterIpAddress": "my_candidateCloudRouterIpAddress", + * // "candidateCloudRouterIpv6Address": "my_candidateCloudRouterIpv6Address", + * // "candidateCustomerRouterIpAddress": "my_candidateCustomerRouterIpAddress", + * // "candidateCustomerRouterIpv6Address": "my_candidateCustomerRouterIpv6Address", + * // "candidateIpv6Subnets": [], + * // "candidateSubnets": [], + * // "cloudRouterIpAddress": "my_cloudRouterIpAddress", + * // "cloudRouterIpv6Address": "my_cloudRouterIpv6Address", + * // "cloudRouterIpv6InterfaceId": "my_cloudRouterIpv6InterfaceId", + * // "configurationConstraints": {}, + * // "creationTimestamp": "my_creationTimestamp", + * // "customerRouterIpAddress": "my_customerRouterIpAddress", + * // "customerRouterIpv6Address": "my_customerRouterIpv6Address", + * // "customerRouterIpv6InterfaceId": "my_customerRouterIpv6InterfaceId", + * // "dataplaneVersion": 0, + * // "description": "my_description", + * // "edgeAvailabilityDomain": "my_edgeAvailabilityDomain", + * // "encryption": "my_encryption", + * // "googleReferenceId": "my_googleReferenceId", + * // "id": "my_id", + * // "interconnect": "my_interconnect", + * // "ipsecInternalAddresses": [], + * // "kind": "my_kind", + * // "l2Forwarding": {}, + * // "labelFingerprint": "my_labelFingerprint", + * // "labels": {}, + * // "mtu": 0, + * // "multicastEnabled": false, + * // "name": "my_name", + * // "operationalStatus": "my_operationalStatus", + * // "pairingKey": "my_pairingKey", + * // "params": {}, + * // "partnerAsn": "my_partnerAsn", + * // "partnerMetadata": {}, + * // "privateInterconnectInfo": {}, + * // "region": "my_region", + * // "remoteService": "my_remoteService", + * // "router": "my_router", + * // "satisfiesPzs": false, + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "stackType": "my_stackType", + * // "state": "my_state", + * // "subnetLength": 0, + * // "type": "my_type", + * // "vlanTag8021q": 0 + * // } + * }, * }); * console.log(res.data); * * // Example response * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, * // "id": "my_id", - * // "items": [], + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, * // "kind": "my_kind", - * // "nextPageToken": "my_nextPageToken", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", * // "selfLink": "my_selfLink", - * // "warning": {} + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" * // } * } * @@ -127199,53 +133568,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - list( - params: Params$Resource$Instantsnapshots$List, + patch( + params: Params$Resource$Interconnectattachments$Patch, options: StreamMethodOptions ): Promise>; - list( - params?: Params$Resource$Instantsnapshots$List, + patch( + params?: Params$Resource$Interconnectattachments$Patch, options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Instantsnapshots$List, + ): Promise>; + patch( + params: Params$Resource$Interconnectattachments$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Instantsnapshots$List, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + patch( + params: Params$Resource$Interconnectattachments$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Instantsnapshots$List, - callback: BodyResponseCallback + patch( + params: Params$Resource$Interconnectattachments$Patch, + callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; - list( + patch(callback: BodyResponseCallback): void; + patch( paramsOrCallback?: - | Params$Resource$Instantsnapshots$List - | BodyResponseCallback + | Params$Resource$Interconnectattachments$Patch + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instantsnapshots$List; + {}) as Params$Resource$Interconnectattachments$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instantsnapshots$List; + params = {} as Params$Resource$Interconnectattachments$Patch; options = {}; } @@ -127260,25 +133629,25 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instantSnapshots' + '/compute/alpha/projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'PATCH', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone'], - pathParams: ['project', 'zone'], + requiredParams: ['project', 'region', 'interconnectAttachment'], + pathParams: ['interconnectAttachment', 'project', 'region'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } @@ -127316,14 +133685,14 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instantSnapshots.setIamPolicy({ + * const res = await compute.interconnectAttachments.setIamPolicy({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // The name of the region for this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * // Name or id of the resource for this request. * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // The name of the zone for this request. - * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * * // Request body metadata * requestBody: { @@ -127359,31 +133728,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ setIamPolicy( - params: Params$Resource$Instantsnapshots$Setiampolicy, + params: Params$Resource$Interconnectattachments$Setiampolicy, options: StreamMethodOptions ): Promise>; setIamPolicy( - params?: Params$Resource$Instantsnapshots$Setiampolicy, + params?: Params$Resource$Interconnectattachments$Setiampolicy, options?: MethodOptions ): Promise>; setIamPolicy( - params: Params$Resource$Instantsnapshots$Setiampolicy, + params: Params$Resource$Interconnectattachments$Setiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; setIamPolicy( - params: Params$Resource$Instantsnapshots$Setiampolicy, + params: Params$Resource$Interconnectattachments$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; setIamPolicy( - params: Params$Resource$Instantsnapshots$Setiampolicy, + params: Params$Resource$Interconnectattachments$Setiampolicy, callback: BodyResponseCallback ): void; setIamPolicy(callback: BodyResponseCallback): void; setIamPolicy( paramsOrCallback?: - | Params$Resource$Instantsnapshots$Setiampolicy + | Params$Resource$Interconnectattachments$Setiampolicy | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -127399,12 +133768,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instantsnapshots$Setiampolicy; + {}) as Params$Resource$Interconnectattachments$Setiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instantsnapshots$Setiampolicy; + params = {} as Params$Resource$Interconnectattachments$Setiampolicy; options = {}; } @@ -127419,7 +133788,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instantSnapshots/{resource}/setIamPolicy' + '/compute/alpha/projects/{project}/regions/{region}/interconnectAttachments/{resource}/setIamPolicy' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -127427,8 +133796,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'zone', 'resource'], - pathParams: ['project', 'resource', 'zone'], + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], context: this.context, }; if (callback) { @@ -127442,8 +133811,8 @@ export namespace compute_alpha { } /** - * Sets the labels on a instantSnapshot in the given zone. To learn more about - * labels, read the Labeling + * Sets the labels on an InterconnectAttachment. To learn more about labels, + * read the Labeling * Resources documentation. * @example * ```js @@ -127476,10 +133845,12 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instantSnapshots.setLabels({ + * const res = await compute.interconnectAttachments.setLabels({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // The region for this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * // An optional request ID to identify requests. Specify a unique request ID so * // that if you must retry your request, the server will know to ignore the * // request if it has already been completed. @@ -127496,8 +133867,6 @@ export namespace compute_alpha { * requestId: 'placeholder-value', * // Name or id of the resource for this request. * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // The name of the zone for this request. - * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * * // Request body metadata * requestBody: { @@ -127556,31 +133925,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ setLabels( - params: Params$Resource$Instantsnapshots$Setlabels, + params: Params$Resource$Interconnectattachments$Setlabels, options: StreamMethodOptions ): Promise>; setLabels( - params?: Params$Resource$Instantsnapshots$Setlabels, + params?: Params$Resource$Interconnectattachments$Setlabels, options?: MethodOptions ): Promise>; setLabels( - params: Params$Resource$Instantsnapshots$Setlabels, + params: Params$Resource$Interconnectattachments$Setlabels, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; setLabels( - params: Params$Resource$Instantsnapshots$Setlabels, + params: Params$Resource$Interconnectattachments$Setlabels, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; setLabels( - params: Params$Resource$Instantsnapshots$Setlabels, + params: Params$Resource$Interconnectattachments$Setlabels, callback: BodyResponseCallback ): void; setLabels(callback: BodyResponseCallback): void; setLabels( paramsOrCallback?: - | Params$Resource$Instantsnapshots$Setlabels + | Params$Resource$Interconnectattachments$Setlabels | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -127596,12 +133965,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instantsnapshots$Setlabels; + {}) as Params$Resource$Interconnectattachments$Setlabels; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instantsnapshots$Setlabels; + params = {} as Params$Resource$Interconnectattachments$Setlabels; options = {}; } @@ -127616,7 +133985,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instantSnapshots/{resource}/setLabels' + '/compute/alpha/projects/{project}/regions/{region}/interconnectAttachments/{resource}/setLabels' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -127624,8 +133993,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'zone', 'resource'], - pathParams: ['project', 'resource', 'zone'], + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], context: this.context, }; if (callback) { @@ -127672,14 +134041,14 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.instantSnapshots.testIamPermissions({ + * const res = await compute.interconnectAttachments.testIamPermissions({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // The name of the region for this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * // Name or id of the resource for this request. * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // The name of the zone for this request. - * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * * // Request body metadata * requestBody: { @@ -127710,27 +134079,27 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ testIamPermissions( - params: Params$Resource$Instantsnapshots$Testiampermissions, + params: Params$Resource$Interconnectattachments$Testiampermissions, options: StreamMethodOptions ): Promise>; testIamPermissions( - params?: Params$Resource$Instantsnapshots$Testiampermissions, + params?: Params$Resource$Interconnectattachments$Testiampermissions, options?: MethodOptions ): Promise>; testIamPermissions( - params: Params$Resource$Instantsnapshots$Testiampermissions, + params: Params$Resource$Interconnectattachments$Testiampermissions, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; testIamPermissions( - params: Params$Resource$Instantsnapshots$Testiampermissions, + params: Params$Resource$Interconnectattachments$Testiampermissions, options: | MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; testIamPermissions( - params: Params$Resource$Instantsnapshots$Testiampermissions, + params: Params$Resource$Interconnectattachments$Testiampermissions, callback: BodyResponseCallback ): void; testIamPermissions( @@ -127738,7 +134107,7 @@ export namespace compute_alpha { ): void; testIamPermissions( paramsOrCallback?: - | Params$Resource$Instantsnapshots$Testiampermissions + | Params$Resource$Interconnectattachments$Testiampermissions | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -127754,12 +134123,13 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Instantsnapshots$Testiampermissions; + {}) as Params$Resource$Interconnectattachments$Testiampermissions; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instantsnapshots$Testiampermissions; + params = + {} as Params$Resource$Interconnectattachments$Testiampermissions; options = {}; } @@ -127774,7 +134144,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instantSnapshots/{resource}/testIamPermissions' + '/compute/alpha/projects/{project}/regions/{region}/interconnectAttachments/{resource}/testIamPermissions' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -127782,8 +134152,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'zone', 'resource'], - pathParams: ['project', 'resource', 'zone'], + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], context: this.context, }; if (callback) { @@ -127797,7 +134167,7 @@ export namespace compute_alpha { } } - export interface Params$Resource$Instantsnapshots$Aggregatedlist extends StandardParameters { + export interface Params$Resource$Interconnectattachments$Aggregatedlist extends StandardParameters { /** * A filter expression that filters resources listed in the response. Most * Compute resources support two types of filter expressions: @@ -127916,15 +134286,19 @@ export namespace compute_alpha { */ serviceProjectNumber?: string; } - export interface Params$Resource$Instantsnapshots$Delete extends StandardParameters { + export interface Params$Resource$Interconnectattachments$Delete extends StandardParameters { /** - * Name of the InstantSnapshot resource to delete. + * Name of the interconnect attachment to delete. */ - instantSnapshot?: string; + interconnectAttachment?: string; /** * Project ID for this request. */ project?: string; + /** + * Name of the region for this request. + */ + region?: string; /** * An optional request ID to identify requests. Specify a unique request ID so * that if you must retry your request, the server will know to ignore the @@ -127941,26 +134315,22 @@ export namespace compute_alpha { * (00000000-0000-0000-0000-000000000000). */ requestId?: string; - /** - * The name of the zone for this request. - */ - zone?: string; } - export interface Params$Resource$Instantsnapshots$Get extends StandardParameters { + export interface Params$Resource$Interconnectattachments$Get extends StandardParameters { /** - * Name of the InstantSnapshot resource to return. + * Name of the interconnect attachment to return. */ - instantSnapshot?: string; + interconnectAttachment?: string; /** * Project ID for this request. */ project?: string; /** - * The name of the zone for this request. + * Name of the region for this request. */ - zone?: string; + region?: string; } - export interface Params$Resource$Instantsnapshots$Getiampolicy extends StandardParameters { + export interface Params$Resource$Interconnectattachments$Getiampolicy extends StandardParameters { /** * Requested IAM Policy version. */ @@ -127970,19 +134340,23 @@ export namespace compute_alpha { */ project?: string; /** - * Name or id of the resource for this request. + * The name of the region for this request. */ - resource?: string; + region?: string; /** - * The name of the zone for this request. + * Name or id of the resource for this request. */ - zone?: string; + resource?: string; } - export interface Params$Resource$Instantsnapshots$Insert extends StandardParameters { + export interface Params$Resource$Interconnectattachments$Insert extends StandardParameters { /** * Project ID for this request. */ project?: string; + /** + * Name of the region for this request. + */ + region?: string; /** * An optional request ID to identify requests. Specify a unique request ID so * that if you must retry your request, the server will know to ignore the @@ -128000,16 +134374,16 @@ export namespace compute_alpha { */ requestId?: string; /** - * Name of the zone for this request. + * If true, the request will not be committed. */ - zone?: string; + validateOnly?: boolean; /** * Request body metadata */ - requestBody?: Schema$InstantSnapshot; + requestBody?: Schema$InterconnectAttachment; } - export interface Params$Resource$Instantsnapshots$List extends StandardParameters { + export interface Params$Resource$Interconnectattachments$List extends StandardParameters { /** * A filter expression that filters resources listed in the response. Most * Compute resources support two types of filter expressions: @@ -128103,6 +134477,10 @@ export namespace compute_alpha { * Project ID for this request. */ project?: string; + /** + * Name of the region for this request. + */ + region?: string; /** * Opt-in for partial success behavior which provides partial results in case * of failure. The default value is false. @@ -128112,35 +134490,70 @@ export namespace compute_alpha { * with an error code. */ returnPartialSuccess?: boolean; + } + export interface Params$Resource$Interconnectattachments$Patch extends StandardParameters { /** - * The name of the zone for this request. + * Name of the interconnect attachment to patch. */ - zone?: string; + interconnectAttachment?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InterconnectAttachment; } - export interface Params$Resource$Instantsnapshots$Setiampolicy extends StandardParameters { + export interface Params$Resource$Interconnectattachments$Setiampolicy extends StandardParameters { /** * Project ID for this request. */ project?: string; /** - * Name or id of the resource for this request. + * The name of the region for this request. */ - resource?: string; + region?: string; /** - * The name of the zone for this request. + * Name or id of the resource for this request. */ - zone?: string; + resource?: string; /** * Request body metadata */ - requestBody?: Schema$ZoneSetPolicyRequest; + requestBody?: Schema$RegionSetPolicyRequest; } - export interface Params$Resource$Instantsnapshots$Setlabels extends StandardParameters { + export interface Params$Resource$Interconnectattachments$Setlabels extends StandardParameters { /** * Project ID for this request. */ project?: string; + /** + * The region for this request. + */ + region?: string; /** * An optional request ID to identify requests. Specify a unique request ID so * that if you must retry your request, the server will know to ignore the @@ -128161,29 +134574,25 @@ export namespace compute_alpha { * Name or id of the resource for this request. */ resource?: string; - /** - * The name of the zone for this request. - */ - zone?: string; /** * Request body metadata */ - requestBody?: Schema$ZoneSetLabelsRequest; + requestBody?: Schema$RegionSetLabelsRequest; } - export interface Params$Resource$Instantsnapshots$Testiampermissions extends StandardParameters { + export interface Params$Resource$Interconnectattachments$Testiampermissions extends StandardParameters { /** * Project ID for this request. */ project?: string; /** - * Name or id of the resource for this request. + * The name of the region for this request. */ - resource?: string; + region?: string; /** - * The name of the zone for this request. + * Name or id of the resource for this request. */ - zone?: string; + resource?: string; /** * Request body metadata @@ -128191,15 +134600,15 @@ export namespace compute_alpha { requestBody?: Schema$TestPermissionsRequest; } - export class Resource$Interconnectattachmentgroups { + export class Resource$Interconnectgroups { context: APIRequestContext; constructor(context: APIRequestContext) { this.context = context; } /** - * Create Interconnect Attachments with redundancy by creating them in a - * specified interconnect attachment group. + * Create Interconnects with redundancy by creating them in a specified + * interconnect group. * @example * ```js * // Before running the sample: @@ -128231,10 +134640,9 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.interconnectAttachmentGroups.createMembers({ + * const res = await compute.interconnectGroups.createMembers({ * // Name of the group resource to create members for. - * interconnectAttachmentGroup: - * '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * interconnectGroup: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -128295,31 +134703,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ createMembers( - params: Params$Resource$Interconnectattachmentgroups$Createmembers, + params: Params$Resource$Interconnectgroups$Createmembers, options: StreamMethodOptions ): Promise>; createMembers( - params?: Params$Resource$Interconnectattachmentgroups$Createmembers, + params?: Params$Resource$Interconnectgroups$Createmembers, options?: MethodOptions ): Promise>; createMembers( - params: Params$Resource$Interconnectattachmentgroups$Createmembers, + params: Params$Resource$Interconnectgroups$Createmembers, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; createMembers( - params: Params$Resource$Interconnectattachmentgroups$Createmembers, + params: Params$Resource$Interconnectgroups$Createmembers, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; createMembers( - params: Params$Resource$Interconnectattachmentgroups$Createmembers, + params: Params$Resource$Interconnectgroups$Createmembers, callback: BodyResponseCallback ): void; createMembers(callback: BodyResponseCallback): void; createMembers( paramsOrCallback?: - | Params$Resource$Interconnectattachmentgroups$Createmembers + | Params$Resource$Interconnectgroups$Createmembers | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -128335,13 +134743,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Interconnectattachmentgroups$Createmembers; + {}) as Params$Resource$Interconnectgroups$Createmembers; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Interconnectattachmentgroups$Createmembers; + params = {} as Params$Resource$Interconnectgroups$Createmembers; options = {}; } @@ -128356,7 +134763,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/interconnectAttachmentGroups/{interconnectAttachmentGroup}/createMembers' + '/compute/alpha/projects/{project}/global/interconnectGroups/{interconnectGroup}/createMembers' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -128364,8 +134771,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'interconnectAttachmentGroup'], - pathParams: ['interconnectAttachmentGroup', 'project'], + requiredParams: ['project', 'interconnectGroup'], + pathParams: ['interconnectGroup', 'project'], context: this.context, }; if (callback) { @@ -128379,7 +134786,7 @@ export namespace compute_alpha { } /** - * Deletes the specified InterconnectAttachmentGroup in the given scope + * Deletes the specified InterconnectGroup in the given scope * @example * ```js * // Before running the sample: @@ -128411,10 +134818,9 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.interconnectAttachmentGroups.delete({ - * // Name of the InterconnectAttachmentGroup resource to delete. - * interconnectAttachmentGroup: - * '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.interconnectGroups.delete({ + * // Name of the InterconnectGroup resource to delete. + * interconnectGroup: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -128482,31 +134888,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ delete( - params: Params$Resource$Interconnectattachmentgroups$Delete, + params: Params$Resource$Interconnectgroups$Delete, options: StreamMethodOptions ): Promise>; delete( - params?: Params$Resource$Interconnectattachmentgroups$Delete, + params?: Params$Resource$Interconnectgroups$Delete, options?: MethodOptions ): Promise>; delete( - params: Params$Resource$Interconnectattachmentgroups$Delete, + params: Params$Resource$Interconnectgroups$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Interconnectattachmentgroups$Delete, + params: Params$Resource$Interconnectgroups$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Interconnectattachmentgroups$Delete, + params: Params$Resource$Interconnectgroups$Delete, callback: BodyResponseCallback ): void; delete(callback: BodyResponseCallback): void; delete( paramsOrCallback?: - | Params$Resource$Interconnectattachmentgroups$Delete + | Params$Resource$Interconnectgroups$Delete | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -128522,12 +134928,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Interconnectattachmentgroups$Delete; + {}) as Params$Resource$Interconnectgroups$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Interconnectattachmentgroups$Delete; + params = {} as Params$Resource$Interconnectgroups$Delete; options = {}; } @@ -128542,7 +134948,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/interconnectAttachmentGroups/{interconnectAttachmentGroup}' + '/compute/alpha/projects/{project}/global/interconnectGroups/{interconnectGroup}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'DELETE', apiVersion: '', @@ -128550,8 +134956,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'interconnectAttachmentGroup'], - pathParams: ['interconnectAttachmentGroup', 'project'], + requiredParams: ['project', 'interconnectGroup'], + pathParams: ['interconnectGroup', 'project'], context: this.context, }; if (callback) { @@ -128565,8 +134971,7 @@ export namespace compute_alpha { } /** - * Returns the specified InterconnectAttachmentGroup resource in the given - * scope. + * Returns the specified InterconnectGroup resource in the given scope. * @example * ```js * // Before running the sample: @@ -128599,10 +135004,9 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.interconnectAttachmentGroups.get({ - * // Name of the InterconnectAttachmentGroup resource to return. - * interconnectAttachmentGroup: - * '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.interconnectGroups.get({ + * // Name of the InterconnectGroup resource to return. + * interconnectGroup: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -128611,17 +135015,16 @@ export namespace compute_alpha { * * // Example response * // { - * // "attachments": {}, * // "configured": {}, * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", * // "etag": "my_etag", * // "id": "my_id", * // "intent": {}, - * // "interconnectGroup": "my_interconnectGroup", + * // "interconnects": {}, * // "kind": "my_kind", - * // "logicalStructure": {}, * // "name": "my_name", + * // "physicalStructure": {}, * // "selfLink": "my_selfLink" * // } * } @@ -128639,56 +135042,52 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ get( - params: Params$Resource$Interconnectattachmentgroups$Get, + params: Params$Resource$Interconnectgroups$Get, options: StreamMethodOptions ): Promise>; get( - params?: Params$Resource$Interconnectattachmentgroups$Get, + params?: Params$Resource$Interconnectgroups$Get, options?: MethodOptions - ): Promise>; + ): Promise>; get( - params: Params$Resource$Interconnectattachmentgroups$Get, + params: Params$Resource$Interconnectgroups$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; get( - params: Params$Resource$Interconnectattachmentgroups$Get, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Interconnectattachmentgroups$Get, - callback: BodyResponseCallback + params: Params$Resource$Interconnectgroups$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; get( - callback: BodyResponseCallback + params: Params$Resource$Interconnectgroups$Get, + callback: BodyResponseCallback ): void; + get(callback: BodyResponseCallback): void; get( paramsOrCallback?: - | Params$Resource$Interconnectattachmentgroups$Get - | BodyResponseCallback + | Params$Resource$Interconnectgroups$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Interconnectattachmentgroups$Get; + {}) as Params$Resource$Interconnectgroups$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Interconnectattachmentgroups$Get; + params = {} as Params$Resource$Interconnectgroups$Get; options = {}; } @@ -128703,7 +135102,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/interconnectAttachmentGroups/{interconnectAttachmentGroup}' + '/compute/alpha/projects/{project}/global/interconnectGroups/{interconnectGroup}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -128711,17 +135110,17 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'interconnectAttachmentGroup'], - pathParams: ['interconnectAttachmentGroup', 'project'], + requiredParams: ['project', 'interconnectGroup'], + pathParams: ['interconnectGroup', 'project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } @@ -128760,7 +135159,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.interconnectAttachmentGroups.getIamPolicy({ + * const res = await compute.interconnectGroups.getIamPolicy({ * // Requested IAM Policy version. * optionsRequestedPolicyVersion: 'placeholder-value', * // Project ID for this request. @@ -128793,31 +135192,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ getIamPolicy( - params: Params$Resource$Interconnectattachmentgroups$Getiampolicy, + params: Params$Resource$Interconnectgroups$Getiampolicy, options: StreamMethodOptions ): Promise>; getIamPolicy( - params?: Params$Resource$Interconnectattachmentgroups$Getiampolicy, + params?: Params$Resource$Interconnectgroups$Getiampolicy, options?: MethodOptions ): Promise>; getIamPolicy( - params: Params$Resource$Interconnectattachmentgroups$Getiampolicy, + params: Params$Resource$Interconnectgroups$Getiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; getIamPolicy( - params: Params$Resource$Interconnectattachmentgroups$Getiampolicy, + params: Params$Resource$Interconnectgroups$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; getIamPolicy( - params: Params$Resource$Interconnectattachmentgroups$Getiampolicy, + params: Params$Resource$Interconnectgroups$Getiampolicy, callback: BodyResponseCallback ): void; getIamPolicy(callback: BodyResponseCallback): void; getIamPolicy( paramsOrCallback?: - | Params$Resource$Interconnectattachmentgroups$Getiampolicy + | Params$Resource$Interconnectgroups$Getiampolicy | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -128833,13 +135232,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Interconnectattachmentgroups$Getiampolicy; + {}) as Params$Resource$Interconnectgroups$Getiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Interconnectattachmentgroups$Getiampolicy; + params = {} as Params$Resource$Interconnectgroups$Getiampolicy; options = {}; } @@ -128854,7 +135252,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/interconnectAttachmentGroups/{resource}/getIamPolicy' + '/compute/alpha/projects/{project}/global/interconnectGroups/{resource}/getIamPolicy' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -128877,8 +135275,8 @@ export namespace compute_alpha { } /** - * Returns the InterconnectAttachmentStatuses for the specified - * InterconnectAttachmentGroup resource. + * Returns the interconnectStatuses for the specified + * InterconnectGroup. * @example * ```js * // Before running the sample: @@ -128911,10 +135309,9 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.interconnectAttachmentGroups.getOperationalStatus({ - * // Name of the interconnectAttachmentGroup resource to query. - * interconnectAttachmentGroup: - * '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.interconnectGroups.getOperationalStatus({ + * // Name of the interconnectGroup resource to query. + * interconnectGroup: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -128941,61 +135338,60 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ getOperationalStatus( - params: Params$Resource$Interconnectattachmentgroups$Getoperationalstatus, + params: Params$Resource$Interconnectgroups$Getoperationalstatus, options: StreamMethodOptions ): Promise>; getOperationalStatus( - params?: Params$Resource$Interconnectattachmentgroups$Getoperationalstatus, + params?: Params$Resource$Interconnectgroups$Getoperationalstatus, options?: MethodOptions ): Promise< - GaxiosResponseWithHTTP2 + GaxiosResponseWithHTTP2 >; getOperationalStatus( - params: Params$Resource$Interconnectattachmentgroups$Getoperationalstatus, + params: Params$Resource$Interconnectgroups$Getoperationalstatus, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; getOperationalStatus( - params: Params$Resource$Interconnectattachmentgroups$Getoperationalstatus, + params: Params$Resource$Interconnectgroups$Getoperationalstatus, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; getOperationalStatus( - params: Params$Resource$Interconnectattachmentgroups$Getoperationalstatus, - callback: BodyResponseCallback + params: Params$Resource$Interconnectgroups$Getoperationalstatus, + callback: BodyResponseCallback ): void; getOperationalStatus( - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; getOperationalStatus( paramsOrCallback?: - | Params$Resource$Interconnectattachmentgroups$Getoperationalstatus - | BodyResponseCallback + | Params$Resource$Interconnectgroups$Getoperationalstatus + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void | Promise< - GaxiosResponseWithHTTP2 + GaxiosResponseWithHTTP2 > | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Interconnectattachmentgroups$Getoperationalstatus; + {}) as Params$Resource$Interconnectgroups$Getoperationalstatus; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Interconnectattachmentgroups$Getoperationalstatus; + params = {} as Params$Resource$Interconnectgroups$Getoperationalstatus; options = {}; } @@ -129010,7 +135406,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/interconnectAttachmentGroups/{interconnectAttachmentGroup}/getOperationalStatus' + '/compute/alpha/projects/{project}/global/interconnectGroups/{interconnectGroup}/getOperationalStatus' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -129018,25 +135414,25 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'interconnectAttachmentGroup'], - pathParams: ['interconnectAttachmentGroup', 'project'], + requiredParams: ['project', 'interconnectGroup'], + pathParams: ['interconnectGroup', 'project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( + return createAPIRequest( parameters ); } } /** - * Creates a InterconnectAttachmentGroup in the specified project in the given - * scope using the parameters that are included in the request. + * Creates a InterconnectGroup in the specified project in the given scope + * using the parameters that are included in the request. * @example * ```js * // Before running the sample: @@ -129068,7 +135464,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.interconnectAttachmentGroups.insert({ + * const res = await compute.interconnectGroups.insert({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -129092,17 +135488,16 @@ export namespace compute_alpha { * requestBody: { * // request body parameters * // { - * // "attachments": {}, * // "configured": {}, * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", * // "etag": "my_etag", * // "id": "my_id", * // "intent": {}, - * // "interconnectGroup": "my_interconnectGroup", + * // "interconnects": {}, * // "kind": "my_kind", - * // "logicalStructure": {}, * // "name": "my_name", + * // "physicalStructure": {}, * // "selfLink": "my_selfLink" * // } * }, @@ -129155,31 +135550,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ insert( - params: Params$Resource$Interconnectattachmentgroups$Insert, + params: Params$Resource$Interconnectgroups$Insert, options: StreamMethodOptions ): Promise>; insert( - params?: Params$Resource$Interconnectattachmentgroups$Insert, + params?: Params$Resource$Interconnectgroups$Insert, options?: MethodOptions ): Promise>; insert( - params: Params$Resource$Interconnectattachmentgroups$Insert, + params: Params$Resource$Interconnectgroups$Insert, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; insert( - params: Params$Resource$Interconnectattachmentgroups$Insert, + params: Params$Resource$Interconnectgroups$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; insert( - params: Params$Resource$Interconnectattachmentgroups$Insert, + params: Params$Resource$Interconnectgroups$Insert, callback: BodyResponseCallback ): void; insert(callback: BodyResponseCallback): void; insert( paramsOrCallback?: - | Params$Resource$Interconnectattachmentgroups$Insert + | Params$Resource$Interconnectgroups$Insert | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -129195,12 +135590,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Interconnectattachmentgroups$Insert; + {}) as Params$Resource$Interconnectgroups$Insert; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Interconnectattachmentgroups$Insert; + params = {} as Params$Resource$Interconnectgroups$Insert; options = {}; } @@ -129215,7 +135610,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/interconnectAttachmentGroups' + '/compute/alpha/projects/{project}/global/interconnectGroups' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -129238,7 +135633,7 @@ export namespace compute_alpha { } /** - * Lists the InterconnectAttachmentGroups for a project in the given scope. + * Lists the InterconnectGroups for a project in the given scope. * @example * ```js * // Before running the sample: @@ -129271,7 +135666,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.interconnectAttachmentGroups.list({ + * const res = await compute.interconnectGroups.list({ * // A filter expression that filters resources listed in the response. Most * // Compute resources support two types of filter expressions: * // expressions that support regular expressions and expressions that follow @@ -129392,60 +135787,56 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ list( - params: Params$Resource$Interconnectattachmentgroups$List, + params: Params$Resource$Interconnectgroups$List, options: StreamMethodOptions ): Promise>; list( - params?: Params$Resource$Interconnectattachmentgroups$List, + params?: Params$Resource$Interconnectgroups$List, options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; + ): Promise>; list( - params: Params$Resource$Interconnectattachmentgroups$List, + params: Params$Resource$Interconnectgroups$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; list( - params: Params$Resource$Interconnectattachmentgroups$List, + params: Params$Resource$Interconnectgroups$List, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; list( - params: Params$Resource$Interconnectattachmentgroups$List, - callback: BodyResponseCallback + params: Params$Resource$Interconnectgroups$List, + callback: BodyResponseCallback ): void; list( - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; list( paramsOrCallback?: - | Params$Resource$Interconnectattachmentgroups$List - | BodyResponseCallback + | Params$Resource$Interconnectgroups$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise< - GaxiosResponseWithHTTP2 - > + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Interconnectattachmentgroups$List; + {}) as Params$Resource$Interconnectgroups$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Interconnectattachmentgroups$List; + params = {} as Params$Resource$Interconnectgroups$List; options = {}; } @@ -129460,7 +135851,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/interconnectAttachmentGroups' + '/compute/alpha/projects/{project}/global/interconnectGroups' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -129473,20 +135864,20 @@ export namespace compute_alpha { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( + return createAPIRequest( parameters ); } } /** - * Patches the specified InterconnectAttachmentGroup resource with the data - * included in the request. This method supports PATCH + * Patches the specified InterconnectGroup resource with the data included in + * the request. This method supports PATCH * semantics and usesJSON merge * patch format and processing rules. * @example @@ -129520,10 +135911,9 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.interconnectAttachmentGroups.patch({ - * // Name of the InterconnectAttachmentGroup resource to patch. - * interconnectAttachmentGroup: - * '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.interconnectGroups.patch({ + * // Name of the InterconnectGroup resource to patch. + * interconnectGroup: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -129549,17 +135939,16 @@ export namespace compute_alpha { * requestBody: { * // request body parameters * // { - * // "attachments": {}, * // "configured": {}, * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", * // "etag": "my_etag", * // "id": "my_id", * // "intent": {}, - * // "interconnectGroup": "my_interconnectGroup", + * // "interconnects": {}, * // "kind": "my_kind", - * // "logicalStructure": {}, * // "name": "my_name", + * // "physicalStructure": {}, * // "selfLink": "my_selfLink" * // } * }, @@ -129612,31 +136001,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ patch( - params: Params$Resource$Interconnectattachmentgroups$Patch, + params: Params$Resource$Interconnectgroups$Patch, options: StreamMethodOptions ): Promise>; patch( - params?: Params$Resource$Interconnectattachmentgroups$Patch, + params?: Params$Resource$Interconnectgroups$Patch, options?: MethodOptions ): Promise>; patch( - params: Params$Resource$Interconnectattachmentgroups$Patch, + params: Params$Resource$Interconnectgroups$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; patch( - params: Params$Resource$Interconnectattachmentgroups$Patch, + params: Params$Resource$Interconnectgroups$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; patch( - params: Params$Resource$Interconnectattachmentgroups$Patch, + params: Params$Resource$Interconnectgroups$Patch, callback: BodyResponseCallback ): void; patch(callback: BodyResponseCallback): void; patch( paramsOrCallback?: - | Params$Resource$Interconnectattachmentgroups$Patch + | Params$Resource$Interconnectgroups$Patch | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -129652,12 +136041,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Interconnectattachmentgroups$Patch; + {}) as Params$Resource$Interconnectgroups$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Interconnectattachmentgroups$Patch; + params = {} as Params$Resource$Interconnectgroups$Patch; options = {}; } @@ -129672,7 +136061,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/interconnectAttachmentGroups/{interconnectAttachmentGroup}' + '/compute/alpha/projects/{project}/global/interconnectGroups/{interconnectGroup}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'PATCH', apiVersion: '', @@ -129680,8 +136069,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'interconnectAttachmentGroup'], - pathParams: ['interconnectAttachmentGroup', 'project'], + requiredParams: ['project', 'interconnectGroup'], + pathParams: ['interconnectGroup', 'project'], context: this.context, }; if (callback) { @@ -129728,7 +136117,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.interconnectAttachmentGroups.setIamPolicy({ + * const res = await compute.interconnectGroups.setIamPolicy({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -129769,31 +136158,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ setIamPolicy( - params: Params$Resource$Interconnectattachmentgroups$Setiampolicy, + params: Params$Resource$Interconnectgroups$Setiampolicy, options: StreamMethodOptions ): Promise>; setIamPolicy( - params?: Params$Resource$Interconnectattachmentgroups$Setiampolicy, + params?: Params$Resource$Interconnectgroups$Setiampolicy, options?: MethodOptions ): Promise>; setIamPolicy( - params: Params$Resource$Interconnectattachmentgroups$Setiampolicy, + params: Params$Resource$Interconnectgroups$Setiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; setIamPolicy( - params: Params$Resource$Interconnectattachmentgroups$Setiampolicy, + params: Params$Resource$Interconnectgroups$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; setIamPolicy( - params: Params$Resource$Interconnectattachmentgroups$Setiampolicy, + params: Params$Resource$Interconnectgroups$Setiampolicy, callback: BodyResponseCallback ): void; setIamPolicy(callback: BodyResponseCallback): void; setIamPolicy( paramsOrCallback?: - | Params$Resource$Interconnectattachmentgroups$Setiampolicy + | Params$Resource$Interconnectgroups$Setiampolicy | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -129809,13 +136198,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Interconnectattachmentgroups$Setiampolicy; + {}) as Params$Resource$Interconnectgroups$Setiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Interconnectattachmentgroups$Setiampolicy; + params = {} as Params$Resource$Interconnectgroups$Setiampolicy; options = {}; } @@ -129830,7 +136218,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/interconnectAttachmentGroups/{resource}/setIamPolicy' + '/compute/alpha/projects/{project}/global/interconnectGroups/{resource}/setIamPolicy' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -129886,7 +136274,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.interconnectAttachmentGroups.testIamPermissions({ + * const res = await compute.interconnectGroups.testIamPermissions({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -129922,27 +136310,27 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ testIamPermissions( - params: Params$Resource$Interconnectattachmentgroups$Testiampermissions, + params: Params$Resource$Interconnectgroups$Testiampermissions, options: StreamMethodOptions ): Promise>; testIamPermissions( - params?: Params$Resource$Interconnectattachmentgroups$Testiampermissions, + params?: Params$Resource$Interconnectgroups$Testiampermissions, options?: MethodOptions ): Promise>; testIamPermissions( - params: Params$Resource$Interconnectattachmentgroups$Testiampermissions, + params: Params$Resource$Interconnectgroups$Testiampermissions, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; testIamPermissions( - params: Params$Resource$Interconnectattachmentgroups$Testiampermissions, + params: Params$Resource$Interconnectgroups$Testiampermissions, options: | MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; testIamPermissions( - params: Params$Resource$Interconnectattachmentgroups$Testiampermissions, + params: Params$Resource$Interconnectgroups$Testiampermissions, callback: BodyResponseCallback ): void; testIamPermissions( @@ -129950,29 +136338,715 @@ export namespace compute_alpha { ): void; testIamPermissions( paramsOrCallback?: - | Params$Resource$Interconnectattachmentgroups$Testiampermissions - | BodyResponseCallback + | Params$Resource$Interconnectgroups$Testiampermissions + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Interconnectgroups$Testiampermissions; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Interconnectgroups$Testiampermissions; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/global/interconnectGroups/{resource}/testIamPermissions' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Interconnectgroups$Createmembers extends StandardParameters { + /** + * Name of the group resource to create members for. + */ + interconnectGroup?: string; + /** + * Project ID for this request. + */ + project?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InterconnectGroupsCreateMembersRequest; + } + export interface Params$Resource$Interconnectgroups$Delete extends StandardParameters { + /** + * Name of the InterconnectGroup resource to delete. + */ + interconnectGroup?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating 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 + */ + requestId?: string; + } + export interface Params$Resource$Interconnectgroups$Get extends StandardParameters { + /** + * Name of the InterconnectGroup resource to return. + */ + interconnectGroup?: string; + /** + * Project ID for this request. + */ + project?: string; + } + export interface Params$Resource$Interconnectgroups$Getiampolicy extends StandardParameters { + /** + * Requested IAM Policy version. + */ + optionsRequestedPolicyVersion?: number; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; + } + export interface Params$Resource$Interconnectgroups$Getoperationalstatus extends StandardParameters { + /** + * Name of the interconnectGroup resource to query. + */ + interconnectGroup?: string; + /** + * Project ID for this request. + */ + project?: string; + } + export interface Params$Resource$Interconnectgroups$Insert extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating 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 + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InterconnectGroup; + } + export interface Params$Resource$Interconnectgroups$List extends StandardParameters { + /** + * A filter expression that filters resources listed in the response. Most + * Compute resources support two types of filter expressions: + * expressions that support regular expressions and expressions that follow + * API improvement proposal AIP-160. + * These two types of filter expressions cannot be mixed in one request. + * + * If you want to use AIP-160, your expression must specify the field name, an + * operator, and the value that you want to use for filtering. The value + * must be a string, a number, or a boolean. The operator + * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * + * For example, if you are filtering Compute Engine instances, you can + * exclude instances named `example-instance` by specifying + * `name != example-instance`. + * + * The `:*` comparison can be used to test whether a key has been defined. + * For example, to find all objects with `owner` label use: + * ``` + * labels.owner:* + * ``` + * + * You can also filter nested fields. For example, you could specify + * `scheduling.automaticRestart = false` to include instances only + * if they are not scheduled for automatic restarts. You can use filtering + * on nested fields to filter based onresource labels. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example: + * ``` + * (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake") + * ``` + * By default, each expression is an `AND` expression. However, you + * can include `AND` and `OR` expressions explicitly. + * For example: + * ``` + * (cpuPlatform = "Intel Skylake") OR + * (cpuPlatform = "Intel Broadwell") AND + * (scheduling.automaticRestart = true) + * ``` + * + * If you want to use a regular expression, use the `eq` (equal) or `ne` + * (not equal) operator against a single un-parenthesized expression with or + * without quotes or against multiple parenthesized expressions. Examples: + * + * `fieldname eq unquoted literal` + * `fieldname eq 'single quoted literal'` + * `fieldname eq "double quoted literal"` + * `(fieldname1 eq literal) (fieldname2 ne "literal")` + * + * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * The literal value must match the entire field. + * + * For example, to filter for instances that do not end with name "instance", + * you would use `name ne .*instance`. + * + * You cannot combine constraints on multiple fields using regular + * expressions. + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. + * If the number of available results is larger than `maxResults`, + * Compute Engine returns a `nextPageToken` that can be used to get + * the next page of results in subsequent list requests. Acceptable values are + * `0` to `500`, inclusive. (Default: `500`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results + * are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation + * timestamp using `orderBy="creationTimestamp desc"`. This sorts + * results based on the `creationTimestamp` field in + * reverse chronological order (newest result first). Use this to sort + * resources like operations so that the newest operation is returned first. + * + * Currently, only sorting by `name` or + * `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the + * `nextPageToken` returned by a previous list request to get + * the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Opt-in for partial success behavior which provides partial results in case + * of failure. The default value is false. + * + * For example, when partial success behavior is enabled, aggregatedList for a + * single zone scope either returns all resources in the zone or no resources, + * with an error code. + */ + returnPartialSuccess?: boolean; + } + export interface Params$Resource$Interconnectgroups$Patch extends StandardParameters { + /** + * Name of the InterconnectGroup resource to patch. + */ + interconnectGroup?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating 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 + */ + requestId?: string; + /** + * The list of fields to update. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InterconnectGroup; + } + export interface Params$Resource$Interconnectgroups$Setiampolicy extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GlobalSetPolicyRequest; + } + export interface Params$Resource$Interconnectgroups$Testiampermissions extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + + export class Resource$Interconnectlocations { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Returns the details for the specified interconnect location. Gets a list of + * available interconnect locations by making a list() request. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.interconnectLocations.get({ + * // Name of the interconnect location to return. + * interconnectLocation: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "address": "my_address", + * // "availabilityZone": "my_availabilityZone", + * // "availableFeatures": [], + * // "availableLinkTypes": [], + * // "city": "my_city", + * // "continent": "my_continent", + * // "creationTimestamp": "my_creationTimestamp", + * // "crossSiteInterconnectInfos": [], + * // "description": "my_description", + * // "facilityProvider": "my_facilityProvider", + * // "facilityProviderFacilityId": "my_facilityProviderFacilityId", + * // "id": "my_id", + * // "kind": "my_kind", + * // "name": "my_name", + * // "peeringdbFacilityId": "my_peeringdbFacilityId", + * // "regionInfos": [], + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "singleRegionProductionCriticalPeerLocations": [], + * // "status": "my_status", + * // "supportsPzs": false + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Interconnectlocations$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Interconnectlocations$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Interconnectlocations$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Interconnectlocations$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Interconnectlocations$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Interconnectlocations$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Interconnectlocations$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Interconnectlocations$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/global/interconnectLocations/{interconnectLocation}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'interconnectLocation'], + pathParams: ['interconnectLocation', 'project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Retrieves the list of interconnect locations available to the specified + * project. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.interconnectLocations.list({ + * // A filter expression that filters resources listed in the response. Most + * // Compute resources support two types of filter expressions: + * // expressions that support regular expressions and expressions that follow + * // API improvement proposal AIP-160. + * // These two types of filter expressions cannot be mixed in one request. + * // + * // If you want to use AIP-160, your expression must specify the field name, an + * // operator, and the value that you want to use for filtering. The value + * // must be a string, a number, or a boolean. The operator + * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * // + * // For example, if you are filtering Compute Engine instances, you can + * // exclude instances named `example-instance` by specifying + * // `name != example-instance`. + * // + * // The `:*` comparison can be used to test whether a key has been defined. + * // For example, to find all objects with `owner` label use: + * // ``` + * // labels.owner:* + * // ``` + * // + * // You can also filter nested fields. For example, you could specify + * // `scheduling.automaticRestart = false` to include instances only + * // if they are not scheduled for automatic restarts. You can use filtering + * // on nested fields to filter based onresource labels. + * // + * // To filter on multiple expressions, provide each separate expression within + * // parentheses. For example: + * // ``` + * // (scheduling.automaticRestart = true) + * // (cpuPlatform = "Intel Skylake") + * // ``` + * // By default, each expression is an `AND` expression. However, you + * // can include `AND` and `OR` expressions explicitly. + * // For example: + * // ``` + * // (cpuPlatform = "Intel Skylake") OR + * // (cpuPlatform = "Intel Broadwell") AND + * // (scheduling.automaticRestart = true) + * // ``` + * // + * // If you want to use a regular expression, use the `eq` (equal) or `ne` + * // (not equal) operator against a single un-parenthesized expression with or + * // without quotes or against multiple parenthesized expressions. Examples: + * // + * // `fieldname eq unquoted literal` + * // `fieldname eq 'single quoted literal'` + * // `fieldname eq "double quoted literal"` + * // `(fieldname1 eq literal) (fieldname2 ne "literal")` + * // + * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * // The literal value must match the entire field. + * // + * // For example, to filter for instances that do not end with name "instance", + * // you would use `name ne .*instance`. + * // + * // You cannot combine constraints on multiple fields using regular + * // expressions. + * filter: 'placeholder-value', + * // The maximum number of results per page that should be returned. + * // If the number of available results is larger than `maxResults`, + * // Compute Engine returns a `nextPageToken` that can be used to get + * // the next page of results in subsequent list requests. Acceptable values are + * // `0` to `500`, inclusive. (Default: `500`) + * maxResults: 'placeholder-value', + * // Sorts list results by a certain order. By default, results + * // are returned in alphanumerical order based on the resource name. + * // + * // You can also sort results in descending order based on the creation + * // timestamp using `orderBy="creationTimestamp desc"`. This sorts + * // results based on the `creationTimestamp` field in + * // reverse chronological order (newest result first). Use this to sort + * // resources like operations so that the newest operation is returned first. + * // + * // Currently, only sorting by `name` or + * // `creationTimestamp desc` is supported. + * orderBy: 'placeholder-value', + * // Specifies a page token to use. Set `pageToken` to the + * // `nextPageToken` returned by a previous list request to get + * // the next page of results. + * pageToken: 'placeholder-value', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Opt-in for partial success behavior which provides partial results in case + * // of failure. The default value is false. + * // + * // For example, when partial success behavior is enabled, aggregatedList for a + * // single zone scope either returns all resources in the zone or no resources, + * // with an error code. + * returnPartialSuccess: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "id": "my_id", + * // "items": [], + * // "kind": "my_kind", + * // "nextPageToken": "my_nextPageToken", + * // "selfLink": "my_selfLink", + * // "warning": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Interconnectlocations$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Interconnectlocations$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Interconnectlocations$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Interconnectlocations$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Interconnectlocations$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Interconnectlocations$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Interconnectattachmentgroups$Testiampermissions; + {}) as Params$Resource$Interconnectlocations$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Interconnectattachmentgroups$Testiampermissions; + params = {} as Params$Resource$Interconnectlocations$List; options = {}; } @@ -129987,134 +137061,40 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/interconnectAttachmentGroups/{resource}/testIamPermissions' + '/compute/alpha/projects/{project}/global/interconnectLocations' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['project', 'resource'], - pathParams: ['project', 'resource'], + requiredParams: ['project'], + pathParams: ['project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } } - export interface Params$Resource$Interconnectattachmentgroups$Createmembers extends StandardParameters { - /** - * Name of the group resource to create members for. - */ - interconnectAttachmentGroup?: string; - /** - * Project ID for this request. - */ - project?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$InterconnectAttachmentGroupsCreateMembersRequest; - } - export interface Params$Resource$Interconnectattachmentgroups$Delete extends StandardParameters { - /** - * Name of the InterconnectAttachmentGroup resource to delete. - */ - interconnectAttachmentGroup?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating 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 - */ - requestId?: string; - } - export interface Params$Resource$Interconnectattachmentgroups$Get extends StandardParameters { - /** - * Name of the InterconnectAttachmentGroup resource to return. - */ - interconnectAttachmentGroup?: string; - /** - * Project ID for this request. - */ - project?: string; - } - export interface Params$Resource$Interconnectattachmentgroups$Getiampolicy extends StandardParameters { - /** - * Requested IAM Policy version. - */ - optionsRequestedPolicyVersion?: number; - /** - * Project ID for this request. - */ - project?: string; - /** - * Name or id of the resource for this request. - */ - resource?: string; - } - export interface Params$Resource$Interconnectattachmentgroups$Getoperationalstatus extends StandardParameters { - /** - * Name of the interconnectAttachmentGroup resource to query. - */ - interconnectAttachmentGroup?: string; + export interface Params$Resource$Interconnectlocations$Get extends StandardParameters { /** - * Project ID for this request. + * Name of the interconnect location to return. */ - project?: string; - } - export interface Params$Resource$Interconnectattachmentgroups$Insert extends StandardParameters { + interconnectLocation?: string; /** * Project ID for this request. */ project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating 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 - */ - requestId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$InterconnectAttachmentGroup; } - export interface Params$Resource$Interconnectattachmentgroups$List extends StandardParameters { + export interface Params$Resource$Interconnectlocations$List extends StandardParameters { /** * A filter expression that filters resources listed in the response. Most * Compute resources support two types of filter expressions: @@ -130218,84 +137198,187 @@ export namespace compute_alpha { */ returnPartialSuccess?: boolean; } - export interface Params$Resource$Interconnectattachmentgroups$Patch extends StandardParameters { - /** - * Name of the InterconnectAttachmentGroup resource to patch. - */ - interconnectAttachmentGroup?: string; - /** - * Project ID for this request. - */ - project?: string; + + export class Resource$Interconnectremotelocations { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. + * Returns the details for the specified interconnect remote location. Gets a + * list of available interconnect remote locations by making alist() request. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); * - * 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 - */ - requestId?: string; - /** - * The list of fields to update. - */ - updateMask?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$InterconnectAttachmentGroup; - } - export interface Params$Resource$Interconnectattachmentgroups$Setiampolicy extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * Name or id of the resource for this request. + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.interconnectRemoteLocations.get({ + * // Name of the interconnect remote location to return. + * interconnectRemoteLocation: + * '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "address": "my_address", + * // "attachmentConfigurationConstraints": {}, + * // "city": "my_city", + * // "constraints": {}, + * // "continent": "my_continent", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "facilityProvider": "my_facilityProvider", + * // "facilityProviderFacilityId": "my_facilityProviderFacilityId", + * // "id": "my_id", + * // "kind": "my_kind", + * // "lacp": "my_lacp", + * // "maxLagSize100Gbps": 0, + * // "maxLagSize10Gbps": 0, + * // "maxLagSize400Gbps": 0, + * // "name": "my_name", + * // "peeringdbFacilityId": "my_peeringdbFacilityId", + * // "permittedConnections": [], + * // "remoteService": "my_remoteService", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "status": "my_status" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. */ - resource?: string; + get( + params: Params$Resource$Interconnectremotelocations$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Interconnectremotelocations$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Interconnectremotelocations$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Interconnectremotelocations$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Interconnectremotelocations$Get, + callback: BodyResponseCallback + ): void; + get( + callback: BodyResponseCallback + ): void; + get( + paramsOrCallback?: + | Params$Resource$Interconnectremotelocations$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Interconnectremotelocations$Get; + let options = (optionsOrCallback || {}) as MethodOptions; - /** - * Request body metadata - */ - requestBody?: Schema$GlobalSetPolicyRequest; - } - export interface Params$Resource$Interconnectattachmentgroups$Testiampermissions extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * Name or id of the resource for this request. - */ - resource?: string; + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Interconnectremotelocations$Get; + options = {}; + } - /** - * Request body metadata - */ - requestBody?: Schema$TestPermissionsRequest; - } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } - export class Resource$Interconnectattachments { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/global/interconnectRemoteLocations/{interconnectRemoteLocation}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'interconnectRemoteLocation'], + pathParams: ['interconnectRemoteLocation', 'project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } } /** - * Retrieves an aggregated list of interconnect attachments. - * - * To prevent failure, Google recommends that you set the - * `returnPartialSuccess` parameter to `true`. + * Retrieves the list of interconnect remote locations available to the + * specified project. * @example * ```js * // Before running the sample: @@ -130328,7 +137411,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.interconnectAttachments.aggregatedList({ + * const res = await compute.interconnectRemoteLocations.list({ * // A filter expression that filters resources listed in the response. Most * // Compute resources support two types of filter expressions: * // expressions that support regular expressions and expressions that follow @@ -130388,14 +137471,6 @@ export namespace compute_alpha { * // You cannot combine constraints on multiple fields using regular * // expressions. * filter: 'placeholder-value', - * // 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. - * includeAllScopes: 'placeholder-value', * // The maximum number of results per page that should be returned. * // If the number of available results is larger than `maxResults`, * // Compute Engine returns a `nextPageToken` that can be used to get @@ -130428,20 +137503,16 @@ export namespace compute_alpha { * // single zone scope either returns all resources in the zone or no resources, * // with an error code. * returnPartialSuccess: 'placeholder-value', - * // The Shared VPC service project id or service project number for which - * // aggregated list request is invoked for subnetworks list-usable api. - * serviceProjectNumber: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { * // "id": "my_id", - * // "items": {}, + * // "items": [], * // "kind": "my_kind", * // "nextPageToken": "my_nextPageToken", * // "selfLink": "my_selfLink", - * // "unreachables": [], * // "warning": {} * // } * } @@ -130458,61 +137529,57 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - aggregatedList( - params: Params$Resource$Interconnectattachments$Aggregatedlist, + list( + params: Params$Resource$Interconnectremotelocations$List, options: StreamMethodOptions ): Promise>; - aggregatedList( - params?: Params$Resource$Interconnectattachments$Aggregatedlist, + list( + params?: Params$Resource$Interconnectremotelocations$List, options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; - aggregatedList( - params: Params$Resource$Interconnectattachments$Aggregatedlist, + ): Promise>; + list( + params: Params$Resource$Interconnectremotelocations$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - aggregatedList( - params: Params$Resource$Interconnectattachments$Aggregatedlist, + list( + params: Params$Resource$Interconnectremotelocations$List, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - aggregatedList( - params: Params$Resource$Interconnectattachments$Aggregatedlist, - callback: BodyResponseCallback + list( + params: Params$Resource$Interconnectremotelocations$List, + callback: BodyResponseCallback ): void; - aggregatedList( - callback: BodyResponseCallback + list( + callback: BodyResponseCallback ): void; - aggregatedList( + list( paramsOrCallback?: - | Params$Resource$Interconnectattachments$Aggregatedlist - | BodyResponseCallback + | Params$Resource$Interconnectremotelocations$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise< - GaxiosResponseWithHTTP2 - > + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Interconnectattachments$Aggregatedlist; + {}) as Params$Resource$Interconnectremotelocations$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Interconnectattachments$Aggregatedlist; + params = {} as Params$Resource$Interconnectremotelocations$List; options = {}; } @@ -130527,7 +137594,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/aggregated/interconnectAttachments' + '/compute/alpha/projects/{project}/global/interconnectRemoteLocations' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -130540,19 +137607,141 @@ export namespace compute_alpha { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( + return createAPIRequest( parameters ); } } + } + export interface Params$Resource$Interconnectremotelocations$Get extends StandardParameters { /** - * Deletes the specified interconnect attachment. + * Name of the interconnect remote location to return. + */ + interconnectRemoteLocation?: string; + /** + * Project ID for this request. + */ + project?: string; + } + export interface Params$Resource$Interconnectremotelocations$List extends StandardParameters { + /** + * A filter expression that filters resources listed in the response. Most + * Compute resources support two types of filter expressions: + * expressions that support regular expressions and expressions that follow + * API improvement proposal AIP-160. + * These two types of filter expressions cannot be mixed in one request. + * + * If you want to use AIP-160, your expression must specify the field name, an + * operator, and the value that you want to use for filtering. The value + * must be a string, a number, or a boolean. The operator + * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * + * For example, if you are filtering Compute Engine instances, you can + * exclude instances named `example-instance` by specifying + * `name != example-instance`. + * + * The `:*` comparison can be used to test whether a key has been defined. + * For example, to find all objects with `owner` label use: + * ``` + * labels.owner:* + * ``` + * + * You can also filter nested fields. For example, you could specify + * `scheduling.automaticRestart = false` to include instances only + * if they are not scheduled for automatic restarts. You can use filtering + * on nested fields to filter based onresource labels. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example: + * ``` + * (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake") + * ``` + * By default, each expression is an `AND` expression. However, you + * can include `AND` and `OR` expressions explicitly. + * For example: + * ``` + * (cpuPlatform = "Intel Skylake") OR + * (cpuPlatform = "Intel Broadwell") AND + * (scheduling.automaticRestart = true) + * ``` + * + * If you want to use a regular expression, use the `eq` (equal) or `ne` + * (not equal) operator against a single un-parenthesized expression with or + * without quotes or against multiple parenthesized expressions. Examples: + * + * `fieldname eq unquoted literal` + * `fieldname eq 'single quoted literal'` + * `fieldname eq "double quoted literal"` + * `(fieldname1 eq literal) (fieldname2 ne "literal")` + * + * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * The literal value must match the entire field. + * + * For example, to filter for instances that do not end with name "instance", + * you would use `name ne .*instance`. + * + * You cannot combine constraints on multiple fields using regular + * expressions. + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. + * If the number of available results is larger than `maxResults`, + * Compute Engine returns a `nextPageToken` that can be used to get + * the next page of results in subsequent list requests. Acceptable values are + * `0` to `500`, inclusive. (Default: `500`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results + * are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation + * timestamp using `orderBy="creationTimestamp desc"`. This sorts + * results based on the `creationTimestamp` field in + * reverse chronological order (newest result first). Use this to sort + * resources like operations so that the newest operation is returned first. + * + * Currently, only sorting by `name` or + * `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the + * `nextPageToken` returned by a previous list request to get + * the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Opt-in for partial success behavior which provides partial results in case + * of failure. The default value is false. + * + * For example, when partial success behavior is enabled, aggregatedList for a + * single zone scope either returns all resources in the zone or no resources, + * with an error code. + */ + returnPartialSuccess?: boolean; + } + + export class Resource$Interconnects { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Deletes the specified Interconnect. * @example * ```js * // Before running the sample: @@ -130584,15 +137773,12 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.interconnectAttachments.delete({ - * // Name of the interconnect attachment to delete. - * interconnectAttachment: - * '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.interconnects.delete({ + * // Name of the interconnect to delete. + * interconnect: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name of the region for this request. - * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * // An optional request ID to identify requests. Specify a unique request ID so * // that if you must retry your request, the server will know to ignore the * // request if it has already been completed. @@ -130656,31 +137842,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ delete( - params: Params$Resource$Interconnectattachments$Delete, + params: Params$Resource$Interconnects$Delete, options: StreamMethodOptions ): Promise>; delete( - params?: Params$Resource$Interconnectattachments$Delete, + params?: Params$Resource$Interconnects$Delete, options?: MethodOptions ): Promise>; delete( - params: Params$Resource$Interconnectattachments$Delete, + params: Params$Resource$Interconnects$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Interconnectattachments$Delete, + params: Params$Resource$Interconnects$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Interconnectattachments$Delete, + params: Params$Resource$Interconnects$Delete, callback: BodyResponseCallback ): void; delete(callback: BodyResponseCallback): void; delete( paramsOrCallback?: - | Params$Resource$Interconnectattachments$Delete + | Params$Resource$Interconnects$Delete | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -130696,12 +137882,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Interconnectattachments$Delete; + {}) as Params$Resource$Interconnects$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Interconnectattachments$Delete; + params = {} as Params$Resource$Interconnects$Delete; options = {}; } @@ -130716,7 +137902,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}' + '/compute/alpha/projects/{project}/global/interconnects/{interconnect}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'DELETE', apiVersion: '', @@ -130724,8 +137910,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'region', 'interconnectAttachment'], - pathParams: ['interconnectAttachment', 'project', 'region'], + requiredParams: ['project', 'interconnect'], + pathParams: ['interconnect', 'project'], context: this.context, }; if (callback) { @@ -130739,7 +137925,8 @@ export namespace compute_alpha { } /** - * Returns the specified interconnect attachment. + * Returns the specified Interconnect. Get a list of available Interconnects + * by making a list() request. * @example * ```js * // Before running the sample: @@ -130772,69 +137959,55 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.interconnectAttachments.get({ - * // Name of the interconnect attachment to return. - * interconnectAttachment: - * '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.interconnects.get({ + * // Name of the interconnect to return. + * interconnect: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name of the region for this request. - * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * }); * console.log(res.data); * * // Example response * // { + * // "aaiEnabled": false, * // "adminEnabled": false, - * // "attachmentGroup": "my_attachmentGroup", - * // "bandwidth": "my_bandwidth", - * // "candidateCloudRouterIpAddress": "my_candidateCloudRouterIpAddress", - * // "candidateCloudRouterIpv6Address": "my_candidateCloudRouterIpv6Address", - * // "candidateCustomerRouterIpAddress": "my_candidateCustomerRouterIpAddress", - * // "candidateCustomerRouterIpv6Address": "my_candidateCustomerRouterIpv6Address", - * // "candidateIpv6Subnets": [], - * // "candidateSubnets": [], - * // "cloudRouterIpAddress": "my_cloudRouterIpAddress", - * // "cloudRouterIpv6Address": "my_cloudRouterIpv6Address", - * // "cloudRouterIpv6InterfaceId": "my_cloudRouterIpv6InterfaceId", - * // "configurationConstraints": {}, + * // "applicationAwareInterconnect": {}, + * // "availableFeatures": [], + * // "circuitInfos": [], * // "creationTimestamp": "my_creationTimestamp", - * // "customerRouterIpAddress": "my_customerRouterIpAddress", - * // "customerRouterIpv6Address": "my_customerRouterIpv6Address", - * // "customerRouterIpv6InterfaceId": "my_customerRouterIpv6InterfaceId", - * // "dataplaneVersion": 0, + * // "customerName": "my_customerName", * // "description": "my_description", - * // "edgeAvailabilityDomain": "my_edgeAvailabilityDomain", - * // "encryption": "my_encryption", + * // "effectiveLocation": "my_effectiveLocation", + * // "expectedOutages": [], + * // "googleIpAddress": "my_googleIpAddress", * // "googleReferenceId": "my_googleReferenceId", * // "id": "my_id", - * // "interconnect": "my_interconnect", - * // "ipsecInternalAddresses": [], + * // "interconnectAttachments": [], + * // "interconnectGroups": [], + * // "interconnectType": "my_interconnectType", * // "kind": "my_kind", - * // "l2Forwarding": {}, * // "labelFingerprint": "my_labelFingerprint", * // "labels": {}, - * // "mtu": 0, - * // "multicastEnabled": false, + * // "linkType": "my_linkType", + * // "location": "my_location", + * // "macsec": {}, + * // "macsecEnabled": false, * // "name": "my_name", + * // "nocContactEmail": "my_nocContactEmail", * // "operationalStatus": "my_operationalStatus", - * // "pairingKey": "my_pairingKey", * // "params": {}, - * // "partnerAsn": "my_partnerAsn", - * // "partnerMetadata": {}, - * // "privateInterconnectInfo": {}, - * // "region": "my_region", - * // "remoteService": "my_remoteService", - * // "router": "my_router", + * // "peerIpAddress": "my_peerIpAddress", + * // "provisionedLinkCount": 0, + * // "remoteLocation": "my_remoteLocation", + * // "requestedFeatures": [], + * // "requestedLinkCount": 0, * // "satisfiesPzs": false, * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", - * // "stackType": "my_stackType", * // "state": "my_state", - * // "subnetLength": 0, - * // "type": "my_type", - * // "vlanTag8021q": 0 + * // "subzone": "my_subzone", + * // "wireGroups": [] * // } * } * @@ -130851,54 +138024,52 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ get( - params: Params$Resource$Interconnectattachments$Get, + params: Params$Resource$Interconnects$Get, options: StreamMethodOptions ): Promise>; get( - params?: Params$Resource$Interconnectattachments$Get, + params?: Params$Resource$Interconnects$Get, options?: MethodOptions - ): Promise>; + ): Promise>; get( - params: Params$Resource$Interconnectattachments$Get, + params: Params$Resource$Interconnects$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; get( - params: Params$Resource$Interconnectattachments$Get, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + params: Params$Resource$Interconnects$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; get( - params: Params$Resource$Interconnectattachments$Get, - callback: BodyResponseCallback + params: Params$Resource$Interconnects$Get, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; get( paramsOrCallback?: - | Params$Resource$Interconnectattachments$Get - | BodyResponseCallback + | Params$Resource$Interconnects$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Interconnectattachments$Get; + {}) as Params$Resource$Interconnects$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Interconnectattachments$Get; + params = {} as Params$Resource$Interconnects$Get; options = {}; } @@ -130913,7 +138084,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}' + '/compute/alpha/projects/{project}/global/interconnects/{interconnect}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -130921,23 +138092,336 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'region', 'interconnectAttachment'], - pathParams: ['interconnectAttachment', 'project', 'region'], + requiredParams: ['project', 'interconnect'], + pathParams: ['interconnect', 'project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * 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. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.interconnects.getDiagnostics({ + * // Name of the interconnect resource to query. + * interconnect: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "result": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + getDiagnostics( + params: Params$Resource$Interconnects$Getdiagnostics, + options: StreamMethodOptions + ): Promise>; + getDiagnostics( + params?: Params$Resource$Interconnects$Getdiagnostics, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + getDiagnostics( + params: Params$Resource$Interconnects$Getdiagnostics, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getDiagnostics( + params: Params$Resource$Interconnects$Getdiagnostics, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getDiagnostics( + params: Params$Resource$Interconnects$Getdiagnostics, + callback: BodyResponseCallback + ): void; + getDiagnostics( + callback: BodyResponseCallback + ): void; + getDiagnostics( + paramsOrCallback?: + | Params$Resource$Interconnects$Getdiagnostics + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Interconnects$Getdiagnostics; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Interconnects$Getdiagnostics; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/global/interconnects/{interconnect}/getDiagnostics' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'interconnect'], + pathParams: ['interconnect', 'project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Gets the access control policy for a resource. May be empty if no such + * policy or resource exists. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.interconnects.getIamPolicy({ + * // Requested IAM Policy version. + * optionsRequestedPolicyVersion: 'placeholder-value', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Name or id of the resource for this request. + * resource: '[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "auditConfigs": [], + * // "bindings": [], + * // "etag": "my_etag", + * // "version": 0 + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + getIamPolicy( + params: Params$Resource$Interconnects$Getiampolicy, + options: StreamMethodOptions + ): Promise>; + getIamPolicy( + params?: Params$Resource$Interconnects$Getiampolicy, + options?: MethodOptions + ): Promise>; + getIamPolicy( + params: Params$Resource$Interconnects$Getiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Interconnects$Getiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Interconnects$Getiampolicy, + callback: BodyResponseCallback + ): void; + getIamPolicy(callback: BodyResponseCallback): void; + getIamPolicy( + paramsOrCallback?: + | Params$Resource$Interconnects$Getiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Interconnects$Getiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Interconnects$Getiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/global/interconnects/{resource}/getIamPolicy' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Gets the access control policy for a resource. May be empty if no such - * policy or resource exists. + * Returns the interconnectMacsecConfig for the specified + * Interconnect. * @example * ```js * // Before running the sample: @@ -130970,25 +138454,19 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.interconnectAttachments.getIamPolicy({ - * // Requested IAM Policy version. - * optionsRequestedPolicyVersion: 'placeholder-value', + * const res = await compute.interconnects.getMacsecConfig({ + * // Name of the interconnect resource to query. + * interconnect: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // The name of the region for this request. - * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', - * // Name or id of the resource for this request. - * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * }); * console.log(res.data); * * // Example response * // { - * // "auditConfigs": [], - * // "bindings": [], * // "etag": "my_etag", - * // "version": 0 + * // "result": {} * // } * } * @@ -131004,53 +138482,61 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - getIamPolicy( - params: Params$Resource$Interconnectattachments$Getiampolicy, + getMacsecConfig( + params: Params$Resource$Interconnects$Getmacsecconfig, options: StreamMethodOptions ): Promise>; - getIamPolicy( - params?: Params$Resource$Interconnectattachments$Getiampolicy, + getMacsecConfig( + params?: Params$Resource$Interconnects$Getmacsecconfig, options?: MethodOptions - ): Promise>; - getIamPolicy( - params: Params$Resource$Interconnectattachments$Getiampolicy, + ): Promise< + GaxiosResponseWithHTTP2 + >; + getMacsecConfig( + params: Params$Resource$Interconnects$Getmacsecconfig, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - getIamPolicy( - params: Params$Resource$Interconnectattachments$Getiampolicy, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + getMacsecConfig( + params: Params$Resource$Interconnects$Getmacsecconfig, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - getIamPolicy( - params: Params$Resource$Interconnectattachments$Getiampolicy, - callback: BodyResponseCallback + getMacsecConfig( + params: Params$Resource$Interconnects$Getmacsecconfig, + callback: BodyResponseCallback ): void; - getIamPolicy(callback: BodyResponseCallback): void; - getIamPolicy( + getMacsecConfig( + callback: BodyResponseCallback + ): void; + getMacsecConfig( paramsOrCallback?: - | Params$Resource$Interconnectattachments$Getiampolicy - | BodyResponseCallback + | Params$Resource$Interconnects$Getmacsecconfig + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise< + GaxiosResponseWithHTTP2 + > | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Interconnectattachments$Getiampolicy; + {}) as Params$Resource$Interconnects$Getmacsecconfig; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Interconnectattachments$Getiampolicy; + params = {} as Params$Resource$Interconnects$Getmacsecconfig; options = {}; } @@ -131065,7 +138551,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/regions/{region}/interconnectAttachments/{resource}/getIamPolicy' + '/compute/alpha/projects/{project}/global/interconnects/{interconnect}/getMacsecConfig' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -131073,23 +138559,25 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'region', 'resource'], - pathParams: ['project', 'region', 'resource'], + requiredParams: ['project', 'interconnect'], + pathParams: ['interconnect', 'project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); } } /** - * Creates an InterconnectAttachment in the specified project using the data - * included in the request. + * Creates an Interconnect in the specified project using + * the data included in the request. * @example * ```js * // Before running the sample: @@ -131121,12 +138609,10 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.interconnectAttachments.insert({ + * const res = await compute.interconnects.insert({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name of the region for this request. - * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * // An optional request ID to identify requests. Specify a unique request ID so * // that if you must retry your request, the server will know to ignore the * // request if it has already been completed. @@ -131141,62 +138627,49 @@ export namespace compute_alpha { * // a valid UUID with the exception that zero UUID is not supported * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', - * // If true, the request will not be committed. - * validateOnly: 'placeholder-value', * * // Request body metadata * requestBody: { * // request body parameters * // { + * // "aaiEnabled": false, * // "adminEnabled": false, - * // "attachmentGroup": "my_attachmentGroup", - * // "bandwidth": "my_bandwidth", - * // "candidateCloudRouterIpAddress": "my_candidateCloudRouterIpAddress", - * // "candidateCloudRouterIpv6Address": "my_candidateCloudRouterIpv6Address", - * // "candidateCustomerRouterIpAddress": "my_candidateCustomerRouterIpAddress", - * // "candidateCustomerRouterIpv6Address": "my_candidateCustomerRouterIpv6Address", - * // "candidateIpv6Subnets": [], - * // "candidateSubnets": [], - * // "cloudRouterIpAddress": "my_cloudRouterIpAddress", - * // "cloudRouterIpv6Address": "my_cloudRouterIpv6Address", - * // "cloudRouterIpv6InterfaceId": "my_cloudRouterIpv6InterfaceId", - * // "configurationConstraints": {}, + * // "applicationAwareInterconnect": {}, + * // "availableFeatures": [], + * // "circuitInfos": [], * // "creationTimestamp": "my_creationTimestamp", - * // "customerRouterIpAddress": "my_customerRouterIpAddress", - * // "customerRouterIpv6Address": "my_customerRouterIpv6Address", - * // "customerRouterIpv6InterfaceId": "my_customerRouterIpv6InterfaceId", - * // "dataplaneVersion": 0, + * // "customerName": "my_customerName", * // "description": "my_description", - * // "edgeAvailabilityDomain": "my_edgeAvailabilityDomain", - * // "encryption": "my_encryption", + * // "effectiveLocation": "my_effectiveLocation", + * // "expectedOutages": [], + * // "googleIpAddress": "my_googleIpAddress", * // "googleReferenceId": "my_googleReferenceId", * // "id": "my_id", - * // "interconnect": "my_interconnect", - * // "ipsecInternalAddresses": [], + * // "interconnectAttachments": [], + * // "interconnectGroups": [], + * // "interconnectType": "my_interconnectType", * // "kind": "my_kind", - * // "l2Forwarding": {}, * // "labelFingerprint": "my_labelFingerprint", * // "labels": {}, - * // "mtu": 0, - * // "multicastEnabled": false, + * // "linkType": "my_linkType", + * // "location": "my_location", + * // "macsec": {}, + * // "macsecEnabled": false, * // "name": "my_name", + * // "nocContactEmail": "my_nocContactEmail", * // "operationalStatus": "my_operationalStatus", - * // "pairingKey": "my_pairingKey", * // "params": {}, - * // "partnerAsn": "my_partnerAsn", - * // "partnerMetadata": {}, - * // "privateInterconnectInfo": {}, - * // "region": "my_region", - * // "remoteService": "my_remoteService", - * // "router": "my_router", + * // "peerIpAddress": "my_peerIpAddress", + * // "provisionedLinkCount": 0, + * // "remoteLocation": "my_remoteLocation", + * // "requestedFeatures": [], + * // "requestedLinkCount": 0, * // "satisfiesPzs": false, * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", - * // "stackType": "my_stackType", * // "state": "my_state", - * // "subnetLength": 0, - * // "type": "my_type", - * // "vlanTag8021q": 0 + * // "subzone": "my_subzone", + * // "wireGroups": [] * // } * }, * }); @@ -131248,31 +138721,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ insert( - params: Params$Resource$Interconnectattachments$Insert, + params: Params$Resource$Interconnects$Insert, options: StreamMethodOptions ): Promise>; insert( - params?: Params$Resource$Interconnectattachments$Insert, + params?: Params$Resource$Interconnects$Insert, options?: MethodOptions ): Promise>; insert( - params: Params$Resource$Interconnectattachments$Insert, + params: Params$Resource$Interconnects$Insert, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; insert( - params: Params$Resource$Interconnectattachments$Insert, + params: Params$Resource$Interconnects$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; insert( - params: Params$Resource$Interconnectattachments$Insert, + params: Params$Resource$Interconnects$Insert, callback: BodyResponseCallback ): void; insert(callback: BodyResponseCallback): void; insert( paramsOrCallback?: - | Params$Resource$Interconnectattachments$Insert + | Params$Resource$Interconnects$Insert | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -131288,12 +138761,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Interconnectattachments$Insert; + {}) as Params$Resource$Interconnects$Insert; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Interconnectattachments$Insert; + params = {} as Params$Resource$Interconnects$Insert; options = {}; } @@ -131307,8 +138780,7 @@ export namespace compute_alpha { options: Object.assign( { url: ( - rootUrl + - '/compute/alpha/projects/{project}/regions/{region}/interconnectAttachments' + rootUrl + '/compute/alpha/projects/{project}/global/interconnects' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -131316,8 +138788,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'region'], - pathParams: ['project', 'region'], + requiredParams: ['project'], + pathParams: ['project'], context: this.context, }; if (callback) { @@ -131331,8 +138803,7 @@ export namespace compute_alpha { } /** - * Retrieves the list of interconnect attachments contained within - * the specified region. + * Retrieves the list of Interconnects available to the specified project. * @example * ```js * // Before running the sample: @@ -131365,7 +138836,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.interconnectAttachments.list({ + * const res = await compute.interconnects.list({ * // A filter expression that filters resources listed in the response. Most * // Compute resources support two types of filter expressions: * // expressions that support regular expressions and expressions that follow @@ -131450,8 +138921,6 @@ export namespace compute_alpha { * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name of the region for this request. - * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * // Opt-in for partial success behavior which provides partial results in case * // of failure. The default value is false. * // @@ -131486,56 +138955,52 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ list( - params: Params$Resource$Interconnectattachments$List, + params: Params$Resource$Interconnects$List, options: StreamMethodOptions ): Promise>; list( - params?: Params$Resource$Interconnectattachments$List, + params?: Params$Resource$Interconnects$List, options?: MethodOptions - ): Promise>; + ): Promise>; list( - params: Params$Resource$Interconnectattachments$List, + params: Params$Resource$Interconnects$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; list( - params: Params$Resource$Interconnectattachments$List, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Interconnectattachments$List, - callback: BodyResponseCallback + params: Params$Resource$Interconnects$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; list( - callback: BodyResponseCallback + params: Params$Resource$Interconnects$List, + callback: BodyResponseCallback ): void; + list(callback: BodyResponseCallback): void; list( paramsOrCallback?: - | Params$Resource$Interconnectattachments$List - | BodyResponseCallback + | Params$Resource$Interconnects$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Interconnectattachments$List; + {}) as Params$Resource$Interconnects$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Interconnectattachments$List; + params = {} as Params$Resource$Interconnects$List; options = {}; } @@ -131549,8 +139014,7 @@ export namespace compute_alpha { options: Object.assign( { url: ( - rootUrl + - '/compute/alpha/projects/{project}/regions/{region}/interconnectAttachments' + rootUrl + '/compute/alpha/projects/{project}/global/interconnects' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -131558,23 +139022,23 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'region'], - pathParams: ['project', 'region'], + requiredParams: ['project'], + pathParams: ['project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Updates the specified interconnect attachment with the data included in the - * request. This method supportsPATCH + * Updates the specified Interconnect with the data included in the request. + * This method supportsPATCH * semantics and uses theJSON merge * patch format and processing rules. * @example @@ -131608,15 +139072,12 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.interconnectAttachments.patch({ - * // Name of the interconnect attachment to patch. - * interconnectAttachment: - * '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.interconnects.patch({ + * // Name of the interconnect to update. + * interconnect: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name of the region scoping this request. - * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * // An optional request ID to identify requests. Specify a unique request ID so * // that if you must retry your request, the server will know to ignore the * // request if it has already been completed. @@ -131636,55 +139097,44 @@ export namespace compute_alpha { * requestBody: { * // request body parameters * // { + * // "aaiEnabled": false, * // "adminEnabled": false, - * // "attachmentGroup": "my_attachmentGroup", - * // "bandwidth": "my_bandwidth", - * // "candidateCloudRouterIpAddress": "my_candidateCloudRouterIpAddress", - * // "candidateCloudRouterIpv6Address": "my_candidateCloudRouterIpv6Address", - * // "candidateCustomerRouterIpAddress": "my_candidateCustomerRouterIpAddress", - * // "candidateCustomerRouterIpv6Address": "my_candidateCustomerRouterIpv6Address", - * // "candidateIpv6Subnets": [], - * // "candidateSubnets": [], - * // "cloudRouterIpAddress": "my_cloudRouterIpAddress", - * // "cloudRouterIpv6Address": "my_cloudRouterIpv6Address", - * // "cloudRouterIpv6InterfaceId": "my_cloudRouterIpv6InterfaceId", - * // "configurationConstraints": {}, + * // "applicationAwareInterconnect": {}, + * // "availableFeatures": [], + * // "circuitInfos": [], * // "creationTimestamp": "my_creationTimestamp", - * // "customerRouterIpAddress": "my_customerRouterIpAddress", - * // "customerRouterIpv6Address": "my_customerRouterIpv6Address", - * // "customerRouterIpv6InterfaceId": "my_customerRouterIpv6InterfaceId", - * // "dataplaneVersion": 0, + * // "customerName": "my_customerName", * // "description": "my_description", - * // "edgeAvailabilityDomain": "my_edgeAvailabilityDomain", - * // "encryption": "my_encryption", + * // "effectiveLocation": "my_effectiveLocation", + * // "expectedOutages": [], + * // "googleIpAddress": "my_googleIpAddress", * // "googleReferenceId": "my_googleReferenceId", * // "id": "my_id", - * // "interconnect": "my_interconnect", - * // "ipsecInternalAddresses": [], + * // "interconnectAttachments": [], + * // "interconnectGroups": [], + * // "interconnectType": "my_interconnectType", * // "kind": "my_kind", - * // "l2Forwarding": {}, * // "labelFingerprint": "my_labelFingerprint", * // "labels": {}, - * // "mtu": 0, - * // "multicastEnabled": false, + * // "linkType": "my_linkType", + * // "location": "my_location", + * // "macsec": {}, + * // "macsecEnabled": false, * // "name": "my_name", + * // "nocContactEmail": "my_nocContactEmail", * // "operationalStatus": "my_operationalStatus", - * // "pairingKey": "my_pairingKey", * // "params": {}, - * // "partnerAsn": "my_partnerAsn", - * // "partnerMetadata": {}, - * // "privateInterconnectInfo": {}, - * // "region": "my_region", - * // "remoteService": "my_remoteService", - * // "router": "my_router", + * // "peerIpAddress": "my_peerIpAddress", + * // "provisionedLinkCount": 0, + * // "remoteLocation": "my_remoteLocation", + * // "requestedFeatures": [], + * // "requestedLinkCount": 0, * // "satisfiesPzs": false, * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", - * // "stackType": "my_stackType", * // "state": "my_state", - * // "subnetLength": 0, - * // "type": "my_type", - * // "vlanTag8021q": 0 + * // "subzone": "my_subzone", + * // "wireGroups": [] * // } * }, * }); @@ -131736,31 +139186,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ patch( - params: Params$Resource$Interconnectattachments$Patch, + params: Params$Resource$Interconnects$Patch, options: StreamMethodOptions ): Promise>; patch( - params?: Params$Resource$Interconnectattachments$Patch, + params?: Params$Resource$Interconnects$Patch, options?: MethodOptions ): Promise>; patch( - params: Params$Resource$Interconnectattachments$Patch, + params: Params$Resource$Interconnects$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; patch( - params: Params$Resource$Interconnectattachments$Patch, + params: Params$Resource$Interconnects$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; patch( - params: Params$Resource$Interconnectattachments$Patch, + params: Params$Resource$Interconnects$Patch, callback: BodyResponseCallback ): void; patch(callback: BodyResponseCallback): void; patch( paramsOrCallback?: - | Params$Resource$Interconnectattachments$Patch + | Params$Resource$Interconnects$Patch | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -131776,12 +139226,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Interconnectattachments$Patch; + {}) as Params$Resource$Interconnects$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Interconnectattachments$Patch; + params = {} as Params$Resource$Interconnects$Patch; options = {}; } @@ -131796,7 +139246,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}' + '/compute/alpha/projects/{project}/global/interconnects/{interconnect}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'PATCH', apiVersion: '', @@ -131804,8 +139254,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'region', 'interconnectAttachment'], - pathParams: ['interconnectAttachment', 'project', 'region'], + requiredParams: ['project', 'interconnect'], + pathParams: ['interconnect', 'project'], context: this.context, }; if (callback) { @@ -131852,14 +139302,12 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.interconnectAttachments.setIamPolicy({ + * const res = await compute.interconnects.setIamPolicy({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // The name of the region for this request. - * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * // Name or id of the resource for this request. - * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * resource: '[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * * // Request body metadata * requestBody: { @@ -131895,31 +139343,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ setIamPolicy( - params: Params$Resource$Interconnectattachments$Setiampolicy, + params: Params$Resource$Interconnects$Setiampolicy, options: StreamMethodOptions ): Promise>; setIamPolicy( - params?: Params$Resource$Interconnectattachments$Setiampolicy, + params?: Params$Resource$Interconnects$Setiampolicy, options?: MethodOptions ): Promise>; setIamPolicy( - params: Params$Resource$Interconnectattachments$Setiampolicy, + params: Params$Resource$Interconnects$Setiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; setIamPolicy( - params: Params$Resource$Interconnectattachments$Setiampolicy, + params: Params$Resource$Interconnects$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; setIamPolicy( - params: Params$Resource$Interconnectattachments$Setiampolicy, + params: Params$Resource$Interconnects$Setiampolicy, callback: BodyResponseCallback ): void; setIamPolicy(callback: BodyResponseCallback): void; setIamPolicy( paramsOrCallback?: - | Params$Resource$Interconnectattachments$Setiampolicy + | Params$Resource$Interconnects$Setiampolicy | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -131935,12 +139383,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Interconnectattachments$Setiampolicy; + {}) as Params$Resource$Interconnects$Setiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Interconnectattachments$Setiampolicy; + params = {} as Params$Resource$Interconnects$Setiampolicy; options = {}; } @@ -131955,7 +139403,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/regions/{region}/interconnectAttachments/{resource}/setIamPolicy' + '/compute/alpha/projects/{project}/global/interconnects/{resource}/setIamPolicy' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -131963,8 +139411,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'region', 'resource'], - pathParams: ['project', 'region', 'resource'], + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], context: this.context, }; if (callback) { @@ -131978,7 +139426,7 @@ export namespace compute_alpha { } /** - * Sets the labels on an InterconnectAttachment. To learn more about labels, + * Sets the labels on an Interconnect. To learn more about labels, * read the Labeling * Resources documentation. * @example @@ -132012,28 +139460,12 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.interconnectAttachments.setLabels({ + * const res = await compute.interconnects.setLabels({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // The region for this request. - * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. - * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', * // Name or id of the resource for this request. - * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * resource: '[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * * // Request body metadata * requestBody: { @@ -132092,31 +139524,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ setLabels( - params: Params$Resource$Interconnectattachments$Setlabels, + params: Params$Resource$Interconnects$Setlabels, options: StreamMethodOptions ): Promise>; setLabels( - params?: Params$Resource$Interconnectattachments$Setlabels, + params?: Params$Resource$Interconnects$Setlabels, options?: MethodOptions ): Promise>; setLabels( - params: Params$Resource$Interconnectattachments$Setlabels, + params: Params$Resource$Interconnects$Setlabels, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; setLabels( - params: Params$Resource$Interconnectattachments$Setlabels, + params: Params$Resource$Interconnects$Setlabels, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; setLabels( - params: Params$Resource$Interconnectattachments$Setlabels, + params: Params$Resource$Interconnects$Setlabels, callback: BodyResponseCallback ): void; setLabels(callback: BodyResponseCallback): void; setLabels( paramsOrCallback?: - | Params$Resource$Interconnectattachments$Setlabels + | Params$Resource$Interconnects$Setlabels | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -132132,12 +139564,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Interconnectattachments$Setlabels; + {}) as Params$Resource$Interconnects$Setlabels; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Interconnectattachments$Setlabels; + params = {} as Params$Resource$Interconnects$Setlabels; options = {}; } @@ -132152,7 +139584,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/regions/{region}/interconnectAttachments/{resource}/setLabels' + '/compute/alpha/projects/{project}/global/interconnects/{resource}/setLabels' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -132160,8 +139592,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'region', 'resource'], - pathParams: ['project', 'region', 'resource'], + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], context: this.context, }; if (callback) { @@ -132208,14 +139640,12 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.interconnectAttachments.testIamPermissions({ + * const res = await compute.interconnects.testIamPermissions({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // The name of the region for this request. - * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * // Name or id of the resource for this request. - * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * resource: '[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * * // Request body metadata * requestBody: { @@ -132246,27 +139676,27 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ testIamPermissions( - params: Params$Resource$Interconnectattachments$Testiampermissions, + params: Params$Resource$Interconnects$Testiampermissions, options: StreamMethodOptions ): Promise>; testIamPermissions( - params?: Params$Resource$Interconnectattachments$Testiampermissions, + params?: Params$Resource$Interconnects$Testiampermissions, options?: MethodOptions ): Promise>; testIamPermissions( - params: Params$Resource$Interconnectattachments$Testiampermissions, + params: Params$Resource$Interconnects$Testiampermissions, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; testIamPermissions( - params: Params$Resource$Interconnectattachments$Testiampermissions, + params: Params$Resource$Interconnects$Testiampermissions, options: | MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; testIamPermissions( - params: Params$Resource$Interconnectattachments$Testiampermissions, + params: Params$Resource$Interconnects$Testiampermissions, callback: BodyResponseCallback ): void; testIamPermissions( @@ -132274,7 +139704,7 @@ export namespace compute_alpha { ): void; testIamPermissions( paramsOrCallback?: - | Params$Resource$Interconnectattachments$Testiampermissions + | Params$Resource$Interconnects$Testiampermissions | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -132290,13 +139720,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Interconnectattachments$Testiampermissions; + {}) as Params$Resource$Interconnects$Testiampermissions; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Interconnectattachments$Testiampermissions; + params = {} as Params$Resource$Interconnects$Testiampermissions; options = {}; } @@ -132311,7 +139740,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/regions/{region}/interconnectAttachments/{resource}/testIamPermissions' + '/compute/alpha/projects/{project}/global/interconnects/{resource}/testIamPermissions' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -132319,8 +139748,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'region', 'resource'], - pathParams: ['project', 'region', 'resource'], + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], context: this.context, }; if (callback) { @@ -132334,138 +139763,15 @@ export namespace compute_alpha { } } - export interface Params$Resource$Interconnectattachments$Aggregatedlist extends StandardParameters { - /** - * A filter expression that filters resources listed in the response. Most - * Compute resources support two types of filter expressions: - * expressions that support regular expressions and expressions that follow - * API improvement proposal AIP-160. - * These two types of filter expressions cannot be mixed in one request. - * - * If you want to use AIP-160, your expression must specify the field name, an - * operator, and the value that you want to use for filtering. The value - * must be a string, a number, or a boolean. The operator - * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * - * For example, if you are filtering Compute Engine instances, you can - * exclude instances named `example-instance` by specifying - * `name != example-instance`. - * - * The `:*` comparison can be used to test whether a key has been defined. - * For example, to find all objects with `owner` label use: - * ``` - * labels.owner:* - * ``` - * - * You can also filter nested fields. For example, you could specify - * `scheduling.automaticRestart = false` to include instances only - * if they are not scheduled for automatic restarts. You can use filtering - * on nested fields to filter based onresource labels. - * - * To filter on multiple expressions, provide each separate expression within - * parentheses. For example: - * ``` - * (scheduling.automaticRestart = true) - * (cpuPlatform = "Intel Skylake") - * ``` - * By default, each expression is an `AND` expression. However, you - * can include `AND` and `OR` expressions explicitly. - * For example: - * ``` - * (cpuPlatform = "Intel Skylake") OR - * (cpuPlatform = "Intel Broadwell") AND - * (scheduling.automaticRestart = true) - * ``` - * - * If you want to use a regular expression, use the `eq` (equal) or `ne` - * (not equal) operator against a single un-parenthesized expression with or - * without quotes or against multiple parenthesized expressions. Examples: - * - * `fieldname eq unquoted literal` - * `fieldname eq 'single quoted literal'` - * `fieldname eq "double quoted literal"` - * `(fieldname1 eq literal) (fieldname2 ne "literal")` - * - * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * The literal value must match the entire field. - * - * For example, to filter for instances that do not end with name "instance", - * you would use `name ne .*instance`. - * - * You cannot combine constraints on multiple fields using regular - * expressions. - */ - filter?: string; - /** - * 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. - */ - includeAllScopes?: boolean; - /** - * The maximum number of results per page that should be returned. - * If the number of available results is larger than `maxResults`, - * Compute Engine returns a `nextPageToken` that can be used to get - * the next page of results in subsequent list requests. Acceptable values are - * `0` to `500`, inclusive. (Default: `500`) - */ - maxResults?: number; - /** - * Sorts list results by a certain order. By default, results - * are returned in alphanumerical order based on the resource name. - * - * You can also sort results in descending order based on the creation - * timestamp using `orderBy="creationTimestamp desc"`. This sorts - * results based on the `creationTimestamp` field in - * reverse chronological order (newest result first). Use this to sort - * resources like operations so that the newest operation is returned first. - * - * Currently, only sorting by `name` or - * `creationTimestamp desc` is supported. - */ - orderBy?: string; - /** - * Specifies a page token to use. Set `pageToken` to the - * `nextPageToken` returned by a previous list request to get - * the next page of results. - */ - pageToken?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * Opt-in for partial success behavior which provides partial results in case - * of failure. The default value is false. - * - * For example, when partial success behavior is enabled, aggregatedList for a - * single zone scope either returns all resources in the zone or no resources, - * with an error code. - */ - returnPartialSuccess?: boolean; - /** - * The Shared VPC service project id or service project number for which - * aggregated list request is invoked for subnetworks list-usable api. - */ - serviceProjectNumber?: string; - } - export interface Params$Resource$Interconnectattachments$Delete extends StandardParameters { + export interface Params$Resource$Interconnects$Delete extends StandardParameters { /** - * Name of the interconnect attachment to delete. + * Name of the interconnect to delete. */ - interconnectAttachment?: string; + interconnect?: string; /** * Project ID for this request. */ project?: string; - /** - * Name of the region for this request. - */ - region?: string; /** * An optional request ID to identify requests. Specify a unique request ID so * that if you must retry your request, the server will know to ignore the @@ -132483,21 +139789,27 @@ export namespace compute_alpha { */ requestId?: string; } - export interface Params$Resource$Interconnectattachments$Get extends StandardParameters { + export interface Params$Resource$Interconnects$Get extends StandardParameters { /** - * Name of the interconnect attachment to return. + * Name of the interconnect to return. */ - interconnectAttachment?: string; + interconnect?: string; /** * Project ID for this request. */ project?: string; + } + export interface Params$Resource$Interconnects$Getdiagnostics extends StandardParameters { /** - * Name of the region for this request. + * Name of the interconnect resource to query. */ - region?: string; + interconnect?: string; + /** + * Project ID for this request. + */ + project?: string; } - export interface Params$Resource$Interconnectattachments$Getiampolicy extends StandardParameters { + export interface Params$Resource$Interconnects$Getiampolicy extends StandardParameters { /** * Requested IAM Policy version. */ @@ -132506,24 +139818,26 @@ export namespace compute_alpha { * Project ID for this request. */ project?: string; - /** - * The name of the region for this request. - */ - region?: string; /** * Name or id of the resource for this request. */ resource?: string; } - export interface Params$Resource$Interconnectattachments$Insert extends StandardParameters { + export interface Params$Resource$Interconnects$Getmacsecconfig extends StandardParameters { + /** + * Name of the interconnect resource to query. + */ + interconnect?: string; /** * Project ID for this request. */ project?: string; + } + export interface Params$Resource$Interconnects$Insert extends StandardParameters { /** - * Name of the region for this request. + * Project ID for this request. */ - region?: string; + project?: string; /** * An optional request ID to identify requests. Specify a unique request ID so * that if you must retry your request, the server will know to ignore the @@ -132540,17 +139854,13 @@ export namespace compute_alpha { * (00000000-0000-0000-0000-000000000000). */ requestId?: string; - /** - * If true, the request will not be committed. - */ - validateOnly?: boolean; /** * Request body metadata */ - requestBody?: Schema$InterconnectAttachment; + requestBody?: Schema$Interconnect; } - export interface Params$Resource$Interconnectattachments$List extends StandardParameters { + export interface Params$Resource$Interconnects$List extends StandardParameters { /** * A filter expression that filters resources listed in the response. Most * Compute resources support two types of filter expressions: @@ -132613,532 +139923,136 @@ export namespace compute_alpha { */ filter?: string; /** - * The maximum number of results per page that should be returned. - * If the number of available results is larger than `maxResults`, - * Compute Engine returns a `nextPageToken` that can be used to get - * the next page of results in subsequent list requests. Acceptable values are - * `0` to `500`, inclusive. (Default: `500`) - */ - maxResults?: number; - /** - * Sorts list results by a certain order. By default, results - * are returned in alphanumerical order based on the resource name. - * - * You can also sort results in descending order based on the creation - * timestamp using `orderBy="creationTimestamp desc"`. This sorts - * results based on the `creationTimestamp` field in - * reverse chronological order (newest result first). Use this to sort - * resources like operations so that the newest operation is returned first. - * - * Currently, only sorting by `name` or - * `creationTimestamp desc` is supported. - */ - orderBy?: string; - /** - * Specifies a page token to use. Set `pageToken` to the - * `nextPageToken` returned by a previous list request to get - * the next page of results. - */ - pageToken?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * Name of the region for this request. - */ - region?: string; - /** - * Opt-in for partial success behavior which provides partial results in case - * of failure. The default value is false. - * - * For example, when partial success behavior is enabled, aggregatedList for a - * single zone scope either returns all resources in the zone or no resources, - * with an error code. - */ - returnPartialSuccess?: boolean; - } - export interface Params$Resource$Interconnectattachments$Patch extends StandardParameters { - /** - * Name of the interconnect attachment to patch. - */ - interconnectAttachment?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * Name of the region scoping this request. - */ - region?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$InterconnectAttachment; - } - export interface Params$Resource$Interconnectattachments$Setiampolicy extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * The name of the region for this request. - */ - region?: string; - /** - * Name or id of the resource for this request. - */ - resource?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$RegionSetPolicyRequest; - } - export interface Params$Resource$Interconnectattachments$Setlabels extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * The region for this request. - */ - region?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * Name or id of the resource for this request. - */ - resource?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$RegionSetLabelsRequest; - } - export interface Params$Resource$Interconnectattachments$Testiampermissions extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * The name of the region for this request. - */ - region?: string; - /** - * Name or id of the resource for this request. - */ - resource?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$TestPermissionsRequest; - } - - export class Resource$Interconnectgroups { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Create Interconnects with redundancy by creating them in a specified - * interconnect group. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/compute.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const compute = google.compute('alpha'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/cloud-platform', - * 'https://www.googleapis.com/auth/compute', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await compute.interconnectGroups.createMembers({ - * // Name of the group resource to create members for. - * interconnectGroup: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "request": {} - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, - * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, - * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - createMembers( - params: Params$Resource$Interconnectgroups$Createmembers, - options: StreamMethodOptions - ): Promise>; - createMembers( - params?: Params$Resource$Interconnectgroups$Createmembers, - options?: MethodOptions - ): Promise>; - createMembers( - params: Params$Resource$Interconnectgroups$Createmembers, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - createMembers( - params: Params$Resource$Interconnectgroups$Createmembers, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - createMembers( - params: Params$Resource$Interconnectgroups$Createmembers, - callback: BodyResponseCallback - ): void; - createMembers(callback: BodyResponseCallback): void; - createMembers( - paramsOrCallback?: - | Params$Resource$Interconnectgroups$Createmembers - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Interconnectgroups$Createmembers; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Interconnectgroups$Createmembers; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/compute/alpha/projects/{project}/global/interconnectGroups/{interconnectGroup}/createMembers' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['project', 'interconnectGroup'], - pathParams: ['interconnectGroup', 'project'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Deletes the specified InterconnectGroup in the given scope - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/compute.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const compute = google.compute('alpha'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/cloud-platform', - * 'https://www.googleapis.com/auth/compute', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await compute.interconnectGroups.delete({ - * // Name of the InterconnectGroup resource to delete. - * interconnectGroup: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating 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 - * requestId: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, - * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, - * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" - * // } - * } + * The maximum number of results per page that should be returned. + * If the number of available results is larger than `maxResults`, + * Compute Engine returns a `nextPageToken` that can be used to get + * the next page of results in subsequent list requests. Acceptable values are + * `0` to `500`, inclusive. (Default: `500`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results + * are returned in alphanumerical order based on the resource name. * - * main().catch(e => { - * console.error(e); - * throw e; - * }); + * You can also sort results in descending order based on the creation + * timestamp using `orderBy="creationTimestamp desc"`. This sorts + * results based on the `creationTimestamp` field in + * reverse chronological order (newest result first). Use this to sort + * resources like operations so that the newest operation is returned first. * - * ``` + * Currently, only sorting by `name` or + * `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the + * `nextPageToken` returned by a previous list request to get + * the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Opt-in for partial success behavior which provides partial results in case + * of failure. The default value is false. * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. + * For example, when partial success behavior is enabled, aggregatedList for a + * single zone scope either returns all resources in the zone or no resources, + * with an error code. */ - delete( - params: Params$Resource$Interconnectgroups$Delete, - options: StreamMethodOptions - ): Promise>; - delete( - params?: Params$Resource$Interconnectgroups$Delete, - options?: MethodOptions - ): Promise>; - delete( - params: Params$Resource$Interconnectgroups$Delete, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - delete( - params: Params$Resource$Interconnectgroups$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - delete( - params: Params$Resource$Interconnectgroups$Delete, - callback: BodyResponseCallback - ): void; - delete(callback: BodyResponseCallback): void; - delete( - paramsOrCallback?: - | Params$Resource$Interconnectgroups$Delete - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Interconnectgroups$Delete; - let options = (optionsOrCallback || {}) as MethodOptions; + returnPartialSuccess?: boolean; + } + export interface Params$Resource$Interconnects$Patch extends StandardParameters { + /** + * Name of the interconnect to update. + */ + interconnect?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Interconnectgroups$Delete; - options = {}; - } + /** + * Request body metadata + */ + requestBody?: Schema$Interconnect; + } + export interface Params$Resource$Interconnects$Setiampolicy extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } + /** + * Request body metadata + */ + requestBody?: Schema$GlobalSetPolicyRequest; + } + export interface Params$Resource$Interconnects$Setlabels extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; - const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/compute/alpha/projects/{project}/global/interconnectGroups/{interconnectGroup}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['project', 'interconnectGroup'], - pathParams: ['interconnectGroup', 'project'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } + /** + * Request body metadata + */ + requestBody?: Schema$GlobalSetLabelsRequest; + } + export interface Params$Resource$Interconnects$Testiampermissions extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + + export class Resource$Licensecodes { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; } /** - * Returns the specified InterconnectGroup resource in the given scope. + * 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 creatingCloud Marketplace + * images. * @example * ```js * // Before running the sample: @@ -133171,9 +140085,9 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.interconnectGroups.get({ - * // Name of the InterconnectGroup resource to return. - * interconnectGroup: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.licenseCodes.get({ + * // Number corresponding to the License code resource to return. + * licenseCode: '[0-9]{0,61}?', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -133182,17 +140096,25 @@ export namespace compute_alpha { * * // Example response * // { - * // "configured": {}, + * // "allowedReplacementLicenses": [], + * // "appendableToDisk": false, * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", - * // "etag": "my_etag", * // "id": "my_id", - * // "intent": {}, - * // "interconnects": {}, + * // "incompatibleLicenses": [], * // "kind": "my_kind", + * // "licenseAlias": [], + * // "minimumRetention": {}, + * // "multiTenantOnly": false, * // "name": "my_name", - * // "physicalStructure": {}, - * // "selfLink": "my_selfLink" + * // "osLicense": false, + * // "removableFromDisk": false, + * // "requiredCoattachedLicenses": [], + * // "selfLink": "my_selfLink", + * // "soleTenantOnly": false, + * // "state": "my_state", + * // "transferable": false, + * // "updateTimestamp": "my_updateTimestamp" * // } * } * @@ -133209,52 +140131,51 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ get( - params: Params$Resource$Interconnectgroups$Get, + params: Params$Resource$Licensecodes$Get, options: StreamMethodOptions ): Promise>; get( - params?: Params$Resource$Interconnectgroups$Get, + params?: Params$Resource$Licensecodes$Get, options?: MethodOptions - ): Promise>; + ): Promise>; get( - params: Params$Resource$Interconnectgroups$Get, + params: Params$Resource$Licensecodes$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; get( - params: Params$Resource$Interconnectgroups$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + params: Params$Resource$Licensecodes$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; get( - params: Params$Resource$Interconnectgroups$Get, - callback: BodyResponseCallback + params: Params$Resource$Licensecodes$Get, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; get( paramsOrCallback?: - | Params$Resource$Interconnectgroups$Get - | BodyResponseCallback + | Params$Resource$Licensecodes$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Interconnectgroups$Get; + let params = (paramsOrCallback || {}) as Params$Resource$Licensecodes$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Interconnectgroups$Get; + params = {} as Params$Resource$Licensecodes$Get; options = {}; } @@ -133269,7 +140190,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/interconnectGroups/{interconnectGroup}' + '/compute/alpha/projects/{project}/global/licenseCodes/{licenseCode}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -133277,23 +140198,26 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'interconnectGroup'], - pathParams: ['interconnectGroup', 'project'], + requiredParams: ['project', 'licenseCode'], + pathParams: ['licenseCode', 'project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** * 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 creatingCloud Marketplace + * images. * @example * ```js * // Before running the sample: @@ -133326,7 +140250,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.interconnectGroups.getIamPolicy({ + * const res = await compute.licenseCodes.getIamPolicy({ * // Requested IAM Policy version. * optionsRequestedPolicyVersion: 'placeholder-value', * // Project ID for this request. @@ -133359,31 +140283,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ getIamPolicy( - params: Params$Resource$Interconnectgroups$Getiampolicy, + params: Params$Resource$Licensecodes$Getiampolicy, options: StreamMethodOptions ): Promise>; getIamPolicy( - params?: Params$Resource$Interconnectgroups$Getiampolicy, + params?: Params$Resource$Licensecodes$Getiampolicy, options?: MethodOptions ): Promise>; getIamPolicy( - params: Params$Resource$Interconnectgroups$Getiampolicy, + params: Params$Resource$Licensecodes$Getiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; getIamPolicy( - params: Params$Resource$Interconnectgroups$Getiampolicy, + params: Params$Resource$Licensecodes$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; getIamPolicy( - params: Params$Resource$Interconnectgroups$Getiampolicy, + params: Params$Resource$Licensecodes$Getiampolicy, callback: BodyResponseCallback ): void; getIamPolicy(callback: BodyResponseCallback): void; getIamPolicy( paramsOrCallback?: - | Params$Resource$Interconnectgroups$Getiampolicy + | Params$Resource$Licensecodes$Getiampolicy | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -133399,12 +140323,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Interconnectgroups$Getiampolicy; + {}) as Params$Resource$Licensecodes$Getiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Interconnectgroups$Getiampolicy; + params = {} as Params$Resource$Licensecodes$Getiampolicy; options = {}; } @@ -133419,7 +140343,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/interconnectGroups/{resource}/getIamPolicy' + '/compute/alpha/projects/{project}/global/licenseCodes/{resource}/getIamPolicy' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -133442,8 +140366,11 @@ export namespace compute_alpha { } /** - * Returns the interconnectStatuses for the specified - * InterconnectGroup. + * 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 creatingCloud Marketplace + * images. * @example * ```js * // Before running the sample: @@ -133467,7 +140394,6 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -133476,19 +140402,31 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.interconnectGroups.getOperationalStatus({ - * // Name of the interconnectGroup resource to query. - * interconnectGroup: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.licenseCodes.setIamPolicy({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Name or id of the resource for this request. + * resource: '[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "bindings": [], + * // "etag": "my_etag", + * // "policy": {} + * // } + * }, * }); * console.log(res.data); * * // Example response * // { + * // "auditConfigs": [], + * // "bindings": [], * // "etag": "my_etag", - * // "result": {} + * // "version": 0 * // } * } * @@ -133504,61 +140442,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - getOperationalStatus( - params: Params$Resource$Interconnectgroups$Getoperationalstatus, + setIamPolicy( + params: Params$Resource$Licensecodes$Setiampolicy, options: StreamMethodOptions ): Promise>; - getOperationalStatus( - params?: Params$Resource$Interconnectgroups$Getoperationalstatus, + setIamPolicy( + params?: Params$Resource$Licensecodes$Setiampolicy, options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; - getOperationalStatus( - params: Params$Resource$Interconnectgroups$Getoperationalstatus, + ): Promise>; + setIamPolicy( + params: Params$Resource$Licensecodes$Setiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - getOperationalStatus( - params: Params$Resource$Interconnectgroups$Getoperationalstatus, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - getOperationalStatus( - params: Params$Resource$Interconnectgroups$Getoperationalstatus, - callback: BodyResponseCallback + setIamPolicy( + params: Params$Resource$Licensecodes$Setiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - getOperationalStatus( - callback: BodyResponseCallback + setIamPolicy( + params: Params$Resource$Licensecodes$Setiampolicy, + callback: BodyResponseCallback ): void; - getOperationalStatus( + setIamPolicy(callback: BodyResponseCallback): void; + setIamPolicy( paramsOrCallback?: - | Params$Resource$Interconnectgroups$Getoperationalstatus - | BodyResponseCallback + | Params$Resource$Licensecodes$Setiampolicy + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise< - GaxiosResponseWithHTTP2 - > + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Interconnectgroups$Getoperationalstatus; + {}) as Params$Resource$Licensecodes$Setiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Interconnectgroups$Getoperationalstatus; + params = {} as Params$Resource$Licensecodes$Setiampolicy; options = {}; } @@ -133573,33 +140503,33 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/interconnectGroups/{interconnectGroup}/getOperationalStatus' + '/compute/alpha/projects/{project}/global/licenseCodes/{resource}/setIamPolicy' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project', 'interconnectGroup'], - pathParams: ['interconnectGroup', 'project'], + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } /** - * Creates a InterconnectGroup in the specified project in the given scope - * using the parameters that are included in the request. + * Returns permissions that a caller has on the specified resource. + * *Caution* This resource is intended + * for use only by third-party partners who are creatingCloud Marketplace + * images. * @example * ```js * // Before running the sample: @@ -133623,6 +140553,7 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -133631,41 +140562,18 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.interconnectGroups.insert({ + * const res = await compute.licenseCodes.testIamPermissions({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating 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 - * requestId: 'placeholder-value', + * // Name or id of the resource for this request. + * resource: '[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * * // Request body metadata * requestBody: { * // request body parameters * // { - * // "configured": {}, - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "etag": "my_etag", - * // "id": "my_id", - * // "intent": {}, - * // "interconnects": {}, - * // "kind": "my_kind", - * // "name": "my_name", - * // "physicalStructure": {}, - * // "selfLink": "my_selfLink" + * // "permissions": [] * // } * }, * }); @@ -133673,34 +140581,7 @@ export namespace compute_alpha { * * // Example response * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, - * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, - * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" + * // "permissions": [] * // } * } * @@ -133716,53 +140597,57 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - insert( - params: Params$Resource$Interconnectgroups$Insert, + testIamPermissions( + params: Params$Resource$Licensecodes$Testiampermissions, options: StreamMethodOptions ): Promise>; - insert( - params?: Params$Resource$Interconnectgroups$Insert, + testIamPermissions( + params?: Params$Resource$Licensecodes$Testiampermissions, options?: MethodOptions - ): Promise>; - insert( - params: Params$Resource$Interconnectgroups$Insert, + ): Promise>; + testIamPermissions( + params: Params$Resource$Licensecodes$Testiampermissions, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - insert( - params: Params$Resource$Interconnectgroups$Insert, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + testIamPermissions( + params: Params$Resource$Licensecodes$Testiampermissions, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - insert( - params: Params$Resource$Interconnectgroups$Insert, - callback: BodyResponseCallback + testIamPermissions( + params: Params$Resource$Licensecodes$Testiampermissions, + callback: BodyResponseCallback ): void; - insert(callback: BodyResponseCallback): void; - insert( + testIamPermissions( + callback: BodyResponseCallback + ): void; + testIamPermissions( paramsOrCallback?: - | Params$Resource$Interconnectgroups$Insert - | BodyResponseCallback + | Params$Resource$Licensecodes$Testiampermissions + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Interconnectgroups$Insert; + {}) as Params$Resource$Licensecodes$Testiampermissions; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Interconnectgroups$Insert; + params = {} as Params$Resource$Licensecodes$Testiampermissions; options = {}; } @@ -133777,7 +140662,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/interconnectGroups' + '/compute/alpha/projects/{project}/global/licenseCodes/{resource}/testIamPermissions' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -133785,268 +140670,87 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project'], - pathParams: ['project'], + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } + } + export interface Params$Resource$Licensecodes$Get extends StandardParameters { /** - * Lists the InterconnectGroups for a project in the given scope. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/compute.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const compute = google.compute('alpha'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/cloud-platform', - * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await compute.interconnectGroups.list({ - * // A filter expression that filters resources listed in the response. Most - * // Compute resources support two types of filter expressions: - * // expressions that support regular expressions and expressions that follow - * // API improvement proposal AIP-160. - * // These two types of filter expressions cannot be mixed in one request. - * // - * // If you want to use AIP-160, your expression must specify the field name, an - * // operator, and the value that you want to use for filtering. The value - * // must be a string, a number, or a boolean. The operator - * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * // - * // For example, if you are filtering Compute Engine instances, you can - * // exclude instances named `example-instance` by specifying - * // `name != example-instance`. - * // - * // The `:*` comparison can be used to test whether a key has been defined. - * // For example, to find all objects with `owner` label use: - * // ``` - * // labels.owner:* - * // ``` - * // - * // You can also filter nested fields. For example, you could specify - * // `scheduling.automaticRestart = false` to include instances only - * // if they are not scheduled for automatic restarts. You can use filtering - * // on nested fields to filter based onresource labels. - * // - * // To filter on multiple expressions, provide each separate expression within - * // parentheses. For example: - * // ``` - * // (scheduling.automaticRestart = true) - * // (cpuPlatform = "Intel Skylake") - * // ``` - * // By default, each expression is an `AND` expression. However, you - * // can include `AND` and `OR` expressions explicitly. - * // For example: - * // ``` - * // (cpuPlatform = "Intel Skylake") OR - * // (cpuPlatform = "Intel Broadwell") AND - * // (scheduling.automaticRestart = true) - * // ``` - * // - * // If you want to use a regular expression, use the `eq` (equal) or `ne` - * // (not equal) operator against a single un-parenthesized expression with or - * // without quotes or against multiple parenthesized expressions. Examples: - * // - * // `fieldname eq unquoted literal` - * // `fieldname eq 'single quoted literal'` - * // `fieldname eq "double quoted literal"` - * // `(fieldname1 eq literal) (fieldname2 ne "literal")` - * // - * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * // The literal value must match the entire field. - * // - * // For example, to filter for instances that do not end with name "instance", - * // you would use `name ne .*instance`. - * // - * // You cannot combine constraints on multiple fields using regular - * // expressions. - * filter: 'placeholder-value', - * // The maximum number of results per page that should be returned. - * // If the number of available results is larger than `maxResults`, - * // Compute Engine returns a `nextPageToken` that can be used to get - * // the next page of results in subsequent list requests. Acceptable values are - * // `0` to `500`, inclusive. (Default: `500`) - * maxResults: 'placeholder-value', - * // Sorts list results by a certain order. By default, results - * // are returned in alphanumerical order based on the resource name. - * // - * // You can also sort results in descending order based on the creation - * // timestamp using `orderBy="creationTimestamp desc"`. This sorts - * // results based on the `creationTimestamp` field in - * // reverse chronological order (newest result first). Use this to sort - * // resources like operations so that the newest operation is returned first. - * // - * // Currently, only sorting by `name` or - * // `creationTimestamp desc` is supported. - * orderBy: 'placeholder-value', - * // Specifies a page token to use. Set `pageToken` to the - * // `nextPageToken` returned by a previous list request to get - * // the next page of results. - * pageToken: 'placeholder-value', - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Opt-in for partial success behavior which provides partial results in case - * // of failure. The default value is false. - * // - * // For example, when partial success behavior is enabled, aggregatedList for a - * // single zone scope either returns all resources in the zone or no resources, - * // with an error code. - * returnPartialSuccess: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "etag": "my_etag", - * // "id": "my_id", - * // "items": [], - * // "kind": "my_kind", - * // "nextPageToken": "my_nextPageToken", - * // "selfLink": "my_selfLink", - * // "unreachables": [], - * // "warning": {} - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. + * Number corresponding to the License code resource to return. */ - list( - params: Params$Resource$Interconnectgroups$List, - options: StreamMethodOptions - ): Promise>; - list( - params?: Params$Resource$Interconnectgroups$List, - options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Interconnectgroups$List, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Interconnectgroups$List, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Interconnectgroups$List, - callback: BodyResponseCallback - ): void; - list( - callback: BodyResponseCallback - ): void; - list( - paramsOrCallback?: - | Params$Resource$Interconnectgroups$List - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Interconnectgroups$List; - let options = (optionsOrCallback || {}) as MethodOptions; + licenseCode?: string; + /** + * Project ID for this request. + */ + project?: string; + } + export interface Params$Resource$Licensecodes$Getiampolicy extends StandardParameters { + /** + * Requested IAM Policy version. + */ + optionsRequestedPolicyVersion?: number; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; + } + export interface Params$Resource$Licensecodes$Setiampolicy extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Interconnectgroups$List; - options = {}; - } + /** + * Request body metadata + */ + requestBody?: Schema$GlobalSetPolicyRequest; + } + export interface Params$Resource$Licensecodes$Testiampermissions extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } - const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/compute/alpha/projects/{project}/global/interconnectGroups' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['project'], - pathParams: ['project'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest( - parameters - ); - } + export class Resource$Licenses { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; } /** - * Patches the specified InterconnectGroup resource with the data included in - * the request. This method supports PATCH - * semantics and usesJSON merge - * patch format and processing rules. + * Deletes the specified license. + * *Caution* This resource is intended + * for use only by third-party partners who are creatingCloud Marketplace + * images. * @example * ```js * // Before running the sample: @@ -134078,9 +140782,9 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.interconnectGroups.patch({ - * // Name of the InterconnectGroup resource to patch. - * interconnectGroup: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.licenses.delete({ + * // Name of the license resource to delete. + * license: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -134097,28 +140801,7 @@ export namespace compute_alpha { * // 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 * requestId: 'placeholder-value', - * // The list of fields to update. - * updateMask: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "configured": {}, - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "etag": "my_etag", - * // "id": "my_id", - * // "intent": {}, - * // "interconnects": {}, - * // "kind": "my_kind", - * // "name": "my_name", - * // "physicalStructure": {}, - * // "selfLink": "my_selfLink" - * // } - * }, * }); * console.log(res.data); * @@ -134167,32 +140850,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - patch( - params: Params$Resource$Interconnectgroups$Patch, + delete( + params: Params$Resource$Licenses$Delete, options: StreamMethodOptions ): Promise>; - patch( - params?: Params$Resource$Interconnectgroups$Patch, + delete( + params?: Params$Resource$Licenses$Delete, options?: MethodOptions ): Promise>; - patch( - params: Params$Resource$Interconnectgroups$Patch, + delete( + params: Params$Resource$Licenses$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Interconnectgroups$Patch, + delete( + params: Params$Resource$Licenses$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Interconnectgroups$Patch, + delete( + params: Params$Resource$Licenses$Delete, callback: BodyResponseCallback ): void; - patch(callback: BodyResponseCallback): void; - patch( + delete(callback: BodyResponseCallback): void; + delete( paramsOrCallback?: - | Params$Resource$Interconnectgroups$Patch + | Params$Resource$Licenses$Delete | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -134207,13 +140890,12 @@ export namespace compute_alpha { | void | Promise> | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Interconnectgroups$Patch; + let params = (paramsOrCallback || {}) as Params$Resource$Licenses$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Interconnectgroups$Patch; + params = {} as Params$Resource$Licenses$Delete; options = {}; } @@ -134228,16 +140910,16 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/interconnectGroups/{interconnectGroup}' + '/compute/alpha/projects/{project}/global/licenses/{license}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', + method: 'DELETE', apiVersion: '', }, options ), params, - requiredParams: ['project', 'interconnectGroup'], - pathParams: ['interconnectGroup', 'project'], + requiredParams: ['project', 'license'], + pathParams: ['license', 'project'], context: this.context, }; if (callback) { @@ -134251,8 +140933,10 @@ export namespace compute_alpha { } /** - * Sets the access control policy on the specified resource. - * Replaces any existing policy. + * Returns the specified License resource. + * *Caution* This resource is intended + * for use only by third-party partners who are creatingCloud Marketplace + * images. * @example * ```js * // Before running the sample: @@ -134276,6 +140960,7 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -134284,31 +140969,39 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.interconnectGroups.setIamPolicy({ + * const res = await compute.licenses.get({ + * // Name of the License resource to return. + * license: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name or id of the resource for this request. - * resource: '[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "bindings": [], - * // "etag": "my_etag", - * // "policy": {} - * // } - * }, * }); * console.log(res.data); * * // Example response * // { - * // "auditConfigs": [], - * // "bindings": [], - * // "etag": "my_etag", - * // "version": 0 + * // "allowedReplacementLicenses": [], + * // "appendableToDisk": false, + * // "chargesUseFee": false, + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "id": "my_id", + * // "incompatibleLicenses": [], + * // "kind": "my_kind", + * // "licenseCode": "my_licenseCode", + * // "minimumRetention": {}, + * // "multiTenantOnly": false, + * // "name": "my_name", + * // "osLicense": false, + * // "params": {}, + * // "removableFromDisk": false, + * // "requiredCoattachedLicenses": [], + * // "resourceRequirements": {}, + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "soleTenantOnly": false, + * // "transferable": false, + * // "updateTimestamp": "my_updateTimestamp" * // } * } * @@ -134324,53 +141017,52 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - setIamPolicy( - params: Params$Resource$Interconnectgroups$Setiampolicy, + get( + params: Params$Resource$Licenses$Get, options: StreamMethodOptions ): Promise>; - setIamPolicy( - params?: Params$Resource$Interconnectgroups$Setiampolicy, + get( + params?: Params$Resource$Licenses$Get, options?: MethodOptions - ): Promise>; - setIamPolicy( - params: Params$Resource$Interconnectgroups$Setiampolicy, + ): Promise>; + get( + params: Params$Resource$Licenses$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setIamPolicy( - params: Params$Resource$Interconnectgroups$Setiampolicy, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + get( + params: Params$Resource$Licenses$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - setIamPolicy( - params: Params$Resource$Interconnectgroups$Setiampolicy, - callback: BodyResponseCallback + get( + params: Params$Resource$Licenses$Get, + callback: BodyResponseCallback ): void; - setIamPolicy(callback: BodyResponseCallback): void; - setIamPolicy( + get(callback: BodyResponseCallback): void; + get( paramsOrCallback?: - | Params$Resource$Interconnectgroups$Setiampolicy - | BodyResponseCallback + | Params$Resource$Licenses$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Interconnectgroups$Setiampolicy; + let params = (paramsOrCallback || {}) as Params$Resource$Licenses$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Interconnectgroups$Setiampolicy; + params = {} as Params$Resource$Licenses$Get; options = {}; } @@ -134385,30 +141077,34 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/interconnectGroups/{resource}/setIamPolicy' + '/compute/alpha/projects/{project}/global/licenses/{license}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['project', 'resource'], - pathParams: ['project', 'resource'], + requiredParams: ['project', 'license'], + pathParams: ['license', 'project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Returns permissions that a caller has on the specified resource. + * 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 creatingCloud Marketplace + * images. * @example * ```js * // Before running the sample: @@ -134441,26 +141137,23 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.interconnectGroups.testIamPermissions({ + * const res = await compute.licenses.getIamPolicy({ + * // Requested IAM Policy version. + * optionsRequestedPolicyVersion: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', * // Name or id of the resource for this request. * resource: '[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "permissions": [] - * // } - * }, * }); * console.log(res.data); * * // Example response * // { - * // "permissions": [] + * // "auditConfigs": [], + * // "bindings": [], + * // "etag": "my_etag", + * // "version": 0 * // } * } * @@ -134476,57 +141169,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - testIamPermissions( - params: Params$Resource$Interconnectgroups$Testiampermissions, + getIamPolicy( + params: Params$Resource$Licenses$Getiampolicy, options: StreamMethodOptions ): Promise>; - testIamPermissions( - params?: Params$Resource$Interconnectgroups$Testiampermissions, + getIamPolicy( + params?: Params$Resource$Licenses$Getiampolicy, options?: MethodOptions - ): Promise>; - testIamPermissions( - params: Params$Resource$Interconnectgroups$Testiampermissions, + ): Promise>; + getIamPolicy( + params: Params$Resource$Licenses$Getiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - testIamPermissions( - params: Params$Resource$Interconnectgroups$Testiampermissions, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - testIamPermissions( - params: Params$Resource$Interconnectgroups$Testiampermissions, - callback: BodyResponseCallback + getIamPolicy( + params: Params$Resource$Licenses$Getiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - testIamPermissions( - callback: BodyResponseCallback + getIamPolicy( + params: Params$Resource$Licenses$Getiampolicy, + callback: BodyResponseCallback ): void; - testIamPermissions( + getIamPolicy(callback: BodyResponseCallback): void; + getIamPolicy( paramsOrCallback?: - | Params$Resource$Interconnectgroups$Testiampermissions - | BodyResponseCallback + | Params$Resource$Licenses$Getiampolicy + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Interconnectgroups$Testiampermissions; + {}) as Params$Resource$Licenses$Getiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Interconnectgroups$Testiampermissions; + params = {} as Params$Resource$Licenses$Getiampolicy; options = {}; } @@ -134541,9 +141230,9 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/interconnectGroups/{resource}/testIamPermissions' + '/compute/alpha/projects/{project}/global/licenses/{resource}/getIamPolicy' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options @@ -134554,300 +141243,20 @@ export namespace compute_alpha { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } - } - - export interface Params$Resource$Interconnectgroups$Createmembers extends StandardParameters { - /** - * Name of the group resource to create members for. - */ - interconnectGroup?: string; - /** - * Project ID for this request. - */ - project?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$InterconnectGroupsCreateMembersRequest; - } - export interface Params$Resource$Interconnectgroups$Delete extends StandardParameters { - /** - * Name of the InterconnectGroup resource to delete. - */ - interconnectGroup?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating 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 - */ - requestId?: string; - } - export interface Params$Resource$Interconnectgroups$Get extends StandardParameters { - /** - * Name of the InterconnectGroup resource to return. - */ - interconnectGroup?: string; - /** - * Project ID for this request. - */ - project?: string; - } - export interface Params$Resource$Interconnectgroups$Getiampolicy extends StandardParameters { - /** - * Requested IAM Policy version. - */ - optionsRequestedPolicyVersion?: number; - /** - * Project ID for this request. - */ - project?: string; - /** - * Name or id of the resource for this request. - */ - resource?: string; - } - export interface Params$Resource$Interconnectgroups$Getoperationalstatus extends StandardParameters { - /** - * Name of the interconnectGroup resource to query. - */ - interconnectGroup?: string; - /** - * Project ID for this request. - */ - project?: string; - } - export interface Params$Resource$Interconnectgroups$Insert extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating 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 - */ - requestId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$InterconnectGroup; - } - export interface Params$Resource$Interconnectgroups$List extends StandardParameters { - /** - * A filter expression that filters resources listed in the response. Most - * Compute resources support two types of filter expressions: - * expressions that support regular expressions and expressions that follow - * API improvement proposal AIP-160. - * These two types of filter expressions cannot be mixed in one request. - * - * If you want to use AIP-160, your expression must specify the field name, an - * operator, and the value that you want to use for filtering. The value - * must be a string, a number, or a boolean. The operator - * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * - * For example, if you are filtering Compute Engine instances, you can - * exclude instances named `example-instance` by specifying - * `name != example-instance`. - * - * The `:*` comparison can be used to test whether a key has been defined. - * For example, to find all objects with `owner` label use: - * ``` - * labels.owner:* - * ``` - * - * You can also filter nested fields. For example, you could specify - * `scheduling.automaticRestart = false` to include instances only - * if they are not scheduled for automatic restarts. You can use filtering - * on nested fields to filter based onresource labels. - * - * To filter on multiple expressions, provide each separate expression within - * parentheses. For example: - * ``` - * (scheduling.automaticRestart = true) - * (cpuPlatform = "Intel Skylake") - * ``` - * By default, each expression is an `AND` expression. However, you - * can include `AND` and `OR` expressions explicitly. - * For example: - * ``` - * (cpuPlatform = "Intel Skylake") OR - * (cpuPlatform = "Intel Broadwell") AND - * (scheduling.automaticRestart = true) - * ``` - * - * If you want to use a regular expression, use the `eq` (equal) or `ne` - * (not equal) operator against a single un-parenthesized expression with or - * without quotes or against multiple parenthesized expressions. Examples: - * - * `fieldname eq unquoted literal` - * `fieldname eq 'single quoted literal'` - * `fieldname eq "double quoted literal"` - * `(fieldname1 eq literal) (fieldname2 ne "literal")` - * - * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * The literal value must match the entire field. - * - * For example, to filter for instances that do not end with name "instance", - * you would use `name ne .*instance`. - * - * You cannot combine constraints on multiple fields using regular - * expressions. - */ - filter?: string; - /** - * The maximum number of results per page that should be returned. - * If the number of available results is larger than `maxResults`, - * Compute Engine returns a `nextPageToken` that can be used to get - * the next page of results in subsequent list requests. Acceptable values are - * `0` to `500`, inclusive. (Default: `500`) - */ - maxResults?: number; - /** - * Sorts list results by a certain order. By default, results - * are returned in alphanumerical order based on the resource name. - * - * You can also sort results in descending order based on the creation - * timestamp using `orderBy="creationTimestamp desc"`. This sorts - * results based on the `creationTimestamp` field in - * reverse chronological order (newest result first). Use this to sort - * resources like operations so that the newest operation is returned first. - * - * Currently, only sorting by `name` or - * `creationTimestamp desc` is supported. - */ - orderBy?: string; - /** - * Specifies a page token to use. Set `pageToken` to the - * `nextPageToken` returned by a previous list request to get - * the next page of results. - */ - pageToken?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * Opt-in for partial success behavior which provides partial results in case - * of failure. The default value is false. - * - * For example, when partial success behavior is enabled, aggregatedList for a - * single zone scope either returns all resources in the zone or no resources, - * with an error code. - */ - returnPartialSuccess?: boolean; - } - export interface Params$Resource$Interconnectgroups$Patch extends StandardParameters { - /** - * Name of the InterconnectGroup resource to patch. - */ - interconnectGroup?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating 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 - */ - requestId?: string; - /** - * The list of fields to update. - */ - updateMask?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$InterconnectGroup; - } - export interface Params$Resource$Interconnectgroups$Setiampolicy extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * Name or id of the resource for this request. - */ - resource?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$GlobalSetPolicyRequest; - } - export interface Params$Resource$Interconnectgroups$Testiampermissions extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * Name or id of the resource for this request. - */ - resource?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$TestPermissionsRequest; - } - - export class Resource$Interconnectlocations { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } /** - * Returns the details for the specified interconnect location. Gets a list of - * available interconnect locations by making a list() request. + * Create a License resource in the specified project. + * *Caution* This resource is intended + * for use only by third-party partners who are creatingCloud Marketplace + * images. * @example * ```js * // Before running the sample: @@ -134871,7 +141280,9 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', + * 'https://www.googleapis.com/auth/devstorage.full_control', + * 'https://www.googleapis.com/auth/devstorage.read_only', + * 'https://www.googleapis.com/auth/devstorage.read_write', * ], * }); * @@ -134880,38 +141291,86 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.interconnectLocations.get({ - * // Name of the interconnect location to return. - * interconnectLocation: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.licenses.insert({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "allowedReplacementLicenses": [], + * // "appendableToDisk": false, + * // "chargesUseFee": false, + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "id": "my_id", + * // "incompatibleLicenses": [], + * // "kind": "my_kind", + * // "licenseCode": "my_licenseCode", + * // "minimumRetention": {}, + * // "multiTenantOnly": false, + * // "name": "my_name", + * // "osLicense": false, + * // "params": {}, + * // "removableFromDisk": false, + * // "requiredCoattachedLicenses": [], + * // "resourceRequirements": {}, + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "soleTenantOnly": false, + * // "transferable": false, + * // "updateTimestamp": "my_updateTimestamp" + * // } + * }, * }); * console.log(res.data); * * // Example response * // { - * // "address": "my_address", - * // "availabilityZone": "my_availabilityZone", - * // "availableFeatures": [], - * // "availableLinkTypes": [], - * // "city": "my_city", - * // "continent": "my_continent", + * // "clientOperationId": "my_clientOperationId", * // "creationTimestamp": "my_creationTimestamp", - * // "crossSiteInterconnectInfos": [], * // "description": "my_description", - * // "facilityProvider": "my_facilityProvider", - * // "facilityProviderFacilityId": "my_facilityProviderFacilityId", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, * // "kind": "my_kind", * // "name": "my_name", - * // "peeringdbFacilityId": "my_peeringdbFacilityId", - * // "regionInfos": [], + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", - * // "singleRegionProductionCriticalPeerLocations": [], + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", * // "status": "my_status", - * // "supportsPzs": false + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" * // } * } * @@ -134927,55 +141386,52 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - get( - params: Params$Resource$Interconnectlocations$Get, + insert( + params: Params$Resource$Licenses$Insert, options: StreamMethodOptions ): Promise>; - get( - params?: Params$Resource$Interconnectlocations$Get, + insert( + params?: Params$Resource$Licenses$Insert, options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Interconnectlocations$Get, + ): Promise>; + insert( + params: Params$Resource$Licenses$Insert, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Interconnectlocations$Get, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + insert( + params: Params$Resource$Licenses$Insert, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Interconnectlocations$Get, - callback: BodyResponseCallback + insert( + params: Params$Resource$Licenses$Insert, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; - get( + insert(callback: BodyResponseCallback): void; + insert( paramsOrCallback?: - | Params$Resource$Interconnectlocations$Get - | BodyResponseCallback + | Params$Resource$Licenses$Insert + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Interconnectlocations$Get; + let params = (paramsOrCallback || {}) as Params$Resource$Licenses$Insert; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Interconnectlocations$Get; + params = {} as Params$Resource$Licenses$Insert; options = {}; } @@ -134989,32 +141445,38 @@ export namespace compute_alpha { options: Object.assign( { url: ( - rootUrl + - '/compute/alpha/projects/{project}/global/interconnectLocations/{interconnectLocation}' + rootUrl + '/compute/alpha/projects/{project}/global/licenses' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project', 'interconnectLocation'], - pathParams: ['interconnectLocation', 'project'], + requiredParams: ['project'], + pathParams: ['project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Retrieves the list of interconnect locations available to the specified - * project. + * 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 orwindows-cloud. + * *Caution* This resource is intended + * for use only by third-party partners who are creatingCloud Marketplace + * images. * @example * ```js * // Before running the sample: @@ -135047,7 +141509,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.interconnectLocations.list({ + * const res = await compute.licenses.list({ * // A filter expression that filters resources listed in the response. Most * // Compute resources support two types of filter expressions: * // expressions that support regular expressions and expressions that follow @@ -135146,7 +141608,6 @@ export namespace compute_alpha { * // { * // "id": "my_id", * // "items": [], - * // "kind": "my_kind", * // "nextPageToken": "my_nextPageToken", * // "selfLink": "my_selfLink", * // "warning": {} @@ -135166,54 +141627,53 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ list( - params: Params$Resource$Interconnectlocations$List, + params: Params$Resource$Licenses$List, options: StreamMethodOptions ): Promise>; list( - params?: Params$Resource$Interconnectlocations$List, + params?: Params$Resource$Licenses$List, options?: MethodOptions - ): Promise>; + ): Promise>; list( - params: Params$Resource$Interconnectlocations$List, + params: Params$Resource$Licenses$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; list( - params: Params$Resource$Interconnectlocations$List, + params: Params$Resource$Licenses$List, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; list( - params: Params$Resource$Interconnectlocations$List, - callback: BodyResponseCallback + params: Params$Resource$Licenses$List, + callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; list( paramsOrCallback?: - | Params$Resource$Interconnectlocations$List - | BodyResponseCallback + | Params$Resource$Licenses$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Interconnectlocations$List; + let params = (paramsOrCallback || {}) as Params$Resource$Licenses$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Interconnectlocations$List; + params = {} as Params$Resource$Licenses$List; options = {}; } @@ -135227,8 +141687,7 @@ export namespace compute_alpha { options: Object.assign( { url: ( - rootUrl + - '/compute/alpha/projects/{project}/global/interconnectLocations' + rootUrl + '/compute/alpha/projects/{project}/global/licenses' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -135241,140 +141700,180 @@ export namespace compute_alpha { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } - } - export interface Params$Resource$Interconnectlocations$Get extends StandardParameters { - /** - * Name of the interconnect location to return. - */ - interconnectLocation?: string; - /** - * Project ID for this request. - */ - project?: string; - } - export interface Params$Resource$Interconnectlocations$List extends StandardParameters { /** - * A filter expression that filters resources listed in the response. Most - * Compute resources support two types of filter expressions: - * expressions that support regular expressions and expressions that follow - * API improvement proposal AIP-160. - * These two types of filter expressions cannot be mixed in one request. - * - * If you want to use AIP-160, your expression must specify the field name, an - * operator, and the value that you want to use for filtering. The value - * must be a string, a number, or a boolean. The operator - * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * - * For example, if you are filtering Compute Engine instances, you can - * exclude instances named `example-instance` by specifying - * `name != example-instance`. - * - * The `:*` comparison can be used to test whether a key has been defined. - * For example, to find all objects with `owner` label use: - * ``` - * labels.owner:* - * ``` - * - * You can also filter nested fields. For example, you could specify - * `scheduling.automaticRestart = false` to include instances only - * if they are not scheduled for automatic restarts. You can use filtering - * on nested fields to filter based onresource labels. + * 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 creatingCloud Marketplace + * images. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` * - * To filter on multiple expressions, provide each separate expression within - * parentheses. For example: - * ``` - * (scheduling.automaticRestart = true) - * (cpuPlatform = "Intel Skylake") - * ``` - * By default, each expression is an `AND` expression. However, you - * can include `AND` and `OR` expressions explicitly. - * For example: - * ``` - * (cpuPlatform = "Intel Skylake") OR - * (cpuPlatform = "Intel Broadwell") AND - * (scheduling.automaticRestart = true) - * ``` + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); * - * If you want to use a regular expression, use the `eq` (equal) or `ne` - * (not equal) operator against a single un-parenthesized expression with or - * without quotes or against multiple parenthesized expressions. Examples: + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); * - * `fieldname eq unquoted literal` - * `fieldname eq 'single quoted literal'` - * `fieldname eq "double quoted literal"` - * `(fieldname1 eq literal) (fieldname2 ne "literal")` + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); * - * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * The literal value must match the entire field. + * // Do the magic + * const res = await compute.licenses.setIamPolicy({ + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Name or id of the resource for this request. + * resource: '[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * - * For example, to filter for instances that do not end with name "instance", - * you would use `name ne .*instance`. + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "bindings": [], + * // "etag": "my_etag", + * // "policy": {} + * // } + * }, + * }); + * console.log(res.data); * - * You cannot combine constraints on multiple fields using regular - * expressions. - */ - filter?: string; - /** - * The maximum number of results per page that should be returned. - * If the number of available results is larger than `maxResults`, - * Compute Engine returns a `nextPageToken` that can be used to get - * the next page of results in subsequent list requests. Acceptable values are - * `0` to `500`, inclusive. (Default: `500`) - */ - maxResults?: number; - /** - * Sorts list results by a certain order. By default, results - * are returned in alphanumerical order based on the resource name. + * // Example response + * // { + * // "auditConfigs": [], + * // "bindings": [], + * // "etag": "my_etag", + * // "version": 0 + * // } + * } * - * You can also sort results in descending order based on the creation - * timestamp using `orderBy="creationTimestamp desc"`. This sorts - * results based on the `creationTimestamp` field in - * reverse chronological order (newest result first). Use this to sort - * resources like operations so that the newest operation is returned first. + * main().catch(e => { + * console.error(e); + * throw e; + * }); * - * Currently, only sorting by `name` or - * `creationTimestamp desc` is supported. - */ - orderBy?: string; - /** - * Specifies a page token to use. Set `pageToken` to the - * `nextPageToken` returned by a previous list request to get - * the next page of results. - */ - pageToken?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * Opt-in for partial success behavior which provides partial results in case - * of failure. The default value is false. + * ``` * - * For example, when partial success behavior is enabled, aggregatedList for a - * single zone scope either returns all resources in the zone or no resources, - * with an error code. + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. */ - returnPartialSuccess?: boolean; - } + setIamPolicy( + params: Params$Resource$Licenses$Setiampolicy, + options: StreamMethodOptions + ): Promise>; + setIamPolicy( + params?: Params$Resource$Licenses$Setiampolicy, + options?: MethodOptions + ): Promise>; + setIamPolicy( + params: Params$Resource$Licenses$Setiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Licenses$Setiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Licenses$Setiampolicy, + callback: BodyResponseCallback + ): void; + setIamPolicy(callback: BodyResponseCallback): void; + setIamPolicy( + paramsOrCallback?: + | Params$Resource$Licenses$Setiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Licenses$Setiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; - export class Resource$Interconnectremotelocations { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Licenses$Setiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/global/licenses/{resource}/setIamPolicy' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } } /** - * Returns the details for the specified interconnect remote location. Gets a - * list of available interconnect remote locations by making alist() request. + * Returns permissions that a caller has on the specified resource. + * *Caution* This resource is intended + * for use only by third-party partners who are creatingCloud Marketplace + * images. * @example * ```js * // Before running the sample: @@ -135407,40 +141906,26 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.interconnectRemoteLocations.get({ - * // Name of the interconnect remote location to return. - * interconnectRemoteLocation: - * '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.licenses.testIamPermissions({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Name or id of the resource for this request. + * resource: '[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "permissions": [] + * // } + * }, * }); * console.log(res.data); * * // Example response * // { - * // "address": "my_address", - * // "attachmentConfigurationConstraints": {}, - * // "city": "my_city", - * // "constraints": {}, - * // "continent": "my_continent", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "facilityProvider": "my_facilityProvider", - * // "facilityProviderFacilityId": "my_facilityProviderFacilityId", - * // "id": "my_id", - * // "kind": "my_kind", - * // "lacp": "my_lacp", - * // "maxLagSize100Gbps": 0, - * // "maxLagSize10Gbps": 0, - * // "maxLagSize400Gbps": 0, - * // "name": "my_name", - * // "peeringdbFacilityId": "my_peeringdbFacilityId", - * // "permittedConnections": [], - * // "remoteService": "my_remoteService", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "status": "my_status" + * // "permissions": [] * // } * } * @@ -135456,57 +141941,57 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - get( - params: Params$Resource$Interconnectremotelocations$Get, + testIamPermissions( + params: Params$Resource$Licenses$Testiampermissions, options: StreamMethodOptions ): Promise>; - get( - params?: Params$Resource$Interconnectremotelocations$Get, + testIamPermissions( + params?: Params$Resource$Licenses$Testiampermissions, options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Interconnectremotelocations$Get, + ): Promise>; + testIamPermissions( + params: Params$Resource$Licenses$Testiampermissions, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Interconnectremotelocations$Get, + testIamPermissions( + params: Params$Resource$Licenses$Testiampermissions, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Interconnectremotelocations$Get, - callback: BodyResponseCallback + testIamPermissions( + params: Params$Resource$Licenses$Testiampermissions, + callback: BodyResponseCallback ): void; - get( - callback: BodyResponseCallback + testIamPermissions( + callback: BodyResponseCallback ): void; - get( + testIamPermissions( paramsOrCallback?: - | Params$Resource$Interconnectremotelocations$Get - | BodyResponseCallback + | Params$Resource$Licenses$Testiampermissions + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Interconnectremotelocations$Get; + {}) as Params$Resource$Licenses$Testiampermissions; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Interconnectremotelocations$Get; + params = {} as Params$Resource$Licenses$Testiampermissions; options = {}; } @@ -135521,31 +142006,33 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/interconnectRemoteLocations/{interconnectRemoteLocation}' + '/compute/alpha/projects/{project}/global/licenses/{resource}/testIamPermissions' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project', 'interconnectRemoteLocation'], - pathParams: ['interconnectRemoteLocation', 'project'], + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Retrieves the list of interconnect remote locations available to the - * specified project. + * Updates a License resource in the specified project. + * *Caution* This resource is intended + * for use only by third-party partners who are creatingCloud Marketplace + * images. * @example * ```js * // Before running the sample: @@ -135569,7 +142056,6 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -135578,109 +142064,90 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.interconnectRemoteLocations.list({ - * // A filter expression that filters resources listed in the response. Most - * // Compute resources support two types of filter expressions: - * // expressions that support regular expressions and expressions that follow - * // API improvement proposal AIP-160. - * // These two types of filter expressions cannot be mixed in one request. - * // - * // If you want to use AIP-160, your expression must specify the field name, an - * // operator, and the value that you want to use for filtering. The value - * // must be a string, a number, or a boolean. The operator - * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * // - * // For example, if you are filtering Compute Engine instances, you can - * // exclude instances named `example-instance` by specifying - * // `name != example-instance`. - * // - * // The `:*` comparison can be used to test whether a key has been defined. - * // For example, to find all objects with `owner` label use: - * // ``` - * // labels.owner:* - * // ``` - * // - * // You can also filter nested fields. For example, you could specify - * // `scheduling.automaticRestart = false` to include instances only - * // if they are not scheduled for automatic restarts. You can use filtering - * // on nested fields to filter based onresource labels. - * // - * // To filter on multiple expressions, provide each separate expression within - * // parentheses. For example: - * // ``` - * // (scheduling.automaticRestart = true) - * // (cpuPlatform = "Intel Skylake") - * // ``` - * // By default, each expression is an `AND` expression. However, you - * // can include `AND` and `OR` expressions explicitly. - * // For example: - * // ``` - * // (cpuPlatform = "Intel Skylake") OR - * // (cpuPlatform = "Intel Broadwell") AND - * // (scheduling.automaticRestart = true) - * // ``` - * // - * // If you want to use a regular expression, use the `eq` (equal) or `ne` - * // (not equal) operator against a single un-parenthesized expression with or - * // without quotes or against multiple parenthesized expressions. Examples: - * // - * // `fieldname eq unquoted literal` - * // `fieldname eq 'single quoted literal'` - * // `fieldname eq "double quoted literal"` - * // `(fieldname1 eq literal) (fieldname2 ne "literal")` - * // - * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * // The literal value must match the entire field. - * // - * // For example, to filter for instances that do not end with name "instance", - * // you would use `name ne .*instance`. - * // - * // You cannot combine constraints on multiple fields using regular - * // expressions. - * filter: 'placeholder-value', - * // The maximum number of results per page that should be returned. - * // If the number of available results is larger than `maxResults`, - * // Compute Engine returns a `nextPageToken` that can be used to get - * // the next page of results in subsequent list requests. Acceptable values are - * // `0` to `500`, inclusive. (Default: `500`) - * maxResults: 'placeholder-value', - * // Sorts list results by a certain order. By default, results - * // are returned in alphanumerical order based on the resource name. - * // - * // You can also sort results in descending order based on the creation - * // timestamp using `orderBy="creationTimestamp desc"`. This sorts - * // results based on the `creationTimestamp` field in - * // reverse chronological order (newest result first). Use this to sort - * // resources like operations so that the newest operation is returned first. - * // - * // Currently, only sorting by `name` or - * // `creationTimestamp desc` is supported. - * orderBy: 'placeholder-value', - * // Specifies a page token to use. Set `pageToken` to the - * // `nextPageToken` returned by a previous list request to get - * // the next page of results. - * pageToken: 'placeholder-value', + * const res = await compute.licenses.update({ + * // The license name for this request. + * license: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Opt-in for partial success behavior which provides partial results in case - * // of failure. The default value is false. + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. * // - * // For example, when partial success behavior is enabled, aggregatedList for a - * // single zone scope either returns all resources in the zone or no resources, - * // with an error code. - * returnPartialSuccess: 'placeholder-value', + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // update_mask indicates fields to be updated as part of this request. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "allowedReplacementLicenses": [], + * // "appendableToDisk": false, + * // "chargesUseFee": false, + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "id": "my_id", + * // "incompatibleLicenses": [], + * // "kind": "my_kind", + * // "licenseCode": "my_licenseCode", + * // "minimumRetention": {}, + * // "multiTenantOnly": false, + * // "name": "my_name", + * // "osLicense": false, + * // "params": {}, + * // "removableFromDisk": false, + * // "requiredCoattachedLicenses": [], + * // "resourceRequirements": {}, + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "soleTenantOnly": false, + * // "transferable": false, + * // "updateTimestamp": "my_updateTimestamp" + * // } + * }, * }); * console.log(res.data); * * // Example response * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, * // "id": "my_id", - * // "items": [], + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, * // "kind": "my_kind", - * // "nextPageToken": "my_nextPageToken", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", * // "selfLink": "my_selfLink", - * // "warning": {} + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" * // } * } * @@ -135696,57 +142163,52 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - list( - params: Params$Resource$Interconnectremotelocations$List, + update( + params: Params$Resource$Licenses$Update, options: StreamMethodOptions ): Promise>; - list( - params?: Params$Resource$Interconnectremotelocations$List, + update( + params?: Params$Resource$Licenses$Update, options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Interconnectremotelocations$List, + ): Promise>; + update( + params: Params$Resource$Licenses$Update, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Interconnectremotelocations$List, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Interconnectremotelocations$List, - callback: BodyResponseCallback + update( + params: Params$Resource$Licenses$Update, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - list( - callback: BodyResponseCallback + update( + params: Params$Resource$Licenses$Update, + callback: BodyResponseCallback ): void; - list( + update(callback: BodyResponseCallback): void; + update( paramsOrCallback?: - | Params$Resource$Interconnectremotelocations$List - | BodyResponseCallback + | Params$Resource$Licenses$Update + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Interconnectremotelocations$List; + let params = (paramsOrCallback || {}) as Params$Resource$Licenses$Update; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Interconnectremotelocations$List; + params = {} as Params$Resource$Licenses$Update; options = {}; } @@ -135761,42 +142223,107 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/interconnectRemoteLocations' + '/compute/alpha/projects/{project}/global/licenses/{license}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'PATCH', apiVersion: '', }, options ), params, - requiredParams: ['project'], - pathParams: ['project'], + requiredParams: ['project', 'license'], + pathParams: ['license', 'project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } } - export interface Params$Resource$Interconnectremotelocations$Get extends StandardParameters { + export interface Params$Resource$Licenses$Delete extends StandardParameters { /** - * Name of the interconnect remote location to return. + * Name of the license resource to delete. */ - interconnectRemoteLocation?: string; + license?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + export interface Params$Resource$Licenses$Get extends StandardParameters { + /** + * Name of the License resource to return. + */ + license?: string; /** * Project ID for this request. */ project?: string; } - export interface Params$Resource$Interconnectremotelocations$List extends StandardParameters { + export interface Params$Resource$Licenses$Getiampolicy extends StandardParameters { + /** + * Requested IAM Policy version. + */ + optionsRequestedPolicyVersion?: number; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; + } + export interface Params$Resource$Licenses$Insert extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$License; + } + export interface Params$Resource$Licenses$List extends StandardParameters { /** * A filter expression that filters resources listed in the response. Most * Compute resources support two types of filter expressions: @@ -135900,15 +142427,81 @@ export namespace compute_alpha { */ returnPartialSuccess?: boolean; } + export interface Params$Resource$Licenses$Setiampolicy extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GlobalSetPolicyRequest; + } + export interface Params$Resource$Licenses$Testiampermissions extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; - export class Resource$Interconnects { + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + export interface Params$Resource$Licenses$Update extends StandardParameters { + /** + * The license name for this request. + */ + license?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * update_mask indicates fields to be updated as part of this request. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$License; + } + + export class Resource$Machineimages { context: APIRequestContext; constructor(context: APIRequestContext) { this.context = context; } /** - * Deletes the specified Interconnect. + * Deletes the specified machine image. Deleting a machine image is permanent + * and cannot be undone. * @example * ```js * // Before running the sample: @@ -135940,9 +142533,9 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.interconnects.delete({ - * // Name of the interconnect to delete. - * interconnect: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.machineImages.delete({ + * // The name of the machine image to delete. + * machineImage: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -136009,31 +142602,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ delete( - params: Params$Resource$Interconnects$Delete, + params: Params$Resource$Machineimages$Delete, options: StreamMethodOptions ): Promise>; delete( - params?: Params$Resource$Interconnects$Delete, + params?: Params$Resource$Machineimages$Delete, options?: MethodOptions ): Promise>; delete( - params: Params$Resource$Interconnects$Delete, + params: Params$Resource$Machineimages$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Interconnects$Delete, + params: Params$Resource$Machineimages$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Interconnects$Delete, + params: Params$Resource$Machineimages$Delete, callback: BodyResponseCallback ): void; delete(callback: BodyResponseCallback): void; delete( paramsOrCallback?: - | Params$Resource$Interconnects$Delete + | Params$Resource$Machineimages$Delete | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -136049,12 +142642,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Interconnects$Delete; + {}) as Params$Resource$Machineimages$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Interconnects$Delete; + params = {} as Params$Resource$Machineimages$Delete; options = {}; } @@ -136069,7 +142662,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/interconnects/{interconnect}' + '/compute/alpha/projects/{project}/global/machineImages/{machineImage}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'DELETE', apiVersion: '', @@ -136077,8 +142670,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'interconnect'], - pathParams: ['interconnect', 'project'], + requiredParams: ['project', 'machineImage'], + pathParams: ['machineImage', 'project'], context: this.context, }; if (callback) { @@ -136092,8 +142685,7 @@ export namespace compute_alpha { } /** - * Returns the specified Interconnect. Get a list of available Interconnects - * by making a list() request. + * Returns the specified machine image. * @example * ```js * // Before running the sample: @@ -136126,9 +142718,9 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.interconnects.get({ - * // Name of the interconnect to return. - * interconnect: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.machineImages.get({ + * // The name of the machine image. + * machineImage: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -136137,44 +142729,28 @@ export namespace compute_alpha { * * // Example response * // { - * // "aaiEnabled": false, - * // "adminEnabled": false, - * // "applicationAwareInterconnect": {}, - * // "availableFeatures": [], - * // "circuitInfos": [], * // "creationTimestamp": "my_creationTimestamp", - * // "customerName": "my_customerName", * // "description": "my_description", - * // "effectiveLocation": "my_effectiveLocation", - * // "expectedOutages": [], - * // "googleIpAddress": "my_googleIpAddress", - * // "googleReferenceId": "my_googleReferenceId", + * // "guestFlush": false, * // "id": "my_id", - * // "interconnectAttachments": [], - * // "interconnectGroups": [], - * // "interconnectType": "my_interconnectType", + * // "instanceProperties": {}, * // "kind": "my_kind", * // "labelFingerprint": "my_labelFingerprint", * // "labels": {}, - * // "linkType": "my_linkType", - * // "location": "my_location", - * // "macsec": {}, - * // "macsecEnabled": false, + * // "machineImageEncryptionKey": {}, * // "name": "my_name", - * // "nocContactEmail": "my_nocContactEmail", - * // "operationalStatus": "my_operationalStatus", * // "params": {}, - * // "peerIpAddress": "my_peerIpAddress", - * // "provisionedLinkCount": 0, - * // "remoteLocation": "my_remoteLocation", - * // "requestedFeatures": [], - * // "requestedLinkCount": 0, + * // "satisfiesPzi": false, * // "satisfiesPzs": false, + * // "savedDisks": [], * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", - * // "state": "my_state", - * // "subzone": "my_subzone", - * // "wireGroups": [] + * // "sourceDiskEncryptionKeys": [], + * // "sourceInstance": "my_sourceInstance", + * // "sourceInstanceProperties": {}, + * // "status": "my_status", + * // "storageLocations": [], + * // "totalStorageBytes": "my_totalStorageBytes" * // } * } * @@ -136191,213 +142767,52 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ get( - params: Params$Resource$Interconnects$Get, + params: Params$Resource$Machineimages$Get, options: StreamMethodOptions ): Promise>; get( - params?: Params$Resource$Interconnects$Get, + params?: Params$Resource$Machineimages$Get, options?: MethodOptions - ): Promise>; + ): Promise>; get( - params: Params$Resource$Interconnects$Get, + params: Params$Resource$Machineimages$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; get( - params: Params$Resource$Interconnects$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + params: Params$Resource$Machineimages$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; get( - params: Params$Resource$Interconnects$Get, - callback: BodyResponseCallback + params: Params$Resource$Machineimages$Get, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; get( paramsOrCallback?: - | Params$Resource$Interconnects$Get - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Interconnects$Get; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Interconnects$Get; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/compute/alpha/projects/{project}/global/interconnects/{interconnect}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['project', 'interconnect'], - pathParams: ['interconnect', 'project'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * 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. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/compute.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const compute = google.compute('alpha'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/cloud-platform', - * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await compute.interconnects.getDiagnostics({ - * // Name of the interconnect resource to query. - * interconnect: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "result": {} - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - getDiagnostics( - params: Params$Resource$Interconnects$Getdiagnostics, - options: StreamMethodOptions - ): Promise>; - getDiagnostics( - params?: Params$Resource$Interconnects$Getdiagnostics, - options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; - getDiagnostics( - params: Params$Resource$Interconnects$Getdiagnostics, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - getDiagnostics( - params: Params$Resource$Interconnects$Getdiagnostics, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - getDiagnostics( - params: Params$Resource$Interconnects$Getdiagnostics, - callback: BodyResponseCallback - ): void; - getDiagnostics( - callback: BodyResponseCallback - ): void; - getDiagnostics( - paramsOrCallback?: - | Params$Resource$Interconnects$Getdiagnostics - | BodyResponseCallback + | Params$Resource$Machineimages$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise< - GaxiosResponseWithHTTP2 - > + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Interconnects$Getdiagnostics; + {}) as Params$Resource$Machineimages$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Interconnects$Getdiagnostics; + params = {} as Params$Resource$Machineimages$Get; options = {}; } @@ -136412,7 +142827,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/interconnects/{interconnect}/getDiagnostics' + '/compute/alpha/projects/{project}/global/machineImages/{machineImage}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -136420,19 +142835,17 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'interconnect'], - pathParams: ['interconnect', 'project'], + requiredParams: ['project', 'machineImage'], + pathParams: ['machineImage', 'project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } @@ -136471,7 +142884,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.interconnects.getIamPolicy({ + * const res = await compute.machineImages.getIamPolicy({ * // Requested IAM Policy version. * optionsRequestedPolicyVersion: 'placeholder-value', * // Project ID for this request. @@ -136504,31 +142917,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ getIamPolicy( - params: Params$Resource$Interconnects$Getiampolicy, + params: Params$Resource$Machineimages$Getiampolicy, options: StreamMethodOptions ): Promise>; getIamPolicy( - params?: Params$Resource$Interconnects$Getiampolicy, + params?: Params$Resource$Machineimages$Getiampolicy, options?: MethodOptions ): Promise>; getIamPolicy( - params: Params$Resource$Interconnects$Getiampolicy, + params: Params$Resource$Machineimages$Getiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; getIamPolicy( - params: Params$Resource$Interconnects$Getiampolicy, + params: Params$Resource$Machineimages$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; getIamPolicy( - params: Params$Resource$Interconnects$Getiampolicy, + params: Params$Resource$Machineimages$Getiampolicy, callback: BodyResponseCallback ): void; getIamPolicy(callback: BodyResponseCallback): void; getIamPolicy( paramsOrCallback?: - | Params$Resource$Interconnects$Getiampolicy + | Params$Resource$Machineimages$Getiampolicy | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -136544,12 +142957,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Interconnects$Getiampolicy; + {}) as Params$Resource$Machineimages$Getiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Interconnects$Getiampolicy; + params = {} as Params$Resource$Machineimages$Getiampolicy; options = {}; } @@ -136564,7 +142977,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/interconnects/{resource}/getIamPolicy' + '/compute/alpha/projects/{project}/global/machineImages/{resource}/getIamPolicy' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -136587,164 +143000,11 @@ export namespace compute_alpha { } /** - * Returns the interconnectMacsecConfig for the specified - * Interconnect. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/compute.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const compute = google.compute('alpha'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/cloud-platform', - * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await compute.interconnects.getMacsecConfig({ - * // Name of the interconnect resource to query. - * interconnect: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "etag": "my_etag", - * // "result": {} - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - getMacsecConfig( - params: Params$Resource$Interconnects$Getmacsecconfig, - options: StreamMethodOptions - ): Promise>; - getMacsecConfig( - params?: Params$Resource$Interconnects$Getmacsecconfig, - options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; - getMacsecConfig( - params: Params$Resource$Interconnects$Getmacsecconfig, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - getMacsecConfig( - params: Params$Resource$Interconnects$Getmacsecconfig, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - getMacsecConfig( - params: Params$Resource$Interconnects$Getmacsecconfig, - callback: BodyResponseCallback - ): void; - getMacsecConfig( - callback: BodyResponseCallback - ): void; - getMacsecConfig( - paramsOrCallback?: - | Params$Resource$Interconnects$Getmacsecconfig - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise< - GaxiosResponseWithHTTP2 - > - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Interconnects$Getmacsecconfig; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Interconnects$Getmacsecconfig; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/compute/alpha/projects/{project}/global/interconnects/{interconnect}/getMacsecConfig' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['project', 'interconnect'], - pathParams: ['interconnect', 'project'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest( - parameters - ); - } - } - - /** - * Creates an Interconnect in the specified project using - * the data included in the request. + * 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. * @example * ```js * // Before running the sample: @@ -136776,7 +143036,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.interconnects.insert({ + * const res = await compute.machineImages.insert({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -136794,49 +143054,35 @@ export namespace compute_alpha { * // a valid UUID with the exception that zero UUID is not supported * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', + * // Required. Source instance that is used to create the machine image from. + * sourceInstance: 'placeholder-value', * * // Request body metadata * requestBody: { * // request body parameters * // { - * // "aaiEnabled": false, - * // "adminEnabled": false, - * // "applicationAwareInterconnect": {}, - * // "availableFeatures": [], - * // "circuitInfos": [], * // "creationTimestamp": "my_creationTimestamp", - * // "customerName": "my_customerName", * // "description": "my_description", - * // "effectiveLocation": "my_effectiveLocation", - * // "expectedOutages": [], - * // "googleIpAddress": "my_googleIpAddress", - * // "googleReferenceId": "my_googleReferenceId", + * // "guestFlush": false, * // "id": "my_id", - * // "interconnectAttachments": [], - * // "interconnectGroups": [], - * // "interconnectType": "my_interconnectType", + * // "instanceProperties": {}, * // "kind": "my_kind", * // "labelFingerprint": "my_labelFingerprint", * // "labels": {}, - * // "linkType": "my_linkType", - * // "location": "my_location", - * // "macsec": {}, - * // "macsecEnabled": false, + * // "machineImageEncryptionKey": {}, * // "name": "my_name", - * // "nocContactEmail": "my_nocContactEmail", - * // "operationalStatus": "my_operationalStatus", * // "params": {}, - * // "peerIpAddress": "my_peerIpAddress", - * // "provisionedLinkCount": 0, - * // "remoteLocation": "my_remoteLocation", - * // "requestedFeatures": [], - * // "requestedLinkCount": 0, + * // "satisfiesPzi": false, * // "satisfiesPzs": false, + * // "savedDisks": [], * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", - * // "state": "my_state", - * // "subzone": "my_subzone", - * // "wireGroups": [] + * // "sourceDiskEncryptionKeys": [], + * // "sourceInstance": "my_sourceInstance", + * // "sourceInstanceProperties": {}, + * // "status": "my_status", + * // "storageLocations": [], + * // "totalStorageBytes": "my_totalStorageBytes" * // } * }, * }); @@ -136888,31 +143134,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ insert( - params: Params$Resource$Interconnects$Insert, + params: Params$Resource$Machineimages$Insert, options: StreamMethodOptions ): Promise>; insert( - params?: Params$Resource$Interconnects$Insert, + params?: Params$Resource$Machineimages$Insert, options?: MethodOptions ): Promise>; insert( - params: Params$Resource$Interconnects$Insert, + params: Params$Resource$Machineimages$Insert, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; insert( - params: Params$Resource$Interconnects$Insert, + params: Params$Resource$Machineimages$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; insert( - params: Params$Resource$Interconnects$Insert, + params: Params$Resource$Machineimages$Insert, callback: BodyResponseCallback ): void; insert(callback: BodyResponseCallback): void; insert( paramsOrCallback?: - | Params$Resource$Interconnects$Insert + | Params$Resource$Machineimages$Insert | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -136928,12 +143174,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Interconnects$Insert; + {}) as Params$Resource$Machineimages$Insert; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Interconnects$Insert; + params = {} as Params$Resource$Machineimages$Insert; options = {}; } @@ -136947,7 +143193,7 @@ export namespace compute_alpha { options: Object.assign( { url: ( - rootUrl + '/compute/alpha/projects/{project}/global/interconnects' + rootUrl + '/compute/alpha/projects/{project}/global/machineImages' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -136970,244 +143216,8 @@ export namespace compute_alpha { } /** - * Retrieves the list of Interconnects available to the specified project. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/compute.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const compute = google.compute('alpha'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/cloud-platform', - * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await compute.interconnects.list({ - * // A filter expression that filters resources listed in the response. Most - * // Compute resources support two types of filter expressions: - * // expressions that support regular expressions and expressions that follow - * // API improvement proposal AIP-160. - * // These two types of filter expressions cannot be mixed in one request. - * // - * // If you want to use AIP-160, your expression must specify the field name, an - * // operator, and the value that you want to use for filtering. The value - * // must be a string, a number, or a boolean. The operator - * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * // - * // For example, if you are filtering Compute Engine instances, you can - * // exclude instances named `example-instance` by specifying - * // `name != example-instance`. - * // - * // The `:*` comparison can be used to test whether a key has been defined. - * // For example, to find all objects with `owner` label use: - * // ``` - * // labels.owner:* - * // ``` - * // - * // You can also filter nested fields. For example, you could specify - * // `scheduling.automaticRestart = false` to include instances only - * // if they are not scheduled for automatic restarts. You can use filtering - * // on nested fields to filter based onresource labels. - * // - * // To filter on multiple expressions, provide each separate expression within - * // parentheses. For example: - * // ``` - * // (scheduling.automaticRestart = true) - * // (cpuPlatform = "Intel Skylake") - * // ``` - * // By default, each expression is an `AND` expression. However, you - * // can include `AND` and `OR` expressions explicitly. - * // For example: - * // ``` - * // (cpuPlatform = "Intel Skylake") OR - * // (cpuPlatform = "Intel Broadwell") AND - * // (scheduling.automaticRestart = true) - * // ``` - * // - * // If you want to use a regular expression, use the `eq` (equal) or `ne` - * // (not equal) operator against a single un-parenthesized expression with or - * // without quotes or against multiple parenthesized expressions. Examples: - * // - * // `fieldname eq unquoted literal` - * // `fieldname eq 'single quoted literal'` - * // `fieldname eq "double quoted literal"` - * // `(fieldname1 eq literal) (fieldname2 ne "literal")` - * // - * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * // The literal value must match the entire field. - * // - * // For example, to filter for instances that do not end with name "instance", - * // you would use `name ne .*instance`. - * // - * // You cannot combine constraints on multiple fields using regular - * // expressions. - * filter: 'placeholder-value', - * // The maximum number of results per page that should be returned. - * // If the number of available results is larger than `maxResults`, - * // Compute Engine returns a `nextPageToken` that can be used to get - * // the next page of results in subsequent list requests. Acceptable values are - * // `0` to `500`, inclusive. (Default: `500`) - * maxResults: 'placeholder-value', - * // Sorts list results by a certain order. By default, results - * // are returned in alphanumerical order based on the resource name. - * // - * // You can also sort results in descending order based on the creation - * // timestamp using `orderBy="creationTimestamp desc"`. This sorts - * // results based on the `creationTimestamp` field in - * // reverse chronological order (newest result first). Use this to sort - * // resources like operations so that the newest operation is returned first. - * // - * // Currently, only sorting by `name` or - * // `creationTimestamp desc` is supported. - * orderBy: 'placeholder-value', - * // Specifies a page token to use. Set `pageToken` to the - * // `nextPageToken` returned by a previous list request to get - * // the next page of results. - * pageToken: 'placeholder-value', - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Opt-in for partial success behavior which provides partial results in case - * // of failure. The default value is false. - * // - * // For example, when partial success behavior is enabled, aggregatedList for a - * // single zone scope either returns all resources in the zone or no resources, - * // with an error code. - * returnPartialSuccess: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "id": "my_id", - * // "items": [], - * // "kind": "my_kind", - * // "nextPageToken": "my_nextPageToken", - * // "selfLink": "my_selfLink", - * // "warning": {} - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - list( - params: Params$Resource$Interconnects$List, - options: StreamMethodOptions - ): Promise>; - list( - params?: Params$Resource$Interconnects$List, - options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Interconnects$List, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Interconnects$List, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Interconnects$List, - callback: BodyResponseCallback - ): void; - list(callback: BodyResponseCallback): void; - list( - paramsOrCallback?: - | Params$Resource$Interconnects$List - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Interconnects$List; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Interconnects$List; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/compute/alpha/projects/{project}/global/interconnects' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['project'], - pathParams: ['project'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Updates the specified Interconnect with the data included in the request. - * This method supportsPATCH - * semantics and uses theJSON merge - * patch format and processing rules. + * Retrieves a list of machine images that are contained within + * the specified project. * @example * ```js * // Before running the sample: @@ -137231,6 +143241,7 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -137239,104 +143250,109 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.interconnects.patch({ - * // Name of the interconnect to update. - * interconnect: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.machineImages.list({ + * // A filter expression that filters resources listed in the response. Most + * // Compute resources support two types of filter expressions: + * // expressions that support regular expressions and expressions that follow + * // API improvement proposal AIP-160. + * // These two types of filter expressions cannot be mixed in one request. + * // + * // If you want to use AIP-160, your expression must specify the field name, an + * // operator, and the value that you want to use for filtering. The value + * // must be a string, a number, or a boolean. The operator + * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * // + * // For example, if you are filtering Compute Engine instances, you can + * // exclude instances named `example-instance` by specifying + * // `name != example-instance`. + * // + * // The `:*` comparison can be used to test whether a key has been defined. + * // For example, to find all objects with `owner` label use: + * // ``` + * // labels.owner:* + * // ``` + * // + * // You can also filter nested fields. For example, you could specify + * // `scheduling.automaticRestart = false` to include instances only + * // if they are not scheduled for automatic restarts. You can use filtering + * // on nested fields to filter based onresource labels. + * // + * // To filter on multiple expressions, provide each separate expression within + * // parentheses. For example: + * // ``` + * // (scheduling.automaticRestart = true) + * // (cpuPlatform = "Intel Skylake") + * // ``` + * // By default, each expression is an `AND` expression. However, you + * // can include `AND` and `OR` expressions explicitly. + * // For example: + * // ``` + * // (cpuPlatform = "Intel Skylake") OR + * // (cpuPlatform = "Intel Broadwell") AND + * // (scheduling.automaticRestart = true) + * // ``` + * // + * // If you want to use a regular expression, use the `eq` (equal) or `ne` + * // (not equal) operator against a single un-parenthesized expression with or + * // without quotes or against multiple parenthesized expressions. Examples: + * // + * // `fieldname eq unquoted literal` + * // `fieldname eq 'single quoted literal'` + * // `fieldname eq "double quoted literal"` + * // `(fieldname1 eq literal) (fieldname2 ne "literal")` + * // + * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * // The literal value must match the entire field. + * // + * // For example, to filter for instances that do not end with name "instance", + * // you would use `name ne .*instance`. + * // + * // You cannot combine constraints on multiple fields using regular + * // expressions. + * filter: 'placeholder-value', + * // The maximum number of results per page that should be returned. + * // If the number of available results is larger than `maxResults`, + * // Compute Engine returns a `nextPageToken` that can be used to get + * // the next page of results in subsequent list requests. Acceptable values are + * // `0` to `500`, inclusive. (Default: `500`) + * maxResults: 'placeholder-value', + * // Sorts list results by a certain order. By default, results + * // are returned in alphanumerical order based on the resource name. + * // + * // You can also sort results in descending order based on the creation + * // timestamp using `orderBy="creationTimestamp desc"`. This sorts + * // results based on the `creationTimestamp` field in + * // reverse chronological order (newest result first). Use this to sort + * // resources like operations so that the newest operation is returned first. + * // + * // Currently, only sorting by `name` or + * // `creationTimestamp desc` is supported. + * orderBy: 'placeholder-value', + * // Specifies a page token to use. Set `pageToken` to the + * // `nextPageToken` returned by a previous list request to get + * // the next page of results. + * pageToken: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. + * // Opt-in for partial success behavior which provides partial results in case + * // of failure. The default value is false. * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "aaiEnabled": false, - * // "adminEnabled": false, - * // "applicationAwareInterconnect": {}, - * // "availableFeatures": [], - * // "circuitInfos": [], - * // "creationTimestamp": "my_creationTimestamp", - * // "customerName": "my_customerName", - * // "description": "my_description", - * // "effectiveLocation": "my_effectiveLocation", - * // "expectedOutages": [], - * // "googleIpAddress": "my_googleIpAddress", - * // "googleReferenceId": "my_googleReferenceId", - * // "id": "my_id", - * // "interconnectAttachments": [], - * // "interconnectGroups": [], - * // "interconnectType": "my_interconnectType", - * // "kind": "my_kind", - * // "labelFingerprint": "my_labelFingerprint", - * // "labels": {}, - * // "linkType": "my_linkType", - * // "location": "my_location", - * // "macsec": {}, - * // "macsecEnabled": false, - * // "name": "my_name", - * // "nocContactEmail": "my_nocContactEmail", - * // "operationalStatus": "my_operationalStatus", - * // "params": {}, - * // "peerIpAddress": "my_peerIpAddress", - * // "provisionedLinkCount": 0, - * // "remoteLocation": "my_remoteLocation", - * // "requestedFeatures": [], - * // "requestedLinkCount": 0, - * // "satisfiesPzs": false, - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "state": "my_state", - * // "subzone": "my_subzone", - * // "wireGroups": [] - * // } - * }, + * // For example, when partial success behavior is enabled, aggregatedList for a + * // single zone scope either returns all resources in the zone or no resources, + * // with an error code. + * returnPartialSuccess: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, + * // "items": [], * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", + * // "nextPageToken": "my_nextPageToken", * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" + * // "warning": {} * // } * } * @@ -137352,53 +143368,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - patch( - params: Params$Resource$Interconnects$Patch, + list( + params: Params$Resource$Machineimages$List, options: StreamMethodOptions ): Promise>; - patch( - params?: Params$Resource$Interconnects$Patch, + list( + params?: Params$Resource$Machineimages$List, options?: MethodOptions - ): Promise>; - patch( - params: Params$Resource$Interconnects$Patch, + ): Promise>; + list( + params: Params$Resource$Machineimages$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Interconnects$Patch, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + list( + params: Params$Resource$Machineimages$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Interconnects$Patch, - callback: BodyResponseCallback + list( + params: Params$Resource$Machineimages$List, + callback: BodyResponseCallback ): void; - patch(callback: BodyResponseCallback): void; - patch( + list(callback: BodyResponseCallback): void; + list( paramsOrCallback?: - | Params$Resource$Interconnects$Patch - | BodyResponseCallback + | Params$Resource$Machineimages$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Interconnects$Patch; + {}) as Params$Resource$Machineimages$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Interconnects$Patch; + params = {} as Params$Resource$Machineimages$List; options = {}; } @@ -137412,26 +143428,25 @@ export namespace compute_alpha { options: Object.assign( { url: ( - rootUrl + - '/compute/alpha/projects/{project}/global/interconnects/{interconnect}' + rootUrl + '/compute/alpha/projects/{project}/global/machineImages' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['project', 'interconnect'], - pathParams: ['interconnect', 'project'], + requiredParams: ['project'], + pathParams: ['project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } @@ -137469,7 +143484,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.interconnects.setIamPolicy({ + * const res = await compute.machineImages.setIamPolicy({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -137510,31 +143525,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ setIamPolicy( - params: Params$Resource$Interconnects$Setiampolicy, + params: Params$Resource$Machineimages$Setiampolicy, options: StreamMethodOptions ): Promise>; setIamPolicy( - params?: Params$Resource$Interconnects$Setiampolicy, + params?: Params$Resource$Machineimages$Setiampolicy, options?: MethodOptions ): Promise>; setIamPolicy( - params: Params$Resource$Interconnects$Setiampolicy, + params: Params$Resource$Machineimages$Setiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; setIamPolicy( - params: Params$Resource$Interconnects$Setiampolicy, + params: Params$Resource$Machineimages$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; setIamPolicy( - params: Params$Resource$Interconnects$Setiampolicy, + params: Params$Resource$Machineimages$Setiampolicy, callback: BodyResponseCallback ): void; setIamPolicy(callback: BodyResponseCallback): void; setIamPolicy( paramsOrCallback?: - | Params$Resource$Interconnects$Setiampolicy + | Params$Resource$Machineimages$Setiampolicy | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -137550,12 +143565,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Interconnects$Setiampolicy; + {}) as Params$Resource$Machineimages$Setiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Interconnects$Setiampolicy; + params = {} as Params$Resource$Machineimages$Setiampolicy; options = {}; } @@ -137570,7 +143585,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/interconnects/{resource}/setIamPolicy' + '/compute/alpha/projects/{project}/global/machineImages/{resource}/setIamPolicy' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -137593,8 +143608,7 @@ export namespace compute_alpha { } /** - * Sets the labels on an Interconnect. To learn more about labels, - * read the Labeling + * Sets the labels on a machine image. To learn more about labels, read theLabeling * Resources documentation. * @example * ```js @@ -137627,7 +143641,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.interconnects.setLabels({ + * const res = await compute.machineImages.setLabels({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -137691,31 +143705,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ setLabels( - params: Params$Resource$Interconnects$Setlabels, + params: Params$Resource$Machineimages$Setlabels, options: StreamMethodOptions ): Promise>; setLabels( - params?: Params$Resource$Interconnects$Setlabels, + params?: Params$Resource$Machineimages$Setlabels, options?: MethodOptions ): Promise>; setLabels( - params: Params$Resource$Interconnects$Setlabels, + params: Params$Resource$Machineimages$Setlabels, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; setLabels( - params: Params$Resource$Interconnects$Setlabels, + params: Params$Resource$Machineimages$Setlabels, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; setLabels( - params: Params$Resource$Interconnects$Setlabels, + params: Params$Resource$Machineimages$Setlabels, callback: BodyResponseCallback ): void; setLabels(callback: BodyResponseCallback): void; setLabels( paramsOrCallback?: - | Params$Resource$Interconnects$Setlabels + | Params$Resource$Machineimages$Setlabels | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -137731,12 +143745,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Interconnects$Setlabels; + {}) as Params$Resource$Machineimages$Setlabels; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Interconnects$Setlabels; + params = {} as Params$Resource$Machineimages$Setlabels; options = {}; } @@ -137751,7 +143765,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/interconnects/{resource}/setLabels' + '/compute/alpha/projects/{project}/global/machineImages/{resource}/setLabels' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -137807,7 +143821,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.interconnects.testIamPermissions({ + * const res = await compute.machineImages.testIamPermissions({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -137843,27 +143857,27 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ testIamPermissions( - params: Params$Resource$Interconnects$Testiampermissions, + params: Params$Resource$Machineimages$Testiampermissions, options: StreamMethodOptions ): Promise>; testIamPermissions( - params?: Params$Resource$Interconnects$Testiampermissions, + params?: Params$Resource$Machineimages$Testiampermissions, options?: MethodOptions ): Promise>; testIamPermissions( - params: Params$Resource$Interconnects$Testiampermissions, + params: Params$Resource$Machineimages$Testiampermissions, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; testIamPermissions( - params: Params$Resource$Interconnects$Testiampermissions, + params: Params$Resource$Machineimages$Testiampermissions, options: | MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; testIamPermissions( - params: Params$Resource$Interconnects$Testiampermissions, + params: Params$Resource$Machineimages$Testiampermissions, callback: BodyResponseCallback ): void; testIamPermissions( @@ -137871,7 +143885,7 @@ export namespace compute_alpha { ): void; testIamPermissions( paramsOrCallback?: - | Params$Resource$Interconnects$Testiampermissions + | Params$Resource$Machineimages$Testiampermissions | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -137887,12 +143901,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Interconnects$Testiampermissions; + {}) as Params$Resource$Machineimages$Testiampermissions; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Interconnects$Testiampermissions; + params = {} as Params$Resource$Machineimages$Testiampermissions; options = {}; } @@ -137907,7 +143921,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/interconnects/{resource}/testIamPermissions' + '/compute/alpha/projects/{project}/global/machineImages/{resource}/testIamPermissions' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -137930,11 +143944,11 @@ export namespace compute_alpha { } } - export interface Params$Resource$Interconnects$Delete extends StandardParameters { + export interface Params$Resource$Machineimages$Delete extends StandardParameters { /** - * Name of the interconnect to delete. + * The name of the machine image to delete. */ - interconnect?: string; + machineImage?: string; /** * Project ID for this request. */ @@ -137956,27 +143970,17 @@ export namespace compute_alpha { */ requestId?: string; } - export interface Params$Resource$Interconnects$Get extends StandardParameters { - /** - * Name of the interconnect to return. - */ - interconnect?: string; - /** - * Project ID for this request. - */ - project?: string; - } - export interface Params$Resource$Interconnects$Getdiagnostics extends StandardParameters { + export interface Params$Resource$Machineimages$Get extends StandardParameters { /** - * Name of the interconnect resource to query. + * The name of the machine image. */ - interconnect?: string; + machineImage?: string; /** * Project ID for this request. */ project?: string; } - export interface Params$Resource$Interconnects$Getiampolicy extends StandardParameters { + export interface Params$Resource$Machineimages$Getiampolicy extends StandardParameters { /** * Requested IAM Policy version. */ @@ -137990,17 +143994,7 @@ export namespace compute_alpha { */ resource?: string; } - export interface Params$Resource$Interconnects$Getmacsecconfig extends StandardParameters { - /** - * Name of the interconnect resource to query. - */ - interconnect?: string; - /** - * Project ID for this request. - */ - project?: string; - } - export interface Params$Resource$Interconnects$Insert extends StandardParameters { + export interface Params$Resource$Machineimages$Insert extends StandardParameters { /** * Project ID for this request. */ @@ -138021,13 +144015,17 @@ export namespace compute_alpha { * (00000000-0000-0000-0000-000000000000). */ requestId?: string; + /** + * Required. Source instance that is used to create the machine image from. + */ + sourceInstance?: string; /** * Request body metadata */ - requestBody?: Schema$Interconnect; + requestBody?: Schema$MachineImage; } - export interface Params$Resource$Interconnects$List extends StandardParameters { + export interface Params$Resource$Machineimages$List extends StandardParameters { /** * A filter expression that filters resources listed in the response. Most * Compute resources support two types of filter expressions: @@ -138118,51 +144116,20 @@ export namespace compute_alpha { */ pageToken?: string; /** - * Project ID for this request. - */ - project?: string; - /** - * Opt-in for partial success behavior which provides partial results in case - * of failure. The default value is false. - * - * For example, when partial success behavior is enabled, aggregatedList for a - * single zone scope either returns all resources in the zone or no resources, - * with an error code. - */ - returnPartialSuccess?: boolean; - } - export interface Params$Resource$Interconnects$Patch extends StandardParameters { - /** - * Name of the interconnect to update. - */ - interconnect?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). + * Project ID for this request. */ - requestId?: string; - + project?: string; /** - * Request body metadata + * Opt-in for partial success behavior which provides partial results in case + * of failure. The default value is false. + * + * For example, when partial success behavior is enabled, aggregatedList for a + * single zone scope either returns all resources in the zone or no resources, + * with an error code. */ - requestBody?: Schema$Interconnect; + returnPartialSuccess?: boolean; } - export interface Params$Resource$Interconnects$Setiampolicy extends StandardParameters { + export interface Params$Resource$Machineimages$Setiampolicy extends StandardParameters { /** * Project ID for this request. */ @@ -138177,7 +144144,7 @@ export namespace compute_alpha { */ requestBody?: Schema$GlobalSetPolicyRequest; } - export interface Params$Resource$Interconnects$Setlabels extends StandardParameters { + export interface Params$Resource$Machineimages$Setlabels extends StandardParameters { /** * Project ID for this request. */ @@ -138192,7 +144159,7 @@ export namespace compute_alpha { */ requestBody?: Schema$GlobalSetLabelsRequest; } - export interface Params$Resource$Interconnects$Testiampermissions extends StandardParameters { + export interface Params$Resource$Machineimages$Testiampermissions extends StandardParameters { /** * Project ID for this request. */ @@ -138208,18 +144175,17 @@ export namespace compute_alpha { requestBody?: Schema$TestPermissionsRequest; } - export class Resource$Licensecodes { + export class Resource$Machinetypes { context: APIRequestContext; constructor(context: APIRequestContext) { this.context = context; } /** - * 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 creatingCloud Marketplace - * images. + * Retrieves an aggregated list of machine types. + * + * To prevent failure, Google recommends that you set the + * `returnPartialSuccess` parameter to `true`. * @example * ```js * // Before running the sample: @@ -138252,36 +144218,121 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.licenseCodes.get({ - * // Number corresponding to the License code resource to return. - * licenseCode: '[0-9]{0,61}?', + * const res = await compute.machineTypes.aggregatedList({ + * // A filter expression that filters resources listed in the response. Most + * // Compute resources support two types of filter expressions: + * // expressions that support regular expressions and expressions that follow + * // API improvement proposal AIP-160. + * // These two types of filter expressions cannot be mixed in one request. + * // + * // If you want to use AIP-160, your expression must specify the field name, an + * // operator, and the value that you want to use for filtering. The value + * // must be a string, a number, or a boolean. The operator + * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * // + * // For example, if you are filtering Compute Engine instances, you can + * // exclude instances named `example-instance` by specifying + * // `name != example-instance`. + * // + * // The `:*` comparison can be used to test whether a key has been defined. + * // For example, to find all objects with `owner` label use: + * // ``` + * // labels.owner:* + * // ``` + * // + * // You can also filter nested fields. For example, you could specify + * // `scheduling.automaticRestart = false` to include instances only + * // if they are not scheduled for automatic restarts. You can use filtering + * // on nested fields to filter based onresource labels. + * // + * // To filter on multiple expressions, provide each separate expression within + * // parentheses. For example: + * // ``` + * // (scheduling.automaticRestart = true) + * // (cpuPlatform = "Intel Skylake") + * // ``` + * // By default, each expression is an `AND` expression. However, you + * // can include `AND` and `OR` expressions explicitly. + * // For example: + * // ``` + * // (cpuPlatform = "Intel Skylake") OR + * // (cpuPlatform = "Intel Broadwell") AND + * // (scheduling.automaticRestart = true) + * // ``` + * // + * // If you want to use a regular expression, use the `eq` (equal) or `ne` + * // (not equal) operator against a single un-parenthesized expression with or + * // without quotes or against multiple parenthesized expressions. Examples: + * // + * // `fieldname eq unquoted literal` + * // `fieldname eq 'single quoted literal'` + * // `fieldname eq "double quoted literal"` + * // `(fieldname1 eq literal) (fieldname2 ne "literal")` + * // + * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * // The literal value must match the entire field. + * // + * // For example, to filter for instances that do not end with name "instance", + * // you would use `name ne .*instance`. + * // + * // You cannot combine constraints on multiple fields using regular + * // expressions. + * filter: 'placeholder-value', + * // 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. + * includeAllScopes: 'placeholder-value', + * // The maximum number of results per page that should be returned. + * // If the number of available results is larger than `maxResults`, + * // Compute Engine returns a `nextPageToken` that can be used to get + * // the next page of results in subsequent list requests. Acceptable values are + * // `0` to `500`, inclusive. (Default: `500`) + * maxResults: 'placeholder-value', + * // Sorts list results by a certain order. By default, results + * // are returned in alphanumerical order based on the resource name. + * // + * // You can also sort results in descending order based on the creation + * // timestamp using `orderBy="creationTimestamp desc"`. This sorts + * // results based on the `creationTimestamp` field in + * // reverse chronological order (newest result first). Use this to sort + * // resources like operations so that the newest operation is returned first. + * // + * // Currently, only sorting by `name` or + * // `creationTimestamp desc` is supported. + * orderBy: 'placeholder-value', + * // Specifies a page token to use. Set `pageToken` to the + * // `nextPageToken` returned by a previous list request to get + * // the next page of results. + * pageToken: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Opt-in for partial success behavior which provides partial results in case + * // of failure. The default value is false. + * // + * // For example, when partial success behavior is enabled, aggregatedList for a + * // single zone scope either returns all resources in the zone or no resources, + * // with an error code. + * returnPartialSuccess: 'placeholder-value', + * // The Shared VPC service project id or service project number for which + * // aggregated list request is invoked for subnetworks list-usable api. + * serviceProjectNumber: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { - * // "allowedReplacementLicenses": [], - * // "appendableToDisk": false, - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", * // "id": "my_id", - * // "incompatibleLicenses": [], + * // "items": {}, * // "kind": "my_kind", - * // "licenseAlias": [], - * // "minimumRetention": {}, - * // "multiTenantOnly": false, - * // "name": "my_name", - * // "osLicense": false, - * // "removableFromDisk": false, - * // "requiredCoattachedLicenses": [], + * // "nextPageToken": "my_nextPageToken", * // "selfLink": "my_selfLink", - * // "soleTenantOnly": false, - * // "state": "my_state", - * // "transferable": false, - * // "updateTimestamp": "my_updateTimestamp" + * // "unreachables": [], + * // "warning": {} * // } * } * @@ -138297,52 +144348,57 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - get( - params: Params$Resource$Licensecodes$Get, + aggregatedList( + params: Params$Resource$Machinetypes$Aggregatedlist, options: StreamMethodOptions ): Promise>; - get( - params?: Params$Resource$Licensecodes$Get, + aggregatedList( + params?: Params$Resource$Machinetypes$Aggregatedlist, options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Licensecodes$Get, + ): Promise>; + aggregatedList( + params: Params$Resource$Machinetypes$Aggregatedlist, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Licensecodes$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + aggregatedList( + params: Params$Resource$Machinetypes$Aggregatedlist, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Licensecodes$Get, - callback: BodyResponseCallback + aggregatedList( + params: Params$Resource$Machinetypes$Aggregatedlist, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; - get( + aggregatedList( + callback: BodyResponseCallback + ): void; + aggregatedList( paramsOrCallback?: - | Params$Resource$Licensecodes$Get - | BodyResponseCallback + | Params$Resource$Machinetypes$Aggregatedlist + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Licensecodes$Get; + let params = (paramsOrCallback || + {}) as Params$Resource$Machinetypes$Aggregatedlist; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Licensecodes$Get; + params = {} as Params$Resource$Machinetypes$Aggregatedlist; options = {}; } @@ -138357,7 +144413,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/licenseCodes/{licenseCode}' + '/compute/alpha/projects/{project}/aggregated/machineTypes' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -138365,26 +144421,22 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'licenseCode'], - pathParams: ['licenseCode', 'project'], + requiredParams: ['project'], + pathParams: ['project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * 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 creatingCloud Marketplace - * images. + * Returns the specified machine type. * @example * ```js * // Before running the sample: @@ -138417,23 +144469,36 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.licenseCodes.getIamPolicy({ - * // Requested IAM Policy version. - * optionsRequestedPolicyVersion: 'placeholder-value', + * const res = await compute.machineTypes.get({ + * // Name of the machine type to return. + * machineType: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name or id of the resource for this request. - * resource: '[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // The name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * }); * console.log(res.data); * * // Example response * // { - * // "auditConfigs": [], - * // "bindings": [], - * // "etag": "my_etag", - * // "version": 0 + * // "accelerators": [], + * // "architecture": "my_architecture", + * // "bundledLocalSsds": {}, + * // "creationTimestamp": "my_creationTimestamp", + * // "deprecated": {}, + * // "description": "my_description", + * // "guestCpus": 0, + * // "id": "my_id", + * // "isSharedCpu": false, + * // "kind": "my_kind", + * // "maximumPersistentDisks": 0, + * // "maximumPersistentDisksSizeGb": "my_maximumPersistentDisksSizeGb", + * // "memoryMb": 0, + * // "name": "my_name", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "zone": "my_zone" * // } * } * @@ -138449,53 +144514,52 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - getIamPolicy( - params: Params$Resource$Licensecodes$Getiampolicy, + get( + params: Params$Resource$Machinetypes$Get, options: StreamMethodOptions ): Promise>; - getIamPolicy( - params?: Params$Resource$Licensecodes$Getiampolicy, + get( + params?: Params$Resource$Machinetypes$Get, options?: MethodOptions - ): Promise>; - getIamPolicy( - params: Params$Resource$Licensecodes$Getiampolicy, + ): Promise>; + get( + params: Params$Resource$Machinetypes$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - getIamPolicy( - params: Params$Resource$Licensecodes$Getiampolicy, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + get( + params: Params$Resource$Machinetypes$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - getIamPolicy( - params: Params$Resource$Licensecodes$Getiampolicy, - callback: BodyResponseCallback + get( + params: Params$Resource$Machinetypes$Get, + callback: BodyResponseCallback ): void; - getIamPolicy(callback: BodyResponseCallback): void; - getIamPolicy( + get(callback: BodyResponseCallback): void; + get( paramsOrCallback?: - | Params$Resource$Licensecodes$Getiampolicy - | BodyResponseCallback + | Params$Resource$Machinetypes$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Licensecodes$Getiampolicy; + let params = (paramsOrCallback || {}) as Params$Resource$Machinetypes$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Licensecodes$Getiampolicy; + params = {} as Params$Resource$Machinetypes$Get; options = {}; } @@ -138510,7 +144574,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/licenseCodes/{resource}/getIamPolicy' + '/compute/alpha/projects/{project}/zones/{zone}/machineTypes/{machineType}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -138518,26 +144582,23 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'resource'], - pathParams: ['project', 'resource'], + requiredParams: ['project', 'zone', 'machineType'], + pathParams: ['machineType', 'project', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * 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 creatingCloud Marketplace - * images. + * Retrieves a list of machine types available to the specified + * project. * @example * ```js * // Before running the sample: @@ -138561,6 +144622,7 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -138569,31 +144631,111 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.licenseCodes.setIamPolicy({ + * const res = await compute.machineTypes.list({ + * // A filter expression that filters resources listed in the response. Most + * // Compute resources support two types of filter expressions: + * // expressions that support regular expressions and expressions that follow + * // API improvement proposal AIP-160. + * // These two types of filter expressions cannot be mixed in one request. + * // + * // If you want to use AIP-160, your expression must specify the field name, an + * // operator, and the value that you want to use for filtering. The value + * // must be a string, a number, or a boolean. The operator + * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * // + * // For example, if you are filtering Compute Engine instances, you can + * // exclude instances named `example-instance` by specifying + * // `name != example-instance`. + * // + * // The `:*` comparison can be used to test whether a key has been defined. + * // For example, to find all objects with `owner` label use: + * // ``` + * // labels.owner:* + * // ``` + * // + * // You can also filter nested fields. For example, you could specify + * // `scheduling.automaticRestart = false` to include instances only + * // if they are not scheduled for automatic restarts. You can use filtering + * // on nested fields to filter based onresource labels. + * // + * // To filter on multiple expressions, provide each separate expression within + * // parentheses. For example: + * // ``` + * // (scheduling.automaticRestart = true) + * // (cpuPlatform = "Intel Skylake") + * // ``` + * // By default, each expression is an `AND` expression. However, you + * // can include `AND` and `OR` expressions explicitly. + * // For example: + * // ``` + * // (cpuPlatform = "Intel Skylake") OR + * // (cpuPlatform = "Intel Broadwell") AND + * // (scheduling.automaticRestart = true) + * // ``` + * // + * // If you want to use a regular expression, use the `eq` (equal) or `ne` + * // (not equal) operator against a single un-parenthesized expression with or + * // without quotes or against multiple parenthesized expressions. Examples: + * // + * // `fieldname eq unquoted literal` + * // `fieldname eq 'single quoted literal'` + * // `fieldname eq "double quoted literal"` + * // `(fieldname1 eq literal) (fieldname2 ne "literal")` + * // + * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * // The literal value must match the entire field. + * // + * // For example, to filter for instances that do not end with name "instance", + * // you would use `name ne .*instance`. + * // + * // You cannot combine constraints on multiple fields using regular + * // expressions. + * filter: 'placeholder-value', + * // The maximum number of results per page that should be returned. + * // If the number of available results is larger than `maxResults`, + * // Compute Engine returns a `nextPageToken` that can be used to get + * // the next page of results in subsequent list requests. Acceptable values are + * // `0` to `500`, inclusive. (Default: `500`) + * maxResults: 'placeholder-value', + * // Sorts list results by a certain order. By default, results + * // are returned in alphanumerical order based on the resource name. + * // + * // You can also sort results in descending order based on the creation + * // timestamp using `orderBy="creationTimestamp desc"`. This sorts + * // results based on the `creationTimestamp` field in + * // reverse chronological order (newest result first). Use this to sort + * // resources like operations so that the newest operation is returned first. + * // + * // Currently, only sorting by `name` or + * // `creationTimestamp desc` is supported. + * orderBy: 'placeholder-value', + * // Specifies a page token to use. Set `pageToken` to the + * // `nextPageToken` returned by a previous list request to get + * // the next page of results. + * pageToken: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name or id of the resource for this request. - * resource: '[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "bindings": [], - * // "etag": "my_etag", - * // "policy": {} - * // } - * }, + * // Opt-in for partial success behavior which provides partial results in case + * // of failure. The default value is false. + * // + * // For example, when partial success behavior is enabled, aggregatedList for a + * // single zone scope either returns all resources in the zone or no resources, + * // with an error code. + * returnPartialSuccess: 'placeholder-value', + * // The name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * }); * console.log(res.data); * * // Example response * // { - * // "auditConfigs": [], - * // "bindings": [], - * // "etag": "my_etag", - * // "version": 0 + * // "id": "my_id", + * // "items": [], + * // "kind": "my_kind", + * // "nextPageToken": "my_nextPageToken", + * // "selfLink": "my_selfLink", + * // "warning": {} * // } * } * @@ -138609,53 +144751,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - setIamPolicy( - params: Params$Resource$Licensecodes$Setiampolicy, + list( + params: Params$Resource$Machinetypes$List, options: StreamMethodOptions ): Promise>; - setIamPolicy( - params?: Params$Resource$Licensecodes$Setiampolicy, + list( + params?: Params$Resource$Machinetypes$List, options?: MethodOptions - ): Promise>; - setIamPolicy( - params: Params$Resource$Licensecodes$Setiampolicy, + ): Promise>; + list( + params: Params$Resource$Machinetypes$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setIamPolicy( - params: Params$Resource$Licensecodes$Setiampolicy, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + list( + params: Params$Resource$Machinetypes$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - setIamPolicy( - params: Params$Resource$Licensecodes$Setiampolicy, - callback: BodyResponseCallback + list( + params: Params$Resource$Machinetypes$List, + callback: BodyResponseCallback ): void; - setIamPolicy(callback: BodyResponseCallback): void; - setIamPolicy( + list(callback: BodyResponseCallback): void; + list( paramsOrCallback?: - | Params$Resource$Licensecodes$Setiampolicy - | BodyResponseCallback + | Params$Resource$Machinetypes$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Licensecodes$Setiampolicy; + {}) as Params$Resource$Machinetypes$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Licensecodes$Setiampolicy; + params = {} as Params$Resource$Machinetypes$List; options = {}; } @@ -138670,33 +144812,283 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/licenseCodes/{resource}/setIamPolicy' + '/compute/alpha/projects/{project}/zones/{zone}/machineTypes' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['project', 'resource'], - pathParams: ['project', 'resource'], + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } + } + export interface Params$Resource$Machinetypes$Aggregatedlist extends StandardParameters { /** - * Returns permissions that a caller has on the specified resource. - * *Caution* This resource is intended - * for use only by third-party partners who are creatingCloud Marketplace - * images. + * A filter expression that filters resources listed in the response. Most + * Compute resources support two types of filter expressions: + * expressions that support regular expressions and expressions that follow + * API improvement proposal AIP-160. + * These two types of filter expressions cannot be mixed in one request. + * + * If you want to use AIP-160, your expression must specify the field name, an + * operator, and the value that you want to use for filtering. The value + * must be a string, a number, or a boolean. The operator + * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * + * For example, if you are filtering Compute Engine instances, you can + * exclude instances named `example-instance` by specifying + * `name != example-instance`. + * + * The `:*` comparison can be used to test whether a key has been defined. + * For example, to find all objects with `owner` label use: + * ``` + * labels.owner:* + * ``` + * + * You can also filter nested fields. For example, you could specify + * `scheduling.automaticRestart = false` to include instances only + * if they are not scheduled for automatic restarts. You can use filtering + * on nested fields to filter based onresource labels. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example: + * ``` + * (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake") + * ``` + * By default, each expression is an `AND` expression. However, you + * can include `AND` and `OR` expressions explicitly. + * For example: + * ``` + * (cpuPlatform = "Intel Skylake") OR + * (cpuPlatform = "Intel Broadwell") AND + * (scheduling.automaticRestart = true) + * ``` + * + * If you want to use a regular expression, use the `eq` (equal) or `ne` + * (not equal) operator against a single un-parenthesized expression with or + * without quotes or against multiple parenthesized expressions. Examples: + * + * `fieldname eq unquoted literal` + * `fieldname eq 'single quoted literal'` + * `fieldname eq "double quoted literal"` + * `(fieldname1 eq literal) (fieldname2 ne "literal")` + * + * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * The literal value must match the entire field. + * + * For example, to filter for instances that do not end with name "instance", + * you would use `name ne .*instance`. + * + * You cannot combine constraints on multiple fields using regular + * expressions. + */ + filter?: string; + /** + * 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. + */ + includeAllScopes?: boolean; + /** + * The maximum number of results per page that should be returned. + * If the number of available results is larger than `maxResults`, + * Compute Engine returns a `nextPageToken` that can be used to get + * the next page of results in subsequent list requests. Acceptable values are + * `0` to `500`, inclusive. (Default: `500`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results + * are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation + * timestamp using `orderBy="creationTimestamp desc"`. This sorts + * results based on the `creationTimestamp` field in + * reverse chronological order (newest result first). Use this to sort + * resources like operations so that the newest operation is returned first. + * + * Currently, only sorting by `name` or + * `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the + * `nextPageToken` returned by a previous list request to get + * the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Opt-in for partial success behavior which provides partial results in case + * of failure. The default value is false. + * + * For example, when partial success behavior is enabled, aggregatedList for a + * single zone scope either returns all resources in the zone or no resources, + * with an error code. + */ + returnPartialSuccess?: boolean; + /** + * The Shared VPC service project id or service project number for which + * aggregated list request is invoked for subnetworks list-usable api. + */ + serviceProjectNumber?: string; + } + export interface Params$Resource$Machinetypes$Get extends StandardParameters { + /** + * Name of the machine type to return. + */ + machineType?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + export interface Params$Resource$Machinetypes$List extends StandardParameters { + /** + * A filter expression that filters resources listed in the response. Most + * Compute resources support two types of filter expressions: + * expressions that support regular expressions and expressions that follow + * API improvement proposal AIP-160. + * These two types of filter expressions cannot be mixed in one request. + * + * If you want to use AIP-160, your expression must specify the field name, an + * operator, and the value that you want to use for filtering. The value + * must be a string, a number, or a boolean. The operator + * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * + * For example, if you are filtering Compute Engine instances, you can + * exclude instances named `example-instance` by specifying + * `name != example-instance`. + * + * The `:*` comparison can be used to test whether a key has been defined. + * For example, to find all objects with `owner` label use: + * ``` + * labels.owner:* + * ``` + * + * You can also filter nested fields. For example, you could specify + * `scheduling.automaticRestart = false` to include instances only + * if they are not scheduled for automatic restarts. You can use filtering + * on nested fields to filter based onresource labels. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example: + * ``` + * (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake") + * ``` + * By default, each expression is an `AND` expression. However, you + * can include `AND` and `OR` expressions explicitly. + * For example: + * ``` + * (cpuPlatform = "Intel Skylake") OR + * (cpuPlatform = "Intel Broadwell") AND + * (scheduling.automaticRestart = true) + * ``` + * + * If you want to use a regular expression, use the `eq` (equal) or `ne` + * (not equal) operator against a single un-parenthesized expression with or + * without quotes or against multiple parenthesized expressions. Examples: + * + * `fieldname eq unquoted literal` + * `fieldname eq 'single quoted literal'` + * `fieldname eq "double quoted literal"` + * `(fieldname1 eq literal) (fieldname2 ne "literal")` + * + * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * The literal value must match the entire field. + * + * For example, to filter for instances that do not end with name "instance", + * you would use `name ne .*instance`. + * + * You cannot combine constraints on multiple fields using regular + * expressions. + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. + * If the number of available results is larger than `maxResults`, + * Compute Engine returns a `nextPageToken` that can be used to get + * the next page of results in subsequent list requests. Acceptable values are + * `0` to `500`, inclusive. (Default: `500`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results + * are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation + * timestamp using `orderBy="creationTimestamp desc"`. This sorts + * results based on the `creationTimestamp` field in + * reverse chronological order (newest result first). Use this to sort + * resources like operations so that the newest operation is returned first. + * + * Currently, only sorting by `name` or + * `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the + * `nextPageToken` returned by a previous list request to get + * the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Opt-in for partial success behavior which provides partial results in case + * of failure. The default value is false. + * + * For example, when partial success behavior is enabled, aggregatedList for a + * single zone scope either returns all resources in the zone or no resources, + * with an error code. + */ + returnPartialSuccess?: boolean; + /** + * The name of the zone for this request. + */ + zone?: string; + } + + export class Resource$Networkattachments { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * 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`. * @example * ```js * // Before running the sample: @@ -138729,26 +145121,120 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.licenseCodes.testIamPermissions({ + * const res = await compute.networkAttachments.aggregatedList({ + * // A filter expression that filters resources listed in the response. Most + * // Compute resources support two types of filter expressions: + * // expressions that support regular expressions and expressions that follow + * // API improvement proposal AIP-160. + * // These two types of filter expressions cannot be mixed in one request. + * // + * // If you want to use AIP-160, your expression must specify the field name, an + * // operator, and the value that you want to use for filtering. The value + * // must be a string, a number, or a boolean. The operator + * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * // + * // For example, if you are filtering Compute Engine instances, you can + * // exclude instances named `example-instance` by specifying + * // `name != example-instance`. + * // + * // The `:*` comparison can be used to test whether a key has been defined. + * // For example, to find all objects with `owner` label use: + * // ``` + * // labels.owner:* + * // ``` + * // + * // You can also filter nested fields. For example, you could specify + * // `scheduling.automaticRestart = false` to include instances only + * // if they are not scheduled for automatic restarts. You can use filtering + * // on nested fields to filter based onresource labels. + * // + * // To filter on multiple expressions, provide each separate expression within + * // parentheses. For example: + * // ``` + * // (scheduling.automaticRestart = true) + * // (cpuPlatform = "Intel Skylake") + * // ``` + * // By default, each expression is an `AND` expression. However, you + * // can include `AND` and `OR` expressions explicitly. + * // For example: + * // ``` + * // (cpuPlatform = "Intel Skylake") OR + * // (cpuPlatform = "Intel Broadwell") AND + * // (scheduling.automaticRestart = true) + * // ``` + * // + * // If you want to use a regular expression, use the `eq` (equal) or `ne` + * // (not equal) operator against a single un-parenthesized expression with or + * // without quotes or against multiple parenthesized expressions. Examples: + * // + * // `fieldname eq unquoted literal` + * // `fieldname eq 'single quoted literal'` + * // `fieldname eq "double quoted literal"` + * // `(fieldname1 eq literal) (fieldname2 ne "literal")` + * // + * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * // The literal value must match the entire field. + * // + * // For example, to filter for instances that do not end with name "instance", + * // you would use `name ne .*instance`. + * // + * // You cannot combine constraints on multiple fields using regular + * // expressions. + * filter: 'placeholder-value', + * // 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. + * includeAllScopes: 'placeholder-value', + * // The maximum number of results per page that should be returned. + * // If the number of available results is larger than `maxResults`, + * // Compute Engine returns a `nextPageToken` that can be used to get + * // the next page of results in subsequent list requests. Acceptable values are + * // `0` to `500`, inclusive. (Default: `500`) + * maxResults: 'placeholder-value', + * // Sorts list results by a certain order. By default, results + * // are returned in alphanumerical order based on the resource name. + * // + * // You can also sort results in descending order based on the creation + * // timestamp using `orderBy="creationTimestamp desc"`. This sorts + * // results based on the `creationTimestamp` field in + * // reverse chronological order (newest result first). Use this to sort + * // resources like operations so that the newest operation is returned first. + * // + * // Currently, only sorting by `name` or + * // `creationTimestamp desc` is supported. + * orderBy: 'placeholder-value', + * // Specifies a page token to use. Set `pageToken` to the + * // `nextPageToken` returned by a previous list request to get + * // the next page of results. + * pageToken: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name or id of the resource for this request. - * resource: '[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "permissions": [] - * // } - * }, + * // Opt-in for partial success behavior which provides partial results in case + * // of failure. The default value is false. + * // + * // For example, when partial success behavior is enabled, aggregatedList for a + * // single zone scope either returns all resources in the zone or no resources, + * // with an error code. + * returnPartialSuccess: 'placeholder-value', + * // The Shared VPC service project id or service project number for which + * // aggregated list request is invoked for subnetworks list-usable api. + * serviceProjectNumber: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { - * // "permissions": [] + * // "id": "my_id", + * // "items": {}, + * // "kind": "my_kind", + * // "nextPageToken": "my_nextPageToken", + * // "selfLink": "my_selfLink", + * // "warning": {} * // } * } * @@ -138764,57 +145250,57 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - testIamPermissions( - params: Params$Resource$Licensecodes$Testiampermissions, + aggregatedList( + params: Params$Resource$Networkattachments$Aggregatedlist, options: StreamMethodOptions ): Promise>; - testIamPermissions( - params?: Params$Resource$Licensecodes$Testiampermissions, + aggregatedList( + params?: Params$Resource$Networkattachments$Aggregatedlist, options?: MethodOptions - ): Promise>; - testIamPermissions( - params: Params$Resource$Licensecodes$Testiampermissions, + ): Promise>; + aggregatedList( + params: Params$Resource$Networkattachments$Aggregatedlist, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - testIamPermissions( - params: Params$Resource$Licensecodes$Testiampermissions, + aggregatedList( + params: Params$Resource$Networkattachments$Aggregatedlist, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - testIamPermissions( - params: Params$Resource$Licensecodes$Testiampermissions, - callback: BodyResponseCallback + aggregatedList( + params: Params$Resource$Networkattachments$Aggregatedlist, + callback: BodyResponseCallback ): void; - testIamPermissions( - callback: BodyResponseCallback + aggregatedList( + callback: BodyResponseCallback ): void; - testIamPermissions( + aggregatedList( paramsOrCallback?: - | Params$Resource$Licensecodes$Testiampermissions - | BodyResponseCallback + | Params$Resource$Networkattachments$Aggregatedlist + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Licensecodes$Testiampermissions; + {}) as Params$Resource$Networkattachments$Aggregatedlist; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Licensecodes$Testiampermissions; + params = {} as Params$Resource$Networkattachments$Aggregatedlist; options = {}; } @@ -138829,95 +145315,32 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/licenseCodes/{resource}/testIamPermissions' + '/compute/alpha/projects/{project}/aggregated/networkAttachments' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['project', 'resource'], - pathParams: ['project', 'resource'], + requiredParams: ['project'], + pathParams: ['project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); } } - } - - export interface Params$Resource$Licensecodes$Get extends StandardParameters { - /** - * Number corresponding to the License code resource to return. - */ - licenseCode?: string; - /** - * Project ID for this request. - */ - project?: string; - } - export interface Params$Resource$Licensecodes$Getiampolicy extends StandardParameters { - /** - * Requested IAM Policy version. - */ - optionsRequestedPolicyVersion?: number; - /** - * Project ID for this request. - */ - project?: string; - /** - * Name or id of the resource for this request. - */ - resource?: string; - } - export interface Params$Resource$Licensecodes$Setiampolicy extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * Name or id of the resource for this request. - */ - resource?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$GlobalSetPolicyRequest; - } - export interface Params$Resource$Licensecodes$Testiampermissions extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * Name or id of the resource for this request. - */ - resource?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$TestPermissionsRequest; - } - - export class Resource$Licenses { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } /** - * Deletes the specified license. - * *Caution* This resource is intended - * for use only by third-party partners who are creatingCloud Marketplace - * images. + * Deletes the specified NetworkAttachment in the given scope * @example * ```js * // Before running the sample: @@ -138949,12 +145372,14 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.licenses.delete({ - * // Name of the license resource to delete. - * license: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.networkAttachments.delete({ + * // Name of the NetworkAttachment resource to delete. + * networkAttachment: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Name of the region of this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * // An optional request ID to identify requests. Specify a unique request ID so * // that if you must retry your request, the server will know to ignore the * // request if it has already been completed. @@ -138968,6 +145393,7 @@ export namespace compute_alpha { * // 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 * requestId: 'placeholder-value', * }); * console.log(res.data); @@ -139018,31 +145444,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ delete( - params: Params$Resource$Licenses$Delete, + params: Params$Resource$Networkattachments$Delete, options: StreamMethodOptions ): Promise>; delete( - params?: Params$Resource$Licenses$Delete, + params?: Params$Resource$Networkattachments$Delete, options?: MethodOptions ): Promise>; delete( - params: Params$Resource$Licenses$Delete, + params: Params$Resource$Networkattachments$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Licenses$Delete, + params: Params$Resource$Networkattachments$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Licenses$Delete, + params: Params$Resource$Networkattachments$Delete, callback: BodyResponseCallback ): void; delete(callback: BodyResponseCallback): void; delete( paramsOrCallback?: - | Params$Resource$Licenses$Delete + | Params$Resource$Networkattachments$Delete | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -139057,12 +145483,13 @@ export namespace compute_alpha { | void | Promise> | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Licenses$Delete; + let params = (paramsOrCallback || + {}) as Params$Resource$Networkattachments$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Licenses$Delete; + params = {} as Params$Resource$Networkattachments$Delete; options = {}; } @@ -139077,16 +145504,16 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/licenses/{license}' + '/compute/alpha/projects/{project}/regions/{region}/networkAttachments/{networkAttachment}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'DELETE', apiVersion: '', }, options ), - params, - requiredParams: ['project', 'license'], - pathParams: ['license', 'project'], + params, + requiredParams: ['project', 'region', 'networkAttachment'], + pathParams: ['networkAttachment', 'project', 'region'], context: this.context, }; if (callback) { @@ -139100,10 +145527,7 @@ export namespace compute_alpha { } /** - * Returns the specified License resource. - * *Caution* This resource is intended - * for use only by third-party partners who are creatingCloud Marketplace - * images. + * Returns the specified NetworkAttachment resource in the given scope. * @example * ```js * // Before running the sample: @@ -139136,39 +145560,34 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.licenses.get({ - * // Name of the License resource to return. - * license: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.networkAttachments.get({ + * // Name of the NetworkAttachment resource to return. + * networkAttachment: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Name of the region of this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * }); * console.log(res.data); * * // Example response * // { - * // "allowedReplacementLicenses": [], - * // "appendableToDisk": false, - * // "chargesUseFee": false, + * // "connectionEndpoints": [], + * // "connectionPreference": "my_connectionPreference", * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", + * // "fingerprint": "my_fingerprint", * // "id": "my_id", - * // "incompatibleLicenses": [], * // "kind": "my_kind", - * // "licenseCode": "my_licenseCode", - * // "minimumRetention": {}, - * // "multiTenantOnly": false, * // "name": "my_name", - * // "osLicense": false, - * // "params": {}, - * // "removableFromDisk": false, - * // "requiredCoattachedLicenses": [], - * // "resourceRequirements": {}, + * // "network": "my_network", + * // "producerAcceptLists": [], + * // "producerRejectLists": [], + * // "region": "my_region", * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", - * // "soleTenantOnly": false, - * // "transferable": false, - * // "updateTimestamp": "my_updateTimestamp" + * // "subnetworks": [] * // } * } * @@ -139185,51 +145604,52 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ get( - params: Params$Resource$Licenses$Get, + params: Params$Resource$Networkattachments$Get, options: StreamMethodOptions ): Promise>; get( - params?: Params$Resource$Licenses$Get, + params?: Params$Resource$Networkattachments$Get, options?: MethodOptions - ): Promise>; + ): Promise>; get( - params: Params$Resource$Licenses$Get, + params: Params$Resource$Networkattachments$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; get( - params: Params$Resource$Licenses$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + params: Params$Resource$Networkattachments$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; get( - params: Params$Resource$Licenses$Get, - callback: BodyResponseCallback + params: Params$Resource$Networkattachments$Get, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; get( paramsOrCallback?: - | Params$Resource$Licenses$Get - | BodyResponseCallback + | Params$Resource$Networkattachments$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Licenses$Get; + let params = (paramsOrCallback || + {}) as Params$Resource$Networkattachments$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Licenses$Get; + params = {} as Params$Resource$Networkattachments$Get; options = {}; } @@ -139244,7 +145664,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/licenses/{license}' + '/compute/alpha/projects/{project}/regions/{region}/networkAttachments/{networkAttachment}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -139252,26 +145672,23 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'license'], - pathParams: ['license', 'project'], + requiredParams: ['project', 'region', 'networkAttachment'], + pathParams: ['networkAttachment', 'project', 'region'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** * 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 creatingCloud Marketplace - * images. * @example * ```js * // Before running the sample: @@ -139304,14 +145721,16 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.licenses.getIamPolicy({ + * const res = await compute.networkAttachments.getIamPolicy({ * // Requested IAM Policy version. * optionsRequestedPolicyVersion: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // The name of the region for this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * // Name or id of the resource for this request. - * resource: '[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * }); * console.log(res.data); * @@ -139337,31 +145756,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ getIamPolicy( - params: Params$Resource$Licenses$Getiampolicy, + params: Params$Resource$Networkattachments$Getiampolicy, options: StreamMethodOptions ): Promise>; getIamPolicy( - params?: Params$Resource$Licenses$Getiampolicy, + params?: Params$Resource$Networkattachments$Getiampolicy, options?: MethodOptions ): Promise>; getIamPolicy( - params: Params$Resource$Licenses$Getiampolicy, + params: Params$Resource$Networkattachments$Getiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; getIamPolicy( - params: Params$Resource$Licenses$Getiampolicy, + params: Params$Resource$Networkattachments$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; getIamPolicy( - params: Params$Resource$Licenses$Getiampolicy, + params: Params$Resource$Networkattachments$Getiampolicy, callback: BodyResponseCallback ): void; getIamPolicy(callback: BodyResponseCallback): void; getIamPolicy( paramsOrCallback?: - | Params$Resource$Licenses$Getiampolicy + | Params$Resource$Networkattachments$Getiampolicy | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -139377,12 +145796,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Licenses$Getiampolicy; + {}) as Params$Resource$Networkattachments$Getiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Licenses$Getiampolicy; + params = {} as Params$Resource$Networkattachments$Getiampolicy; options = {}; } @@ -139397,7 +145816,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/licenses/{resource}/getIamPolicy' + '/compute/alpha/projects/{project}/regions/{region}/networkAttachments/{resource}/getIamPolicy' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -139405,8 +145824,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'resource'], - pathParams: ['project', 'resource'], + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], context: this.context, }; if (callback) { @@ -139420,10 +145839,8 @@ export namespace compute_alpha { } /** - * Create a License resource in the specified project. - * *Caution* This resource is intended - * for use only by third-party partners who are creatingCloud Marketplace - * images. + * Creates a NetworkAttachment in the specified project in the given scope + * using the parameters that are included in the request. * @example * ```js * // Before running the sample: @@ -139447,9 +145864,6 @@ export namespace compute_alpha { * 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', * ], * }); * @@ -139458,10 +145872,12 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.licenses.insert({ + * const res = await compute.networkAttachments.insert({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Name of the region of this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * // An optional request ID to identify requests. Specify a unique request ID so * // that if you must retry your request, the server will know to ignore the * // request if it has already been completed. @@ -139475,34 +145891,28 @@ export namespace compute_alpha { * // 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 * requestId: 'placeholder-value', * * // Request body metadata * requestBody: { * // request body parameters * // { - * // "allowedReplacementLicenses": [], - * // "appendableToDisk": false, - * // "chargesUseFee": false, + * // "connectionEndpoints": [], + * // "connectionPreference": "my_connectionPreference", * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", + * // "fingerprint": "my_fingerprint", * // "id": "my_id", - * // "incompatibleLicenses": [], * // "kind": "my_kind", - * // "licenseCode": "my_licenseCode", - * // "minimumRetention": {}, - * // "multiTenantOnly": false, * // "name": "my_name", - * // "osLicense": false, - * // "params": {}, - * // "removableFromDisk": false, - * // "requiredCoattachedLicenses": [], - * // "resourceRequirements": {}, + * // "network": "my_network", + * // "producerAcceptLists": [], + * // "producerRejectLists": [], + * // "region": "my_region", * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", - * // "soleTenantOnly": false, - * // "transferable": false, - * // "updateTimestamp": "my_updateTimestamp" + * // "subnetworks": [] * // } * }, * }); @@ -139554,31 +145964,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ insert( - params: Params$Resource$Licenses$Insert, + params: Params$Resource$Networkattachments$Insert, options: StreamMethodOptions ): Promise>; insert( - params?: Params$Resource$Licenses$Insert, + params?: Params$Resource$Networkattachments$Insert, options?: MethodOptions ): Promise>; insert( - params: Params$Resource$Licenses$Insert, + params: Params$Resource$Networkattachments$Insert, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; insert( - params: Params$Resource$Licenses$Insert, + params: Params$Resource$Networkattachments$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; insert( - params: Params$Resource$Licenses$Insert, + params: Params$Resource$Networkattachments$Insert, callback: BodyResponseCallback ): void; insert(callback: BodyResponseCallback): void; insert( paramsOrCallback?: - | Params$Resource$Licenses$Insert + | Params$Resource$Networkattachments$Insert | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -139593,12 +146003,13 @@ export namespace compute_alpha { | void | Promise> | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Licenses$Insert; + let params = (paramsOrCallback || + {}) as Params$Resource$Networkattachments$Insert; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Licenses$Insert; + params = {} as Params$Resource$Networkattachments$Insert; options = {}; } @@ -139612,7 +146023,8 @@ export namespace compute_alpha { options: Object.assign( { url: ( - rootUrl + '/compute/alpha/projects/{project}/global/licenses' + rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/networkAttachments' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -139620,8 +146032,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project'], - pathParams: ['project'], + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], context: this.context, }; if (callback) { @@ -139635,15 +146047,7 @@ export namespace compute_alpha { } /** - * 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 orwindows-cloud. - * *Caution* This resource is intended - * for use only by third-party partners who are creatingCloud Marketplace - * images. + * Lists the NetworkAttachments for a project in the given scope. * @example * ```js * // Before running the sample: @@ -139676,7 +146080,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.licenses.list({ + * const res = await compute.networkAttachments.list({ * // A filter expression that filters resources listed in the response. Most * // Compute resources support two types of filter expressions: * // expressions that support regular expressions and expressions that follow @@ -139761,6 +146165,8 @@ export namespace compute_alpha { * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Name of the region of this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * // Opt-in for partial success behavior which provides partial results in case * // of failure. The default value is false. * // @@ -139775,6 +146181,7 @@ export namespace compute_alpha { * // { * // "id": "my_id", * // "items": [], + * // "kind": "my_kind", * // "nextPageToken": "my_nextPageToken", * // "selfLink": "my_selfLink", * // "warning": {} @@ -139794,53 +146201,54 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ list( - params: Params$Resource$Licenses$List, + params: Params$Resource$Networkattachments$List, options: StreamMethodOptions ): Promise>; list( - params?: Params$Resource$Licenses$List, + params?: Params$Resource$Networkattachments$List, options?: MethodOptions - ): Promise>; + ): Promise>; list( - params: Params$Resource$Licenses$List, + params: Params$Resource$Networkattachments$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; list( - params: Params$Resource$Licenses$List, + params: Params$Resource$Networkattachments$List, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; list( - params: Params$Resource$Licenses$List, - callback: BodyResponseCallback + params: Params$Resource$Networkattachments$List, + callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; list( paramsOrCallback?: - | Params$Resource$Licenses$List - | BodyResponseCallback + | Params$Resource$Networkattachments$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Licenses$List; + let params = (paramsOrCallback || + {}) as Params$Resource$Networkattachments$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Licenses$List; + params = {} as Params$Resource$Networkattachments$List; options = {}; } @@ -139854,7 +146262,8 @@ export namespace compute_alpha { options: Object.assign( { url: ( - rootUrl + '/compute/alpha/projects/{project}/global/licenses' + rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/networkAttachments' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -139862,26 +146271,25 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project'], - pathParams: ['project'], + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * 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 creatingCloud Marketplace - * images. + * Patches the specified NetworkAttachment resource with the data included in + * the request. This method supports PATCH + * semantics and usesJSON merge + * patch format and processing rules. * @example * ```js * // Before running the sample: @@ -139913,20 +146321,49 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.licenses.setIamPolicy({ + * const res = await compute.networkAttachments.patch({ + * // Name of the NetworkAttachment resource to patch. + * networkAttachment: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name or id of the resource for this request. - * resource: '[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // Name of the region for this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating 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 + * requestId: 'placeholder-value', * * // Request body metadata * requestBody: { * // request body parameters * // { - * // "bindings": [], - * // "etag": "my_etag", - * // "policy": {} + * // "connectionEndpoints": [], + * // "connectionPreference": "my_connectionPreference", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "fingerprint": "my_fingerprint", + * // "id": "my_id", + * // "kind": "my_kind", + * // "name": "my_name", + * // "network": "my_network", + * // "producerAcceptLists": [], + * // "producerRejectLists": [], + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "subnetworks": [] * // } * }, * }); @@ -139934,10 +146371,34 @@ export namespace compute_alpha { * * // Example response * // { - * // "auditConfigs": [], - * // "bindings": [], - * // "etag": "my_etag", - * // "version": 0 + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" * // } * } * @@ -139953,53 +146414,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - setIamPolicy( - params: Params$Resource$Licenses$Setiampolicy, + patch( + params: Params$Resource$Networkattachments$Patch, options: StreamMethodOptions ): Promise>; - setIamPolicy( - params?: Params$Resource$Licenses$Setiampolicy, + patch( + params?: Params$Resource$Networkattachments$Patch, options?: MethodOptions - ): Promise>; - setIamPolicy( - params: Params$Resource$Licenses$Setiampolicy, + ): Promise>; + patch( + params: Params$Resource$Networkattachments$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setIamPolicy( - params: Params$Resource$Licenses$Setiampolicy, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + patch( + params: Params$Resource$Networkattachments$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - setIamPolicy( - params: Params$Resource$Licenses$Setiampolicy, - callback: BodyResponseCallback + patch( + params: Params$Resource$Networkattachments$Patch, + callback: BodyResponseCallback ): void; - setIamPolicy(callback: BodyResponseCallback): void; - setIamPolicy( + patch(callback: BodyResponseCallback): void; + patch( paramsOrCallback?: - | Params$Resource$Licenses$Setiampolicy - | BodyResponseCallback + | Params$Resource$Networkattachments$Patch + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Licenses$Setiampolicy; + {}) as Params$Resource$Networkattachments$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Licenses$Setiampolicy; + params = {} as Params$Resource$Networkattachments$Patch; options = {}; } @@ -140014,33 +146475,31 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/licenses/{resource}/setIamPolicy' + '/compute/alpha/projects/{project}/regions/{region}/networkAttachments/{networkAttachment}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'PATCH', apiVersion: '', }, options ), params, - requiredParams: ['project', 'resource'], - pathParams: ['project', 'resource'], + requiredParams: ['project', 'region', 'networkAttachment'], + pathParams: ['networkAttachment', 'project', 'region'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Returns permissions that a caller has on the specified resource. - * *Caution* This resource is intended - * for use only by third-party partners who are creatingCloud Marketplace - * images. + * Sets the access control policy on the specified resource. + * Replaces any existing policy. * @example * ```js * // Before running the sample: @@ -140064,7 +146523,6 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -140073,18 +146531,22 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.licenses.testIamPermissions({ + * const res = await compute.networkAttachments.setIamPolicy({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // The name of the region for this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * // Name or id of the resource for this request. - * resource: '[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * * // Request body metadata * requestBody: { * // request body parameters * // { - * // "permissions": [] + * // "bindings": [], + * // "etag": "my_etag", + * // "policy": {} * // } * }, * }); @@ -140092,7 +146554,10 @@ export namespace compute_alpha { * * // Example response * // { - * // "permissions": [] + * // "auditConfigs": [], + * // "bindings": [], + * // "etag": "my_etag", + * // "version": 0 * // } * } * @@ -140108,57 +146573,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - testIamPermissions( - params: Params$Resource$Licenses$Testiampermissions, + setIamPolicy( + params: Params$Resource$Networkattachments$Setiampolicy, options: StreamMethodOptions ): Promise>; - testIamPermissions( - params?: Params$Resource$Licenses$Testiampermissions, + setIamPolicy( + params?: Params$Resource$Networkattachments$Setiampolicy, options?: MethodOptions - ): Promise>; - testIamPermissions( - params: Params$Resource$Licenses$Testiampermissions, + ): Promise>; + setIamPolicy( + params: Params$Resource$Networkattachments$Setiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - testIamPermissions( - params: Params$Resource$Licenses$Testiampermissions, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - testIamPermissions( - params: Params$Resource$Licenses$Testiampermissions, - callback: BodyResponseCallback + setIamPolicy( + params: Params$Resource$Networkattachments$Setiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - testIamPermissions( - callback: BodyResponseCallback + setIamPolicy( + params: Params$Resource$Networkattachments$Setiampolicy, + callback: BodyResponseCallback ): void; - testIamPermissions( + setIamPolicy(callback: BodyResponseCallback): void; + setIamPolicy( paramsOrCallback?: - | Params$Resource$Licenses$Testiampermissions - | BodyResponseCallback + | Params$Resource$Networkattachments$Setiampolicy + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Licenses$Testiampermissions; + {}) as Params$Resource$Networkattachments$Setiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Licenses$Testiampermissions; + params = {} as Params$Resource$Networkattachments$Setiampolicy; options = {}; } @@ -140173,7 +146634,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/licenses/{resource}/testIamPermissions' + '/compute/alpha/projects/{project}/regions/{region}/networkAttachments/{resource}/setIamPolicy' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -140181,25 +146642,22 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'resource'], - pathParams: ['project', 'resource'], + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Updates a License resource in the specified project. - * *Caution* This resource is intended - * for use only by third-party partners who are creatingCloud Marketplace - * images. + * Returns permissions that a caller has on the specified resource. * @example * ```js * // Before running the sample: @@ -140223,6 +146681,7 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -140231,55 +146690,20 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.licenses.update({ - * // The license name for this request. - * license: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.networkAttachments.testIamPermissions({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. - * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * // update_mask indicates fields to be updated as part of this request. - * updateMask: 'placeholder-value', + * // The name of the region for this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * // Name or id of the resource for this request. + * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * * // Request body metadata * requestBody: { * // request body parameters * // { - * // "allowedReplacementLicenses": [], - * // "appendableToDisk": false, - * // "chargesUseFee": false, - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "id": "my_id", - * // "incompatibleLicenses": [], - * // "kind": "my_kind", - * // "licenseCode": "my_licenseCode", - * // "minimumRetention": {}, - * // "multiTenantOnly": false, - * // "name": "my_name", - * // "osLicense": false, - * // "params": {}, - * // "removableFromDisk": false, - * // "requiredCoattachedLicenses": [], - * // "resourceRequirements": {}, - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "soleTenantOnly": false, - * // "transferable": false, - * // "updateTimestamp": "my_updateTimestamp" + * // "permissions": [] * // } * }, * }); @@ -140287,34 +146711,7 @@ export namespace compute_alpha { * * // Example response * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, - * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, - * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" + * // "permissions": [] * // } * } * @@ -140330,52 +146727,57 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - update( - params: Params$Resource$Licenses$Update, + testIamPermissions( + params: Params$Resource$Networkattachments$Testiampermissions, options: StreamMethodOptions ): Promise>; - update( - params?: Params$Resource$Licenses$Update, + testIamPermissions( + params?: Params$Resource$Networkattachments$Testiampermissions, options?: MethodOptions - ): Promise>; - update( - params: Params$Resource$Licenses$Update, + ): Promise>; + testIamPermissions( + params: Params$Resource$Networkattachments$Testiampermissions, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - update( - params: Params$Resource$Licenses$Update, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + testIamPermissions( + params: Params$Resource$Networkattachments$Testiampermissions, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - update( - params: Params$Resource$Licenses$Update, - callback: BodyResponseCallback + testIamPermissions( + params: Params$Resource$Networkattachments$Testiampermissions, + callback: BodyResponseCallback ): void; - update(callback: BodyResponseCallback): void; - update( + testIamPermissions( + callback: BodyResponseCallback + ): void; + testIamPermissions( paramsOrCallback?: - | Params$Resource$Licenses$Update - | BodyResponseCallback + | Params$Resource$Networkattachments$Testiampermissions + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Licenses$Update; + let params = (paramsOrCallback || + {}) as Params$Resource$Networkattachments$Testiampermissions; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Licenses$Update; + params = {} as Params$Resource$Networkattachments$Testiampermissions; options = {}; } @@ -140390,38 +146792,161 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/licenses/{license}' + '/compute/alpha/projects/{project}/regions/{region}/networkAttachments/{resource}/testIamPermissions' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project', 'license'], - pathParams: ['license', 'project'], + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } } - export interface Params$Resource$Licenses$Delete extends StandardParameters { + export interface Params$Resource$Networkattachments$Aggregatedlist extends StandardParameters { /** - * Name of the license resource to delete. + * A filter expression that filters resources listed in the response. Most + * Compute resources support two types of filter expressions: + * expressions that support regular expressions and expressions that follow + * API improvement proposal AIP-160. + * These two types of filter expressions cannot be mixed in one request. + * + * If you want to use AIP-160, your expression must specify the field name, an + * operator, and the value that you want to use for filtering. The value + * must be a string, a number, or a boolean. The operator + * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * + * For example, if you are filtering Compute Engine instances, you can + * exclude instances named `example-instance` by specifying + * `name != example-instance`. + * + * The `:*` comparison can be used to test whether a key has been defined. + * For example, to find all objects with `owner` label use: + * ``` + * labels.owner:* + * ``` + * + * You can also filter nested fields. For example, you could specify + * `scheduling.automaticRestart = false` to include instances only + * if they are not scheduled for automatic restarts. You can use filtering + * on nested fields to filter based onresource labels. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example: + * ``` + * (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake") + * ``` + * By default, each expression is an `AND` expression. However, you + * can include `AND` and `OR` expressions explicitly. + * For example: + * ``` + * (cpuPlatform = "Intel Skylake") OR + * (cpuPlatform = "Intel Broadwell") AND + * (scheduling.automaticRestart = true) + * ``` + * + * If you want to use a regular expression, use the `eq` (equal) or `ne` + * (not equal) operator against a single un-parenthesized expression with or + * without quotes or against multiple parenthesized expressions. Examples: + * + * `fieldname eq unquoted literal` + * `fieldname eq 'single quoted literal'` + * `fieldname eq "double quoted literal"` + * `(fieldname1 eq literal) (fieldname2 ne "literal")` + * + * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * The literal value must match the entire field. + * + * For example, to filter for instances that do not end with name "instance", + * you would use `name ne .*instance`. + * + * You cannot combine constraints on multiple fields using regular + * expressions. */ - license?: string; + filter?: string; + /** + * 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. + */ + includeAllScopes?: boolean; + /** + * The maximum number of results per page that should be returned. + * If the number of available results is larger than `maxResults`, + * Compute Engine returns a `nextPageToken` that can be used to get + * the next page of results in subsequent list requests. Acceptable values are + * `0` to `500`, inclusive. (Default: `500`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results + * are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation + * timestamp using `orderBy="creationTimestamp desc"`. This sorts + * results based on the `creationTimestamp` field in + * reverse chronological order (newest result first). Use this to sort + * resources like operations so that the newest operation is returned first. + * + * Currently, only sorting by `name` or + * `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the + * `nextPageToken` returned by a previous list request to get + * the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Opt-in for partial success behavior which provides partial results in case + * of failure. The default value is false. + * + * For example, when partial success behavior is enabled, aggregatedList for a + * single zone scope either returns all resources in the zone or no resources, + * with an error code. + */ + returnPartialSuccess?: boolean; + /** + * The Shared VPC service project id or service project number for which + * aggregated list request is invoked for subnetworks list-usable api. + */ + serviceProjectNumber?: string; + } + export interface Params$Resource$Networkattachments$Delete extends StandardParameters { + /** + * Name of the NetworkAttachment resource to delete. + */ + networkAttachment?: string; /** * Project ID for this request. */ project?: string; + /** + * Name of the region of this request. + */ + region?: string; /** * An optional request ID to identify requests. Specify a unique request ID so * that if you must retry your request, the server will know to ignore the @@ -140436,20 +146961,25 @@ export namespace compute_alpha { * 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 */ requestId?: string; } - export interface Params$Resource$Licenses$Get extends StandardParameters { + export interface Params$Resource$Networkattachments$Get extends StandardParameters { /** - * Name of the License resource to return. + * Name of the NetworkAttachment resource to return. */ - license?: string; + networkAttachment?: string; /** * Project ID for this request. */ project?: string; + /** + * Name of the region of this request. + */ + region?: string; } - export interface Params$Resource$Licenses$Getiampolicy extends StandardParameters { + export interface Params$Resource$Networkattachments$Getiampolicy extends StandardParameters { /** * Requested IAM Policy version. */ @@ -140458,16 +146988,24 @@ export namespace compute_alpha { * Project ID for this request. */ project?: string; + /** + * The name of the region for this request. + */ + region?: string; /** * Name or id of the resource for this request. */ resource?: string; } - export interface Params$Resource$Licenses$Insert extends StandardParameters { + export interface Params$Resource$Networkattachments$Insert extends StandardParameters { /** * Project ID for this request. */ project?: string; + /** + * Name of the region of this request. + */ + region?: string; /** * An optional request ID to identify requests. Specify a unique request ID so * that if you must retry your request, the server will know to ignore the @@ -140482,15 +147020,16 @@ export namespace compute_alpha { * 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 */ requestId?: string; /** * Request body metadata */ - requestBody?: Schema$License; + requestBody?: Schema$NetworkAttachment; } - export interface Params$Resource$Licenses$List extends StandardParameters { + export interface Params$Resource$Networkattachments$List extends StandardParameters { /** * A filter expression that filters resources listed in the response. Most * Compute resources support two types of filter expressions: @@ -140548,127 +147087,402 @@ export namespace compute_alpha { * For example, to filter for instances that do not end with name "instance", * you would use `name ne .*instance`. * - * You cannot combine constraints on multiple fields using regular - * expressions. - */ - filter?: string; - /** - * The maximum number of results per page that should be returned. - * If the number of available results is larger than `maxResults`, - * Compute Engine returns a `nextPageToken` that can be used to get - * the next page of results in subsequent list requests. Acceptable values are - * `0` to `500`, inclusive. (Default: `500`) - */ - maxResults?: number; - /** - * Sorts list results by a certain order. By default, results - * are returned in alphanumerical order based on the resource name. + * You cannot combine constraints on multiple fields using regular + * expressions. + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. + * If the number of available results is larger than `maxResults`, + * Compute Engine returns a `nextPageToken` that can be used to get + * the next page of results in subsequent list requests. Acceptable values are + * `0` to `500`, inclusive. (Default: `500`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results + * are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation + * timestamp using `orderBy="creationTimestamp desc"`. This sorts + * results based on the `creationTimestamp` field in + * reverse chronological order (newest result first). Use this to sort + * resources like operations so that the newest operation is returned first. + * + * Currently, only sorting by `name` or + * `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the + * `nextPageToken` returned by a previous list request to get + * the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region of this request. + */ + region?: string; + /** + * Opt-in for partial success behavior which provides partial results in case + * of failure. The default value is false. + * + * For example, when partial success behavior is enabled, aggregatedList for a + * single zone scope either returns all resources in the zone or no resources, + * with an error code. + */ + returnPartialSuccess?: boolean; + } + export interface Params$Resource$Networkattachments$Patch extends StandardParameters { + /** + * Name of the NetworkAttachment resource to patch. + */ + networkAttachment?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating 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 + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$NetworkAttachment; + } + export interface Params$Resource$Networkattachments$Setiampolicy extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$RegionSetPolicyRequest; + } + export interface Params$Resource$Networkattachments$Testiampermissions extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + + export class Resource$Networkedgesecurityservices { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * 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`. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.networkEdgeSecurityServices.aggregatedList({ + * // A filter expression that filters resources listed in the response. Most + * // Compute resources support two types of filter expressions: + * // expressions that support regular expressions and expressions that follow + * // API improvement proposal AIP-160. + * // These two types of filter expressions cannot be mixed in one request. + * // + * // If you want to use AIP-160, your expression must specify the field name, an + * // operator, and the value that you want to use for filtering. The value + * // must be a string, a number, or a boolean. The operator + * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * // + * // For example, if you are filtering Compute Engine instances, you can + * // exclude instances named `example-instance` by specifying + * // `name != example-instance`. + * // + * // The `:*` comparison can be used to test whether a key has been defined. + * // For example, to find all objects with `owner` label use: + * // ``` + * // labels.owner:* + * // ``` + * // + * // You can also filter nested fields. For example, you could specify + * // `scheduling.automaticRestart = false` to include instances only + * // if they are not scheduled for automatic restarts. You can use filtering + * // on nested fields to filter based onresource labels. + * // + * // To filter on multiple expressions, provide each separate expression within + * // parentheses. For example: + * // ``` + * // (scheduling.automaticRestart = true) + * // (cpuPlatform = "Intel Skylake") + * // ``` + * // By default, each expression is an `AND` expression. However, you + * // can include `AND` and `OR` expressions explicitly. + * // For example: + * // ``` + * // (cpuPlatform = "Intel Skylake") OR + * // (cpuPlatform = "Intel Broadwell") AND + * // (scheduling.automaticRestart = true) + * // ``` + * // + * // If you want to use a regular expression, use the `eq` (equal) or `ne` + * // (not equal) operator against a single un-parenthesized expression with or + * // without quotes or against multiple parenthesized expressions. Examples: + * // + * // `fieldname eq unquoted literal` + * // `fieldname eq 'single quoted literal'` + * // `fieldname eq "double quoted literal"` + * // `(fieldname1 eq literal) (fieldname2 ne "literal")` + * // + * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * // The literal value must match the entire field. + * // + * // For example, to filter for instances that do not end with name "instance", + * // you would use `name ne .*instance`. + * // + * // You cannot combine constraints on multiple fields using regular + * // expressions. + * filter: 'placeholder-value', + * // 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. + * includeAllScopes: 'placeholder-value', + * // The maximum number of results per page that should be returned. + * // If the number of available results is larger than `maxResults`, + * // Compute Engine returns a `nextPageToken` that can be used to get + * // the next page of results in subsequent list requests. Acceptable values are + * // `0` to `500`, inclusive. (Default: `500`) + * maxResults: 'placeholder-value', + * // Sorts list results by a certain order. By default, results + * // are returned in alphanumerical order based on the resource name. + * // + * // You can also sort results in descending order based on the creation + * // timestamp using `orderBy="creationTimestamp desc"`. This sorts + * // results based on the `creationTimestamp` field in + * // reverse chronological order (newest result first). Use this to sort + * // resources like operations so that the newest operation is returned first. + * // + * // Currently, only sorting by `name` or + * // `creationTimestamp desc` is supported. + * orderBy: 'placeholder-value', + * // Specifies a page token to use. Set `pageToken` to the + * // `nextPageToken` returned by a previous list request to get + * // the next page of results. + * pageToken: 'placeholder-value', + * // Name of the project scoping this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Opt-in for partial success behavior which provides partial results in case + * // of failure. The default value is false. + * // + * // For example, when partial success behavior is enabled, aggregatedList for a + * // single zone scope either returns all resources in the zone or no resources, + * // with an error code. + * returnPartialSuccess: 'placeholder-value', + * // The Shared VPC service project id or service project number for which + * // aggregated list request is invoked for subnetworks list-usable api. + * serviceProjectNumber: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "etag": "my_etag", + * // "id": "my_id", + * // "items": {}, + * // "kind": "my_kind", + * // "nextPageToken": "my_nextPageToken", + * // "selfLink": "my_selfLink", + * // "unreachables": [], + * // "warning": {} + * // } + * } * - * You can also sort results in descending order based on the creation - * timestamp using `orderBy="creationTimestamp desc"`. This sorts - * results based on the `creationTimestamp` field in - * reverse chronological order (newest result first). Use this to sort - * resources like operations so that the newest operation is returned first. + * main().catch(e => { + * console.error(e); + * throw e; + * }); * - * Currently, only sorting by `name` or - * `creationTimestamp desc` is supported. - */ - orderBy?: string; - /** - * Specifies a page token to use. Set `pageToken` to the - * `nextPageToken` returned by a previous list request to get - * the next page of results. - */ - pageToken?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * Opt-in for partial success behavior which provides partial results in case - * of failure. The default value is false. + * ``` * - * For example, when partial success behavior is enabled, aggregatedList for a - * single zone scope either returns all resources in the zone or no resources, - * with an error code. - */ - returnPartialSuccess?: boolean; - } - export interface Params$Resource$Licenses$Setiampolicy extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * Name or id of the resource for this request. - */ - resource?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$GlobalSetPolicyRequest; - } - export interface Params$Resource$Licenses$Testiampermissions extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * Name or id of the resource for this request. + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. */ - resource?: string; + aggregatedList( + params: Params$Resource$Networkedgesecurityservices$Aggregatedlist, + options: StreamMethodOptions + ): Promise>; + aggregatedList( + params?: Params$Resource$Networkedgesecurityservices$Aggregatedlist, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + aggregatedList( + params: Params$Resource$Networkedgesecurityservices$Aggregatedlist, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + aggregatedList( + params: Params$Resource$Networkedgesecurityservices$Aggregatedlist, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + aggregatedList( + params: Params$Resource$Networkedgesecurityservices$Aggregatedlist, + callback: BodyResponseCallback + ): void; + aggregatedList( + callback: BodyResponseCallback + ): void; + aggregatedList( + paramsOrCallback?: + | Params$Resource$Networkedgesecurityservices$Aggregatedlist + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Networkedgesecurityservices$Aggregatedlist; + let options = (optionsOrCallback || {}) as MethodOptions; - /** - * Request body metadata - */ - requestBody?: Schema$TestPermissionsRequest; - } - export interface Params$Resource$Licenses$Update extends StandardParameters { - /** - * The license name for this request. - */ - license?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * update_mask indicates fields to be updated as part of this request. - */ - updateMask?: string; + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Networkedgesecurityservices$Aggregatedlist; + options = {}; + } - /** - * Request body metadata - */ - requestBody?: Schema$License; - } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } - export class Resource$Machineimages { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/aggregated/networkEdgeSecurityServices' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } } /** - * Deletes the specified machine image. Deleting a machine image is permanent - * and cannot be undone. + * Deletes the specified service. * @example * ```js * // Before running the sample: @@ -140700,12 +147514,15 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.machineImages.delete({ - * // The name of the machine image to delete. - * machineImage: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.networkEdgeSecurityServices.delete({ + * // Name of the network edge security service to delete. + * networkEdgeSecurityService: + * '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Name of the region scoping this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * // An optional request ID to identify requests. Specify a unique request ID so * // that if you must retry your request, the server will know to ignore the * // request if it has already been completed. @@ -140769,31 +147586,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ delete( - params: Params$Resource$Machineimages$Delete, + params: Params$Resource$Networkedgesecurityservices$Delete, options: StreamMethodOptions ): Promise>; delete( - params?: Params$Resource$Machineimages$Delete, + params?: Params$Resource$Networkedgesecurityservices$Delete, options?: MethodOptions ): Promise>; delete( - params: Params$Resource$Machineimages$Delete, + params: Params$Resource$Networkedgesecurityservices$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Machineimages$Delete, + params: Params$Resource$Networkedgesecurityservices$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Machineimages$Delete, + params: Params$Resource$Networkedgesecurityservices$Delete, callback: BodyResponseCallback ): void; delete(callback: BodyResponseCallback): void; delete( paramsOrCallback?: - | Params$Resource$Machineimages$Delete + | Params$Resource$Networkedgesecurityservices$Delete | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -140809,12 +147626,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Machineimages$Delete; + {}) as Params$Resource$Networkedgesecurityservices$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Machineimages$Delete; + params = {} as Params$Resource$Networkedgesecurityservices$Delete; options = {}; } @@ -140829,7 +147646,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/machineImages/{machineImage}' + '/compute/alpha/projects/{project}/regions/{region}/networkEdgeSecurityServices/{networkEdgeSecurityService}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'DELETE', apiVersion: '', @@ -140837,8 +147654,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'machineImage'], - pathParams: ['machineImage', 'project'], + requiredParams: ['project', 'region', 'networkEdgeSecurityService'], + pathParams: ['networkEdgeSecurityService', 'project', 'region'], context: this.context, }; if (callback) { @@ -140852,7 +147669,7 @@ export namespace compute_alpha { } /** - * Returns the specified machine image. + * Gets a specified NetworkEdgeSecurityService. * @example * ```js * // Before running the sample: @@ -140885,12 +147702,15 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.machineImages.get({ - * // The name of the machine image. - * machineImage: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.networkEdgeSecurityServices.get({ + * // Name of the network edge security service to get. + * networkEdgeSecurityService: + * '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Name of the region scoping this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * }); * console.log(res.data); * @@ -140898,26 +147718,14 @@ export namespace compute_alpha { * // { * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", - * // "guestFlush": false, + * // "fingerprint": "my_fingerprint", * // "id": "my_id", - * // "instanceProperties": {}, * // "kind": "my_kind", - * // "labelFingerprint": "my_labelFingerprint", - * // "labels": {}, - * // "machineImageEncryptionKey": {}, * // "name": "my_name", - * // "params": {}, - * // "satisfiesPzi": false, - * // "satisfiesPzs": false, - * // "savedDisks": [], + * // "region": "my_region", + * // "securityPolicy": "my_securityPolicy", * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "sourceDiskEncryptionKeys": [], - * // "sourceInstance": "my_sourceInstance", - * // "sourceInstanceProperties": {}, - * // "status": "my_status", - * // "storageLocations": [], - * // "totalStorageBytes": "my_totalStorageBytes" + * // "selfLinkWithId": "my_selfLinkWithId" * // } * } * @@ -140934,52 +147742,56 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ get( - params: Params$Resource$Machineimages$Get, + params: Params$Resource$Networkedgesecurityservices$Get, options: StreamMethodOptions ): Promise>; get( - params?: Params$Resource$Machineimages$Get, + params?: Params$Resource$Networkedgesecurityservices$Get, options?: MethodOptions - ): Promise>; + ): Promise>; get( - params: Params$Resource$Machineimages$Get, + params: Params$Resource$Networkedgesecurityservices$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; get( - params: Params$Resource$Machineimages$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + params: Params$Resource$Networkedgesecurityservices$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; get( - params: Params$Resource$Machineimages$Get, - callback: BodyResponseCallback + params: Params$Resource$Networkedgesecurityservices$Get, + callback: BodyResponseCallback + ): void; + get( + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; get( paramsOrCallback?: - | Params$Resource$Machineimages$Get - | BodyResponseCallback + | Params$Resource$Networkedgesecurityservices$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Machineimages$Get; + {}) as Params$Resource$Networkedgesecurityservices$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Machineimages$Get; + params = {} as Params$Resource$Networkedgesecurityservices$Get; options = {}; } @@ -140994,7 +147806,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/machineImages/{machineImage}' + '/compute/alpha/projects/{project}/regions/{region}/networkEdgeSecurityServices/{networkEdgeSecurityService}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -141002,23 +147814,23 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'machineImage'], - pathParams: ['machineImage', 'project'], + requiredParams: ['project', 'region', 'networkEdgeSecurityService'], + pathParams: ['networkEdgeSecurityService', 'project', 'region'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Gets the access control policy for a resource. May be empty if no such - * policy or resource exists. + * Creates a new service in the specified project using the data included in + * the request. * @example * ```js * // Before running the sample: @@ -141042,7 +147854,6 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -141051,23 +147862,78 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.machineImages.getIamPolicy({ - * // Requested IAM Policy version. - * optionsRequestedPolicyVersion: 'placeholder-value', + * const res = await compute.networkEdgeSecurityServices.insert({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name or id of the resource for this request. - * resource: '[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // Name of the region scoping this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // If true, the request will not be committed. + * validateOnly: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "fingerprint": "my_fingerprint", + * // "id": "my_id", + * // "kind": "my_kind", + * // "name": "my_name", + * // "region": "my_region", + * // "securityPolicy": "my_securityPolicy", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId" + * // } + * }, * }); * console.log(res.data); * * // Example response * // { - * // "auditConfigs": [], - * // "bindings": [], - * // "etag": "my_etag", - * // "version": 0 + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" * // } * } * @@ -141083,53 +147949,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - getIamPolicy( - params: Params$Resource$Machineimages$Getiampolicy, + insert( + params: Params$Resource$Networkedgesecurityservices$Insert, options: StreamMethodOptions ): Promise>; - getIamPolicy( - params?: Params$Resource$Machineimages$Getiampolicy, + insert( + params?: Params$Resource$Networkedgesecurityservices$Insert, options?: MethodOptions - ): Promise>; - getIamPolicy( - params: Params$Resource$Machineimages$Getiampolicy, + ): Promise>; + insert( + params: Params$Resource$Networkedgesecurityservices$Insert, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - getIamPolicy( - params: Params$Resource$Machineimages$Getiampolicy, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + insert( + params: Params$Resource$Networkedgesecurityservices$Insert, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - getIamPolicy( - params: Params$Resource$Machineimages$Getiampolicy, - callback: BodyResponseCallback + insert( + params: Params$Resource$Networkedgesecurityservices$Insert, + callback: BodyResponseCallback ): void; - getIamPolicy(callback: BodyResponseCallback): void; - getIamPolicy( + insert(callback: BodyResponseCallback): void; + insert( paramsOrCallback?: - | Params$Resource$Machineimages$Getiampolicy - | BodyResponseCallback + | Params$Resource$Networkedgesecurityservices$Insert + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Machineimages$Getiampolicy; + {}) as Params$Resource$Networkedgesecurityservices$Insert; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Machineimages$Getiampolicy; + params = {} as Params$Resource$Networkedgesecurityservices$Insert; options = {}; } @@ -141144,34 +148010,30 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/machineImages/{resource}/getIamPolicy' + '/compute/alpha/projects/{project}/regions/{region}/networkEdgeSecurityServices' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project', 'resource'], - pathParams: ['project', 'resource'], + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * 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. + * Patches the specified policy with the data included in the request. * @example * ```js * // Before running the sample: @@ -141203,10 +148065,17 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.machineImages.insert({ + * const res = await compute.networkEdgeSecurityServices.patch({ + * // Name of the network edge security service to update. + * networkEdgeSecurityService: + * '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * + * paths: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Name of the region scoping this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * // An optional request ID to identify requests. Specify a unique request ID so * // that if you must retry your request, the server will know to ignore the * // request if it has already been completed. @@ -141221,8 +148090,8 @@ export namespace compute_alpha { * // a valid UUID with the exception that zero UUID is not supported * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', - * // Required. Source instance that is used to create the machine image from. - * sourceInstance: 'placeholder-value', + * // Indicates fields to be updated as part of this request. + * updateMask: 'placeholder-value', * * // Request body metadata * requestBody: { @@ -141230,26 +148099,14 @@ export namespace compute_alpha { * // { * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", - * // "guestFlush": false, + * // "fingerprint": "my_fingerprint", * // "id": "my_id", - * // "instanceProperties": {}, * // "kind": "my_kind", - * // "labelFingerprint": "my_labelFingerprint", - * // "labels": {}, - * // "machineImageEncryptionKey": {}, * // "name": "my_name", - * // "params": {}, - * // "satisfiesPzi": false, - * // "satisfiesPzs": false, - * // "savedDisks": [], + * // "region": "my_region", + * // "securityPolicy": "my_securityPolicy", * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "sourceDiskEncryptionKeys": [], - * // "sourceInstance": "my_sourceInstance", - * // "sourceInstanceProperties": {}, - * // "status": "my_status", - * // "storageLocations": [], - * // "totalStorageBytes": "my_totalStorageBytes" + * // "selfLinkWithId": "my_selfLinkWithId" * // } * }, * }); @@ -141300,32 +148157,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - insert( - params: Params$Resource$Machineimages$Insert, + patch( + params: Params$Resource$Networkedgesecurityservices$Patch, options: StreamMethodOptions ): Promise>; - insert( - params?: Params$Resource$Machineimages$Insert, + patch( + params?: Params$Resource$Networkedgesecurityservices$Patch, options?: MethodOptions ): Promise>; - insert( - params: Params$Resource$Machineimages$Insert, + patch( + params: Params$Resource$Networkedgesecurityservices$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - insert( - params: Params$Resource$Machineimages$Insert, + patch( + params: Params$Resource$Networkedgesecurityservices$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - insert( - params: Params$Resource$Machineimages$Insert, + patch( + params: Params$Resource$Networkedgesecurityservices$Patch, callback: BodyResponseCallback ): void; - insert(callback: BodyResponseCallback): void; - insert( + patch(callback: BodyResponseCallback): void; + patch( paramsOrCallback?: - | Params$Resource$Machineimages$Insert + | Params$Resource$Networkedgesecurityservices$Patch | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -141341,12 +148198,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Machineimages$Insert; + {}) as Params$Resource$Networkedgesecurityservices$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Machineimages$Insert; + params = {} as Params$Resource$Networkedgesecurityservices$Patch; options = {}; } @@ -141360,16 +148217,17 @@ export namespace compute_alpha { options: Object.assign( { url: ( - rootUrl + '/compute/alpha/projects/{project}/global/machineImages' + rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/networkEdgeSecurityServices/{networkEdgeSecurityService}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'PATCH', apiVersion: '', }, options ), params, - requiredParams: ['project'], - pathParams: ['project'], + requiredParams: ['project', 'region', 'networkEdgeSecurityService'], + pathParams: ['networkEdgeSecurityService', 'project', 'region'], context: this.context, }; if (callback) { @@ -141381,10 +148239,261 @@ export namespace compute_alpha { return createAPIRequest(parameters); } } + } + export interface Params$Resource$Networkedgesecurityservices$Aggregatedlist extends StandardParameters { /** - * Retrieves a list of machine images that are contained within - * the specified project. + * A filter expression that filters resources listed in the response. Most + * Compute resources support two types of filter expressions: + * expressions that support regular expressions and expressions that follow + * API improvement proposal AIP-160. + * These two types of filter expressions cannot be mixed in one request. + * + * If you want to use AIP-160, your expression must specify the field name, an + * operator, and the value that you want to use for filtering. The value + * must be a string, a number, or a boolean. The operator + * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * + * For example, if you are filtering Compute Engine instances, you can + * exclude instances named `example-instance` by specifying + * `name != example-instance`. + * + * The `:*` comparison can be used to test whether a key has been defined. + * For example, to find all objects with `owner` label use: + * ``` + * labels.owner:* + * ``` + * + * You can also filter nested fields. For example, you could specify + * `scheduling.automaticRestart = false` to include instances only + * if they are not scheduled for automatic restarts. You can use filtering + * on nested fields to filter based onresource labels. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example: + * ``` + * (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake") + * ``` + * By default, each expression is an `AND` expression. However, you + * can include `AND` and `OR` expressions explicitly. + * For example: + * ``` + * (cpuPlatform = "Intel Skylake") OR + * (cpuPlatform = "Intel Broadwell") AND + * (scheduling.automaticRestart = true) + * ``` + * + * If you want to use a regular expression, use the `eq` (equal) or `ne` + * (not equal) operator against a single un-parenthesized expression with or + * without quotes or against multiple parenthesized expressions. Examples: + * + * `fieldname eq unquoted literal` + * `fieldname eq 'single quoted literal'` + * `fieldname eq "double quoted literal"` + * `(fieldname1 eq literal) (fieldname2 ne "literal")` + * + * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * The literal value must match the entire field. + * + * For example, to filter for instances that do not end with name "instance", + * you would use `name ne .*instance`. + * + * You cannot combine constraints on multiple fields using regular + * expressions. + */ + filter?: string; + /** + * 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. + */ + includeAllScopes?: boolean; + /** + * The maximum number of results per page that should be returned. + * If the number of available results is larger than `maxResults`, + * Compute Engine returns a `nextPageToken` that can be used to get + * the next page of results in subsequent list requests. Acceptable values are + * `0` to `500`, inclusive. (Default: `500`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results + * are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation + * timestamp using `orderBy="creationTimestamp desc"`. This sorts + * results based on the `creationTimestamp` field in + * reverse chronological order (newest result first). Use this to sort + * resources like operations so that the newest operation is returned first. + * + * Currently, only sorting by `name` or + * `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the + * `nextPageToken` returned by a previous list request to get + * the next page of results. + */ + pageToken?: string; + /** + * Name of the project scoping this request. + */ + project?: string; + /** + * Opt-in for partial success behavior which provides partial results in case + * of failure. The default value is false. + * + * For example, when partial success behavior is enabled, aggregatedList for a + * single zone scope either returns all resources in the zone or no resources, + * with an error code. + */ + returnPartialSuccess?: boolean; + /** + * The Shared VPC service project id or service project number for which + * aggregated list request is invoked for subnetworks list-usable api. + */ + serviceProjectNumber?: string; + } + export interface Params$Resource$Networkedgesecurityservices$Delete extends StandardParameters { + /** + * Name of the network edge security service to delete. + */ + networkEdgeSecurityService?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + export interface Params$Resource$Networkedgesecurityservices$Get extends StandardParameters { + /** + * Name of the network edge security service to get. + */ + networkEdgeSecurityService?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + } + export interface Params$Resource$Networkedgesecurityservices$Insert extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * If true, the request will not be committed. + */ + validateOnly?: boolean; + + /** + * Request body metadata + */ + requestBody?: Schema$NetworkEdgeSecurityService; + } + export interface Params$Resource$Networkedgesecurityservices$Patch extends StandardParameters { + /** + * Name of the network edge security service to update. + */ + networkEdgeSecurityService?: string; + /** + * + */ + paths?: string[]; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Indicates fields to be updated as part of this request. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$NetworkEdgeSecurityService; + } + + export class Resource$Networkendpointgroups { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * 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`. * @example * ```js * // Before running the sample: @@ -141417,7 +148526,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.machineImages.list({ + * const res = await compute.networkEndpointGroups.aggregatedList({ * // A filter expression that filters resources listed in the response. Most * // Compute resources support two types of filter expressions: * // expressions that support regular expressions and expressions that follow @@ -141477,6 +148586,14 @@ export namespace compute_alpha { * // You cannot combine constraints on multiple fields using regular * // expressions. * filter: 'placeholder-value', + * // 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. + * includeAllScopes: 'placeholder-value', * // The maximum number of results per page that should be returned. * // If the number of available results is larger than `maxResults`, * // Compute Engine returns a `nextPageToken` that can be used to get @@ -141509,17 +148626,227 @@ export namespace compute_alpha { * // single zone scope either returns all resources in the zone or no resources, * // with an error code. * returnPartialSuccess: 'placeholder-value', + * // The Shared VPC service project id or service project number for which + * // aggregated list request is invoked for subnetworks list-usable api. + * serviceProjectNumber: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { * // "id": "my_id", - * // "items": [], + * // "items": {}, * // "kind": "my_kind", * // "nextPageToken": "my_nextPageToken", * // "selfLink": "my_selfLink", - * // "warning": {} + * // "unreachables": [], + * // "warning": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + aggregatedList( + params: Params$Resource$Networkendpointgroups$Aggregatedlist, + options: StreamMethodOptions + ): Promise>; + aggregatedList( + params?: Params$Resource$Networkendpointgroups$Aggregatedlist, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + aggregatedList( + params: Params$Resource$Networkendpointgroups$Aggregatedlist, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + aggregatedList( + params: Params$Resource$Networkendpointgroups$Aggregatedlist, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + aggregatedList( + params: Params$Resource$Networkendpointgroups$Aggregatedlist, + callback: BodyResponseCallback + ): void; + aggregatedList( + callback: BodyResponseCallback + ): void; + aggregatedList( + paramsOrCallback?: + | Params$Resource$Networkendpointgroups$Aggregatedlist + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Networkendpointgroups$Aggregatedlist; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Networkendpointgroups$Aggregatedlist; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/aggregated/networkEndpointGroups' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Attach a list of network endpoints to the specified network endpoint group. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.networkEndpointGroups.attachNetworkEndpoints({ + * // The name of the network endpoint group where you are attaching network + * // endpoints to. It should comply with RFC1035. + * networkEndpointGroup: 'placeholder-value', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // The name of the zone where + * // the network endpoint group is located. It should comply with RFC1035. + * zone: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "networkEndpoints": [] + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" * // } * } * @@ -141535,53 +148862,56 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - list( - params: Params$Resource$Machineimages$List, + attachNetworkEndpoints( + params: Params$Resource$Networkendpointgroups$Attachnetworkendpoints, options: StreamMethodOptions ): Promise>; - list( - params?: Params$Resource$Machineimages$List, + attachNetworkEndpoints( + params?: Params$Resource$Networkendpointgroups$Attachnetworkendpoints, options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Machineimages$List, + ): Promise>; + attachNetworkEndpoints( + params: Params$Resource$Networkendpointgroups$Attachnetworkendpoints, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Machineimages$List, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + attachNetworkEndpoints( + params: Params$Resource$Networkendpointgroups$Attachnetworkendpoints, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Machineimages$List, - callback: BodyResponseCallback + attachNetworkEndpoints( + params: Params$Resource$Networkendpointgroups$Attachnetworkendpoints, + callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; - list( + attachNetworkEndpoints( + callback: BodyResponseCallback + ): void; + attachNetworkEndpoints( paramsOrCallback?: - | Params$Resource$Machineimages$List - | BodyResponseCallback + | Params$Resource$Networkendpointgroups$Attachnetworkendpoints + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Machineimages$List; + {}) as Params$Resource$Networkendpointgroups$Attachnetworkendpoints; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Machineimages$List; + params = + {} as Params$Resource$Networkendpointgroups$Attachnetworkendpoints; options = {}; } @@ -141595,31 +148925,34 @@ export namespace compute_alpha { options: Object.assign( { url: ( - rootUrl + '/compute/alpha/projects/{project}/global/machineImages' + rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/attachNetworkEndpoints' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project'], - pathParams: ['project'], + requiredParams: ['project', 'zone', 'networkEndpointGroup'], + pathParams: ['networkEndpointGroup', 'project', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Sets the access control policy on the specified resource. - * Replaces any existing policy. + * 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. * @example * ```js * // Before running the sample: @@ -141651,31 +148984,63 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.machineImages.setIamPolicy({ + * const res = await compute.networkEndpointGroups.delete({ + * // The name of the network endpoint group to delete. It should comply with + * // RFC1035. + * networkEndpointGroup: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name or id of the resource for this request. - * resource: '[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "bindings": [], - * // "etag": "my_etag", - * // "policy": {} - * // } - * }, + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // The name of the zone where + * // the network endpoint group is located. It should comply with RFC1035. + * zone: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { - * // "auditConfigs": [], - * // "bindings": [], - * // "etag": "my_etag", - * // "version": 0 + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" * // } * } * @@ -141691,53 +149056,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - setIamPolicy( - params: Params$Resource$Machineimages$Setiampolicy, + delete( + params: Params$Resource$Networkendpointgroups$Delete, options: StreamMethodOptions ): Promise>; - setIamPolicy( - params?: Params$Resource$Machineimages$Setiampolicy, + delete( + params?: Params$Resource$Networkendpointgroups$Delete, options?: MethodOptions - ): Promise>; - setIamPolicy( - params: Params$Resource$Machineimages$Setiampolicy, + ): Promise>; + delete( + params: Params$Resource$Networkendpointgroups$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setIamPolicy( - params: Params$Resource$Machineimages$Setiampolicy, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + delete( + params: Params$Resource$Networkendpointgroups$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - setIamPolicy( - params: Params$Resource$Machineimages$Setiampolicy, - callback: BodyResponseCallback + delete( + params: Params$Resource$Networkendpointgroups$Delete, + callback: BodyResponseCallback ): void; - setIamPolicy(callback: BodyResponseCallback): void; - setIamPolicy( + delete(callback: BodyResponseCallback): void; + delete( paramsOrCallback?: - | Params$Resource$Machineimages$Setiampolicy - | BodyResponseCallback + | Params$Resource$Networkendpointgroups$Delete + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Machineimages$Setiampolicy; + {}) as Params$Resource$Networkendpointgroups$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Machineimages$Setiampolicy; + params = {} as Params$Resource$Networkendpointgroups$Delete; options = {}; } @@ -141752,31 +149117,31 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/machineImages/{resource}/setIamPolicy' + '/compute/alpha/projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'DELETE', apiVersion: '', }, options ), params, - requiredParams: ['project', 'resource'], - pathParams: ['project', 'resource'], + requiredParams: ['project', 'zone', 'networkEndpointGroup'], + pathParams: ['networkEndpointGroup', 'project', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Sets the labels on a machine image. To learn more about labels, read theLabeling - * Resources documentation. + * Detach a list of network endpoints from the specified network endpoint + * group. * @example * ```js * // Before running the sample: @@ -141808,19 +149173,36 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.machineImages.setLabels({ + * const res = await compute.networkEndpointGroups.detachNetworkEndpoints({ + * // The name of the network endpoint group where you are removing network + * // endpoints. It should comply with RFC1035. + * networkEndpointGroup: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name or id of the resource for this request. - * resource: '[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // The name of the zone where + * // the network endpoint group is located. It should comply with RFC1035. + * zone: 'placeholder-value', * * // Request body metadata * requestBody: { * // request body parameters * // { - * // "labelFingerprint": "my_labelFingerprint", - * // "labels": {} + * // "networkEndpoints": [] * // } * }, * }); @@ -141871,32 +149253,34 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - setLabels( - params: Params$Resource$Machineimages$Setlabels, + detachNetworkEndpoints( + params: Params$Resource$Networkendpointgroups$Detachnetworkendpoints, options: StreamMethodOptions ): Promise>; - setLabels( - params?: Params$Resource$Machineimages$Setlabels, + detachNetworkEndpoints( + params?: Params$Resource$Networkendpointgroups$Detachnetworkendpoints, options?: MethodOptions ): Promise>; - setLabels( - params: Params$Resource$Machineimages$Setlabels, + detachNetworkEndpoints( + params: Params$Resource$Networkendpointgroups$Detachnetworkendpoints, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setLabels( - params: Params$Resource$Machineimages$Setlabels, + detachNetworkEndpoints( + params: Params$Resource$Networkendpointgroups$Detachnetworkendpoints, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setLabels( - params: Params$Resource$Machineimages$Setlabels, + detachNetworkEndpoints( + params: Params$Resource$Networkendpointgroups$Detachnetworkendpoints, callback: BodyResponseCallback ): void; - setLabels(callback: BodyResponseCallback): void; - setLabels( + detachNetworkEndpoints( + callback: BodyResponseCallback + ): void; + detachNetworkEndpoints( paramsOrCallback?: - | Params$Resource$Machineimages$Setlabels + | Params$Resource$Networkendpointgroups$Detachnetworkendpoints | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -141912,12 +149296,13 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Machineimages$Setlabels; + {}) as Params$Resource$Networkendpointgroups$Detachnetworkendpoints; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Machineimages$Setlabels; + params = + {} as Params$Resource$Networkendpointgroups$Detachnetworkendpoints; options = {}; } @@ -141932,7 +149317,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/machineImages/{resource}/setLabels' + '/compute/alpha/projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/detachNetworkEndpoints' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -141940,8 +149325,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'resource'], - pathParams: ['project', 'resource'], + requiredParams: ['project', 'zone', 'networkEndpointGroup'], + pathParams: ['networkEndpointGroup', 'project', 'zone'], context: this.context, }; if (callback) { @@ -141955,7 +149340,7 @@ export namespace compute_alpha { } /** - * Returns permissions that a caller has on the specified resource. + * Returns the specified network endpoint group. * @example * ```js * // Before running the sample: @@ -141988,26 +149373,43 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.machineImages.testIamPermissions({ + * const res = await compute.networkEndpointGroups.get({ + * // The name of the network endpoint group. It should comply with RFC1035. + * networkEndpointGroup: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name or id of the resource for this request. - * resource: '[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "permissions": [] - * // } - * }, + * // The name of the zone where + * // the network endpoint group is located. It should comply with RFC1035. + * zone: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { - * // "permissions": [] + * // "annotations": {}, + * // "appEngine": {}, + * // "cloudFunction": {}, + * // "cloudRun": {}, + * // "creationTimestamp": "my_creationTimestamp", + * // "defaultPort": 0, + * // "description": "my_description", + * // "id": "my_id", + * // "kind": "my_kind", + * // "loadBalancer": {}, + * // "name": "my_name", + * // "network": "my_network", + * // "networkEndpointType": "my_networkEndpointType", + * // "pscData": {}, + * // "pscTargetService": "my_pscTargetService", + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "serverlessDeployment": {}, + * // "size": 0, + * // "subnetwork": "my_subnetwork", + * // "type": "my_type", + * // "zone": "my_zone" * // } * } * @@ -142023,57 +149425,55 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - testIamPermissions( - params: Params$Resource$Machineimages$Testiampermissions, + get( + params: Params$Resource$Networkendpointgroups$Get, options: StreamMethodOptions ): Promise>; - testIamPermissions( - params?: Params$Resource$Machineimages$Testiampermissions, + get( + params?: Params$Resource$Networkendpointgroups$Get, options?: MethodOptions - ): Promise>; - testIamPermissions( - params: Params$Resource$Machineimages$Testiampermissions, + ): Promise>; + get( + params: Params$Resource$Networkendpointgroups$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - testIamPermissions( - params: Params$Resource$Machineimages$Testiampermissions, + get( + params: Params$Resource$Networkendpointgroups$Get, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - testIamPermissions( - params: Params$Resource$Machineimages$Testiampermissions, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - testIamPermissions( - callback: BodyResponseCallback + get( + params: Params$Resource$Networkendpointgroups$Get, + callback: BodyResponseCallback ): void; - testIamPermissions( + get(callback: BodyResponseCallback): void; + get( paramsOrCallback?: - | Params$Resource$Machineimages$Testiampermissions - | BodyResponseCallback + | Params$Resource$Networkendpointgroups$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Machineimages$Testiampermissions; + {}) as Params$Resource$Networkendpointgroups$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Machineimages$Testiampermissions; + params = {} as Params$Resource$Networkendpointgroups$Get; options = {}; } @@ -142088,271 +149488,45 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/machineImages/{resource}/testIamPermissions' + '/compute/alpha/projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['project', 'resource'], - pathParams: ['project', 'resource'], + requiredParams: ['project', 'zone', 'networkEndpointGroup'], + pathParams: ['networkEndpointGroup', 'project', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } - } - - export interface Params$Resource$Machineimages$Delete extends StandardParameters { - /** - * The name of the machine image to delete. - */ - machineImage?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - } - export interface Params$Resource$Machineimages$Get extends StandardParameters { - /** - * The name of the machine image. - */ - machineImage?: string; - /** - * Project ID for this request. - */ - project?: string; - } - export interface Params$Resource$Machineimages$Getiampolicy extends StandardParameters { - /** - * Requested IAM Policy version. - */ - optionsRequestedPolicyVersion?: number; - /** - * Project ID for this request. - */ - project?: string; - /** - * Name or id of the resource for this request. - */ - resource?: string; - } - export interface Params$Resource$Machineimages$Insert extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * Required. Source instance that is used to create the machine image from. - */ - sourceInstance?: string; /** - * Request body metadata - */ - requestBody?: Schema$MachineImage; - } - export interface Params$Resource$Machineimages$List extends StandardParameters { - /** - * A filter expression that filters resources listed in the response. Most - * Compute resources support two types of filter expressions: - * expressions that support regular expressions and expressions that follow - * API improvement proposal AIP-160. - * These two types of filter expressions cannot be mixed in one request. - * - * If you want to use AIP-160, your expression must specify the field name, an - * operator, and the value that you want to use for filtering. The value - * must be a string, a number, or a boolean. The operator - * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * - * For example, if you are filtering Compute Engine instances, you can - * exclude instances named `example-instance` by specifying - * `name != example-instance`. - * - * The `:*` comparison can be used to test whether a key has been defined. - * For example, to find all objects with `owner` label use: - * ``` - * labels.owner:* - * ``` - * - * You can also filter nested fields. For example, you could specify - * `scheduling.automaticRestart = false` to include instances only - * if they are not scheduled for automatic restarts. You can use filtering - * on nested fields to filter based onresource labels. - * - * To filter on multiple expressions, provide each separate expression within - * parentheses. For example: - * ``` - * (scheduling.automaticRestart = true) - * (cpuPlatform = "Intel Skylake") - * ``` - * By default, each expression is an `AND` expression. However, you - * can include `AND` and `OR` expressions explicitly. - * For example: - * ``` - * (cpuPlatform = "Intel Skylake") OR - * (cpuPlatform = "Intel Broadwell") AND - * (scheduling.automaticRestart = true) - * ``` - * - * If you want to use a regular expression, use the `eq` (equal) or `ne` - * (not equal) operator against a single un-parenthesized expression with or - * without quotes or against multiple parenthesized expressions. Examples: - * - * `fieldname eq unquoted literal` - * `fieldname eq 'single quoted literal'` - * `fieldname eq "double quoted literal"` - * `(fieldname1 eq literal) (fieldname2 ne "literal")` - * - * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * The literal value must match the entire field. - * - * For example, to filter for instances that do not end with name "instance", - * you would use `name ne .*instance`. - * - * You cannot combine constraints on multiple fields using regular - * expressions. - */ - filter?: string; - /** - * The maximum number of results per page that should be returned. - * If the number of available results is larger than `maxResults`, - * Compute Engine returns a `nextPageToken` that can be used to get - * the next page of results in subsequent list requests. Acceptable values are - * `0` to `500`, inclusive. (Default: `500`) - */ - maxResults?: number; - /** - * Sorts list results by a certain order. By default, results - * are returned in alphanumerical order based on the resource name. - * - * You can also sort results in descending order based on the creation - * timestamp using `orderBy="creationTimestamp desc"`. This sorts - * results based on the `creationTimestamp` field in - * reverse chronological order (newest result first). Use this to sort - * resources like operations so that the newest operation is returned first. - * - * Currently, only sorting by `name` or - * `creationTimestamp desc` is supported. - */ - orderBy?: string; - /** - * Specifies a page token to use. Set `pageToken` to the - * `nextPageToken` returned by a previous list request to get - * the next page of results. - */ - pageToken?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * Opt-in for partial success behavior which provides partial results in case - * of failure. The default value is false. + * Creates a network endpoint group in the specified project using the + * parameters that are included in the request. * - * For example, when partial success behavior is enabled, aggregatedList for a - * single zone scope either returns all resources in the zone or no resources, - * with an error code. - */ - returnPartialSuccess?: boolean; - } - export interface Params$Resource$Machineimages$Setiampolicy extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * Name or id of the resource for this request. - */ - resource?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$GlobalSetPolicyRequest; - } - export interface Params$Resource$Machineimages$Setlabels extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * Name or id of the resource for this request. - */ - resource?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$GlobalSetLabelsRequest; - } - export interface Params$Resource$Machineimages$Testiampermissions extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * Name or id of the resource for this request. - */ - resource?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$TestPermissionsRequest; - } - - export class Resource$Machinetypes { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Retrieves an aggregated list of machine types. + * Note: Use the following APIs to manage network endpoint groups: * - * To prevent failure, Google recommends that you set the - * `returnPartialSuccess` parameter to `true`. + * - + * To manage NEGs with zonal scope (such as zonal NEGs, hybrid connectivity + * NEGs): zonal + * API + * - + * To manage NEGs with regional scope (such as regional internet NEGs, + * serverless NEGs, Private Service Connect NEGs): regional + * API + * - + * To manage NEGs with global scope (such as global internet NEGs):global + * API * @example * ```js * // Before running the sample: @@ -142376,7 +149550,6 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -142385,121 +149558,91 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.machineTypes.aggregatedList({ - * // A filter expression that filters resources listed in the response. Most - * // Compute resources support two types of filter expressions: - * // expressions that support regular expressions and expressions that follow - * // API improvement proposal AIP-160. - * // These two types of filter expressions cannot be mixed in one request. - * // - * // If you want to use AIP-160, your expression must specify the field name, an - * // operator, and the value that you want to use for filtering. The value - * // must be a string, a number, or a boolean. The operator - * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * // - * // For example, if you are filtering Compute Engine instances, you can - * // exclude instances named `example-instance` by specifying - * // `name != example-instance`. - * // - * // The `:*` comparison can be used to test whether a key has been defined. - * // For example, to find all objects with `owner` label use: - * // ``` - * // labels.owner:* - * // ``` - * // - * // You can also filter nested fields. For example, you could specify - * // `scheduling.automaticRestart = false` to include instances only - * // if they are not scheduled for automatic restarts. You can use filtering - * // on nested fields to filter based onresource labels. - * // - * // To filter on multiple expressions, provide each separate expression within - * // parentheses. For example: - * // ``` - * // (scheduling.automaticRestart = true) - * // (cpuPlatform = "Intel Skylake") - * // ``` - * // By default, each expression is an `AND` expression. However, you - * // can include `AND` and `OR` expressions explicitly. - * // For example: - * // ``` - * // (cpuPlatform = "Intel Skylake") OR - * // (cpuPlatform = "Intel Broadwell") AND - * // (scheduling.automaticRestart = true) - * // ``` - * // - * // If you want to use a regular expression, use the `eq` (equal) or `ne` - * // (not equal) operator against a single un-parenthesized expression with or - * // without quotes or against multiple parenthesized expressions. Examples: - * // - * // `fieldname eq unquoted literal` - * // `fieldname eq 'single quoted literal'` - * // `fieldname eq "double quoted literal"` - * // `(fieldname1 eq literal) (fieldname2 ne "literal")` - * // - * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * // The literal value must match the entire field. - * // - * // For example, to filter for instances that do not end with name "instance", - * // you would use `name ne .*instance`. - * // - * // You cannot combine constraints on multiple fields using regular - * // expressions. - * filter: 'placeholder-value', - * // 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. - * includeAllScopes: 'placeholder-value', - * // The maximum number of results per page that should be returned. - * // If the number of available results is larger than `maxResults`, - * // Compute Engine returns a `nextPageToken` that can be used to get - * // the next page of results in subsequent list requests. Acceptable values are - * // `0` to `500`, inclusive. (Default: `500`) - * maxResults: 'placeholder-value', - * // Sorts list results by a certain order. By default, results - * // are returned in alphanumerical order based on the resource name. - * // - * // You can also sort results in descending order based on the creation - * // timestamp using `orderBy="creationTimestamp desc"`. This sorts - * // results based on the `creationTimestamp` field in - * // reverse chronological order (newest result first). Use this to sort - * // resources like operations so that the newest operation is returned first. - * // - * // Currently, only sorting by `name` or - * // `creationTimestamp desc` is supported. - * orderBy: 'placeholder-value', - * // Specifies a page token to use. Set `pageToken` to the - * // `nextPageToken` returned by a previous list request to get - * // the next page of results. - * pageToken: 'placeholder-value', + * const res = await compute.networkEndpointGroups.insert({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Opt-in for partial success behavior which provides partial results in case - * // of failure. The default value is false. + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. * // - * // For example, when partial success behavior is enabled, aggregatedList for a - * // single zone scope either returns all resources in the zone or no resources, - * // with an error code. - * returnPartialSuccess: 'placeholder-value', - * // The Shared VPC service project id or service project number for which - * // aggregated list request is invoked for subnetworks list-usable api. - * serviceProjectNumber: 'placeholder-value', + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // The name of the zone where + * // you want to create the network endpoint group. It should comply with + * // RFC1035. + * zone: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "annotations": {}, + * // "appEngine": {}, + * // "cloudFunction": {}, + * // "cloudRun": {}, + * // "creationTimestamp": "my_creationTimestamp", + * // "defaultPort": 0, + * // "description": "my_description", + * // "id": "my_id", + * // "kind": "my_kind", + * // "loadBalancer": {}, + * // "name": "my_name", + * // "network": "my_network", + * // "networkEndpointType": "my_networkEndpointType", + * // "pscData": {}, + * // "pscTargetService": "my_pscTargetService", + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "serverlessDeployment": {}, + * // "size": 0, + * // "subnetwork": "my_subnetwork", + * // "type": "my_type", + * // "zone": "my_zone" + * // } + * }, * }); * console.log(res.data); * * // Example response * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, * // "id": "my_id", - * // "items": {}, + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, * // "kind": "my_kind", - * // "nextPageToken": "my_nextPageToken", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", * // "selfLink": "my_selfLink", - * // "unreachables": [], - * // "warning": {} + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" * // } * } * @@ -142515,57 +149658,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - aggregatedList( - params: Params$Resource$Machinetypes$Aggregatedlist, + insert( + params: Params$Resource$Networkendpointgroups$Insert, options: StreamMethodOptions ): Promise>; - aggregatedList( - params?: Params$Resource$Machinetypes$Aggregatedlist, + insert( + params?: Params$Resource$Networkendpointgroups$Insert, options?: MethodOptions - ): Promise>; - aggregatedList( - params: Params$Resource$Machinetypes$Aggregatedlist, + ): Promise>; + insert( + params: Params$Resource$Networkendpointgroups$Insert, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - aggregatedList( - params: Params$Resource$Machinetypes$Aggregatedlist, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - aggregatedList( - params: Params$Resource$Machinetypes$Aggregatedlist, - callback: BodyResponseCallback + insert( + params: Params$Resource$Networkendpointgroups$Insert, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - aggregatedList( - callback: BodyResponseCallback + insert( + params: Params$Resource$Networkendpointgroups$Insert, + callback: BodyResponseCallback ): void; - aggregatedList( + insert(callback: BodyResponseCallback): void; + insert( paramsOrCallback?: - | Params$Resource$Machinetypes$Aggregatedlist - | BodyResponseCallback + | Params$Resource$Networkendpointgroups$Insert + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Machinetypes$Aggregatedlist; + {}) as Params$Resource$Networkendpointgroups$Insert; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Machinetypes$Aggregatedlist; + params = {} as Params$Resource$Networkendpointgroups$Insert; options = {}; } @@ -142580,30 +149719,31 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/aggregated/machineTypes' + '/compute/alpha/projects/{project}/zones/{zone}/networkEndpointGroups' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project'], - pathParams: ['project'], + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Returns the specified machine type. + * Retrieves the list of network endpoint groups that are located in the + * specified project and zone. * @example * ```js * // Before running the sample: @@ -142636,36 +149776,112 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.machineTypes.get({ - * // Name of the machine type to return. - * machineType: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.networkEndpointGroups.list({ + * // A filter expression that filters resources listed in the response. Most + * // Compute resources support two types of filter expressions: + * // expressions that support regular expressions and expressions that follow + * // API improvement proposal AIP-160. + * // These two types of filter expressions cannot be mixed in one request. + * // + * // If you want to use AIP-160, your expression must specify the field name, an + * // operator, and the value that you want to use for filtering. The value + * // must be a string, a number, or a boolean. The operator + * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * // + * // For example, if you are filtering Compute Engine instances, you can + * // exclude instances named `example-instance` by specifying + * // `name != example-instance`. + * // + * // The `:*` comparison can be used to test whether a key has been defined. + * // For example, to find all objects with `owner` label use: + * // ``` + * // labels.owner:* + * // ``` + * // + * // You can also filter nested fields. For example, you could specify + * // `scheduling.automaticRestart = false` to include instances only + * // if they are not scheduled for automatic restarts. You can use filtering + * // on nested fields to filter based onresource labels. + * // + * // To filter on multiple expressions, provide each separate expression within + * // parentheses. For example: + * // ``` + * // (scheduling.automaticRestart = true) + * // (cpuPlatform = "Intel Skylake") + * // ``` + * // By default, each expression is an `AND` expression. However, you + * // can include `AND` and `OR` expressions explicitly. + * // For example: + * // ``` + * // (cpuPlatform = "Intel Skylake") OR + * // (cpuPlatform = "Intel Broadwell") AND + * // (scheduling.automaticRestart = true) + * // ``` + * // + * // If you want to use a regular expression, use the `eq` (equal) or `ne` + * // (not equal) operator against a single un-parenthesized expression with or + * // without quotes or against multiple parenthesized expressions. Examples: + * // + * // `fieldname eq unquoted literal` + * // `fieldname eq 'single quoted literal'` + * // `fieldname eq "double quoted literal"` + * // `(fieldname1 eq literal) (fieldname2 ne "literal")` + * // + * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * // The literal value must match the entire field. + * // + * // For example, to filter for instances that do not end with name "instance", + * // you would use `name ne .*instance`. + * // + * // You cannot combine constraints on multiple fields using regular + * // expressions. + * filter: 'placeholder-value', + * // The maximum number of results per page that should be returned. + * // If the number of available results is larger than `maxResults`, + * // Compute Engine returns a `nextPageToken` that can be used to get + * // the next page of results in subsequent list requests. Acceptable values are + * // `0` to `500`, inclusive. (Default: `500`) + * maxResults: 'placeholder-value', + * // Sorts list results by a certain order. By default, results + * // are returned in alphanumerical order based on the resource name. + * // + * // You can also sort results in descending order based on the creation + * // timestamp using `orderBy="creationTimestamp desc"`. This sorts + * // results based on the `creationTimestamp` field in + * // reverse chronological order (newest result first). Use this to sort + * // resources like operations so that the newest operation is returned first. + * // + * // Currently, only sorting by `name` or + * // `creationTimestamp desc` is supported. + * orderBy: 'placeholder-value', + * // Specifies a page token to use. Set `pageToken` to the + * // `nextPageToken` returned by a previous list request to get + * // the next page of results. + * pageToken: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // The name of the zone for this request. - * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * // Opt-in for partial success behavior which provides partial results in case + * // of failure. The default value is false. + * // + * // For example, when partial success behavior is enabled, aggregatedList for a + * // single zone scope either returns all resources in the zone or no resources, + * // with an error code. + * returnPartialSuccess: 'placeholder-value', + * // The name of thezone + * // where the network endpoint group is located. It should comply with RFC1035. + * zone: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { - * // "accelerators": [], - * // "architecture": "my_architecture", - * // "bundledLocalSsds": {}, - * // "creationTimestamp": "my_creationTimestamp", - * // "deprecated": {}, - * // "description": "my_description", - * // "guestCpus": 0, * // "id": "my_id", - * // "isSharedCpu": false, + * // "items": [], * // "kind": "my_kind", - * // "maximumPersistentDisks": 0, - * // "maximumPersistentDisksSizeGb": "my_maximumPersistentDisksSizeGb", - * // "memoryMb": 0, - * // "name": "my_name", + * // "nextPageToken": "my_nextPageToken", * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "zone": "my_zone" + * // "warning": {} * // } * } * @@ -142681,52 +149897,55 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - get( - params: Params$Resource$Machinetypes$Get, + list( + params: Params$Resource$Networkendpointgroups$List, options: StreamMethodOptions ): Promise>; - get( - params?: Params$Resource$Machinetypes$Get, + list( + params?: Params$Resource$Networkendpointgroups$List, options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Machinetypes$Get, + ): Promise>; + list( + params: Params$Resource$Networkendpointgroups$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Machinetypes$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + list( + params: Params$Resource$Networkendpointgroups$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Machinetypes$Get, - callback: BodyResponseCallback + list( + params: Params$Resource$Networkendpointgroups$List, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; - get( + list(callback: BodyResponseCallback): void; + list( paramsOrCallback?: - | Params$Resource$Machinetypes$Get - | BodyResponseCallback + | Params$Resource$Networkendpointgroups$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Machinetypes$Get; + let params = (paramsOrCallback || + {}) as Params$Resource$Networkendpointgroups$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Machinetypes$Get; + params = {} as Params$Resource$Networkendpointgroups$List; options = {}; } @@ -142741,7 +149960,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/machineTypes/{machineType}' + '/compute/alpha/projects/{project}/zones/{zone}/networkEndpointGroups' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -142749,23 +149968,22 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'zone', 'machineType'], - pathParams: ['machineType', 'project', 'zone'], + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Retrieves a list of machine types available to the specified - * project. + * Lists the network endpoints in the specified network endpoint group. * @example * ```js * // Before running the sample: @@ -142798,7 +150016,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.machineTypes.list({ + * const res = await compute.networkEndpointGroups.listNetworkEndpoints({ * // A filter expression that filters resources listed in the response. Most * // Compute resources support two types of filter expressions: * // expressions that support regular expressions and expressions that follow @@ -142864,6 +150082,9 @@ export namespace compute_alpha { * // the next page of results in subsequent list requests. Acceptable values are * // `0` to `500`, inclusive. (Default: `500`) * maxResults: 'placeholder-value', + * // The name of the network endpoint group from which you want to generate a + * // list of included network endpoints. It should comply with RFC1035. + * networkEndpointGroup: 'placeholder-value', * // Sorts list results by a certain order. By default, results * // are returned in alphanumerical order based on the resource name. * // @@ -142890,8 +150111,18 @@ export namespace compute_alpha { * // single zone scope either returns all resources in the zone or no resources, * // with an error code. * returnPartialSuccess: 'placeholder-value', - * // The name of the zone for this request. - * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * // The name of the zone where + * // the network endpoint group is located. It should comply with RFC1035. + * zone: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "endpointFilters": [], + * // "healthStatus": "my_healthStatus" + * // } + * }, * }); * console.log(res.data); * @@ -142901,7 +150132,6 @@ export namespace compute_alpha { * // "items": [], * // "kind": "my_kind", * // "nextPageToken": "my_nextPageToken", - * // "selfLink": "my_selfLink", * // "warning": {} * // } * } @@ -142918,53 +150148,62 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - list( - params: Params$Resource$Machinetypes$List, + listNetworkEndpoints( + params: Params$Resource$Networkendpointgroups$Listnetworkendpoints, options: StreamMethodOptions ): Promise>; - list( - params?: Params$Resource$Machinetypes$List, + listNetworkEndpoints( + params?: Params$Resource$Networkendpointgroups$Listnetworkendpoints, options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Machinetypes$List, + ): Promise< + GaxiosResponseWithHTTP2 + >; + listNetworkEndpoints( + params: Params$Resource$Networkendpointgroups$Listnetworkendpoints, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Machinetypes$List, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + listNetworkEndpoints( + params: Params$Resource$Networkendpointgroups$Listnetworkendpoints, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Machinetypes$List, - callback: BodyResponseCallback + listNetworkEndpoints( + params: Params$Resource$Networkendpointgroups$Listnetworkendpoints, + callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; - list( + listNetworkEndpoints( + callback: BodyResponseCallback + ): void; + listNetworkEndpoints( paramsOrCallback?: - | Params$Resource$Machinetypes$List - | BodyResponseCallback + | Params$Resource$Networkendpointgroups$Listnetworkendpoints + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise< + GaxiosResponseWithHTTP2 + > | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Machinetypes$List; + {}) as Params$Resource$Networkendpointgroups$Listnetworkendpoints; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Machinetypes$List; + params = + {} as Params$Resource$Networkendpointgroups$Listnetworkendpoints; options = {}; } @@ -142979,30 +150218,190 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/machineTypes' + '/compute/alpha/projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/listNetworkEndpoints' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone'], - pathParams: ['project', 'zone'], + requiredParams: ['project', 'zone', 'networkEndpointGroup'], + pathParams: ['networkEndpointGroup', 'project', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); + } + } + + /** + * Returns permissions that a caller has on the specified resource. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.networkEndpointGroups.testIamPermissions({ + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Name or id of the resource for this request. + * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // The name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "permissions": [] + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "permissions": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + testIamPermissions( + params: Params$Resource$Networkendpointgroups$Testiampermissions, + options: StreamMethodOptions + ): Promise>; + testIamPermissions( + params?: Params$Resource$Networkendpointgroups$Testiampermissions, + options?: MethodOptions + ): Promise>; + testIamPermissions( + params: Params$Resource$Networkendpointgroups$Testiampermissions, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Networkendpointgroups$Testiampermissions, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Networkendpointgroups$Testiampermissions, + callback: BodyResponseCallback + ): void; + testIamPermissions( + callback: BodyResponseCallback + ): void; + testIamPermissions( + paramsOrCallback?: + | Params$Resource$Networkendpointgroups$Testiampermissions + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Networkendpointgroups$Testiampermissions; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Networkendpointgroups$Testiampermissions; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/networkEndpointGroups/{resource}/testIamPermissions' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'resource'], + pathParams: ['project', 'resource', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); } } } - export interface Params$Resource$Machinetypes$Aggregatedlist extends StandardParameters { + export interface Params$Resource$Networkendpointgroups$Aggregatedlist extends StandardParameters { /** * A filter expression that filters resources listed in the response. Most * Compute resources support two types of filter expressions: @@ -143121,21 +150520,161 @@ export namespace compute_alpha { */ serviceProjectNumber?: string; } - export interface Params$Resource$Machinetypes$Get extends StandardParameters { + export interface Params$Resource$Networkendpointgroups$Attachnetworkendpoints extends StandardParameters { /** - * Name of the machine type to return. + * The name of the network endpoint group where you are attaching network + * endpoints to. It should comply with RFC1035. */ - machineType?: string; + networkEndpointGroup?: string; /** * Project ID for this request. */ project?: string; /** - * The name of the zone for this request. + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone where + * the network endpoint group is located. It should comply with RFC1035. */ zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$NetworkEndpointGroupsAttachEndpointsRequest; } - export interface Params$Resource$Machinetypes$List extends StandardParameters { + export interface Params$Resource$Networkendpointgroups$Delete extends StandardParameters { + /** + * The name of the network endpoint group to delete. It should comply with + * RFC1035. + */ + networkEndpointGroup?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone where + * the network endpoint group is located. It should comply with RFC1035. + */ + zone?: string; + } + export interface Params$Resource$Networkendpointgroups$Detachnetworkendpoints extends StandardParameters { + /** + * The name of the network endpoint group where you are removing network + * endpoints. It should comply with RFC1035. + */ + networkEndpointGroup?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone where + * the network endpoint group is located. It should comply with RFC1035. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$NetworkEndpointGroupsDetachEndpointsRequest; + } + export interface Params$Resource$Networkendpointgroups$Get extends StandardParameters { + /** + * The name of the network endpoint group. It should comply with RFC1035. + */ + networkEndpointGroup?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone where + * the network endpoint group is located. It should comply with RFC1035. + */ + zone?: string; + } + export interface Params$Resource$Networkendpointgroups$Insert extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone where + * you want to create the network endpoint group. It should comply with + * RFC1035. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$NetworkEndpointGroup; + } + export interface Params$Resource$Networkendpointgroups$List extends StandardParameters { /** * A filter expression that filters resources listed in the response. Most * Compute resources support two types of filter expressions: @@ -143239,275 +150778,158 @@ export namespace compute_alpha { */ returnPartialSuccess?: boolean; /** - * The name of the zone for this request. + * The name of thezone + * where the network endpoint group is located. It should comply with RFC1035. */ zone?: string; } - - export class Resource$Networkattachments { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - + export interface Params$Resource$Networkendpointgroups$Listnetworkendpoints extends StandardParameters { /** - * Retrieves the list of all NetworkAttachment resources, - * regional and global, available to the specified project. + * A filter expression that filters resources listed in the response. Most + * Compute resources support two types of filter expressions: + * expressions that support regular expressions and expressions that follow + * API improvement proposal AIP-160. + * These two types of filter expressions cannot be mixed in one request. * - * To prevent failure, Google recommends that you set the - * `returnPartialSuccess` parameter to `true`. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/compute.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` + * If you want to use AIP-160, your expression must specify the field name, an + * operator, and the value that you want to use for filtering. The value + * must be a string, a number, or a boolean. The operator + * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. * - * const {google} = require('googleapis'); - * const compute = google.compute('alpha'); + * For example, if you are filtering Compute Engine instances, you can + * exclude instances named `example-instance` by specifying + * `name != example-instance`. * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/cloud-platform', - * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', - * ], - * }); + * The `:*` comparison can be used to test whether a key has been defined. + * For example, to find all objects with `owner` label use: + * ``` + * labels.owner:* + * ``` * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); + * You can also filter nested fields. For example, you could specify + * `scheduling.automaticRestart = false` to include instances only + * if they are not scheduled for automatic restarts. You can use filtering + * on nested fields to filter based onresource labels. * - * // Do the magic - * const res = await compute.networkAttachments.aggregatedList({ - * // A filter expression that filters resources listed in the response. Most - * // Compute resources support two types of filter expressions: - * // expressions that support regular expressions and expressions that follow - * // API improvement proposal AIP-160. - * // These two types of filter expressions cannot be mixed in one request. - * // - * // If you want to use AIP-160, your expression must specify the field name, an - * // operator, and the value that you want to use for filtering. The value - * // must be a string, a number, or a boolean. The operator - * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * // - * // For example, if you are filtering Compute Engine instances, you can - * // exclude instances named `example-instance` by specifying - * // `name != example-instance`. - * // - * // The `:*` comparison can be used to test whether a key has been defined. - * // For example, to find all objects with `owner` label use: - * // ``` - * // labels.owner:* - * // ``` - * // - * // You can also filter nested fields. For example, you could specify - * // `scheduling.automaticRestart = false` to include instances only - * // if they are not scheduled for automatic restarts. You can use filtering - * // on nested fields to filter based onresource labels. - * // - * // To filter on multiple expressions, provide each separate expression within - * // parentheses. For example: - * // ``` - * // (scheduling.automaticRestart = true) - * // (cpuPlatform = "Intel Skylake") - * // ``` - * // By default, each expression is an `AND` expression. However, you - * // can include `AND` and `OR` expressions explicitly. - * // For example: - * // ``` - * // (cpuPlatform = "Intel Skylake") OR - * // (cpuPlatform = "Intel Broadwell") AND - * // (scheduling.automaticRestart = true) - * // ``` - * // - * // If you want to use a regular expression, use the `eq` (equal) or `ne` - * // (not equal) operator against a single un-parenthesized expression with or - * // without quotes or against multiple parenthesized expressions. Examples: - * // - * // `fieldname eq unquoted literal` - * // `fieldname eq 'single quoted literal'` - * // `fieldname eq "double quoted literal"` - * // `(fieldname1 eq literal) (fieldname2 ne "literal")` - * // - * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * // The literal value must match the entire field. - * // - * // For example, to filter for instances that do not end with name "instance", - * // you would use `name ne .*instance`. - * // - * // You cannot combine constraints on multiple fields using regular - * // expressions. - * filter: 'placeholder-value', - * // 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. - * includeAllScopes: 'placeholder-value', - * // The maximum number of results per page that should be returned. - * // If the number of available results is larger than `maxResults`, - * // Compute Engine returns a `nextPageToken` that can be used to get - * // the next page of results in subsequent list requests. Acceptable values are - * // `0` to `500`, inclusive. (Default: `500`) - * maxResults: 'placeholder-value', - * // Sorts list results by a certain order. By default, results - * // are returned in alphanumerical order based on the resource name. - * // - * // You can also sort results in descending order based on the creation - * // timestamp using `orderBy="creationTimestamp desc"`. This sorts - * // results based on the `creationTimestamp` field in - * // reverse chronological order (newest result first). Use this to sort - * // resources like operations so that the newest operation is returned first. - * // - * // Currently, only sorting by `name` or - * // `creationTimestamp desc` is supported. - * orderBy: 'placeholder-value', - * // Specifies a page token to use. Set `pageToken` to the - * // `nextPageToken` returned by a previous list request to get - * // the next page of results. - * pageToken: 'placeholder-value', - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Opt-in for partial success behavior which provides partial results in case - * // of failure. The default value is false. - * // - * // For example, when partial success behavior is enabled, aggregatedList for a - * // single zone scope either returns all resources in the zone or no resources, - * // with an error code. - * returnPartialSuccess: 'placeholder-value', - * // The Shared VPC service project id or service project number for which - * // aggregated list request is invoked for subnetworks list-usable api. - * serviceProjectNumber: 'placeholder-value', - * }); - * console.log(res.data); + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example: + * ``` + * (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake") + * ``` + * By default, each expression is an `AND` expression. However, you + * can include `AND` and `OR` expressions explicitly. + * For example: + * ``` + * (cpuPlatform = "Intel Skylake") OR + * (cpuPlatform = "Intel Broadwell") AND + * (scheduling.automaticRestart = true) + * ``` * - * // Example response - * // { - * // "id": "my_id", - * // "items": {}, - * // "kind": "my_kind", - * // "nextPageToken": "my_nextPageToken", - * // "selfLink": "my_selfLink", - * // "warning": {} - * // } - * } + * If you want to use a regular expression, use the `eq` (equal) or `ne` + * (not equal) operator against a single un-parenthesized expression with or + * without quotes or against multiple parenthesized expressions. Examples: * - * main().catch(e => { - * console.error(e); - * throw e; - * }); + * `fieldname eq unquoted literal` + * `fieldname eq 'single quoted literal'` + * `fieldname eq "double quoted literal"` + * `(fieldname1 eq literal) (fieldname2 ne "literal")` * - * ``` + * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * The literal value must match the entire field. * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. + * For example, to filter for instances that do not end with name "instance", + * you would use `name ne .*instance`. + * + * You cannot combine constraints on multiple fields using regular + * expressions. */ - aggregatedList( - params: Params$Resource$Networkattachments$Aggregatedlist, - options: StreamMethodOptions - ): Promise>; - aggregatedList( - params?: Params$Resource$Networkattachments$Aggregatedlist, - options?: MethodOptions - ): Promise>; - aggregatedList( - params: Params$Resource$Networkattachments$Aggregatedlist, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - aggregatedList( - params: Params$Resource$Networkattachments$Aggregatedlist, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - aggregatedList( - params: Params$Resource$Networkattachments$Aggregatedlist, - callback: BodyResponseCallback - ): void; - aggregatedList( - callback: BodyResponseCallback - ): void; - aggregatedList( - paramsOrCallback?: - | Params$Resource$Networkattachments$Aggregatedlist - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Networkattachments$Aggregatedlist; - let options = (optionsOrCallback || {}) as MethodOptions; + filter?: string; + /** + * The maximum number of results per page that should be returned. + * If the number of available results is larger than `maxResults`, + * Compute Engine returns a `nextPageToken` that can be used to get + * the next page of results in subsequent list requests. Acceptable values are + * `0` to `500`, inclusive. (Default: `500`) + */ + maxResults?: number; + /** + * The name of the network endpoint group from which you want to generate a + * list of included network endpoints. It should comply with RFC1035. + */ + networkEndpointGroup?: string; + /** + * Sorts list results by a certain order. By default, results + * are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation + * timestamp using `orderBy="creationTimestamp desc"`. This sorts + * results based on the `creationTimestamp` field in + * reverse chronological order (newest result first). Use this to sort + * resources like operations so that the newest operation is returned first. + * + * Currently, only sorting by `name` or + * `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the + * `nextPageToken` returned by a previous list request to get + * the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Opt-in for partial success behavior which provides partial results in case + * of failure. The default value is false. + * + * For example, when partial success behavior is enabled, aggregatedList for a + * single zone scope either returns all resources in the zone or no resources, + * with an error code. + */ + returnPartialSuccess?: boolean; + /** + * The name of the zone where + * the network endpoint group is located. It should comply with RFC1035. + */ + zone?: string; - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Networkattachments$Aggregatedlist; - options = {}; - } + /** + * Request body metadata + */ + requestBody?: Schema$NetworkEndpointGroupsListEndpointsRequest; + } + export interface Params$Resource$Networkendpointgroups$Testiampermissions extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } - const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/compute/alpha/projects/{project}/aggregated/networkAttachments' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['project'], - pathParams: ['project'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest( - parameters - ); - } + export class Resource$Networkfirewallpolicies { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; } /** - * Deletes the specified NetworkAttachment in the given scope + * Inserts an association for the specified firewall policy. * @example * ```js * // Before running the sample: @@ -143539,14 +150961,21 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.networkAttachments.delete({ - * // Name of the NetworkAttachment resource to delete. - * networkAttachment: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.networkFirewallPolicies.addAssociation({ + * // Name of the firewall policy associated with the target network to swap + * // association with. This field is mutually exclusive with + * // 'replace_existing_association'. + * associatedPolicyToBeReplaced: + * '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // Name of the firewall policy to update. + * firewallPolicy: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name of the region of this request. - * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * // 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. + * replaceExistingAssociation: 'placeholder-value', * // An optional request ID to identify requests. Specify a unique request ID so * // that if you must retry your request, the server will know to ignore the * // request if it has already been completed. @@ -143560,8 +150989,20 @@ export namespace compute_alpha { * // 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 * requestId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "attachmentTarget": "my_attachmentTarget", + * // "displayName": "my_displayName", + * // "firewallPolicyId": "my_firewallPolicyId", + * // "name": "my_name", + * // "priority": 0, + * // "shortName": "my_shortName" + * // } + * }, * }); * console.log(res.data); * @@ -143610,213 +151051,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - delete( - params: Params$Resource$Networkattachments$Delete, + addAssociation( + params: Params$Resource$Networkfirewallpolicies$Addassociation, options: StreamMethodOptions ): Promise>; - delete( - params?: Params$Resource$Networkattachments$Delete, + addAssociation( + params?: Params$Resource$Networkfirewallpolicies$Addassociation, options?: MethodOptions ): Promise>; - delete( - params: Params$Resource$Networkattachments$Delete, + addAssociation( + params: Params$Resource$Networkfirewallpolicies$Addassociation, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Networkattachments$Delete, + addAssociation( + params: Params$Resource$Networkfirewallpolicies$Addassociation, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Networkattachments$Delete, + addAssociation( + params: Params$Resource$Networkfirewallpolicies$Addassociation, callback: BodyResponseCallback ): void; - delete(callback: BodyResponseCallback): void; - delete( + addAssociation(callback: BodyResponseCallback): void; + addAssociation( paramsOrCallback?: - | Params$Resource$Networkattachments$Delete - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: + | Params$Resource$Networkfirewallpolicies$Addassociation | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Networkattachments$Delete; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Networkattachments$Delete; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/compute/alpha/projects/{project}/regions/{region}/networkAttachments/{networkAttachment}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['project', 'region', 'networkAttachment'], - pathParams: ['networkAttachment', 'project', 'region'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Returns the specified NetworkAttachment resource in the given scope. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/compute.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const compute = google.compute('alpha'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/cloud-platform', - * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await compute.networkAttachments.get({ - * // Name of the NetworkAttachment resource to return. - * networkAttachment: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name of the region of this request. - * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "connectionEndpoints": [], - * // "connectionPreference": "my_connectionPreference", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "fingerprint": "my_fingerprint", - * // "id": "my_id", - * // "kind": "my_kind", - * // "name": "my_name", - * // "network": "my_network", - * // "producerAcceptLists": [], - * // "producerRejectLists": [], - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "subnetworks": [] - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - get( - params: Params$Resource$Networkattachments$Get, - options: StreamMethodOptions - ): Promise>; - get( - params?: Params$Resource$Networkattachments$Get, - options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Networkattachments$Get, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Networkattachments$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Networkattachments$Get, - callback: BodyResponseCallback - ): void; - get(callback: BodyResponseCallback): void; - get( - paramsOrCallback?: - | Params$Resource$Networkattachments$Get - | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Networkattachments$Get; + {}) as Params$Resource$Networkfirewallpolicies$Addassociation; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Networkattachments$Get; + params = {} as Params$Resource$Networkfirewallpolicies$Addassociation; options = {}; } @@ -143831,31 +151112,30 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/regions/{region}/networkAttachments/{networkAttachment}' + '/compute/alpha/projects/{project}/global/firewallPolicies/{firewallPolicy}/addAssociation' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project', 'region', 'networkAttachment'], - pathParams: ['networkAttachment', 'project', 'region'], + requiredParams: ['project', 'firewallPolicy'], + pathParams: ['firewallPolicy', 'project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Gets the access control policy for a resource. May be empty if no such - * policy or resource exists. + * Inserts a packet mirroring rule into a firewall policy. * @example * ```js * // Before running the sample: @@ -143879,7 +151159,6 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -143888,25 +151167,89 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.networkAttachments.getIamPolicy({ - * // Requested IAM Policy version. - * optionsRequestedPolicyVersion: 'placeholder-value', + * const res = await compute.networkFirewallPolicies.addPacketMirroringRule({ + * // Name of the firewall policy to update. + * firewallPolicy: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // When rule.priority is not specified, auto choose a unused priority betweenminPriority and maxPriority\>. + * // This field is exclusive with rule.priority. + * maxPriority: 'placeholder-value', + * // When rule.priority is not specified, auto choose a unused priority betweenminPriority and maxPriority\>. + * // This field is exclusive with rule.priority. + * minPriority: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // The name of the region for this request. - * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', - * // Name or id of the resource for this request. - * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "action": "my_action", + * // "description": "my_description", + * // "direction": "my_direction", + * // "disabled": false, + * // "enableLogging": false, + * // "kind": "my_kind", + * // "match": {}, + * // "priority": 0, + * // "ruleName": "my_ruleName", + * // "ruleTupleCount": 0, + * // "securityProfileGroup": "my_securityProfileGroup", + * // "targetForwardingRules": [], + * // "targetResources": [], + * // "targetSecureTags": [], + * // "targetServiceAccounts": [], + * // "targetType": "my_targetType", + * // "tlsInspect": false + * // } + * }, * }); * console.log(res.data); * * // Example response * // { - * // "auditConfigs": [], - * // "bindings": [], - * // "etag": "my_etag", - * // "version": 0 + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" * // } * } * @@ -143922,53 +151265,56 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - getIamPolicy( - params: Params$Resource$Networkattachments$Getiampolicy, + addPacketMirroringRule( + params: Params$Resource$Networkfirewallpolicies$Addpacketmirroringrule, options: StreamMethodOptions ): Promise>; - getIamPolicy( - params?: Params$Resource$Networkattachments$Getiampolicy, + addPacketMirroringRule( + params?: Params$Resource$Networkfirewallpolicies$Addpacketmirroringrule, options?: MethodOptions - ): Promise>; - getIamPolicy( - params: Params$Resource$Networkattachments$Getiampolicy, + ): Promise>; + addPacketMirroringRule( + params: Params$Resource$Networkfirewallpolicies$Addpacketmirroringrule, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - getIamPolicy( - params: Params$Resource$Networkattachments$Getiampolicy, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + addPacketMirroringRule( + params: Params$Resource$Networkfirewallpolicies$Addpacketmirroringrule, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - getIamPolicy( - params: Params$Resource$Networkattachments$Getiampolicy, - callback: BodyResponseCallback + addPacketMirroringRule( + params: Params$Resource$Networkfirewallpolicies$Addpacketmirroringrule, + callback: BodyResponseCallback ): void; - getIamPolicy(callback: BodyResponseCallback): void; - getIamPolicy( + addPacketMirroringRule( + callback: BodyResponseCallback + ): void; + addPacketMirroringRule( paramsOrCallback?: - | Params$Resource$Networkattachments$Getiampolicy - | BodyResponseCallback + | Params$Resource$Networkfirewallpolicies$Addpacketmirroringrule + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Networkattachments$Getiampolicy; + {}) as Params$Resource$Networkfirewallpolicies$Addpacketmirroringrule; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Networkattachments$Getiampolicy; + params = + {} as Params$Resource$Networkfirewallpolicies$Addpacketmirroringrule; options = {}; } @@ -143983,31 +151329,30 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/regions/{region}/networkAttachments/{resource}/getIamPolicy' + '/compute/alpha/projects/{project}/global/firewallPolicies/{firewallPolicy}/addPacketMirroringRule' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project', 'region', 'resource'], - pathParams: ['project', 'region', 'resource'], + requiredParams: ['project', 'firewallPolicy'], + pathParams: ['firewallPolicy', 'project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Creates a NetworkAttachment in the specified project in the given scope - * using the parameters that are included in the request. + * Inserts a rule into a firewall policy. * @example * ```js * // Before running the sample: @@ -144039,12 +151384,18 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.networkAttachments.insert({ + * const res = await compute.networkFirewallPolicies.addRule({ + * // Name of the firewall policy to update. + * firewallPolicy: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // When rule.priority is not specified, auto choose a unused priority betweenminPriority and maxPriority\>. + * // This field is exclusive with rule.priority. + * maxPriority: 'placeholder-value', + * // When rule.priority is not specified, auto choose a unused priority betweenminPriority and maxPriority\>. + * // This field is exclusive with rule.priority. + * minPriority: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name of the region of this request. - * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * // An optional request ID to identify requests. Specify a unique request ID so * // that if you must retry your request, the server will know to ignore the * // request if it has already been completed. @@ -144058,28 +151409,29 @@ export namespace compute_alpha { * // 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 * requestId: 'placeholder-value', * * // Request body metadata * requestBody: { * // request body parameters * // { - * // "connectionEndpoints": [], - * // "connectionPreference": "my_connectionPreference", - * // "creationTimestamp": "my_creationTimestamp", + * // "action": "my_action", * // "description": "my_description", - * // "fingerprint": "my_fingerprint", - * // "id": "my_id", + * // "direction": "my_direction", + * // "disabled": false, + * // "enableLogging": false, * // "kind": "my_kind", - * // "name": "my_name", - * // "network": "my_network", - * // "producerAcceptLists": [], - * // "producerRejectLists": [], - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "subnetworks": [] + * // "match": {}, + * // "priority": 0, + * // "ruleName": "my_ruleName", + * // "ruleTupleCount": 0, + * // "securityProfileGroup": "my_securityProfileGroup", + * // "targetForwardingRules": [], + * // "targetResources": [], + * // "targetSecureTags": [], + * // "targetServiceAccounts": [], + * // "targetType": "my_targetType", + * // "tlsInspect": false * // } * }, * }); @@ -144130,32 +151482,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - insert( - params: Params$Resource$Networkattachments$Insert, + addRule( + params: Params$Resource$Networkfirewallpolicies$Addrule, options: StreamMethodOptions ): Promise>; - insert( - params?: Params$Resource$Networkattachments$Insert, + addRule( + params?: Params$Resource$Networkfirewallpolicies$Addrule, options?: MethodOptions ): Promise>; - insert( - params: Params$Resource$Networkattachments$Insert, + addRule( + params: Params$Resource$Networkfirewallpolicies$Addrule, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - insert( - params: Params$Resource$Networkattachments$Insert, + addRule( + params: Params$Resource$Networkfirewallpolicies$Addrule, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - insert( - params: Params$Resource$Networkattachments$Insert, + addRule( + params: Params$Resource$Networkfirewallpolicies$Addrule, callback: BodyResponseCallback ): void; - insert(callback: BodyResponseCallback): void; - insert( + addRule(callback: BodyResponseCallback): void; + addRule( paramsOrCallback?: - | Params$Resource$Networkattachments$Insert + | Params$Resource$Networkfirewallpolicies$Addrule | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -144171,12 +151523,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Networkattachments$Insert; + {}) as Params$Resource$Networkfirewallpolicies$Addrule; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Networkattachments$Insert; + params = {} as Params$Resource$Networkfirewallpolicies$Addrule; options = {}; } @@ -144191,7 +151543,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/regions/{region}/networkAttachments' + '/compute/alpha/projects/{project}/global/firewallPolicies/{firewallPolicy}/addRule' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -144199,8 +151551,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'region'], - pathParams: ['project', 'region'], + requiredParams: ['project', 'firewallPolicy'], + pathParams: ['firewallPolicy', 'project'], context: this.context, }; if (callback) { @@ -144214,7 +151566,12 @@ export namespace compute_alpha { } /** - * Lists the NetworkAttachments for a project in the given scope. + * 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, it is recommended that you set the + * `returnPartialSuccess` parameter to `true`. * @example * ```js * // Before running the sample: @@ -144247,7 +151604,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.networkAttachments.list({ + * const res = await compute.networkFirewallPolicies.aggregatedList({ * // A filter expression that filters resources listed in the response. Most * // Compute resources support two types of filter expressions: * // expressions that support regular expressions and expressions that follow @@ -144307,6 +151664,14 @@ export namespace compute_alpha { * // You cannot combine constraints on multiple fields using regular * // expressions. * filter: 'placeholder-value', + * // 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. + * includeAllScopes: 'placeholder-value', * // The maximum number of results per page that should be returned. * // If the number of available results is larger than `maxResults`, * // Compute Engine returns a `nextPageToken` that can be used to get @@ -144332,8 +151697,6 @@ export namespace compute_alpha { * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name of the region of this request. - * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * // Opt-in for partial success behavior which provides partial results in case * // of failure. The default value is false. * // @@ -144341,16 +151704,20 @@ export namespace compute_alpha { * // single zone scope either returns all resources in the zone or no resources, * // with an error code. * returnPartialSuccess: 'placeholder-value', + * // The Shared VPC service project id or service project number for which + * // aggregated list request is invoked for subnetworks list-usable api. + * serviceProjectNumber: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { * // "id": "my_id", - * // "items": [], + * // "items": {}, * // "kind": "my_kind", * // "nextPageToken": "my_nextPageToken", * // "selfLink": "my_selfLink", + * // "unreachables": [], * // "warning": {} * // } * } @@ -144367,55 +151734,61 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - list( - params: Params$Resource$Networkattachments$List, + aggregatedList( + params: Params$Resource$Networkfirewallpolicies$Aggregatedlist, options: StreamMethodOptions ): Promise>; - list( - params?: Params$Resource$Networkattachments$List, + aggregatedList( + params?: Params$Resource$Networkfirewallpolicies$Aggregatedlist, options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Networkattachments$List, + ): Promise< + GaxiosResponseWithHTTP2 + >; + aggregatedList( + params: Params$Resource$Networkfirewallpolicies$Aggregatedlist, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Networkattachments$List, + aggregatedList( + params: Params$Resource$Networkfirewallpolicies$Aggregatedlist, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Networkattachments$List, - callback: BodyResponseCallback + aggregatedList( + params: Params$Resource$Networkfirewallpolicies$Aggregatedlist, + callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; - list( + aggregatedList( + callback: BodyResponseCallback + ): void; + aggregatedList( paramsOrCallback?: - | Params$Resource$Networkattachments$List - | BodyResponseCallback + | Params$Resource$Networkfirewallpolicies$Aggregatedlist + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise< + GaxiosResponseWithHTTP2 + > | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Networkattachments$List; + {}) as Params$Resource$Networkfirewallpolicies$Aggregatedlist; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Networkattachments$List; + params = {} as Params$Resource$Networkfirewallpolicies$Aggregatedlist; options = {}; } @@ -144430,7 +151803,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/regions/{region}/networkAttachments' + '/compute/alpha/projects/{project}/aggregated/firewallPolicies' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -144438,25 +151811,24 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'region'], - pathParams: ['project', 'region'], + requiredParams: ['project'], + pathParams: ['project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); } } /** - * Patches the specified NetworkAttachment resource with the data included in - * the request. This method supports PATCH - * semantics and usesJSON merge - * patch format and processing rules. + * Copies rules to the specified firewall policy. * @example * ```js * // Before running the sample: @@ -144488,14 +151860,12 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.networkAttachments.patch({ - * // Name of the NetworkAttachment resource to patch. - * networkAttachment: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.networkFirewallPolicies.cloneRules({ + * // Name of the firewall policy to update. + * firewallPolicy: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name of the region for this request. - * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * // An optional request ID to identify requests. Specify a unique request ID so * // that if you must retry your request, the server will know to ignore the * // request if it has already been completed. @@ -144509,30 +151879,9 @@ export namespace compute_alpha { * // 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 * requestId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "connectionEndpoints": [], - * // "connectionPreference": "my_connectionPreference", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "fingerprint": "my_fingerprint", - * // "id": "my_id", - * // "kind": "my_kind", - * // "name": "my_name", - * // "network": "my_network", - * // "producerAcceptLists": [], - * // "producerRejectLists": [], - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "subnetworks": [] - * // } - * }, + * // The firewall policy from which to copy rules. + * sourceFirewallPolicy: 'placeholder-value', * }); * console.log(res.data); * @@ -144581,32 +151930,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - patch( - params: Params$Resource$Networkattachments$Patch, + cloneRules( + params: Params$Resource$Networkfirewallpolicies$Clonerules, options: StreamMethodOptions ): Promise>; - patch( - params?: Params$Resource$Networkattachments$Patch, + cloneRules( + params?: Params$Resource$Networkfirewallpolicies$Clonerules, options?: MethodOptions ): Promise>; - patch( - params: Params$Resource$Networkattachments$Patch, + cloneRules( + params: Params$Resource$Networkfirewallpolicies$Clonerules, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Networkattachments$Patch, + cloneRules( + params: Params$Resource$Networkfirewallpolicies$Clonerules, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Networkattachments$Patch, + cloneRules( + params: Params$Resource$Networkfirewallpolicies$Clonerules, callback: BodyResponseCallback ): void; - patch(callback: BodyResponseCallback): void; - patch( + cloneRules(callback: BodyResponseCallback): void; + cloneRules( paramsOrCallback?: - | Params$Resource$Networkattachments$Patch + | Params$Resource$Networkfirewallpolicies$Clonerules | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -144622,12 +151971,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Networkattachments$Patch; + {}) as Params$Resource$Networkfirewallpolicies$Clonerules; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Networkattachments$Patch; + params = {} as Params$Resource$Networkfirewallpolicies$Clonerules; options = {}; } @@ -144642,16 +151991,16 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/regions/{region}/networkAttachments/{networkAttachment}' + '/compute/alpha/projects/{project}/global/firewallPolicies/{firewallPolicy}/cloneRules' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project', 'region', 'networkAttachment'], - pathParams: ['networkAttachment', 'project', 'region'], + requiredParams: ['project', 'firewallPolicy'], + pathParams: ['firewallPolicy', 'project'], context: this.context, }; if (callback) { @@ -144665,8 +152014,7 @@ export namespace compute_alpha { } /** - * Sets the access control policy on the specified resource. - * Replaces any existing policy. + * Deletes the specified policy. * @example * ```js * // Before running the sample: @@ -144698,33 +152046,59 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.networkAttachments.setIamPolicy({ + * const res = await compute.networkFirewallPolicies.delete({ + * // Name of the firewall policy to delete. + * firewallPolicy: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // The name of the region for this request. - * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', - * // Name or id of the resource for this request. - * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "bindings": [], - * // "etag": "my_etag", - * // "policy": {} - * // } - * }, + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { - * // "auditConfigs": [], - * // "bindings": [], - * // "etag": "my_etag", - * // "version": 0 + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" * // } * } * @@ -144740,53 +152114,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - setIamPolicy( - params: Params$Resource$Networkattachments$Setiampolicy, + delete( + params: Params$Resource$Networkfirewallpolicies$Delete, options: StreamMethodOptions ): Promise>; - setIamPolicy( - params?: Params$Resource$Networkattachments$Setiampolicy, + delete( + params?: Params$Resource$Networkfirewallpolicies$Delete, options?: MethodOptions - ): Promise>; - setIamPolicy( - params: Params$Resource$Networkattachments$Setiampolicy, + ): Promise>; + delete( + params: Params$Resource$Networkfirewallpolicies$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setIamPolicy( - params: Params$Resource$Networkattachments$Setiampolicy, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + delete( + params: Params$Resource$Networkfirewallpolicies$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - setIamPolicy( - params: Params$Resource$Networkattachments$Setiampolicy, - callback: BodyResponseCallback + delete( + params: Params$Resource$Networkfirewallpolicies$Delete, + callback: BodyResponseCallback ): void; - setIamPolicy(callback: BodyResponseCallback): void; - setIamPolicy( + delete(callback: BodyResponseCallback): void; + delete( paramsOrCallback?: - | Params$Resource$Networkattachments$Setiampolicy - | BodyResponseCallback + | Params$Resource$Networkfirewallpolicies$Delete + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Networkattachments$Setiampolicy; + {}) as Params$Resource$Networkfirewallpolicies$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Networkattachments$Setiampolicy; + params = {} as Params$Resource$Networkfirewallpolicies$Delete; options = {}; } @@ -144801,30 +152175,30 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/regions/{region}/networkAttachments/{resource}/setIamPolicy' + '/compute/alpha/projects/{project}/global/firewallPolicies/{firewallPolicy}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'DELETE', apiVersion: '', }, options ), params, - requiredParams: ['project', 'region', 'resource'], - pathParams: ['project', 'region', 'resource'], + requiredParams: ['project', 'firewallPolicy'], + pathParams: ['firewallPolicy', 'project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Returns permissions that a caller has on the specified resource. + * Returns the specified network firewall policy. * @example * ```js * // Before running the sample: @@ -144857,540 +152231,137 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.networkAttachments.testIamPermissions({ + * const res = await compute.networkFirewallPolicies.get({ + * // Name of the firewall policy to get. + * firewallPolicy: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // The name of the region for this request. - * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', - * // Name or id of the resource for this request. - * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "permissions": [] - * // } - * }, * }); * console.log(res.data); * * // Example response * // { - * // "permissions": [] + * // "associations": [], + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "fingerprint": "my_fingerprint", + * // "id": "my_id", + * // "kind": "my_kind", + * // "name": "my_name", + * // "packetMirroringRules": [], + * // "parent": "my_parent", + * // "policySource": "my_policySource", + * // "policyType": "my_policyType", + * // "region": "my_region", + * // "rolloutOperation": {}, + * // "ruleTupleCount": 0, + * // "rules": [], + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "shortName": "my_shortName", + * // "vpcNetworkScope": "my_vpcNetworkScope" * // } * } * * main().catch(e => { * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - testIamPermissions( - params: Params$Resource$Networkattachments$Testiampermissions, - options: StreamMethodOptions - ): Promise>; - testIamPermissions( - params?: Params$Resource$Networkattachments$Testiampermissions, - options?: MethodOptions - ): Promise>; - testIamPermissions( - params: Params$Resource$Networkattachments$Testiampermissions, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - testIamPermissions( - params: Params$Resource$Networkattachments$Testiampermissions, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - testIamPermissions( - params: Params$Resource$Networkattachments$Testiampermissions, - callback: BodyResponseCallback - ): void; - testIamPermissions( - callback: BodyResponseCallback - ): void; - testIamPermissions( - paramsOrCallback?: - | Params$Resource$Networkattachments$Testiampermissions - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Networkattachments$Testiampermissions; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Networkattachments$Testiampermissions; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/compute/alpha/projects/{project}/regions/{region}/networkAttachments/{resource}/testIamPermissions' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['project', 'region', 'resource'], - pathParams: ['project', 'region', 'resource'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Networkattachments$Aggregatedlist extends StandardParameters { - /** - * A filter expression that filters resources listed in the response. Most - * Compute resources support two types of filter expressions: - * expressions that support regular expressions and expressions that follow - * API improvement proposal AIP-160. - * These two types of filter expressions cannot be mixed in one request. - * - * If you want to use AIP-160, your expression must specify the field name, an - * operator, and the value that you want to use for filtering. The value - * must be a string, a number, or a boolean. The operator - * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * - * For example, if you are filtering Compute Engine instances, you can - * exclude instances named `example-instance` by specifying - * `name != example-instance`. - * - * The `:*` comparison can be used to test whether a key has been defined. - * For example, to find all objects with `owner` label use: - * ``` - * labels.owner:* - * ``` - * - * You can also filter nested fields. For example, you could specify - * `scheduling.automaticRestart = false` to include instances only - * if they are not scheduled for automatic restarts. You can use filtering - * on nested fields to filter based onresource labels. - * - * To filter on multiple expressions, provide each separate expression within - * parentheses. For example: - * ``` - * (scheduling.automaticRestart = true) - * (cpuPlatform = "Intel Skylake") - * ``` - * By default, each expression is an `AND` expression. However, you - * can include `AND` and `OR` expressions explicitly. - * For example: - * ``` - * (cpuPlatform = "Intel Skylake") OR - * (cpuPlatform = "Intel Broadwell") AND - * (scheduling.automaticRestart = true) - * ``` - * - * If you want to use a regular expression, use the `eq` (equal) or `ne` - * (not equal) operator against a single un-parenthesized expression with or - * without quotes or against multiple parenthesized expressions. Examples: - * - * `fieldname eq unquoted literal` - * `fieldname eq 'single quoted literal'` - * `fieldname eq "double quoted literal"` - * `(fieldname1 eq literal) (fieldname2 ne "literal")` - * - * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * The literal value must match the entire field. - * - * For example, to filter for instances that do not end with name "instance", - * you would use `name ne .*instance`. - * - * You cannot combine constraints on multiple fields using regular - * expressions. - */ - filter?: string; - /** - * 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. - */ - includeAllScopes?: boolean; - /** - * The maximum number of results per page that should be returned. - * If the number of available results is larger than `maxResults`, - * Compute Engine returns a `nextPageToken` that can be used to get - * the next page of results in subsequent list requests. Acceptable values are - * `0` to `500`, inclusive. (Default: `500`) - */ - maxResults?: number; - /** - * Sorts list results by a certain order. By default, results - * are returned in alphanumerical order based on the resource name. - * - * You can also sort results in descending order based on the creation - * timestamp using `orderBy="creationTimestamp desc"`. This sorts - * results based on the `creationTimestamp` field in - * reverse chronological order (newest result first). Use this to sort - * resources like operations so that the newest operation is returned first. - * - * Currently, only sorting by `name` or - * `creationTimestamp desc` is supported. - */ - orderBy?: string; - /** - * Specifies a page token to use. Set `pageToken` to the - * `nextPageToken` returned by a previous list request to get - * the next page of results. - */ - pageToken?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * Opt-in for partial success behavior which provides partial results in case - * of failure. The default value is false. - * - * For example, when partial success behavior is enabled, aggregatedList for a - * single zone scope either returns all resources in the zone or no resources, - * with an error code. - */ - returnPartialSuccess?: boolean; - /** - * The Shared VPC service project id or service project number for which - * aggregated list request is invoked for subnetworks list-usable api. - */ - serviceProjectNumber?: string; - } - export interface Params$Resource$Networkattachments$Delete extends StandardParameters { - /** - * Name of the NetworkAttachment resource to delete. - */ - networkAttachment?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * Name of the region of this request. - */ - region?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating 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 - */ - requestId?: string; - } - export interface Params$Resource$Networkattachments$Get extends StandardParameters { - /** - * Name of the NetworkAttachment resource to return. - */ - networkAttachment?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * Name of the region of this request. - */ - region?: string; - } - export interface Params$Resource$Networkattachments$Getiampolicy extends StandardParameters { - /** - * Requested IAM Policy version. - */ - optionsRequestedPolicyVersion?: number; - /** - * Project ID for this request. - */ - project?: string; - /** - * The name of the region for this request. - */ - region?: string; - /** - * Name or id of the resource for this request. - */ - resource?: string; - } - export interface Params$Resource$Networkattachments$Insert extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * Name of the region of this request. - */ - region?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating 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 - */ - requestId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$NetworkAttachment; - } - export interface Params$Resource$Networkattachments$List extends StandardParameters { - /** - * A filter expression that filters resources listed in the response. Most - * Compute resources support two types of filter expressions: - * expressions that support regular expressions and expressions that follow - * API improvement proposal AIP-160. - * These two types of filter expressions cannot be mixed in one request. - * - * If you want to use AIP-160, your expression must specify the field name, an - * operator, and the value that you want to use for filtering. The value - * must be a string, a number, or a boolean. The operator - * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * - * For example, if you are filtering Compute Engine instances, you can - * exclude instances named `example-instance` by specifying - * `name != example-instance`. - * - * The `:*` comparison can be used to test whether a key has been defined. - * For example, to find all objects with `owner` label use: - * ``` - * labels.owner:* - * ``` - * - * You can also filter nested fields. For example, you could specify - * `scheduling.automaticRestart = false` to include instances only - * if they are not scheduled for automatic restarts. You can use filtering - * on nested fields to filter based onresource labels. - * - * To filter on multiple expressions, provide each separate expression within - * parentheses. For example: - * ``` - * (scheduling.automaticRestart = true) - * (cpuPlatform = "Intel Skylake") - * ``` - * By default, each expression is an `AND` expression. However, you - * can include `AND` and `OR` expressions explicitly. - * For example: - * ``` - * (cpuPlatform = "Intel Skylake") OR - * (cpuPlatform = "Intel Broadwell") AND - * (scheduling.automaticRestart = true) - * ``` - * - * If you want to use a regular expression, use the `eq` (equal) or `ne` - * (not equal) operator against a single un-parenthesized expression with or - * without quotes or against multiple parenthesized expressions. Examples: - * - * `fieldname eq unquoted literal` - * `fieldname eq 'single quoted literal'` - * `fieldname eq "double quoted literal"` - * `(fieldname1 eq literal) (fieldname2 ne "literal")` - * - * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * The literal value must match the entire field. - * - * For example, to filter for instances that do not end with name "instance", - * you would use `name ne .*instance`. - * - * You cannot combine constraints on multiple fields using regular - * expressions. - */ - filter?: string; - /** - * The maximum number of results per page that should be returned. - * If the number of available results is larger than `maxResults`, - * Compute Engine returns a `nextPageToken` that can be used to get - * the next page of results in subsequent list requests. Acceptable values are - * `0` to `500`, inclusive. (Default: `500`) - */ - maxResults?: number; - /** - * Sorts list results by a certain order. By default, results - * are returned in alphanumerical order based on the resource name. - * - * You can also sort results in descending order based on the creation - * timestamp using `orderBy="creationTimestamp desc"`. This sorts - * results based on the `creationTimestamp` field in - * reverse chronological order (newest result first). Use this to sort - * resources like operations so that the newest operation is returned first. - * - * Currently, only sorting by `name` or - * `creationTimestamp desc` is supported. - */ - orderBy?: string; - /** - * Specifies a page token to use. Set `pageToken` to the - * `nextPageToken` returned by a previous list request to get - * the next page of results. - */ - pageToken?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * Name of the region of this request. - */ - region?: string; - /** - * Opt-in for partial success behavior which provides partial results in case - * of failure. The default value is false. - * - * For example, when partial success behavior is enabled, aggregatedList for a - * single zone scope either returns all resources in the zone or no resources, - * with an error code. - */ - returnPartialSuccess?: boolean; - } - export interface Params$Resource$Networkattachments$Patch extends StandardParameters { - /** - * Name of the NetworkAttachment resource to patch. - */ - networkAttachment?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * Name of the region for this request. - */ - region?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. + * throw e; + * }); * - * 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 - */ - requestId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$NetworkAttachment; - } - export interface Params$Resource$Networkattachments$Setiampolicy extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * The name of the region for this request. - */ - region?: string; - /** - * Name or id of the resource for this request. + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. */ - resource?: string; + get( + params: Params$Resource$Networkfirewallpolicies$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Networkfirewallpolicies$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Networkfirewallpolicies$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Networkfirewallpolicies$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Networkfirewallpolicies$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Networkfirewallpolicies$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Networkfirewallpolicies$Get; + let options = (optionsOrCallback || {}) as MethodOptions; - /** - * Request body metadata - */ - requestBody?: Schema$RegionSetPolicyRequest; - } - export interface Params$Resource$Networkattachments$Testiampermissions extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * The name of the region for this request. - */ - region?: string; - /** - * Name or id of the resource for this request. - */ - resource?: string; + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Networkfirewallpolicies$Get; + options = {}; + } - /** - * Request body metadata - */ - requestBody?: Schema$TestPermissionsRequest; - } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } - export class Resource$Networkedgesecurityservices { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/global/firewallPolicies/{firewallPolicy}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'firewallPolicy'], + pathParams: ['firewallPolicy', 'project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } } /** - * 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`. + * Gets an association with the specified name. * @example * ```js * // Before running the sample: @@ -145423,122 +152394,25 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.networkEdgeSecurityServices.aggregatedList({ - * // A filter expression that filters resources listed in the response. Most - * // Compute resources support two types of filter expressions: - * // expressions that support regular expressions and expressions that follow - * // API improvement proposal AIP-160. - * // These two types of filter expressions cannot be mixed in one request. - * // - * // If you want to use AIP-160, your expression must specify the field name, an - * // operator, and the value that you want to use for filtering. The value - * // must be a string, a number, or a boolean. The operator - * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * // - * // For example, if you are filtering Compute Engine instances, you can - * // exclude instances named `example-instance` by specifying - * // `name != example-instance`. - * // - * // The `:*` comparison can be used to test whether a key has been defined. - * // For example, to find all objects with `owner` label use: - * // ``` - * // labels.owner:* - * // ``` - * // - * // You can also filter nested fields. For example, you could specify - * // `scheduling.automaticRestart = false` to include instances only - * // if they are not scheduled for automatic restarts. You can use filtering - * // on nested fields to filter based onresource labels. - * // - * // To filter on multiple expressions, provide each separate expression within - * // parentheses. For example: - * // ``` - * // (scheduling.automaticRestart = true) - * // (cpuPlatform = "Intel Skylake") - * // ``` - * // By default, each expression is an `AND` expression. However, you - * // can include `AND` and `OR` expressions explicitly. - * // For example: - * // ``` - * // (cpuPlatform = "Intel Skylake") OR - * // (cpuPlatform = "Intel Broadwell") AND - * // (scheduling.automaticRestart = true) - * // ``` - * // - * // If you want to use a regular expression, use the `eq` (equal) or `ne` - * // (not equal) operator against a single un-parenthesized expression with or - * // without quotes or against multiple parenthesized expressions. Examples: - * // - * // `fieldname eq unquoted literal` - * // `fieldname eq 'single quoted literal'` - * // `fieldname eq "double quoted literal"` - * // `(fieldname1 eq literal) (fieldname2 ne "literal")` - * // - * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * // The literal value must match the entire field. - * // - * // For example, to filter for instances that do not end with name "instance", - * // you would use `name ne .*instance`. - * // - * // You cannot combine constraints on multiple fields using regular - * // expressions. - * filter: 'placeholder-value', - * // 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. - * includeAllScopes: 'placeholder-value', - * // The maximum number of results per page that should be returned. - * // If the number of available results is larger than `maxResults`, - * // Compute Engine returns a `nextPageToken` that can be used to get - * // the next page of results in subsequent list requests. Acceptable values are - * // `0` to `500`, inclusive. (Default: `500`) - * maxResults: 'placeholder-value', - * // Sorts list results by a certain order. By default, results - * // are returned in alphanumerical order based on the resource name. - * // - * // You can also sort results in descending order based on the creation - * // timestamp using `orderBy="creationTimestamp desc"`. This sorts - * // results based on the `creationTimestamp` field in - * // reverse chronological order (newest result first). Use this to sort - * // resources like operations so that the newest operation is returned first. - * // - * // Currently, only sorting by `name` or - * // `creationTimestamp desc` is supported. - * orderBy: 'placeholder-value', - * // Specifies a page token to use. Set `pageToken` to the - * // `nextPageToken` returned by a previous list request to get - * // the next page of results. - * pageToken: 'placeholder-value', - * // Name of the project scoping this request. + * const res = await compute.networkFirewallPolicies.getAssociation({ + * // Name of the firewall policy to which the queried association belongs. + * firewallPolicy: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // The name of the association to get from the firewall policy. + * name: 'placeholder-value', + * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Opt-in for partial success behavior which provides partial results in case - * // of failure. The default value is false. - * // - * // For example, when partial success behavior is enabled, aggregatedList for a - * // single zone scope either returns all resources in the zone or no resources, - * // with an error code. - * returnPartialSuccess: 'placeholder-value', - * // The Shared VPC service project id or service project number for which - * // aggregated list request is invoked for subnetworks list-usable api. - * serviceProjectNumber: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { - * // "etag": "my_etag", - * // "id": "my_id", - * // "items": {}, - * // "kind": "my_kind", - * // "nextPageToken": "my_nextPageToken", - * // "selfLink": "my_selfLink", - * // "unreachables": [], - * // "warning": {} + * // "attachmentTarget": "my_attachmentTarget", + * // "displayName": "my_displayName", + * // "firewallPolicyId": "my_firewallPolicyId", + * // "name": "my_name", + * // "priority": 0, + * // "shortName": "my_shortName" * // } * } * @@ -145554,62 +152428,57 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - aggregatedList( - params: Params$Resource$Networkedgesecurityservices$Aggregatedlist, + getAssociation( + params: Params$Resource$Networkfirewallpolicies$Getassociation, options: StreamMethodOptions ): Promise>; - aggregatedList( - params?: Params$Resource$Networkedgesecurityservices$Aggregatedlist, + getAssociation( + params?: Params$Resource$Networkfirewallpolicies$Getassociation, options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; - aggregatedList( - params: Params$Resource$Networkedgesecurityservices$Aggregatedlist, + ): Promise>; + getAssociation( + params: Params$Resource$Networkfirewallpolicies$Getassociation, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - aggregatedList( - params: Params$Resource$Networkedgesecurityservices$Aggregatedlist, + getAssociation( + params: Params$Resource$Networkfirewallpolicies$Getassociation, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - aggregatedList( - params: Params$Resource$Networkedgesecurityservices$Aggregatedlist, - callback: BodyResponseCallback + getAssociation( + params: Params$Resource$Networkfirewallpolicies$Getassociation, + callback: BodyResponseCallback ): void; - aggregatedList( - callback: BodyResponseCallback + getAssociation( + callback: BodyResponseCallback ): void; - aggregatedList( + getAssociation( paramsOrCallback?: - | Params$Resource$Networkedgesecurityservices$Aggregatedlist - | BodyResponseCallback + | Params$Resource$Networkfirewallpolicies$Getassociation + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise< - GaxiosResponseWithHTTP2 - > + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Networkedgesecurityservices$Aggregatedlist; + {}) as Params$Resource$Networkfirewallpolicies$Getassociation; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Networkedgesecurityservices$Aggregatedlist; + params = {} as Params$Resource$Networkfirewallpolicies$Getassociation; options = {}; } @@ -145624,7 +152493,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/aggregated/networkEdgeSecurityServices' + '/compute/alpha/projects/{project}/global/firewallPolicies/{firewallPolicy}/getAssociation' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -145632,24 +152501,23 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project'], - pathParams: ['project'], + requiredParams: ['project', 'firewallPolicy'], + pathParams: ['firewallPolicy', 'project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } /** - * Deletes the specified service. + * Gets the access control policy for a resource. May be empty if no such + * policy or resource exists. * @example * ```js * // Before running the sample: @@ -145673,6 +152541,7 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -145681,62 +152550,23 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.networkEdgeSecurityServices.delete({ - * // Name of the network edge security service to delete. - * networkEdgeSecurityService: - * '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.networkFirewallPolicies.getIamPolicy({ + * // Requested IAM Policy version. + * optionsRequestedPolicyVersion: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name of the region scoping this request. - * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. - * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', + * // Name or id of the resource for this request. + * resource: '[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * }); * console.log(res.data); * * // Example response * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, - * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, - * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" + * // "auditConfigs": [], + * // "bindings": [], + * // "etag": "my_etag", + * // "version": 0 * // } * } * @@ -145752,53 +152582,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - delete( - params: Params$Resource$Networkedgesecurityservices$Delete, + getIamPolicy( + params: Params$Resource$Networkfirewallpolicies$Getiampolicy, options: StreamMethodOptions ): Promise>; - delete( - params?: Params$Resource$Networkedgesecurityservices$Delete, + getIamPolicy( + params?: Params$Resource$Networkfirewallpolicies$Getiampolicy, options?: MethodOptions - ): Promise>; - delete( - params: Params$Resource$Networkedgesecurityservices$Delete, + ): Promise>; + getIamPolicy( + params: Params$Resource$Networkfirewallpolicies$Getiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Networkedgesecurityservices$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + getIamPolicy( + params: Params$Resource$Networkfirewallpolicies$Getiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Networkedgesecurityservices$Delete, - callback: BodyResponseCallback + getIamPolicy( + params: Params$Resource$Networkfirewallpolicies$Getiampolicy, + callback: BodyResponseCallback ): void; - delete(callback: BodyResponseCallback): void; - delete( + getIamPolicy(callback: BodyResponseCallback): void; + getIamPolicy( paramsOrCallback?: - | Params$Resource$Networkedgesecurityservices$Delete - | BodyResponseCallback + | Params$Resource$Networkfirewallpolicies$Getiampolicy + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Networkedgesecurityservices$Delete; + {}) as Params$Resource$Networkfirewallpolicies$Getiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Networkedgesecurityservices$Delete; + params = {} as Params$Resource$Networkfirewallpolicies$Getiampolicy; options = {}; } @@ -145813,30 +152643,30 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/regions/{region}/networkEdgeSecurityServices/{networkEdgeSecurityService}' + '/compute/alpha/projects/{project}/global/firewallPolicies/{resource}/getIamPolicy' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['project', 'region', 'networkEdgeSecurityService'], - pathParams: ['networkEdgeSecurityService', 'project', 'region'], + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Gets a specified NetworkEdgeSecurityService. + * Gets a packet mirroring rule of the specified priority. * @example * ```js * // Before running the sample: @@ -145869,30 +152699,36 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.networkEdgeSecurityServices.get({ - * // Name of the network edge security service to get. - * networkEdgeSecurityService: - * '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.networkFirewallPolicies.getPacketMirroringRule({ + * // Name of the firewall policy to which the queried rule belongs. + * firewallPolicy: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // The priority of the rule to get from the firewall policy. + * priority: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name of the region scoping this request. - * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * }); * console.log(res.data); * * // Example response * // { - * // "creationTimestamp": "my_creationTimestamp", + * // "action": "my_action", * // "description": "my_description", - * // "fingerprint": "my_fingerprint", - * // "id": "my_id", + * // "direction": "my_direction", + * // "disabled": false, + * // "enableLogging": false, * // "kind": "my_kind", - * // "name": "my_name", - * // "region": "my_region", - * // "securityPolicy": "my_securityPolicy", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId" + * // "match": {}, + * // "priority": 0, + * // "ruleName": "my_ruleName", + * // "ruleTupleCount": 0, + * // "securityProfileGroup": "my_securityProfileGroup", + * // "targetForwardingRules": [], + * // "targetResources": [], + * // "targetSecureTags": [], + * // "targetServiceAccounts": [], + * // "targetType": "my_targetType", + * // "tlsInspect": false * // } * } * @@ -145908,57 +152744,56 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - get( - params: Params$Resource$Networkedgesecurityservices$Get, + getPacketMirroringRule( + params: Params$Resource$Networkfirewallpolicies$Getpacketmirroringrule, options: StreamMethodOptions ): Promise>; - get( - params?: Params$Resource$Networkedgesecurityservices$Get, + getPacketMirroringRule( + params?: Params$Resource$Networkfirewallpolicies$Getpacketmirroringrule, options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Networkedgesecurityservices$Get, + ): Promise>; + getPacketMirroringRule( + params: Params$Resource$Networkfirewallpolicies$Getpacketmirroringrule, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Networkedgesecurityservices$Get, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + getPacketMirroringRule( + params: Params$Resource$Networkfirewallpolicies$Getpacketmirroringrule, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Networkedgesecurityservices$Get, - callback: BodyResponseCallback + getPacketMirroringRule( + params: Params$Resource$Networkfirewallpolicies$Getpacketmirroringrule, + callback: BodyResponseCallback ): void; - get( - callback: BodyResponseCallback + getPacketMirroringRule( + callback: BodyResponseCallback ): void; - get( + getPacketMirroringRule( paramsOrCallback?: - | Params$Resource$Networkedgesecurityservices$Get - | BodyResponseCallback + | Params$Resource$Networkfirewallpolicies$Getpacketmirroringrule + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Networkedgesecurityservices$Get; + {}) as Params$Resource$Networkfirewallpolicies$Getpacketmirroringrule; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Networkedgesecurityservices$Get; + params = + {} as Params$Resource$Networkfirewallpolicies$Getpacketmirroringrule; options = {}; } @@ -145973,7 +152808,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/regions/{region}/networkEdgeSecurityServices/{networkEdgeSecurityService}' + '/compute/alpha/projects/{project}/global/firewallPolicies/{firewallPolicy}/getPacketMirroringRule' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -145981,23 +152816,22 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'region', 'networkEdgeSecurityService'], - pathParams: ['networkEdgeSecurityService', 'project', 'region'], + requiredParams: ['project', 'firewallPolicy'], + pathParams: ['firewallPolicy', 'project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Creates a new service in the specified project using the data included in - * the request. + * Gets a rule of the specified priority. * @example * ```js * // Before running the sample: @@ -146021,6 +152855,7 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -146029,78 +152864,36 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.networkEdgeSecurityServices.insert({ + * const res = await compute.networkFirewallPolicies.getRule({ + * // Name of the firewall policy to which the queried rule belongs. + * firewallPolicy: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // The priority of the rule to get from the firewall policy. + * priority: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name of the region scoping this request. - * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. - * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * // If true, the request will not be committed. - * validateOnly: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "fingerprint": "my_fingerprint", - * // "id": "my_id", - * // "kind": "my_kind", - * // "name": "my_name", - * // "region": "my_region", - * // "securityPolicy": "my_securityPolicy", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId" - * // } - * }, * }); * console.log(res.data); * * // Example response * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", + * // "action": "my_action", * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, - * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, + * // "direction": "my_direction", + * // "disabled": false, + * // "enableLogging": false, * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" + * // "match": {}, + * // "priority": 0, + * // "ruleName": "my_ruleName", + * // "ruleTupleCount": 0, + * // "securityProfileGroup": "my_securityProfileGroup", + * // "targetForwardingRules": [], + * // "targetResources": [], + * // "targetSecureTags": [], + * // "targetServiceAccounts": [], + * // "targetType": "my_targetType", + * // "tlsInspect": false * // } * } * @@ -146116,53 +152909,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - insert( - params: Params$Resource$Networkedgesecurityservices$Insert, + getRule( + params: Params$Resource$Networkfirewallpolicies$Getrule, options: StreamMethodOptions ): Promise>; - insert( - params?: Params$Resource$Networkedgesecurityservices$Insert, + getRule( + params?: Params$Resource$Networkfirewallpolicies$Getrule, options?: MethodOptions - ): Promise>; - insert( - params: Params$Resource$Networkedgesecurityservices$Insert, + ): Promise>; + getRule( + params: Params$Resource$Networkfirewallpolicies$Getrule, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - insert( - params: Params$Resource$Networkedgesecurityservices$Insert, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + getRule( + params: Params$Resource$Networkfirewallpolicies$Getrule, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - insert( - params: Params$Resource$Networkedgesecurityservices$Insert, - callback: BodyResponseCallback + getRule( + params: Params$Resource$Networkfirewallpolicies$Getrule, + callback: BodyResponseCallback ): void; - insert(callback: BodyResponseCallback): void; - insert( + getRule(callback: BodyResponseCallback): void; + getRule( paramsOrCallback?: - | Params$Resource$Networkedgesecurityservices$Insert - | BodyResponseCallback + | Params$Resource$Networkfirewallpolicies$Getrule + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Networkedgesecurityservices$Insert; + {}) as Params$Resource$Networkfirewallpolicies$Getrule; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Networkedgesecurityservices$Insert; + params = {} as Params$Resource$Networkfirewallpolicies$Getrule; options = {}; } @@ -146177,30 +152970,31 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/regions/{region}/networkEdgeSecurityServices' + '/compute/alpha/projects/{project}/global/firewallPolicies/{firewallPolicy}/getRule' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['project', 'region'], - pathParams: ['project', 'region'], + requiredParams: ['project', 'firewallPolicy'], + pathParams: ['firewallPolicy', 'project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Patches the specified policy with the data included in the request. + * Creates a new policy in the specified project using the data included in + * the request. * @example * ```js * // Before running the sample: @@ -146232,17 +153026,10 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.networkEdgeSecurityServices.patch({ - * // Name of the network edge security service to update. - * networkEdgeSecurityService: - * '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * - * paths: 'placeholder-value', + * const res = await compute.networkFirewallPolicies.insert({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name of the region scoping this request. - * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * // An optional request ID to identify requests. Specify a unique request ID so * // that if you must retry your request, the server will know to ignore the * // request if it has already been completed. @@ -146257,23 +153044,31 @@ export namespace compute_alpha { * // a valid UUID with the exception that zero UUID is not supported * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', - * // Indicates fields to be updated as part of this request. - * updateMask: 'placeholder-value', * * // Request body metadata * requestBody: { * // request body parameters * // { + * // "associations": [], * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", + * // "displayName": "my_displayName", * // "fingerprint": "my_fingerprint", * // "id": "my_id", * // "kind": "my_kind", * // "name": "my_name", + * // "packetMirroringRules": [], + * // "parent": "my_parent", + * // "policySource": "my_policySource", + * // "policyType": "my_policyType", * // "region": "my_region", - * // "securityPolicy": "my_securityPolicy", + * // "rolloutOperation": {}, + * // "ruleTupleCount": 0, + * // "rules": [], * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId" + * // "selfLinkWithId": "my_selfLinkWithId", + * // "shortName": "my_shortName", + * // "vpcNetworkScope": "my_vpcNetworkScope" * // } * }, * }); @@ -146324,32 +153119,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - patch( - params: Params$Resource$Networkedgesecurityservices$Patch, + insert( + params: Params$Resource$Networkfirewallpolicies$Insert, options: StreamMethodOptions ): Promise>; - patch( - params?: Params$Resource$Networkedgesecurityservices$Patch, + insert( + params?: Params$Resource$Networkfirewallpolicies$Insert, options?: MethodOptions ): Promise>; - patch( - params: Params$Resource$Networkedgesecurityservices$Patch, + insert( + params: Params$Resource$Networkfirewallpolicies$Insert, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Networkedgesecurityservices$Patch, + insert( + params: Params$Resource$Networkfirewallpolicies$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Networkedgesecurityservices$Patch, + insert( + params: Params$Resource$Networkfirewallpolicies$Insert, callback: BodyResponseCallback ): void; - patch(callback: BodyResponseCallback): void; - patch( + insert(callback: BodyResponseCallback): void; + insert( paramsOrCallback?: - | Params$Resource$Networkedgesecurityservices$Patch + | Params$Resource$Networkfirewallpolicies$Insert | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -146365,12 +153160,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Networkedgesecurityservices$Patch; + {}) as Params$Resource$Networkfirewallpolicies$Insert; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Networkedgesecurityservices$Patch; + params = {} as Params$Resource$Networkfirewallpolicies$Insert; options = {}; } @@ -146385,16 +153180,16 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/regions/{region}/networkEdgeSecurityServices/{networkEdgeSecurityService}' + '/compute/alpha/projects/{project}/global/firewallPolicies' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project', 'region', 'networkEdgeSecurityService'], - pathParams: ['networkEdgeSecurityService', 'project', 'region'], + requiredParams: ['project'], + pathParams: ['project'], context: this.context, }; if (callback) { @@ -146406,261 +153201,9 @@ export namespace compute_alpha { return createAPIRequest(parameters); } } - } - - export interface Params$Resource$Networkedgesecurityservices$Aggregatedlist extends StandardParameters { - /** - * A filter expression that filters resources listed in the response. Most - * Compute resources support two types of filter expressions: - * expressions that support regular expressions and expressions that follow - * API improvement proposal AIP-160. - * These two types of filter expressions cannot be mixed in one request. - * - * If you want to use AIP-160, your expression must specify the field name, an - * operator, and the value that you want to use for filtering. The value - * must be a string, a number, or a boolean. The operator - * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * - * For example, if you are filtering Compute Engine instances, you can - * exclude instances named `example-instance` by specifying - * `name != example-instance`. - * - * The `:*` comparison can be used to test whether a key has been defined. - * For example, to find all objects with `owner` label use: - * ``` - * labels.owner:* - * ``` - * - * You can also filter nested fields. For example, you could specify - * `scheduling.automaticRestart = false` to include instances only - * if they are not scheduled for automatic restarts. You can use filtering - * on nested fields to filter based onresource labels. - * - * To filter on multiple expressions, provide each separate expression within - * parentheses. For example: - * ``` - * (scheduling.automaticRestart = true) - * (cpuPlatform = "Intel Skylake") - * ``` - * By default, each expression is an `AND` expression. However, you - * can include `AND` and `OR` expressions explicitly. - * For example: - * ``` - * (cpuPlatform = "Intel Skylake") OR - * (cpuPlatform = "Intel Broadwell") AND - * (scheduling.automaticRestart = true) - * ``` - * - * If you want to use a regular expression, use the `eq` (equal) or `ne` - * (not equal) operator against a single un-parenthesized expression with or - * without quotes or against multiple parenthesized expressions. Examples: - * - * `fieldname eq unquoted literal` - * `fieldname eq 'single quoted literal'` - * `fieldname eq "double quoted literal"` - * `(fieldname1 eq literal) (fieldname2 ne "literal")` - * - * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * The literal value must match the entire field. - * - * For example, to filter for instances that do not end with name "instance", - * you would use `name ne .*instance`. - * - * You cannot combine constraints on multiple fields using regular - * expressions. - */ - filter?: string; - /** - * 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. - */ - includeAllScopes?: boolean; - /** - * The maximum number of results per page that should be returned. - * If the number of available results is larger than `maxResults`, - * Compute Engine returns a `nextPageToken` that can be used to get - * the next page of results in subsequent list requests. Acceptable values are - * `0` to `500`, inclusive. (Default: `500`) - */ - maxResults?: number; - /** - * Sorts list results by a certain order. By default, results - * are returned in alphanumerical order based on the resource name. - * - * You can also sort results in descending order based on the creation - * timestamp using `orderBy="creationTimestamp desc"`. This sorts - * results based on the `creationTimestamp` field in - * reverse chronological order (newest result first). Use this to sort - * resources like operations so that the newest operation is returned first. - * - * Currently, only sorting by `name` or - * `creationTimestamp desc` is supported. - */ - orderBy?: string; - /** - * Specifies a page token to use. Set `pageToken` to the - * `nextPageToken` returned by a previous list request to get - * the next page of results. - */ - pageToken?: string; - /** - * Name of the project scoping this request. - */ - project?: string; - /** - * Opt-in for partial success behavior which provides partial results in case - * of failure. The default value is false. - * - * For example, when partial success behavior is enabled, aggregatedList for a - * single zone scope either returns all resources in the zone or no resources, - * with an error code. - */ - returnPartialSuccess?: boolean; - /** - * The Shared VPC service project id or service project number for which - * aggregated list request is invoked for subnetworks list-usable api. - */ - serviceProjectNumber?: string; - } - export interface Params$Resource$Networkedgesecurityservices$Delete extends StandardParameters { - /** - * Name of the network edge security service to delete. - */ - networkEdgeSecurityService?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * Name of the region scoping this request. - */ - region?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - } - export interface Params$Resource$Networkedgesecurityservices$Get extends StandardParameters { - /** - * Name of the network edge security service to get. - */ - networkEdgeSecurityService?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * Name of the region scoping this request. - */ - region?: string; - } - export interface Params$Resource$Networkedgesecurityservices$Insert extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * Name of the region scoping this request. - */ - region?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * If true, the request will not be committed. - */ - validateOnly?: boolean; - - /** - * Request body metadata - */ - requestBody?: Schema$NetworkEdgeSecurityService; - } - export interface Params$Resource$Networkedgesecurityservices$Patch extends StandardParameters { - /** - * Name of the network edge security service to update. - */ - networkEdgeSecurityService?: string; - /** - * - */ - paths?: string[]; - /** - * Project ID for this request. - */ - project?: string; - /** - * Name of the region scoping this request. - */ - region?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * Indicates fields to be updated as part of this request. - */ - updateMask?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$NetworkEdgeSecurityService; - } - - export class Resource$Networkendpointgroups { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } /** - * 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`. + * Lists all the policies that have been configured for the specified project. * @example * ```js * // Before running the sample: @@ -146693,7 +153236,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.networkEndpointGroups.aggregatedList({ + * const res = await compute.networkFirewallPolicies.list({ * // A filter expression that filters resources listed in the response. Most * // Compute resources support two types of filter expressions: * // expressions that support regular expressions and expressions that follow @@ -146748,19 +153291,11 @@ export namespace compute_alpha { * // The literal value must match the entire field. * // * // For example, to filter for instances that do not end with name "instance", - * // you would use `name ne .*instance`. - * // - * // You cannot combine constraints on multiple fields using regular - * // expressions. - * filter: 'placeholder-value', - * // 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. - * includeAllScopes: 'placeholder-value', + * // you would use `name ne .*instance`. + * // + * // You cannot combine constraints on multiple fields using regular + * // expressions. + * filter: 'placeholder-value', * // The maximum number of results per page that should be returned. * // If the number of available results is larger than `maxResults`, * // Compute Engine returns a `nextPageToken` that can be used to get @@ -146793,20 +153328,15 @@ export namespace compute_alpha { * // single zone scope either returns all resources in the zone or no resources, * // with an error code. * returnPartialSuccess: 'placeholder-value', - * // The Shared VPC service project id or service project number for which - * // aggregated list request is invoked for subnetworks list-usable api. - * serviceProjectNumber: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { * // "id": "my_id", - * // "items": {}, + * // "items": [], * // "kind": "my_kind", * // "nextPageToken": "my_nextPageToken", - * // "selfLink": "my_selfLink", - * // "unreachables": [], * // "warning": {} * // } * } @@ -146823,61 +153353,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - aggregatedList( - params: Params$Resource$Networkendpointgroups$Aggregatedlist, + list( + params: Params$Resource$Networkfirewallpolicies$List, options: StreamMethodOptions ): Promise>; - aggregatedList( - params?: Params$Resource$Networkendpointgroups$Aggregatedlist, + list( + params?: Params$Resource$Networkfirewallpolicies$List, options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; - aggregatedList( - params: Params$Resource$Networkendpointgroups$Aggregatedlist, + ): Promise>; + list( + params: Params$Resource$Networkfirewallpolicies$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - aggregatedList( - params: Params$Resource$Networkendpointgroups$Aggregatedlist, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - aggregatedList( - params: Params$Resource$Networkendpointgroups$Aggregatedlist, - callback: BodyResponseCallback + list( + params: Params$Resource$Networkfirewallpolicies$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - aggregatedList( - callback: BodyResponseCallback + list( + params: Params$Resource$Networkfirewallpolicies$List, + callback: BodyResponseCallback ): void; - aggregatedList( + list(callback: BodyResponseCallback): void; + list( paramsOrCallback?: - | Params$Resource$Networkendpointgroups$Aggregatedlist - | BodyResponseCallback + | Params$Resource$Networkfirewallpolicies$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise< - GaxiosResponseWithHTTP2 - > + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Networkendpointgroups$Aggregatedlist; + {}) as Params$Resource$Networkfirewallpolicies$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Networkendpointgroups$Aggregatedlist; + params = {} as Params$Resource$Networkfirewallpolicies$List; options = {}; } @@ -146892,7 +153414,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/aggregated/networkEndpointGroups' + '/compute/alpha/projects/{project}/global/firewallPolicies' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -146905,19 +153427,17 @@ export namespace compute_alpha { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } /** - * Attach a list of network endpoints to the specified network endpoint group. + * Patches the specified policy with the data included in the request. * @example * ```js * // Before running the sample: @@ -146949,10 +153469,9 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.networkEndpointGroups.attachNetworkEndpoints({ - * // The name of the network endpoint group where you are attaching network - * // endpoints to. It should comply with RFC1035. - * networkEndpointGroup: 'placeholder-value', + * const res = await compute.networkFirewallPolicies.patch({ + * // Name of the firewall policy to update. + * firewallPolicy: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -146970,15 +153489,31 @@ export namespace compute_alpha { * // a valid UUID with the exception that zero UUID is not supported * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', - * // The name of the zone where - * // the network endpoint group is located. It should comply with RFC1035. - * zone: 'placeholder-value', * * // Request body metadata * requestBody: { * // request body parameters * // { - * // "networkEndpoints": [] + * // "associations": [], + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "fingerprint": "my_fingerprint", + * // "id": "my_id", + * // "kind": "my_kind", + * // "name": "my_name", + * // "packetMirroringRules": [], + * // "parent": "my_parent", + * // "policySource": "my_policySource", + * // "policyType": "my_policyType", + * // "region": "my_region", + * // "rolloutOperation": {}, + * // "ruleTupleCount": 0, + * // "rules": [], + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "shortName": "my_shortName", + * // "vpcNetworkScope": "my_vpcNetworkScope" * // } * }, * }); @@ -147029,34 +153564,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - attachNetworkEndpoints( - params: Params$Resource$Networkendpointgroups$Attachnetworkendpoints, + patch( + params: Params$Resource$Networkfirewallpolicies$Patch, options: StreamMethodOptions ): Promise>; - attachNetworkEndpoints( - params?: Params$Resource$Networkendpointgroups$Attachnetworkendpoints, + patch( + params?: Params$Resource$Networkfirewallpolicies$Patch, options?: MethodOptions ): Promise>; - attachNetworkEndpoints( - params: Params$Resource$Networkendpointgroups$Attachnetworkendpoints, + patch( + params: Params$Resource$Networkfirewallpolicies$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - attachNetworkEndpoints( - params: Params$Resource$Networkendpointgroups$Attachnetworkendpoints, + patch( + params: Params$Resource$Networkfirewallpolicies$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - attachNetworkEndpoints( - params: Params$Resource$Networkendpointgroups$Attachnetworkendpoints, - callback: BodyResponseCallback - ): void; - attachNetworkEndpoints( + patch( + params: Params$Resource$Networkfirewallpolicies$Patch, callback: BodyResponseCallback ): void; - attachNetworkEndpoints( + patch(callback: BodyResponseCallback): void; + patch( paramsOrCallback?: - | Params$Resource$Networkendpointgroups$Attachnetworkendpoints + | Params$Resource$Networkfirewallpolicies$Patch | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -147072,13 +153605,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Networkendpointgroups$Attachnetworkendpoints; + {}) as Params$Resource$Networkfirewallpolicies$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Networkendpointgroups$Attachnetworkendpoints; + params = {} as Params$Resource$Networkfirewallpolicies$Patch; options = {}; } @@ -147093,16 +153625,16 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/attachNetworkEndpoints' + '/compute/alpha/projects/{project}/global/firewallPolicies/{firewallPolicy}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'PATCH', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone', 'networkEndpointGroup'], - pathParams: ['networkEndpointGroup', 'project', 'zone'], + requiredParams: ['project', 'firewallPolicy'], + pathParams: ['firewallPolicy', 'project'], context: this.context, }; if (callback) { @@ -147116,10 +153648,7 @@ export namespace compute_alpha { } /** - * 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. + * Updates an association for the specified network firewall policy. * @example * ```js * // Before running the sample: @@ -147151,10 +153680,9 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.networkEndpointGroups.delete({ - * // The name of the network endpoint group to delete. It should comply with - * // RFC1035. - * networkEndpointGroup: 'placeholder-value', + * const res = await compute.networkFirewallPolicies.patchAssociation({ + * // Name of the firewall policy to update. + * firewallPolicy: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -147172,9 +153700,19 @@ export namespace compute_alpha { * // a valid UUID with the exception that zero UUID is not supported * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', - * // The name of the zone where - * // the network endpoint group is located. It should comply with RFC1035. - * zone: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "attachmentTarget": "my_attachmentTarget", + * // "displayName": "my_displayName", + * // "firewallPolicyId": "my_firewallPolicyId", + * // "name": "my_name", + * // "priority": 0, + * // "shortName": "my_shortName" + * // } + * }, * }); * console.log(res.data); * @@ -147223,32 +153761,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - delete( - params: Params$Resource$Networkendpointgroups$Delete, + patchAssociation( + params: Params$Resource$Networkfirewallpolicies$Patchassociation, options: StreamMethodOptions ): Promise>; - delete( - params?: Params$Resource$Networkendpointgroups$Delete, + patchAssociation( + params?: Params$Resource$Networkfirewallpolicies$Patchassociation, options?: MethodOptions ): Promise>; - delete( - params: Params$Resource$Networkendpointgroups$Delete, + patchAssociation( + params: Params$Resource$Networkfirewallpolicies$Patchassociation, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Networkendpointgroups$Delete, + patchAssociation( + params: Params$Resource$Networkfirewallpolicies$Patchassociation, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Networkendpointgroups$Delete, + patchAssociation( + params: Params$Resource$Networkfirewallpolicies$Patchassociation, callback: BodyResponseCallback ): void; - delete(callback: BodyResponseCallback): void; - delete( + patchAssociation(callback: BodyResponseCallback): void; + patchAssociation( paramsOrCallback?: - | Params$Resource$Networkendpointgroups$Delete + | Params$Resource$Networkfirewallpolicies$Patchassociation | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -147264,12 +153802,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Networkendpointgroups$Delete; + {}) as Params$Resource$Networkfirewallpolicies$Patchassociation; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Networkendpointgroups$Delete; + params = {} as Params$Resource$Networkfirewallpolicies$Patchassociation; options = {}; } @@ -147284,16 +153822,16 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}' + '/compute/alpha/projects/{project}/global/firewallPolicies/{firewallPolicy}/patchAssociation' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone', 'networkEndpointGroup'], - pathParams: ['networkEndpointGroup', 'project', 'zone'], + requiredParams: ['project', 'firewallPolicy'], + pathParams: ['firewallPolicy', 'project'], context: this.context, }; if (callback) { @@ -147307,8 +153845,7 @@ export namespace compute_alpha { } /** - * Detach a list of network endpoints from the specified network endpoint - * group. + * Patches a packet mirroring rule of the specified priority. * @example * ```js * // Before running the sample: @@ -147340,10 +153877,11 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.networkEndpointGroups.detachNetworkEndpoints({ - * // The name of the network endpoint group where you are removing network - * // endpoints. It should comply with RFC1035. - * networkEndpointGroup: 'placeholder-value', + * const res = await compute.networkFirewallPolicies.patchPacketMirroringRule({ + * // Name of the firewall policy to update. + * firewallPolicy: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // The priority of the rule to patch. + * priority: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -147361,15 +153899,28 @@ export namespace compute_alpha { * // a valid UUID with the exception that zero UUID is not supported * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', - * // The name of the zone where - * // the network endpoint group is located. It should comply with RFC1035. - * zone: 'placeholder-value', * * // Request body metadata * requestBody: { * // request body parameters * // { - * // "networkEndpoints": [] + * // "action": "my_action", + * // "description": "my_description", + * // "direction": "my_direction", + * // "disabled": false, + * // "enableLogging": false, + * // "kind": "my_kind", + * // "match": {}, + * // "priority": 0, + * // "ruleName": "my_ruleName", + * // "ruleTupleCount": 0, + * // "securityProfileGroup": "my_securityProfileGroup", + * // "targetForwardingRules": [], + * // "targetResources": [], + * // "targetSecureTags": [], + * // "targetServiceAccounts": [], + * // "targetType": "my_targetType", + * // "tlsInspect": false * // } * }, * }); @@ -147420,34 +153971,34 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - detachNetworkEndpoints( - params: Params$Resource$Networkendpointgroups$Detachnetworkendpoints, + patchPacketMirroringRule( + params: Params$Resource$Networkfirewallpolicies$Patchpacketmirroringrule, options: StreamMethodOptions ): Promise>; - detachNetworkEndpoints( - params?: Params$Resource$Networkendpointgroups$Detachnetworkendpoints, + patchPacketMirroringRule( + params?: Params$Resource$Networkfirewallpolicies$Patchpacketmirroringrule, options?: MethodOptions ): Promise>; - detachNetworkEndpoints( - params: Params$Resource$Networkendpointgroups$Detachnetworkendpoints, + patchPacketMirroringRule( + params: Params$Resource$Networkfirewallpolicies$Patchpacketmirroringrule, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - detachNetworkEndpoints( - params: Params$Resource$Networkendpointgroups$Detachnetworkendpoints, + patchPacketMirroringRule( + params: Params$Resource$Networkfirewallpolicies$Patchpacketmirroringrule, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - detachNetworkEndpoints( - params: Params$Resource$Networkendpointgroups$Detachnetworkendpoints, + patchPacketMirroringRule( + params: Params$Resource$Networkfirewallpolicies$Patchpacketmirroringrule, callback: BodyResponseCallback ): void; - detachNetworkEndpoints( + patchPacketMirroringRule( callback: BodyResponseCallback ): void; - detachNetworkEndpoints( + patchPacketMirroringRule( paramsOrCallback?: - | Params$Resource$Networkendpointgroups$Detachnetworkendpoints + | Params$Resource$Networkfirewallpolicies$Patchpacketmirroringrule | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -147463,13 +154014,13 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Networkendpointgroups$Detachnetworkendpoints; + {}) as Params$Resource$Networkfirewallpolicies$Patchpacketmirroringrule; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Networkendpointgroups$Detachnetworkendpoints; + {} as Params$Resource$Networkfirewallpolicies$Patchpacketmirroringrule; options = {}; } @@ -147484,7 +154035,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/detachNetworkEndpoints' + '/compute/alpha/projects/{project}/global/firewallPolicies/{firewallPolicy}/patchPacketMirroringRule' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -147492,8 +154043,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'zone', 'networkEndpointGroup'], - pathParams: ['networkEndpointGroup', 'project', 'zone'], + requiredParams: ['project', 'firewallPolicy'], + pathParams: ['firewallPolicy', 'project'], context: this.context, }; if (callback) { @@ -147507,7 +154058,7 @@ export namespace compute_alpha { } /** - * Returns the specified network endpoint group. + * Patches a rule of the specified priority. * @example * ```js * // Before running the sample: @@ -147531,7 +154082,6 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -147540,42 +154090,84 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.networkEndpointGroups.get({ - * // The name of the network endpoint group. It should comply with RFC1035. - * networkEndpointGroup: 'placeholder-value', + * const res = await compute.networkFirewallPolicies.patchRule({ + * // Name of the firewall policy to update. + * firewallPolicy: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // The priority of the rule to patch. + * priority: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // The name of the zone where - * // the network endpoint group is located. It should comply with RFC1035. - * zone: 'placeholder-value', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "action": "my_action", + * // "description": "my_description", + * // "direction": "my_direction", + * // "disabled": false, + * // "enableLogging": false, + * // "kind": "my_kind", + * // "match": {}, + * // "priority": 0, + * // "ruleName": "my_ruleName", + * // "ruleTupleCount": 0, + * // "securityProfileGroup": "my_securityProfileGroup", + * // "targetForwardingRules": [], + * // "targetResources": [], + * // "targetSecureTags": [], + * // "targetServiceAccounts": [], + * // "targetType": "my_targetType", + * // "tlsInspect": false + * // } + * }, * }); * console.log(res.data); * * // Example response * // { - * // "annotations": {}, - * // "appEngine": {}, - * // "cloudFunction": {}, - * // "cloudRun": {}, + * // "clientOperationId": "my_clientOperationId", * // "creationTimestamp": "my_creationTimestamp", - * // "defaultPort": 0, * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, * // "kind": "my_kind", - * // "loadBalancer": {}, * // "name": "my_name", - * // "network": "my_network", - * // "networkEndpointType": "my_networkEndpointType", - * // "pscData": {}, - * // "pscTargetService": "my_pscTargetService", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, * // "region": "my_region", * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", - * // "serverlessDeployment": {}, - * // "size": 0, - * // "subnetwork": "my_subnetwork", - * // "type": "my_type", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], * // "zone": "my_zone" * // } * } @@ -147592,55 +154184,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - get( - params: Params$Resource$Networkendpointgroups$Get, + patchRule( + params: Params$Resource$Networkfirewallpolicies$Patchrule, options: StreamMethodOptions ): Promise>; - get( - params?: Params$Resource$Networkendpointgroups$Get, + patchRule( + params?: Params$Resource$Networkfirewallpolicies$Patchrule, options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Networkendpointgroups$Get, + ): Promise>; + patchRule( + params: Params$Resource$Networkfirewallpolicies$Patchrule, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Networkendpointgroups$Get, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + patchRule( + params: Params$Resource$Networkfirewallpolicies$Patchrule, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Networkendpointgroups$Get, - callback: BodyResponseCallback + patchRule( + params: Params$Resource$Networkfirewallpolicies$Patchrule, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; - get( + patchRule(callback: BodyResponseCallback): void; + patchRule( paramsOrCallback?: - | Params$Resource$Networkendpointgroups$Get - | BodyResponseCallback + | Params$Resource$Networkfirewallpolicies$Patchrule + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Networkendpointgroups$Get; + {}) as Params$Resource$Networkfirewallpolicies$Patchrule; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Networkendpointgroups$Get; + params = {} as Params$Resource$Networkfirewallpolicies$Patchrule; options = {}; } @@ -147655,45 +154245,30 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}' + '/compute/alpha/projects/{project}/global/firewallPolicies/{firewallPolicy}/patchRule' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone', 'networkEndpointGroup'], - pathParams: ['networkEndpointGroup', 'project', 'zone'], + requiredParams: ['project', 'firewallPolicy'], + pathParams: ['firewallPolicy', 'project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Creates a network endpoint group in the specified project using the - * parameters that are included in the request. - * - * Note: Use the following APIs to manage network endpoint groups: - * - * - - * To manage NEGs with zonal scope (such as zonal NEGs, hybrid connectivity - * NEGs): zonal - * API - * - - * To manage NEGs with regional scope (such as regional internet NEGs, - * serverless NEGs, Private Service Connect NEGs): regional - * API - * - - * To manage NEGs with global scope (such as global internet NEGs):global - * API + * Removes an association for the specified firewall policy. * @example * ```js * // Before running the sample: @@ -147725,7 +154300,11 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.networkEndpointGroups.insert({ + * const res = await compute.networkFirewallPolicies.removeAssociation({ + * // Name of the firewall policy to update. + * firewallPolicy: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // Name for the attachment that will be removed. + * name: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -147743,40 +154322,6 @@ export namespace compute_alpha { * // a valid UUID with the exception that zero UUID is not supported * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', - * // The name of the zone where - * // you want to create the network endpoint group. It should comply with - * // RFC1035. - * zone: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "annotations": {}, - * // "appEngine": {}, - * // "cloudFunction": {}, - * // "cloudRun": {}, - * // "creationTimestamp": "my_creationTimestamp", - * // "defaultPort": 0, - * // "description": "my_description", - * // "id": "my_id", - * // "kind": "my_kind", - * // "loadBalancer": {}, - * // "name": "my_name", - * // "network": "my_network", - * // "networkEndpointType": "my_networkEndpointType", - * // "pscData": {}, - * // "pscTargetService": "my_pscTargetService", - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "serverlessDeployment": {}, - * // "size": 0, - * // "subnetwork": "my_subnetwork", - * // "type": "my_type", - * // "zone": "my_zone" - * // } - * }, * }); * console.log(res.data); * @@ -147825,32 +154370,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - insert( - params: Params$Resource$Networkendpointgroups$Insert, + removeAssociation( + params: Params$Resource$Networkfirewallpolicies$Removeassociation, options: StreamMethodOptions ): Promise>; - insert( - params?: Params$Resource$Networkendpointgroups$Insert, + removeAssociation( + params?: Params$Resource$Networkfirewallpolicies$Removeassociation, options?: MethodOptions ): Promise>; - insert( - params: Params$Resource$Networkendpointgroups$Insert, + removeAssociation( + params: Params$Resource$Networkfirewallpolicies$Removeassociation, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - insert( - params: Params$Resource$Networkendpointgroups$Insert, + removeAssociation( + params: Params$Resource$Networkfirewallpolicies$Removeassociation, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - insert( - params: Params$Resource$Networkendpointgroups$Insert, + removeAssociation( + params: Params$Resource$Networkfirewallpolicies$Removeassociation, callback: BodyResponseCallback ): void; - insert(callback: BodyResponseCallback): void; - insert( + removeAssociation(callback: BodyResponseCallback): void; + removeAssociation( paramsOrCallback?: - | Params$Resource$Networkendpointgroups$Insert + | Params$Resource$Networkfirewallpolicies$Removeassociation | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -147866,12 +154411,13 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Networkendpointgroups$Insert; + {}) as Params$Resource$Networkfirewallpolicies$Removeassociation; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Networkendpointgroups$Insert; + params = + {} as Params$Resource$Networkfirewallpolicies$Removeassociation; options = {}; } @@ -147886,7 +154432,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/networkEndpointGroups' + '/compute/alpha/projects/{project}/global/firewallPolicies/{firewallPolicy}/removeAssociation' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -147894,8 +154440,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'zone'], - pathParams: ['project', 'zone'], + requiredParams: ['project', 'firewallPolicy'], + pathParams: ['firewallPolicy', 'project'], context: this.context, }; if (callback) { @@ -147909,8 +154455,7 @@ export namespace compute_alpha { } /** - * Retrieves the list of network endpoint groups that are located in the - * specified project and zone. + * Deletes a packet mirroring rule of the specified priority. * @example * ```js * // Before running the sample: @@ -147934,7 +154479,6 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -147943,112 +154487,61 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.networkEndpointGroups.list({ - * // A filter expression that filters resources listed in the response. Most - * // Compute resources support two types of filter expressions: - * // expressions that support regular expressions and expressions that follow - * // API improvement proposal AIP-160. - * // These two types of filter expressions cannot be mixed in one request. - * // - * // If you want to use AIP-160, your expression must specify the field name, an - * // operator, and the value that you want to use for filtering. The value - * // must be a string, a number, or a boolean. The operator - * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * // - * // For example, if you are filtering Compute Engine instances, you can - * // exclude instances named `example-instance` by specifying - * // `name != example-instance`. - * // - * // The `:*` comparison can be used to test whether a key has been defined. - * // For example, to find all objects with `owner` label use: - * // ``` - * // labels.owner:* - * // ``` - * // - * // You can also filter nested fields. For example, you could specify - * // `scheduling.automaticRestart = false` to include instances only - * // if they are not scheduled for automatic restarts. You can use filtering - * // on nested fields to filter based onresource labels. - * // - * // To filter on multiple expressions, provide each separate expression within - * // parentheses. For example: - * // ``` - * // (scheduling.automaticRestart = true) - * // (cpuPlatform = "Intel Skylake") - * // ``` - * // By default, each expression is an `AND` expression. However, you - * // can include `AND` and `OR` expressions explicitly. - * // For example: - * // ``` - * // (cpuPlatform = "Intel Skylake") OR - * // (cpuPlatform = "Intel Broadwell") AND - * // (scheduling.automaticRestart = true) - * // ``` - * // - * // If you want to use a regular expression, use the `eq` (equal) or `ne` - * // (not equal) operator against a single un-parenthesized expression with or - * // without quotes or against multiple parenthesized expressions. Examples: - * // - * // `fieldname eq unquoted literal` - * // `fieldname eq 'single quoted literal'` - * // `fieldname eq "double quoted literal"` - * // `(fieldname1 eq literal) (fieldname2 ne "literal")` - * // - * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * // The literal value must match the entire field. - * // - * // For example, to filter for instances that do not end with name "instance", - * // you would use `name ne .*instance`. - * // - * // You cannot combine constraints on multiple fields using regular - * // expressions. - * filter: 'placeholder-value', - * // The maximum number of results per page that should be returned. - * // If the number of available results is larger than `maxResults`, - * // Compute Engine returns a `nextPageToken` that can be used to get - * // the next page of results in subsequent list requests. Acceptable values are - * // `0` to `500`, inclusive. (Default: `500`) - * maxResults: 'placeholder-value', - * // Sorts list results by a certain order. By default, results - * // are returned in alphanumerical order based on the resource name. - * // - * // You can also sort results in descending order based on the creation - * // timestamp using `orderBy="creationTimestamp desc"`. This sorts - * // results based on the `creationTimestamp` field in - * // reverse chronological order (newest result first). Use this to sort - * // resources like operations so that the newest operation is returned first. - * // - * // Currently, only sorting by `name` or - * // `creationTimestamp desc` is supported. - * orderBy: 'placeholder-value', - * // Specifies a page token to use. Set `pageToken` to the - * // `nextPageToken` returned by a previous list request to get - * // the next page of results. - * pageToken: 'placeholder-value', + * const res = await compute.networkFirewallPolicies.removePacketMirroringRule({ + * // Name of the firewall policy to update. + * firewallPolicy: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // The priority of the rule to remove from the firewall policy. + * priority: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Opt-in for partial success behavior which provides partial results in case - * // of failure. The default value is false. + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. * // - * // For example, when partial success behavior is enabled, aggregatedList for a - * // single zone scope either returns all resources in the zone or no resources, - * // with an error code. - * returnPartialSuccess: 'placeholder-value', - * // The name of thezone - * // where the network endpoint group is located. It should comply with RFC1035. - * zone: 'placeholder-value', + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, * // "id": "my_id", - * // "items": [], + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, * // "kind": "my_kind", - * // "nextPageToken": "my_nextPageToken", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", * // "selfLink": "my_selfLink", - * // "warning": {} + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" * // } * } * @@ -148064,55 +154557,56 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - list( - params: Params$Resource$Networkendpointgroups$List, + removePacketMirroringRule( + params: Params$Resource$Networkfirewallpolicies$Removepacketmirroringrule, options: StreamMethodOptions ): Promise>; - list( - params?: Params$Resource$Networkendpointgroups$List, + removePacketMirroringRule( + params?: Params$Resource$Networkfirewallpolicies$Removepacketmirroringrule, options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Networkendpointgroups$List, + ): Promise>; + removePacketMirroringRule( + params: Params$Resource$Networkfirewallpolicies$Removepacketmirroringrule, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Networkendpointgroups$List, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + removePacketMirroringRule( + params: Params$Resource$Networkfirewallpolicies$Removepacketmirroringrule, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Networkendpointgroups$List, - callback: BodyResponseCallback + removePacketMirroringRule( + params: Params$Resource$Networkfirewallpolicies$Removepacketmirroringrule, + callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; - list( + removePacketMirroringRule( + callback: BodyResponseCallback + ): void; + removePacketMirroringRule( paramsOrCallback?: - | Params$Resource$Networkendpointgroups$List - | BodyResponseCallback + | Params$Resource$Networkfirewallpolicies$Removepacketmirroringrule + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Networkendpointgroups$List; + {}) as Params$Resource$Networkfirewallpolicies$Removepacketmirroringrule; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Networkendpointgroups$List; + params = + {} as Params$Resource$Networkfirewallpolicies$Removepacketmirroringrule; options = {}; } @@ -148127,30 +154621,30 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/networkEndpointGroups' + '/compute/alpha/projects/{project}/global/firewallPolicies/{firewallPolicy}/removePacketMirroringRule' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone'], - pathParams: ['project', 'zone'], + requiredParams: ['project', 'firewallPolicy'], + pathParams: ['firewallPolicy', 'project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Lists the network endpoints in the specified network endpoint group. + * Deletes a rule of the specified priority. * @example * ```js * // Before running the sample: @@ -148174,7 +154668,6 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -148183,111 +154676,207 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.networkEndpointGroups.listNetworkEndpoints({ - * // A filter expression that filters resources listed in the response. Most - * // Compute resources support two types of filter expressions: - * // expressions that support regular expressions and expressions that follow - * // API improvement proposal AIP-160. - * // These two types of filter expressions cannot be mixed in one request. - * // - * // If you want to use AIP-160, your expression must specify the field name, an - * // operator, and the value that you want to use for filtering. The value - * // must be a string, a number, or a boolean. The operator - * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * // - * // For example, if you are filtering Compute Engine instances, you can - * // exclude instances named `example-instance` by specifying - * // `name != example-instance`. - * // - * // The `:*` comparison can be used to test whether a key has been defined. - * // For example, to find all objects with `owner` label use: - * // ``` - * // labels.owner:* - * // ``` - * // - * // You can also filter nested fields. For example, you could specify - * // `scheduling.automaticRestart = false` to include instances only - * // if they are not scheduled for automatic restarts. You can use filtering - * // on nested fields to filter based onresource labels. - * // - * // To filter on multiple expressions, provide each separate expression within - * // parentheses. For example: - * // ``` - * // (scheduling.automaticRestart = true) - * // (cpuPlatform = "Intel Skylake") - * // ``` - * // By default, each expression is an `AND` expression. However, you - * // can include `AND` and `OR` expressions explicitly. - * // For example: - * // ``` - * // (cpuPlatform = "Intel Skylake") OR - * // (cpuPlatform = "Intel Broadwell") AND - * // (scheduling.automaticRestart = true) - * // ``` - * // - * // If you want to use a regular expression, use the `eq` (equal) or `ne` - * // (not equal) operator against a single un-parenthesized expression with or - * // without quotes or against multiple parenthesized expressions. Examples: - * // - * // `fieldname eq unquoted literal` - * // `fieldname eq 'single quoted literal'` - * // `fieldname eq "double quoted literal"` - * // `(fieldname1 eq literal) (fieldname2 ne "literal")` - * // - * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * // The literal value must match the entire field. - * // - * // For example, to filter for instances that do not end with name "instance", - * // you would use `name ne .*instance`. - * // - * // You cannot combine constraints on multiple fields using regular - * // expressions. - * filter: 'placeholder-value', - * // The maximum number of results per page that should be returned. - * // If the number of available results is larger than `maxResults`, - * // Compute Engine returns a `nextPageToken` that can be used to get - * // the next page of results in subsequent list requests. Acceptable values are - * // `0` to `500`, inclusive. (Default: `500`) - * maxResults: 'placeholder-value', - * // The name of the network endpoint group from which you want to generate a - * // list of included network endpoints. It should comply with RFC1035. - * networkEndpointGroup: 'placeholder-value', - * // Sorts list results by a certain order. By default, results - * // are returned in alphanumerical order based on the resource name. + * const res = await compute.networkFirewallPolicies.removeRule({ + * // Name of the firewall policy to update. + * firewallPolicy: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // The priority of the rule to remove from the firewall policy. + * priority: 'placeholder-value', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. * // - * // You can also sort results in descending order based on the creation - * // timestamp using `orderBy="creationTimestamp desc"`. This sorts - * // results based on the `creationTimestamp` field in - * // reverse chronological order (newest result first). Use this to sort - * // resources like operations so that the newest operation is returned first. + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. * // - * // Currently, only sorting by `name` or - * // `creationTimestamp desc` is supported. - * orderBy: 'placeholder-value', - * // Specifies a page token to use. Set `pageToken` to the - * // `nextPageToken` returned by a previous list request to get - * // the next page of results. - * pageToken: 'placeholder-value', + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + removeRule( + params: Params$Resource$Networkfirewallpolicies$Removerule, + options: StreamMethodOptions + ): Promise>; + removeRule( + params?: Params$Resource$Networkfirewallpolicies$Removerule, + options?: MethodOptions + ): Promise>; + removeRule( + params: Params$Resource$Networkfirewallpolicies$Removerule, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + removeRule( + params: Params$Resource$Networkfirewallpolicies$Removerule, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + removeRule( + params: Params$Resource$Networkfirewallpolicies$Removerule, + callback: BodyResponseCallback + ): void; + removeRule(callback: BodyResponseCallback): void; + removeRule( + paramsOrCallback?: + | Params$Resource$Networkfirewallpolicies$Removerule + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Networkfirewallpolicies$Removerule; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Networkfirewallpolicies$Removerule; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/global/firewallPolicies/{firewallPolicy}/removeRule' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'firewallPolicy'], + pathParams: ['firewallPolicy', 'project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Sets the access control policy on the specified resource. + * Replaces any existing policy. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.networkFirewallPolicies.setIamPolicy({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Opt-in for partial success behavior which provides partial results in case - * // of failure. The default value is false. - * // - * // For example, when partial success behavior is enabled, aggregatedList for a - * // single zone scope either returns all resources in the zone or no resources, - * // with an error code. - * returnPartialSuccess: 'placeholder-value', - * // The name of the zone where - * // the network endpoint group is located. It should comply with RFC1035. - * zone: 'placeholder-value', + * // Name or id of the resource for this request. + * resource: '[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * * // Request body metadata * requestBody: { * // request body parameters * // { - * // "endpointFilters": [], - * // "healthStatus": "my_healthStatus" + * // "bindings": [], + * // "etag": "my_etag", + * // "policy": {} * // } * }, * }); @@ -148295,11 +154884,10 @@ export namespace compute_alpha { * * // Example response * // { - * // "id": "my_id", - * // "items": [], - * // "kind": "my_kind", - * // "nextPageToken": "my_nextPageToken", - * // "warning": {} + * // "auditConfigs": [], + * // "bindings": [], + * // "etag": "my_etag", + * // "version": 0 * // } * } * @@ -148315,62 +154903,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - listNetworkEndpoints( - params: Params$Resource$Networkendpointgroups$Listnetworkendpoints, + setIamPolicy( + params: Params$Resource$Networkfirewallpolicies$Setiampolicy, options: StreamMethodOptions ): Promise>; - listNetworkEndpoints( - params?: Params$Resource$Networkendpointgroups$Listnetworkendpoints, + setIamPolicy( + params?: Params$Resource$Networkfirewallpolicies$Setiampolicy, options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; - listNetworkEndpoints( - params: Params$Resource$Networkendpointgroups$Listnetworkendpoints, + ): Promise>; + setIamPolicy( + params: Params$Resource$Networkfirewallpolicies$Setiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - listNetworkEndpoints( - params: Params$Resource$Networkendpointgroups$Listnetworkendpoints, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - listNetworkEndpoints( - params: Params$Resource$Networkendpointgroups$Listnetworkendpoints, - callback: BodyResponseCallback + setIamPolicy( + params: Params$Resource$Networkfirewallpolicies$Setiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - listNetworkEndpoints( - callback: BodyResponseCallback + setIamPolicy( + params: Params$Resource$Networkfirewallpolicies$Setiampolicy, + callback: BodyResponseCallback ): void; - listNetworkEndpoints( + setIamPolicy(callback: BodyResponseCallback): void; + setIamPolicy( paramsOrCallback?: - | Params$Resource$Networkendpointgroups$Listnetworkendpoints - | BodyResponseCallback + | Params$Resource$Networkfirewallpolicies$Setiampolicy + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise< - GaxiosResponseWithHTTP2 - > + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Networkendpointgroups$Listnetworkendpoints; + {}) as Params$Resource$Networkfirewallpolicies$Setiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Networkendpointgroups$Listnetworkendpoints; + params = {} as Params$Resource$Networkfirewallpolicies$Setiampolicy; options = {}; } @@ -148385,7 +154964,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/listNetworkEndpoints' + '/compute/alpha/projects/{project}/global/firewallPolicies/{resource}/setIamPolicy' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -148393,19 +154972,17 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'zone', 'networkEndpointGroup'], - pathParams: ['networkEndpointGroup', 'project', 'zone'], + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } @@ -148443,14 +155020,12 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.networkEndpointGroups.testIamPermissions({ + * const res = await compute.networkFirewallPolicies.testIamPermissions({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', * // Name or id of the resource for this request. - * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // The name of the zone for this request. - * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * resource: '[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * * // Request body metadata * requestBody: { @@ -148481,27 +155056,27 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ testIamPermissions( - params: Params$Resource$Networkendpointgroups$Testiampermissions, + params: Params$Resource$Networkfirewallpolicies$Testiampermissions, options: StreamMethodOptions ): Promise>; testIamPermissions( - params?: Params$Resource$Networkendpointgroups$Testiampermissions, + params?: Params$Resource$Networkfirewallpolicies$Testiampermissions, options?: MethodOptions ): Promise>; testIamPermissions( - params: Params$Resource$Networkendpointgroups$Testiampermissions, + params: Params$Resource$Networkfirewallpolicies$Testiampermissions, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; testIamPermissions( - params: Params$Resource$Networkendpointgroups$Testiampermissions, + params: Params$Resource$Networkfirewallpolicies$Testiampermissions, options: | MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; testIamPermissions( - params: Params$Resource$Networkendpointgroups$Testiampermissions, + params: Params$Resource$Networkfirewallpolicies$Testiampermissions, callback: BodyResponseCallback ): void; testIamPermissions( @@ -148509,7 +155084,7 @@ export namespace compute_alpha { ): void; testIamPermissions( paramsOrCallback?: - | Params$Resource$Networkendpointgroups$Testiampermissions + | Params$Resource$Networkfirewallpolicies$Testiampermissions | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -148525,12 +155100,13 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Networkendpointgroups$Testiampermissions; + {}) as Params$Resource$Networkfirewallpolicies$Testiampermissions; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Networkendpointgroups$Testiampermissions; + params = + {} as Params$Resource$Networkfirewallpolicies$Testiampermissions; options = {}; } @@ -148545,7 +155121,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/networkEndpointGroups/{resource}/testIamPermissions' + '/compute/alpha/projects/{project}/global/firewallPolicies/{resource}/testIamPermissions' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -148553,8 +155129,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'zone', 'resource'], - pathParams: ['project', 'resource', 'zone'], + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], context: this.context, }; if (callback) { @@ -148568,7 +155144,132 @@ export namespace compute_alpha { } } - export interface Params$Resource$Networkendpointgroups$Aggregatedlist extends StandardParameters { + export interface Params$Resource$Networkfirewallpolicies$Addassociation extends StandardParameters { + /** + * Name of the firewall policy associated with the target network to swap + * association with. This field is mutually exclusive with + * 'replace_existing_association'. + */ + associatedPolicyToBeReplaced?: string; + /** + * Name of the firewall policy to update. + */ + firewallPolicy?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * 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. + */ + replaceExistingAssociation?: boolean; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$FirewallPolicyAssociation; + } + export interface Params$Resource$Networkfirewallpolicies$Addpacketmirroringrule extends StandardParameters { + /** + * Name of the firewall policy to update. + */ + firewallPolicy?: string; + /** + * When rule.priority is not specified, auto choose a unused priority betweenminPriority and maxPriority\>. + * This field is exclusive with rule.priority. + */ + maxPriority?: number; + /** + * When rule.priority is not specified, auto choose a unused priority betweenminPriority and maxPriority\>. + * This field is exclusive with rule.priority. + */ + minPriority?: number; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$FirewallPolicyRule; + } + export interface Params$Resource$Networkfirewallpolicies$Addrule extends StandardParameters { + /** + * Name of the firewall policy to update. + */ + firewallPolicy?: string; + /** + * When rule.priority is not specified, auto choose a unused priority betweenminPriority and maxPriority\>. + * This field is exclusive with rule.priority. + */ + maxPriority?: number; + /** + * When rule.priority is not specified, auto choose a unused priority betweenminPriority and maxPriority\>. + * This field is exclusive with rule.priority. + */ + minPriority?: number; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$FirewallPolicyRule; + } + export interface Params$Resource$Networkfirewallpolicies$Aggregatedlist extends StandardParameters { /** * A filter expression that filters resources listed in the response. Most * Compute resources support two types of filter expressions: @@ -148687,12 +155388,11 @@ export namespace compute_alpha { */ serviceProjectNumber?: string; } - export interface Params$Resource$Networkendpointgroups$Attachnetworkendpoints extends StandardParameters { + export interface Params$Resource$Networkfirewallpolicies$Clonerules extends StandardParameters { /** - * The name of the network endpoint group where you are attaching network - * endpoints to. It should comply with RFC1035. + * Name of the firewall policy to update. */ - networkEndpointGroup?: string; + firewallPolicy?: string; /** * Project ID for this request. */ @@ -148714,22 +155414,15 @@ export namespace compute_alpha { */ requestId?: string; /** - * The name of the zone where - * the network endpoint group is located. It should comply with RFC1035. - */ - zone?: string; - - /** - * Request body metadata + * The firewall policy from which to copy rules. */ - requestBody?: Schema$NetworkEndpointGroupsAttachEndpointsRequest; + sourceFirewallPolicy?: string; } - export interface Params$Resource$Networkendpointgroups$Delete extends StandardParameters { + export interface Params$Resource$Networkfirewallpolicies$Delete extends StandardParameters { /** - * The name of the network endpoint group to delete. It should comply with - * RFC1035. + * Name of the firewall policy to delete. */ - networkEndpointGroup?: string; + firewallPolicy?: string; /** * Project ID for this request. */ @@ -148750,65 +155443,74 @@ export namespace compute_alpha { * (00000000-0000-0000-0000-000000000000). */ requestId?: string; + } + export interface Params$Resource$Networkfirewallpolicies$Get extends StandardParameters { /** - * The name of the zone where - * the network endpoint group is located. It should comply with RFC1035. + * Name of the firewall policy to get. */ - zone?: string; + firewallPolicy?: string; + /** + * Project ID for this request. + */ + project?: string; } - export interface Params$Resource$Networkendpointgroups$Detachnetworkendpoints extends StandardParameters { + export interface Params$Resource$Networkfirewallpolicies$Getassociation extends StandardParameters { /** - * The name of the network endpoint group where you are removing network - * endpoints. It should comply with RFC1035. + * Name of the firewall policy to which the queried association belongs. */ - networkEndpointGroup?: string; + firewallPolicy?: string; + /** + * The name of the association to get from the firewall policy. + */ + name?: string; /** * Project ID for this request. */ project?: string; + } + export interface Params$Resource$Networkfirewallpolicies$Getiampolicy extends StandardParameters { /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). + * Requested IAM Policy version. */ - requestId?: string; + optionsRequestedPolicyVersion?: number; /** - * The name of the zone where - * the network endpoint group is located. It should comply with RFC1035. + * Project ID for this request. */ - zone?: string; - + project?: string; /** - * Request body metadata + * Name or id of the resource for this request. */ - requestBody?: Schema$NetworkEndpointGroupsDetachEndpointsRequest; + resource?: string; } - export interface Params$Resource$Networkendpointgroups$Get extends StandardParameters { + export interface Params$Resource$Networkfirewallpolicies$Getpacketmirroringrule extends StandardParameters { /** - * The name of the network endpoint group. It should comply with RFC1035. + * Name of the firewall policy to which the queried rule belongs. */ - networkEndpointGroup?: string; + firewallPolicy?: string; + /** + * The priority of the rule to get from the firewall policy. + */ + priority?: number; /** * Project ID for this request. */ project?: string; + } + export interface Params$Resource$Networkfirewallpolicies$Getrule extends StandardParameters { /** - * The name of the zone where - * the network endpoint group is located. It should comply with RFC1035. + * Name of the firewall policy to which the queried rule belongs. */ - zone?: string; + firewallPolicy?: string; + /** + * The priority of the rule to get from the firewall policy. + */ + priority?: number; + /** + * Project ID for this request. + */ + project?: string; } - export interface Params$Resource$Networkendpointgroups$Insert extends StandardParameters { + export interface Params$Resource$Networkfirewallpolicies$Insert extends StandardParameters { /** * Project ID for this request. */ @@ -148829,19 +155531,13 @@ export namespace compute_alpha { * (00000000-0000-0000-0000-000000000000). */ requestId?: string; - /** - * The name of the zone where - * you want to create the network endpoint group. It should comply with - * RFC1035. - */ - zone?: string; /** * Request body metadata */ - requestBody?: Schema$NetworkEndpointGroup; + requestBody?: Schema$FirewallPolicy; } - export interface Params$Resource$Networkendpointgroups$List extends StandardParameters { + export interface Params$Resource$Networkfirewallpolicies$List extends StandardParameters { /** * A filter expression that filters resources listed in the response. Most * Compute resources support two types of filter expressions: @@ -148944,132 +155640,230 @@ export namespace compute_alpha { * with an error code. */ returnPartialSuccess?: boolean; + } + export interface Params$Resource$Networkfirewallpolicies$Patch extends StandardParameters { /** - * The name of thezone - * where the network endpoint group is located. It should comply with RFC1035. + * Name of the firewall policy to update. */ - zone?: string; - } - export interface Params$Resource$Networkendpointgroups$Listnetworkendpoints extends StandardParameters { + firewallPolicy?: string; /** - * A filter expression that filters resources listed in the response. Most - * Compute resources support two types of filter expressions: - * expressions that support regular expressions and expressions that follow - * API improvement proposal AIP-160. - * These two types of filter expressions cannot be mixed in one request. - * - * If you want to use AIP-160, your expression must specify the field name, an - * operator, and the value that you want to use for filtering. The value - * must be a string, a number, or a boolean. The operator - * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * - * For example, if you are filtering Compute Engine instances, you can - * exclude instances named `example-instance` by specifying - * `name != example-instance`. + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique 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 `:*` comparison can be used to test whether a key has been defined. - * For example, to find all objects with `owner` label use: - * ``` - * labels.owner:* - * ``` + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. * - * You can also filter nested fields. For example, you could specify - * `scheduling.automaticRestart = false` to include instances only - * if they are not scheduled for automatic restarts. You can use filtering - * on nested fields to filter based onresource labels. + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$FirewallPolicy; + } + export interface Params$Resource$Networkfirewallpolicies$Patchassociation extends StandardParameters { + /** + * Name of the firewall policy to update. + */ + firewallPolicy?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. * - * To filter on multiple expressions, provide each separate expression within - * parentheses. For example: - * ``` - * (scheduling.automaticRestart = true) - * (cpuPlatform = "Intel Skylake") - * ``` - * By default, each expression is an `AND` expression. However, you - * can include `AND` and `OR` expressions explicitly. - * For example: - * ``` - * (cpuPlatform = "Intel Skylake") OR - * (cpuPlatform = "Intel Broadwell") AND - * (scheduling.automaticRestart = true) - * ``` + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. * - * If you want to use a regular expression, use the `eq` (equal) or `ne` - * (not equal) operator against a single un-parenthesized expression with or - * without quotes or against multiple parenthesized expressions. Examples: + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$FirewallPolicyAssociation; + } + export interface Params$Resource$Networkfirewallpolicies$Patchpacketmirroringrule extends StandardParameters { + /** + * Name of the firewall policy to update. + */ + firewallPolicy?: string; + /** + * The priority of the rule to patch. + */ + priority?: number; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. * - * `fieldname eq unquoted literal` - * `fieldname eq 'single quoted literal'` - * `fieldname eq "double quoted literal"` - * `(fieldname1 eq literal) (fieldname2 ne "literal")` + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. * - * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * The literal value must match the entire field. + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$FirewallPolicyRule; + } + export interface Params$Resource$Networkfirewallpolicies$Patchrule extends StandardParameters { + /** + * Name of the firewall policy to update. + */ + firewallPolicy?: string; + /** + * The priority of the rule to patch. + */ + priority?: number; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. * - * For example, to filter for instances that do not end with name "instance", - * you would use `name ne .*instance`. + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. * - * You cannot combine constraints on multiple fields using regular - * expressions. + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). */ - filter?: string; + requestId?: string; + /** - * The maximum number of results per page that should be returned. - * If the number of available results is larger than `maxResults`, - * Compute Engine returns a `nextPageToken` that can be used to get - * the next page of results in subsequent list requests. Acceptable values are - * `0` to `500`, inclusive. (Default: `500`) + * Request body metadata */ - maxResults?: number; + requestBody?: Schema$FirewallPolicyRule; + } + export interface Params$Resource$Networkfirewallpolicies$Removeassociation extends StandardParameters { /** - * The name of the network endpoint group from which you want to generate a - * list of included network endpoints. It should comply with RFC1035. + * Name of the firewall policy to update. */ - networkEndpointGroup?: string; + firewallPolicy?: string; /** - * Sorts list results by a certain order. By default, results - * are returned in alphanumerical order based on the resource name. + * Name for the attachment that will be removed. + */ + name?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. * - * You can also sort results in descending order based on the creation - * timestamp using `orderBy="creationTimestamp desc"`. This sorts - * results based on the `creationTimestamp` field in - * reverse chronological order (newest result first). Use this to sort - * resources like operations so that the newest operation is returned first. + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. * - * Currently, only sorting by `name` or - * `creationTimestamp desc` is supported. + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). */ - orderBy?: string; + requestId?: string; + } + export interface Params$Resource$Networkfirewallpolicies$Removepacketmirroringrule extends StandardParameters { /** - * Specifies a page token to use. Set `pageToken` to the - * `nextPageToken` returned by a previous list request to get - * the next page of results. + * Name of the firewall policy to update. */ - pageToken?: string; + firewallPolicy?: string; + /** + * The priority of the rule to remove from the firewall policy. + */ + priority?: number; /** * Project ID for this request. */ project?: string; /** - * Opt-in for partial success behavior which provides partial results in case - * of failure. The default value is false. + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. * - * For example, when partial success behavior is enabled, aggregatedList for a - * single zone scope either returns all resources in the zone or no resources, - * with an error code. + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). */ - returnPartialSuccess?: boolean; + requestId?: string; + } + export interface Params$Resource$Networkfirewallpolicies$Removerule extends StandardParameters { /** - * The name of the zone where - * the network endpoint group is located. It should comply with RFC1035. + * Name of the firewall policy to update. */ - zone?: string; - + firewallPolicy?: string; /** - * Request body metadata + * The priority of the rule to remove from the firewall policy. */ - requestBody?: Schema$NetworkEndpointGroupsListEndpointsRequest; + priority?: number; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; } - export interface Params$Resource$Networkendpointgroups$Testiampermissions extends StandardParameters { + export interface Params$Resource$Networkfirewallpolicies$Setiampolicy extends StandardParameters { /** * Project ID for this request. */ @@ -149078,448 +155872,36 @@ export namespace compute_alpha { * Name or id of the resource for this request. */ resource?: string; - /** - * The name of the zone for this request. - */ - zone?: string; /** * Request body metadata */ - requestBody?: Schema$TestPermissionsRequest; + requestBody?: Schema$GlobalSetPolicyRequest; } - - export class Resource$Networkfirewallpolicies { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - + export interface Params$Resource$Networkfirewallpolicies$Testiampermissions extends StandardParameters { /** - * Inserts an association for the specified firewall policy. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/compute.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const compute = google.compute('alpha'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/cloud-platform', - * 'https://www.googleapis.com/auth/compute', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await compute.networkFirewallPolicies.addAssociation({ - * // Name of the firewall policy associated with the target network to swap - * // association with. This field is mutually exclusive with - * // 'replace_existing_association'. - * associatedPolicyToBeReplaced: - * '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // Name of the firewall policy to update. - * firewallPolicy: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // 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. - * replaceExistingAssociation: 'placeholder-value', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. - * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "attachmentTarget": "my_attachmentTarget", - * // "displayName": "my_displayName", - * // "firewallPolicyId": "my_firewallPolicyId", - * // "name": "my_name", - * // "priority": 0, - * // "shortName": "my_shortName" - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, - * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, - * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. + * Project ID for this request. */ - addAssociation( - params: Params$Resource$Networkfirewallpolicies$Addassociation, - options: StreamMethodOptions - ): Promise>; - addAssociation( - params?: Params$Resource$Networkfirewallpolicies$Addassociation, - options?: MethodOptions - ): Promise>; - addAssociation( - params: Params$Resource$Networkfirewallpolicies$Addassociation, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - addAssociation( - params: Params$Resource$Networkfirewallpolicies$Addassociation, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - addAssociation( - params: Params$Resource$Networkfirewallpolicies$Addassociation, - callback: BodyResponseCallback - ): void; - addAssociation(callback: BodyResponseCallback): void; - addAssociation( - paramsOrCallback?: - | Params$Resource$Networkfirewallpolicies$Addassociation - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Networkfirewallpolicies$Addassociation; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Networkfirewallpolicies$Addassociation; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/compute/alpha/projects/{project}/global/firewallPolicies/{firewallPolicy}/addAssociation' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['project', 'firewallPolicy'], - pathParams: ['firewallPolicy', 'project'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - + project?: string; /** - * Inserts a packet mirroring rule into a firewall policy. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/compute.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const compute = google.compute('alpha'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/cloud-platform', - * 'https://www.googleapis.com/auth/compute', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await compute.networkFirewallPolicies.addPacketMirroringRule({ - * // Name of the firewall policy to update. - * firewallPolicy: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // When rule.priority is not specified, auto choose a unused priority betweenminPriority and maxPriority\>. - * // This field is exclusive with rule.priority. - * maxPriority: 'placeholder-value', - * // When rule.priority is not specified, auto choose a unused priority betweenminPriority and maxPriority\>. - * // This field is exclusive with rule.priority. - * minPriority: 'placeholder-value', - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. - * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "action": "my_action", - * // "description": "my_description", - * // "direction": "my_direction", - * // "disabled": false, - * // "enableLogging": false, - * // "kind": "my_kind", - * // "match": {}, - * // "priority": 0, - * // "ruleName": "my_ruleName", - * // "ruleTupleCount": 0, - * // "securityProfileGroup": "my_securityProfileGroup", - * // "targetForwardingRules": [], - * // "targetResources": [], - * // "targetSecureTags": [], - * // "targetServiceAccounts": [], - * // "targetType": "my_targetType", - * // "tlsInspect": false - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, - * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, - * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. + * Name or id of the resource for this request. */ - addPacketMirroringRule( - params: Params$Resource$Networkfirewallpolicies$Addpacketmirroringrule, - options: StreamMethodOptions - ): Promise>; - addPacketMirroringRule( - params?: Params$Resource$Networkfirewallpolicies$Addpacketmirroringrule, - options?: MethodOptions - ): Promise>; - addPacketMirroringRule( - params: Params$Resource$Networkfirewallpolicies$Addpacketmirroringrule, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - addPacketMirroringRule( - params: Params$Resource$Networkfirewallpolicies$Addpacketmirroringrule, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - addPacketMirroringRule( - params: Params$Resource$Networkfirewallpolicies$Addpacketmirroringrule, - callback: BodyResponseCallback - ): void; - addPacketMirroringRule( - callback: BodyResponseCallback - ): void; - addPacketMirroringRule( - paramsOrCallback?: - | Params$Resource$Networkfirewallpolicies$Addpacketmirroringrule - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Networkfirewallpolicies$Addpacketmirroringrule; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = - {} as Params$Resource$Networkfirewallpolicies$Addpacketmirroringrule; - options = {}; - } + resource?: string; - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } - const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/compute/alpha/projects/{project}/global/firewallPolicies/{firewallPolicy}/addPacketMirroringRule' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['project', 'firewallPolicy'], - pathParams: ['firewallPolicy', 'project'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } + export class Resource$Networkprofiles { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; } /** - * Inserts a rule into a firewall policy. + * Returns the specified network profile. * @example * ```js * // Before running the sample: @@ -149543,6 +155925,7 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -149551,89 +155934,27 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.networkFirewallPolicies.addRule({ - * // Name of the firewall policy to update. - * firewallPolicy: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // When rule.priority is not specified, auto choose a unused priority betweenminPriority and maxPriority\>. - * // This field is exclusive with rule.priority. - * maxPriority: 'placeholder-value', - * // When rule.priority is not specified, auto choose a unused priority betweenminPriority and maxPriority\>. - * // This field is exclusive with rule.priority. - * minPriority: 'placeholder-value', + * const res = await compute.networkProfiles.get({ + * // Name of the network profile to return. + * networkProfile: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. - * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "action": "my_action", - * // "description": "my_description", - * // "direction": "my_direction", - * // "disabled": false, - * // "enableLogging": false, - * // "kind": "my_kind", - * // "match": {}, - * // "priority": 0, - * // "ruleName": "my_ruleName", - * // "ruleTupleCount": 0, - * // "securityProfileGroup": "my_securityProfileGroup", - * // "targetForwardingRules": [], - * // "targetResources": [], - * // "targetSecureTags": [], - * // "targetServiceAccounts": [], - * // "targetType": "my_targetType", - * // "tlsInspect": false - * // } - * }, * }); * console.log(res.data); * * // Example response * // { - * // "clientOperationId": "my_clientOperationId", * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, + * // "features": {}, * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, * // "kind": "my_kind", + * // "location": {}, * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", + * // "profileType": {}, * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" + * // "selfLinkWithId": "my_selfLinkWithId" * // } * } * @@ -149649,53 +155970,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - addRule( - params: Params$Resource$Networkfirewallpolicies$Addrule, + get( + params: Params$Resource$Networkprofiles$Get, options: StreamMethodOptions ): Promise>; - addRule( - params?: Params$Resource$Networkfirewallpolicies$Addrule, + get( + params?: Params$Resource$Networkprofiles$Get, options?: MethodOptions - ): Promise>; - addRule( - params: Params$Resource$Networkfirewallpolicies$Addrule, + ): Promise>; + get( + params: Params$Resource$Networkprofiles$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - addRule( - params: Params$Resource$Networkfirewallpolicies$Addrule, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + get( + params: Params$Resource$Networkprofiles$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - addRule( - params: Params$Resource$Networkfirewallpolicies$Addrule, - callback: BodyResponseCallback + get( + params: Params$Resource$Networkprofiles$Get, + callback: BodyResponseCallback ): void; - addRule(callback: BodyResponseCallback): void; - addRule( + get(callback: BodyResponseCallback): void; + get( paramsOrCallback?: - | Params$Resource$Networkfirewallpolicies$Addrule - | BodyResponseCallback + | Params$Resource$Networkprofiles$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Networkfirewallpolicies$Addrule; + {}) as Params$Resource$Networkprofiles$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Networkfirewallpolicies$Addrule; + params = {} as Params$Resource$Networkprofiles$Get; options = {}; } @@ -149710,35 +156031,31 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/firewallPolicies/{firewallPolicy}/addRule' + '/compute/alpha/projects/{project}/global/networkProfiles/{networkProfile}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['project', 'firewallPolicy'], - pathParams: ['firewallPolicy', 'project'], + requiredParams: ['project', 'networkProfile'], + pathParams: ['networkProfile', 'project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * 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, it is recommended that you set the - * `returnPartialSuccess` parameter to `true`. + * Retrieves a list of network profiles available to the specified + * project. * @example * ```js * // Before running the sample: @@ -149771,7 +156088,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.networkFirewallPolicies.aggregatedList({ + * const res = await compute.networkProfiles.list({ * // A filter expression that filters resources listed in the response. Most * // Compute resources support two types of filter expressions: * // expressions that support regular expressions and expressions that follow @@ -149831,14 +156148,6 @@ export namespace compute_alpha { * // You cannot combine constraints on multiple fields using regular * // expressions. * filter: 'placeholder-value', - * // 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. - * includeAllScopes: 'placeholder-value', * // The maximum number of results per page that should be returned. * // If the number of available results is larger than `maxResults`, * // Compute Engine returns a `nextPageToken` that can be used to get @@ -149871,16 +156180,14 @@ export namespace compute_alpha { * // single zone scope either returns all resources in the zone or no resources, * // with an error code. * returnPartialSuccess: 'placeholder-value', - * // The Shared VPC service project id or service project number for which - * // aggregated list request is invoked for subnetworks list-usable api. - * serviceProjectNumber: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { + * // "etag": "my_etag", * // "id": "my_id", - * // "items": {}, + * // "items": [], * // "kind": "my_kind", * // "nextPageToken": "my_nextPageToken", * // "selfLink": "my_selfLink", @@ -149901,61 +156208,57 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - aggregatedList( - params: Params$Resource$Networkfirewallpolicies$Aggregatedlist, + list( + params: Params$Resource$Networkprofiles$List, options: StreamMethodOptions ): Promise>; - aggregatedList( - params?: Params$Resource$Networkfirewallpolicies$Aggregatedlist, + list( + params?: Params$Resource$Networkprofiles$List, options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; - aggregatedList( - params: Params$Resource$Networkfirewallpolicies$Aggregatedlist, + ): Promise>; + list( + params: Params$Resource$Networkprofiles$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - aggregatedList( - params: Params$Resource$Networkfirewallpolicies$Aggregatedlist, + list( + params: Params$Resource$Networkprofiles$List, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - aggregatedList( - params: Params$Resource$Networkfirewallpolicies$Aggregatedlist, - callback: BodyResponseCallback + list( + params: Params$Resource$Networkprofiles$List, + callback: BodyResponseCallback ): void; - aggregatedList( - callback: BodyResponseCallback + list( + callback: BodyResponseCallback ): void; - aggregatedList( + list( paramsOrCallback?: - | Params$Resource$Networkfirewallpolicies$Aggregatedlist - | BodyResponseCallback + | Params$Resource$Networkprofiles$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise< - GaxiosResponseWithHTTP2 - > + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Networkfirewallpolicies$Aggregatedlist; + {}) as Params$Resource$Networkprofiles$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Networkfirewallpolicies$Aggregatedlist; + params = {} as Params$Resource$Networkprofiles$List; options = {}; } @@ -149970,7 +156273,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/aggregated/firewallPolicies' + '/compute/alpha/projects/{project}/global/networkProfiles' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -149983,19 +156286,139 @@ export namespace compute_alpha { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } + } + + export interface Params$Resource$Networkprofiles$Get extends StandardParameters { + /** + * Name of the network profile to return. + */ + networkProfile?: string; + /** + * Project ID for this request. + */ + project?: string; + } + export interface Params$Resource$Networkprofiles$List extends StandardParameters { + /** + * A filter expression that filters resources listed in the response. Most + * Compute resources support two types of filter expressions: + * expressions that support regular expressions and expressions that follow + * API improvement proposal AIP-160. + * These two types of filter expressions cannot be mixed in one request. + * + * If you want to use AIP-160, your expression must specify the field name, an + * operator, and the value that you want to use for filtering. The value + * must be a string, a number, or a boolean. The operator + * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * + * For example, if you are filtering Compute Engine instances, you can + * exclude instances named `example-instance` by specifying + * `name != example-instance`. + * + * The `:*` comparison can be used to test whether a key has been defined. + * For example, to find all objects with `owner` label use: + * ``` + * labels.owner:* + * ``` + * + * You can also filter nested fields. For example, you could specify + * `scheduling.automaticRestart = false` to include instances only + * if they are not scheduled for automatic restarts. You can use filtering + * on nested fields to filter based onresource labels. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example: + * ``` + * (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake") + * ``` + * By default, each expression is an `AND` expression. However, you + * can include `AND` and `OR` expressions explicitly. + * For example: + * ``` + * (cpuPlatform = "Intel Skylake") OR + * (cpuPlatform = "Intel Broadwell") AND + * (scheduling.automaticRestart = true) + * ``` + * + * If you want to use a regular expression, use the `eq` (equal) or `ne` + * (not equal) operator against a single un-parenthesized expression with or + * without quotes or against multiple parenthesized expressions. Examples: + * + * `fieldname eq unquoted literal` + * `fieldname eq 'single quoted literal'` + * `fieldname eq "double quoted literal"` + * `(fieldname1 eq literal) (fieldname2 ne "literal")` + * + * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * The literal value must match the entire field. + * + * For example, to filter for instances that do not end with name "instance", + * you would use `name ne .*instance`. + * + * You cannot combine constraints on multiple fields using regular + * expressions. + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. + * If the number of available results is larger than `maxResults`, + * Compute Engine returns a `nextPageToken` that can be used to get + * the next page of results in subsequent list requests. Acceptable values are + * `0` to `500`, inclusive. (Default: `500`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results + * are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation + * timestamp using `orderBy="creationTimestamp desc"`. This sorts + * results based on the `creationTimestamp` field in + * reverse chronological order (newest result first). Use this to sort + * resources like operations so that the newest operation is returned first. + * + * Currently, only sorting by `name` or + * `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the + * `nextPageToken` returned by a previous list request to get + * the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Opt-in for partial success behavior which provides partial results in case + * of failure. The default value is false. + * + * For example, when partial success behavior is enabled, aggregatedList for a + * single zone scope either returns all resources in the zone or no resources, + * with an error code. + */ + returnPartialSuccess?: boolean; + } + + export class Resource$Networks { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } /** - * Copies rules to the specified firewall policy. + * Adds a peering to the specified network. * @example * ```js * // Before running the sample: @@ -150027,9 +156450,9 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.networkFirewallPolicies.cloneRules({ - * // Name of the firewall policy to update. - * firewallPolicy: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.networks.addPeering({ + * // Name of the network resource to add peering to. + * network: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -150047,8 +156470,19 @@ export namespace compute_alpha { * // a valid UUID with the exception that zero UUID is not supported * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', - * // The firewall policy from which to copy rules. - * sourceFirewallPolicy: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "autoCreateRoutes": false, + * // "exportCustomRoutes": false, + * // "importCustomRoutes": false, + * // "name": "my_name", + * // "networkPeering": {}, + * // "peerNetwork": "my_peerNetwork" + * // } + * }, * }); * console.log(res.data); * @@ -150097,32 +156531,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - cloneRules( - params: Params$Resource$Networkfirewallpolicies$Clonerules, + addPeering( + params: Params$Resource$Networks$Addpeering, options: StreamMethodOptions ): Promise>; - cloneRules( - params?: Params$Resource$Networkfirewallpolicies$Clonerules, + addPeering( + params?: Params$Resource$Networks$Addpeering, options?: MethodOptions ): Promise>; - cloneRules( - params: Params$Resource$Networkfirewallpolicies$Clonerules, + addPeering( + params: Params$Resource$Networks$Addpeering, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - cloneRules( - params: Params$Resource$Networkfirewallpolicies$Clonerules, + addPeering( + params: Params$Resource$Networks$Addpeering, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - cloneRules( - params: Params$Resource$Networkfirewallpolicies$Clonerules, + addPeering( + params: Params$Resource$Networks$Addpeering, callback: BodyResponseCallback ): void; - cloneRules(callback: BodyResponseCallback): void; - cloneRules( + addPeering(callback: BodyResponseCallback): void; + addPeering( paramsOrCallback?: - | Params$Resource$Networkfirewallpolicies$Clonerules + | Params$Resource$Networks$Addpeering | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -150138,12 +156572,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Networkfirewallpolicies$Clonerules; + {}) as Params$Resource$Networks$Addpeering; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Networkfirewallpolicies$Clonerules; + params = {} as Params$Resource$Networks$Addpeering; options = {}; } @@ -150158,7 +156592,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/firewallPolicies/{firewallPolicy}/cloneRules' + '/compute/alpha/projects/{project}/global/networks/{network}/addPeering' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -150166,8 +156600,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'firewallPolicy'], - pathParams: ['firewallPolicy', 'project'], + requiredParams: ['project', 'network'], + pathParams: ['network', 'project'], context: this.context, }; if (callback) { @@ -150181,7 +156615,9 @@ export namespace compute_alpha { } /** - * Deletes the specified policy. + * Cancel requests to remove a peering from the specified network. Applicable + * only for PeeringConnection with update_strategy=CONSENSUS. Cancels a + * request to remove a peering from the specified network. * @example * ```js * // Before running the sample: @@ -150213,9 +156649,9 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.networkFirewallPolicies.delete({ - * // Name of the firewall policy to delete. - * firewallPolicy: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.networks.cancelRequestRemovePeering({ + * // Name of the network resource to remove peering from. + * network: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -150233,6 +156669,14 @@ export namespace compute_alpha { * // a valid UUID with the exception that zero UUID is not supported * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "name": "my_name" + * // } + * }, * }); * console.log(res.data); * @@ -150281,32 +156725,34 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - delete( - params: Params$Resource$Networkfirewallpolicies$Delete, + cancelRequestRemovePeering( + params: Params$Resource$Networks$Cancelrequestremovepeering, options: StreamMethodOptions ): Promise>; - delete( - params?: Params$Resource$Networkfirewallpolicies$Delete, + cancelRequestRemovePeering( + params?: Params$Resource$Networks$Cancelrequestremovepeering, options?: MethodOptions ): Promise>; - delete( - params: Params$Resource$Networkfirewallpolicies$Delete, + cancelRequestRemovePeering( + params: Params$Resource$Networks$Cancelrequestremovepeering, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Networkfirewallpolicies$Delete, + cancelRequestRemovePeering( + params: Params$Resource$Networks$Cancelrequestremovepeering, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Networkfirewallpolicies$Delete, + cancelRequestRemovePeering( + params: Params$Resource$Networks$Cancelrequestremovepeering, callback: BodyResponseCallback ): void; - delete(callback: BodyResponseCallback): void; - delete( + cancelRequestRemovePeering( + callback: BodyResponseCallback + ): void; + cancelRequestRemovePeering( paramsOrCallback?: - | Params$Resource$Networkfirewallpolicies$Delete + | Params$Resource$Networks$Cancelrequestremovepeering | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -150322,12 +156768,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Networkfirewallpolicies$Delete; + {}) as Params$Resource$Networks$Cancelrequestremovepeering; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Networkfirewallpolicies$Delete; + params = {} as Params$Resource$Networks$Cancelrequestremovepeering; options = {}; } @@ -150342,16 +156788,16 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/firewallPolicies/{firewallPolicy}' + '/compute/alpha/projects/{project}/global/networks/{network}/cancelRequestRemovePeering' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project', 'firewallPolicy'], - pathParams: ['firewallPolicy', 'project'], + requiredParams: ['project', 'network'], + pathParams: ['network', 'project'], context: this.context, }; if (callback) { @@ -150365,7 +156811,7 @@ export namespace compute_alpha { } /** - * Returns the specified network firewall policy. + * Deletes the specified network. * @example * ```js * // Before running the sample: @@ -150389,7 +156835,6 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -150398,342 +156843,59 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.networkFirewallPolicies.get({ - * // Name of the firewall policy to get. - * firewallPolicy: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.networks.delete({ + * // Name of the network to delete. + * network: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { - * // "associations": [], + * // "clientOperationId": "my_clientOperationId", * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", - * // "displayName": "my_displayName", - * // "fingerprint": "my_fingerprint", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, * // "kind": "my_kind", * // "name": "my_name", - * // "packetMirroringRules": [], - * // "parent": "my_parent", - * // "policySource": "my_policySource", - * // "policyType": "my_policyType", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, * // "region": "my_region", - * // "rolloutOperation": {}, - * // "ruleTupleCount": 0, - * // "rules": [], * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", - * // "shortName": "my_shortName", - * // "vpcNetworkScope": "my_vpcNetworkScope" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - get( - params: Params$Resource$Networkfirewallpolicies$Get, - options: StreamMethodOptions - ): Promise>; - get( - params?: Params$Resource$Networkfirewallpolicies$Get, - options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Networkfirewallpolicies$Get, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Networkfirewallpolicies$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Networkfirewallpolicies$Get, - callback: BodyResponseCallback - ): void; - get(callback: BodyResponseCallback): void; - get( - paramsOrCallback?: - | Params$Resource$Networkfirewallpolicies$Get - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Networkfirewallpolicies$Get; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Networkfirewallpolicies$Get; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/compute/alpha/projects/{project}/global/firewallPolicies/{firewallPolicy}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['project', 'firewallPolicy'], - pathParams: ['firewallPolicy', 'project'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Gets an association with the specified name. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/compute.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const compute = google.compute('alpha'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/cloud-platform', - * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await compute.networkFirewallPolicies.getAssociation({ - * // Name of the firewall policy to which the queried association belongs. - * firewallPolicy: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // The name of the association to get from the firewall policy. - * name: 'placeholder-value', - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "attachmentTarget": "my_attachmentTarget", - * // "displayName": "my_displayName", - * // "firewallPolicyId": "my_firewallPolicyId", - * // "name": "my_name", - * // "priority": 0, - * // "shortName": "my_shortName" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - getAssociation( - params: Params$Resource$Networkfirewallpolicies$Getassociation, - options: StreamMethodOptions - ): Promise>; - getAssociation( - params?: Params$Resource$Networkfirewallpolicies$Getassociation, - options?: MethodOptions - ): Promise>; - getAssociation( - params: Params$Resource$Networkfirewallpolicies$Getassociation, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - getAssociation( - params: Params$Resource$Networkfirewallpolicies$Getassociation, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - getAssociation( - params: Params$Resource$Networkfirewallpolicies$Getassociation, - callback: BodyResponseCallback - ): void; - getAssociation( - callback: BodyResponseCallback - ): void; - getAssociation( - paramsOrCallback?: - | Params$Resource$Networkfirewallpolicies$Getassociation - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Networkfirewallpolicies$Getassociation; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Networkfirewallpolicies$Getassociation; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/compute/alpha/projects/{project}/global/firewallPolicies/{firewallPolicy}/getAssociation' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['project', 'firewallPolicy'], - pathParams: ['firewallPolicy', 'project'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Gets the access control policy for a resource. May be empty if no such - * policy or resource exists. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/compute.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const compute = google.compute('alpha'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/cloud-platform', - * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await compute.networkFirewallPolicies.getIamPolicy({ - * // Requested IAM Policy version. - * optionsRequestedPolicyVersion: 'placeholder-value', - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name or id of the resource for this request. - * resource: '[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "auditConfigs": [], - * // "bindings": [], - * // "etag": "my_etag", - * // "version": 0 + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" * // } * } * @@ -150749,53 +156911,52 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - getIamPolicy( - params: Params$Resource$Networkfirewallpolicies$Getiampolicy, + delete( + params: Params$Resource$Networks$Delete, options: StreamMethodOptions ): Promise>; - getIamPolicy( - params?: Params$Resource$Networkfirewallpolicies$Getiampolicy, + delete( + params?: Params$Resource$Networks$Delete, options?: MethodOptions - ): Promise>; - getIamPolicy( - params: Params$Resource$Networkfirewallpolicies$Getiampolicy, + ): Promise>; + delete( + params: Params$Resource$Networks$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - getIamPolicy( - params: Params$Resource$Networkfirewallpolicies$Getiampolicy, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + delete( + params: Params$Resource$Networks$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - getIamPolicy( - params: Params$Resource$Networkfirewallpolicies$Getiampolicy, - callback: BodyResponseCallback + delete( + params: Params$Resource$Networks$Delete, + callback: BodyResponseCallback ): void; - getIamPolicy(callback: BodyResponseCallback): void; - getIamPolicy( + delete(callback: BodyResponseCallback): void; + delete( paramsOrCallback?: - | Params$Resource$Networkfirewallpolicies$Getiampolicy - | BodyResponseCallback + | Params$Resource$Networks$Delete + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Networkfirewallpolicies$Getiampolicy; + let params = (paramsOrCallback || {}) as Params$Resource$Networks$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Networkfirewallpolicies$Getiampolicy; + params = {} as Params$Resource$Networks$Delete; options = {}; } @@ -150810,30 +156971,30 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/firewallPolicies/{resource}/getIamPolicy' + '/compute/alpha/projects/{project}/global/networks/{network}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'DELETE', apiVersion: '', }, options ), params, - requiredParams: ['project', 'resource'], - pathParams: ['project', 'resource'], + requiredParams: ['project', 'network'], + pathParams: ['network', 'project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Gets a packet mirroring rule of the specified priority. + * Returns the specified network. * @example * ```js * // Before running the sample: @@ -150866,11 +157027,9 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.networkFirewallPolicies.getPacketMirroringRule({ - * // Name of the firewall policy to which the queried rule belongs. - * firewallPolicy: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // The priority of the rule to get from the firewall policy. - * priority: 'placeholder-value', + * const res = await compute.networks.get({ + * // Name of the network to return. + * network: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -150879,23 +157038,27 @@ export namespace compute_alpha { * * // Example response * // { - * // "action": "my_action", + * // "IPv4Range": "my_IPv4Range", + * // "autoCreateSubnetworks": false, + * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", - * // "direction": "my_direction", - * // "disabled": false, - * // "enableLogging": false, + * // "enableUlaInternalIpv6": false, + * // "firewallPolicy": "my_firewallPolicy", + * // "gatewayIPv4": "my_gatewayIPv4", + * // "id": "my_id", + * // "internalIpv6Range": "my_internalIpv6Range", * // "kind": "my_kind", - * // "match": {}, - * // "priority": 0, - * // "ruleName": "my_ruleName", - * // "ruleTupleCount": 0, - * // "securityProfileGroup": "my_securityProfileGroup", - * // "targetForwardingRules": [], - * // "targetResources": [], - * // "targetSecureTags": [], - * // "targetServiceAccounts": [], - * // "targetType": "my_targetType", - * // "tlsInspect": false + * // "mtu": 0, + * // "name": "my_name", + * // "networkFirewallPolicyEnforcementOrder": "my_networkFirewallPolicyEnforcementOrder", + * // "networkProfile": "my_networkProfile", + * // "params": {}, + * // "peerings": [], + * // "region": "my_region", + * // "routingConfig": {}, + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "subnetworks": [] * // } * } * @@ -150911,56 +157074,52 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - getPacketMirroringRule( - params: Params$Resource$Networkfirewallpolicies$Getpacketmirroringrule, + get( + params: Params$Resource$Networks$Get, options: StreamMethodOptions ): Promise>; - getPacketMirroringRule( - params?: Params$Resource$Networkfirewallpolicies$Getpacketmirroringrule, + get( + params?: Params$Resource$Networks$Get, options?: MethodOptions - ): Promise>; - getPacketMirroringRule( - params: Params$Resource$Networkfirewallpolicies$Getpacketmirroringrule, + ): Promise>; + get( + params: Params$Resource$Networks$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - getPacketMirroringRule( - params: Params$Resource$Networkfirewallpolicies$Getpacketmirroringrule, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - getPacketMirroringRule( - params: Params$Resource$Networkfirewallpolicies$Getpacketmirroringrule, - callback: BodyResponseCallback + get( + params: Params$Resource$Networks$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - getPacketMirroringRule( - callback: BodyResponseCallback + get( + params: Params$Resource$Networks$Get, + callback: BodyResponseCallback ): void; - getPacketMirroringRule( + get(callback: BodyResponseCallback): void; + get( paramsOrCallback?: - | Params$Resource$Networkfirewallpolicies$Getpacketmirroringrule - | BodyResponseCallback + | Params$Resource$Networks$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Networkfirewallpolicies$Getpacketmirroringrule; + let params = (paramsOrCallback || {}) as Params$Resource$Networks$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Networkfirewallpolicies$Getpacketmirroringrule; + params = {} as Params$Resource$Networks$Get; options = {}; } @@ -150975,7 +157134,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/firewallPolicies/{firewallPolicy}/getPacketMirroringRule' + '/compute/alpha/projects/{project}/global/networks/{network}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -150983,22 +157142,22 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'firewallPolicy'], - pathParams: ['firewallPolicy', 'project'], + requiredParams: ['project', 'network'], + pathParams: ['network', 'project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Gets a rule of the specified priority. + * Returns the effective firewalls on a given network. * @example * ```js * // Before running the sample: @@ -151031,11 +157190,9 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.networkFirewallPolicies.getRule({ - * // Name of the firewall policy to which the queried rule belongs. - * firewallPolicy: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // The priority of the rule to get from the firewall policy. - * priority: 'placeholder-value', + * const res = await compute.networks.getEffectiveFirewalls({ + * // Name of the network for this request. + * network: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -151044,23 +157201,9 @@ export namespace compute_alpha { * * // Example response * // { - * // "action": "my_action", - * // "description": "my_description", - * // "direction": "my_direction", - * // "disabled": false, - * // "enableLogging": false, - * // "kind": "my_kind", - * // "match": {}, - * // "priority": 0, - * // "ruleName": "my_ruleName", - * // "ruleTupleCount": 0, - * // "securityProfileGroup": "my_securityProfileGroup", - * // "targetForwardingRules": [], - * // "targetResources": [], - * // "targetSecureTags": [], - * // "targetServiceAccounts": [], - * // "targetType": "my_targetType", - * // "tlsInspect": false + * // "firewallPolicys": [], + * // "firewalls": [], + * // "organizationFirewalls": [] * // } * } * @@ -151076,53 +157219,61 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - getRule( - params: Params$Resource$Networkfirewallpolicies$Getrule, + getEffectiveFirewalls( + params: Params$Resource$Networks$Geteffectivefirewalls, options: StreamMethodOptions ): Promise>; - getRule( - params?: Params$Resource$Networkfirewallpolicies$Getrule, + getEffectiveFirewalls( + params?: Params$Resource$Networks$Geteffectivefirewalls, options?: MethodOptions - ): Promise>; - getRule( - params: Params$Resource$Networkfirewallpolicies$Getrule, + ): Promise< + GaxiosResponseWithHTTP2 + >; + getEffectiveFirewalls( + params: Params$Resource$Networks$Geteffectivefirewalls, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - getRule( - params: Params$Resource$Networkfirewallpolicies$Getrule, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + getEffectiveFirewalls( + params: Params$Resource$Networks$Geteffectivefirewalls, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - getRule( - params: Params$Resource$Networkfirewallpolicies$Getrule, - callback: BodyResponseCallback + getEffectiveFirewalls( + params: Params$Resource$Networks$Geteffectivefirewalls, + callback: BodyResponseCallback ): void; - getRule(callback: BodyResponseCallback): void; - getRule( + getEffectiveFirewalls( + callback: BodyResponseCallback + ): void; + getEffectiveFirewalls( paramsOrCallback?: - | Params$Resource$Networkfirewallpolicies$Getrule - | BodyResponseCallback + | Params$Resource$Networks$Geteffectivefirewalls + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise< + GaxiosResponseWithHTTP2 + > | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Networkfirewallpolicies$Getrule; + {}) as Params$Resource$Networks$Geteffectivefirewalls; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Networkfirewallpolicies$Getrule; + params = {} as Params$Resource$Networks$Geteffectivefirewalls; options = {}; } @@ -151137,7 +157288,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/firewallPolicies/{firewallPolicy}/getRule' + '/compute/alpha/projects/{project}/global/networks/{network}/getEffectiveFirewalls' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -151145,23 +157296,25 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'firewallPolicy'], - pathParams: ['firewallPolicy', 'project'], + requiredParams: ['project', 'network'], + pathParams: ['network', 'project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); } } /** - * Creates a new policy in the specified project using the data included in - * the request. + * Creates a network in the specified project using the data included + * in the request. * @example * ```js * // Before running the sample: @@ -151193,7 +157346,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.networkFirewallPolicies.insert({ + * const res = await compute.networks.insert({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -151216,26 +157369,27 @@ export namespace compute_alpha { * requestBody: { * // request body parameters * // { - * // "associations": [], + * // "IPv4Range": "my_IPv4Range", + * // "autoCreateSubnetworks": false, * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", - * // "displayName": "my_displayName", - * // "fingerprint": "my_fingerprint", + * // "enableUlaInternalIpv6": false, + * // "firewallPolicy": "my_firewallPolicy", + * // "gatewayIPv4": "my_gatewayIPv4", * // "id": "my_id", + * // "internalIpv6Range": "my_internalIpv6Range", * // "kind": "my_kind", + * // "mtu": 0, * // "name": "my_name", - * // "packetMirroringRules": [], - * // "parent": "my_parent", - * // "policySource": "my_policySource", - * // "policyType": "my_policyType", + * // "networkFirewallPolicyEnforcementOrder": "my_networkFirewallPolicyEnforcementOrder", + * // "networkProfile": "my_networkProfile", + * // "params": {}, + * // "peerings": [], * // "region": "my_region", - * // "rolloutOperation": {}, - * // "ruleTupleCount": 0, - * // "rules": [], + * // "routingConfig": {}, * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", - * // "shortName": "my_shortName", - * // "vpcNetworkScope": "my_vpcNetworkScope" + * // "subnetworks": [] * // } * }, * }); @@ -151287,31 +157441,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ insert( - params: Params$Resource$Networkfirewallpolicies$Insert, + params: Params$Resource$Networks$Insert, options: StreamMethodOptions ): Promise>; insert( - params?: Params$Resource$Networkfirewallpolicies$Insert, + params?: Params$Resource$Networks$Insert, options?: MethodOptions ): Promise>; insert( - params: Params$Resource$Networkfirewallpolicies$Insert, + params: Params$Resource$Networks$Insert, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; insert( - params: Params$Resource$Networkfirewallpolicies$Insert, + params: Params$Resource$Networks$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; insert( - params: Params$Resource$Networkfirewallpolicies$Insert, + params: Params$Resource$Networks$Insert, callback: BodyResponseCallback ): void; insert(callback: BodyResponseCallback): void; insert( paramsOrCallback?: - | Params$Resource$Networkfirewallpolicies$Insert + | Params$Resource$Networks$Insert | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -151326,13 +157480,12 @@ export namespace compute_alpha { | void | Promise> | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Networkfirewallpolicies$Insert; + let params = (paramsOrCallback || {}) as Params$Resource$Networks$Insert; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Networkfirewallpolicies$Insert; + params = {} as Params$Resource$Networks$Insert; options = {}; } @@ -151346,8 +157499,7 @@ export namespace compute_alpha { options: Object.assign( { url: ( - rootUrl + - '/compute/alpha/projects/{project}/global/firewallPolicies' + rootUrl + '/compute/alpha/projects/{project}/global/networks' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -151370,7 +157522,7 @@ export namespace compute_alpha { } /** - * Lists all the policies that have been configured for the specified project. + * Retrieves the list of networks available to the specified project. * @example * ```js * // Before running the sample: @@ -151403,7 +157555,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.networkFirewallPolicies.list({ + * const res = await compute.networks.list({ * // A filter expression that filters resources listed in the response. Most * // Compute resources support two types of filter expressions: * // expressions that support regular expressions and expressions that follow @@ -151504,6 +157656,7 @@ export namespace compute_alpha { * // "items": [], * // "kind": "my_kind", * // "nextPageToken": "my_nextPageToken", + * // "selfLink": "my_selfLink", * // "warning": {} * // } * } @@ -151521,52 +157674,51 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ list( - params: Params$Resource$Networkfirewallpolicies$List, + params: Params$Resource$Networks$List, options: StreamMethodOptions ): Promise>; list( - params?: Params$Resource$Networkfirewallpolicies$List, + params?: Params$Resource$Networks$List, options?: MethodOptions - ): Promise>; + ): Promise>; list( - params: Params$Resource$Networkfirewallpolicies$List, + params: Params$Resource$Networks$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; list( - params: Params$Resource$Networkfirewallpolicies$List, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + params: Params$Resource$Networks$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; list( - params: Params$Resource$Networkfirewallpolicies$List, - callback: BodyResponseCallback + params: Params$Resource$Networks$List, + callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; list( paramsOrCallback?: - | Params$Resource$Networkfirewallpolicies$List - | BodyResponseCallback + | Params$Resource$Networks$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Networkfirewallpolicies$List; + let params = (paramsOrCallback || {}) as Params$Resource$Networks$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Networkfirewallpolicies$List; + params = {} as Params$Resource$Networks$List; options = {}; } @@ -151580,8 +157732,7 @@ export namespace compute_alpha { options: Object.assign( { url: ( - rootUrl + - '/compute/alpha/projects/{project}/global/firewallPolicies' + rootUrl + '/compute/alpha/projects/{project}/global/networks' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -151594,17 +157745,17 @@ export namespace compute_alpha { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Patches the specified policy with the data included in the request. + * Lists the internal IP addresses in the specified network. * @example * ```js * // Before running the sample: @@ -151628,6 +157779,7 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -151636,86 +157788,114 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.networkFirewallPolicies.patch({ - * // Name of the firewall policy to update. - * firewallPolicy: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.networks.listIpAddresses({ + * // A filter expression that filters resources listed in the response. Most + * // Compute resources support two types of filter expressions: + * // expressions that support regular expressions and expressions that follow + * // API improvement proposal AIP-160. + * // These two types of filter expressions cannot be mixed in one request. + * // + * // If you want to use AIP-160, your expression must specify the field name, an + * // operator, and the value that you want to use for filtering. The value + * // must be a string, a number, or a boolean. The operator + * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * // + * // For example, if you are filtering Compute Engine instances, you can + * // exclude instances named `example-instance` by specifying + * // `name != example-instance`. + * // + * // The `:*` comparison can be used to test whether a key has been defined. + * // For example, to find all objects with `owner` label use: + * // ``` + * // labels.owner:* + * // ``` + * // + * // You can also filter nested fields. For example, you could specify + * // `scheduling.automaticRestart = false` to include instances only + * // if they are not scheduled for automatic restarts. You can use filtering + * // on nested fields to filter based onresource labels. + * // + * // To filter on multiple expressions, provide each separate expression within + * // parentheses. For example: + * // ``` + * // (scheduling.automaticRestart = true) + * // (cpuPlatform = "Intel Skylake") + * // ``` + * // By default, each expression is an `AND` expression. However, you + * // can include `AND` and `OR` expressions explicitly. + * // For example: + * // ``` + * // (cpuPlatform = "Intel Skylake") OR + * // (cpuPlatform = "Intel Broadwell") AND + * // (scheduling.automaticRestart = true) + * // ``` + * // + * // If you want to use a regular expression, use the `eq` (equal) or `ne` + * // (not equal) operator against a single un-parenthesized expression with or + * // without quotes or against multiple parenthesized expressions. Examples: + * // + * // `fieldname eq unquoted literal` + * // `fieldname eq 'single quoted literal'` + * // `fieldname eq "double quoted literal"` + * // `(fieldname1 eq literal) (fieldname2 ne "literal")` + * // + * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * // The literal value must match the entire field. + * // + * // For example, to filter for instances that do not end with name "instance", + * // you would use `name ne .*instance`. + * // + * // You cannot combine constraints on multiple fields using regular + * // expressions. + * filter: 'placeholder-value', + * // The maximum number of results per page that should be returned. + * // If the number of available results is larger than `maxResults`, + * // Compute Engine returns a `nextPageToken` that can be used to get + * // the next page of results in subsequent list requests. Acceptable values are + * // `0` to `500`, inclusive. (Default: `500`) + * maxResults: 'placeholder-value', + * // Name of the network for this request. + * network: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // Sorts list results by a certain order. By default, results + * // are returned in alphanumerical order based on the resource name. + * // + * // You can also sort results in descending order based on the creation + * // timestamp using `orderBy="creationTimestamp desc"`. This sorts + * // results based on the `creationTimestamp` field in + * // reverse chronological order (newest result first). Use this to sort + * // resources like operations so that the newest operation is returned first. + * // + * // Currently, only sorting by `name` or + * // `creationTimestamp desc` is supported. + * orderBy: 'placeholder-value', + * // Specifies a page token to use. Set `pageToken` to the + * // `nextPageToken` returned by a previous list request to get + * // the next page of results. + * pageToken: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. + * // Opt-in for partial success behavior which provides partial results in case + * // of failure. The default value is false. * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "associations": [], - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "displayName": "my_displayName", - * // "fingerprint": "my_fingerprint", - * // "id": "my_id", - * // "kind": "my_kind", - * // "name": "my_name", - * // "packetMirroringRules": [], - * // "parent": "my_parent", - * // "policySource": "my_policySource", - * // "policyType": "my_policyType", - * // "region": "my_region", - * // "rolloutOperation": {}, - * // "ruleTupleCount": 0, - * // "rules": [], - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "shortName": "my_shortName", - * // "vpcNetworkScope": "my_vpcNetworkScope" - * // } - * }, + * // For example, when partial success behavior is enabled, aggregatedList for a + * // single zone scope either returns all resources in the zone or no resources, + * // with an error code. + * returnPartialSuccess: 'placeholder-value', + * // (Optional) types filter separate by comma, valid values are: SUBNETWORK, + * // RESERVED, PEER_USED, PEER_RESERVED, REMOTE_USED, REMOTE_RESERVED. + * types: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, + * // "items": [], * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", + * // "nextPageToken": "my_nextPageToken", * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" + * // "warning": {} * // } * } * @@ -151731,53 +157911,55 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - patch( - params: Params$Resource$Networkfirewallpolicies$Patch, + listIpAddresses( + params: Params$Resource$Networks$Listipaddresses, options: StreamMethodOptions ): Promise>; - patch( - params?: Params$Resource$Networkfirewallpolicies$Patch, + listIpAddresses( + params?: Params$Resource$Networks$Listipaddresses, options?: MethodOptions - ): Promise>; - patch( - params: Params$Resource$Networkfirewallpolicies$Patch, + ): Promise>; + listIpAddresses( + params: Params$Resource$Networks$Listipaddresses, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Networkfirewallpolicies$Patch, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + listIpAddresses( + params: Params$Resource$Networks$Listipaddresses, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Networkfirewallpolicies$Patch, - callback: BodyResponseCallback + listIpAddresses( + params: Params$Resource$Networks$Listipaddresses, + callback: BodyResponseCallback ): void; - patch(callback: BodyResponseCallback): void; - patch( + listIpAddresses( + callback: BodyResponseCallback + ): void; + listIpAddresses( paramsOrCallback?: - | Params$Resource$Networkfirewallpolicies$Patch - | BodyResponseCallback + | Params$Resource$Networks$Listipaddresses + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Networkfirewallpolicies$Patch; + {}) as Params$Resource$Networks$Listipaddresses; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Networkfirewallpolicies$Patch; + params = {} as Params$Resource$Networks$Listipaddresses; options = {}; } @@ -151792,30 +157974,30 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/firewallPolicies/{firewallPolicy}' + '/compute/alpha/projects/{project}/global/networks/{network}/listIpAddresses' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['project', 'firewallPolicy'], - pathParams: ['firewallPolicy', 'project'], + requiredParams: ['project', 'network'], + pathParams: ['network', 'project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Updates an association for the specified network firewall policy. + * Lists the internal IP owners in the specified network. * @example * ```js * // Before running the sample: @@ -151839,6 +158021,7 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -151847,72 +158030,122 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.networkFirewallPolicies.patchAssociation({ - * // Name of the firewall policy to update. - * firewallPolicy: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.networks.listIpOwners({ + * // A filter expression that filters resources listed in the response. Most + * // Compute resources support two types of filter expressions: + * // expressions that support regular expressions and expressions that follow + * // API improvement proposal AIP-160. + * // These two types of filter expressions cannot be mixed in one request. + * // + * // If you want to use AIP-160, your expression must specify the field name, an + * // operator, and the value that you want to use for filtering. The value + * // must be a string, a number, or a boolean. The operator + * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * // + * // For example, if you are filtering Compute Engine instances, you can + * // exclude instances named `example-instance` by specifying + * // `name != example-instance`. + * // + * // The `:*` comparison can be used to test whether a key has been defined. + * // For example, to find all objects with `owner` label use: + * // ``` + * // labels.owner:* + * // ``` + * // + * // You can also filter nested fields. For example, you could specify + * // `scheduling.automaticRestart = false` to include instances only + * // if they are not scheduled for automatic restarts. You can use filtering + * // on nested fields to filter based onresource labels. + * // + * // To filter on multiple expressions, provide each separate expression within + * // parentheses. For example: + * // ``` + * // (scheduling.automaticRestart = true) + * // (cpuPlatform = "Intel Skylake") + * // ``` + * // By default, each expression is an `AND` expression. However, you + * // can include `AND` and `OR` expressions explicitly. + * // For example: + * // ``` + * // (cpuPlatform = "Intel Skylake") OR + * // (cpuPlatform = "Intel Broadwell") AND + * // (scheduling.automaticRestart = true) + * // ``` + * // + * // If you want to use a regular expression, use the `eq` (equal) or `ne` + * // (not equal) operator against a single un-parenthesized expression with or + * // without quotes or against multiple parenthesized expressions. Examples: + * // + * // `fieldname eq unquoted literal` + * // `fieldname eq 'single quoted literal'` + * // `fieldname eq "double quoted literal"` + * // `(fieldname1 eq literal) (fieldname2 ne "literal")` + * // + * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * // The literal value must match the entire field. + * // + * // For example, to filter for instances that do not end with name "instance", + * // you would use `name ne .*instance`. + * // + * // You cannot combine constraints on multiple fields using regular + * // expressions. + * filter: 'placeholder-value', + * // (Optional) IP CIDR range filter, example: "10.128.10.0/30". + * ipCidrRange: 'placeholder-value', + * // The maximum number of results per page that should be returned. + * // If the number of available results is larger than `maxResults`, + * // Compute Engine returns a `nextPageToken` that can be used to get + * // the next page of results in subsequent list requests. Acceptable values are + * // `0` to `500`, inclusive. (Default: `500`) + * maxResults: 'placeholder-value', + * // Name of the network to return. + * network: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // Sorts list results by a certain order. By default, results + * // are returned in alphanumerical order based on the resource name. + * // + * // You can also sort results in descending order based on the creation + * // timestamp using `orderBy="creationTimestamp desc"`. This sorts + * // results based on the `creationTimestamp` field in + * // reverse chronological order (newest result first). Use this to sort + * // resources like operations so that the newest operation is returned first. + * // + * // Currently, only sorting by `name` or + * // `creationTimestamp desc` is supported. + * orderBy: 'placeholder-value', + * // (Optional) Project IDs filter, example: "project-1,project-2". + * ownerProjects: 'placeholder-value', + * // (Optional) Owner types filter, example: "instance,forwardingRule". + * ownerTypes: 'placeholder-value', + * // Specifies a page token to use. Set `pageToken` to the + * // `nextPageToken` returned by a previous list request to get + * // the next page of results. + * pageToken: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. + * // Opt-in for partial success behavior which provides partial results in case + * // of failure. The default value is false. * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "attachmentTarget": "my_attachmentTarget", - * // "displayName": "my_displayName", - * // "firewallPolicyId": "my_firewallPolicyId", - * // "name": "my_name", - * // "priority": 0, - * // "shortName": "my_shortName" - * // } - * }, + * // For example, when partial success behavior is enabled, aggregatedList for a + * // single zone scope either returns all resources in the zone or no resources, + * // with an error code. + * returnPartialSuccess: 'placeholder-value', + * // (Optional) Subnetwork name filter. + * subnetName: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * // (Optional) Subnetwork region filter. + * subnetRegion: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * }); * console.log(res.data); * * // Example response * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, + * // "items": [], * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", + * // "nextPageToken": "my_nextPageToken", * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" + * // "unreachables": [], + * // "warning": {} * // } * } * @@ -151928,53 +158161,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - patchAssociation( - params: Params$Resource$Networkfirewallpolicies$Patchassociation, + listIpOwners( + params: Params$Resource$Networks$Listipowners, options: StreamMethodOptions ): Promise>; - patchAssociation( - params?: Params$Resource$Networkfirewallpolicies$Patchassociation, + listIpOwners( + params?: Params$Resource$Networks$Listipowners, options?: MethodOptions - ): Promise>; - patchAssociation( - params: Params$Resource$Networkfirewallpolicies$Patchassociation, + ): Promise>; + listIpOwners( + params: Params$Resource$Networks$Listipowners, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patchAssociation( - params: Params$Resource$Networkfirewallpolicies$Patchassociation, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + listIpOwners( + params: Params$Resource$Networks$Listipowners, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - patchAssociation( - params: Params$Resource$Networkfirewallpolicies$Patchassociation, - callback: BodyResponseCallback + listIpOwners( + params: Params$Resource$Networks$Listipowners, + callback: BodyResponseCallback ): void; - patchAssociation(callback: BodyResponseCallback): void; - patchAssociation( + listIpOwners(callback: BodyResponseCallback): void; + listIpOwners( paramsOrCallback?: - | Params$Resource$Networkfirewallpolicies$Patchassociation - | BodyResponseCallback + | Params$Resource$Networks$Listipowners + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Networkfirewallpolicies$Patchassociation; + {}) as Params$Resource$Networks$Listipowners; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Networkfirewallpolicies$Patchassociation; + params = {} as Params$Resource$Networks$Listipowners; options = {}; } @@ -151989,30 +158222,30 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/firewallPolicies/{firewallPolicy}/patchAssociation' + '/compute/alpha/projects/{project}/global/networks/{network}/listIpOwners' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['project', 'firewallPolicy'], - pathParams: ['firewallPolicy', 'project'], + requiredParams: ['project', 'network'], + pathParams: ['network', 'project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Patches a packet mirroring rule of the specified priority. + * Lists the peering routes exchanged over peering connection. * @example * ```js * // Before running the sample: @@ -152036,6 +158269,7 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -152044,85 +158278,118 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.networkFirewallPolicies.patchPacketMirroringRule({ - * // Name of the firewall policy to update. - * firewallPolicy: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // The priority of the rule to patch. - * priority: 'placeholder-value', + * const res = await compute.networks.listPeeringRoutes({ + * // The direction of the exchanged routes. + * direction: 'placeholder-value', + * // A filter expression that filters resources listed in the response. Most + * // Compute resources support two types of filter expressions: + * // expressions that support regular expressions and expressions that follow + * // API improvement proposal AIP-160. + * // These two types of filter expressions cannot be mixed in one request. + * // + * // If you want to use AIP-160, your expression must specify the field name, an + * // operator, and the value that you want to use for filtering. The value + * // must be a string, a number, or a boolean. The operator + * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * // + * // For example, if you are filtering Compute Engine instances, you can + * // exclude instances named `example-instance` by specifying + * // `name != example-instance`. + * // + * // The `:*` comparison can be used to test whether a key has been defined. + * // For example, to find all objects with `owner` label use: + * // ``` + * // labels.owner:* + * // ``` + * // + * // You can also filter nested fields. For example, you could specify + * // `scheduling.automaticRestart = false` to include instances only + * // if they are not scheduled for automatic restarts. You can use filtering + * // on nested fields to filter based onresource labels. + * // + * // To filter on multiple expressions, provide each separate expression within + * // parentheses. For example: + * // ``` + * // (scheduling.automaticRestart = true) + * // (cpuPlatform = "Intel Skylake") + * // ``` + * // By default, each expression is an `AND` expression. However, you + * // can include `AND` and `OR` expressions explicitly. + * // For example: + * // ``` + * // (cpuPlatform = "Intel Skylake") OR + * // (cpuPlatform = "Intel Broadwell") AND + * // (scheduling.automaticRestart = true) + * // ``` + * // + * // If you want to use a regular expression, use the `eq` (equal) or `ne` + * // (not equal) operator against a single un-parenthesized expression with or + * // without quotes or against multiple parenthesized expressions. Examples: + * // + * // `fieldname eq unquoted literal` + * // `fieldname eq 'single quoted literal'` + * // `fieldname eq "double quoted literal"` + * // `(fieldname1 eq literal) (fieldname2 ne "literal")` + * // + * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * // The literal value must match the entire field. + * // + * // For example, to filter for instances that do not end with name "instance", + * // you would use `name ne .*instance`. + * // + * // You cannot combine constraints on multiple fields using regular + * // expressions. + * filter: 'placeholder-value', + * // The maximum number of results per page that should be returned. + * // If the number of available results is larger than `maxResults`, + * // Compute Engine returns a `nextPageToken` that can be used to get + * // the next page of results in subsequent list requests. Acceptable values are + * // `0` to `500`, inclusive. (Default: `500`) + * maxResults: 'placeholder-value', + * // Name of the network for this request. + * network: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * // Sorts list results by a certain order. By default, results + * // are returned in alphanumerical order based on the resource name. + * // + * // You can also sort results in descending order based on the creation + * // timestamp using `orderBy="creationTimestamp desc"`. This sorts + * // results based on the `creationTimestamp` field in + * // reverse chronological order (newest result first). Use this to sort + * // resources like operations so that the newest operation is returned first. + * // + * // Currently, only sorting by `name` or + * // `creationTimestamp desc` is supported. + * orderBy: 'placeholder-value', + * // Specifies a page token to use. Set `pageToken` to the + * // `nextPageToken` returned by a previous list request to get + * // the next page of results. + * pageToken: 'placeholder-value', + * // The response will show routes exchanged over the given peering connection. + * peeringName: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. + * // The region of the request. The response will include all subnet routes, + * // static routes and dynamic routes in the region. + * region: 'placeholder-value', + * // Opt-in for partial success behavior which provides partial results in case + * // of failure. The default value is false. * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "action": "my_action", - * // "description": "my_description", - * // "direction": "my_direction", - * // "disabled": false, - * // "enableLogging": false, - * // "kind": "my_kind", - * // "match": {}, - * // "priority": 0, - * // "ruleName": "my_ruleName", - * // "ruleTupleCount": 0, - * // "securityProfileGroup": "my_securityProfileGroup", - * // "targetForwardingRules": [], - * // "targetResources": [], - * // "targetSecureTags": [], - * // "targetServiceAccounts": [], - * // "targetType": "my_targetType", - * // "tlsInspect": false - * // } - * }, + * // For example, when partial success behavior is enabled, aggregatedList for a + * // single zone scope either returns all resources in the zone or no resources, + * // with an error code. + * returnPartialSuccess: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, + * // "items": [], * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", + * // "nextPageToken": "my_nextPageToken", * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" + * // "warning": {} * // } * } * @@ -152138,56 +158405,57 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - patchPacketMirroringRule( - params: Params$Resource$Networkfirewallpolicies$Patchpacketmirroringrule, + listPeeringRoutes( + params: Params$Resource$Networks$Listpeeringroutes, options: StreamMethodOptions ): Promise>; - patchPacketMirroringRule( - params?: Params$Resource$Networkfirewallpolicies$Patchpacketmirroringrule, + listPeeringRoutes( + params?: Params$Resource$Networks$Listpeeringroutes, options?: MethodOptions - ): Promise>; - patchPacketMirroringRule( - params: Params$Resource$Networkfirewallpolicies$Patchpacketmirroringrule, + ): Promise>; + listPeeringRoutes( + params: Params$Resource$Networks$Listpeeringroutes, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patchPacketMirroringRule( - params: Params$Resource$Networkfirewallpolicies$Patchpacketmirroringrule, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + listPeeringRoutes( + params: Params$Resource$Networks$Listpeeringroutes, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - patchPacketMirroringRule( - params: Params$Resource$Networkfirewallpolicies$Patchpacketmirroringrule, - callback: BodyResponseCallback + listPeeringRoutes( + params: Params$Resource$Networks$Listpeeringroutes, + callback: BodyResponseCallback ): void; - patchPacketMirroringRule( - callback: BodyResponseCallback + listPeeringRoutes( + callback: BodyResponseCallback ): void; - patchPacketMirroringRule( + listPeeringRoutes( paramsOrCallback?: - | Params$Resource$Networkfirewallpolicies$Patchpacketmirroringrule - | BodyResponseCallback + | Params$Resource$Networks$Listpeeringroutes + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Networkfirewallpolicies$Patchpacketmirroringrule; + {}) as Params$Resource$Networks$Listpeeringroutes; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Networkfirewallpolicies$Patchpacketmirroringrule; + params = {} as Params$Resource$Networks$Listpeeringroutes; options = {}; } @@ -152202,30 +158470,31 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/firewallPolicies/{firewallPolicy}/patchPacketMirroringRule' + '/compute/alpha/projects/{project}/global/networks/{network}/listPeeringRoutes' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['project', 'firewallPolicy'], - pathParams: ['firewallPolicy', 'project'], + requiredParams: ['project', 'network'], + pathParams: ['network', 'project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Patches a rule of the specified priority. + * Patches the specified network with the data included in the request. + * Only routingConfig can be modified. * @example * ```js * // Before running the sample: @@ -152257,11 +158526,9 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.networkFirewallPolicies.patchRule({ - * // Name of the firewall policy to update. - * firewallPolicy: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // The priority of the rule to patch. - * priority: 'placeholder-value', + * const res = await compute.networks.patch({ + * // Name of the network to update. + * network: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -152284,23 +158551,27 @@ export namespace compute_alpha { * requestBody: { * // request body parameters * // { - * // "action": "my_action", + * // "IPv4Range": "my_IPv4Range", + * // "autoCreateSubnetworks": false, + * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", - * // "direction": "my_direction", - * // "disabled": false, - * // "enableLogging": false, + * // "enableUlaInternalIpv6": false, + * // "firewallPolicy": "my_firewallPolicy", + * // "gatewayIPv4": "my_gatewayIPv4", + * // "id": "my_id", + * // "internalIpv6Range": "my_internalIpv6Range", * // "kind": "my_kind", - * // "match": {}, - * // "priority": 0, - * // "ruleName": "my_ruleName", - * // "ruleTupleCount": 0, - * // "securityProfileGroup": "my_securityProfileGroup", - * // "targetForwardingRules": [], - * // "targetResources": [], - * // "targetSecureTags": [], - * // "targetServiceAccounts": [], - * // "targetType": "my_targetType", - * // "tlsInspect": false + * // "mtu": 0, + * // "name": "my_name", + * // "networkFirewallPolicyEnforcementOrder": "my_networkFirewallPolicyEnforcementOrder", + * // "networkProfile": "my_networkProfile", + * // "params": {}, + * // "peerings": [], + * // "region": "my_region", + * // "routingConfig": {}, + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "subnetworks": [] * // } * }, * }); @@ -152351,32 +158622,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - patchRule( - params: Params$Resource$Networkfirewallpolicies$Patchrule, + patch( + params: Params$Resource$Networks$Patch, options: StreamMethodOptions ): Promise>; - patchRule( - params?: Params$Resource$Networkfirewallpolicies$Patchrule, + patch( + params?: Params$Resource$Networks$Patch, options?: MethodOptions ): Promise>; - patchRule( - params: Params$Resource$Networkfirewallpolicies$Patchrule, + patch( + params: Params$Resource$Networks$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patchRule( - params: Params$Resource$Networkfirewallpolicies$Patchrule, + patch( + params: Params$Resource$Networks$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patchRule( - params: Params$Resource$Networkfirewallpolicies$Patchrule, + patch( + params: Params$Resource$Networks$Patch, callback: BodyResponseCallback ): void; - patchRule(callback: BodyResponseCallback): void; - patchRule( + patch(callback: BodyResponseCallback): void; + patch( paramsOrCallback?: - | Params$Resource$Networkfirewallpolicies$Patchrule + | Params$Resource$Networks$Patch | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -152391,13 +158662,12 @@ export namespace compute_alpha { | void | Promise> | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Networkfirewallpolicies$Patchrule; + let params = (paramsOrCallback || {}) as Params$Resource$Networks$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Networkfirewallpolicies$Patchrule; + params = {} as Params$Resource$Networks$Patch; options = {}; } @@ -152412,16 +158682,16 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/firewallPolicies/{firewallPolicy}/patchRule' + '/compute/alpha/projects/{project}/global/networks/{network}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'PATCH', apiVersion: '', }, options ), params, - requiredParams: ['project', 'firewallPolicy'], - pathParams: ['firewallPolicy', 'project'], + requiredParams: ['project', 'network'], + pathParams: ['network', 'project'], context: this.context, }; if (callback) { @@ -152435,7 +158705,7 @@ export namespace compute_alpha { } /** - * Removes an association for the specified firewall policy. + * Removes a peering from the specified network. * @example * ```js * // Before running the sample: @@ -152467,11 +158737,9 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.networkFirewallPolicies.removeAssociation({ - * // Name of the firewall policy to update. - * firewallPolicy: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // Name for the attachment that will be removed. - * name: 'placeholder-value', + * const res = await compute.networks.removePeering({ + * // Name of the network resource to remove peering from. + * network: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -152489,6 +158757,14 @@ export namespace compute_alpha { * // a valid UUID with the exception that zero UUID is not supported * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "name": "my_name" + * // } + * }, * }); * console.log(res.data); * @@ -152537,32 +158813,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - removeAssociation( - params: Params$Resource$Networkfirewallpolicies$Removeassociation, + removePeering( + params: Params$Resource$Networks$Removepeering, options: StreamMethodOptions ): Promise>; - removeAssociation( - params?: Params$Resource$Networkfirewallpolicies$Removeassociation, + removePeering( + params?: Params$Resource$Networks$Removepeering, options?: MethodOptions ): Promise>; - removeAssociation( - params: Params$Resource$Networkfirewallpolicies$Removeassociation, + removePeering( + params: Params$Resource$Networks$Removepeering, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - removeAssociation( - params: Params$Resource$Networkfirewallpolicies$Removeassociation, + removePeering( + params: Params$Resource$Networks$Removepeering, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - removeAssociation( - params: Params$Resource$Networkfirewallpolicies$Removeassociation, + removePeering( + params: Params$Resource$Networks$Removepeering, callback: BodyResponseCallback ): void; - removeAssociation(callback: BodyResponseCallback): void; - removeAssociation( + removePeering(callback: BodyResponseCallback): void; + removePeering( paramsOrCallback?: - | Params$Resource$Networkfirewallpolicies$Removeassociation + | Params$Resource$Networks$Removepeering | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -152578,13 +158854,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Networkfirewallpolicies$Removeassociation; + {}) as Params$Resource$Networks$Removepeering; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Networkfirewallpolicies$Removeassociation; + params = {} as Params$Resource$Networks$Removepeering; options = {}; } @@ -152599,7 +158874,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/firewallPolicies/{firewallPolicy}/removeAssociation' + '/compute/alpha/projects/{project}/global/networks/{network}/removePeering' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -152607,8 +158882,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'firewallPolicy'], - pathParams: ['firewallPolicy', 'project'], + requiredParams: ['project', 'network'], + pathParams: ['network', 'project'], context: this.context, }; if (callback) { @@ -152622,7 +158897,8 @@ export namespace compute_alpha { } /** - * Deletes a packet mirroring rule of the specified priority. + * Requests to remove a peering from the specified network. Applicable only + * for PeeringConnection with update_strategy=CONSENSUS. * @example * ```js * // Before running the sample: @@ -152654,11 +158930,9 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.networkFirewallPolicies.removePacketMirroringRule({ - * // Name of the firewall policy to update. - * firewallPolicy: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // The priority of the rule to remove from the firewall policy. - * priority: 'placeholder-value', + * const res = await compute.networks.requestRemovePeering({ + * // Name of the network resource to remove peering from. + * network: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -152676,6 +158950,14 @@ export namespace compute_alpha { * // a valid UUID with the exception that zero UUID is not supported * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "name": "my_name" + * // } + * }, * }); * console.log(res.data); * @@ -152724,34 +159006,34 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - removePacketMirroringRule( - params: Params$Resource$Networkfirewallpolicies$Removepacketmirroringrule, + requestRemovePeering( + params: Params$Resource$Networks$Requestremovepeering, options: StreamMethodOptions ): Promise>; - removePacketMirroringRule( - params?: Params$Resource$Networkfirewallpolicies$Removepacketmirroringrule, + requestRemovePeering( + params?: Params$Resource$Networks$Requestremovepeering, options?: MethodOptions ): Promise>; - removePacketMirroringRule( - params: Params$Resource$Networkfirewallpolicies$Removepacketmirroringrule, + requestRemovePeering( + params: Params$Resource$Networks$Requestremovepeering, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - removePacketMirroringRule( - params: Params$Resource$Networkfirewallpolicies$Removepacketmirroringrule, + requestRemovePeering( + params: Params$Resource$Networks$Requestremovepeering, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - removePacketMirroringRule( - params: Params$Resource$Networkfirewallpolicies$Removepacketmirroringrule, + requestRemovePeering( + params: Params$Resource$Networks$Requestremovepeering, callback: BodyResponseCallback ): void; - removePacketMirroringRule( + requestRemovePeering( callback: BodyResponseCallback ): void; - removePacketMirroringRule( + requestRemovePeering( paramsOrCallback?: - | Params$Resource$Networkfirewallpolicies$Removepacketmirroringrule + | Params$Resource$Networks$Requestremovepeering | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -152767,13 +159049,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Networkfirewallpolicies$Removepacketmirroringrule; + {}) as Params$Resource$Networks$Requestremovepeering; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Networkfirewallpolicies$Removepacketmirroringrule; + params = {} as Params$Resource$Networks$Requestremovepeering; options = {}; } @@ -152788,7 +159069,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/firewallPolicies/{firewallPolicy}/removePacketMirroringRule' + '/compute/alpha/projects/{project}/global/networks/{network}/requestRemovePeering' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -152796,8 +159077,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'firewallPolicy'], - pathParams: ['firewallPolicy', 'project'], + requiredParams: ['project', 'network'], + pathParams: ['network', 'project'], context: this.context, }; if (callback) { @@ -152811,7 +159092,7 @@ export namespace compute_alpha { } /** - * Deletes a rule of the specified priority. + * Switches the network mode from auto subnet mode to custom subnet mode. * @example * ```js * // Before running the sample: @@ -152843,11 +159124,9 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.networkFirewallPolicies.removeRule({ - * // Name of the firewall policy to update. - * firewallPolicy: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // The priority of the rule to remove from the firewall policy. - * priority: 'placeholder-value', + * const res = await compute.networks.switchToCustomMode({ + * // Name of the network to be updated. + * network: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -152913,32 +159192,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - removeRule( - params: Params$Resource$Networkfirewallpolicies$Removerule, + switchToCustomMode( + params: Params$Resource$Networks$Switchtocustommode, options: StreamMethodOptions ): Promise>; - removeRule( - params?: Params$Resource$Networkfirewallpolicies$Removerule, + switchToCustomMode( + params?: Params$Resource$Networks$Switchtocustommode, options?: MethodOptions ): Promise>; - removeRule( - params: Params$Resource$Networkfirewallpolicies$Removerule, + switchToCustomMode( + params: Params$Resource$Networks$Switchtocustommode, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - removeRule( - params: Params$Resource$Networkfirewallpolicies$Removerule, + switchToCustomMode( + params: Params$Resource$Networks$Switchtocustommode, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - removeRule( - params: Params$Resource$Networkfirewallpolicies$Removerule, + switchToCustomMode( + params: Params$Resource$Networks$Switchtocustommode, callback: BodyResponseCallback ): void; - removeRule(callback: BodyResponseCallback): void; - removeRule( + switchToCustomMode(callback: BodyResponseCallback): void; + switchToCustomMode( paramsOrCallback?: - | Params$Resource$Networkfirewallpolicies$Removerule + | Params$Resource$Networks$Switchtocustommode | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -152954,12 +159233,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Networkfirewallpolicies$Removerule; + {}) as Params$Resource$Networks$Switchtocustommode; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Networkfirewallpolicies$Removerule; + params = {} as Params$Resource$Networks$Switchtocustommode; options = {}; } @@ -152974,7 +159253,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/firewallPolicies/{firewallPolicy}/removeRule' + '/compute/alpha/projects/{project}/global/networks/{network}/switchToCustomMode' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -152982,8 +159261,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'firewallPolicy'], - pathParams: ['firewallPolicy', 'project'], + requiredParams: ['project', 'network'], + pathParams: ['network', 'project'], context: this.context, }; if (callback) { @@ -152997,8 +159276,7 @@ export namespace compute_alpha { } /** - * Sets the access control policy on the specified resource. - * Replaces any existing policy. + * Returns permissions that a caller has on the specified resource. * @example * ```js * // Before running the sample: @@ -153022,6 +159300,7 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -153030,7 +159309,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.networkFirewallPolicies.setIamPolicy({ + * const res = await compute.networks.testIamPermissions({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -153041,9 +159320,7 @@ export namespace compute_alpha { * requestBody: { * // request body parameters * // { - * // "bindings": [], - * // "etag": "my_etag", - * // "policy": {} + * // "permissions": [] * // } * }, * }); @@ -153051,10 +159328,7 @@ export namespace compute_alpha { * * // Example response * // { - * // "auditConfigs": [], - * // "bindings": [], - * // "etag": "my_etag", - * // "version": 0 + * // "permissions": [] * // } * } * @@ -153070,53 +159344,57 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - setIamPolicy( - params: Params$Resource$Networkfirewallpolicies$Setiampolicy, + testIamPermissions( + params: Params$Resource$Networks$Testiampermissions, options: StreamMethodOptions ): Promise>; - setIamPolicy( - params?: Params$Resource$Networkfirewallpolicies$Setiampolicy, + testIamPermissions( + params?: Params$Resource$Networks$Testiampermissions, options?: MethodOptions - ): Promise>; - setIamPolicy( - params: Params$Resource$Networkfirewallpolicies$Setiampolicy, + ): Promise>; + testIamPermissions( + params: Params$Resource$Networks$Testiampermissions, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setIamPolicy( - params: Params$Resource$Networkfirewallpolicies$Setiampolicy, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + testIamPermissions( + params: Params$Resource$Networks$Testiampermissions, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - setIamPolicy( - params: Params$Resource$Networkfirewallpolicies$Setiampolicy, - callback: BodyResponseCallback + testIamPermissions( + params: Params$Resource$Networks$Testiampermissions, + callback: BodyResponseCallback ): void; - setIamPolicy(callback: BodyResponseCallback): void; - setIamPolicy( + testIamPermissions( + callback: BodyResponseCallback + ): void; + testIamPermissions( paramsOrCallback?: - | Params$Resource$Networkfirewallpolicies$Setiampolicy - | BodyResponseCallback + | Params$Resource$Networks$Testiampermissions + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Networkfirewallpolicies$Setiampolicy; + {}) as Params$Resource$Networks$Testiampermissions; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Networkfirewallpolicies$Setiampolicy; + params = {} as Params$Resource$Networks$Testiampermissions; options = {}; } @@ -153131,7 +159409,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/firewallPolicies/{resource}/setIamPolicy' + '/compute/alpha/projects/{project}/global/networks/{resource}/testIamPermissions' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -153144,17 +159422,19 @@ export namespace compute_alpha { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Returns permissions that a caller has on the specified resource. + * 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. * @example * ```js * // Before running the sample: @@ -153178,7 +159458,6 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -153187,18 +159466,32 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.networkFirewallPolicies.testIamPermissions({ + * const res = await compute.networks.updatePeering({ + * // Name of the network resource which the updated peering is belonging to. + * network: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name or id of the resource for this request. - * resource: '[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', * * // Request body metadata * requestBody: { * // request body parameters * // { - * // "permissions": [] + * // "networkPeering": {} * // } * }, * }); @@ -153206,7 +159499,34 @@ export namespace compute_alpha { * * // Example response * // { - * // "permissions": [] + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" * // } * } * @@ -153222,58 +159542,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - testIamPermissions( - params: Params$Resource$Networkfirewallpolicies$Testiampermissions, + updatePeering( + params: Params$Resource$Networks$Updatepeering, options: StreamMethodOptions ): Promise>; - testIamPermissions( - params?: Params$Resource$Networkfirewallpolicies$Testiampermissions, + updatePeering( + params?: Params$Resource$Networks$Updatepeering, options?: MethodOptions - ): Promise>; - testIamPermissions( - params: Params$Resource$Networkfirewallpolicies$Testiampermissions, + ): Promise>; + updatePeering( + params: Params$Resource$Networks$Updatepeering, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - testIamPermissions( - params: Params$Resource$Networkfirewallpolicies$Testiampermissions, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - testIamPermissions( - params: Params$Resource$Networkfirewallpolicies$Testiampermissions, - callback: BodyResponseCallback + updatePeering( + params: Params$Resource$Networks$Updatepeering, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - testIamPermissions( - callback: BodyResponseCallback + updatePeering( + params: Params$Resource$Networks$Updatepeering, + callback: BodyResponseCallback ): void; - testIamPermissions( + updatePeering(callback: BodyResponseCallback): void; + updatePeering( paramsOrCallback?: - | Params$Resource$Networkfirewallpolicies$Testiampermissions - | BodyResponseCallback + | Params$Resource$Networks$Updatepeering + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Networkfirewallpolicies$Testiampermissions; + {}) as Params$Resource$Networks$Updatepeering; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Networkfirewallpolicies$Testiampermissions; + params = {} as Params$Resource$Networks$Updatepeering; options = {}; } @@ -153288,50 +159603,38 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/firewallPolicies/{resource}/testIamPermissions' + '/compute/alpha/projects/{project}/global/networks/{network}/updatePeering' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'PATCH', apiVersion: '', }, options ), params, - requiredParams: ['project', 'resource'], - pathParams: ['project', 'resource'], + requiredParams: ['project', 'network'], + pathParams: ['network', 'project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } } - export interface Params$Resource$Networkfirewallpolicies$Addassociation extends StandardParameters { - /** - * Name of the firewall policy associated with the target network to swap - * association with. This field is mutually exclusive with - * 'replace_existing_association'. - */ - associatedPolicyToBeReplaced?: string; + export interface Params$Resource$Networks$Addpeering extends StandardParameters { /** - * Name of the firewall policy to update. + * Name of the network resource to add peering to. */ - firewallPolicy?: string; + network?: string; /** * Project ID for this request. */ project?: string; - /** - * 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. - */ - replaceExistingAssociation?: boolean; /** * An optional request ID to identify requests. Specify a unique request ID so * that if you must retry your request, the server will know to ignore the @@ -153352,23 +159655,44 @@ export namespace compute_alpha { /** * Request body metadata */ - requestBody?: Schema$FirewallPolicyAssociation; + requestBody?: Schema$NetworksAddPeeringRequest; } - export interface Params$Resource$Networkfirewallpolicies$Addpacketmirroringrule extends StandardParameters { + export interface Params$Resource$Networks$Cancelrequestremovepeering extends StandardParameters { /** - * Name of the firewall policy to update. + * Name of the network resource to remove peering from. */ - firewallPolicy?: string; + network?: string; /** - * When rule.priority is not specified, auto choose a unused priority betweenminPriority and maxPriority\>. - * This field is exclusive with rule.priority. + * Project ID for this request. */ - maxPriority?: number; + project?: string; /** - * When rule.priority is not specified, auto choose a unused priority betweenminPriority and maxPriority\>. - * This field is exclusive with rule.priority. + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). */ - minPriority?: number; + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$NetworksCancelRequestRemovePeeringRequest; + } + export interface Params$Resource$Networks$Delete extends StandardParameters { + /** + * Name of the network to delete. + */ + network?: string; /** * Project ID for this request. */ @@ -153389,27 +159713,28 @@ export namespace compute_alpha { * (00000000-0000-0000-0000-000000000000). */ requestId?: string; - + } + export interface Params$Resource$Networks$Get extends StandardParameters { /** - * Request body metadata + * Name of the network to return. */ - requestBody?: Schema$FirewallPolicyRule; - } - export interface Params$Resource$Networkfirewallpolicies$Addrule extends StandardParameters { + network?: string; /** - * Name of the firewall policy to update. + * Project ID for this request. */ - firewallPolicy?: string; + project?: string; + } + export interface Params$Resource$Networks$Geteffectivefirewalls extends StandardParameters { /** - * When rule.priority is not specified, auto choose a unused priority betweenminPriority and maxPriority\>. - * This field is exclusive with rule.priority. + * Name of the network for this request. */ - maxPriority?: number; + network?: string; /** - * When rule.priority is not specified, auto choose a unused priority betweenminPriority and maxPriority\>. - * This field is exclusive with rule.priority. + * Project ID for this request. */ - minPriority?: number; + project?: string; + } + export interface Params$Resource$Networks$Insert extends StandardParameters { /** * Project ID for this request. */ @@ -153434,9 +159759,9 @@ export namespace compute_alpha { /** * Request body metadata */ - requestBody?: Schema$FirewallPolicyRule; + requestBody?: Schema$Network; } - export interface Params$Resource$Networkfirewallpolicies$Aggregatedlist extends StandardParameters { + export interface Params$Resource$Networks$List extends StandardParameters { /** * A filter expression that filters resources listed in the response. Most * Compute resources support two types of filter expressions: @@ -153498,16 +159823,6 @@ export namespace compute_alpha { * expressions. */ filter?: string; - /** - * 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. - */ - includeAllScopes?: boolean; /** * The maximum number of results per page that should be returned. * If the number of available results is larger than `maxResults`, @@ -153549,162 +159864,121 @@ export namespace compute_alpha { * with an error code. */ returnPartialSuccess?: boolean; - /** - * The Shared VPC service project id or service project number for which - * aggregated list request is invoked for subnetworks list-usable api. - */ - serviceProjectNumber?: string; } - export interface Params$Resource$Networkfirewallpolicies$Clonerules extends StandardParameters { - /** - * Name of the firewall policy to update. - */ - firewallPolicy?: string; - /** - * Project ID for this request. - */ - project?: string; + export interface Params$Resource$Networks$Listipaddresses extends StandardParameters { /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. + * A filter expression that filters resources listed in the response. Most + * Compute resources support two types of filter expressions: + * expressions that support regular expressions and expressions that follow + * API improvement proposal AIP-160. + * These two types of filter expressions cannot be mixed in one 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. + * If you want to use AIP-160, your expression must specify the field name, an + * operator, and the value that you want to use for filtering. The value + * must be a string, a number, or a boolean. The operator + * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The firewall policy from which to copy rules. - */ - sourceFirewallPolicy?: string; - } - export interface Params$Resource$Networkfirewallpolicies$Delete extends StandardParameters { - /** - * Name of the firewall policy to delete. - */ - firewallPolicy?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. + * For example, if you are filtering Compute Engine instances, you can + * exclude instances named `example-instance` by specifying + * `name != example-instance`. * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. + * The `:*` comparison can be used to test whether a key has been defined. + * For example, to find all objects with `owner` label use: + * ``` + * labels.owner:* + * ``` * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - } - export interface Params$Resource$Networkfirewallpolicies$Get extends StandardParameters { - /** - * Name of the firewall policy to get. - */ - firewallPolicy?: string; - /** - * Project ID for this request. - */ - project?: string; - } - export interface Params$Resource$Networkfirewallpolicies$Getassociation extends StandardParameters { - /** - * Name of the firewall policy to which the queried association belongs. - */ - firewallPolicy?: string; - /** - * The name of the association to get from the firewall policy. - */ - name?: string; - /** - * Project ID for this request. - */ - project?: string; - } - export interface Params$Resource$Networkfirewallpolicies$Getiampolicy extends StandardParameters { - /** - * Requested IAM Policy version. - */ - optionsRequestedPolicyVersion?: number; - /** - * Project ID for this request. - */ - project?: string; - /** - * Name or id of the resource for this request. - */ - resource?: string; - } - export interface Params$Resource$Networkfirewallpolicies$Getpacketmirroringrule extends StandardParameters { - /** - * Name of the firewall policy to which the queried rule belongs. - */ - firewallPolicy?: string; - /** - * The priority of the rule to get from the firewall policy. + * You can also filter nested fields. For example, you could specify + * `scheduling.automaticRestart = false` to include instances only + * if they are not scheduled for automatic restarts. You can use filtering + * on nested fields to filter based onresource labels. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example: + * ``` + * (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake") + * ``` + * By default, each expression is an `AND` expression. However, you + * can include `AND` and `OR` expressions explicitly. + * For example: + * ``` + * (cpuPlatform = "Intel Skylake") OR + * (cpuPlatform = "Intel Broadwell") AND + * (scheduling.automaticRestart = true) + * ``` + * + * If you want to use a regular expression, use the `eq` (equal) or `ne` + * (not equal) operator against a single un-parenthesized expression with or + * without quotes or against multiple parenthesized expressions. Examples: + * + * `fieldname eq unquoted literal` + * `fieldname eq 'single quoted literal'` + * `fieldname eq "double quoted literal"` + * `(fieldname1 eq literal) (fieldname2 ne "literal")` + * + * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * The literal value must match the entire field. + * + * For example, to filter for instances that do not end with name "instance", + * you would use `name ne .*instance`. + * + * You cannot combine constraints on multiple fields using regular + * expressions. */ - priority?: number; + filter?: string; /** - * Project ID for this request. + * The maximum number of results per page that should be returned. + * If the number of available results is larger than `maxResults`, + * Compute Engine returns a `nextPageToken` that can be used to get + * the next page of results in subsequent list requests. Acceptable values are + * `0` to `500`, inclusive. (Default: `500`) */ - project?: string; - } - export interface Params$Resource$Networkfirewallpolicies$Getrule extends StandardParameters { + maxResults?: number; /** - * Name of the firewall policy to which the queried rule belongs. + * Name of the network for this request. */ - firewallPolicy?: string; + network?: string; /** - * The priority of the rule to get from the firewall policy. + * Sorts list results by a certain order. By default, results + * are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation + * timestamp using `orderBy="creationTimestamp desc"`. This sorts + * results based on the `creationTimestamp` field in + * reverse chronological order (newest result first). Use this to sort + * resources like operations so that the newest operation is returned first. + * + * Currently, only sorting by `name` or + * `creationTimestamp desc` is supported. */ - priority?: number; + orderBy?: string; /** - * Project ID for this request. + * Specifies a page token to use. Set `pageToken` to the + * `nextPageToken` returned by a previous list request to get + * the next page of results. */ - project?: string; - } - export interface Params$Resource$Networkfirewallpolicies$Insert extends StandardParameters { + pageToken?: string; /** * Project ID for this request. */ project?: string; /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. + * Opt-in for partial success behavior which provides partial results in case + * of failure. The default value is false. * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). + * For example, when partial success behavior is enabled, aggregatedList for a + * single zone scope either returns all resources in the zone or no resources, + * with an error code. */ - requestId?: string; - + returnPartialSuccess?: boolean; /** - * Request body metadata + * (Optional) types filter separate by comma, valid values are: SUBNETWORK, + * RESERVED, PEER_USED, PEER_RESERVED, REMOTE_USED, REMOTE_RESERVED. */ - requestBody?: Schema$FirewallPolicy; + types?: string; } - export interface Params$Resource$Networkfirewallpolicies$List extends StandardParameters { + export interface Params$Resource$Networks$Listipowners extends StandardParameters { /** * A filter expression that filters resources listed in the response. Most * Compute resources support two types of filter expressions: @@ -153766,6 +160040,10 @@ export namespace compute_alpha { * expressions. */ filter?: string; + /** + * (Optional) IP CIDR range filter, example: "10.128.10.0/30". + */ + ipCidrRange?: string; /** * The maximum number of results per page that should be returned. * If the number of available results is larger than `maxResults`, @@ -153774,6 +160052,10 @@ export namespace compute_alpha { * `0` to `500`, inclusive. (Default: `500`) */ maxResults?: number; + /** + * Name of the network to return. + */ + network?: string; /** * Sorts list results by a certain order. By default, results * are returned in alphanumerical order based on the resource name. @@ -153788,6 +160070,14 @@ export namespace compute_alpha { * `creationTimestamp desc` is supported. */ orderBy?: string; + /** + * (Optional) Project IDs filter, example: "project-1,project-2". + */ + ownerProjects?: string; + /** + * (Optional) Owner types filter, example: "instance,forwardingRule". + */ + ownerTypes?: string; /** * Specifies a page token to use. Set `pageToken` to the * `nextPageToken` returned by a previous list request to get @@ -153807,178 +160097,141 @@ export namespace compute_alpha { * with an error code. */ returnPartialSuccess?: boolean; - } - export interface Params$Resource$Networkfirewallpolicies$Patch extends StandardParameters { - /** - * Name of the firewall policy to update. - */ - firewallPolicy?: string; - /** - * Project ID for this request. - */ - project?: string; /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). + * (Optional) Subnetwork name filter. */ - requestId?: string; - + subnetName?: string; /** - * Request body metadata + * (Optional) Subnetwork region filter. */ - requestBody?: Schema$FirewallPolicy; + subnetRegion?: string; } - export interface Params$Resource$Networkfirewallpolicies$Patchassociation extends StandardParameters { - /** - * Name of the firewall policy to update. - */ - firewallPolicy?: string; + export interface Params$Resource$Networks$Listpeeringroutes extends StandardParameters { /** - * Project ID for this request. + * The direction of the exchanged routes. */ - project?: string; + direction?: string; /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. + * A filter expression that filters resources listed in the response. Most + * Compute resources support two types of filter expressions: + * expressions that support regular expressions and expressions that follow + * API improvement proposal AIP-160. + * These two types of filter expressions cannot be mixed in one 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. + * If you want to use AIP-160, your expression must specify the field name, an + * operator, and the value that you want to use for filtering. The value + * must be a string, a number, or a boolean. The operator + * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$FirewallPolicyAssociation; - } - export interface Params$Resource$Networkfirewallpolicies$Patchpacketmirroringrule extends StandardParameters { - /** - * Name of the firewall policy to update. - */ - firewallPolicy?: string; - /** - * The priority of the rule to patch. - */ - priority?: number; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. + * For example, if you are filtering Compute Engine instances, you can + * exclude instances named `example-instance` by specifying + * `name != example-instance`. * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. + * The `:*` comparison can be used to test whether a key has been defined. + * For example, to find all objects with `owner` label use: + * ``` + * labels.owner:* + * ``` * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$FirewallPolicyRule; - } - export interface Params$Resource$Networkfirewallpolicies$Patchrule extends StandardParameters { - /** - * Name of the firewall policy to update. + * You can also filter nested fields. For example, you could specify + * `scheduling.automaticRestart = false` to include instances only + * if they are not scheduled for automatic restarts. You can use filtering + * on nested fields to filter based onresource labels. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example: + * ``` + * (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake") + * ``` + * By default, each expression is an `AND` expression. However, you + * can include `AND` and `OR` expressions explicitly. + * For example: + * ``` + * (cpuPlatform = "Intel Skylake") OR + * (cpuPlatform = "Intel Broadwell") AND + * (scheduling.automaticRestart = true) + * ``` + * + * If you want to use a regular expression, use the `eq` (equal) or `ne` + * (not equal) operator against a single un-parenthesized expression with or + * without quotes or against multiple parenthesized expressions. Examples: + * + * `fieldname eq unquoted literal` + * `fieldname eq 'single quoted literal'` + * `fieldname eq "double quoted literal"` + * `(fieldname1 eq literal) (fieldname2 ne "literal")` + * + * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * The literal value must match the entire field. + * + * For example, to filter for instances that do not end with name "instance", + * you would use `name ne .*instance`. + * + * You cannot combine constraints on multiple fields using regular + * expressions. */ - firewallPolicy?: string; + filter?: string; /** - * The priority of the rule to patch. + * The maximum number of results per page that should be returned. + * If the number of available results is larger than `maxResults`, + * Compute Engine returns a `nextPageToken` that can be used to get + * the next page of results in subsequent list requests. Acceptable values are + * `0` to `500`, inclusive. (Default: `500`) */ - priority?: number; + maxResults?: number; /** - * Project ID for this request. + * Name of the network for this request. */ - project?: string; + network?: string; /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. + * Sorts list results by a certain order. By default, results + * are returned in alphanumerical order based on the resource name. * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. + * You can also sort results in descending order based on the creation + * timestamp using `orderBy="creationTimestamp desc"`. This sorts + * results based on the `creationTimestamp` field in + * reverse chronological order (newest result first). Use this to sort + * resources like operations so that the newest operation is returned first. * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - - /** - * Request body metadata + * Currently, only sorting by `name` or + * `creationTimestamp desc` is supported. */ - requestBody?: Schema$FirewallPolicyRule; - } - export interface Params$Resource$Networkfirewallpolicies$Removeassociation extends StandardParameters { + orderBy?: string; /** - * Name of the firewall policy to update. + * Specifies a page token to use. Set `pageToken` to the + * `nextPageToken` returned by a previous list request to get + * the next page of results. */ - firewallPolicy?: string; + pageToken?: string; /** - * Name for the attachment that will be removed. + * The response will show routes exchanged over the given peering connection. */ - name?: string; + peeringName?: string; /** * Project ID for this request. */ project?: string; /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). + * The region of the request. The response will include all subnet routes, + * static routes and dynamic routes in the region. */ - requestId?: string; - } - export interface Params$Resource$Networkfirewallpolicies$Removepacketmirroringrule extends StandardParameters { + region?: string; /** - * Name of the firewall policy to update. + * Opt-in for partial success behavior which provides partial results in case + * of failure. The default value is false. + * + * For example, when partial success behavior is enabled, aggregatedList for a + * single zone scope either returns all resources in the zone or no resources, + * with an error code. */ - firewallPolicy?: string; + returnPartialSuccess?: boolean; + } + export interface Params$Resource$Networks$Patch extends StandardParameters { /** - * The priority of the rule to remove from the firewall policy. + * Name of the network to update. */ - priority?: number; + network?: string; /** * Project ID for this request. */ @@ -153999,16 +160252,17 @@ export namespace compute_alpha { * (00000000-0000-0000-0000-000000000000). */ requestId?: string; - } - export interface Params$Resource$Networkfirewallpolicies$Removerule extends StandardParameters { + /** - * Name of the firewall policy to update. + * Request body metadata */ - firewallPolicy?: string; + requestBody?: Schema$Network; + } + export interface Params$Resource$Networks$Removepeering extends StandardParameters { /** - * The priority of the rule to remove from the firewall policy. + * Name of the network resource to remove peering from. */ - priority?: number; + network?: string; /** * Project ID for this request. */ @@ -154028,564 +160282,125 @@ export namespace compute_alpha { * a valid UUID with the exception that zero UUID is not supported * (00000000-0000-0000-0000-000000000000). */ - requestId?: string; - } - export interface Params$Resource$Networkfirewallpolicies$Setiampolicy extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * Name or id of the resource for this request. - */ - resource?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$GlobalSetPolicyRequest; - } - export interface Params$Resource$Networkfirewallpolicies$Testiampermissions extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * Name or id of the resource for this request. - */ - resource?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$TestPermissionsRequest; - } - - export class Resource$Networkprofiles { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Returns the specified network profile. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/compute.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const compute = google.compute('alpha'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/cloud-platform', - * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await compute.networkProfiles.get({ - * // Name of the network profile to return. - * networkProfile: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "features": {}, - * // "id": "my_id", - * // "kind": "my_kind", - * // "location": {}, - * // "name": "my_name", - * // "profileType": {}, - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - get( - params: Params$Resource$Networkprofiles$Get, - options: StreamMethodOptions - ): Promise>; - get( - params?: Params$Resource$Networkprofiles$Get, - options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Networkprofiles$Get, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Networkprofiles$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Networkprofiles$Get, - callback: BodyResponseCallback - ): void; - get(callback: BodyResponseCallback): void; - get( - paramsOrCallback?: - | Params$Resource$Networkprofiles$Get - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Networkprofiles$Get; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Networkprofiles$Get; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/compute/alpha/projects/{project}/global/networkProfiles/{networkProfile}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['project', 'networkProfile'], - pathParams: ['networkProfile', 'project'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Retrieves a list of network profiles available to the specified - * project. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/compute.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const compute = google.compute('alpha'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/cloud-platform', - * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await compute.networkProfiles.list({ - * // A filter expression that filters resources listed in the response. Most - * // Compute resources support two types of filter expressions: - * // expressions that support regular expressions and expressions that follow - * // API improvement proposal AIP-160. - * // These two types of filter expressions cannot be mixed in one request. - * // - * // If you want to use AIP-160, your expression must specify the field name, an - * // operator, and the value that you want to use for filtering. The value - * // must be a string, a number, or a boolean. The operator - * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * // - * // For example, if you are filtering Compute Engine instances, you can - * // exclude instances named `example-instance` by specifying - * // `name != example-instance`. - * // - * // The `:*` comparison can be used to test whether a key has been defined. - * // For example, to find all objects with `owner` label use: - * // ``` - * // labels.owner:* - * // ``` - * // - * // You can also filter nested fields. For example, you could specify - * // `scheduling.automaticRestart = false` to include instances only - * // if they are not scheduled for automatic restarts. You can use filtering - * // on nested fields to filter based onresource labels. - * // - * // To filter on multiple expressions, provide each separate expression within - * // parentheses. For example: - * // ``` - * // (scheduling.automaticRestart = true) - * // (cpuPlatform = "Intel Skylake") - * // ``` - * // By default, each expression is an `AND` expression. However, you - * // can include `AND` and `OR` expressions explicitly. - * // For example: - * // ``` - * // (cpuPlatform = "Intel Skylake") OR - * // (cpuPlatform = "Intel Broadwell") AND - * // (scheduling.automaticRestart = true) - * // ``` - * // - * // If you want to use a regular expression, use the `eq` (equal) or `ne` - * // (not equal) operator against a single un-parenthesized expression with or - * // without quotes or against multiple parenthesized expressions. Examples: - * // - * // `fieldname eq unquoted literal` - * // `fieldname eq 'single quoted literal'` - * // `fieldname eq "double quoted literal"` - * // `(fieldname1 eq literal) (fieldname2 ne "literal")` - * // - * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * // The literal value must match the entire field. - * // - * // For example, to filter for instances that do not end with name "instance", - * // you would use `name ne .*instance`. - * // - * // You cannot combine constraints on multiple fields using regular - * // expressions. - * filter: 'placeholder-value', - * // The maximum number of results per page that should be returned. - * // If the number of available results is larger than `maxResults`, - * // Compute Engine returns a `nextPageToken` that can be used to get - * // the next page of results in subsequent list requests. Acceptable values are - * // `0` to `500`, inclusive. (Default: `500`) - * maxResults: 'placeholder-value', - * // Sorts list results by a certain order. By default, results - * // are returned in alphanumerical order based on the resource name. - * // - * // You can also sort results in descending order based on the creation - * // timestamp using `orderBy="creationTimestamp desc"`. This sorts - * // results based on the `creationTimestamp` field in - * // reverse chronological order (newest result first). Use this to sort - * // resources like operations so that the newest operation is returned first. - * // - * // Currently, only sorting by `name` or - * // `creationTimestamp desc` is supported. - * orderBy: 'placeholder-value', - * // Specifies a page token to use. Set `pageToken` to the - * // `nextPageToken` returned by a previous list request to get - * // the next page of results. - * pageToken: 'placeholder-value', - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Opt-in for partial success behavior which provides partial results in case - * // of failure. The default value is false. - * // - * // For example, when partial success behavior is enabled, aggregatedList for a - * // single zone scope either returns all resources in the zone or no resources, - * // with an error code. - * returnPartialSuccess: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "etag": "my_etag", - * // "id": "my_id", - * // "items": [], - * // "kind": "my_kind", - * // "nextPageToken": "my_nextPageToken", - * // "selfLink": "my_selfLink", - * // "unreachables": [], - * // "warning": {} - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - list( - params: Params$Resource$Networkprofiles$List, - options: StreamMethodOptions - ): Promise>; - list( - params?: Params$Resource$Networkprofiles$List, - options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Networkprofiles$List, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Networkprofiles$List, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Networkprofiles$List, - callback: BodyResponseCallback - ): void; - list( - callback: BodyResponseCallback - ): void; - list( - paramsOrCallback?: - | Params$Resource$Networkprofiles$List - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Networkprofiles$List; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Networkprofiles$List; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/compute/alpha/projects/{project}/global/networkProfiles' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['project'], - pathParams: ['project'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Networkprofiles$Get extends StandardParameters { - /** - * Name of the network profile to return. - */ - networkProfile?: string; - /** - * Project ID for this request. - */ - project?: string; - } - export interface Params$Resource$Networkprofiles$List extends StandardParameters { - /** - * A filter expression that filters resources listed in the response. Most - * Compute resources support two types of filter expressions: - * expressions that support regular expressions and expressions that follow - * API improvement proposal AIP-160. - * These two types of filter expressions cannot be mixed in one request. - * - * If you want to use AIP-160, your expression must specify the field name, an - * operator, and the value that you want to use for filtering. The value - * must be a string, a number, or a boolean. The operator - * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * - * For example, if you are filtering Compute Engine instances, you can - * exclude instances named `example-instance` by specifying - * `name != example-instance`. - * - * The `:*` comparison can be used to test whether a key has been defined. - * For example, to find all objects with `owner` label use: - * ``` - * labels.owner:* - * ``` - * - * You can also filter nested fields. For example, you could specify - * `scheduling.automaticRestart = false` to include instances only - * if they are not scheduled for automatic restarts. You can use filtering - * on nested fields to filter based onresource labels. - * - * To filter on multiple expressions, provide each separate expression within - * parentheses. For example: - * ``` - * (scheduling.automaticRestart = true) - * (cpuPlatform = "Intel Skylake") - * ``` - * By default, each expression is an `AND` expression. However, you - * can include `AND` and `OR` expressions explicitly. - * For example: - * ``` - * (cpuPlatform = "Intel Skylake") OR - * (cpuPlatform = "Intel Broadwell") AND - * (scheduling.automaticRestart = true) - * ``` - * - * If you want to use a regular expression, use the `eq` (equal) or `ne` - * (not equal) operator against a single un-parenthesized expression with or - * without quotes or against multiple parenthesized expressions. Examples: - * - * `fieldname eq unquoted literal` - * `fieldname eq 'single quoted literal'` - * `fieldname eq "double quoted literal"` - * `(fieldname1 eq literal) (fieldname2 ne "literal")` - * - * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * The literal value must match the entire field. + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$NetworksRemovePeeringRequest; + } + export interface Params$Resource$Networks$Requestremovepeering extends StandardParameters { + /** + * Name of the network resource to remove peering from. + */ + network?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. * - * For example, to filter for instances that do not end with name "instance", - * you would use `name ne .*instance`. + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. * - * You cannot combine constraints on multiple fields using regular - * expressions. + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). */ - filter?: string; + requestId?: string; + /** - * The maximum number of results per page that should be returned. - * If the number of available results is larger than `maxResults`, - * Compute Engine returns a `nextPageToken` that can be used to get - * the next page of results in subsequent list requests. Acceptable values are - * `0` to `500`, inclusive. (Default: `500`) + * Request body metadata */ - maxResults?: number; + requestBody?: Schema$NetworksRequestRemovePeeringRequest; + } + export interface Params$Resource$Networks$Switchtocustommode extends StandardParameters { /** - * Sorts list results by a certain order. By default, results - * are returned in alphanumerical order based on the resource name. + * Name of the network to be updated. + */ + network?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. * - * You can also sort results in descending order based on the creation - * timestamp using `orderBy="creationTimestamp desc"`. This sorts - * results based on the `creationTimestamp` field in - * reverse chronological order (newest result first). Use this to sort - * resources like operations so that the newest operation is returned first. + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. * - * Currently, only sorting by `name` or - * `creationTimestamp desc` is supported. + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). */ - orderBy?: string; + requestId?: string; + } + export interface Params$Resource$Networks$Testiampermissions extends StandardParameters { /** - * Specifies a page token to use. Set `pageToken` to the - * `nextPageToken` returned by a previous list request to get - * the next page of results. + * Project ID for this request. */ - pageToken?: string; + project?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + export interface Params$Resource$Networks$Updatepeering extends StandardParameters { + /** + * Name of the network resource which the updated peering is belonging to. + */ + network?: string; /** * Project ID for this request. */ project?: string; /** - * Opt-in for partial success behavior which provides partial results in case - * of failure. The default value is false. + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. * - * For example, when partial success behavior is enabled, aggregatedList for a - * single zone scope either returns all resources in the zone or no resources, - * with an error code. + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). */ - returnPartialSuccess?: boolean; + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$NetworksUpdatePeeringRequest; } - export class Resource$Networks { + export class Resource$Nodegroups { context: APIRequestContext; constructor(context: APIRequestContext) { this.context = context; } /** - * Adds a peering to the specified network. + * Adds specified number of nodes to the node group. * @example * ```js * // Before running the sample: @@ -154617,9 +160432,9 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.networks.addPeering({ - * // Name of the network resource to add peering to. - * network: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.nodeGroups.addNodes({ + * // Name of the NodeGroup resource. + * nodeGroup: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -154637,17 +160452,14 @@ export namespace compute_alpha { * // a valid UUID with the exception that zero UUID is not supported * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', + * // The name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * * // Request body metadata * requestBody: { * // request body parameters * // { - * // "autoCreateRoutes": false, - * // "exportCustomRoutes": false, - * // "importCustomRoutes": false, - * // "name": "my_name", - * // "networkPeering": {}, - * // "peerNetwork": "my_peerNetwork" + * // "additionalNodeCount": 0 * // } * }, * }); @@ -154698,32 +160510,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - addPeering( - params: Params$Resource$Networks$Addpeering, + addNodes( + params: Params$Resource$Nodegroups$Addnodes, options: StreamMethodOptions ): Promise>; - addPeering( - params?: Params$Resource$Networks$Addpeering, + addNodes( + params?: Params$Resource$Nodegroups$Addnodes, options?: MethodOptions ): Promise>; - addPeering( - params: Params$Resource$Networks$Addpeering, + addNodes( + params: Params$Resource$Nodegroups$Addnodes, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - addPeering( - params: Params$Resource$Networks$Addpeering, + addNodes( + params: Params$Resource$Nodegroups$Addnodes, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - addPeering( - params: Params$Resource$Networks$Addpeering, + addNodes( + params: Params$Resource$Nodegroups$Addnodes, callback: BodyResponseCallback ): void; - addPeering(callback: BodyResponseCallback): void; - addPeering( + addNodes(callback: BodyResponseCallback): void; + addNodes( paramsOrCallback?: - | Params$Resource$Networks$Addpeering + | Params$Resource$Nodegroups$Addnodes | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -154739,12 +160551,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Networks$Addpeering; + {}) as Params$Resource$Nodegroups$Addnodes; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Networks$Addpeering; + params = {} as Params$Resource$Nodegroups$Addnodes; options = {}; } @@ -154759,7 +160571,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/networks/{network}/addPeering' + '/compute/alpha/projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/addNodes' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -154767,8 +160579,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'network'], - pathParams: ['network', 'project'], + requiredParams: ['project', 'zone', 'nodeGroup'], + pathParams: ['nodeGroup', 'project', 'zone'], context: this.context, }; if (callback) { @@ -154782,9 +160594,11 @@ export namespace compute_alpha { } /** - * Cancel requests to remove a peering from the specified network. Applicable - * only for PeeringConnection with update_strategy=CONSENSUS. Cancels a - * request to remove a peering from the specified network. + * 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`. * @example * ```js * // Before running the sample: @@ -154808,6 +160622,7 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -154816,67 +160631,121 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.networks.cancelRequestRemovePeering({ - * // Name of the network resource to remove peering from. - * network: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.nodeGroups.aggregatedList({ + * // A filter expression that filters resources listed in the response. Most + * // Compute resources support two types of filter expressions: + * // expressions that support regular expressions and expressions that follow + * // API improvement proposal AIP-160. + * // These two types of filter expressions cannot be mixed in one request. + * // + * // If you want to use AIP-160, your expression must specify the field name, an + * // operator, and the value that you want to use for filtering. The value + * // must be a string, a number, or a boolean. The operator + * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * // + * // For example, if you are filtering Compute Engine instances, you can + * // exclude instances named `example-instance` by specifying + * // `name != example-instance`. + * // + * // The `:*` comparison can be used to test whether a key has been defined. + * // For example, to find all objects with `owner` label use: + * // ``` + * // labels.owner:* + * // ``` + * // + * // You can also filter nested fields. For example, you could specify + * // `scheduling.automaticRestart = false` to include instances only + * // if they are not scheduled for automatic restarts. You can use filtering + * // on nested fields to filter based onresource labels. + * // + * // To filter on multiple expressions, provide each separate expression within + * // parentheses. For example: + * // ``` + * // (scheduling.automaticRestart = true) + * // (cpuPlatform = "Intel Skylake") + * // ``` + * // By default, each expression is an `AND` expression. However, you + * // can include `AND` and `OR` expressions explicitly. + * // For example: + * // ``` + * // (cpuPlatform = "Intel Skylake") OR + * // (cpuPlatform = "Intel Broadwell") AND + * // (scheduling.automaticRestart = true) + * // ``` + * // + * // If you want to use a regular expression, use the `eq` (equal) or `ne` + * // (not equal) operator against a single un-parenthesized expression with or + * // without quotes or against multiple parenthesized expressions. Examples: + * // + * // `fieldname eq unquoted literal` + * // `fieldname eq 'single quoted literal'` + * // `fieldname eq "double quoted literal"` + * // `(fieldname1 eq literal) (fieldname2 ne "literal")` + * // + * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * // The literal value must match the entire field. + * // + * // For example, to filter for instances that do not end with name "instance", + * // you would use `name ne .*instance`. + * // + * // You cannot combine constraints on multiple fields using regular + * // expressions. + * filter: 'placeholder-value', + * // 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. + * includeAllScopes: 'placeholder-value', + * // The maximum number of results per page that should be returned. + * // If the number of available results is larger than `maxResults`, + * // Compute Engine returns a `nextPageToken` that can be used to get + * // the next page of results in subsequent list requests. Acceptable values are + * // `0` to `500`, inclusive. (Default: `500`) + * maxResults: 'placeholder-value', + * // Sorts list results by a certain order. By default, results + * // are returned in alphanumerical order based on the resource name. + * // + * // You can also sort results in descending order based on the creation + * // timestamp using `orderBy="creationTimestamp desc"`. This sorts + * // results based on the `creationTimestamp` field in + * // reverse chronological order (newest result first). Use this to sort + * // resources like operations so that the newest operation is returned first. + * // + * // Currently, only sorting by `name` or + * // `creationTimestamp desc` is supported. + * orderBy: 'placeholder-value', + * // Specifies a page token to use. Set `pageToken` to the + * // `nextPageToken` returned by a previous list request to get + * // the next page of results. + * pageToken: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. + * // Opt-in for partial success behavior which provides partial results in case + * // of failure. The default value is false. * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "name": "my_name" - * // } - * }, + * // For example, when partial success behavior is enabled, aggregatedList for a + * // single zone scope either returns all resources in the zone or no resources, + * // with an error code. + * returnPartialSuccess: 'placeholder-value', + * // The Shared VPC service project id or service project number for which + * // aggregated list request is invoked for subnetworks list-usable api. + * serviceProjectNumber: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, + * // "items": {}, * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", + * // "nextPageToken": "my_nextPageToken", * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" + * // "unreachables": [], + * // "warning": {} * // } * } * @@ -154892,55 +160761,57 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - cancelRequestRemovePeering( - params: Params$Resource$Networks$Cancelrequestremovepeering, + aggregatedList( + params: Params$Resource$Nodegroups$Aggregatedlist, options: StreamMethodOptions ): Promise>; - cancelRequestRemovePeering( - params?: Params$Resource$Networks$Cancelrequestremovepeering, + aggregatedList( + params?: Params$Resource$Nodegroups$Aggregatedlist, options?: MethodOptions - ): Promise>; - cancelRequestRemovePeering( - params: Params$Resource$Networks$Cancelrequestremovepeering, + ): Promise>; + aggregatedList( + params: Params$Resource$Nodegroups$Aggregatedlist, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - cancelRequestRemovePeering( - params: Params$Resource$Networks$Cancelrequestremovepeering, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + aggregatedList( + params: Params$Resource$Nodegroups$Aggregatedlist, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - cancelRequestRemovePeering( - params: Params$Resource$Networks$Cancelrequestremovepeering, - callback: BodyResponseCallback + aggregatedList( + params: Params$Resource$Nodegroups$Aggregatedlist, + callback: BodyResponseCallback ): void; - cancelRequestRemovePeering( - callback: BodyResponseCallback + aggregatedList( + callback: BodyResponseCallback ): void; - cancelRequestRemovePeering( + aggregatedList( paramsOrCallback?: - | Params$Resource$Networks$Cancelrequestremovepeering - | BodyResponseCallback + | Params$Resource$Nodegroups$Aggregatedlist + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Networks$Cancelrequestremovepeering; + {}) as Params$Resource$Nodegroups$Aggregatedlist; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Networks$Cancelrequestremovepeering; + params = {} as Params$Resource$Nodegroups$Aggregatedlist; options = {}; } @@ -154955,30 +160826,30 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/networks/{network}/cancelRequestRemovePeering' + '/compute/alpha/projects/{project}/aggregated/nodeGroups' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['project', 'network'], - pathParams: ['network', 'project'], + requiredParams: ['project'], + pathParams: ['project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Deletes the specified network. + * Deletes the specified NodeGroup resource. * @example * ```js * // Before running the sample: @@ -155010,9 +160881,9 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.networks.delete({ - * // Name of the network to delete. - * network: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.nodeGroups.delete({ + * // Name of the NodeGroup resource to delete. + * nodeGroup: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -155030,6 +160901,8 @@ export namespace compute_alpha { * // a valid UUID with the exception that zero UUID is not supported * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', + * // The name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * }); * console.log(res.data); * @@ -155079,31 +160952,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ delete( - params: Params$Resource$Networks$Delete, + params: Params$Resource$Nodegroups$Delete, options: StreamMethodOptions ): Promise>; delete( - params?: Params$Resource$Networks$Delete, + params?: Params$Resource$Nodegroups$Delete, options?: MethodOptions ): Promise>; delete( - params: Params$Resource$Networks$Delete, + params: Params$Resource$Nodegroups$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Networks$Delete, + params: Params$Resource$Nodegroups$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Networks$Delete, + params: Params$Resource$Nodegroups$Delete, callback: BodyResponseCallback ): void; delete(callback: BodyResponseCallback): void; delete( paramsOrCallback?: - | Params$Resource$Networks$Delete + | Params$Resource$Nodegroups$Delete | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -155118,12 +160991,13 @@ export namespace compute_alpha { | void | Promise> | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Networks$Delete; + let params = (paramsOrCallback || + {}) as Params$Resource$Nodegroups$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Networks$Delete; + params = {} as Params$Resource$Nodegroups$Delete; options = {}; } @@ -155138,7 +161012,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/networks/{network}' + '/compute/alpha/projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'DELETE', apiVersion: '', @@ -155146,8 +161020,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'network'], - pathParams: ['network', 'project'], + requiredParams: ['project', 'zone', 'nodeGroup'], + pathParams: ['nodeGroup', 'project', 'zone'], context: this.context, }; if (callback) { @@ -155161,7 +161035,7 @@ export namespace compute_alpha { } /** - * Returns the specified network. + * Deletes specified nodes from the node group. * @example * ```js * // Before running the sample: @@ -155185,7 +161059,6 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -155194,183 +161067,69 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.networks.get({ - * // Name of the network to return. - * network: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.nodeGroups.deleteNodes({ + * // Name of the NodeGroup resource whose nodes will be deleted. + * nodeGroup: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // The name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "nodes": [] + * // } + * }, * }); * console.log(res.data); * * // Example response * // { - * // "IPv4Range": "my_IPv4Range", - * // "autoCreateSubnetworks": false, + * // "clientOperationId": "my_clientOperationId", * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", - * // "enableUlaInternalIpv6": false, - * // "firewallPolicy": "my_firewallPolicy", - * // "gatewayIPv4": "my_gatewayIPv4", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, * // "id": "my_id", - * // "internalIpv6Range": "my_internalIpv6Range", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, * // "kind": "my_kind", - * // "mtu": 0, * // "name": "my_name", - * // "networkFirewallPolicyEnforcementOrder": "my_networkFirewallPolicyEnforcementOrder", - * // "networkProfile": "my_networkProfile", - * // "params": {}, - * // "peerings": [], + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, * // "region": "my_region", - * // "routingConfig": {}, * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", - * // "subnetworks": [] - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - get( - params: Params$Resource$Networks$Get, - options: StreamMethodOptions - ): Promise>; - get( - params?: Params$Resource$Networks$Get, - options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Networks$Get, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Networks$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Networks$Get, - callback: BodyResponseCallback - ): void; - get(callback: BodyResponseCallback): void; - get( - paramsOrCallback?: - | Params$Resource$Networks$Get - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Networks$Get; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Networks$Get; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/compute/alpha/projects/{project}/global/networks/{network}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['project', 'network'], - pathParams: ['network', 'project'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Returns the effective firewalls on a given network. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/compute.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const compute = google.compute('alpha'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/cloud-platform', - * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await compute.networks.getEffectiveFirewalls({ - * // Name of the network for this request. - * network: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "firewallPolicys": [], - * // "firewalls": [], - * // "organizationFirewalls": [] + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" * // } * } * @@ -155386,61 +161145,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - getEffectiveFirewalls( - params: Params$Resource$Networks$Geteffectivefirewalls, + deleteNodes( + params: Params$Resource$Nodegroups$Deletenodes, options: StreamMethodOptions ): Promise>; - getEffectiveFirewalls( - params?: Params$Resource$Networks$Geteffectivefirewalls, + deleteNodes( + params?: Params$Resource$Nodegroups$Deletenodes, options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; - getEffectiveFirewalls( - params: Params$Resource$Networks$Geteffectivefirewalls, + ): Promise>; + deleteNodes( + params: Params$Resource$Nodegroups$Deletenodes, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - getEffectiveFirewalls( - params: Params$Resource$Networks$Geteffectivefirewalls, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - getEffectiveFirewalls( - params: Params$Resource$Networks$Geteffectivefirewalls, - callback: BodyResponseCallback + deleteNodes( + params: Params$Resource$Nodegroups$Deletenodes, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - getEffectiveFirewalls( - callback: BodyResponseCallback + deleteNodes( + params: Params$Resource$Nodegroups$Deletenodes, + callback: BodyResponseCallback ): void; - getEffectiveFirewalls( + deleteNodes(callback: BodyResponseCallback): void; + deleteNodes( paramsOrCallback?: - | Params$Resource$Networks$Geteffectivefirewalls - | BodyResponseCallback + | Params$Resource$Nodegroups$Deletenodes + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise< - GaxiosResponseWithHTTP2 - > + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Networks$Geteffectivefirewalls; + {}) as Params$Resource$Nodegroups$Deletenodes; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Networks$Geteffectivefirewalls; + params = {} as Params$Resource$Nodegroups$Deletenodes; options = {}; } @@ -155455,33 +161206,33 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/networks/{network}/getEffectiveFirewalls' + '/compute/alpha/projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/deleteNodes' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project', 'network'], - pathParams: ['network', 'project'], + requiredParams: ['project', 'zone', 'nodeGroup'], + pathParams: ['nodeGroup', 'project', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } /** - * Creates a network in the specified project using the data included - * in the request. + * 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. * @example * ```js * // Before running the sample: @@ -155505,6 +161256,7 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -155513,84 +161265,36 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.networks.insert({ + * const res = await compute.nodeGroups.get({ + * // Name of the node group to return. + * nodeGroup: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. - * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "IPv4Range": "my_IPv4Range", - * // "autoCreateSubnetworks": false, - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "enableUlaInternalIpv6": false, - * // "firewallPolicy": "my_firewallPolicy", - * // "gatewayIPv4": "my_gatewayIPv4", - * // "id": "my_id", - * // "internalIpv6Range": "my_internalIpv6Range", - * // "kind": "my_kind", - * // "mtu": 0, - * // "name": "my_name", - * // "networkFirewallPolicyEnforcementOrder": "my_networkFirewallPolicyEnforcementOrder", - * // "networkProfile": "my_networkProfile", - * // "params": {}, - * // "peerings": [], - * // "region": "my_region", - * // "routingConfig": {}, - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "subnetworks": [] - * // } - * }, + * // The name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * }); * console.log(res.data); * * // Example response * // { - * // "clientOperationId": "my_clientOperationId", + * // "autoscalingPolicy": {}, * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, + * // "fingerprint": "my_fingerprint", * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, * // "kind": "my_kind", + * // "locationHint": "my_locationHint", + * // "maintenanceInterval": "my_maintenanceInterval", + * // "maintenancePolicy": "my_maintenancePolicy", + * // "maintenanceWindow": {}, * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", + * // "nodeTemplate": "my_nodeTemplate", * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", + * // "shareSettings": {}, + * // "size": 0, * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], * // "zone": "my_zone" * // } * } @@ -155607,52 +161311,52 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - insert( - params: Params$Resource$Networks$Insert, + get( + params: Params$Resource$Nodegroups$Get, options: StreamMethodOptions ): Promise>; - insert( - params?: Params$Resource$Networks$Insert, + get( + params?: Params$Resource$Nodegroups$Get, options?: MethodOptions - ): Promise>; - insert( - params: Params$Resource$Networks$Insert, + ): Promise>; + get( + params: Params$Resource$Nodegroups$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - insert( - params: Params$Resource$Networks$Insert, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + get( + params: Params$Resource$Nodegroups$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - insert( - params: Params$Resource$Networks$Insert, - callback: BodyResponseCallback + get( + params: Params$Resource$Nodegroups$Get, + callback: BodyResponseCallback ): void; - insert(callback: BodyResponseCallback): void; - insert( + get(callback: BodyResponseCallback): void; + get( paramsOrCallback?: - | Params$Resource$Networks$Insert - | BodyResponseCallback + | Params$Resource$Nodegroups$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Networks$Insert; + let params = (paramsOrCallback || {}) as Params$Resource$Nodegroups$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Networks$Insert; + params = {} as Params$Resource$Nodegroups$Get; options = {}; } @@ -155666,30 +161370,32 @@ export namespace compute_alpha { options: Object.assign( { url: ( - rootUrl + '/compute/alpha/projects/{project}/global/networks' + rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['project'], - pathParams: ['project'], + requiredParams: ['project', 'zone', 'nodeGroup'], + pathParams: ['nodeGroup', 'project', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Retrieves the list of networks available to the specified project. + * Gets the access control policy for a resource. May be empty if no such + * policy or resource exists. * @example * ```js * // Before running the sample: @@ -155722,109 +161428,25 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.networks.list({ - * // A filter expression that filters resources listed in the response. Most - * // Compute resources support two types of filter expressions: - * // expressions that support regular expressions and expressions that follow - * // API improvement proposal AIP-160. - * // These two types of filter expressions cannot be mixed in one request. - * // - * // If you want to use AIP-160, your expression must specify the field name, an - * // operator, and the value that you want to use for filtering. The value - * // must be a string, a number, or a boolean. The operator - * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * // - * // For example, if you are filtering Compute Engine instances, you can - * // exclude instances named `example-instance` by specifying - * // `name != example-instance`. - * // - * // The `:*` comparison can be used to test whether a key has been defined. - * // For example, to find all objects with `owner` label use: - * // ``` - * // labels.owner:* - * // ``` - * // - * // You can also filter nested fields. For example, you could specify - * // `scheduling.automaticRestart = false` to include instances only - * // if they are not scheduled for automatic restarts. You can use filtering - * // on nested fields to filter based onresource labels. - * // - * // To filter on multiple expressions, provide each separate expression within - * // parentheses. For example: - * // ``` - * // (scheduling.automaticRestart = true) - * // (cpuPlatform = "Intel Skylake") - * // ``` - * // By default, each expression is an `AND` expression. However, you - * // can include `AND` and `OR` expressions explicitly. - * // For example: - * // ``` - * // (cpuPlatform = "Intel Skylake") OR - * // (cpuPlatform = "Intel Broadwell") AND - * // (scheduling.automaticRestart = true) - * // ``` - * // - * // If you want to use a regular expression, use the `eq` (equal) or `ne` - * // (not equal) operator against a single un-parenthesized expression with or - * // without quotes or against multiple parenthesized expressions. Examples: - * // - * // `fieldname eq unquoted literal` - * // `fieldname eq 'single quoted literal'` - * // `fieldname eq "double quoted literal"` - * // `(fieldname1 eq literal) (fieldname2 ne "literal")` - * // - * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * // The literal value must match the entire field. - * // - * // For example, to filter for instances that do not end with name "instance", - * // you would use `name ne .*instance`. - * // - * // You cannot combine constraints on multiple fields using regular - * // expressions. - * filter: 'placeholder-value', - * // The maximum number of results per page that should be returned. - * // If the number of available results is larger than `maxResults`, - * // Compute Engine returns a `nextPageToken` that can be used to get - * // the next page of results in subsequent list requests. Acceptable values are - * // `0` to `500`, inclusive. (Default: `500`) - * maxResults: 'placeholder-value', - * // Sorts list results by a certain order. By default, results - * // are returned in alphanumerical order based on the resource name. - * // - * // You can also sort results in descending order based on the creation - * // timestamp using `orderBy="creationTimestamp desc"`. This sorts - * // results based on the `creationTimestamp` field in - * // reverse chronological order (newest result first). Use this to sort - * // resources like operations so that the newest operation is returned first. - * // - * // Currently, only sorting by `name` or - * // `creationTimestamp desc` is supported. - * orderBy: 'placeholder-value', - * // Specifies a page token to use. Set `pageToken` to the - * // `nextPageToken` returned by a previous list request to get - * // the next page of results. - * pageToken: 'placeholder-value', + * const res = await compute.nodeGroups.getIamPolicy({ + * // Requested IAM Policy version. + * optionsRequestedPolicyVersion: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Opt-in for partial success behavior which provides partial results in case - * // of failure. The default value is false. - * // - * // For example, when partial success behavior is enabled, aggregatedList for a - * // single zone scope either returns all resources in the zone or no resources, - * // with an error code. - * returnPartialSuccess: 'placeholder-value', + * // Name or id of the resource for this request. + * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // The name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * }); * console.log(res.data); * * // Example response * // { - * // "id": "my_id", - * // "items": [], - * // "kind": "my_kind", - * // "nextPageToken": "my_nextPageToken", - * // "selfLink": "my_selfLink", - * // "warning": {} + * // "auditConfigs": [], + * // "bindings": [], + * // "etag": "my_etag", + * // "version": 0 * // } * } * @@ -155840,52 +161462,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - list( - params: Params$Resource$Networks$List, + getIamPolicy( + params: Params$Resource$Nodegroups$Getiampolicy, options: StreamMethodOptions ): Promise>; - list( - params?: Params$Resource$Networks$List, + getIamPolicy( + params?: Params$Resource$Nodegroups$Getiampolicy, options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Networks$List, + ): Promise>; + getIamPolicy( + params: Params$Resource$Nodegroups$Getiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Networks$List, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + getIamPolicy( + params: Params$Resource$Nodegroups$Getiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Networks$List, - callback: BodyResponseCallback + getIamPolicy( + params: Params$Resource$Nodegroups$Getiampolicy, + callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; - list( + getIamPolicy(callback: BodyResponseCallback): void; + getIamPolicy( paramsOrCallback?: - | Params$Resource$Networks$List - | BodyResponseCallback + | Params$Resource$Nodegroups$Getiampolicy + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Networks$List; + let params = (paramsOrCallback || + {}) as Params$Resource$Nodegroups$Getiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Networks$List; + params = {} as Params$Resource$Nodegroups$Getiampolicy; options = {}; } @@ -155899,7 +161522,8 @@ export namespace compute_alpha { options: Object.assign( { url: ( - rootUrl + '/compute/alpha/projects/{project}/global/networks' + rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/nodeGroups/{resource}/getIamPolicy' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -155907,22 +161531,23 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project'], - pathParams: ['project'], + requiredParams: ['project', 'zone', 'resource'], + pathParams: ['project', 'resource', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Lists the internal IP addresses in the specified network. + * Creates a NodeGroup resource in the specified project using the data + * included in the request. * @example * ```js * // Before running the sample: @@ -155946,7 +161571,6 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -155955,114 +161579,86 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.networks.listIpAddresses({ - * // A filter expression that filters resources listed in the response. Most - * // Compute resources support two types of filter expressions: - * // expressions that support regular expressions and expressions that follow - * // API improvement proposal AIP-160. - * // These two types of filter expressions cannot be mixed in one request. - * // - * // If you want to use AIP-160, your expression must specify the field name, an - * // operator, and the value that you want to use for filtering. The value - * // must be a string, a number, or a boolean. The operator - * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * // - * // For example, if you are filtering Compute Engine instances, you can - * // exclude instances named `example-instance` by specifying - * // `name != example-instance`. - * // - * // The `:*` comparison can be used to test whether a key has been defined. - * // For example, to find all objects with `owner` label use: - * // ``` - * // labels.owner:* - * // ``` - * // - * // You can also filter nested fields. For example, you could specify - * // `scheduling.automaticRestart = false` to include instances only - * // if they are not scheduled for automatic restarts. You can use filtering - * // on nested fields to filter based onresource labels. - * // - * // To filter on multiple expressions, provide each separate expression within - * // parentheses. For example: - * // ``` - * // (scheduling.automaticRestart = true) - * // (cpuPlatform = "Intel Skylake") - * // ``` - * // By default, each expression is an `AND` expression. However, you - * // can include `AND` and `OR` expressions explicitly. - * // For example: - * // ``` - * // (cpuPlatform = "Intel Skylake") OR - * // (cpuPlatform = "Intel Broadwell") AND - * // (scheduling.automaticRestart = true) - * // ``` - * // - * // If you want to use a regular expression, use the `eq` (equal) or `ne` - * // (not equal) operator against a single un-parenthesized expression with or - * // without quotes or against multiple parenthesized expressions. Examples: - * // - * // `fieldname eq unquoted literal` - * // `fieldname eq 'single quoted literal'` - * // `fieldname eq "double quoted literal"` - * // `(fieldname1 eq literal) (fieldname2 ne "literal")` - * // - * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * // The literal value must match the entire field. - * // - * // For example, to filter for instances that do not end with name "instance", - * // you would use `name ne .*instance`. - * // - * // You cannot combine constraints on multiple fields using regular - * // expressions. - * filter: 'placeholder-value', - * // The maximum number of results per page that should be returned. - * // If the number of available results is larger than `maxResults`, - * // Compute Engine returns a `nextPageToken` that can be used to get - * // the next page of results in subsequent list requests. Acceptable values are - * // `0` to `500`, inclusive. (Default: `500`) - * maxResults: 'placeholder-value', - * // Name of the network for this request. - * network: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // Sorts list results by a certain order. By default, results - * // are returned in alphanumerical order based on the resource name. - * // - * // You can also sort results in descending order based on the creation - * // timestamp using `orderBy="creationTimestamp desc"`. This sorts - * // results based on the `creationTimestamp` field in - * // reverse chronological order (newest result first). Use this to sort - * // resources like operations so that the newest operation is returned first. - * // - * // Currently, only sorting by `name` or - * // `creationTimestamp desc` is supported. - * orderBy: 'placeholder-value', - * // Specifies a page token to use. Set `pageToken` to the - * // `nextPageToken` returned by a previous list request to get - * // the next page of results. - * pageToken: 'placeholder-value', + * const res = await compute.nodeGroups.insert({ + * // Initial count of nodes in the node group. + * initialNodeCount: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Opt-in for partial success behavior which provides partial results in case - * // of failure. The default value is false. + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. * // - * // For example, when partial success behavior is enabled, aggregatedList for a - * // single zone scope either returns all resources in the zone or no resources, - * // with an error code. - * returnPartialSuccess: 'placeholder-value', - * // (Optional) types filter separate by comma, valid values are: SUBNETWORK, - * // RESERVED, PEER_USED, PEER_RESERVED, REMOTE_USED, REMOTE_RESERVED. - * types: 'placeholder-value', + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // The name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "autoscalingPolicy": {}, + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "fingerprint": "my_fingerprint", + * // "id": "my_id", + * // "kind": "my_kind", + * // "locationHint": "my_locationHint", + * // "maintenanceInterval": "my_maintenanceInterval", + * // "maintenancePolicy": "my_maintenancePolicy", + * // "maintenanceWindow": {}, + * // "name": "my_name", + * // "nodeTemplate": "my_nodeTemplate", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "shareSettings": {}, + * // "size": 0, + * // "status": "my_status", + * // "zone": "my_zone" + * // } + * }, * }); * console.log(res.data); * * // Example response * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, * // "id": "my_id", - * // "items": [], + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, * // "kind": "my_kind", - * // "nextPageToken": "my_nextPageToken", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", * // "selfLink": "my_selfLink", - * // "warning": {} + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" * // } * } * @@ -156078,55 +161674,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - listIpAddresses( - params: Params$Resource$Networks$Listipaddresses, + insert( + params: Params$Resource$Nodegroups$Insert, options: StreamMethodOptions ): Promise>; - listIpAddresses( - params?: Params$Resource$Networks$Listipaddresses, + insert( + params?: Params$Resource$Nodegroups$Insert, options?: MethodOptions - ): Promise>; - listIpAddresses( - params: Params$Resource$Networks$Listipaddresses, + ): Promise>; + insert( + params: Params$Resource$Nodegroups$Insert, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - listIpAddresses( - params: Params$Resource$Networks$Listipaddresses, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - listIpAddresses( - params: Params$Resource$Networks$Listipaddresses, - callback: BodyResponseCallback + insert( + params: Params$Resource$Nodegroups$Insert, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - listIpAddresses( - callback: BodyResponseCallback + insert( + params: Params$Resource$Nodegroups$Insert, + callback: BodyResponseCallback ): void; - listIpAddresses( + insert(callback: BodyResponseCallback): void; + insert( paramsOrCallback?: - | Params$Resource$Networks$Listipaddresses - | BodyResponseCallback + | Params$Resource$Nodegroups$Insert + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Networks$Listipaddresses; + {}) as Params$Resource$Nodegroups$Insert; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Networks$Listipaddresses; + params = {} as Params$Resource$Nodegroups$Insert; options = {}; } @@ -156141,30 +161735,31 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/networks/{network}/listIpAddresses' + '/compute/alpha/projects/{project}/zones/{zone}/nodeGroups' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project', 'network'], - pathParams: ['network', 'project'], + requiredParams: ['project', 'zone', 'initialNodeCount'], + pathParams: ['project', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Lists the internal IP owners in the specified network. + * Retrieves a list of node groups available to the specified project. + * Note: use nodeGroups.listNodes for more details about each group. * @example * ```js * // Before running the sample: @@ -156197,7 +161792,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.networks.listIpOwners({ + * const res = await compute.nodeGroups.list({ * // A filter expression that filters resources listed in the response. Most * // Compute resources support two types of filter expressions: * // expressions that support regular expressions and expressions that follow @@ -156257,16 +161852,12 @@ export namespace compute_alpha { * // You cannot combine constraints on multiple fields using regular * // expressions. * filter: 'placeholder-value', - * // (Optional) IP CIDR range filter, example: "10.128.10.0/30". - * ipCidrRange: 'placeholder-value', * // The maximum number of results per page that should be returned. * // If the number of available results is larger than `maxResults`, * // Compute Engine returns a `nextPageToken` that can be used to get * // the next page of results in subsequent list requests. Acceptable values are * // `0` to `500`, inclusive. (Default: `500`) * maxResults: 'placeholder-value', - * // Name of the network to return. - * network: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Sorts list results by a certain order. By default, results * // are returned in alphanumerical order based on the resource name. * // @@ -156279,10 +161870,6 @@ export namespace compute_alpha { * // Currently, only sorting by `name` or * // `creationTimestamp desc` is supported. * orderBy: 'placeholder-value', - * // (Optional) Project IDs filter, example: "project-1,project-2". - * ownerProjects: 'placeholder-value', - * // (Optional) Owner types filter, example: "instance,forwardingRule". - * ownerTypes: 'placeholder-value', * // Specifies a page token to use. Set `pageToken` to the * // `nextPageToken` returned by a previous list request to get * // the next page of results. @@ -156297,10 +161884,8 @@ export namespace compute_alpha { * // single zone scope either returns all resources in the zone or no resources, * // with an error code. * returnPartialSuccess: 'placeholder-value', - * // (Optional) Subnetwork name filter. - * subnetName: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', - * // (Optional) Subnetwork region filter. - * subnetRegion: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * // The name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * }); * console.log(res.data); * @@ -156311,7 +161896,6 @@ export namespace compute_alpha { * // "kind": "my_kind", * // "nextPageToken": "my_nextPageToken", * // "selfLink": "my_selfLink", - * // "unreachables": [], * // "warning": {} * // } * } @@ -156328,53 +161912,52 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - listIpOwners( - params: Params$Resource$Networks$Listipowners, + list( + params: Params$Resource$Nodegroups$List, options: StreamMethodOptions ): Promise>; - listIpOwners( - params?: Params$Resource$Networks$Listipowners, + list( + params?: Params$Resource$Nodegroups$List, options?: MethodOptions - ): Promise>; - listIpOwners( - params: Params$Resource$Networks$Listipowners, + ): Promise>; + list( + params: Params$Resource$Nodegroups$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - listIpOwners( - params: Params$Resource$Networks$Listipowners, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + list( + params: Params$Resource$Nodegroups$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - listIpOwners( - params: Params$Resource$Networks$Listipowners, - callback: BodyResponseCallback + list( + params: Params$Resource$Nodegroups$List, + callback: BodyResponseCallback ): void; - listIpOwners(callback: BodyResponseCallback): void; - listIpOwners( + list(callback: BodyResponseCallback): void; + list( paramsOrCallback?: - | Params$Resource$Networks$Listipowners - | BodyResponseCallback + | Params$Resource$Nodegroups$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Networks$Listipowners; + let params = (paramsOrCallback || {}) as Params$Resource$Nodegroups$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Networks$Listipowners; + params = {} as Params$Resource$Nodegroups$List; options = {}; } @@ -156389,7 +161972,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/networks/{network}/listIpOwners' + '/compute/alpha/projects/{project}/zones/{zone}/nodeGroups' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -156397,22 +161980,22 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'network'], - pathParams: ['network', 'project'], + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Lists the peering routes exchanged over peering connection. + * Lists nodes in the node group. * @example * ```js * // Before running the sample: @@ -156445,9 +162028,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.networks.listPeeringRoutes({ - * // The direction of the exchanged routes. - * direction: 'placeholder-value', + * const res = await compute.nodeGroups.listNodes({ * // A filter expression that filters resources listed in the response. Most * // Compute resources support two types of filter expressions: * // expressions that support regular expressions and expressions that follow @@ -156513,8 +162094,8 @@ export namespace compute_alpha { * // the next page of results in subsequent list requests. Acceptable values are * // `0` to `500`, inclusive. (Default: `500`) * maxResults: 'placeholder-value', - * // Name of the network for this request. - * network: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * // Name of the NodeGroup resource whose nodes you want to list. + * nodeGroup: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Sorts list results by a certain order. By default, results * // are returned in alphanumerical order based on the resource name. * // @@ -156531,14 +162112,9 @@ export namespace compute_alpha { * // `nextPageToken` returned by a previous list request to get * // the next page of results. * pageToken: 'placeholder-value', - * // The response will show routes exchanged over the given peering connection. - * peeringName: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // The region of the request. The response will include all subnet routes, - * // static routes and dynamic routes in the region. - * region: 'placeholder-value', * // Opt-in for partial success behavior which provides partial results in case * // of failure. The default value is false. * // @@ -156546,6 +162122,8 @@ export namespace compute_alpha { * // single zone scope either returns all resources in the zone or no resources, * // with an error code. * returnPartialSuccess: 'placeholder-value', + * // The name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * }); * console.log(res.data); * @@ -156572,57 +162150,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - listPeeringRoutes( - params: Params$Resource$Networks$Listpeeringroutes, + listNodes( + params: Params$Resource$Nodegroups$Listnodes, options: StreamMethodOptions ): Promise>; - listPeeringRoutes( - params?: Params$Resource$Networks$Listpeeringroutes, + listNodes( + params?: Params$Resource$Nodegroups$Listnodes, options?: MethodOptions - ): Promise>; - listPeeringRoutes( - params: Params$Resource$Networks$Listpeeringroutes, + ): Promise>; + listNodes( + params: Params$Resource$Nodegroups$Listnodes, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - listPeeringRoutes( - params: Params$Resource$Networks$Listpeeringroutes, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - listPeeringRoutes( - params: Params$Resource$Networks$Listpeeringroutes, - callback: BodyResponseCallback + listNodes( + params: Params$Resource$Nodegroups$Listnodes, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - listPeeringRoutes( - callback: BodyResponseCallback + listNodes( + params: Params$Resource$Nodegroups$Listnodes, + callback: BodyResponseCallback ): void; - listPeeringRoutes( + listNodes(callback: BodyResponseCallback): void; + listNodes( paramsOrCallback?: - | Params$Resource$Networks$Listpeeringroutes - | BodyResponseCallback + | Params$Resource$Nodegroups$Listnodes + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Networks$Listpeeringroutes; + {}) as Params$Resource$Nodegroups$Listnodes; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Networks$Listpeeringroutes; + params = {} as Params$Resource$Nodegroups$Listnodes; options = {}; } @@ -156637,31 +162211,30 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/networks/{network}/listPeeringRoutes' + '/compute/alpha/projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/listNodes' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project', 'network'], - pathParams: ['network', 'project'], + requiredParams: ['project', 'zone', 'nodeGroup'], + pathParams: ['nodeGroup', 'project', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Patches the specified network with the data included in the request. - * Only routingConfig can be modified. + * Updates the specified node group. * @example * ```js * // Before running the sample: @@ -156693,9 +162266,9 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.networks.patch({ - * // Name of the network to update. - * network: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.nodeGroups.patch({ + * // Name of the NodeGroup resource to update. + * nodeGroup: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -156713,32 +162286,31 @@ export namespace compute_alpha { * // a valid UUID with the exception that zero UUID is not supported * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', + * // The name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * * // Request body metadata * requestBody: { * // request body parameters * // { - * // "IPv4Range": "my_IPv4Range", - * // "autoCreateSubnetworks": false, + * // "autoscalingPolicy": {}, * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", - * // "enableUlaInternalIpv6": false, - * // "firewallPolicy": "my_firewallPolicy", - * // "gatewayIPv4": "my_gatewayIPv4", + * // "fingerprint": "my_fingerprint", * // "id": "my_id", - * // "internalIpv6Range": "my_internalIpv6Range", * // "kind": "my_kind", - * // "mtu": 0, + * // "locationHint": "my_locationHint", + * // "maintenanceInterval": "my_maintenanceInterval", + * // "maintenancePolicy": "my_maintenancePolicy", + * // "maintenanceWindow": {}, * // "name": "my_name", - * // "networkFirewallPolicyEnforcementOrder": "my_networkFirewallPolicyEnforcementOrder", - * // "networkProfile": "my_networkProfile", - * // "params": {}, - * // "peerings": [], - * // "region": "my_region", - * // "routingConfig": {}, + * // "nodeTemplate": "my_nodeTemplate", * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", - * // "subnetworks": [] + * // "shareSettings": {}, + * // "size": 0, + * // "status": "my_status", + * // "zone": "my_zone" * // } * }, * }); @@ -156790,31 +162362,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ patch( - params: Params$Resource$Networks$Patch, + params: Params$Resource$Nodegroups$Patch, options: StreamMethodOptions ): Promise>; patch( - params?: Params$Resource$Networks$Patch, + params?: Params$Resource$Nodegroups$Patch, options?: MethodOptions ): Promise>; patch( - params: Params$Resource$Networks$Patch, + params: Params$Resource$Nodegroups$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; patch( - params: Params$Resource$Networks$Patch, + params: Params$Resource$Nodegroups$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; patch( - params: Params$Resource$Networks$Patch, + params: Params$Resource$Nodegroups$Patch, callback: BodyResponseCallback ): void; patch(callback: BodyResponseCallback): void; patch( paramsOrCallback?: - | Params$Resource$Networks$Patch + | Params$Resource$Nodegroups$Patch | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -156829,12 +162401,12 @@ export namespace compute_alpha { | void | Promise> | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Networks$Patch; + let params = (paramsOrCallback || {}) as Params$Resource$Nodegroups$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Networks$Patch; + params = {} as Params$Resource$Nodegroups$Patch; options = {}; } @@ -156849,7 +162421,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/networks/{network}' + '/compute/alpha/projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'PATCH', apiVersion: '', @@ -156857,8 +162429,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'network'], - pathParams: ['network', 'project'], + requiredParams: ['project', 'zone', 'nodeGroup'], + pathParams: ['nodeGroup', 'project', 'zone'], context: this.context, }; if (callback) { @@ -156872,7 +162444,7 @@ export namespace compute_alpha { } /** - * Removes a peering from the specified network. + * Perform maintenance on a subset of nodes in the node group. * @example * ```js * // Before running the sample: @@ -156904,9 +162476,9 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.networks.removePeering({ - * // Name of the network resource to remove peering from. - * network: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.nodeGroups.performMaintenance({ + * // Name of the node group scoping this request. + * nodeGroup: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -156924,12 +162496,15 @@ export namespace compute_alpha { * // a valid UUID with the exception that zero UUID is not supported * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', + * // The name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * * // Request body metadata * requestBody: { * // request body parameters * // { - * // "name": "my_name" + * // "nodes": [], + * // "startTime": "my_startTime" * // } * }, * }); @@ -156980,32 +162555,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - removePeering( - params: Params$Resource$Networks$Removepeering, + performMaintenance( + params: Params$Resource$Nodegroups$Performmaintenance, options: StreamMethodOptions ): Promise>; - removePeering( - params?: Params$Resource$Networks$Removepeering, + performMaintenance( + params?: Params$Resource$Nodegroups$Performmaintenance, options?: MethodOptions ): Promise>; - removePeering( - params: Params$Resource$Networks$Removepeering, + performMaintenance( + params: Params$Resource$Nodegroups$Performmaintenance, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - removePeering( - params: Params$Resource$Networks$Removepeering, + performMaintenance( + params: Params$Resource$Nodegroups$Performmaintenance, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - removePeering( - params: Params$Resource$Networks$Removepeering, + performMaintenance( + params: Params$Resource$Nodegroups$Performmaintenance, callback: BodyResponseCallback ): void; - removePeering(callback: BodyResponseCallback): void; - removePeering( + performMaintenance(callback: BodyResponseCallback): void; + performMaintenance( paramsOrCallback?: - | Params$Resource$Networks$Removepeering + | Params$Resource$Nodegroups$Performmaintenance | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -157021,12 +162596,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Networks$Removepeering; + {}) as Params$Resource$Nodegroups$Performmaintenance; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Networks$Removepeering; + params = {} as Params$Resource$Nodegroups$Performmaintenance; options = {}; } @@ -157041,7 +162616,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/networks/{network}/removePeering' + '/compute/alpha/projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/performMaintenance' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -157049,8 +162624,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'network'], - pathParams: ['network', 'project'], + requiredParams: ['project', 'zone', 'nodeGroup'], + pathParams: ['nodeGroup', 'project', 'zone'], context: this.context, }; if (callback) { @@ -157064,8 +162639,8 @@ export namespace compute_alpha { } /** - * Requests to remove a peering from the specified network. Applicable only - * for PeeringConnection with update_strategy=CONSENSUS. + * Sets the access control policy on the specified resource. + * Replaces any existing policy. * @example * ```js * // Before running the sample: @@ -157097,32 +162672,22 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.networks.requestRemovePeering({ - * // Name of the network resource to remove peering from. - * network: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.nodeGroups.setIamPolicy({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. - * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', + * // Name or id of the resource for this request. + * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // The name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * * // Request body metadata * requestBody: { * // request body parameters * // { - * // "name": "my_name" + * // "bindings": [], + * // "etag": "my_etag", + * // "policy": {} * // } * }, * }); @@ -157130,34 +162695,10 @@ export namespace compute_alpha { * * // Example response * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, - * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, - * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" + * // "auditConfigs": [], + * // "bindings": [], + * // "etag": "my_etag", + * // "version": 0 * // } * } * @@ -157173,55 +162714,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - requestRemovePeering( - params: Params$Resource$Networks$Requestremovepeering, + setIamPolicy( + params: Params$Resource$Nodegroups$Setiampolicy, options: StreamMethodOptions ): Promise>; - requestRemovePeering( - params?: Params$Resource$Networks$Requestremovepeering, + setIamPolicy( + params?: Params$Resource$Nodegroups$Setiampolicy, options?: MethodOptions - ): Promise>; - requestRemovePeering( - params: Params$Resource$Networks$Requestremovepeering, + ): Promise>; + setIamPolicy( + params: Params$Resource$Nodegroups$Setiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - requestRemovePeering( - params: Params$Resource$Networks$Requestremovepeering, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - requestRemovePeering( - params: Params$Resource$Networks$Requestremovepeering, - callback: BodyResponseCallback + setIamPolicy( + params: Params$Resource$Nodegroups$Setiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - requestRemovePeering( - callback: BodyResponseCallback + setIamPolicy( + params: Params$Resource$Nodegroups$Setiampolicy, + callback: BodyResponseCallback ): void; - requestRemovePeering( + setIamPolicy(callback: BodyResponseCallback): void; + setIamPolicy( paramsOrCallback?: - | Params$Resource$Networks$Requestremovepeering - | BodyResponseCallback + | Params$Resource$Nodegroups$Setiampolicy + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Networks$Requestremovepeering; + {}) as Params$Resource$Nodegroups$Setiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Networks$Requestremovepeering; + params = {} as Params$Resource$Nodegroups$Setiampolicy; options = {}; } @@ -157236,7 +162775,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/networks/{network}/requestRemovePeering' + '/compute/alpha/projects/{project}/zones/{zone}/nodeGroups/{resource}/setIamPolicy' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -157244,22 +162783,22 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'network'], - pathParams: ['network', 'project'], + requiredParams: ['project', 'zone', 'resource'], + pathParams: ['project', 'resource', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Switches the network mode from auto subnet mode to custom subnet mode. + * Updates the node template of the node group. * @example * ```js * // Before running the sample: @@ -157291,9 +162830,9 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.networks.switchToCustomMode({ - * // Name of the network to be updated. - * network: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.nodeGroups.setNodeTemplate({ + * // Name of the NodeGroup resource to update. + * nodeGroup: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', @@ -157311,6 +162850,16 @@ export namespace compute_alpha { * // a valid UUID with the exception that zero UUID is not supported * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', + * // The name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "nodeTemplate": "my_nodeTemplate" + * // } + * }, * }); * console.log(res.data); * @@ -157359,32 +162908,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - switchToCustomMode( - params: Params$Resource$Networks$Switchtocustommode, + setNodeTemplate( + params: Params$Resource$Nodegroups$Setnodetemplate, options: StreamMethodOptions ): Promise>; - switchToCustomMode( - params?: Params$Resource$Networks$Switchtocustommode, + setNodeTemplate( + params?: Params$Resource$Nodegroups$Setnodetemplate, options?: MethodOptions ): Promise>; - switchToCustomMode( - params: Params$Resource$Networks$Switchtocustommode, + setNodeTemplate( + params: Params$Resource$Nodegroups$Setnodetemplate, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - switchToCustomMode( - params: Params$Resource$Networks$Switchtocustommode, + setNodeTemplate( + params: Params$Resource$Nodegroups$Setnodetemplate, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - switchToCustomMode( - params: Params$Resource$Networks$Switchtocustommode, + setNodeTemplate( + params: Params$Resource$Nodegroups$Setnodetemplate, callback: BodyResponseCallback ): void; - switchToCustomMode(callback: BodyResponseCallback): void; - switchToCustomMode( + setNodeTemplate(callback: BodyResponseCallback): void; + setNodeTemplate( paramsOrCallback?: - | Params$Resource$Networks$Switchtocustommode + | Params$Resource$Nodegroups$Setnodetemplate | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -157400,12 +162949,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Networks$Switchtocustommode; + {}) as Params$Resource$Nodegroups$Setnodetemplate; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Networks$Switchtocustommode; + params = {} as Params$Resource$Nodegroups$Setnodetemplate; options = {}; } @@ -157420,7 +162969,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/networks/{network}/switchToCustomMode' + '/compute/alpha/projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/setNodeTemplate' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -157428,8 +162977,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'network'], - pathParams: ['network', 'project'], + requiredParams: ['project', 'zone', 'nodeGroup'], + pathParams: ['nodeGroup', 'project', 'zone'], context: this.context, }; if (callback) { @@ -157443,7 +162992,7 @@ export namespace compute_alpha { } /** - * Returns permissions that a caller has on the specified resource. + * Simulates maintenance event on specified nodes from the node group. * @example * ```js * // Before running the sample: @@ -157467,7 +163016,6 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -157476,18 +163024,35 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.networks.testIamPermissions({ + * const res = await compute.nodeGroups.simulateMaintenanceEvent({ + * // Name of the NodeGroup resource whose nodes will go under maintenance + * // simulation. + * nodeGroup: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name or id of the resource for this request. - * resource: '[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // The name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * * // Request body metadata * requestBody: { * // request body parameters * // { - * // "permissions": [] + * // "nodes": [] * // } * }, * }); @@ -157495,7 +163060,34 @@ export namespace compute_alpha { * * // Example response * // { - * // "permissions": [] + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" * // } * } * @@ -157511,57 +163103,55 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - testIamPermissions( - params: Params$Resource$Networks$Testiampermissions, + simulateMaintenanceEvent( + params: Params$Resource$Nodegroups$Simulatemaintenanceevent, options: StreamMethodOptions ): Promise>; - testIamPermissions( - params?: Params$Resource$Networks$Testiampermissions, + simulateMaintenanceEvent( + params?: Params$Resource$Nodegroups$Simulatemaintenanceevent, options?: MethodOptions - ): Promise>; - testIamPermissions( - params: Params$Resource$Networks$Testiampermissions, + ): Promise>; + simulateMaintenanceEvent( + params: Params$Resource$Nodegroups$Simulatemaintenanceevent, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - testIamPermissions( - params: Params$Resource$Networks$Testiampermissions, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + simulateMaintenanceEvent( + params: Params$Resource$Nodegroups$Simulatemaintenanceevent, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - testIamPermissions( - params: Params$Resource$Networks$Testiampermissions, - callback: BodyResponseCallback + simulateMaintenanceEvent( + params: Params$Resource$Nodegroups$Simulatemaintenanceevent, + callback: BodyResponseCallback ): void; - testIamPermissions( - callback: BodyResponseCallback + simulateMaintenanceEvent( + callback: BodyResponseCallback ): void; - testIamPermissions( + simulateMaintenanceEvent( paramsOrCallback?: - | Params$Resource$Networks$Testiampermissions - | BodyResponseCallback + | Params$Resource$Nodegroups$Simulatemaintenanceevent + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Networks$Testiampermissions; + {}) as Params$Resource$Nodegroups$Simulatemaintenanceevent; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Networks$Testiampermissions; + params = {} as Params$Resource$Nodegroups$Simulatemaintenanceevent; options = {}; } @@ -157576,7 +163166,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/networks/{resource}/testIamPermissions' + '/compute/alpha/projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/simulateMaintenanceEvent' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -157584,24 +163174,22 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'resource'], - pathParams: ['project', 'resource'], + requiredParams: ['project', 'zone', 'nodeGroup'], + pathParams: ['nodeGroup', 'project', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * 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. + * Returns permissions that a caller has on the specified resource. * @example * ```js * // Before running the sample: @@ -157625,6 +163213,7 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -157633,32 +163222,20 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.networks.updatePeering({ - * // Name of the network resource which the updated peering is belonging to. - * network: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.nodeGroups.testIamPermissions({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. - * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', + * // Name or id of the resource for this request. + * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // The name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * * // Request body metadata * requestBody: { * // request body parameters * // { - * // "networkPeering": {} + * // "permissions": [] * // } * }, * }); @@ -157666,34 +163243,7 @@ export namespace compute_alpha { * * // Example response * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, - * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, - * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" + * // "permissions": [] * // } * } * @@ -157709,53 +163259,57 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - updatePeering( - params: Params$Resource$Networks$Updatepeering, + testIamPermissions( + params: Params$Resource$Nodegroups$Testiampermissions, options: StreamMethodOptions ): Promise>; - updatePeering( - params?: Params$Resource$Networks$Updatepeering, + testIamPermissions( + params?: Params$Resource$Nodegroups$Testiampermissions, options?: MethodOptions - ): Promise>; - updatePeering( - params: Params$Resource$Networks$Updatepeering, + ): Promise>; + testIamPermissions( + params: Params$Resource$Nodegroups$Testiampermissions, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - updatePeering( - params: Params$Resource$Networks$Updatepeering, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + testIamPermissions( + params: Params$Resource$Nodegroups$Testiampermissions, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - updatePeering( - params: Params$Resource$Networks$Updatepeering, - callback: BodyResponseCallback + testIamPermissions( + params: Params$Resource$Nodegroups$Testiampermissions, + callback: BodyResponseCallback ): void; - updatePeering(callback: BodyResponseCallback): void; - updatePeering( + testIamPermissions( + callback: BodyResponseCallback + ): void; + testIamPermissions( paramsOrCallback?: - | Params$Resource$Networks$Updatepeering - | BodyResponseCallback + | Params$Resource$Nodegroups$Testiampermissions + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Networks$Updatepeering; + {}) as Params$Resource$Nodegroups$Testiampermissions; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Networks$Updatepeering; + params = {} as Params$Resource$Nodegroups$Testiampermissions; options = {}; } @@ -157770,96 +163324,34 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/networks/{network}/updatePeering' + '/compute/alpha/projects/{project}/zones/{zone}/nodeGroups/{resource}/testIamPermissions' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project', 'network'], - pathParams: ['network', 'project'], + requiredParams: ['project', 'zone', 'resource'], + pathParams: ['project', 'resource', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } } - export interface Params$Resource$Networks$Addpeering extends StandardParameters { - /** - * Name of the network resource to add peering to. - */ - network?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$NetworksAddPeeringRequest; - } - export interface Params$Resource$Networks$Cancelrequestremovepeering extends StandardParameters { - /** - * Name of the network resource to remove peering from. - */ - network?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$NetworksCancelRequestRemovePeeringRequest; - } - export interface Params$Resource$Networks$Delete extends StandardParameters { + export interface Params$Resource$Nodegroups$Addnodes extends StandardParameters { /** - * Name of the network to delete. + * Name of the NodeGroup resource. */ - network?: string; + nodeGroup?: string; /** * Project ID for this request. */ @@ -157880,55 +163372,17 @@ export namespace compute_alpha { * (00000000-0000-0000-0000-000000000000). */ requestId?: string; - } - export interface Params$Resource$Networks$Get extends StandardParameters { - /** - * Name of the network to return. - */ - network?: string; - /** - * Project ID for this request. - */ - project?: string; - } - export interface Params$Resource$Networks$Geteffectivefirewalls extends StandardParameters { - /** - * Name of the network for this request. - */ - network?: string; - /** - * Project ID for this request. - */ - project?: string; - } - export interface Params$Resource$Networks$Insert extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). + * The name of the zone for this request. */ - requestId?: string; + zone?: string; /** * Request body metadata */ - requestBody?: Schema$Network; + requestBody?: Schema$NodeGroupsAddNodesRequest; } - export interface Params$Resource$Networks$List extends StandardParameters { + export interface Params$Resource$Nodegroups$Aggregatedlist extends StandardParameters { /** * A filter expression that filters resources listed in the response. Most * Compute resources support two types of filter expressions: @@ -157990,6 +163444,16 @@ export namespace compute_alpha { * expressions. */ filter?: string; + /** + * 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. + */ + includeAllScopes?: boolean; /** * The maximum number of results per page that should be returned. * If the number of available results is larger than `maxResults`, @@ -158031,121 +163495,145 @@ export namespace compute_alpha { * with an error code. */ returnPartialSuccess?: boolean; + /** + * The Shared VPC service project id or service project number for which + * aggregated list request is invoked for subnetworks list-usable api. + */ + serviceProjectNumber?: string; } - export interface Params$Resource$Networks$Listipaddresses extends StandardParameters { + export interface Params$Resource$Nodegroups$Delete extends StandardParameters { /** - * A filter expression that filters resources listed in the response. Most - * Compute resources support two types of filter expressions: - * expressions that support regular expressions and expressions that follow - * API improvement proposal AIP-160. - * These two types of filter expressions cannot be mixed in one request. - * - * If you want to use AIP-160, your expression must specify the field name, an - * operator, and the value that you want to use for filtering. The value - * must be a string, a number, or a boolean. The operator - * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * - * For example, if you are filtering Compute Engine instances, you can - * exclude instances named `example-instance` by specifying - * `name != example-instance`. - * - * The `:*` comparison can be used to test whether a key has been defined. - * For example, to find all objects with `owner` label use: - * ``` - * labels.owner:* - * ``` - * - * You can also filter nested fields. For example, you could specify - * `scheduling.automaticRestart = false` to include instances only - * if they are not scheduled for automatic restarts. You can use filtering - * on nested fields to filter based onresource labels. - * - * To filter on multiple expressions, provide each separate expression within - * parentheses. For example: - * ``` - * (scheduling.automaticRestart = true) - * (cpuPlatform = "Intel Skylake") - * ``` - * By default, each expression is an `AND` expression. However, you - * can include `AND` and `OR` expressions explicitly. - * For example: - * ``` - * (cpuPlatform = "Intel Skylake") OR - * (cpuPlatform = "Intel Broadwell") AND - * (scheduling.automaticRestart = true) - * ``` - * - * If you want to use a regular expression, use the `eq` (equal) or `ne` - * (not equal) operator against a single un-parenthesized expression with or - * without quotes or against multiple parenthesized expressions. Examples: - * - * `fieldname eq unquoted literal` - * `fieldname eq 'single quoted literal'` - * `fieldname eq "double quoted literal"` - * `(fieldname1 eq literal) (fieldname2 ne "literal")` - * - * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * The literal value must match the entire field. + * Name of the NodeGroup resource to delete. + */ + nodeGroup?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. * - * For example, to filter for instances that do not end with name "instance", - * you would use `name ne .*instance`. + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. * - * You cannot combine constraints on multiple fields using regular - * expressions. + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). */ - filter?: string; + requestId?: string; /** - * The maximum number of results per page that should be returned. - * If the number of available results is larger than `maxResults`, - * Compute Engine returns a `nextPageToken` that can be used to get - * the next page of results in subsequent list requests. Acceptable values are - * `0` to `500`, inclusive. (Default: `500`) + * The name of the zone for this request. */ - maxResults?: number; + zone?: string; + } + export interface Params$Resource$Nodegroups$Deletenodes extends StandardParameters { /** - * Name of the network for this request. + * Name of the NodeGroup resource whose nodes will be deleted. */ - network?: string; + nodeGroup?: string; /** - * Sorts list results by a certain order. By default, results - * are returned in alphanumerical order based on the resource name. + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. * - * You can also sort results in descending order based on the creation - * timestamp using `orderBy="creationTimestamp desc"`. This sorts - * results based on the `creationTimestamp` field in - * reverse chronological order (newest result first). Use this to sort - * resources like operations so that the newest operation is returned first. + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. * - * Currently, only sorting by `name` or - * `creationTimestamp desc` is supported. + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). */ - orderBy?: string; + requestId?: string; /** - * Specifies a page token to use. Set `pageToken` to the - * `nextPageToken` returned by a previous list request to get - * the next page of results. + * The name of the zone for this request. */ - pageToken?: string; + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$NodeGroupsDeleteNodesRequest; + } + export interface Params$Resource$Nodegroups$Get extends StandardParameters { + /** + * Name of the node group to return. + */ + nodeGroup?: string; /** * Project ID for this request. */ project?: string; /** - * Opt-in for partial success behavior which provides partial results in case - * of failure. The default value is false. + * The name of the zone for this request. + */ + zone?: string; + } + export interface Params$Resource$Nodegroups$Getiampolicy extends StandardParameters { + /** + * Requested IAM Policy version. + */ + optionsRequestedPolicyVersion?: number; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + export interface Params$Resource$Nodegroups$Insert extends StandardParameters { + /** + * Initial count of nodes in the node group. + */ + initialNodeCount?: number; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. * - * For example, when partial success behavior is enabled, aggregatedList for a - * single zone scope either returns all resources in the zone or no resources, - * with an error code. + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). */ - returnPartialSuccess?: boolean; + requestId?: string; /** - * (Optional) types filter separate by comma, valid values are: SUBNETWORK, - * RESERVED, PEER_USED, PEER_RESERVED, REMOTE_USED, REMOTE_RESERVED. + * The name of the zone for this request. */ - types?: string; + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$NodeGroup; } - export interface Params$Resource$Networks$Listipowners extends StandardParameters { + export interface Params$Resource$Nodegroups$List extends StandardParameters { /** * A filter expression that filters resources listed in the response. Most * Compute resources support two types of filter expressions: @@ -158207,10 +163695,6 @@ export namespace compute_alpha { * expressions. */ filter?: string; - /** - * (Optional) IP CIDR range filter, example: "10.128.10.0/30". - */ - ipCidrRange?: string; /** * The maximum number of results per page that should be returned. * If the number of available results is larger than `maxResults`, @@ -158219,10 +163703,6 @@ export namespace compute_alpha { * `0` to `500`, inclusive. (Default: `500`) */ maxResults?: number; - /** - * Name of the network to return. - */ - network?: string; /** * Sorts list results by a certain order. By default, results * are returned in alphanumerical order based on the resource name. @@ -158237,14 +163717,6 @@ export namespace compute_alpha { * `creationTimestamp desc` is supported. */ orderBy?: string; - /** - * (Optional) Project IDs filter, example: "project-1,project-2". - */ - ownerProjects?: string; - /** - * (Optional) Owner types filter, example: "instance,forwardingRule". - */ - ownerTypes?: string; /** * Specifies a page token to use. Set `pageToken` to the * `nextPageToken` returned by a previous list request to get @@ -158265,19 +163737,11 @@ export namespace compute_alpha { */ returnPartialSuccess?: boolean; /** - * (Optional) Subnetwork name filter. - */ - subnetName?: string; - /** - * (Optional) Subnetwork region filter. + * The name of the zone for this request. */ - subnetRegion?: string; + zone?: string; } - export interface Params$Resource$Networks$Listpeeringroutes extends StandardParameters { - /** - * The direction of the exchanged routes. - */ - direction?: string; + export interface Params$Resource$Nodegroups$Listnodes extends StandardParameters { /** * A filter expression that filters resources listed in the response. Most * Compute resources support two types of filter expressions: @@ -158348,9 +163812,9 @@ export namespace compute_alpha { */ maxResults?: number; /** - * Name of the network for this request. + * Name of the NodeGroup resource whose nodes you want to list. */ - network?: string; + nodeGroup?: string; /** * Sorts list results by a certain order. By default, results * are returned in alphanumerical order based on the resource name. @@ -158371,19 +163835,10 @@ export namespace compute_alpha { * the next page of results. */ pageToken?: string; - /** - * The response will show routes exchanged over the given peering connection. - */ - peeringName?: string; /** * Project ID for this request. */ project?: string; - /** - * The region of the request. The response will include all subnet routes, - * static routes and dynamic routes in the region. - */ - region?: string; /** * Opt-in for partial success behavior which provides partial results in case * of failure. The default value is false. @@ -158393,12 +163848,16 @@ export namespace compute_alpha { * with an error code. */ returnPartialSuccess?: boolean; + /** + * The name of the zone for this request. + */ + zone?: string; } - export interface Params$Resource$Networks$Patch extends StandardParameters { + export interface Params$Resource$Nodegroups$Patch extends StandardParameters { /** - * Name of the network to update. + * Name of the NodeGroup resource to update. */ - network?: string; + nodeGroup?: string; /** * Project ID for this request. */ @@ -158419,17 +163878,21 @@ export namespace compute_alpha { * (00000000-0000-0000-0000-000000000000). */ requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; /** * Request body metadata */ - requestBody?: Schema$Network; + requestBody?: Schema$NodeGroup; } - export interface Params$Resource$Networks$Removepeering extends StandardParameters { + export interface Params$Resource$Nodegroups$Performmaintenance extends StandardParameters { /** - * Name of the network resource to remove peering from. + * Name of the node group scoping this request. */ - network?: string; + nodeGroup?: string; /** * Project ID for this request. */ @@ -158450,48 +163913,40 @@ export namespace compute_alpha { * (00000000-0000-0000-0000-000000000000). */ requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; /** * Request body metadata */ - requestBody?: Schema$NetworksRemovePeeringRequest; + requestBody?: Schema$NodeGroupsPerformMaintenanceRequest; } - export interface Params$Resource$Networks$Requestremovepeering extends StandardParameters { - /** - * Name of the network resource to remove peering from. - */ - network?: string; + export interface Params$Resource$Nodegroups$Setiampolicy extends StandardParameters { /** * Project ID for this request. */ project?: string; /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). + * Name or id of the resource for this request. */ - requestId?: string; + resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; /** * Request body metadata */ - requestBody?: Schema$NetworksRequestRemovePeeringRequest; + requestBody?: Schema$ZoneSetPolicyRequest; } - export interface Params$Resource$Networks$Switchtocustommode extends StandardParameters { + export interface Params$Resource$Nodegroups$Setnodetemplate extends StandardParameters { /** - * Name of the network to be updated. + * Name of the NodeGroup resource to update. */ - network?: string; + nodeGroup?: string; /** * Project ID for this request. */ @@ -158512,27 +163967,22 @@ export namespace compute_alpha { * (00000000-0000-0000-0000-000000000000). */ requestId?: string; - } - export interface Params$Resource$Networks$Testiampermissions extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; /** - * Name or id of the resource for this request. + * The name of the zone for this request. */ - resource?: string; + zone?: string; /** * Request body metadata */ - requestBody?: Schema$TestPermissionsRequest; + requestBody?: Schema$NodeGroupsSetNodeTemplateRequest; } - export interface Params$Resource$Networks$Updatepeering extends StandardParameters { + export interface Params$Resource$Nodegroups$Simulatemaintenanceevent extends StandardParameters { /** - * Name of the network resource which the updated peering is belonging to. + * Name of the NodeGroup resource whose nodes will go under maintenance + * simulation. */ - network?: string; + nodeGroup?: string; /** * Project ID for this request. */ @@ -158553,21 +164003,47 @@ export namespace compute_alpha { * (00000000-0000-0000-0000-000000000000). */ requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; /** * Request body metadata */ - requestBody?: Schema$NetworksUpdatePeeringRequest; + requestBody?: Schema$NodeGroupsSimulateMaintenanceEventRequest; + } + export interface Params$Resource$Nodegroups$Testiampermissions extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; } - export class Resource$Nodegroups { + export class Resource$Nodetemplates { context: APIRequestContext; constructor(context: APIRequestContext) { this.context = context; } /** - * Adds specified number of nodes to the node group. + * Retrieves an aggregated list of node templates. + * + * To prevent failure, Google recommends that you set the + * `returnPartialSuccess` parameter to `true`. * @example * ```js * // Before running the sample: @@ -158591,6 +164067,7 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -158599,12 +164076,264 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.nodeGroups.addNodes({ - * // Name of the NodeGroup resource. - * nodeGroup: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.nodeTemplates.aggregatedList({ + * // A filter expression that filters resources listed in the response. Most + * // Compute resources support two types of filter expressions: + * // expressions that support regular expressions and expressions that follow + * // API improvement proposal AIP-160. + * // These two types of filter expressions cannot be mixed in one request. + * // + * // If you want to use AIP-160, your expression must specify the field name, an + * // operator, and the value that you want to use for filtering. The value + * // must be a string, a number, or a boolean. The operator + * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * // + * // For example, if you are filtering Compute Engine instances, you can + * // exclude instances named `example-instance` by specifying + * // `name != example-instance`. + * // + * // The `:*` comparison can be used to test whether a key has been defined. + * // For example, to find all objects with `owner` label use: + * // ``` + * // labels.owner:* + * // ``` + * // + * // You can also filter nested fields. For example, you could specify + * // `scheduling.automaticRestart = false` to include instances only + * // if they are not scheduled for automatic restarts. You can use filtering + * // on nested fields to filter based onresource labels. + * // + * // To filter on multiple expressions, provide each separate expression within + * // parentheses. For example: + * // ``` + * // (scheduling.automaticRestart = true) + * // (cpuPlatform = "Intel Skylake") + * // ``` + * // By default, each expression is an `AND` expression. However, you + * // can include `AND` and `OR` expressions explicitly. + * // For example: + * // ``` + * // (cpuPlatform = "Intel Skylake") OR + * // (cpuPlatform = "Intel Broadwell") AND + * // (scheduling.automaticRestart = true) + * // ``` + * // + * // If you want to use a regular expression, use the `eq` (equal) or `ne` + * // (not equal) operator against a single un-parenthesized expression with or + * // without quotes or against multiple parenthesized expressions. Examples: + * // + * // `fieldname eq unquoted literal` + * // `fieldname eq 'single quoted literal'` + * // `fieldname eq "double quoted literal"` + * // `(fieldname1 eq literal) (fieldname2 ne "literal")` + * // + * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * // The literal value must match the entire field. + * // + * // For example, to filter for instances that do not end with name "instance", + * // you would use `name ne .*instance`. + * // + * // You cannot combine constraints on multiple fields using regular + * // expressions. + * filter: 'placeholder-value', + * // 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. + * includeAllScopes: 'placeholder-value', + * // The maximum number of results per page that should be returned. + * // If the number of available results is larger than `maxResults`, + * // Compute Engine returns a `nextPageToken` that can be used to get + * // the next page of results in subsequent list requests. Acceptable values are + * // `0` to `500`, inclusive. (Default: `500`) + * maxResults: 'placeholder-value', + * // Sorts list results by a certain order. By default, results + * // are returned in alphanumerical order based on the resource name. + * // + * // You can also sort results in descending order based on the creation + * // timestamp using `orderBy="creationTimestamp desc"`. This sorts + * // results based on the `creationTimestamp` field in + * // reverse chronological order (newest result first). Use this to sort + * // resources like operations so that the newest operation is returned first. + * // + * // Currently, only sorting by `name` or + * // `creationTimestamp desc` is supported. + * orderBy: 'placeholder-value', + * // Specifies a page token to use. Set `pageToken` to the + * // `nextPageToken` returned by a previous list request to get + * // the next page of results. + * pageToken: 'placeholder-value', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Opt-in for partial success behavior which provides partial results in case + * // of failure. The default value is false. + * // + * // For example, when partial success behavior is enabled, aggregatedList for a + * // single zone scope either returns all resources in the zone or no resources, + * // with an error code. + * returnPartialSuccess: 'placeholder-value', + * // The Shared VPC service project id or service project number for which + * // aggregated list request is invoked for subnetworks list-usable api. + * serviceProjectNumber: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "id": "my_id", + * // "items": {}, + * // "kind": "my_kind", + * // "nextPageToken": "my_nextPageToken", + * // "selfLink": "my_selfLink", + * // "unreachables": [], + * // "warning": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + aggregatedList( + params: Params$Resource$Nodetemplates$Aggregatedlist, + options: StreamMethodOptions + ): Promise>; + aggregatedList( + params?: Params$Resource$Nodetemplates$Aggregatedlist, + options?: MethodOptions + ): Promise>; + aggregatedList( + params: Params$Resource$Nodetemplates$Aggregatedlist, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + aggregatedList( + params: Params$Resource$Nodetemplates$Aggregatedlist, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + aggregatedList( + params: Params$Resource$Nodetemplates$Aggregatedlist, + callback: BodyResponseCallback + ): void; + aggregatedList( + callback: BodyResponseCallback + ): void; + aggregatedList( + paramsOrCallback?: + | Params$Resource$Nodetemplates$Aggregatedlist + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Nodetemplates$Aggregatedlist; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Nodetemplates$Aggregatedlist; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/aggregated/nodeTemplates' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes the specified NodeTemplate resource. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.nodeTemplates.delete({ + * // Name of the NodeTemplate resource to delete. + * nodeTemplate: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // The name of the region for this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * // An optional request ID to identify requests. Specify a unique request ID so * // that if you must retry your request, the server will know to ignore the * // request if it has already been completed. @@ -158619,16 +164348,6 @@ export namespace compute_alpha { * // a valid UUID with the exception that zero UUID is not supported * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', - * // The name of the zone for this request. - * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "additionalNodeCount": 0 - * // } - * }, * }); * console.log(res.data); * @@ -158677,32 +164396,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - addNodes( - params: Params$Resource$Nodegroups$Addnodes, + delete( + params: Params$Resource$Nodetemplates$Delete, options: StreamMethodOptions ): Promise>; - addNodes( - params?: Params$Resource$Nodegroups$Addnodes, + delete( + params?: Params$Resource$Nodetemplates$Delete, options?: MethodOptions ): Promise>; - addNodes( - params: Params$Resource$Nodegroups$Addnodes, + delete( + params: Params$Resource$Nodetemplates$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - addNodes( - params: Params$Resource$Nodegroups$Addnodes, + delete( + params: Params$Resource$Nodetemplates$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - addNodes( - params: Params$Resource$Nodegroups$Addnodes, + delete( + params: Params$Resource$Nodetemplates$Delete, callback: BodyResponseCallback ): void; - addNodes(callback: BodyResponseCallback): void; - addNodes( + delete(callback: BodyResponseCallback): void; + delete( paramsOrCallback?: - | Params$Resource$Nodegroups$Addnodes + | Params$Resource$Nodetemplates$Delete | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -158718,12 +164437,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Nodegroups$Addnodes; + {}) as Params$Resource$Nodetemplates$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Nodegroups$Addnodes; + params = {} as Params$Resource$Nodetemplates$Delete; options = {}; } @@ -158738,16 +164457,16 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/addNodes' + '/compute/alpha/projects/{project}/regions/{region}/nodeTemplates/{nodeTemplate}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'DELETE', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone', 'nodeGroup'], - pathParams: ['nodeGroup', 'project', 'zone'], + requiredParams: ['project', 'region', 'nodeTemplate'], + pathParams: ['nodeTemplate', 'project', 'region'], context: this.context, }; if (callback) { @@ -158761,158 +164480,69 @@ export namespace compute_alpha { } /** - * 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`. + * Returns the specified node template. * @example * ```js * // Before running the sample: * // - Enable the API at: * // https://console.developers.google.com/apis/api/compute.googleapis.com * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const compute = google.compute('alpha'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/cloud-platform', - * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await compute.nodeGroups.aggregatedList({ - * // A filter expression that filters resources listed in the response. Most - * // Compute resources support two types of filter expressions: - * // expressions that support regular expressions and expressions that follow - * // API improvement proposal AIP-160. - * // These two types of filter expressions cannot be mixed in one request. - * // - * // If you want to use AIP-160, your expression must specify the field name, an - * // operator, and the value that you want to use for filtering. The value - * // must be a string, a number, or a boolean. The operator - * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * // - * // For example, if you are filtering Compute Engine instances, you can - * // exclude instances named `example-instance` by specifying - * // `name != example-instance`. - * // - * // The `:*` comparison can be used to test whether a key has been defined. - * // For example, to find all objects with `owner` label use: - * // ``` - * // labels.owner:* - * // ``` - * // - * // You can also filter nested fields. For example, you could specify - * // `scheduling.automaticRestart = false` to include instances only - * // if they are not scheduled for automatic restarts. You can use filtering - * // on nested fields to filter based onresource labels. - * // - * // To filter on multiple expressions, provide each separate expression within - * // parentheses. For example: - * // ``` - * // (scheduling.automaticRestart = true) - * // (cpuPlatform = "Intel Skylake") - * // ``` - * // By default, each expression is an `AND` expression. However, you - * // can include `AND` and `OR` expressions explicitly. - * // For example: - * // ``` - * // (cpuPlatform = "Intel Skylake") OR - * // (cpuPlatform = "Intel Broadwell") AND - * // (scheduling.automaticRestart = true) - * // ``` - * // - * // If you want to use a regular expression, use the `eq` (equal) or `ne` - * // (not equal) operator against a single un-parenthesized expression with or - * // without quotes or against multiple parenthesized expressions. Examples: - * // - * // `fieldname eq unquoted literal` - * // `fieldname eq 'single quoted literal'` - * // `fieldname eq "double quoted literal"` - * // `(fieldname1 eq literal) (fieldname2 ne "literal")` - * // - * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * // The literal value must match the entire field. - * // - * // For example, to filter for instances that do not end with name "instance", - * // you would use `name ne .*instance`. - * // - * // You cannot combine constraints on multiple fields using regular - * // expressions. - * filter: 'placeholder-value', - * // 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. - * includeAllScopes: 'placeholder-value', - * // The maximum number of results per page that should be returned. - * // If the number of available results is larger than `maxResults`, - * // Compute Engine returns a `nextPageToken` that can be used to get - * // the next page of results in subsequent list requests. Acceptable values are - * // `0` to `500`, inclusive. (Default: `500`) - * maxResults: 'placeholder-value', - * // Sorts list results by a certain order. By default, results - * // are returned in alphanumerical order based on the resource name. - * // - * // You can also sort results in descending order based on the creation - * // timestamp using `orderBy="creationTimestamp desc"`. This sorts - * // results based on the `creationTimestamp` field in - * // reverse chronological order (newest result first). Use this to sort - * // resources like operations so that the newest operation is returned first. - * // - * // Currently, only sorting by `name` or - * // `creationTimestamp desc` is supported. - * orderBy: 'placeholder-value', - * // Specifies a page token to use. Set `pageToken` to the - * // `nextPageToken` returned by a previous list request to get - * // the next page of results. - * pageToken: 'placeholder-value', + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.nodeTemplates.get({ + * // Name of the node template to return. + * nodeTemplate: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Opt-in for partial success behavior which provides partial results in case - * // of failure. The default value is false. - * // - * // For example, when partial success behavior is enabled, aggregatedList for a - * // single zone scope either returns all resources in the zone or no resources, - * // with an error code. - * returnPartialSuccess: 'placeholder-value', - * // The Shared VPC service project id or service project number for which - * // aggregated list request is invoked for subnetworks list-usable api. - * serviceProjectNumber: 'placeholder-value', + * // The name of the region for this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * }); * console.log(res.data); * * // Example response * // { + * // "accelerators": [], + * // "cpuOvercommitType": "my_cpuOvercommitType", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "disks": [], * // "id": "my_id", - * // "items": {}, * // "kind": "my_kind", - * // "nextPageToken": "my_nextPageToken", + * // "name": "my_name", + * // "nodeAffinityLabels": {}, + * // "nodeType": "my_nodeType", + * // "nodeTypeFlexibility": {}, + * // "region": "my_region", * // "selfLink": "my_selfLink", - * // "unreachables": [], - * // "warning": {} + * // "selfLinkWithId": "my_selfLinkWithId", + * // "serverBinding": {}, + * // "status": "my_status", + * // "statusMessage": "my_statusMessage" * // } * } * @@ -158928,57 +164558,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - aggregatedList( - params: Params$Resource$Nodegroups$Aggregatedlist, + get( + params: Params$Resource$Nodetemplates$Get, options: StreamMethodOptions ): Promise>; - aggregatedList( - params?: Params$Resource$Nodegroups$Aggregatedlist, + get( + params?: Params$Resource$Nodetemplates$Get, options?: MethodOptions - ): Promise>; - aggregatedList( - params: Params$Resource$Nodegroups$Aggregatedlist, + ): Promise>; + get( + params: Params$Resource$Nodetemplates$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - aggregatedList( - params: Params$Resource$Nodegroups$Aggregatedlist, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - aggregatedList( - params: Params$Resource$Nodegroups$Aggregatedlist, - callback: BodyResponseCallback + get( + params: Params$Resource$Nodetemplates$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - aggregatedList( - callback: BodyResponseCallback + get( + params: Params$Resource$Nodetemplates$Get, + callback: BodyResponseCallback ): void; - aggregatedList( + get(callback: BodyResponseCallback): void; + get( paramsOrCallback?: - | Params$Resource$Nodegroups$Aggregatedlist - | BodyResponseCallback + | Params$Resource$Nodetemplates$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Nodegroups$Aggregatedlist; + {}) as Params$Resource$Nodetemplates$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Nodegroups$Aggregatedlist; + params = {} as Params$Resource$Nodetemplates$Get; options = {}; } @@ -158993,7 +164619,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/aggregated/nodeGroups' + '/compute/alpha/projects/{project}/regions/{region}/nodeTemplates/{nodeTemplate}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -159001,22 +164627,23 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project'], - pathParams: ['project'], + requiredParams: ['project', 'region', 'nodeTemplate'], + pathParams: ['nodeTemplate', 'project', 'region'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Deletes the specified NodeGroup resource. + * Gets the access control policy for a resource. May be empty if no such + * policy or resource exists. * @example * ```js * // Before running the sample: @@ -159040,6 +164667,7 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -159048,61 +164676,25 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.nodeGroups.delete({ - * // Name of the NodeGroup resource to delete. - * nodeGroup: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.nodeTemplates.getIamPolicy({ + * // Requested IAM Policy version. + * optionsRequestedPolicyVersion: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. - * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * // The name of the zone for this request. - * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * // The name of the region for this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * // Name or id of the resource for this request. + * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * }); * console.log(res.data); * * // Example response * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, - * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, - * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" + * // "auditConfigs": [], + * // "bindings": [], + * // "etag": "my_etag", + * // "version": 0 * // } * } * @@ -159118,53 +164710,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - delete( - params: Params$Resource$Nodegroups$Delete, + getIamPolicy( + params: Params$Resource$Nodetemplates$Getiampolicy, options: StreamMethodOptions ): Promise>; - delete( - params?: Params$Resource$Nodegroups$Delete, + getIamPolicy( + params?: Params$Resource$Nodetemplates$Getiampolicy, options?: MethodOptions - ): Promise>; - delete( - params: Params$Resource$Nodegroups$Delete, + ): Promise>; + getIamPolicy( + params: Params$Resource$Nodetemplates$Getiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Nodegroups$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + getIamPolicy( + params: Params$Resource$Nodetemplates$Getiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Nodegroups$Delete, - callback: BodyResponseCallback + getIamPolicy( + params: Params$Resource$Nodetemplates$Getiampolicy, + callback: BodyResponseCallback ): void; - delete(callback: BodyResponseCallback): void; - delete( + getIamPolicy(callback: BodyResponseCallback): void; + getIamPolicy( paramsOrCallback?: - | Params$Resource$Nodegroups$Delete - | BodyResponseCallback + | Params$Resource$Nodetemplates$Getiampolicy + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Nodegroups$Delete; + {}) as Params$Resource$Nodetemplates$Getiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Nodegroups$Delete; + params = {} as Params$Resource$Nodetemplates$Getiampolicy; options = {}; } @@ -159179,30 +164771,31 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}' + '/compute/alpha/projects/{project}/regions/{region}/nodeTemplates/{resource}/getIamPolicy' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone', 'nodeGroup'], - pathParams: ['nodeGroup', 'project', 'zone'], + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Deletes specified nodes from the node group. + * Creates a NodeTemplate resource in the specified project using the data + * included in the request. * @example * ```js * // Before running the sample: @@ -159234,12 +164827,12 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.nodeGroups.deleteNodes({ - * // Name of the NodeGroup resource whose nodes will be deleted. - * nodeGroup: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.nodeTemplates.insert({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // The name of the region for this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * // An optional request ID to identify requests. Specify a unique request ID so * // that if you must retry your request, the server will know to ignore the * // request if it has already been completed. @@ -159254,14 +164847,28 @@ export namespace compute_alpha { * // a valid UUID with the exception that zero UUID is not supported * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', - * // The name of the zone for this request. - * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * * // Request body metadata * requestBody: { * // request body parameters * // { - * // "nodes": [] + * // "accelerators": [], + * // "cpuOvercommitType": "my_cpuOvercommitType", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "disks": [], + * // "id": "my_id", + * // "kind": "my_kind", + * // "name": "my_name", + * // "nodeAffinityLabels": {}, + * // "nodeType": "my_nodeType", + * // "nodeTypeFlexibility": {}, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "serverBinding": {}, + * // "status": "my_status", + * // "statusMessage": "my_statusMessage" * // } * }, * }); @@ -159312,32 +164919,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - deleteNodes( - params: Params$Resource$Nodegroups$Deletenodes, + insert( + params: Params$Resource$Nodetemplates$Insert, options: StreamMethodOptions ): Promise>; - deleteNodes( - params?: Params$Resource$Nodegroups$Deletenodes, + insert( + params?: Params$Resource$Nodetemplates$Insert, options?: MethodOptions ): Promise>; - deleteNodes( - params: Params$Resource$Nodegroups$Deletenodes, + insert( + params: Params$Resource$Nodetemplates$Insert, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - deleteNodes( - params: Params$Resource$Nodegroups$Deletenodes, + insert( + params: Params$Resource$Nodetemplates$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - deleteNodes( - params: Params$Resource$Nodegroups$Deletenodes, + insert( + params: Params$Resource$Nodetemplates$Insert, callback: BodyResponseCallback ): void; - deleteNodes(callback: BodyResponseCallback): void; - deleteNodes( + insert(callback: BodyResponseCallback): void; + insert( paramsOrCallback?: - | Params$Resource$Nodegroups$Deletenodes + | Params$Resource$Nodetemplates$Insert | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -159353,12 +164960,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Nodegroups$Deletenodes; + {}) as Params$Resource$Nodetemplates$Insert; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Nodegroups$Deletenodes; + params = {} as Params$Resource$Nodetemplates$Insert; options = {}; } @@ -159373,7 +164980,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/deleteNodes' + '/compute/alpha/projects/{project}/regions/{region}/nodeTemplates' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -159381,8 +164988,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'zone', 'nodeGroup'], - pathParams: ['nodeGroup', 'project', 'zone'], + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], context: this.context, }; if (callback) { @@ -159396,10 +165003,8 @@ export namespace compute_alpha { } /** - * 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. + * Retrieves a list of node templates available to the specified + * project. * @example * ```js * // Before running the sample: @@ -159432,37 +165037,111 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.nodeGroups.get({ - * // Name of the node group to return. - * nodeGroup: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.nodeTemplates.list({ + * // A filter expression that filters resources listed in the response. Most + * // Compute resources support two types of filter expressions: + * // expressions that support regular expressions and expressions that follow + * // API improvement proposal AIP-160. + * // These two types of filter expressions cannot be mixed in one request. + * // + * // If you want to use AIP-160, your expression must specify the field name, an + * // operator, and the value that you want to use for filtering. The value + * // must be a string, a number, or a boolean. The operator + * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * // + * // For example, if you are filtering Compute Engine instances, you can + * // exclude instances named `example-instance` by specifying + * // `name != example-instance`. + * // + * // The `:*` comparison can be used to test whether a key has been defined. + * // For example, to find all objects with `owner` label use: + * // ``` + * // labels.owner:* + * // ``` + * // + * // You can also filter nested fields. For example, you could specify + * // `scheduling.automaticRestart = false` to include instances only + * // if they are not scheduled for automatic restarts. You can use filtering + * // on nested fields to filter based onresource labels. + * // + * // To filter on multiple expressions, provide each separate expression within + * // parentheses. For example: + * // ``` + * // (scheduling.automaticRestart = true) + * // (cpuPlatform = "Intel Skylake") + * // ``` + * // By default, each expression is an `AND` expression. However, you + * // can include `AND` and `OR` expressions explicitly. + * // For example: + * // ``` + * // (cpuPlatform = "Intel Skylake") OR + * // (cpuPlatform = "Intel Broadwell") AND + * // (scheduling.automaticRestart = true) + * // ``` + * // + * // If you want to use a regular expression, use the `eq` (equal) or `ne` + * // (not equal) operator against a single un-parenthesized expression with or + * // without quotes or against multiple parenthesized expressions. Examples: + * // + * // `fieldname eq unquoted literal` + * // `fieldname eq 'single quoted literal'` + * // `fieldname eq "double quoted literal"` + * // `(fieldname1 eq literal) (fieldname2 ne "literal")` + * // + * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * // The literal value must match the entire field. + * // + * // For example, to filter for instances that do not end with name "instance", + * // you would use `name ne .*instance`. + * // + * // You cannot combine constraints on multiple fields using regular + * // expressions. + * filter: 'placeholder-value', + * // The maximum number of results per page that should be returned. + * // If the number of available results is larger than `maxResults`, + * // Compute Engine returns a `nextPageToken` that can be used to get + * // the next page of results in subsequent list requests. Acceptable values are + * // `0` to `500`, inclusive. (Default: `500`) + * maxResults: 'placeholder-value', + * // Sorts list results by a certain order. By default, results + * // are returned in alphanumerical order based on the resource name. + * // + * // You can also sort results in descending order based on the creation + * // timestamp using `orderBy="creationTimestamp desc"`. This sorts + * // results based on the `creationTimestamp` field in + * // reverse chronological order (newest result first). Use this to sort + * // resources like operations so that the newest operation is returned first. + * // + * // Currently, only sorting by `name` or + * // `creationTimestamp desc` is supported. + * orderBy: 'placeholder-value', + * // Specifies a page token to use. Set `pageToken` to the + * // `nextPageToken` returned by a previous list request to get + * // the next page of results. + * pageToken: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // The name of the zone for this request. - * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * // The name of the region for this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * // Opt-in for partial success behavior which provides partial results in case + * // of failure. The default value is false. + * // + * // For example, when partial success behavior is enabled, aggregatedList for a + * // single zone scope either returns all resources in the zone or no resources, + * // with an error code. + * returnPartialSuccess: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { - * // "autoscalingPolicy": {}, - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "fingerprint": "my_fingerprint", * // "id": "my_id", + * // "items": [], * // "kind": "my_kind", - * // "locationHint": "my_locationHint", - * // "maintenanceInterval": "my_maintenanceInterval", - * // "maintenancePolicy": "my_maintenancePolicy", - * // "maintenanceWindow": {}, - * // "name": "my_name", - * // "nodeTemplate": "my_nodeTemplate", + * // "nextPageToken": "my_nextPageToken", * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "shareSettings": {}, - * // "size": 0, - * // "status": "my_status", - * // "zone": "my_zone" + * // "warning": {} * // } * } * @@ -159478,52 +165157,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - get( - params: Params$Resource$Nodegroups$Get, + list( + params: Params$Resource$Nodetemplates$List, options: StreamMethodOptions ): Promise>; - get( - params?: Params$Resource$Nodegroups$Get, + list( + params?: Params$Resource$Nodetemplates$List, options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Nodegroups$Get, + ): Promise>; + list( + params: Params$Resource$Nodetemplates$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Nodegroups$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + list( + params: Params$Resource$Nodetemplates$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Nodegroups$Get, - callback: BodyResponseCallback + list( + params: Params$Resource$Nodetemplates$List, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; - get( + list(callback: BodyResponseCallback): void; + list( paramsOrCallback?: - | Params$Resource$Nodegroups$Get - | BodyResponseCallback + | Params$Resource$Nodetemplates$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Nodegroups$Get; + let params = (paramsOrCallback || + {}) as Params$Resource$Nodetemplates$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Nodegroups$Get; + params = {} as Params$Resource$Nodetemplates$List; options = {}; } @@ -159538,7 +165218,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}' + '/compute/alpha/projects/{project}/regions/{region}/nodeTemplates' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -159546,23 +165226,23 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'zone', 'nodeGroup'], - pathParams: ['nodeGroup', 'project', 'zone'], + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Gets the access control policy for a resource. May be empty if no such - * policy or resource exists. + * Sets the access control policy on the specified resource. + * Replaces any existing policy. * @example * ```js * // Before running the sample: @@ -159586,7 +165266,6 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -159595,16 +165274,24 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.nodeGroups.getIamPolicy({ - * // Requested IAM Policy version. - * optionsRequestedPolicyVersion: 'placeholder-value', + * const res = await compute.nodeTemplates.setIamPolicy({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // The name of the region for this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * // Name or id of the resource for this request. * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // The name of the zone for this request. - * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "bindings": [], + * // "etag": "my_etag", + * // "policy": {} + * // } + * }, * }); * console.log(res.data); * @@ -159629,32 +165316,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - getIamPolicy( - params: Params$Resource$Nodegroups$Getiampolicy, + setIamPolicy( + params: Params$Resource$Nodetemplates$Setiampolicy, options: StreamMethodOptions ): Promise>; - getIamPolicy( - params?: Params$Resource$Nodegroups$Getiampolicy, + setIamPolicy( + params?: Params$Resource$Nodetemplates$Setiampolicy, options?: MethodOptions ): Promise>; - getIamPolicy( - params: Params$Resource$Nodegroups$Getiampolicy, + setIamPolicy( + params: Params$Resource$Nodetemplates$Setiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - getIamPolicy( - params: Params$Resource$Nodegroups$Getiampolicy, + setIamPolicy( + params: Params$Resource$Nodetemplates$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - getIamPolicy( - params: Params$Resource$Nodegroups$Getiampolicy, + setIamPolicy( + params: Params$Resource$Nodetemplates$Setiampolicy, callback: BodyResponseCallback ): void; - getIamPolicy(callback: BodyResponseCallback): void; - getIamPolicy( + setIamPolicy(callback: BodyResponseCallback): void; + setIamPolicy( paramsOrCallback?: - | Params$Resource$Nodegroups$Getiampolicy + | Params$Resource$Nodetemplates$Setiampolicy | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -159670,12 +165357,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Nodegroups$Getiampolicy; + {}) as Params$Resource$Nodetemplates$Setiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Nodegroups$Getiampolicy; + params = {} as Params$Resource$Nodetemplates$Setiampolicy; options = {}; } @@ -159690,16 +165377,16 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/nodeGroups/{resource}/getIamPolicy' + '/compute/alpha/projects/{project}/regions/{region}/nodeTemplates/{resource}/setIamPolicy' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone', 'resource'], - pathParams: ['project', 'resource', 'zone'], + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], context: this.context, }; if (callback) { @@ -159713,8 +165400,7 @@ export namespace compute_alpha { } /** - * Creates a NodeGroup resource in the specified project using the data - * included in the request. + * Returns permissions that a caller has on the specified resource. * @example * ```js * // Before running the sample: @@ -159738,6 +165424,7 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -159746,51 +165433,20 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.nodeGroups.insert({ - * // Initial count of nodes in the node group. - * initialNodeCount: 'placeholder-value', + * const res = await compute.nodeTemplates.testIamPermissions({ * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. - * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * // The name of the zone for this request. - * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * // The name of the region for this request. + * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * // Name or id of the resource for this request. + * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * * // Request body metadata * requestBody: { * // request body parameters * // { - * // "autoscalingPolicy": {}, - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "fingerprint": "my_fingerprint", - * // "id": "my_id", - * // "kind": "my_kind", - * // "locationHint": "my_locationHint", - * // "maintenanceInterval": "my_maintenanceInterval", - * // "maintenancePolicy": "my_maintenancePolicy", - * // "maintenanceWindow": {}, - * // "name": "my_name", - * // "nodeTemplate": "my_nodeTemplate", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "shareSettings": {}, - * // "size": 0, - * // "status": "my_status", - * // "zone": "my_zone" + * // "permissions": [] * // } * }, * }); @@ -159798,34 +165454,7 @@ export namespace compute_alpha { * * // Example response * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, - * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, - * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" + * // "permissions": [] * // } * } * @@ -159841,92 +165470,464 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - insert( - params: Params$Resource$Nodegroups$Insert, - options: StreamMethodOptions - ): Promise>; - insert( - params?: Params$Resource$Nodegroups$Insert, - options?: MethodOptions - ): Promise>; - insert( - params: Params$Resource$Nodegroups$Insert, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - insert( - params: Params$Resource$Nodegroups$Insert, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - insert( - params: Params$Resource$Nodegroups$Insert, - callback: BodyResponseCallback - ): void; - insert(callback: BodyResponseCallback): void; - insert( - paramsOrCallback?: - | Params$Resource$Nodegroups$Insert - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Nodegroups$Insert; - let options = (optionsOrCallback || {}) as MethodOptions; + testIamPermissions( + params: Params$Resource$Nodetemplates$Testiampermissions, + options: StreamMethodOptions + ): Promise>; + testIamPermissions( + params?: Params$Resource$Nodetemplates$Testiampermissions, + options?: MethodOptions + ): Promise>; + testIamPermissions( + params: Params$Resource$Nodetemplates$Testiampermissions, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Nodetemplates$Testiampermissions, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Nodetemplates$Testiampermissions, + callback: BodyResponseCallback + ): void; + testIamPermissions( + callback: BodyResponseCallback + ): void; + testIamPermissions( + paramsOrCallback?: + | Params$Resource$Nodetemplates$Testiampermissions + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Nodetemplates$Testiampermissions; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Nodetemplates$Testiampermissions; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/nodeTemplates/{resource}/testIamPermissions' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Nodetemplates$Aggregatedlist extends StandardParameters { + /** + * A filter expression that filters resources listed in the response. Most + * Compute resources support two types of filter expressions: + * expressions that support regular expressions and expressions that follow + * API improvement proposal AIP-160. + * These two types of filter expressions cannot be mixed in one request. + * + * If you want to use AIP-160, your expression must specify the field name, an + * operator, and the value that you want to use for filtering. The value + * must be a string, a number, or a boolean. The operator + * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * + * For example, if you are filtering Compute Engine instances, you can + * exclude instances named `example-instance` by specifying + * `name != example-instance`. + * + * The `:*` comparison can be used to test whether a key has been defined. + * For example, to find all objects with `owner` label use: + * ``` + * labels.owner:* + * ``` + * + * You can also filter nested fields. For example, you could specify + * `scheduling.automaticRestart = false` to include instances only + * if they are not scheduled for automatic restarts. You can use filtering + * on nested fields to filter based onresource labels. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example: + * ``` + * (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake") + * ``` + * By default, each expression is an `AND` expression. However, you + * can include `AND` and `OR` expressions explicitly. + * For example: + * ``` + * (cpuPlatform = "Intel Skylake") OR + * (cpuPlatform = "Intel Broadwell") AND + * (scheduling.automaticRestart = true) + * ``` + * + * If you want to use a regular expression, use the `eq` (equal) or `ne` + * (not equal) operator against a single un-parenthesized expression with or + * without quotes or against multiple parenthesized expressions. Examples: + * + * `fieldname eq unquoted literal` + * `fieldname eq 'single quoted literal'` + * `fieldname eq "double quoted literal"` + * `(fieldname1 eq literal) (fieldname2 ne "literal")` + * + * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * The literal value must match the entire field. + * + * For example, to filter for instances that do not end with name "instance", + * you would use `name ne .*instance`. + * + * You cannot combine constraints on multiple fields using regular + * expressions. + */ + filter?: string; + /** + * 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. + */ + includeAllScopes?: boolean; + /** + * The maximum number of results per page that should be returned. + * If the number of available results is larger than `maxResults`, + * Compute Engine returns a `nextPageToken` that can be used to get + * the next page of results in subsequent list requests. Acceptable values are + * `0` to `500`, inclusive. (Default: `500`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results + * are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation + * timestamp using `orderBy="creationTimestamp desc"`. This sorts + * results based on the `creationTimestamp` field in + * reverse chronological order (newest result first). Use this to sort + * resources like operations so that the newest operation is returned first. + * + * Currently, only sorting by `name` or + * `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the + * `nextPageToken` returned by a previous list request to get + * the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Opt-in for partial success behavior which provides partial results in case + * of failure. The default value is false. + * + * For example, when partial success behavior is enabled, aggregatedList for a + * single zone scope either returns all resources in the zone or no resources, + * with an error code. + */ + returnPartialSuccess?: boolean; + /** + * The Shared VPC service project id or service project number for which + * aggregated list request is invoked for subnetworks list-usable api. + */ + serviceProjectNumber?: string; + } + export interface Params$Resource$Nodetemplates$Delete extends StandardParameters { + /** + * Name of the NodeTemplate resource to delete. + */ + nodeTemplate?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + export interface Params$Resource$Nodetemplates$Get extends StandardParameters { + /** + * Name of the node template to return. + */ + nodeTemplate?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + } + export interface Params$Resource$Nodetemplates$Getiampolicy extends StandardParameters { + /** + * Requested IAM Policy version. + */ + optionsRequestedPolicyVersion?: number; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; + } + export interface Params$Resource$Nodetemplates$Insert extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$NodeTemplate; + } + export interface Params$Resource$Nodetemplates$List extends StandardParameters { + /** + * A filter expression that filters resources listed in the response. Most + * Compute resources support two types of filter expressions: + * expressions that support regular expressions and expressions that follow + * API improvement proposal AIP-160. + * These two types of filter expressions cannot be mixed in one request. + * + * If you want to use AIP-160, your expression must specify the field name, an + * operator, and the value that you want to use for filtering. The value + * must be a string, a number, or a boolean. The operator + * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * + * For example, if you are filtering Compute Engine instances, you can + * exclude instances named `example-instance` by specifying + * `name != example-instance`. + * + * The `:*` comparison can be used to test whether a key has been defined. + * For example, to find all objects with `owner` label use: + * ``` + * labels.owner:* + * ``` + * + * You can also filter nested fields. For example, you could specify + * `scheduling.automaticRestart = false` to include instances only + * if they are not scheduled for automatic restarts. You can use filtering + * on nested fields to filter based onresource labels. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example: + * ``` + * (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake") + * ``` + * By default, each expression is an `AND` expression. However, you + * can include `AND` and `OR` expressions explicitly. + * For example: + * ``` + * (cpuPlatform = "Intel Skylake") OR + * (cpuPlatform = "Intel Broadwell") AND + * (scheduling.automaticRestart = true) + * ``` + * + * If you want to use a regular expression, use the `eq` (equal) or `ne` + * (not equal) operator against a single un-parenthesized expression with or + * without quotes or against multiple parenthesized expressions. Examples: + * + * `fieldname eq unquoted literal` + * `fieldname eq 'single quoted literal'` + * `fieldname eq "double quoted literal"` + * `(fieldname1 eq literal) (fieldname2 ne "literal")` + * + * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * The literal value must match the entire field. + * + * For example, to filter for instances that do not end with name "instance", + * you would use `name ne .*instance`. + * + * You cannot combine constraints on multiple fields using regular + * expressions. + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. + * If the number of available results is larger than `maxResults`, + * Compute Engine returns a `nextPageToken` that can be used to get + * the next page of results in subsequent list requests. Acceptable values are + * `0` to `500`, inclusive. (Default: `500`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results + * are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation + * timestamp using `orderBy="creationTimestamp desc"`. This sorts + * results based on the `creationTimestamp` field in + * reverse chronological order (newest result first). Use this to sort + * resources like operations so that the newest operation is returned first. + * + * Currently, only sorting by `name` or + * `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the + * `nextPageToken` returned by a previous list request to get + * the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Opt-in for partial success behavior which provides partial results in case + * of failure. The default value is false. + * + * For example, when partial success behavior is enabled, aggregatedList for a + * single zone scope either returns all resources in the zone or no resources, + * with an error code. + */ + returnPartialSuccess?: boolean; + } + export interface Params$Resource$Nodetemplates$Setiampolicy extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Nodegroups$Insert; - options = {}; - } + /** + * Request body metadata + */ + requestBody?: Schema$RegionSetPolicyRequest; + } + export interface Params$Resource$Nodetemplates$Testiampermissions extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the region for this request. + */ + region?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } - const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/nodeGroups' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['project', 'zone', 'initialNodeCount'], - pathParams: ['project', 'zone'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } + export class Resource$Nodetypes { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; } /** - * Retrieves a list of node groups available to the specified project. - * Note: use nodeGroups.listNodes for more details about each group. + * Retrieves an aggregated list of node types. + * + * To prevent failure, Google recommends that you set the + * `returnPartialSuccess` parameter to `true`. * @example * ```js * // Before running the sample: @@ -159959,7 +165960,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.nodeGroups.list({ + * const res = await compute.nodeTypes.aggregatedList({ * // A filter expression that filters resources listed in the response. Most * // Compute resources support two types of filter expressions: * // expressions that support regular expressions and expressions that follow @@ -160019,6 +166020,14 @@ export namespace compute_alpha { * // You cannot combine constraints on multiple fields using regular * // expressions. * filter: 'placeholder-value', + * // 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. + * includeAllScopes: 'placeholder-value', * // The maximum number of results per page that should be returned. * // If the number of available results is larger than `maxResults`, * // Compute Engine returns a `nextPageToken` that can be used to get @@ -160051,18 +166060,20 @@ export namespace compute_alpha { * // single zone scope either returns all resources in the zone or no resources, * // with an error code. * returnPartialSuccess: 'placeholder-value', - * // The name of the zone for this request. - * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * // The Shared VPC service project id or service project number for which + * // aggregated list request is invoked for subnetworks list-usable api. + * serviceProjectNumber: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { * // "id": "my_id", - * // "items": [], + * // "items": {}, * // "kind": "my_kind", * // "nextPageToken": "my_nextPageToken", * // "selfLink": "my_selfLink", + * // "unreachables": [], * // "warning": {} * // } * } @@ -160079,52 +166090,57 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - list( - params: Params$Resource$Nodegroups$List, + aggregatedList( + params: Params$Resource$Nodetypes$Aggregatedlist, options: StreamMethodOptions ): Promise>; - list( - params?: Params$Resource$Nodegroups$List, + aggregatedList( + params?: Params$Resource$Nodetypes$Aggregatedlist, options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Nodegroups$List, + ): Promise>; + aggregatedList( + params: Params$Resource$Nodetypes$Aggregatedlist, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Nodegroups$List, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + aggregatedList( + params: Params$Resource$Nodetypes$Aggregatedlist, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Nodegroups$List, - callback: BodyResponseCallback + aggregatedList( + params: Params$Resource$Nodetypes$Aggregatedlist, + callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; - list( + aggregatedList( + callback: BodyResponseCallback + ): void; + aggregatedList( paramsOrCallback?: - | Params$Resource$Nodegroups$List - | BodyResponseCallback + | Params$Resource$Nodetypes$Aggregatedlist + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Nodegroups$List; + let params = (paramsOrCallback || + {}) as Params$Resource$Nodetypes$Aggregatedlist; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Nodegroups$List; + params = {} as Params$Resource$Nodetypes$Aggregatedlist; options = {}; } @@ -160138,8 +166154,7 @@ export namespace compute_alpha { options: Object.assign( { url: ( - rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/nodeGroups' + rootUrl + '/compute/alpha/projects/{project}/aggregated/nodeTypes' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -160147,22 +166162,22 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'zone'], - pathParams: ['project', 'zone'], + requiredParams: ['project'], + pathParams: ['project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Lists nodes in the node group. + * Returns the specified node type. * @example * ```js * // Before running the sample: @@ -160195,100 +166210,12 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.nodeGroups.listNodes({ - * // A filter expression that filters resources listed in the response. Most - * // Compute resources support two types of filter expressions: - * // expressions that support regular expressions and expressions that follow - * // API improvement proposal AIP-160. - * // These two types of filter expressions cannot be mixed in one request. - * // - * // If you want to use AIP-160, your expression must specify the field name, an - * // operator, and the value that you want to use for filtering. The value - * // must be a string, a number, or a boolean. The operator - * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * // - * // For example, if you are filtering Compute Engine instances, you can - * // exclude instances named `example-instance` by specifying - * // `name != example-instance`. - * // - * // The `:*` comparison can be used to test whether a key has been defined. - * // For example, to find all objects with `owner` label use: - * // ``` - * // labels.owner:* - * // ``` - * // - * // You can also filter nested fields. For example, you could specify - * // `scheduling.automaticRestart = false` to include instances only - * // if they are not scheduled for automatic restarts. You can use filtering - * // on nested fields to filter based onresource labels. - * // - * // To filter on multiple expressions, provide each separate expression within - * // parentheses. For example: - * // ``` - * // (scheduling.automaticRestart = true) - * // (cpuPlatform = "Intel Skylake") - * // ``` - * // By default, each expression is an `AND` expression. However, you - * // can include `AND` and `OR` expressions explicitly. - * // For example: - * // ``` - * // (cpuPlatform = "Intel Skylake") OR - * // (cpuPlatform = "Intel Broadwell") AND - * // (scheduling.automaticRestart = true) - * // ``` - * // - * // If you want to use a regular expression, use the `eq` (equal) or `ne` - * // (not equal) operator against a single un-parenthesized expression with or - * // without quotes or against multiple parenthesized expressions. Examples: - * // - * // `fieldname eq unquoted literal` - * // `fieldname eq 'single quoted literal'` - * // `fieldname eq "double quoted literal"` - * // `(fieldname1 eq literal) (fieldname2 ne "literal")` - * // - * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * // The literal value must match the entire field. - * // - * // For example, to filter for instances that do not end with name "instance", - * // you would use `name ne .*instance`. - * // - * // You cannot combine constraints on multiple fields using regular - * // expressions. - * filter: 'placeholder-value', - * // The maximum number of results per page that should be returned. - * // If the number of available results is larger than `maxResults`, - * // Compute Engine returns a `nextPageToken` that can be used to get - * // the next page of results in subsequent list requests. Acceptable values are - * // `0` to `500`, inclusive. (Default: `500`) - * maxResults: 'placeholder-value', - * // Name of the NodeGroup resource whose nodes you want to list. - * nodeGroup: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // Sorts list results by a certain order. By default, results - * // are returned in alphanumerical order based on the resource name. - * // - * // You can also sort results in descending order based on the creation - * // timestamp using `orderBy="creationTimestamp desc"`. This sorts - * // results based on the `creationTimestamp` field in - * // reverse chronological order (newest result first). Use this to sort - * // resources like operations so that the newest operation is returned first. - * // - * // Currently, only sorting by `name` or - * // `creationTimestamp desc` is supported. - * orderBy: 'placeholder-value', - * // Specifies a page token to use. Set `pageToken` to the - * // `nextPageToken` returned by a previous list request to get - * // the next page of results. - * pageToken: 'placeholder-value', + * const res = await compute.nodeTypes.get({ + * // Name of the node type to return. + * nodeType: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Opt-in for partial success behavior which provides partial results in case - * // of failure. The default value is false. - * // - * // For example, when partial success behavior is enabled, aggregatedList for a - * // single zone scope either returns all resources in the zone or no resources, - * // with an error code. - * returnPartialSuccess: 'placeholder-value', * // The name of the zone for this request. * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * }); @@ -160296,12 +166223,20 @@ export namespace compute_alpha { * * // Example response * // { + * // "cpuPlatform": "my_cpuPlatform", + * // "creationTimestamp": "my_creationTimestamp", + * // "deprecated": {}, + * // "description": "my_description", + * // "guestCpus": 0, * // "id": "my_id", - * // "items": [], * // "kind": "my_kind", - * // "nextPageToken": "my_nextPageToken", + * // "localSsdGb": 0, + * // "maxVms": 0, + * // "memoryMb": 0, + * // "name": "my_name", * // "selfLink": "my_selfLink", - * // "warning": {} + * // "selfLinkWithId": "my_selfLinkWithId", + * // "zone": "my_zone" * // } * } * @@ -160317,53 +166252,52 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - listNodes( - params: Params$Resource$Nodegroups$Listnodes, + get( + params: Params$Resource$Nodetypes$Get, options: StreamMethodOptions ): Promise>; - listNodes( - params?: Params$Resource$Nodegroups$Listnodes, + get( + params?: Params$Resource$Nodetypes$Get, options?: MethodOptions - ): Promise>; - listNodes( - params: Params$Resource$Nodegroups$Listnodes, + ): Promise>; + get( + params: Params$Resource$Nodetypes$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - listNodes( - params: Params$Resource$Nodegroups$Listnodes, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + get( + params: Params$Resource$Nodetypes$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - listNodes( - params: Params$Resource$Nodegroups$Listnodes, - callback: BodyResponseCallback + get( + params: Params$Resource$Nodetypes$Get, + callback: BodyResponseCallback ): void; - listNodes(callback: BodyResponseCallback): void; - listNodes( + get(callback: BodyResponseCallback): void; + get( paramsOrCallback?: - | Params$Resource$Nodegroups$Listnodes - | BodyResponseCallback + | Params$Resource$Nodetypes$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Nodegroups$Listnodes; + let params = (paramsOrCallback || {}) as Params$Resource$Nodetypes$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Nodegroups$Listnodes; + params = {} as Params$Resource$Nodetypes$Get; options = {}; } @@ -160378,30 +166312,31 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/listNodes' + '/compute/alpha/projects/{project}/zones/{zone}/nodeTypes/{nodeType}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone', 'nodeGroup'], - pathParams: ['nodeGroup', 'project', 'zone'], + requiredParams: ['project', 'zone', 'nodeType'], + pathParams: ['nodeType', 'project', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Updates the specified node group. + * Retrieves a list of node types available to the specified + * project. * @example * ```js * // Before running the sample: @@ -160425,6 +166360,7 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -160433,86 +166369,111 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.nodeGroups.patch({ - * // Name of the NodeGroup resource to update. - * nodeGroup: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * const res = await compute.nodeTypes.list({ + * // A filter expression that filters resources listed in the response. Most + * // Compute resources support two types of filter expressions: + * // expressions that support regular expressions and expressions that follow + * // API improvement proposal AIP-160. + * // These two types of filter expressions cannot be mixed in one request. + * // + * // If you want to use AIP-160, your expression must specify the field name, an + * // operator, and the value that you want to use for filtering. The value + * // must be a string, a number, or a boolean. The operator + * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * // + * // For example, if you are filtering Compute Engine instances, you can + * // exclude instances named `example-instance` by specifying + * // `name != example-instance`. + * // + * // The `:*` comparison can be used to test whether a key has been defined. + * // For example, to find all objects with `owner` label use: + * // ``` + * // labels.owner:* + * // ``` + * // + * // You can also filter nested fields. For example, you could specify + * // `scheduling.automaticRestart = false` to include instances only + * // if they are not scheduled for automatic restarts. You can use filtering + * // on nested fields to filter based onresource labels. + * // + * // To filter on multiple expressions, provide each separate expression within + * // parentheses. For example: + * // ``` + * // (scheduling.automaticRestart = true) + * // (cpuPlatform = "Intel Skylake") + * // ``` + * // By default, each expression is an `AND` expression. However, you + * // can include `AND` and `OR` expressions explicitly. + * // For example: + * // ``` + * // (cpuPlatform = "Intel Skylake") OR + * // (cpuPlatform = "Intel Broadwell") AND + * // (scheduling.automaticRestart = true) + * // ``` + * // + * // If you want to use a regular expression, use the `eq` (equal) or `ne` + * // (not equal) operator against a single un-parenthesized expression with or + * // without quotes or against multiple parenthesized expressions. Examples: + * // + * // `fieldname eq unquoted literal` + * // `fieldname eq 'single quoted literal'` + * // `fieldname eq "double quoted literal"` + * // `(fieldname1 eq literal) (fieldname2 ne "literal")` + * // + * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * // The literal value must match the entire field. + * // + * // For example, to filter for instances that do not end with name "instance", + * // you would use `name ne .*instance`. + * // + * // You cannot combine constraints on multiple fields using regular + * // expressions. + * filter: 'placeholder-value', + * // The maximum number of results per page that should be returned. + * // If the number of available results is larger than `maxResults`, + * // Compute Engine returns a `nextPageToken` that can be used to get + * // the next page of results in subsequent list requests. Acceptable values are + * // `0` to `500`, inclusive. (Default: `500`) + * maxResults: 'placeholder-value', + * // Sorts list results by a certain order. By default, results + * // are returned in alphanumerical order based on the resource name. + * // + * // You can also sort results in descending order based on the creation + * // timestamp using `orderBy="creationTimestamp desc"`. This sorts + * // results based on the `creationTimestamp` field in + * // reverse chronological order (newest result first). Use this to sort + * // resources like operations so that the newest operation is returned first. + * // + * // Currently, only sorting by `name` or + * // `creationTimestamp desc` is supported. + * orderBy: 'placeholder-value', + * // Specifies a page token to use. Set `pageToken` to the + * // `nextPageToken` returned by a previous list request to get + * // the next page of results. + * pageToken: 'placeholder-value', * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. + * // Opt-in for partial success behavior which provides partial results in case + * // of failure. The default value is false. * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', + * // For example, when partial success behavior is enabled, aggregatedList for a + * // single zone scope either returns all resources in the zone or no resources, + * // with an error code. + * returnPartialSuccess: 'placeholder-value', * // The name of the zone for this request. * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "autoscalingPolicy": {}, - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "fingerprint": "my_fingerprint", - * // "id": "my_id", - * // "kind": "my_kind", - * // "locationHint": "my_locationHint", - * // "maintenanceInterval": "my_maintenanceInterval", - * // "maintenancePolicy": "my_maintenancePolicy", - * // "maintenanceWindow": {}, - * // "name": "my_name", - * // "nodeTemplate": "my_nodeTemplate", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "shareSettings": {}, - * // "size": 0, - * // "status": "my_status", - * // "zone": "my_zone" - * // } - * }, * }); * console.log(res.data); * * // Example response * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, + * // "items": [], * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", + * // "nextPageToken": "my_nextPageToken", * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" + * // "warning": {} * // } * } * @@ -160528,52 +166489,52 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - patch( - params: Params$Resource$Nodegroups$Patch, + list( + params: Params$Resource$Nodetypes$List, options: StreamMethodOptions ): Promise>; - patch( - params?: Params$Resource$Nodegroups$Patch, + list( + params?: Params$Resource$Nodetypes$List, options?: MethodOptions - ): Promise>; - patch( - params: Params$Resource$Nodegroups$Patch, + ): Promise>; + list( + params: Params$Resource$Nodetypes$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Nodegroups$Patch, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + list( + params: Params$Resource$Nodetypes$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Nodegroups$Patch, - callback: BodyResponseCallback + list( + params: Params$Resource$Nodetypes$List, + callback: BodyResponseCallback ): void; - patch(callback: BodyResponseCallback): void; - patch( + list(callback: BodyResponseCallback): void; + list( paramsOrCallback?: - | Params$Resource$Nodegroups$Patch - | BodyResponseCallback + | Params$Resource$Nodetypes$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Nodegroups$Patch; + let params = (paramsOrCallback || {}) as Params$Resource$Nodetypes$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Nodegroups$Patch; + params = {} as Params$Resource$Nodetypes$List; options = {}; } @@ -160588,30 +166549,279 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}' + '/compute/alpha/projects/{project}/zones/{zone}/nodeTypes' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone', 'nodeGroup'], - pathParams: ['nodeGroup', 'project', 'zone'], + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } + } + export interface Params$Resource$Nodetypes$Aggregatedlist extends StandardParameters { /** - * Perform maintenance on a subset of nodes in the node group. + * A filter expression that filters resources listed in the response. Most + * Compute resources support two types of filter expressions: + * expressions that support regular expressions and expressions that follow + * API improvement proposal AIP-160. + * These two types of filter expressions cannot be mixed in one request. + * + * If you want to use AIP-160, your expression must specify the field name, an + * operator, and the value that you want to use for filtering. The value + * must be a string, a number, or a boolean. The operator + * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * + * For example, if you are filtering Compute Engine instances, you can + * exclude instances named `example-instance` by specifying + * `name != example-instance`. + * + * The `:*` comparison can be used to test whether a key has been defined. + * For example, to find all objects with `owner` label use: + * ``` + * labels.owner:* + * ``` + * + * You can also filter nested fields. For example, you could specify + * `scheduling.automaticRestart = false` to include instances only + * if they are not scheduled for automatic restarts. You can use filtering + * on nested fields to filter based onresource labels. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example: + * ``` + * (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake") + * ``` + * By default, each expression is an `AND` expression. However, you + * can include `AND` and `OR` expressions explicitly. + * For example: + * ``` + * (cpuPlatform = "Intel Skylake") OR + * (cpuPlatform = "Intel Broadwell") AND + * (scheduling.automaticRestart = true) + * ``` + * + * If you want to use a regular expression, use the `eq` (equal) or `ne` + * (not equal) operator against a single un-parenthesized expression with or + * without quotes or against multiple parenthesized expressions. Examples: + * + * `fieldname eq unquoted literal` + * `fieldname eq 'single quoted literal'` + * `fieldname eq "double quoted literal"` + * `(fieldname1 eq literal) (fieldname2 ne "literal")` + * + * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * The literal value must match the entire field. + * + * For example, to filter for instances that do not end with name "instance", + * you would use `name ne .*instance`. + * + * You cannot combine constraints on multiple fields using regular + * expressions. + */ + filter?: string; + /** + * 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. + */ + includeAllScopes?: boolean; + /** + * The maximum number of results per page that should be returned. + * If the number of available results is larger than `maxResults`, + * Compute Engine returns a `nextPageToken` that can be used to get + * the next page of results in subsequent list requests. Acceptable values are + * `0` to `500`, inclusive. (Default: `500`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results + * are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation + * timestamp using `orderBy="creationTimestamp desc"`. This sorts + * results based on the `creationTimestamp` field in + * reverse chronological order (newest result first). Use this to sort + * resources like operations so that the newest operation is returned first. + * + * Currently, only sorting by `name` or + * `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the + * `nextPageToken` returned by a previous list request to get + * the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Opt-in for partial success behavior which provides partial results in case + * of failure. The default value is false. + * + * For example, when partial success behavior is enabled, aggregatedList for a + * single zone scope either returns all resources in the zone or no resources, + * with an error code. + */ + returnPartialSuccess?: boolean; + /** + * The Shared VPC service project id or service project number for which + * aggregated list request is invoked for subnetworks list-usable api. + */ + serviceProjectNumber?: string; + } + export interface Params$Resource$Nodetypes$Get extends StandardParameters { + /** + * Name of the node type to return. + */ + nodeType?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + export interface Params$Resource$Nodetypes$List extends StandardParameters { + /** + * A filter expression that filters resources listed in the response. Most + * Compute resources support two types of filter expressions: + * expressions that support regular expressions and expressions that follow + * API improvement proposal AIP-160. + * These two types of filter expressions cannot be mixed in one request. + * + * If you want to use AIP-160, your expression must specify the field name, an + * operator, and the value that you want to use for filtering. The value + * must be a string, a number, or a boolean. The operator + * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * + * For example, if you are filtering Compute Engine instances, you can + * exclude instances named `example-instance` by specifying + * `name != example-instance`. + * + * The `:*` comparison can be used to test whether a key has been defined. + * For example, to find all objects with `owner` label use: + * ``` + * labels.owner:* + * ``` + * + * You can also filter nested fields. For example, you could specify + * `scheduling.automaticRestart = false` to include instances only + * if they are not scheduled for automatic restarts. You can use filtering + * on nested fields to filter based onresource labels. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example: + * ``` + * (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake") + * ``` + * By default, each expression is an `AND` expression. However, you + * can include `AND` and `OR` expressions explicitly. + * For example: + * ``` + * (cpuPlatform = "Intel Skylake") OR + * (cpuPlatform = "Intel Broadwell") AND + * (scheduling.automaticRestart = true) + * ``` + * + * If you want to use a regular expression, use the `eq` (equal) or `ne` + * (not equal) operator against a single un-parenthesized expression with or + * without quotes or against multiple parenthesized expressions. Examples: + * + * `fieldname eq unquoted literal` + * `fieldname eq 'single quoted literal'` + * `fieldname eq "double quoted literal"` + * `(fieldname1 eq literal) (fieldname2 ne "literal")` + * + * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * The literal value must match the entire field. + * + * For example, to filter for instances that do not end with name "instance", + * you would use `name ne .*instance`. + * + * You cannot combine constraints on multiple fields using regular + * expressions. + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. + * If the number of available results is larger than `maxResults`, + * Compute Engine returns a `nextPageToken` that can be used to get + * the next page of results in subsequent list requests. Acceptable values are + * `0` to `500`, inclusive. (Default: `500`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results + * are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation + * timestamp using `orderBy="creationTimestamp desc"`. This sorts + * results based on the `creationTimestamp` field in + * reverse chronological order (newest result first). Use this to sort + * resources like operations so that the newest operation is returned first. + * + * Currently, only sorting by `name` or + * `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the + * `nextPageToken` returned by a previous list request to get + * the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Opt-in for partial success behavior which provides partial results in case + * of failure. The default value is false. + * + * For example, when partial success behavior is enabled, aggregatedList for a + * single zone scope either returns all resources in the zone or no resources, + * with an error code. + */ + returnPartialSuccess?: boolean; + /** + * The name of the zone for this request. + */ + zone?: string; + } + + export class Resource$Organizationrolloutplans { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Deletes an OrganizationRolloutPlan. * @example * ```js * // Before running the sample: @@ -160643,12 +166853,9 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.nodeGroups.performMaintenance({ - * // Name of the node group scoping this request. - * nodeGroup: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * const res = await compute.organizationRolloutPlans.delete({ + * // Organization ID for this request. + * organization: 'organizations/[0-9]{0,20}', * // An optional request ID to identify requests. Specify a unique request ID so * // that if you must retry your request, the server will know to ignore the * // request if it has already been completed. @@ -160663,17 +166870,8 @@ export namespace compute_alpha { * // a valid UUID with the exception that zero UUID is not supported * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', - * // The name of the zone for this request. - * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "nodes": [], - * // "startTime": "my_startTime" - * // } - * }, + * // Name of the OrganizationRolloutPlan resource to delete. + * rolloutPlan: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * }); * console.log(res.data); * @@ -160705,167 +166903,8 @@ export namespace compute_alpha { * // "targetId": "my_targetId", * // "targetLink": "my_targetLink", * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - performMaintenance( - params: Params$Resource$Nodegroups$Performmaintenance, - options: StreamMethodOptions - ): Promise>; - performMaintenance( - params?: Params$Resource$Nodegroups$Performmaintenance, - options?: MethodOptions - ): Promise>; - performMaintenance( - params: Params$Resource$Nodegroups$Performmaintenance, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - performMaintenance( - params: Params$Resource$Nodegroups$Performmaintenance, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - performMaintenance( - params: Params$Resource$Nodegroups$Performmaintenance, - callback: BodyResponseCallback - ): void; - performMaintenance(callback: BodyResponseCallback): void; - performMaintenance( - paramsOrCallback?: - | Params$Resource$Nodegroups$Performmaintenance - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Nodegroups$Performmaintenance; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Nodegroups$Performmaintenance; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/performMaintenance' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['project', 'zone', 'nodeGroup'], - pathParams: ['nodeGroup', 'project', 'zone'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Sets the access control policy on the specified resource. - * Replaces any existing policy. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/compute.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const compute = google.compute('alpha'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/cloud-platform', - * 'https://www.googleapis.com/auth/compute', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await compute.nodeGroups.setIamPolicy({ - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name or id of the resource for this request. - * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // The name of the zone for this request. - * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "bindings": [], - * // "etag": "my_etag", - * // "policy": {} - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "auditConfigs": [], - * // "bindings": [], - * // "etag": "my_etag", - * // "version": 0 + * // "warnings": [], + * // "zone": "my_zone" * // } * } * @@ -160881,53 +166920,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - setIamPolicy( - params: Params$Resource$Nodegroups$Setiampolicy, + delete( + params: Params$Resource$Organizationrolloutplans$Delete, options: StreamMethodOptions ): Promise>; - setIamPolicy( - params?: Params$Resource$Nodegroups$Setiampolicy, + delete( + params?: Params$Resource$Organizationrolloutplans$Delete, options?: MethodOptions - ): Promise>; - setIamPolicy( - params: Params$Resource$Nodegroups$Setiampolicy, + ): Promise>; + delete( + params: Params$Resource$Organizationrolloutplans$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setIamPolicy( - params: Params$Resource$Nodegroups$Setiampolicy, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + delete( + params: Params$Resource$Organizationrolloutplans$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - setIamPolicy( - params: Params$Resource$Nodegroups$Setiampolicy, - callback: BodyResponseCallback + delete( + params: Params$Resource$Organizationrolloutplans$Delete, + callback: BodyResponseCallback ): void; - setIamPolicy(callback: BodyResponseCallback): void; - setIamPolicy( + delete(callback: BodyResponseCallback): void; + delete( paramsOrCallback?: - | Params$Resource$Nodegroups$Setiampolicy - | BodyResponseCallback + | Params$Resource$Organizationrolloutplans$Delete + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Nodegroups$Setiampolicy; + {}) as Params$Resource$Organizationrolloutplans$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Nodegroups$Setiampolicy; + params = {} as Params$Resource$Organizationrolloutplans$Delete; options = {}; } @@ -160942,30 +166981,30 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/nodeGroups/{resource}/setIamPolicy' + '/compute/alpha/{+organization}/global/rolloutPlans/{rolloutPlan}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'DELETE', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone', 'resource'], - pathParams: ['project', 'resource', 'zone'], + requiredParams: ['organization', 'rolloutPlan'], + pathParams: ['organization', 'rolloutPlan'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Updates the node template of the node group. + * Gets details of a single organization-scoped RolloutPlan. * @example * ```js * // Before running the sample: @@ -160989,6 +167028,7 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -160997,69 +167037,25 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.nodeGroups.setNodeTemplate({ - * // Name of the NodeGroup resource to update. - * nodeGroup: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. - * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * // The name of the zone for this request. - * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "nodeTemplate": "my_nodeTemplate" - * // } - * }, + * const res = await compute.organizationRolloutPlans.get({ + * // Organization ID for this request. + * organization: 'organizations/[0-9]{0,20}', + * // Name of the persistent rollout plan to return. + * rolloutPlan: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * }); * console.log(res.data); * * // Example response * // { - * // "clientOperationId": "my_clientOperationId", * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, * // "kind": "my_kind", + * // "locationScope": "my_locationScope", * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" + * // "waves": [] * // } * } * @@ -161075,53 +167071,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - setNodeTemplate( - params: Params$Resource$Nodegroups$Setnodetemplate, + get( + params: Params$Resource$Organizationrolloutplans$Get, options: StreamMethodOptions ): Promise>; - setNodeTemplate( - params?: Params$Resource$Nodegroups$Setnodetemplate, + get( + params?: Params$Resource$Organizationrolloutplans$Get, options?: MethodOptions - ): Promise>; - setNodeTemplate( - params: Params$Resource$Nodegroups$Setnodetemplate, + ): Promise>; + get( + params: Params$Resource$Organizationrolloutplans$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setNodeTemplate( - params: Params$Resource$Nodegroups$Setnodetemplate, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + get( + params: Params$Resource$Organizationrolloutplans$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - setNodeTemplate( - params: Params$Resource$Nodegroups$Setnodetemplate, - callback: BodyResponseCallback + get( + params: Params$Resource$Organizationrolloutplans$Get, + callback: BodyResponseCallback ): void; - setNodeTemplate(callback: BodyResponseCallback): void; - setNodeTemplate( + get(callback: BodyResponseCallback): void; + get( paramsOrCallback?: - | Params$Resource$Nodegroups$Setnodetemplate - | BodyResponseCallback + | Params$Resource$Organizationrolloutplans$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Nodegroups$Setnodetemplate; + {}) as Params$Resource$Organizationrolloutplans$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Nodegroups$Setnodetemplate; + params = {} as Params$Resource$Organizationrolloutplans$Get; options = {}; } @@ -161136,30 +167132,30 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/setNodeTemplate' + '/compute/alpha/{+organization}/global/rolloutPlans/{rolloutPlan}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone', 'nodeGroup'], - pathParams: ['nodeGroup', 'project', 'zone'], + requiredParams: ['organization', 'rolloutPlan'], + pathParams: ['organization', 'rolloutPlan'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Simulates maintenance event on specified nodes from the node group. + * Creates a new RolloutPlan in a given organization and location. * @example * ```js * // Before running the sample: @@ -161191,13 +167187,9 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.nodeGroups.simulateMaintenanceEvent({ - * // Name of the NodeGroup resource whose nodes will go under maintenance - * // simulation. - * nodeGroup: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * const res = await compute.organizationRolloutPlans.insert({ + * // Organization ID for this request. + * organization: 'organizations/[0-9]{0,20}', * // An optional request ID to identify requests. Specify a unique request ID so * // that if you must retry your request, the server will know to ignore the * // request if it has already been completed. @@ -161212,14 +167204,20 @@ export namespace compute_alpha { * // a valid UUID with the exception that zero UUID is not supported * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', - * // The name of the zone for this request. - * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * * // Request body metadata * requestBody: { * // request body parameters * // { - * // "nodes": [] + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "id": "my_id", + * // "kind": "my_kind", + * // "locationScope": "my_locationScope", + * // "name": "my_name", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "waves": [] * // } * }, * }); @@ -161270,34 +167268,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - simulateMaintenanceEvent( - params: Params$Resource$Nodegroups$Simulatemaintenanceevent, + insert( + params: Params$Resource$Organizationrolloutplans$Insert, options: StreamMethodOptions ): Promise>; - simulateMaintenanceEvent( - params?: Params$Resource$Nodegroups$Simulatemaintenanceevent, + insert( + params?: Params$Resource$Organizationrolloutplans$Insert, options?: MethodOptions ): Promise>; - simulateMaintenanceEvent( - params: Params$Resource$Nodegroups$Simulatemaintenanceevent, + insert( + params: Params$Resource$Organizationrolloutplans$Insert, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - simulateMaintenanceEvent( - params: Params$Resource$Nodegroups$Simulatemaintenanceevent, + insert( + params: Params$Resource$Organizationrolloutplans$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - simulateMaintenanceEvent( - params: Params$Resource$Nodegroups$Simulatemaintenanceevent, - callback: BodyResponseCallback - ): void; - simulateMaintenanceEvent( + insert( + params: Params$Resource$Organizationrolloutplans$Insert, callback: BodyResponseCallback ): void; - simulateMaintenanceEvent( + insert(callback: BodyResponseCallback): void; + insert( paramsOrCallback?: - | Params$Resource$Nodegroups$Simulatemaintenanceevent + | Params$Resource$Organizationrolloutplans$Insert | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -161313,12 +167309,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Nodegroups$Simulatemaintenanceevent; + {}) as Params$Resource$Organizationrolloutplans$Insert; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Nodegroups$Simulatemaintenanceevent; + params = {} as Params$Resource$Organizationrolloutplans$Insert; options = {}; } @@ -161332,8 +167328,7 @@ export namespace compute_alpha { options: Object.assign( { url: ( - rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/simulateMaintenanceEvent' + rootUrl + '/compute/alpha/{+organization}/global/rolloutPlans' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -161341,8 +167336,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'zone', 'nodeGroup'], - pathParams: ['nodeGroup', 'project', 'zone'], + requiredParams: ['organization'], + pathParams: ['organization'], context: this.context, }; if (callback) { @@ -161356,7 +167351,7 @@ export namespace compute_alpha { } /** - * Returns permissions that a caller has on the specified resource. + * Lists OrganizationRolloutPlans in a given organization and location. * @example * ```js * // Before running the sample: @@ -161389,28 +167384,109 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.nodeGroups.testIamPermissions({ - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Name or id of the resource for this request. - * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // The name of the zone for this request. - * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "permissions": [] - * // } - * }, + * const res = await compute.organizationRolloutPlans.list({ + * // A filter expression that filters resources listed in the response. Most + * // Compute resources support two types of filter expressions: + * // expressions that support regular expressions and expressions that follow + * // API improvement proposal AIP-160. + * // These two types of filter expressions cannot be mixed in one request. + * // + * // If you want to use AIP-160, your expression must specify the field name, an + * // operator, and the value that you want to use for filtering. The value + * // must be a string, a number, or a boolean. The operator + * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * // + * // For example, if you are filtering Compute Engine instances, you can + * // exclude instances named `example-instance` by specifying + * // `name != example-instance`. + * // + * // The `:*` comparison can be used to test whether a key has been defined. + * // For example, to find all objects with `owner` label use: + * // ``` + * // labels.owner:* + * // ``` + * // + * // You can also filter nested fields. For example, you could specify + * // `scheduling.automaticRestart = false` to include instances only + * // if they are not scheduled for automatic restarts. You can use filtering + * // on nested fields to filter based onresource labels. + * // + * // To filter on multiple expressions, provide each separate expression within + * // parentheses. For example: + * // ``` + * // (scheduling.automaticRestart = true) + * // (cpuPlatform = "Intel Skylake") + * // ``` + * // By default, each expression is an `AND` expression. However, you + * // can include `AND` and `OR` expressions explicitly. + * // For example: + * // ``` + * // (cpuPlatform = "Intel Skylake") OR + * // (cpuPlatform = "Intel Broadwell") AND + * // (scheduling.automaticRestart = true) + * // ``` + * // + * // If you want to use a regular expression, use the `eq` (equal) or `ne` + * // (not equal) operator against a single un-parenthesized expression with or + * // without quotes or against multiple parenthesized expressions. Examples: + * // + * // `fieldname eq unquoted literal` + * // `fieldname eq 'single quoted literal'` + * // `fieldname eq "double quoted literal"` + * // `(fieldname1 eq literal) (fieldname2 ne "literal")` + * // + * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * // The literal value must match the entire field. + * // + * // For example, to filter for instances that do not end with name "instance", + * // you would use `name ne .*instance`. + * // + * // You cannot combine constraints on multiple fields using regular + * // expressions. + * filter: 'placeholder-value', + * // The maximum number of results per page that should be returned. + * // If the number of available results is larger than `maxResults`, + * // Compute Engine returns a `nextPageToken` that can be used to get + * // the next page of results in subsequent list requests. Acceptable values are + * // `0` to `500`, inclusive. (Default: `500`) + * maxResults: 'placeholder-value', + * // Sorts list results by a certain order. By default, results + * // are returned in alphanumerical order based on the resource name. + * // + * // You can also sort results in descending order based on the creation + * // timestamp using `orderBy="creationTimestamp desc"`. This sorts + * // results based on the `creationTimestamp` field in + * // reverse chronological order (newest result first). Use this to sort + * // resources like operations so that the newest operation is returned first. + * // + * // Currently, only sorting by `name` or + * // `creationTimestamp desc` is supported. + * orderBy: 'placeholder-value', + * // Organization ID for this request. + * organization: 'organizations/[0-9]{0,20}', + * // Specifies a page token to use. Set `pageToken` to the + * // `nextPageToken` returned by a previous list request to get + * // the next page of results. + * pageToken: 'placeholder-value', + * // Opt-in for partial success behavior which provides partial results in case + * // of failure. The default value is false. + * // + * // For example, when partial success behavior is enabled, aggregatedList for a + * // single zone scope either returns all resources in the zone or no resources, + * // with an error code. + * returnPartialSuccess: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { - * // "permissions": [] + * // "etag": "my_etag", + * // "id": "my_id", + * // "items": [], + * // "nextPageToken": "my_nextPageToken", + * // "selfLink": "my_selfLink", + * // "unreachables": [], + * // "warning": {} * // } * } * @@ -161426,57 +167502,55 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - testIamPermissions( - params: Params$Resource$Nodegroups$Testiampermissions, + list( + params: Params$Resource$Organizationrolloutplans$List, options: StreamMethodOptions ): Promise>; - testIamPermissions( - params?: Params$Resource$Nodegroups$Testiampermissions, + list( + params?: Params$Resource$Organizationrolloutplans$List, options?: MethodOptions - ): Promise>; - testIamPermissions( - params: Params$Resource$Nodegroups$Testiampermissions, + ): Promise>; + list( + params: Params$Resource$Organizationrolloutplans$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - testIamPermissions( - params: Params$Resource$Nodegroups$Testiampermissions, + list( + params: Params$Resource$Organizationrolloutplans$List, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - testIamPermissions( - params: Params$Resource$Nodegroups$Testiampermissions, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - testIamPermissions( - callback: BodyResponseCallback + list( + params: Params$Resource$Organizationrolloutplans$List, + callback: BodyResponseCallback ): void; - testIamPermissions( + list(callback: BodyResponseCallback): void; + list( paramsOrCallback?: - | Params$Resource$Nodegroups$Testiampermissions - | BodyResponseCallback + | Params$Resource$Organizationrolloutplans$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Nodegroups$Testiampermissions; + {}) as Params$Resource$Organizationrolloutplans$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Nodegroups$Testiampermissions; + params = {} as Params$Resource$Organizationrolloutplans$List; options = {}; } @@ -161490,223 +167564,34 @@ export namespace compute_alpha { options: Object.assign( { url: ( - rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/nodeGroups/{resource}/testIamPermissions' + rootUrl + '/compute/alpha/{+organization}/global/rolloutPlans' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone', 'resource'], - pathParams: ['project', 'resource', 'zone'], + requiredParams: ['organization'], + pathParams: ['organization'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } } - export interface Params$Resource$Nodegroups$Addnodes extends StandardParameters { - /** - * Name of the NodeGroup resource. - */ - nodeGroup?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of the zone for this request. - */ - zone?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$NodeGroupsAddNodesRequest; - } - export interface Params$Resource$Nodegroups$Aggregatedlist extends StandardParameters { - /** - * A filter expression that filters resources listed in the response. Most - * Compute resources support two types of filter expressions: - * expressions that support regular expressions and expressions that follow - * API improvement proposal AIP-160. - * These two types of filter expressions cannot be mixed in one request. - * - * If you want to use AIP-160, your expression must specify the field name, an - * operator, and the value that you want to use for filtering. The value - * must be a string, a number, or a boolean. The operator - * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * - * For example, if you are filtering Compute Engine instances, you can - * exclude instances named `example-instance` by specifying - * `name != example-instance`. - * - * The `:*` comparison can be used to test whether a key has been defined. - * For example, to find all objects with `owner` label use: - * ``` - * labels.owner:* - * ``` - * - * You can also filter nested fields. For example, you could specify - * `scheduling.automaticRestart = false` to include instances only - * if they are not scheduled for automatic restarts. You can use filtering - * on nested fields to filter based onresource labels. - * - * To filter on multiple expressions, provide each separate expression within - * parentheses. For example: - * ``` - * (scheduling.automaticRestart = true) - * (cpuPlatform = "Intel Skylake") - * ``` - * By default, each expression is an `AND` expression. However, you - * can include `AND` and `OR` expressions explicitly. - * For example: - * ``` - * (cpuPlatform = "Intel Skylake") OR - * (cpuPlatform = "Intel Broadwell") AND - * (scheduling.automaticRestart = true) - * ``` - * - * If you want to use a regular expression, use the `eq` (equal) or `ne` - * (not equal) operator against a single un-parenthesized expression with or - * without quotes or against multiple parenthesized expressions. Examples: - * - * `fieldname eq unquoted literal` - * `fieldname eq 'single quoted literal'` - * `fieldname eq "double quoted literal"` - * `(fieldname1 eq literal) (fieldname2 ne "literal")` - * - * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * The literal value must match the entire field. - * - * For example, to filter for instances that do not end with name "instance", - * you would use `name ne .*instance`. - * - * You cannot combine constraints on multiple fields using regular - * expressions. - */ - filter?: string; - /** - * 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. - */ - includeAllScopes?: boolean; - /** - * The maximum number of results per page that should be returned. - * If the number of available results is larger than `maxResults`, - * Compute Engine returns a `nextPageToken` that can be used to get - * the next page of results in subsequent list requests. Acceptable values are - * `0` to `500`, inclusive. (Default: `500`) - */ - maxResults?: number; - /** - * Sorts list results by a certain order. By default, results - * are returned in alphanumerical order based on the resource name. - * - * You can also sort results in descending order based on the creation - * timestamp using `orderBy="creationTimestamp desc"`. This sorts - * results based on the `creationTimestamp` field in - * reverse chronological order (newest result first). Use this to sort - * resources like operations so that the newest operation is returned first. - * - * Currently, only sorting by `name` or - * `creationTimestamp desc` is supported. - */ - orderBy?: string; - /** - * Specifies a page token to use. Set `pageToken` to the - * `nextPageToken` returned by a previous list request to get - * the next page of results. - */ - pageToken?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * Opt-in for partial success behavior which provides partial results in case - * of failure. The default value is false. - * - * For example, when partial success behavior is enabled, aggregatedList for a - * single zone scope either returns all resources in the zone or no resources, - * with an error code. - */ - returnPartialSuccess?: boolean; - /** - * The Shared VPC service project id or service project number for which - * aggregated list request is invoked for subnetworks list-usable api. - */ - serviceProjectNumber?: string; - } - export interface Params$Resource$Nodegroups$Delete extends StandardParameters { - /** - * Name of the NodeGroup resource to delete. - */ - nodeGroup?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of the zone for this request. - */ - zone?: string; - } - export interface Params$Resource$Nodegroups$Deletenodes extends StandardParameters { - /** - * Name of the NodeGroup resource whose nodes will be deleted. - */ - nodeGroup?: string; + export interface Params$Resource$Organizationrolloutplans$Delete extends StandardParameters { /** - * Project ID for this request. + * Organization ID for this request. */ - project?: string; + organization?: string; /** * An optional request ID to identify requests. Specify a unique request ID so * that if you must retry your request, the server will know to ignore the @@ -161724,56 +167609,25 @@ export namespace compute_alpha { */ requestId?: string; /** - * The name of the zone for this request. - */ - zone?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$NodeGroupsDeleteNodesRequest; - } - export interface Params$Resource$Nodegroups$Get extends StandardParameters { - /** - * Name of the node group to return. - */ - nodeGroup?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * The name of the zone for this request. + * Name of the OrganizationRolloutPlan resource to delete. */ - zone?: string; + rolloutPlan?: string; } - export interface Params$Resource$Nodegroups$Getiampolicy extends StandardParameters { - /** - * Requested IAM Policy version. - */ - optionsRequestedPolicyVersion?: number; - /** - * Project ID for this request. - */ - project?: string; + export interface Params$Resource$Organizationrolloutplans$Get extends StandardParameters { /** - * Name or id of the resource for this request. + * Organization ID for this request. */ - resource?: string; + organization?: string; /** - * The name of the zone for this request. + * Name of the persistent rollout plan to return. */ - zone?: string; + rolloutPlan?: string; } - export interface Params$Resource$Nodegroups$Insert extends StandardParameters { - /** - * Initial count of nodes in the node group. - */ - initialNodeCount?: number; + export interface Params$Resource$Organizationrolloutplans$Insert extends StandardParameters { /** - * Project ID for this request. + * Organization ID for this request. */ - project?: string; + organization?: string; /** * An optional request ID to identify requests. Specify a unique request ID so * that if you must retry your request, the server will know to ignore the @@ -161790,17 +167644,13 @@ export namespace compute_alpha { * (00000000-0000-0000-0000-000000000000). */ requestId?: string; - /** - * The name of the zone for this request. - */ - zone?: string; /** * Request body metadata */ - requestBody?: Schema$NodeGroup; + requestBody?: Schema$RolloutPlan; } - export interface Params$Resource$Nodegroups$List extends StandardParameters { + export interface Params$Resource$Organizationrolloutplans$List extends StandardParameters { /** * A filter expression that filters resources listed in the response. Most * Compute resources support two types of filter expressions: @@ -161884,16 +167734,16 @@ export namespace compute_alpha { * `creationTimestamp desc` is supported. */ orderBy?: string; + /** + * Organization ID for this request. + */ + organization?: string; /** * Specifies a page token to use. Set `pageToken` to the * `nextPageToken` returned by a previous list request to get * the next page of results. */ pageToken?: string; - /** - * Project ID for this request. - */ - project?: string; /** * Opt-in for partial success behavior which provides partial results in case * of failure. The default value is false. @@ -161903,314 +167753,731 @@ export namespace compute_alpha { * with an error code. */ returnPartialSuccess?: boolean; - /** - * The name of the zone for this request. - */ - zone?: string; } - export interface Params$Resource$Nodegroups$Listnodes extends StandardParameters { + + export class Resource$Organizationrollouts { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + /** - * A filter expression that filters resources listed in the response. Most - * Compute resources support two types of filter expressions: - * expressions that support regular expressions and expressions that follow - * API improvement proposal AIP-160. - * These two types of filter expressions cannot be mixed in one request. + * Advances a Rollout to the next wave, or completes it if no waves remain. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` * - * If you want to use AIP-160, your expression must specify the field name, an - * operator, and the value that you want to use for filtering. The value - * must be a string, a number, or a boolean. The operator - * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); * - * For example, if you are filtering Compute Engine instances, you can - * exclude instances named `example-instance` by specifying - * `name != example-instance`. + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); * - * The `:*` comparison can be used to test whether a key has been defined. - * For example, to find all objects with `owner` label use: - * ``` - * labels.owner:* - * ``` + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); * - * You can also filter nested fields. For example, you could specify - * `scheduling.automaticRestart = false` to include instances only - * if they are not scheduled for automatic restarts. You can use filtering - * on nested fields to filter based onresource labels. + * // Do the magic + * const res = await compute.organizationRollouts.advance({ + * // Required. Wave number of the current wave. + * currentWaveNumber: 'placeholder-value', + * // Required. Organization ID for this request. + * organization: 'organizations/[0-9]{1,19}', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // Required. Name of the Rollout resource to advance. + * rollout: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); * - * To filter on multiple expressions, provide each separate expression within - * parentheses. For example: - * ``` - * (scheduling.automaticRestart = true) - * (cpuPlatform = "Intel Skylake") - * ``` - * By default, each expression is an `AND` expression. However, you - * can include `AND` and `OR` expressions explicitly. - * For example: * ``` - * (cpuPlatform = "Intel Skylake") OR - * (cpuPlatform = "Intel Broadwell") AND - * (scheduling.automaticRestart = true) + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + advance( + params: Params$Resource$Organizationrollouts$Advance, + options: StreamMethodOptions + ): Promise>; + advance( + params?: Params$Resource$Organizationrollouts$Advance, + options?: MethodOptions + ): Promise>; + advance( + params: Params$Resource$Organizationrollouts$Advance, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + advance( + params: Params$Resource$Organizationrollouts$Advance, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + advance( + params: Params$Resource$Organizationrollouts$Advance, + callback: BodyResponseCallback + ): void; + advance(callback: BodyResponseCallback): void; + advance( + paramsOrCallback?: + | Params$Resource$Organizationrollouts$Advance + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizationrollouts$Advance; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Organizationrollouts$Advance; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/{+organization}/global/rollouts/{rollout}/advance' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['organization', 'rollout'], + pathParams: ['organization', 'rollout'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Cancels a Rollout. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.organizationRollouts.cancel({ + * // Required. Organization ID for this request. + * organization: 'organizations/[0-9]{1,19}', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // Optional. If true, then the ongoing rollout must be rolled back. Else, just cancel + * // the rollout without taking any further actions. Note that products must + * // support at least one of these options, however, it does not need to support + * // both. + * rollback: 'placeholder-value', + * // Name of the Rollout resource to cancel. + * rollout: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * * ``` * - * If you want to use a regular expression, use the `eq` (equal) or `ne` - * (not equal) operator against a single un-parenthesized expression with or - * without quotes or against multiple parenthesized expressions. Examples: + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + cancel( + params: Params$Resource$Organizationrollouts$Cancel, + options: StreamMethodOptions + ): Promise>; + cancel( + params?: Params$Resource$Organizationrollouts$Cancel, + options?: MethodOptions + ): Promise>; + cancel( + params: Params$Resource$Organizationrollouts$Cancel, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + cancel( + params: Params$Resource$Organizationrollouts$Cancel, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + cancel( + params: Params$Resource$Organizationrollouts$Cancel, + callback: BodyResponseCallback + ): void; + cancel(callback: BodyResponseCallback): void; + cancel( + paramsOrCallback?: + | Params$Resource$Organizationrollouts$Cancel + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizationrollouts$Cancel; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Organizationrollouts$Cancel; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/{+organization}/global/rollouts/{rollout}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['organization', 'rollout'], + pathParams: ['organization', 'rollout'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes a Rollout. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); * - * `fieldname eq unquoted literal` - * `fieldname eq 'single quoted literal'` - * `fieldname eq "double quoted literal"` - * `(fieldname1 eq literal) (fieldname2 ne "literal")` + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); * - * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * The literal value must match the entire field. + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); * - * For example, to filter for instances that do not end with name "instance", - * you would use `name ne .*instance`. + * // Do the magic + * const res = await compute.organizationRollouts.delete({ + * // Required. Organization ID for this request. + * organization: 'organizations/[0-9]{1,19}', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // Name of the Rollout resource to delete. + * rollout: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * }); + * console.log(res.data); * - * You cannot combine constraints on multiple fields using regular - * expressions. - */ - filter?: string; - /** - * The maximum number of results per page that should be returned. - * If the number of available results is larger than `maxResults`, - * Compute Engine returns a `nextPageToken` that can be used to get - * the next page of results in subsequent list requests. Acceptable values are - * `0` to `500`, inclusive. (Default: `500`) - */ - maxResults?: number; - /** - * Name of the NodeGroup resource whose nodes you want to list. - */ - nodeGroup?: string; - /** - * Sorts list results by a certain order. By default, results - * are returned in alphanumerical order based on the resource name. + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } * - * You can also sort results in descending order based on the creation - * timestamp using `orderBy="creationTimestamp desc"`. This sorts - * results based on the `creationTimestamp` field in - * reverse chronological order (newest result first). Use this to sort - * resources like operations so that the newest operation is returned first. + * main().catch(e => { + * console.error(e); + * throw e; + * }); * - * Currently, only sorting by `name` or - * `creationTimestamp desc` is supported. - */ - orderBy?: string; - /** - * Specifies a page token to use. Set `pageToken` to the - * `nextPageToken` returned by a previous list request to get - * the next page of results. - */ - pageToken?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * Opt-in for partial success behavior which provides partial results in case - * of failure. The default value is false. + * ``` * - * For example, when partial success behavior is enabled, aggregatedList for a - * single zone scope either returns all resources in the zone or no resources, - * with an error code. - */ - returnPartialSuccess?: boolean; - /** - * The name of the zone for this request. - */ - zone?: string; - } - export interface Params$Resource$Nodegroups$Patch extends StandardParameters { - /** - * Name of the NodeGroup resource to update. - */ - nodeGroup?: string; - /** - * Project ID for this request. + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. */ - project?: string; + delete( + params: Params$Resource$Organizationrollouts$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Organizationrollouts$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Organizationrollouts$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Organizationrollouts$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Organizationrollouts$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Organizationrollouts$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizationrollouts$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Organizationrollouts$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/{+organization}/global/rollouts/{rollout}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['organization', 'rollout'], + pathParams: ['organization', 'rollout'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. + * Gets details of a single organization-scoped Rollout. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of the zone for this request. - */ - zone?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$NodeGroup; - } - export interface Params$Resource$Nodegroups$Performmaintenance extends StandardParameters { - /** - * Name of the node group scoping this request. - */ - nodeGroup?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', + * ], + * }); * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of the zone for this request. - */ - zone?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$NodeGroupsPerformMaintenanceRequest; - } - export interface Params$Resource$Nodegroups$Setiampolicy extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * Name or id of the resource for this request. - */ - resource?: string; - /** - * The name of the zone for this request. - */ - zone?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$ZoneSetPolicyRequest; - } - export interface Params$Resource$Nodegroups$Setnodetemplate extends StandardParameters { - /** - * Name of the NodeGroup resource to update. - */ - nodeGroup?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. + * // Do the magic + * const res = await compute.organizationRollouts.get({ + * // Organization ID for this request. + * organization: 'organizations/[0-9]{0,20}', + * // Name of the persistent rollout to return. + * rollout: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * }); + * console.log(res.data); * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. + * // Example response + * // { + * // "cancellationTime": "my_cancellationTime", + * // "completionTime": "my_completionTime", + * // "creationTimestamp": "my_creationTimestamp", + * // "currentWaveNumber": "my_currentWaveNumber", + * // "description": "my_description", + * // "etag": "my_etag", + * // "id": "my_id", + * // "kind": "my_kind", + * // "name": "my_name", + * // "pauseTime": "my_pauseTime", + * // "resumeTime": "my_resumeTime", + * // "rolloutEntity": {}, + * // "rolloutPlan": "my_rolloutPlan", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "state": "my_state", + * // "waveDetails": [] + * // } + * } * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of the zone for this request. - */ - zone?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$NodeGroupsSetNodeTemplateRequest; - } - export interface Params$Resource$Nodegroups$Simulatemaintenanceevent extends StandardParameters { - /** - * Name of the NodeGroup resource whose nodes will go under maintenance - * simulation. - */ - nodeGroup?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. + * main().catch(e => { + * console.error(e); + * throw e; + * }); * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. + * ``` * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of the zone for this request. + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. */ - zone?: string; + get( + params: Params$Resource$Organizationrollouts$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Organizationrollouts$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Organizationrollouts$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Organizationrollouts$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Organizationrollouts$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Organizationrollouts$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizationrollouts$Get; + let options = (optionsOrCallback || {}) as MethodOptions; - /** - * Request body metadata - */ - requestBody?: Schema$NodeGroupsSimulateMaintenanceEventRequest; - } - export interface Params$Resource$Nodegroups$Testiampermissions extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * Name or id of the resource for this request. - */ - resource?: string; - /** - * The name of the zone for this request. - */ - zone?: string; + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Organizationrollouts$Get; + options = {}; + } - /** - * Request body metadata - */ - requestBody?: Schema$TestPermissionsRequest; - } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } - export class Resource$Nodetemplates { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/{+organization}/global/rollouts/{rollout}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['organization', 'rollout'], + pathParams: ['organization', 'rollout'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } } /** - * Retrieves an aggregated list of node templates. - * - * To prevent failure, Google recommends that you set the - * `returnPartialSuccess` parameter to `true`. + * Lists Rollouts in a given organization and location. * @example * ```js * // Before running the sample: @@ -162243,7 +168510,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.nodeTemplates.aggregatedList({ + * const res = await compute.organizationRollouts.list({ * // A filter expression that filters resources listed in the response. Most * // Compute resources support two types of filter expressions: * // expressions that support regular expressions and expressions that follow @@ -162303,14 +168570,6 @@ export namespace compute_alpha { * // You cannot combine constraints on multiple fields using regular * // expressions. * filter: 'placeholder-value', - * // 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. - * includeAllScopes: 'placeholder-value', * // The maximum number of results per page that should be returned. * // If the number of available results is larger than `maxResults`, * // Compute Engine returns a `nextPageToken` that can be used to get @@ -162329,13 +168588,12 @@ export namespace compute_alpha { * // Currently, only sorting by `name` or * // `creationTimestamp desc` is supported. * orderBy: 'placeholder-value', + * // Required. Organization ID for this request. + * organization: 'organizations/[0-9]{1,19}', * // Specifies a page token to use. Set `pageToken` to the * // `nextPageToken` returned by a previous list request to get * // the next page of results. * pageToken: 'placeholder-value', - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', * // Opt-in for partial success behavior which provides partial results in case * // of failure. The default value is false. * // @@ -162343,17 +168601,14 @@ export namespace compute_alpha { * // single zone scope either returns all resources in the zone or no resources, * // with an error code. * returnPartialSuccess: 'placeholder-value', - * // The Shared VPC service project id or service project number for which - * // aggregated list request is invoked for subnetworks list-usable api. - * serviceProjectNumber: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { + * // "etag": "my_etag", * // "id": "my_id", - * // "items": {}, - * // "kind": "my_kind", + * // "items": [], * // "nextPageToken": "my_nextPageToken", * // "selfLink": "my_selfLink", * // "unreachables": [], @@ -162373,57 +168628,61 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - aggregatedList( - params: Params$Resource$Nodetemplates$Aggregatedlist, + list( + params: Params$Resource$Organizationrollouts$List, options: StreamMethodOptions ): Promise>; - aggregatedList( - params?: Params$Resource$Nodetemplates$Aggregatedlist, + list( + params?: Params$Resource$Organizationrollouts$List, options?: MethodOptions - ): Promise>; - aggregatedList( - params: Params$Resource$Nodetemplates$Aggregatedlist, + ): Promise< + GaxiosResponseWithHTTP2 + >; + list( + params: Params$Resource$Organizationrollouts$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - aggregatedList( - params: Params$Resource$Nodetemplates$Aggregatedlist, + list( + params: Params$Resource$Organizationrollouts$List, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - aggregatedList( - params: Params$Resource$Nodetemplates$Aggregatedlist, - callback: BodyResponseCallback + list( + params: Params$Resource$Organizationrollouts$List, + callback: BodyResponseCallback ): void; - aggregatedList( - callback: BodyResponseCallback + list( + callback: BodyResponseCallback ): void; - aggregatedList( + list( paramsOrCallback?: - | Params$Resource$Nodetemplates$Aggregatedlist - | BodyResponseCallback + | Params$Resource$Organizationrollouts$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise< + GaxiosResponseWithHTTP2 + > | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Nodetemplates$Aggregatedlist; + {}) as Params$Resource$Organizationrollouts$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Nodetemplates$Aggregatedlist; + params = {} as Params$Resource$Organizationrollouts$List; options = {}; } @@ -162437,8 +168696,7 @@ export namespace compute_alpha { options: Object.assign( { url: ( - rootUrl + - '/compute/alpha/projects/{project}/aggregated/nodeTemplates' + rootUrl + '/compute/alpha/{+organization}/global/rollouts' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -162446,22 +168704,24 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project'], - pathParams: ['project'], + requiredParams: ['organization'], + pathParams: ['organization'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); } } /** - * Deletes the specified NodeTemplate resource. + * Pauses a Rollout. * @example * ```js * // Before running the sample: @@ -162493,14 +168753,13 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.nodeTemplates.delete({ - * // Name of the NodeTemplate resource to delete. - * nodeTemplate: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // The name of the region for this request. - * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * const res = await compute.organizationRollouts.pause({ + * // The etag of the Rollout. + * // If this is provided, the request will only succeed if the etag matches + * // the current etag of the Rollout. + * etag: 'placeholder-value', + * // Required. Organization ID for this request. + * organization: 'organizations/[0-9]{1,19}', * // An optional request ID to identify requests. Specify a unique request ID so * // that if you must retry your request, the server will know to ignore the * // request if it has already been completed. @@ -162515,6 +168774,8 @@ export namespace compute_alpha { * // a valid UUID with the exception that zero UUID is not supported * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', + * // Required. Name of the Rollout resource to pause. + * rollout: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * }); * console.log(res.data); * @@ -162563,32 +168824,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - delete( - params: Params$Resource$Nodetemplates$Delete, + pause( + params: Params$Resource$Organizationrollouts$Pause, options: StreamMethodOptions ): Promise>; - delete( - params?: Params$Resource$Nodetemplates$Delete, + pause( + params?: Params$Resource$Organizationrollouts$Pause, options?: MethodOptions ): Promise>; - delete( - params: Params$Resource$Nodetemplates$Delete, + pause( + params: Params$Resource$Organizationrollouts$Pause, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Nodetemplates$Delete, + pause( + params: Params$Resource$Organizationrollouts$Pause, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Nodetemplates$Delete, + pause( + params: Params$Resource$Organizationrollouts$Pause, callback: BodyResponseCallback ): void; - delete(callback: BodyResponseCallback): void; - delete( + pause(callback: BodyResponseCallback): void; + pause( paramsOrCallback?: - | Params$Resource$Nodetemplates$Delete + | Params$Resource$Organizationrollouts$Pause | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -162604,12 +168865,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Nodetemplates$Delete; + {}) as Params$Resource$Organizationrollouts$Pause; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Nodetemplates$Delete; + params = {} as Params$Resource$Organizationrollouts$Pause; options = {}; } @@ -162624,16 +168885,16 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/regions/{region}/nodeTemplates/{nodeTemplate}' + '/compute/alpha/{+organization}/global/rollouts/{rollout}/pause' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project', 'region', 'nodeTemplate'], - pathParams: ['nodeTemplate', 'project', 'region'], + requiredParams: ['organization', 'rollout'], + pathParams: ['organization', 'rollout'], context: this.context, }; if (callback) { @@ -162647,7 +168908,7 @@ export namespace compute_alpha { } /** - * Returns the specified node template. + * Resumes a Rollout. * @example * ```js * // Before running the sample: @@ -162671,7 +168932,6 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -162680,36 +168940,62 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.nodeTemplates.get({ - * // Name of the node template to return. - * nodeTemplate: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // The name of the region for this request. - * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * const res = await compute.organizationRollouts.resume({ + * // The etag of the Rollout. + * // If this is provided, the request will only succeed if the etag matches + * // the current etag of the Rollout. + * etag: 'placeholder-value', + * // Required. Organization ID for this request. + * organization: 'organizations/[0-9]{1,19}', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // Required. Name of the Rollout resource to resume. + * rollout: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * }); * console.log(res.data); * * // Example response * // { - * // "accelerators": [], - * // "cpuOvercommitType": "my_cpuOvercommitType", + * // "clientOperationId": "my_clientOperationId", * // "creationTimestamp": "my_creationTimestamp", * // "description": "my_description", - * // "disks": [], + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, * // "kind": "my_kind", * // "name": "my_name", - * // "nodeAffinityLabels": {}, - * // "nodeType": "my_nodeType", - * // "nodeTypeFlexibility": {}, + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, * // "region": "my_region", * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", - * // "serverBinding": {}, + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", * // "status": "my_status", - * // "statusMessage": "my_statusMessage" + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" * // } * } * @@ -162725,53 +169011,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - get( - params: Params$Resource$Nodetemplates$Get, + resume( + params: Params$Resource$Organizationrollouts$Resume, options: StreamMethodOptions ): Promise>; - get( - params?: Params$Resource$Nodetemplates$Get, + resume( + params?: Params$Resource$Organizationrollouts$Resume, options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Nodetemplates$Get, + ): Promise>; + resume( + params: Params$Resource$Organizationrollouts$Resume, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Nodetemplates$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + resume( + params: Params$Resource$Organizationrollouts$Resume, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Nodetemplates$Get, - callback: BodyResponseCallback + resume( + params: Params$Resource$Organizationrollouts$Resume, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; - get( + resume(callback: BodyResponseCallback): void; + resume( paramsOrCallback?: - | Params$Resource$Nodetemplates$Get - | BodyResponseCallback + | Params$Resource$Organizationrollouts$Resume + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Nodetemplates$Get; + {}) as Params$Resource$Organizationrollouts$Resume; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Nodetemplates$Get; + params = {} as Params$Resource$Organizationrollouts$Resume; options = {}; } @@ -162786,31 +169072,314 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/regions/{region}/nodeTemplates/{nodeTemplate}' + '/compute/alpha/{+organization}/global/rollouts/{rollout}/resume' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project', 'region', 'nodeTemplate'], - pathParams: ['nodeTemplate', 'project', 'region'], + requiredParams: ['organization', 'rollout'], + pathParams: ['organization', 'rollout'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } + } + export interface Params$Resource$Organizationrollouts$Advance extends StandardParameters { /** - * Gets the access control policy for a resource. May be empty if no such - * policy or resource exists. + * Required. Wave number of the current wave. + */ + currentWaveNumber?: string; + /** + * Required. Organization ID for this request. + */ + organization?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Required. Name of the Rollout resource to advance. + */ + rollout?: string; + } + export interface Params$Resource$Organizationrollouts$Cancel extends StandardParameters { + /** + * Required. Organization ID for this request. + */ + organization?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Optional. If true, then the ongoing rollout must be rolled back. Else, just cancel + * the rollout without taking any further actions. Note that products must + * support at least one of these options, however, it does not need to support + * both. + */ + rollback?: boolean; + /** + * Name of the Rollout resource to cancel. + */ + rollout?: string; + } + export interface Params$Resource$Organizationrollouts$Delete extends StandardParameters { + /** + * Required. Organization ID for this request. + */ + organization?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the Rollout resource to delete. + */ + rollout?: string; + } + export interface Params$Resource$Organizationrollouts$Get extends StandardParameters { + /** + * Organization ID for this request. + */ + organization?: string; + /** + * Name of the persistent rollout to return. + */ + rollout?: string; + } + export interface Params$Resource$Organizationrollouts$List extends StandardParameters { + /** + * A filter expression that filters resources listed in the response. Most + * Compute resources support two types of filter expressions: + * expressions that support regular expressions and expressions that follow + * API improvement proposal AIP-160. + * These two types of filter expressions cannot be mixed in one request. + * + * If you want to use AIP-160, your expression must specify the field name, an + * operator, and the value that you want to use for filtering. The value + * must be a string, a number, or a boolean. The operator + * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * + * For example, if you are filtering Compute Engine instances, you can + * exclude instances named `example-instance` by specifying + * `name != example-instance`. + * + * The `:*` comparison can be used to test whether a key has been defined. + * For example, to find all objects with `owner` label use: + * ``` + * labels.owner:* + * ``` + * + * You can also filter nested fields. For example, you could specify + * `scheduling.automaticRestart = false` to include instances only + * if they are not scheduled for automatic restarts. You can use filtering + * on nested fields to filter based onresource labels. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example: + * ``` + * (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake") + * ``` + * By default, each expression is an `AND` expression. However, you + * can include `AND` and `OR` expressions explicitly. + * For example: + * ``` + * (cpuPlatform = "Intel Skylake") OR + * (cpuPlatform = "Intel Broadwell") AND + * (scheduling.automaticRestart = true) + * ``` + * + * If you want to use a regular expression, use the `eq` (equal) or `ne` + * (not equal) operator against a single un-parenthesized expression with or + * without quotes or against multiple parenthesized expressions. Examples: + * + * `fieldname eq unquoted literal` + * `fieldname eq 'single quoted literal'` + * `fieldname eq "double quoted literal"` + * `(fieldname1 eq literal) (fieldname2 ne "literal")` + * + * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * The literal value must match the entire field. + * + * For example, to filter for instances that do not end with name "instance", + * you would use `name ne .*instance`. + * + * You cannot combine constraints on multiple fields using regular + * expressions. + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. + * If the number of available results is larger than `maxResults`, + * Compute Engine returns a `nextPageToken` that can be used to get + * the next page of results in subsequent list requests. Acceptable values are + * `0` to `500`, inclusive. (Default: `500`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results + * are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation + * timestamp using `orderBy="creationTimestamp desc"`. This sorts + * results based on the `creationTimestamp` field in + * reverse chronological order (newest result first). Use this to sort + * resources like operations so that the newest operation is returned first. + * + * Currently, only sorting by `name` or + * `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Required. Organization ID for this request. + */ + organization?: string; + /** + * Specifies a page token to use. Set `pageToken` to the + * `nextPageToken` returned by a previous list request to get + * the next page of results. + */ + pageToken?: string; + /** + * Opt-in for partial success behavior which provides partial results in case + * of failure. The default value is false. + * + * For example, when partial success behavior is enabled, aggregatedList for a + * single zone scope either returns all resources in the zone or no resources, + * with an error code. + */ + returnPartialSuccess?: boolean; + } + export interface Params$Resource$Organizationrollouts$Pause extends StandardParameters { + /** + * The etag of the Rollout. + * If this is provided, the request will only succeed if the etag matches + * the current etag of the Rollout. + */ + etag?: string; + /** + * Required. Organization ID for this request. + */ + organization?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Required. Name of the Rollout resource to pause. + */ + rollout?: string; + } + export interface Params$Resource$Organizationrollouts$Resume extends StandardParameters { + /** + * The etag of the Rollout. + * If this is provided, the request will only succeed if the etag matches + * the current etag of the Rollout. + */ + etag?: string; + /** + * Required. Organization ID for this request. + */ + organization?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Required. Name of the Rollout resource to resume. + */ + rollout?: string; + } + + export class Resource$Organizationsecuritypolicies { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Inserts an association for the specified security policy. + * + * This has billing implications. Projects in the hierarchy with effective + * hierarchical security policies will be automatically enrolled into Cloud + * Armor Enterprise if not already enrolled. + * + * Use this API to modify Cloud Armor policies. Previously, alpha and beta + * versions of this API were used to modify firewall policies. This usage is + * now disabled for most organizations. Use firewallPolicies.addAssociation + * instead. * @example * ```js * // Before running the sample: @@ -162834,7 +169403,6 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -162842,26 +169410,75 @@ export namespace compute_alpha { * const authClient = await auth.getClient(); * google.options({auth: authClient}); * - * // Do the magic - * const res = await compute.nodeTemplates.getIamPolicy({ - * // Requested IAM Policy version. - * optionsRequestedPolicyVersion: 'placeholder-value', - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // The name of the region for this request. - * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', - * // Name or id of the resource for this request. - * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // Do the magic + * const res = await compute.organizationSecurityPolicies.addAssociation({ + * // 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. + * replaceExistingAssociation: 'placeholder-value', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // Name of the security policy to update. + * securityPolicy: '(securityPolicies/)?[0-9]{0,20}', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "attachmentId": "my_attachmentId", + * // "displayName": "my_displayName", + * // "excludedFolders": [], + * // "excludedProjects": [], + * // "name": "my_name", + * // "securityPolicyId": "my_securityPolicyId", + * // "shortName": "my_shortName" + * // } + * }, * }); * console.log(res.data); * * // Example response * // { - * // "auditConfigs": [], - * // "bindings": [], - * // "etag": "my_etag", - * // "version": 0 + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" * // } * } * @@ -162877,53 +169494,54 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - getIamPolicy( - params: Params$Resource$Nodetemplates$Getiampolicy, + addAssociation( + params: Params$Resource$Organizationsecuritypolicies$Addassociation, options: StreamMethodOptions ): Promise>; - getIamPolicy( - params?: Params$Resource$Nodetemplates$Getiampolicy, + addAssociation( + params?: Params$Resource$Organizationsecuritypolicies$Addassociation, options?: MethodOptions - ): Promise>; - getIamPolicy( - params: Params$Resource$Nodetemplates$Getiampolicy, + ): Promise>; + addAssociation( + params: Params$Resource$Organizationsecuritypolicies$Addassociation, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - getIamPolicy( - params: Params$Resource$Nodetemplates$Getiampolicy, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + addAssociation( + params: Params$Resource$Organizationsecuritypolicies$Addassociation, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - getIamPolicy( - params: Params$Resource$Nodetemplates$Getiampolicy, - callback: BodyResponseCallback + addAssociation( + params: Params$Resource$Organizationsecuritypolicies$Addassociation, + callback: BodyResponseCallback ): void; - getIamPolicy(callback: BodyResponseCallback): void; - getIamPolicy( + addAssociation(callback: BodyResponseCallback): void; + addAssociation( paramsOrCallback?: - | Params$Resource$Nodetemplates$Getiampolicy - | BodyResponseCallback + | Params$Resource$Organizationsecuritypolicies$Addassociation + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Nodetemplates$Getiampolicy; + {}) as Params$Resource$Organizationsecuritypolicies$Addassociation; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Nodetemplates$Getiampolicy; + params = + {} as Params$Resource$Organizationsecuritypolicies$Addassociation; options = {}; } @@ -162938,31 +169556,34 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/regions/{region}/nodeTemplates/{resource}/getIamPolicy' + '/compute/alpha/locations/global/securityPolicies/{securityPolicy}/addAssociation' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project', 'region', 'resource'], - pathParams: ['project', 'region', 'resource'], + requiredParams: ['securityPolicy'], + pathParams: ['securityPolicy'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Creates a NodeTemplate resource in the specified project using the data - * included in the request. + * Inserts a rule into a security policy. + * + * Use this API to modify Cloud Armor policies. Previously, alpha and beta + * versions of this API were used to modify firewall policies. This usage is + * now disabled for most organizations. Use firewallPolicies.addRule instead. * @example * ```js * // Before running the sample: @@ -162994,12 +169615,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.nodeTemplates.insert({ - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // The name of the region for this request. - * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * const res = await compute.organizationSecurityPolicies.addRule({ * // An optional request ID to identify requests. Specify a unique request ID so * // that if you must retry your request, the server will know to ignore the * // request if it has already been completed. @@ -163014,28 +169630,32 @@ export namespace compute_alpha { * // a valid UUID with the exception that zero UUID is not supported * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', + * // Name of the security policy to update. + * securityPolicy: '(securityPolicies/)?[0-9]{0,20}', * * // Request body metadata * requestBody: { * // request body parameters * // { - * // "accelerators": [], - * // "cpuOvercommitType": "my_cpuOvercommitType", - * // "creationTimestamp": "my_creationTimestamp", + * // "action": "my_action", * // "description": "my_description", - * // "disks": [], - * // "id": "my_id", + * // "direction": "my_direction", + * // "enableLogging": false, + * // "headerAction": {}, * // "kind": "my_kind", - * // "name": "my_name", - * // "nodeAffinityLabels": {}, - * // "nodeType": "my_nodeType", - * // "nodeTypeFlexibility": {}, - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "serverBinding": {}, - * // "status": "my_status", - * // "statusMessage": "my_statusMessage" + * // "match": {}, + * // "networkMatch": {}, + * // "preconfiguredWafConfig": {}, + * // "preview": false, + * // "priority": 0, + * // "rateLimitOptions": {}, + * // "redirectOptions": {}, + * // "redirectTarget": "my_redirectTarget", + * // "ruleManagedProtectionTier": "my_ruleManagedProtectionTier", + * // "ruleNumber": "my_ruleNumber", + * // "ruleTupleCount": 0, + * // "targetResources": [], + * // "targetServiceAccounts": [] * // } * }, * }); @@ -163086,32 +169706,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - insert( - params: Params$Resource$Nodetemplates$Insert, + addRule( + params: Params$Resource$Organizationsecuritypolicies$Addrule, options: StreamMethodOptions ): Promise>; - insert( - params?: Params$Resource$Nodetemplates$Insert, + addRule( + params?: Params$Resource$Organizationsecuritypolicies$Addrule, options?: MethodOptions ): Promise>; - insert( - params: Params$Resource$Nodetemplates$Insert, + addRule( + params: Params$Resource$Organizationsecuritypolicies$Addrule, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - insert( - params: Params$Resource$Nodetemplates$Insert, + addRule( + params: Params$Resource$Organizationsecuritypolicies$Addrule, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - insert( - params: Params$Resource$Nodetemplates$Insert, + addRule( + params: Params$Resource$Organizationsecuritypolicies$Addrule, callback: BodyResponseCallback ): void; - insert(callback: BodyResponseCallback): void; - insert( + addRule(callback: BodyResponseCallback): void; + addRule( paramsOrCallback?: - | Params$Resource$Nodetemplates$Insert + | Params$Resource$Organizationsecuritypolicies$Addrule | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -163127,12 +169747,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Nodetemplates$Insert; + {}) as Params$Resource$Organizationsecuritypolicies$Addrule; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Nodetemplates$Insert; + params = {} as Params$Resource$Organizationsecuritypolicies$Addrule; options = {}; } @@ -163147,7 +169767,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/regions/{region}/nodeTemplates' + '/compute/alpha/locations/global/securityPolicies/{securityPolicy}/addRule' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -163155,8 +169775,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'region'], - pathParams: ['project', 'region'], + requiredParams: ['securityPolicy'], + pathParams: ['securityPolicy'], context: this.context, }; if (callback) { @@ -163170,8 +169790,12 @@ export namespace compute_alpha { } /** - * Retrieves a list of node templates available to the specified - * project. + * Copies rules to the specified security policy. + * + * Use this API to modify Cloud Armor policies. Previously, alpha and beta + * versions of this API were used to modify firewall policies. This usage is + * now disabled for most organizations. Use firewallPolicies.cloneRules + * instead. * @example * ```js * // Before running the sample: @@ -163195,7 +169819,6 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -163204,111 +169827,58 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.nodeTemplates.list({ - * // A filter expression that filters resources listed in the response. Most - * // Compute resources support two types of filter expressions: - * // expressions that support regular expressions and expressions that follow - * // API improvement proposal AIP-160. - * // These two types of filter expressions cannot be mixed in one request. - * // - * // If you want to use AIP-160, your expression must specify the field name, an - * // operator, and the value that you want to use for filtering. The value - * // must be a string, a number, or a boolean. The operator - * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * // - * // For example, if you are filtering Compute Engine instances, you can - * // exclude instances named `example-instance` by specifying - * // `name != example-instance`. - * // - * // The `:*` comparison can be used to test whether a key has been defined. - * // For example, to find all objects with `owner` label use: - * // ``` - * // labels.owner:* - * // ``` - * // - * // You can also filter nested fields. For example, you could specify - * // `scheduling.automaticRestart = false` to include instances only - * // if they are not scheduled for automatic restarts. You can use filtering - * // on nested fields to filter based onresource labels. - * // - * // To filter on multiple expressions, provide each separate expression within - * // parentheses. For example: - * // ``` - * // (scheduling.automaticRestart = true) - * // (cpuPlatform = "Intel Skylake") - * // ``` - * // By default, each expression is an `AND` expression. However, you - * // can include `AND` and `OR` expressions explicitly. - * // For example: - * // ``` - * // (cpuPlatform = "Intel Skylake") OR - * // (cpuPlatform = "Intel Broadwell") AND - * // (scheduling.automaticRestart = true) - * // ``` - * // - * // If you want to use a regular expression, use the `eq` (equal) or `ne` - * // (not equal) operator against a single un-parenthesized expression with or - * // without quotes or against multiple parenthesized expressions. Examples: - * // - * // `fieldname eq unquoted literal` - * // `fieldname eq 'single quoted literal'` - * // `fieldname eq "double quoted literal"` - * // `(fieldname1 eq literal) (fieldname2 ne "literal")` - * // - * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * // The literal value must match the entire field. - * // - * // For example, to filter for instances that do not end with name "instance", - * // you would use `name ne .*instance`. - * // - * // You cannot combine constraints on multiple fields using regular - * // expressions. - * filter: 'placeholder-value', - * // The maximum number of results per page that should be returned. - * // If the number of available results is larger than `maxResults`, - * // Compute Engine returns a `nextPageToken` that can be used to get - * // the next page of results in subsequent list requests. Acceptable values are - * // `0` to `500`, inclusive. (Default: `500`) - * maxResults: 'placeholder-value', - * // Sorts list results by a certain order. By default, results - * // are returned in alphanumerical order based on the resource name. - * // - * // You can also sort results in descending order based on the creation - * // timestamp using `orderBy="creationTimestamp desc"`. This sorts - * // results based on the `creationTimestamp` field in - * // reverse chronological order (newest result first). Use this to sort - * // resources like operations so that the newest operation is returned first. + * const res = await compute.organizationSecurityPolicies.copyRules({ + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. * // - * // Currently, only sorting by `name` or - * // `creationTimestamp desc` is supported. - * orderBy: 'placeholder-value', - * // Specifies a page token to use. Set `pageToken` to the - * // `nextPageToken` returned by a previous list request to get - * // the next page of results. - * pageToken: 'placeholder-value', - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // The name of the region for this request. - * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', - * // Opt-in for partial success behavior which provides partial results in case - * // of failure. The default value is false. + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. * // - * // For example, when partial success behavior is enabled, aggregatedList for a - * // single zone scope either returns all resources in the zone or no resources, - * // with an error code. - * returnPartialSuccess: 'placeholder-value', + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // Name of the security policy to update. + * securityPolicy: '(securityPolicies/)?[0-9]{0,20}', + * // The security policy from which to copy rules. + * sourceSecurityPolicy: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, * // "id": "my_id", - * // "items": [], + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, * // "kind": "my_kind", - * // "nextPageToken": "my_nextPageToken", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", * // "selfLink": "my_selfLink", - * // "warning": {} + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" * // } * } * @@ -163324,53 +169894,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - list( - params: Params$Resource$Nodetemplates$List, + copyRules( + params: Params$Resource$Organizationsecuritypolicies$Copyrules, options: StreamMethodOptions ): Promise>; - list( - params?: Params$Resource$Nodetemplates$List, + copyRules( + params?: Params$Resource$Organizationsecuritypolicies$Copyrules, options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Nodetemplates$List, + ): Promise>; + copyRules( + params: Params$Resource$Organizationsecuritypolicies$Copyrules, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Nodetemplates$List, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + copyRules( + params: Params$Resource$Organizationsecuritypolicies$Copyrules, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Nodetemplates$List, - callback: BodyResponseCallback + copyRules( + params: Params$Resource$Organizationsecuritypolicies$Copyrules, + callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; - list( + copyRules(callback: BodyResponseCallback): void; + copyRules( paramsOrCallback?: - | Params$Resource$Nodetemplates$List - | BodyResponseCallback + | Params$Resource$Organizationsecuritypolicies$Copyrules + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Nodetemplates$List; + {}) as Params$Resource$Organizationsecuritypolicies$Copyrules; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Nodetemplates$List; + params = {} as Params$Resource$Organizationsecuritypolicies$Copyrules; options = {}; } @@ -163385,31 +169955,34 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/regions/{region}/nodeTemplates' + '/compute/alpha/locations/global/securityPolicies/{securityPolicy}/copyRules' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project', 'region'], - pathParams: ['project', 'region'], + requiredParams: ['securityPolicy'], + pathParams: ['securityPolicy'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Sets the access control policy on the specified resource. - * Replaces any existing policy. + * Deletes the specified policy. + * + * Use this API to remove Cloud Armor policies. Previously, alpha and beta + * versions of this API were used to remove firewall policies. This usage is + * now disabled for most organizations. Use firewallPolicies.delete instead. * @example * ```js * // Before running the sample: @@ -163441,33 +170014,56 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.nodeTemplates.setIamPolicy({ - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // The name of the region for this request. - * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', - * // Name or id of the resource for this request. - * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "bindings": [], - * // "etag": "my_etag", - * // "policy": {} - * // } - * }, + * const res = await compute.organizationSecurityPolicies.delete({ + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // Name of the security policy to delete. + * securityPolicy: '(securityPolicies/)?[0-9]{0,20}', * }); * console.log(res.data); * * // Example response * // { - * // "auditConfigs": [], - * // "bindings": [], - * // "etag": "my_etag", - * // "version": 0 + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" * // } * } * @@ -163483,53 +170079,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - setIamPolicy( - params: Params$Resource$Nodetemplates$Setiampolicy, + delete( + params: Params$Resource$Organizationsecuritypolicies$Delete, options: StreamMethodOptions ): Promise>; - setIamPolicy( - params?: Params$Resource$Nodetemplates$Setiampolicy, + delete( + params?: Params$Resource$Organizationsecuritypolicies$Delete, options?: MethodOptions - ): Promise>; - setIamPolicy( - params: Params$Resource$Nodetemplates$Setiampolicy, + ): Promise>; + delete( + params: Params$Resource$Organizationsecuritypolicies$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setIamPolicy( - params: Params$Resource$Nodetemplates$Setiampolicy, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + delete( + params: Params$Resource$Organizationsecuritypolicies$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - setIamPolicy( - params: Params$Resource$Nodetemplates$Setiampolicy, - callback: BodyResponseCallback + delete( + params: Params$Resource$Organizationsecuritypolicies$Delete, + callback: BodyResponseCallback ): void; - setIamPolicy(callback: BodyResponseCallback): void; - setIamPolicy( + delete(callback: BodyResponseCallback): void; + delete( paramsOrCallback?: - | Params$Resource$Nodetemplates$Setiampolicy - | BodyResponseCallback + | Params$Resource$Organizationsecuritypolicies$Delete + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Nodetemplates$Setiampolicy; + {}) as Params$Resource$Organizationsecuritypolicies$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Nodetemplates$Setiampolicy; + params = {} as Params$Resource$Organizationsecuritypolicies$Delete; options = {}; } @@ -163544,30 +170140,34 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/regions/{region}/nodeTemplates/{resource}/setIamPolicy' + '/compute/alpha/locations/global/securityPolicies/{securityPolicy}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'DELETE', apiVersion: '', }, options ), params, - requiredParams: ['project', 'region', 'resource'], - pathParams: ['project', 'region', 'resource'], + requiredParams: ['securityPolicy'], + pathParams: ['securityPolicy'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Returns permissions that a caller has on the specified resource. + * List all of the ordered rules present in a single specified policy. + * + * Use this API to read Cloud Armor policies. Previously, alpha and beta + * versions of this API were used to read firewall policies. This usage is now + * disabled for most organizations. Use firewallPolicies.get instead. * @example * ```js * // Before running the sample: @@ -163600,28 +170200,38 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.nodeTemplates.testIamPermissions({ - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // The name of the region for this request. - * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', - * // Name or id of the resource for this request. - * resource: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "permissions": [] - * // } - * }, + * const res = await compute.organizationSecurityPolicies.get({ + * // Name of the security policy to get. + * securityPolicy: '(securityPolicies/)?[0-9]{0,20}', * }); * console.log(res.data); * * // Example response * // { - * // "permissions": [] + * // "adaptiveProtectionConfig": {}, + * // "advancedOptionsConfig": {}, + * // "associations": [], + * // "cloudArmorConfig": {}, + * // "creationTimestamp": "my_creationTimestamp", + * // "ddosProtectionConfig": {}, + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "fingerprint": "my_fingerprint", + * // "id": "my_id", + * // "kind": "my_kind", + * // "labelFingerprint": "my_labelFingerprint", + * // "labels": {}, + * // "name": "my_name", + * // "parent": "my_parent", + * // "recaptchaOptionsConfig": {}, + * // "region": "my_region", + * // "ruleTupleCount": 0, + * // "rules": [], + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "shortName": "my_shortName", + * // "type": "my_type", + * // "userDefinedFields": [] * // } * } * @@ -163637,57 +170247,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - testIamPermissions( - params: Params$Resource$Nodetemplates$Testiampermissions, + get( + params: Params$Resource$Organizationsecuritypolicies$Get, options: StreamMethodOptions ): Promise>; - testIamPermissions( - params?: Params$Resource$Nodetemplates$Testiampermissions, + get( + params?: Params$Resource$Organizationsecuritypolicies$Get, options?: MethodOptions - ): Promise>; - testIamPermissions( - params: Params$Resource$Nodetemplates$Testiampermissions, + ): Promise>; + get( + params: Params$Resource$Organizationsecuritypolicies$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - testIamPermissions( - params: Params$Resource$Nodetemplates$Testiampermissions, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - testIamPermissions( - params: Params$Resource$Nodetemplates$Testiampermissions, - callback: BodyResponseCallback + get( + params: Params$Resource$Organizationsecuritypolicies$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - testIamPermissions( - callback: BodyResponseCallback + get( + params: Params$Resource$Organizationsecuritypolicies$Get, + callback: BodyResponseCallback ): void; - testIamPermissions( + get(callback: BodyResponseCallback): void; + get( paramsOrCallback?: - | Params$Resource$Nodetemplates$Testiampermissions - | BodyResponseCallback + | Params$Resource$Organizationsecuritypolicies$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Nodetemplates$Testiampermissions; + {}) as Params$Resource$Organizationsecuritypolicies$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Nodetemplates$Testiampermissions; + params = {} as Params$Resource$Organizationsecuritypolicies$Get; options = {}; } @@ -163702,399 +170308,193 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/regions/{region}/nodeTemplates/{resource}/testIamPermissions' + '/compute/alpha/locations/global/securityPolicies/{securityPolicy}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['project', 'region', 'resource'], - pathParams: ['project', 'region', 'resource'], + requiredParams: ['securityPolicy'], + pathParams: ['securityPolicy'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } - } - export interface Params$Resource$Nodetemplates$Aggregatedlist extends StandardParameters { - /** - * A filter expression that filters resources listed in the response. Most - * Compute resources support two types of filter expressions: - * expressions that support regular expressions and expressions that follow - * API improvement proposal AIP-160. - * These two types of filter expressions cannot be mixed in one request. - * - * If you want to use AIP-160, your expression must specify the field name, an - * operator, and the value that you want to use for filtering. The value - * must be a string, a number, or a boolean. The operator - * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * - * For example, if you are filtering Compute Engine instances, you can - * exclude instances named `example-instance` by specifying - * `name != example-instance`. - * - * The `:*` comparison can be used to test whether a key has been defined. - * For example, to find all objects with `owner` label use: - * ``` - * labels.owner:* - * ``` - * - * You can also filter nested fields. For example, you could specify - * `scheduling.automaticRestart = false` to include instances only - * if they are not scheduled for automatic restarts. You can use filtering - * on nested fields to filter based onresource labels. - * - * To filter on multiple expressions, provide each separate expression within - * parentheses. For example: - * ``` - * (scheduling.automaticRestart = true) - * (cpuPlatform = "Intel Skylake") - * ``` - * By default, each expression is an `AND` expression. However, you - * can include `AND` and `OR` expressions explicitly. - * For example: - * ``` - * (cpuPlatform = "Intel Skylake") OR - * (cpuPlatform = "Intel Broadwell") AND - * (scheduling.automaticRestart = true) - * ``` - * - * If you want to use a regular expression, use the `eq` (equal) or `ne` - * (not equal) operator against a single un-parenthesized expression with or - * without quotes or against multiple parenthesized expressions. Examples: - * - * `fieldname eq unquoted literal` - * `fieldname eq 'single quoted literal'` - * `fieldname eq "double quoted literal"` - * `(fieldname1 eq literal) (fieldname2 ne "literal")` - * - * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * The literal value must match the entire field. - * - * For example, to filter for instances that do not end with name "instance", - * you would use `name ne .*instance`. - * - * You cannot combine constraints on multiple fields using regular - * expressions. - */ - filter?: string; - /** - * 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. - */ - includeAllScopes?: boolean; - /** - * The maximum number of results per page that should be returned. - * If the number of available results is larger than `maxResults`, - * Compute Engine returns a `nextPageToken` that can be used to get - * the next page of results in subsequent list requests. Acceptable values are - * `0` to `500`, inclusive. (Default: `500`) - */ - maxResults?: number; - /** - * Sorts list results by a certain order. By default, results - * are returned in alphanumerical order based on the resource name. - * - * You can also sort results in descending order based on the creation - * timestamp using `orderBy="creationTimestamp desc"`. This sorts - * results based on the `creationTimestamp` field in - * reverse chronological order (newest result first). Use this to sort - * resources like operations so that the newest operation is returned first. - * - * Currently, only sorting by `name` or - * `creationTimestamp desc` is supported. - */ - orderBy?: string; - /** - * Specifies a page token to use. Set `pageToken` to the - * `nextPageToken` returned by a previous list request to get - * the next page of results. - */ - pageToken?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * Opt-in for partial success behavior which provides partial results in case - * of failure. The default value is false. - * - * For example, when partial success behavior is enabled, aggregatedList for a - * single zone scope either returns all resources in the zone or no resources, - * with an error code. - */ - returnPartialSuccess?: boolean; - /** - * The Shared VPC service project id or service project number for which - * aggregated list request is invoked for subnetworks list-usable api. - */ - serviceProjectNumber?: string; - } - export interface Params$Resource$Nodetemplates$Delete extends StandardParameters { /** - * Name of the NodeTemplate resource to delete. - */ - nodeTemplate?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * The name of the region for this request. - */ - region?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. + * Gets an association with the specified name. * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - } - export interface Params$Resource$Nodetemplates$Get extends StandardParameters { - /** - * Name of the node template to return. - */ - nodeTemplate?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * The name of the region for this request. - */ - region?: string; - } - export interface Params$Resource$Nodetemplates$Getiampolicy extends StandardParameters { - /** - * Requested IAM Policy version. - */ - optionsRequestedPolicyVersion?: number; - /** - * Project ID for this request. - */ - project?: string; - /** - * The name of the region for this request. - */ - region?: string; - /** - * Name or id of the resource for this request. - */ - resource?: string; - } - export interface Params$Resource$Nodetemplates$Insert extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * The name of the region for this request. - */ - region?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. + * Use this API to read Cloud Armor policies. Previously, alpha and beta + * versions of this API were used to read firewall policies. This usage is + * now disabled for most organizations. Use firewallPolicies.getAssociation + * instead. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$NodeTemplate; - } - export interface Params$Resource$Nodetemplates$List extends StandardParameters { - /** - * A filter expression that filters resources listed in the response. Most - * Compute resources support two types of filter expressions: - * expressions that support regular expressions and expressions that follow - * API improvement proposal AIP-160. - * These two types of filter expressions cannot be mixed in one request. + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', + * ], + * }); * - * If you want to use AIP-160, your expression must specify the field name, an - * operator, and the value that you want to use for filtering. The value - * must be a string, a number, or a boolean. The operator - * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); * - * For example, if you are filtering Compute Engine instances, you can - * exclude instances named `example-instance` by specifying - * `name != example-instance`. + * // Do the magic + * const res = await compute.organizationSecurityPolicies.getAssociation({ + * // The name of the association to get from the security policy. + * name: 'placeholder-value', + * // Name of the security policy to which the queried rule belongs. + * securityPolicy: '(securityPolicies/)?[0-9]{0,20}', + * }); + * console.log(res.data); * - * The `:*` comparison can be used to test whether a key has been defined. - * For example, to find all objects with `owner` label use: - * ``` - * labels.owner:* - * ``` + * // Example response + * // { + * // "attachmentId": "my_attachmentId", + * // "displayName": "my_displayName", + * // "excludedFolders": [], + * // "excludedProjects": [], + * // "name": "my_name", + * // "securityPolicyId": "my_securityPolicyId", + * // "shortName": "my_shortName" + * // } + * } * - * You can also filter nested fields. For example, you could specify - * `scheduling.automaticRestart = false` to include instances only - * if they are not scheduled for automatic restarts. You can use filtering - * on nested fields to filter based onresource labels. + * main().catch(e => { + * console.error(e); + * throw e; + * }); * - * To filter on multiple expressions, provide each separate expression within - * parentheses. For example: - * ``` - * (scheduling.automaticRestart = true) - * (cpuPlatform = "Intel Skylake") - * ``` - * By default, each expression is an `AND` expression. However, you - * can include `AND` and `OR` expressions explicitly. - * For example: - * ``` - * (cpuPlatform = "Intel Skylake") OR - * (cpuPlatform = "Intel Broadwell") AND - * (scheduling.automaticRestart = true) * ``` - * - * If you want to use a regular expression, use the `eq` (equal) or `ne` - * (not equal) operator against a single un-parenthesized expression with or - * without quotes or against multiple parenthesized expressions. Examples: - * - * `fieldname eq unquoted literal` - * `fieldname eq 'single quoted literal'` - * `fieldname eq "double quoted literal"` - * `(fieldname1 eq literal) (fieldname2 ne "literal")` - * - * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * The literal value must match the entire field. - * - * For example, to filter for instances that do not end with name "instance", - * you would use `name ne .*instance`. - * - * You cannot combine constraints on multiple fields using regular - * expressions. - */ - filter?: string; - /** - * The maximum number of results per page that should be returned. - * If the number of available results is larger than `maxResults`, - * Compute Engine returns a `nextPageToken` that can be used to get - * the next page of results in subsequent list requests. Acceptable values are - * `0` to `500`, inclusive. (Default: `500`) - */ - maxResults?: number; - /** - * Sorts list results by a certain order. By default, results - * are returned in alphanumerical order based on the resource name. - * - * You can also sort results in descending order based on the creation - * timestamp using `orderBy="creationTimestamp desc"`. This sorts - * results based on the `creationTimestamp` field in - * reverse chronological order (newest result first). Use this to sort - * resources like operations so that the newest operation is returned first. - * - * Currently, only sorting by `name` or - * `creationTimestamp desc` is supported. - */ - orderBy?: string; - /** - * Specifies a page token to use. Set `pageToken` to the - * `nextPageToken` returned by a previous list request to get - * the next page of results. - */ - pageToken?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * The name of the region for this request. - */ - region?: string; - /** - * Opt-in for partial success behavior which provides partial results in case - * of failure. The default value is false. - * - * For example, when partial success behavior is enabled, aggregatedList for a - * single zone scope either returns all resources in the zone or no resources, - * with an error code. - */ - returnPartialSuccess?: boolean; - } - export interface Params$Resource$Nodetemplates$Setiampolicy extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * The name of the region for this request. - */ - region?: string; - /** - * Name or id of the resource for this request. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. */ - resource?: string; + getAssociation( + params: Params$Resource$Organizationsecuritypolicies$Getassociation, + options: StreamMethodOptions + ): Promise>; + getAssociation( + params?: Params$Resource$Organizationsecuritypolicies$Getassociation, + options?: MethodOptions + ): Promise>; + getAssociation( + params: Params$Resource$Organizationsecuritypolicies$Getassociation, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getAssociation( + params: Params$Resource$Organizationsecuritypolicies$Getassociation, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getAssociation( + params: Params$Resource$Organizationsecuritypolicies$Getassociation, + callback: BodyResponseCallback + ): void; + getAssociation( + callback: BodyResponseCallback + ): void; + getAssociation( + paramsOrCallback?: + | Params$Resource$Organizationsecuritypolicies$Getassociation + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizationsecuritypolicies$Getassociation; + let options = (optionsOrCallback || {}) as MethodOptions; - /** - * Request body metadata - */ - requestBody?: Schema$RegionSetPolicyRequest; - } - export interface Params$Resource$Nodetemplates$Testiampermissions extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * The name of the region for this request. - */ - region?: string; - /** - * Name or id of the resource for this request. - */ - resource?: string; + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Organizationsecuritypolicies$Getassociation; + options = {}; + } - /** - * Request body metadata - */ - requestBody?: Schema$TestPermissionsRequest; - } + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } - export class Resource$Nodetypes { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/locations/global/securityPolicies/{securityPolicy}/getAssociation' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['securityPolicy'], + pathParams: ['securityPolicy'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } } /** - * Retrieves an aggregated list of node types. + * Gets a rule at the specified priority. * - * To prevent failure, Google recommends that you set the - * `returnPartialSuccess` parameter to `true`. + * Use this API to read Cloud Armor policies. Previously, alpha and beta + * versions of this API were used to read firewall policies. This usage is now + * disabled for most organizations. Use firewallPolicies.getRule instead. * @example * ```js * // Before running the sample: @@ -164127,121 +170527,35 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.nodeTypes.aggregatedList({ - * // A filter expression that filters resources listed in the response. Most - * // Compute resources support two types of filter expressions: - * // expressions that support regular expressions and expressions that follow - * // API improvement proposal AIP-160. - * // These two types of filter expressions cannot be mixed in one request. - * // - * // If you want to use AIP-160, your expression must specify the field name, an - * // operator, and the value that you want to use for filtering. The value - * // must be a string, a number, or a boolean. The operator - * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * // - * // For example, if you are filtering Compute Engine instances, you can - * // exclude instances named `example-instance` by specifying - * // `name != example-instance`. - * // - * // The `:*` comparison can be used to test whether a key has been defined. - * // For example, to find all objects with `owner` label use: - * // ``` - * // labels.owner:* - * // ``` - * // - * // You can also filter nested fields. For example, you could specify - * // `scheduling.automaticRestart = false` to include instances only - * // if they are not scheduled for automatic restarts. You can use filtering - * // on nested fields to filter based onresource labels. - * // - * // To filter on multiple expressions, provide each separate expression within - * // parentheses. For example: - * // ``` - * // (scheduling.automaticRestart = true) - * // (cpuPlatform = "Intel Skylake") - * // ``` - * // By default, each expression is an `AND` expression. However, you - * // can include `AND` and `OR` expressions explicitly. - * // For example: - * // ``` - * // (cpuPlatform = "Intel Skylake") OR - * // (cpuPlatform = "Intel Broadwell") AND - * // (scheduling.automaticRestart = true) - * // ``` - * // - * // If you want to use a regular expression, use the `eq` (equal) or `ne` - * // (not equal) operator against a single un-parenthesized expression with or - * // without quotes or against multiple parenthesized expressions. Examples: - * // - * // `fieldname eq unquoted literal` - * // `fieldname eq 'single quoted literal'` - * // `fieldname eq "double quoted literal"` - * // `(fieldname1 eq literal) (fieldname2 ne "literal")` - * // - * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * // The literal value must match the entire field. - * // - * // For example, to filter for instances that do not end with name "instance", - * // you would use `name ne .*instance`. - * // - * // You cannot combine constraints on multiple fields using regular - * // expressions. - * filter: 'placeholder-value', - * // 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. - * includeAllScopes: 'placeholder-value', - * // The maximum number of results per page that should be returned. - * // If the number of available results is larger than `maxResults`, - * // Compute Engine returns a `nextPageToken` that can be used to get - * // the next page of results in subsequent list requests. Acceptable values are - * // `0` to `500`, inclusive. (Default: `500`) - * maxResults: 'placeholder-value', - * // Sorts list results by a certain order. By default, results - * // are returned in alphanumerical order based on the resource name. - * // - * // You can also sort results in descending order based on the creation - * // timestamp using `orderBy="creationTimestamp desc"`. This sorts - * // results based on the `creationTimestamp` field in - * // reverse chronological order (newest result first). Use this to sort - * // resources like operations so that the newest operation is returned first. - * // - * // Currently, only sorting by `name` or - * // `creationTimestamp desc` is supported. - * orderBy: 'placeholder-value', - * // Specifies a page token to use. Set `pageToken` to the - * // `nextPageToken` returned by a previous list request to get - * // the next page of results. - * pageToken: 'placeholder-value', - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Opt-in for partial success behavior which provides partial results in case - * // of failure. The default value is false. - * // - * // For example, when partial success behavior is enabled, aggregatedList for a - * // single zone scope either returns all resources in the zone or no resources, - * // with an error code. - * returnPartialSuccess: 'placeholder-value', - * // The Shared VPC service project id or service project number for which - * // aggregated list request is invoked for subnetworks list-usable api. - * serviceProjectNumber: 'placeholder-value', + * const res = await compute.organizationSecurityPolicies.getRule({ + * // The priority of the rule to get from the security policy. + * priority: 'placeholder-value', + * // Name of the security policy to which the queried rule belongs. + * securityPolicy: '(securityPolicies/)?[0-9]{0,20}', * }); * console.log(res.data); * * // Example response * // { - * // "id": "my_id", - * // "items": {}, + * // "action": "my_action", + * // "description": "my_description", + * // "direction": "my_direction", + * // "enableLogging": false, + * // "headerAction": {}, * // "kind": "my_kind", - * // "nextPageToken": "my_nextPageToken", - * // "selfLink": "my_selfLink", - * // "unreachables": [], - * // "warning": {} + * // "match": {}, + * // "networkMatch": {}, + * // "preconfiguredWafConfig": {}, + * // "preview": false, + * // "priority": 0, + * // "rateLimitOptions": {}, + * // "redirectOptions": {}, + * // "redirectTarget": "my_redirectTarget", + * // "ruleManagedProtectionTier": "my_ruleManagedProtectionTier", + * // "ruleNumber": "my_ruleNumber", + * // "ruleTupleCount": 0, + * // "targetResources": [], + * // "targetServiceAccounts": [] * // } * } * @@ -164257,57 +170571,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - aggregatedList( - params: Params$Resource$Nodetypes$Aggregatedlist, + getRule( + params: Params$Resource$Organizationsecuritypolicies$Getrule, options: StreamMethodOptions ): Promise>; - aggregatedList( - params?: Params$Resource$Nodetypes$Aggregatedlist, + getRule( + params?: Params$Resource$Organizationsecuritypolicies$Getrule, options?: MethodOptions - ): Promise>; - aggregatedList( - params: Params$Resource$Nodetypes$Aggregatedlist, + ): Promise>; + getRule( + params: Params$Resource$Organizationsecuritypolicies$Getrule, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - aggregatedList( - params: Params$Resource$Nodetypes$Aggregatedlist, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - aggregatedList( - params: Params$Resource$Nodetypes$Aggregatedlist, - callback: BodyResponseCallback + getRule( + params: Params$Resource$Organizationsecuritypolicies$Getrule, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - aggregatedList( - callback: BodyResponseCallback + getRule( + params: Params$Resource$Organizationsecuritypolicies$Getrule, + callback: BodyResponseCallback ): void; - aggregatedList( + getRule(callback: BodyResponseCallback): void; + getRule( paramsOrCallback?: - | Params$Resource$Nodetypes$Aggregatedlist - | BodyResponseCallback + | Params$Resource$Organizationsecuritypolicies$Getrule + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Nodetypes$Aggregatedlist; + {}) as Params$Resource$Organizationsecuritypolicies$Getrule; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Nodetypes$Aggregatedlist; + params = {} as Params$Resource$Organizationsecuritypolicies$Getrule; options = {}; } @@ -164321,7 +170631,8 @@ export namespace compute_alpha { options: Object.assign( { url: ( - rootUrl + '/compute/alpha/projects/{project}/aggregated/nodeTypes' + rootUrl + + '/compute/alpha/locations/global/securityPolicies/{securityPolicy}/getRule' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -164329,22 +170640,27 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project'], - pathParams: ['project'], + requiredParams: ['securityPolicy'], + pathParams: ['securityPolicy'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Returns the specified node type. + * Creates a new policy in the specified organization using the data included + * in the request. + * + * Use this API to add Cloud Armor policies. Previously, alpha and beta + * versions of this API were used to add firewall policies. This usage is now + * disabled for most organizations. Use firewallPolicies.insert instead. * @example * ```js * // Before running the sample: @@ -164368,7 +170684,6 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -164377,32 +170692,88 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.nodeTypes.get({ - * // Name of the node type to return. - * nodeType: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // The name of the zone for this request. - * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * const res = await compute.organizationSecurityPolicies.insert({ + * // 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. + * parentId: 'placeholder-value', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "adaptiveProtectionConfig": {}, + * // "advancedOptionsConfig": {}, + * // "associations": [], + * // "cloudArmorConfig": {}, + * // "creationTimestamp": "my_creationTimestamp", + * // "ddosProtectionConfig": {}, + * // "description": "my_description", + * // "displayName": "my_displayName", + * // "fingerprint": "my_fingerprint", + * // "id": "my_id", + * // "kind": "my_kind", + * // "labelFingerprint": "my_labelFingerprint", + * // "labels": {}, + * // "name": "my_name", + * // "parent": "my_parent", + * // "recaptchaOptionsConfig": {}, + * // "region": "my_region", + * // "ruleTupleCount": 0, + * // "rules": [], + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "shortName": "my_shortName", + * // "type": "my_type", + * // "userDefinedFields": [] + * // } + * }, * }); * console.log(res.data); * * // Example response * // { - * // "cpuPlatform": "my_cpuPlatform", + * // "clientOperationId": "my_clientOperationId", * // "creationTimestamp": "my_creationTimestamp", - * // "deprecated": {}, * // "description": "my_description", - * // "guestCpus": 0, + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, * // "kind": "my_kind", - * // "localSsdGb": 0, - * // "maxVms": 0, - * // "memoryMb": 0, * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], * // "zone": "my_zone" * // } * } @@ -164419,52 +170790,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - get( - params: Params$Resource$Nodetypes$Get, + insert( + params: Params$Resource$Organizationsecuritypolicies$Insert, options: StreamMethodOptions ): Promise>; - get( - params?: Params$Resource$Nodetypes$Get, + insert( + params?: Params$Resource$Organizationsecuritypolicies$Insert, options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Nodetypes$Get, + ): Promise>; + insert( + params: Params$Resource$Organizationsecuritypolicies$Insert, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Nodetypes$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + insert( + params: Params$Resource$Organizationsecuritypolicies$Insert, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Nodetypes$Get, - callback: BodyResponseCallback + insert( + params: Params$Resource$Organizationsecuritypolicies$Insert, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; - get( + insert(callback: BodyResponseCallback): void; + insert( paramsOrCallback?: - | Params$Resource$Nodetypes$Get - | BodyResponseCallback + | Params$Resource$Organizationsecuritypolicies$Insert + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Nodetypes$Get; + let params = (paramsOrCallback || + {}) as Params$Resource$Organizationsecuritypolicies$Insert; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Nodetypes$Get; + params = {} as Params$Resource$Organizationsecuritypolicies$Insert; options = {}; } @@ -164478,32 +170850,35 @@ export namespace compute_alpha { options: Object.assign( { url: ( - rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/nodeTypes/{nodeType}' + rootUrl + '/compute/alpha/locations/global/securityPolicies' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone', 'nodeType'], - pathParams: ['nodeType', 'project', 'zone'], + requiredParams: [], + pathParams: [], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Retrieves a list of node types available to the specified - * project. + * List all the policies that have been configured for the specified + * organization. + * + * Use this API to read Cloud Armor policies. Previously, alpha and beta + * versions of this API were used to read firewall policies. This usage is now + * disabled for most organizations. Use firewallPolicies.list instead. * @example * ```js * // Before running the sample: @@ -164536,7 +170911,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.nodeTypes.list({ + * const res = await compute.organizationSecurityPolicies.list({ * // A filter expression that filters resources listed in the response. Most * // Compute resources support two types of filter expressions: * // expressions that support regular expressions and expressions that follow @@ -164618,9 +170993,8 @@ export namespace compute_alpha { * // `nextPageToken` returned by a previous list request to get * // the next page of results. * pageToken: 'placeholder-value', - * // Project ID for this request. - * project: - * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Parent ID for this request. + * parentId: 'placeholder-value', * // Opt-in for partial success behavior which provides partial results in case * // of failure. The default value is false. * // @@ -164628,18 +171002,17 @@ export namespace compute_alpha { * // single zone scope either returns all resources in the zone or no resources, * // with an error code. * returnPartialSuccess: 'placeholder-value', - * // The name of the zone for this request. - * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * }); * console.log(res.data); * * // Example response * // { + * // "etag": "my_etag", * // "id": "my_id", * // "items": [], * // "kind": "my_kind", * // "nextPageToken": "my_nextPageToken", - * // "selfLink": "my_selfLink", + * // "unreachables": [], * // "warning": {} * // } * } @@ -164657,51 +171030,52 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ list( - params: Params$Resource$Nodetypes$List, + params: Params$Resource$Organizationsecuritypolicies$List, options: StreamMethodOptions ): Promise>; list( - params?: Params$Resource$Nodetypes$List, + params?: Params$Resource$Organizationsecuritypolicies$List, options?: MethodOptions - ): Promise>; + ): Promise>; list( - params: Params$Resource$Nodetypes$List, + params: Params$Resource$Organizationsecuritypolicies$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; list( - params: Params$Resource$Nodetypes$List, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + params: Params$Resource$Organizationsecuritypolicies$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; list( - params: Params$Resource$Nodetypes$List, - callback: BodyResponseCallback + params: Params$Resource$Organizationsecuritypolicies$List, + callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; list( paramsOrCallback?: - | Params$Resource$Nodetypes$List - | BodyResponseCallback + | Params$Resource$Organizationsecuritypolicies$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Nodetypes$List; + let params = (paramsOrCallback || + {}) as Params$Resource$Organizationsecuritypolicies$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Nodetypes$List; + params = {} as Params$Resource$Organizationsecuritypolicies$List; options = {}; } @@ -164715,8 +171089,7 @@ export namespace compute_alpha { options: Object.assign( { url: ( - rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/nodeTypes' + rootUrl + '/compute/alpha/locations/global/securityPolicies' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -164724,280 +171097,427 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'zone'], - pathParams: ['project', 'zone'], + requiredParams: [], + pathParams: [], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } - } - export interface Params$Resource$Nodetypes$Aggregatedlist extends StandardParameters { /** - * A filter expression that filters resources listed in the response. Most - * Compute resources support two types of filter expressions: - * expressions that support regular expressions and expressions that follow - * API improvement proposal AIP-160. - * These two types of filter expressions cannot be mixed in one request. - * - * If you want to use AIP-160, your expression must specify the field name, an - * operator, and the value that you want to use for filtering. The value - * must be a string, a number, or a boolean. The operator - * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * - * For example, if you are filtering Compute Engine instances, you can - * exclude instances named `example-instance` by specifying - * `name != example-instance`. - * - * The `:*` comparison can be used to test whether a key has been defined. - * For example, to find all objects with `owner` label use: - * ``` - * labels.owner:* - * ``` - * - * You can also filter nested fields. For example, you could specify - * `scheduling.automaticRestart = false` to include instances only - * if they are not scheduled for automatic restarts. You can use filtering - * on nested fields to filter based onresource labels. + * Lists associations of a specified target, i.e., organization or folder. * - * To filter on multiple expressions, provide each separate expression within - * parentheses. For example: - * ``` - * (scheduling.automaticRestart = true) - * (cpuPlatform = "Intel Skylake") - * ``` - * By default, each expression is an `AND` expression. However, you - * can include `AND` and `OR` expressions explicitly. - * For example: - * ``` - * (cpuPlatform = "Intel Skylake") OR - * (cpuPlatform = "Intel Broadwell") AND - * (scheduling.automaticRestart = true) - * ``` + * Use this API to read Cloud Armor policies. Previously, alpha and beta + * versions of this API were used to read firewall policies. This usage is + * now disabled for most organizations. Use firewallPolicies.listAssociations + * instead. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` * - * If you want to use a regular expression, use the `eq` (equal) or `ne` - * (not equal) operator against a single un-parenthesized expression with or - * without quotes or against multiple parenthesized expressions. Examples: + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); * - * `fieldname eq unquoted literal` - * `fieldname eq 'single quoted literal'` - * `fieldname eq "double quoted literal"` - * `(fieldname1 eq literal) (fieldname2 ne "literal")` + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', + * ], + * }); * - * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * The literal value must match the entire field. + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); * - * For example, to filter for instances that do not end with name "instance", - * you would use `name ne .*instance`. + * // Do the magic + * const res = await compute.organizationSecurityPolicies.listAssociations({ + * // The target resource to list associations. It is an organization, or a + * // folder. + * targetResource: 'placeholder-value', + * }); + * console.log(res.data); * - * You cannot combine constraints on multiple fields using regular - * expressions. - */ - filter?: string; - /** - * 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. - */ - includeAllScopes?: boolean; - /** - * The maximum number of results per page that should be returned. - * If the number of available results is larger than `maxResults`, - * Compute Engine returns a `nextPageToken` that can be used to get - * the next page of results in subsequent list requests. Acceptable values are - * `0` to `500`, inclusive. (Default: `500`) - */ - maxResults?: number; - /** - * Sorts list results by a certain order. By default, results - * are returned in alphanumerical order based on the resource name. + * // Example response + * // { + * // "associations": [], + * // "kind": "my_kind" + * // } + * } * - * You can also sort results in descending order based on the creation - * timestamp using `orderBy="creationTimestamp desc"`. This sorts - * results based on the `creationTimestamp` field in - * reverse chronological order (newest result first). Use this to sort - * resources like operations so that the newest operation is returned first. + * main().catch(e => { + * console.error(e); + * throw e; + * }); * - * Currently, only sorting by `name` or - * `creationTimestamp desc` is supported. - */ - orderBy?: string; - /** - * Specifies a page token to use. Set `pageToken` to the - * `nextPageToken` returned by a previous list request to get - * the next page of results. - */ - pageToken?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * Opt-in for partial success behavior which provides partial results in case - * of failure. The default value is false. + * ``` * - * For example, when partial success behavior is enabled, aggregatedList for a - * single zone scope either returns all resources in the zone or no resources, - * with an error code. - */ - returnPartialSuccess?: boolean; - /** - * The Shared VPC service project id or service project number for which - * aggregated list request is invoked for subnetworks list-usable api. - */ - serviceProjectNumber?: string; - } - export interface Params$Resource$Nodetypes$Get extends StandardParameters { - /** - * Name of the node type to return. - */ - nodeType?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * The name of the zone for this request. + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. */ - zone?: string; - } - export interface Params$Resource$Nodetypes$List extends StandardParameters { + listAssociations( + params: Params$Resource$Organizationsecuritypolicies$Listassociations, + options: StreamMethodOptions + ): Promise>; + listAssociations( + params?: Params$Resource$Organizationsecuritypolicies$Listassociations, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + listAssociations( + params: Params$Resource$Organizationsecuritypolicies$Listassociations, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + listAssociations( + params: Params$Resource$Organizationsecuritypolicies$Listassociations, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + listAssociations( + params: Params$Resource$Organizationsecuritypolicies$Listassociations, + callback: BodyResponseCallback + ): void; + listAssociations( + callback: BodyResponseCallback + ): void; + listAssociations( + paramsOrCallback?: + | Params$Resource$Organizationsecuritypolicies$Listassociations + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizationsecuritypolicies$Listassociations; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Organizationsecuritypolicies$Listassociations; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/locations/global/securityPolicies/listAssociations' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: [], + pathParams: [], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + /** - * A filter expression that filters resources listed in the response. Most - * Compute resources support two types of filter expressions: - * expressions that support regular expressions and expressions that follow - * API improvement proposal AIP-160. - * These two types of filter expressions cannot be mixed in one request. - * - * If you want to use AIP-160, your expression must specify the field name, an - * operator, and the value that you want to use for filtering. The value - * must be a string, a number, or a boolean. The operator - * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * - * For example, if you are filtering Compute Engine instances, you can - * exclude instances named `example-instance` by specifying - * `name != example-instance`. - * - * The `:*` comparison can be used to test whether a key has been defined. - * For example, to find all objects with `owner` label use: - * ``` - * labels.owner:* - * ``` - * - * You can also filter nested fields. For example, you could specify - * `scheduling.automaticRestart = false` to include instances only - * if they are not scheduled for automatic restarts. You can use filtering - * on nested fields to filter based onresource labels. - * - * To filter on multiple expressions, provide each separate expression within - * parentheses. For example: - * ``` - * (scheduling.automaticRestart = true) - * (cpuPlatform = "Intel Skylake") - * ``` - * By default, each expression is an `AND` expression. However, you - * can include `AND` and `OR` expressions explicitly. - * For example: - * ``` - * (cpuPlatform = "Intel Skylake") OR - * (cpuPlatform = "Intel Broadwell") AND - * (scheduling.automaticRestart = true) - * ``` - * - * If you want to use a regular expression, use the `eq` (equal) or `ne` - * (not equal) operator against a single un-parenthesized expression with or - * without quotes or against multiple parenthesized expressions. Examples: + * Gets the current list of preconfigured Web Application Firewall (WAF) + * expressions. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` * - * `fieldname eq unquoted literal` - * `fieldname eq 'single quoted literal'` - * `fieldname eq "double quoted literal"` - * `(fieldname1 eq literal) (fieldname2 ne "literal")` + * const {google} = require('googleapis'); + * const compute = google.compute('alpha'); * - * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * The literal value must match the entire field. + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', + * ], + * }); * - * For example, to filter for instances that do not end with name "instance", - * you would use `name ne .*instance`. + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); * - * You cannot combine constraints on multiple fields using regular - * expressions. - */ - filter?: string; - /** - * The maximum number of results per page that should be returned. - * If the number of available results is larger than `maxResults`, - * Compute Engine returns a `nextPageToken` that can be used to get - * the next page of results in subsequent list requests. Acceptable values are - * `0` to `500`, inclusive. (Default: `500`) - */ - maxResults?: number; - /** - * Sorts list results by a certain order. By default, results - * are returned in alphanumerical order based on the resource name. + * // Do the magic + * const res = + * await compute.organizationSecurityPolicies.listPreconfiguredExpressionSets({ + * // A filter expression that filters resources listed in the response. Most + * // Compute resources support two types of filter expressions: + * // expressions that support regular expressions and expressions that follow + * // API improvement proposal AIP-160. + * // These two types of filter expressions cannot be mixed in one request. + * // + * // If you want to use AIP-160, your expression must specify the field name, an + * // operator, and the value that you want to use for filtering. The value + * // must be a string, a number, or a boolean. The operator + * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * // + * // For example, if you are filtering Compute Engine instances, you can + * // exclude instances named `example-instance` by specifying + * // `name != example-instance`. + * // + * // The `:*` comparison can be used to test whether a key has been defined. + * // For example, to find all objects with `owner` label use: + * // ``` + * // labels.owner:* + * // ``` + * // + * // You can also filter nested fields. For example, you could specify + * // `scheduling.automaticRestart = false` to include instances only + * // if they are not scheduled for automatic restarts. You can use filtering + * // on nested fields to filter based onresource labels. + * // + * // To filter on multiple expressions, provide each separate expression within + * // parentheses. For example: + * // ``` + * // (scheduling.automaticRestart = true) + * // (cpuPlatform = "Intel Skylake") + * // ``` + * // By default, each expression is an `AND` expression. However, you + * // can include `AND` and `OR` expressions explicitly. + * // For example: + * // ``` + * // (cpuPlatform = "Intel Skylake") OR + * // (cpuPlatform = "Intel Broadwell") AND + * // (scheduling.automaticRestart = true) + * // ``` + * // + * // If you want to use a regular expression, use the `eq` (equal) or `ne` + * // (not equal) operator against a single un-parenthesized expression with or + * // without quotes or against multiple parenthesized expressions. Examples: + * // + * // `fieldname eq unquoted literal` + * // `fieldname eq 'single quoted literal'` + * // `fieldname eq "double quoted literal"` + * // `(fieldname1 eq literal) (fieldname2 ne "literal")` + * // + * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * // The literal value must match the entire field. + * // + * // For example, to filter for instances that do not end with name "instance", + * // you would use `name ne .*instance`. + * // + * // You cannot combine constraints on multiple fields using regular + * // expressions. + * filter: 'placeholder-value', + * // The maximum number of results per page that should be returned. + * // If the number of available results is larger than `maxResults`, + * // Compute Engine returns a `nextPageToken` that can be used to get + * // the next page of results in subsequent list requests. Acceptable values are + * // `0` to `500`, inclusive. (Default: `500`) + * maxResults: 'placeholder-value', + * // Sorts list results by a certain order. By default, results + * // are returned in alphanumerical order based on the resource name. + * // + * // You can also sort results in descending order based on the creation + * // timestamp using `orderBy="creationTimestamp desc"`. This sorts + * // results based on the `creationTimestamp` field in + * // reverse chronological order (newest result first). Use this to sort + * // resources like operations so that the newest operation is returned first. + * // + * // Currently, only sorting by `name` or + * // `creationTimestamp desc` is supported. + * orderBy: 'placeholder-value', + * // Specifies a page token to use. Set `pageToken` to the + * // `nextPageToken` returned by a previous list request to get + * // the next page of results. + * pageToken: 'placeholder-value', + * // Parent ID for this request. + * parentId: 'placeholder-value', + * // Opt-in for partial success behavior which provides partial results in case + * // of failure. The default value is false. + * // + * // For example, when partial success behavior is enabled, aggregatedList for a + * // single zone scope either returns all resources in the zone or no resources, + * // with an error code. + * returnPartialSuccess: 'placeholder-value', + * }); + * console.log(res.data); * - * You can also sort results in descending order based on the creation - * timestamp using `orderBy="creationTimestamp desc"`. This sorts - * results based on the `creationTimestamp` field in - * reverse chronological order (newest result first). Use this to sort - * resources like operations so that the newest operation is returned first. + * // Example response + * // { + * // "preconfiguredExpressionSets": {} + * // } + * } * - * Currently, only sorting by `name` or - * `creationTimestamp desc` is supported. - */ - orderBy?: string; - /** - * Specifies a page token to use. Set `pageToken` to the - * `nextPageToken` returned by a previous list request to get - * the next page of results. - */ - pageToken?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * Opt-in for partial success behavior which provides partial results in case - * of failure. The default value is false. + * main().catch(e => { + * console.error(e); + * throw e; + * }); * - * For example, when partial success behavior is enabled, aggregatedList for a - * single zone scope either returns all resources in the zone or no resources, - * with an error code. - */ - returnPartialSuccess?: boolean; - /** - * The name of the zone for this request. + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. */ - zone?: string; - } + listPreconfiguredExpressionSets( + params: Params$Resource$Organizationsecuritypolicies$Listpreconfiguredexpressionsets, + options: StreamMethodOptions + ): Promise>; + listPreconfiguredExpressionSets( + params?: Params$Resource$Organizationsecuritypolicies$Listpreconfiguredexpressionsets, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + listPreconfiguredExpressionSets( + params: Params$Resource$Organizationsecuritypolicies$Listpreconfiguredexpressionsets, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + listPreconfiguredExpressionSets( + params: Params$Resource$Organizationsecuritypolicies$Listpreconfiguredexpressionsets, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + listPreconfiguredExpressionSets( + params: Params$Resource$Organizationsecuritypolicies$Listpreconfiguredexpressionsets, + callback: BodyResponseCallback + ): void; + listPreconfiguredExpressionSets( + callback: BodyResponseCallback + ): void; + listPreconfiguredExpressionSets( + paramsOrCallback?: + | Params$Resource$Organizationsecuritypolicies$Listpreconfiguredexpressionsets + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizationsecuritypolicies$Listpreconfiguredexpressionsets; + let options = (optionsOrCallback || {}) as MethodOptions; - export class Resource$Organizationsecuritypolicies { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Organizationsecuritypolicies$Listpreconfiguredexpressionsets; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/locations/global/securityPolicies/listPreconfiguredExpressionSets' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: [], + pathParams: [], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } } /** - * Inserts an association for the specified security policy. - * - * This has billing implications. Projects in the hierarchy with effective - * hierarchical security policies will be automatically enrolled into Cloud - * Armor Enterprise if not already enrolled. + * Moves the specified security policy. * * Use this API to modify Cloud Armor policies. Previously, alpha and beta * versions of this API were used to modify firewall policies. This usage is - * now disabled for most organizations. Use firewallPolicies.addAssociation - * instead. + * now disabled for most organizations. Use firewallPolicies.move instead. * @example * ```js * // Before running the sample: @@ -165029,11 +171549,9 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.organizationSecurityPolicies.addAssociation({ - * // 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. - * replaceExistingAssociation: 'placeholder-value', + * const res = await compute.organizationSecurityPolicies.move({ + * // The new parent of the security policy. + * parentId: 'placeholder-value', * // An optional request ID to identify requests. Specify a unique request ID so * // that if you must retry your request, the server will know to ignore the * // request if it has already been completed. @@ -165050,20 +171568,6 @@ export namespace compute_alpha { * requestId: 'placeholder-value', * // Name of the security policy to update. * securityPolicy: '(securityPolicies/)?[0-9]{0,20}', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "attachmentId": "my_attachmentId", - * // "displayName": "my_displayName", - * // "excludedFolders": [], - * // "excludedProjects": [], - * // "name": "my_name", - * // "securityPolicyId": "my_securityPolicyId", - * // "shortName": "my_shortName" - * // } - * }, * }); * console.log(res.data); * @@ -165112,32 +171616,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - addAssociation( - params: Params$Resource$Organizationsecuritypolicies$Addassociation, + move( + params: Params$Resource$Organizationsecuritypolicies$Move, options: StreamMethodOptions ): Promise>; - addAssociation( - params?: Params$Resource$Organizationsecuritypolicies$Addassociation, + move( + params?: Params$Resource$Organizationsecuritypolicies$Move, options?: MethodOptions ): Promise>; - addAssociation( - params: Params$Resource$Organizationsecuritypolicies$Addassociation, + move( + params: Params$Resource$Organizationsecuritypolicies$Move, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - addAssociation( - params: Params$Resource$Organizationsecuritypolicies$Addassociation, + move( + params: Params$Resource$Organizationsecuritypolicies$Move, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - addAssociation( - params: Params$Resource$Organizationsecuritypolicies$Addassociation, + move( + params: Params$Resource$Organizationsecuritypolicies$Move, callback: BodyResponseCallback ): void; - addAssociation(callback: BodyResponseCallback): void; - addAssociation( + move(callback: BodyResponseCallback): void; + move( paramsOrCallback?: - | Params$Resource$Organizationsecuritypolicies$Addassociation + | Params$Resource$Organizationsecuritypolicies$Move | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -165153,13 +171657,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Organizationsecuritypolicies$Addassociation; + {}) as Params$Resource$Organizationsecuritypolicies$Move; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Organizationsecuritypolicies$Addassociation; + params = {} as Params$Resource$Organizationsecuritypolicies$Move; options = {}; } @@ -165174,7 +171677,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/locations/global/securityPolicies/{securityPolicy}/addAssociation' + '/compute/alpha/locations/global/securityPolicies/{securityPolicy}/move' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -165197,11 +171700,11 @@ export namespace compute_alpha { } /** - * Inserts a rule into a security policy. + * Patches the specified policy with the data included in the request. * * Use this API to modify Cloud Armor policies. Previously, alpha and beta * versions of this API were used to modify firewall policies. This usage is - * now disabled for most organizations. Use firewallPolicies.addRule instead. + * now disabled for most organizations. Use firewallPolicies.patch instead. * @example * ```js * // Before running the sample: @@ -165233,7 +171736,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.organizationSecurityPolicies.addRule({ + * const res = await compute.organizationSecurityPolicies.patch({ * // An optional request ID to identify requests. Specify a unique request ID so * // that if you must retry your request, the server will know to ignore the * // request if it has already been completed. @@ -165250,30 +171753,37 @@ export namespace compute_alpha { * requestId: 'placeholder-value', * // Name of the security policy to update. * securityPolicy: '(securityPolicies/)?[0-9]{0,20}', + * // Indicates fields to be cleared as part of this request. + * updateMask: 'placeholder-value', * * // Request body metadata * requestBody: { * // request body parameters * // { - * // "action": "my_action", + * // "adaptiveProtectionConfig": {}, + * // "advancedOptionsConfig": {}, + * // "associations": [], + * // "cloudArmorConfig": {}, + * // "creationTimestamp": "my_creationTimestamp", + * // "ddosProtectionConfig": {}, * // "description": "my_description", - * // "direction": "my_direction", - * // "enableLogging": false, - * // "headerAction": {}, + * // "displayName": "my_displayName", + * // "fingerprint": "my_fingerprint", + * // "id": "my_id", * // "kind": "my_kind", - * // "match": {}, - * // "networkMatch": {}, - * // "preconfiguredWafConfig": {}, - * // "preview": false, - * // "priority": 0, - * // "rateLimitOptions": {}, - * // "redirectOptions": {}, - * // "redirectTarget": "my_redirectTarget", - * // "ruleManagedProtectionTier": "my_ruleManagedProtectionTier", - * // "ruleNumber": "my_ruleNumber", + * // "labelFingerprint": "my_labelFingerprint", + * // "labels": {}, + * // "name": "my_name", + * // "parent": "my_parent", + * // "recaptchaOptionsConfig": {}, + * // "region": "my_region", * // "ruleTupleCount": 0, - * // "targetResources": [], - * // "targetServiceAccounts": [] + * // "rules": [], + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "shortName": "my_shortName", + * // "type": "my_type", + * // "userDefinedFields": [] * // } * }, * }); @@ -165324,32 +171834,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - addRule( - params: Params$Resource$Organizationsecuritypolicies$Addrule, + patch( + params: Params$Resource$Organizationsecuritypolicies$Patch, options: StreamMethodOptions ): Promise>; - addRule( - params?: Params$Resource$Organizationsecuritypolicies$Addrule, + patch( + params?: Params$Resource$Organizationsecuritypolicies$Patch, options?: MethodOptions ): Promise>; - addRule( - params: Params$Resource$Organizationsecuritypolicies$Addrule, + patch( + params: Params$Resource$Organizationsecuritypolicies$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - addRule( - params: Params$Resource$Organizationsecuritypolicies$Addrule, + patch( + params: Params$Resource$Organizationsecuritypolicies$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - addRule( - params: Params$Resource$Organizationsecuritypolicies$Addrule, + patch( + params: Params$Resource$Organizationsecuritypolicies$Patch, callback: BodyResponseCallback ): void; - addRule(callback: BodyResponseCallback): void; - addRule( + patch(callback: BodyResponseCallback): void; + patch( paramsOrCallback?: - | Params$Resource$Organizationsecuritypolicies$Addrule + | Params$Resource$Organizationsecuritypolicies$Patch | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -165365,12 +171875,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Organizationsecuritypolicies$Addrule; + {}) as Params$Resource$Organizationsecuritypolicies$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Organizationsecuritypolicies$Addrule; + params = {} as Params$Resource$Organizationsecuritypolicies$Patch; options = {}; } @@ -165385,9 +171895,9 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/locations/global/securityPolicies/{securityPolicy}/addRule' + '/compute/alpha/locations/global/securityPolicies/{securityPolicy}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'PATCH', apiVersion: '', }, options @@ -165408,11 +171918,11 @@ export namespace compute_alpha { } /** - * Copies rules to the specified security policy. + * Patches a rule at the specified priority. * * Use this API to modify Cloud Armor policies. Previously, alpha and beta * versions of this API were used to modify firewall policies. This usage is - * now disabled for most organizations. Use firewallPolicies.cloneRules + * now disabled for most organizations. Use firewallPolicies.patchRule * instead. * @example * ```js @@ -165445,7 +171955,9 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.organizationSecurityPolicies.copyRules({ + * const res = await compute.organizationSecurityPolicies.patchRule({ + * // The priority of the rule to patch. + * priority: 'placeholder-value', * // An optional request ID to identify requests. Specify a unique request ID so * // that if you must retry your request, the server will know to ignore the * // request if it has already been completed. @@ -165462,8 +171974,34 @@ export namespace compute_alpha { * requestId: 'placeholder-value', * // Name of the security policy to update. * securityPolicy: '(securityPolicies/)?[0-9]{0,20}', - * // The security policy from which to copy rules. - * sourceSecurityPolicy: 'placeholder-value', + * // Indicates fields to be cleared as part of this request. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "action": "my_action", + * // "description": "my_description", + * // "direction": "my_direction", + * // "enableLogging": false, + * // "headerAction": {}, + * // "kind": "my_kind", + * // "match": {}, + * // "networkMatch": {}, + * // "preconfiguredWafConfig": {}, + * // "preview": false, + * // "priority": 0, + * // "rateLimitOptions": {}, + * // "redirectOptions": {}, + * // "redirectTarget": "my_redirectTarget", + * // "ruleManagedProtectionTier": "my_ruleManagedProtectionTier", + * // "ruleNumber": "my_ruleNumber", + * // "ruleTupleCount": 0, + * // "targetResources": [], + * // "targetServiceAccounts": [] + * // } + * }, * }); * console.log(res.data); * @@ -165512,32 +172050,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - copyRules( - params: Params$Resource$Organizationsecuritypolicies$Copyrules, + patchRule( + params: Params$Resource$Organizationsecuritypolicies$Patchrule, options: StreamMethodOptions ): Promise>; - copyRules( - params?: Params$Resource$Organizationsecuritypolicies$Copyrules, + patchRule( + params?: Params$Resource$Organizationsecuritypolicies$Patchrule, options?: MethodOptions ): Promise>; - copyRules( - params: Params$Resource$Organizationsecuritypolicies$Copyrules, + patchRule( + params: Params$Resource$Organizationsecuritypolicies$Patchrule, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - copyRules( - params: Params$Resource$Organizationsecuritypolicies$Copyrules, + patchRule( + params: Params$Resource$Organizationsecuritypolicies$Patchrule, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - copyRules( - params: Params$Resource$Organizationsecuritypolicies$Copyrules, + patchRule( + params: Params$Resource$Organizationsecuritypolicies$Patchrule, callback: BodyResponseCallback ): void; - copyRules(callback: BodyResponseCallback): void; - copyRules( + patchRule(callback: BodyResponseCallback): void; + patchRule( paramsOrCallback?: - | Params$Resource$Organizationsecuritypolicies$Copyrules + | Params$Resource$Organizationsecuritypolicies$Patchrule | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -165553,12 +172091,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Organizationsecuritypolicies$Copyrules; + {}) as Params$Resource$Organizationsecuritypolicies$Patchrule; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Organizationsecuritypolicies$Copyrules; + params = {} as Params$Resource$Organizationsecuritypolicies$Patchrule; options = {}; } @@ -165573,7 +172111,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/locations/global/securityPolicies/{securityPolicy}/copyRules' + '/compute/alpha/locations/global/securityPolicies/{securityPolicy}/patchRule' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -165596,11 +172134,12 @@ export namespace compute_alpha { } /** - * Deletes the specified policy. + * Removes an association for the specified security policy. * - * Use this API to remove Cloud Armor policies. Previously, alpha and beta - * versions of this API were used to remove firewall policies. This usage is - * now disabled for most organizations. Use firewallPolicies.delete instead. + * Use this API to modify Cloud Armor policies. Previously, alpha and beta + * versions of this API were used to modify firewall policies. This usage is + * now disabled for most organizations. Use firewallPolicies.removeAssociation + * instead. * @example * ```js * // Before running the sample: @@ -165632,7 +172171,9 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.organizationSecurityPolicies.delete({ + * const res = await compute.organizationSecurityPolicies.removeAssociation({ + * // Name for the attachment that will be removed. + * name: 'placeholder-value', * // An optional request ID to identify requests. Specify a unique request ID so * // that if you must retry your request, the server will know to ignore the * // request if it has already been completed. @@ -165647,7 +172188,7 @@ export namespace compute_alpha { * // a valid UUID with the exception that zero UUID is not supported * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', - * // Name of the security policy to delete. + * // Name of the security policy to update. * securityPolicy: '(securityPolicies/)?[0-9]{0,20}', * }); * console.log(res.data); @@ -165697,32 +172238,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - delete( - params: Params$Resource$Organizationsecuritypolicies$Delete, + removeAssociation( + params: Params$Resource$Organizationsecuritypolicies$Removeassociation, options: StreamMethodOptions ): Promise>; - delete( - params?: Params$Resource$Organizationsecuritypolicies$Delete, + removeAssociation( + params?: Params$Resource$Organizationsecuritypolicies$Removeassociation, options?: MethodOptions ): Promise>; - delete( - params: Params$Resource$Organizationsecuritypolicies$Delete, + removeAssociation( + params: Params$Resource$Organizationsecuritypolicies$Removeassociation, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Organizationsecuritypolicies$Delete, + removeAssociation( + params: Params$Resource$Organizationsecuritypolicies$Removeassociation, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Organizationsecuritypolicies$Delete, + removeAssociation( + params: Params$Resource$Organizationsecuritypolicies$Removeassociation, callback: BodyResponseCallback ): void; - delete(callback: BodyResponseCallback): void; - delete( + removeAssociation(callback: BodyResponseCallback): void; + removeAssociation( paramsOrCallback?: - | Params$Resource$Organizationsecuritypolicies$Delete + | Params$Resource$Organizationsecuritypolicies$Removeassociation | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -165738,12 +172279,13 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Organizationsecuritypolicies$Delete; + {}) as Params$Resource$Organizationsecuritypolicies$Removeassociation; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Organizationsecuritypolicies$Delete; + params = + {} as Params$Resource$Organizationsecuritypolicies$Removeassociation; options = {}; } @@ -165758,9 +172300,9 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/locations/global/securityPolicies/{securityPolicy}' + '/compute/alpha/locations/global/securityPolicies/{securityPolicy}/removeAssociation' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', + method: 'POST', apiVersion: '', }, options @@ -165781,11 +172323,12 @@ export namespace compute_alpha { } /** - * List all of the ordered rules present in a single specified policy. + * Deletes a rule at the specified priority. * - * Use this API to read Cloud Armor policies. Previously, alpha and beta - * versions of this API were used to read firewall policies. This usage is now - * disabled for most organizations. Use firewallPolicies.get instead. + * Use this API to modify Cloud Armor policies. Previously, alpha and beta + * versions of this API were used to modify firewall policies. This usage is + * now disabled for most organizations. Use firewallPolicies.removeRule + * instead. * @example * ```js * // Before running the sample: @@ -165809,7 +172352,6 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -165818,38 +172360,58 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.organizationSecurityPolicies.get({ - * // Name of the security policy to get. + * const res = await compute.organizationSecurityPolicies.removeRule({ + * // The priority of the rule to remove from the security policy. + * priority: 'placeholder-value', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // Name of the security policy to update. * securityPolicy: '(securityPolicies/)?[0-9]{0,20}', * }); * console.log(res.data); * * // Example response * // { - * // "adaptiveProtectionConfig": {}, - * // "advancedOptionsConfig": {}, - * // "associations": [], - * // "cloudArmorConfig": {}, + * // "clientOperationId": "my_clientOperationId", * // "creationTimestamp": "my_creationTimestamp", - * // "ddosProtectionConfig": {}, * // "description": "my_description", - * // "displayName": "my_displayName", - * // "fingerprint": "my_fingerprint", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, * // "kind": "my_kind", - * // "labelFingerprint": "my_labelFingerprint", - * // "labels": {}, * // "name": "my_name", - * // "parent": "my_parent", - * // "recaptchaOptionsConfig": {}, + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, * // "region": "my_region", - * // "ruleTupleCount": 0, - * // "rules": [], * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", - * // "shortName": "my_shortName", - * // "type": "my_type", - * // "userDefinedFields": [] + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" * // } * } * @@ -165865,53 +172427,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - get( - params: Params$Resource$Organizationsecuritypolicies$Get, + removeRule( + params: Params$Resource$Organizationsecuritypolicies$Removerule, options: StreamMethodOptions ): Promise>; - get( - params?: Params$Resource$Organizationsecuritypolicies$Get, + removeRule( + params?: Params$Resource$Organizationsecuritypolicies$Removerule, options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Organizationsecuritypolicies$Get, + ): Promise>; + removeRule( + params: Params$Resource$Organizationsecuritypolicies$Removerule, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Organizationsecuritypolicies$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + removeRule( + params: Params$Resource$Organizationsecuritypolicies$Removerule, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Organizationsecuritypolicies$Get, - callback: BodyResponseCallback + removeRule( + params: Params$Resource$Organizationsecuritypolicies$Removerule, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; - get( + removeRule(callback: BodyResponseCallback): void; + removeRule( paramsOrCallback?: - | Params$Resource$Organizationsecuritypolicies$Get - | BodyResponseCallback + | Params$Resource$Organizationsecuritypolicies$Removerule + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Organizationsecuritypolicies$Get; + {}) as Params$Resource$Organizationsecuritypolicies$Removerule; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Organizationsecuritypolicies$Get; + params = {} as Params$Resource$Organizationsecuritypolicies$Removerule; options = {}; } @@ -165926,9 +172488,9 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/locations/global/securityPolicies/{securityPolicy}' + '/compute/alpha/locations/global/securityPolicies/{securityPolicy}/removeRule' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'POST', apiVersion: '', }, options @@ -165939,180 +172501,547 @@ export namespace compute_alpha { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } + } + export interface Params$Resource$Organizationsecuritypolicies$Addassociation extends StandardParameters { /** - * Gets an association with the specified name. + * 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. + */ + replaceExistingAssociation?: boolean; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. * - * Use this API to read Cloud Armor policies. Previously, alpha and beta - * versions of this API were used to read firewall policies. This usage is - * now disabled for most organizations. Use firewallPolicies.getAssociation - * instead. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/compute.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. * - * const {google} = require('googleapis'); - * const compute = google.compute('alpha'); + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the security policy to update. + */ + securityPolicy?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$SecurityPolicyAssociation; + } + export interface Params$Resource$Organizationsecuritypolicies$Addrule extends StandardParameters { + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/cloud-platform', - * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', - * ], - * }); + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the security policy to update. + */ + securityPolicy?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$SecurityPolicyRule; + } + export interface Params$Resource$Organizationsecuritypolicies$Copyrules extends StandardParameters { + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. * - * // Do the magic - * const res = await compute.organizationSecurityPolicies.getAssociation({ - * // The name of the association to get from the security policy. - * name: 'placeholder-value', - * // Name of the security policy to which the queried rule belongs. - * securityPolicy: '(securityPolicies/)?[0-9]{0,20}', - * }); - * console.log(res.data); + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. * - * // Example response - * // { - * // "attachmentId": "my_attachmentId", - * // "displayName": "my_displayName", - * // "excludedFolders": [], - * // "excludedProjects": [], - * // "name": "my_name", - * // "securityPolicyId": "my_securityPolicyId", - * // "shortName": "my_shortName" - * // } - * } + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the security policy to update. + */ + securityPolicy?: string; + /** + * The security policy from which to copy rules. + */ + sourceSecurityPolicy?: string; + } + export interface Params$Resource$Organizationsecuritypolicies$Delete extends StandardParameters { + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the security policy to delete. + */ + securityPolicy?: string; + } + export interface Params$Resource$Organizationsecuritypolicies$Get extends StandardParameters { + /** + * Name of the security policy to get. + */ + securityPolicy?: string; + } + export interface Params$Resource$Organizationsecuritypolicies$Getassociation extends StandardParameters { + /** + * The name of the association to get from the security policy. + */ + name?: string; + /** + * Name of the security policy to which the queried rule belongs. + */ + securityPolicy?: string; + } + export interface Params$Resource$Organizationsecuritypolicies$Getrule extends StandardParameters { + /** + * The priority of the rule to get from the security policy. + */ + priority?: number; + /** + * Name of the security policy to which the queried rule belongs. + */ + securityPolicy?: string; + } + export interface Params$Resource$Organizationsecuritypolicies$Insert extends StandardParameters { + /** + * 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. + */ + parentId?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$SecurityPolicy; + } + export interface Params$Resource$Organizationsecuritypolicies$List extends StandardParameters { + /** + * A filter expression that filters resources listed in the response. Most + * Compute resources support two types of filter expressions: + * expressions that support regular expressions and expressions that follow + * API improvement proposal AIP-160. + * These two types of filter expressions cannot be mixed in one request. + * + * If you want to use AIP-160, your expression must specify the field name, an + * operator, and the value that you want to use for filtering. The value + * must be a string, a number, or a boolean. The operator + * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * + * For example, if you are filtering Compute Engine instances, you can + * exclude instances named `example-instance` by specifying + * `name != example-instance`. + * + * The `:*` comparison can be used to test whether a key has been defined. + * For example, to find all objects with `owner` label use: + * ``` + * labels.owner:* + * ``` + * + * You can also filter nested fields. For example, you could specify + * `scheduling.automaticRestart = false` to include instances only + * if they are not scheduled for automatic restarts. You can use filtering + * on nested fields to filter based onresource labels. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example: + * ``` + * (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake") + * ``` + * By default, each expression is an `AND` expression. However, you + * can include `AND` and `OR` expressions explicitly. + * For example: + * ``` + * (cpuPlatform = "Intel Skylake") OR + * (cpuPlatform = "Intel Broadwell") AND + * (scheduling.automaticRestart = true) + * ``` + * + * If you want to use a regular expression, use the `eq` (equal) or `ne` + * (not equal) operator against a single un-parenthesized expression with or + * without quotes or against multiple parenthesized expressions. Examples: + * + * `fieldname eq unquoted literal` + * `fieldname eq 'single quoted literal'` + * `fieldname eq "double quoted literal"` + * `(fieldname1 eq literal) (fieldname2 ne "literal")` + * + * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * The literal value must match the entire field. + * + * For example, to filter for instances that do not end with name "instance", + * you would use `name ne .*instance`. + * + * You cannot combine constraints on multiple fields using regular + * expressions. + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. + * If the number of available results is larger than `maxResults`, + * Compute Engine returns a `nextPageToken` that can be used to get + * the next page of results in subsequent list requests. Acceptable values are + * `0` to `500`, inclusive. (Default: `500`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results + * are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation + * timestamp using `orderBy="creationTimestamp desc"`. This sorts + * results based on the `creationTimestamp` field in + * reverse chronological order (newest result first). Use this to sort + * resources like operations so that the newest operation is returned first. + * + * Currently, only sorting by `name` or + * `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the + * `nextPageToken` returned by a previous list request to get + * the next page of results. + */ + pageToken?: string; + /** + * Parent ID for this request. + */ + parentId?: string; + /** + * Opt-in for partial success behavior which provides partial results in case + * of failure. The default value is false. + * + * For example, when partial success behavior is enabled, aggregatedList for a + * single zone scope either returns all resources in the zone or no resources, + * with an error code. + */ + returnPartialSuccess?: boolean; + } + export interface Params$Resource$Organizationsecuritypolicies$Listassociations extends StandardParameters { + /** + * The target resource to list associations. It is an organization, or a + * folder. + */ + targetResource?: string; + } + export interface Params$Resource$Organizationsecuritypolicies$Listpreconfiguredexpressionsets extends StandardParameters { + /** + * A filter expression that filters resources listed in the response. Most + * Compute resources support two types of filter expressions: + * expressions that support regular expressions and expressions that follow + * API improvement proposal AIP-160. + * These two types of filter expressions cannot be mixed in one request. + * + * If you want to use AIP-160, your expression must specify the field name, an + * operator, and the value that you want to use for filtering. The value + * must be a string, a number, or a boolean. The operator + * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * + * For example, if you are filtering Compute Engine instances, you can + * exclude instances named `example-instance` by specifying + * `name != example-instance`. + * + * The `:*` comparison can be used to test whether a key has been defined. + * For example, to find all objects with `owner` label use: + * ``` + * labels.owner:* + * ``` + * + * You can also filter nested fields. For example, you could specify + * `scheduling.automaticRestart = false` to include instances only + * if they are not scheduled for automatic restarts. You can use filtering + * on nested fields to filter based onresource labels. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example: + * ``` + * (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake") + * ``` + * By default, each expression is an `AND` expression. However, you + * can include `AND` and `OR` expressions explicitly. + * For example: + * ``` + * (cpuPlatform = "Intel Skylake") OR + * (cpuPlatform = "Intel Broadwell") AND + * (scheduling.automaticRestart = true) + * ``` + * + * If you want to use a regular expression, use the `eq` (equal) or `ne` + * (not equal) operator against a single un-parenthesized expression with or + * without quotes or against multiple parenthesized expressions. Examples: + * + * `fieldname eq unquoted literal` + * `fieldname eq 'single quoted literal'` + * `fieldname eq "double quoted literal"` + * `(fieldname1 eq literal) (fieldname2 ne "literal")` + * + * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * The literal value must match the entire field. + * + * For example, to filter for instances that do not end with name "instance", + * you would use `name ne .*instance`. + * + * You cannot combine constraints on multiple fields using regular + * expressions. + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. + * If the number of available results is larger than `maxResults`, + * Compute Engine returns a `nextPageToken` that can be used to get + * the next page of results in subsequent list requests. Acceptable values are + * `0` to `500`, inclusive. (Default: `500`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results + * are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation + * timestamp using `orderBy="creationTimestamp desc"`. This sorts + * results based on the `creationTimestamp` field in + * reverse chronological order (newest result first). Use this to sort + * resources like operations so that the newest operation is returned first. + * + * Currently, only sorting by `name` or + * `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the + * `nextPageToken` returned by a previous list request to get + * the next page of results. + */ + pageToken?: string; + /** + * Parent ID for this request. + */ + parentId?: string; + /** + * Opt-in for partial success behavior which provides partial results in case + * of failure. The default value is false. + * + * For example, when partial success behavior is enabled, aggregatedList for a + * single zone scope either returns all resources in the zone or no resources, + * with an error code. + */ + returnPartialSuccess?: boolean; + } + export interface Params$Resource$Organizationsecuritypolicies$Move extends StandardParameters { + /** + * The new parent of the security policy. + */ + parentId?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the security policy to update. + */ + securityPolicy?: string; + } + export interface Params$Resource$Organizationsecuritypolicies$Patch extends StandardParameters { + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the security policy to update. + */ + securityPolicy?: string; + /** + * Indicates fields to be cleared as part of this request. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$SecurityPolicy; + } + export interface Params$Resource$Organizationsecuritypolicies$Patchrule extends StandardParameters { + /** + * The priority of the rule to patch. + */ + priority?: number; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the security policy to update. + */ + securityPolicy?: string; + /** + * Indicates fields to be cleared as part of this request. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$SecurityPolicyRule; + } + export interface Params$Resource$Organizationsecuritypolicies$Removeassociation extends StandardParameters { + /** + * Name for the attachment that will be removed. + */ + name?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. * - * main().catch(e => { - * console.error(e); - * throw e; - * }); + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the security policy to update. + */ + securityPolicy?: string; + } + export interface Params$Resource$Organizationsecuritypolicies$Removerule extends StandardParameters { + /** + * The priority of the rule to remove from the security policy. + */ + priority?: number; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. * - * ``` + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). */ - getAssociation( - params: Params$Resource$Organizationsecuritypolicies$Getassociation, - options: StreamMethodOptions - ): Promise>; - getAssociation( - params?: Params$Resource$Organizationsecuritypolicies$Getassociation, - options?: MethodOptions - ): Promise>; - getAssociation( - params: Params$Resource$Organizationsecuritypolicies$Getassociation, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - getAssociation( - params: Params$Resource$Organizationsecuritypolicies$Getassociation, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - getAssociation( - params: Params$Resource$Organizationsecuritypolicies$Getassociation, - callback: BodyResponseCallback - ): void; - getAssociation( - callback: BodyResponseCallback - ): void; - getAssociation( - paramsOrCallback?: - | Params$Resource$Organizationsecuritypolicies$Getassociation - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Organizationsecuritypolicies$Getassociation; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = - {} as Params$Resource$Organizationsecuritypolicies$Getassociation; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } + requestId?: string; + /** + * Name of the security policy to update. + */ + securityPolicy?: string; + } - const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/compute/alpha/locations/global/securityPolicies/{securityPolicy}/getAssociation' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['securityPolicy'], - pathParams: ['securityPolicy'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } + export class Resource$Organizationsnapshotrecyclebinpolicy { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; } /** - * Gets a rule at the specified priority. - * - * Use this API to read Cloud Armor policies. Previously, alpha and beta - * versions of this API were used to read firewall policies. This usage is now - * disabled for most organizations. Use firewallPolicies.getRule instead. + * Returns the specified SnapshotRecycleBinPolicy. * @example * ```js * // Before running the sample: @@ -166145,35 +173074,16 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.organizationSecurityPolicies.getRule({ - * // The priority of the rule to get from the security policy. - * priority: 'placeholder-value', - * // Name of the security policy to which the queried rule belongs. - * securityPolicy: '(securityPolicies/)?[0-9]{0,20}', + * const res = await compute.organizationSnapshotRecycleBinPolicy.get({ + * // Organization ID for this request. + * organization: 'organizations/[0-9]{0,20}', * }); * console.log(res.data); * * // Example response * // { - * // "action": "my_action", - * // "description": "my_description", - * // "direction": "my_direction", - * // "enableLogging": false, - * // "headerAction": {}, - * // "kind": "my_kind", - * // "match": {}, - * // "networkMatch": {}, - * // "preconfiguredWafConfig": {}, - * // "preview": false, - * // "priority": 0, - * // "rateLimitOptions": {}, - * // "redirectOptions": {}, - * // "redirectTarget": "my_redirectTarget", - * // "ruleManagedProtectionTier": "my_ruleManagedProtectionTier", - * // "ruleNumber": "my_ruleNumber", - * // "ruleTupleCount": 0, - * // "targetResources": [], - * // "targetServiceAccounts": [] + * // "rules": {}, + * // "systemRules": {} * // } * } * @@ -166189,53 +173099,55 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - getRule( - params: Params$Resource$Organizationsecuritypolicies$Getrule, + get( + params: Params$Resource$Organizationsnapshotrecyclebinpolicy$Get, options: StreamMethodOptions ): Promise>; - getRule( - params?: Params$Resource$Organizationsecuritypolicies$Getrule, + get( + params?: Params$Resource$Organizationsnapshotrecyclebinpolicy$Get, options?: MethodOptions - ): Promise>; - getRule( - params: Params$Resource$Organizationsecuritypolicies$Getrule, + ): Promise>; + get( + params: Params$Resource$Organizationsnapshotrecyclebinpolicy$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - getRule( - params: Params$Resource$Organizationsecuritypolicies$Getrule, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + get( + params: Params$Resource$Organizationsnapshotrecyclebinpolicy$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - getRule( - params: Params$Resource$Organizationsecuritypolicies$Getrule, - callback: BodyResponseCallback + get( + params: Params$Resource$Organizationsnapshotrecyclebinpolicy$Get, + callback: BodyResponseCallback ): void; - getRule(callback: BodyResponseCallback): void; - getRule( + get(callback: BodyResponseCallback): void; + get( paramsOrCallback?: - | Params$Resource$Organizationsecuritypolicies$Getrule - | BodyResponseCallback + | Params$Resource$Organizationsnapshotrecyclebinpolicy$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Organizationsecuritypolicies$Getrule; + {}) as Params$Resource$Organizationsnapshotrecyclebinpolicy$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Organizationsecuritypolicies$Getrule; + params = {} as Params$Resource$Organizationsnapshotrecyclebinpolicy$Get; options = {}; } @@ -166250,7 +173162,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/locations/global/securityPolicies/{securityPolicy}/getRule' + '/compute/alpha/{+organization}/global/snapshotRecycleBinPolicy' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -166258,27 +173170,22 @@ export namespace compute_alpha { options ), params, - requiredParams: ['securityPolicy'], - pathParams: ['securityPolicy'], + requiredParams: ['organization'], + pathParams: ['organization'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Creates a new policy in the specified organization using the data included - * in the request. - * - * Use this API to add Cloud Armor policies. Previously, alpha and beta - * versions of this API were used to add firewall policies. This usage is now - * disabled for most organizations. Use firewallPolicies.insert instead. + * Patches the SnapshotRecycleBinPolicy. * @example * ```js * // Before running the sample: @@ -166310,11 +173217,9 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.organizationSecurityPolicies.insert({ - * // 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. - * parentId: 'placeholder-value', + * const res = await compute.organizationSnapshotRecycleBinPolicy.patch({ + * // Organization ID for this request. + * organization: 'organizations/[0-9]{0,20}', * // An optional request ID to identify requests. Specify a unique request ID so * // that if you must retry your request, the server will know to ignore the * // request if it has already been completed. @@ -166334,30 +173239,8 @@ export namespace compute_alpha { * requestBody: { * // request body parameters * // { - * // "adaptiveProtectionConfig": {}, - * // "advancedOptionsConfig": {}, - * // "associations": [], - * // "cloudArmorConfig": {}, - * // "creationTimestamp": "my_creationTimestamp", - * // "ddosProtectionConfig": {}, - * // "description": "my_description", - * // "displayName": "my_displayName", - * // "fingerprint": "my_fingerprint", - * // "id": "my_id", - * // "kind": "my_kind", - * // "labelFingerprint": "my_labelFingerprint", - * // "labels": {}, - * // "name": "my_name", - * // "parent": "my_parent", - * // "recaptchaOptionsConfig": {}, - * // "region": "my_region", - * // "ruleTupleCount": 0, - * // "rules": [], - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "shortName": "my_shortName", - * // "type": "my_type", - * // "userDefinedFields": [] + * // "rules": {}, + * // "systemRules": {} * // } * }, * }); @@ -166408,32 +173291,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - insert( - params: Params$Resource$Organizationsecuritypolicies$Insert, + patch( + params: Params$Resource$Organizationsnapshotrecyclebinpolicy$Patch, options: StreamMethodOptions ): Promise>; - insert( - params?: Params$Resource$Organizationsecuritypolicies$Insert, + patch( + params?: Params$Resource$Organizationsnapshotrecyclebinpolicy$Patch, options?: MethodOptions ): Promise>; - insert( - params: Params$Resource$Organizationsecuritypolicies$Insert, + patch( + params: Params$Resource$Organizationsnapshotrecyclebinpolicy$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - insert( - params: Params$Resource$Organizationsecuritypolicies$Insert, + patch( + params: Params$Resource$Organizationsnapshotrecyclebinpolicy$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - insert( - params: Params$Resource$Organizationsecuritypolicies$Insert, + patch( + params: Params$Resource$Organizationsnapshotrecyclebinpolicy$Patch, callback: BodyResponseCallback ): void; - insert(callback: BodyResponseCallback): void; - insert( + patch(callback: BodyResponseCallback): void; + patch( paramsOrCallback?: - | Params$Resource$Organizationsecuritypolicies$Insert + | Params$Resource$Organizationsnapshotrecyclebinpolicy$Patch | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -166449,12 +173332,13 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Organizationsecuritypolicies$Insert; + {}) as Params$Resource$Organizationsnapshotrecyclebinpolicy$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Organizationsecuritypolicies$Insert; + params = + {} as Params$Resource$Organizationsnapshotrecyclebinpolicy$Patch; options = {}; } @@ -166468,16 +173352,17 @@ export namespace compute_alpha { options: Object.assign( { url: ( - rootUrl + '/compute/alpha/locations/global/securityPolicies' + rootUrl + + '/compute/alpha/{+organization}/global/snapshotRecycleBinPolicy' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'PATCH', apiVersion: '', }, options ), params, - requiredParams: [], - pathParams: [], + requiredParams: ['organization'], + pathParams: ['organization'], context: this.context, }; if (callback) { @@ -166489,408 +173374,51 @@ export namespace compute_alpha { return createAPIRequest(parameters); } } + } + export interface Params$Resource$Organizationsnapshotrecyclebinpolicy$Get extends StandardParameters { /** - * List all the policies that have been configured for the specified - * organization. - * - * Use this API to read Cloud Armor policies. Previously, alpha and beta - * versions of this API were used to read firewall policies. This usage is now - * disabled for most organizations. Use firewallPolicies.list instead. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/compute.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const compute = google.compute('alpha'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/cloud-platform', - * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await compute.organizationSecurityPolicies.list({ - * // A filter expression that filters resources listed in the response. Most - * // Compute resources support two types of filter expressions: - * // expressions that support regular expressions and expressions that follow - * // API improvement proposal AIP-160. - * // These two types of filter expressions cannot be mixed in one request. - * // - * // If you want to use AIP-160, your expression must specify the field name, an - * // operator, and the value that you want to use for filtering. The value - * // must be a string, a number, or a boolean. The operator - * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * // - * // For example, if you are filtering Compute Engine instances, you can - * // exclude instances named `example-instance` by specifying - * // `name != example-instance`. - * // - * // The `:*` comparison can be used to test whether a key has been defined. - * // For example, to find all objects with `owner` label use: - * // ``` - * // labels.owner:* - * // ``` - * // - * // You can also filter nested fields. For example, you could specify - * // `scheduling.automaticRestart = false` to include instances only - * // if they are not scheduled for automatic restarts. You can use filtering - * // on nested fields to filter based onresource labels. - * // - * // To filter on multiple expressions, provide each separate expression within - * // parentheses. For example: - * // ``` - * // (scheduling.automaticRestart = true) - * // (cpuPlatform = "Intel Skylake") - * // ``` - * // By default, each expression is an `AND` expression. However, you - * // can include `AND` and `OR` expressions explicitly. - * // For example: - * // ``` - * // (cpuPlatform = "Intel Skylake") OR - * // (cpuPlatform = "Intel Broadwell") AND - * // (scheduling.automaticRestart = true) - * // ``` - * // - * // If you want to use a regular expression, use the `eq` (equal) or `ne` - * // (not equal) operator against a single un-parenthesized expression with or - * // without quotes or against multiple parenthesized expressions. Examples: - * // - * // `fieldname eq unquoted literal` - * // `fieldname eq 'single quoted literal'` - * // `fieldname eq "double quoted literal"` - * // `(fieldname1 eq literal) (fieldname2 ne "literal")` - * // - * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * // The literal value must match the entire field. - * // - * // For example, to filter for instances that do not end with name "instance", - * // you would use `name ne .*instance`. - * // - * // You cannot combine constraints on multiple fields using regular - * // expressions. - * filter: 'placeholder-value', - * // The maximum number of results per page that should be returned. - * // If the number of available results is larger than `maxResults`, - * // Compute Engine returns a `nextPageToken` that can be used to get - * // the next page of results in subsequent list requests. Acceptable values are - * // `0` to `500`, inclusive. (Default: `500`) - * maxResults: 'placeholder-value', - * // Sorts list results by a certain order. By default, results - * // are returned in alphanumerical order based on the resource name. - * // - * // You can also sort results in descending order based on the creation - * // timestamp using `orderBy="creationTimestamp desc"`. This sorts - * // results based on the `creationTimestamp` field in - * // reverse chronological order (newest result first). Use this to sort - * // resources like operations so that the newest operation is returned first. - * // - * // Currently, only sorting by `name` or - * // `creationTimestamp desc` is supported. - * orderBy: 'placeholder-value', - * // Specifies a page token to use. Set `pageToken` to the - * // `nextPageToken` returned by a previous list request to get - * // the next page of results. - * pageToken: 'placeholder-value', - * // Parent ID for this request. - * parentId: 'placeholder-value', - * // Opt-in for partial success behavior which provides partial results in case - * // of failure. The default value is false. - * // - * // For example, when partial success behavior is enabled, aggregatedList for a - * // single zone scope either returns all resources in the zone or no resources, - * // with an error code. - * returnPartialSuccess: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "etag": "my_etag", - * // "id": "my_id", - * // "items": [], - * // "kind": "my_kind", - * // "nextPageToken": "my_nextPageToken", - * // "unreachables": [], - * // "warning": {} - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. + * Organization ID for this request. */ - list( - params: Params$Resource$Organizationsecuritypolicies$List, - options: StreamMethodOptions - ): Promise>; - list( - params?: Params$Resource$Organizationsecuritypolicies$List, - options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Organizationsecuritypolicies$List, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Organizationsecuritypolicies$List, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Organizationsecuritypolicies$List, - callback: BodyResponseCallback - ): void; - list(callback: BodyResponseCallback): void; - list( - paramsOrCallback?: - | Params$Resource$Organizationsecuritypolicies$List - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Organizationsecuritypolicies$List; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Organizationsecuritypolicies$List; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/compute/alpha/locations/global/securityPolicies' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: [], - pathParams: [], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - + organization?: string; + } + export interface Params$Resource$Organizationsnapshotrecyclebinpolicy$Patch extends StandardParameters { /** - * Lists associations of a specified target, i.e., organization or folder. - * - * Use this API to read Cloud Armor policies. Previously, alpha and beta - * versions of this API were used to read firewall policies. This usage is - * now disabled for most organizations. Use firewallPolicies.listAssociations - * instead. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/compute.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const compute = google.compute('alpha'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/cloud-platform', - * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await compute.organizationSecurityPolicies.listAssociations({ - * // The target resource to list associations. It is an organization, or a - * // folder. - * targetResource: 'placeholder-value', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "associations": [], - * // "kind": "my_kind" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); + * Organization ID for this request. + */ + organization?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. * - * ``` + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). */ - listAssociations( - params: Params$Resource$Organizationsecuritypolicies$Listassociations, - options: StreamMethodOptions - ): Promise>; - listAssociations( - params?: Params$Resource$Organizationsecuritypolicies$Listassociations, - options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; - listAssociations( - params: Params$Resource$Organizationsecuritypolicies$Listassociations, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - listAssociations( - params: Params$Resource$Organizationsecuritypolicies$Listassociations, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - listAssociations( - params: Params$Resource$Organizationsecuritypolicies$Listassociations, - callback: BodyResponseCallback - ): void; - listAssociations( - callback: BodyResponseCallback - ): void; - listAssociations( - paramsOrCallback?: - | Params$Resource$Organizationsecuritypolicies$Listassociations - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise< - GaxiosResponseWithHTTP2 - > - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Organizationsecuritypolicies$Listassociations; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = - {} as Params$Resource$Organizationsecuritypolicies$Listassociations; - options = {}; - } + requestId?: string; - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } + /** + * Request body metadata + */ + requestBody?: Schema$SnapshotRecycleBinPolicy; + } - const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/compute/alpha/locations/global/securityPolicies/listAssociations' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: [], - pathParams: [], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest( - parameters - ); - } + export class Resource$Organizationzonevmextensionpolicies { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; } /** - * Gets the current list of preconfigured Web Application Firewall (WAF) - * expressions. + * Retrieves details of a specific zone VM extension policy within an + * organization. * @example * ```js * // Before running the sample: @@ -166923,104 +173451,32 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = - * await compute.organizationSecurityPolicies.listPreconfiguredExpressionSets({ - * // A filter expression that filters resources listed in the response. Most - * // Compute resources support two types of filter expressions: - * // expressions that support regular expressions and expressions that follow - * // API improvement proposal AIP-160. - * // These two types of filter expressions cannot be mixed in one request. - * // - * // If you want to use AIP-160, your expression must specify the field name, an - * // operator, and the value that you want to use for filtering. The value - * // must be a string, a number, or a boolean. The operator - * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * // - * // For example, if you are filtering Compute Engine instances, you can - * // exclude instances named `example-instance` by specifying - * // `name != example-instance`. - * // - * // The `:*` comparison can be used to test whether a key has been defined. - * // For example, to find all objects with `owner` label use: - * // ``` - * // labels.owner:* - * // ``` - * // - * // You can also filter nested fields. For example, you could specify - * // `scheduling.automaticRestart = false` to include instances only - * // if they are not scheduled for automatic restarts. You can use filtering - * // on nested fields to filter based onresource labels. - * // - * // To filter on multiple expressions, provide each separate expression within - * // parentheses. For example: - * // ``` - * // (scheduling.automaticRestart = true) - * // (cpuPlatform = "Intel Skylake") - * // ``` - * // By default, each expression is an `AND` expression. However, you - * // can include `AND` and `OR` expressions explicitly. - * // For example: - * // ``` - * // (cpuPlatform = "Intel Skylake") OR - * // (cpuPlatform = "Intel Broadwell") AND - * // (scheduling.automaticRestart = true) - * // ``` - * // - * // If you want to use a regular expression, use the `eq` (equal) or `ne` - * // (not equal) operator against a single un-parenthesized expression with or - * // without quotes or against multiple parenthesized expressions. Examples: - * // - * // `fieldname eq unquoted literal` - * // `fieldname eq 'single quoted literal'` - * // `fieldname eq "double quoted literal"` - * // `(fieldname1 eq literal) (fieldname2 ne "literal")` - * // - * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * // The literal value must match the entire field. - * // - * // For example, to filter for instances that do not end with name "instance", - * // you would use `name ne .*instance`. - * // - * // You cannot combine constraints on multiple fields using regular - * // expressions. - * filter: 'placeholder-value', - * // The maximum number of results per page that should be returned. - * // If the number of available results is larger than `maxResults`, - * // Compute Engine returns a `nextPageToken` that can be used to get - * // the next page of results in subsequent list requests. Acceptable values are - * // `0` to `500`, inclusive. (Default: `500`) - * maxResults: 'placeholder-value', - * // Sorts list results by a certain order. By default, results - * // are returned in alphanumerical order based on the resource name. - * // - * // You can also sort results in descending order based on the creation - * // timestamp using `orderBy="creationTimestamp desc"`. This sorts - * // results based on the `creationTimestamp` field in - * // reverse chronological order (newest result first). Use this to sort - * // resources like operations so that the newest operation is returned first. - * // - * // Currently, only sorting by `name` or - * // `creationTimestamp desc` is supported. - * orderBy: 'placeholder-value', - * // Specifies a page token to use. Set `pageToken` to the - * // `nextPageToken` returned by a previous list request to get - * // the next page of results. - * pageToken: 'placeholder-value', - * // Parent ID for this request. - * parentId: 'placeholder-value', - * // Opt-in for partial success behavior which provides partial results in case - * // of failure. The default value is false. - * // - * // For example, when partial success behavior is enabled, aggregatedList for a - * // single zone scope either returns all resources in the zone or no resources, - * // with an error code. - * returnPartialSuccess: 'placeholder-value', - * }); + * const res = await compute.organizationZoneVmExtensionPolicies.get({ + * // Organization ID for this request. + * organization: 'organizations/[0-9]{0,20}', + * // Name of the VM extension policy resource to return. + * vmExtensionPolicy: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // Name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * }); * console.log(res.data); * * // Example response * // { - * // "preconfiguredExpressionSets": {} + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "extensionPolicies": {}, + * // "globalResourceLink": "my_globalResourceLink", + * // "id": "my_id", + * // "instanceSelectors": [], + * // "kind": "my_kind", + * // "managedByGlobal": false, + * // "name": "my_name", + * // "priority": 0, + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "state": "my_state", + * // "updateTimestamp": "my_updateTimestamp" * // } * } * @@ -167036,62 +173492,53 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - listPreconfiguredExpressionSets( - params: Params$Resource$Organizationsecuritypolicies$Listpreconfiguredexpressionsets, + get( + params: Params$Resource$Organizationzonevmextensionpolicies$Get, options: StreamMethodOptions ): Promise>; - listPreconfiguredExpressionSets( - params?: Params$Resource$Organizationsecuritypolicies$Listpreconfiguredexpressionsets, + get( + params?: Params$Resource$Organizationzonevmextensionpolicies$Get, options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; - listPreconfiguredExpressionSets( - params: Params$Resource$Organizationsecuritypolicies$Listpreconfiguredexpressionsets, + ): Promise>; + get( + params: Params$Resource$Organizationzonevmextensionpolicies$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - listPreconfiguredExpressionSets( - params: Params$Resource$Organizationsecuritypolicies$Listpreconfiguredexpressionsets, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - listPreconfiguredExpressionSets( - params: Params$Resource$Organizationsecuritypolicies$Listpreconfiguredexpressionsets, - callback: BodyResponseCallback + get( + params: Params$Resource$Organizationzonevmextensionpolicies$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - listPreconfiguredExpressionSets( - callback: BodyResponseCallback + get( + params: Params$Resource$Organizationzonevmextensionpolicies$Get, + callback: BodyResponseCallback ): void; - listPreconfiguredExpressionSets( + get(callback: BodyResponseCallback): void; + get( paramsOrCallback?: - | Params$Resource$Organizationsecuritypolicies$Listpreconfiguredexpressionsets - | BodyResponseCallback + | Params$Resource$Organizationzonevmextensionpolicies$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise< - GaxiosResponseWithHTTP2 - > + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Organizationsecuritypolicies$Listpreconfiguredexpressionsets; + {}) as Params$Resource$Organizationzonevmextensionpolicies$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Organizationsecuritypolicies$Listpreconfiguredexpressionsets; + params = {} as Params$Resource$Organizationzonevmextensionpolicies$Get; options = {}; } @@ -167106,7 +173553,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/locations/global/securityPolicies/listPreconfiguredExpressionSets' + '/compute/alpha/{+organization}/zones/{zone}/vmExtensionPolicies/{vmExtensionPolicy}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -167114,28 +173561,22 @@ export namespace compute_alpha { options ), params, - requiredParams: [], - pathParams: [], + requiredParams: ['organization', 'zone', 'vmExtensionPolicy'], + pathParams: ['organization', 'vmExtensionPolicy', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } /** - * Moves the specified security policy. - * - * Use this API to modify Cloud Armor policies. Previously, alpha and beta - * versions of this API were used to modify firewall policies. This usage is - * now disabled for most organizations. Use firewallPolicies.move instead. + * Retrieves details of a specific VM extension within an organization. * @example * ```js * // Before running the sample: @@ -167159,6 +173600,7 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -167167,58 +173609,19 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.organizationSecurityPolicies.move({ - * // The new parent of the security policy. - * parentId: 'placeholder-value', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. - * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * // Name of the security policy to update. - * securityPolicy: '(securityPolicies/)?[0-9]{0,20}', + * const res = await compute.organizationZoneVmExtensionPolicies.getVmExtension({ + * extensionName: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * // Organization ID for this request. + * organization: 'organizations/[0-9]{0,20}', + * // Name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * }); * console.log(res.data); * * // Example response * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, - * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, - * // "kind": "my_kind", * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", - * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" + * // "versions": [] * // } * } * @@ -167234,53 +173637,54 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - move( - params: Params$Resource$Organizationsecuritypolicies$Move, + getVmExtension( + params: Params$Resource$Organizationzonevmextensionpolicies$Getvmextension, options: StreamMethodOptions ): Promise>; - move( - params?: Params$Resource$Organizationsecuritypolicies$Move, + getVmExtension( + params?: Params$Resource$Organizationzonevmextensionpolicies$Getvmextension, options?: MethodOptions - ): Promise>; - move( - params: Params$Resource$Organizationsecuritypolicies$Move, + ): Promise>; + getVmExtension( + params: Params$Resource$Organizationzonevmextensionpolicies$Getvmextension, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - move( - params: Params$Resource$Organizationsecuritypolicies$Move, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + getVmExtension( + params: Params$Resource$Organizationzonevmextensionpolicies$Getvmextension, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - move( - params: Params$Resource$Organizationsecuritypolicies$Move, - callback: BodyResponseCallback + getVmExtension( + params: Params$Resource$Organizationzonevmextensionpolicies$Getvmextension, + callback: BodyResponseCallback ): void; - move(callback: BodyResponseCallback): void; - move( + getVmExtension(callback: BodyResponseCallback): void; + getVmExtension( paramsOrCallback?: - | Params$Resource$Organizationsecuritypolicies$Move - | BodyResponseCallback + | Params$Resource$Organizationzonevmextensionpolicies$Getvmextension + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Organizationsecuritypolicies$Move; + {}) as Params$Resource$Organizationzonevmextensionpolicies$Getvmextension; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Organizationsecuritypolicies$Move; + params = + {} as Params$Resource$Organizationzonevmextensionpolicies$Getvmextension; options = {}; } @@ -167295,34 +173699,30 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/locations/global/securityPolicies/{securityPolicy}/move' + '/compute/alpha/{+organization}/zones/{zone}/vmExtensions/{extensionName}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['securityPolicy'], - pathParams: ['securityPolicy'], + requiredParams: ['organization', 'zone', 'extensionName'], + pathParams: ['extensionName', 'organization', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Patches the specified policy with the data included in the request. - * - * Use this API to modify Cloud Armor policies. Previously, alpha and beta - * versions of this API were used to modify firewall policies. This usage is - * now disabled for most organizations. Use firewallPolicies.patch instead. + * Creates a new zone-level VM extension policy within an organization. * @example * ```js * // Before running the sample: @@ -167354,7 +173754,9 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.organizationSecurityPolicies.patch({ + * const res = await compute.organizationZoneVmExtensionPolicies.insert({ + * // Organization ID for this request. + * organization: 'organizations/[0-9]{0,20}', * // An optional request ID to identify requests. Specify a unique request ID so * // that if you must retry your request, the server will know to ignore the * // request if it has already been completed. @@ -167369,39 +173771,27 @@ export namespace compute_alpha { * // a valid UUID with the exception that zero UUID is not supported * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', - * // Name of the security policy to update. - * securityPolicy: '(securityPolicies/)?[0-9]{0,20}', - * // Indicates fields to be cleared as part of this request. - * updateMask: 'placeholder-value', + * // Name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * * // Request body metadata * requestBody: { * // request body parameters * // { - * // "adaptiveProtectionConfig": {}, - * // "advancedOptionsConfig": {}, - * // "associations": [], - * // "cloudArmorConfig": {}, * // "creationTimestamp": "my_creationTimestamp", - * // "ddosProtectionConfig": {}, * // "description": "my_description", - * // "displayName": "my_displayName", - * // "fingerprint": "my_fingerprint", + * // "extensionPolicies": {}, + * // "globalResourceLink": "my_globalResourceLink", * // "id": "my_id", + * // "instanceSelectors": [], * // "kind": "my_kind", - * // "labelFingerprint": "my_labelFingerprint", - * // "labels": {}, + * // "managedByGlobal": false, * // "name": "my_name", - * // "parent": "my_parent", - * // "recaptchaOptionsConfig": {}, - * // "region": "my_region", - * // "ruleTupleCount": 0, - * // "rules": [], + * // "priority": 0, * // "selfLink": "my_selfLink", * // "selfLinkWithId": "my_selfLinkWithId", - * // "shortName": "my_shortName", - * // "type": "my_type", - * // "userDefinedFields": [] + * // "state": "my_state", + * // "updateTimestamp": "my_updateTimestamp" * // } * }, * }); @@ -167452,32 +173842,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - patch( - params: Params$Resource$Organizationsecuritypolicies$Patch, + insert( + params: Params$Resource$Organizationzonevmextensionpolicies$Insert, options: StreamMethodOptions ): Promise>; - patch( - params?: Params$Resource$Organizationsecuritypolicies$Patch, + insert( + params?: Params$Resource$Organizationzonevmextensionpolicies$Insert, options?: MethodOptions ): Promise>; - patch( - params: Params$Resource$Organizationsecuritypolicies$Patch, + insert( + params: Params$Resource$Organizationzonevmextensionpolicies$Insert, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Organizationsecuritypolicies$Patch, + insert( + params: Params$Resource$Organizationzonevmextensionpolicies$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Organizationsecuritypolicies$Patch, + insert( + params: Params$Resource$Organizationzonevmextensionpolicies$Insert, callback: BodyResponseCallback ): void; - patch(callback: BodyResponseCallback): void; - patch( + insert(callback: BodyResponseCallback): void; + insert( paramsOrCallback?: - | Params$Resource$Organizationsecuritypolicies$Patch + | Params$Resource$Organizationzonevmextensionpolicies$Insert | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -167493,12 +173883,13 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Organizationsecuritypolicies$Patch; + {}) as Params$Resource$Organizationzonevmextensionpolicies$Insert; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Organizationsecuritypolicies$Patch; + params = + {} as Params$Resource$Organizationzonevmextensionpolicies$Insert; options = {}; } @@ -167513,16 +173904,16 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/locations/global/securityPolicies/{securityPolicy}' + '/compute/alpha/{+organization}/zones/{zone}/vmExtensionPolicies' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['securityPolicy'], - pathParams: ['securityPolicy'], + requiredParams: ['organization', 'zone'], + pathParams: ['organization', 'zone'], context: this.context, }; if (callback) { @@ -167536,12 +173927,7 @@ export namespace compute_alpha { } /** - * Patches a rule at the specified priority. - * - * Use this API to modify Cloud Armor policies. Previously, alpha and beta - * versions of this API were used to modify firewall policies. This usage is - * now disabled for most organizations. Use firewallPolicies.patchRule - * instead. + * Lists all VM extension policies within a specific zone for an organization. * @example * ```js * // Before running the sample: @@ -167565,6 +173951,7 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -167573,86 +173960,112 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.organizationSecurityPolicies.patchRule({ - * // The priority of the rule to patch. - * priority: 'placeholder-value', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. + * const res = await compute.organizationZoneVmExtensionPolicies.list({ + * // A filter expression that filters resources listed in the response. Most + * // Compute resources support two types of filter expressions: + * // expressions that support regular expressions and expressions that follow + * // API improvement proposal AIP-160. + * // These two types of filter expressions cannot be mixed in one 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. + * // If you want to use AIP-160, your expression must specify the field name, an + * // operator, and the value that you want to use for filtering. The value + * // must be a string, a number, or a boolean. The operator + * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * // Name of the security policy to update. - * securityPolicy: '(securityPolicies/)?[0-9]{0,20}', - * // Indicates fields to be cleared as part of this request. - * updateMask: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "action": "my_action", - * // "description": "my_description", - * // "direction": "my_direction", - * // "enableLogging": false, - * // "headerAction": {}, - * // "kind": "my_kind", - * // "match": {}, - * // "networkMatch": {}, - * // "preconfiguredWafConfig": {}, - * // "preview": false, - * // "priority": 0, - * // "rateLimitOptions": {}, - * // "redirectOptions": {}, - * // "redirectTarget": "my_redirectTarget", - * // "ruleManagedProtectionTier": "my_ruleManagedProtectionTier", - * // "ruleNumber": "my_ruleNumber", - * // "ruleTupleCount": 0, - * // "targetResources": [], - * // "targetServiceAccounts": [] - * // } - * }, + * // For example, if you are filtering Compute Engine instances, you can + * // exclude instances named `example-instance` by specifying + * // `name != example-instance`. + * // + * // The `:*` comparison can be used to test whether a key has been defined. + * // For example, to find all objects with `owner` label use: + * // ``` + * // labels.owner:* + * // ``` + * // + * // You can also filter nested fields. For example, you could specify + * // `scheduling.automaticRestart = false` to include instances only + * // if they are not scheduled for automatic restarts. You can use filtering + * // on nested fields to filter based onresource labels. + * // + * // To filter on multiple expressions, provide each separate expression within + * // parentheses. For example: + * // ``` + * // (scheduling.automaticRestart = true) + * // (cpuPlatform = "Intel Skylake") + * // ``` + * // By default, each expression is an `AND` expression. However, you + * // can include `AND` and `OR` expressions explicitly. + * // For example: + * // ``` + * // (cpuPlatform = "Intel Skylake") OR + * // (cpuPlatform = "Intel Broadwell") AND + * // (scheduling.automaticRestart = true) + * // ``` + * // + * // If you want to use a regular expression, use the `eq` (equal) or `ne` + * // (not equal) operator against a single un-parenthesized expression with or + * // without quotes or against multiple parenthesized expressions. Examples: + * // + * // `fieldname eq unquoted literal` + * // `fieldname eq 'single quoted literal'` + * // `fieldname eq "double quoted literal"` + * // `(fieldname1 eq literal) (fieldname2 ne "literal")` + * // + * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * // The literal value must match the entire field. + * // + * // For example, to filter for instances that do not end with name "instance", + * // you would use `name ne .*instance`. + * // + * // You cannot combine constraints on multiple fields using regular + * // expressions. + * filter: 'placeholder-value', + * // The maximum number of results per page that should be returned. + * // If the number of available results is larger than `maxResults`, + * // Compute Engine returns a `nextPageToken` that can be used to get + * // the next page of results in subsequent list requests. Acceptable values are + * // `0` to `500`, inclusive. (Default: `500`) + * maxResults: 'placeholder-value', + * // Sorts list results by a certain order. By default, results + * // are returned in alphanumerical order based on the resource name. + * // + * // You can also sort results in descending order based on the creation + * // timestamp using `orderBy="creationTimestamp desc"`. This sorts + * // results based on the `creationTimestamp` field in + * // reverse chronological order (newest result first). Use this to sort + * // resources like operations so that the newest operation is returned first. + * // + * // Currently, only sorting by `name` or + * // `creationTimestamp desc` is supported. + * orderBy: 'placeholder-value', + * // Organization ID for this request. + * organization: 'organizations/[0-9]{0,20}', + * // Specifies a page token to use. Set `pageToken` to the + * // `nextPageToken` returned by a previous list request to get + * // the next page of results. + * pageToken: 'placeholder-value', + * // Opt-in for partial success behavior which provides partial results in case + * // of failure. The default value is false. + * // + * // For example, when partial success behavior is enabled, aggregatedList for a + * // single zone scope either returns all resources in the zone or no resources, + * // with an error code. + * returnPartialSuccess: 'placeholder-value', + * // Name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * }); * console.log(res.data); * * // Example response * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, + * // "etag": "my_etag", * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, + * // "items": [], * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", + * // "nextPageToken": "my_nextPageToken", * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" + * // "unreachables": [], + * // "warning": {} * // } * } * @@ -167668,53 +174081,55 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - patchRule( - params: Params$Resource$Organizationsecuritypolicies$Patchrule, + list( + params: Params$Resource$Organizationzonevmextensionpolicies$List, options: StreamMethodOptions ): Promise>; - patchRule( - params?: Params$Resource$Organizationsecuritypolicies$Patchrule, + list( + params?: Params$Resource$Organizationzonevmextensionpolicies$List, options?: MethodOptions - ): Promise>; - patchRule( - params: Params$Resource$Organizationsecuritypolicies$Patchrule, + ): Promise>; + list( + params: Params$Resource$Organizationzonevmextensionpolicies$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patchRule( - params: Params$Resource$Organizationsecuritypolicies$Patchrule, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + list( + params: Params$Resource$Organizationzonevmextensionpolicies$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - patchRule( - params: Params$Resource$Organizationsecuritypolicies$Patchrule, - callback: BodyResponseCallback + list( + params: Params$Resource$Organizationzonevmextensionpolicies$List, + callback: BodyResponseCallback ): void; - patchRule(callback: BodyResponseCallback): void; - patchRule( + list(callback: BodyResponseCallback): void; + list( paramsOrCallback?: - | Params$Resource$Organizationsecuritypolicies$Patchrule - | BodyResponseCallback + | Params$Resource$Organizationzonevmextensionpolicies$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Organizationsecuritypolicies$Patchrule; + {}) as Params$Resource$Organizationzonevmextensionpolicies$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Organizationsecuritypolicies$Patchrule; + params = {} as Params$Resource$Organizationzonevmextensionpolicies$List; options = {}; } @@ -167729,35 +174144,31 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/locations/global/securityPolicies/{securityPolicy}/patchRule' + '/compute/alpha/{+organization}/zones/{zone}/vmExtensionPolicies' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['securityPolicy'], - pathParams: ['securityPolicy'], + requiredParams: ['organization', 'zone'], + pathParams: ['organization', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Removes an association for the specified security policy. - * - * Use this API to modify Cloud Armor policies. Previously, alpha and beta - * versions of this API were used to modify firewall policies. This usage is - * now disabled for most organizations. Use firewallPolicies.removeAssociation - * instead. + * Lists all VM extensions within a specific zone for an organization. + * This is a read-only API. * @example * ```js * // Before running the sample: @@ -167781,6 +174192,7 @@ export namespace compute_alpha { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', * ], * }); * @@ -167789,58 +174201,113 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.organizationSecurityPolicies.removeAssociation({ - * // Name for the attachment that will be removed. - * name: 'placeholder-value', - * // An optional request ID to identify requests. Specify a unique request ID so - * // that if you must retry your request, the server will know to ignore the - * // request if it has already been completed. - * // - * // For example, consider a situation where you make an initial request and - * // the request times out. If you make the request again with the same - * // request ID, the server can check if original operation with the same - * // request ID was received, and if so, will ignore the second request. This - * // prevents clients from accidentally creating duplicate commitments. - * // - * // The request ID must be - * // a valid UUID with the exception that zero UUID is not supported - * // (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * // Name of the security policy to update. - * securityPolicy: '(securityPolicies/)?[0-9]{0,20}', - * }); + * const res = + * await compute.organizationZoneVmExtensionPolicies.listVmExtensions({ + * // A filter expression that filters resources listed in the response. Most + * // Compute resources support two types of filter expressions: + * // expressions that support regular expressions and expressions that follow + * // API improvement proposal AIP-160. + * // These two types of filter expressions cannot be mixed in one request. + * // + * // If you want to use AIP-160, your expression must specify the field name, an + * // operator, and the value that you want to use for filtering. The value + * // must be a string, a number, or a boolean. The operator + * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * // + * // For example, if you are filtering Compute Engine instances, you can + * // exclude instances named `example-instance` by specifying + * // `name != example-instance`. + * // + * // The `:*` comparison can be used to test whether a key has been defined. + * // For example, to find all objects with `owner` label use: + * // ``` + * // labels.owner:* + * // ``` + * // + * // You can also filter nested fields. For example, you could specify + * // `scheduling.automaticRestart = false` to include instances only + * // if they are not scheduled for automatic restarts. You can use filtering + * // on nested fields to filter based onresource labels. + * // + * // To filter on multiple expressions, provide each separate expression within + * // parentheses. For example: + * // ``` + * // (scheduling.automaticRestart = true) + * // (cpuPlatform = "Intel Skylake") + * // ``` + * // By default, each expression is an `AND` expression. However, you + * // can include `AND` and `OR` expressions explicitly. + * // For example: + * // ``` + * // (cpuPlatform = "Intel Skylake") OR + * // (cpuPlatform = "Intel Broadwell") AND + * // (scheduling.automaticRestart = true) + * // ``` + * // + * // If you want to use a regular expression, use the `eq` (equal) or `ne` + * // (not equal) operator against a single un-parenthesized expression with or + * // without quotes or against multiple parenthesized expressions. Examples: + * // + * // `fieldname eq unquoted literal` + * // `fieldname eq 'single quoted literal'` + * // `fieldname eq "double quoted literal"` + * // `(fieldname1 eq literal) (fieldname2 ne "literal")` + * // + * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * // The literal value must match the entire field. + * // + * // For example, to filter for instances that do not end with name "instance", + * // you would use `name ne .*instance`. + * // + * // You cannot combine constraints on multiple fields using regular + * // expressions. + * filter: 'placeholder-value', + * // The maximum number of results per page that should be returned. + * // If the number of available results is larger than `maxResults`, + * // Compute Engine returns a `nextPageToken` that can be used to get + * // the next page of results in subsequent list requests. Acceptable values are + * // `0` to `500`, inclusive. (Default: `500`) + * maxResults: 'placeholder-value', + * // Sorts list results by a certain order. By default, results + * // are returned in alphanumerical order based on the resource name. + * // + * // You can also sort results in descending order based on the creation + * // timestamp using `orderBy="creationTimestamp desc"`. This sorts + * // results based on the `creationTimestamp` field in + * // reverse chronological order (newest result first). Use this to sort + * // resources like operations so that the newest operation is returned first. + * // + * // Currently, only sorting by `name` or + * // `creationTimestamp desc` is supported. + * orderBy: 'placeholder-value', + * // Organization ID for this request. + * organization: 'organizations/[0-9]{0,20}', + * // Specifies a page token to use. Set `pageToken` to the + * // `nextPageToken` returned by a previous list request to get + * // the next page of results. + * pageToken: 'placeholder-value', + * // Opt-in for partial success behavior which provides partial results in case + * // of failure. The default value is false. + * // + * // For example, when partial success behavior is enabled, aggregatedList for a + * // single zone scope either returns all resources in the zone or no resources, + * // with an error code. + * returnPartialSuccess: 'placeholder-value', + * // Name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * }); * console.log(res.data); * * // Example response * // { - * // "clientOperationId": "my_clientOperationId", - * // "creationTimestamp": "my_creationTimestamp", - * // "description": "my_description", - * // "endTime": "my_endTime", - * // "error": {}, - * // "getVersionOperationMetadata": {}, - * // "httpErrorMessage": "my_httpErrorMessage", - * // "httpErrorStatusCode": 0, + * // "etag": "my_etag", * // "id": "my_id", - * // "insertTime": "my_insertTime", - * // "instancesBulkInsertOperationMetadata": {}, + * // "items": [], * // "kind": "my_kind", - * // "name": "my_name", - * // "operationGroupId": "my_operationGroupId", - * // "operationType": "my_operationType", - * // "progress": 0, - * // "region": "my_region", + * // "nextPageToken": "my_nextPageToken", * // "selfLink": "my_selfLink", - * // "selfLinkWithId": "my_selfLinkWithId", - * // "setCommonInstanceMetadataOperationMetadata": {}, - * // "startTime": "my_startTime", - * // "status": "my_status", - * // "statusMessage": "my_statusMessage", - * // "targetId": "my_targetId", - * // "targetLink": "my_targetLink", - * // "user": "my_user", - * // "warnings": [], - * // "zone": "my_zone" + * // "unreachables": [], + * // "warning": {} * // } * } * @@ -167856,54 +174323,58 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - removeAssociation( - params: Params$Resource$Organizationsecuritypolicies$Removeassociation, + listVmExtensions( + params: Params$Resource$Organizationzonevmextensionpolicies$Listvmextensions, options: StreamMethodOptions ): Promise>; - removeAssociation( - params?: Params$Resource$Organizationsecuritypolicies$Removeassociation, + listVmExtensions( + params?: Params$Resource$Organizationzonevmextensionpolicies$Listvmextensions, options?: MethodOptions - ): Promise>; - removeAssociation( - params: Params$Resource$Organizationsecuritypolicies$Removeassociation, + ): Promise>; + listVmExtensions( + params: Params$Resource$Organizationzonevmextensionpolicies$Listvmextensions, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - removeAssociation( - params: Params$Resource$Organizationsecuritypolicies$Removeassociation, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + listVmExtensions( + params: Params$Resource$Organizationzonevmextensionpolicies$Listvmextensions, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - removeAssociation( - params: Params$Resource$Organizationsecuritypolicies$Removeassociation, - callback: BodyResponseCallback + listVmExtensions( + params: Params$Resource$Organizationzonevmextensionpolicies$Listvmextensions, + callback: BodyResponseCallback ): void; - removeAssociation(callback: BodyResponseCallback): void; - removeAssociation( + listVmExtensions( + callback: BodyResponseCallback + ): void; + listVmExtensions( paramsOrCallback?: - | Params$Resource$Organizationsecuritypolicies$Removeassociation - | BodyResponseCallback + | Params$Resource$Organizationzonevmextensionpolicies$Listvmextensions + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Organizationsecuritypolicies$Removeassociation; + {}) as Params$Resource$Organizationzonevmextensionpolicies$Listvmextensions; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Organizationsecuritypolicies$Removeassociation; + {} as Params$Resource$Organizationzonevmextensionpolicies$Listvmextensions; options = {}; } @@ -167918,35 +174389,30 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/locations/global/securityPolicies/{securityPolicy}/removeAssociation' + '/compute/alpha/{+organization}/zones/{zone}/vmExtensions' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['securityPolicy'], - pathParams: ['securityPolicy'], + requiredParams: ['organization', 'zone'], + pathParams: ['organization', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Deletes a rule at the specified priority. - * - * Use this API to modify Cloud Armor policies. Previously, alpha and beta - * versions of this API were used to modify firewall policies. This usage is - * now disabled for most organizations. Use firewallPolicies.removeRule - * instead. + * Modifies an existing zone VM extension policy within an organization. * @example * ```js * // Before running the sample: @@ -167978,9 +174444,9 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.organizationSecurityPolicies.removeRule({ - * // The priority of the rule to remove from the security policy. - * priority: 'placeholder-value', + * const res = await compute.organizationZoneVmExtensionPolicies.update({ + * // Organization ID for this request. + * organization: 'organizations/[0-9]{0,20}', * // An optional request ID to identify requests. Specify a unique request ID so * // that if you must retry your request, the server will know to ignore the * // request if it has already been completed. @@ -167995,8 +174461,31 @@ export namespace compute_alpha { * // a valid UUID with the exception that zero UUID is not supported * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', - * // Name of the security policy to update. - * securityPolicy: '(securityPolicies/)?[0-9]{0,20}', + * // Name of the zone VM extension policy to update. + * vmExtensionPolicy: 'placeholder-value', + * // Name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "extensionPolicies": {}, + * // "globalResourceLink": "my_globalResourceLink", + * // "id": "my_id", + * // "instanceSelectors": [], + * // "kind": "my_kind", + * // "managedByGlobal": false, + * // "name": "my_name", + * // "priority": 0, + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "state": "my_state", + * // "updateTimestamp": "my_updateTimestamp" + * // } + * }, * }); * console.log(res.data); * @@ -168045,32 +174534,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - removeRule( - params: Params$Resource$Organizationsecuritypolicies$Removerule, + update( + params: Params$Resource$Organizationzonevmextensionpolicies$Update, options: StreamMethodOptions ): Promise>; - removeRule( - params?: Params$Resource$Organizationsecuritypolicies$Removerule, + update( + params?: Params$Resource$Organizationzonevmextensionpolicies$Update, options?: MethodOptions ): Promise>; - removeRule( - params: Params$Resource$Organizationsecuritypolicies$Removerule, + update( + params: Params$Resource$Organizationzonevmextensionpolicies$Update, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - removeRule( - params: Params$Resource$Organizationsecuritypolicies$Removerule, + update( + params: Params$Resource$Organizationzonevmextensionpolicies$Update, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - removeRule( - params: Params$Resource$Organizationsecuritypolicies$Removerule, + update( + params: Params$Resource$Organizationzonevmextensionpolicies$Update, callback: BodyResponseCallback ): void; - removeRule(callback: BodyResponseCallback): void; - removeRule( + update(callback: BodyResponseCallback): void; + update( paramsOrCallback?: - | Params$Resource$Organizationsecuritypolicies$Removerule + | Params$Resource$Organizationzonevmextensionpolicies$Update | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -168086,12 +174575,13 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Organizationsecuritypolicies$Removerule; + {}) as Params$Resource$Organizationzonevmextensionpolicies$Update; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Organizationsecuritypolicies$Removerule; + params = + {} as Params$Resource$Organizationzonevmextensionpolicies$Update; options = {}; } @@ -168106,16 +174596,16 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/locations/global/securityPolicies/{securityPolicy}/removeRule' + '/compute/alpha/{+organization}/zones/{zone}/vmExtensionPolicies/{vmExtensionPolicy}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'PATCH', apiVersion: '', }, options ), params, - requiredParams: ['securityPolicy'], - pathParams: ['securityPolicy'], + requiredParams: ['organization', 'zone', 'vmExtensionPolicy'], + pathParams: ['organization', 'vmExtensionPolicy', 'zone'], context: this.context, }; if (callback) { @@ -168129,93 +174619,39 @@ export namespace compute_alpha { } } - export interface Params$Resource$Organizationsecuritypolicies$Addassociation extends StandardParameters { - /** - * 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. - */ - replaceExistingAssociation?: boolean; + export interface Params$Resource$Organizationzonevmextensionpolicies$Get extends StandardParameters { /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). + * Organization ID for this request. */ - requestId?: string; + organization?: string; /** - * Name of the security policy to update. + * Name of the VM extension policy resource to return. */ - securityPolicy?: string; - + vmExtensionPolicy?: string; /** - * Request body metadata + * Name of the zone for this request. */ - requestBody?: Schema$SecurityPolicyAssociation; + zone?: string; } - export interface Params$Resource$Organizationsecuritypolicies$Addrule extends StandardParameters { + export interface Params$Resource$Organizationzonevmextensionpolicies$Getvmextension extends StandardParameters { /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). */ - requestId?: string; + extensionName?: string; /** - * Name of the security policy to update. + * Organization ID for this request. */ - securityPolicy?: string; - + organization?: string; /** - * Request body metadata + * Name of the zone for this request. */ - requestBody?: Schema$SecurityPolicyRule; + zone?: string; } - export interface Params$Resource$Organizationsecuritypolicies$Copyrules extends StandardParameters { - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * Name of the security policy to update. - */ - securityPolicy?: string; + export interface Params$Resource$Organizationzonevmextensionpolicies$Insert extends StandardParameters { /** - * The security policy from which to copy rules. + * Organization ID for this request. */ - sourceSecurityPolicy?: string; - } - export interface Params$Resource$Organizationsecuritypolicies$Delete extends StandardParameters { + organization?: string; /** * An optional request ID to identify requests. Specify a unique request ID so * that if you must retry your request, the server will know to ignore the @@ -168233,66 +174669,16 @@ export namespace compute_alpha { */ requestId?: string; /** - * Name of the security policy to delete. - */ - securityPolicy?: string; - } - export interface Params$Resource$Organizationsecuritypolicies$Get extends StandardParameters { - /** - * Name of the security policy to get. - */ - securityPolicy?: string; - } - export interface Params$Resource$Organizationsecuritypolicies$Getassociation extends StandardParameters { - /** - * The name of the association to get from the security policy. - */ - name?: string; - /** - * Name of the security policy to which the queried rule belongs. - */ - securityPolicy?: string; - } - export interface Params$Resource$Organizationsecuritypolicies$Getrule extends StandardParameters { - /** - * The priority of the rule to get from the security policy. - */ - priority?: number; - /** - * Name of the security policy to which the queried rule belongs. - */ - securityPolicy?: string; - } - export interface Params$Resource$Organizationsecuritypolicies$Insert extends StandardParameters { - /** - * 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. - */ - parentId?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). + * Name of the zone for this request. */ - requestId?: string; + zone?: string; /** * Request body metadata */ - requestBody?: Schema$SecurityPolicy; + requestBody?: Schema$VmExtensionPolicy; } - export interface Params$Resource$Organizationsecuritypolicies$List extends StandardParameters { + export interface Params$Resource$Organizationzonevmextensionpolicies$List extends StandardParameters { /** * A filter expression that filters resources listed in the response. Most * Compute resources support two types of filter expressions: @@ -168376,16 +174762,16 @@ export namespace compute_alpha { * `creationTimestamp desc` is supported. */ orderBy?: string; + /** + * Organization ID for this request. + */ + organization?: string; /** * Specifies a page token to use. Set `pageToken` to the * `nextPageToken` returned by a previous list request to get * the next page of results. */ pageToken?: string; - /** - * Parent ID for this request. - */ - parentId?: string; /** * Opt-in for partial success behavior which provides partial results in case * of failure. The default value is false. @@ -168395,15 +174781,12 @@ export namespace compute_alpha { * with an error code. */ returnPartialSuccess?: boolean; - } - export interface Params$Resource$Organizationsecuritypolicies$Listassociations extends StandardParameters { /** - * The target resource to list associations. It is an organization, or a - * folder. + * Name of the zone for this request. */ - targetResource?: string; + zone?: string; } - export interface Params$Resource$Organizationsecuritypolicies$Listpreconfiguredexpressionsets extends StandardParameters { + export interface Params$Resource$Organizationzonevmextensionpolicies$Listvmextensions extends StandardParameters { /** * A filter expression that filters resources listed in the response. Most * Compute resources support two types of filter expressions: @@ -168487,16 +174870,16 @@ export namespace compute_alpha { * `creationTimestamp desc` is supported. */ orderBy?: string; + /** + * Organization ID for this request. + */ + organization?: string; /** * Specifies a page token to use. Set `pageToken` to the * `nextPageToken` returned by a previous list request to get * the next page of results. */ pageToken?: string; - /** - * Parent ID for this request. - */ - parentId?: string; /** * Opt-in for partial success behavior which provides partial results in case * of failure. The default value is false. @@ -168506,69 +174889,16 @@ export namespace compute_alpha { * with an error code. */ returnPartialSuccess?: boolean; - } - export interface Params$Resource$Organizationsecuritypolicies$Move extends StandardParameters { - /** - * The new parent of the security policy. - */ - parentId?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * Name of the security policy to update. - */ - securityPolicy?: string; - } - export interface Params$Resource$Organizationsecuritypolicies$Patch extends StandardParameters { - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * Name of the security policy to update. - */ - securityPolicy?: string; - /** - * Indicates fields to be cleared as part of this request. - */ - updateMask?: string; - /** - * Request body metadata + * Name of the zone for this request. */ - requestBody?: Schema$SecurityPolicy; + zone?: string; } - export interface Params$Resource$Organizationsecuritypolicies$Patchrule extends StandardParameters { + export interface Params$Resource$Organizationzonevmextensionpolicies$Update extends StandardParameters { /** - * The priority of the rule to patch. + * Organization ID for this request. */ - priority?: number; + organization?: string; /** * An optional request ID to identify requests. Specify a unique request ID so * that if you must retry your request, the server will know to ignore the @@ -168586,223 +174916,28 @@ export namespace compute_alpha { */ requestId?: string; /** - * Name of the security policy to update. + * Name of the zone VM extension policy to update. */ - securityPolicy?: string; + vmExtensionPolicy?: string; /** - * Indicates fields to be cleared as part of this request. + * Name of the zone for this request. */ - updateMask?: string; + zone?: string; /** * Request body metadata */ - requestBody?: Schema$SecurityPolicyRule; - } - export interface Params$Resource$Organizationsecuritypolicies$Removeassociation extends StandardParameters { - /** - * Name for the attachment that will be removed. - */ - name?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * Name of the security policy to update. - */ - securityPolicy?: string; - } - export interface Params$Resource$Organizationsecuritypolicies$Removerule extends StandardParameters { - /** - * The priority of the rule to remove from the security policy. - */ - priority?: number; - /** - * An optional request ID to identify requests. Specify a unique request ID so - * that if you must retry your request, the server will know to ignore the - * request if it has already been completed. - * - * For example, consider a situation where you make an initial request and - * the request times out. If you make the request again with the same - * request ID, the server can check if original operation with the same - * request ID was received, and if so, will ignore the second request. This - * prevents clients from accidentally creating duplicate commitments. - * - * The request ID must be - * a valid UUID with the exception that zero UUID is not supported - * (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * Name of the security policy to update. - */ - securityPolicy?: string; + requestBody?: Schema$VmExtensionPolicy; } - export class Resource$Organizationsnapshotrecyclebinpolicy { + export class Resource$Orgvmextensionpolicies { context: APIRequestContext; constructor(context: APIRequestContext) { this.context = context; } /** - * Returns the specified SnapshotRecycleBinPolicy. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/compute.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const compute = google.compute('alpha'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [ - * 'https://www.googleapis.com/auth/cloud-platform', - * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', - * ], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await compute.organizationSnapshotRecycleBinPolicy.get({ - * // Organization ID for this request. - * organization: 'organizations/[0-9]{0,20}', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "rules": {} - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - get( - params: Params$Resource$Organizationsnapshotrecyclebinpolicy$Get, - options: StreamMethodOptions - ): Promise>; - get( - params?: Params$Resource$Organizationsnapshotrecyclebinpolicy$Get, - options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Organizationsnapshotrecyclebinpolicy$Get, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Organizationsnapshotrecyclebinpolicy$Get, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Organizationsnapshotrecyclebinpolicy$Get, - callback: BodyResponseCallback - ): void; - get(callback: BodyResponseCallback): void; - get( - paramsOrCallback?: - | Params$Resource$Organizationsnapshotrecyclebinpolicy$Get - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Organizationsnapshotrecyclebinpolicy$Get; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Organizationsnapshotrecyclebinpolicy$Get; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/compute/alpha/{+organization}/global/snapshotRecycleBinPolicy' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['organization'], - pathParams: ['organization'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Patches the SnapshotRecycleBinPolicy. + * Deletes a specified zone VM extension policy within an organization. * @example * ```js * // Before running the sample: @@ -168834,7 +174969,7 @@ export namespace compute_alpha { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.organizationSnapshotRecycleBinPolicy.patch({ + * const res = await compute.orgVmExtensionPolicies.delete({ * // Organization ID for this request. * organization: 'organizations/[0-9]{0,20}', * // An optional request ID to identify requests. Specify a unique request ID so @@ -168851,14 +174986,10 @@ export namespace compute_alpha { * // a valid UUID with the exception that zero UUID is not supported * // (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "rules": {} - * // } - * }, + * // Name of the zone VM extension policy to delete. + * vmExtensionPolicy: 'placeholder-value', + * // Name of the zone for this request. + * zone: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', * }); * console.log(res.data); * @@ -168907,32 +175038,32 @@ export namespace compute_alpha { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - patch( - params: Params$Resource$Organizationsnapshotrecyclebinpolicy$Patch, + delete( + params: Params$Resource$Orgvmextensionpolicies$Delete, options: StreamMethodOptions ): Promise>; - patch( - params?: Params$Resource$Organizationsnapshotrecyclebinpolicy$Patch, + delete( + params?: Params$Resource$Orgvmextensionpolicies$Delete, options?: MethodOptions ): Promise>; - patch( - params: Params$Resource$Organizationsnapshotrecyclebinpolicy$Patch, + delete( + params: Params$Resource$Orgvmextensionpolicies$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Organizationsnapshotrecyclebinpolicy$Patch, + delete( + params: Params$Resource$Orgvmextensionpolicies$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Organizationsnapshotrecyclebinpolicy$Patch, + delete( + params: Params$Resource$Orgvmextensionpolicies$Delete, callback: BodyResponseCallback ): void; - patch(callback: BodyResponseCallback): void; - patch( + delete(callback: BodyResponseCallback): void; + delete( paramsOrCallback?: - | Params$Resource$Organizationsnapshotrecyclebinpolicy$Patch + | Params$Resource$Orgvmextensionpolicies$Delete | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -168948,13 +175079,12 @@ export namespace compute_alpha { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Organizationsnapshotrecyclebinpolicy$Patch; + {}) as Params$Resource$Orgvmextensionpolicies$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Organizationsnapshotrecyclebinpolicy$Patch; + params = {} as Params$Resource$Orgvmextensionpolicies$Delete; options = {}; } @@ -168969,16 +175099,16 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/{+organization}/global/snapshotRecycleBinPolicy' + '/compute/alpha/{+organization}/zones/{zone}/vmExtensionPolicies/{vmExtensionPolicy}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', + method: 'DELETE', apiVersion: '', }, options ), params, - requiredParams: ['organization'], - pathParams: ['organization'], + requiredParams: ['organization', 'zone', 'vmExtensionPolicy'], + pathParams: ['organization', 'vmExtensionPolicy', 'zone'], context: this.context, }; if (callback) { @@ -168992,13 +175122,7 @@ export namespace compute_alpha { } } - export interface Params$Resource$Organizationsnapshotrecyclebinpolicy$Get extends StandardParameters { - /** - * Organization ID for this request. - */ - organization?: string; - } - export interface Params$Resource$Organizationsnapshotrecyclebinpolicy$Patch extends StandardParameters { + export interface Params$Resource$Orgvmextensionpolicies$Delete extends StandardParameters { /** * Organization ID for this request. */ @@ -169019,11 +175143,14 @@ export namespace compute_alpha { * (00000000-0000-0000-0000-000000000000). */ requestId?: string; - /** - * Request body metadata + * Name of the zone VM extension policy to delete. */ - requestBody?: Schema$SnapshotRecycleBinPolicy; + vmExtensionPolicy?: string; + /** + * Name of the zone for this request. + */ + zone?: string; } export class Resource$Packetmirrorings { @@ -206358,6 +212485,7 @@ export namespace compute_alpha { * // request body parameters * // { * // "allInstances": false, + * // "allowedActions": [], * // "disruptionMode": "my_disruptionMode", * // "instances": [], * // "maximalAction": "my_maximalAction", @@ -272901,7 +279029,8 @@ export namespace compute_alpha { * * // Example response * // { - * // "rules": {} + * // "rules": {}, + * // "systemRules": {} * // } * } * @@ -273058,7 +279187,8 @@ export namespace compute_alpha { * requestBody: { * // request body parameters * // { - * // "rules": {} + * // "rules": {}, + * // "systemRules": {} * // } * }, * }); diff --git a/src/apis/compute/beta.ts b/src/apis/compute/beta.ts index 52a8c662223..1c5ed0b705c 100644 --- a/src/apis/compute/beta.ts +++ b/src/apis/compute/beta.ts @@ -170,6 +170,8 @@ export namespace compute_beta { nodeGroups: Resource$Nodegroups; nodeTemplates: Resource$Nodetemplates; nodeTypes: Resource$Nodetypes; + organizationRolloutPlans: Resource$Organizationrolloutplans; + organizationRollouts: Resource$Organizationrollouts; organizationSecurityPolicies: Resource$Organizationsecuritypolicies; packetMirrorings: Resource$Packetmirrorings; previewFeatures: Resource$Previewfeatures; @@ -331,6 +333,12 @@ export namespace compute_beta { this.nodeGroups = new Resource$Nodegroups(this.context); this.nodeTemplates = new Resource$Nodetemplates(this.context); this.nodeTypes = new Resource$Nodetypes(this.context); + this.organizationRolloutPlans = new Resource$Organizationrolloutplans( + this.context + ); + this.organizationRollouts = new Resource$Organizationrollouts( + this.context + ); this.organizationSecurityPolicies = new Resource$Organizationsecuritypolicies(this.context); this.packetMirrorings = new Resource$Packetmirrorings(this.context); @@ -4217,6 +4225,14 @@ export namespace compute_beta { * traffic served by this backend service. The default value is false. */ enable?: boolean | null; + /** + * The list of request headers that will be logged to Stackdriver. + */ + loggingHttpRequestHeaders?: Schema$BackendServiceLogConfigLoggingHttpHeader[]; + /** + * The list of response headers that will be logged to Stackdriver. + */ + loggingHttpResponseHeaders?: Schema$BackendServiceLogConfigLoggingHttpHeader[]; /** * This field can only be specified if logging is enabled for this backend * service and "logConfig.optionalMode" was set to CUSTOM. Contains a list @@ -4241,6 +4257,15 @@ export namespace compute_beta { */ sampleRate?: number | null; } + /** + * Determines which HTTP headers will be logged to Stackdriver. + */ + export interface Schema$BackendServiceLogConfigLoggingHttpHeader { + /** + * The name of the header to be logged. + */ + headerName?: string | null; + } export interface Schema$BackendServiceNetworkPassThroughLbTrafficPolicy { /** * When configured, new connections are load balanced across healthy backend @@ -6431,6 +6456,79 @@ export namespace compute_beta { */ year?: number | null; } + /** + * 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. + */ + export interface Schema$DateTime { + /** + * 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. + */ + day?: number | null; + /** + * 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. + */ + hours?: number | null; + /** + * Optional. Minutes of hour of day. Must be from 0 to 59, defaults to 0. + */ + minutes?: number | null; + /** + * Optional. Month of year. Must be from 1 to 12, or 0 if specifying a + * datetime without a month. + */ + month?: number | null; + /** + * Optional. Fractions of seconds in nanoseconds. Must be from 0 to + * 999,999,999, defaults to 0. + */ + nanos?: number | null; + /** + * 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. + */ + seconds?: number | null; + /** + * Time zone. + */ + timeZone?: Schema$TimeZone; + /** + * 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 \}. + */ + utcOffset?: string | null; + /** + * Optional. Year of date. Must be from 1 to 9999, or 0 if specifying a + * datetime without a year. + */ + year?: number | null; + } /** * Deprecation status for a public resource. */ @@ -12074,6 +12172,13 @@ export namespace compute_beta { * balancing: Routing and traffic management features. */ faultInjectionPolicy?: Schema$HttpFaultInjection; + /** + * Image optimization policy for this URL Map's route. Available only for + * Global EXTERNAL_MANAGED load balancer schemes. + * Either Cloud CDN must be enabled on the backend service or backend bucket + * serving the route, or cache policy must be configured on the same route + */ + imageOptimizationPolicy?: Schema$ImageOptimizationPolicy; /** * Specifies the maximum duration (timeout) for streams on the selected route. * Unlike the timeout field where the timeout duration starts @@ -12934,6 +13039,20 @@ export namespace compute_beta { message?: string; } | null; } + /** + * The configuration for Cloud CDN's image optimization feature. This feature + * dynamically processes and delivers images from the network edge. + * Image Optimization is only available for Global External Application Load + * Balancers. + * Either Cloud CDN must be enabled on the backend service or backend bucket + * serving the route, or cache policy must be configured on the same route. + */ + export interface Schema$ImageOptimizationPolicy { + /** + * Specifies whether to interpret query parameters for image optimization. + */ + queryParameterInterpretation?: string | null; + } /** * Additional image params. */ @@ -13841,6 +13960,11 @@ export namespace compute_beta { * are scheduled to be restarted or are currently being restarted. */ restarting?: number | null; + /** + * Output only. The number of instances in the managed instance group that + * are scheduled to be restarted or are currently being restarted. + */ + restartingInPlace?: number | null; /** * Output only. The number of instances in the managed instance group that * are scheduled to be resumed or are currently being resumed. @@ -14301,6 +14425,10 @@ export namespace compute_beta { * in the request. */ allInstances?: boolean | null; + /** + * Actions that are allowed to update instances within MIG. + */ + allowedActions?: string[] | null; /** * 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 aszones/[ZONE]/instances/[INSTANCE_NAME]. @@ -14951,6 +15079,10 @@ export namespace compute_beta { mode?: string | null; } export interface Schema$InstanceGroupManagerUpdatePolicy { + /** + * Actions that are allowed to update instances within MIG. + */ + allowedActions?: string[] | null; /** * The * instance redistribution policy for regional managed instance groups. @@ -15238,34 +15370,33 @@ export namespace compute_beta { } export interface Schema$InstanceManagedByIgmError { /** - * Output only. [Output Only] Contents of the error. + * Output only. Contents of the error. */ error?: Schema$InstanceManagedByIgmErrorManagedInstanceError; /** - * Output only. [Output Only] Details of the instance action that triggered this error. + * 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. */ instanceActionDetails?: Schema$InstanceManagedByIgmErrorInstanceActionDetails; /** - * Output only. [Output Only] The time that this error occurred. - * This value is in RFC3339 text format. + * Output only. The time that this error occurred. This value is in RFC3339 text format. */ timestamp?: string | null; } export interface Schema$InstanceManagedByIgmErrorInstanceActionDetails { /** - * Output only. [Output Only] Action that managed instance group was executing on - * the instance when the error occurred. Possible values: + * Output only. Action that managed instance group was executing on the instance when the + * error occurred. Possible values: */ action?: string | null; /** - * Output only. [Output Only] The URL of the instance. - * The URL can be set even if the instance has not yet been created. + * Output only. The URL of the instance. The URL can be set even if the instance has not + * yet been created. */ instance?: string | null; /** - * Output only. [Output Only] Version this instance was created from, or was being + * 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. @@ -15274,11 +15405,11 @@ export namespace compute_beta { } export interface Schema$InstanceManagedByIgmErrorManagedInstanceError { /** - * Output only. [Output Only] Error code. + * Output only. Error code. */ code?: string | null; /** - * Output only. [Output Only] Error message. + * Output only. Error message. */ message?: string | null; } @@ -23560,6 +23691,42 @@ export namespace compute_beta { message?: string; } | null; } + export interface Schema$OrganizationRolloutsListResponse { + etag?: string | null; + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string | null; + /** + * A list of Rollout resources. + */ + items?: Schema$Rollout[]; + /** + * [Output Only] This token allows you to get the next page of results for + * list requests. If the number of results is larger thanmaxResults, use the nextPageToken as a value for + * the query parameter pageToken in the next list request. + * Subsequent list requests will have their own nextPageToken to + * continue paging through the results. + */ + nextPageToken?: string | null; + /** + * Output only. [Output Only] Server-defined URL for this resource. + */ + selfLink?: string | null; + /** + * Output only. [Output Only] Unreachable resources. + * end_interface: MixerListResponseWithEtagBuilder + */ + unreachables?: string[] | null; + /** + * [Output Only] Informational warning message. + */ + warning?: { + code?: string; + data?: Array<{key?: string; value?: string}>; + message?: string; + } | null; + } export interface Schema$OrganizationSecurityPoliciesListAssociationsResponse { /** * A list of associations. @@ -24244,6 +24411,33 @@ export namespace compute_beta { */ status?: string | null; } + /** + * The periodic partial maintenance schedule includes 52 weeks worth of + * maintenance windows. + * LINT.IfChange(PeriodicPartialMaintenanceSchedule) + */ + export interface Schema$PeriodicPartialMaintenanceSchedule { + /** + * The maintenance type in which the zone is during the given window. + */ + subType?: string | null; + /** + * The target resource that the maintenance window is for. + * For example, "projects/my-project/zones/us-central1-a". + */ + targetResource?: string | null; + type?: string | null; + /** + * The end civil timestamp of the window (not inclusive). + * This contains a time zone. + */ + windowEndTime?: Schema$DateTime; + /** + * The start civil timestamp of the window. + * This contains a time zone. + */ + windowStartTime?: Schema$DateTime; + } /** * An Identity and Access Management (IAM) policy, which specifies access * controls for Google Cloud resources. @@ -25666,6 +25860,10 @@ export namespace compute_beta { * in the request. */ allInstances?: boolean | null; + /** + * Actions that are allowed to update instances within MIG. + */ + allowedActions?: string[] | null; /** * 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 aszones/[ZONE]/instances/[INSTANCE_NAME]. @@ -27507,6 +27705,10 @@ export namespace compute_beta { * running. */ export interface Schema$ResourceStatusPhysicalHostTopology { + /** + * Output only. [Output Only] Additional location information of the running instance. + */ + additionalAttributes?: Schema$ResourceStatusPhysicalHostTopologyAdditionalAttributes; /** * [Output Only] The ID of the block in which the running instance is * located. Instances within the same block experience low network latency. @@ -27530,6 +27732,18 @@ export namespace compute_beta { */ subblock?: string | null; } + /** + * Additional location information of the running instance. + */ + export interface Schema$ResourceStatusPhysicalHostTopologyAdditionalAttributes { + /** + * Output only. The IDs of the accelerator topologies the instance belongs to. For + * example + * The key will be topologies like "4x4", "2x2x2" and the value will be + * the location ID of the topologies. + */ + acceleratorTopologyIds?: {[key: string]: string} | null; + } /** * Reservation consumption information that the instance is consuming from. */ @@ -27539,6 +27753,16 @@ export namespace compute_beta { * instance is consuming from. */ consumedReservation?: string | null; + /** + * Output only. [Output Only] The full resource name of the reservation block that this + * instance is consuming from. + */ + consumedReservationBlock?: string | null; + /** + * Output only. [Output Only] The full resource name of the reservation sub-block that + * this instance is consuming from. + */ + consumedReservationSubBlock?: string | null; } export interface Schema$ResourceStatusScheduling { /** @@ -27631,6 +27855,14 @@ export namespace compute_beta { * the last character, which cannot be a dash. */ name?: string | null; + /** + * Output only. The timestamp at which the Rollout was paused. + */ + pauseTime?: string | null; + /** + * Output only. The timestamp at which the Rollout was resumed. + */ + resumeTime?: string | null; /** * Required. The resource being rolled out. */ @@ -28959,6 +29191,12 @@ export namespace compute_beta { * These IPs should be used for updating/patching a NAT only. */ drainNatIps?: string[] | null; + /** + * Output only. Effective timeout (in seconds) for TCP connections that are in TIME_WAIT + * state. This value is equal to tcp_time_wait_timeout_sec if it is set, + * otherwise it is equal to 120s. The field is output only. + */ + effectiveTcpTimeWaitTimeoutSec?: number | null; /** * Enable Dynamic Port Allocation. * @@ -35707,6 +35945,20 @@ export namespace compute_beta { */ permissions?: string[] | null; } + /** + * Represents a time zone from the + * [IANA Time Zone Database](https://www.iana.org/time-zones). + */ + export interface Schema$TimeZone { + /** + * IANA Time Zone Database time zone. For example "America/New_York". + */ + id?: string | null; + /** + * Optional. IANA Time Zone Database version number. For example "2019a". + */ + version?: string | null; + } export interface Schema$Uint128 { high?: string | null; low?: string | null; @@ -37840,6 +38092,7 @@ export namespace compute_beta { * [Output Only] Full URL reference to the region which hosts the zone. */ region?: string | null; + resourceStatus?: Schema$ZoneResourceStatus; /** * [Output Only] Server-defined URL for the resource. */ @@ -37890,6 +38143,12 @@ export namespace compute_beta { message?: string; } | null; } + export interface Schema$ZoneResourceStatus { + /** + * Output only. [Output Only] The upcoming maintenance schedule. + */ + upcomingMaintenances?: Schema$PeriodicPartialMaintenanceSchedule[]; + } export interface Schema$ZoneSetLabelsRequest { /** * The fingerprint of the previous set of labels for this resource, @@ -89292,6 +89551,7 @@ export namespace compute_beta { * // request body parameters * // { * // "allInstances": false, + * // "allowedActions": [], * // "instances": [], * // "minimalAction": "my_minimalAction", * // "mostDisruptiveAllowedAction": "my_mostDisruptiveAllowedAction" @@ -152810,23 +153070,2565 @@ export namespace compute_beta { zone?: string; } - export class Resource$Organizationsecuritypolicies { + export class Resource$Organizationrolloutplans { context: APIRequestContext; constructor(context: APIRequestContext) { this.context = context; } /** - * Inserts an association for the specified security policy. + * Deletes an OrganizationRolloutPlan. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` * - * This has billing implications. Projects in the hierarchy with effective - * hierarchical security policies will be automatically enrolled into Cloud - * Armor Enterprise if not already enrolled. + * const {google} = require('googleapis'); + * const compute = google.compute('beta'); * - * Use this API to modify Cloud Armor policies. Previously, alpha and beta - * versions of this API were used to modify firewall policies. This usage is - * now disabled for most organizations. Use firewallPolicies.addAssociation - * instead. + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.organizationRolloutPlans.delete({ + * // Organization ID for this request. + * organization: 'organizations/[0-9]{0,20}', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // Name of the OrganizationRolloutPlan resource to delete. + * rolloutPlan: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Organizationrolloutplans$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Organizationrolloutplans$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Organizationrolloutplans$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Organizationrolloutplans$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Organizationrolloutplans$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Organizationrolloutplans$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizationrolloutplans$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Organizationrolloutplans$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/beta/{+organization}/global/rolloutPlans/{rolloutPlan}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['organization', 'rolloutPlan'], + pathParams: ['organization', 'rolloutPlan'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets details of a single organization-scoped RolloutPlan. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.organizationRolloutPlans.get({ + * // Organization ID for this request. + * organization: 'organizations/[0-9]{0,20}', + * // Name of the persistent rollout plan to return. + * rolloutPlan: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "id": "my_id", + * // "kind": "my_kind", + * // "locationScope": "my_locationScope", + * // "name": "my_name", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "waves": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Organizationrolloutplans$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Organizationrolloutplans$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Organizationrolloutplans$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Organizationrolloutplans$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Organizationrolloutplans$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Organizationrolloutplans$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizationrolloutplans$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Organizationrolloutplans$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/beta/{+organization}/global/rolloutPlans/{rolloutPlan}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['organization', 'rolloutPlan'], + pathParams: ['organization', 'rolloutPlan'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Creates a new RolloutPlan in a given organization and location. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.organizationRolloutPlans.insert({ + * // Organization ID for this request. + * organization: 'organizations/[0-9]{0,20}', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "id": "my_id", + * // "kind": "my_kind", + * // "locationScope": "my_locationScope", + * // "name": "my_name", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "waves": [] + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + insert( + params: Params$Resource$Organizationrolloutplans$Insert, + options: StreamMethodOptions + ): Promise>; + insert( + params?: Params$Resource$Organizationrolloutplans$Insert, + options?: MethodOptions + ): Promise>; + insert( + params: Params$Resource$Organizationrolloutplans$Insert, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + insert( + params: Params$Resource$Organizationrolloutplans$Insert, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + insert( + params: Params$Resource$Organizationrolloutplans$Insert, + callback: BodyResponseCallback + ): void; + insert(callback: BodyResponseCallback): void; + insert( + paramsOrCallback?: + | Params$Resource$Organizationrolloutplans$Insert + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizationrolloutplans$Insert; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Organizationrolloutplans$Insert; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/compute/beta/{+organization}/global/rolloutPlans' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['organization'], + pathParams: ['organization'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists OrganizationRolloutPlans in a given organization and location. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.organizationRolloutPlans.list({ + * // A filter expression that filters resources listed in the response. Most + * // Compute resources support two types of filter expressions: + * // expressions that support regular expressions and expressions that follow + * // API improvement proposal AIP-160. + * // These two types of filter expressions cannot be mixed in one request. + * // + * // If you want to use AIP-160, your expression must specify the field name, an + * // operator, and the value that you want to use for filtering. The value + * // must be a string, a number, or a boolean. The operator + * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * // + * // For example, if you are filtering Compute Engine instances, you can + * // exclude instances named `example-instance` by specifying + * // `name != example-instance`. + * // + * // The `:*` comparison can be used to test whether a key has been defined. + * // For example, to find all objects with `owner` label use: + * // ``` + * // labels.owner:* + * // ``` + * // + * // You can also filter nested fields. For example, you could specify + * // `scheduling.automaticRestart = false` to include instances only + * // if they are not scheduled for automatic restarts. You can use filtering + * // on nested fields to filter based onresource labels. + * // + * // To filter on multiple expressions, provide each separate expression within + * // parentheses. For example: + * // ``` + * // (scheduling.automaticRestart = true) + * // (cpuPlatform = "Intel Skylake") + * // ``` + * // By default, each expression is an `AND` expression. However, you + * // can include `AND` and `OR` expressions explicitly. + * // For example: + * // ``` + * // (cpuPlatform = "Intel Skylake") OR + * // (cpuPlatform = "Intel Broadwell") AND + * // (scheduling.automaticRestart = true) + * // ``` + * // + * // If you want to use a regular expression, use the `eq` (equal) or `ne` + * // (not equal) operator against a single un-parenthesized expression with or + * // without quotes or against multiple parenthesized expressions. Examples: + * // + * // `fieldname eq unquoted literal` + * // `fieldname eq 'single quoted literal'` + * // `fieldname eq "double quoted literal"` + * // `(fieldname1 eq literal) (fieldname2 ne "literal")` + * // + * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * // The literal value must match the entire field. + * // + * // For example, to filter for instances that do not end with name "instance", + * // you would use `name ne .*instance`. + * // + * // You cannot combine constraints on multiple fields using regular + * // expressions. + * filter: 'placeholder-value', + * // The maximum number of results per page that should be returned. + * // If the number of available results is larger than `maxResults`, + * // Compute Engine returns a `nextPageToken` that can be used to get + * // the next page of results in subsequent list requests. Acceptable values are + * // `0` to `500`, inclusive. (Default: `500`) + * maxResults: 'placeholder-value', + * // Sorts list results by a certain order. By default, results + * // are returned in alphanumerical order based on the resource name. + * // + * // You can also sort results in descending order based on the creation + * // timestamp using `orderBy="creationTimestamp desc"`. This sorts + * // results based on the `creationTimestamp` field in + * // reverse chronological order (newest result first). Use this to sort + * // resources like operations so that the newest operation is returned first. + * // + * // Currently, only sorting by `name` or + * // `creationTimestamp desc` is supported. + * orderBy: 'placeholder-value', + * // Organization ID for this request. + * organization: 'organizations/[0-9]{0,20}', + * // Specifies a page token to use. Set `pageToken` to the + * // `nextPageToken` returned by a previous list request to get + * // the next page of results. + * pageToken: 'placeholder-value', + * // Opt-in for partial success behavior which provides partial results in case + * // of failure. The default value is false. + * // + * // For example, when partial success behavior is enabled, aggregatedList for a + * // single zone scope either returns all resources in the zone or no resources, + * // with an error code. + * returnPartialSuccess: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "etag": "my_etag", + * // "id": "my_id", + * // "items": [], + * // "nextPageToken": "my_nextPageToken", + * // "selfLink": "my_selfLink", + * // "unreachables": [], + * // "warning": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Organizationrolloutplans$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Organizationrolloutplans$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Organizationrolloutplans$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Organizationrolloutplans$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Organizationrolloutplans$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Organizationrolloutplans$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizationrolloutplans$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Organizationrolloutplans$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/compute/beta/{+organization}/global/rolloutPlans' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['organization'], + pathParams: ['organization'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Organizationrolloutplans$Delete extends StandardParameters { + /** + * Organization ID for this request. + */ + organization?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the OrganizationRolloutPlan resource to delete. + */ + rolloutPlan?: string; + } + export interface Params$Resource$Organizationrolloutplans$Get extends StandardParameters { + /** + * Organization ID for this request. + */ + organization?: string; + /** + * Name of the persistent rollout plan to return. + */ + rolloutPlan?: string; + } + export interface Params$Resource$Organizationrolloutplans$Insert extends StandardParameters { + /** + * Organization ID for this request. + */ + organization?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$RolloutPlan; + } + export interface Params$Resource$Organizationrolloutplans$List extends StandardParameters { + /** + * A filter expression that filters resources listed in the response. Most + * Compute resources support two types of filter expressions: + * expressions that support regular expressions and expressions that follow + * API improvement proposal AIP-160. + * These two types of filter expressions cannot be mixed in one request. + * + * If you want to use AIP-160, your expression must specify the field name, an + * operator, and the value that you want to use for filtering. The value + * must be a string, a number, or a boolean. The operator + * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * + * For example, if you are filtering Compute Engine instances, you can + * exclude instances named `example-instance` by specifying + * `name != example-instance`. + * + * The `:*` comparison can be used to test whether a key has been defined. + * For example, to find all objects with `owner` label use: + * ``` + * labels.owner:* + * ``` + * + * You can also filter nested fields. For example, you could specify + * `scheduling.automaticRestart = false` to include instances only + * if they are not scheduled for automatic restarts. You can use filtering + * on nested fields to filter based onresource labels. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example: + * ``` + * (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake") + * ``` + * By default, each expression is an `AND` expression. However, you + * can include `AND` and `OR` expressions explicitly. + * For example: + * ``` + * (cpuPlatform = "Intel Skylake") OR + * (cpuPlatform = "Intel Broadwell") AND + * (scheduling.automaticRestart = true) + * ``` + * + * If you want to use a regular expression, use the `eq` (equal) or `ne` + * (not equal) operator against a single un-parenthesized expression with or + * without quotes or against multiple parenthesized expressions. Examples: + * + * `fieldname eq unquoted literal` + * `fieldname eq 'single quoted literal'` + * `fieldname eq "double quoted literal"` + * `(fieldname1 eq literal) (fieldname2 ne "literal")` + * + * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * The literal value must match the entire field. + * + * For example, to filter for instances that do not end with name "instance", + * you would use `name ne .*instance`. + * + * You cannot combine constraints on multiple fields using regular + * expressions. + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. + * If the number of available results is larger than `maxResults`, + * Compute Engine returns a `nextPageToken` that can be used to get + * the next page of results in subsequent list requests. Acceptable values are + * `0` to `500`, inclusive. (Default: `500`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results + * are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation + * timestamp using `orderBy="creationTimestamp desc"`. This sorts + * results based on the `creationTimestamp` field in + * reverse chronological order (newest result first). Use this to sort + * resources like operations so that the newest operation is returned first. + * + * Currently, only sorting by `name` or + * `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Organization ID for this request. + */ + organization?: string; + /** + * Specifies a page token to use. Set `pageToken` to the + * `nextPageToken` returned by a previous list request to get + * the next page of results. + */ + pageToken?: string; + /** + * Opt-in for partial success behavior which provides partial results in case + * of failure. The default value is false. + * + * For example, when partial success behavior is enabled, aggregatedList for a + * single zone scope either returns all resources in the zone or no resources, + * with an error code. + */ + returnPartialSuccess?: boolean; + } + + export class Resource$Organizationrollouts { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Advances a Rollout to the next wave, or completes it if no waves remain. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.organizationRollouts.advance({ + * // Required. Wave number of the current wave. + * currentWaveNumber: 'placeholder-value', + * // Required. Organization ID for this request. + * organization: 'organizations/[0-9]{1,19}', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // Required. Name of the Rollout resource to advance. + * rollout: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + advance( + params: Params$Resource$Organizationrollouts$Advance, + options: StreamMethodOptions + ): Promise>; + advance( + params?: Params$Resource$Organizationrollouts$Advance, + options?: MethodOptions + ): Promise>; + advance( + params: Params$Resource$Organizationrollouts$Advance, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + advance( + params: Params$Resource$Organizationrollouts$Advance, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + advance( + params: Params$Resource$Organizationrollouts$Advance, + callback: BodyResponseCallback + ): void; + advance(callback: BodyResponseCallback): void; + advance( + paramsOrCallback?: + | Params$Resource$Organizationrollouts$Advance + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizationrollouts$Advance; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Organizationrollouts$Advance; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/beta/{+organization}/global/rollouts/{rollout}/advance' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['organization', 'rollout'], + pathParams: ['organization', 'rollout'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Cancels a Rollout. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.organizationRollouts.cancel({ + * // Required. Organization ID for this request. + * organization: 'organizations/[0-9]{1,19}', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // Optional. If true, then the ongoing rollout must be rolled back. Else, just cancel + * // the rollout without taking any further actions. Note that products must + * // support at least one of these options, however, it does not need to support + * // both. + * rollback: 'placeholder-value', + * // Name of the Rollout resource to cancel. + * rollout: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + cancel( + params: Params$Resource$Organizationrollouts$Cancel, + options: StreamMethodOptions + ): Promise>; + cancel( + params?: Params$Resource$Organizationrollouts$Cancel, + options?: MethodOptions + ): Promise>; + cancel( + params: Params$Resource$Organizationrollouts$Cancel, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + cancel( + params: Params$Resource$Organizationrollouts$Cancel, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + cancel( + params: Params$Resource$Organizationrollouts$Cancel, + callback: BodyResponseCallback + ): void; + cancel(callback: BodyResponseCallback): void; + cancel( + paramsOrCallback?: + | Params$Resource$Organizationrollouts$Cancel + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizationrollouts$Cancel; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Organizationrollouts$Cancel; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/beta/{+organization}/global/rollouts/{rollout}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['organization', 'rollout'], + pathParams: ['organization', 'rollout'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes a Rollout. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.organizationRollouts.delete({ + * // Required. Organization ID for this request. + * organization: 'organizations/[0-9]{1,19}', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // Name of the Rollout resource to delete. + * rollout: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Organizationrollouts$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Organizationrollouts$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Organizationrollouts$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Organizationrollouts$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Organizationrollouts$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Organizationrollouts$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizationrollouts$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Organizationrollouts$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/beta/{+organization}/global/rollouts/{rollout}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['organization', 'rollout'], + pathParams: ['organization', 'rollout'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets details of a single organization-scoped Rollout. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.organizationRollouts.get({ + * // Organization ID for this request. + * organization: 'organizations/[0-9]{0,20}', + * // Name of the persistent rollout to return. + * rollout: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "cancellationTime": "my_cancellationTime", + * // "completionTime": "my_completionTime", + * // "creationTimestamp": "my_creationTimestamp", + * // "currentWaveNumber": "my_currentWaveNumber", + * // "description": "my_description", + * // "etag": "my_etag", + * // "id": "my_id", + * // "kind": "my_kind", + * // "name": "my_name", + * // "pauseTime": "my_pauseTime", + * // "resumeTime": "my_resumeTime", + * // "rolloutEntity": {}, + * // "rolloutPlan": "my_rolloutPlan", + * // "selfLink": "my_selfLink", + * // "selfLinkWithId": "my_selfLinkWithId", + * // "state": "my_state", + * // "waveDetails": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Organizationrollouts$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Organizationrollouts$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Organizationrollouts$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Organizationrollouts$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Organizationrollouts$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Organizationrollouts$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizationrollouts$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Organizationrollouts$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/beta/{+organization}/global/rollouts/{rollout}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['organization', 'rollout'], + pathParams: ['organization', 'rollout'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists Rollouts in a given organization and location. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * 'https://www.googleapis.com/auth/compute.readonly', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.organizationRollouts.list({ + * // A filter expression that filters resources listed in the response. Most + * // Compute resources support two types of filter expressions: + * // expressions that support regular expressions and expressions that follow + * // API improvement proposal AIP-160. + * // These two types of filter expressions cannot be mixed in one request. + * // + * // If you want to use AIP-160, your expression must specify the field name, an + * // operator, and the value that you want to use for filtering. The value + * // must be a string, a number, or a boolean. The operator + * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * // + * // For example, if you are filtering Compute Engine instances, you can + * // exclude instances named `example-instance` by specifying + * // `name != example-instance`. + * // + * // The `:*` comparison can be used to test whether a key has been defined. + * // For example, to find all objects with `owner` label use: + * // ``` + * // labels.owner:* + * // ``` + * // + * // You can also filter nested fields. For example, you could specify + * // `scheduling.automaticRestart = false` to include instances only + * // if they are not scheduled for automatic restarts. You can use filtering + * // on nested fields to filter based onresource labels. + * // + * // To filter on multiple expressions, provide each separate expression within + * // parentheses. For example: + * // ``` + * // (scheduling.automaticRestart = true) + * // (cpuPlatform = "Intel Skylake") + * // ``` + * // By default, each expression is an `AND` expression. However, you + * // can include `AND` and `OR` expressions explicitly. + * // For example: + * // ``` + * // (cpuPlatform = "Intel Skylake") OR + * // (cpuPlatform = "Intel Broadwell") AND + * // (scheduling.automaticRestart = true) + * // ``` + * // + * // If you want to use a regular expression, use the `eq` (equal) or `ne` + * // (not equal) operator against a single un-parenthesized expression with or + * // without quotes or against multiple parenthesized expressions. Examples: + * // + * // `fieldname eq unquoted literal` + * // `fieldname eq 'single quoted literal'` + * // `fieldname eq "double quoted literal"` + * // `(fieldname1 eq literal) (fieldname2 ne "literal")` + * // + * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * // The literal value must match the entire field. + * // + * // For example, to filter for instances that do not end with name "instance", + * // you would use `name ne .*instance`. + * // + * // You cannot combine constraints on multiple fields using regular + * // expressions. + * filter: 'placeholder-value', + * // The maximum number of results per page that should be returned. + * // If the number of available results is larger than `maxResults`, + * // Compute Engine returns a `nextPageToken` that can be used to get + * // the next page of results in subsequent list requests. Acceptable values are + * // `0` to `500`, inclusive. (Default: `500`) + * maxResults: 'placeholder-value', + * // Sorts list results by a certain order. By default, results + * // are returned in alphanumerical order based on the resource name. + * // + * // You can also sort results in descending order based on the creation + * // timestamp using `orderBy="creationTimestamp desc"`. This sorts + * // results based on the `creationTimestamp` field in + * // reverse chronological order (newest result first). Use this to sort + * // resources like operations so that the newest operation is returned first. + * // + * // Currently, only sorting by `name` or + * // `creationTimestamp desc` is supported. + * orderBy: 'placeholder-value', + * // Required. Organization ID for this request. + * organization: 'organizations/[0-9]{1,19}', + * // Specifies a page token to use. Set `pageToken` to the + * // `nextPageToken` returned by a previous list request to get + * // the next page of results. + * pageToken: 'placeholder-value', + * // Opt-in for partial success behavior which provides partial results in case + * // of failure. The default value is false. + * // + * // For example, when partial success behavior is enabled, aggregatedList for a + * // single zone scope either returns all resources in the zone or no resources, + * // with an error code. + * returnPartialSuccess: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "etag": "my_etag", + * // "id": "my_id", + * // "items": [], + * // "nextPageToken": "my_nextPageToken", + * // "selfLink": "my_selfLink", + * // "unreachables": [], + * // "warning": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Organizationrollouts$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Organizationrollouts$List, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + list( + params: Params$Resource$Organizationrollouts$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Organizationrollouts$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Organizationrollouts$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Organizationrollouts$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizationrollouts$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Organizationrollouts$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/compute/beta/{+organization}/global/rollouts' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['organization'], + pathParams: ['organization'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Pauses a Rollout. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.organizationRollouts.pause({ + * // The etag of the Rollout. + * // If this is provided, the request will only succeed if the etag matches + * // the current etag of the Rollout. + * etag: 'placeholder-value', + * // Required. Organization ID for this request. + * organization: 'organizations/[0-9]{1,19}', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // Required. Name of the Rollout resource to pause. + * rollout: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + pause( + params: Params$Resource$Organizationrollouts$Pause, + options: StreamMethodOptions + ): Promise>; + pause( + params?: Params$Resource$Organizationrollouts$Pause, + options?: MethodOptions + ): Promise>; + pause( + params: Params$Resource$Organizationrollouts$Pause, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + pause( + params: Params$Resource$Organizationrollouts$Pause, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + pause( + params: Params$Resource$Organizationrollouts$Pause, + callback: BodyResponseCallback + ): void; + pause(callback: BodyResponseCallback): void; + pause( + paramsOrCallback?: + | Params$Resource$Organizationrollouts$Pause + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizationrollouts$Pause; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Organizationrollouts$Pause; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/beta/{+organization}/global/rollouts/{rollout}/pause' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['organization', 'rollout'], + pathParams: ['organization', 'rollout'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Resumes a Rollout. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('beta'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.organizationRollouts.resume({ + * // The etag of the Rollout. + * // If this is provided, the request will only succeed if the etag matches + * // the current etag of the Rollout. + * etag: 'placeholder-value', + * // Required. Organization ID for this request. + * organization: 'organizations/[0-9]{1,19}', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // Required. Name of the Rollout resource to resume. + * rollout: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + resume( + params: Params$Resource$Organizationrollouts$Resume, + options: StreamMethodOptions + ): Promise>; + resume( + params?: Params$Resource$Organizationrollouts$Resume, + options?: MethodOptions + ): Promise>; + resume( + params: Params$Resource$Organizationrollouts$Resume, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + resume( + params: Params$Resource$Organizationrollouts$Resume, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + resume( + params: Params$Resource$Organizationrollouts$Resume, + callback: BodyResponseCallback + ): void; + resume(callback: BodyResponseCallback): void; + resume( + paramsOrCallback?: + | Params$Resource$Organizationrollouts$Resume + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizationrollouts$Resume; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Organizationrollouts$Resume; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/beta/{+organization}/global/rollouts/{rollout}/resume' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['organization', 'rollout'], + pathParams: ['organization', 'rollout'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Organizationrollouts$Advance extends StandardParameters { + /** + * Required. Wave number of the current wave. + */ + currentWaveNumber?: string; + /** + * Required. Organization ID for this request. + */ + organization?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Required. Name of the Rollout resource to advance. + */ + rollout?: string; + } + export interface Params$Resource$Organizationrollouts$Cancel extends StandardParameters { + /** + * Required. Organization ID for this request. + */ + organization?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Optional. If true, then the ongoing rollout must be rolled back. Else, just cancel + * the rollout without taking any further actions. Note that products must + * support at least one of these options, however, it does not need to support + * both. + */ + rollback?: boolean; + /** + * Name of the Rollout resource to cancel. + */ + rollout?: string; + } + export interface Params$Resource$Organizationrollouts$Delete extends StandardParameters { + /** + * Required. Organization ID for this request. + */ + organization?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the Rollout resource to delete. + */ + rollout?: string; + } + export interface Params$Resource$Organizationrollouts$Get extends StandardParameters { + /** + * Organization ID for this request. + */ + organization?: string; + /** + * Name of the persistent rollout to return. + */ + rollout?: string; + } + export interface Params$Resource$Organizationrollouts$List extends StandardParameters { + /** + * A filter expression that filters resources listed in the response. Most + * Compute resources support two types of filter expressions: + * expressions that support regular expressions and expressions that follow + * API improvement proposal AIP-160. + * These two types of filter expressions cannot be mixed in one request. + * + * If you want to use AIP-160, your expression must specify the field name, an + * operator, and the value that you want to use for filtering. The value + * must be a string, a number, or a boolean. The operator + * must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * + * For example, if you are filtering Compute Engine instances, you can + * exclude instances named `example-instance` by specifying + * `name != example-instance`. + * + * The `:*` comparison can be used to test whether a key has been defined. + * For example, to find all objects with `owner` label use: + * ``` + * labels.owner:* + * ``` + * + * You can also filter nested fields. For example, you could specify + * `scheduling.automaticRestart = false` to include instances only + * if they are not scheduled for automatic restarts. You can use filtering + * on nested fields to filter based onresource labels. + * + * To filter on multiple expressions, provide each separate expression within + * parentheses. For example: + * ``` + * (scheduling.automaticRestart = true) + * (cpuPlatform = "Intel Skylake") + * ``` + * By default, each expression is an `AND` expression. However, you + * can include `AND` and `OR` expressions explicitly. + * For example: + * ``` + * (cpuPlatform = "Intel Skylake") OR + * (cpuPlatform = "Intel Broadwell") AND + * (scheduling.automaticRestart = true) + * ``` + * + * If you want to use a regular expression, use the `eq` (equal) or `ne` + * (not equal) operator against a single un-parenthesized expression with or + * without quotes or against multiple parenthesized expressions. Examples: + * + * `fieldname eq unquoted literal` + * `fieldname eq 'single quoted literal'` + * `fieldname eq "double quoted literal"` + * `(fieldname1 eq literal) (fieldname2 ne "literal")` + * + * The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * The literal value must match the entire field. + * + * For example, to filter for instances that do not end with name "instance", + * you would use `name ne .*instance`. + * + * You cannot combine constraints on multiple fields using regular + * expressions. + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. + * If the number of available results is larger than `maxResults`, + * Compute Engine returns a `nextPageToken` that can be used to get + * the next page of results in subsequent list requests. Acceptable values are + * `0` to `500`, inclusive. (Default: `500`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results + * are returned in alphanumerical order based on the resource name. + * + * You can also sort results in descending order based on the creation + * timestamp using `orderBy="creationTimestamp desc"`. This sorts + * results based on the `creationTimestamp` field in + * reverse chronological order (newest result first). Use this to sort + * resources like operations so that the newest operation is returned first. + * + * Currently, only sorting by `name` or + * `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Required. Organization ID for this request. + */ + organization?: string; + /** + * Specifies a page token to use. Set `pageToken` to the + * `nextPageToken` returned by a previous list request to get + * the next page of results. + */ + pageToken?: string; + /** + * Opt-in for partial success behavior which provides partial results in case + * of failure. The default value is false. + * + * For example, when partial success behavior is enabled, aggregatedList for a + * single zone scope either returns all resources in the zone or no resources, + * with an error code. + */ + returnPartialSuccess?: boolean; + } + export interface Params$Resource$Organizationrollouts$Pause extends StandardParameters { + /** + * The etag of the Rollout. + * If this is provided, the request will only succeed if the etag matches + * the current etag of the Rollout. + */ + etag?: string; + /** + * Required. Organization ID for this request. + */ + organization?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Required. Name of the Rollout resource to pause. + */ + rollout?: string; + } + export interface Params$Resource$Organizationrollouts$Resume extends StandardParameters { + /** + * The etag of the Rollout. + * If this is provided, the request will only succeed if the etag matches + * the current etag of the Rollout. + */ + etag?: string; + /** + * Required. Organization ID for this request. + */ + organization?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Required. Name of the Rollout resource to resume. + */ + rollout?: string; + } + + export class Resource$Organizationsecuritypolicies { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Inserts an association for the specified security policy. + * + * This has billing implications. Projects in the hierarchy with effective + * hierarchical security policies will be automatically enrolled into Cloud + * Armor Enterprise if not already enrolled. + * + * Use this API to modify Cloud Armor policies. Previously, alpha and beta + * versions of this API were used to modify firewall policies. This usage is + * now disabled for most organizations. Use firewallPolicies.addAssociation + * instead. * @example * ```js * // Before running the sample: @@ -190588,6 +193390,7 @@ export namespace compute_beta { * // request body parameters * // { * // "allInstances": false, + * // "allowedActions": [], * // "instances": [], * // "minimalAction": "my_minimalAction", * // "mostDisruptiveAllowedAction": "my_mostDisruptiveAllowedAction" @@ -241297,6 +244100,8 @@ export namespace compute_beta { * // "id": "my_id", * // "kind": "my_kind", * // "name": "my_name", + * // "pauseTime": "my_pauseTime", + * // "resumeTime": "my_resumeTime", * // "rolloutEntity": {}, * // "rolloutPlan": "my_rolloutPlan", * // "selfLink": "my_selfLink", @@ -293885,6 +296690,7 @@ export namespace compute_beta { * // "kind": "my_kind", * // "name": "my_name", * // "region": "my_region", + * // "resourceStatus": {}, * // "selfLink": "my_selfLink", * // "status": "my_status", * // "supportsPzs": false diff --git a/src/apis/compute/v1.ts b/src/apis/compute/v1.ts index 3f70556d1a6..ca9d632ed66 100644 --- a/src/apis/compute/v1.ts +++ b/src/apis/compute/v1.ts @@ -4065,6 +4065,14 @@ export namespace compute_v1 { * traffic served by this backend service. The default value is false. */ enable?: boolean | null; + /** + * The list of request headers that will be logged to Stackdriver. + */ + loggingHttpRequestHeaders?: Schema$BackendServiceLogConfigLoggingHttpHeader[]; + /** + * The list of response headers that will be logged to Stackdriver. + */ + loggingHttpResponseHeaders?: Schema$BackendServiceLogConfigLoggingHttpHeader[]; /** * This field can only be specified if logging is enabled for this backend * service and "logConfig.optionalMode" was set to CUSTOM. Contains a list @@ -4089,6 +4097,15 @@ export namespace compute_v1 { */ sampleRate?: number | null; } + /** + * Determines which HTTP headers will be logged to Stackdriver. + */ + export interface Schema$BackendServiceLogConfigLoggingHttpHeader { + /** + * The name of the header to be logged. + */ + headerName?: string | null; + } export interface Schema$BackendServiceNetworkPassThroughLbTrafficPolicy { /** * When configured, new connections are load balanced across healthy backend @@ -5973,6 +5990,79 @@ export namespace compute_v1 { */ year?: number | null; } + /** + * 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. + */ + export interface Schema$DateTime { + /** + * 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. + */ + day?: number | null; + /** + * 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. + */ + hours?: number | null; + /** + * Optional. Minutes of hour of day. Must be from 0 to 59, defaults to 0. + */ + minutes?: number | null; + /** + * Optional. Month of year. Must be from 1 to 12, or 0 if specifying a + * datetime without a month. + */ + month?: number | null; + /** + * Optional. Fractions of seconds in nanoseconds. Must be from 0 to + * 999,999,999, defaults to 0. + */ + nanos?: number | null; + /** + * 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. + */ + seconds?: number | null; + /** + * Time zone. + */ + timeZone?: Schema$TimeZone; + /** + * 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 \}. + */ + utcOffset?: string | null; + /** + * Optional. Year of date. Must be from 1 to 9999, or 0 if specifying a + * datetime without a year. + */ + year?: number | null; + } /** * Deprecation status for a public resource. */ @@ -8090,6 +8180,10 @@ export namespace compute_v1 { * this forwarding rule. The L3_DEFAULT protocol requiresallPorts be set to true. */ allPorts?: boolean | null; + /** + * Output only. [Output Only]. The extensions that are attached to this ForwardingRule. + */ + attachedExtensions?: Schema$ForwardingRuleAttachedExtension[]; /** * Identifies the backend service to which the forwarding rule sends traffic. * Required for internal and external passthrough Network Load Balancers; @@ -8518,6 +8612,15 @@ export namespace compute_v1 { message?: string; } | null; } + /** + * Reference to an extension resource that is attached to this ForwardingRule. + */ + export interface Schema$ForwardingRuleAttachedExtension { + /** + * Output only. The resource name. + */ + reference?: string | null; + } /** * Contains a list of ForwardingRule resources. */ @@ -14187,34 +14290,33 @@ export namespace compute_v1 { } export interface Schema$InstanceManagedByIgmError { /** - * Output only. [Output Only] Contents of the error. + * Output only. Contents of the error. */ error?: Schema$InstanceManagedByIgmErrorManagedInstanceError; /** - * Output only. [Output Only] Details of the instance action that triggered this error. + * 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. */ instanceActionDetails?: Schema$InstanceManagedByIgmErrorInstanceActionDetails; /** - * Output only. [Output Only] The time that this error occurred. - * This value is in RFC3339 text format. + * Output only. The time that this error occurred. This value is in RFC3339 text format. */ timestamp?: string | null; } export interface Schema$InstanceManagedByIgmErrorInstanceActionDetails { /** - * Output only. [Output Only] Action that managed instance group was executing on - * the instance when the error occurred. Possible values: + * Output only. Action that managed instance group was executing on the instance when the + * error occurred. Possible values: */ action?: string | null; /** - * Output only. [Output Only] The URL of the instance. - * The URL can be set even if the instance has not yet been created. + * Output only. The URL of the instance. The URL can be set even if the instance has not + * yet been created. */ instance?: string | null; /** - * Output only. [Output Only] Version this instance was created from, or was being + * 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. @@ -14223,11 +14325,11 @@ export namespace compute_v1 { } export interface Schema$InstanceManagedByIgmErrorManagedInstanceError { /** - * Output only. [Output Only] Error code. + * Output only. Error code. */ code?: string | null; /** - * Output only. [Output Only] Error message. + * Output only. Error message. */ message?: string | null; } @@ -22262,6 +22364,33 @@ export namespace compute_v1 { */ status?: string | null; } + /** + * The periodic partial maintenance schedule includes 52 weeks worth of + * maintenance windows. + * LINT.IfChange(PeriodicPartialMaintenanceSchedule) + */ + export interface Schema$PeriodicPartialMaintenanceSchedule { + /** + * The maintenance type in which the zone is during the given window. + */ + subType?: string | null; + /** + * The target resource that the maintenance window is for. + * For example, "projects/my-project/zones/us-central1-a". + */ + targetResource?: string | null; + type?: string | null; + /** + * The end civil timestamp of the window (not inclusive). + * This contains a time zone. + */ + windowEndTime?: Schema$DateTime; + /** + * The start civil timestamp of the window. + * This contains a time zone. + */ + windowStartTime?: Schema$DateTime; + } /** * An Identity and Access Management (IAM) policy, which specifies access * controls for Google Cloud resources. @@ -25411,6 +25540,10 @@ export namespace compute_v1 { * running. */ export interface Schema$ResourceStatusPhysicalHostTopology { + /** + * Output only. [Output Only] Additional location information of the running instance. + */ + additionalAttributes?: Schema$ResourceStatusPhysicalHostTopologyAdditionalAttributes; /** * [Output Only] The ID of the block in which the running instance is * located. Instances within the same block experience low network latency. @@ -25434,6 +25567,18 @@ export namespace compute_v1 { */ subblock?: string | null; } + /** + * Additional location information of the running instance. + */ + export interface Schema$ResourceStatusPhysicalHostTopologyAdditionalAttributes { + /** + * Output only. The IDs of the accelerator topologies the instance belongs to. For + * example + * The key will be topologies like "4x4", "2x2x2" and the value will be + * the location ID of the topologies. + */ + acceleratorTopologyIds?: {[key: string]: string} | null; + } /** * Reservation consumption information that the instance is consuming from. */ @@ -25508,6 +25653,14 @@ export namespace compute_v1 { * the last character, which cannot be a dash. */ name?: string | null; + /** + * Output only. The timestamp at which the Rollout was paused. + */ + pauseTime?: string | null; + /** + * Output only. The timestamp at which the Rollout was resumed. + */ + resumeTime?: string | null; /** * Required. The resource being rolled out. */ @@ -26311,6 +26464,10 @@ export namespace compute_v1 { * A list of NAT services created in this router. */ nats?: Schema$RouterNat[]; + /** + * URI of the ncc_gateway to which this router associated. + */ + nccGateway?: string | null; /** * URI of the network to which this router belongs. */ @@ -27233,6 +27390,10 @@ export namespace compute_v1 { bestRoutesForRouter?: Schema$Route[]; bgpPeerStatus?: Schema$RouterStatusBgpPeerStatus[]; natStatus?: Schema$RouterStatusNatStatus[]; + /** + * URI of the ncc_gateway to which this router associated. + */ + nccGateway?: string | null; /** * URI of the network to which this router belongs. */ @@ -33035,6 +33196,20 @@ export namespace compute_v1 { */ permissions?: string[] | null; } + /** + * Represents a time zone from the + * [IANA Time Zone Database](https://www.iana.org/time-zones). + */ + export interface Schema$TimeZone { + /** + * IANA Time Zone Database time zone. For example "America/New_York". + */ + id?: string | null; + /** + * Optional. IANA Time Zone Database version number. For example "2019a". + */ + version?: string | null; + } export interface Schema$Uint128 { high?: string | null; low?: string | null; @@ -35104,6 +35279,7 @@ export namespace compute_v1 { * [Output Only] Full URL reference to the region which hosts the zone. */ region?: string | null; + resourceStatus?: Schema$ZoneResourceStatus; /** * [Output Only] Server-defined URL for the resource. */ @@ -35154,6 +35330,12 @@ export namespace compute_v1 { message?: string; } | null; } + export interface Schema$ZoneResourceStatus { + /** + * Output only. [Output Only] The upcoming maintenance schedule. + */ + upcomingMaintenances?: Schema$PeriodicPartialMaintenanceSchedule[]; + } export interface Schema$ZoneSetLabelsRequest { /** * The fingerprint of the previous set of labels for this resource, @@ -61654,6 +61836,8 @@ export namespace compute_v1 { * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', * // Name of the region scoping this request. * region: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?', + * + * view: 'placeholder-value', * }); * console.log(res.data); * @@ -61664,6 +61848,7 @@ export namespace compute_v1 { * // "allPorts": false, * // "allowGlobalAccess": false, * // "allowPscGlobalAccess": false, + * // "attachedExtensions": [], * // "backendService": "my_backendService", * // "baseForwardingRule": "my_baseForwardingRule", * // "creationTimestamp": "my_creationTimestamp", @@ -61859,6 +62044,7 @@ export namespace compute_v1 { * // "allPorts": false, * // "allowGlobalAccess": false, * // "allowPscGlobalAccess": false, + * // "attachedExtensions": [], * // "backendService": "my_backendService", * // "baseForwardingRule": "my_baseForwardingRule", * // "creationTimestamp": "my_creationTimestamp", @@ -62331,6 +62517,7 @@ export namespace compute_v1 { * // "allPorts": false, * // "allowGlobalAccess": false, * // "allowPscGlobalAccess": false, + * // "attachedExtensions": [], * // "backendService": "my_backendService", * // "baseForwardingRule": "my_baseForwardingRule", * // "creationTimestamp": "my_creationTimestamp", @@ -63049,6 +63236,10 @@ export namespace compute_v1 { * Name of the region scoping this request. */ region?: string; + /** + * + */ + view?: string; } export interface Params$Resource$Forwardingrules$Insert extends StandardParameters { /** @@ -66944,6 +67135,8 @@ export namespace compute_v1 { * // Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * + * view: 'placeholder-value', * }); * console.log(res.data); * @@ -66954,6 +67147,7 @@ export namespace compute_v1 { * // "allPorts": false, * // "allowGlobalAccess": false, * // "allowPscGlobalAccess": false, + * // "attachedExtensions": [], * // "backendService": "my_backendService", * // "baseForwardingRule": "my_baseForwardingRule", * // "creationTimestamp": "my_creationTimestamp", @@ -67147,6 +67341,7 @@ export namespace compute_v1 { * // "allPorts": false, * // "allowGlobalAccess": false, * // "allowPscGlobalAccess": false, + * // "attachedExtensions": [], * // "backendService": "my_backendService", * // "baseForwardingRule": "my_baseForwardingRule", * // "creationTimestamp": "my_creationTimestamp", @@ -67613,6 +67808,7 @@ export namespace compute_v1 { * // "allPorts": false, * // "allowGlobalAccess": false, * // "allowPscGlobalAccess": false, + * // "attachedExtensions": [], * // "backendService": "my_backendService", * // "baseForwardingRule": "my_baseForwardingRule", * // "creationTimestamp": "my_creationTimestamp", @@ -68186,6 +68382,10 @@ export namespace compute_v1 { * Project ID for this request. */ project?: string; + /** + * + */ + view?: string; } export interface Params$Resource$Globalforwardingrules$Insert extends StandardParameters { /** @@ -224303,6 +224503,190 @@ export namespace compute_v1 { this.context = context; } + /** + * Advances a Rollout to the next wave, or completes it if no waves remain. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.rollouts.advance({ + * // Required. Wave number of the current wave. + * currentWaveNumber: 'placeholder-value', + * // Required. Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // Required. Name of the Rollout resource to advance. + * rollout: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + advance( + params: Params$Resource$Rollouts$Advance, + options: StreamMethodOptions + ): Promise>; + advance( + params?: Params$Resource$Rollouts$Advance, + options?: MethodOptions + ): Promise>; + advance( + params: Params$Resource$Rollouts$Advance, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + advance( + params: Params$Resource$Rollouts$Advance, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + advance( + params: Params$Resource$Rollouts$Advance, + callback: BodyResponseCallback + ): void; + advance(callback: BodyResponseCallback): void; + advance( + paramsOrCallback?: + | Params$Resource$Rollouts$Advance + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || {}) as Params$Resource$Rollouts$Advance; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Rollouts$Advance; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/v1/projects/{project}/global/rollouts/{rollout}/advance' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'rollout'], + pathParams: ['project', 'rollout'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Cancels a Rollout. * @example @@ -224726,6 +225110,8 @@ export namespace compute_v1 { * // "id": "my_id", * // "kind": "my_kind", * // "name": "my_name", + * // "pauseTime": "my_pauseTime", + * // "resumeTime": "my_resumeTime", * // "rolloutEntity": {}, * // "rolloutPlan": "my_rolloutPlan", * // "selfLink": "my_selfLink", @@ -224854,7 +225240,428 @@ export namespace compute_v1 { * scopes: [ * 'https://www.googleapis.com/auth/cloud-platform', * 'https://www.googleapis.com/auth/compute', - * 'https://www.googleapis.com/auth/compute.readonly', + * 'https://www.googleapis.com/auth/compute.readonly', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.rollouts.list({ + * // A filter expression that filters resources listed in the response. Most + * // Compute resources support two types of filter expressions: + * // expressions that support regular expressions and expressions that follow + * // API improvement proposal AIP-160. + * // These two types of filter expressions cannot be mixed in one request. + * // + * // If you want to use AIP-160, your expression must specify the field name, an + * // operator, and the value that you want to use for filtering. The value + * // must be a string, a number, or a boolean. The operator + * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. + * // + * // For example, if you are filtering Compute Engine instances, you can + * // exclude instances named `example-instance` by specifying + * // `name != example-instance`. + * // + * // The `:*` comparison can be used to test whether a key has been defined. + * // For example, to find all objects with `owner` label use: + * // ``` + * // labels.owner:* + * // ``` + * // + * // You can also filter nested fields. For example, you could specify + * // `scheduling.automaticRestart = false` to include instances only + * // if they are not scheduled for automatic restarts. You can use filtering + * // on nested fields to filter based onresource labels. + * // + * // To filter on multiple expressions, provide each separate expression within + * // parentheses. For example: + * // ``` + * // (scheduling.automaticRestart = true) + * // (cpuPlatform = "Intel Skylake") + * // ``` + * // By default, each expression is an `AND` expression. However, you + * // can include `AND` and `OR` expressions explicitly. + * // For example: + * // ``` + * // (cpuPlatform = "Intel Skylake") OR + * // (cpuPlatform = "Intel Broadwell") AND + * // (scheduling.automaticRestart = true) + * // ``` + * // + * // If you want to use a regular expression, use the `eq` (equal) or `ne` + * // (not equal) operator against a single un-parenthesized expression with or + * // without quotes or against multiple parenthesized expressions. Examples: + * // + * // `fieldname eq unquoted literal` + * // `fieldname eq 'single quoted literal'` + * // `fieldname eq "double quoted literal"` + * // `(fieldname1 eq literal) (fieldname2 ne "literal")` + * // + * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. + * // The literal value must match the entire field. + * // + * // For example, to filter for instances that do not end with name "instance", + * // you would use `name ne .*instance`. + * // + * // You cannot combine constraints on multiple fields using regular + * // expressions. + * filter: 'placeholder-value', + * // The maximum number of results per page that should be returned. + * // If the number of available results is larger than `maxResults`, + * // Compute Engine returns a `nextPageToken` that can be used to get + * // the next page of results in subsequent list requests. Acceptable values are + * // `0` to `500`, inclusive. (Default: `500`) + * maxResults: 'placeholder-value', + * // Sorts list results by a certain order. By default, results + * // are returned in alphanumerical order based on the resource name. + * // + * // You can also sort results in descending order based on the creation + * // timestamp using `orderBy="creationTimestamp desc"`. This sorts + * // results based on the `creationTimestamp` field in + * // reverse chronological order (newest result first). Use this to sort + * // resources like operations so that the newest operation is returned first. + * // + * // Currently, only sorting by `name` or + * // `creationTimestamp desc` is supported. + * orderBy: 'placeholder-value', + * // Specifies a page token to use. Set `pageToken` to the + * // `nextPageToken` returned by a previous list request to get + * // the next page of results. + * pageToken: 'placeholder-value', + * // Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // Opt-in for partial success behavior which provides partial results in case + * // of failure. The default value is false. + * // + * // For example, when partial success behavior is enabled, aggregatedList for a + * // single zone scope either returns all resources in the zone or no resources, + * // with an error code. + * returnPartialSuccess: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "etag": "my_etag", + * // "id": "my_id", + * // "items": [], + * // "nextPageToken": "my_nextPageToken", + * // "selfLink": "my_selfLink", + * // "unreachables": [], + * // "warning": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Rollouts$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Rollouts$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Rollouts$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Rollouts$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Rollouts$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Rollouts$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || {}) as Params$Resource$Rollouts$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Rollouts$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/compute/v1/projects/{project}/global/rollouts' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Pauses a Rollout. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', + * ], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await compute.rollouts.pause({ + * // The etag of the Rollout. + * // If this is provided, the request will only succeed if the etag matches + * // the current etag of the Rollout. + * etag: 'placeholder-value', + * // Required. Project ID for this request. + * project: + * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. + * // + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // Required. Name of the Rollout resource to pause. + * rollout: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, + * // "id": "my_id", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", + * // "selfLink": "my_selfLink", + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + pause( + params: Params$Resource$Rollouts$Pause, + options: StreamMethodOptions + ): Promise>; + pause( + params?: Params$Resource$Rollouts$Pause, + options?: MethodOptions + ): Promise>; + pause( + params: Params$Resource$Rollouts$Pause, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + pause( + params: Params$Resource$Rollouts$Pause, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + pause( + params: Params$Resource$Rollouts$Pause, + callback: BodyResponseCallback + ): void; + pause(callback: BodyResponseCallback): void; + pause( + paramsOrCallback?: + | Params$Resource$Rollouts$Pause + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || {}) as Params$Resource$Rollouts$Pause; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Rollouts$Pause; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/v1/projects/{project}/global/rollouts/{rollout}/pause' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'rollout'], + pathParams: ['project', 'rollout'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Resumes a Rollout. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/compute.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const compute = google.compute('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/compute', * ], * }); * @@ -224863,110 +225670,62 @@ export namespace compute_v1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await compute.rollouts.list({ - * // A filter expression that filters resources listed in the response. Most - * // Compute resources support two types of filter expressions: - * // expressions that support regular expressions and expressions that follow - * // API improvement proposal AIP-160. - * // These two types of filter expressions cannot be mixed in one request. - * // - * // If you want to use AIP-160, your expression must specify the field name, an - * // operator, and the value that you want to use for filtering. The value - * // must be a string, a number, or a boolean. The operator - * // must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. - * // - * // For example, if you are filtering Compute Engine instances, you can - * // exclude instances named `example-instance` by specifying - * // `name != example-instance`. - * // - * // The `:*` comparison can be used to test whether a key has been defined. - * // For example, to find all objects with `owner` label use: - * // ``` - * // labels.owner:* - * // ``` - * // - * // You can also filter nested fields. For example, you could specify - * // `scheduling.automaticRestart = false` to include instances only - * // if they are not scheduled for automatic restarts. You can use filtering - * // on nested fields to filter based onresource labels. - * // - * // To filter on multiple expressions, provide each separate expression within - * // parentheses. For example: - * // ``` - * // (scheduling.automaticRestart = true) - * // (cpuPlatform = "Intel Skylake") - * // ``` - * // By default, each expression is an `AND` expression. However, you - * // can include `AND` and `OR` expressions explicitly. - * // For example: - * // ``` - * // (cpuPlatform = "Intel Skylake") OR - * // (cpuPlatform = "Intel Broadwell") AND - * // (scheduling.automaticRestart = true) - * // ``` - * // - * // If you want to use a regular expression, use the `eq` (equal) or `ne` - * // (not equal) operator against a single un-parenthesized expression with or - * // without quotes or against multiple parenthesized expressions. Examples: - * // - * // `fieldname eq unquoted literal` - * // `fieldname eq 'single quoted literal'` - * // `fieldname eq "double quoted literal"` - * // `(fieldname1 eq literal) (fieldname2 ne "literal")` - * // - * // The literal value is interpreted as a regular expression using GoogleRE2 library syntax. - * // The literal value must match the entire field. - * // - * // For example, to filter for instances that do not end with name "instance", - * // you would use `name ne .*instance`. - * // - * // You cannot combine constraints on multiple fields using regular - * // expressions. - * filter: 'placeholder-value', - * // The maximum number of results per page that should be returned. - * // If the number of available results is larger than `maxResults`, - * // Compute Engine returns a `nextPageToken` that can be used to get - * // the next page of results in subsequent list requests. Acceptable values are - * // `0` to `500`, inclusive. (Default: `500`) - * maxResults: 'placeholder-value', - * // Sorts list results by a certain order. By default, results - * // are returned in alphanumerical order based on the resource name. - * // - * // You can also sort results in descending order based on the creation - * // timestamp using `orderBy="creationTimestamp desc"`. This sorts - * // results based on the `creationTimestamp` field in - * // reverse chronological order (newest result first). Use this to sort - * // resources like operations so that the newest operation is returned first. - * // - * // Currently, only sorting by `name` or - * // `creationTimestamp desc` is supported. - * orderBy: 'placeholder-value', - * // Specifies a page token to use. Set `pageToken` to the - * // `nextPageToken` returned by a previous list request to get - * // the next page of results. - * pageToken: 'placeholder-value', - * // Project ID for this request. + * const res = await compute.rollouts.resume({ + * // The etag of the Rollout. + * // If this is provided, the request will only succeed if the etag matches + * // the current etag of the Rollout. + * etag: 'placeholder-value', + * // Required. Project ID for this request. * project: * '(?:(?:[-a-z0-9]{1,63}\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))', - * // Opt-in for partial success behavior which provides partial results in case - * // of failure. The default value is false. + * // An optional request ID to identify requests. Specify a unique request ID so + * // that if you must retry your request, the server will know to ignore the + * // request if it has already been completed. * // - * // For example, when partial success behavior is enabled, aggregatedList for a - * // single zone scope either returns all resources in the zone or no resources, - * // with an error code. - * returnPartialSuccess: 'placeholder-value', + * // For example, consider a situation where you make an initial request and + * // the request times out. If you make the request again with the same + * // request ID, the server can check if original operation with the same + * // request ID was received, and if so, will ignore the second request. This + * // prevents clients from accidentally creating duplicate commitments. + * // + * // The request ID must be + * // a valid UUID with the exception that zero UUID is not supported + * // (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // Required. Name of the Rollout resource to resume. + * rollout: '[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}', * }); * console.log(res.data); * * // Example response * // { - * // "etag": "my_etag", + * // "clientOperationId": "my_clientOperationId", + * // "creationTimestamp": "my_creationTimestamp", + * // "description": "my_description", + * // "endTime": "my_endTime", + * // "error": {}, + * // "getVersionOperationMetadata": {}, + * // "httpErrorMessage": "my_httpErrorMessage", + * // "httpErrorStatusCode": 0, * // "id": "my_id", - * // "items": [], - * // "nextPageToken": "my_nextPageToken", + * // "insertTime": "my_insertTime", + * // "instancesBulkInsertOperationMetadata": {}, + * // "kind": "my_kind", + * // "name": "my_name", + * // "operationGroupId": "my_operationGroupId", + * // "operationType": "my_operationType", + * // "progress": 0, + * // "region": "my_region", * // "selfLink": "my_selfLink", - * // "unreachables": [], - * // "warning": {} + * // "setCommonInstanceMetadataOperationMetadata": {}, + * // "startTime": "my_startTime", + * // "status": "my_status", + * // "statusMessage": "my_statusMessage", + * // "targetId": "my_targetId", + * // "targetLink": "my_targetLink", + * // "user": "my_user", + * // "warnings": [], + * // "zone": "my_zone" * // } * } * @@ -224982,54 +225741,52 @@ export namespace compute_v1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - list( - params: Params$Resource$Rollouts$List, + resume( + params: Params$Resource$Rollouts$Resume, options: StreamMethodOptions ): Promise>; - list( - params?: Params$Resource$Rollouts$List, + resume( + params?: Params$Resource$Rollouts$Resume, options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Rollouts$List, + ): Promise>; + resume( + params: Params$Resource$Rollouts$Resume, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Rollouts$List, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + resume( + params: Params$Resource$Rollouts$Resume, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Rollouts$List, - callback: BodyResponseCallback + resume( + params: Params$Resource$Rollouts$Resume, + callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; - list( + resume(callback: BodyResponseCallback): void; + resume( paramsOrCallback?: - | Params$Resource$Rollouts$List - | BodyResponseCallback + | Params$Resource$Rollouts$Resume + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { - let params = (paramsOrCallback || {}) as Params$Resource$Rollouts$List; + let params = (paramsOrCallback || {}) as Params$Resource$Rollouts$Resume; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Rollouts$List; + params = {} as Params$Resource$Rollouts$Resume; options = {}; } @@ -225043,29 +225800,60 @@ export namespace compute_v1 { options: Object.assign( { url: ( - rootUrl + '/compute/v1/projects/{project}/global/rollouts' + rootUrl + + '/compute/v1/projects/{project}/global/rollouts/{rollout}/resume' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project'], - pathParams: ['project'], + requiredParams: ['project', 'rollout'], + pathParams: ['project', 'rollout'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } } + export interface Params$Resource$Rollouts$Advance extends StandardParameters { + /** + * Required. Wave number of the current wave. + */ + currentWaveNumber?: string; + /** + * Required. Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Required. Name of the Rollout resource to advance. + */ + rollout?: string; + } export interface Params$Resource$Rollouts$Cancel extends StandardParameters { /** * Project ID for this request. @@ -225239,6 +226027,70 @@ export namespace compute_v1 { */ returnPartialSuccess?: boolean; } + export interface Params$Resource$Rollouts$Pause extends StandardParameters { + /** + * The etag of the Rollout. + * If this is provided, the request will only succeed if the etag matches + * the current etag of the Rollout. + */ + etag?: string; + /** + * Required. Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Required. Name of the Rollout resource to pause. + */ + rollout?: string; + } + export interface Params$Resource$Rollouts$Resume extends StandardParameters { + /** + * The etag of the Rollout. + * If this is provided, the request will only succeed if the etag matches + * the current etag of the Rollout. + */ + etag?: string; + /** + * Required. Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so + * that if you must retry your request, the server will know to ignore the + * request if it has already been completed. + * + * For example, consider a situation where you make an initial request and + * the request times out. If you make the request again with the same + * request ID, the server can check if original operation with the same + * request ID was received, and if so, will ignore the second request. This + * prevents clients from accidentally creating duplicate commitments. + * + * The request ID must be + * a valid UUID with the exception that zero UUID is not supported + * (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Required. Name of the Rollout resource to resume. + */ + rollout?: string; + } export class Resource$Routers { context: APIRequestContext; @@ -225928,6 +226780,7 @@ export namespace compute_v1 { * // "md5AuthenticationKeys": [], * // "name": "my_name", * // "nats": [], + * // "nccGateway": "my_nccGateway", * // "network": "my_network", * // "params": {}, * // "region": "my_region", @@ -226806,6 +227659,7 @@ export namespace compute_v1 { * // "md5AuthenticationKeys": [], * // "name": "my_name", * // "nats": [], + * // "nccGateway": "my_nccGateway", * // "network": "my_network", * // "params": {}, * // "region": "my_region", @@ -227757,6 +228611,7 @@ export namespace compute_v1 { * // "md5AuthenticationKeys": [], * // "name": "my_name", * // "nats": [], + * // "nccGateway": "my_nccGateway", * // "network": "my_network", * // "params": {}, * // "region": "my_region", @@ -228148,6 +229003,7 @@ export namespace compute_v1 { * // "md5AuthenticationKeys": [], * // "name": "my_name", * // "nats": [], + * // "nccGateway": "my_nccGateway", * // "network": "my_network", * // "params": {}, * // "region": "my_region", @@ -228335,6 +229191,7 @@ export namespace compute_v1 { * // "md5AuthenticationKeys": [], * // "name": "my_name", * // "nats": [], + * // "nccGateway": "my_nccGateway", * // "network": "my_network", * // "params": {}, * // "region": "my_region", @@ -272165,6 +273022,7 @@ export namespace compute_v1 { * // "kind": "my_kind", * // "name": "my_name", * // "region": "my_region", + * // "resourceStatus": {}, * // "selfLink": "my_selfLink", * // "status": "my_status", * // "supportsPzs": false diff --git a/src/apis/contactcenterinsights/v1.ts b/src/apis/contactcenterinsights/v1.ts index bdfc4400d52..44a6f39b4a8 100644 --- a/src/apis/contactcenterinsights/v1.ts +++ b/src/apis/contactcenterinsights/v1.ts @@ -124,272 +124,6 @@ export namespace contactcenterinsights_v1 { } } - /** - * A content blob. A Blob contains data of a specific media type. It is used to represent images, audio, and video. - */ - export interface Schema$GoogleCloudAiplatformV1Blob { - /** - * Required. The raw bytes of the data. - */ - data?: string | null; - /** - * Optional. The display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server-side tools (`code_execution`, `google_search`, and `url_context`) are enabled. - */ - displayName?: string | null; - /** - * Required. The IANA standard MIME type of the source data. - */ - mimeType?: string | null; - } - /** - * Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. - */ - export interface Schema$GoogleCloudAiplatformV1CodeExecutionResult { - /** - * Required. Outcome of the code execution. - */ - outcome?: string | null; - /** - * Optional. Contains stdout when code execution is successful, stderr or other description otherwise. - */ - output?: string | null; - } - /** - * The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message. - */ - export interface Schema$GoogleCloudAiplatformV1Content { - /** - * Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part. - */ - parts?: Schema$GoogleCloudAiplatformV1Part[]; - /** - * Optional. The producer of the content. Must be either 'user' or 'model'. If not set, the service will default to 'user'. - */ - role?: string | null; - } - /** - * Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated. - */ - export interface Schema$GoogleCloudAiplatformV1ExecutableCode { - /** - * Required. The code to be executed. - */ - code?: string | null; - /** - * Required. Programming language of the `code`. - */ - language?: string | null; - } - /** - * URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage. - */ - export interface Schema$GoogleCloudAiplatformV1FileData { - /** - * Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled. - */ - displayName?: string | null; - /** - * Required. The URI of the file in Google Cloud Storage. - */ - fileUri?: string | null; - /** - * Required. The IANA standard MIME type of the source data. - */ - mimeType?: string | null; - } - /** - * 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. - */ - export interface Schema$GoogleCloudAiplatformV1FunctionCall { - /** - * Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details. - */ - args?: {[key: string]: any} | null; - /** - * Optional. The name of the function to call. Matches FunctionDeclaration.name. - */ - name?: string | null; - /** - * Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally. - */ - partialArgs?: Schema$GoogleCloudAiplatformV1PartialArg[]; - /** - * Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow. - */ - willContinue?: boolean | null; - } - /** - * 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. - */ - export interface Schema$GoogleCloudAiplatformV1FunctionResponse { - /** - * Required. The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name. - */ - name?: string | null; - /** - * Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types. - */ - parts?: Schema$GoogleCloudAiplatformV1FunctionResponsePart[]; - /** - * 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. - */ - response?: {[key: string]: any} | null; - /** - * Optional. Specifies how the response should be scheduled in the conversation. Only applicable to NON_BLOCKING function calls, is ignored otherwise. Defaults to WHEN_IDLE. - */ - scheduling?: string | null; - } - /** - * Raw media bytes for function response. Text should not be sent as raw bytes, use the 'text' field. - */ - export interface Schema$GoogleCloudAiplatformV1FunctionResponseBlob { - /** - * Required. Raw bytes. - */ - data?: string | null; - /** - * Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled. - */ - displayName?: string | null; - /** - * Required. The IANA standard MIME type of the source data. - */ - mimeType?: string | null; - } - /** - * URI based data for function response. - */ - export interface Schema$GoogleCloudAiplatformV1FunctionResponseFileData { - /** - * Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled. - */ - displayName?: string | null; - /** - * Required. URI. - */ - fileUri?: string | null; - /** - * Required. The IANA standard MIME type of the source data. - */ - mimeType?: string | null; - } - /** - * A datatype containing media that is part of a `FunctionResponse` message. A `FunctionResponsePart` consists of data which has an associated datatype. A `FunctionResponsePart` can only contain one of the accepted types in `FunctionResponsePart.data`. A `FunctionResponsePart` must have a fixed IANA MIME type identifying the type and subtype of the media if the `inline_data` field is filled with raw bytes. - */ - export interface Schema$GoogleCloudAiplatformV1FunctionResponsePart { - /** - * URI based data. - */ - fileData?: Schema$GoogleCloudAiplatformV1FunctionResponseFileData; - /** - * Inline media bytes. - */ - inlineData?: Schema$GoogleCloudAiplatformV1FunctionResponseBlob; - } - /** - * A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes. - */ - export interface Schema$GoogleCloudAiplatformV1Part { - /** - * Optional. The result of executing the ExecutableCode. - */ - codeExecutionResult?: Schema$GoogleCloudAiplatformV1CodeExecutionResult; - /** - * Optional. Code generated by the model that is intended to be executed. - */ - executableCode?: Schema$GoogleCloudAiplatformV1ExecutableCode; - /** - * Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage. - */ - fileData?: Schema$GoogleCloudAiplatformV1FileData; - /** - * Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function. - */ - functionCall?: Schema$GoogleCloudAiplatformV1FunctionCall; - /** - * Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted. - */ - functionResponse?: Schema$GoogleCloudAiplatformV1FunctionResponse; - /** - * Optional. The inline data content of the part. This can be used to include images, audio, or video in a request. - */ - inlineData?: Schema$GoogleCloudAiplatformV1Blob; - /** - * per part media resolution. Media resolution for the input media. - */ - mediaResolution?: Schema$GoogleCloudAiplatformV1PartMediaResolution; - /** - * Optional. The text content of the part. When sent from the VSCode Gemini Code Assist extension, references to @mentioned items will be converted to markdown boldface text. For example `@my-repo` will be converted to and sent as `**my-repo**` by the IDE agent. - */ - text?: string | null; - /** - * Optional. Indicates whether the `part` represents the model's thought process or reasoning. - */ - thought?: boolean | null; - /** - * Optional. An opaque signature for the thought so it can be reused in subsequent requests. - */ - thoughtSignature?: string | null; - /** - * Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data. - */ - videoMetadata?: Schema$GoogleCloudAiplatformV1VideoMetadata; - } - /** - * Partial argument value of the function call. - */ - export interface Schema$GoogleCloudAiplatformV1PartialArg { - /** - * Optional. Represents a boolean value. - */ - boolValue?: boolean | null; - /** - * Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. "$.foo.bar[0].data". - */ - jsonPath?: string | null; - /** - * Optional. Represents a null value. - */ - nullValue?: string | null; - /** - * Optional. Represents a double value. - */ - numberValue?: number | null; - /** - * Optional. Represents a string value. - */ - stringValue?: string | null; - /** - * Optional. Whether this is not the last part of the same json_path. If true, another PartialArg message for the current json_path is expected to follow. - */ - willContinue?: boolean | null; - } - /** - * per part media resolution. Media resolution for the input media. - */ - export interface Schema$GoogleCloudAiplatformV1PartMediaResolution { - /** - * The tokenization quality used for given media. - */ - level?: string | null; - } - /** - * Provides metadata for a video, including the start and end offsets for clipping and the frame rate. - */ - export interface Schema$GoogleCloudAiplatformV1VideoMetadata { - /** - * Optional. The end offset of the video. - */ - endOffset?: string | null; - /** - * Optional. The frame rate of the video sent to the model. If not specified, the default value is 1.0. The valid range is (0.0, 24.0]. - */ - fps?: number | null; - /** - * Optional. The start offset of the video. - */ - startOffset?: string | null; - } /** * Represents an event indicating the transfer of a conversation to a different agent. */ @@ -1727,204 +1461,6 @@ export namespace contactcenterinsights_v1 { * The response to deploy an issue model. */ export interface Schema$GoogleCloudContactcenterinsightsV1alpha1DeployIssueModelResponse {} - /** - * Metadata for a DiagnoseConversations operation. - */ - export interface Schema$GoogleCloudContactcenterinsightsV1alpha1DiagnoseConversationsMetadata { - /** - * Output only. The time the operation was created. - */ - createTime?: string | null; - /** - * Output only. The diagnostic report containing metrics and intent breakdowns. - */ - diagnosticReport?: Schema$GoogleCloudContactcenterinsightsV1alpha1DiagnosticReport; - /** - * Output only. The time the operation finished running. - */ - endTime?: string | null; - /** - * Output only. If true, the agent generated a full diagnostic report for all sub-agents. - */ - fullReport?: boolean | null; - /** - * Output only. The most recent thought or action from the agent. - */ - latestStep?: Schema$GoogleCloudContactcenterinsightsV1alpha1SherlockStep; - /** - * Output only. The type of metric being diagnosed. - */ - metricType?: string | null; - /** - * Output only. Deprecated: Use partial_trajectory_steps instead. Output only. The intermediate trajectory updates (partial trajectory). - */ - partialTrajectories?: string[] | null; - /** - * Output only. The intermediate trajectory updates. This can be used for live progress tracking of the agent's thoughts and actions as it works through the analysis. - */ - partialTrajectorySteps?: Schema$GoogleCloudContactcenterinsightsV1alpha1SherlockStep[]; - /** - * Output only. The request that created the operation. - */ - request?: Schema$GoogleCloudContactcenterinsightsV1alpha1DiagnoseConversationsRequest; - } - /** - * The request to analyze conversation data using agentic workflows. This RPC triggers a complex analysis process that may involve several steps of reasoning and tool execution. - */ - export interface Schema$GoogleCloudContactcenterinsightsV1alpha1DiagnoseConversationsRequest { - /** - * ces agent display name (e.g., "Steering", "Billing"). - */ - agentDisplayName?: string | null; - /** - * ces agent id to diagnose. - */ - agentId?: string | null; - /** - * Required. The CES App ID. - */ - appId?: string | null; - /** - * Optional. Optional but highly recommended. ces app version. If provided, specific version of agent instruction will be retrieved. If empty or set to '-', will use the latest draft version of instruction. - */ - appVersion?: string | null; - /** - * Optional. Deprecated: If true, the request will be validated and a simulation of the analysis will be performed without actually executing the task. This field is unused. Use validate_only instead. - */ - dryRun?: boolean | null; - /** - * Optional. AIP-160 compliant filter for selecting target conversations. - */ - filter?: string | null; - /** - * Optional. Deprecated: If true, the agent will generate a full diagnostic report for all sub-agents. Subagent reporting configuration is unused. The final diagnostic details are already persisted inside the Diagnostic resource instead. - */ - fullReport?: boolean | null; - /** - * Optional. A unique identifier used to group multiple diagnostic requests triggered under the same run batch or cron job. - */ - groupId?: string | null; - /** - * Optional. Deprecated: Specific instructions for the agent. Use app_id and subagent fields instead. - */ - instructions?: string | null; - /** - * Optional. The maximum number of steps the agent can take during the execution of the task. Defaults to 10. - */ - maxSteps?: number | null; - /** - * Optional. The type of metric being diagnosed. - */ - metricType?: string | null; - /** - * Optional. Deprecated: The configuration for the output of the task. The export destination is unused. Detailed markdown and conversation slices are already persisted inside the Diagnostic resource instead. - */ - outputConfig?: Schema$GoogleCloudContactcenterinsightsV1alpha1OutputConfig; - /** - * Required. The parent resource where the analysis will be performed. - */ - parent?: string | null; - /** - * Optional. Required. A unique ID that identifies the request. If the service receives two `DiagnoseConversationsRequest`s with the same `request_id`, then the second request will be ignored; instead, the response of the first request will be returned. The ID must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters. - */ - requestId?: string | null; - /** - * Optional. A natural language description of the analysis goal or question. - */ - taskQuery?: string | null; - /** - * Optional. If true, the request will only be validated (permissions, filter syntax, etc.) without actually triggering the analysis. - */ - validateOnly?: boolean | null; - } - /** - * The response from a DiagnoseConversations request. - */ - export interface Schema$GoogleCloudContactcenterinsightsV1alpha1DiagnoseConversationsResponse { - /** - * Output only. Deprecated: Output only. The final, high-level answer or diagnostic summary returned by the Sherlock worker is deprecated. The persistent analysis summary is stored inside the Diagnostic resource instead. - */ - answer?: string | null; - /** - * Output only. Deprecated: Output only. If an external destination was requested, the URI of the exported data is deprecated. The persistent diagnostic details are stored inside the Diagnostic resource instead. - */ - exportUri?: string | null; - /** - * Output only. Deprecated: Use full_trajectory_steps instead. Output only. The complete sequence of thoughts and actions (full trajectory). - */ - fullTrajectories?: string[] | null; - /** - * Output only. Deprecated: Output only. The complete sequence of thoughts and actions taken by the agent is deprecated under LRO response completions. Use the persistent details inside the Diagnostic resource instead. - */ - fullTrajectorySteps?: Schema$GoogleCloudContactcenterinsightsV1alpha1SherlockStep[]; - } - /** - * A diagnostic report containing loss patterns and problematic slice stats. - */ - export interface Schema$GoogleCloudContactcenterinsightsV1alpha1DiagnosticReport { - /** - * Output only. A map of conversation slices used in the report. - */ - conversationSlices?: { - [ - key: string - ]: Schema$GoogleCloudContactcenterinsightsV1alpha1DiagnosticReportConversationSlice; - } | null; - /** - * Output only. Deprecated: Intent breakdowns are no longer used. - */ - intentStats?: Schema$GoogleCloudContactcenterinsightsV1alpha1DiagnosticReportIntentStats[]; - /** - * Output only. A list of loss patterns identified for the entire project/dataset. - */ - lossPatterns?: Schema$GoogleCloudContactcenterinsightsV1alpha1LossPattern[]; - /** - * Output only. Deprecated: The type of the metric. Metrics for Outcome Based Insights derived from QueryMetrics. - */ - metrics?: { - [key: string]: Schema$GoogleCloudContactcenterinsightsV1alpha1MetricValue; - } | null; - /** - * Output only. The final report in markdown format. - */ - report?: string | null; - } - /** - * Output only. A map of conversation slices used in the report. - */ - export interface Schema$GoogleCloudContactcenterinsightsV1alpha1DiagnosticReportConversationSlice { - /** - * The list of conversation IDs that match this slice. - */ - conversationIds?: string[] | null; - } - /** - * A breakdown of metrics grouped by intent. - */ - export interface Schema$GoogleCloudContactcenterinsightsV1alpha1DiagnosticReportIntentStats { - /** - * Output only. The number of conversations associated with this intent. - */ - conversationCount?: number | null; - /** - * Output only. The display name of the intent. - */ - intentDisplayName?: string | null; - /** - * Output only. The unique identifier for the intent (from Discovery Engine). - */ - intentId?: string | null; - /** - * Output only. A list of loss patterns identified for this intent. - */ - lossPatterns?: Schema$GoogleCloudContactcenterinsightsV1alpha1LossPattern[]; - /** - * Output only. Deprecated: The type of the metric. Metrics for Outcome Based Insights derived from QueryMetrics. - */ - metrics?: { - [key: string]: Schema$GoogleCloudContactcenterinsightsV1alpha1MetricValue; - } | null; - } /** * The data for a Dialogflow intent. Represents a detected intent in the conversation, e.g. MAKES_PROMISE. */ @@ -3030,187 +2566,6 @@ export namespace contactcenterinsights_v1 { */ nextPageToken?: string | null; } - /** - * A loss pattern of a virtual agent and suggested fixes. - */ - export interface Schema$GoogleCloudContactcenterinsightsV1alpha1LossPattern { - /** - * Output only. A list of conversation IDs that match this loss pattern. - */ - conversationIds?: string[] | null; - /** - * Output only. A markdown description of the loss pattern. - */ - description?: string | null; - /** - * Output only. The display name of the loss pattern. - */ - displayName?: string | null; - /** - * Output only. A markdown of loss pattern examples. - */ - examples?: string | null; - /** - * Output only. The unique identifier for the loss pattern. - */ - id?: string | null; - /** - * Output only. A list of links to conversations or bot instructions. - */ - links?: Schema$GoogleCloudContactcenterinsightsV1alpha1LossPatternLink[]; - /** - * Output only. The percentage of conversations that match this loss pattern. - */ - percentage?: number | null; - /** - * Output only. A markdown description of the suggested fixes. - */ - suggestedFixes?: string | null; - } - /** - * A link to a conversation or bot instruction. - */ - export interface Schema$GoogleCloudContactcenterinsightsV1alpha1LossPatternLink { - /** - * A link to a bot instruction. - */ - botInstructionLink?: Schema$GoogleCloudContactcenterinsightsV1alpha1LossPatternLinkBotInstructionLink; - /** - * A link to a conversation. - */ - conversationLink?: Schema$GoogleCloudContactcenterinsightsV1alpha1LossPatternLinkConversationLink; - /** - * The end byte index of the highlighted text (exclusive). - */ - endByteIndex?: number | null; - /** - * The text that is highlighted. (populated for debugging purposes) - */ - highlightedText?: string | null; - /** - * The location type. - */ - locationType?: string | null; - /** - * The start byte index of the highlighted text (inclusive). - */ - startByteIndex?: number | null; - } - /** - * A link to a bot instruction. - */ - export interface Schema$GoogleCloudContactcenterinsightsV1alpha1LossPatternLinkBotInstructionLink { - /** - * The exclusive end line number of the instructions. - */ - endLine?: number | null; - /** - * The inclusive start line number of the instructions. - */ - startLine?: number | null; - /** - * The name of the subagent. - */ - subagent?: string | null; - } - /** - * A link to a conversation. - */ - export interface Schema$GoogleCloudContactcenterinsightsV1alpha1LossPatternLinkConversationLink { - /** - * The conversation ID. - */ - conversationId?: string | null; - } - /** - * Deprecated: MetricValue is no longer used for diagnostics. - */ - export interface Schema$GoogleCloudContactcenterinsightsV1alpha1MetricValue { - /** - * Output only. The list of conversation names that contributed to this metric (hits). Format: `projects/{project\}/locations/{location\}/conversations/{conversation\}` - */ - conversations?: string[] | null; - /** - * Output only. The user-visible name of the metric (e.g., "Containment Rate"). - */ - displayName?: string | null; - /** - * Output only. The number of positive matches (hits) for this metric. - */ - hitCount?: number | null; - /** - * Output only. Deprecated: The type of the metric. Metrics for Outcome Based Insights derived from QueryMetrics. - */ - metricType?: string | null; - /** - * Output only. The resource name of the underlying Insights primitive (e.g., Tag or QaQuestion) used to calculate this metric. - */ - sourceId?: string | null; - /** - * Output only. The total number of items evaluated for this metric. - */ - totalCount?: number | null; - /** - * Output only. The calculated value of the metric (usually a ratio or rate 0.0 - 1.0). - */ - value?: number | null; - } - /** - * Configuration for where to export or return the analysis findings. - */ - export interface Schema$GoogleCloudContactcenterinsightsV1alpha1OutputConfig { - /** - * Optional. Export to BigQuery. - */ - bigqueryDestination?: Schema$GoogleCloudContactcenterinsightsV1alpha1OutputConfigBigQueryDestination; - /** - * Optional. Export to a Cloud Storage bucket. - */ - gcsDestination?: Schema$GoogleCloudContactcenterinsightsV1alpha1OutputConfigGcsDestination; - /** - * Optional. Export directly to a Google Sheet. - */ - googleSheetsDestination?: Schema$GoogleCloudContactcenterinsightsV1alpha1OutputConfigGoogleSheetsDestination; - } - /** - * BigQuery destination configuration. - */ - export interface Schema$GoogleCloudContactcenterinsightsV1alpha1OutputConfigBigQueryDestination { - /** - * Required. The name of the BigQuery dataset. - */ - dataset?: string | null; - /** - * Optional. A project ID or number. - */ - projectId?: string | null; - /** - * Required. The BigQuery table name. - */ - table?: string | null; - } - /** - * Cloud Storage destination configuration. - */ - export interface Schema$GoogleCloudContactcenterinsightsV1alpha1OutputConfigGcsDestination { - /** - * Required. The Cloud Storage URI to export the results to. - */ - uri?: string | null; - } - /** - * Google Sheets destination configuration. - */ - export interface Schema$GoogleCloudContactcenterinsightsV1alpha1OutputConfigGoogleSheetsDestination { - /** - * Optional. The sheet name. - */ - sheet?: string | null; - /** - * Optional. An existing Google Sheets ID. - */ - spreadsheetId?: string | null; - } /** * The data for a matched phrase matcher. Represents information identifying a phrase matcher for a given match. */ @@ -3977,43 +3332,6 @@ export namespace contactcenterinsights_v1 { */ score?: number | null; } - /** - * A step in the agent's reasoning process (Trajectory Step). - */ - export interface Schema$GoogleCloudContactcenterinsightsV1alpha1SherlockStep { - /** - * Output only. The ID of the agent that produced/received this content. - */ - agentId?: string | null; - /** - * Output only. The content of the turn (either Model or User role). - */ - content?: Schema$GoogleCloudAiplatformV1Content; - /** - * Output only. List of state changes caused by this specific turn. - */ - stateDeltas?: Array<{[key: string]: any}> | null; - /** - * Output only. Unique ID for this specific turn. - */ - stepId?: string | null; - /** - * Output only. Deprecated: Use content instead. - */ - textInput?: string[] | null; - /** - * Output only. Deprecated: Use content instead. - */ - thought?: string | null; - /** - * Output only. Deprecated: Use content instead. - */ - toolCalls?: Schema$GoogleCloudContactcenterinsightsV1alpha1ToolCall[]; - /** - * Output only. Deprecated: Use content instead. - */ - toolOutput?: {[key: string]: any} | null; - } /** * The data for a silence annotation. */ @@ -4154,19 +3472,6 @@ export namespace contactcenterinsights_v1 { */ joinKeyResults?: Schema$GoogleCloudContactcenterinsightsV1alpha1ConversationCorrelationResult[]; } - /** - * A tool call from the agent. - */ - export interface Schema$GoogleCloudContactcenterinsightsV1alpha1ToolCall { - /** - * Output only. The input arguments to the tool. - */ - input?: {[key: string]: any} | null; - /** - * Output only. The name of the tool being called. - */ - toolName?: string | null; - } /** * Metadata for undeploying an issue model. */ @@ -6100,249 +5405,6 @@ export namespace contactcenterinsights_v1 { * The request to deploy a QaScorecardRevision */ export interface Schema$GoogleCloudContactcenterinsightsV1DeployQaScorecardRevisionRequest {} - /** - * Metadata for a DiagnoseConversations operation. - */ - export interface Schema$GoogleCloudContactcenterinsightsV1DiagnoseConversationsMetadata { - /** - * Output only. The time the operation was created. - */ - createTime?: string | null; - /** - * Output only. The diagnostic report containing metrics and intent breakdowns. - */ - diagnosticReport?: Schema$GoogleCloudContactcenterinsightsV1DiagnosticReport; - /** - * Output only. The time the operation finished running. - */ - endTime?: string | null; - /** - * Output only. If true, the agent generated a full diagnostic report for all sub-agents. - */ - fullReport?: boolean | null; - /** - * Output only. The most recent thought or action from the agent. - */ - latestStep?: Schema$GoogleCloudContactcenterinsightsV1SherlockStep; - /** - * Output only. The type of metric being diagnosed. - */ - metricType?: string | null; - /** - * Output only. Deprecated: Use partial_trajectory_steps instead. Output only. The intermediate trajectory updates (partial trajectory). - */ - partialTrajectories?: string[] | null; - /** - * Output only. The intermediate trajectory updates. This can be used for live progress tracking of the agent's thoughts and actions as it works through the analysis. - */ - partialTrajectorySteps?: Schema$GoogleCloudContactcenterinsightsV1SherlockStep[]; - /** - * Output only. The request that created the operation. - */ - request?: Schema$GoogleCloudContactcenterinsightsV1DiagnoseConversationsRequest; - } - /** - * The request to analyze conversation data using agentic workflows. This RPC triggers a complex analysis process that may involve several steps of reasoning and tool execution. - */ - export interface Schema$GoogleCloudContactcenterinsightsV1DiagnoseConversationsRequest { - /** - * ces agent display name (e.g., "Steering", "Billing"). - */ - agentDisplayName?: string | null; - /** - * ces agent id to diagnose. - */ - agentId?: string | null; - /** - * Required. The CES App ID. - */ - appId?: string | null; - /** - * Optional. Optional but highly recommended. ces app version. If provided, specific version of agent instruction will be retrieved. If empty or set to '-', will use the latest draft version of instruction. - */ - appVersion?: string | null; - /** - * Optional. Deprecated: If true, the request will be validated and a simulation of the analysis will be performed without actually executing the task. This field is unused. Use validate_only instead. - */ - dryRun?: boolean | null; - /** - * Optional. AIP-160 compliant filter for selecting target conversations. - */ - filter?: string | null; - /** - * Optional. Deprecated: If true, the agent will generate a full diagnostic report for all sub-agents. Subagent reporting configuration is unused. The final diagnostic details are already persisted inside the Diagnostic resource instead. - */ - fullReport?: boolean | null; - /** - * Optional. A unique identifier used to group multiple diagnostic requests triggered under the same run batch or cron job. - */ - groupId?: string | null; - /** - * Optional. Deprecated: Specific instructions for the agent. Use app_id and subagent fields instead. - */ - instructions?: string | null; - /** - * Optional. The maximum number of steps the agent can take during the execution of the task. Defaults to 10. - */ - maxSteps?: number | null; - /** - * Optional. The type of metric being diagnosed. - */ - metricType?: string | null; - /** - * Optional. Deprecated: The configuration for the output of the task. The export destination is unused. Detailed markdown and conversation slices are already persisted inside the Diagnostic resource instead. - */ - outputConfig?: Schema$GoogleCloudContactcenterinsightsV1OutputConfig; - /** - * Required. The parent resource where the analysis will be performed. - */ - parent?: string | null; - /** - * Optional. Required. A unique ID that identifies the request. If the service receives two `DiagnoseConversationsRequest`s with the same `request_id`, then the second request will be ignored; instead, the response of the first request will be returned. The ID must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters. - */ - requestId?: string | null; - /** - * Optional. A natural language description of the analysis goal or question. - */ - taskQuery?: string | null; - /** - * Optional. If true, the request will only be validated (permissions, filter syntax, etc.) without actually triggering the analysis. - */ - validateOnly?: boolean | null; - } - /** - * The response from a DiagnoseConversations request. - */ - export interface Schema$GoogleCloudContactcenterinsightsV1DiagnoseConversationsResponse { - /** - * Output only. Deprecated: Output only. The final, high-level answer or diagnostic summary returned by the Sherlock worker is deprecated. The persistent analysis summary is stored inside the Diagnostic resource instead. - */ - answer?: string | null; - /** - * Output only. Deprecated: Output only. If an external destination was requested, the URI of the exported data is deprecated. The persistent diagnostic details are stored inside the Diagnostic resource instead. - */ - exportUri?: string | null; - /** - * Output only. Deprecated: Use full_trajectory_steps instead. Output only. The complete sequence of thoughts and actions (full trajectory). - */ - fullTrajectories?: string[] | null; - /** - * Output only. Deprecated: Output only. The complete sequence of thoughts and actions taken by the agent is deprecated under LRO response completions. Use the persistent details inside the Diagnostic resource instead. - */ - fullTrajectorySteps?: Schema$GoogleCloudContactcenterinsightsV1SherlockStep[]; - } - /** - * The diagnostic resource. - */ - export interface Schema$GoogleCloudContactcenterinsightsV1Diagnostic { - /** - * Output only. The display name of the agent associated with the diagnostic. - */ - agentDisplayName?: string | null; - /** - * Output only. The ID of the agent associated with the diagnostic. - */ - agentId?: string | null; - /** - * Output only. The complete sequence of thoughts and actions taken by the agent. - */ - analysisSummary?: string | null; - /** - * Output only. The application ID associated with the diagnostic. - */ - appId?: string | null; - /** - * Output only. The application version associated with the diagnostic. - */ - appVersion?: string | null; - /** - * Output only. The filter used to select the conversations that were included in the diagnostic. - */ - conversationFilter?: string | null; - /** - * Output only. The time at which the diagnostic was created. - */ - createTime?: string | null; - /** - * Output only. The timestamp when the group was created. - */ - groupCreateTime?: string | null; - /** - * Immutable. Identifier. The resource name of the diagnostic. - */ - name?: string | null; - /** - * Output only. The report containing the findings of the diagnostic. - */ - report?: Schema$GoogleCloudContactcenterinsightsV1DiagnosticReport; - } - /** - * A diagnostic report containing loss patterns and problematic slice stats. - */ - export interface Schema$GoogleCloudContactcenterinsightsV1DiagnosticReport { - /** - * Output only. A map of conversation slices used in the report. - */ - conversationSlices?: { - [ - key: string - ]: Schema$GoogleCloudContactcenterinsightsV1DiagnosticReportConversationSlice; - } | null; - /** - * Output only. Deprecated: Intent breakdowns are no longer used. - */ - intentStats?: Schema$GoogleCloudContactcenterinsightsV1DiagnosticReportIntentStats[]; - /** - * Output only. A list of loss patterns identified for the entire project/dataset. - */ - lossPatterns?: Schema$GoogleCloudContactcenterinsightsV1LossPattern[]; - /** - * Output only. Deprecated: The type of the metric. Metrics for Outcome Based Insights derived from QueryMetrics. - */ - metrics?: { - [key: string]: Schema$GoogleCloudContactcenterinsightsV1MetricValue; - } | null; - /** - * Output only. The final report in markdown format. - */ - report?: string | null; - } - /** - * Output only. A map of conversation slices used in the report. - */ - export interface Schema$GoogleCloudContactcenterinsightsV1DiagnosticReportConversationSlice { - /** - * The list of conversation IDs that match this slice. - */ - conversationIds?: string[] | null; - } - /** - * A breakdown of metrics grouped by intent. - */ - export interface Schema$GoogleCloudContactcenterinsightsV1DiagnosticReportIntentStats { - /** - * Output only. The number of conversations associated with this intent. - */ - conversationCount?: number | null; - /** - * Output only. The display name of the intent. - */ - intentDisplayName?: string | null; - /** - * Output only. The unique identifier for the intent (from Discovery Engine). - */ - intentId?: string | null; - /** - * Output only. A list of loss patterns identified for this intent. - */ - lossPatterns?: Schema$GoogleCloudContactcenterinsightsV1LossPattern[]; - /** - * Output only. Deprecated: The type of the metric. Metrics for Outcome Based Insights derived from QueryMetrics. - */ - metrics?: { - [key: string]: Schema$GoogleCloudContactcenterinsightsV1MetricValue; - } | null; - } /** * The data for a Dialogflow intent. Represents a detected intent in the conversation, e.g. MAKES_PROMISE. */ @@ -7761,19 +6823,6 @@ export namespace contactcenterinsights_v1 { */ nextPageToken?: string | null; } - /** - * The response from a ListDiagnostics request. - */ - export interface Schema$GoogleCloudContactcenterinsightsV1ListDiagnosticsResponse { - /** - * Optional. The diagnostics that match the request. - */ - diagnostics?: Schema$GoogleCloudContactcenterinsightsV1Diagnostic[]; - /** - * Optional. A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. - */ - nextPageToken?: string | null; - } /** * The response for listing feedback labels. */ @@ -7896,98 +6945,6 @@ export namespace contactcenterinsights_v1 { */ views?: Schema$GoogleCloudContactcenterinsightsV1View[]; } - /** - * A loss pattern of a virtual agent and suggested fixes. - */ - export interface Schema$GoogleCloudContactcenterinsightsV1LossPattern { - /** - * Output only. A list of conversation IDs that match this loss pattern. - */ - conversationIds?: string[] | null; - /** - * Output only. A markdown description of the loss pattern. - */ - description?: string | null; - /** - * Output only. The display name of the loss pattern. - */ - displayName?: string | null; - /** - * Output only. A markdown of loss pattern examples. - */ - examples?: string | null; - /** - * Output only. The unique identifier for the loss pattern. - */ - id?: string | null; - /** - * Output only. A list of links to conversations or bot instructions. - */ - links?: Schema$GoogleCloudContactcenterinsightsV1LossPatternLink[]; - /** - * Output only. The percentage of conversations that match this loss pattern. - */ - percentage?: number | null; - /** - * Output only. A markdown description of the suggested fixes. - */ - suggestedFixes?: string | null; - } - /** - * A link to a conversation or bot instruction. - */ - export interface Schema$GoogleCloudContactcenterinsightsV1LossPatternLink { - /** - * A link to a bot instruction. - */ - botInstructionLink?: Schema$GoogleCloudContactcenterinsightsV1LossPatternLinkBotInstructionLink; - /** - * A link to a conversation. - */ - conversationLink?: Schema$GoogleCloudContactcenterinsightsV1LossPatternLinkConversationLink; - /** - * The end byte index of the highlighted text (exclusive). - */ - endByteIndex?: number | null; - /** - * The text that is highlighted. (populated for debugging purposes) - */ - highlightedText?: string | null; - /** - * The location type. - */ - locationType?: string | null; - /** - * The start byte index of the highlighted text (inclusive). - */ - startByteIndex?: number | null; - } - /** - * A link to a bot instruction. - */ - export interface Schema$GoogleCloudContactcenterinsightsV1LossPatternLinkBotInstructionLink { - /** - * The exclusive end line number of the instructions. - */ - endLine?: number | null; - /** - * The inclusive start line number of the instructions. - */ - startLine?: number | null; - /** - * The name of the subagent. - */ - subagent?: string | null; - } - /** - * A link to a conversation. - */ - export interface Schema$GoogleCloudContactcenterinsightsV1LossPatternLinkConversationLink { - /** - * The conversation ID. - */ - conversationId?: string | null; - } /** * The analysis resource. */ @@ -9248,204 +8205,6 @@ export namespace contactcenterinsights_v1 { * The response to deploy an issue model. */ export interface Schema$GoogleCloudContactcenterinsightsV1mainDeployIssueModelResponse {} - /** - * Metadata for a DiagnoseConversations operation. - */ - export interface Schema$GoogleCloudContactcenterinsightsV1mainDiagnoseConversationsMetadata { - /** - * Output only. The time the operation was created. - */ - createTime?: string | null; - /** - * Output only. The diagnostic report containing metrics and intent breakdowns. - */ - diagnosticReport?: Schema$GoogleCloudContactcenterinsightsV1mainDiagnosticReport; - /** - * Output only. The time the operation finished running. - */ - endTime?: string | null; - /** - * Output only. If true, the agent generated a full diagnostic report for all sub-agents. - */ - fullReport?: boolean | null; - /** - * Output only. The most recent thought or action from the agent. - */ - latestStep?: Schema$GoogleCloudContactcenterinsightsV1mainSherlockStep; - /** - * Output only. The type of metric being diagnosed. - */ - metricType?: string | null; - /** - * Output only. Deprecated: Use partial_trajectory_steps instead. Output only. The intermediate trajectory updates (partial trajectory). - */ - partialTrajectories?: string[] | null; - /** - * Output only. The intermediate trajectory updates. This can be used for live progress tracking of the agent's thoughts and actions as it works through the analysis. - */ - partialTrajectorySteps?: Schema$GoogleCloudContactcenterinsightsV1mainSherlockStep[]; - /** - * Output only. The request that created the operation. - */ - request?: Schema$GoogleCloudContactcenterinsightsV1mainDiagnoseConversationsRequest; - } - /** - * The request to analyze conversation data using agentic workflows. This RPC triggers a complex analysis process that may involve several steps of reasoning and tool execution. - */ - export interface Schema$GoogleCloudContactcenterinsightsV1mainDiagnoseConversationsRequest { - /** - * ces agent display name (e.g., "Steering", "Billing"). - */ - agentDisplayName?: string | null; - /** - * ces agent id to diagnose. - */ - agentId?: string | null; - /** - * Required. The CES App ID. - */ - appId?: string | null; - /** - * Optional. Optional but highly recommended. ces app version. If provided, specific version of agent instruction will be retrieved. If empty or set to '-', will use the latest draft version of instruction. - */ - appVersion?: string | null; - /** - * Optional. Deprecated: If true, the request will be validated and a simulation of the analysis will be performed without actually executing the task. This field is unused. Use validate_only instead. - */ - dryRun?: boolean | null; - /** - * Optional. AIP-160 compliant filter for selecting target conversations. - */ - filter?: string | null; - /** - * Optional. Deprecated: If true, the agent will generate a full diagnostic report for all sub-agents. Subagent reporting configuration is unused. The final diagnostic details are already persisted inside the Diagnostic resource instead. - */ - fullReport?: boolean | null; - /** - * Optional. A unique identifier used to group multiple diagnostic requests triggered under the same run batch or cron job. - */ - groupId?: string | null; - /** - * Optional. Deprecated: Specific instructions for the agent. Use app_id and subagent fields instead. - */ - instructions?: string | null; - /** - * Optional. The maximum number of steps the agent can take during the execution of the task. Defaults to 10. - */ - maxSteps?: number | null; - /** - * Optional. The type of metric being diagnosed. - */ - metricType?: string | null; - /** - * Optional. Deprecated: The configuration for the output of the task. The export destination is unused. Detailed markdown and conversation slices are already persisted inside the Diagnostic resource instead. - */ - outputConfig?: Schema$GoogleCloudContactcenterinsightsV1mainOutputConfig; - /** - * Required. The parent resource where the analysis will be performed. - */ - parent?: string | null; - /** - * Optional. Required. A unique ID that identifies the request. If the service receives two `DiagnoseConversationsRequest`s with the same `request_id`, then the second request will be ignored; instead, the response of the first request will be returned. The ID must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). The maximum length is 40 characters. - */ - requestId?: string | null; - /** - * Optional. A natural language description of the analysis goal or question. - */ - taskQuery?: string | null; - /** - * Optional. If true, the request will only be validated (permissions, filter syntax, etc.) without actually triggering the analysis. - */ - validateOnly?: boolean | null; - } - /** - * The response from a DiagnoseConversations request. - */ - export interface Schema$GoogleCloudContactcenterinsightsV1mainDiagnoseConversationsResponse { - /** - * Output only. Deprecated: Output only. The final, high-level answer or diagnostic summary returned by the Sherlock worker is deprecated. The persistent analysis summary is stored inside the Diagnostic resource instead. - */ - answer?: string | null; - /** - * Output only. Deprecated: Output only. If an external destination was requested, the URI of the exported data is deprecated. The persistent diagnostic details are stored inside the Diagnostic resource instead. - */ - exportUri?: string | null; - /** - * Output only. Deprecated: Use full_trajectory_steps instead. Output only. The complete sequence of thoughts and actions (full trajectory). - */ - fullTrajectories?: string[] | null; - /** - * Output only. Deprecated: Output only. The complete sequence of thoughts and actions taken by the agent is deprecated under LRO response completions. Use the persistent details inside the Diagnostic resource instead. - */ - fullTrajectorySteps?: Schema$GoogleCloudContactcenterinsightsV1mainSherlockStep[]; - } - /** - * A diagnostic report containing loss patterns and problematic slice stats. - */ - export interface Schema$GoogleCloudContactcenterinsightsV1mainDiagnosticReport { - /** - * Output only. A map of conversation slices used in the report. - */ - conversationSlices?: { - [ - key: string - ]: Schema$GoogleCloudContactcenterinsightsV1mainDiagnosticReportConversationSlice; - } | null; - /** - * Output only. Deprecated: Intent breakdowns are no longer used. - */ - intentStats?: Schema$GoogleCloudContactcenterinsightsV1mainDiagnosticReportIntentStats[]; - /** - * Output only. A list of loss patterns identified for the entire project/dataset. - */ - lossPatterns?: Schema$GoogleCloudContactcenterinsightsV1mainLossPattern[]; - /** - * Output only. Deprecated: The type of the metric. Metrics for Outcome Based Insights derived from QueryMetrics. - */ - metrics?: { - [key: string]: Schema$GoogleCloudContactcenterinsightsV1mainMetricValue; - } | null; - /** - * Output only. The final report in markdown format. - */ - report?: string | null; - } - /** - * Output only. A map of conversation slices used in the report. - */ - export interface Schema$GoogleCloudContactcenterinsightsV1mainDiagnosticReportConversationSlice { - /** - * The list of conversation IDs that match this slice. - */ - conversationIds?: string[] | null; - } - /** - * A breakdown of metrics grouped by intent. - */ - export interface Schema$GoogleCloudContactcenterinsightsV1mainDiagnosticReportIntentStats { - /** - * Output only. The number of conversations associated with this intent. - */ - conversationCount?: number | null; - /** - * Output only. The display name of the intent. - */ - intentDisplayName?: string | null; - /** - * Output only. The unique identifier for the intent (from Discovery Engine). - */ - intentId?: string | null; - /** - * Output only. A list of loss patterns identified for this intent. - */ - lossPatterns?: Schema$GoogleCloudContactcenterinsightsV1mainLossPattern[]; - /** - * Output only. Deprecated: The type of the metric. Metrics for Outcome Based Insights derived from QueryMetrics. - */ - metrics?: { - [key: string]: Schema$GoogleCloudContactcenterinsightsV1mainMetricValue; - } | null; - } /** * The data for a Dialogflow intent. Represents a detected intent in the conversation, e.g. MAKES_PROMISE. */ @@ -10551,187 +9310,6 @@ export namespace contactcenterinsights_v1 { */ nextPageToken?: string | null; } - /** - * A loss pattern of a virtual agent and suggested fixes. - */ - export interface Schema$GoogleCloudContactcenterinsightsV1mainLossPattern { - /** - * Output only. A list of conversation IDs that match this loss pattern. - */ - conversationIds?: string[] | null; - /** - * Output only. A markdown description of the loss pattern. - */ - description?: string | null; - /** - * Output only. The display name of the loss pattern. - */ - displayName?: string | null; - /** - * Output only. A markdown of loss pattern examples. - */ - examples?: string | null; - /** - * Output only. The unique identifier for the loss pattern. - */ - id?: string | null; - /** - * Output only. A list of links to conversations or bot instructions. - */ - links?: Schema$GoogleCloudContactcenterinsightsV1mainLossPatternLink[]; - /** - * Output only. The percentage of conversations that match this loss pattern. - */ - percentage?: number | null; - /** - * Output only. A markdown description of the suggested fixes. - */ - suggestedFixes?: string | null; - } - /** - * A link to a conversation or bot instruction. - */ - export interface Schema$GoogleCloudContactcenterinsightsV1mainLossPatternLink { - /** - * A link to a bot instruction. - */ - botInstructionLink?: Schema$GoogleCloudContactcenterinsightsV1mainLossPatternLinkBotInstructionLink; - /** - * A link to a conversation. - */ - conversationLink?: Schema$GoogleCloudContactcenterinsightsV1mainLossPatternLinkConversationLink; - /** - * The end byte index of the highlighted text (exclusive). - */ - endByteIndex?: number | null; - /** - * The text that is highlighted. (populated for debugging purposes) - */ - highlightedText?: string | null; - /** - * The location type. - */ - locationType?: string | null; - /** - * The start byte index of the highlighted text (inclusive). - */ - startByteIndex?: number | null; - } - /** - * A link to a bot instruction. - */ - export interface Schema$GoogleCloudContactcenterinsightsV1mainLossPatternLinkBotInstructionLink { - /** - * The exclusive end line number of the instructions. - */ - endLine?: number | null; - /** - * The inclusive start line number of the instructions. - */ - startLine?: number | null; - /** - * The name of the subagent. - */ - subagent?: string | null; - } - /** - * A link to a conversation. - */ - export interface Schema$GoogleCloudContactcenterinsightsV1mainLossPatternLinkConversationLink { - /** - * The conversation ID. - */ - conversationId?: string | null; - } - /** - * Deprecated: MetricValue is no longer used for diagnostics. - */ - export interface Schema$GoogleCloudContactcenterinsightsV1mainMetricValue { - /** - * Output only. The list of conversation names that contributed to this metric (hits). Format: `projects/{project\}/locations/{location\}/conversations/{conversation\}` - */ - conversations?: string[] | null; - /** - * Output only. The user-visible name of the metric (e.g., "Containment Rate"). - */ - displayName?: string | null; - /** - * Output only. The number of positive matches (hits) for this metric. - */ - hitCount?: number | null; - /** - * Output only. Deprecated: The type of the metric. Metrics for Outcome Based Insights derived from QueryMetrics. - */ - metricType?: string | null; - /** - * Output only. The resource name of the underlying Insights primitive (e.g., Tag or QaQuestion) used to calculate this metric. - */ - sourceId?: string | null; - /** - * Output only. The total number of items evaluated for this metric. - */ - totalCount?: number | null; - /** - * Output only. The calculated value of the metric (usually a ratio or rate 0.0 - 1.0). - */ - value?: number | null; - } - /** - * Configuration for where to export or return the analysis findings. - */ - export interface Schema$GoogleCloudContactcenterinsightsV1mainOutputConfig { - /** - * Optional. Export to BigQuery. - */ - bigqueryDestination?: Schema$GoogleCloudContactcenterinsightsV1mainOutputConfigBigQueryDestination; - /** - * Optional. Export to a Cloud Storage bucket. - */ - gcsDestination?: Schema$GoogleCloudContactcenterinsightsV1mainOutputConfigGcsDestination; - /** - * Optional. Export directly to a Google Sheet. - */ - googleSheetsDestination?: Schema$GoogleCloudContactcenterinsightsV1mainOutputConfigGoogleSheetsDestination; - } - /** - * BigQuery destination configuration. - */ - export interface Schema$GoogleCloudContactcenterinsightsV1mainOutputConfigBigQueryDestination { - /** - * Required. The name of the BigQuery dataset. - */ - dataset?: string | null; - /** - * Optional. A project ID or number. - */ - projectId?: string | null; - /** - * Required. The BigQuery table name. - */ - table?: string | null; - } - /** - * Cloud Storage destination configuration. - */ - export interface Schema$GoogleCloudContactcenterinsightsV1mainOutputConfigGcsDestination { - /** - * Required. The Cloud Storage URI to export the results to. - */ - uri?: string | null; - } - /** - * Google Sheets destination configuration. - */ - export interface Schema$GoogleCloudContactcenterinsightsV1mainOutputConfigGoogleSheetsDestination { - /** - * Optional. The sheet name. - */ - sheet?: string | null; - /** - * Optional. An existing Google Sheets ID. - */ - spreadsheetId?: string | null; - } /** * The data for a matched phrase matcher. Represents information identifying a phrase matcher for a given match. */ @@ -11498,43 +10076,6 @@ export namespace contactcenterinsights_v1 { */ score?: number | null; } - /** - * A step in the agent's reasoning process (Trajectory Step). - */ - export interface Schema$GoogleCloudContactcenterinsightsV1mainSherlockStep { - /** - * Output only. The ID of the agent that produced/received this content. - */ - agentId?: string | null; - /** - * Output only. The content of the turn (either Model or User role). - */ - content?: Schema$GoogleCloudAiplatformV1Content; - /** - * Output only. List of state changes caused by this specific turn. - */ - stateDeltas?: Array<{[key: string]: any}> | null; - /** - * Output only. Unique ID for this specific turn. - */ - stepId?: string | null; - /** - * Output only. Deprecated: Use content instead. - */ - textInput?: string[] | null; - /** - * Output only. Deprecated: Use content instead. - */ - thought?: string | null; - /** - * Output only. Deprecated: Use content instead. - */ - toolCalls?: Schema$GoogleCloudContactcenterinsightsV1mainToolCall[]; - /** - * Output only. Deprecated: Use content instead. - */ - toolOutput?: {[key: string]: any} | null; - } /** * The data for a silence annotation. */ @@ -11675,19 +10216,6 @@ export namespace contactcenterinsights_v1 { */ joinKeyResults?: Schema$GoogleCloudContactcenterinsightsV1mainConversationCorrelationResult[]; } - /** - * A tool call from the agent. - */ - export interface Schema$GoogleCloudContactcenterinsightsV1mainToolCall { - /** - * Output only. The input arguments to the tool. - */ - input?: {[key: string]: any} | null; - /** - * Output only. The name of the tool being called. - */ - toolName?: string | null; - } /** * Metadata for undeploying an issue model. */ @@ -11811,39 +10339,6 @@ export namespace contactcenterinsights_v1 { */ sourceId?: string | null; } - /** - * Deprecated: MetricValue is no longer used for diagnostics. - */ - export interface Schema$GoogleCloudContactcenterinsightsV1MetricValue { - /** - * Output only. The list of conversation names that contributed to this metric (hits). Format: `projects/{project\}/locations/{location\}/conversations/{conversation\}` - */ - conversations?: string[] | null; - /** - * Output only. The user-visible name of the metric (e.g., "Containment Rate"). - */ - displayName?: string | null; - /** - * Output only. The number of positive matches (hits) for this metric. - */ - hitCount?: number | null; - /** - * Output only. Deprecated: The type of the metric. Metrics for Outcome Based Insights derived from QueryMetrics. - */ - metricType?: string | null; - /** - * Output only. The resource name of the underlying Insights primitive (e.g., Tag or QaQuestion) used to calculate this metric. - */ - sourceId?: string | null; - /** - * Output only. The total number of items evaluated for this metric. - */ - totalCount?: number | null; - /** - * Output only. The calculated value of the metric (usually a ratio or rate 0.0 - 1.0). - */ - value?: number | null; - } /** * The conversation assessment note resource. */ @@ -11903,62 +10398,6 @@ export namespace contactcenterinsights_v1 { */ qaQuestion?: string | null; } - /** - * Configuration for where to export or return the analysis findings. - */ - export interface Schema$GoogleCloudContactcenterinsightsV1OutputConfig { - /** - * Optional. Export to BigQuery. - */ - bigqueryDestination?: Schema$GoogleCloudContactcenterinsightsV1OutputConfigBigQueryDestination; - /** - * Optional. Export to a Cloud Storage bucket. - */ - gcsDestination?: Schema$GoogleCloudContactcenterinsightsV1OutputConfigGcsDestination; - /** - * Optional. Export directly to a Google Sheet. - */ - googleSheetsDestination?: Schema$GoogleCloudContactcenterinsightsV1OutputConfigGoogleSheetsDestination; - } - /** - * BigQuery destination configuration. - */ - export interface Schema$GoogleCloudContactcenterinsightsV1OutputConfigBigQueryDestination { - /** - * Required. The name of the BigQuery dataset. - */ - dataset?: string | null; - /** - * Optional. A project ID or number. - */ - projectId?: string | null; - /** - * Required. The BigQuery table name. - */ - table?: string | null; - } - /** - * Cloud Storage destination configuration. - */ - export interface Schema$GoogleCloudContactcenterinsightsV1OutputConfigGcsDestination { - /** - * Required. The Cloud Storage URI to export the results to. - */ - uri?: string | null; - } - /** - * Google Sheets destination configuration. - */ - export interface Schema$GoogleCloudContactcenterinsightsV1OutputConfigGoogleSheetsDestination { - /** - * Optional. The sheet name. - */ - sheet?: string | null; - /** - * Optional. An existing Google Sheets ID. - */ - spreadsheetId?: string | null; - } /** * The data for a matched phrase matcher. Represents information identifying a phrase matcher for a given match. */ @@ -13215,43 +11654,6 @@ export namespace contactcenterinsights_v1 { [key: string]: Schema$GoogleCloudContactcenterinsightsV1MetricDefinition; } | null; } - /** - * A step in the agent's reasoning process (Trajectory Step). - */ - export interface Schema$GoogleCloudContactcenterinsightsV1SherlockStep { - /** - * Output only. The ID of the agent that produced/received this content. - */ - agentId?: string | null; - /** - * Output only. The content of the turn (either Model or User role). - */ - content?: Schema$GoogleCloudAiplatformV1Content; - /** - * Output only. List of state changes caused by this specific turn. - */ - stateDeltas?: Array<{[key: string]: any}> | null; - /** - * Output only. Unique ID for this specific turn. - */ - stepId?: string | null; - /** - * Output only. Deprecated: Use content instead. - */ - textInput?: string[] | null; - /** - * Output only. Deprecated: Use content instead. - */ - thought?: string | null; - /** - * Output only. Deprecated: Use content instead. - */ - toolCalls?: Schema$GoogleCloudContactcenterinsightsV1ToolCall[]; - /** - * Output only. Deprecated: Use content instead. - */ - toolOutput?: {[key: string]: any} | null; - } /** * Signed audio URIs for a conversation. */ @@ -13461,19 +11863,6 @@ export namespace contactcenterinsights_v1 { */ joinKeyResults?: Schema$GoogleCloudContactcenterinsightsV1ConversationCorrelationResult[]; } - /** - * A tool call from the agent. - */ - export interface Schema$GoogleCloudContactcenterinsightsV1ToolCall { - /** - * Output only. The input arguments to the tool. - */ - input?: {[key: string]: any} | null; - /** - * Output only. The name of the tool being called. - */ - toolName?: string | null; - } /** * Request for TuneQaScorecardRevision endpoint. */ @@ -13867,7 +12256,6 @@ export namespace contactcenterinsights_v1 { conversations: Resource$Projects$Locations$Conversations; dashboards: Resource$Projects$Locations$Dashboards; datasets: Resource$Projects$Locations$Datasets; - diagnostics: Resource$Projects$Locations$Diagnostics; encryptionSpec: Resource$Projects$Locations$Encryptionspec; insightsdata: Resource$Projects$Locations$Insightsdata; issueModels: Resource$Projects$Locations$Issuemodels; @@ -13895,9 +12283,6 @@ export namespace contactcenterinsights_v1 { this.context ); this.datasets = new Resource$Projects$Locations$Datasets(this.context); - this.diagnostics = new Resource$Projects$Locations$Diagnostics( - this.context - ); this.encryptionSpec = new Resource$Projects$Locations$Encryptionspec( this.context ); @@ -14401,7 +12786,7 @@ export namespace contactcenterinsights_v1 { } /** - * Analyzes conversation data using specialized agentic workflows, such as ReAct, to diagnose issues and provide insights. + * Natural language based Insights which powers the next generation of dashboards in Insights. Next generation of QueryMetrics. * @example * ```js * // Before running the sample: @@ -14430,34 +12815,28 @@ export namespace contactcenterinsights_v1 { * google.options({auth: authClient}); * * // Do the magic - * const res = - * await contactcenterinsights.projects.locations.diagnoseConversations({ - * // Required. The parent resource where the analysis will be performed. - * parent: 'projects/my-project/locations/my-location', + * const res = await contactcenterinsights.projects.locations.generativeInsights( + * { + * // Required. The location of the data. "projects/{project\}/locations/{location\}" + * location: 'projects/my-project/locations/my-location', * * // Request body metadata * requestBody: { * // request body parameters * // { - * // "agentDisplayName": "my_agentDisplayName", - * // "agentId": "my_agentId", - * // "appId": "my_appId", - * // "appVersion": "my_appVersion", - * // "dryRun": false, + * // "chart": "my_chart", + * // "comparisonFilter": "my_comparisonFilter", * // "filter": "my_filter", - * // "fullReport": false, - * // "groupId": "my_groupId", - * // "instructions": "my_instructions", - * // "maxSteps": 0, - * // "metricType": "my_metricType", - * // "outputConfig": {}, - * // "parent": "my_parent", - * // "requestId": "my_requestId", - * // "taskQuery": "my_taskQuery", - * // "validateOnly": false + * // "naturalLanguageQuery": "my_naturalLanguageQuery", + * // "revisionId": "my_revisionId", + * // "sessionId": "my_sessionId", + * // "sqlComparisonKey": "my_sqlComparisonKey", + * // "sqlQuery": "my_sqlQuery", + * // "userProvidedChartSpec": {} * // } * }, - * }); + * }, + * ); * console.log(res.data); * * // Example response @@ -14482,36 +12861,36 @@ export namespace contactcenterinsights_v1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - diagnoseConversations( - params: Params$Resource$Projects$Locations$Diagnoseconversations, + generativeInsights( + params: Params$Resource$Projects$Locations$Generativeinsights, options: StreamMethodOptions ): Promise>; - diagnoseConversations( - params?: Params$Resource$Projects$Locations$Diagnoseconversations, + generativeInsights( + params?: Params$Resource$Projects$Locations$Generativeinsights, options?: MethodOptions ): Promise>; - diagnoseConversations( - params: Params$Resource$Projects$Locations$Diagnoseconversations, + generativeInsights( + params: Params$Resource$Projects$Locations$Generativeinsights, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - diagnoseConversations( - params: Params$Resource$Projects$Locations$Diagnoseconversations, + generativeInsights( + params: Params$Resource$Projects$Locations$Generativeinsights, options: | MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - diagnoseConversations( - params: Params$Resource$Projects$Locations$Diagnoseconversations, + generativeInsights( + params: Params$Resource$Projects$Locations$Generativeinsights, callback: BodyResponseCallback ): void; - diagnoseConversations( + generativeInsights( callback: BodyResponseCallback ): void; - diagnoseConversations( + generativeInsights( paramsOrCallback?: - | Params$Resource$Projects$Locations$Diagnoseconversations + | Params$Resource$Projects$Locations$Generativeinsights | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -14527,12 +12906,12 @@ export namespace contactcenterinsights_v1 { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Diagnoseconversations; + {}) as Params$Resource$Projects$Locations$Generativeinsights; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Diagnoseconversations; + params = {} as Params$Resource$Projects$Locations$Generativeinsights; options = {}; } @@ -14546,7 +12925,7 @@ export namespace contactcenterinsights_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+parent}:diagnoseConversations').replace( + url: (rootUrl + '/v1/{+location}:generativeInsights').replace( /([^:]\/)\/+/g, '$1' ), @@ -14556,8 +12935,8 @@ export namespace contactcenterinsights_v1 { options ), params, - requiredParams: ['parent'], - pathParams: ['parent'], + requiredParams: ['location'], + pathParams: ['location'], context: this.context, }; if (callback) { @@ -14571,7 +12950,7 @@ export namespace contactcenterinsights_v1 { } /** - * Natural language based Insights which powers the next generation of dashboards in Insights. Next generation of QueryMetrics. + * Gets correlation config. * @example * ```js * // Before running the sample: @@ -14600,37 +12979,19 @@ export namespace contactcenterinsights_v1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await contactcenterinsights.projects.locations.generativeInsights( - * { - * // Required. The location of the data. "projects/{project\}/locations/{location\}" - * location: 'projects/my-project/locations/my-location', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "chart": "my_chart", - * // "comparisonFilter": "my_comparisonFilter", - * // "filter": "my_filter", - * // "naturalLanguageQuery": "my_naturalLanguageQuery", - * // "revisionId": "my_revisionId", - * // "sessionId": "my_sessionId", - * // "sqlComparisonKey": "my_sqlComparisonKey", - * // "sqlQuery": "my_sqlQuery", - * // "userProvidedChartSpec": {} - * // } - * }, - * }, - * ); + * const res = + * await contactcenterinsights.projects.locations.getCorrelationConfig({ + * // Required. The name of the correlation config resource to get. Format: projects/{project\}/locations/{location\}/correlationConfig + * name: 'projects/my-project/locations/my-location/correlationConfig', + * }); * console.log(res.data); * * // Example response * // { - * // "done": false, - * // "error": {}, - * // "metadata": {}, + * // "createTime": "my_createTime", + * // "fullConversationConfig": {}, * // "name": "my_name", - * // "response": {} + * // "updateTime": "my_updateTime" * // } * } * @@ -14646,57 +13007,61 @@ export namespace contactcenterinsights_v1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - generativeInsights( - params: Params$Resource$Projects$Locations$Generativeinsights, + getCorrelationConfig( + params: Params$Resource$Projects$Locations$Getcorrelationconfig, options: StreamMethodOptions ): Promise>; - generativeInsights( - params?: Params$Resource$Projects$Locations$Generativeinsights, + getCorrelationConfig( + params?: Params$Resource$Projects$Locations$Getcorrelationconfig, options?: MethodOptions - ): Promise>; - generativeInsights( - params: Params$Resource$Projects$Locations$Generativeinsights, + ): Promise< + GaxiosResponseWithHTTP2 + >; + getCorrelationConfig( + params: Params$Resource$Projects$Locations$Getcorrelationconfig, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - generativeInsights( - params: Params$Resource$Projects$Locations$Generativeinsights, + getCorrelationConfig( + params: Params$Resource$Projects$Locations$Getcorrelationconfig, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - generativeInsights( - params: Params$Resource$Projects$Locations$Generativeinsights, - callback: BodyResponseCallback + getCorrelationConfig( + params: Params$Resource$Projects$Locations$Getcorrelationconfig, + callback: BodyResponseCallback ): void; - generativeInsights( - callback: BodyResponseCallback + getCorrelationConfig( + callback: BodyResponseCallback ): void; - generativeInsights( + getCorrelationConfig( paramsOrCallback?: - | Params$Resource$Projects$Locations$Generativeinsights - | BodyResponseCallback + | Params$Resource$Projects$Locations$Getcorrelationconfig + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise< + GaxiosResponseWithHTTP2 + > | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Generativeinsights; + {}) as Params$Resource$Projects$Locations$Getcorrelationconfig; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Generativeinsights; + params = {} as Params$Resource$Projects$Locations$Getcorrelationconfig; options = {}; } @@ -14710,181 +13075,31 @@ export namespace contactcenterinsights_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+location}:generativeInsights').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['location'], - pathParams: ['location'], + requiredParams: ['name'], + pathParams: ['name'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); } } /** - * Gets correlation config. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/contactcenterinsights.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const contactcenterinsights = google.contactcenterinsights('v1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = - * await contactcenterinsights.projects.locations.getCorrelationConfig({ - * // Required. The name of the correlation config resource to get. Format: projects/{project\}/locations/{location\}/correlationConfig - * name: 'projects/my-project/locations/my-location/correlationConfig', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "createTime": "my_createTime", - * // "fullConversationConfig": {}, - * // "name": "my_name", - * // "updateTime": "my_updateTime" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - getCorrelationConfig( - params: Params$Resource$Projects$Locations$Getcorrelationconfig, - options: StreamMethodOptions - ): Promise>; - getCorrelationConfig( - params?: Params$Resource$Projects$Locations$Getcorrelationconfig, - options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; - getCorrelationConfig( - params: Params$Resource$Projects$Locations$Getcorrelationconfig, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - getCorrelationConfig( - params: Params$Resource$Projects$Locations$Getcorrelationconfig, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - getCorrelationConfig( - params: Params$Resource$Projects$Locations$Getcorrelationconfig, - callback: BodyResponseCallback - ): void; - getCorrelationConfig( - callback: BodyResponseCallback - ): void; - getCorrelationConfig( - paramsOrCallback?: - | Params$Resource$Projects$Locations$Getcorrelationconfig - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise< - GaxiosResponseWithHTTP2 - > - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Getcorrelationconfig; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Getcorrelationconfig; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://contactcenterinsights.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['name'], - pathParams: ['name'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest( - parameters - ); - } - } - - /** - * Gets location-level encryption key specification. + * Gets location-level encryption key specification. * @example * ```js * // Before running the sample: @@ -16189,17 +14404,6 @@ export namespace contactcenterinsights_v1 { */ requestBody?: Schema$GoogleCloudContactcenterinsightsV1BulkUploadFeedbackLabelsRequest; } - export interface Params$Resource$Projects$Locations$Diagnoseconversations extends StandardParameters { - /** - * Required. The parent resource where the analysis will be performed. - */ - parent?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$GoogleCloudContactcenterinsightsV1DiagnoseConversationsRequest; - } export interface Params$Resource$Projects$Locations$Generativeinsights extends StandardParameters { /** * Required. The location of the data. "projects/{project\}/locations/{location\}" @@ -37538,500 +35742,6 @@ export namespace contactcenterinsights_v1 { requestBody?: Schema$GoogleCloudContactcenterinsightsV1ExportInsightsDataRequest; } - export class Resource$Projects$Locations$Diagnostics { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Deletes a diagnostic. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/contactcenterinsights.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const contactcenterinsights = google.contactcenterinsights('v1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await contactcenterinsights.projects.locations.diagnostics.delete( - * { - * // Required. The name of the diagnostic to delete. - * name: 'projects/my-project/locations/my-location/diagnostics/my-diagnostic', - * }, - * ); - * console.log(res.data); - * - * // Example response - * // {} - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - delete( - params: Params$Resource$Projects$Locations$Diagnostics$Delete, - options: StreamMethodOptions - ): Promise>; - delete( - params?: Params$Resource$Projects$Locations$Diagnostics$Delete, - options?: MethodOptions - ): Promise>; - delete( - params: Params$Resource$Projects$Locations$Diagnostics$Delete, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - delete( - params: Params$Resource$Projects$Locations$Diagnostics$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - delete( - params: Params$Resource$Projects$Locations$Diagnostics$Delete, - callback: BodyResponseCallback - ): void; - delete(callback: BodyResponseCallback): void; - delete( - paramsOrCallback?: - | Params$Resource$Projects$Locations$Diagnostics$Delete - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Diagnostics$Delete; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Diagnostics$Delete; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://contactcenterinsights.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['name'], - pathParams: ['name'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Gets a diagnostic. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/contactcenterinsights.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const contactcenterinsights = google.contactcenterinsights('v1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await contactcenterinsights.projects.locations.diagnostics.get({ - * // Required. The name of the diagnostic to retrieve. - * name: 'projects/my-project/locations/my-location/diagnostics/my-diagnostic', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "agentDisplayName": "my_agentDisplayName", - * // "agentId": "my_agentId", - * // "analysisSummary": "my_analysisSummary", - * // "appId": "my_appId", - * // "appVersion": "my_appVersion", - * // "conversationFilter": "my_conversationFilter", - * // "createTime": "my_createTime", - * // "groupCreateTime": "my_groupCreateTime", - * // "name": "my_name", - * // "report": {} - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - get( - params: Params$Resource$Projects$Locations$Diagnostics$Get, - options: StreamMethodOptions - ): Promise>; - get( - params?: Params$Resource$Projects$Locations$Diagnostics$Get, - options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; - get( - params: Params$Resource$Projects$Locations$Diagnostics$Get, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Projects$Locations$Diagnostics$Get, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Projects$Locations$Diagnostics$Get, - callback: BodyResponseCallback - ): void; - get( - callback: BodyResponseCallback - ): void; - get( - paramsOrCallback?: - | Params$Resource$Projects$Locations$Diagnostics$Get - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise< - GaxiosResponseWithHTTP2 - > - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Diagnostics$Get; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Diagnostics$Get; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://contactcenterinsights.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['name'], - pathParams: ['name'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest( - parameters - ); - } - } - - /** - * Lists diagnostics. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/contactcenterinsights.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const contactcenterinsights = google.contactcenterinsights('v1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await contactcenterinsights.projects.locations.diagnostics.list({ - * // Optional. The CES App ID to filter diagnostics by. - * appId: 'placeholder-value', - * // Optional. The CES App version to filter diagnostics by. - * appVersion: 'placeholder-value', - * // Optional. A filter to apply to the list (e.g. `create_time \> "2023-01-01T00:00:00Z"`). - * filter: 'placeholder-value', - * // Optional. The maximum number of diagnostics to return. The service may return fewer than this value. If unspecified, at most 100 diagnostics will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. - * pageSize: 'placeholder-value', - * // Optional. A page token, received from a previous `ListDiagnostics` call. Provide this to retrieve the subsequent page. - * pageToken: 'placeholder-value', - * // Required. The parent resource of the diagnostics. - * parent: 'projects/my-project/locations/my-location', - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "diagnostics": [], - * // "nextPageToken": "my_nextPageToken" - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - list( - params: Params$Resource$Projects$Locations$Diagnostics$List, - options: StreamMethodOptions - ): Promise>; - list( - params?: Params$Resource$Projects$Locations$Diagnostics$List, - options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; - list( - params: Params$Resource$Projects$Locations$Diagnostics$List, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Projects$Locations$Diagnostics$List, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Projects$Locations$Diagnostics$List, - callback: BodyResponseCallback - ): void; - list( - callback: BodyResponseCallback - ): void; - list( - paramsOrCallback?: - | Params$Resource$Projects$Locations$Diagnostics$List - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise< - GaxiosResponseWithHTTP2 - > - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Diagnostics$List; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Diagnostics$List; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://contactcenterinsights.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/v1/{+parent}/diagnostics').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['parent'], - pathParams: ['parent'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest( - parameters - ); - } - } - } - - export interface Params$Resource$Projects$Locations$Diagnostics$Delete extends StandardParameters { - /** - * Required. The name of the diagnostic to delete. - */ - name?: string; - } - export interface Params$Resource$Projects$Locations$Diagnostics$Get extends StandardParameters { - /** - * Required. The name of the diagnostic to retrieve. - */ - name?: string; - } - export interface Params$Resource$Projects$Locations$Diagnostics$List extends StandardParameters { - /** - * Optional. The CES App ID to filter diagnostics by. - */ - appId?: string; - /** - * Optional. The CES App version to filter diagnostics by. - */ - appVersion?: string; - /** - * Optional. A filter to apply to the list (e.g. `create_time \> "2023-01-01T00:00:00Z"`). - */ - filter?: string; - /** - * Optional. The maximum number of diagnostics to return. The service may return fewer than this value. If unspecified, at most 100 diagnostics will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. - */ - pageSize?: number; - /** - * Optional. A page token, received from a previous `ListDiagnostics` call. Provide this to retrieve the subsequent page. - */ - pageToken?: string; - /** - * Required. The parent resource of the diagnostics. - */ - parent?: string; - } - export class Resource$Projects$Locations$Encryptionspec { context: APIRequestContext; constructor(context: APIRequestContext) { diff --git a/src/apis/container/v1.ts b/src/apis/container/v1.ts index bab58bf3c8f..9df33c45d7d 100644 --- a/src/apis/container/v1.ts +++ b/src/apis/container/v1.ts @@ -226,6 +226,10 @@ export namespace container_v1 { * Configuration for the addons that can be automatically spun up in the cluster, enabling additional functionality. */ export interface Schema$AddonsConfig { + /** + * Optional. Configuration for the AgentSandbox addon. + */ + agentSandboxConfig?: Schema$AgentSandboxConfig; /** * Configuration for the Cloud Run addon, which allows the user to use a managed Knative service. */ @@ -341,6 +345,15 @@ export namespace container_v1 { */ threadsPerCore?: string | null; } + /** + * Configuration for the AgentSandbox addon. + */ + export interface Schema$AgentSandboxConfig { + /** + * Optional. Whether AgentSandbox is enabled for this cluster. + */ + enabled?: boolean | null; + } /** * AnonymousAuthenticationConfig defines the settings needed to limit endpoints that allow anonymous authentication. */ @@ -1258,6 +1271,14 @@ export namespace container_v1 { * The desired Identity Service component configuration. */ desiredIdentityServiceConfig?: Schema$IdentityServiceConfig; + /** + * The desired name of the image to use for this node. This is used to create clusters using a custom image. NOTE: Set the "desired_node_pool" field as well. + */ + desiredImage?: string | null; + /** + * The project containing the desired image to use for this node. This is used to create clusters using a custom image. NOTE: Set the "desired_node_pool" field as well. + */ + desiredImageProject?: string | null; /** * The desired image type for the node pool. NOTE: Set the "desired_node_pool" field as well. */ @@ -1673,6 +1694,23 @@ export namespace container_v1 { */ zone?: string | null; } + /** + * CustomImageConfig contains the information r + */ + export interface Schema$CustomImageConfig { + /** + * The name of the image to use for this node. + */ + image?: string | null; + /** + * The name of the image family to use for this node. + */ + imageFamily?: string | null; + /** + * The project containing the image to use for this node. + */ + imageProject?: string | null; + } /** * Support for running custom init code while bootstrapping nodes. */ @@ -1720,6 +1758,15 @@ export namespace container_v1 { */ state?: string | null; } + /** + * DataplaneV2Config is the configuration for DPv2. + */ + export interface Schema$DataplaneV2Config { + /** + * Optional. Scalability mode for the cluster. + */ + scalabilityMode?: string | null; + } /** * 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 */ @@ -2588,7 +2635,7 @@ export namespace container_v1 { */ swapConfig?: Schema$SwapConfig; /** - * The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes + * The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes */ sysctls?: {[key: string]: string} | null; /** @@ -2915,6 +2962,10 @@ export namespace container_v1 { * The desired datapath provider for this cluster. By default, uses the IPTables-based kube-proxy implementation. */ datapathProvider?: string | null; + /** + * Optional. DataplaneV2Config specifies the DPv2 configuration. + */ + dataplaneV2Config?: Schema$DataplaneV2Config; /** * Controls whether by default nodes have private IP addresses only. It is invalid to specify both PrivateClusterConfig.enablePrivateNodes and this field at the same time. To update the default setting, use ClusterUpdate.desired_default_enable_private_nodes */ @@ -3170,6 +3221,10 @@ export namespace container_v1 { * Setting this field will assign instances of this pool to run on the specified node group. This is useful for running workloads on [sole tenant nodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes). */ nodeGroup?: string | null; + /** + * The node image configuration to use for this node pool. Note that this is only applicable for node pools using image_type=CUSTOM. + */ + nodeImageConfig?: Schema$CustomImageConfig; /** * The set of Google API scopes to be made available on all of the node VMs under the "default" service account. The following scopes are recommended, but not required, and by default are not included: * `https://www.googleapis.com/auth/compute` is required for mounting persistent storage on your nodes. * `https://www.googleapis.com/auth/devstorage.read_only` is required for communicating with **gcr.io** (the [Artifact Registry](https://cloud.google.com/artifact-registry/)). If unspecified, no scopes are added, unless Cloud Logging or Cloud Monitoring are enabled, in which case their required scopes will be added. */ @@ -3446,6 +3501,10 @@ export namespace container_v1 { * Whether nodes have internal IP addresses only. If enable_private_nodes is not specified, then the value is derived from Cluster.NetworkConfig.default_enable_private_nodes */ enablePrivateNodes?: boolean | null; + /** + * Optional. Immutable. The VPC network for the node pool. + */ + network?: string | null; /** * Network bandwidth tier configuration. */ @@ -5104,6 +5163,14 @@ export namespace container_v1 { * Enable or disable gvnic on the node pool. */ gvnic?: Schema$VirtualNIC; + /** + * The desired name of the image name to use for this node. This is used to create clusters using a custom image. + */ + image?: string | null; + /** + * The project containing the desired image to use for this node pool. This is used to create clusters using a custom image. + */ + imageProject?: string | null; /** * Required. The desired image type for the node pool. Please see https://cloud.google.com/kubernetes-engine/docs/concepts/node-images for available image types. */ @@ -5564,7 +5631,11 @@ export namespace container_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * 'https://www.googleapis.com/auth/container.read-only', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -5746,7 +5817,11 @@ export namespace container_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * 'https://www.googleapis.com/auth/container.read-only', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -5922,7 +5997,11 @@ export namespace container_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * 'https://www.googleapis.com/auth/container.read-only', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -6072,7 +6151,10 @@ export namespace container_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -6235,7 +6317,10 @@ export namespace container_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -6397,7 +6482,10 @@ export namespace container_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -6551,7 +6639,11 @@ export namespace container_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * 'https://www.googleapis.com/auth/container.read-only', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -6700,7 +6792,11 @@ export namespace container_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * 'https://www.googleapis.com/auth/container.read-only', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -7063,7 +7159,11 @@ export namespace container_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * 'https://www.googleapis.com/auth/container.read-only', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -7207,7 +7307,10 @@ export namespace container_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -7370,7 +7473,10 @@ export namespace container_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -7534,7 +7640,10 @@ export namespace container_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -7697,7 +7806,10 @@ export namespace container_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -7860,7 +7972,10 @@ export namespace container_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -8026,7 +8141,10 @@ export namespace container_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -8191,7 +8309,10 @@ export namespace container_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -8355,7 +8476,10 @@ export namespace container_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -8519,7 +8643,10 @@ export namespace container_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -8684,7 +8811,10 @@ export namespace container_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -8848,7 +8978,10 @@ export namespace container_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -9008,7 +9141,10 @@ export namespace container_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -9405,7 +9541,10 @@ export namespace container_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -9548,7 +9687,10 @@ export namespace container_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -9712,7 +9854,10 @@ export namespace container_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -9869,7 +10014,11 @@ export namespace container_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * 'https://www.googleapis.com/auth/container.read-only', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -10020,7 +10169,11 @@ export namespace container_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * 'https://www.googleapis.com/auth/container.read-only', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -10186,7 +10339,11 @@ export namespace container_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * 'https://www.googleapis.com/auth/container.read-only', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -10332,7 +10489,10 @@ export namespace container_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -10497,7 +10657,10 @@ export namespace container_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -10663,7 +10826,10 @@ export namespace container_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -10829,7 +10995,10 @@ export namespace container_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -10994,7 +11163,10 @@ export namespace container_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -11023,6 +11195,8 @@ export namespace container_v1 { * // "flexStart": false, * // "gcfsConfig": {}, * // "gvnic": {}, + * // "image": "my_image", + * // "imageProject": "my_imageProject", * // "imageType": "my_imageType", * // "kubeletConfig": {}, * // "labels": {}, @@ -11510,7 +11684,10 @@ export namespace container_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -11653,7 +11830,11 @@ export namespace container_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * 'https://www.googleapis.com/auth/container.read-only', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -11807,7 +11988,11 @@ export namespace container_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * 'https://www.googleapis.com/auth/container.read-only', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -12006,7 +12191,11 @@ export namespace container_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * 'https://www.googleapis.com/auth/container.read-only', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -12177,7 +12366,10 @@ export namespace container_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -12344,7 +12536,10 @@ export namespace container_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -12511,7 +12706,10 @@ export namespace container_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -12674,7 +12872,10 @@ export namespace container_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -12831,7 +13032,11 @@ export namespace container_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * 'https://www.googleapis.com/auth/container.read-only', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -12979,7 +13184,11 @@ export namespace container_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * 'https://www.googleapis.com/auth/container.read-only', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -13206,7 +13415,10 @@ export namespace container_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -13373,7 +13585,11 @@ export namespace container_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * 'https://www.googleapis.com/auth/container.read-only', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -13516,7 +13732,10 @@ export namespace container_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -13683,7 +13902,10 @@ export namespace container_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -13850,7 +14072,10 @@ export namespace container_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -14017,7 +14242,10 @@ export namespace container_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -14184,7 +14412,10 @@ export namespace container_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -14352,7 +14583,10 @@ export namespace container_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -14522,7 +14756,10 @@ export namespace container_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -14690,7 +14927,10 @@ export namespace container_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -14857,7 +15097,10 @@ export namespace container_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -15024,7 +15267,10 @@ export namespace container_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -15521,7 +15767,10 @@ export namespace container_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -15692,7 +15941,10 @@ export namespace container_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -15859,7 +16111,10 @@ export namespace container_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -16018,7 +16273,11 @@ export namespace container_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * 'https://www.googleapis.com/auth/container.read-only', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -16167,7 +16426,11 @@ export namespace container_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * 'https://www.googleapis.com/auth/container.read-only', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -16335,7 +16598,11 @@ export namespace container_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * 'https://www.googleapis.com/auth/container.read-only', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -16480,7 +16747,10 @@ export namespace container_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -16651,7 +16921,10 @@ export namespace container_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -16822,7 +17095,10 @@ export namespace container_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -16993,7 +17269,10 @@ export namespace container_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -17028,6 +17307,8 @@ export namespace container_v1 { * // "flexStart": false, * // "gcfsConfig": {}, * // "gvnic": {}, + * // "image": "my_image", + * // "imageProject": "my_imageProject", * // "imageType": "my_imageType", * // "kubeletConfig": {}, * // "labels": {}, @@ -17409,7 +17690,10 @@ export namespace container_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -17559,7 +17843,11 @@ export namespace container_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * 'https://www.googleapis.com/auth/container.read-only', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -17716,7 +18004,11 @@ export namespace container_v1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * 'https://www.googleapis.com/auth/container.read-only', + * ], * }); * * // Acquire an auth client, and bind it to all future calls diff --git a/src/apis/container/v1beta1.ts b/src/apis/container/v1beta1.ts index ba508fa3542..3a434aa9b82 100644 --- a/src/apis/container/v1beta1.ts +++ b/src/apis/container/v1beta1.ts @@ -1378,6 +1378,14 @@ export namespace container_v1beta1 { * The desired Identity Service component configuration. */ desiredIdentityServiceConfig?: Schema$IdentityServiceConfig; + /** + * The desired name of the image to use for this node. This is used to create clusters using a custom image. + */ + desiredImage?: string | null; + /** + * The project containing the desired image to use for this node. This is used to create clusters using a custom image. + */ + desiredImageProject?: string | null; /** * The desired image type for the node pool. NOTE: Set the "desired_node_pool" field as well. */ @@ -1859,6 +1867,23 @@ export namespace container_v1beta1 { */ zone?: string | null; } + /** + * CustomImageConfig contains the information r + */ + export interface Schema$CustomImageConfig { + /** + * The name of the image to use for this node. + */ + image?: string | null; + /** + * The name of the image family to use for this node. + */ + imageFamily?: string | null; + /** + * The project containing the image to use for this node. + */ + imageProject?: string | null; + } /** * Support for running custom init code while bootstrapping nodes. */ @@ -1906,6 +1931,15 @@ export namespace container_v1beta1 { */ state?: string | null; } + /** + * DataplaneV2Config is the configuration for DPv2. + */ + export interface Schema$DataplaneV2Config { + /** + * Optional. Scalability mode for the cluster. + */ + scalabilityMode?: string | null; + } /** * 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 */ @@ -2822,7 +2856,7 @@ export namespace container_v1beta1 { */ swapConfig?: Schema$SwapConfig; /** - * The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes + * The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.rmem_default net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.neigh.default.gc_thresh1 net.ipv4.neigh.default.gc_thresh2 net.ipv4.neigh.default.gc_thresh3 net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse net.ipv4.tcp_mtu_probing net.ipv4.tcp_max_orphans net.ipv4.tcp_max_tw_buckets net.ipv4.tcp_syn_retries net.ipv4.tcp_ecn net.ipv4.tcp_congestion_control net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_buckets net.netfilter.nf_conntrack_tcp_timeout_close_wait net.netfilter.nf_conntrack_tcp_timeout_time_wait net.netfilter.nf_conntrack_tcp_timeout_established net.netfilter.nf_conntrack_acct kernel.keys.maxkeys kernel.keys.maxbytes kernel.shmmni kernel.shmmax kernel.shmall kernel.perf_event_paranoid kernel.sched_rt_runtime_us kernel.softlockup_panic kernel.yama.ptrace_scope kernel.kptr_restrict kernel.dmesg_restrict kernel.sysrq fs.aio-max-nr fs.file-max fs.inotify.max_user_instances fs.inotify.max_user_watches fs.nr_open vm.dirty_background_ratio vm.dirty_background_bytes vm.dirty_expire_centisecs vm.dirty_ratio vm.dirty_bytes vm.dirty_writeback_centisecs vm.max_map_count vm.overcommit_memory vm.overcommit_ratio vm.vfs_cache_pressure vm.swappiness vm.watermark_scale_factor vm.min_free_kbytes */ sysctls?: {[key: string]: string} | null; /** @@ -3188,6 +3222,10 @@ export namespace container_v1beta1 { * The desired datapath provider for this cluster. By default, uses the IPTables-based kube-proxy implementation. */ datapathProvider?: string | null; + /** + * Optional. DataplaneV2Config specifies the DPv2 configuration. + */ + dataplaneV2Config?: Schema$DataplaneV2Config; /** * Controls whether by default nodes have private IP addresses only. It is invalid to specify both PrivateClusterConfig.enablePrivateNodes and this field at the same time. To update the default setting, use ClusterUpdate.desired_default_enable_private_nodes */ @@ -3455,6 +3493,10 @@ export namespace container_v1beta1 { * Setting this field will assign instances of this pool to run on the specified node group. This is useful for running workloads on [sole tenant nodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes). */ nodeGroup?: string | null; + /** + * The node image configuration to use for this node pool. Note that this is only applicable for node pools using image_type=CUSTOM. + */ + nodeImageConfig?: Schema$CustomImageConfig; /** * The set of Google API scopes to be made available on all of the node VMs under the "default" service account. The following scopes are recommended, but not required, and by default are not included: * `https://www.googleapis.com/auth/compute` is required for mounting persistent storage on your nodes. * `https://www.googleapis.com/auth/devstorage.read_only` is required for communicating with **gcr.io** (the [Artifact Registry](https://cloud.google.com/artifact-registry/)). If unspecified, no scopes are added, unless Cloud Logging or Cloud Monitoring are enabled, in which case their required scopes will be added. */ @@ -3735,6 +3777,10 @@ export namespace container_v1beta1 { * Whether nodes have internal IP addresses only. If enable_private_nodes is not specified, then the value is derived from Cluster.NetworkConfig.default_enable_private_nodes */ enablePrivateNodes?: boolean | null; + /** + * Optional. Immutable. The VPC network for the node pool. + */ + network?: string | null; /** * Network bandwidth tier configuration. */ @@ -5505,6 +5551,14 @@ export namespace container_v1beta1 { * Enable or disable gvnic on the node pool. */ gvnic?: Schema$VirtualNIC; + /** + * The desired name of the image name to use for this node. This is used to create clusters using a custom image. + */ + image?: string | null; + /** + * The project containing the desired image to use for this node pool. This is used to create clusters using a custom image. + */ + imageProject?: string | null; /** * Required. The desired image type for the node pool. Please see https://cloud.google.com/kubernetes-engine/docs/concepts/node-images for available image types. */ @@ -6058,7 +6112,11 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * 'https://www.googleapis.com/auth/container.read-only', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -6240,7 +6298,11 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * 'https://www.googleapis.com/auth/container.read-only', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -6387,7 +6449,10 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -6563,7 +6628,11 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * 'https://www.googleapis.com/auth/container.read-only', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -6712,7 +6781,10 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -6874,7 +6946,10 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -7037,7 +7112,10 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -7199,7 +7277,10 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -7353,7 +7434,11 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * 'https://www.googleapis.com/auth/container.read-only', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -7503,7 +7588,11 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * 'https://www.googleapis.com/auth/container.read-only', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -7881,7 +7970,11 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * 'https://www.googleapis.com/auth/container.read-only', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -8025,7 +8118,10 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -8188,7 +8284,10 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -8352,7 +8451,10 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -8515,7 +8617,10 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -8678,7 +8783,10 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -8844,7 +8952,10 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -9009,7 +9120,10 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -9173,7 +9287,10 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -9337,7 +9454,10 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -9502,7 +9622,10 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -9666,7 +9789,10 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -9826,7 +9952,10 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -10234,7 +10363,10 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -10377,7 +10509,10 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -10541,7 +10676,10 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -10698,7 +10836,11 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * 'https://www.googleapis.com/auth/container.read-only', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -10848,7 +10990,11 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * 'https://www.googleapis.com/auth/container.read-only', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -11014,7 +11160,11 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * 'https://www.googleapis.com/auth/container.read-only', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -11160,7 +11310,10 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -11325,7 +11478,10 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -11491,7 +11647,10 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -11657,7 +11816,10 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -11822,7 +11984,10 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -11851,6 +12016,8 @@ export namespace container_v1beta1 { * // "flexStart": false, * // "gcfsConfig": {}, * // "gvnic": {}, + * // "image": "my_image", + * // "imageProject": "my_imageProject", * // "imageType": "my_imageType", * // "kubeletConfig": {}, * // "labels": {}, @@ -12338,7 +12505,10 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -12484,7 +12654,11 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * 'https://www.googleapis.com/auth/container.read-only', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -12638,7 +12812,11 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * 'https://www.googleapis.com/auth/container.read-only', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -12837,7 +13015,11 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * 'https://www.googleapis.com/auth/container.read-only', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -13010,7 +13192,10 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -13177,7 +13362,10 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -13339,7 +13527,10 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -13506,7 +13697,10 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -13669,7 +13863,10 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -13826,7 +14023,11 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * 'https://www.googleapis.com/auth/container.read-only', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -13975,7 +14176,11 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * 'https://www.googleapis.com/auth/container.read-only', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -14214,7 +14419,10 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -14381,7 +14589,11 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * 'https://www.googleapis.com/auth/container.read-only', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -14524,7 +14736,10 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -14691,7 +14906,10 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -14858,7 +15076,10 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -15025,7 +15246,10 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -15192,7 +15416,10 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -15360,7 +15587,10 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -15530,7 +15760,10 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -15698,7 +15931,10 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -15865,7 +16101,10 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -16032,7 +16271,10 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -16540,7 +16782,10 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -16711,7 +16956,10 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -16878,7 +17126,10 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -17037,7 +17288,11 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * 'https://www.googleapis.com/auth/container.read-only', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -17185,7 +17440,11 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * 'https://www.googleapis.com/auth/container.read-only', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -17353,7 +17612,11 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * 'https://www.googleapis.com/auth/container.read-only', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -17498,7 +17761,10 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -17669,7 +17935,10 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -17840,7 +18109,10 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -18011,7 +18283,10 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -18046,6 +18321,8 @@ export namespace container_v1beta1 { * // "flexStart": false, * // "gcfsConfig": {}, * // "gvnic": {}, + * // "image": "my_image", + * // "imageProject": "my_imageProject", * // "imageType": "my_imageType", * // "kubeletConfig": {}, * // "labels": {}, @@ -18427,7 +18704,10 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -18577,7 +18857,11 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * 'https://www.googleapis.com/auth/container.read-only', + * ], * }); * * // Acquire an auth client, and bind it to all future calls @@ -18734,7 +19018,11 @@ export namespace container_v1beta1 { * async function main() { * const auth = new google.auth.GoogleAuth({ * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * scopes: [ + * 'https://www.googleapis.com/auth/cloud-platform', + * 'https://www.googleapis.com/auth/container', + * 'https://www.googleapis.com/auth/container.read-only', + * ], * }); * * // Acquire an auth client, and bind it to all future calls diff --git a/src/apis/containeranalysis/v1.ts b/src/apis/containeranalysis/v1.ts index 5db769f3d6a..2c612085548 100644 --- a/src/apis/containeranalysis/v1.ts +++ b/src/apis/containeranalysis/v1.ts @@ -1796,24 +1796,76 @@ export namespace containeranalysis_v1 { * Common Vulnerability Scoring System. For details, see https://www.first.org/cvss/specification-document This is a message we will try to use for storing various versions of CVSS rather than making a separate proto for storing a specific version. */ export interface Schema$CVSS { + /** + * Attack Complexity (AC). Defined in CVSS v2, v3, v4. + */ attackComplexity?: string | null; /** - * Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. + * Attack Requirements (AT). Defined in CVSS v4. + */ + attackRequirements?: string | null; + /** + * Attack Vector (AV). Defined in CVSS v2, v3, v4. */ attackVector?: string | null; + /** + * Authentication (Au). Defined in CVSS v2. + */ authentication?: string | null; + /** + * Availability Impact (A). Defined in CVSS v2, v3. + */ availabilityImpact?: string | null; /** * The base score is a function of the base metric scores. */ baseScore?: number | null; + /** + * Confidentiality Impact (C). Defined in CVSS v2, v3. + */ confidentialityImpact?: string | null; exploitabilityScore?: number | null; impactScore?: number | null; + /** + * Integrity Impact (I). Defined in CVSS v2, v3. + */ integrityImpact?: string | null; + /** + * Privileges Required (PR). Defined in CVSS v3, v4. + */ privilegesRequired?: string | null; + /** + * Scope (S). Defined in CVSS v3. + */ scope?: string | null; + /** + * Subsequent System Availability Impact (SA). Defined in CVSS v4. + */ + subsequentSystemAvailabilityImpact?: string | null; + /** + * Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + */ + subsequentSystemConfidentialityImpact?: string | null; + /** + * Subsequent System Integrity Impact (SI). Defined in CVSS v4. + */ + subsequentSystemIntegrityImpact?: string | null; + /** + * User Interaction (UI). Defined in CVSS v3, v4. + */ userInteraction?: string | null; + /** + * Vulnerable System Availability Impact (VA). Defined in CVSS v4. + */ + vulnerableSystemAvailabilityImpact?: string | null; + /** + * Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + */ + vulnerableSystemConfidentialityImpact?: string | null; + /** + * Vulnerable System Integrity Impact (VI). Defined in CVSS v4. + */ + vulnerableSystemIntegrityImpact?: string | null; } /** * Common Vulnerability Scoring System version 3. For details, see https://www.first.org/cvss/specification-document diff --git a/src/apis/containeranalysis/v1beta1.ts b/src/apis/containeranalysis/v1beta1.ts index 334d6623432..1a0f5037424 100644 --- a/src/apis/containeranalysis/v1beta1.ts +++ b/src/apis/containeranalysis/v1beta1.ts @@ -1690,23 +1690,27 @@ export namespace containeranalysis_v1beta1 { path?: string | null; } /** - * 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 + * Common Vulnerability Scoring System. This message is compatible with CVSS v2, v3, and v4. 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 For CVSS v4 details, see https://www.first.org/cvss/v4.0/user-guide CVSS v4 calculator: https://nvd.nist.gov/vuln-metrics/cvss/v4-calculator */ export interface Schema$CVSS { /** - * Defined in CVSS v3, CVSS v2 + * Attack Complexity (AC). Defined in CVSS v2, v3, v4. */ attackComplexity?: string | null; /** - * Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. Defined in CVSS v3, CVSS v2 + * Attack Requirements (AT). Defined in CVSS v4. + */ + attackRequirements?: string | null; + /** + * Attack Vector (AV). Defined in CVSS v2, v3, v4. */ attackVector?: string | null; /** - * Defined in CVSS v2 + * Authentication (Au). Defined in CVSS v2. */ authentication?: string | null; /** - * Defined in CVSS v3, CVSS v2 + * Availability Impact (A). Defined in CVSS v2, v3. */ availabilityImpact?: string | null; /** @@ -1714,27 +1718,51 @@ export namespace containeranalysis_v1beta1 { */ baseScore?: number | null; /** - * Defined in CVSS v3, CVSS v2 + * Confidentiality Impact (C). Defined in CVSS v2, v3. */ confidentialityImpact?: string | null; exploitabilityScore?: number | null; impactScore?: number | null; /** - * Defined in CVSS v3, CVSS v2 + * Integrity Impact (I). Defined in CVSS v2, v3. */ integrityImpact?: string | null; /** - * Defined in CVSS v3 + * Privileges Required (PR). Defined in CVSS v3, v4. */ privilegesRequired?: string | null; /** - * Defined in CVSS v3 + * Scope (S). Defined in CVSS v3. */ scope?: string | null; /** - * Defined in CVSS v3 + * Subsequent System Availability Impact (SA). Defined in CVSS v4. + */ + subsequentSystemAvailabilityImpact?: string | null; + /** + * Subsequent System Confidentiality Impact (SC). Defined in CVSS v4. + */ + subsequentSystemConfidentialityImpact?: string | null; + /** + * Subsequent System Integrity Impact (SI). Defined in CVSS v4. + */ + subsequentSystemIntegrityImpact?: string | null; + /** + * User Interaction (UI). Defined in CVSS v3, v4. */ userInteraction?: string | null; + /** + * Vulnerable System Availability Impact (VA). Defined in CVSS v4. + */ + vulnerableSystemAvailabilityImpact?: string | null; + /** + * Vulnerable System Confidentiality Impact (VC). Defined in CVSS v4. + */ + vulnerableSystemConfidentialityImpact?: string | null; + /** + * Vulnerable System Integrity Impact (VI). Defined in CVSS v4. + */ + vulnerableSystemIntegrityImpact?: string | null; } /** * Deprecated. Common Vulnerability Scoring System version 3. For details, see https://www.first.org/cvss/specification-document diff --git a/src/apis/dataform/v1.ts b/src/apis/dataform/v1.ts index 280fe8544ef..4d43576d919 100644 --- a/src/apis/dataform/v1.ts +++ b/src/apis/dataform/v1.ts @@ -864,6 +864,10 @@ export namespace dataform_v1 { * Output only. The Git remote's effective default branch name. This is the default branch name of the Git remote if it is set, otherwise it is `main`. */ effectiveDefaultBranch?: string | null; + /** + * Optional. Resource name for the GitRepositoryLink used for machine credentials. Must be in the format `projects/x/locations/x/connections/x/gitRepositoryLinks/x` + */ + gitRepositoryLink?: string | null; /** * Optional. Authentication fields for remote uris using SSH protocol. */ diff --git a/src/apis/datamanager/v1.ts b/src/apis/datamanager/v1.ts index d249368eeee..b16f2aae444 100644 --- a/src/apis/datamanager/v1.ts +++ b/src/apis/datamanager/v1.ts @@ -155,6 +155,14 @@ export namespace datamanager_v1 { * Identifiers and other information used to match the conversion event with other online activity (such as ad clicks). */ export interface Schema$AdIdentifiers { + /** + * Optional. The display click ID associated with this event. + */ + dclid?: string | null; + /** + * Optional. Any number of encrypted user IDs. + */ + encryptedUserIds?: Schema$EncryptedUserId[]; /** * Optional. The click identifier for clicks associated with app events and originating from iOS devices starting with iOS14. */ @@ -163,10 +171,18 @@ export namespace datamanager_v1 { * Optional. The Google click ID (gclid) associated with this event. */ gclid?: string | null; + /** + * Optional. The impression ID associated with this event. + */ + impressionId?: string | null; /** * Optional. Information gathered about the device being used (if any) at the time of landing onto the advertiser’s site after interacting with the ad. */ landingPageDeviceInfo?: Schema$DeviceInfo; + /** + * Optional. The match ID field used to join this event with a previous event. + */ + matchId?: string | null; /** * Optional. The mobile identifier for advertisers. This would be IDFA on iOS, AdID on Android, or other platforms’ identifiers for advertisers. */ @@ -184,6 +200,10 @@ export namespace datamanager_v1 { * The audience member to be operated on. */ export interface Schema$AudienceMember { + /** + * Group of multiple identifier types. + */ + compositeData?: Schema$CompositeData; /** * Optional. The consent setting for the user. */ @@ -276,6 +296,19 @@ export namespace datamanager_v1 { */ transactionDiscount?: number | null; } + /** + * Composite data holding identifiers and associated data for a user. At least one of `user_data` or `ip_data` is required. + */ + export interface Schema$CompositeData { + /** + * Optional. IP address data representing customer interaction used to build the audience. + */ + ipData?: Schema$IpData[]; + /** + * Optional. User-provided data that identifies the user. + */ + userData?: Schema$UserData; + } /** * [Digital Markets Act (DMA)](//digital-markets-act.ec.europa.eu/index_en) consent settings for the user. */ @@ -319,6 +352,19 @@ export namespace datamanager_v1 { */ variable?: string | null; } + /** + * The count for a specific data type. + */ + export interface Schema$DataTypeCount { + /** + * The count for this data type. + */ + count?: string | null; + /** + * The type of data. + */ + type?: string | null; + } /** * The Google product you're sending data to. For example, a Google Ads account. */ @@ -401,6 +447,27 @@ export namespace datamanager_v1 { * 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); \} */ export interface Schema$Empty {} + /** + * A user identifier issued to be used for attribution. All fields are required if this is used. + */ + export interface Schema$EncryptedUserId { + /** + * Required. The alphanumeric encrypted id. + */ + encryptedId?: string | null; + /** + * Required. The encryption entity ID. This should match the encryption configuration for ad serving or Data Transfer. + */ + entityId?: string | null; + /** + * Required. The encryption entity type. This should match the encryption configuration for ad serving or Data Transfer. + */ + entityType?: string | null; + /** + * Required. Describes whether the encrypted cookie was received from ad serving (the %m macro) or from Data Transfer. + */ + source?: string | null; + } /** * Encryption information for the data being ingested. */ @@ -464,6 +531,10 @@ export namespace datamanager_v1 { * Optional. Information about whether the associated user has provided different types of consent. */ consent?: Schema$Consent; + /** + * Optional. The conversion quantity associated with the event, for counting-based conversions. + */ + conversionCount?: number | null; /** * Optional. The conversion value associated with the event, for value-based conversions. */ @@ -651,6 +722,10 @@ export namespace datamanager_v1 { * The status of the ingest audience members request. */ export interface Schema$IngestAudienceMembersStatus { + /** + * The status of the composite data ingestion to the destination. + */ + compositeDataIngestionStatus?: Schema$IngestCompositeDataStatus; /** * The status of the mobile data ingestion to the destination. */ @@ -672,6 +747,23 @@ export namespace datamanager_v1 { */ userIdDataIngestionStatus?: Schema$IngestUserIdDataStatus; } + /** + * The status of the composite data ingestion to the destination containing stats related to the ingestion. + */ + export interface Schema$IngestCompositeDataStatus { + /** + * The total count of data types sent in the upload request for the destination, broken down by data type. Includes all data types in the request, regardless of whether they were successfully ingested or not. + */ + dataTypeCounts?: Schema$DataTypeCount[]; + /** + * The total count of audience members sent in the upload request for the destination. Includes all audience members in the request, regardless of whether they were successfully ingested or not. + */ + recordCount?: string | null; + /** + * The match rate range of the upload. + */ + uploadMatchRateRange?: string | null; + } /** * Represents a user list that is populated by user provided data. */ @@ -821,6 +913,23 @@ export namespace datamanager_v1 { */ userIdCount?: string | null; } + /** + * IP address information for a user. We recommend including observe_start_time and observe_end_time to help improve Customer Match match rates. + */ + export interface Schema$IpData { + /** + * Required. IP address captured at the time of customer interaction. Accepts standard string formats for both IPv4 and IPv6. + */ + ipAddress?: string | null; + /** + * Optional. Last recorded interaction time from this IP address in a session. + */ + observeEndTime?: string | null; + /** + * Optional. First recorded interaction time from this IP address in a session. + */ + observeStartTime?: string | null; + } /** * Represents an item in the cart associated with the event. */ @@ -1162,6 +1271,10 @@ export namespace datamanager_v1 { * The status of the remove audience members request. */ export interface Schema$RemoveAudienceMembersStatus { + /** + * The status of the composite data removal from the destination. + */ + compositeDataRemovalStatus?: Schema$RemoveCompositeDataStatus; /** * The status of the mobile data removal from the destination. */ @@ -1183,6 +1296,19 @@ export namespace datamanager_v1 { */ userIdDataRemovalStatus?: Schema$RemoveUserIdDataStatus; } + /** + * The status of the composite data removal from the destination. + */ + export interface Schema$RemoveCompositeDataStatus { + /** + * The total count of data types sent in the removal request, broken down by data type. Includes all data types in the request, regardless of whether they were successfully removed or not. + */ + dataTypeCounts?: Schema$DataTypeCount[]; + /** + * The total count of audience members sent in the removal request. Includes all audience members in the request, regardless of whether they were successfully removed or not. + */ + recordCount?: string | null; + } /** * The status of the mobile data removal from the destination. */ diff --git a/src/apis/datastream/v1.ts b/src/apis/datastream/v1.ts index 09717012d8d..cfe57e562d7 100644 --- a/src/apis/datastream/v1.ts +++ b/src/apis/datastream/v1.ts @@ -152,6 +152,10 @@ export namespace datastream_v1 { * PostgreSQL data source objects to avoid backfilling. */ postgresqlExcludedObjects?: Schema$PostgresqlRdbms; + /** + * Source catalog data source objects to avoid backfilling. This is mainly used to represent SaaS applications objects. + */ + saasExcludedObjects?: Schema$SourceCatalog; /** * Salesforce data source objects to avoid backfilling */ @@ -349,6 +353,10 @@ export namespace datastream_v1 { * Output only. The create time of the resource. */ createTime?: string | null; + /** + * Profile for connecting to a Dataverse source. + */ + dataverseProfile?: Schema$DataverseProfile; /** * Required. Display name. */ @@ -389,6 +397,10 @@ export namespace datastream_v1 { * Private connectivity. */ privateConnectivity?: Schema$PrivateConnectivity; + /** + * Profile for connecting to a Salesforce Marketing Cloud source. + */ + salesforceMarketingCloudProfile?: Schema$SalesforceMarketingCloudProfile; /** * Profile for connecting to a Salesforce source. */ @@ -401,6 +413,10 @@ export namespace datastream_v1 { * Output only. Reserved for future use. */ satisfiesPzs?: boolean | null; + /** + * Profile for connecting to a ServiceNow source. + */ + serviceNowProfile?: Schema$ServiceNowProfile; /** * Profile for connecting to a Spanner source. */ @@ -448,6 +464,40 @@ export namespace datastream_v1 { */ location?: string | null; } + /** + * Profile for connecting to a Dataverse source. + */ + export interface Schema$DataverseProfile { + /** + * Required. Environment URL of the Microsoft Dataverse instance. Example: `.crm.dynamics.com` + */ + environmentUrl?: string | null; + /** + * Required. Credentials for authenticating with the Dataverse API. + */ + oauthClientCredentials?: Schema$OauthClientCredentials; + /** + * Required. Tenant id of the Microsoft Dataverse instance. + */ + tenantId?: string | null; + } + /** + * Configuration for syncing data from a Dataverse source. + */ + export interface Schema$DataverseSourceConfig { + /** + * Optional. The objects to exclude from the stream. + */ + excludeObjects?: Schema$SourceCatalog; + /** + * Optional. The objects to retrieve from the source. + */ + includeObjects?: Schema$SourceCatalog; + /** + * Required. Incremental sync polling interval for all objects. If not set, a default value of `5 minutes` is used. The duration must be from `5 minutes` to `24 hours`, inclusive. + */ + pollingInterval?: string | null; + } /** * Describes additional debugging info. */ @@ -518,6 +568,10 @@ export namespace datastream_v1 { * Optional. Salesforce organization to enrich with child data objects and metadata. */ salesforceOrg?: Schema$SalesforceOrg; + /** + * Optional. Source catalog to enrich with child data objects and metadata. This is mainly used to represent SaaS sources databases. + */ + sourceCatalog?: Schema$SourceCatalog; /** * Optional. Spanner database to enrich with child data objects and metadata. */ @@ -551,6 +605,10 @@ export namespace datastream_v1 { * Enriched Salesforce organization. */ salesforceOrg?: Schema$SalesforceOrg; + /** + * Enriched source catalog. This is mainly used to represent SaaS sources databases. + */ + sourceCatalog?: Schema$SourceCatalog; /** * Enriched Spanner database. */ @@ -1378,6 +1436,19 @@ export namespace datastream_v1 { */ secretManagerStoredClientSecret?: string | null; } + /** + * OAuth Client Credentials. + */ + export interface Schema$OauthClientCredentials { + /** + * Required. Client ID for OAuth Client Credentials. + */ + clientId?: string | null; + /** + * Required. Client secret for OAuth Client Credentials. + */ + clientSecret?: Schema$Secret; + } /** * Object filter to apply the rules to. */ @@ -2097,6 +2168,40 @@ export namespace datastream_v1 { */ nillable?: boolean | null; } + /** + * Profile for connecting to a Salesforce Marketing Cloud source. + */ + export interface Schema$SalesforceMarketingCloudProfile { + /** + * Required. Input only. Credentials for authenticating with the Salesforce Marketing Cloud API. + */ + oauthClientCredentials?: Schema$OauthClientCredentials; + /** + * Required. Subdomain for the Salesforce Marketing Cloud connection. Example: if your specific endpoint is `https://{your-specific-subdomain\}.rest.marketingcloudapis.com/`, the subdomain is `{your-specific-subdomain\}`. Must be 1-63 characters, start and end with an alphanumeric character, and contain only lowercase letters, numbers, and hyphens (-). + */ + subdomain?: string | null; + } + /** + * Configuration for syncing data from a Salesforce Marketing Cloud source. + */ + export interface Schema$SalesforceMarketingCloudSourceConfig { + /** + * Optional. The objects to exclude from the stream. + */ + excludeObjects?: Schema$SourceCatalog; + /** + * Required. Specifies the polling interval for a full refresh of objects that do not support incremental sync. If not set, a default value of 24 hours is used. The duration must be between 1 and 24 hours, inclusive. + */ + fullRefreshPollingInterval?: string | null; + /** + * Optional. The objects to retrieve from the source. + */ + includeObjects?: Schema$SourceCatalog; + /** + * Required. Incremental sync polling interval for all objects. If not set, a default value of `5 minutes` is used. The duration must be from `5 minutes` to `24 hours`, inclusive. + */ + pollingInterval?: string | null; + } /** * Salesforce object. */ @@ -2162,6 +2267,19 @@ export namespace datastream_v1 { */ pollingInterval?: string | null; } + /** + * A confidential piece of information where the actual value is either directly specified in the message as a raw string or stored in GCP secret manager. + */ + export interface Schema$Secret { + /** + * Optional. Input only. The actual raw value of the secret as plain text. + */ + rawValue?: string | null; + /** + * Optional. A Secret Manager resource name storing the actual value of the secret. Supported formats: * projects/{project\}/locations/{location\}/secrets/{secret\}/versions/{version\} * projects/{project\}/secrets/{secret\}/versions/{version\} + */ + secretVersion?: string | null; + } /** * Message represents the option where Datastream will enforce the encryption and authenticate the server identity as well as the client identity. ca_certificate, client_certificate and client_key must be set if user selects this option. */ @@ -2196,6 +2314,40 @@ export namespace datastream_v1 { */ serverCertificateHostname?: string | null; } + /** + * Profile for connecting to a ServiceNow source. + */ + export interface Schema$ServiceNowProfile { + /** + * Required. The instance of the ServiceNow account. This is the `` part of the URL `https://.service-now.com`. + */ + instance?: string | null; + /** + * Credentials for authenticating with the ServiceNow API. + */ + oauthClientCredentials?: Schema$OauthClientCredentials; + /** + * User-password authentication. + */ + userPasswordCredentials?: Schema$UserPasswordCredentials; + } + /** + * Configuration for syncing data from a ServiceNow source. + */ + export interface Schema$ServiceNowSourceConfig { + /** + * Optional. The objects to exclude from the stream. + */ + excludeObjects?: Schema$SourceCatalog; + /** + * Optional. The objects to retrieve from the source. + */ + includeObjects?: Schema$SourceCatalog; + /** + * Required. Incremental sync polling interval for all objects. If not set, a default value of `5 minutes` is used. The duration must be from `5 minutes` to `24 hours`, inclusive. + */ + pollingInterval?: string | null; + } /** * A single target dataset to which all data will be streamed. */ @@ -2205,10 +2357,23 @@ export namespace datastream_v1 { */ datasetId?: string | null; } + /** + * Source catalog. + */ + export interface Schema$SourceCatalog { + /** + * Optional. Source objects in the catalog. + */ + objects?: Schema$SourceObject[]; + } /** * The configuration of the stream source. */ export interface Schema$SourceConfig { + /** + * Dataverse data source configuration. + */ + dataverseSourceConfig?: Schema$DataverseSourceConfig; /** * MongoDB data source configuration. */ @@ -2225,10 +2390,18 @@ export namespace datastream_v1 { * PostgreSQL data source configuration. */ postgresqlSourceConfig?: Schema$PostgresqlSourceConfig; + /** + * Salesforce Marketing Cloud data source configuration. + */ + salesforceMarketingCloudSourceConfig?: Schema$SalesforceMarketingCloudSourceConfig; /** * Salesforce data source configuration. */ salesforceSourceConfig?: Schema$SalesforceSourceConfig; + /** + * ServiceNow data source configuration. + */ + serviceNowSourceConfig?: Schema$ServiceNowSourceConfig; /** * Required. Source connection profile resource. Format: `projects/{project\}/locations/{location\}/connectionProfiles/{name\}` */ @@ -2255,6 +2428,19 @@ export namespace datastream_v1 { */ projectId?: string | null; } + /** + * Source object. + */ + export interface Schema$SourceObject { + /** + * Required. The object name. + */ + objectName?: string | null; + /** + * Optional. Source properties. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing. + */ + properties?: Schema$SourceProperty[]; + } /** * Represents an identifier of an object in the data source. */ @@ -2288,6 +2474,23 @@ export namespace datastream_v1 { */ sqlServerIdentifier?: Schema$SqlServerObjectIdentifier; } + /** + * Source property. + */ + export interface Schema$SourceProperty { + /** + * Optional. Whether or not the property is a primary key. + */ + primaryKey?: boolean | null; + /** + * Optional. Source properties. When specified, it means that the current property contains nested properties of its own. When unspecified as part of include objects, includes everything, when unspecified as part of exclude objects, excludes nothing. + */ + properties?: Schema$SourceProperty[]; + /** + * Required. The property name. + */ + propertyName?: string | null; + } /** * Represents a position in a Spanner change stream from which to start replicating. */ @@ -2839,6 +3042,19 @@ export namespace datastream_v1 { */ username?: string | null; } + /** + * User-password credentials. + */ + export interface Schema$UserPasswordCredentials { + /** + * Required. Password for the connection. + */ + password?: Schema$Secret; + /** + * Required. Username for the connection. + */ + username?: string | null; + } /** * A validation to perform on a stream. */ @@ -3461,6 +3677,7 @@ export namespace datastream_v1 { * // { * // "bigqueryProfile": {}, * // "createTime": "my_createTime", + * // "dataverseProfile": {}, * // "displayName": "my_displayName", * // "forwardSshConnectivity": {}, * // "gcsProfile": {}, @@ -3471,9 +3688,11 @@ export namespace datastream_v1 { * // "oracleProfile": {}, * // "postgresqlProfile": {}, * // "privateConnectivity": {}, + * // "salesforceMarketingCloudProfile": {}, * // "salesforceProfile": {}, * // "satisfiesPzi": false, * // "satisfiesPzs": false, + * // "serviceNowProfile": {}, * // "spannerProfile": {}, * // "sqlServerProfile": {}, * // "staticServiceIpConnectivity": {}, @@ -3777,6 +3996,7 @@ export namespace datastream_v1 { * // "oracleRdbms": {}, * // "postgresqlRdbms": {}, * // "salesforceOrg": {}, + * // "sourceCatalog": {}, * // "spannerDatabase": {}, * // "sqlServerRdbms": {} * // } @@ -3791,6 +4011,7 @@ export namespace datastream_v1 { * // "oracleRdbms": {}, * // "postgresqlRdbms": {}, * // "salesforceOrg": {}, + * // "sourceCatalog": {}, * // "spannerDatabase": {}, * // "sqlServerRdbms": {} * // } @@ -3941,6 +4162,7 @@ export namespace datastream_v1 { * // { * // "bigqueryProfile": {}, * // "createTime": "my_createTime", + * // "dataverseProfile": {}, * // "displayName": "my_displayName", * // "forwardSshConnectivity": {}, * // "gcsProfile": {}, @@ -3951,9 +4173,11 @@ export namespace datastream_v1 { * // "oracleProfile": {}, * // "postgresqlProfile": {}, * // "privateConnectivity": {}, + * // "salesforceMarketingCloudProfile": {}, * // "salesforceProfile": {}, * // "satisfiesPzi": false, * // "satisfiesPzs": false, + * // "serviceNowProfile": {}, * // "spannerProfile": {}, * // "sqlServerProfile": {}, * // "staticServiceIpConnectivity": {}, @@ -4256,6 +4480,7 @@ export namespace datastream_v1 { * // { * // "bigqueryProfile": {}, * // "createTime": "my_createTime", + * // "dataverseProfile": {}, * // "displayName": "my_displayName", * // "forwardSshConnectivity": {}, * // "gcsProfile": {}, @@ -4266,9 +4491,11 @@ export namespace datastream_v1 { * // "oracleProfile": {}, * // "postgresqlProfile": {}, * // "privateConnectivity": {}, + * // "salesforceMarketingCloudProfile": {}, * // "salesforceProfile": {}, * // "satisfiesPzi": false, * // "satisfiesPzs": false, + * // "serviceNowProfile": {}, * // "spannerProfile": {}, * // "sqlServerProfile": {}, * // "staticServiceIpConnectivity": {}, diff --git a/src/apis/developerconnect/v1.ts b/src/apis/developerconnect/v1.ts index d948ed0940a..43c2074ca60 100644 --- a/src/apis/developerconnect/v1.ts +++ b/src/apis/developerconnect/v1.ts @@ -248,6 +248,10 @@ export namespace developerconnect_v1 { * Output only. Unique identifier of `ArtifactDeployment`. */ id?: string | null; + /** + * Output only. The URIs of the source code, if available. For Cloud Run source deploy for example: `gs://my-bucket/my-folder/1234567890.abcde-fdbe.zip#1234567890` + */ + sourceCodeUris?: string[] | null; /** * Output only. The source commits at which this artifact was built. Extracted from provenance. */ diff --git a/src/apis/developerknowledge/v1.ts b/src/apis/developerknowledge/v1.ts index bd4b3ed94ca..51fe8173f7d 100644 --- a/src/apis/developerknowledge/v1.ts +++ b/src/apis/developerknowledge/v1.ts @@ -242,7 +242,7 @@ export namespace developerknowledge_v1 { * * // Do the magic * const res = await developerknowledge.documents.batchGet({ - * // Required. Specifies the names of the documents to retrieve. A maximum of 20 documents can be retrieved in a batch. The documents are returned in the same order as the `names` in the request. Format: `documents/{uri_without_scheme\}` Example: `documents/docs.cloud.google.com/storage/docs/creating-buckets` If you are changing the batch size, consider the value of `maxConcurrentGCSFetches` constant in the service implementation: http://cs///depot/google3/devrel/boq/developerknowledge/service/developerknowledge.go + * // Required. Specifies the names of the documents to retrieve. A maximum of 20 documents can be retrieved in a batch. The documents are returned in the same order as the `names` in the request. Format: `documents/{uri_without_scheme\}` Example: `documents/docs.cloud.google.com/storage/docs/creating-buckets` * names: 'placeholder-value', * // Optional. Specifies the DocumentView of the document. If unspecified, DeveloperKnowledge.BatchGetDocuments defaults to `DOCUMENT_VIEW_CONTENT`. * view: 'placeholder-value', @@ -652,7 +652,7 @@ export namespace developerknowledge_v1 { export interface Params$Resource$Documents$Batchget extends StandardParameters { /** - * Required. Specifies the names of the documents to retrieve. A maximum of 20 documents can be retrieved in a batch. The documents are returned in the same order as the `names` in the request. Format: `documents/{uri_without_scheme\}` Example: `documents/docs.cloud.google.com/storage/docs/creating-buckets` If you are changing the batch size, consider the value of `maxConcurrentGCSFetches` constant in the service implementation: http://cs///depot/google3/devrel/boq/developerknowledge/service/developerknowledge.go + * Required. Specifies the names of the documents to retrieve. A maximum of 20 documents can be retrieved in a batch. The documents are returned in the same order as the `names` in the request. Format: `documents/{uri_without_scheme\}` Example: `documents/docs.cloud.google.com/storage/docs/creating-buckets` */ names?: string[]; /** diff --git a/src/apis/developerknowledge/v1alpha.ts b/src/apis/developerknowledge/v1alpha.ts index 9402943efc4..43e101e52ee 100644 --- a/src/apis/developerknowledge/v1alpha.ts +++ b/src/apis/developerknowledge/v1alpha.ts @@ -134,6 +134,31 @@ export namespace developerknowledge_v1alpha { * Contains the text of the answer. */ answerText?: string | null; + /** + * Output only. Contains citations for the answer. + */ + citations?: Schema$AnswerCitation[]; + /** + * Output only. Contains references for the answer. + */ + references?: Schema$AnswerReference[]; + } + /** + * Citation info for a segment. + */ + export interface Schema$AnswerCitation { + /** + * Output only. Indicates the end of the segment, measured in bytes (UTF-8 unicode), exclusive. If there are multi-byte characters, such as non-ASCII characters, the index measurement is longer than the string length. + */ + endIndex?: number | null; + /** + * Output only. Contains citation sources for the attributed segment. + */ + sources?: Schema$CitationSource[]; + /** + * Output only. Indicates the start of the segment, measured in bytes (UTF-8 unicode), inclusive. If there are multi-byte characters, such as non-ASCII characters, the index measurement is longer than the string length. + */ + startIndex?: number | null; } /** * Request message for DeveloperKnowledge.AnswerQuery. @@ -153,6 +178,15 @@ export namespace developerknowledge_v1alpha { */ answer?: Schema$Answer; } + /** + * Represents a reference to a source. + */ + export interface Schema$AnswerReference { + /** + * Output only. The reference document. + */ + documentReference?: Schema$DocumentReference; + } /** * Response message for DeveloperKnowledge.BatchGetDocuments. */ @@ -162,6 +196,15 @@ export namespace developerknowledge_v1alpha { */ documents?: Schema$Document[]; } + /** + * Citation source. + */ + export interface Schema$CitationSource { + /** + * Output only. Contains the index of the Answer.AnswerReference in the `references` repeated field. + */ + referenceIndex?: number | null; + } /** * A Document represents a piece of content from the Developer Knowledge corpus. */ @@ -220,6 +263,15 @@ export namespace developerknowledge_v1alpha { */ parent?: string | null; } + /** + * Represents a reference to a document. + */ + export interface Schema$DocumentReference { + /** + * Output only. Contains the document chunk. The `document_chunk.id` field is not set and will be empty. + */ + documentChunk?: Schema$DocumentChunk; + } /** * Response message for DeveloperKnowledge.SearchDocumentChunks. */ @@ -271,7 +323,7 @@ export namespace developerknowledge_v1alpha { * * // Do the magic * const res = await developerknowledge.documents.batchGet({ - * // Required. Specifies the names of the documents to retrieve. A maximum of 20 documents can be retrieved in a batch. The documents are returned in the same order as the `names` in the request. Format: `documents/{uri_without_scheme\}` Example: `documents/docs.cloud.google.com/storage/docs/creating-buckets` If you are changing the batch size, consider the value of `maxConcurrentGCSFetches` constant in the service implementation: http://cs///depot/google3/devrel/boq/developerknowledge/service/developerknowledge.go + * // Required. Specifies the names of the documents to retrieve. A maximum of 20 documents can be retrieved in a batch. The documents are returned in the same order as the `names` in the request. Format: `documents/{uri_without_scheme\}` Example: `documents/docs.cloud.google.com/storage/docs/creating-buckets` * names: 'placeholder-value', * // Optional. Specifies the DocumentView of the document. If unspecified, DeveloperKnowledge.BatchGetDocuments defaults to `DOCUMENT_VIEW_CONTENT`. * view: 'placeholder-value', @@ -681,7 +733,7 @@ export namespace developerknowledge_v1alpha { export interface Params$Resource$Documents$Batchget extends StandardParameters { /** - * Required. Specifies the names of the documents to retrieve. A maximum of 20 documents can be retrieved in a batch. The documents are returned in the same order as the `names` in the request. Format: `documents/{uri_without_scheme\}` Example: `documents/docs.cloud.google.com/storage/docs/creating-buckets` If you are changing the batch size, consider the value of `maxConcurrentGCSFetches` constant in the service implementation: http://cs///depot/google3/devrel/boq/developerknowledge/service/developerknowledge.go + * Required. Specifies the names of the documents to retrieve. A maximum of 20 documents can be retrieved in a batch. The documents are returned in the same order as the `names` in the request. Format: `documents/{uri_without_scheme\}` Example: `documents/docs.cloud.google.com/storage/docs/creating-buckets` */ names?: string[]; /** diff --git a/src/apis/dlp/v2.ts b/src/apis/dlp/v2.ts index c5873fd2f4e..a0a8fbfbc83 100644 --- a/src/apis/dlp/v2.ts +++ b/src/apis/dlp/v2.ts @@ -383,6 +383,24 @@ export namespace dlp_v2 { */ allAssetInventoryAssets?: boolean | null; } + /** + * Represents a batch of content to inspect or redact. + */ + export interface Schema$GooglePrivacyDlpV2BatchContentItem { + /** + * Optional. Represents a batch of string values to inspect or redact. + */ + stringValueBatch?: Schema$GooglePrivacyDlpV2StringValueBatch; + } + /** + * Location within a batch of content. + */ + export interface Schema$GooglePrivacyDlpV2BatchContentLocation { + /** + * Matches an index of a batch item in the batch provided in the request. + */ + itemIndex?: number | null; + } /** * Target used to match against for discovery with BigQuery tables */ @@ -1012,6 +1030,10 @@ export namespace dlp_v2 { * Type of content to inspect. */ export interface Schema$GooglePrivacyDlpV2ContentItem { + /** + * Represents a batch of items to inspect. + */ + batchContentItem?: Schema$GooglePrivacyDlpV2BatchContentItem; /** * Content data to inspect or redact. Replaces `type` and `data`. */ @@ -1037,6 +1059,10 @@ export namespace dlp_v2 { * Precise location of the finding within a document, record, image, or metadata container. */ export interface Schema$GooglePrivacyDlpV2ContentLocation { + /** + * Location within a batch of content. + */ + batchContentLocation?: Schema$GooglePrivacyDlpV2BatchContentLocation; /** * Name of the container where the finding is located. The top level name is the source file name or table name. Names of some common storage containers are formatted as follows: * BigQuery tables: `{project_id\}:{dataset_id\}.{table_id\}` * Cloud Storage files: `gs://{bucket\}/{path\}` * Datastore namespace: {namespace\} Nested names could be absent if the embedded object has no string identifier (for example, an image contained within a document). */ @@ -5021,6 +5047,15 @@ export namespace dlp_v2 { */ name?: string | null; } + /** + * Represents a batch of string values to inspect or redact. + */ + export interface Schema$GooglePrivacyDlpV2StringValueBatch { + /** + * Optional. Represents string data to inspect or redact. + */ + values?: string[] | null; + } /** * A collection that informs the user the number of times a particular `TransformationResultCode` and error details occurred. */ diff --git a/src/apis/firestore/v1.ts b/src/apis/firestore/v1.ts index 8134a2b3bf6..1d977ac01c4 100644 --- a/src/apis/firestore/v1.ts +++ b/src/apis/firestore/v1.ts @@ -1249,7 +1249,7 @@ export namespace firestore_v1 { */ queryScope?: string | null; /** - * Optional. Options for search indexes that are at the index definition level. + * Optional. Options for search indexes that are at the index definition level. This field is only currently supported for indexes with MONGODB_COMPATIBLE_API ApiScope. */ searchIndexOptions?: Schema$GoogleFirestoreAdminV1SearchIndexOptions; /** @@ -1538,7 +1538,7 @@ export namespace firestore_v1 { */ export interface Schema$GoogleFirestoreAdminV1SearchGeoSpec { /** - * Optional. Disables geoJSON indexing for the field. By default, geoJSON points are indexed. Firestore GeoPoints are indexed regardless of this value. + * Optional. Disables geoJSON indexing for the field. By default, geoJSON points are indexed. */ geoJsonIndexingDisabled?: boolean | null; } @@ -1551,7 +1551,7 @@ export namespace firestore_v1 { */ textLanguage?: string | null; /** - * Optional. The field in the document that specifies which language to use for that specific document. If unspecified, the language is taken from the "language" field if it exists or from `text_language` if it does not. + * Optional. The field in the document that specifies which language to use for that specific document. For indexes with MONGODB_COMPATIBLE_API ApiScope: if unspecified, the language is taken from the "language" field if it exists or from `text_language` if it does not. */ textLanguageOverrideFieldPath?: string | null; } diff --git a/src/apis/health/v4.ts b/src/apis/health/v4.ts index 62d0593b185..5cc09fa5706 100644 --- a/src/apis/health/v4.ts +++ b/src/apis/health/v4.ts @@ -1419,6 +1419,15 @@ export namespace health_v4 { */ name?: string | null; } + /** + * Represents a user in the Google Health API. It matches the parent resource of collections owned by the user. Clients currently do not need to interact with this resource directly. + */ + export interface Schema$GoogleDevicesandservicesHealthV4User { + /** + * Identifier. The resource name of the user. The `{user\}` ID is a system-generated identifier, as described in Identity.health_user_id. Format: `users/{user\}` + */ + name?: string | null; + } /** * Log message for a webhook notification sent by the Google Health API to a subscriber's endpoint. Includes the HTTP response received from the endpoint. */ @@ -2881,7 +2890,7 @@ export namespace health_v4 { */ export interface Schema$Subscription { /** - * Optional. Data types subscribed to. A subscriber will only receive notifications for data types that are declared here. A subscription can only subscribe to the data types of the subscriber. Supported data types are: "altitude", "distance", "floors", "sleep", "steps", "weight". + * Optional. Data types subscribed to. A subscriber will only receive notifications for data types that are declared here. A subscription can only subscribe to the data types of the subscriber. The values should be in the format "users/{health_user_id\}/dataTypes/{data_type\}" where `{data_type\}` is one of "altitude", "distance", "floors", "sleep", "steps", "weight". */ dataTypes?: string[] | null; /** @@ -4102,7 +4111,7 @@ export namespace health_v4 { * * // Do the magic * const res = await health.projects.subscribers.subscriptions.list({ - * // Optional. A filter to apply to the list of subscriptions. The filter syntax is described in https://google.aip.dev/160. The filter can be applied to the following fields: - `user` - `data_type` The `user` identifier (e.g., `user1` in `users/user1`) refers to the public `healthUserId` Example: user = "users/user1" Example: user = "users/user1" OR user = "users/user2" Example: user = "users/user1" AND (data_type = "sleep" OR data_type = "weight") + * // Optional. A filter to apply to the list of subscriptions. The filter syntax is described in https://google.aip.dev/160. The filter can be applied to the following fields: - `user` - `data_type` The `user` identifier (e.g., `user1` in `users/user1`) refers to the public `health_user_id` Example: user = "users/user1" Example: user = "users/user1" OR user = "users/user2" Example: user = "users/user1" AND (data_type = "sleep" OR data_type = "weight") * filter: 'placeholder-value', * // Optional. The maximum number of subscriptions to return. The service may return fewer than this value. If unspecified, at most 50 subscriptions will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. * pageSize: 'placeholder-value', @@ -4391,7 +4400,7 @@ export namespace health_v4 { } export interface Params$Resource$Projects$Subscribers$Subscriptions$List extends StandardParameters { /** - * Optional. A filter to apply to the list of subscriptions. The filter syntax is described in https://google.aip.dev/160. The filter can be applied to the following fields: - `user` - `data_type` The `user` identifier (e.g., `user1` in `users/user1`) refers to the public `healthUserId` Example: user = "users/user1" Example: user = "users/user1" OR user = "users/user2" Example: user = "users/user1" AND (data_type = "sleep" OR data_type = "weight") + * Optional. A filter to apply to the list of subscriptions. The filter syntax is described in https://google.aip.dev/160. The filter can be applied to the following fields: - `user` - `data_type` The `user` identifier (e.g., `user1` in `users/user1`) refers to the public `health_user_id` Example: user = "users/user1" Example: user = "users/user1" OR user = "users/user2" Example: user = "users/user1" AND (data_type = "sleep" OR data_type = "weight") */ filter?: string; /** @@ -4457,7 +4466,9 @@ export namespace health_v4 { * // Scopes can be specified either as an array or as a single, space-delimited string. * scopes: [ * 'https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly', + * 'https://www.googleapis.com/auth/googlehealth.ecg.readonly', * 'https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.readonly', + * 'https://www.googleapis.com/auth/googlehealth.irn.readonly', * 'https://www.googleapis.com/auth/googlehealth.profile.readonly', * 'https://www.googleapis.com/auth/googlehealth.settings.readonly', * 'https://www.googleapis.com/auth/googlehealth.sleep.readonly', diff --git a/src/apis/logging/v2.ts b/src/apis/logging/v2.ts index 7c9bfec5131..b0f4031e22b 100644 --- a/src/apis/logging/v2.ts +++ b/src/apis/logging/v2.ts @@ -1687,6 +1687,10 @@ export namespace logging_v2 { * The truncation granularity when grouping by a time/date field. This will be used to truncate the field to the granularity specified. This can be either a date or a time granularity found at https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_date and https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions#timestamp_trunc_granularity_time respectively. */ truncationGranularity?: string | null; + /** + * Optional. A virtual field definition, used in place of field to define a field that is computed from other fields rather than being directly present in the data schema.For example, a virtual field can be defined using COALESCE to select the first non-null value from a list of fields.If virtual_field is set, field must not be set. + */ + virtualField?: Schema$VirtualField; } /** * Defines a structured query configuration that can be used instead of writing raw SQL. This configuration represents the components of a SQL query (FROM, SELECT, WHERE, ORDER BY, LIMIT) and is typically converted into an executable query (e.g., BigQuery SQL) by the backend service to retrieve data for analysis or visualization. @@ -2113,6 +2117,19 @@ export namespace logging_v2 { */ updateMask?: string | null; } + /** + * A virtual field is a field that is not physically present in the underlying data schema, but is created through specific operations within the query builder model based on other fields in the schema. + */ + export interface Schema$VirtualField { + /** + * The field sources that will be used to create the virtual field, based on the semantics of the virtual field type.The field sources must follow these rules, based on the virtual field type: - For VIRTUAL_FIELD_TYPE_UNSPECIFIED, this field must be empty. - For COALESCE, this field must be non-empty and include a minimum of two field sources. The underlying field sources must be actual projected fields that represent actual schema fields and that must not be transformed and aggregated in any way, except for casting. The type of all the underlying field sources must be equivalent so that picking one of them would result in the same value type. + */ + underlyingFieldSources?: Schema$FieldSource[]; + /** + * Required. The type of the virtual field. + */ + virtualFieldType?: string | null; + } /** * The parameters to WriteLogEntries. */ diff --git a/src/apis/merchantapi/products_v1.ts b/src/apis/merchantapi/products_v1.ts index d21c5b745ea..b28861566bd 100644 --- a/src/apis/merchantapi/products_v1.ts +++ b/src/apis/merchantapi/products_v1.ts @@ -924,7 +924,7 @@ export namespace merchantapi_products_v1 { */ promotionIds?: string[] | null; /** - * Optional. Contains user-, merchant-, and manufacturer-authored [questions and answers](https://support.google.com/merchants/answer/17085211) about the product. Max 30 question and answer pairs. Max 5000 characters total. Each question can have max 1000 characters. Each answer can have max 1000 characters. + * Optional. Contains user-, merchant-, and manufacturer-authored [questions and answers](https://support.google.com/merchants/answer/17085211) about the product. Max 30 question and answer pairs. Max 10000 characters total. Each question can have max 1000 characters. Each answer can have max 1000 characters. */ questionsAndAnswers?: Schema$QuestionAndAnswer[]; /** diff --git a/src/apis/mybusinessverifications/v1.ts b/src/apis/mybusinessverifications/v1.ts index 289e4de9483..fe2f2039423 100644 --- a/src/apis/mybusinessverifications/v1.ts +++ b/src/apis/mybusinessverifications/v1.ts @@ -213,10 +213,6 @@ export namespace mybusinessverifications_v1 { * Request message for Verifications.GenerateInstantVerificationToken. */ export interface Schema$GenerateInstantVerificationTokenRequest { - /** - * Immutable. Deprecated: Please use location_id instead. The address and other details of the location to generate an instant verification token for. - */ - locationData?: Schema$LocationData; /** * The location identifier associated with an unverified listing. This is the location id generated at the time that the listing was originally created. It is the final portion of a location resource name as generated by the Google My Business API. Note: the caller must be an owner or manager of this listing in order to generate a verification token. See the [location resource](/my-business/reference/rest/v4/accounts.locations) documentation for more information. */ @@ -248,19 +244,6 @@ export namespace mybusinessverifications_v1 { */ verifications?: Schema$Verification[]; } - /** - * The address and other details of the location to generate an instant verification token for. - */ - export interface Schema$LocationData { - /** - * Immutable. A precise, accurate address to describe your business location. PO boxes or mailboxes located at remote locations are not acceptable. At this time, you can specify a maximum of five `address_lines` values in the address. - */ - address?: Schema$PostalAddress; - /** - * Immutable. Name should reflect your business's real-world name, as used consistently on your storefront, website, and stationery, and as known to customers. Any additional information, when relevant, can be included in other fields of the resource (for example, `Address`, `Categories`). Don't add unnecessary information to your name (for example, prefer "Google" over "Google Inc. - Mountain View Corporate Headquarters"). Don't include marketing taglines, store codes, special characters, hours or closed/open status, phone numbers, website URLs, service/product information, location/address or directions, or containment information (for example, "Chase ATM in Duane Reade"). - */ - name?: string | null; - } /** * Represents a postal address, such as for postal delivery or payments addresses. With a postal address, a postal service can deliver items to a premise, P.O. box, or similar. A postal address is not intended to model geographical locations like roads, towns, or 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 or 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. */ @@ -1337,7 +1320,6 @@ export namespace mybusinessverifications_v1 { * requestBody: { * // request body parameters * // { - * // "locationData": {}, * // "locationId": "my_locationId" * // } * }, diff --git a/src/apis/networkmanagement/v1.ts b/src/apis/networkmanagement/v1.ts index 60babd458fe..8f4cf2057bb 100644 --- a/src/apis/networkmanagement/v1.ts +++ b/src/apis/networkmanagement/v1.ts @@ -568,6 +568,10 @@ export namespace networkmanagement_v1 { * A [Cloud Function](https://cloud.google.com/functions). Applicable only to source endpoint. */ cloudFunction?: Schema$CloudFunctionEndpoint; + /** + * A [Cloud Run](https://cloud.google.com/run) [job](https://docs.cloud.google.com/run/docs/reference/rest/v2/projects.locations.jobs#Job) URI. Applicable only to source endpoint. The format is: projects/{project\}/locations/{location\}/jobs/{job\} + */ + cloudRunJob?: string | null; /** * A [Cloud Run](https://cloud.google.com/run) [revision](https://cloud.google.com/run/docs/reference/rest/v1/namespaces.revisions/get) Applicable only to source endpoint. */ diff --git a/src/apis/networksecurity/v1.ts b/src/apis/networksecurity/v1.ts index 6b225879de8..ca947477904 100644 --- a/src/apis/networksecurity/v1.ts +++ b/src/apis/networksecurity/v1.ts @@ -1598,7 +1598,7 @@ export namespace networksecurity_v1 { */ nextPageToken?: string | null; /** - * Locations that could not be reached. + * Unordered list. Locations that could not be reached. See https://google.aip.dev/217 for more details. */ unreachable?: string[] | null; } diff --git a/src/apis/networksecurity/v1beta1.ts b/src/apis/networksecurity/v1beta1.ts index 4fd908a33d1..37d55fd93ee 100644 --- a/src/apis/networksecurity/v1beta1.ts +++ b/src/apis/networksecurity/v1beta1.ts @@ -781,6 +781,10 @@ export namespace networksecurity_v1beta1 { * Output only. Update time stamp */ updateTime?: string | null; + /** + * Optional. Settings for WildFire analysis. + */ + wildfireSettings?: Schema$FirewallEndpointWildfireSettings; } /** * Message describing Association object @@ -844,11 +848,61 @@ export namespace networksecurity_v1beta1 { * Settings for the endpoint. */ export interface Schema$FirewallEndpointEndpointSettings { + /** + * Optional. The content cloud region of the endpoint. + */ + contentCloudRegion?: string | null; + /** + * Optional. Whether to block HTTP partial responses for the endpoint. When this is true, resumption of blocked malicious HTTP file downloads will be blocked by the firewall. False provides maximum availability, true provides maximum security. + */ + httpPartialResponseBlocked?: boolean | null; /** * Optional. Immutable. Indicates whether Jumbo Frames are enabled. Default value is false. */ jumboFramesEnabled?: boolean | null; } + /** + * Settings for WildFire analysis. + */ + export interface Schema$FirewallEndpointWildfireSettings { + /** + * Optional. Indicates whether WildFire analysis is enabled. Default value is false. + */ + enabled?: boolean | null; + /** + * Optional. Settings for WildFire inline cloud analysis. + */ + wildfireInlineCloudAnalysisSettings?: Schema$FirewallEndpointWildfireSettingsWildfireInlineCloudAnalysisSettings; + /** + * Optional. Duration in milliseconds on a file being held while the WildFire real time signature cloud performs a signature lookup. Value between 1 to 5000 is valid. Default value is 1000. + */ + wildfireRealtimeLookupDuration?: string | null; + /** + * Optional. Action to take on WildFire real time signature lookup timeout. Default value is ALLOW. + */ + wildfireRealtimeLookupTimeoutAction?: string | null; + /** + * Optional. The region where WildFire analysis will be performed. PAN supports regions: https://docs.paloaltonetworks.com/advanced-wildfire/administration/advanced-wildfire-overview/advanced-wildfire-deployments/advanced-wildfire-global-cloud + */ + wildfireRegion?: string | null; + } + /** + * Settings for WildFire inline cloud analysis. + */ + export interface Schema$FirewallEndpointWildfireSettingsWildfireInlineCloudAnalysisSettings { + /** + * Optional. Timeout in milliseconds on a file being held while WildFire inline cloud analysis is performed. Value between 1 to 240000 is valid. Default value is 30000. + */ + maxAnalysisDuration?: string | null; + /** + * Optional. Whether to disable WildFire submission log generation for files that timeout during WildFire inline cloud analysis. + */ + submissionTimeoutLoggingDisabled?: boolean | null; + /** + * Optional. Action to take when WildFire inline cloud analysis times out. Default value is ALLOW. + */ + timeoutAction?: string | null; + } /** * The GatewaySecurityPolicy resource contains a collection of GatewaySecurityPolicyRules and associated metadata. */ @@ -1598,7 +1652,7 @@ export namespace networksecurity_v1beta1 { */ nextPageToken?: string | null; /** - * Locations that could not be reached. + * Unordered list. Locations that could not be reached. See https://google.aip.dev/217 for more details. */ unreachable?: string[] | null; } @@ -1756,6 +1810,23 @@ export namespace networksecurity_v1beta1 { */ urlLists?: Schema$UrlList[]; } + /** + * Message for response to listing WildfireVerdictChangeRequests. + */ + export interface Schema$ListWildfireVerdictChangeRequestsResponse { + /** + * A token identifying a page of results the server should return. + */ + nextPageToken?: string | null; + /** + * Unordered list. Locations that could not be reached. + */ + unreachable?: string[] | null; + /** + * The list of WildfireVerdictChangeRequests + */ + wildfireVerdictChangeRequests?: Schema$WildfireVerdictChangeRequest[]; + } /** * A resource that represents a Google Cloud location. */ @@ -2317,6 +2388,10 @@ export namespace networksecurity_v1beta1 { * The URL filtering configuration for the SecurityProfile. */ urlFilteringProfile?: Schema$UrlFilteringProfile; + /** + * The WildFire Analysis configurations for SecurityProfile. + */ + wildfireAnalysisProfile?: Schema$WildfireAnalysisProfile; } /** * SecurityProfileGroup is a resource that defines the behavior for various ProfileTypes. @@ -2366,6 +2441,10 @@ export namespace networksecurity_v1beta1 { * Optional. Reference to a SecurityProfile with the UrlFiltering configuration. */ urlFilteringProfile?: string | null; + /** + * Optional. Reference to a SecurityProfile with the WildFire configuration. + */ + wildfireAnalysisProfile?: string | null; } /** * ServerTlsPolicy is a resource that specifies how a server should authenticate incoming requests. This resource itself does not affect configuration unless it is attached to a target HTTPS proxy or endpoint config selector resource. ServerTlsPolicy in the form accepted by Application Load Balancers can be attached only to TargetHttpsProxy with an `EXTERNAL`, `EXTERNAL_MANAGED` or `INTERNAL_MANAGED` load balancing scheme. Traffic Director compatible ServerTlsPolicies can be attached to EndpointPolicy and TargetHttpsProxy with Traffic Director `INTERNAL_SELF_MANAGED` load balancing scheme. @@ -2590,6 +2669,238 @@ export namespace networksecurity_v1beta1 { */ grpcEndpoint?: Schema$GoogleCloudNetworksecurityV1beta1GrpcEndpoint; } + /** + * WildfireAnalysisProfile defines Palo Alto Networks WildFire behavior. + */ + export interface Schema$WildfireAnalysisProfile { + /** + * Optional. Configuration for WildFire inline cloud analysis. + */ + wildfireInlineCloudAnalysisRules?: Schema$WildfireInlineCloudAnalysisRule[]; + /** + * Optional. Configuration for overriding inline ML WildFire actions per protocol. + */ + wildfireInlineMlOverrides?: Schema$WildfireInlineMlOverride[]; + /** + * Optional. Settings for WildFire Inline ML analysis. + */ + wildfireInlineMlSetting?: Schema$WildfireInlineMlSettings; + /** + * Optional. Settings for WildFire Inline ML analysis. + */ + wildfireInlineMlSettings?: Schema$WildfireInlineMlSettings[]; + /** + * Optional. Configuration for overriding WildFire actions per protocol. + */ + wildfireOverrides?: Schema$WildfireOverride[]; + /** + * Optional. Whether to hold the transfer of a file while the WildFire real-time signature cloud performs a signature lookup. Default value is false. + */ + wildfireRealtimeLookup?: boolean | null; + /** + * Optional. Configurations for WildFire file submissions. + */ + wildfireSubmissionRules?: Schema$WildfireSubmissionRule[]; + /** + * Optional. Configuration for overriding WildFire threats action by threat_id match. + */ + wildfireThreatOverrides?: Schema$WildfireThreatOverride[]; + } + /** + * The list of file type configurations to be scanned by WildFire Inline Cloud Analysis. + */ + export interface Schema$WildfireInlineCloudAnalysisRule { + /** + * Required. Action to take when a threat is detected using WildFire Inline Cloud Analysis. The default Value is DENY. + */ + action?: string | null; + /** + * Submit a custom list of file types for WildFire analysis. + */ + customFileTypes?: Schema$WildfireInlineCloudAnalysisRuleCustomFileTypes; + /** + * Required. Direction for the file to be analyzed by WildFire Inline Cloud Analysis. + */ + direction?: string | null; + /** + * Required. File selection mode for WildFire inline cloud analysis. + */ + fileSelectionMode?: string | null; + } + /** + * The options to submit a custom list of file types for scan. + */ + export interface Schema$WildfireInlineCloudAnalysisRuleCustomFileTypes { + /** + * Required. File types to be submitted for WildFire inline cloud analysis. + */ + fileTypes?: string[] | null; + } + /** + * Defines the file to exclude from WildFire Inline ML analysis. + */ + export interface Schema$WildfireInlineMlFileException { + /** + * Optional. Name of the file to exclude from WildFire Inline ML analysis. + */ + filename?: string | null; + /** + * Required. Machine learning partial hash of the file to exclude from WildFire Inline ML analysis. + */ + partialHash?: string | null; + } + /** + * Defines what action to take for WildFire Inline ML threats per protocol. + */ + export interface Schema$WildfireInlineMlOverride { + /** + * Required. The action to take for WildFire Inline ML override. + */ + action?: string | null; + /** + * Required. Protocol to match for WildFire Inline ML override. + */ + protocol?: string | null; + } + /** + * Defines the settings for WildFire Inline ML analysis. + */ + export interface Schema$WildfireInlineMlSettings { + /** + * Optional. List of files to exclude from WildFire Inline ML analysis. + */ + fileExceptions?: Schema$WildfireInlineMlFileException[]; + /** + * Optional. List of Inline ML configs to enable in WildFire Inline ML analysis. + */ + inlineMlConfigs?: Schema$WildfireInlineMlSettingsInlineMlConfig[]; + } + /** + * Configuration for WildFire Inline ML analysis per file type. + */ + export interface Schema$WildfireInlineMlSettingsInlineMlConfig { + /** + * Required. Action to take when a threat is detected using Inline ML. + */ + action?: string | null; + /** + * Required. File type to configure Inline ML for. + */ + fileType?: string | null; + } + /** + * Defines what action to take for WildFire threats per protocol. + */ + export interface Schema$WildfireOverride { + /** + * Required. Threat action override. For some threat types, only a subset of actions applies. + */ + action?: string | null; + /** + * Required. Protocol to match. + */ + protocol?: string | null; + } + /** + * Defines the file types to be submitted for WildFire analysis and the direction of the traffic. + */ + export interface Schema$WildfireSubmissionRule { + /** + * Submit a custom list of file types for WildFire analysis. + */ + customFileTypes?: Schema$WildfireSubmissionRuleCustomFileTypes; + /** + * Required. Direction for the files to be analyzed by WildFire. + */ + direction?: string | null; + /** + * Required. File selection mode for WildFire analysis. + */ + fileSelectionMode?: string | null; + } + /** + * The options to submit a custom list of file types for scan. + */ + export interface Schema$WildfireSubmissionRuleCustomFileTypes { + /** + * Required. File types to be submitted for WildFire analysis. + */ + fileTypes?: string[] | null; + } + /** + * Defines what action to take for a specific WildFire threat_id match. + */ + export interface Schema$WildfireThreatOverride { + /** + * Required. Threat action override. + */ + action?: string | null; + /** + * Required. Threat ID to match. + */ + threatId?: string | null; + } + /** + * Message for a WildfireVerdictChangeRequest. + */ + export interface Schema$WildfireVerdictChangeRequest { + /** + * Required. The justification for the verdict change request. Max length 2048 characters. + */ + comment?: string | null; + /** + * Output only. The timestamp when the WildfireVerdictChangeRequest was created. + */ + createTime?: string | null; + /** + * Output only. The file name of the Malware Sample. + */ + fileName?: string | null; + /** + * Output only. The file type of the Malware Sample. + */ + fileType?: string | null; + /** + * Output only. The final verdict of the Malware Sample. + */ + finalVerdict?: string | null; + /** + * Output only. Identifier. The relative name of the WildfireVerdictChangeRequest. Output only. This is a unique identifier generated by the third party API. Format: organizations|projects/{project_or_organization\}/locations/{location\}/firewallEndpoints/{firewall_endpoint\}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id\} Where {wildfire_verdict_change_request_id\} is the ID in the format: ^[0-9a-fA-F]{8\}-[0-9a-fA-F]{4\}-[0-9a-fA-F]{4\}-[0-9a-fA-F]{4\}-[0-9a-fA-F]{12\}$ + */ + name?: string | null; + /** + * Required. The suggested verdict to apply to the Malware Sample. + */ + newVerdict?: string | null; + /** + * Output only. The original verdict of the Malware Sample. + */ + oldVerdict?: string | null; + /** + * Output only. The timestamp when the WildfireVerdictChangeRequest was resolved. + */ + resolutionTime?: string | null; + /** + * Required. The SHA256 hash of the Malware Sample to change the verdict of. + */ + sha256?: string | null; + /** + * Output only. The region of the file associated with the Malware Sample. + */ + sourceRegion?: string | null; + /** + * Output only. The review state of the WildfireVerdictChangeRequest. + */ + state?: string | null; + /** + * Output only. The timestamp when the WildfireVerdictChangeRequest was last updated. + */ + updateTime?: string | null; + /** + * Output only. The ID of the WildfireVerdictChangeRequest. This is a unique identifier generated by the third party API. Format: ^[0-9a-fA-F]{8\}-[0-9a-fA-F]{4\}-[0-9a-fA-F]{4\}-[0-9a-fA-F]{4\}-[0-9a-fA-F]{12\}$ + */ + wildfireVerdictChangeRequestId?: string | null; + } export class Resource$Organizations { context: APIRequestContext; @@ -4629,8 +4940,13 @@ export namespace networksecurity_v1beta1 { export class Resource$Organizations$Locations$Firewallendpoints { context: APIRequestContext; + wildfireVerdictChangeRequests: Resource$Organizations$Locations$Firewallendpoints$Wildfireverdictchangerequests; constructor(context: APIRequestContext) { this.context = context; + this.wildfireVerdictChangeRequests = + new Resource$Organizations$Locations$Firewallendpoints$Wildfireverdictchangerequests( + this.context + ); } /** @@ -4688,7 +5004,8 @@ export namespace networksecurity_v1beta1 { * // "satisfiesPzi": false, * // "satisfiesPzs": false, * // "state": "my_state", - * // "updateTime": "my_updateTime" + * // "updateTime": "my_updateTime", + * // "wildfireSettings": {} * // } * }, * }); @@ -4995,7 +5312,8 @@ export namespace networksecurity_v1beta1 { * // "satisfiesPzi": false, * // "satisfiesPzs": false, * // "state": "my_state", - * // "updateTime": "my_updateTime" + * // "updateTime": "my_updateTime", + * // "wildfireSettings": {} * // } * } * @@ -5304,7 +5622,8 @@ export namespace networksecurity_v1beta1 { * // "satisfiesPzi": false, * // "satisfiesPzs": false, * // "state": "my_state", - * // "updateTime": "my_updateTime" + * // "updateTime": "my_updateTime", + * // "wildfireSettings": {} * // } * }, * }); @@ -5492,14 +5811,14 @@ export namespace networksecurity_v1beta1 { requestBody?: Schema$FirewallEndpoint; } - export class Resource$Organizations$Locations$Operations { + export class Resource$Organizations$Locations$Firewallendpoints$Wildfireverdictchangerequests { context: APIRequestContext; constructor(context: APIRequestContext) { this.context = context; } /** - * 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`. + * Create WildfireVerdictChangeRequest in a given Firewall Endpoint in an organization and location. * @example * ```js * // Before running the sample: @@ -5528,20 +5847,54 @@ export namespace networksecurity_v1beta1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await networksecurity.organizations.locations.operations.cancel({ - * // The name of the operation resource to be cancelled. - * name: 'organizations/my-organization/locations/my-location/operations/my-operation', + * const res = + * await networksecurity.organizations.locations.firewallEndpoints.wildfireVerdictChangeRequests.create( + * { + * // Required. Parent value for CreateWildfireVerdictChangeRequestRequest. The parent is a firewall endpoint resource. Format: organizations|projects/{project_or_organization\}/locations/{location\}/firewallEndpoints/{firewall_endpoint\} + * parent: + * 'organizations/my-organization/locations/my-location/firewallEndpoints/my-firewallEndpoint', * - * // Request body metadata - * requestBody: { - * // request body parameters - * // {} - * }, - * }); + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "comment": "my_comment", + * // "createTime": "my_createTime", + * // "fileName": "my_fileName", + * // "fileType": "my_fileType", + * // "finalVerdict": "my_finalVerdict", + * // "name": "my_name", + * // "newVerdict": "my_newVerdict", + * // "oldVerdict": "my_oldVerdict", + * // "resolutionTime": "my_resolutionTime", + * // "sha256": "my_sha256", + * // "sourceRegion": "my_sourceRegion", + * // "state": "my_state", + * // "updateTime": "my_updateTime", + * // "wildfireVerdictChangeRequestId": "my_wildfireVerdictChangeRequestId" + * // } + * }, + * }, + * ); * console.log(res.data); * * // Example response - * // {} + * // { + * // "comment": "my_comment", + * // "createTime": "my_createTime", + * // "fileName": "my_fileName", + * // "fileType": "my_fileType", + * // "finalVerdict": "my_finalVerdict", + * // "name": "my_name", + * // "newVerdict": "my_newVerdict", + * // "oldVerdict": "my_oldVerdict", + * // "resolutionTime": "my_resolutionTime", + * // "sha256": "my_sha256", + * // "sourceRegion": "my_sourceRegion", + * // "state": "my_state", + * // "updateTime": "my_updateTime", + * // "wildfireVerdictChangeRequestId": "my_wildfireVerdictChangeRequestId" + * // } * } * * main().catch(e => { @@ -5556,54 +5909,58 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - cancel( - params: Params$Resource$Organizations$Locations$Operations$Cancel, + create( + params: Params$Resource$Organizations$Locations$Firewallendpoints$Wildfireverdictchangerequests$Create, options: StreamMethodOptions ): Promise>; - cancel( - params?: Params$Resource$Organizations$Locations$Operations$Cancel, + create( + params?: Params$Resource$Organizations$Locations$Firewallendpoints$Wildfireverdictchangerequests$Create, options?: MethodOptions - ): Promise>; - cancel( - params: Params$Resource$Organizations$Locations$Operations$Cancel, + ): Promise>; + create( + params: Params$Resource$Organizations$Locations$Firewallendpoints$Wildfireverdictchangerequests$Create, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - cancel( - params: Params$Resource$Organizations$Locations$Operations$Cancel, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + create( + params: Params$Resource$Organizations$Locations$Firewallendpoints$Wildfireverdictchangerequests$Create, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - cancel( - params: Params$Resource$Organizations$Locations$Operations$Cancel, - callback: BodyResponseCallback + create( + params: Params$Resource$Organizations$Locations$Firewallendpoints$Wildfireverdictchangerequests$Create, + callback: BodyResponseCallback ): void; - cancel(callback: BodyResponseCallback): void; - cancel( + create( + callback: BodyResponseCallback + ): void; + create( paramsOrCallback?: - | Params$Resource$Organizations$Locations$Operations$Cancel - | BodyResponseCallback + | Params$Resource$Organizations$Locations$Firewallendpoints$Wildfireverdictchangerequests$Create + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Organizations$Locations$Operations$Cancel; + {}) as Params$Resource$Organizations$Locations$Firewallendpoints$Wildfireverdictchangerequests$Create; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Organizations$Locations$Operations$Cancel; + {} as Params$Resource$Organizations$Locations$Firewallendpoints$Wildfireverdictchangerequests$Create; options = {}; } @@ -5617,32 +5974,33 @@ export namespace networksecurity_v1beta1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1beta1/{+name}:cancel').replace( - /([^:]\/)\/+/g, - '$1' - ), + url: ( + rootUrl + '/v1beta1/{+parent}/wildfireVerdictChangeRequests' + ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['name'], - pathParams: ['name'], + requiredParams: ['parent'], + pathParams: ['parent'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); } } /** - * 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`. + * Get WildfireVerdictChangeRequest in a given Firewall Endpoint in an organization and location. * @example * ```js * // Before running the sample: @@ -5671,14 +6029,32 @@ export namespace networksecurity_v1beta1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await networksecurity.organizations.locations.operations.delete({ - * // The name of the operation resource to be deleted. - * name: 'organizations/my-organization/locations/my-location/operations/my-operation', - * }); + * const res = + * await networksecurity.organizations.locations.firewallEndpoints.wildfireVerdictChangeRequests.get( + * { + * // Required. Name of the WildfireVerdictChangeRequest to retrieve. Format: organizations|projects/{project_or_organization\}/locations/{location\}/firewallEndpoints/{firewall_endpoint\}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id\} Where {wildfire_verdict_change_request_id\} is the ID in the format: ^[0-9a-fA-F]{8\}-[0-9a-fA-F]{4\}-[0-9a-fA-F]{4\}-[0-9a-fA-F]{4\}-[0-9a-fA-F]{12\}$ + * name: 'organizations/my-organization/locations/my-location/firewallEndpoints/my-firewallEndpoint/wildfireVerdictChangeRequests/my-wildfireVerdictChangeRequest', + * }, + * ); * console.log(res.data); * * // Example response - * // {} + * // { + * // "comment": "my_comment", + * // "createTime": "my_createTime", + * // "fileName": "my_fileName", + * // "fileType": "my_fileType", + * // "finalVerdict": "my_finalVerdict", + * // "name": "my_name", + * // "newVerdict": "my_newVerdict", + * // "oldVerdict": "my_oldVerdict", + * // "resolutionTime": "my_resolutionTime", + * // "sha256": "my_sha256", + * // "sourceRegion": "my_sourceRegion", + * // "state": "my_state", + * // "updateTime": "my_updateTime", + * // "wildfireVerdictChangeRequestId": "my_wildfireVerdictChangeRequestId" + * // } * } * * main().catch(e => { @@ -5693,54 +6069,58 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - delete( - params: Params$Resource$Organizations$Locations$Operations$Delete, + get( + params: Params$Resource$Organizations$Locations$Firewallendpoints$Wildfireverdictchangerequests$Get, options: StreamMethodOptions ): Promise>; - delete( - params?: Params$Resource$Organizations$Locations$Operations$Delete, + get( + params?: Params$Resource$Organizations$Locations$Firewallendpoints$Wildfireverdictchangerequests$Get, options?: MethodOptions - ): Promise>; - delete( - params: Params$Resource$Organizations$Locations$Operations$Delete, + ): Promise>; + get( + params: Params$Resource$Organizations$Locations$Firewallendpoints$Wildfireverdictchangerequests$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Organizations$Locations$Operations$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + get( + params: Params$Resource$Organizations$Locations$Firewallendpoints$Wildfireverdictchangerequests$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Organizations$Locations$Operations$Delete, - callback: BodyResponseCallback + get( + params: Params$Resource$Organizations$Locations$Firewallendpoints$Wildfireverdictchangerequests$Get, + callback: BodyResponseCallback ): void; - delete(callback: BodyResponseCallback): void; - delete( + get( + callback: BodyResponseCallback + ): void; + get( paramsOrCallback?: - | Params$Resource$Organizations$Locations$Operations$Delete - | BodyResponseCallback + | Params$Resource$Organizations$Locations$Firewallendpoints$Wildfireverdictchangerequests$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Organizations$Locations$Operations$Delete; + {}) as Params$Resource$Organizations$Locations$Firewallendpoints$Wildfireverdictchangerequests$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Organizations$Locations$Operations$Delete; + {} as Params$Resource$Organizations$Locations$Firewallendpoints$Wildfireverdictchangerequests$Get; options = {}; } @@ -5755,7 +6135,7 @@ export namespace networksecurity_v1beta1 { options: Object.assign( { url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', + method: 'GET', apiVersion: '', }, options @@ -5766,17 +6146,19 @@ export namespace networksecurity_v1beta1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); } } /** - * 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. + * Lists WildfireVerdictChangeRequests in a given Firewall Endpoint in an organization and location. * @example * ```js * // Before running the sample: @@ -5805,19 +6187,27 @@ export namespace networksecurity_v1beta1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await networksecurity.organizations.locations.operations.get({ - * // The name of the operation resource. - * name: 'organizations/my-organization/locations/my-location/operations/my-operation', - * }); + * const res = + * await networksecurity.organizations.locations.firewallEndpoints.wildfireVerdictChangeRequests.list( + * { + * // Optional. Filter expression to filter the results. See AIP-160 for filtering syntax. Supported fields are: - `sha256` (string, equality only, e.g. `sha256 = "..."`) - `state` (enum, equality only, e.g. `state = "ACTIVE"`) - `create_time` (timestamp, comparisons, e.g. `create_time \> "2026-01-01T00:00:00Z"`) + * filter: 'placeholder-value', + * // Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + * pageSize: 'placeholder-value', + * // Optional. A token identifying a page of results the server should return. + * pageToken: 'placeholder-value', + * // Required. Parent value for ListWildfireVerdictChangeRequestsRequest. The parent is a firewall endpoint resource. Format: organizations|projects/{project_or_organization\}/locations/{location\}/firewallEndpoints/{firewall_endpoint\} + * parent: + * 'organizations/my-organization/locations/my-location/firewallEndpoints/my-firewallEndpoint', + * }, + * ); * console.log(res.data); * * // Example response * // { - * // "done": false, - * // "error": {}, - * // "metadata": {}, - * // "name": "my_name", - * // "response": {} + * // "nextPageToken": "my_nextPageToken", + * // "unreachable": [], + * // "wildfireVerdictChangeRequests": [] * // } * } * @@ -5833,53 +6223,62 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - get( - params: Params$Resource$Organizations$Locations$Operations$Get, + list( + params: Params$Resource$Organizations$Locations$Firewallendpoints$Wildfireverdictchangerequests$List, options: StreamMethodOptions ): Promise>; - get( - params?: Params$Resource$Organizations$Locations$Operations$Get, + list( + params?: Params$Resource$Organizations$Locations$Firewallendpoints$Wildfireverdictchangerequests$List, options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Organizations$Locations$Operations$Get, + ): Promise< + GaxiosResponseWithHTTP2 + >; + list( + params: Params$Resource$Organizations$Locations$Firewallendpoints$Wildfireverdictchangerequests$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Organizations$Locations$Operations$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + list( + params: Params$Resource$Organizations$Locations$Firewallendpoints$Wildfireverdictchangerequests$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Organizations$Locations$Operations$Get, - callback: BodyResponseCallback + list( + params: Params$Resource$Organizations$Locations$Firewallendpoints$Wildfireverdictchangerequests$List, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; - get( + list( + callback: BodyResponseCallback + ): void; + list( paramsOrCallback?: - | Params$Resource$Organizations$Locations$Operations$Get - | BodyResponseCallback + | Params$Resource$Organizations$Locations$Firewallendpoints$Wildfireverdictchangerequests$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise< + GaxiosResponseWithHTTP2 + > | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Organizations$Locations$Operations$Get; + {}) as Params$Resource$Organizations$Locations$Firewallendpoints$Wildfireverdictchangerequests$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Organizations$Locations$Operations$Get; + params = + {} as Params$Resource$Organizations$Locations$Firewallendpoints$Wildfireverdictchangerequests$List; options = {}; } @@ -5893,29 +6292,76 @@ export namespace networksecurity_v1beta1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + url: ( + rootUrl + '/v1beta1/{+parent}/wildfireVerdictChangeRequests' + ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['name'], - pathParams: ['name'], + requiredParams: ['parent'], + pathParams: ['parent'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); } } + } + export interface Params$Resource$Organizations$Locations$Firewallendpoints$Wildfireverdictchangerequests$Create extends StandardParameters { /** - * Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + * Required. Parent value for CreateWildfireVerdictChangeRequestRequest. The parent is a firewall endpoint resource. Format: organizations|projects/{project_or_organization\}/locations/{location\}/firewallEndpoints/{firewall_endpoint\} + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$WildfireVerdictChangeRequest; + } + export interface Params$Resource$Organizations$Locations$Firewallendpoints$Wildfireverdictchangerequests$Get extends StandardParameters { + /** + * Required. Name of the WildfireVerdictChangeRequest to retrieve. Format: organizations|projects/{project_or_organization\}/locations/{location\}/firewallEndpoints/{firewall_endpoint\}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id\} Where {wildfire_verdict_change_request_id\} is the ID in the format: ^[0-9a-fA-F]{8\}-[0-9a-fA-F]{4\}-[0-9a-fA-F]{4\}-[0-9a-fA-F]{4\}-[0-9a-fA-F]{12\}$ + */ + name?: string; + } + export interface Params$Resource$Organizations$Locations$Firewallendpoints$Wildfireverdictchangerequests$List extends StandardParameters { + /** + * Optional. Filter expression to filter the results. See AIP-160 for filtering syntax. Supported fields are: - `sha256` (string, equality only, e.g. `sha256 = "..."`) - `state` (enum, equality only, e.g. `state = "ACTIVE"`) - `create_time` (timestamp, comparisons, e.g. `create_time \> "2026-01-01T00:00:00Z"`) + */ + filter?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. A token identifying a page of results the server should return. + */ + pageToken?: string; + /** + * Required. Parent value for ListWildfireVerdictChangeRequestsRequest. The parent is a firewall endpoint resource. Format: organizations|projects/{project_or_organization\}/locations/{location\}/firewallEndpoints/{firewall_endpoint\} + */ + parent?: string; + } + + export class Resource$Organizations$Locations$Operations { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * 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`. * @example * ```js * // Before running the sample: @@ -5944,26 +6390,20 @@ export namespace networksecurity_v1beta1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await networksecurity.organizations.locations.operations.list({ - * // The standard list filter. - * filter: 'placeholder-value', - * // The name of the operation's parent resource. - * name: 'organizations/my-organization/locations/my-location', - * // The standard list page size. - * pageSize: 'placeholder-value', - * // The standard list page token. - * pageToken: 'placeholder-value', - * // When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `"projects/example/locations/-"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation. - * returnPartialSuccess: 'placeholder-value', + * const res = await networksecurity.organizations.locations.operations.cancel({ + * // The name of the operation resource to be cancelled. + * name: 'organizations/my-organization/locations/my-location/operations/my-operation', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // {} + * }, * }); * console.log(res.data); * * // Example response - * // { - * // "nextPageToken": "my_nextPageToken", - * // "operations": [], - * // "unreachable": [] - * // } + * // {} * } * * main().catch(e => { @@ -5978,55 +6418,54 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - list( - params: Params$Resource$Organizations$Locations$Operations$List, + cancel( + params: Params$Resource$Organizations$Locations$Operations$Cancel, options: StreamMethodOptions ): Promise>; - list( - params?: Params$Resource$Organizations$Locations$Operations$List, + cancel( + params?: Params$Resource$Organizations$Locations$Operations$Cancel, options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Organizations$Locations$Operations$List, + ): Promise>; + cancel( + params: Params$Resource$Organizations$Locations$Operations$Cancel, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Organizations$Locations$Operations$List, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + cancel( + params: Params$Resource$Organizations$Locations$Operations$Cancel, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Organizations$Locations$Operations$List, - callback: BodyResponseCallback + cancel( + params: Params$Resource$Organizations$Locations$Operations$Cancel, + callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; - list( + cancel(callback: BodyResponseCallback): void; + cancel( paramsOrCallback?: - | Params$Resource$Organizations$Locations$Operations$List - | BodyResponseCallback + | Params$Resource$Organizations$Locations$Operations$Cancel + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Organizations$Locations$Operations$List; + {}) as Params$Resource$Organizations$Locations$Operations$Cancel; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Organizations$Locations$Operations$List; + params = + {} as Params$Resource$Organizations$Locations$Operations$Cancel; options = {}; } @@ -6040,11 +6479,11 @@ export namespace networksecurity_v1beta1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1beta1/{+name}/operations').replace( + url: (rootUrl + '/v1beta1/{+name}:cancel').replace( /([^:]\/)\/+/g, '$1' ), - method: 'GET', + method: 'POST', apiVersion: '', }, options @@ -6055,70 +6494,17 @@ export namespace networksecurity_v1beta1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } - } - - export interface Params$Resource$Organizations$Locations$Operations$Cancel extends StandardParameters { - /** - * The name of the operation resource to be cancelled. - */ - name?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$CancelOperationRequest; - } - export interface Params$Resource$Organizations$Locations$Operations$Delete extends StandardParameters { - /** - * The name of the operation resource to be deleted. - */ - name?: string; - } - export interface Params$Resource$Organizations$Locations$Operations$Get extends StandardParameters { - /** - * The name of the operation resource. - */ - name?: string; - } - export interface Params$Resource$Organizations$Locations$Operations$List extends StandardParameters { - /** - * The standard list filter. - */ - filter?: string; - /** - * The name of the operation's parent resource. - */ - name?: string; - /** - * The standard list page size. - */ - pageSize?: number; - /** - * The standard list page token. - */ - pageToken?: string; - /** - * When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `"projects/example/locations/-"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation. - */ - returnPartialSuccess?: boolean; - } - - export class Resource$Organizations$Locations$Securityprofilegroups { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } /** - * Creates a new SecurityProfileGroup in a given organization and location. + * 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`. * @example * ```js * // Before running the sample: @@ -6147,41 +6533,14 @@ export namespace networksecurity_v1beta1 { * google.options({auth: authClient}); * * // Do the magic - * const res = - * await networksecurity.organizations.locations.securityProfileGroups.create({ - * // Required. The parent resource of the SecurityProfileGroup. Must be in the format `projects|organizations/x/locations/{location\}`. - * parent: 'organizations/my-organization/locations/my-location', - * // Required. Short name of the SecurityProfileGroup resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores, and should not start with a number. E.g. "security_profile_group1". - * securityProfileGroupId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "createTime": "my_createTime", - * // "customInterceptProfile": "my_customInterceptProfile", - * // "customMirroringProfile": "my_customMirroringProfile", - * // "dataPathId": "my_dataPathId", - * // "description": "my_description", - * // "etag": "my_etag", - * // "labels": {}, - * // "name": "my_name", - * // "threatPreventionProfile": "my_threatPreventionProfile", - * // "updateTime": "my_updateTime", - * // "urlFilteringProfile": "my_urlFilteringProfile" - * // } - * }, - * }); + * const res = await networksecurity.organizations.locations.operations.delete({ + * // The name of the operation resource to be deleted. + * name: 'organizations/my-organization/locations/my-location/operations/my-operation', + * }); * console.log(res.data); * * // Example response - * // { - * // "done": false, - * // "error": {}, - * // "metadata": {}, - * // "name": "my_name", - * // "response": {} - * // } + * // {} * } * * main().catch(e => { @@ -6196,54 +6555,54 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - create( - params: Params$Resource$Organizations$Locations$Securityprofilegroups$Create, + delete( + params: Params$Resource$Organizations$Locations$Operations$Delete, options: StreamMethodOptions ): Promise>; - create( - params?: Params$Resource$Organizations$Locations$Securityprofilegroups$Create, + delete( + params?: Params$Resource$Organizations$Locations$Operations$Delete, options?: MethodOptions - ): Promise>; - create( - params: Params$Resource$Organizations$Locations$Securityprofilegroups$Create, + ): Promise>; + delete( + params: Params$Resource$Organizations$Locations$Operations$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Organizations$Locations$Securityprofilegroups$Create, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + delete( + params: Params$Resource$Organizations$Locations$Operations$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Organizations$Locations$Securityprofilegroups$Create, - callback: BodyResponseCallback + delete( + params: Params$Resource$Organizations$Locations$Operations$Delete, + callback: BodyResponseCallback ): void; - create(callback: BodyResponseCallback): void; - create( + delete(callback: BodyResponseCallback): void; + delete( paramsOrCallback?: - | Params$Resource$Organizations$Locations$Securityprofilegroups$Create - | BodyResponseCallback + | Params$Resource$Organizations$Locations$Operations$Delete + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Organizations$Locations$Securityprofilegroups$Create; + {}) as Params$Resource$Organizations$Locations$Operations$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Organizations$Locations$Securityprofilegroups$Create; + {} as Params$Resource$Organizations$Locations$Operations$Delete; options = {}; } @@ -6257,32 +6616,29 @@ export namespace networksecurity_v1beta1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1beta1/{+parent}/securityProfileGroups').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', apiVersion: '', }, options ), params, - requiredParams: ['parent'], - pathParams: ['parent'], + requiredParams: ['name'], + pathParams: ['name'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Deletes a single SecurityProfileGroup. + * 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. * @example * ```js * // Before running the sample: @@ -6311,13 +6667,10 @@ export namespace networksecurity_v1beta1 { * google.options({auth: authClient}); * * // Do the magic - * const res = - * await networksecurity.organizations.locations.securityProfileGroups.delete({ - * // Optional. If client provided etag is out of date, delete will return FAILED_PRECONDITION error. - * etag: 'placeholder-value', - * // Required. A name of the SecurityProfileGroup to delete. Must be in the format `projects|organizations/x/locations/{location\}/securityProfileGroups/{security_profile_group\}`. - * name: 'organizations/my-organization/locations/my-location/securityProfileGroups/my-securityProfileGroup', - * }); + * const res = await networksecurity.organizations.locations.operations.get({ + * // The name of the operation resource. + * name: 'organizations/my-organization/locations/my-location/operations/my-operation', + * }); * console.log(res.data); * * // Example response @@ -6342,32 +6695,32 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - delete( - params: Params$Resource$Organizations$Locations$Securityprofilegroups$Delete, + get( + params: Params$Resource$Organizations$Locations$Operations$Get, options: StreamMethodOptions ): Promise>; - delete( - params?: Params$Resource$Organizations$Locations$Securityprofilegroups$Delete, + get( + params?: Params$Resource$Organizations$Locations$Operations$Get, options?: MethodOptions ): Promise>; - delete( - params: Params$Resource$Organizations$Locations$Securityprofilegroups$Delete, + get( + params: Params$Resource$Organizations$Locations$Operations$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Organizations$Locations$Securityprofilegroups$Delete, + get( + params: Params$Resource$Organizations$Locations$Operations$Get, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Organizations$Locations$Securityprofilegroups$Delete, + get( + params: Params$Resource$Organizations$Locations$Operations$Get, callback: BodyResponseCallback ): void; - delete(callback: BodyResponseCallback): void; - delete( + get(callback: BodyResponseCallback): void; + get( paramsOrCallback?: - | Params$Resource$Organizations$Locations$Securityprofilegroups$Delete + | Params$Resource$Organizations$Locations$Operations$Get | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -6383,13 +6736,12 @@ export namespace networksecurity_v1beta1 { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Organizations$Locations$Securityprofilegroups$Delete; + {}) as Params$Resource$Organizations$Locations$Operations$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Organizations$Locations$Securityprofilegroups$Delete; + params = {} as Params$Resource$Organizations$Locations$Operations$Get; options = {}; } @@ -6404,7 +6756,7 @@ export namespace networksecurity_v1beta1 { options: Object.assign( { url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', + method: 'GET', apiVersion: '', }, options @@ -6425,7 +6777,7 @@ export namespace networksecurity_v1beta1 { } /** - * Gets details of a single SecurityProfileGroup. + * Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. * @example * ```js * // Before running the sample: @@ -6454,26 +6806,25 @@ export namespace networksecurity_v1beta1 { * google.options({auth: authClient}); * * // Do the magic - * const res = - * await networksecurity.organizations.locations.securityProfileGroups.get({ - * // Required. A name of the SecurityProfileGroup to get. Must be in the format `projects|organizations/x/locations/{location\}/securityProfileGroups/{security_profile_group\}`. - * name: 'organizations/my-organization/locations/my-location/securityProfileGroups/my-securityProfileGroup', - * }); + * const res = await networksecurity.organizations.locations.operations.list({ + * // The standard list filter. + * filter: 'placeholder-value', + * // The name of the operation's parent resource. + * name: 'organizations/my-organization/locations/my-location', + * // The standard list page size. + * pageSize: 'placeholder-value', + * // The standard list page token. + * pageToken: 'placeholder-value', + * // When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `"projects/example/locations/-"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation. + * returnPartialSuccess: 'placeholder-value', + * }); * console.log(res.data); * * // Example response * // { - * // "createTime": "my_createTime", - * // "customInterceptProfile": "my_customInterceptProfile", - * // "customMirroringProfile": "my_customMirroringProfile", - * // "dataPathId": "my_dataPathId", - * // "description": "my_description", - * // "etag": "my_etag", - * // "labels": {}, - * // "name": "my_name", - * // "threatPreventionProfile": "my_threatPreventionProfile", - * // "updateTime": "my_updateTime", - * // "urlFilteringProfile": "my_urlFilteringProfile" + * // "nextPageToken": "my_nextPageToken", + * // "operations": [], + * // "unreachable": [] * // } * } * @@ -6489,56 +6840,55 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - get( - params: Params$Resource$Organizations$Locations$Securityprofilegroups$Get, + list( + params: Params$Resource$Organizations$Locations$Operations$List, options: StreamMethodOptions ): Promise>; - get( - params?: Params$Resource$Organizations$Locations$Securityprofilegroups$Get, + list( + params?: Params$Resource$Organizations$Locations$Operations$List, options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Organizations$Locations$Securityprofilegroups$Get, + ): Promise>; + list( + params: Params$Resource$Organizations$Locations$Operations$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Organizations$Locations$Securityprofilegroups$Get, + list( + params: Params$Resource$Organizations$Locations$Operations$List, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Organizations$Locations$Securityprofilegroups$Get, - callback: BodyResponseCallback + list( + params: Params$Resource$Organizations$Locations$Operations$List, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; - get( + list(callback: BodyResponseCallback): void; + list( paramsOrCallback?: - | Params$Resource$Organizations$Locations$Securityprofilegroups$Get - | BodyResponseCallback + | Params$Resource$Organizations$Locations$Operations$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Organizations$Locations$Securityprofilegroups$Get; + {}) as Params$Resource$Organizations$Locations$Operations$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Organizations$Locations$Securityprofilegroups$Get; + params = {} as Params$Resource$Organizations$Locations$Operations$List; options = {}; } @@ -6552,7 +6902,10 @@ export namespace networksecurity_v1beta1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + url: (rootUrl + '/v1beta1/{+name}/operations').replace( + /([^:]\/)\/+/g, + '$1' + ), method: 'GET', apiVersion: '', }, @@ -6564,17 +6917,70 @@ export namespace networksecurity_v1beta1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } + } + export interface Params$Resource$Organizations$Locations$Operations$Cancel extends StandardParameters { /** - * Lists SecurityProfileGroups in a given organization and location. + * The name of the operation resource to be cancelled. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$CancelOperationRequest; + } + export interface Params$Resource$Organizations$Locations$Operations$Delete extends StandardParameters { + /** + * The name of the operation resource to be deleted. + */ + name?: string; + } + export interface Params$Resource$Organizations$Locations$Operations$Get extends StandardParameters { + /** + * The name of the operation resource. + */ + name?: string; + } + export interface Params$Resource$Organizations$Locations$Operations$List extends StandardParameters { + /** + * The standard list filter. + */ + filter?: string; + /** + * The name of the operation's parent resource. + */ + name?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + /** + * When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `"projects/example/locations/-"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation. + */ + returnPartialSuccess?: boolean; + } + + export class Resource$Organizations$Locations$Securityprofilegroups { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a new SecurityProfileGroup in a given organization and location. * @example * ```js * // Before running the sample: @@ -6604,20 +7010,40 @@ export namespace networksecurity_v1beta1 { * * // Do the magic * const res = - * await networksecurity.organizations.locations.securityProfileGroups.list({ - * // Optional. Maximum number of SecurityProfileGroups to return per call. - * pageSize: 'placeholder-value', - * // Optional. The value returned by the last `ListSecurityProfileGroupsResponse` Indicates that this is a continuation of a prior `ListSecurityProfileGroups` call, and that the system should return the next page of data. - * pageToken: 'placeholder-value', - * // Required. The project or organization and location from which the SecurityProfileGroups should be listed, specified in the format `projects|organizations/x/locations/{location\}`. + * await networksecurity.organizations.locations.securityProfileGroups.create({ + * // Required. The parent resource of the SecurityProfileGroup. Must be in the format `projects|organizations/x/locations/{location\}`. * parent: 'organizations/my-organization/locations/my-location', + * // Required. Short name of the SecurityProfileGroup resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores, and should not start with a number. E.g. "security_profile_group1". + * securityProfileGroupId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "createTime": "my_createTime", + * // "customInterceptProfile": "my_customInterceptProfile", + * // "customMirroringProfile": "my_customMirroringProfile", + * // "dataPathId": "my_dataPathId", + * // "description": "my_description", + * // "etag": "my_etag", + * // "labels": {}, + * // "name": "my_name", + * // "threatPreventionProfile": "my_threatPreventionProfile", + * // "updateTime": "my_updateTime", + * // "urlFilteringProfile": "my_urlFilteringProfile", + * // "wildfireAnalysisProfile": "my_wildfireAnalysisProfile" + * // } + * }, * }); * console.log(res.data); * * // Example response * // { - * // "nextPageToken": "my_nextPageToken", - * // "securityProfileGroups": [] + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} * // } * } * @@ -6633,62 +7059,54 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - list( - params: Params$Resource$Organizations$Locations$Securityprofilegroups$List, + create( + params: Params$Resource$Organizations$Locations$Securityprofilegroups$Create, options: StreamMethodOptions ): Promise>; - list( - params?: Params$Resource$Organizations$Locations$Securityprofilegroups$List, + create( + params?: Params$Resource$Organizations$Locations$Securityprofilegroups$Create, options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; - list( - params: Params$Resource$Organizations$Locations$Securityprofilegroups$List, + ): Promise>; + create( + params: Params$Resource$Organizations$Locations$Securityprofilegroups$Create, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Organizations$Locations$Securityprofilegroups$List, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Organizations$Locations$Securityprofilegroups$List, - callback: BodyResponseCallback + create( + params: Params$Resource$Organizations$Locations$Securityprofilegroups$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - list( - callback: BodyResponseCallback + create( + params: Params$Resource$Organizations$Locations$Securityprofilegroups$Create, + callback: BodyResponseCallback ): void; - list( + create(callback: BodyResponseCallback): void; + create( paramsOrCallback?: - | Params$Resource$Organizations$Locations$Securityprofilegroups$List - | BodyResponseCallback + | Params$Resource$Organizations$Locations$Securityprofilegroups$Create + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise< - GaxiosResponseWithHTTP2 - > + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Organizations$Locations$Securityprofilegroups$List; + {}) as Params$Resource$Organizations$Locations$Securityprofilegroups$Create; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Organizations$Locations$Securityprofilegroups$List; + {} as Params$Resource$Organizations$Locations$Securityprofilegroups$Create; options = {}; } @@ -6706,7 +7124,7 @@ export namespace networksecurity_v1beta1 { /([^:]\/)\/+/g, '$1' ), - method: 'GET', + method: 'POST', apiVersion: '', }, options @@ -6717,19 +7135,17 @@ export namespace networksecurity_v1beta1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } /** - * Updates the parameters of a single SecurityProfileGroup. + * Deletes a single SecurityProfileGroup. * @example * ```js * // Before running the sample: @@ -6759,29 +7175,11 @@ export namespace networksecurity_v1beta1 { * * // Do the magic * const res = - * await networksecurity.organizations.locations.securityProfileGroups.patch({ - * // Immutable. Identifier. Name of the SecurityProfileGroup resource. It matches pattern `projects|organizations/x/locations/{location\}/securityProfileGroups/{security_profile_group\}`. + * await networksecurity.organizations.locations.securityProfileGroups.delete({ + * // Optional. If client provided etag is out of date, delete will return FAILED_PRECONDITION error. + * etag: 'placeholder-value', + * // Required. A name of the SecurityProfileGroup to delete. Must be in the format `projects|organizations/x/locations/{location\}/securityProfileGroups/{security_profile_group\}`. * name: 'organizations/my-organization/locations/my-location/securityProfileGroups/my-securityProfileGroup', - * // Required. Field mask is used to specify the fields to be overwritten in the SecurityProfileGroup 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. - * updateMask: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "createTime": "my_createTime", - * // "customInterceptProfile": "my_customInterceptProfile", - * // "customMirroringProfile": "my_customMirroringProfile", - * // "dataPathId": "my_dataPathId", - * // "description": "my_description", - * // "etag": "my_etag", - * // "labels": {}, - * // "name": "my_name", - * // "threatPreventionProfile": "my_threatPreventionProfile", - * // "updateTime": "my_updateTime", - * // "urlFilteringProfile": "my_urlFilteringProfile" - * // } - * }, * }); * console.log(res.data); * @@ -6807,32 +7205,32 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - patch( - params: Params$Resource$Organizations$Locations$Securityprofilegroups$Patch, + delete( + params: Params$Resource$Organizations$Locations$Securityprofilegroups$Delete, options: StreamMethodOptions ): Promise>; - patch( - params?: Params$Resource$Organizations$Locations$Securityprofilegroups$Patch, + delete( + params?: Params$Resource$Organizations$Locations$Securityprofilegroups$Delete, options?: MethodOptions ): Promise>; - patch( - params: Params$Resource$Organizations$Locations$Securityprofilegroups$Patch, + delete( + params: Params$Resource$Organizations$Locations$Securityprofilegroups$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Organizations$Locations$Securityprofilegroups$Patch, + delete( + params: Params$Resource$Organizations$Locations$Securityprofilegroups$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Organizations$Locations$Securityprofilegroups$Patch, + delete( + params: Params$Resource$Organizations$Locations$Securityprofilegroups$Delete, callback: BodyResponseCallback ): void; - patch(callback: BodyResponseCallback): void; - patch( + delete(callback: BodyResponseCallback): void; + delete( paramsOrCallback?: - | Params$Resource$Organizations$Locations$Securityprofilegroups$Patch + | Params$Resource$Organizations$Locations$Securityprofilegroups$Delete | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -6848,13 +7246,13 @@ export namespace networksecurity_v1beta1 { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Organizations$Locations$Securityprofilegroups$Patch; + {}) as Params$Resource$Organizations$Locations$Securityprofilegroups$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Organizations$Locations$Securityprofilegroups$Patch; + {} as Params$Resource$Organizations$Locations$Securityprofilegroups$Delete; options = {}; } @@ -6869,7 +7267,7 @@ export namespace networksecurity_v1beta1 { options: Object.assign( { url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', + method: 'DELETE', apiVersion: '', }, options @@ -6888,77 +7286,9 @@ export namespace networksecurity_v1beta1 { return createAPIRequest(parameters); } } - } - - export interface Params$Resource$Organizations$Locations$Securityprofilegroups$Create extends StandardParameters { - /** - * Required. The parent resource of the SecurityProfileGroup. Must be in the format `projects|organizations/x/locations/{location\}`. - */ - parent?: string; - /** - * Required. Short name of the SecurityProfileGroup resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores, and should not start with a number. E.g. "security_profile_group1". - */ - securityProfileGroupId?: string; /** - * Request body metadata - */ - requestBody?: Schema$SecurityProfileGroup; - } - export interface Params$Resource$Organizations$Locations$Securityprofilegroups$Delete extends StandardParameters { - /** - * Optional. If client provided etag is out of date, delete will return FAILED_PRECONDITION error. - */ - etag?: string; - /** - * Required. A name of the SecurityProfileGroup to delete. Must be in the format `projects|organizations/x/locations/{location\}/securityProfileGroups/{security_profile_group\}`. - */ - name?: string; - } - export interface Params$Resource$Organizations$Locations$Securityprofilegroups$Get extends StandardParameters { - /** - * Required. A name of the SecurityProfileGroup to get. Must be in the format `projects|organizations/x/locations/{location\}/securityProfileGroups/{security_profile_group\}`. - */ - name?: string; - } - export interface Params$Resource$Organizations$Locations$Securityprofilegroups$List extends StandardParameters { - /** - * Optional. Maximum number of SecurityProfileGroups to return per call. - */ - pageSize?: number; - /** - * Optional. The value returned by the last `ListSecurityProfileGroupsResponse` Indicates that this is a continuation of a prior `ListSecurityProfileGroups` call, and that the system should return the next page of data. - */ - pageToken?: string; - /** - * Required. The project or organization and location from which the SecurityProfileGroups should be listed, specified in the format `projects|organizations/x/locations/{location\}`. - */ - parent?: string; - } - export interface Params$Resource$Organizations$Locations$Securityprofilegroups$Patch extends StandardParameters { - /** - * Immutable. Identifier. Name of the SecurityProfileGroup resource. It matches pattern `projects|organizations/x/locations/{location\}/securityProfileGroups/{security_profile_group\}`. - */ - name?: string; - /** - * Required. Field mask is used to specify the fields to be overwritten in the SecurityProfileGroup 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. - */ - updateMask?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$SecurityProfileGroup; - } - - export class Resource$Organizations$Locations$Securityprofiles { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Creates a new SecurityProfile in a given organization and location. + * Gets details of a single SecurityProfileGroup. * @example * ```js * // Before running the sample: @@ -6988,39 +7318,26 @@ export namespace networksecurity_v1beta1 { * * // Do the magic * const res = - * await networksecurity.organizations.locations.securityProfiles.create({ - * // Required. The parent resource of the SecurityProfile. Must be in the format `projects|organizations/x/locations/{location\}`. - * parent: 'organizations/my-organization/locations/my-location', - * // Required. Short name of the SecurityProfile resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores, and should not start with a number. E.g. "security_profile1". - * securityProfileId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "createTime": "my_createTime", - * // "customInterceptProfile": {}, - * // "customMirroringProfile": {}, - * // "description": "my_description", - * // "etag": "my_etag", - * // "labels": {}, - * // "name": "my_name", - * // "threatPreventionProfile": {}, - * // "type": "my_type", - * // "updateTime": "my_updateTime", - * // "urlFilteringProfile": {} - * // } - * }, + * await networksecurity.organizations.locations.securityProfileGroups.get({ + * // Required. A name of the SecurityProfileGroup to get. Must be in the format `projects|organizations/x/locations/{location\}/securityProfileGroups/{security_profile_group\}`. + * name: 'organizations/my-organization/locations/my-location/securityProfileGroups/my-securityProfileGroup', * }); * console.log(res.data); * * // Example response * // { - * // "done": false, - * // "error": {}, - * // "metadata": {}, + * // "createTime": "my_createTime", + * // "customInterceptProfile": "my_customInterceptProfile", + * // "customMirroringProfile": "my_customMirroringProfile", + * // "dataPathId": "my_dataPathId", + * // "description": "my_description", + * // "etag": "my_etag", + * // "labels": {}, * // "name": "my_name", - * // "response": {} + * // "threatPreventionProfile": "my_threatPreventionProfile", + * // "updateTime": "my_updateTime", + * // "urlFilteringProfile": "my_urlFilteringProfile", + * // "wildfireAnalysisProfile": "my_wildfireAnalysisProfile" * // } * } * @@ -7036,54 +7353,56 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - create( - params: Params$Resource$Organizations$Locations$Securityprofiles$Create, + get( + params: Params$Resource$Organizations$Locations$Securityprofilegroups$Get, options: StreamMethodOptions ): Promise>; - create( - params?: Params$Resource$Organizations$Locations$Securityprofiles$Create, + get( + params?: Params$Resource$Organizations$Locations$Securityprofilegroups$Get, options?: MethodOptions - ): Promise>; - create( - params: Params$Resource$Organizations$Locations$Securityprofiles$Create, + ): Promise>; + get( + params: Params$Resource$Organizations$Locations$Securityprofilegroups$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Organizations$Locations$Securityprofiles$Create, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + get( + params: Params$Resource$Organizations$Locations$Securityprofilegroups$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Organizations$Locations$Securityprofiles$Create, - callback: BodyResponseCallback + get( + params: Params$Resource$Organizations$Locations$Securityprofilegroups$Get, + callback: BodyResponseCallback ): void; - create(callback: BodyResponseCallback): void; - create( + get(callback: BodyResponseCallback): void; + get( paramsOrCallback?: - | Params$Resource$Organizations$Locations$Securityprofiles$Create - | BodyResponseCallback + | Params$Resource$Organizations$Locations$Securityprofilegroups$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Organizations$Locations$Securityprofiles$Create; + {}) as Params$Resource$Organizations$Locations$Securityprofilegroups$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Organizations$Locations$Securityprofiles$Create; + {} as Params$Resource$Organizations$Locations$Securityprofilegroups$Get; options = {}; } @@ -7097,32 +7416,29 @@ export namespace networksecurity_v1beta1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1beta1/{+parent}/securityProfiles').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['parent'], - pathParams: ['parent'], + requiredParams: ['name'], + pathParams: ['name'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Deletes a single SecurityProfile. + * Lists SecurityProfileGroups in a given organization and location. * @example * ```js * // Before running the sample: @@ -7152,21 +7468,20 @@ export namespace networksecurity_v1beta1 { * * // Do the magic * const res = - * await networksecurity.organizations.locations.securityProfiles.delete({ - * // Optional. If client provided etag is out of date, delete will return FAILED_PRECONDITION error. - * etag: 'placeholder-value', - * // Required. A name of the SecurityProfile to delete. Must be in the format `projects|organizations/x/locations/{location\}/securityProfiles/{security_profile_id\}`. - * name: 'organizations/my-organization/locations/my-location/securityProfiles/my-securityProfile', + * await networksecurity.organizations.locations.securityProfileGroups.list({ + * // Optional. Maximum number of SecurityProfileGroups to return per call. + * pageSize: 'placeholder-value', + * // Optional. The value returned by the last `ListSecurityProfileGroupsResponse` Indicates that this is a continuation of a prior `ListSecurityProfileGroups` call, and that the system should return the next page of data. + * pageToken: 'placeholder-value', + * // Required. The project or organization and location from which the SecurityProfileGroups should be listed, specified in the format `projects|organizations/x/locations/{location\}`. + * parent: 'organizations/my-organization/locations/my-location', * }); * console.log(res.data); * * // Example response * // { - * // "done": false, - * // "error": {}, - * // "metadata": {}, - * // "name": "my_name", - * // "response": {} + * // "nextPageToken": "my_nextPageToken", + * // "securityProfileGroups": [] * // } * } * @@ -7182,54 +7497,62 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - delete( - params: Params$Resource$Organizations$Locations$Securityprofiles$Delete, + list( + params: Params$Resource$Organizations$Locations$Securityprofilegroups$List, options: StreamMethodOptions ): Promise>; - delete( - params?: Params$Resource$Organizations$Locations$Securityprofiles$Delete, + list( + params?: Params$Resource$Organizations$Locations$Securityprofilegroups$List, options?: MethodOptions - ): Promise>; - delete( - params: Params$Resource$Organizations$Locations$Securityprofiles$Delete, + ): Promise< + GaxiosResponseWithHTTP2 + >; + list( + params: Params$Resource$Organizations$Locations$Securityprofilegroups$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Organizations$Locations$Securityprofiles$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + list( + params: Params$Resource$Organizations$Locations$Securityprofilegroups$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Organizations$Locations$Securityprofiles$Delete, - callback: BodyResponseCallback + list( + params: Params$Resource$Organizations$Locations$Securityprofilegroups$List, + callback: BodyResponseCallback ): void; - delete(callback: BodyResponseCallback): void; - delete( + list( + callback: BodyResponseCallback + ): void; + list( paramsOrCallback?: - | Params$Resource$Organizations$Locations$Securityprofiles$Delete - | BodyResponseCallback + | Params$Resource$Organizations$Locations$Securityprofilegroups$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise< + GaxiosResponseWithHTTP2 + > | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Organizations$Locations$Securityprofiles$Delete; + {}) as Params$Resource$Organizations$Locations$Securityprofilegroups$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Organizations$Locations$Securityprofiles$Delete; + {} as Params$Resource$Organizations$Locations$Securityprofilegroups$List; options = {}; } @@ -7243,29 +7566,34 @@ export namespace networksecurity_v1beta1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', + url: (rootUrl + '/v1beta1/{+parent}/securityProfileGroups').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['name'], - pathParams: ['name'], + requiredParams: ['parent'], + pathParams: ['parent'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); } } /** - * Gets details of a single SecurityProfile. + * Updates the parameters of a single SecurityProfileGroup. * @example * ```js * // Before running the sample: @@ -7295,25 +7623,40 @@ export namespace networksecurity_v1beta1 { * * // Do the magic * const res = - * await networksecurity.organizations.locations.securityProfiles.get({ - * // Required. A name of the SecurityProfile to get. Must be in the format `projects|organizations/x/locations/{location\}/securityProfiles/{security_profile_id\}`. - * name: 'organizations/my-organization/locations/my-location/securityProfiles/my-securityProfile', - * }); + * await networksecurity.organizations.locations.securityProfileGroups.patch({ + * // Immutable. Identifier. Name of the SecurityProfileGroup resource. It matches pattern `projects|organizations/x/locations/{location\}/securityProfileGroups/{security_profile_group\}`. + * name: 'organizations/my-organization/locations/my-location/securityProfileGroups/my-securityProfileGroup', + * // Required. Field mask is used to specify the fields to be overwritten in the SecurityProfileGroup 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. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "createTime": "my_createTime", + * // "customInterceptProfile": "my_customInterceptProfile", + * // "customMirroringProfile": "my_customMirroringProfile", + * // "dataPathId": "my_dataPathId", + * // "description": "my_description", + * // "etag": "my_etag", + * // "labels": {}, + * // "name": "my_name", + * // "threatPreventionProfile": "my_threatPreventionProfile", + * // "updateTime": "my_updateTime", + * // "urlFilteringProfile": "my_urlFilteringProfile", + * // "wildfireAnalysisProfile": "my_wildfireAnalysisProfile" + * // } + * }, + * }); * console.log(res.data); * * // Example response * // { - * // "createTime": "my_createTime", - * // "customInterceptProfile": {}, - * // "customMirroringProfile": {}, - * // "description": "my_description", - * // "etag": "my_etag", - * // "labels": {}, + * // "done": false, + * // "error": {}, + * // "metadata": {}, * // "name": "my_name", - * // "threatPreventionProfile": {}, - * // "type": "my_type", - * // "updateTime": "my_updateTime", - * // "urlFilteringProfile": {} + * // "response": {} * // } * } * @@ -7329,54 +7672,54 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - get( - params: Params$Resource$Organizations$Locations$Securityprofiles$Get, + patch( + params: Params$Resource$Organizations$Locations$Securityprofilegroups$Patch, options: StreamMethodOptions ): Promise>; - get( - params?: Params$Resource$Organizations$Locations$Securityprofiles$Get, + patch( + params?: Params$Resource$Organizations$Locations$Securityprofilegroups$Patch, options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Organizations$Locations$Securityprofiles$Get, + ): Promise>; + patch( + params: Params$Resource$Organizations$Locations$Securityprofilegroups$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Organizations$Locations$Securityprofiles$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + patch( + params: Params$Resource$Organizations$Locations$Securityprofilegroups$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Organizations$Locations$Securityprofiles$Get, - callback: BodyResponseCallback + patch( + params: Params$Resource$Organizations$Locations$Securityprofilegroups$Patch, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; - get( + patch(callback: BodyResponseCallback): void; + patch( paramsOrCallback?: - | Params$Resource$Organizations$Locations$Securityprofiles$Get - | BodyResponseCallback + | Params$Resource$Organizations$Locations$Securityprofilegroups$Patch + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Organizations$Locations$Securityprofiles$Get; + {}) as Params$Resource$Organizations$Locations$Securityprofilegroups$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Organizations$Locations$Securityprofiles$Get; + {} as Params$Resource$Organizations$Locations$Securityprofilegroups$Patch; options = {}; } @@ -7391,7 +7734,7 @@ export namespace networksecurity_v1beta1 { options: Object.assign( { url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'PATCH', apiVersion: '', }, options @@ -7402,17 +7745,85 @@ export namespace networksecurity_v1beta1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } + } + export interface Params$Resource$Organizations$Locations$Securityprofilegroups$Create extends StandardParameters { /** - * Lists SecurityProfiles in a given organization and location. + * Required. The parent resource of the SecurityProfileGroup. Must be in the format `projects|organizations/x/locations/{location\}`. + */ + parent?: string; + /** + * Required. Short name of the SecurityProfileGroup resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores, and should not start with a number. E.g. "security_profile_group1". + */ + securityProfileGroupId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$SecurityProfileGroup; + } + export interface Params$Resource$Organizations$Locations$Securityprofilegroups$Delete extends StandardParameters { + /** + * Optional. If client provided etag is out of date, delete will return FAILED_PRECONDITION error. + */ + etag?: string; + /** + * Required. A name of the SecurityProfileGroup to delete. Must be in the format `projects|organizations/x/locations/{location\}/securityProfileGroups/{security_profile_group\}`. + */ + name?: string; + } + export interface Params$Resource$Organizations$Locations$Securityprofilegroups$Get extends StandardParameters { + /** + * Required. A name of the SecurityProfileGroup to get. Must be in the format `projects|organizations/x/locations/{location\}/securityProfileGroups/{security_profile_group\}`. + */ + name?: string; + } + export interface Params$Resource$Organizations$Locations$Securityprofilegroups$List extends StandardParameters { + /** + * Optional. Maximum number of SecurityProfileGroups to return per call. + */ + pageSize?: number; + /** + * Optional. The value returned by the last `ListSecurityProfileGroupsResponse` Indicates that this is a continuation of a prior `ListSecurityProfileGroups` call, and that the system should return the next page of data. + */ + pageToken?: string; + /** + * Required. The project or organization and location from which the SecurityProfileGroups should be listed, specified in the format `projects|organizations/x/locations/{location\}`. + */ + parent?: string; + } + export interface Params$Resource$Organizations$Locations$Securityprofilegroups$Patch extends StandardParameters { + /** + * Immutable. Identifier. Name of the SecurityProfileGroup resource. It matches pattern `projects|organizations/x/locations/{location\}/securityProfileGroups/{security_profile_group\}`. + */ + name?: string; + /** + * Required. Field mask is used to specify the fields to be overwritten in the SecurityProfileGroup 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. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$SecurityProfileGroup; + } + + export class Resource$Organizations$Locations$Securityprofiles { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a new SecurityProfile in a given organization and location. * @example * ```js * // Before running the sample: @@ -7442,20 +7853,40 @@ export namespace networksecurity_v1beta1 { * * // Do the magic * const res = - * await networksecurity.organizations.locations.securityProfiles.list({ - * // Optional. Maximum number of SecurityProfiles to return per call. - * pageSize: 'placeholder-value', - * // Optional. The value returned by the last `ListSecurityProfilesResponse` Indicates that this is a continuation of a prior `ListSecurityProfiles` call, and that the system should return the next page of data. - * pageToken: 'placeholder-value', - * // Required. The project or organization and location from which the SecurityProfiles should be listed, specified in the format `projects|organizations/x/locations/{location\}`. + * await networksecurity.organizations.locations.securityProfiles.create({ + * // Required. The parent resource of the SecurityProfile. Must be in the format `projects|organizations/x/locations/{location\}`. * parent: 'organizations/my-organization/locations/my-location', + * // Required. Short name of the SecurityProfile resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores, and should not start with a number. E.g. "security_profile1". + * securityProfileId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "createTime": "my_createTime", + * // "customInterceptProfile": {}, + * // "customMirroringProfile": {}, + * // "description": "my_description", + * // "etag": "my_etag", + * // "labels": {}, + * // "name": "my_name", + * // "threatPreventionProfile": {}, + * // "type": "my_type", + * // "updateTime": "my_updateTime", + * // "urlFilteringProfile": {}, + * // "wildfireAnalysisProfile": {} + * // } + * }, * }); * console.log(res.data); * * // Example response * // { - * // "nextPageToken": "my_nextPageToken", - * // "securityProfiles": [] + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} * // } * } * @@ -7471,58 +7902,54 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - list( - params: Params$Resource$Organizations$Locations$Securityprofiles$List, + create( + params: Params$Resource$Organizations$Locations$Securityprofiles$Create, options: StreamMethodOptions ): Promise>; - list( - params?: Params$Resource$Organizations$Locations$Securityprofiles$List, + create( + params?: Params$Resource$Organizations$Locations$Securityprofiles$Create, options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Organizations$Locations$Securityprofiles$List, + ): Promise>; + create( + params: Params$Resource$Organizations$Locations$Securityprofiles$Create, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Organizations$Locations$Securityprofiles$List, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Organizations$Locations$Securityprofiles$List, - callback: BodyResponseCallback + create( + params: Params$Resource$Organizations$Locations$Securityprofiles$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - list( - callback: BodyResponseCallback + create( + params: Params$Resource$Organizations$Locations$Securityprofiles$Create, + callback: BodyResponseCallback ): void; - list( + create(callback: BodyResponseCallback): void; + create( paramsOrCallback?: - | Params$Resource$Organizations$Locations$Securityprofiles$List - | BodyResponseCallback + | Params$Resource$Organizations$Locations$Securityprofiles$Create + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Organizations$Locations$Securityprofiles$List; + {}) as Params$Resource$Organizations$Locations$Securityprofiles$Create; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Organizations$Locations$Securityprofiles$List; + {} as Params$Resource$Organizations$Locations$Securityprofiles$Create; options = {}; } @@ -7540,7 +7967,7 @@ export namespace networksecurity_v1beta1 { /([^:]\/)\/+/g, '$1' ), - method: 'GET', + method: 'POST', apiVersion: '', }, options @@ -7551,19 +7978,17 @@ export namespace networksecurity_v1beta1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } /** - * Updates the parameters of a single SecurityProfile. + * Deletes a single SecurityProfile. * @example * ```js * // Before running the sample: @@ -7593,29 +8018,11 @@ export namespace networksecurity_v1beta1 { * * // Do the magic * const res = - * await networksecurity.organizations.locations.securityProfiles.patch({ - * // Immutable. Identifier. Name of the SecurityProfile resource. It matches pattern `projects|organizations/x/locations/{location\}/securityProfiles/{security_profile\}`. - * name: 'organizations/my-organization/locations/my-location/securityProfiles/my-securityProfile', - * // Required. Field mask is used to specify the fields to be overwritten in the SecurityProfile 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. - * updateMask: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "createTime": "my_createTime", - * // "customInterceptProfile": {}, - * // "customMirroringProfile": {}, - * // "description": "my_description", - * // "etag": "my_etag", - * // "labels": {}, - * // "name": "my_name", - * // "threatPreventionProfile": {}, - * // "type": "my_type", - * // "updateTime": "my_updateTime", - * // "urlFilteringProfile": {} - * // } - * }, + * await networksecurity.organizations.locations.securityProfiles.delete({ + * // Optional. If client provided etag is out of date, delete will return FAILED_PRECONDITION error. + * etag: 'placeholder-value', + * // Required. A name of the SecurityProfile to delete. Must be in the format `projects|organizations/x/locations/{location\}/securityProfiles/{security_profile_id\}`. + * name: 'organizations/my-organization/locations/my-location/securityProfiles/my-securityProfile', * }); * console.log(res.data); * @@ -7641,32 +8048,32 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - patch( - params: Params$Resource$Organizations$Locations$Securityprofiles$Patch, + delete( + params: Params$Resource$Organizations$Locations$Securityprofiles$Delete, options: StreamMethodOptions ): Promise>; - patch( - params?: Params$Resource$Organizations$Locations$Securityprofiles$Patch, + delete( + params?: Params$Resource$Organizations$Locations$Securityprofiles$Delete, options?: MethodOptions ): Promise>; - patch( - params: Params$Resource$Organizations$Locations$Securityprofiles$Patch, + delete( + params: Params$Resource$Organizations$Locations$Securityprofiles$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Organizations$Locations$Securityprofiles$Patch, + delete( + params: Params$Resource$Organizations$Locations$Securityprofiles$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Organizations$Locations$Securityprofiles$Patch, + delete( + params: Params$Resource$Organizations$Locations$Securityprofiles$Delete, callback: BodyResponseCallback ): void; - patch(callback: BodyResponseCallback): void; - patch( + delete(callback: BodyResponseCallback): void; + delete( paramsOrCallback?: - | Params$Resource$Organizations$Locations$Securityprofiles$Patch + | Params$Resource$Organizations$Locations$Securityprofiles$Delete | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -7682,13 +8089,13 @@ export namespace networksecurity_v1beta1 { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Organizations$Locations$Securityprofiles$Patch; + {}) as Params$Resource$Organizations$Locations$Securityprofiles$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Organizations$Locations$Securityprofiles$Patch; + {} as Params$Resource$Organizations$Locations$Securityprofiles$Delete; options = {}; } @@ -7703,7 +8110,7 @@ export namespace networksecurity_v1beta1 { options: Object.assign( { url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', + method: 'DELETE', apiVersion: '', }, options @@ -7722,172 +8129,9 @@ export namespace networksecurity_v1beta1 { return createAPIRequest(parameters); } } - } - - export interface Params$Resource$Organizations$Locations$Securityprofiles$Create extends StandardParameters { - /** - * Required. The parent resource of the SecurityProfile. Must be in the format `projects|organizations/x/locations/{location\}`. - */ - parent?: string; - /** - * Required. Short name of the SecurityProfile resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores, and should not start with a number. E.g. "security_profile1". - */ - securityProfileId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$SecurityProfile; - } - export interface Params$Resource$Organizations$Locations$Securityprofiles$Delete extends StandardParameters { - /** - * Optional. If client provided etag is out of date, delete will return FAILED_PRECONDITION error. - */ - etag?: string; - /** - * Required. A name of the SecurityProfile to delete. Must be in the format `projects|organizations/x/locations/{location\}/securityProfiles/{security_profile_id\}`. - */ - name?: string; - } - export interface Params$Resource$Organizations$Locations$Securityprofiles$Get extends StandardParameters { - /** - * Required. A name of the SecurityProfile to get. Must be in the format `projects|organizations/x/locations/{location\}/securityProfiles/{security_profile_id\}`. - */ - name?: string; - } - export interface Params$Resource$Organizations$Locations$Securityprofiles$List extends StandardParameters { - /** - * Optional. Maximum number of SecurityProfiles to return per call. - */ - pageSize?: number; - /** - * Optional. The value returned by the last `ListSecurityProfilesResponse` Indicates that this is a continuation of a prior `ListSecurityProfiles` call, and that the system should return the next page of data. - */ - pageToken?: string; - /** - * Required. The project or organization and location from which the SecurityProfiles should be listed, specified in the format `projects|organizations/x/locations/{location\}`. - */ - parent?: string; - } - export interface Params$Resource$Organizations$Locations$Securityprofiles$Patch extends StandardParameters { - /** - * Immutable. Identifier. Name of the SecurityProfile resource. It matches pattern `projects|organizations/x/locations/{location\}/securityProfiles/{security_profile\}`. - */ - name?: string; - /** - * Required. Field mask is used to specify the fields to be overwritten in the SecurityProfile 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. - */ - updateMask?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$SecurityProfile; - } - - export class Resource$Projects { - context: APIRequestContext; - locations: Resource$Projects$Locations; - constructor(context: APIRequestContext) { - this.context = context; - this.locations = new Resource$Projects$Locations(this.context); - } - } - - export class Resource$Projects$Locations { - context: APIRequestContext; - addressGroups: Resource$Projects$Locations$Addressgroups; - authorizationPolicies: Resource$Projects$Locations$Authorizationpolicies; - authzPolicies: Resource$Projects$Locations$Authzpolicies; - backendAuthenticationConfigs: Resource$Projects$Locations$Backendauthenticationconfigs; - clientTlsPolicies: Resource$Projects$Locations$Clienttlspolicies; - dnsThreatDetectors: Resource$Projects$Locations$Dnsthreatdetectors; - firewallEndpointAssociations: Resource$Projects$Locations$Firewallendpointassociations; - firewallEndpoints: Resource$Projects$Locations$Firewallendpoints; - gatewaySecurityPolicies: Resource$Projects$Locations$Gatewaysecuritypolicies; - interceptDeploymentGroups: Resource$Projects$Locations$Interceptdeploymentgroups; - interceptDeployments: Resource$Projects$Locations$Interceptdeployments; - interceptEndpointGroupAssociations: Resource$Projects$Locations$Interceptendpointgroupassociations; - interceptEndpointGroups: Resource$Projects$Locations$Interceptendpointgroups; - mirroringDeploymentGroups: Resource$Projects$Locations$Mirroringdeploymentgroups; - mirroringDeployments: Resource$Projects$Locations$Mirroringdeployments; - mirroringEndpointGroupAssociations: Resource$Projects$Locations$Mirroringendpointgroupassociations; - mirroringEndpointGroups: Resource$Projects$Locations$Mirroringendpointgroups; - operations: Resource$Projects$Locations$Operations; - sacAttachments: Resource$Projects$Locations$Sacattachments; - sacRealms: Resource$Projects$Locations$Sacrealms; - securityProfileGroups: Resource$Projects$Locations$Securityprofilegroups; - securityProfiles: Resource$Projects$Locations$Securityprofiles; - serverTlsPolicies: Resource$Projects$Locations$Servertlspolicies; - tlsInspectionPolicies: Resource$Projects$Locations$Tlsinspectionpolicies; - urlLists: Resource$Projects$Locations$Urllists; - constructor(context: APIRequestContext) { - this.context = context; - this.addressGroups = new Resource$Projects$Locations$Addressgroups( - this.context - ); - this.authorizationPolicies = - new Resource$Projects$Locations$Authorizationpolicies(this.context); - this.authzPolicies = new Resource$Projects$Locations$Authzpolicies( - this.context - ); - this.backendAuthenticationConfigs = - new Resource$Projects$Locations$Backendauthenticationconfigs( - this.context - ); - this.clientTlsPolicies = - new Resource$Projects$Locations$Clienttlspolicies(this.context); - this.dnsThreatDetectors = - new Resource$Projects$Locations$Dnsthreatdetectors(this.context); - this.firewallEndpointAssociations = - new Resource$Projects$Locations$Firewallendpointassociations( - this.context - ); - this.firewallEndpoints = - new Resource$Projects$Locations$Firewallendpoints(this.context); - this.gatewaySecurityPolicies = - new Resource$Projects$Locations$Gatewaysecuritypolicies(this.context); - this.interceptDeploymentGroups = - new Resource$Projects$Locations$Interceptdeploymentgroups(this.context); - this.interceptDeployments = - new Resource$Projects$Locations$Interceptdeployments(this.context); - this.interceptEndpointGroupAssociations = - new Resource$Projects$Locations$Interceptendpointgroupassociations( - this.context - ); - this.interceptEndpointGroups = - new Resource$Projects$Locations$Interceptendpointgroups(this.context); - this.mirroringDeploymentGroups = - new Resource$Projects$Locations$Mirroringdeploymentgroups(this.context); - this.mirroringDeployments = - new Resource$Projects$Locations$Mirroringdeployments(this.context); - this.mirroringEndpointGroupAssociations = - new Resource$Projects$Locations$Mirroringendpointgroupassociations( - this.context - ); - this.mirroringEndpointGroups = - new Resource$Projects$Locations$Mirroringendpointgroups(this.context); - this.operations = new Resource$Projects$Locations$Operations( - this.context - ); - this.sacAttachments = new Resource$Projects$Locations$Sacattachments( - this.context - ); - this.sacRealms = new Resource$Projects$Locations$Sacrealms(this.context); - this.securityProfileGroups = - new Resource$Projects$Locations$Securityprofilegroups(this.context); - this.securityProfiles = new Resource$Projects$Locations$Securityprofiles( - this.context - ); - this.serverTlsPolicies = - new Resource$Projects$Locations$Servertlspolicies(this.context); - this.tlsInspectionPolicies = - new Resource$Projects$Locations$Tlsinspectionpolicies(this.context); - this.urlLists = new Resource$Projects$Locations$Urllists(this.context); - } /** - * Gets information about a location. + * Gets details of a single SecurityProfile. * @example * ```js * // Before running the sample: @@ -7916,19 +8160,27 @@ export namespace networksecurity_v1beta1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await networksecurity.projects.locations.get({ - * // Resource name for the location. - * name: 'projects/my-project/locations/my-location', - * }); + * const res = + * await networksecurity.organizations.locations.securityProfiles.get({ + * // Required. A name of the SecurityProfile to get. Must be in the format `projects|organizations/x/locations/{location\}/securityProfiles/{security_profile_id\}`. + * name: 'organizations/my-organization/locations/my-location/securityProfiles/my-securityProfile', + * }); * console.log(res.data); * * // Example response * // { - * // "displayName": "my_displayName", + * // "createTime": "my_createTime", + * // "customInterceptProfile": {}, + * // "customMirroringProfile": {}, + * // "description": "my_description", + * // "etag": "my_etag", * // "labels": {}, - * // "locationId": "my_locationId", - * // "metadata": {}, - * // "name": "my_name" + * // "name": "my_name", + * // "threatPreventionProfile": {}, + * // "type": "my_type", + * // "updateTime": "my_updateTime", + * // "urlFilteringProfile": {}, + * // "wildfireAnalysisProfile": {} * // } * } * @@ -7945,52 +8197,53 @@ export namespace networksecurity_v1beta1 { * @returns A promise if used with async/await, or void if used with a callback. */ get( - params: Params$Resource$Projects$Locations$Get, + params: Params$Resource$Organizations$Locations$Securityprofiles$Get, options: StreamMethodOptions ): Promise>; get( - params?: Params$Resource$Projects$Locations$Get, + params?: Params$Resource$Organizations$Locations$Securityprofiles$Get, options?: MethodOptions - ): Promise>; + ): Promise>; get( - params: Params$Resource$Projects$Locations$Get, + params: Params$Resource$Organizations$Locations$Securityprofiles$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; get( - params: Params$Resource$Projects$Locations$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + params: Params$Resource$Organizations$Locations$Securityprofiles$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; get( - params: Params$Resource$Projects$Locations$Get, - callback: BodyResponseCallback + params: Params$Resource$Organizations$Locations$Securityprofiles$Get, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; get( paramsOrCallback?: - | Params$Resource$Projects$Locations$Get - | BodyResponseCallback + | Params$Resource$Organizations$Locations$Securityprofiles$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Get; + {}) as Params$Resource$Organizations$Locations$Securityprofiles$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Get; + params = + {} as Params$Resource$Organizations$Locations$Securityprofiles$Get; options = {}; } @@ -8016,17 +8269,17 @@ export namespace networksecurity_v1beta1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project\}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version. + * Lists SecurityProfiles in a given organization and location. * @example * ```js * // Before running the sample: @@ -8055,24 +8308,21 @@ export namespace networksecurity_v1beta1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await networksecurity.projects.locations.list({ - * // Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage. - * extraLocationTypes: 'placeholder-value', - * // 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). - * filter: 'placeholder-value', - * // The resource that owns the locations collection, if applicable. - * name: 'projects/my-project', - * // The maximum number of results to return. If not set, the service selects a default. - * pageSize: 'placeholder-value', - * // A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page. - * pageToken: 'placeholder-value', - * }); + * const res = + * await networksecurity.organizations.locations.securityProfiles.list({ + * // Optional. Maximum number of SecurityProfiles to return per call. + * pageSize: 'placeholder-value', + * // Optional. The value returned by the last `ListSecurityProfilesResponse` Indicates that this is a continuation of a prior `ListSecurityProfiles` call, and that the system should return the next page of data. + * pageToken: 'placeholder-value', + * // Required. The project or organization and location from which the SecurityProfiles should be listed, specified in the format `projects|organizations/x/locations/{location\}`. + * parent: 'organizations/my-organization/locations/my-location', + * }); * console.log(res.data); * * // Example response * // { - * // "locations": [], - * // "nextPageToken": "my_nextPageToken" + * // "nextPageToken": "my_nextPageToken", + * // "securityProfiles": [] * // } * } * @@ -8089,54 +8339,57 @@ export namespace networksecurity_v1beta1 { * @returns A promise if used with async/await, or void if used with a callback. */ list( - params: Params$Resource$Projects$Locations$List, + params: Params$Resource$Organizations$Locations$Securityprofiles$List, options: StreamMethodOptions ): Promise>; list( - params?: Params$Resource$Projects$Locations$List, + params?: Params$Resource$Organizations$Locations$Securityprofiles$List, options?: MethodOptions - ): Promise>; + ): Promise>; list( - params: Params$Resource$Projects$Locations$List, + params: Params$Resource$Organizations$Locations$Securityprofiles$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; list( - params: Params$Resource$Projects$Locations$List, + params: Params$Resource$Organizations$Locations$Securityprofiles$List, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; list( - params: Params$Resource$Projects$Locations$List, - callback: BodyResponseCallback + params: Params$Resource$Organizations$Locations$Securityprofiles$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; list( paramsOrCallback?: - | Params$Resource$Projects$Locations$List - | BodyResponseCallback + | Params$Resource$Organizations$Locations$Securityprofiles$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$List; + {}) as Params$Resource$Organizations$Locations$Securityprofiles$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$List; + params = + {} as Params$Resource$Organizations$Locations$Securityprofiles$List; options = {}; } @@ -8150,7 +8403,7 @@ export namespace networksecurity_v1beta1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1beta1/{+name}/locations').replace( + url: (rootUrl + '/v1beta1/{+parent}/securityProfiles').replace( /([^:]\/)\/+/g, '$1' ), @@ -8160,58 +8413,24 @@ export namespace networksecurity_v1beta1 { options ), params, - requiredParams: ['name'], - pathParams: ['name'], + requiredParams: ['parent'], + pathParams: ['parent'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); } } - } - - export interface Params$Resource$Projects$Locations$Get extends StandardParameters { - /** - * Resource name for the location. - */ - name?: string; - } - export interface Params$Resource$Projects$Locations$List extends StandardParameters { - /** - * Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage. - */ - extraLocationTypes?: string[]; - /** - * 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). - */ - filter?: string; - /** - * The resource that owns the locations collection, if applicable. - */ - name?: string; - /** - * The maximum number of results to return. If not set, the service selects a default. - */ - pageSize?: number; - /** - * A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page. - */ - pageToken?: string; - } - - export class Resource$Projects$Locations$Addressgroups { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } /** - * Adds items to an address group. + * Updates the parameters of a single SecurityProfile. * @example * ```js * // Before running the sample: @@ -8240,20 +8459,32 @@ export namespace networksecurity_v1beta1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await networksecurity.projects.locations.addressGroups.addItems({ - * // Required. A name of the AddressGroup to add items to. Must be in the format `projects|organization/x/locations/{location\}/addressGroups/x`. - * addressGroup: - * 'projects/my-project/locations/my-location/addressGroups/my-addressGroup', + * const res = + * await networksecurity.organizations.locations.securityProfiles.patch({ + * // Immutable. Identifier. Name of the SecurityProfile resource. It matches pattern `projects|organizations/x/locations/{location\}/securityProfiles/{security_profile\}`. + * name: 'organizations/my-organization/locations/my-location/securityProfiles/my-securityProfile', + * // Required. Field mask is used to specify the fields to be overwritten in the SecurityProfile 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. + * updateMask: 'placeholder-value', * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "items": [], - * // "requestId": "my_requestId" - * // } - * }, - * }); + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "createTime": "my_createTime", + * // "customInterceptProfile": {}, + * // "customMirroringProfile": {}, + * // "description": "my_description", + * // "etag": "my_etag", + * // "labels": {}, + * // "name": "my_name", + * // "threatPreventionProfile": {}, + * // "type": "my_type", + * // "updateTime": "my_updateTime", + * // "urlFilteringProfile": {}, + * // "wildfireAnalysisProfile": {} + * // } + * }, + * }); * console.log(res.data); * * // Example response @@ -8278,32 +8509,32 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - addItems( - params: Params$Resource$Projects$Locations$Addressgroups$Additems, + patch( + params: Params$Resource$Organizations$Locations$Securityprofiles$Patch, options: StreamMethodOptions ): Promise>; - addItems( - params?: Params$Resource$Projects$Locations$Addressgroups$Additems, + patch( + params?: Params$Resource$Organizations$Locations$Securityprofiles$Patch, options?: MethodOptions ): Promise>; - addItems( - params: Params$Resource$Projects$Locations$Addressgroups$Additems, + patch( + params: Params$Resource$Organizations$Locations$Securityprofiles$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - addItems( - params: Params$Resource$Projects$Locations$Addressgroups$Additems, + patch( + params: Params$Resource$Organizations$Locations$Securityprofiles$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - addItems( - params: Params$Resource$Projects$Locations$Addressgroups$Additems, + patch( + params: Params$Resource$Organizations$Locations$Securityprofiles$Patch, callback: BodyResponseCallback ): void; - addItems(callback: BodyResponseCallback): void; - addItems( + patch(callback: BodyResponseCallback): void; + patch( paramsOrCallback?: - | Params$Resource$Projects$Locations$Addressgroups$Additems + | Params$Resource$Organizations$Locations$Securityprofiles$Patch | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -8319,13 +8550,13 @@ export namespace networksecurity_v1beta1 { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Addressgroups$Additems; + {}) as Params$Resource$Organizations$Locations$Securityprofiles$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Addressgroups$Additems; + {} as Params$Resource$Organizations$Locations$Securityprofiles$Patch; options = {}; } @@ -8339,18 +8570,15 @@ export namespace networksecurity_v1beta1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1beta1/{+addressGroup}:addItems').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', apiVersion: '', }, options ), params, - requiredParams: ['addressGroup'], - pathParams: ['addressGroup'], + requiredParams: ['name'], + pathParams: ['name'], context: this.context, }; if (callback) { @@ -8362,62 +8590,213 @@ export namespace networksecurity_v1beta1 { return createAPIRequest(parameters); } } + } + export interface Params$Resource$Organizations$Locations$Securityprofiles$Create extends StandardParameters { /** - * Clones items from one address group to another. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/networksecurity.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const networksecurity = google.networksecurity('v1beta1'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: ['https://www.googleapis.com/auth/cloud-platform'], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await networksecurity.projects.locations.addressGroups.cloneItems( - * { - * // Required. A name of the AddressGroup to clone items to. Must be in the format `projects|organization/x/locations/{location\}/addressGroups/x`. - * addressGroup: - * 'projects/my-project/locations/my-location/addressGroups/my-addressGroup', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "requestId": "my_requestId", - * // "sourceAddressGroup": "my_sourceAddressGroup" - * // } - * }, - * }, - * ); + * Required. The parent resource of the SecurityProfile. Must be in the format `projects|organizations/x/locations/{location\}`. + */ + parent?: string; + /** + * Required. Short name of the SecurityProfile resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores, and should not start with a number. E.g. "security_profile1". + */ + securityProfileId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$SecurityProfile; + } + export interface Params$Resource$Organizations$Locations$Securityprofiles$Delete extends StandardParameters { + /** + * Optional. If client provided etag is out of date, delete will return FAILED_PRECONDITION error. + */ + etag?: string; + /** + * Required. A name of the SecurityProfile to delete. Must be in the format `projects|organizations/x/locations/{location\}/securityProfiles/{security_profile_id\}`. + */ + name?: string; + } + export interface Params$Resource$Organizations$Locations$Securityprofiles$Get extends StandardParameters { + /** + * Required. A name of the SecurityProfile to get. Must be in the format `projects|organizations/x/locations/{location\}/securityProfiles/{security_profile_id\}`. + */ + name?: string; + } + export interface Params$Resource$Organizations$Locations$Securityprofiles$List extends StandardParameters { + /** + * Optional. Maximum number of SecurityProfiles to return per call. + */ + pageSize?: number; + /** + * Optional. The value returned by the last `ListSecurityProfilesResponse` Indicates that this is a continuation of a prior `ListSecurityProfiles` call, and that the system should return the next page of data. + */ + pageToken?: string; + /** + * Required. The project or organization and location from which the SecurityProfiles should be listed, specified in the format `projects|organizations/x/locations/{location\}`. + */ + parent?: string; + } + export interface Params$Resource$Organizations$Locations$Securityprofiles$Patch extends StandardParameters { + /** + * Immutable. Identifier. Name of the SecurityProfile resource. It matches pattern `projects|organizations/x/locations/{location\}/securityProfiles/{security_profile\}`. + */ + name?: string; + /** + * Required. Field mask is used to specify the fields to be overwritten in the SecurityProfile 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. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$SecurityProfile; + } + + export class Resource$Projects { + context: APIRequestContext; + locations: Resource$Projects$Locations; + constructor(context: APIRequestContext) { + this.context = context; + this.locations = new Resource$Projects$Locations(this.context); + } + } + + export class Resource$Projects$Locations { + context: APIRequestContext; + addressGroups: Resource$Projects$Locations$Addressgroups; + authorizationPolicies: Resource$Projects$Locations$Authorizationpolicies; + authzPolicies: Resource$Projects$Locations$Authzpolicies; + backendAuthenticationConfigs: Resource$Projects$Locations$Backendauthenticationconfigs; + clientTlsPolicies: Resource$Projects$Locations$Clienttlspolicies; + dnsThreatDetectors: Resource$Projects$Locations$Dnsthreatdetectors; + firewallEndpointAssociations: Resource$Projects$Locations$Firewallendpointassociations; + firewallEndpoints: Resource$Projects$Locations$Firewallendpoints; + gatewaySecurityPolicies: Resource$Projects$Locations$Gatewaysecuritypolicies; + interceptDeploymentGroups: Resource$Projects$Locations$Interceptdeploymentgroups; + interceptDeployments: Resource$Projects$Locations$Interceptdeployments; + interceptEndpointGroupAssociations: Resource$Projects$Locations$Interceptendpointgroupassociations; + interceptEndpointGroups: Resource$Projects$Locations$Interceptendpointgroups; + mirroringDeploymentGroups: Resource$Projects$Locations$Mirroringdeploymentgroups; + mirroringDeployments: Resource$Projects$Locations$Mirroringdeployments; + mirroringEndpointGroupAssociations: Resource$Projects$Locations$Mirroringendpointgroupassociations; + mirroringEndpointGroups: Resource$Projects$Locations$Mirroringendpointgroups; + operations: Resource$Projects$Locations$Operations; + sacAttachments: Resource$Projects$Locations$Sacattachments; + sacRealms: Resource$Projects$Locations$Sacrealms; + securityProfileGroups: Resource$Projects$Locations$Securityprofilegroups; + securityProfiles: Resource$Projects$Locations$Securityprofiles; + serverTlsPolicies: Resource$Projects$Locations$Servertlspolicies; + tlsInspectionPolicies: Resource$Projects$Locations$Tlsinspectionpolicies; + urlLists: Resource$Projects$Locations$Urllists; + constructor(context: APIRequestContext) { + this.context = context; + this.addressGroups = new Resource$Projects$Locations$Addressgroups( + this.context + ); + this.authorizationPolicies = + new Resource$Projects$Locations$Authorizationpolicies(this.context); + this.authzPolicies = new Resource$Projects$Locations$Authzpolicies( + this.context + ); + this.backendAuthenticationConfigs = + new Resource$Projects$Locations$Backendauthenticationconfigs( + this.context + ); + this.clientTlsPolicies = + new Resource$Projects$Locations$Clienttlspolicies(this.context); + this.dnsThreatDetectors = + new Resource$Projects$Locations$Dnsthreatdetectors(this.context); + this.firewallEndpointAssociations = + new Resource$Projects$Locations$Firewallendpointassociations( + this.context + ); + this.firewallEndpoints = + new Resource$Projects$Locations$Firewallendpoints(this.context); + this.gatewaySecurityPolicies = + new Resource$Projects$Locations$Gatewaysecuritypolicies(this.context); + this.interceptDeploymentGroups = + new Resource$Projects$Locations$Interceptdeploymentgroups(this.context); + this.interceptDeployments = + new Resource$Projects$Locations$Interceptdeployments(this.context); + this.interceptEndpointGroupAssociations = + new Resource$Projects$Locations$Interceptendpointgroupassociations( + this.context + ); + this.interceptEndpointGroups = + new Resource$Projects$Locations$Interceptendpointgroups(this.context); + this.mirroringDeploymentGroups = + new Resource$Projects$Locations$Mirroringdeploymentgroups(this.context); + this.mirroringDeployments = + new Resource$Projects$Locations$Mirroringdeployments(this.context); + this.mirroringEndpointGroupAssociations = + new Resource$Projects$Locations$Mirroringendpointgroupassociations( + this.context + ); + this.mirroringEndpointGroups = + new Resource$Projects$Locations$Mirroringendpointgroups(this.context); + this.operations = new Resource$Projects$Locations$Operations( + this.context + ); + this.sacAttachments = new Resource$Projects$Locations$Sacattachments( + this.context + ); + this.sacRealms = new Resource$Projects$Locations$Sacrealms(this.context); + this.securityProfileGroups = + new Resource$Projects$Locations$Securityprofilegroups(this.context); + this.securityProfiles = new Resource$Projects$Locations$Securityprofiles( + this.context + ); + this.serverTlsPolicies = + new Resource$Projects$Locations$Servertlspolicies(this.context); + this.tlsInspectionPolicies = + new Resource$Projects$Locations$Tlsinspectionpolicies(this.context); + this.urlLists = new Resource$Projects$Locations$Urllists(this.context); + } + + /** + * Gets information about a location. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/networksecurity.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const networksecurity = google.networksecurity('v1beta1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await networksecurity.projects.locations.get({ + * // Resource name for the location. + * name: 'projects/my-project/locations/my-location', + * }); * console.log(res.data); * * // Example response * // { - * // "done": false, - * // "error": {}, + * // "displayName": "my_displayName", + * // "labels": {}, + * // "locationId": "my_locationId", * // "metadata": {}, - * // "name": "my_name", - * // "response": {} + * // "name": "my_name" * // } * } * @@ -8433,54 +8812,53 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - cloneItems( - params: Params$Resource$Projects$Locations$Addressgroups$Cloneitems, + get( + params: Params$Resource$Projects$Locations$Get, options: StreamMethodOptions ): Promise>; - cloneItems( - params?: Params$Resource$Projects$Locations$Addressgroups$Cloneitems, + get( + params?: Params$Resource$Projects$Locations$Get, options?: MethodOptions - ): Promise>; - cloneItems( - params: Params$Resource$Projects$Locations$Addressgroups$Cloneitems, + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - cloneItems( - params: Params$Resource$Projects$Locations$Addressgroups$Cloneitems, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + get( + params: Params$Resource$Projects$Locations$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - cloneItems( - params: Params$Resource$Projects$Locations$Addressgroups$Cloneitems, - callback: BodyResponseCallback + get( + params: Params$Resource$Projects$Locations$Get, + callback: BodyResponseCallback ): void; - cloneItems(callback: BodyResponseCallback): void; - cloneItems( + get(callback: BodyResponseCallback): void; + get( paramsOrCallback?: - | Params$Resource$Projects$Locations$Addressgroups$Cloneitems - | BodyResponseCallback + | Params$Resource$Projects$Locations$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Addressgroups$Cloneitems; + {}) as Params$Resource$Projects$Locations$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Addressgroups$Cloneitems; + params = {} as Params$Resource$Projects$Locations$Get; options = {}; } @@ -8494,32 +8872,29 @@ export namespace networksecurity_v1beta1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1beta1/{+addressGroup}:cloneItems').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['addressGroup'], - pathParams: ['addressGroup'], + requiredParams: ['name'], + pathParams: ['name'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Creates a new address group in a given project and location. + * Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project\}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version. * @example * ```js * // Before running the sample: @@ -8548,40 +8923,24 @@ export namespace networksecurity_v1beta1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await networksecurity.projects.locations.addressGroups.create({ - * // Required. Short name of the AddressGroup resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores, and should not start with a number. E.g. "authz_policy". - * addressGroupId: 'placeholder-value', - * // Required. The parent resource of the AddressGroup. Must be in the format `projects/x/locations/{location\}`. - * parent: 'projects/my-project/locations/my-location', - * // 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). - * requestId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "capacity": 0, - * // "createTime": "my_createTime", - * // "description": "my_description", - * // "items": [], - * // "labels": {}, - * // "name": "my_name", - * // "purpose": [], - * // "selfLink": "my_selfLink", - * // "type": "my_type", - * // "updateTime": "my_updateTime" - * // } - * }, + * const res = await networksecurity.projects.locations.list({ + * // Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage. + * extraLocationTypes: 'placeholder-value', + * // 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). + * filter: 'placeholder-value', + * // The resource that owns the locations collection, if applicable. + * name: 'projects/my-project', + * // The maximum number of results to return. If not set, the service selects a default. + * pageSize: 'placeholder-value', + * // A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page. + * pageToken: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { - * // "done": false, - * // "error": {}, - * // "metadata": {}, - * // "name": "my_name", - * // "response": {} + * // "locations": [], + * // "nextPageToken": "my_nextPageToken" * // } * } * @@ -8597,53 +8956,55 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - create( - params: Params$Resource$Projects$Locations$Addressgroups$Create, + list( + params: Params$Resource$Projects$Locations$List, options: StreamMethodOptions ): Promise>; - create( - params?: Params$Resource$Projects$Locations$Addressgroups$Create, + list( + params?: Params$Resource$Projects$Locations$List, options?: MethodOptions - ): Promise>; - create( - params: Params$Resource$Projects$Locations$Addressgroups$Create, + ): Promise>; + list( + params: Params$Resource$Projects$Locations$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Projects$Locations$Addressgroups$Create, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + list( + params: Params$Resource$Projects$Locations$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Projects$Locations$Addressgroups$Create, - callback: BodyResponseCallback + list( + params: Params$Resource$Projects$Locations$List, + callback: BodyResponseCallback ): void; - create(callback: BodyResponseCallback): void; - create( + list(callback: BodyResponseCallback): void; + list( paramsOrCallback?: - | Params$Resource$Projects$Locations$Addressgroups$Create - | BodyResponseCallback + | Params$Resource$Projects$Locations$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Addressgroups$Create; + {}) as Params$Resource$Projects$Locations$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Addressgroups$Create; + params = {} as Params$Resource$Projects$Locations$List; options = {}; } @@ -8657,32 +9018,68 @@ export namespace networksecurity_v1beta1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1beta1/{+parent}/addressGroups').replace( + url: (rootUrl + '/v1beta1/{+name}/locations').replace( /([^:]\/)\/+/g, '$1' ), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['parent'], - pathParams: ['parent'], + requiredParams: ['name'], + pathParams: ['name'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } + } + export interface Params$Resource$Projects$Locations$Get extends StandardParameters { /** - * Deletes a single address group. + * Resource name for the location. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$List extends StandardParameters { + /** + * Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage. + */ + extraLocationTypes?: string[]; + /** + * 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). + */ + filter?: string; + /** + * The resource that owns the locations collection, if applicable. + */ + name?: string; + /** + * The maximum number of results to return. If not set, the service selects a default. + */ + pageSize?: number; + /** + * A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page. + */ + pageToken?: string; + } + + export class Resource$Projects$Locations$Addressgroups { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Adds items to an address group. * @example * ```js * // Before running the sample: @@ -8711,11 +9108,19 @@ export namespace networksecurity_v1beta1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await networksecurity.projects.locations.addressGroups.delete({ - * // Required. A name of the AddressGroup to delete. Must be in the format `projects/x/locations/{location\}/addressGroups/x`. - * name: 'projects/my-project/locations/my-location/addressGroups/my-addressGroup', - * // 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). - * requestId: 'placeholder-value', + * const res = await networksecurity.projects.locations.addressGroups.addItems({ + * // Required. A name of the AddressGroup to add items to. Must be in the format `projects|organization/x/locations/{location\}/addressGroups/x`. + * addressGroup: + * 'projects/my-project/locations/my-location/addressGroups/my-addressGroup', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "items": [], + * // "requestId": "my_requestId" + * // } + * }, * }); * console.log(res.data); * @@ -8741,32 +9146,32 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - delete( - params: Params$Resource$Projects$Locations$Addressgroups$Delete, + addItems( + params: Params$Resource$Projects$Locations$Addressgroups$Additems, options: StreamMethodOptions ): Promise>; - delete( - params?: Params$Resource$Projects$Locations$Addressgroups$Delete, + addItems( + params?: Params$Resource$Projects$Locations$Addressgroups$Additems, options?: MethodOptions ): Promise>; - delete( - params: Params$Resource$Projects$Locations$Addressgroups$Delete, + addItems( + params: Params$Resource$Projects$Locations$Addressgroups$Additems, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Projects$Locations$Addressgroups$Delete, + addItems( + params: Params$Resource$Projects$Locations$Addressgroups$Additems, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Projects$Locations$Addressgroups$Delete, + addItems( + params: Params$Resource$Projects$Locations$Addressgroups$Additems, callback: BodyResponseCallback ): void; - delete(callback: BodyResponseCallback): void; - delete( + addItems(callback: BodyResponseCallback): void; + addItems( paramsOrCallback?: - | Params$Resource$Projects$Locations$Addressgroups$Delete + | Params$Resource$Projects$Locations$Addressgroups$Additems | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -8782,12 +9187,13 @@ export namespace networksecurity_v1beta1 { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Addressgroups$Delete; + {}) as Params$Resource$Projects$Locations$Addressgroups$Additems; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Addressgroups$Delete; + params = + {} as Params$Resource$Projects$Locations$Addressgroups$Additems; options = {}; } @@ -8801,15 +9207,18 @@ export namespace networksecurity_v1beta1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', + url: (rootUrl + '/v1beta1/{+addressGroup}:addItems').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['name'], - pathParams: ['name'], + requiredParams: ['addressGroup'], + pathParams: ['addressGroup'], context: this.context, }; if (callback) { @@ -8823,7 +9232,7 @@ export namespace networksecurity_v1beta1 { } /** - * Gets details of a single address group. + * Clones items from one address group to another. * @example * ```js * // Before running the sample: @@ -8852,24 +9261,31 @@ export namespace networksecurity_v1beta1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await networksecurity.projects.locations.addressGroups.get({ - * // Required. A name of the AddressGroup to get. Must be in the format `projects/x/locations/{location\}/addressGroups/x`. - * name: 'projects/my-project/locations/my-location/addressGroups/my-addressGroup', - * }); + * const res = await networksecurity.projects.locations.addressGroups.cloneItems( + * { + * // Required. A name of the AddressGroup to clone items to. Must be in the format `projects|organization/x/locations/{location\}/addressGroups/x`. + * addressGroup: + * 'projects/my-project/locations/my-location/addressGroups/my-addressGroup', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "requestId": "my_requestId", + * // "sourceAddressGroup": "my_sourceAddressGroup" + * // } + * }, + * }, + * ); * console.log(res.data); * * // Example response * // { - * // "capacity": 0, - * // "createTime": "my_createTime", - * // "description": "my_description", - * // "items": [], - * // "labels": {}, + * // "done": false, + * // "error": {}, + * // "metadata": {}, * // "name": "my_name", - * // "purpose": [], - * // "selfLink": "my_selfLink", - * // "type": "my_type", - * // "updateTime": "my_updateTime" + * // "response": {} * // } * } * @@ -8885,53 +9301,54 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - get( - params: Params$Resource$Projects$Locations$Addressgroups$Get, + cloneItems( + params: Params$Resource$Projects$Locations$Addressgroups$Cloneitems, options: StreamMethodOptions ): Promise>; - get( - params?: Params$Resource$Projects$Locations$Addressgroups$Get, + cloneItems( + params?: Params$Resource$Projects$Locations$Addressgroups$Cloneitems, options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Projects$Locations$Addressgroups$Get, + ): Promise>; + cloneItems( + params: Params$Resource$Projects$Locations$Addressgroups$Cloneitems, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Projects$Locations$Addressgroups$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + cloneItems( + params: Params$Resource$Projects$Locations$Addressgroups$Cloneitems, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Projects$Locations$Addressgroups$Get, - callback: BodyResponseCallback + cloneItems( + params: Params$Resource$Projects$Locations$Addressgroups$Cloneitems, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; - get( + cloneItems(callback: BodyResponseCallback): void; + cloneItems( paramsOrCallback?: - | Params$Resource$Projects$Locations$Addressgroups$Get - | BodyResponseCallback + | Params$Resource$Projects$Locations$Addressgroups$Cloneitems + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Addressgroups$Get; + {}) as Params$Resource$Projects$Locations$Addressgroups$Cloneitems; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Addressgroups$Get; + params = + {} as Params$Resource$Projects$Locations$Addressgroups$Cloneitems; options = {}; } @@ -8945,29 +9362,32 @@ export namespace networksecurity_v1beta1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + url: (rootUrl + '/v1beta1/{+addressGroup}:cloneItems').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['name'], - pathParams: ['name'], + requiredParams: ['addressGroup'], + pathParams: ['addressGroup'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + * Creates a new address group in a given project and location. * @example * ```js * // Before running the sample: @@ -8996,22 +9416,40 @@ export namespace networksecurity_v1beta1 { * google.options({auth: authClient}); * * // Do the magic - * const res = - * await networksecurity.projects.locations.addressGroups.getIamPolicy({ - * // 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). - * 'options.requestedPolicyVersion': 'placeholder-value', - * // 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. - * resource: - * 'projects/my-project/locations/my-location/addressGroups/my-addressGroup', - * }); + * const res = await networksecurity.projects.locations.addressGroups.create({ + * // Required. Short name of the AddressGroup resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores, and should not start with a number. E.g. "authz_policy". + * addressGroupId: 'placeholder-value', + * // Required. The parent resource of the AddressGroup. Must be in the format `projects/x/locations/{location\}`. + * parent: 'projects/my-project/locations/my-location', + * // 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). + * requestId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "capacity": 0, + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "items": [], + * // "labels": {}, + * // "name": "my_name", + * // "purpose": [], + * // "selfLink": "my_selfLink", + * // "type": "my_type", + * // "updateTime": "my_updateTime" + * // } + * }, + * }); * console.log(res.data); * * // Example response * // { - * // "auditConfigs": [], - * // "bindings": [], - * // "etag": "my_etag", - * // "version": 0 + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} * // } * } * @@ -9027,56 +9465,53 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - getIamPolicy( - params: Params$Resource$Projects$Locations$Addressgroups$Getiampolicy, + create( + params: Params$Resource$Projects$Locations$Addressgroups$Create, options: StreamMethodOptions ): Promise>; - getIamPolicy( - params?: Params$Resource$Projects$Locations$Addressgroups$Getiampolicy, + create( + params?: Params$Resource$Projects$Locations$Addressgroups$Create, options?: MethodOptions - ): Promise>; - getIamPolicy( - params: Params$Resource$Projects$Locations$Addressgroups$Getiampolicy, + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Addressgroups$Create, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - getIamPolicy( - params: Params$Resource$Projects$Locations$Addressgroups$Getiampolicy, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - getIamPolicy( - params: Params$Resource$Projects$Locations$Addressgroups$Getiampolicy, - callback: BodyResponseCallback + create( + params: Params$Resource$Projects$Locations$Addressgroups$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - getIamPolicy( - callback: BodyResponseCallback + create( + params: Params$Resource$Projects$Locations$Addressgroups$Create, + callback: BodyResponseCallback ): void; - getIamPolicy( + create(callback: BodyResponseCallback): void; + create( paramsOrCallback?: - | Params$Resource$Projects$Locations$Addressgroups$Getiampolicy - | BodyResponseCallback + | Params$Resource$Projects$Locations$Addressgroups$Create + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Addressgroups$Getiampolicy; + {}) as Params$Resource$Projects$Locations$Addressgroups$Create; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Addressgroups$Getiampolicy; + params = {} as Params$Resource$Projects$Locations$Addressgroups$Create; options = {}; } @@ -9090,32 +9525,32 @@ export namespace networksecurity_v1beta1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1beta1/{+resource}:getIamPolicy').replace( + url: (rootUrl + '/v1beta1/{+parent}/addressGroups').replace( /([^:]\/)\/+/g, '$1' ), - method: 'GET', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['resource'], - pathParams: ['resource'], + requiredParams: ['parent'], + pathParams: ['parent'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Lists address groups in a given project and location. + * Deletes a single address group. * @example * ```js * // Before running the sample: @@ -9144,23 +9579,21 @@ export namespace networksecurity_v1beta1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await networksecurity.projects.locations.addressGroups.list({ - * // Maximum number of AddressGroups to return per call. - * pageSize: 'placeholder-value', - * // The value returned by the last `ListAddressGroupsResponse` Indicates that this is a continuation of a prior `ListAddressGroups` call, and that the system should return the next page of data. - * pageToken: 'placeholder-value', - * // Required. The project and location from which the AddressGroups should be listed, specified in the format `projects/x/locations/{location\}`. - * parent: 'projects/my-project/locations/my-location', - * // Optional. If true, allow partial responses for multi-regional Aggregated List requests. - * returnPartialSuccess: 'placeholder-value', + * const res = await networksecurity.projects.locations.addressGroups.delete({ + * // Required. A name of the AddressGroup to delete. Must be in the format `projects/x/locations/{location\}/addressGroups/x`. + * name: 'projects/my-project/locations/my-location/addressGroups/my-addressGroup', + * // 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). + * requestId: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { - * // "addressGroups": [], - * // "nextPageToken": "my_nextPageToken", - * // "unreachable": [] + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} * // } * } * @@ -9176,57 +9609,53 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - list( - params: Params$Resource$Projects$Locations$Addressgroups$List, + delete( + params: Params$Resource$Projects$Locations$Addressgroups$Delete, options: StreamMethodOptions ): Promise>; - list( - params?: Params$Resource$Projects$Locations$Addressgroups$List, + delete( + params?: Params$Resource$Projects$Locations$Addressgroups$Delete, options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Projects$Locations$Addressgroups$List, + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Addressgroups$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Projects$Locations$Addressgroups$List, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Projects$Locations$Addressgroups$List, - callback: BodyResponseCallback + delete( + params: Params$Resource$Projects$Locations$Addressgroups$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - list( - callback: BodyResponseCallback + delete( + params: Params$Resource$Projects$Locations$Addressgroups$Delete, + callback: BodyResponseCallback ): void; - list( + delete(callback: BodyResponseCallback): void; + delete( paramsOrCallback?: - | Params$Resource$Projects$Locations$Addressgroups$List - | BodyResponseCallback + | Params$Resource$Projects$Locations$Addressgroups$Delete + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Addressgroups$List; + {}) as Params$Resource$Projects$Locations$Addressgroups$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Addressgroups$List; + params = {} as Params$Resource$Projects$Locations$Addressgroups$Delete; options = {}; } @@ -9240,32 +9669,29 @@ export namespace networksecurity_v1beta1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1beta1/{+parent}/addressGroups').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'GET', + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', apiVersion: '', }, options ), params, - requiredParams: ['parent'], - pathParams: ['parent'], + requiredParams: ['name'], + pathParams: ['name'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Lists references of an address group. + * Gets details of a single address group. * @example * ```js * // Before running the sample: @@ -9294,22 +9720,24 @@ export namespace networksecurity_v1beta1 { * google.options({auth: authClient}); * * // Do the magic - * const res = - * await networksecurity.projects.locations.addressGroups.listReferences({ - * // Required. A name of the AddressGroup to clone items to. Must be in the format `projects|organization/x/locations/{location\}/addressGroups/x`. - * addressGroup: - * 'projects/my-project/locations/my-location/addressGroups/my-addressGroup', - * // The maximum number of references to return. If unspecified, server will pick an appropriate default. Server may return fewer items than requested. A caller should only rely on response's next_page_token to determine if there are more AddressGroupUsers left to be queried. - * pageSize: 'placeholder-value', - * // The next_page_token value returned from a previous List request, if any. - * pageToken: 'placeholder-value', - * }); + * const res = await networksecurity.projects.locations.addressGroups.get({ + * // Required. A name of the AddressGroup to get. Must be in the format `projects/x/locations/{location\}/addressGroups/x`. + * name: 'projects/my-project/locations/my-location/addressGroups/my-addressGroup', + * }); * console.log(res.data); * * // Example response * // { - * // "addressGroupReferences": [], - * // "nextPageToken": "my_nextPageToken" + * // "capacity": 0, + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "items": [], + * // "labels": {}, + * // "name": "my_name", + * // "purpose": [], + * // "selfLink": "my_selfLink", + * // "type": "my_type", + * // "updateTime": "my_updateTime" * // } * } * @@ -9325,62 +9753,53 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - listReferences( - params: Params$Resource$Projects$Locations$Addressgroups$Listreferences, + get( + params: Params$Resource$Projects$Locations$Addressgroups$Get, options: StreamMethodOptions ): Promise>; - listReferences( - params?: Params$Resource$Projects$Locations$Addressgroups$Listreferences, + get( + params?: Params$Resource$Projects$Locations$Addressgroups$Get, options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; - listReferences( - params: Params$Resource$Projects$Locations$Addressgroups$Listreferences, + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Addressgroups$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - listReferences( - params: Params$Resource$Projects$Locations$Addressgroups$Listreferences, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - listReferences( - params: Params$Resource$Projects$Locations$Addressgroups$Listreferences, - callback: BodyResponseCallback + get( + params: Params$Resource$Projects$Locations$Addressgroups$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - listReferences( - callback: BodyResponseCallback + get( + params: Params$Resource$Projects$Locations$Addressgroups$Get, + callback: BodyResponseCallback ): void; - listReferences( + get(callback: BodyResponseCallback): void; + get( paramsOrCallback?: - | Params$Resource$Projects$Locations$Addressgroups$Listreferences - | BodyResponseCallback + | Params$Resource$Projects$Locations$Addressgroups$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise< - GaxiosResponseWithHTTP2 - > + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Addressgroups$Listreferences; + {}) as Params$Resource$Projects$Locations$Addressgroups$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Addressgroups$Listreferences; + params = {} as Params$Resource$Projects$Locations$Addressgroups$Get; options = {}; } @@ -9394,34 +9813,29 @@ export namespace networksecurity_v1beta1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1beta1/{+addressGroup}:listReferences').replace( - /([^:]\/)\/+/g, - '$1' - ), + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['addressGroup'], - pathParams: ['addressGroup'], + requiredParams: ['name'], + pathParams: ['name'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } /** - * Updates the parameters of a single address group. + * Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. * @example * ```js * // Before running the sample: @@ -9450,40 +9864,22 @@ export namespace networksecurity_v1beta1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await networksecurity.projects.locations.addressGroups.patch({ - * // Required. Name of the AddressGroup resource. It matches pattern `projects/x/locations/{location\}/addressGroups/`. - * name: 'projects/my-project/locations/my-location/addressGroups/my-addressGroup', - * // 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). - * requestId: 'placeholder-value', - * // Optional. Field mask is used to specify the fields to be overwritten in the AddressGroup 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. - * updateMask: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "capacity": 0, - * // "createTime": "my_createTime", - * // "description": "my_description", - * // "items": [], - * // "labels": {}, - * // "name": "my_name", - * // "purpose": [], - * // "selfLink": "my_selfLink", - * // "type": "my_type", - * // "updateTime": "my_updateTime" - * // } - * }, - * }); + * const res = + * await networksecurity.projects.locations.addressGroups.getIamPolicy({ + * // 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). + * 'options.requestedPolicyVersion': 'placeholder-value', + * // 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. + * resource: + * 'projects/my-project/locations/my-location/addressGroups/my-addressGroup', + * }); * console.log(res.data); * * // Example response * // { - * // "done": false, - * // "error": {}, - * // "metadata": {}, - * // "name": "my_name", - * // "response": {} + * // "auditConfigs": [], + * // "bindings": [], + * // "etag": "my_etag", + * // "version": 0 * // } * } * @@ -9499,53 +9895,56 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - patch( - params: Params$Resource$Projects$Locations$Addressgroups$Patch, + getIamPolicy( + params: Params$Resource$Projects$Locations$Addressgroups$Getiampolicy, options: StreamMethodOptions ): Promise>; - patch( - params?: Params$Resource$Projects$Locations$Addressgroups$Patch, + getIamPolicy( + params?: Params$Resource$Projects$Locations$Addressgroups$Getiampolicy, options?: MethodOptions - ): Promise>; - patch( - params: Params$Resource$Projects$Locations$Addressgroups$Patch, + ): Promise>; + getIamPolicy( + params: Params$Resource$Projects$Locations$Addressgroups$Getiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Projects$Locations$Addressgroups$Patch, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + getIamPolicy( + params: Params$Resource$Projects$Locations$Addressgroups$Getiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Projects$Locations$Addressgroups$Patch, - callback: BodyResponseCallback + getIamPolicy( + params: Params$Resource$Projects$Locations$Addressgroups$Getiampolicy, + callback: BodyResponseCallback ): void; - patch(callback: BodyResponseCallback): void; - patch( + getIamPolicy( + callback: BodyResponseCallback + ): void; + getIamPolicy( paramsOrCallback?: - | Params$Resource$Projects$Locations$Addressgroups$Patch - | BodyResponseCallback + | Params$Resource$Projects$Locations$Addressgroups$Getiampolicy + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Addressgroups$Patch; + {}) as Params$Resource$Projects$Locations$Addressgroups$Getiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Addressgroups$Patch; + params = + {} as Params$Resource$Projects$Locations$Addressgroups$Getiampolicy; options = {}; } @@ -9559,29 +9958,32 @@ export namespace networksecurity_v1beta1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', + url: (rootUrl + '/v1beta1/{+resource}:getIamPolicy').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['name'], - pathParams: ['name'], + requiredParams: ['resource'], + pathParams: ['resource'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Removes items from an address group. + * Lists address groups in a given project and location. * @example * ```js * // Before running the sample: @@ -9610,30 +10012,23 @@ export namespace networksecurity_v1beta1 { * google.options({auth: authClient}); * * // Do the magic - * const res = - * await networksecurity.projects.locations.addressGroups.removeItems({ - * // Required. A name of the AddressGroup to remove items from. Must be in the format `projects|organization/x/locations/{location\}/addressGroups/x`. - * addressGroup: - * 'projects/my-project/locations/my-location/addressGroups/my-addressGroup', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "items": [], - * // "requestId": "my_requestId" - * // } - * }, - * }); + * const res = await networksecurity.projects.locations.addressGroups.list({ + * // Maximum number of AddressGroups to return per call. + * pageSize: 'placeholder-value', + * // The value returned by the last `ListAddressGroupsResponse` Indicates that this is a continuation of a prior `ListAddressGroups` call, and that the system should return the next page of data. + * pageToken: 'placeholder-value', + * // Required. The project and location from which the AddressGroups should be listed, specified in the format `projects/x/locations/{location\}`. + * parent: 'projects/my-project/locations/my-location', + * // Optional. If true, allow partial responses for multi-regional Aggregated List requests. + * returnPartialSuccess: 'placeholder-value', + * }); * console.log(res.data); * * // Example response * // { - * // "done": false, - * // "error": {}, - * // "metadata": {}, - * // "name": "my_name", - * // "response": {} + * // "addressGroups": [], + * // "nextPageToken": "my_nextPageToken", + * // "unreachable": [] * // } * } * @@ -9649,54 +10044,57 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - removeItems( - params: Params$Resource$Projects$Locations$Addressgroups$Removeitems, + list( + params: Params$Resource$Projects$Locations$Addressgroups$List, options: StreamMethodOptions ): Promise>; - removeItems( - params?: Params$Resource$Projects$Locations$Addressgroups$Removeitems, + list( + params?: Params$Resource$Projects$Locations$Addressgroups$List, options?: MethodOptions - ): Promise>; - removeItems( - params: Params$Resource$Projects$Locations$Addressgroups$Removeitems, + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Addressgroups$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - removeItems( - params: Params$Resource$Projects$Locations$Addressgroups$Removeitems, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - removeItems( - params: Params$Resource$Projects$Locations$Addressgroups$Removeitems, - callback: BodyResponseCallback + list( + params: Params$Resource$Projects$Locations$Addressgroups$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - removeItems(callback: BodyResponseCallback): void; - removeItems( + list( + params: Params$Resource$Projects$Locations$Addressgroups$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( paramsOrCallback?: - | Params$Resource$Projects$Locations$Addressgroups$Removeitems - | BodyResponseCallback + | Params$Resource$Projects$Locations$Addressgroups$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Addressgroups$Removeitems; + {}) as Params$Resource$Projects$Locations$Addressgroups$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Addressgroups$Removeitems; + params = {} as Params$Resource$Projects$Locations$Addressgroups$List; options = {}; } @@ -9710,32 +10108,32 @@ export namespace networksecurity_v1beta1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1beta1/{+addressGroup}:removeItems').replace( + url: (rootUrl + '/v1beta1/{+parent}/addressGroups').replace( /([^:]\/)\/+/g, '$1' ), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['addressGroup'], - pathParams: ['addressGroup'], + requiredParams: ['parent'], + pathParams: ['parent'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. + * Lists references of an address group. * @example * ```js * // Before running the sample: @@ -9765,28 +10163,21 @@ export namespace networksecurity_v1beta1 { * * // Do the magic * const res = - * await networksecurity.projects.locations.addressGroups.setIamPolicy({ - * // 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. - * resource: + * await networksecurity.projects.locations.addressGroups.listReferences({ + * // Required. A name of the AddressGroup to clone items to. Must be in the format `projects|organization/x/locations/{location\}/addressGroups/x`. + * addressGroup: * 'projects/my-project/locations/my-location/addressGroups/my-addressGroup', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "policy": {}, - * // "updateMask": "my_updateMask" - * // } - * }, + * // The maximum number of references to return. If unspecified, server will pick an appropriate default. Server may return fewer items than requested. A caller should only rely on response's next_page_token to determine if there are more AddressGroupUsers left to be queried. + * pageSize: 'placeholder-value', + * // The next_page_token value returned from a previous List request, if any. + * pageToken: 'placeholder-value', * }); * console.log(res.data); * * // Example response * // { - * // "auditConfigs": [], - * // "bindings": [], - * // "etag": "my_etag", - * // "version": 0 + * // "addressGroupReferences": [], + * // "nextPageToken": "my_nextPageToken" * // } * } * @@ -9802,56 +10193,62 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - setIamPolicy( - params: Params$Resource$Projects$Locations$Addressgroups$Setiampolicy, + listReferences( + params: Params$Resource$Projects$Locations$Addressgroups$Listreferences, options: StreamMethodOptions ): Promise>; - setIamPolicy( - params?: Params$Resource$Projects$Locations$Addressgroups$Setiampolicy, + listReferences( + params?: Params$Resource$Projects$Locations$Addressgroups$Listreferences, options?: MethodOptions - ): Promise>; - setIamPolicy( - params: Params$Resource$Projects$Locations$Addressgroups$Setiampolicy, + ): Promise< + GaxiosResponseWithHTTP2 + >; + listReferences( + params: Params$Resource$Projects$Locations$Addressgroups$Listreferences, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setIamPolicy( - params: Params$Resource$Projects$Locations$Addressgroups$Setiampolicy, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + listReferences( + params: Params$Resource$Projects$Locations$Addressgroups$Listreferences, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - setIamPolicy( - params: Params$Resource$Projects$Locations$Addressgroups$Setiampolicy, - callback: BodyResponseCallback + listReferences( + params: Params$Resource$Projects$Locations$Addressgroups$Listreferences, + callback: BodyResponseCallback ): void; - setIamPolicy( - callback: BodyResponseCallback + listReferences( + callback: BodyResponseCallback ): void; - setIamPolicy( + listReferences( paramsOrCallback?: - | Params$Resource$Projects$Locations$Addressgroups$Setiampolicy - | BodyResponseCallback + | Params$Resource$Projects$Locations$Addressgroups$Listreferences + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise< + GaxiosResponseWithHTTP2 + > | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Addressgroups$Setiampolicy; + {}) as Params$Resource$Projects$Locations$Addressgroups$Listreferences; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Addressgroups$Setiampolicy; + {} as Params$Resource$Projects$Locations$Addressgroups$Listreferences; options = {}; } @@ -9865,32 +10262,34 @@ export namespace networksecurity_v1beta1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1beta1/{+resource}:setIamPolicy').replace( + url: (rootUrl + '/v1beta1/{+addressGroup}:listReferences').replace( /([^:]\/)\/+/g, '$1' ), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['resource'], - pathParams: ['resource'], + requiredParams: ['addressGroup'], + pathParams: ['addressGroup'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); } } /** - * 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. + * Updates the parameters of a single address group. * @example * ```js * // Before running the sample: @@ -9919,25 +10318,40 @@ export namespace networksecurity_v1beta1 { * google.options({auth: authClient}); * * // Do the magic - * const res = - * await networksecurity.projects.locations.addressGroups.testIamPermissions({ - * // 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. - * resource: - * 'projects/my-project/locations/my-location/addressGroups/my-addressGroup', + * const res = await networksecurity.projects.locations.addressGroups.patch({ + * // Required. Name of the AddressGroup resource. It matches pattern `projects/x/locations/{location\}/addressGroups/`. + * name: 'projects/my-project/locations/my-location/addressGroups/my-addressGroup', + * // 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). + * requestId: 'placeholder-value', + * // Optional. Field mask is used to specify the fields to be overwritten in the AddressGroup 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. + * updateMask: 'placeholder-value', * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "permissions": [] - * // } - * }, - * }); + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "capacity": 0, + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "items": [], + * // "labels": {}, + * // "name": "my_name", + * // "purpose": [], + * // "selfLink": "my_selfLink", + * // "type": "my_type", + * // "updateTime": "my_updateTime" + * // } + * }, + * }); * console.log(res.data); * * // Example response * // { - * // "permissions": [] + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} * // } * } * @@ -9953,62 +10367,53 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - testIamPermissions( - params: Params$Resource$Projects$Locations$Addressgroups$Testiampermissions, + patch( + params: Params$Resource$Projects$Locations$Addressgroups$Patch, options: StreamMethodOptions ): Promise>; - testIamPermissions( - params?: Params$Resource$Projects$Locations$Addressgroups$Testiampermissions, + patch( + params?: Params$Resource$Projects$Locations$Addressgroups$Patch, options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; - testIamPermissions( - params: Params$Resource$Projects$Locations$Addressgroups$Testiampermissions, + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Addressgroups$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - testIamPermissions( - params: Params$Resource$Projects$Locations$Addressgroups$Testiampermissions, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - testIamPermissions( - params: Params$Resource$Projects$Locations$Addressgroups$Testiampermissions, - callback: BodyResponseCallback + patch( + params: Params$Resource$Projects$Locations$Addressgroups$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - testIamPermissions( - callback: BodyResponseCallback + patch( + params: Params$Resource$Projects$Locations$Addressgroups$Patch, + callback: BodyResponseCallback ): void; - testIamPermissions( + patch(callback: BodyResponseCallback): void; + patch( paramsOrCallback?: - | Params$Resource$Projects$Locations$Addressgroups$Testiampermissions - | BodyResponseCallback + | Params$Resource$Projects$Locations$Addressgroups$Patch + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise< - GaxiosResponseWithHTTP2 - > + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Addressgroups$Testiampermissions; + {}) as Params$Resource$Projects$Locations$Addressgroups$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Addressgroups$Testiampermissions; + params = {} as Params$Resource$Projects$Locations$Addressgroups$Patch; options = {}; } @@ -10022,77 +10427,540 @@ export namespace networksecurity_v1beta1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1beta1/{+resource}:testIamPermissions').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', apiVersion: '', }, options ), params, - requiredParams: ['resource'], - pathParams: ['resource'], + requiredParams: ['name'], + pathParams: ['name'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } - } - export interface Params$Resource$Projects$Locations$Addressgroups$Additems extends StandardParameters { /** - * Required. A name of the AddressGroup to add items to. Must be in the format `projects|organization/x/locations/{location\}/addressGroups/x`. + * Removes items from an address group. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/networksecurity.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const networksecurity = google.networksecurity('v1beta1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await networksecurity.projects.locations.addressGroups.removeItems({ + * // Required. A name of the AddressGroup to remove items from. Must be in the format `projects|organization/x/locations/{location\}/addressGroups/x`. + * addressGroup: + * 'projects/my-project/locations/my-location/addressGroups/my-addressGroup', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "items": [], + * // "requestId": "my_requestId" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. */ - addressGroup?: string; + removeItems( + params: Params$Resource$Projects$Locations$Addressgroups$Removeitems, + options: StreamMethodOptions + ): Promise>; + removeItems( + params?: Params$Resource$Projects$Locations$Addressgroups$Removeitems, + options?: MethodOptions + ): Promise>; + removeItems( + params: Params$Resource$Projects$Locations$Addressgroups$Removeitems, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + removeItems( + params: Params$Resource$Projects$Locations$Addressgroups$Removeitems, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + removeItems( + params: Params$Resource$Projects$Locations$Addressgroups$Removeitems, + callback: BodyResponseCallback + ): void; + removeItems(callback: BodyResponseCallback): void; + removeItems( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Addressgroups$Removeitems + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Addressgroups$Removeitems; + let options = (optionsOrCallback || {}) as MethodOptions; - /** - * Request body metadata - */ - requestBody?: Schema$AddAddressGroupItemsRequest; - } - export interface Params$Resource$Projects$Locations$Addressgroups$Cloneitems extends StandardParameters { - /** - * Required. A name of the AddressGroup to clone items to. Must be in the format `projects|organization/x/locations/{location\}/addressGroups/x`. - */ - addressGroup?: string; + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Addressgroups$Removeitems; + options = {}; + } - /** - * Request body metadata - */ - requestBody?: Schema$CloneAddressGroupItemsRequest; - } - export interface Params$Resource$Projects$Locations$Addressgroups$Create extends StandardParameters { - /** - * Required. Short name of the AddressGroup resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores, and should not start with a number. E.g. "authz_policy". - */ - addressGroupId?: string; - /** - * Required. The parent resource of the AddressGroup. Must be in the format `projects/x/locations/{location\}`. - */ - parent?: string; - /** - * 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). - */ - requestId?: string; + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networksecurity.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+addressGroup}:removeItems').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['addressGroup'], + pathParams: ['addressGroup'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } /** - * Request body metadata - */ - requestBody?: Schema$AddressGroup; - } - export interface Params$Resource$Projects$Locations$Addressgroups$Delete extends StandardParameters { - /** - * Required. A name of the AddressGroup to delete. Must be in the format `projects/x/locations/{location\}/addressGroups/x`. + * Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/networksecurity.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const networksecurity = google.networksecurity('v1beta1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await networksecurity.projects.locations.addressGroups.setIamPolicy({ + * // 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. + * resource: + * 'projects/my-project/locations/my-location/addressGroups/my-addressGroup', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "policy": {}, + * // "updateMask": "my_updateMask" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "auditConfigs": [], + * // "bindings": [], + * // "etag": "my_etag", + * // "version": 0 + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + setIamPolicy( + params: Params$Resource$Projects$Locations$Addressgroups$Setiampolicy, + options: StreamMethodOptions + ): Promise>; + setIamPolicy( + params?: Params$Resource$Projects$Locations$Addressgroups$Setiampolicy, + options?: MethodOptions + ): Promise>; + setIamPolicy( + params: Params$Resource$Projects$Locations$Addressgroups$Setiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Projects$Locations$Addressgroups$Setiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Projects$Locations$Addressgroups$Setiampolicy, + callback: BodyResponseCallback + ): void; + setIamPolicy( + callback: BodyResponseCallback + ): void; + setIamPolicy( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Addressgroups$Setiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Addressgroups$Setiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Addressgroups$Setiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networksecurity.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+resource}:setIamPolicy').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * 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. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/networksecurity.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const networksecurity = google.networksecurity('v1beta1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await networksecurity.projects.locations.addressGroups.testIamPermissions({ + * // 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. + * resource: + * 'projects/my-project/locations/my-location/addressGroups/my-addressGroup', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "permissions": [] + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "permissions": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + testIamPermissions( + params: Params$Resource$Projects$Locations$Addressgroups$Testiampermissions, + options: StreamMethodOptions + ): Promise>; + testIamPermissions( + params?: Params$Resource$Projects$Locations$Addressgroups$Testiampermissions, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + testIamPermissions( + params: Params$Resource$Projects$Locations$Addressgroups$Testiampermissions, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Projects$Locations$Addressgroups$Testiampermissions, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Projects$Locations$Addressgroups$Testiampermissions, + callback: BodyResponseCallback + ): void; + testIamPermissions( + callback: BodyResponseCallback + ): void; + testIamPermissions( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Addressgroups$Testiampermissions + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Addressgroups$Testiampermissions; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Addressgroups$Testiampermissions; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networksecurity.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+resource}:testIamPermissions').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Projects$Locations$Addressgroups$Additems extends StandardParameters { + /** + * Required. A name of the AddressGroup to add items to. Must be in the format `projects|organization/x/locations/{location\}/addressGroups/x`. + */ + addressGroup?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$AddAddressGroupItemsRequest; + } + export interface Params$Resource$Projects$Locations$Addressgroups$Cloneitems extends StandardParameters { + /** + * Required. A name of the AddressGroup to clone items to. Must be in the format `projects|organization/x/locations/{location\}/addressGroups/x`. + */ + addressGroup?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$CloneAddressGroupItemsRequest; + } + export interface Params$Resource$Projects$Locations$Addressgroups$Create extends StandardParameters { + /** + * Required. Short name of the AddressGroup resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores, and should not start with a number. E.g. "authz_policy". + */ + addressGroupId?: string; + /** + * Required. The parent resource of the AddressGroup. Must be in the format `projects/x/locations/{location\}`. + */ + parent?: string; + /** + * 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). + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$AddressGroup; + } + export interface Params$Resource$Projects$Locations$Addressgroups$Delete extends StandardParameters { + /** + * Required. A name of the AddressGroup to delete. Must be in the format `projects/x/locations/{location\}/addressGroups/x`. */ name?: string; /** @@ -10160,55 +11028,499 @@ export namespace networksecurity_v1beta1 { /** * Optional. Field mask is used to specify the fields to be overwritten in the AddressGroup 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. */ - updateMask?: string; + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$AddressGroup; + } + export interface Params$Resource$Projects$Locations$Addressgroups$Removeitems extends StandardParameters { + /** + * Required. A name of the AddressGroup to remove items from. Must be in the format `projects|organization/x/locations/{location\}/addressGroups/x`. + */ + addressGroup?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$RemoveAddressGroupItemsRequest; + } + export interface Params$Resource$Projects$Locations$Addressgroups$Setiampolicy extends StandardParameters { + /** + * 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. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleIamV1SetIamPolicyRequest; + } + export interface Params$Resource$Projects$Locations$Addressgroups$Testiampermissions extends StandardParameters { + /** + * 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. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleIamV1TestIamPermissionsRequest; + } + + export class Resource$Projects$Locations$Authorizationpolicies { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a new AuthorizationPolicy in a given project and location. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/networksecurity.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const networksecurity = google.networksecurity('v1beta1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await networksecurity.projects.locations.authorizationPolicies.create({ + * // Required. Short name of the AuthorizationPolicy resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores, and should not start with a number. E.g. "authz_policy". + * authorizationPolicyId: 'placeholder-value', + * // Required. The parent resource of the AuthorizationPolicy. Must be in the format `projects/{project\}/locations/{location\}`. + * parent: 'projects/my-project/locations/my-location', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "action": "my_action", + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "labels": {}, + * // "name": "my_name", + * // "rules": [], + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Authorizationpolicies$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Authorizationpolicies$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Authorizationpolicies$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Authorizationpolicies$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Authorizationpolicies$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Authorizationpolicies$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Authorizationpolicies$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Authorizationpolicies$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networksecurity.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+parent}/authorizationPolicies').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes a single AuthorizationPolicy. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/networksecurity.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const networksecurity = google.networksecurity('v1beta1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await networksecurity.projects.locations.authorizationPolicies.delete({ + * // Required. A name of the AuthorizationPolicy to delete. Must be in the format `projects/{project\}/locations/{location\}/authorizationPolicies/x`. + * name: 'projects/my-project/locations/my-location/authorizationPolicies/my-authorizationPolicie', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Authorizationpolicies$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Authorizationpolicies$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Authorizationpolicies$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Authorizationpolicies$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Authorizationpolicies$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Authorizationpolicies$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Authorizationpolicies$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; - /** - * Request body metadata - */ - requestBody?: Schema$AddressGroup; - } - export interface Params$Resource$Projects$Locations$Addressgroups$Removeitems extends StandardParameters { - /** - * Required. A name of the AddressGroup to remove items from. Must be in the format `projects|organization/x/locations/{location\}/addressGroups/x`. - */ - addressGroup?: string; + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Authorizationpolicies$Delete; + options = {}; + } - /** - * Request body metadata - */ - requestBody?: Schema$RemoveAddressGroupItemsRequest; - } - export interface Params$Resource$Projects$Locations$Addressgroups$Setiampolicy extends StandardParameters { - /** - * 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. - */ - resource?: string; + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } - /** - * Request body metadata - */ - requestBody?: Schema$GoogleIamV1SetIamPolicyRequest; - } - export interface Params$Resource$Projects$Locations$Addressgroups$Testiampermissions extends StandardParameters { - /** - * 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. - */ - resource?: string; + const rootUrl = + options.rootUrl || 'https://networksecurity.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } /** - * Request body metadata + * Gets details of a single AuthorizationPolicy. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/networksecurity.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const networksecurity = google.networksecurity('v1beta1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await networksecurity.projects.locations.authorizationPolicies.get({ + * // Required. A name of the AuthorizationPolicy to get. Must be in the format `projects/{project\}/locations/{location\}/authorizationPolicies/x`. + * name: 'projects/my-project/locations/my-location/authorizationPolicies/my-authorizationPolicie', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "action": "my_action", + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "labels": {}, + * // "name": "my_name", + * // "rules": [], + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. */ - requestBody?: Schema$GoogleIamV1TestIamPermissionsRequest; - } + get( + params: Params$Resource$Projects$Locations$Authorizationpolicies$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Authorizationpolicies$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Authorizationpolicies$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Authorizationpolicies$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Authorizationpolicies$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Authorizationpolicies$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Authorizationpolicies$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Authorizationpolicies$Get; + options = {}; + } - export class Resource$Projects$Locations$Authorizationpolicies { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networksecurity.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } } /** - * Creates a new AuthorizationPolicy in a given project and location. + * Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. * @example * ```js * // Before running the sample: @@ -10238,35 +11550,23 @@ export namespace networksecurity_v1beta1 { * * // Do the magic * const res = - * await networksecurity.projects.locations.authorizationPolicies.create({ - * // Required. Short name of the AuthorizationPolicy resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores, and should not start with a number. E.g. "authz_policy". - * authorizationPolicyId: 'placeholder-value', - * // Required. The parent resource of the AuthorizationPolicy. Must be in the format `projects/{project\}/locations/{location\}`. - * parent: 'projects/my-project/locations/my-location', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "action": "my_action", - * // "createTime": "my_createTime", - * // "description": "my_description", - * // "labels": {}, - * // "name": "my_name", - * // "rules": [], - * // "updateTime": "my_updateTime" - * // } + * await networksecurity.projects.locations.authorizationPolicies.getIamPolicy( + * { + * // 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). + * 'options.requestedPolicyVersion': 'placeholder-value', + * // 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. + * resource: + * 'projects/my-project/locations/my-location/authorizationPolicies/my-authorizationPolicie', * }, - * }); + * ); * console.log(res.data); * * // Example response * // { - * // "done": false, - * // "error": {}, - * // "metadata": {}, - * // "name": "my_name", - * // "response": {} + * // "auditConfigs": [], + * // "bindings": [], + * // "etag": "my_etag", + * // "version": 0 * // } * } * @@ -10282,54 +11582,56 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - create( - params: Params$Resource$Projects$Locations$Authorizationpolicies$Create, + getIamPolicy( + params: Params$Resource$Projects$Locations$Authorizationpolicies$Getiampolicy, options: StreamMethodOptions ): Promise>; - create( - params?: Params$Resource$Projects$Locations$Authorizationpolicies$Create, + getIamPolicy( + params?: Params$Resource$Projects$Locations$Authorizationpolicies$Getiampolicy, options?: MethodOptions - ): Promise>; - create( - params: Params$Resource$Projects$Locations$Authorizationpolicies$Create, + ): Promise>; + getIamPolicy( + params: Params$Resource$Projects$Locations$Authorizationpolicies$Getiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Projects$Locations$Authorizationpolicies$Create, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + getIamPolicy( + params: Params$Resource$Projects$Locations$Authorizationpolicies$Getiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Projects$Locations$Authorizationpolicies$Create, - callback: BodyResponseCallback + getIamPolicy( + params: Params$Resource$Projects$Locations$Authorizationpolicies$Getiampolicy, + callback: BodyResponseCallback ): void; - create(callback: BodyResponseCallback): void; - create( + getIamPolicy( + callback: BodyResponseCallback + ): void; + getIamPolicy( paramsOrCallback?: - | Params$Resource$Projects$Locations$Authorizationpolicies$Create - | BodyResponseCallback + | Params$Resource$Projects$Locations$Authorizationpolicies$Getiampolicy + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Authorizationpolicies$Create; + {}) as Params$Resource$Projects$Locations$Authorizationpolicies$Getiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Authorizationpolicies$Create; + {} as Params$Resource$Projects$Locations$Authorizationpolicies$Getiampolicy; options = {}; } @@ -10343,32 +11645,32 @@ export namespace networksecurity_v1beta1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1beta1/{+parent}/authorizationPolicies').replace( + url: (rootUrl + '/v1beta1/{+resource}:getIamPolicy').replace( /([^:]\/)\/+/g, '$1' ), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['parent'], - pathParams: ['parent'], + requiredParams: ['resource'], + pathParams: ['resource'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Deletes a single AuthorizationPolicy. + * Lists AuthorizationPolicies in a given project and location. * @example * ```js * // Before running the sample: @@ -10398,19 +11700,20 @@ export namespace networksecurity_v1beta1 { * * // Do the magic * const res = - * await networksecurity.projects.locations.authorizationPolicies.delete({ - * // Required. A name of the AuthorizationPolicy to delete. Must be in the format `projects/{project\}/locations/{location\}/authorizationPolicies/x`. - * name: 'projects/my-project/locations/my-location/authorizationPolicies/my-authorizationPolicie', + * await networksecurity.projects.locations.authorizationPolicies.list({ + * // Maximum number of AuthorizationPolicies to return per call. + * pageSize: 'placeholder-value', + * // The value returned by the last `ListAuthorizationPoliciesResponse` Indicates that this is a continuation of a prior `ListAuthorizationPolicies` call, and that the system should return the next page of data. + * pageToken: 'placeholder-value', + * // Required. The project and location from which the AuthorizationPolicies should be listed, specified in the format `projects/{project\}/locations/{location\}`. + * parent: 'projects/my-project/locations/my-location', * }); * console.log(res.data); * * // Example response * // { - * // "done": false, - * // "error": {}, - * // "metadata": {}, - * // "name": "my_name", - * // "response": {} + * // "authorizationPolicies": [], + * // "nextPageToken": "my_nextPageToken" * // } * } * @@ -10426,54 +11729,62 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - delete( - params: Params$Resource$Projects$Locations$Authorizationpolicies$Delete, + list( + params: Params$Resource$Projects$Locations$Authorizationpolicies$List, options: StreamMethodOptions ): Promise>; - delete( - params?: Params$Resource$Projects$Locations$Authorizationpolicies$Delete, + list( + params?: Params$Resource$Projects$Locations$Authorizationpolicies$List, options?: MethodOptions - ): Promise>; - delete( - params: Params$Resource$Projects$Locations$Authorizationpolicies$Delete, + ): Promise< + GaxiosResponseWithHTTP2 + >; + list( + params: Params$Resource$Projects$Locations$Authorizationpolicies$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Projects$Locations$Authorizationpolicies$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + list( + params: Params$Resource$Projects$Locations$Authorizationpolicies$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Projects$Locations$Authorizationpolicies$Delete, - callback: BodyResponseCallback + list( + params: Params$Resource$Projects$Locations$Authorizationpolicies$List, + callback: BodyResponseCallback ): void; - delete(callback: BodyResponseCallback): void; - delete( + list( + callback: BodyResponseCallback + ): void; + list( paramsOrCallback?: - | Params$Resource$Projects$Locations$Authorizationpolicies$Delete - | BodyResponseCallback + | Params$Resource$Projects$Locations$Authorizationpolicies$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise< + GaxiosResponseWithHTTP2 + > | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Authorizationpolicies$Delete; + {}) as Params$Resource$Projects$Locations$Authorizationpolicies$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Authorizationpolicies$Delete; + {} as Params$Resource$Projects$Locations$Authorizationpolicies$List; options = {}; } @@ -10487,29 +11798,34 @@ export namespace networksecurity_v1beta1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', + url: (rootUrl + '/v1beta1/{+parent}/authorizationPolicies').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['name'], - pathParams: ['name'], + requiredParams: ['parent'], + pathParams: ['parent'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); } } /** - * Gets details of a single AuthorizationPolicy. + * Updates the parameters of a single AuthorizationPolicy. * @example * ```js * // Before running the sample: @@ -10539,21 +11855,35 @@ export namespace networksecurity_v1beta1 { * * // Do the magic * const res = - * await networksecurity.projects.locations.authorizationPolicies.get({ - * // Required. A name of the AuthorizationPolicy to get. Must be in the format `projects/{project\}/locations/{location\}/authorizationPolicies/x`. + * await networksecurity.projects.locations.authorizationPolicies.patch({ + * // Required. Name of the AuthorizationPolicy resource. It matches pattern `projects/{project\}/locations/{location\}/authorizationPolicies/`. * name: 'projects/my-project/locations/my-location/authorizationPolicies/my-authorizationPolicie', + * // Optional. Field mask is used to specify the fields to be overwritten in the AuthorizationPolicy 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. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "action": "my_action", + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "labels": {}, + * // "name": "my_name", + * // "rules": [], + * // "updateTime": "my_updateTime" + * // } + * }, * }); * console.log(res.data); * * // Example response * // { - * // "action": "my_action", - * // "createTime": "my_createTime", - * // "description": "my_description", - * // "labels": {}, + * // "done": false, + * // "error": {}, + * // "metadata": {}, * // "name": "my_name", - * // "rules": [], - * // "updateTime": "my_updateTime" + * // "response": {} * // } * } * @@ -10568,55 +11898,55 @@ export namespace networksecurity_v1beta1 { * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. - */ - get( - params: Params$Resource$Projects$Locations$Authorizationpolicies$Get, + */ + patch( + params: Params$Resource$Projects$Locations$Authorizationpolicies$Patch, options: StreamMethodOptions ): Promise>; - get( - params?: Params$Resource$Projects$Locations$Authorizationpolicies$Get, + patch( + params?: Params$Resource$Projects$Locations$Authorizationpolicies$Patch, options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Projects$Locations$Authorizationpolicies$Get, + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Authorizationpolicies$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Projects$Locations$Authorizationpolicies$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + patch( + params: Params$Resource$Projects$Locations$Authorizationpolicies$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Projects$Locations$Authorizationpolicies$Get, - callback: BodyResponseCallback + patch( + params: Params$Resource$Projects$Locations$Authorizationpolicies$Patch, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; - get( + patch(callback: BodyResponseCallback): void; + patch( paramsOrCallback?: - | Params$Resource$Projects$Locations$Authorizationpolicies$Get - | BodyResponseCallback + | Params$Resource$Projects$Locations$Authorizationpolicies$Patch + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Authorizationpolicies$Get; + {}) as Params$Resource$Projects$Locations$Authorizationpolicies$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Authorizationpolicies$Get; + {} as Params$Resource$Projects$Locations$Authorizationpolicies$Patch; options = {}; } @@ -10631,7 +11961,7 @@ export namespace networksecurity_v1beta1 { options: Object.assign( { url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'PATCH', apiVersion: '', }, options @@ -10642,17 +11972,17 @@ export namespace networksecurity_v1beta1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + * Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. * @example * ```js * // Before running the sample: @@ -10682,13 +12012,20 @@ export namespace networksecurity_v1beta1 { * * // Do the magic * const res = - * await networksecurity.projects.locations.authorizationPolicies.getIamPolicy( + * await networksecurity.projects.locations.authorizationPolicies.setIamPolicy( * { - * // 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). - * 'options.requestedPolicyVersion': 'placeholder-value', - * // 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. + * // 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. * resource: * 'projects/my-project/locations/my-location/authorizationPolicies/my-authorizationPolicie', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "policy": {}, + * // "updateMask": "my_updateMask" + * // } + * }, * }, * ); * console.log(res.data); @@ -10714,34 +12051,34 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - getIamPolicy( - params: Params$Resource$Projects$Locations$Authorizationpolicies$Getiampolicy, + setIamPolicy( + params: Params$Resource$Projects$Locations$Authorizationpolicies$Setiampolicy, options: StreamMethodOptions ): Promise>; - getIamPolicy( - params?: Params$Resource$Projects$Locations$Authorizationpolicies$Getiampolicy, + setIamPolicy( + params?: Params$Resource$Projects$Locations$Authorizationpolicies$Setiampolicy, options?: MethodOptions ): Promise>; - getIamPolicy( - params: Params$Resource$Projects$Locations$Authorizationpolicies$Getiampolicy, + setIamPolicy( + params: Params$Resource$Projects$Locations$Authorizationpolicies$Setiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - getIamPolicy( - params: Params$Resource$Projects$Locations$Authorizationpolicies$Getiampolicy, + setIamPolicy( + params: Params$Resource$Projects$Locations$Authorizationpolicies$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - getIamPolicy( - params: Params$Resource$Projects$Locations$Authorizationpolicies$Getiampolicy, + setIamPolicy( + params: Params$Resource$Projects$Locations$Authorizationpolicies$Setiampolicy, callback: BodyResponseCallback ): void; - getIamPolicy( + setIamPolicy( callback: BodyResponseCallback ): void; - getIamPolicy( + setIamPolicy( paramsOrCallback?: - | Params$Resource$Projects$Locations$Authorizationpolicies$Getiampolicy + | Params$Resource$Projects$Locations$Authorizationpolicies$Setiampolicy | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -10757,13 +12094,13 @@ export namespace networksecurity_v1beta1 { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Authorizationpolicies$Getiampolicy; + {}) as Params$Resource$Projects$Locations$Authorizationpolicies$Setiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Authorizationpolicies$Getiampolicy; + {} as Params$Resource$Projects$Locations$Authorizationpolicies$Setiampolicy; options = {}; } @@ -10777,11 +12114,11 @@ export namespace networksecurity_v1beta1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1beta1/{+resource}:getIamPolicy').replace( + url: (rootUrl + '/v1beta1/{+resource}:setIamPolicy').replace( /([^:]\/)\/+/g, '$1' ), - method: 'GET', + method: 'POST', apiVersion: '', }, options @@ -10802,7 +12139,7 @@ export namespace networksecurity_v1beta1 { } /** - * Lists AuthorizationPolicies in a given project and location. + * 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. * @example * ```js * // Before running the sample: @@ -10832,20 +12169,26 @@ export namespace networksecurity_v1beta1 { * * // Do the magic * const res = - * await networksecurity.projects.locations.authorizationPolicies.list({ - * // Maximum number of AuthorizationPolicies to return per call. - * pageSize: 'placeholder-value', - * // The value returned by the last `ListAuthorizationPoliciesResponse` Indicates that this is a continuation of a prior `ListAuthorizationPolicies` call, and that the system should return the next page of data. - * pageToken: 'placeholder-value', - * // Required. The project and location from which the AuthorizationPolicies should be listed, specified in the format `projects/{project\}/locations/{location\}`. - * parent: 'projects/my-project/locations/my-location', - * }); + * await networksecurity.projects.locations.authorizationPolicies.testIamPermissions( + * { + * // 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. + * resource: + * 'projects/my-project/locations/my-location/authorizationPolicies/my-authorizationPolicie', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "permissions": [] + * // } + * }, + * }, + * ); * console.log(res.data); * * // Example response * // { - * // "authorizationPolicies": [], - * // "nextPageToken": "my_nextPageToken" + * // "permissions": [] * // } * } * @@ -10861,103 +12204,199 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - list( - params: Params$Resource$Projects$Locations$Authorizationpolicies$List, + testIamPermissions( + params: Params$Resource$Projects$Locations$Authorizationpolicies$Testiampermissions, options: StreamMethodOptions ): Promise>; - list( - params?: Params$Resource$Projects$Locations$Authorizationpolicies$List, + testIamPermissions( + params?: Params$Resource$Projects$Locations$Authorizationpolicies$Testiampermissions, options?: MethodOptions ): Promise< - GaxiosResponseWithHTTP2 + GaxiosResponseWithHTTP2 >; - list( - params: Params$Resource$Projects$Locations$Authorizationpolicies$List, + testIamPermissions( + params: Params$Resource$Projects$Locations$Authorizationpolicies$Testiampermissions, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Projects$Locations$Authorizationpolicies$List, + testIamPermissions( + params: Params$Resource$Projects$Locations$Authorizationpolicies$Testiampermissions, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Projects$Locations$Authorizationpolicies$List, - callback: BodyResponseCallback + testIamPermissions( + params: Params$Resource$Projects$Locations$Authorizationpolicies$Testiampermissions, + callback: BodyResponseCallback ): void; - list( - callback: BodyResponseCallback + testIamPermissions( + callback: BodyResponseCallback ): void; - list( + testIamPermissions( paramsOrCallback?: - | Params$Resource$Projects$Locations$Authorizationpolicies$List - | BodyResponseCallback + | Params$Resource$Projects$Locations$Authorizationpolicies$Testiampermissions + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void | Promise< - GaxiosResponseWithHTTP2 + GaxiosResponseWithHTTP2 > | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Authorizationpolicies$List; + {}) as Params$Resource$Projects$Locations$Authorizationpolicies$Testiampermissions; let options = (optionsOrCallback || {}) as MethodOptions; - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Authorizationpolicies$List; - options = {}; - } + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Authorizationpolicies$Testiampermissions; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networksecurity.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+resource}:testIamPermissions').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Projects$Locations$Authorizationpolicies$Create extends StandardParameters { + /** + * Required. Short name of the AuthorizationPolicy resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores, and should not start with a number. E.g. "authz_policy". + */ + authorizationPolicyId?: string; + /** + * Required. The parent resource of the AuthorizationPolicy. Must be in the format `projects/{project\}/locations/{location\}`. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$AuthorizationPolicy; + } + export interface Params$Resource$Projects$Locations$Authorizationpolicies$Delete extends StandardParameters { + /** + * Required. A name of the AuthorizationPolicy to delete. Must be in the format `projects/{project\}/locations/{location\}/authorizationPolicies/x`. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Authorizationpolicies$Get extends StandardParameters { + /** + * Required. A name of the AuthorizationPolicy to get. Must be in the format `projects/{project\}/locations/{location\}/authorizationPolicies/x`. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Authorizationpolicies$Getiampolicy extends StandardParameters { + /** + * 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). + */ + 'options.requestedPolicyVersion'?: number; + /** + * 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. + */ + resource?: string; + } + export interface Params$Resource$Projects$Locations$Authorizationpolicies$List extends StandardParameters { + /** + * Maximum number of AuthorizationPolicies to return per call. + */ + pageSize?: number; + /** + * The value returned by the last `ListAuthorizationPoliciesResponse` Indicates that this is a continuation of a prior `ListAuthorizationPolicies` call, and that the system should return the next page of data. + */ + pageToken?: string; + /** + * Required. The project and location from which the AuthorizationPolicies should be listed, specified in the format `projects/{project\}/locations/{location\}`. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Authorizationpolicies$Patch extends StandardParameters { + /** + * Required. Name of the AuthorizationPolicy resource. It matches pattern `projects/{project\}/locations/{location\}/authorizationPolicies/`. + */ + name?: string; + /** + * Optional. Field mask is used to specify the fields to be overwritten in the AuthorizationPolicy 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. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$AuthorizationPolicy; + } + export interface Params$Resource$Projects$Locations$Authorizationpolicies$Setiampolicy extends StandardParameters { + /** + * 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. + */ + resource?: string; - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } + /** + * Request body metadata + */ + requestBody?: Schema$GoogleIamV1SetIamPolicyRequest; + } + export interface Params$Resource$Projects$Locations$Authorizationpolicies$Testiampermissions extends StandardParameters { + /** + * 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. + */ + resource?: string; - const rootUrl = - options.rootUrl || 'https://networksecurity.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/v1beta1/{+parent}/authorizationPolicies').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['parent'], - pathParams: ['parent'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest( - parameters - ); - } + /** + * Request body metadata + */ + requestBody?: Schema$GoogleIamV1TestIamPermissionsRequest; + } + + export class Resource$Projects$Locations$Authzpolicies { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; } /** - * Updates the parameters of a single AuthorizationPolicy. + * Creates a new AuthzPolicy in a given project and location. * @example * ```js * // Before running the sample: @@ -10986,27 +12425,32 @@ export namespace networksecurity_v1beta1 { * google.options({auth: authClient}); * * // Do the magic - * const res = - * await networksecurity.projects.locations.authorizationPolicies.patch({ - * // Required. Name of the AuthorizationPolicy resource. It matches pattern `projects/{project\}/locations/{location\}/authorizationPolicies/`. - * name: 'projects/my-project/locations/my-location/authorizationPolicies/my-authorizationPolicie', - * // Optional. Field mask is used to specify the fields to be overwritten in the AuthorizationPolicy 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. - * updateMask: 'placeholder-value', + * const res = await networksecurity.projects.locations.authzPolicies.create({ + * // Required. User-provided ID of the `AuthzPolicy` resource to be created. + * authzPolicyId: 'placeholder-value', + * // Required. The parent resource of the `AuthzPolicy` resource. Must be in the format `projects/{project\}/locations/{location\}`. + * parent: 'projects/my-project/locations/my-location', + * // Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees 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, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "action": "my_action", - * // "createTime": "my_createTime", - * // "description": "my_description", - * // "labels": {}, - * // "name": "my_name", - * // "rules": [], - * // "updateTime": "my_updateTime" - * // } - * }, - * }); + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "action": "my_action", + * // "createTime": "my_createTime", + * // "customProvider": {}, + * // "description": "my_description", + * // "httpRules": [], + * // "labels": {}, + * // "name": "my_name", + * // "networkRules": [], + * // "policyProfile": "my_policyProfile", + * // "target": {}, + * // "updateTime": "my_updateTime" + * // } + * }, + * }); * console.log(res.data); * * // Example response @@ -11031,32 +12475,32 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - patch( - params: Params$Resource$Projects$Locations$Authorizationpolicies$Patch, + create( + params: Params$Resource$Projects$Locations$Authzpolicies$Create, options: StreamMethodOptions ): Promise>; - patch( - params?: Params$Resource$Projects$Locations$Authorizationpolicies$Patch, + create( + params?: Params$Resource$Projects$Locations$Authzpolicies$Create, options?: MethodOptions ): Promise>; - patch( - params: Params$Resource$Projects$Locations$Authorizationpolicies$Patch, + create( + params: Params$Resource$Projects$Locations$Authzpolicies$Create, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Projects$Locations$Authorizationpolicies$Patch, + create( + params: Params$Resource$Projects$Locations$Authzpolicies$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Projects$Locations$Authorizationpolicies$Patch, + create( + params: Params$Resource$Projects$Locations$Authzpolicies$Create, callback: BodyResponseCallback ): void; - patch(callback: BodyResponseCallback): void; - patch( + create(callback: BodyResponseCallback): void; + create( paramsOrCallback?: - | Params$Resource$Projects$Locations$Authorizationpolicies$Patch + | Params$Resource$Projects$Locations$Authzpolicies$Create | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -11072,13 +12516,12 @@ export namespace networksecurity_v1beta1 { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Authorizationpolicies$Patch; + {}) as Params$Resource$Projects$Locations$Authzpolicies$Create; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Authorizationpolicies$Patch; + params = {} as Params$Resource$Projects$Locations$Authzpolicies$Create; options = {}; } @@ -11092,15 +12535,18 @@ export namespace networksecurity_v1beta1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', + url: (rootUrl + '/v1beta1/{+parent}/authzPolicies').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['name'], - pathParams: ['name'], + requiredParams: ['parent'], + pathParams: ['parent'], context: this.context, }; if (callback) { @@ -11114,7 +12560,7 @@ export namespace networksecurity_v1beta1 { } /** - * Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. + * Deletes a single AuthzPolicy. * @example * ```js * // Before running the sample: @@ -11143,31 +12589,21 @@ export namespace networksecurity_v1beta1 { * google.options({auth: authClient}); * * // Do the magic - * const res = - * await networksecurity.projects.locations.authorizationPolicies.setIamPolicy( - * { - * // 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. - * resource: - * 'projects/my-project/locations/my-location/authorizationPolicies/my-authorizationPolicie', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "policy": {}, - * // "updateMask": "my_updateMask" - * // } - * }, - * }, - * ); + * const res = await networksecurity.projects.locations.authzPolicies.delete({ + * // Required. The name of the `AuthzPolicy` resource to delete. Must be in the format `projects/{project\}/locations/{location\}/authzPolicies/{authz_policy\}`. + * name: 'projects/my-project/locations/my-location/authzPolicies/my-authzPolicie', + * // Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can 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, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * }); * console.log(res.data); * * // Example response * // { - * // "auditConfigs": [], - * // "bindings": [], - * // "etag": "my_etag", - * // "version": 0 + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} * // } * } * @@ -11183,56 +12619,53 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - setIamPolicy( - params: Params$Resource$Projects$Locations$Authorizationpolicies$Setiampolicy, + delete( + params: Params$Resource$Projects$Locations$Authzpolicies$Delete, options: StreamMethodOptions ): Promise>; - setIamPolicy( - params?: Params$Resource$Projects$Locations$Authorizationpolicies$Setiampolicy, + delete( + params?: Params$Resource$Projects$Locations$Authzpolicies$Delete, options?: MethodOptions - ): Promise>; - setIamPolicy( - params: Params$Resource$Projects$Locations$Authorizationpolicies$Setiampolicy, + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Authzpolicies$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setIamPolicy( - params: Params$Resource$Projects$Locations$Authorizationpolicies$Setiampolicy, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - setIamPolicy( - params: Params$Resource$Projects$Locations$Authorizationpolicies$Setiampolicy, - callback: BodyResponseCallback + delete( + params: Params$Resource$Projects$Locations$Authzpolicies$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - setIamPolicy( - callback: BodyResponseCallback + delete( + params: Params$Resource$Projects$Locations$Authzpolicies$Delete, + callback: BodyResponseCallback ): void; - setIamPolicy( + delete(callback: BodyResponseCallback): void; + delete( paramsOrCallback?: - | Params$Resource$Projects$Locations$Authorizationpolicies$Setiampolicy - | BodyResponseCallback + | Params$Resource$Projects$Locations$Authzpolicies$Delete + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Authorizationpolicies$Setiampolicy; + {}) as Params$Resource$Projects$Locations$Authzpolicies$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Authorizationpolicies$Setiampolicy; + params = {} as Params$Resource$Projects$Locations$Authzpolicies$Delete; options = {}; } @@ -11246,32 +12679,29 @@ export namespace networksecurity_v1beta1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1beta1/{+resource}:setIamPolicy').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', apiVersion: '', }, options ), params, - requiredParams: ['resource'], - pathParams: ['resource'], + requiredParams: ['name'], + pathParams: ['name'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * 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. + * Gets details of a single AuthzPolicy. * @example * ```js * // Before running the sample: @@ -11300,27 +12730,25 @@ export namespace networksecurity_v1beta1 { * google.options({auth: authClient}); * * // Do the magic - * const res = - * await networksecurity.projects.locations.authorizationPolicies.testIamPermissions( - * { - * // 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. - * resource: - * 'projects/my-project/locations/my-location/authorizationPolicies/my-authorizationPolicie', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "permissions": [] - * // } - * }, - * }, - * ); + * const res = await networksecurity.projects.locations.authzPolicies.get({ + * // Required. A name of the `AuthzPolicy` resource to get. Must be in the format `projects/{project\}/locations/{location\}/authzPolicies/{authz_policy\}`. + * name: 'projects/my-project/locations/my-location/authzPolicies/my-authzPolicie', + * }); * console.log(res.data); * * // Example response * // { - * // "permissions": [] + * // "action": "my_action", + * // "createTime": "my_createTime", + * // "customProvider": {}, + * // "description": "my_description", + * // "httpRules": [], + * // "labels": {}, + * // "name": "my_name", + * // "networkRules": [], + * // "policyProfile": "my_policyProfile", + * // "target": {}, + * // "updateTime": "my_updateTime" * // } * } * @@ -11336,62 +12764,53 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - testIamPermissions( - params: Params$Resource$Projects$Locations$Authorizationpolicies$Testiampermissions, + get( + params: Params$Resource$Projects$Locations$Authzpolicies$Get, options: StreamMethodOptions ): Promise>; - testIamPermissions( - params?: Params$Resource$Projects$Locations$Authorizationpolicies$Testiampermissions, + get( + params?: Params$Resource$Projects$Locations$Authzpolicies$Get, options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; - testIamPermissions( - params: Params$Resource$Projects$Locations$Authorizationpolicies$Testiampermissions, + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Authzpolicies$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - testIamPermissions( - params: Params$Resource$Projects$Locations$Authorizationpolicies$Testiampermissions, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - testIamPermissions( - params: Params$Resource$Projects$Locations$Authorizationpolicies$Testiampermissions, - callback: BodyResponseCallback + get( + params: Params$Resource$Projects$Locations$Authzpolicies$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - testIamPermissions( - callback: BodyResponseCallback + get( + params: Params$Resource$Projects$Locations$Authzpolicies$Get, + callback: BodyResponseCallback ): void; - testIamPermissions( + get(callback: BodyResponseCallback): void; + get( paramsOrCallback?: - | Params$Resource$Projects$Locations$Authorizationpolicies$Testiampermissions - | BodyResponseCallback + | Params$Resource$Projects$Locations$Authzpolicies$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise< - GaxiosResponseWithHTTP2 - > + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Authorizationpolicies$Testiampermissions; + {}) as Params$Resource$Projects$Locations$Authzpolicies$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Authorizationpolicies$Testiampermissions; + params = {} as Params$Resource$Projects$Locations$Authzpolicies$Get; options = {}; } @@ -11405,130 +12824,29 @@ export namespace networksecurity_v1beta1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1beta1/{+resource}:testIamPermissions').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['resource'], - pathParams: ['resource'], + requiredParams: ['name'], + pathParams: ['name'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } - } - - export interface Params$Resource$Projects$Locations$Authorizationpolicies$Create extends StandardParameters { - /** - * Required. Short name of the AuthorizationPolicy resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores, and should not start with a number. E.g. "authz_policy". - */ - authorizationPolicyId?: string; - /** - * Required. The parent resource of the AuthorizationPolicy. Must be in the format `projects/{project\}/locations/{location\}`. - */ - parent?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$AuthorizationPolicy; - } - export interface Params$Resource$Projects$Locations$Authorizationpolicies$Delete extends StandardParameters { - /** - * Required. A name of the AuthorizationPolicy to delete. Must be in the format `projects/{project\}/locations/{location\}/authorizationPolicies/x`. - */ - name?: string; - } - export interface Params$Resource$Projects$Locations$Authorizationpolicies$Get extends StandardParameters { - /** - * Required. A name of the AuthorizationPolicy to get. Must be in the format `projects/{project\}/locations/{location\}/authorizationPolicies/x`. - */ - name?: string; - } - export interface Params$Resource$Projects$Locations$Authorizationpolicies$Getiampolicy extends StandardParameters { - /** - * 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). - */ - 'options.requestedPolicyVersion'?: number; - /** - * 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. - */ - resource?: string; - } - export interface Params$Resource$Projects$Locations$Authorizationpolicies$List extends StandardParameters { - /** - * Maximum number of AuthorizationPolicies to return per call. - */ - pageSize?: number; - /** - * The value returned by the last `ListAuthorizationPoliciesResponse` Indicates that this is a continuation of a prior `ListAuthorizationPolicies` call, and that the system should return the next page of data. - */ - pageToken?: string; - /** - * Required. The project and location from which the AuthorizationPolicies should be listed, specified in the format `projects/{project\}/locations/{location\}`. - */ - parent?: string; - } - export interface Params$Resource$Projects$Locations$Authorizationpolicies$Patch extends StandardParameters { - /** - * Required. Name of the AuthorizationPolicy resource. It matches pattern `projects/{project\}/locations/{location\}/authorizationPolicies/`. - */ - name?: string; - /** - * Optional. Field mask is used to specify the fields to be overwritten in the AuthorizationPolicy 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. - */ - updateMask?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$AuthorizationPolicy; - } - export interface Params$Resource$Projects$Locations$Authorizationpolicies$Setiampolicy extends StandardParameters { - /** - * 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. - */ - resource?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$GoogleIamV1SetIamPolicyRequest; - } - export interface Params$Resource$Projects$Locations$Authorizationpolicies$Testiampermissions extends StandardParameters { - /** - * 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. - */ - resource?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$GoogleIamV1TestIamPermissionsRequest; - } - - export class Resource$Projects$Locations$Authzpolicies { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } /** - * Creates a new AuthzPolicy in a given project and location. + * Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. * @example * ```js * // Before running the sample: @@ -11557,41 +12875,22 @@ export namespace networksecurity_v1beta1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await networksecurity.projects.locations.authzPolicies.create({ - * // Required. User-provided ID of the `AuthzPolicy` resource to be created. - * authzPolicyId: 'placeholder-value', - * // Required. The parent resource of the `AuthzPolicy` resource. Must be in the format `projects/{project\}/locations/{location\}`. - * parent: 'projects/my-project/locations/my-location', - * // Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees 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, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "action": "my_action", - * // "createTime": "my_createTime", - * // "customProvider": {}, - * // "description": "my_description", - * // "httpRules": [], - * // "labels": {}, - * // "name": "my_name", - * // "networkRules": [], - * // "policyProfile": "my_policyProfile", - * // "target": {}, - * // "updateTime": "my_updateTime" - * // } - * }, - * }); + * const res = + * await networksecurity.projects.locations.authzPolicies.getIamPolicy({ + * // 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). + * 'options.requestedPolicyVersion': 'placeholder-value', + * // 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. + * resource: + * 'projects/my-project/locations/my-location/authzPolicies/my-authzPolicie', + * }); * console.log(res.data); * * // Example response * // { - * // "done": false, - * // "error": {}, - * // "metadata": {}, - * // "name": "my_name", - * // "response": {} + * // "auditConfigs": [], + * // "bindings": [], + * // "etag": "my_etag", + * // "version": 0 * // } * } * @@ -11607,53 +12906,56 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - create( - params: Params$Resource$Projects$Locations$Authzpolicies$Create, + getIamPolicy( + params: Params$Resource$Projects$Locations$Authzpolicies$Getiampolicy, options: StreamMethodOptions ): Promise>; - create( - params?: Params$Resource$Projects$Locations$Authzpolicies$Create, + getIamPolicy( + params?: Params$Resource$Projects$Locations$Authzpolicies$Getiampolicy, options?: MethodOptions - ): Promise>; - create( - params: Params$Resource$Projects$Locations$Authzpolicies$Create, + ): Promise>; + getIamPolicy( + params: Params$Resource$Projects$Locations$Authzpolicies$Getiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Projects$Locations$Authzpolicies$Create, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + getIamPolicy( + params: Params$Resource$Projects$Locations$Authzpolicies$Getiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Projects$Locations$Authzpolicies$Create, - callback: BodyResponseCallback + getIamPolicy( + params: Params$Resource$Projects$Locations$Authzpolicies$Getiampolicy, + callback: BodyResponseCallback ): void; - create(callback: BodyResponseCallback): void; - create( + getIamPolicy( + callback: BodyResponseCallback + ): void; + getIamPolicy( paramsOrCallback?: - | Params$Resource$Projects$Locations$Authzpolicies$Create - | BodyResponseCallback + | Params$Resource$Projects$Locations$Authzpolicies$Getiampolicy + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Authzpolicies$Create; + {}) as Params$Resource$Projects$Locations$Authzpolicies$Getiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Authzpolicies$Create; + params = + {} as Params$Resource$Projects$Locations$Authzpolicies$Getiampolicy; options = {}; } @@ -11667,32 +12969,32 @@ export namespace networksecurity_v1beta1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1beta1/{+parent}/authzPolicies').replace( + url: (rootUrl + '/v1beta1/{+resource}:getIamPolicy').replace( /([^:]\/)\/+/g, '$1' ), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['parent'], - pathParams: ['parent'], + requiredParams: ['resource'], + pathParams: ['resource'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Deletes a single AuthzPolicy. + * Lists AuthzPolicies in a given project and location. * @example * ```js * // Before running the sample: @@ -11721,21 +13023,25 @@ export namespace networksecurity_v1beta1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await networksecurity.projects.locations.authzPolicies.delete({ - * // Required. The name of the `AuthzPolicy` resource to delete. Must be in the format `projects/{project\}/locations/{location\}/authzPolicies/{authz_policy\}`. - * name: 'projects/my-project/locations/my-location/authzPolicies/my-authzPolicie', - * // Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can 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, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', + * const res = await networksecurity.projects.locations.authzPolicies.list({ + * // Optional. Filtering results. + * filter: 'placeholder-value', + * // Optional. Hint for how to order the results. + * orderBy: 'placeholder-value', + * // Optional. Requested page size. The server might return fewer items than requested. If unspecified, the server picks an appropriate default. + * pageSize: 'placeholder-value', + * // Optional. A token identifying a page of results that the server returns. + * pageToken: 'placeholder-value', + * // Required. The project and location from which the `AuthzPolicy` resources are listed, specified in the following format: `projects/{project\}/locations/{location\}`. + * parent: 'projects/my-project/locations/my-location', * }); * console.log(res.data); * * // Example response * // { - * // "done": false, - * // "error": {}, - * // "metadata": {}, - * // "name": "my_name", - * // "response": {} + * // "authzPolicies": [], + * // "nextPageToken": "my_nextPageToken", + * // "unreachable": [] * // } * } * @@ -11751,53 +13057,57 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - delete( - params: Params$Resource$Projects$Locations$Authzpolicies$Delete, + list( + params: Params$Resource$Projects$Locations$Authzpolicies$List, options: StreamMethodOptions ): Promise>; - delete( - params?: Params$Resource$Projects$Locations$Authzpolicies$Delete, + list( + params?: Params$Resource$Projects$Locations$Authzpolicies$List, options?: MethodOptions - ): Promise>; - delete( - params: Params$Resource$Projects$Locations$Authzpolicies$Delete, + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Authzpolicies$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Projects$Locations$Authzpolicies$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + list( + params: Params$Resource$Projects$Locations$Authzpolicies$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Projects$Locations$Authzpolicies$Delete, - callback: BodyResponseCallback + list( + params: Params$Resource$Projects$Locations$Authzpolicies$List, + callback: BodyResponseCallback ): void; - delete(callback: BodyResponseCallback): void; - delete( + list( + callback: BodyResponseCallback + ): void; + list( paramsOrCallback?: - | Params$Resource$Projects$Locations$Authzpolicies$Delete - | BodyResponseCallback + | Params$Resource$Projects$Locations$Authzpolicies$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Authzpolicies$Delete; + {}) as Params$Resource$Projects$Locations$Authzpolicies$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Authzpolicies$Delete; + params = {} as Params$Resource$Projects$Locations$Authzpolicies$List; options = {}; } @@ -11811,29 +13121,32 @@ export namespace networksecurity_v1beta1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', + url: (rootUrl + '/v1beta1/{+parent}/authzPolicies').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['name'], - pathParams: ['name'], + requiredParams: ['parent'], + pathParams: ['parent'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Gets details of a single AuthzPolicy. + * Updates the parameters of a single AuthzPolicy. * @example * ```js * // Before running the sample: @@ -11862,25 +13175,41 @@ export namespace networksecurity_v1beta1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await networksecurity.projects.locations.authzPolicies.get({ - * // Required. A name of the `AuthzPolicy` resource to get. Must be in the format `projects/{project\}/locations/{location\}/authzPolicies/{authz_policy\}`. + * const res = await networksecurity.projects.locations.authzPolicies.patch({ + * // Required. Identifier. Name of the `AuthzPolicy` resource in the following format: `projects/{project\}/locations/{location\}/authzPolicies/{authz_policy\}`. * name: 'projects/my-project/locations/my-location/authzPolicies/my-authzPolicie', + * // Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees 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, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * requestId: 'placeholder-value', + * // Required. Used to specify the fields to be overwritten in the `AuthzPolicy` 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 is in the mask. If the user does not specify a mask, then all fields are overwritten. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "action": "my_action", + * // "createTime": "my_createTime", + * // "customProvider": {}, + * // "description": "my_description", + * // "httpRules": [], + * // "labels": {}, + * // "name": "my_name", + * // "networkRules": [], + * // "policyProfile": "my_policyProfile", + * // "target": {}, + * // "updateTime": "my_updateTime" + * // } + * }, * }); * console.log(res.data); * * // Example response * // { - * // "action": "my_action", - * // "createTime": "my_createTime", - * // "customProvider": {}, - * // "description": "my_description", - * // "httpRules": [], - * // "labels": {}, + * // "done": false, + * // "error": {}, + * // "metadata": {}, * // "name": "my_name", - * // "networkRules": [], - * // "policyProfile": "my_policyProfile", - * // "target": {}, - * // "updateTime": "my_updateTime" + * // "response": {} * // } * } * @@ -11896,53 +13225,53 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - get( - params: Params$Resource$Projects$Locations$Authzpolicies$Get, + patch( + params: Params$Resource$Projects$Locations$Authzpolicies$Patch, options: StreamMethodOptions ): Promise>; - get( - params?: Params$Resource$Projects$Locations$Authzpolicies$Get, + patch( + params?: Params$Resource$Projects$Locations$Authzpolicies$Patch, options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Projects$Locations$Authzpolicies$Get, + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Authzpolicies$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Projects$Locations$Authzpolicies$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + patch( + params: Params$Resource$Projects$Locations$Authzpolicies$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Projects$Locations$Authzpolicies$Get, - callback: BodyResponseCallback + patch( + params: Params$Resource$Projects$Locations$Authzpolicies$Patch, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; - get( + patch(callback: BodyResponseCallback): void; + patch( paramsOrCallback?: - | Params$Resource$Projects$Locations$Authzpolicies$Get - | BodyResponseCallback + | Params$Resource$Projects$Locations$Authzpolicies$Patch + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Authzpolicies$Get; + {}) as Params$Resource$Projects$Locations$Authzpolicies$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Authzpolicies$Get; + params = {} as Params$Resource$Projects$Locations$Authzpolicies$Patch; options = {}; } @@ -11957,7 +13286,7 @@ export namespace networksecurity_v1beta1 { options: Object.assign( { url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'PATCH', apiVersion: '', }, options @@ -11968,17 +13297,17 @@ export namespace networksecurity_v1beta1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + * Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. * @example * ```js * // Before running the sample: @@ -12008,12 +13337,19 @@ export namespace networksecurity_v1beta1 { * * // Do the magic * const res = - * await networksecurity.projects.locations.authzPolicies.getIamPolicy({ - * // 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). - * 'options.requestedPolicyVersion': 'placeholder-value', - * // 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. + * await networksecurity.projects.locations.authzPolicies.setIamPolicy({ + * // 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. * resource: * 'projects/my-project/locations/my-location/authzPolicies/my-authzPolicie', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "policy": {}, + * // "updateMask": "my_updateMask" + * // } + * }, * }); * console.log(res.data); * @@ -12038,34 +13374,34 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - getIamPolicy( - params: Params$Resource$Projects$Locations$Authzpolicies$Getiampolicy, + setIamPolicy( + params: Params$Resource$Projects$Locations$Authzpolicies$Setiampolicy, options: StreamMethodOptions ): Promise>; - getIamPolicy( - params?: Params$Resource$Projects$Locations$Authzpolicies$Getiampolicy, + setIamPolicy( + params?: Params$Resource$Projects$Locations$Authzpolicies$Setiampolicy, options?: MethodOptions ): Promise>; - getIamPolicy( - params: Params$Resource$Projects$Locations$Authzpolicies$Getiampolicy, + setIamPolicy( + params: Params$Resource$Projects$Locations$Authzpolicies$Setiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - getIamPolicy( - params: Params$Resource$Projects$Locations$Authzpolicies$Getiampolicy, + setIamPolicy( + params: Params$Resource$Projects$Locations$Authzpolicies$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - getIamPolicy( - params: Params$Resource$Projects$Locations$Authzpolicies$Getiampolicy, + setIamPolicy( + params: Params$Resource$Projects$Locations$Authzpolicies$Setiampolicy, callback: BodyResponseCallback ): void; - getIamPolicy( + setIamPolicy( callback: BodyResponseCallback ): void; - getIamPolicy( + setIamPolicy( paramsOrCallback?: - | Params$Resource$Projects$Locations$Authzpolicies$Getiampolicy + | Params$Resource$Projects$Locations$Authzpolicies$Setiampolicy | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -12081,13 +13417,13 @@ export namespace networksecurity_v1beta1 { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Authzpolicies$Getiampolicy; + {}) as Params$Resource$Projects$Locations$Authzpolicies$Setiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Authzpolicies$Getiampolicy; + {} as Params$Resource$Projects$Locations$Authzpolicies$Setiampolicy; options = {}; } @@ -12101,11 +13437,11 @@ export namespace networksecurity_v1beta1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1beta1/{+resource}:getIamPolicy').replace( + url: (rootUrl + '/v1beta1/{+resource}:setIamPolicy').replace( /([^:]\/)\/+/g, '$1' ), - method: 'GET', + method: 'POST', apiVersion: '', }, options @@ -12126,7 +13462,7 @@ export namespace networksecurity_v1beta1 { } /** - * Lists AuthzPolicies in a given project and location. + * 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. * @example * ```js * // Before running the sample: @@ -12155,25 +13491,25 @@ export namespace networksecurity_v1beta1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await networksecurity.projects.locations.authzPolicies.list({ - * // Optional. Filtering results. - * filter: 'placeholder-value', - * // Optional. Hint for how to order the results. - * orderBy: 'placeholder-value', - * // Optional. Requested page size. The server might return fewer items than requested. If unspecified, the server picks an appropriate default. - * pageSize: 'placeholder-value', - * // Optional. A token identifying a page of results that the server returns. - * pageToken: 'placeholder-value', - * // Required. The project and location from which the `AuthzPolicy` resources are listed, specified in the following format: `projects/{project\}/locations/{location\}`. - * parent: 'projects/my-project/locations/my-location', - * }); + * const res = + * await networksecurity.projects.locations.authzPolicies.testIamPermissions({ + * // 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. + * resource: + * 'projects/my-project/locations/my-location/authzPolicies/my-authzPolicie', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "permissions": [] + * // } + * }, + * }); * console.log(res.data); * * // Example response * // { - * // "authzPolicies": [], - * // "nextPageToken": "my_nextPageToken", - * // "unreachable": [] + * // "permissions": [] * // } * } * @@ -12189,57 +13525,62 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - list( - params: Params$Resource$Projects$Locations$Authzpolicies$List, + testIamPermissions( + params: Params$Resource$Projects$Locations$Authzpolicies$Testiampermissions, options: StreamMethodOptions ): Promise>; - list( - params?: Params$Resource$Projects$Locations$Authzpolicies$List, + testIamPermissions( + params?: Params$Resource$Projects$Locations$Authzpolicies$Testiampermissions, options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Projects$Locations$Authzpolicies$List, + ): Promise< + GaxiosResponseWithHTTP2 + >; + testIamPermissions( + params: Params$Resource$Projects$Locations$Authzpolicies$Testiampermissions, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Projects$Locations$Authzpolicies$List, + testIamPermissions( + params: Params$Resource$Projects$Locations$Authzpolicies$Testiampermissions, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Projects$Locations$Authzpolicies$List, - callback: BodyResponseCallback + testIamPermissions( + params: Params$Resource$Projects$Locations$Authzpolicies$Testiampermissions, + callback: BodyResponseCallback ): void; - list( - callback: BodyResponseCallback + testIamPermissions( + callback: BodyResponseCallback ): void; - list( + testIamPermissions( paramsOrCallback?: - | Params$Resource$Projects$Locations$Authzpolicies$List - | BodyResponseCallback + | Params$Resource$Projects$Locations$Authzpolicies$Testiampermissions + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise< + GaxiosResponseWithHTTP2 + > | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Authzpolicies$List; + {}) as Params$Resource$Projects$Locations$Authzpolicies$Testiampermissions; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Authzpolicies$List; + params = + {} as Params$Resource$Projects$Locations$Authzpolicies$Testiampermissions; options = {}; } @@ -12253,32 +13594,150 @@ export namespace networksecurity_v1beta1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1beta1/{+parent}/authzPolicies').replace( + url: (rootUrl + '/v1beta1/{+resource}:testIamPermissions').replace( /([^:]\/)\/+/g, '$1' ), - method: 'GET', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['parent'], - pathParams: ['parent'], + requiredParams: ['resource'], + pathParams: ['resource'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); } } + } + + export interface Params$Resource$Projects$Locations$Authzpolicies$Create extends StandardParameters { + /** + * Required. User-provided ID of the `AuthzPolicy` resource to be created. + */ + authzPolicyId?: string; + /** + * Required. The parent resource of the `AuthzPolicy` resource. Must be in the format `projects/{project\}/locations/{location\}`. + */ + parent?: string; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees 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, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$AuthzPolicy; + } + export interface Params$Resource$Projects$Locations$Authzpolicies$Delete extends StandardParameters { + /** + * Required. The name of the `AuthzPolicy` resource to delete. Must be in the format `projects/{project\}/locations/{location\}/authzPolicies/{authz_policy\}`. + */ + name?: string; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can 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, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + export interface Params$Resource$Projects$Locations$Authzpolicies$Get extends StandardParameters { + /** + * Required. A name of the `AuthzPolicy` resource to get. Must be in the format `projects/{project\}/locations/{location\}/authzPolicies/{authz_policy\}`. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Authzpolicies$Getiampolicy extends StandardParameters { + /** + * 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). + */ + 'options.requestedPolicyVersion'?: number; + /** + * 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. + */ + resource?: string; + } + export interface Params$Resource$Projects$Locations$Authzpolicies$List extends StandardParameters { + /** + * Optional. Filtering results. + */ + filter?: string; + /** + * Optional. Hint for how to order the results. + */ + orderBy?: string; + /** + * Optional. Requested page size. The server might return fewer items than requested. If unspecified, the server picks an appropriate default. + */ + pageSize?: number; + /** + * Optional. A token identifying a page of results that the server returns. + */ + pageToken?: string; + /** + * Required. The project and location from which the `AuthzPolicy` resources are listed, specified in the following format: `projects/{project\}/locations/{location\}`. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Authzpolicies$Patch extends StandardParameters { + /** + * Required. Identifier. Name of the `AuthzPolicy` resource in the following format: `projects/{project\}/locations/{location\}/authzPolicies/{authz_policy\}`. + */ + name?: string; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees 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, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Required. Used to specify the fields to be overwritten in the `AuthzPolicy` 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 is in the mask. If the user does not specify a mask, then all fields are overwritten. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$AuthzPolicy; + } + export interface Params$Resource$Projects$Locations$Authzpolicies$Setiampolicy extends StandardParameters { + /** + * 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. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleIamV1SetIamPolicyRequest; + } + export interface Params$Resource$Projects$Locations$Authzpolicies$Testiampermissions extends StandardParameters { + /** + * 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. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleIamV1TestIamPermissionsRequest; + } + + export class Resource$Projects$Locations$Backendauthenticationconfigs { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } /** - * Updates the parameters of a single AuthzPolicy. + * Creates a new BackendAuthenticationConfig in a given project and location. * @example * ```js * // Before running the sample: @@ -12307,32 +13766,31 @@ export namespace networksecurity_v1beta1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await networksecurity.projects.locations.authzPolicies.patch({ - * // Required. Identifier. Name of the `AuthzPolicy` resource in the following format: `projects/{project\}/locations/{location\}/authzPolicies/{authz_policy\}`. - * name: 'projects/my-project/locations/my-location/authzPolicies/my-authzPolicie', - * // Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees 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, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). - * requestId: 'placeholder-value', - * // Required. Used to specify the fields to be overwritten in the `AuthzPolicy` 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 is in the mask. If the user does not specify a mask, then all fields are overwritten. - * updateMask: 'placeholder-value', + * const res = + * await networksecurity.projects.locations.backendAuthenticationConfigs.create( + * { + * // Required. Short name of the BackendAuthenticationConfig resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores, and should not start with a number. E.g. "backend-auth-config". + * backendAuthenticationConfigId: 'placeholder-value', + * // Required. The parent resource of the BackendAuthenticationConfig. Must be in the format `projects/x/locations/{location\}`. + * parent: 'projects/my-project/locations/my-location', * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "action": "my_action", - * // "createTime": "my_createTime", - * // "customProvider": {}, - * // "description": "my_description", - * // "httpRules": [], - * // "labels": {}, - * // "name": "my_name", - * // "networkRules": [], - * // "policyProfile": "my_policyProfile", - * // "target": {}, - * // "updateTime": "my_updateTime" - * // } - * }, - * }); + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "clientCertificate": "my_clientCertificate", + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "etag": "my_etag", + * // "labels": {}, + * // "name": "my_name", + * // "trustConfig": "my_trustConfig", + * // "updateTime": "my_updateTime", + * // "wellKnownRoots": "my_wellKnownRoots" + * // } + * }, + * }, + * ); * console.log(res.data); * * // Example response @@ -12357,32 +13815,32 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - patch( - params: Params$Resource$Projects$Locations$Authzpolicies$Patch, + create( + params: Params$Resource$Projects$Locations$Backendauthenticationconfigs$Create, options: StreamMethodOptions ): Promise>; - patch( - params?: Params$Resource$Projects$Locations$Authzpolicies$Patch, + create( + params?: Params$Resource$Projects$Locations$Backendauthenticationconfigs$Create, options?: MethodOptions ): Promise>; - patch( - params: Params$Resource$Projects$Locations$Authzpolicies$Patch, + create( + params: Params$Resource$Projects$Locations$Backendauthenticationconfigs$Create, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Projects$Locations$Authzpolicies$Patch, + create( + params: Params$Resource$Projects$Locations$Backendauthenticationconfigs$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Projects$Locations$Authzpolicies$Patch, + create( + params: Params$Resource$Projects$Locations$Backendauthenticationconfigs$Create, callback: BodyResponseCallback ): void; - patch(callback: BodyResponseCallback): void; - patch( + create(callback: BodyResponseCallback): void; + create( paramsOrCallback?: - | Params$Resource$Projects$Locations$Authzpolicies$Patch + | Params$Resource$Projects$Locations$Backendauthenticationconfigs$Create | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -12398,12 +13856,13 @@ export namespace networksecurity_v1beta1 { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Authzpolicies$Patch; + {}) as Params$Resource$Projects$Locations$Backendauthenticationconfigs$Create; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Authzpolicies$Patch; + params = + {} as Params$Resource$Projects$Locations$Backendauthenticationconfigs$Create; options = {}; } @@ -12417,15 +13876,17 @@ export namespace networksecurity_v1beta1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', + url: ( + rootUrl + '/v1beta1/{+parent}/backendAuthenticationConfigs' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['name'], - pathParams: ['name'], + requiredParams: ['parent'], + pathParams: ['parent'], context: this.context, }; if (callback) { @@ -12439,7 +13900,7 @@ export namespace networksecurity_v1beta1 { } /** - * Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. + * Deletes a single BackendAuthenticationConfig to BackendAuthenticationConfig. * @example * ```js * // Before running the sample: @@ -12469,28 +13930,23 @@ export namespace networksecurity_v1beta1 { * * // Do the magic * const res = - * await networksecurity.projects.locations.authzPolicies.setIamPolicy({ - * // 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. - * resource: - * 'projects/my-project/locations/my-location/authzPolicies/my-authzPolicie', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "policy": {}, - * // "updateMask": "my_updateMask" - * // } + * await networksecurity.projects.locations.backendAuthenticationConfigs.delete( + * { + * // Optional. Etag of the resource. If this is provided, it must match the server's etag. + * etag: 'placeholder-value', + * // Required. A name of the BackendAuthenticationConfig to delete. Must be in the format `projects/x/locations/{location\}/backendAuthenticationConfigs/x`. + * name: 'projects/my-project/locations/my-location/backendAuthenticationConfigs/my-backendAuthenticationConfig', * }, - * }); + * ); * console.log(res.data); * * // Example response * // { - * // "auditConfigs": [], - * // "bindings": [], - * // "etag": "my_etag", - * // "version": 0 + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} * // } * } * @@ -12506,56 +13962,54 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - setIamPolicy( - params: Params$Resource$Projects$Locations$Authzpolicies$Setiampolicy, + delete( + params: Params$Resource$Projects$Locations$Backendauthenticationconfigs$Delete, options: StreamMethodOptions ): Promise>; - setIamPolicy( - params?: Params$Resource$Projects$Locations$Authzpolicies$Setiampolicy, + delete( + params?: Params$Resource$Projects$Locations$Backendauthenticationconfigs$Delete, options?: MethodOptions - ): Promise>; - setIamPolicy( - params: Params$Resource$Projects$Locations$Authzpolicies$Setiampolicy, + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Backendauthenticationconfigs$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setIamPolicy( - params: Params$Resource$Projects$Locations$Authzpolicies$Setiampolicy, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - setIamPolicy( - params: Params$Resource$Projects$Locations$Authzpolicies$Setiampolicy, - callback: BodyResponseCallback + delete( + params: Params$Resource$Projects$Locations$Backendauthenticationconfigs$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - setIamPolicy( - callback: BodyResponseCallback + delete( + params: Params$Resource$Projects$Locations$Backendauthenticationconfigs$Delete, + callback: BodyResponseCallback ): void; - setIamPolicy( + delete(callback: BodyResponseCallback): void; + delete( paramsOrCallback?: - | Params$Resource$Projects$Locations$Authzpolicies$Setiampolicy - | BodyResponseCallback + | Params$Resource$Projects$Locations$Backendauthenticationconfigs$Delete + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Authzpolicies$Setiampolicy; + {}) as Params$Resource$Projects$Locations$Backendauthenticationconfigs$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Authzpolicies$Setiampolicy; + {} as Params$Resource$Projects$Locations$Backendauthenticationconfigs$Delete; options = {}; } @@ -12569,32 +14023,29 @@ export namespace networksecurity_v1beta1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1beta1/{+resource}:setIamPolicy').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', apiVersion: '', }, options ), params, - requiredParams: ['resource'], - pathParams: ['resource'], + requiredParams: ['name'], + pathParams: ['name'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * 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. + * Gets details of a single BackendAuthenticationConfig to BackendAuthenticationConfig. * @example * ```js * // Before running the sample: @@ -12624,24 +14075,23 @@ export namespace networksecurity_v1beta1 { * * // Do the magic * const res = - * await networksecurity.projects.locations.authzPolicies.testIamPermissions({ - * // 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. - * resource: - * 'projects/my-project/locations/my-location/authzPolicies/my-authzPolicie', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "permissions": [] - * // } - * }, + * await networksecurity.projects.locations.backendAuthenticationConfigs.get({ + * // Required. A name of the BackendAuthenticationConfig to get. Must be in the format `projects/x/locations/{location\}/backendAuthenticationConfigs/x`. + * name: 'projects/my-project/locations/my-location/backendAuthenticationConfigs/my-backendAuthenticationConfig', * }); * console.log(res.data); * * // Example response * // { - * // "permissions": [] + * // "clientCertificate": "my_clientCertificate", + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "etag": "my_etag", + * // "labels": {}, + * // "name": "my_name", + * // "trustConfig": "my_trustConfig", + * // "updateTime": "my_updateTime", + * // "wellKnownRoots": "my_wellKnownRoots" * // } * } * @@ -12657,62 +14107,58 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - testIamPermissions( - params: Params$Resource$Projects$Locations$Authzpolicies$Testiampermissions, + get( + params: Params$Resource$Projects$Locations$Backendauthenticationconfigs$Get, options: StreamMethodOptions ): Promise>; - testIamPermissions( - params?: Params$Resource$Projects$Locations$Authzpolicies$Testiampermissions, + get( + params?: Params$Resource$Projects$Locations$Backendauthenticationconfigs$Get, options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; - testIamPermissions( - params: Params$Resource$Projects$Locations$Authzpolicies$Testiampermissions, + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Backendauthenticationconfigs$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - testIamPermissions( - params: Params$Resource$Projects$Locations$Authzpolicies$Testiampermissions, + get( + params: Params$Resource$Projects$Locations$Backendauthenticationconfigs$Get, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - testIamPermissions( - params: Params$Resource$Projects$Locations$Authzpolicies$Testiampermissions, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - testIamPermissions( - callback: BodyResponseCallback + get( + params: Params$Resource$Projects$Locations$Backendauthenticationconfigs$Get, + callback: BodyResponseCallback ): void; - testIamPermissions( + get( + callback: BodyResponseCallback + ): void; + get( paramsOrCallback?: - | Params$Resource$Projects$Locations$Authzpolicies$Testiampermissions - | BodyResponseCallback + | Params$Resource$Projects$Locations$Backendauthenticationconfigs$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise< - GaxiosResponseWithHTTP2 - > + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Authzpolicies$Testiampermissions; + {}) as Params$Resource$Projects$Locations$Backendauthenticationconfigs$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Authzpolicies$Testiampermissions; + {} as Params$Resource$Projects$Locations$Backendauthenticationconfigs$Get; options = {}; } @@ -12726,150 +14172,29 @@ export namespace networksecurity_v1beta1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1beta1/{+resource}:testIamPermissions').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['resource'], - pathParams: ['resource'], + requiredParams: ['name'], + pathParams: ['name'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } - } - - export interface Params$Resource$Projects$Locations$Authzpolicies$Create extends StandardParameters { - /** - * Required. User-provided ID of the `AuthzPolicy` resource to be created. - */ - authzPolicyId?: string; - /** - * Required. The parent resource of the `AuthzPolicy` resource. Must be in the format `projects/{project\}/locations/{location\}`. - */ - parent?: string; - /** - * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees 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, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$AuthzPolicy; - } - export interface Params$Resource$Projects$Locations$Authzpolicies$Delete extends StandardParameters { - /** - * Required. The name of the `AuthzPolicy` resource to delete. Must be in the format `projects/{project\}/locations/{location\}/authzPolicies/{authz_policy\}`. - */ - name?: string; - /** - * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can 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, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - } - export interface Params$Resource$Projects$Locations$Authzpolicies$Get extends StandardParameters { - /** - * Required. A name of the `AuthzPolicy` resource to get. Must be in the format `projects/{project\}/locations/{location\}/authzPolicies/{authz_policy\}`. - */ - name?: string; - } - export interface Params$Resource$Projects$Locations$Authzpolicies$Getiampolicy extends StandardParameters { - /** - * 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). - */ - 'options.requestedPolicyVersion'?: number; - /** - * 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. - */ - resource?: string; - } - export interface Params$Resource$Projects$Locations$Authzpolicies$List extends StandardParameters { - /** - * Optional. Filtering results. - */ - filter?: string; - /** - * Optional. Hint for how to order the results. - */ - orderBy?: string; - /** - * Optional. Requested page size. The server might return fewer items than requested. If unspecified, the server picks an appropriate default. - */ - pageSize?: number; - /** - * Optional. A token identifying a page of results that the server returns. - */ - pageToken?: string; - /** - * Required. The project and location from which the `AuthzPolicy` resources are listed, specified in the following format: `projects/{project\}/locations/{location\}`. - */ - parent?: string; - } - export interface Params$Resource$Projects$Locations$Authzpolicies$Patch extends StandardParameters { - /** - * Required. Identifier. Name of the `AuthzPolicy` resource in the following format: `projects/{project\}/locations/{location\}/authzPolicies/{authz_policy\}`. - */ - name?: string; - /** - * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees 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, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * Required. Used to specify the fields to be overwritten in the `AuthzPolicy` 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 is in the mask. If the user does not specify a mask, then all fields are overwritten. - */ - updateMask?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$AuthzPolicy; - } - export interface Params$Resource$Projects$Locations$Authzpolicies$Setiampolicy extends StandardParameters { - /** - * 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. - */ - resource?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$GoogleIamV1SetIamPolicyRequest; - } - export interface Params$Resource$Projects$Locations$Authzpolicies$Testiampermissions extends StandardParameters { - /** - * 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. - */ - resource?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$GoogleIamV1TestIamPermissionsRequest; - } - - export class Resource$Projects$Locations$Backendauthenticationconfigs { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } /** - * Creates a new BackendAuthenticationConfig in a given project and location. + * Lists BackendAuthenticationConfigs in a given project and location. * @example * ```js * // Before running the sample: @@ -12899,39 +14224,21 @@ export namespace networksecurity_v1beta1 { * * // Do the magic * const res = - * await networksecurity.projects.locations.backendAuthenticationConfigs.create( - * { - * // Required. Short name of the BackendAuthenticationConfig resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores, and should not start with a number. E.g. "backend-auth-config". - * backendAuthenticationConfigId: 'placeholder-value', - * // Required. The parent resource of the BackendAuthenticationConfig. Must be in the format `projects/x/locations/{location\}`. - * parent: 'projects/my-project/locations/my-location', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "clientCertificate": "my_clientCertificate", - * // "createTime": "my_createTime", - * // "description": "my_description", - * // "etag": "my_etag", - * // "labels": {}, - * // "name": "my_name", - * // "trustConfig": "my_trustConfig", - * // "updateTime": "my_updateTime", - * // "wellKnownRoots": "my_wellKnownRoots" - * // } - * }, - * }, - * ); + * await networksecurity.projects.locations.backendAuthenticationConfigs.list({ + * // Maximum number of BackendAuthenticationConfigs to return per call. + * pageSize: 'placeholder-value', + * // The value returned by the last `ListBackendAuthenticationConfigsResponse` Indicates that this is a continuation of a prior `ListBackendAuthenticationConfigs` call, and that the system should return the next page of data. + * pageToken: 'placeholder-value', + * // Required. The project and location from which the BackendAuthenticationConfigs should be listed, specified in the format `projects/x/locations/{location\}`. + * parent: 'projects/my-project/locations/my-location', + * }); * console.log(res.data); * * // Example response * // { - * // "done": false, - * // "error": {}, - * // "metadata": {}, - * // "name": "my_name", - * // "response": {} + * // "backendAuthenticationConfigs": [], + * // "nextPageToken": "my_nextPageToken", + * // "unreachable": [] * // } * } * @@ -12947,54 +14254,62 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - create( - params: Params$Resource$Projects$Locations$Backendauthenticationconfigs$Create, + list( + params: Params$Resource$Projects$Locations$Backendauthenticationconfigs$List, options: StreamMethodOptions ): Promise>; - create( - params?: Params$Resource$Projects$Locations$Backendauthenticationconfigs$Create, + list( + params?: Params$Resource$Projects$Locations$Backendauthenticationconfigs$List, options?: MethodOptions - ): Promise>; - create( - params: Params$Resource$Projects$Locations$Backendauthenticationconfigs$Create, + ): Promise< + GaxiosResponseWithHTTP2 + >; + list( + params: Params$Resource$Projects$Locations$Backendauthenticationconfigs$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Projects$Locations$Backendauthenticationconfigs$Create, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + list( + params: Params$Resource$Projects$Locations$Backendauthenticationconfigs$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Projects$Locations$Backendauthenticationconfigs$Create, - callback: BodyResponseCallback + list( + params: Params$Resource$Projects$Locations$Backendauthenticationconfigs$List, + callback: BodyResponseCallback ): void; - create(callback: BodyResponseCallback): void; - create( + list( + callback: BodyResponseCallback + ): void; + list( paramsOrCallback?: - | Params$Resource$Projects$Locations$Backendauthenticationconfigs$Create - | BodyResponseCallback + | Params$Resource$Projects$Locations$Backendauthenticationconfigs$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise< + GaxiosResponseWithHTTP2 + > | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Backendauthenticationconfigs$Create; + {}) as Params$Resource$Projects$Locations$Backendauthenticationconfigs$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Backendauthenticationconfigs$Create; + {} as Params$Resource$Projects$Locations$Backendauthenticationconfigs$List; options = {}; } @@ -13011,7 +14326,7 @@ export namespace networksecurity_v1beta1 { url: ( rootUrl + '/v1beta1/{+parent}/backendAuthenticationConfigs' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options @@ -13022,17 +14337,19 @@ export namespace networksecurity_v1beta1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); } } /** - * Deletes a single BackendAuthenticationConfig to BackendAuthenticationConfig. + * Updates the parameters of a single BackendAuthenticationConfig to BackendAuthenticationConfig. * @example * ```js * // Before running the sample: @@ -13062,12 +14379,28 @@ export namespace networksecurity_v1beta1 { * * // Do the magic * const res = - * await networksecurity.projects.locations.backendAuthenticationConfigs.delete( + * await networksecurity.projects.locations.backendAuthenticationConfigs.patch( * { - * // Optional. Etag of the resource. If this is provided, it must match the server's etag. - * etag: 'placeholder-value', - * // Required. A name of the BackendAuthenticationConfig to delete. Must be in the format `projects/x/locations/{location\}/backendAuthenticationConfigs/x`. + * // Required. Name of the BackendAuthenticationConfig resource. It matches the pattern `projects/x/locations/{location\}/backendAuthenticationConfigs/{backend_authentication_config\}` * name: 'projects/my-project/locations/my-location/backendAuthenticationConfigs/my-backendAuthenticationConfig', + * // Optional. Field mask is used to specify the fields to be overwritten in the BackendAuthenticationConfig 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. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "clientCertificate": "my_clientCertificate", + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "etag": "my_etag", + * // "labels": {}, + * // "name": "my_name", + * // "trustConfig": "my_trustConfig", + * // "updateTime": "my_updateTime", + * // "wellKnownRoots": "my_wellKnownRoots" + * // } + * }, * }, * ); * console.log(res.data); @@ -13094,32 +14427,32 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - delete( - params: Params$Resource$Projects$Locations$Backendauthenticationconfigs$Delete, + patch( + params: Params$Resource$Projects$Locations$Backendauthenticationconfigs$Patch, options: StreamMethodOptions ): Promise>; - delete( - params?: Params$Resource$Projects$Locations$Backendauthenticationconfigs$Delete, + patch( + params?: Params$Resource$Projects$Locations$Backendauthenticationconfigs$Patch, options?: MethodOptions ): Promise>; - delete( - params: Params$Resource$Projects$Locations$Backendauthenticationconfigs$Delete, + patch( + params: Params$Resource$Projects$Locations$Backendauthenticationconfigs$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Projects$Locations$Backendauthenticationconfigs$Delete, + patch( + params: Params$Resource$Projects$Locations$Backendauthenticationconfigs$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Projects$Locations$Backendauthenticationconfigs$Delete, + patch( + params: Params$Resource$Projects$Locations$Backendauthenticationconfigs$Patch, callback: BodyResponseCallback ): void; - delete(callback: BodyResponseCallback): void; - delete( + patch(callback: BodyResponseCallback): void; + patch( paramsOrCallback?: - | Params$Resource$Projects$Locations$Backendauthenticationconfigs$Delete + | Params$Resource$Projects$Locations$Backendauthenticationconfigs$Patch | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -13135,13 +14468,13 @@ export namespace networksecurity_v1beta1 { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Backendauthenticationconfigs$Delete; + {}) as Params$Resource$Projects$Locations$Backendauthenticationconfigs$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Backendauthenticationconfigs$Delete; + {} as Params$Resource$Projects$Locations$Backendauthenticationconfigs$Patch; options = {}; } @@ -13156,7 +14489,7 @@ export namespace networksecurity_v1beta1 { options: Object.assign( { url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', + method: 'PATCH', apiVersion: '', }, options @@ -13175,9 +14508,77 @@ export namespace networksecurity_v1beta1 { return createAPIRequest(parameters); } } + } + export interface Params$Resource$Projects$Locations$Backendauthenticationconfigs$Create extends StandardParameters { /** - * Gets details of a single BackendAuthenticationConfig to BackendAuthenticationConfig. + * Required. Short name of the BackendAuthenticationConfig resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores, and should not start with a number. E.g. "backend-auth-config". + */ + backendAuthenticationConfigId?: string; + /** + * Required. The parent resource of the BackendAuthenticationConfig. Must be in the format `projects/x/locations/{location\}`. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$BackendAuthenticationConfig; + } + export interface Params$Resource$Projects$Locations$Backendauthenticationconfigs$Delete extends StandardParameters { + /** + * Optional. Etag of the resource. If this is provided, it must match the server's etag. + */ + etag?: string; + /** + * Required. A name of the BackendAuthenticationConfig to delete. Must be in the format `projects/x/locations/{location\}/backendAuthenticationConfigs/x`. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Backendauthenticationconfigs$Get extends StandardParameters { + /** + * Required. A name of the BackendAuthenticationConfig to get. Must be in the format `projects/x/locations/{location\}/backendAuthenticationConfigs/x`. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Backendauthenticationconfigs$List extends StandardParameters { + /** + * Maximum number of BackendAuthenticationConfigs to return per call. + */ + pageSize?: number; + /** + * The value returned by the last `ListBackendAuthenticationConfigsResponse` Indicates that this is a continuation of a prior `ListBackendAuthenticationConfigs` call, and that the system should return the next page of data. + */ + pageToken?: string; + /** + * Required. The project and location from which the BackendAuthenticationConfigs should be listed, specified in the format `projects/x/locations/{location\}`. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Backendauthenticationconfigs$Patch extends StandardParameters { + /** + * Required. Name of the BackendAuthenticationConfig resource. It matches the pattern `projects/x/locations/{location\}/backendAuthenticationConfigs/{backend_authentication_config\}` + */ + name?: string; + /** + * Optional. Field mask is used to specify the fields to be overwritten in the BackendAuthenticationConfig 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. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$BackendAuthenticationConfig; + } + + export class Resource$Projects$Locations$Clienttlspolicies { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a new ClientTlsPolicy in a given project and location. * @example * ```js * // Before running the sample: @@ -13206,24 +14607,38 @@ export namespace networksecurity_v1beta1 { * google.options({auth: authClient}); * * // Do the magic - * const res = - * await networksecurity.projects.locations.backendAuthenticationConfigs.get({ - * // Required. A name of the BackendAuthenticationConfig to get. Must be in the format `projects/x/locations/{location\}/backendAuthenticationConfigs/x`. - * name: 'projects/my-project/locations/my-location/backendAuthenticationConfigs/my-backendAuthenticationConfig', - * }); + * const res = await networksecurity.projects.locations.clientTlsPolicies.create( + * { + * // Required. Short name of the ClientTlsPolicy resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores, and should not start with a number. E.g. "client_mtls_policy". + * clientTlsPolicyId: 'placeholder-value', + * // Required. The parent resource of the ClientTlsPolicy. Must be in the format `projects/x/locations/{location\}`. + * parent: 'projects/my-project/locations/my-location', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "clientCertificate": {}, + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "labels": {}, + * // "name": "my_name", + * // "serverValidationCa": [], + * // "sni": "my_sni", + * // "updateTime": "my_updateTime" + * // } + * }, + * }, + * ); * console.log(res.data); * * // Example response * // { - * // "clientCertificate": "my_clientCertificate", - * // "createTime": "my_createTime", - * // "description": "my_description", - * // "etag": "my_etag", - * // "labels": {}, + * // "done": false, + * // "error": {}, + * // "metadata": {}, * // "name": "my_name", - * // "trustConfig": "my_trustConfig", - * // "updateTime": "my_updateTime", - * // "wellKnownRoots": "my_wellKnownRoots" + * // "response": {} * // } * } * @@ -13239,58 +14654,54 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - get( - params: Params$Resource$Projects$Locations$Backendauthenticationconfigs$Get, + create( + params: Params$Resource$Projects$Locations$Clienttlspolicies$Create, options: StreamMethodOptions ): Promise>; - get( - params?: Params$Resource$Projects$Locations$Backendauthenticationconfigs$Get, + create( + params?: Params$Resource$Projects$Locations$Clienttlspolicies$Create, options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Projects$Locations$Backendauthenticationconfigs$Get, + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Clienttlspolicies$Create, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Projects$Locations$Backendauthenticationconfigs$Get, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Projects$Locations$Backendauthenticationconfigs$Get, - callback: BodyResponseCallback + create( + params: Params$Resource$Projects$Locations$Clienttlspolicies$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - get( - callback: BodyResponseCallback + create( + params: Params$Resource$Projects$Locations$Clienttlspolicies$Create, + callback: BodyResponseCallback ): void; - get( + create(callback: BodyResponseCallback): void; + create( paramsOrCallback?: - | Params$Resource$Projects$Locations$Backendauthenticationconfigs$Get - | BodyResponseCallback + | Params$Resource$Projects$Locations$Clienttlspolicies$Create + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Backendauthenticationconfigs$Get; + {}) as Params$Resource$Projects$Locations$Clienttlspolicies$Create; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Backendauthenticationconfigs$Get; + {} as Params$Resource$Projects$Locations$Clienttlspolicies$Create; options = {}; } @@ -13304,29 +14715,32 @@ export namespace networksecurity_v1beta1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + url: (rootUrl + '/v1beta1/{+parent}/clientTlsPolicies').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['name'], - pathParams: ['name'], + requiredParams: ['parent'], + pathParams: ['parent'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Lists BackendAuthenticationConfigs in a given project and location. + * Deletes a single ClientTlsPolicy. * @example * ```js * // Before running the sample: @@ -13355,22 +14769,21 @@ export namespace networksecurity_v1beta1 { * google.options({auth: authClient}); * * // Do the magic - * const res = - * await networksecurity.projects.locations.backendAuthenticationConfigs.list({ - * // Maximum number of BackendAuthenticationConfigs to return per call. - * pageSize: 'placeholder-value', - * // The value returned by the last `ListBackendAuthenticationConfigsResponse` Indicates that this is a continuation of a prior `ListBackendAuthenticationConfigs` call, and that the system should return the next page of data. - * pageToken: 'placeholder-value', - * // Required. The project and location from which the BackendAuthenticationConfigs should be listed, specified in the format `projects/x/locations/{location\}`. - * parent: 'projects/my-project/locations/my-location', - * }); + * const res = await networksecurity.projects.locations.clientTlsPolicies.delete( + * { + * // Required. A name of the ClientTlsPolicy to delete. Must be in the format `projects/x/locations/{location\}/clientTlsPolicies/x`. + * name: 'projects/my-project/locations/my-location/clientTlsPolicies/my-clientTlsPolicie', + * }, + * ); * console.log(res.data); * * // Example response * // { - * // "backendAuthenticationConfigs": [], - * // "nextPageToken": "my_nextPageToken", - * // "unreachable": [] + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} * // } * } * @@ -13386,62 +14799,54 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - list( - params: Params$Resource$Projects$Locations$Backendauthenticationconfigs$List, + delete( + params: Params$Resource$Projects$Locations$Clienttlspolicies$Delete, options: StreamMethodOptions ): Promise>; - list( - params?: Params$Resource$Projects$Locations$Backendauthenticationconfigs$List, + delete( + params?: Params$Resource$Projects$Locations$Clienttlspolicies$Delete, options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; - list( - params: Params$Resource$Projects$Locations$Backendauthenticationconfigs$List, + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Clienttlspolicies$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Projects$Locations$Backendauthenticationconfigs$List, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Projects$Locations$Backendauthenticationconfigs$List, - callback: BodyResponseCallback + delete( + params: Params$Resource$Projects$Locations$Clienttlspolicies$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - list( - callback: BodyResponseCallback + delete( + params: Params$Resource$Projects$Locations$Clienttlspolicies$Delete, + callback: BodyResponseCallback ): void; - list( + delete(callback: BodyResponseCallback): void; + delete( paramsOrCallback?: - | Params$Resource$Projects$Locations$Backendauthenticationconfigs$List - | BodyResponseCallback + | Params$Resource$Projects$Locations$Clienttlspolicies$Delete + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise< - GaxiosResponseWithHTTP2 - > + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Backendauthenticationconfigs$List; + {}) as Params$Resource$Projects$Locations$Clienttlspolicies$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Backendauthenticationconfigs$List; + {} as Params$Resource$Projects$Locations$Clienttlspolicies$Delete; options = {}; } @@ -13455,33 +14860,29 @@ export namespace networksecurity_v1beta1 { const parameters = { options: Object.assign( { - url: ( - rootUrl + '/v1beta1/{+parent}/backendAuthenticationConfigs' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', apiVersion: '', }, options ), params, - requiredParams: ['parent'], - pathParams: ['parent'], + requiredParams: ['name'], + pathParams: ['name'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } /** - * Updates the parameters of a single BackendAuthenticationConfig to BackendAuthenticationConfig. + * Gets details of a single ClientTlsPolicy. * @example * ```js * // Before running the sample: @@ -13510,40 +14911,22 @@ export namespace networksecurity_v1beta1 { * google.options({auth: authClient}); * * // Do the magic - * const res = - * await networksecurity.projects.locations.backendAuthenticationConfigs.patch( - * { - * // Required. Name of the BackendAuthenticationConfig resource. It matches the pattern `projects/x/locations/{location\}/backendAuthenticationConfigs/{backend_authentication_config\}` - * name: 'projects/my-project/locations/my-location/backendAuthenticationConfigs/my-backendAuthenticationConfig', - * // Optional. Field mask is used to specify the fields to be overwritten in the BackendAuthenticationConfig 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. - * updateMask: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "clientCertificate": "my_clientCertificate", - * // "createTime": "my_createTime", - * // "description": "my_description", - * // "etag": "my_etag", - * // "labels": {}, - * // "name": "my_name", - * // "trustConfig": "my_trustConfig", - * // "updateTime": "my_updateTime", - * // "wellKnownRoots": "my_wellKnownRoots" - * // } - * }, - * }, - * ); + * const res = await networksecurity.projects.locations.clientTlsPolicies.get({ + * // Required. A name of the ClientTlsPolicy to get. Must be in the format `projects/x/locations/{location\}/clientTlsPolicies/x`. + * name: 'projects/my-project/locations/my-location/clientTlsPolicies/my-clientTlsPolicie', + * }); * console.log(res.data); * * // Example response * // { - * // "done": false, - * // "error": {}, - * // "metadata": {}, + * // "clientCertificate": {}, + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "labels": {}, * // "name": "my_name", - * // "response": {} + * // "serverValidationCa": [], + * // "sni": "my_sni", + * // "updateTime": "my_updateTime" * // } * } * @@ -13559,54 +14942,53 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - patch( - params: Params$Resource$Projects$Locations$Backendauthenticationconfigs$Patch, + get( + params: Params$Resource$Projects$Locations$Clienttlspolicies$Get, options: StreamMethodOptions ): Promise>; - patch( - params?: Params$Resource$Projects$Locations$Backendauthenticationconfigs$Patch, + get( + params?: Params$Resource$Projects$Locations$Clienttlspolicies$Get, options?: MethodOptions - ): Promise>; - patch( - params: Params$Resource$Projects$Locations$Backendauthenticationconfigs$Patch, + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Clienttlspolicies$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Projects$Locations$Backendauthenticationconfigs$Patch, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + get( + params: Params$Resource$Projects$Locations$Clienttlspolicies$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Projects$Locations$Backendauthenticationconfigs$Patch, - callback: BodyResponseCallback + get( + params: Params$Resource$Projects$Locations$Clienttlspolicies$Get, + callback: BodyResponseCallback ): void; - patch(callback: BodyResponseCallback): void; - patch( + get(callback: BodyResponseCallback): void; + get( paramsOrCallback?: - | Params$Resource$Projects$Locations$Backendauthenticationconfigs$Patch - | BodyResponseCallback + | Params$Resource$Projects$Locations$Clienttlspolicies$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Backendauthenticationconfigs$Patch; + {}) as Params$Resource$Projects$Locations$Clienttlspolicies$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Backendauthenticationconfigs$Patch; + params = {} as Params$Resource$Projects$Locations$Clienttlspolicies$Get; options = {}; } @@ -13621,7 +15003,7 @@ export namespace networksecurity_v1beta1 { options: Object.assign( { url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', + method: 'GET', apiVersion: '', }, options @@ -13632,85 +15014,17 @@ export namespace networksecurity_v1beta1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } - } - - export interface Params$Resource$Projects$Locations$Backendauthenticationconfigs$Create extends StandardParameters { - /** - * Required. Short name of the BackendAuthenticationConfig resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores, and should not start with a number. E.g. "backend-auth-config". - */ - backendAuthenticationConfigId?: string; - /** - * Required. The parent resource of the BackendAuthenticationConfig. Must be in the format `projects/x/locations/{location\}`. - */ - parent?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$BackendAuthenticationConfig; - } - export interface Params$Resource$Projects$Locations$Backendauthenticationconfigs$Delete extends StandardParameters { - /** - * Optional. Etag of the resource. If this is provided, it must match the server's etag. - */ - etag?: string; - /** - * Required. A name of the BackendAuthenticationConfig to delete. Must be in the format `projects/x/locations/{location\}/backendAuthenticationConfigs/x`. - */ - name?: string; - } - export interface Params$Resource$Projects$Locations$Backendauthenticationconfigs$Get extends StandardParameters { - /** - * Required. A name of the BackendAuthenticationConfig to get. Must be in the format `projects/x/locations/{location\}/backendAuthenticationConfigs/x`. - */ - name?: string; - } - export interface Params$Resource$Projects$Locations$Backendauthenticationconfigs$List extends StandardParameters { - /** - * Maximum number of BackendAuthenticationConfigs to return per call. - */ - pageSize?: number; - /** - * The value returned by the last `ListBackendAuthenticationConfigsResponse` Indicates that this is a continuation of a prior `ListBackendAuthenticationConfigs` call, and that the system should return the next page of data. - */ - pageToken?: string; - /** - * Required. The project and location from which the BackendAuthenticationConfigs should be listed, specified in the format `projects/x/locations/{location\}`. - */ - parent?: string; - } - export interface Params$Resource$Projects$Locations$Backendauthenticationconfigs$Patch extends StandardParameters { - /** - * Required. Name of the BackendAuthenticationConfig resource. It matches the pattern `projects/x/locations/{location\}/backendAuthenticationConfigs/{backend_authentication_config\}` - */ - name?: string; - /** - * Optional. Field mask is used to specify the fields to be overwritten in the BackendAuthenticationConfig 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. - */ - updateMask?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$BackendAuthenticationConfig; - } - - export class Resource$Projects$Locations$Clienttlspolicies { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } /** - * Creates a new ClientTlsPolicy in a given project and location. + * Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. * @example * ```js * // Before running the sample: @@ -13734,43 +15048,27 @@ export namespace networksecurity_v1beta1 { * scopes: ['https://www.googleapis.com/auth/cloud-platform'], * }); * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await networksecurity.projects.locations.clientTlsPolicies.create( - * { - * // Required. Short name of the ClientTlsPolicy resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores, and should not start with a number. E.g. "client_mtls_policy". - * clientTlsPolicyId: 'placeholder-value', - * // Required. The parent resource of the ClientTlsPolicy. Must be in the format `projects/x/locations/{location\}`. - * parent: 'projects/my-project/locations/my-location', + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "clientCertificate": {}, - * // "createTime": "my_createTime", - * // "description": "my_description", - * // "labels": {}, - * // "name": "my_name", - * // "serverValidationCa": [], - * // "sni": "my_sni", - * // "updateTime": "my_updateTime" - * // } - * }, - * }, - * ); + * // Do the magic + * const res = + * await networksecurity.projects.locations.clientTlsPolicies.getIamPolicy({ + * // 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). + * 'options.requestedPolicyVersion': 'placeholder-value', + * // 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. + * resource: + * 'projects/my-project/locations/my-location/clientTlsPolicies/my-clientTlsPolicie', + * }); * console.log(res.data); * * // Example response * // { - * // "done": false, - * // "error": {}, - * // "metadata": {}, - * // "name": "my_name", - * // "response": {} + * // "auditConfigs": [], + * // "bindings": [], + * // "etag": "my_etag", + * // "version": 0 * // } * } * @@ -13786,54 +15084,56 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - create( - params: Params$Resource$Projects$Locations$Clienttlspolicies$Create, + getIamPolicy( + params: Params$Resource$Projects$Locations$Clienttlspolicies$Getiampolicy, options: StreamMethodOptions ): Promise>; - create( - params?: Params$Resource$Projects$Locations$Clienttlspolicies$Create, + getIamPolicy( + params?: Params$Resource$Projects$Locations$Clienttlspolicies$Getiampolicy, options?: MethodOptions - ): Promise>; - create( - params: Params$Resource$Projects$Locations$Clienttlspolicies$Create, + ): Promise>; + getIamPolicy( + params: Params$Resource$Projects$Locations$Clienttlspolicies$Getiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Projects$Locations$Clienttlspolicies$Create, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + getIamPolicy( + params: Params$Resource$Projects$Locations$Clienttlspolicies$Getiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Projects$Locations$Clienttlspolicies$Create, - callback: BodyResponseCallback + getIamPolicy( + params: Params$Resource$Projects$Locations$Clienttlspolicies$Getiampolicy, + callback: BodyResponseCallback ): void; - create(callback: BodyResponseCallback): void; - create( + getIamPolicy( + callback: BodyResponseCallback + ): void; + getIamPolicy( paramsOrCallback?: - | Params$Resource$Projects$Locations$Clienttlspolicies$Create - | BodyResponseCallback + | Params$Resource$Projects$Locations$Clienttlspolicies$Getiampolicy + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Clienttlspolicies$Create; + {}) as Params$Resource$Projects$Locations$Clienttlspolicies$Getiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Clienttlspolicies$Create; + {} as Params$Resource$Projects$Locations$Clienttlspolicies$Getiampolicy; options = {}; } @@ -13847,32 +15147,32 @@ export namespace networksecurity_v1beta1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1beta1/{+parent}/clientTlsPolicies').replace( + url: (rootUrl + '/v1beta1/{+resource}:getIamPolicy').replace( /([^:]\/)\/+/g, '$1' ), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['parent'], - pathParams: ['parent'], + requiredParams: ['resource'], + pathParams: ['resource'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Deletes a single ClientTlsPolicy. + * Lists ClientTlsPolicies in a given project and location. * @example * ```js * // Before running the sample: @@ -13901,21 +15201,20 @@ export namespace networksecurity_v1beta1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await networksecurity.projects.locations.clientTlsPolicies.delete( - * { - * // Required. A name of the ClientTlsPolicy to delete. Must be in the format `projects/x/locations/{location\}/clientTlsPolicies/x`. - * name: 'projects/my-project/locations/my-location/clientTlsPolicies/my-clientTlsPolicie', - * }, - * ); + * const res = await networksecurity.projects.locations.clientTlsPolicies.list({ + * // Maximum number of ClientTlsPolicies to return per call. + * pageSize: 'placeholder-value', + * // The value returned by the last `ListClientTlsPoliciesResponse` Indicates that this is a continuation of a prior `ListClientTlsPolicies` call, and that the system should return the next page of data. + * pageToken: 'placeholder-value', + * // Required. The project and location from which the ClientTlsPolicies should be listed, specified in the format `projects/x/locations/{location\}`. + * parent: 'projects/my-project/locations/my-location', + * }); * console.log(res.data); * * // Example response * // { - * // "done": false, - * // "error": {}, - * // "metadata": {}, - * // "name": "my_name", - * // "response": {} + * // "clientTlsPolicies": [], + * // "nextPageToken": "my_nextPageToken" * // } * } * @@ -13931,54 +15230,58 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - delete( - params: Params$Resource$Projects$Locations$Clienttlspolicies$Delete, + list( + params: Params$Resource$Projects$Locations$Clienttlspolicies$List, options: StreamMethodOptions ): Promise>; - delete( - params?: Params$Resource$Projects$Locations$Clienttlspolicies$Delete, + list( + params?: Params$Resource$Projects$Locations$Clienttlspolicies$List, options?: MethodOptions - ): Promise>; - delete( - params: Params$Resource$Projects$Locations$Clienttlspolicies$Delete, + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Clienttlspolicies$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Projects$Locations$Clienttlspolicies$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + list( + params: Params$Resource$Projects$Locations$Clienttlspolicies$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Projects$Locations$Clienttlspolicies$Delete, - callback: BodyResponseCallback + list( + params: Params$Resource$Projects$Locations$Clienttlspolicies$List, + callback: BodyResponseCallback ): void; - delete(callback: BodyResponseCallback): void; - delete( + list( + callback: BodyResponseCallback + ): void; + list( paramsOrCallback?: - | Params$Resource$Projects$Locations$Clienttlspolicies$Delete - | BodyResponseCallback + | Params$Resource$Projects$Locations$Clienttlspolicies$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Clienttlspolicies$Delete; + {}) as Params$Resource$Projects$Locations$Clienttlspolicies$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Clienttlspolicies$Delete; + {} as Params$Resource$Projects$Locations$Clienttlspolicies$List; options = {}; } @@ -13992,29 +15295,34 @@ export namespace networksecurity_v1beta1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', + url: (rootUrl + '/v1beta1/{+parent}/clientTlsPolicies').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['name'], - pathParams: ['name'], + requiredParams: ['parent'], + pathParams: ['parent'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); } } /** - * Gets details of a single ClientTlsPolicy. + * Updates the parameters of a single ClientTlsPolicy. * @example * ```js * // Before running the sample: @@ -14043,22 +15351,36 @@ export namespace networksecurity_v1beta1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await networksecurity.projects.locations.clientTlsPolicies.get({ - * // Required. A name of the ClientTlsPolicy to get. Must be in the format `projects/x/locations/{location\}/clientTlsPolicies/x`. + * const res = await networksecurity.projects.locations.clientTlsPolicies.patch({ + * // Required. Name of the ClientTlsPolicy resource. It matches the pattern `projects/{project\}/locations/{location\}/clientTlsPolicies/{client_tls_policy\}` * name: 'projects/my-project/locations/my-location/clientTlsPolicies/my-clientTlsPolicie', + * // Optional. Field mask is used to specify the fields to be overwritten in the ClientTlsPolicy 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. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "clientCertificate": {}, + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "labels": {}, + * // "name": "my_name", + * // "serverValidationCa": [], + * // "sni": "my_sni", + * // "updateTime": "my_updateTime" + * // } + * }, * }); * console.log(res.data); * * // Example response * // { - * // "clientCertificate": {}, - * // "createTime": "my_createTime", - * // "description": "my_description", - * // "labels": {}, + * // "done": false, + * // "error": {}, + * // "metadata": {}, * // "name": "my_name", - * // "serverValidationCa": [], - * // "sni": "my_sni", - * // "updateTime": "my_updateTime" + * // "response": {} * // } * } * @@ -14074,53 +15396,54 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - get( - params: Params$Resource$Projects$Locations$Clienttlspolicies$Get, + patch( + params: Params$Resource$Projects$Locations$Clienttlspolicies$Patch, options: StreamMethodOptions ): Promise>; - get( - params?: Params$Resource$Projects$Locations$Clienttlspolicies$Get, + patch( + params?: Params$Resource$Projects$Locations$Clienttlspolicies$Patch, options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Projects$Locations$Clienttlspolicies$Get, + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Clienttlspolicies$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Projects$Locations$Clienttlspolicies$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + patch( + params: Params$Resource$Projects$Locations$Clienttlspolicies$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Projects$Locations$Clienttlspolicies$Get, - callback: BodyResponseCallback + patch( + params: Params$Resource$Projects$Locations$Clienttlspolicies$Patch, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; - get( - paramsOrCallback?: - | Params$Resource$Projects$Locations$Clienttlspolicies$Get - | BodyResponseCallback + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Clienttlspolicies$Patch + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Clienttlspolicies$Get; + {}) as Params$Resource$Projects$Locations$Clienttlspolicies$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Clienttlspolicies$Get; + params = + {} as Params$Resource$Projects$Locations$Clienttlspolicies$Patch; options = {}; } @@ -14135,7 +15458,7 @@ export namespace networksecurity_v1beta1 { options: Object.assign( { url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'PATCH', apiVersion: '', }, options @@ -14146,17 +15469,17 @@ export namespace networksecurity_v1beta1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + * Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. * @example * ```js * // Before running the sample: @@ -14186,12 +15509,19 @@ export namespace networksecurity_v1beta1 { * * // Do the magic * const res = - * await networksecurity.projects.locations.clientTlsPolicies.getIamPolicy({ - * // 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). - * 'options.requestedPolicyVersion': 'placeholder-value', - * // 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. + * await networksecurity.projects.locations.clientTlsPolicies.setIamPolicy({ + * // 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. * resource: * 'projects/my-project/locations/my-location/clientTlsPolicies/my-clientTlsPolicie', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "policy": {}, + * // "updateMask": "my_updateMask" + * // } + * }, * }); * console.log(res.data); * @@ -14216,34 +15546,34 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - getIamPolicy( - params: Params$Resource$Projects$Locations$Clienttlspolicies$Getiampolicy, + setIamPolicy( + params: Params$Resource$Projects$Locations$Clienttlspolicies$Setiampolicy, options: StreamMethodOptions ): Promise>; - getIamPolicy( - params?: Params$Resource$Projects$Locations$Clienttlspolicies$Getiampolicy, + setIamPolicy( + params?: Params$Resource$Projects$Locations$Clienttlspolicies$Setiampolicy, options?: MethodOptions ): Promise>; - getIamPolicy( - params: Params$Resource$Projects$Locations$Clienttlspolicies$Getiampolicy, + setIamPolicy( + params: Params$Resource$Projects$Locations$Clienttlspolicies$Setiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - getIamPolicy( - params: Params$Resource$Projects$Locations$Clienttlspolicies$Getiampolicy, + setIamPolicy( + params: Params$Resource$Projects$Locations$Clienttlspolicies$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - getIamPolicy( - params: Params$Resource$Projects$Locations$Clienttlspolicies$Getiampolicy, + setIamPolicy( + params: Params$Resource$Projects$Locations$Clienttlspolicies$Setiampolicy, callback: BodyResponseCallback ): void; - getIamPolicy( + setIamPolicy( callback: BodyResponseCallback ): void; - getIamPolicy( + setIamPolicy( paramsOrCallback?: - | Params$Resource$Projects$Locations$Clienttlspolicies$Getiampolicy + | Params$Resource$Projects$Locations$Clienttlspolicies$Setiampolicy | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -14259,13 +15589,13 @@ export namespace networksecurity_v1beta1 { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Clienttlspolicies$Getiampolicy; + {}) as Params$Resource$Projects$Locations$Clienttlspolicies$Setiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Clienttlspolicies$Getiampolicy; + {} as Params$Resource$Projects$Locations$Clienttlspolicies$Setiampolicy; options = {}; } @@ -14279,11 +15609,11 @@ export namespace networksecurity_v1beta1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1beta1/{+resource}:getIamPolicy').replace( + url: (rootUrl + '/v1beta1/{+resource}:setIamPolicy').replace( /([^:]\/)\/+/g, '$1' ), - method: 'GET', + method: 'POST', apiVersion: '', }, options @@ -14304,7 +15634,7 @@ export namespace networksecurity_v1beta1 { } /** - * Lists ClientTlsPolicies in a given project and location. + * 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. * @example * ```js * // Before running the sample: @@ -14333,20 +15663,27 @@ export namespace networksecurity_v1beta1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await networksecurity.projects.locations.clientTlsPolicies.list({ - * // Maximum number of ClientTlsPolicies to return per call. - * pageSize: 'placeholder-value', - * // The value returned by the last `ListClientTlsPoliciesResponse` Indicates that this is a continuation of a prior `ListClientTlsPolicies` call, and that the system should return the next page of data. - * pageToken: 'placeholder-value', - * // Required. The project and location from which the ClientTlsPolicies should be listed, specified in the format `projects/x/locations/{location\}`. - * parent: 'projects/my-project/locations/my-location', - * }); + * const res = + * await networksecurity.projects.locations.clientTlsPolicies.testIamPermissions( + * { + * // 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. + * resource: + * 'projects/my-project/locations/my-location/clientTlsPolicies/my-clientTlsPolicie', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "permissions": [] + * // } + * }, + * }, + * ); * console.log(res.data); * * // Example response * // { - * // "clientTlsPolicies": [], - * // "nextPageToken": "my_nextPageToken" + * // "permissions": [] * // } * } * @@ -14362,58 +15699,62 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - list( - params: Params$Resource$Projects$Locations$Clienttlspolicies$List, + testIamPermissions( + params: Params$Resource$Projects$Locations$Clienttlspolicies$Testiampermissions, options: StreamMethodOptions ): Promise>; - list( - params?: Params$Resource$Projects$Locations$Clienttlspolicies$List, + testIamPermissions( + params?: Params$Resource$Projects$Locations$Clienttlspolicies$Testiampermissions, options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Projects$Locations$Clienttlspolicies$List, + ): Promise< + GaxiosResponseWithHTTP2 + >; + testIamPermissions( + params: Params$Resource$Projects$Locations$Clienttlspolicies$Testiampermissions, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Projects$Locations$Clienttlspolicies$List, + testIamPermissions( + params: Params$Resource$Projects$Locations$Clienttlspolicies$Testiampermissions, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Projects$Locations$Clienttlspolicies$List, - callback: BodyResponseCallback + testIamPermissions( + params: Params$Resource$Projects$Locations$Clienttlspolicies$Testiampermissions, + callback: BodyResponseCallback ): void; - list( - callback: BodyResponseCallback + testIamPermissions( + callback: BodyResponseCallback ): void; - list( + testIamPermissions( paramsOrCallback?: - | Params$Resource$Projects$Locations$Clienttlspolicies$List - | BodyResponseCallback + | Params$Resource$Projects$Locations$Clienttlspolicies$Testiampermissions + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise< + GaxiosResponseWithHTTP2 + > | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Clienttlspolicies$List; + {}) as Params$Resource$Projects$Locations$Clienttlspolicies$Testiampermissions; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Clienttlspolicies$List; + {} as Params$Resource$Projects$Locations$Clienttlspolicies$Testiampermissions; options = {}; } @@ -14427,34 +15768,130 @@ export namespace networksecurity_v1beta1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1beta1/{+parent}/clientTlsPolicies').replace( + url: (rootUrl + '/v1beta1/{+resource}:testIamPermissions').replace( /([^:]\/)\/+/g, '$1' ), - method: 'GET', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['parent'], - pathParams: ['parent'], + requiredParams: ['resource'], + pathParams: ['resource'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( + return createAPIRequest( parameters ); } } + } + + export interface Params$Resource$Projects$Locations$Clienttlspolicies$Create extends StandardParameters { + /** + * Required. Short name of the ClientTlsPolicy resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores, and should not start with a number. E.g. "client_mtls_policy". + */ + clientTlsPolicyId?: string; + /** + * Required. The parent resource of the ClientTlsPolicy. Must be in the format `projects/x/locations/{location\}`. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ClientTlsPolicy; + } + export interface Params$Resource$Projects$Locations$Clienttlspolicies$Delete extends StandardParameters { + /** + * Required. A name of the ClientTlsPolicy to delete. Must be in the format `projects/x/locations/{location\}/clientTlsPolicies/x`. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Clienttlspolicies$Get extends StandardParameters { + /** + * Required. A name of the ClientTlsPolicy to get. Must be in the format `projects/x/locations/{location\}/clientTlsPolicies/x`. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Clienttlspolicies$Getiampolicy extends StandardParameters { + /** + * 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). + */ + 'options.requestedPolicyVersion'?: number; + /** + * 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. + */ + resource?: string; + } + export interface Params$Resource$Projects$Locations$Clienttlspolicies$List extends StandardParameters { + /** + * Maximum number of ClientTlsPolicies to return per call. + */ + pageSize?: number; + /** + * The value returned by the last `ListClientTlsPoliciesResponse` Indicates that this is a continuation of a prior `ListClientTlsPolicies` call, and that the system should return the next page of data. + */ + pageToken?: string; + /** + * Required. The project and location from which the ClientTlsPolicies should be listed, specified in the format `projects/x/locations/{location\}`. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Clienttlspolicies$Patch extends StandardParameters { + /** + * Required. Name of the ClientTlsPolicy resource. It matches the pattern `projects/{project\}/locations/{location\}/clientTlsPolicies/{client_tls_policy\}` + */ + name?: string; + /** + * Optional. Field mask is used to specify the fields to be overwritten in the ClientTlsPolicy 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. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ClientTlsPolicy; + } + export interface Params$Resource$Projects$Locations$Clienttlspolicies$Setiampolicy extends StandardParameters { + /** + * 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. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleIamV1SetIamPolicyRequest; + } + export interface Params$Resource$Projects$Locations$Clienttlspolicies$Testiampermissions extends StandardParameters { + /** + * 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. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleIamV1TestIamPermissionsRequest; + } + + export class Resource$Projects$Locations$Dnsthreatdetectors { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } /** - * Updates the parameters of a single ClientTlsPolicy. + * Creates a new DnsThreatDetector in a given project and location. * @example * ```js * // Before running the sample: @@ -14483,36 +15920,36 @@ export namespace networksecurity_v1beta1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await networksecurity.projects.locations.clientTlsPolicies.patch({ - * // Required. Name of the ClientTlsPolicy resource. It matches the pattern `projects/{project\}/locations/{location\}/clientTlsPolicies/{client_tls_policy\}` - * name: 'projects/my-project/locations/my-location/clientTlsPolicies/my-clientTlsPolicie', - * // Optional. Field mask is used to specify the fields to be overwritten in the ClientTlsPolicy 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. - * updateMask: 'placeholder-value', + * const res = + * await networksecurity.projects.locations.dnsThreatDetectors.create({ + * // Optional. The ID of the requesting DnsThreatDetector object. If this field is not supplied, the service generates an identifier. + * dnsThreatDetectorId: 'placeholder-value', + * // Required. The value for the parent of the DnsThreatDetector resource. + * parent: 'projects/my-project/locations/my-location', * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "clientCertificate": {}, - * // "createTime": "my_createTime", - * // "description": "my_description", - * // "labels": {}, - * // "name": "my_name", - * // "serverValidationCa": [], - * // "sni": "my_sni", - * // "updateTime": "my_updateTime" - * // } - * }, - * }); + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "createTime": "my_createTime", + * // "excludedNetworks": [], + * // "labels": {}, + * // "name": "my_name", + * // "provider": "my_provider", + * // "updateTime": "my_updateTime" + * // } + * }, + * }); * console.log(res.data); * * // Example response * // { - * // "done": false, - * // "error": {}, - * // "metadata": {}, + * // "createTime": "my_createTime", + * // "excludedNetworks": [], + * // "labels": {}, * // "name": "my_name", - * // "response": {} + * // "provider": "my_provider", + * // "updateTime": "my_updateTime" * // } * } * @@ -14528,54 +15965,54 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - patch( - params: Params$Resource$Projects$Locations$Clienttlspolicies$Patch, + create( + params: Params$Resource$Projects$Locations$Dnsthreatdetectors$Create, options: StreamMethodOptions ): Promise>; - patch( - params?: Params$Resource$Projects$Locations$Clienttlspolicies$Patch, + create( + params?: Params$Resource$Projects$Locations$Dnsthreatdetectors$Create, options?: MethodOptions - ): Promise>; - patch( - params: Params$Resource$Projects$Locations$Clienttlspolicies$Patch, + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Dnsthreatdetectors$Create, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Projects$Locations$Clienttlspolicies$Patch, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + create( + params: Params$Resource$Projects$Locations$Dnsthreatdetectors$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Projects$Locations$Clienttlspolicies$Patch, - callback: BodyResponseCallback + create( + params: Params$Resource$Projects$Locations$Dnsthreatdetectors$Create, + callback: BodyResponseCallback ): void; - patch(callback: BodyResponseCallback): void; - patch( + create(callback: BodyResponseCallback): void; + create( paramsOrCallback?: - | Params$Resource$Projects$Locations$Clienttlspolicies$Patch - | BodyResponseCallback + | Params$Resource$Projects$Locations$Dnsthreatdetectors$Create + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Clienttlspolicies$Patch; + {}) as Params$Resource$Projects$Locations$Dnsthreatdetectors$Create; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Clienttlspolicies$Patch; + {} as Params$Resource$Projects$Locations$Dnsthreatdetectors$Create; options = {}; } @@ -14589,29 +16026,32 @@ export namespace networksecurity_v1beta1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', + url: (rootUrl + '/v1beta1/{+parent}/dnsThreatDetectors').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['name'], - pathParams: ['name'], + requiredParams: ['parent'], + pathParams: ['parent'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. + * Deletes a single DnsThreatDetector. * @example * ```js * // Before running the sample: @@ -14641,29 +16081,14 @@ export namespace networksecurity_v1beta1 { * * // Do the magic * const res = - * await networksecurity.projects.locations.clientTlsPolicies.setIamPolicy({ - * // 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. - * resource: - * 'projects/my-project/locations/my-location/clientTlsPolicies/my-clientTlsPolicie', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "policy": {}, - * // "updateMask": "my_updateMask" - * // } - * }, + * await networksecurity.projects.locations.dnsThreatDetectors.delete({ + * // Required. Name of the DnsThreatDetector resource. + * name: 'projects/my-project/locations/my-location/dnsThreatDetectors/my-dnsThreatDetector', * }); * console.log(res.data); * * // Example response - * // { - * // "auditConfigs": [], - * // "bindings": [], - * // "etag": "my_etag", - * // "version": 0 - * // } + * // {} * } * * main().catch(e => { @@ -14678,56 +16103,54 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - setIamPolicy( - params: Params$Resource$Projects$Locations$Clienttlspolicies$Setiampolicy, + delete( + params: Params$Resource$Projects$Locations$Dnsthreatdetectors$Delete, options: StreamMethodOptions ): Promise>; - setIamPolicy( - params?: Params$Resource$Projects$Locations$Clienttlspolicies$Setiampolicy, + delete( + params?: Params$Resource$Projects$Locations$Dnsthreatdetectors$Delete, options?: MethodOptions - ): Promise>; - setIamPolicy( - params: Params$Resource$Projects$Locations$Clienttlspolicies$Setiampolicy, + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Dnsthreatdetectors$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setIamPolicy( - params: Params$Resource$Projects$Locations$Clienttlspolicies$Setiampolicy, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - setIamPolicy( - params: Params$Resource$Projects$Locations$Clienttlspolicies$Setiampolicy, - callback: BodyResponseCallback + delete( + params: Params$Resource$Projects$Locations$Dnsthreatdetectors$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - setIamPolicy( - callback: BodyResponseCallback + delete( + params: Params$Resource$Projects$Locations$Dnsthreatdetectors$Delete, + callback: BodyResponseCallback ): void; - setIamPolicy( + delete(callback: BodyResponseCallback): void; + delete( paramsOrCallback?: - | Params$Resource$Projects$Locations$Clienttlspolicies$Setiampolicy - | BodyResponseCallback + | Params$Resource$Projects$Locations$Dnsthreatdetectors$Delete + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Clienttlspolicies$Setiampolicy; + {}) as Params$Resource$Projects$Locations$Dnsthreatdetectors$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Clienttlspolicies$Setiampolicy; + {} as Params$Resource$Projects$Locations$Dnsthreatdetectors$Delete; options = {}; } @@ -14741,32 +16164,29 @@ export namespace networksecurity_v1beta1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1beta1/{+resource}:setIamPolicy').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', apiVersion: '', }, options ), params, - requiredParams: ['resource'], - pathParams: ['resource'], + requiredParams: ['name'], + pathParams: ['name'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * 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. + * Gets the details of a single DnsThreatDetector. * @example * ```js * // Before running the sample: @@ -14795,27 +16215,20 @@ export namespace networksecurity_v1beta1 { * google.options({auth: authClient}); * * // Do the magic - * const res = - * await networksecurity.projects.locations.clientTlsPolicies.testIamPermissions( - * { - * // 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. - * resource: - * 'projects/my-project/locations/my-location/clientTlsPolicies/my-clientTlsPolicie', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "permissions": [] - * // } - * }, - * }, - * ); + * const res = await networksecurity.projects.locations.dnsThreatDetectors.get({ + * // Required. Name of the DnsThreatDetector resource. + * name: 'projects/my-project/locations/my-location/dnsThreatDetectors/my-dnsThreatDetector', + * }); * console.log(res.data); * * // Example response * // { - * // "permissions": [] + * // "createTime": "my_createTime", + * // "excludedNetworks": [], + * // "labels": {}, + * // "name": "my_name", + * // "provider": "my_provider", + * // "updateTime": "my_updateTime" * // } * } * @@ -14831,62 +16244,54 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - testIamPermissions( - params: Params$Resource$Projects$Locations$Clienttlspolicies$Testiampermissions, + get( + params: Params$Resource$Projects$Locations$Dnsthreatdetectors$Get, options: StreamMethodOptions ): Promise>; - testIamPermissions( - params?: Params$Resource$Projects$Locations$Clienttlspolicies$Testiampermissions, + get( + params?: Params$Resource$Projects$Locations$Dnsthreatdetectors$Get, options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; - testIamPermissions( - params: Params$Resource$Projects$Locations$Clienttlspolicies$Testiampermissions, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - testIamPermissions( - params: Params$Resource$Projects$Locations$Clienttlspolicies$Testiampermissions, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Dnsthreatdetectors$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - testIamPermissions( - params: Params$Resource$Projects$Locations$Clienttlspolicies$Testiampermissions, - callback: BodyResponseCallback + get( + params: Params$Resource$Projects$Locations$Dnsthreatdetectors$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - testIamPermissions( - callback: BodyResponseCallback + get( + params: Params$Resource$Projects$Locations$Dnsthreatdetectors$Get, + callback: BodyResponseCallback ): void; - testIamPermissions( + get(callback: BodyResponseCallback): void; + get( paramsOrCallback?: - | Params$Resource$Projects$Locations$Clienttlspolicies$Testiampermissions - | BodyResponseCallback + | Params$Resource$Projects$Locations$Dnsthreatdetectors$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise< - GaxiosResponseWithHTTP2 - > + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Clienttlspolicies$Testiampermissions; + {}) as Params$Resource$Projects$Locations$Dnsthreatdetectors$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Clienttlspolicies$Testiampermissions; + {} as Params$Resource$Projects$Locations$Dnsthreatdetectors$Get; options = {}; } @@ -14900,130 +16305,29 @@ export namespace networksecurity_v1beta1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1beta1/{+resource}:testIamPermissions').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['resource'], - pathParams: ['resource'], + requiredParams: ['name'], + pathParams: ['name'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } - } - - export interface Params$Resource$Projects$Locations$Clienttlspolicies$Create extends StandardParameters { - /** - * Required. Short name of the ClientTlsPolicy resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores, and should not start with a number. E.g. "client_mtls_policy". - */ - clientTlsPolicyId?: string; - /** - * Required. The parent resource of the ClientTlsPolicy. Must be in the format `projects/x/locations/{location\}`. - */ - parent?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$ClientTlsPolicy; - } - export interface Params$Resource$Projects$Locations$Clienttlspolicies$Delete extends StandardParameters { - /** - * Required. A name of the ClientTlsPolicy to delete. Must be in the format `projects/x/locations/{location\}/clientTlsPolicies/x`. - */ - name?: string; - } - export interface Params$Resource$Projects$Locations$Clienttlspolicies$Get extends StandardParameters { - /** - * Required. A name of the ClientTlsPolicy to get. Must be in the format `projects/x/locations/{location\}/clientTlsPolicies/x`. - */ - name?: string; - } - export interface Params$Resource$Projects$Locations$Clienttlspolicies$Getiampolicy extends StandardParameters { - /** - * 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). - */ - 'options.requestedPolicyVersion'?: number; - /** - * 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. - */ - resource?: string; - } - export interface Params$Resource$Projects$Locations$Clienttlspolicies$List extends StandardParameters { - /** - * Maximum number of ClientTlsPolicies to return per call. - */ - pageSize?: number; - /** - * The value returned by the last `ListClientTlsPoliciesResponse` Indicates that this is a continuation of a prior `ListClientTlsPolicies` call, and that the system should return the next page of data. - */ - pageToken?: string; - /** - * Required. The project and location from which the ClientTlsPolicies should be listed, specified in the format `projects/x/locations/{location\}`. - */ - parent?: string; - } - export interface Params$Resource$Projects$Locations$Clienttlspolicies$Patch extends StandardParameters { - /** - * Required. Name of the ClientTlsPolicy resource. It matches the pattern `projects/{project\}/locations/{location\}/clientTlsPolicies/{client_tls_policy\}` - */ - name?: string; - /** - * Optional. Field mask is used to specify the fields to be overwritten in the ClientTlsPolicy 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. - */ - updateMask?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$ClientTlsPolicy; - } - export interface Params$Resource$Projects$Locations$Clienttlspolicies$Setiampolicy extends StandardParameters { - /** - * 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. - */ - resource?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$GoogleIamV1SetIamPolicyRequest; - } - export interface Params$Resource$Projects$Locations$Clienttlspolicies$Testiampermissions extends StandardParameters { - /** - * 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. - */ - resource?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$GoogleIamV1TestIamPermissionsRequest; - } - - export class Resource$Projects$Locations$Dnsthreatdetectors { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } /** - * Creates a new DnsThreatDetector in a given project and location. + * Lists DnsThreatDetectors in a given project and location. * @example * ```js * // Before running the sample: @@ -15052,36 +16356,21 @@ export namespace networksecurity_v1beta1 { * google.options({auth: authClient}); * * // Do the magic - * const res = - * await networksecurity.projects.locations.dnsThreatDetectors.create({ - * // Optional. The ID of the requesting DnsThreatDetector object. If this field is not supplied, the service generates an identifier. - * dnsThreatDetectorId: 'placeholder-value', - * // Required. The value for the parent of the DnsThreatDetector resource. - * parent: 'projects/my-project/locations/my-location', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "createTime": "my_createTime", - * // "excludedNetworks": [], - * // "labels": {}, - * // "name": "my_name", - * // "provider": "my_provider", - * // "updateTime": "my_updateTime" - * // } - * }, - * }); + * const res = await networksecurity.projects.locations.dnsThreatDetectors.list({ + * // Optional. The requested page size. The server may return fewer items than requested. If unspecified, the server picks an appropriate default. + * pageSize: 'placeholder-value', + * // Optional. A page token received from a previous `ListDnsThreatDetectorsRequest` call. Provide this to retrieve the subsequent page. + * pageToken: 'placeholder-value', + * // Required. The parent value for `ListDnsThreatDetectorsRequest`. + * parent: 'projects/my-project/locations/my-location', + * }); * console.log(res.data); * * // Example response * // { - * // "createTime": "my_createTime", - * // "excludedNetworks": [], - * // "labels": {}, - * // "name": "my_name", - * // "provider": "my_provider", - * // "updateTime": "my_updateTime" + * // "dnsThreatDetectors": [], + * // "nextPageToken": "my_nextPageToken", + * // "unreachable": [] * // } * } * @@ -15097,54 +16386,58 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - create( - params: Params$Resource$Projects$Locations$Dnsthreatdetectors$Create, + list( + params: Params$Resource$Projects$Locations$Dnsthreatdetectors$List, options: StreamMethodOptions ): Promise>; - create( - params?: Params$Resource$Projects$Locations$Dnsthreatdetectors$Create, + list( + params?: Params$Resource$Projects$Locations$Dnsthreatdetectors$List, options?: MethodOptions - ): Promise>; - create( - params: Params$Resource$Projects$Locations$Dnsthreatdetectors$Create, + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Dnsthreatdetectors$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Projects$Locations$Dnsthreatdetectors$Create, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + list( + params: Params$Resource$Projects$Locations$Dnsthreatdetectors$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Projects$Locations$Dnsthreatdetectors$Create, - callback: BodyResponseCallback + list( + params: Params$Resource$Projects$Locations$Dnsthreatdetectors$List, + callback: BodyResponseCallback ): void; - create(callback: BodyResponseCallback): void; - create( + list( + callback: BodyResponseCallback + ): void; + list( paramsOrCallback?: - | Params$Resource$Projects$Locations$Dnsthreatdetectors$Create - | BodyResponseCallback + | Params$Resource$Projects$Locations$Dnsthreatdetectors$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Dnsthreatdetectors$Create; + {}) as Params$Resource$Projects$Locations$Dnsthreatdetectors$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Dnsthreatdetectors$Create; + {} as Params$Resource$Projects$Locations$Dnsthreatdetectors$List; options = {}; } @@ -15162,7 +16455,7 @@ export namespace networksecurity_v1beta1 { /([^:]\/)\/+/g, '$1' ), - method: 'POST', + method: 'GET', apiVersion: '', }, options @@ -15173,17 +16466,19 @@ export namespace networksecurity_v1beta1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); } } /** - * Deletes a single DnsThreatDetector. + * Updates a single DnsThreatDetector. * @example * ```js * // Before running the sample: @@ -15212,15 +16507,38 @@ export namespace networksecurity_v1beta1 { * google.options({auth: authClient}); * * // Do the magic - * const res = - * await networksecurity.projects.locations.dnsThreatDetectors.delete({ - * // Required. Name of the DnsThreatDetector resource. + * const res = await networksecurity.projects.locations.dnsThreatDetectors.patch( + * { + * // Immutable. Identifier. Name of the DnsThreatDetector resource. * name: 'projects/my-project/locations/my-location/dnsThreatDetectors/my-dnsThreatDetector', - * }); + * // Optional. The field mask is used to specify the fields to be overwritten in the DnsThreatDetector 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 mask is not provided then all fields present in the request will be overwritten. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "createTime": "my_createTime", + * // "excludedNetworks": [], + * // "labels": {}, + * // "name": "my_name", + * // "provider": "my_provider", + * // "updateTime": "my_updateTime" + * // } + * }, + * }, + * ); * console.log(res.data); * * // Example response - * // {} + * // { + * // "createTime": "my_createTime", + * // "excludedNetworks": [], + * // "labels": {}, + * // "name": "my_name", + * // "provider": "my_provider", + * // "updateTime": "my_updateTime" + * // } * } * * main().catch(e => { @@ -15235,54 +16553,54 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - delete( - params: Params$Resource$Projects$Locations$Dnsthreatdetectors$Delete, + patch( + params: Params$Resource$Projects$Locations$Dnsthreatdetectors$Patch, options: StreamMethodOptions ): Promise>; - delete( - params?: Params$Resource$Projects$Locations$Dnsthreatdetectors$Delete, + patch( + params?: Params$Resource$Projects$Locations$Dnsthreatdetectors$Patch, options?: MethodOptions - ): Promise>; - delete( - params: Params$Resource$Projects$Locations$Dnsthreatdetectors$Delete, + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Dnsthreatdetectors$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Projects$Locations$Dnsthreatdetectors$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + patch( + params: Params$Resource$Projects$Locations$Dnsthreatdetectors$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Projects$Locations$Dnsthreatdetectors$Delete, - callback: BodyResponseCallback + patch( + params: Params$Resource$Projects$Locations$Dnsthreatdetectors$Patch, + callback: BodyResponseCallback ): void; - delete(callback: BodyResponseCallback): void; - delete( + patch(callback: BodyResponseCallback): void; + patch( paramsOrCallback?: - | Params$Resource$Projects$Locations$Dnsthreatdetectors$Delete - | BodyResponseCallback + | Params$Resource$Projects$Locations$Dnsthreatdetectors$Patch + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Dnsthreatdetectors$Delete; + {}) as Params$Resource$Projects$Locations$Dnsthreatdetectors$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Dnsthreatdetectors$Delete; + {} as Params$Resource$Projects$Locations$Dnsthreatdetectors$Patch; options = {}; } @@ -15297,7 +16615,7 @@ export namespace networksecurity_v1beta1 { options: Object.assign( { url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', + method: 'PATCH', apiVersion: '', }, options @@ -15308,17 +16626,81 @@ export namespace networksecurity_v1beta1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } + } + export interface Params$Resource$Projects$Locations$Dnsthreatdetectors$Create extends StandardParameters { /** - * Gets the details of a single DnsThreatDetector. + * Optional. The ID of the requesting DnsThreatDetector object. If this field is not supplied, the service generates an identifier. + */ + dnsThreatDetectorId?: string; + /** + * Required. The value for the parent of the DnsThreatDetector resource. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$DnsThreatDetector; + } + export interface Params$Resource$Projects$Locations$Dnsthreatdetectors$Delete extends StandardParameters { + /** + * Required. Name of the DnsThreatDetector resource. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Dnsthreatdetectors$Get extends StandardParameters { + /** + * Required. Name of the DnsThreatDetector resource. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Dnsthreatdetectors$List extends StandardParameters { + /** + * Optional. The requested page size. The server may return fewer items than requested. If unspecified, the server picks an appropriate default. + */ + pageSize?: number; + /** + * Optional. A page token received from a previous `ListDnsThreatDetectorsRequest` call. Provide this to retrieve the subsequent page. + */ + pageToken?: string; + /** + * Required. The parent value for `ListDnsThreatDetectorsRequest`. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Dnsthreatdetectors$Patch extends StandardParameters { + /** + * Immutable. Identifier. Name of the DnsThreatDetector resource. + */ + name?: string; + /** + * Optional. The field mask is used to specify the fields to be overwritten in the DnsThreatDetector 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 mask is not provided then all fields present in the request will be overwritten. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$DnsThreatDetector; + } + + export class Resource$Projects$Locations$Firewallendpointassociations { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a new FirewallEndpointAssociation in a given project and location. * @example * ```js * // Before running the sample: @@ -15347,20 +16729,43 @@ export namespace networksecurity_v1beta1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await networksecurity.projects.locations.dnsThreatDetectors.get({ - * // Required. Name of the DnsThreatDetector resource. - * name: 'projects/my-project/locations/my-location/dnsThreatDetectors/my-dnsThreatDetector', - * }); + * const res = + * await networksecurity.projects.locations.firewallEndpointAssociations.create( + * { + * // Optional. Id of the requesting object. If auto-generating Id server-side, remove this field and firewall_endpoint_association_id from the method_signature of Create RPC. + * firewallEndpointAssociationId: 'placeholder-value', + * // Required. Value for parent. + * parent: 'projects/my-project/locations/my-location', + * // 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). + * requestId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "createTime": "my_createTime", + * // "disabled": false, + * // "firewallEndpoint": "my_firewallEndpoint", + * // "labels": {}, + * // "name": "my_name", + * // "network": "my_network", + * // "reconciling": false, + * // "state": "my_state", + * // "tlsInspectionPolicy": "my_tlsInspectionPolicy", + * // "updateTime": "my_updateTime" + * // } + * }, + * }, + * ); * console.log(res.data); * * // Example response * // { - * // "createTime": "my_createTime", - * // "excludedNetworks": [], - * // "labels": {}, + * // "done": false, + * // "error": {}, + * // "metadata": {}, * // "name": "my_name", - * // "provider": "my_provider", - * // "updateTime": "my_updateTime" + * // "response": {} * // } * } * @@ -15376,54 +16781,54 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - get( - params: Params$Resource$Projects$Locations$Dnsthreatdetectors$Get, + create( + params: Params$Resource$Projects$Locations$Firewallendpointassociations$Create, options: StreamMethodOptions ): Promise>; - get( - params?: Params$Resource$Projects$Locations$Dnsthreatdetectors$Get, + create( + params?: Params$Resource$Projects$Locations$Firewallendpointassociations$Create, options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Projects$Locations$Dnsthreatdetectors$Get, + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Firewallendpointassociations$Create, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Projects$Locations$Dnsthreatdetectors$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + create( + params: Params$Resource$Projects$Locations$Firewallendpointassociations$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Projects$Locations$Dnsthreatdetectors$Get, - callback: BodyResponseCallback + create( + params: Params$Resource$Projects$Locations$Firewallendpointassociations$Create, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; - get( + create(callback: BodyResponseCallback): void; + create( paramsOrCallback?: - | Params$Resource$Projects$Locations$Dnsthreatdetectors$Get - | BodyResponseCallback + | Params$Resource$Projects$Locations$Firewallendpointassociations$Create + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Dnsthreatdetectors$Get; + {}) as Params$Resource$Projects$Locations$Firewallendpointassociations$Create; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Dnsthreatdetectors$Get; + {} as Params$Resource$Projects$Locations$Firewallendpointassociations$Create; options = {}; } @@ -15437,29 +16842,31 @@ export namespace networksecurity_v1beta1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + url: ( + rootUrl + '/v1beta1/{+parent}/firewallEndpointAssociations' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['name'], - pathParams: ['name'], + requiredParams: ['parent'], + pathParams: ['parent'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Lists DnsThreatDetectors in a given project and location. + * Deletes a single FirewallEndpointAssociation. * @example * ```js * // Before running the sample: @@ -15484,25 +16891,28 @@ export namespace networksecurity_v1beta1 { * }); * * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await networksecurity.projects.locations.dnsThreatDetectors.list({ - * // Optional. The requested page size. The server may return fewer items than requested. If unspecified, the server picks an appropriate default. - * pageSize: 'placeholder-value', - * // Optional. A page token received from a previous `ListDnsThreatDetectorsRequest` call. Provide this to retrieve the subsequent page. - * pageToken: 'placeholder-value', - * // Required. The parent value for `ListDnsThreatDetectorsRequest`. - * parent: 'projects/my-project/locations/my-location', - * }); + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await networksecurity.projects.locations.firewallEndpointAssociations.delete( + * { + * // Required. Name of the resource + * name: 'projects/my-project/locations/my-location/firewallEndpointAssociations/my-firewallEndpointAssociation', + * // 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). + * requestId: 'placeholder-value', + * }, + * ); * console.log(res.data); * * // Example response * // { - * // "dnsThreatDetectors": [], - * // "nextPageToken": "my_nextPageToken", - * // "unreachable": [] + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} * // } * } * @@ -15518,58 +16928,54 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - list( - params: Params$Resource$Projects$Locations$Dnsthreatdetectors$List, + delete( + params: Params$Resource$Projects$Locations$Firewallendpointassociations$Delete, options: StreamMethodOptions ): Promise>; - list( - params?: Params$Resource$Projects$Locations$Dnsthreatdetectors$List, + delete( + params?: Params$Resource$Projects$Locations$Firewallendpointassociations$Delete, options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Projects$Locations$Dnsthreatdetectors$List, + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Firewallendpointassociations$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Projects$Locations$Dnsthreatdetectors$List, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Projects$Locations$Dnsthreatdetectors$List, - callback: BodyResponseCallback + delete( + params: Params$Resource$Projects$Locations$Firewallendpointassociations$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - list( - callback: BodyResponseCallback + delete( + params: Params$Resource$Projects$Locations$Firewallendpointassociations$Delete, + callback: BodyResponseCallback ): void; - list( + delete(callback: BodyResponseCallback): void; + delete( paramsOrCallback?: - | Params$Resource$Projects$Locations$Dnsthreatdetectors$List - | BodyResponseCallback + | Params$Resource$Projects$Locations$Firewallendpointassociations$Delete + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Dnsthreatdetectors$List; + {}) as Params$Resource$Projects$Locations$Firewallendpointassociations$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Dnsthreatdetectors$List; + {} as Params$Resource$Projects$Locations$Firewallendpointassociations$Delete; options = {}; } @@ -15583,34 +16989,29 @@ export namespace networksecurity_v1beta1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1beta1/{+parent}/dnsThreatDetectors').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'GET', + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', apiVersion: '', }, options ), params, - requiredParams: ['parent'], - pathParams: ['parent'], + requiredParams: ['name'], + pathParams: ['name'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } /** - * Updates a single DnsThreatDetector. + * Gets details of a single FirewallEndpointAssociation. * @example * ```js * // Before running the sample: @@ -15639,36 +17040,24 @@ export namespace networksecurity_v1beta1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await networksecurity.projects.locations.dnsThreatDetectors.patch( - * { - * // Immutable. Identifier. Name of the DnsThreatDetector resource. - * name: 'projects/my-project/locations/my-location/dnsThreatDetectors/my-dnsThreatDetector', - * // Optional. The field mask is used to specify the fields to be overwritten in the DnsThreatDetector 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 mask is not provided then all fields present in the request will be overwritten. - * updateMask: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "createTime": "my_createTime", - * // "excludedNetworks": [], - * // "labels": {}, - * // "name": "my_name", - * // "provider": "my_provider", - * // "updateTime": "my_updateTime" - * // } - * }, - * }, - * ); + * const res = + * await networksecurity.projects.locations.firewallEndpointAssociations.get({ + * // Required. Name of the resource + * name: 'projects/my-project/locations/my-location/firewallEndpointAssociations/my-firewallEndpointAssociation', + * }); * console.log(res.data); * * // Example response * // { * // "createTime": "my_createTime", - * // "excludedNetworks": [], + * // "disabled": false, + * // "firewallEndpoint": "my_firewallEndpoint", * // "labels": {}, * // "name": "my_name", - * // "provider": "my_provider", + * // "network": "my_network", + * // "reconciling": false, + * // "state": "my_state", + * // "tlsInspectionPolicy": "my_tlsInspectionPolicy", * // "updateTime": "my_updateTime" * // } * } @@ -15685,54 +17074,58 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - patch( - params: Params$Resource$Projects$Locations$Dnsthreatdetectors$Patch, + get( + params: Params$Resource$Projects$Locations$Firewallendpointassociations$Get, options: StreamMethodOptions ): Promise>; - patch( - params?: Params$Resource$Projects$Locations$Dnsthreatdetectors$Patch, + get( + params?: Params$Resource$Projects$Locations$Firewallendpointassociations$Get, options?: MethodOptions - ): Promise>; - patch( - params: Params$Resource$Projects$Locations$Dnsthreatdetectors$Patch, + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Firewallendpointassociations$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Projects$Locations$Dnsthreatdetectors$Patch, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + get( + params: Params$Resource$Projects$Locations$Firewallendpointassociations$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Projects$Locations$Dnsthreatdetectors$Patch, - callback: BodyResponseCallback + get( + params: Params$Resource$Projects$Locations$Firewallendpointassociations$Get, + callback: BodyResponseCallback ): void; - patch(callback: BodyResponseCallback): void; - patch( + get( + callback: BodyResponseCallback + ): void; + get( paramsOrCallback?: - | Params$Resource$Projects$Locations$Dnsthreatdetectors$Patch - | BodyResponseCallback + | Params$Resource$Projects$Locations$Firewallendpointassociations$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Dnsthreatdetectors$Patch; + {}) as Params$Resource$Projects$Locations$Firewallendpointassociations$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Dnsthreatdetectors$Patch; + {} as Params$Resource$Projects$Locations$Firewallendpointassociations$Get; options = {}; } @@ -15747,92 +17140,28 @@ export namespace networksecurity_v1beta1 { options: Object.assign( { url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['name'], - pathParams: ['name'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Projects$Locations$Dnsthreatdetectors$Create extends StandardParameters { - /** - * Optional. The ID of the requesting DnsThreatDetector object. If this field is not supplied, the service generates an identifier. - */ - dnsThreatDetectorId?: string; - /** - * Required. The value for the parent of the DnsThreatDetector resource. - */ - parent?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$DnsThreatDetector; - } - export interface Params$Resource$Projects$Locations$Dnsthreatdetectors$Delete extends StandardParameters { - /** - * Required. Name of the DnsThreatDetector resource. - */ - name?: string; - } - export interface Params$Resource$Projects$Locations$Dnsthreatdetectors$Get extends StandardParameters { - /** - * Required. Name of the DnsThreatDetector resource. - */ - name?: string; - } - export interface Params$Resource$Projects$Locations$Dnsthreatdetectors$List extends StandardParameters { - /** - * Optional. The requested page size. The server may return fewer items than requested. If unspecified, the server picks an appropriate default. - */ - pageSize?: number; - /** - * Optional. A page token received from a previous `ListDnsThreatDetectorsRequest` call. Provide this to retrieve the subsequent page. - */ - pageToken?: string; - /** - * Required. The parent value for `ListDnsThreatDetectorsRequest`. - */ - parent?: string; - } - export interface Params$Resource$Projects$Locations$Dnsthreatdetectors$Patch extends StandardParameters { - /** - * Immutable. Identifier. Name of the DnsThreatDetector resource. - */ - name?: string; - /** - * Optional. The field mask is used to specify the fields to be overwritten in the DnsThreatDetector 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 mask is not provided then all fields present in the request will be overwritten. - */ - updateMask?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$DnsThreatDetector; - } - - export class Resource$Projects$Locations$Firewallendpointassociations { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } } /** - * Creates a new FirewallEndpointAssociation in a given project and location. + * Lists Associations in a given project and location. * @example * ```js * // Before running the sample: @@ -15862,42 +17191,25 @@ export namespace networksecurity_v1beta1 { * * // Do the magic * const res = - * await networksecurity.projects.locations.firewallEndpointAssociations.create( - * { - * // Optional. Id of the requesting object. If auto-generating Id server-side, remove this field and firewall_endpoint_association_id from the method_signature of Create RPC. - * firewallEndpointAssociationId: 'placeholder-value', - * // Required. Value for parent. - * parent: 'projects/my-project/locations/my-location', - * // 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). - * requestId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "createTime": "my_createTime", - * // "disabled": false, - * // "firewallEndpoint": "my_firewallEndpoint", - * // "labels": {}, - * // "name": "my_name", - * // "network": "my_network", - * // "reconciling": false, - * // "state": "my_state", - * // "tlsInspectionPolicy": "my_tlsInspectionPolicy", - * // "updateTime": "my_updateTime" - * // } - * }, - * }, - * ); + * await networksecurity.projects.locations.firewallEndpointAssociations.list({ + * // Optional. Filtering results + * filter: 'placeholder-value', + * // Hint for how to order the results + * orderBy: 'placeholder-value', + * // Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + * pageSize: 'placeholder-value', + * // A token identifying a page of results the server should return. + * pageToken: 'placeholder-value', + * // Required. Parent value for ListAssociationsRequest + * parent: 'projects/my-project/locations/my-location', + * }); * console.log(res.data); * * // Example response * // { - * // "done": false, - * // "error": {}, - * // "metadata": {}, - * // "name": "my_name", - * // "response": {} + * // "firewallEndpointAssociations": [], + * // "nextPageToken": "my_nextPageToken", + * // "unreachable": [] * // } * } * @@ -15913,54 +17225,62 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - create( - params: Params$Resource$Projects$Locations$Firewallendpointassociations$Create, + list( + params: Params$Resource$Projects$Locations$Firewallendpointassociations$List, options: StreamMethodOptions ): Promise>; - create( - params?: Params$Resource$Projects$Locations$Firewallendpointassociations$Create, + list( + params?: Params$Resource$Projects$Locations$Firewallendpointassociations$List, options?: MethodOptions - ): Promise>; - create( - params: Params$Resource$Projects$Locations$Firewallendpointassociations$Create, + ): Promise< + GaxiosResponseWithHTTP2 + >; + list( + params: Params$Resource$Projects$Locations$Firewallendpointassociations$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Projects$Locations$Firewallendpointassociations$Create, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + list( + params: Params$Resource$Projects$Locations$Firewallendpointassociations$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Projects$Locations$Firewallendpointassociations$Create, - callback: BodyResponseCallback + list( + params: Params$Resource$Projects$Locations$Firewallendpointassociations$List, + callback: BodyResponseCallback ): void; - create(callback: BodyResponseCallback): void; - create( + list( + callback: BodyResponseCallback + ): void; + list( paramsOrCallback?: - | Params$Resource$Projects$Locations$Firewallendpointassociations$Create - | BodyResponseCallback + | Params$Resource$Projects$Locations$Firewallendpointassociations$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise< + GaxiosResponseWithHTTP2 + > | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Firewallendpointassociations$Create; + {}) as Params$Resource$Projects$Locations$Firewallendpointassociations$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Firewallendpointassociations$Create; + {} as Params$Resource$Projects$Locations$Firewallendpointassociations$List; options = {}; } @@ -15977,7 +17297,7 @@ export namespace networksecurity_v1beta1 { url: ( rootUrl + '/v1beta1/{+parent}/firewallEndpointAssociations' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options @@ -15988,17 +17308,19 @@ export namespace networksecurity_v1beta1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); } } /** - * Deletes a single FirewallEndpointAssociation. + * Update a single FirewallEndpointAssociation. * @example * ```js * // Before running the sample: @@ -16028,12 +17350,31 @@ export namespace networksecurity_v1beta1 { * * // Do the magic * const res = - * await networksecurity.projects.locations.firewallEndpointAssociations.delete( + * await networksecurity.projects.locations.firewallEndpointAssociations.patch( * { - * // Required. Name of the resource + * // Immutable. Identifier. name of resource * name: 'projects/my-project/locations/my-location/firewallEndpointAssociations/my-firewallEndpointAssociation', - * // 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). + * // 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). * requestId: 'placeholder-value', + * // Required. Field mask is used to specify the fields to be overwritten in the Association 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. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "createTime": "my_createTime", + * // "disabled": false, + * // "firewallEndpoint": "my_firewallEndpoint", + * // "labels": {}, + * // "name": "my_name", + * // "network": "my_network", + * // "reconciling": false, + * // "state": "my_state", + * // "tlsInspectionPolicy": "my_tlsInspectionPolicy", + * // "updateTime": "my_updateTime" + * // } + * }, * }, * ); * console.log(res.data); @@ -16060,32 +17401,32 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - delete( - params: Params$Resource$Projects$Locations$Firewallendpointassociations$Delete, + patch( + params: Params$Resource$Projects$Locations$Firewallendpointassociations$Patch, options: StreamMethodOptions ): Promise>; - delete( - params?: Params$Resource$Projects$Locations$Firewallendpointassociations$Delete, + patch( + params?: Params$Resource$Projects$Locations$Firewallendpointassociations$Patch, options?: MethodOptions ): Promise>; - delete( - params: Params$Resource$Projects$Locations$Firewallendpointassociations$Delete, + patch( + params: Params$Resource$Projects$Locations$Firewallendpointassociations$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Projects$Locations$Firewallendpointassociations$Delete, + patch( + params: Params$Resource$Projects$Locations$Firewallendpointassociations$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Projects$Locations$Firewallendpointassociations$Delete, + patch( + params: Params$Resource$Projects$Locations$Firewallendpointassociations$Patch, callback: BodyResponseCallback ): void; - delete(callback: BodyResponseCallback): void; - delete( + patch(callback: BodyResponseCallback): void; + patch( paramsOrCallback?: - | Params$Resource$Projects$Locations$Firewallendpointassociations$Delete + | Params$Resource$Projects$Locations$Firewallendpointassociations$Patch | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -16101,49 +17442,138 @@ export namespace networksecurity_v1beta1 { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Firewallendpointassociations$Delete; + {}) as Params$Resource$Projects$Locations$Firewallendpointassociations$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Firewallendpointassociations$Delete; + {} as Params$Resource$Projects$Locations$Firewallendpointassociations$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; options = {}; } - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } + const rootUrl = + options.rootUrl || 'https://networksecurity.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Firewallendpointassociations$Create extends StandardParameters { + /** + * Optional. Id of the requesting object. If auto-generating Id server-side, remove this field and firewall_endpoint_association_id from the method_signature of Create RPC. + */ + firewallEndpointAssociationId?: string; + /** + * Required. Value for parent. + */ + parent?: string; + /** + * 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). + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$FirewallEndpointAssociation; + } + export interface Params$Resource$Projects$Locations$Firewallendpointassociations$Delete extends StandardParameters { + /** + * Required. Name of the resource + */ + name?: string; + /** + * 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). + */ + requestId?: string; + } + export interface Params$Resource$Projects$Locations$Firewallendpointassociations$Get extends StandardParameters { + /** + * Required. Name of the resource + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Firewallendpointassociations$List extends StandardParameters { + /** + * Optional. Filtering results + */ + filter?: string; + /** + * Hint for how to order the results + */ + orderBy?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * A token identifying a page of results the server should return. + */ + pageToken?: string; + /** + * Required. Parent value for ListAssociationsRequest + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Firewallendpointassociations$Patch extends StandardParameters { + /** + * Immutable. Identifier. name of resource + */ + name?: string; + /** + * 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). + */ + requestId?: string; + /** + * Required. Field mask is used to specify the fields to be overwritten in the Association 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. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$FirewallEndpointAssociation; + } - const rootUrl = - options.rootUrl || 'https://networksecurity.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['name'], - pathParams: ['name'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback + export class Resource$Projects$Locations$Firewallendpoints { + context: APIRequestContext; + wildfireVerdictChangeRequests: Resource$Projects$Locations$Firewallendpoints$Wildfireverdictchangerequests; + constructor(context: APIRequestContext) { + this.context = context; + this.wildfireVerdictChangeRequests = + new Resource$Projects$Locations$Firewallendpoints$Wildfireverdictchangerequests( + this.context ); - } else { - return createAPIRequest(parameters); - } } /** - * Gets details of a single FirewallEndpointAssociation. + * Creates a new FirewallEndpoint in a given project and location. * @example * ```js * // Before running the sample: @@ -16172,25 +17602,46 @@ export namespace networksecurity_v1beta1 { * google.options({auth: authClient}); * * // Do the magic - * const res = - * await networksecurity.projects.locations.firewallEndpointAssociations.get({ - * // Required. Name of the resource - * name: 'projects/my-project/locations/my-location/firewallEndpointAssociations/my-firewallEndpointAssociation', - * }); + * const res = await networksecurity.projects.locations.firewallEndpoints.create( + * { + * // Required. Id of the requesting object. If auto-generating Id server-side, remove this field and firewall_endpoint_id from the method_signature of Create RPC. + * firewallEndpointId: 'placeholder-value', + * // Required. Value for parent. + * parent: 'projects/my-project/locations/my-location', + * // 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). + * requestId: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "associatedNetworks": [], + * // "associations": [], + * // "billingProjectId": "my_billingProjectId", + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "endpointSettings": {}, + * // "labels": {}, + * // "name": "my_name", + * // "reconciling": false, + * // "satisfiesPzi": false, + * // "satisfiesPzs": false, + * // "state": "my_state", + * // "updateTime": "my_updateTime", + * // "wildfireSettings": {} + * // } + * }, + * }, + * ); * console.log(res.data); * * // Example response * // { - * // "createTime": "my_createTime", - * // "disabled": false, - * // "firewallEndpoint": "my_firewallEndpoint", - * // "labels": {}, + * // "done": false, + * // "error": {}, + * // "metadata": {}, * // "name": "my_name", - * // "network": "my_network", - * // "reconciling": false, - * // "state": "my_state", - * // "tlsInspectionPolicy": "my_tlsInspectionPolicy", - * // "updateTime": "my_updateTime" + * // "response": {} * // } * } * @@ -16206,58 +17657,54 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - get( - params: Params$Resource$Projects$Locations$Firewallendpointassociations$Get, + create( + params: Params$Resource$Projects$Locations$Firewallendpoints$Create, options: StreamMethodOptions ): Promise>; - get( - params?: Params$Resource$Projects$Locations$Firewallendpointassociations$Get, + create( + params?: Params$Resource$Projects$Locations$Firewallendpoints$Create, options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Projects$Locations$Firewallendpointassociations$Get, + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Firewallendpoints$Create, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Projects$Locations$Firewallendpointassociations$Get, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Projects$Locations$Firewallendpointassociations$Get, - callback: BodyResponseCallback + create( + params: Params$Resource$Projects$Locations$Firewallendpoints$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - get( - callback: BodyResponseCallback + create( + params: Params$Resource$Projects$Locations$Firewallendpoints$Create, + callback: BodyResponseCallback ): void; - get( + create(callback: BodyResponseCallback): void; + create( paramsOrCallback?: - | Params$Resource$Projects$Locations$Firewallendpointassociations$Get - | BodyResponseCallback + | Params$Resource$Projects$Locations$Firewallendpoints$Create + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Firewallendpointassociations$Get; + {}) as Params$Resource$Projects$Locations$Firewallendpoints$Create; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Firewallendpointassociations$Get; + {} as Params$Resource$Projects$Locations$Firewallendpoints$Create; options = {}; } @@ -16271,29 +17718,32 @@ export namespace networksecurity_v1beta1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + url: (rootUrl + '/v1beta1/{+parent}/firewallEndpoints').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['name'], - pathParams: ['name'], + requiredParams: ['parent'], + pathParams: ['parent'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Lists Associations in a given project and location. + * Deletes a single project Endpoint. * @example * ```js * // Before running the sample: @@ -16322,26 +17772,23 @@ export namespace networksecurity_v1beta1 { * google.options({auth: authClient}); * * // Do the magic - * const res = - * await networksecurity.projects.locations.firewallEndpointAssociations.list({ - * // Optional. Filtering results - * filter: 'placeholder-value', - * // Hint for how to order the results - * orderBy: 'placeholder-value', - * // Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. - * pageSize: 'placeholder-value', - * // A token identifying a page of results the server should return. - * pageToken: 'placeholder-value', - * // Required. Parent value for ListAssociationsRequest - * parent: 'projects/my-project/locations/my-location', - * }); + * const res = await networksecurity.projects.locations.firewallEndpoints.delete( + * { + * // Required. Name of the resource + * name: 'projects/my-project/locations/my-location/firewallEndpoints/my-firewallEndpoint', + * // 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). + * requestId: 'placeholder-value', + * }, + * ); * console.log(res.data); * * // Example response * // { - * // "firewallEndpointAssociations": [], - * // "nextPageToken": "my_nextPageToken", - * // "unreachable": [] + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} * // } * } * @@ -16357,62 +17804,54 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - list( - params: Params$Resource$Projects$Locations$Firewallendpointassociations$List, + delete( + params: Params$Resource$Projects$Locations$Firewallendpoints$Delete, options: StreamMethodOptions ): Promise>; - list( - params?: Params$Resource$Projects$Locations$Firewallendpointassociations$List, + delete( + params?: Params$Resource$Projects$Locations$Firewallendpoints$Delete, options?: MethodOptions - ): Promise< - GaxiosResponseWithHTTP2 - >; - list( - params: Params$Resource$Projects$Locations$Firewallendpointassociations$List, + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Firewallendpoints$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Projects$Locations$Firewallendpointassociations$List, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Projects$Locations$Firewallendpointassociations$List, - callback: BodyResponseCallback + delete( + params: Params$Resource$Projects$Locations$Firewallendpoints$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - list( - callback: BodyResponseCallback + delete( + params: Params$Resource$Projects$Locations$Firewallendpoints$Delete, + callback: BodyResponseCallback ): void; - list( + delete(callback: BodyResponseCallback): void; + delete( paramsOrCallback?: - | Params$Resource$Projects$Locations$Firewallendpointassociations$List - | BodyResponseCallback + | Params$Resource$Projects$Locations$Firewallendpoints$Delete + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise< - GaxiosResponseWithHTTP2 - > + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Firewallendpointassociations$List; + {}) as Params$Resource$Projects$Locations$Firewallendpoints$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Firewallendpointassociations$List; + {} as Params$Resource$Projects$Locations$Firewallendpoints$Delete; options = {}; } @@ -16426,33 +17865,29 @@ export namespace networksecurity_v1beta1 { const parameters = { options: Object.assign( { - url: ( - rootUrl + '/v1beta1/{+parent}/firewallEndpointAssociations' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', apiVersion: '', }, options ), params, - requiredParams: ['parent'], - pathParams: ['parent'], + requiredParams: ['name'], + pathParams: ['name'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } /** - * Update a single FirewallEndpointAssociation. + * Gets details of a single project Endpoint. * @example * ```js * // Before running the sample: @@ -16481,43 +17916,28 @@ export namespace networksecurity_v1beta1 { * google.options({auth: authClient}); * * // Do the magic - * const res = - * await networksecurity.projects.locations.firewallEndpointAssociations.patch( - * { - * // Immutable. Identifier. name of resource - * name: 'projects/my-project/locations/my-location/firewallEndpointAssociations/my-firewallEndpointAssociation', - * // 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). - * requestId: 'placeholder-value', - * // Required. Field mask is used to specify the fields to be overwritten in the Association 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. - * updateMask: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "createTime": "my_createTime", - * // "disabled": false, - * // "firewallEndpoint": "my_firewallEndpoint", - * // "labels": {}, - * // "name": "my_name", - * // "network": "my_network", - * // "reconciling": false, - * // "state": "my_state", - * // "tlsInspectionPolicy": "my_tlsInspectionPolicy", - * // "updateTime": "my_updateTime" - * // } - * }, - * }, - * ); + * const res = await networksecurity.projects.locations.firewallEndpoints.get({ + * // Required. Name of the resource + * name: 'projects/my-project/locations/my-location/firewallEndpoints/my-firewallEndpoint', + * }); * console.log(res.data); * * // Example response * // { - * // "done": false, - * // "error": {}, - * // "metadata": {}, + * // "associatedNetworks": [], + * // "associations": [], + * // "billingProjectId": "my_billingProjectId", + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "endpointSettings": {}, + * // "labels": {}, * // "name": "my_name", - * // "response": {} + * // "reconciling": false, + * // "satisfiesPzi": false, + * // "satisfiesPzs": false, + * // "state": "my_state", + * // "updateTime": "my_updateTime", + * // "wildfireSettings": {} * // } * } * @@ -16533,54 +17953,53 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - patch( - params: Params$Resource$Projects$Locations$Firewallendpointassociations$Patch, + get( + params: Params$Resource$Projects$Locations$Firewallendpoints$Get, options: StreamMethodOptions ): Promise>; - patch( - params?: Params$Resource$Projects$Locations$Firewallendpointassociations$Patch, + get( + params?: Params$Resource$Projects$Locations$Firewallendpoints$Get, options?: MethodOptions - ): Promise>; - patch( - params: Params$Resource$Projects$Locations$Firewallendpointassociations$Patch, + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Firewallendpoints$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Projects$Locations$Firewallendpointassociations$Patch, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + get( + params: Params$Resource$Projects$Locations$Firewallendpoints$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Projects$Locations$Firewallendpointassociations$Patch, - callback: BodyResponseCallback + get( + params: Params$Resource$Projects$Locations$Firewallendpoints$Get, + callback: BodyResponseCallback ): void; - patch(callback: BodyResponseCallback): void; - patch( + get(callback: BodyResponseCallback): void; + get( paramsOrCallback?: - | Params$Resource$Projects$Locations$Firewallendpointassociations$Patch - | BodyResponseCallback + | Params$Resource$Projects$Locations$Firewallendpoints$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Firewallendpointassociations$Patch; + {}) as Params$Resource$Projects$Locations$Firewallendpoints$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Firewallendpointassociations$Patch; + params = {} as Params$Resource$Projects$Locations$Firewallendpoints$Get; options = {}; } @@ -16595,7 +18014,7 @@ export namespace networksecurity_v1beta1 { options: Object.assign( { url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', + method: 'GET', apiVersion: '', }, options @@ -16606,101 +18025,17 @@ export namespace networksecurity_v1beta1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } - } - - export interface Params$Resource$Projects$Locations$Firewallendpointassociations$Create extends StandardParameters { - /** - * Optional. Id of the requesting object. If auto-generating Id server-side, remove this field and firewall_endpoint_association_id from the method_signature of Create RPC. - */ - firewallEndpointAssociationId?: string; - /** - * Required. Value for parent. - */ - parent?: string; - /** - * 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). - */ - requestId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$FirewallEndpointAssociation; - } - export interface Params$Resource$Projects$Locations$Firewallendpointassociations$Delete extends StandardParameters { - /** - * Required. Name of the resource - */ - name?: string; - /** - * 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). - */ - requestId?: string; - } - export interface Params$Resource$Projects$Locations$Firewallendpointassociations$Get extends StandardParameters { - /** - * Required. Name of the resource - */ - name?: string; - } - export interface Params$Resource$Projects$Locations$Firewallendpointassociations$List extends StandardParameters { - /** - * Optional. Filtering results - */ - filter?: string; - /** - * Hint for how to order the results - */ - orderBy?: string; - /** - * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. - */ - pageSize?: number; - /** - * A token identifying a page of results the server should return. - */ - pageToken?: string; - /** - * Required. Parent value for ListAssociationsRequest - */ - parent?: string; - } - export interface Params$Resource$Projects$Locations$Firewallendpointassociations$Patch extends StandardParameters { - /** - * Immutable. Identifier. name of resource - */ - name?: string; - /** - * 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). - */ - requestId?: string; - /** - * Required. Field mask is used to specify the fields to be overwritten in the Association 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. - */ - updateMask?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$FirewallEndpointAssociation; - } - - export class Resource$Projects$Locations$Firewallendpoints { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } /** - * Creates a new FirewallEndpoint in a given project and location. + * Lists FirewallEndpoints in a given project and location. * @example * ```js * // Before running the sample: @@ -16729,45 +18064,25 @@ export namespace networksecurity_v1beta1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await networksecurity.projects.locations.firewallEndpoints.create( - * { - * // Required. Id of the requesting object. If auto-generating Id server-side, remove this field and firewall_endpoint_id from the method_signature of Create RPC. - * firewallEndpointId: 'placeholder-value', - * // Required. Value for parent. - * parent: 'projects/my-project/locations/my-location', - * // 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). - * requestId: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "associatedNetworks": [], - * // "associations": [], - * // "billingProjectId": "my_billingProjectId", - * // "createTime": "my_createTime", - * // "description": "my_description", - * // "endpointSettings": {}, - * // "labels": {}, - * // "name": "my_name", - * // "reconciling": false, - * // "satisfiesPzi": false, - * // "satisfiesPzs": false, - * // "state": "my_state", - * // "updateTime": "my_updateTime" - * // } - * }, - * }, - * ); + * const res = await networksecurity.projects.locations.firewallEndpoints.list({ + * // Optional. Filtering results + * filter: 'placeholder-value', + * // Hint for how to order the results + * orderBy: 'placeholder-value', + * // Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + * pageSize: 'placeholder-value', + * // A token identifying a page of results the server should return. + * pageToken: 'placeholder-value', + * // Required. Parent value for ListEndpointsRequest + * parent: 'projects/my-project/locations/my-location', + * }); * console.log(res.data); * * // Example response * // { - * // "done": false, - * // "error": {}, - * // "metadata": {}, - * // "name": "my_name", - * // "response": {} + * // "firewallEndpoints": [], + * // "nextPageToken": "my_nextPageToken", + * // "unreachable": [] * // } * } * @@ -16783,54 +18098,58 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - create( - params: Params$Resource$Projects$Locations$Firewallendpoints$Create, + list( + params: Params$Resource$Projects$Locations$Firewallendpoints$List, options: StreamMethodOptions ): Promise>; - create( - params?: Params$Resource$Projects$Locations$Firewallendpoints$Create, + list( + params?: Params$Resource$Projects$Locations$Firewallendpoints$List, options?: MethodOptions - ): Promise>; - create( - params: Params$Resource$Projects$Locations$Firewallendpoints$Create, + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Firewallendpoints$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Projects$Locations$Firewallendpoints$Create, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + list( + params: Params$Resource$Projects$Locations$Firewallendpoints$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Projects$Locations$Firewallendpoints$Create, - callback: BodyResponseCallback + list( + params: Params$Resource$Projects$Locations$Firewallendpoints$List, + callback: BodyResponseCallback ): void; - create(callback: BodyResponseCallback): void; - create( + list( + callback: BodyResponseCallback + ): void; + list( paramsOrCallback?: - | Params$Resource$Projects$Locations$Firewallendpoints$Create - | BodyResponseCallback + | Params$Resource$Projects$Locations$Firewallendpoints$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Firewallendpoints$Create; + {}) as Params$Resource$Projects$Locations$Firewallendpoints$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Firewallendpoints$Create; + {} as Params$Resource$Projects$Locations$Firewallendpoints$List; options = {}; } @@ -16848,7 +18167,7 @@ export namespace networksecurity_v1beta1 { /([^:]\/)\/+/g, '$1' ), - method: 'POST', + method: 'GET', apiVersion: '', }, options @@ -16859,17 +18178,19 @@ export namespace networksecurity_v1beta1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); } } /** - * Deletes a single project Endpoint. + * Update a single project Endpoint. * @example * ```js * // Before running the sample: @@ -16898,14 +18219,35 @@ export namespace networksecurity_v1beta1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await networksecurity.projects.locations.firewallEndpoints.delete( - * { - * // Required. Name of the resource - * name: 'projects/my-project/locations/my-location/firewallEndpoints/my-firewallEndpoint', - * // 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). - * requestId: 'placeholder-value', + * const res = await networksecurity.projects.locations.firewallEndpoints.patch({ + * // Immutable. Identifier. Name of resource. + * name: 'projects/my-project/locations/my-location/firewallEndpoints/my-firewallEndpoint', + * // 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). + * requestId: 'placeholder-value', + * // Required. Field mask is used to specify the fields to be overwritten in the Endpoint 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. + * updateMask: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "associatedNetworks": [], + * // "associations": [], + * // "billingProjectId": "my_billingProjectId", + * // "createTime": "my_createTime", + * // "description": "my_description", + * // "endpointSettings": {}, + * // "labels": {}, + * // "name": "my_name", + * // "reconciling": false, + * // "satisfiesPzi": false, + * // "satisfiesPzs": false, + * // "state": "my_state", + * // "updateTime": "my_updateTime", + * // "wildfireSettings": {} + * // } * }, - * ); + * }); * console.log(res.data); * * // Example response @@ -16930,32 +18272,32 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - delete( - params: Params$Resource$Projects$Locations$Firewallendpoints$Delete, + patch( + params: Params$Resource$Projects$Locations$Firewallendpoints$Patch, options: StreamMethodOptions ): Promise>; - delete( - params?: Params$Resource$Projects$Locations$Firewallendpoints$Delete, + patch( + params?: Params$Resource$Projects$Locations$Firewallendpoints$Patch, options?: MethodOptions ): Promise>; - delete( - params: Params$Resource$Projects$Locations$Firewallendpoints$Delete, + patch( + params: Params$Resource$Projects$Locations$Firewallendpoints$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Projects$Locations$Firewallendpoints$Delete, + patch( + params: Params$Resource$Projects$Locations$Firewallendpoints$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Projects$Locations$Firewallendpoints$Delete, + patch( + params: Params$Resource$Projects$Locations$Firewallendpoints$Patch, callback: BodyResponseCallback ): void; - delete(callback: BodyResponseCallback): void; - delete( + patch(callback: BodyResponseCallback): void; + patch( paramsOrCallback?: - | Params$Resource$Projects$Locations$Firewallendpoints$Delete + | Params$Resource$Projects$Locations$Firewallendpoints$Patch | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -16971,13 +18313,13 @@ export namespace networksecurity_v1beta1 { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Firewallendpoints$Delete; + {}) as Params$Resource$Projects$Locations$Firewallendpoints$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Firewallendpoints$Delete; + {} as Params$Resource$Projects$Locations$Firewallendpoints$Patch; options = {}; } @@ -16992,7 +18334,7 @@ export namespace networksecurity_v1beta1 { options: Object.assign( { url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', + method: 'PATCH', apiVersion: '', }, options @@ -17011,9 +18353,93 @@ export namespace networksecurity_v1beta1 { return createAPIRequest(parameters); } } + } + export interface Params$Resource$Projects$Locations$Firewallendpoints$Create extends StandardParameters { /** - * Gets details of a single project Endpoint. + * Required. Id of the requesting object. If auto-generating Id server-side, remove this field and firewall_endpoint_id from the method_signature of Create RPC. + */ + firewallEndpointId?: string; + /** + * Required. Value for parent. + */ + parent?: string; + /** + * 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). + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$FirewallEndpoint; + } + export interface Params$Resource$Projects$Locations$Firewallendpoints$Delete extends StandardParameters { + /** + * Required. Name of the resource + */ + name?: string; + /** + * 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). + */ + requestId?: string; + } + export interface Params$Resource$Projects$Locations$Firewallendpoints$Get extends StandardParameters { + /** + * Required. Name of the resource + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Firewallendpoints$List extends StandardParameters { + /** + * Optional. Filtering results + */ + filter?: string; + /** + * Hint for how to order the results + */ + orderBy?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * A token identifying a page of results the server should return. + */ + pageToken?: string; + /** + * Required. Parent value for ListEndpointsRequest + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Firewallendpoints$Patch extends StandardParameters { + /** + * Immutable. Identifier. Name of resource. + */ + name?: string; + /** + * 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). + */ + requestId?: string; + /** + * Required. Field mask is used to specify the fields to be overwritten in the Endpoint 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. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$FirewallEndpoint; + } + + export class Resource$Projects$Locations$Firewallendpoints$Wildfireverdictchangerequests { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Create WildfireVerdictChangeRequest in a given Firewall Endpoint in a project and location. * @example * ```js * // Before running the sample: @@ -17042,27 +18468,53 @@ export namespace networksecurity_v1beta1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await networksecurity.projects.locations.firewallEndpoints.get({ - * // Required. Name of the resource - * name: 'projects/my-project/locations/my-location/firewallEndpoints/my-firewallEndpoint', - * }); + * const res = + * await networksecurity.projects.locations.firewallEndpoints.wildfireVerdictChangeRequests.create( + * { + * // Required. Parent value for CreateWildfireVerdictChangeRequestRequest. The parent is a firewall endpoint resource. Format: organizations|projects/{project_or_organization\}/locations/{location\}/firewallEndpoints/{firewall_endpoint\} + * parent: + * 'projects/my-project/locations/my-location/firewallEndpoints/my-firewallEndpoint', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "comment": "my_comment", + * // "createTime": "my_createTime", + * // "fileName": "my_fileName", + * // "fileType": "my_fileType", + * // "finalVerdict": "my_finalVerdict", + * // "name": "my_name", + * // "newVerdict": "my_newVerdict", + * // "oldVerdict": "my_oldVerdict", + * // "resolutionTime": "my_resolutionTime", + * // "sha256": "my_sha256", + * // "sourceRegion": "my_sourceRegion", + * // "state": "my_state", + * // "updateTime": "my_updateTime", + * // "wildfireVerdictChangeRequestId": "my_wildfireVerdictChangeRequestId" + * // } + * }, + * }, + * ); * console.log(res.data); * * // Example response * // { - * // "associatedNetworks": [], - * // "associations": [], - * // "billingProjectId": "my_billingProjectId", + * // "comment": "my_comment", * // "createTime": "my_createTime", - * // "description": "my_description", - * // "endpointSettings": {}, - * // "labels": {}, + * // "fileName": "my_fileName", + * // "fileType": "my_fileType", + * // "finalVerdict": "my_finalVerdict", * // "name": "my_name", - * // "reconciling": false, - * // "satisfiesPzi": false, - * // "satisfiesPzs": false, + * // "newVerdict": "my_newVerdict", + * // "oldVerdict": "my_oldVerdict", + * // "resolutionTime": "my_resolutionTime", + * // "sha256": "my_sha256", + * // "sourceRegion": "my_sourceRegion", * // "state": "my_state", - * // "updateTime": "my_updateTime" + * // "updateTime": "my_updateTime", + * // "wildfireVerdictChangeRequestId": "my_wildfireVerdictChangeRequestId" * // } * } * @@ -17078,53 +18530,58 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - get( - params: Params$Resource$Projects$Locations$Firewallendpoints$Get, + create( + params: Params$Resource$Projects$Locations$Firewallendpoints$Wildfireverdictchangerequests$Create, options: StreamMethodOptions ): Promise>; - get( - params?: Params$Resource$Projects$Locations$Firewallendpoints$Get, + create( + params?: Params$Resource$Projects$Locations$Firewallendpoints$Wildfireverdictchangerequests$Create, options?: MethodOptions - ): Promise>; - get( - params: Params$Resource$Projects$Locations$Firewallendpoints$Get, + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Firewallendpoints$Wildfireverdictchangerequests$Create, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Projects$Locations$Firewallendpoints$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + create( + params: Params$Resource$Projects$Locations$Firewallendpoints$Wildfireverdictchangerequests$Create, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Projects$Locations$Firewallendpoints$Get, - callback: BodyResponseCallback + create( + params: Params$Resource$Projects$Locations$Firewallendpoints$Wildfireverdictchangerequests$Create, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; - get( + create( + callback: BodyResponseCallback + ): void; + create( paramsOrCallback?: - | Params$Resource$Projects$Locations$Firewallendpoints$Get - | BodyResponseCallback + | Params$Resource$Projects$Locations$Firewallendpoints$Wildfireverdictchangerequests$Create + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Firewallendpoints$Get; + {}) as Params$Resource$Projects$Locations$Firewallendpoints$Wildfireverdictchangerequests$Create; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Firewallendpoints$Get; + params = + {} as Params$Resource$Projects$Locations$Firewallendpoints$Wildfireverdictchangerequests$Create; options = {}; } @@ -17138,29 +18595,33 @@ export namespace networksecurity_v1beta1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + url: ( + rootUrl + '/v1beta1/{+parent}/wildfireVerdictChangeRequests' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['name'], - pathParams: ['name'], + requiredParams: ['parent'], + pathParams: ['parent'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); } } /** - * Lists FirewallEndpoints in a given project and location. + * Get WildfireVerdictChangeRequest in a given Firewall Endpoint in a project and location. * @example * ```js * // Before running the sample: @@ -17189,25 +18650,31 @@ export namespace networksecurity_v1beta1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await networksecurity.projects.locations.firewallEndpoints.list({ - * // Optional. Filtering results - * filter: 'placeholder-value', - * // Hint for how to order the results - * orderBy: 'placeholder-value', - * // Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. - * pageSize: 'placeholder-value', - * // A token identifying a page of results the server should return. - * pageToken: 'placeholder-value', - * // Required. Parent value for ListEndpointsRequest - * parent: 'projects/my-project/locations/my-location', - * }); + * const res = + * await networksecurity.projects.locations.firewallEndpoints.wildfireVerdictChangeRequests.get( + * { + * // Required. Name of the WildfireVerdictChangeRequest to retrieve. Format: organizations|projects/{project_or_organization\}/locations/{location\}/firewallEndpoints/{firewall_endpoint\}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id\} Where {wildfire_verdict_change_request_id\} is the ID in the format: ^[0-9a-fA-F]{8\}-[0-9a-fA-F]{4\}-[0-9a-fA-F]{4\}-[0-9a-fA-F]{4\}-[0-9a-fA-F]{12\}$ + * name: 'projects/my-project/locations/my-location/firewallEndpoints/my-firewallEndpoint/wildfireVerdictChangeRequests/my-wildfireVerdictChangeRequest', + * }, + * ); * console.log(res.data); * * // Example response * // { - * // "firewallEndpoints": [], - * // "nextPageToken": "my_nextPageToken", - * // "unreachable": [] + * // "comment": "my_comment", + * // "createTime": "my_createTime", + * // "fileName": "my_fileName", + * // "fileType": "my_fileType", + * // "finalVerdict": "my_finalVerdict", + * // "name": "my_name", + * // "newVerdict": "my_newVerdict", + * // "oldVerdict": "my_oldVerdict", + * // "resolutionTime": "my_resolutionTime", + * // "sha256": "my_sha256", + * // "sourceRegion": "my_sourceRegion", + * // "state": "my_state", + * // "updateTime": "my_updateTime", + * // "wildfireVerdictChangeRequestId": "my_wildfireVerdictChangeRequestId" * // } * } * @@ -17223,58 +18690,58 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - list( - params: Params$Resource$Projects$Locations$Firewallendpoints$List, + get( + params: Params$Resource$Projects$Locations$Firewallendpoints$Wildfireverdictchangerequests$Get, options: StreamMethodOptions ): Promise>; - list( - params?: Params$Resource$Projects$Locations$Firewallendpoints$List, + get( + params?: Params$Resource$Projects$Locations$Firewallendpoints$Wildfireverdictchangerequests$Get, options?: MethodOptions - ): Promise>; - list( - params: Params$Resource$Projects$Locations$Firewallendpoints$List, + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Firewallendpoints$Wildfireverdictchangerequests$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Projects$Locations$Firewallendpoints$List, + get( + params: Params$Resource$Projects$Locations$Firewallendpoints$Wildfireverdictchangerequests$Get, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Projects$Locations$Firewallendpoints$List, - callback: BodyResponseCallback + get( + params: Params$Resource$Projects$Locations$Firewallendpoints$Wildfireverdictchangerequests$Get, + callback: BodyResponseCallback ): void; - list( - callback: BodyResponseCallback + get( + callback: BodyResponseCallback ): void; - list( + get( paramsOrCallback?: - | Params$Resource$Projects$Locations$Firewallendpoints$List - | BodyResponseCallback + | Params$Resource$Projects$Locations$Firewallendpoints$Wildfireverdictchangerequests$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Firewallendpoints$List; + {}) as Params$Resource$Projects$Locations$Firewallendpoints$Wildfireverdictchangerequests$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Firewallendpoints$List; + {} as Params$Resource$Projects$Locations$Firewallendpoints$Wildfireverdictchangerequests$Get; options = {}; } @@ -17288,34 +18755,31 @@ export namespace networksecurity_v1beta1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1beta1/{+parent}/firewallEndpoints').replace( - /([^:]\/)\/+/g, - '$1' - ), + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['parent'], - pathParams: ['parent'], + requiredParams: ['name'], + pathParams: ['name'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( + return createAPIRequest( parameters ); } } /** - * Update a single project Endpoint. + * Lists WildfireVerdictChangeRequests in a given Firewall Endpoint in a project and location. * @example * ```js * // Before running the sample: @@ -17344,43 +18808,27 @@ export namespace networksecurity_v1beta1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await networksecurity.projects.locations.firewallEndpoints.patch({ - * // Immutable. Identifier. Name of resource. - * name: 'projects/my-project/locations/my-location/firewallEndpoints/my-firewallEndpoint', - * // 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). - * requestId: 'placeholder-value', - * // Required. Field mask is used to specify the fields to be overwritten in the Endpoint 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. - * updateMask: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "associatedNetworks": [], - * // "associations": [], - * // "billingProjectId": "my_billingProjectId", - * // "createTime": "my_createTime", - * // "description": "my_description", - * // "endpointSettings": {}, - * // "labels": {}, - * // "name": "my_name", - * // "reconciling": false, - * // "satisfiesPzi": false, - * // "satisfiesPzs": false, - * // "state": "my_state", - * // "updateTime": "my_updateTime" - * // } - * }, - * }); + * const res = + * await networksecurity.projects.locations.firewallEndpoints.wildfireVerdictChangeRequests.list( + * { + * // Optional. Filter expression to filter the results. See AIP-160 for filtering syntax. Supported fields are: - `sha256` (string, equality only, e.g. `sha256 = "..."`) - `state` (enum, equality only, e.g. `state = "ACTIVE"`) - `create_time` (timestamp, comparisons, e.g. `create_time \> "2026-01-01T00:00:00Z"`) + * filter: 'placeholder-value', + * // Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + * pageSize: 'placeholder-value', + * // Optional. A token identifying a page of results the server should return. + * pageToken: 'placeholder-value', + * // Required. Parent value for ListWildfireVerdictChangeRequestsRequest. The parent is a firewall endpoint resource. Format: organizations|projects/{project_or_organization\}/locations/{location\}/firewallEndpoints/{firewall_endpoint\} + * parent: + * 'projects/my-project/locations/my-location/firewallEndpoints/my-firewallEndpoint', + * }, + * ); * console.log(res.data); * * // Example response * // { - * // "done": false, - * // "error": {}, - * // "metadata": {}, - * // "name": "my_name", - * // "response": {} + * // "nextPageToken": "my_nextPageToken", + * // "unreachable": [], + * // "wildfireVerdictChangeRequests": [] * // } * } * @@ -17396,54 +18844,62 @@ export namespace networksecurity_v1beta1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - patch( - params: Params$Resource$Projects$Locations$Firewallendpoints$Patch, + list( + params: Params$Resource$Projects$Locations$Firewallendpoints$Wildfireverdictchangerequests$List, options: StreamMethodOptions ): Promise>; - patch( - params?: Params$Resource$Projects$Locations$Firewallendpoints$Patch, + list( + params?: Params$Resource$Projects$Locations$Firewallendpoints$Wildfireverdictchangerequests$List, options?: MethodOptions - ): Promise>; - patch( - params: Params$Resource$Projects$Locations$Firewallendpoints$Patch, + ): Promise< + GaxiosResponseWithHTTP2 + >; + list( + params: Params$Resource$Projects$Locations$Firewallendpoints$Wildfireverdictchangerequests$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Projects$Locations$Firewallendpoints$Patch, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + list( + params: Params$Resource$Projects$Locations$Firewallendpoints$Wildfireverdictchangerequests$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Projects$Locations$Firewallendpoints$Patch, - callback: BodyResponseCallback + list( + params: Params$Resource$Projects$Locations$Firewallendpoints$Wildfireverdictchangerequests$List, + callback: BodyResponseCallback ): void; - patch(callback: BodyResponseCallback): void; - patch( + list( + callback: BodyResponseCallback + ): void; + list( paramsOrCallback?: - | Params$Resource$Projects$Locations$Firewallendpoints$Patch - | BodyResponseCallback + | Params$Resource$Projects$Locations$Firewallendpoints$Wildfireverdictchangerequests$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise< + GaxiosResponseWithHTTP2 + > | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Firewallendpoints$Patch; + {}) as Params$Resource$Projects$Locations$Firewallendpoints$Wildfireverdictchangerequests$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Firewallendpoints$Patch; + {} as Params$Resource$Projects$Locations$Firewallendpoints$Wildfireverdictchangerequests$List; options = {}; } @@ -17457,104 +18913,67 @@ export namespace networksecurity_v1beta1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', + url: ( + rootUrl + '/v1beta1/{+parent}/wildfireVerdictChangeRequests' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['name'], - pathParams: ['name'], + requiredParams: ['parent'], + pathParams: ['parent'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); } } } - export interface Params$Resource$Projects$Locations$Firewallendpoints$Create extends StandardParameters { - /** - * Required. Id of the requesting object. If auto-generating Id server-side, remove this field and firewall_endpoint_id from the method_signature of Create RPC. - */ - firewallEndpointId?: string; + export interface Params$Resource$Projects$Locations$Firewallendpoints$Wildfireverdictchangerequests$Create extends StandardParameters { /** - * Required. Value for parent. + * Required. Parent value for CreateWildfireVerdictChangeRequestRequest. The parent is a firewall endpoint resource. Format: organizations|projects/{project_or_organization\}/locations/{location\}/firewallEndpoints/{firewall_endpoint\} */ parent?: string; - /** - * 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). - */ - requestId?: string; /** * Request body metadata */ - requestBody?: Schema$FirewallEndpoint; - } - export interface Params$Resource$Projects$Locations$Firewallendpoints$Delete extends StandardParameters { - /** - * Required. Name of the resource - */ - name?: string; - /** - * 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). - */ - requestId?: string; + requestBody?: Schema$WildfireVerdictChangeRequest; } - export interface Params$Resource$Projects$Locations$Firewallendpoints$Get extends StandardParameters { + export interface Params$Resource$Projects$Locations$Firewallendpoints$Wildfireverdictchangerequests$Get extends StandardParameters { /** - * Required. Name of the resource + * Required. Name of the WildfireVerdictChangeRequest to retrieve. Format: organizations|projects/{project_or_organization\}/locations/{location\}/firewallEndpoints/{firewall_endpoint\}/wildfireVerdictChangeRequests/{wildfire_verdict_change_request_id\} Where {wildfire_verdict_change_request_id\} is the ID in the format: ^[0-9a-fA-F]{8\}-[0-9a-fA-F]{4\}-[0-9a-fA-F]{4\}-[0-9a-fA-F]{4\}-[0-9a-fA-F]{12\}$ */ name?: string; } - export interface Params$Resource$Projects$Locations$Firewallendpoints$List extends StandardParameters { + export interface Params$Resource$Projects$Locations$Firewallendpoints$Wildfireverdictchangerequests$List extends StandardParameters { /** - * Optional. Filtering results + * Optional. Filter expression to filter the results. See AIP-160 for filtering syntax. Supported fields are: - `sha256` (string, equality only, e.g. `sha256 = "..."`) - `state` (enum, equality only, e.g. `state = "ACTIVE"`) - `create_time` (timestamp, comparisons, e.g. `create_time \> "2026-01-01T00:00:00Z"`) */ filter?: string; - /** - * Hint for how to order the results - */ - orderBy?: string; /** * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. */ pageSize?: number; /** - * A token identifying a page of results the server should return. + * Optional. A token identifying a page of results the server should return. */ pageToken?: string; /** - * Required. Parent value for ListEndpointsRequest + * Required. Parent value for ListWildfireVerdictChangeRequestsRequest. The parent is a firewall endpoint resource. Format: organizations|projects/{project_or_organization\}/locations/{location\}/firewallEndpoints/{firewall_endpoint\} */ parent?: string; } - export interface Params$Resource$Projects$Locations$Firewallendpoints$Patch extends StandardParameters { - /** - * Immutable. Identifier. Name of resource. - */ - name?: string; - /** - * 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). - */ - requestId?: string; - /** - * Required. Field mask is used to specify the fields to be overwritten in the Endpoint 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. - */ - updateMask?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$FirewallEndpoint; - } export class Resource$Projects$Locations$Gatewaysecuritypolicies { context: APIRequestContext; @@ -28134,7 +29553,8 @@ export namespace networksecurity_v1beta1 { * // "name": "my_name", * // "threatPreventionProfile": "my_threatPreventionProfile", * // "updateTime": "my_updateTime", - * // "urlFilteringProfile": "my_urlFilteringProfile" + * // "urlFilteringProfile": "my_urlFilteringProfile", + * // "wildfireAnalysisProfile": "my_wildfireAnalysisProfile" * // } * }, * }); @@ -28439,7 +29859,8 @@ export namespace networksecurity_v1beta1 { * // "name": "my_name", * // "threatPreventionProfile": "my_threatPreventionProfile", * // "updateTime": "my_updateTime", - * // "urlFilteringProfile": "my_urlFilteringProfile" + * // "urlFilteringProfile": "my_urlFilteringProfile", + * // "wildfireAnalysisProfile": "my_wildfireAnalysisProfile" * // } * } * @@ -28745,7 +30166,8 @@ export namespace networksecurity_v1beta1 { * // "name": "my_name", * // "threatPreventionProfile": "my_threatPreventionProfile", * // "updateTime": "my_updateTime", - * // "urlFilteringProfile": "my_urlFilteringProfile" + * // "urlFilteringProfile": "my_urlFilteringProfile", + * // "wildfireAnalysisProfile": "my_wildfireAnalysisProfile" * // } * }, * }); @@ -28973,7 +30395,8 @@ export namespace networksecurity_v1beta1 { * // "threatPreventionProfile": {}, * // "type": "my_type", * // "updateTime": "my_updateTime", - * // "urlFilteringProfile": {} + * // "urlFilteringProfile": {}, + * // "wildfireAnalysisProfile": {} * // } * }, * }); @@ -29276,7 +30699,8 @@ export namespace networksecurity_v1beta1 { * // "threatPreventionProfile": {}, * // "type": "my_type", * // "updateTime": "my_updateTime", - * // "urlFilteringProfile": {} + * // "urlFilteringProfile": {}, + * // "wildfireAnalysisProfile": {} * // } * } * @@ -29572,7 +30996,8 @@ export namespace networksecurity_v1beta1 { * // "threatPreventionProfile": {}, * // "type": "my_type", * // "updateTime": "my_updateTime", - * // "urlFilteringProfile": {} + * // "urlFilteringProfile": {}, + * // "wildfireAnalysisProfile": {} * // } * }, * }); diff --git a/src/apis/ondemandscanning/v1.ts b/src/apis/ondemandscanning/v1.ts index 27fbe4fd1df..162858887a3 100644 --- a/src/apis/ondemandscanning/v1.ts +++ b/src/apis/ondemandscanning/v1.ts @@ -717,6 +717,10 @@ export namespace ondemandscanning_v1 { * Category of the finding. */ category?: string | null; + /** + * Description of the finding category. + */ + details?: string | null; /** * Location (path and line) where the finding was detected. */ @@ -1971,6 +1975,10 @@ export namespace ondemandscanning_v1 { * The cvss v3 score for the vulnerability. */ cvssv3?: Schema$CVSS; + /** + * The cvss v4 score for the vulnerability. + */ + cvssV4?: Schema$CVSS; /** * Output only. CVSS version used to populate cvss_score and severity. */ diff --git a/src/apis/places/v1.ts b/src/apis/places/v1.ts index 6c5b1c88454..6ce50b7bf7a 100644 --- a/src/apis/places/v1.ts +++ b/src/apis/places/v1.ts @@ -656,7 +656,7 @@ export namespace places_v1 { */ curbsidePickup?: boolean | null; /** - * The hours of operation for the next seven days (including today). The time period starts at midnight on the date of the request and ends at 11:59 pm six days later. This field includes the special_days subfield of all hours, set for dates that have exceptional hours. + * The hours of operation for the next seven days (including today) incorporating any special opening hours. The time period starts at midnight on the date of the request and ends at 11:59 pm six days later. If the actual opening hours are outside of this range, the opening hours will be truncated. For example, if a place is open from 10pm yesterday to 6am today, the opening hours will be truncated to 12am today to 6am today. This field includes the special_days subfield of all hours, set for dates that have exceptional hours. */ currentOpeningHours?: Schema$GoogleMapsPlacesV1PlaceOpeningHours; /** @@ -824,7 +824,7 @@ export namespace places_v1 { */ rating?: number | null; /** - * The regular hours of operation. Note that if a place is always open (24 hours), the `close` field will not be set. Clients can rely on always open (24 hours) being represented as an [`open`](https://developers.google.com/maps/documentation/places/web-service/reference/rest/v1/places#Period) period containing [`day`](https://developers.google.com/maps/documentation/places/web-service/reference/rest/v1/places#Point) with value `0`, [`hour`](https://developers.google.com/maps/documentation/places/web-service/reference/rest/v1/places#Point) with value `0`, and [`minute`](https://developers.google.com/maps/documentation/places/web-service/reference/rest/v1/places#Point) with value `0`. + * The regular hours are the hours of operation for a place on a typical schedule. Note that if a place is always open (24 hours), the `close` field will not be set. Clients can rely on always open (24 hours) being represented as an [`open`](https://developers.google.com/maps/documentation/places/web-service/reference/rest/v1/places#Period) period containing [`day`](https://developers.google.com/maps/documentation/places/web-service/reference/rest/v1/places#Point) with value `0`, [`hour`](https://developers.google.com/maps/documentation/places/web-service/reference/rest/v1/places#Point) with value `0`, and [`minute`](https://developers.google.com/maps/documentation/places/web-service/reference/rest/v1/places#Point) with value `0`. */ regularOpeningHours?: Schema$GoogleMapsPlacesV1PlaceOpeningHours; /** diff --git a/src/apis/redis/v1.ts b/src/apis/redis/v1.ts index 83ee7b47bec..f2dfbe9b4cc 100644 --- a/src/apis/redis/v1.ts +++ b/src/apis/redis/v1.ts @@ -934,9 +934,13 @@ export namespace redis_v1 { uniqueId?: string | null; } /** - * Common model for database resource instance metadata. Next ID: 32 + * Common model for database resource instance metadata. Next ID: 35 */ export interface Schema$DatabaseResourceMetadata { + /** + * Field to ingest additional metadata whichd does not support proto format. + */ + additionalMetadata?: {[key: string]: any} | null; /** * Availability configuration for this instance */ @@ -989,6 +993,14 @@ export namespace redis_v1 { * The type of the instance. Specified at creation time. */ instanceType?: string | null; + /** + * Field to ingest additional metadata which support proto format. + */ + internalAdditionalMetadata?: {[key: string]: any} | null; + /** + * Optional. Private and public IP address of the resource. + */ + ipAddress?: Schema$IpAddress; /** * Optional. Whether deletion protection is enabled for this resource. */ @@ -1531,6 +1543,19 @@ export namespace redis_v1 { */ resourceName?: string | null; } + /** + * Used to send IP address information for a database resource. + */ + export interface Schema$IpAddress { + /** + * The private IP address assigned to the resource within a Virtual Private Cloud (VPC). This IP is only reachable from within the same VPC network. Stored in standard string format (e.g., "10.0.0.2"). + */ + privateIp?: string | null; + /** + * The public IP address assigned to the resource. This IP is reachable from the internet. Stored in standard string format (e.g., "34.72.1.1"). + */ + publicIp?: string | null; + } /** * Response for `ListAclPolicies`. */ @@ -2200,6 +2225,10 @@ export namespace redis_v1 { * Optional. Current Maintenance version of the database resource. Example: "MYSQL_8_0_41.R20250531.01_15" */ maintenanceVersion?: string | null; + /** + * Optional. List of next available maintenance versions. + */ + nextAvailableMaintenanceVersions?: string[] | null; /** * Optional. Upcoming maintenance for the database resource. This field is populated once SLM generates and publishes upcoming maintenance window. */ diff --git a/src/apis/redis/v1beta1.ts b/src/apis/redis/v1beta1.ts index 184ff301d77..c133991a8c5 100644 --- a/src/apis/redis/v1beta1.ts +++ b/src/apis/redis/v1beta1.ts @@ -934,9 +934,13 @@ export namespace redis_v1beta1 { uniqueId?: string | null; } /** - * Common model for database resource instance metadata. Next ID: 32 + * Common model for database resource instance metadata. Next ID: 35 */ export interface Schema$DatabaseResourceMetadata { + /** + * Field to ingest additional metadata whichd does not support proto format. + */ + additionalMetadata?: {[key: string]: any} | null; /** * Availability configuration for this instance */ @@ -989,6 +993,14 @@ export namespace redis_v1beta1 { * The type of the instance. Specified at creation time. */ instanceType?: string | null; + /** + * Field to ingest additional metadata which support proto format. + */ + internalAdditionalMetadata?: {[key: string]: any} | null; + /** + * Optional. Private and public IP address of the resource. + */ + ipAddress?: Schema$IpAddress; /** * Optional. Whether deletion protection is enabled for this resource. */ @@ -1531,6 +1543,19 @@ export namespace redis_v1beta1 { */ resourceName?: string | null; } + /** + * Used to send IP address information for a database resource. + */ + export interface Schema$IpAddress { + /** + * The private IP address assigned to the resource within a Virtual Private Cloud (VPC). This IP is only reachable from within the same VPC network. Stored in standard string format (e.g., "10.0.0.2"). + */ + privateIp?: string | null; + /** + * The public IP address assigned to the resource. This IP is reachable from the internet. Stored in standard string format (e.g., "34.72.1.1"). + */ + publicIp?: string | null; + } /** * Response for `ListAclPolicies`. */ @@ -2200,6 +2225,10 @@ export namespace redis_v1beta1 { * Optional. Current Maintenance version of the database resource. Example: "MYSQL_8_0_41.R20250531.01_15" */ maintenanceVersion?: string | null; + /** + * Optional. List of next available maintenance versions. + */ + nextAvailableMaintenanceVersions?: string[] | null; /** * Optional. Upcoming maintenance for the database resource. This field is populated once SLM generates and publishes upcoming maintenance window. */ diff --git a/src/apis/saasservicemgmt/v1.ts b/src/apis/saasservicemgmt/v1.ts index 43fdd393bcf..f7d86ff8dec 100644 --- a/src/apis/saasservicemgmt/v1.ts +++ b/src/apis/saasservicemgmt/v1.ts @@ -171,6 +171,14 @@ export namespace saasservicemgmt_v1 { * Deprovision is the unit operation that deprovision the underlying resources represented by a Unit. Can only execute if the Unit is currently provisioned. */ export interface Schema$Deprovision {} + /** + * DeprovisionUnitGroup is the unit group operation that deprovisions the underlying resources represented by a UnitGroup. + */ + export interface Schema$DeprovisionUnitGroup {} + /** + * DetachUnitGroup is the unit group operation that detaches a provisioned UnitGroup. + */ + export interface Schema$DetachUnitGroup {} /** * 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); \} */ @@ -299,6 +307,23 @@ export namespace saasservicemgmt_v1 { */ unreachable?: string[] | null; } + /** + * The response structure for the ListSaasReleases method. + */ + export interface Schema$ListSaasReleasesResponse { + /** + * If present, the next page token can be provided to a subsequent ListSaasReleases call to list the next page. If empty, there are no more pages. + */ + nextPageToken?: string | null; + /** + * The resulting saas releases. + */ + saasReleases?: Schema$SaasRelease[]; + /** + * Locations that could not be reached. + */ + unreachable?: string[] | null; + } /** * The response structure for the ListSaas method. */ @@ -333,6 +358,40 @@ export namespace saasservicemgmt_v1 { */ unreachable?: string[] | null; } + /** + * The response structure for the ListUnitGroupOperations method. + */ + export interface Schema$ListUnitGroupOperationsResponse { + /** + * If present, the next page token can be provided to a subsequent ListUnitGroupOperations call to list the next page. If empty, there are no more pages. + */ + nextPageToken?: string | null; + /** + * The resulting unit group operations. + */ + unitGroupOperations?: Schema$UnitGroupOperation[]; + /** + * Locations that could not be reached. + */ + unreachable?: string[] | null; + } + /** + * The response structure for the ListUnitGroups method. + */ + export interface Schema$ListUnitGroupsResponse { + /** + * If present, the next page token can be provided to a subsequent ListUnitGroups call to list the next page. If empty, there are no more pages. + */ + nextPageToken?: string | null; + /** + * The resulting unit groups. + */ + unitGroups?: Schema$UnitGroup[]; + /** + * Locations that could not be reached. + */ + unreachable?: string[] | null; + } /** * The response structure for the ListUnitKinds method. */ @@ -415,6 +474,10 @@ export namespace saasservicemgmt_v1 { */ release?: string | null; } + /** + * ProvisionUnitGroup is the unit group operation that provisions the underlying resources represented by a UnitGroup. + */ + export interface Schema$ProvisionUnitGroup {} /** * A new version to be propagated and deployed to units. This includes pointers to packaged blueprints for actuation (e.g Helm or Terraform configuration packages) via artifact registry. */ @@ -703,7 +766,7 @@ export namespace saasservicemgmt_v1 { */ name?: string | null; /** - * Output only. State of the Saas. It is always in ACTIVE state if the application_template is empty. + * Output only. State of the Saas. It is always in STATE_ACTIVE state if the application_template is empty. */ state?: string | null; /** @@ -740,6 +803,47 @@ export namespace saasservicemgmt_v1 { */ type?: string | null; } + /** + * SaasRelease is a collection of Releases that are assigned to a UnitGroup. It allows provisioning and updates of UnitGroup, which contains multiple Units of different UnitKinds. + */ + export interface Schema$SaasRelease { + /** + * Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations + */ + annotations?: {[key: string]: string} | null; + /** + * Output only. The timestamp when the resource was created. + */ + createTime?: string | null; + /** + * Output only. An opaque value that uniquely identifies a version or generation of a resource. It can be used to confirm that the client and server agree on the ordering of a resource being written. + */ + etag?: string | null; + /** + * Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels. + */ + labels?: {[key: string]: string} | null; + /** + * Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project\}/locations/{location\}/saasReleases/{saasRelease\}" + */ + name?: string | null; + /** + * Required. The Releases that are assigned to this SaasRelease. + */ + releases?: string[] | null; + /** + * Required. A mapping between Tiers and UnitKinds that are part of this SaasRelease. While Tiers are defined as top-level resources, the mapping between Tiers and Unit Kinds is defined per SaasRelease. + */ + tierMappings?: Schema$TierMapping[]; + /** + * Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4. + */ + uid?: string | null; + /** + * Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value. + */ + updateTime?: string | null; + } /** * A time specification to schedule the maintenance. */ @@ -807,6 +911,29 @@ export namespace saasservicemgmt_v1 { */ updateTime?: string | null; } + /** + * TierMapping describes the mapping between a Tier and its associated UnitKinds. + */ + export interface Schema$TierMapping { + /** + * Required. The tier. + */ + tier?: string | null; + unitKinds?: Schema$TierUnitKind[]; + } + /** + * A description of a single Unit Kind that is part of a Tier. + */ + export interface Schema$TierUnitKind { + /** + * Optional. Output only. Input variables for the UnitKind. + */ + inputVariables?: Schema$UnitVariable[]; + /** + * Required. Immutable. The unique identifier of the UnitKind. + */ + unitKind?: string | null; + } /** * Input variables whose values will be passed on to dependencies */ @@ -924,6 +1051,10 @@ export namespace saasservicemgmt_v1 { * Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4. */ uid?: string | null; + /** + * Optional. Output only. Reference to the UnitGroup this unit belongs to. + */ + unitGroup?: string | null; /** * Optional. Reference to the UnitKind this Unit belongs to. Immutable once set. */ @@ -971,6 +1102,100 @@ export namespace saasservicemgmt_v1 { */ unit?: string | null; } + /** + * UnitGroup represents a set of Units to be used by a Tenant. In pooling scenarios, the UnitGroup may be created and provisioned before the Tenant is created. + */ + export interface Schema$UnitGroup { + /** + * Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations + */ + annotations?: {[key: string]: string} | null; + /** + * Output only. The timestamp when the resource was created. + */ + createTime?: string | null; + /** + * Output only. An opaque value that uniquely identifies a version or generation of a resource. It can be used to confirm that the client and server agree on the ordering of a resource being written. + */ + etag?: string | null; + /** + * Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels. + */ + labels?: {[key: string]: string} | null; + /** + * Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project\}/locations/{location\}/unitGroups/{unitGroup\}" + */ + name?: string | null; + /** + * Required. Immutable. The SaaS that this UnitGroup is created for. + */ + saas?: string | null; + /** + * Required. Immutable. Current SaasRelease that the UnitGroup is provisioned with. + */ + saasRelease?: string | null; + /** + * Optional. Output only. State of the UnitGroup. + */ + state?: string | null; + /** + * Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4. + */ + uid?: string | null; + /** + * Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value. + */ + updateTime?: string | null; + } + /** + * UnitGroupOperation represents an operation on a UnitGroup. + */ + export interface Schema$UnitGroupOperation { + /** + * Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations + */ + annotations?: {[key: string]: string} | null; + /** + * Output only. The timestamp when the resource was created. + */ + createTime?: string | null; + /** + * Optional. Represents a deprovision operation on a UnitGroup. + */ + deprovisionUnitGroup?: Schema$DeprovisionUnitGroup; + /** + * Optional. Represents a detach operation on a UnitGroup. + */ + detachUnitGroup?: Schema$DetachUnitGroup; + /** + * Output only. An opaque value that uniquely identifies a version or generation of a resource. It can be used to confirm that the client and server agree on the ordering of a resource being written. + */ + etag?: string | null; + /** + * Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels. + */ + labels?: {[key: string]: string} | null; + /** + * Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project\}/locations/{location\}/unitGroupOperations/{unitGroupOperation\}" + */ + name?: string | null; + /** + * Optional. Represents a provision operation on a UnitGroup. + */ + provisionUnitGroup?: Schema$ProvisionUnitGroup; + /** + * Optional. Tier represents the tier level of the UnitGroupOperation. + */ + tier?: string | null; + /** + * Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4. + */ + uid?: string | null; + /** + * Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value. + */ + updateTime?: string | null; + } /** * Definition of a Unit. Units belonging to the same UnitKind are managed together; for example they follow the same release model (blueprints, versions etc.) and are typically rolled out together. */ @@ -979,6 +1204,10 @@ export namespace saasservicemgmt_v1 { * Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations */ annotations?: {[key: string]: string} | null; + /** + * Optional. Output only. BoundaryType describes the type of boundary the Unit Kind represents. + */ + boundaryType?: string | null; /** * Output only. The timestamp when the resource was created. */ @@ -1078,6 +1307,9 @@ export namespace saasservicemgmt_v1 { * Optional. Reference to parent resource: UnitOperation. If an operation needs to create other operations as part of its workflow, each of the child operations should have this field set to the parent. This can be used for tracing. (Optional) */ parentUnitOperation?: string | null; + /** + * Optional. Provision operation. + */ provision?: Schema$Provision; /** * Optional. Specifies which rollout created this Unit Operation. This cannot be modified and is used for filtering purposes only. If a dependent unit and unit operation are created as part of another unit operation, they will use the same rolloutId. @@ -1193,7 +1425,10 @@ export namespace saasservicemgmt_v1 { rolloutKinds: Resource$Projects$Locations$Rolloutkinds; rollouts: Resource$Projects$Locations$Rollouts; saas: Resource$Projects$Locations$Saas; + saasReleases: Resource$Projects$Locations$Saasreleases; tenants: Resource$Projects$Locations$Tenants; + unitGroupOperations: Resource$Projects$Locations$Unitgroupoperations; + unitGroups: Resource$Projects$Locations$Unitgroups; unitKinds: Resource$Projects$Locations$Unitkinds; unitOperations: Resource$Projects$Locations$Unitoperations; units: Resource$Projects$Locations$Units; @@ -1205,7 +1440,15 @@ export namespace saasservicemgmt_v1 { ); this.rollouts = new Resource$Projects$Locations$Rollouts(this.context); this.saas = new Resource$Projects$Locations$Saas(this.context); + this.saasReleases = new Resource$Projects$Locations$Saasreleases( + this.context + ); this.tenants = new Resource$Projects$Locations$Tenants(this.context); + this.unitGroupOperations = + new Resource$Projects$Locations$Unitgroupoperations(this.context); + this.unitGroups = new Resource$Projects$Locations$Unitgroups( + this.context + ); this.unitKinds = new Resource$Projects$Locations$Unitkinds(this.context); this.unitOperations = new Resource$Projects$Locations$Unitoperations( this.context @@ -5102,14 +5345,14 @@ export namespace saasservicemgmt_v1 { requestBody?: Schema$Saas; } - export class Resource$Projects$Locations$Tenants { + export class Resource$Projects$Locations$Saasreleases { context: APIRequestContext; constructor(context: APIRequestContext) { this.context = context; } /** - * Create a new tenant. + * Create a new saas release. * @example * ```js * // Before running the sample: @@ -5138,13 +5381,13 @@ export namespace saasservicemgmt_v1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await saasservicemgmt.projects.locations.tenants.create({ - * // Required. The parent of the tenant. + * const res = await saasservicemgmt.projects.locations.saasReleases.create({ + * // Required. The parent of the saas release. * parent: 'projects/my-project/locations/my-location', - * // An optional request ID to identify requests. Specify a unique 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). + * // An optional request ID to identify requests. * requestId: 'placeholder-value', - * // Required. The ID value for the new tenant. - * tenantId: 'placeholder-value', + * // Required. The ID value for the new saas release. + * saasReleaseId: 'placeholder-value', * // If "validate_only" is set to true, the service will try to validate that this request would succeed, but will not actually make changes. * validateOnly: 'placeholder-value', * @@ -5153,12 +5396,12 @@ export namespace saasservicemgmt_v1 { * // request body parameters * // { * // "annotations": {}, - * // "consumerResource": "my_consumerResource", * // "createTime": "my_createTime", * // "etag": "my_etag", * // "labels": {}, * // "name": "my_name", - * // "saas": "my_saas", + * // "releases": [], + * // "tierMappings": [], * // "uid": "my_uid", * // "updateTime": "my_updateTime" * // } @@ -5169,12 +5412,12 @@ export namespace saasservicemgmt_v1 { * // Example response * // { * // "annotations": {}, - * // "consumerResource": "my_consumerResource", * // "createTime": "my_createTime", * // "etag": "my_etag", * // "labels": {}, * // "name": "my_name", - * // "saas": "my_saas", + * // "releases": [], + * // "tierMappings": [], * // "uid": "my_uid", * // "updateTime": "my_updateTime" * // } @@ -5193,52 +5436,52 @@ export namespace saasservicemgmt_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ create( - params: Params$Resource$Projects$Locations$Tenants$Create, + params: Params$Resource$Projects$Locations$Saasreleases$Create, options: StreamMethodOptions ): Promise>; create( - params?: Params$Resource$Projects$Locations$Tenants$Create, + params?: Params$Resource$Projects$Locations$Saasreleases$Create, options?: MethodOptions - ): Promise>; + ): Promise>; create( - params: Params$Resource$Projects$Locations$Tenants$Create, + params: Params$Resource$Projects$Locations$Saasreleases$Create, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; create( - params: Params$Resource$Projects$Locations$Tenants$Create, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Saasreleases$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; create( - params: Params$Resource$Projects$Locations$Tenants$Create, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Saasreleases$Create, + callback: BodyResponseCallback ): void; - create(callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; create( paramsOrCallback?: - | Params$Resource$Projects$Locations$Tenants$Create - | BodyResponseCallback + | Params$Resource$Projects$Locations$Saasreleases$Create + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Tenants$Create; + {}) as Params$Resource$Projects$Locations$Saasreleases$Create; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Tenants$Create; + params = {} as Params$Resource$Projects$Locations$Saasreleases$Create; options = {}; } @@ -5252,7 +5495,7 @@ export namespace saasservicemgmt_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+parent}/tenants').replace( + url: (rootUrl + '/v1/{+parent}/saasReleases').replace( /([^:]\/)\/+/g, '$1' ), @@ -5267,17 +5510,17 @@ export namespace saasservicemgmt_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Delete a single tenant. + * Delete a single saas release. * @example * ```js * // Before running the sample: @@ -5306,12 +5549,12 @@ export namespace saasservicemgmt_v1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await saasservicemgmt.projects.locations.tenants.delete({ - * // The etag known to the client for the expected state of the tenant. This is used with state-changing methods to prevent accidental overwrites when multiple user agents might be acting in parallel on the same resource. An etag wildcard provide optimistic concurrency based on the expected existence of the tenant. The Any wildcard (`*`) requires that the resource must already exists, and the Not Any wildcard (`!*`) requires that it must not. + * const res = await saasservicemgmt.projects.locations.saasReleases.delete({ + * // The etag known to the client for the expected state of the saas release. * etag: 'placeholder-value', * // Required. The resource name of the resource within a service. - * name: 'projects/my-project/locations/my-location/tenants/my-tenant', - * // An optional request ID to identify requests. Specify a unique 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). + * name: 'projects/my-project/locations/my-location/saasReleases/my-saasRelease', + * // An optional request ID to identify requests. * requestId: 'placeholder-value', * // If "validate_only" is set to true, the service will try to validate that this request would succeed, but will not actually make changes. * validateOnly: 'placeholder-value', @@ -5335,31 +5578,31 @@ export namespace saasservicemgmt_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ delete( - params: Params$Resource$Projects$Locations$Tenants$Delete, + params: Params$Resource$Projects$Locations$Saasreleases$Delete, options: StreamMethodOptions ): Promise>; delete( - params?: Params$Resource$Projects$Locations$Tenants$Delete, + params?: Params$Resource$Projects$Locations$Saasreleases$Delete, options?: MethodOptions ): Promise>; delete( - params: Params$Resource$Projects$Locations$Tenants$Delete, + params: Params$Resource$Projects$Locations$Saasreleases$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Projects$Locations$Tenants$Delete, + params: Params$Resource$Projects$Locations$Saasreleases$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Projects$Locations$Tenants$Delete, + params: Params$Resource$Projects$Locations$Saasreleases$Delete, callback: BodyResponseCallback ): void; delete(callback: BodyResponseCallback): void; delete( paramsOrCallback?: - | Params$Resource$Projects$Locations$Tenants$Delete + | Params$Resource$Projects$Locations$Saasreleases$Delete | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -5375,12 +5618,12 @@ export namespace saasservicemgmt_v1 { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Tenants$Delete; + {}) as Params$Resource$Projects$Locations$Saasreleases$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Tenants$Delete; + params = {} as Params$Resource$Projects$Locations$Saasreleases$Delete; options = {}; } @@ -5416,7 +5659,7 @@ export namespace saasservicemgmt_v1 { } /** - * Retrieve a single tenant. + * Retrieve a single saas release. * @example * ```js * // Before running the sample: @@ -5445,21 +5688,21 @@ export namespace saasservicemgmt_v1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await saasservicemgmt.projects.locations.tenants.get({ + * const res = await saasservicemgmt.projects.locations.saasReleases.get({ * // Required. The resource name of the resource within a service. - * name: 'projects/my-project/locations/my-location/tenants/my-tenant', + * name: 'projects/my-project/locations/my-location/saasReleases/my-saasRelease', * }); * console.log(res.data); * * // Example response * // { * // "annotations": {}, - * // "consumerResource": "my_consumerResource", * // "createTime": "my_createTime", * // "etag": "my_etag", * // "labels": {}, * // "name": "my_name", - * // "saas": "my_saas", + * // "releases": [], + * // "tierMappings": [], * // "uid": "my_uid", * // "updateTime": "my_updateTime" * // } @@ -5478,52 +5721,52 @@ export namespace saasservicemgmt_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ get( - params: Params$Resource$Projects$Locations$Tenants$Get, + params: Params$Resource$Projects$Locations$Saasreleases$Get, options: StreamMethodOptions ): Promise>; get( - params?: Params$Resource$Projects$Locations$Tenants$Get, + params?: Params$Resource$Projects$Locations$Saasreleases$Get, options?: MethodOptions - ): Promise>; + ): Promise>; get( - params: Params$Resource$Projects$Locations$Tenants$Get, + params: Params$Resource$Projects$Locations$Saasreleases$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; get( - params: Params$Resource$Projects$Locations$Tenants$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Saasreleases$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; get( - params: Params$Resource$Projects$Locations$Tenants$Get, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Saasreleases$Get, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; get( paramsOrCallback?: - | Params$Resource$Projects$Locations$Tenants$Get - | BodyResponseCallback + | Params$Resource$Projects$Locations$Saasreleases$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Tenants$Get; + {}) as Params$Resource$Projects$Locations$Saasreleases$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Tenants$Get; + params = {} as Params$Resource$Projects$Locations$Saasreleases$Get; options = {}; } @@ -5549,17 +5792,17 @@ export namespace saasservicemgmt_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Retrieve a collection of tenants. + * Retrieve a collection of saas releases. * @example * ```js * // Before running the sample: @@ -5588,16 +5831,16 @@ export namespace saasservicemgmt_v1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await saasservicemgmt.projects.locations.tenants.list({ + * const res = await saasservicemgmt.projects.locations.saasReleases.list({ * // Filter the list as specified in https://google.aip.dev/160. * filter: 'placeholder-value', * // Order results as specified in https://google.aip.dev/132. * orderBy: 'placeholder-value', - * // The maximum number of tenants to send per page. + * // The maximum number of saas releases to send per page. * pageSize: 'placeholder-value', * // The page token: If the next_page_token from a previous response is provided, this request will send the subsequent page. * pageToken: 'placeholder-value', - * // Required. The parent of the tenant. + * // Required. The parent of the saas releases. * parent: 'projects/my-project/locations/my-location', * }); * console.log(res.data); @@ -5605,7 +5848,7 @@ export namespace saasservicemgmt_v1 { * // Example response * // { * // "nextPageToken": "my_nextPageToken", - * // "tenants": [], + * // "saasReleases": [], * // "unreachable": [] * // } * } @@ -5623,52 +5866,2001 @@ export namespace saasservicemgmt_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ list( - params: Params$Resource$Projects$Locations$Tenants$List, + params: Params$Resource$Projects$Locations$Saasreleases$List, options: StreamMethodOptions ): Promise>; list( - params?: Params$Resource$Projects$Locations$Tenants$List, + params?: Params$Resource$Projects$Locations$Saasreleases$List, options?: MethodOptions - ): Promise>; + ): Promise>; list( - params: Params$Resource$Projects$Locations$Tenants$List, + params: Params$Resource$Projects$Locations$Saasreleases$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; list( - params: Params$Resource$Projects$Locations$Tenants$List, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Saasreleases$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; list( - params: Params$Resource$Projects$Locations$Tenants$List, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Saasreleases$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Saasreleases$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Saasreleases$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Saasreleases$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://saasservicemgmt.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/saasReleases').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Saasreleases$Create extends StandardParameters { + /** + * Required. The parent of the saas release. + */ + parent?: string; + /** + * An optional request ID to identify requests. + */ + requestId?: string; + /** + * Required. The ID value for the new saas release. + */ + saasReleaseId?: string; + /** + * If "validate_only" is set to true, the service will try to validate that this request would succeed, but will not actually make changes. + */ + validateOnly?: boolean; + + /** + * Request body metadata + */ + requestBody?: Schema$SaasRelease; + } + export interface Params$Resource$Projects$Locations$Saasreleases$Delete extends StandardParameters { + /** + * The etag known to the client for the expected state of the saas release. + */ + etag?: string; + /** + * Required. The resource name of the resource within a service. + */ + name?: string; + /** + * An optional request ID to identify requests. + */ + requestId?: string; + /** + * If "validate_only" is set to true, the service will try to validate that this request would succeed, but will not actually make changes. + */ + validateOnly?: boolean; + } + export interface Params$Resource$Projects$Locations$Saasreleases$Get extends StandardParameters { + /** + * Required. The resource name of the resource within a service. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Saasreleases$List extends StandardParameters { + /** + * Filter the list as specified in https://google.aip.dev/160. + */ + filter?: string; + /** + * Order results as specified in https://google.aip.dev/132. + */ + orderBy?: string; + /** + * The maximum number of saas releases to send per page. + */ + pageSize?: number; + /** + * The page token: If the next_page_token from a previous response is provided, this request will send the subsequent page. + */ + pageToken?: string; + /** + * Required. The parent of the saas releases. + */ + parent?: string; + } + + export class Resource$Projects$Locations$Tenants { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Create a new tenant. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/saasservicemgmt.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const saasservicemgmt = google.saasservicemgmt('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await saasservicemgmt.projects.locations.tenants.create({ + * // Required. The parent of the tenant. + * parent: 'projects/my-project/locations/my-location', + * // An optional request ID to identify requests. Specify a unique 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). + * requestId: 'placeholder-value', + * // Required. The ID value for the new tenant. + * tenantId: 'placeholder-value', + * // If "validate_only" is set to true, the service will try to validate that this request would succeed, but will not actually make changes. + * validateOnly: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "annotations": {}, + * // "consumerResource": "my_consumerResource", + * // "createTime": "my_createTime", + * // "etag": "my_etag", + * // "labels": {}, + * // "name": "my_name", + * // "saas": "my_saas", + * // "uid": "my_uid", + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "annotations": {}, + * // "consumerResource": "my_consumerResource", + * // "createTime": "my_createTime", + * // "etag": "my_etag", + * // "labels": {}, + * // "name": "my_name", + * // "saas": "my_saas", + * // "uid": "my_uid", + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Tenants$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Tenants$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Tenants$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Tenants$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Tenants$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Tenants$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Tenants$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Tenants$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://saasservicemgmt.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/tenants').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Delete a single tenant. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/saasservicemgmt.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const saasservicemgmt = google.saasservicemgmt('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await saasservicemgmt.projects.locations.tenants.delete({ + * // The etag known to the client for the expected state of the tenant. This is used with state-changing methods to prevent accidental overwrites when multiple user agents might be acting in parallel on the same resource. An etag wildcard provide optimistic concurrency based on the expected existence of the tenant. The Any wildcard (`*`) requires that the resource must already exists, and the Not Any wildcard (`!*`) requires that it must not. + * etag: 'placeholder-value', + * // Required. The resource name of the resource within a service. + * name: 'projects/my-project/locations/my-location/tenants/my-tenant', + * // An optional request ID to identify requests. Specify a unique 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). + * requestId: 'placeholder-value', + * // If "validate_only" is set to true, the service will try to validate that this request would succeed, but will not actually make changes. + * validateOnly: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // {} + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Tenants$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Tenants$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Tenants$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Tenants$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Tenants$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Tenants$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Tenants$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Tenants$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://saasservicemgmt.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Retrieve a single tenant. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/saasservicemgmt.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const saasservicemgmt = google.saasservicemgmt('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await saasservicemgmt.projects.locations.tenants.get({ + * // Required. The resource name of the resource within a service. + * name: 'projects/my-project/locations/my-location/tenants/my-tenant', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "annotations": {}, + * // "consumerResource": "my_consumerResource", + * // "createTime": "my_createTime", + * // "etag": "my_etag", + * // "labels": {}, + * // "name": "my_name", + * // "saas": "my_saas", + * // "uid": "my_uid", + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Tenants$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Tenants$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Tenants$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Tenants$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Tenants$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Tenants$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Tenants$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Tenants$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://saasservicemgmt.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Retrieve a collection of tenants. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/saasservicemgmt.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const saasservicemgmt = google.saasservicemgmt('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await saasservicemgmt.projects.locations.tenants.list({ + * // Filter the list as specified in https://google.aip.dev/160. + * filter: 'placeholder-value', + * // Order results as specified in https://google.aip.dev/132. + * orderBy: 'placeholder-value', + * // The maximum number of tenants to send per page. + * pageSize: 'placeholder-value', + * // The page token: If the next_page_token from a previous response is provided, this request will send the subsequent page. + * pageToken: 'placeholder-value', + * // Required. The parent of the tenant. + * parent: 'projects/my-project/locations/my-location', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "nextPageToken": "my_nextPageToken", + * // "tenants": [], + * // "unreachable": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Tenants$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Tenants$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Tenants$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Tenants$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Tenants$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Tenants$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Tenants$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Tenants$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://saasservicemgmt.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/tenants').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Update a single tenant. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/saasservicemgmt.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const saasservicemgmt = google.saasservicemgmt('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await saasservicemgmt.projects.locations.tenants.patch({ + * // Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project\}/locations/{location\}/tenants/{tenant\}" + * name: 'projects/my-project/locations/my-location/tenants/my-tenant', + * // An optional request ID to identify requests. Specify a unique 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). + * requestId: 'placeholder-value', + * // Field mask is used to specify the fields to be overwritten in the Tenant 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 in the Tenant will be overwritten. + * updateMask: 'placeholder-value', + * // If "validate_only" is set to true, the service will try to validate that this request would succeed, but will not actually make changes. + * validateOnly: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "annotations": {}, + * // "consumerResource": "my_consumerResource", + * // "createTime": "my_createTime", + * // "etag": "my_etag", + * // "labels": {}, + * // "name": "my_name", + * // "saas": "my_saas", + * // "uid": "my_uid", + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "annotations": {}, + * // "consumerResource": "my_consumerResource", + * // "createTime": "my_createTime", + * // "etag": "my_etag", + * // "labels": {}, + * // "name": "my_name", + * // "saas": "my_saas", + * // "uid": "my_uid", + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Tenants$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Projects$Locations$Tenants$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Tenants$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Tenants$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Tenants$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Tenants$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Tenants$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Tenants$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://saasservicemgmt.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Tenants$Create extends StandardParameters { + /** + * Required. The parent of the tenant. + */ + parent?: string; + /** + * An optional request ID to identify requests. Specify a unique 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). + */ + requestId?: string; + /** + * Required. The ID value for the new tenant. + */ + tenantId?: string; + /** + * If "validate_only" is set to true, the service will try to validate that this request would succeed, but will not actually make changes. + */ + validateOnly?: boolean; + + /** + * Request body metadata + */ + requestBody?: Schema$Tenant; + } + export interface Params$Resource$Projects$Locations$Tenants$Delete extends StandardParameters { + /** + * The etag known to the client for the expected state of the tenant. This is used with state-changing methods to prevent accidental overwrites when multiple user agents might be acting in parallel on the same resource. An etag wildcard provide optimistic concurrency based on the expected existence of the tenant. The Any wildcard (`*`) requires that the resource must already exists, and the Not Any wildcard (`!*`) requires that it must not. + */ + etag?: string; + /** + * Required. The resource name of the resource within a service. + */ + name?: string; + /** + * An optional request ID to identify requests. Specify a unique 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). + */ + requestId?: string; + /** + * If "validate_only" is set to true, the service will try to validate that this request would succeed, but will not actually make changes. + */ + validateOnly?: boolean; + } + export interface Params$Resource$Projects$Locations$Tenants$Get extends StandardParameters { + /** + * Required. The resource name of the resource within a service. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Tenants$List extends StandardParameters { + /** + * Filter the list as specified in https://google.aip.dev/160. + */ + filter?: string; + /** + * Order results as specified in https://google.aip.dev/132. + */ + orderBy?: string; + /** + * The maximum number of tenants to send per page. + */ + pageSize?: number; + /** + * The page token: If the next_page_token from a previous response is provided, this request will send the subsequent page. + */ + pageToken?: string; + /** + * Required. The parent of the tenant. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Tenants$Patch extends StandardParameters { + /** + * Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project\}/locations/{location\}/tenants/{tenant\}" + */ + name?: string; + /** + * An optional request ID to identify requests. Specify a unique 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). + */ + requestId?: string; + /** + * Field mask is used to specify the fields to be overwritten in the Tenant 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 in the Tenant will be overwritten. + */ + updateMask?: string; + /** + * If "validate_only" is set to true, the service will try to validate that this request would succeed, but will not actually make changes. + */ + validateOnly?: boolean; + + /** + * Request body metadata + */ + requestBody?: Schema$Tenant; + } + + export class Resource$Projects$Locations$Unitgroupoperations { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Create a new unit group operation. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/saasservicemgmt.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const saasservicemgmt = google.saasservicemgmt('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await saasservicemgmt.projects.locations.unitGroupOperations.create({ + * // Required. The parent of the unit group operation. + * parent: 'projects/my-project/locations/my-location', + * // 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). + * requestId: 'placeholder-value', + * // Required. The ID value for the new unit group operation. + * unitGroupOperationId: 'placeholder-value', + * // Optional. If "validate_only" is set to true, the service will try to validate that this request would succeed, but will not actually make changes. + * validateOnly: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "annotations": {}, + * // "createTime": "my_createTime", + * // "deprovisionUnitGroup": {}, + * // "detachUnitGroup": {}, + * // "etag": "my_etag", + * // "labels": {}, + * // "name": "my_name", + * // "provisionUnitGroup": {}, + * // "tier": "my_tier", + * // "uid": "my_uid", + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "annotations": {}, + * // "createTime": "my_createTime", + * // "deprovisionUnitGroup": {}, + * // "detachUnitGroup": {}, + * // "etag": "my_etag", + * // "labels": {}, + * // "name": "my_name", + * // "provisionUnitGroup": {}, + * // "tier": "my_tier", + * // "uid": "my_uid", + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Unitgroupoperations$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Unitgroupoperations$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Unitgroupoperations$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Unitgroupoperations$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Unitgroupoperations$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Unitgroupoperations$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Unitgroupoperations$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Unitgroupoperations$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://saasservicemgmt.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/unitGroupOperations').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Delete a single unit group operation. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/saasservicemgmt.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const saasservicemgmt = google.saasservicemgmt('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await saasservicemgmt.projects.locations.unitGroupOperations.delete({ + * // Optional. The etag known to the client for the expected state of the unit group operation. This is used with state-changing methods to prevent accidental overwrites when multiple user agents might be acting in parallel on the same resource. An etag wildcard provide optimistic concurrency based on the expected existence of the unit group operation. The Any wildcard (`*`) requires that the resource must already exists, and the Not Any wildcard (`!*`) requires that it must not. + * etag: 'placeholder-value', + * // Required. The resource name of the resource within a service. + * name: 'projects/my-project/locations/my-location/unitGroupOperations/my-unitGroupOperation', + * // 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). + * requestId: 'placeholder-value', + * // Optional. If "validate_only" is set to true, the service will try to validate that this request would succeed, but will not actually make changes. + * validateOnly: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // {} + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Unitgroupoperations$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Unitgroupoperations$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Unitgroupoperations$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Unitgroupoperations$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Unitgroupoperations$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Unitgroupoperations$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Unitgroupoperations$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Unitgroupoperations$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://saasservicemgmt.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Retrieve a single unit group operation. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/saasservicemgmt.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const saasservicemgmt = google.saasservicemgmt('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await saasservicemgmt.projects.locations.unitGroupOperations.get({ + * // Required. The resource name of the resource within a service. + * name: 'projects/my-project/locations/my-location/unitGroupOperations/my-unitGroupOperation', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "annotations": {}, + * // "createTime": "my_createTime", + * // "deprovisionUnitGroup": {}, + * // "detachUnitGroup": {}, + * // "etag": "my_etag", + * // "labels": {}, + * // "name": "my_name", + * // "provisionUnitGroup": {}, + * // "tier": "my_tier", + * // "uid": "my_uid", + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Unitgroupoperations$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Unitgroupoperations$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Unitgroupoperations$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Unitgroupoperations$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Unitgroupoperations$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Unitgroupoperations$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Unitgroupoperations$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Unitgroupoperations$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://saasservicemgmt.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Retrieve a collection of unit group operations. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/saasservicemgmt.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const saasservicemgmt = google.saasservicemgmt('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await saasservicemgmt.projects.locations.unitGroupOperations.list( + * { + * // Filter the list as specified in https://google.aip.dev/160. + * filter: 'placeholder-value', + * // Order results as specified in https://google.aip.dev/132. + * orderBy: 'placeholder-value', + * // The maximum number of unit group operations to send per page. + * pageSize: 'placeholder-value', + * // The page token: If the next_page_token from a previous response is provided, this request will send the subsequent page. + * pageToken: 'placeholder-value', + * // Required. The parent of the unit group operation. + * parent: 'projects/my-project/locations/my-location', + * }, + * ); + * console.log(res.data); + * + * // Example response + * // { + * // "nextPageToken": "my_nextPageToken", + * // "unitGroupOperations": [], + * // "unreachable": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Unitgroupoperations$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Unitgroupoperations$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Unitgroupoperations$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Unitgroupoperations$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Unitgroupoperations$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Unitgroupoperations$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Unitgroupoperations$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Unitgroupoperations$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://saasservicemgmt.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/unitGroupOperations').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Projects$Locations$Unitgroupoperations$Create extends StandardParameters { + /** + * Required. The parent of the unit group operation. + */ + parent?: string; + /** + * 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). + */ + requestId?: string; + /** + * Required. The ID value for the new unit group operation. + */ + unitGroupOperationId?: string; + /** + * Optional. If "validate_only" is set to true, the service will try to validate that this request would succeed, but will not actually make changes. + */ + validateOnly?: boolean; + + /** + * Request body metadata + */ + requestBody?: Schema$UnitGroupOperation; + } + export interface Params$Resource$Projects$Locations$Unitgroupoperations$Delete extends StandardParameters { + /** + * Optional. The etag known to the client for the expected state of the unit group operation. This is used with state-changing methods to prevent accidental overwrites when multiple user agents might be acting in parallel on the same resource. An etag wildcard provide optimistic concurrency based on the expected existence of the unit group operation. The Any wildcard (`*`) requires that the resource must already exists, and the Not Any wildcard (`!*`) requires that it must not. + */ + etag?: string; + /** + * Required. The resource name of the resource within a service. + */ + name?: string; + /** + * 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). + */ + requestId?: string; + /** + * Optional. If "validate_only" is set to true, the service will try to validate that this request would succeed, but will not actually make changes. + */ + validateOnly?: boolean; + } + export interface Params$Resource$Projects$Locations$Unitgroupoperations$Get extends StandardParameters { + /** + * Required. The resource name of the resource within a service. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Unitgroupoperations$List extends StandardParameters { + /** + * Filter the list as specified in https://google.aip.dev/160. + */ + filter?: string; + /** + * Order results as specified in https://google.aip.dev/132. + */ + orderBy?: string; + /** + * The maximum number of unit group operations to send per page. + */ + pageSize?: number; + /** + * The page token: If the next_page_token from a previous response is provided, this request will send the subsequent page. + */ + pageToken?: string; + /** + * Required. The parent of the unit group operation. + */ + parent?: string; + } + + export class Resource$Projects$Locations$Unitgroups { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Create a new unit group. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/saasservicemgmt.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const saasservicemgmt = google.saasservicemgmt('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await saasservicemgmt.projects.locations.unitGroups.create({ + * // Required. The parent of the unit group. + * parent: 'projects/my-project/locations/my-location', + * // An optional request ID to identify requests. + * requestId: 'placeholder-value', + * // Required. The ID value for the new unit group. + * unitGroupId: 'placeholder-value', + * // If "validate_only" is set to true, the service will try to validate that this request would succeed, but will not actually make changes. + * validateOnly: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "annotations": {}, + * // "createTime": "my_createTime", + * // "etag": "my_etag", + * // "labels": {}, + * // "name": "my_name", + * // "saas": "my_saas", + * // "saasRelease": "my_saasRelease", + * // "state": "my_state", + * // "uid": "my_uid", + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "annotations": {}, + * // "createTime": "my_createTime", + * // "etag": "my_etag", + * // "labels": {}, + * // "name": "my_name", + * // "saas": "my_saas", + * // "saasRelease": "my_saasRelease", + * // "state": "my_state", + * // "uid": "my_uid", + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Unitgroups$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Unitgroups$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Unitgroups$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Unitgroups$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Unitgroups$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Unitgroups$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Unitgroups$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Unitgroups$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://saasservicemgmt.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/unitGroups').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Delete a single unit group. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/saasservicemgmt.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const saasservicemgmt = google.saasservicemgmt('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await saasservicemgmt.projects.locations.unitGroups.delete({ + * // The etag known to the client for the expected state of the unit group. + * etag: 'placeholder-value', + * // Required. The resource name of the resource within a service. + * name: 'projects/my-project/locations/my-location/unitGroups/my-unitGroup', + * // An optional request ID to identify requests. + * requestId: 'placeholder-value', + * // If "validate_only" is set to true, the service will try to validate that this request would succeed, but will not actually make changes. + * validateOnly: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // {} + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Unitgroups$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Unitgroups$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Unitgroups$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Unitgroups$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; - list( + delete( + params: Params$Resource$Projects$Locations$Unitgroups$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( paramsOrCallback?: - | Params$Resource$Projects$Locations$Tenants$List - | BodyResponseCallback + | Params$Resource$Projects$Locations$Unitgroups$Delete + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Tenants$List; + {}) as Params$Resource$Projects$Locations$Unitgroups$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Tenants$List; + params = {} as Params$Resource$Projects$Locations$Unitgroups$Delete; options = {}; } @@ -5682,32 +7874,29 @@ export namespace saasservicemgmt_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+parent}/tenants').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'GET', + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', apiVersion: '', }, options ), params, - requiredParams: ['parent'], - pathParams: ['parent'], + requiredParams: ['name'], + pathParams: ['name'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Update a single tenant. + * Retrieve a single unit group. * @example * ```js * // Before running the sample: @@ -5736,43 +7925,22 @@ export namespace saasservicemgmt_v1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await saasservicemgmt.projects.locations.tenants.patch({ - * // Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project\}/locations/{location\}/tenants/{tenant\}" - * name: 'projects/my-project/locations/my-location/tenants/my-tenant', - * // An optional request ID to identify requests. Specify a unique 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). - * requestId: 'placeholder-value', - * // Field mask is used to specify the fields to be overwritten in the Tenant 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 in the Tenant will be overwritten. - * updateMask: 'placeholder-value', - * // If "validate_only" is set to true, the service will try to validate that this request would succeed, but will not actually make changes. - * validateOnly: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "annotations": {}, - * // "consumerResource": "my_consumerResource", - * // "createTime": "my_createTime", - * // "etag": "my_etag", - * // "labels": {}, - * // "name": "my_name", - * // "saas": "my_saas", - * // "uid": "my_uid", - * // "updateTime": "my_updateTime" - * // } - * }, + * const res = await saasservicemgmt.projects.locations.unitGroups.get({ + * // Required. The resource name of the resource within a service. + * name: 'projects/my-project/locations/my-location/unitGroups/my-unitGroup', * }); * console.log(res.data); * * // Example response * // { * // "annotations": {}, - * // "consumerResource": "my_consumerResource", * // "createTime": "my_createTime", * // "etag": "my_etag", * // "labels": {}, * // "name": "my_name", * // "saas": "my_saas", + * // "saasRelease": "my_saasRelease", + * // "state": "my_state", * // "uid": "my_uid", * // "updateTime": "my_updateTime" * // } @@ -5790,53 +7958,53 @@ export namespace saasservicemgmt_v1 { * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - patch( - params: Params$Resource$Projects$Locations$Tenants$Patch, + get( + params: Params$Resource$Projects$Locations$Unitgroups$Get, options: StreamMethodOptions ): Promise>; - patch( - params?: Params$Resource$Projects$Locations$Tenants$Patch, + get( + params?: Params$Resource$Projects$Locations$Unitgroups$Get, options?: MethodOptions - ): Promise>; - patch( - params: Params$Resource$Projects$Locations$Tenants$Patch, + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Unitgroups$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Projects$Locations$Tenants$Patch, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + get( + params: Params$Resource$Projects$Locations$Unitgroups$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Projects$Locations$Tenants$Patch, - callback: BodyResponseCallback + get( + params: Params$Resource$Projects$Locations$Unitgroups$Get, + callback: BodyResponseCallback ): void; - patch(callback: BodyResponseCallback): void; - patch( + get(callback: BodyResponseCallback): void; + get( paramsOrCallback?: - | Params$Resource$Projects$Locations$Tenants$Patch - | BodyResponseCallback + | Params$Resource$Projects$Locations$Unitgroups$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Tenants$Patch; + {}) as Params$Resource$Projects$Locations$Unitgroups$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Tenants$Patch; + params = {} as Params$Resource$Projects$Locations$Unitgroups$Get; options = {}; } @@ -5851,7 +8019,7 @@ export namespace saasservicemgmt_v1 { options: Object.assign( { url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', + method: 'GET', apiVersion: '', }, options @@ -5862,29 +8030,179 @@ export namespace saasservicemgmt_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); + } + } + + /** + * Retrieve a collection of unit groups. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/saasservicemgmt.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const saasservicemgmt = google.saasservicemgmt('v1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await saasservicemgmt.projects.locations.unitGroups.list({ + * // Filter the list as specified in https://google.aip.dev/160. + * filter: 'placeholder-value', + * // Order results as specified in https://google.aip.dev/132. + * orderBy: 'placeholder-value', + * // The maximum number of unit groups to send per page. + * pageSize: 'placeholder-value', + * // The page token: If the next_page_token from a previous response is provided, this request will send the subsequent page. + * pageToken: 'placeholder-value', + * // Required. The parent of the unit group. + * parent: 'projects/my-project/locations/my-location', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "nextPageToken": "my_nextPageToken", + * // "unitGroups": [], + * // "unreachable": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Unitgroups$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Unitgroups$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Unitgroups$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Unitgroups$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Unitgroups$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Unitgroups$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Unitgroups$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Unitgroups$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://saasservicemgmt.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/unitGroups').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); } } } - export interface Params$Resource$Projects$Locations$Tenants$Create extends StandardParameters { + export interface Params$Resource$Projects$Locations$Unitgroups$Create extends StandardParameters { /** - * Required. The parent of the tenant. + * Required. The parent of the unit group. */ parent?: string; /** - * An optional request ID to identify requests. Specify a unique 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). + * An optional request ID to identify requests. */ requestId?: string; /** - * Required. The ID value for the new tenant. + * Required. The ID value for the new unit group. */ - tenantId?: string; + unitGroupId?: string; /** * If "validate_only" is set to true, the service will try to validate that this request would succeed, but will not actually make changes. */ @@ -5893,11 +8211,11 @@ export namespace saasservicemgmt_v1 { /** * Request body metadata */ - requestBody?: Schema$Tenant; + requestBody?: Schema$UnitGroup; } - export interface Params$Resource$Projects$Locations$Tenants$Delete extends StandardParameters { + export interface Params$Resource$Projects$Locations$Unitgroups$Delete extends StandardParameters { /** - * The etag known to the client for the expected state of the tenant. This is used with state-changing methods to prevent accidental overwrites when multiple user agents might be acting in parallel on the same resource. An etag wildcard provide optimistic concurrency based on the expected existence of the tenant. The Any wildcard (`*`) requires that the resource must already exists, and the Not Any wildcard (`!*`) requires that it must not. + * The etag known to the client for the expected state of the unit group. */ etag?: string; /** @@ -5905,7 +8223,7 @@ export namespace saasservicemgmt_v1 { */ name?: string; /** - * An optional request ID to identify requests. Specify a unique 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). + * An optional request ID to identify requests. */ requestId?: string; /** @@ -5913,13 +8231,13 @@ export namespace saasservicemgmt_v1 { */ validateOnly?: boolean; } - export interface Params$Resource$Projects$Locations$Tenants$Get extends StandardParameters { + export interface Params$Resource$Projects$Locations$Unitgroups$Get extends StandardParameters { /** * Required. The resource name of the resource within a service. */ name?: string; } - export interface Params$Resource$Projects$Locations$Tenants$List extends StandardParameters { + export interface Params$Resource$Projects$Locations$Unitgroups$List extends StandardParameters { /** * Filter the list as specified in https://google.aip.dev/160. */ @@ -5929,7 +8247,7 @@ export namespace saasservicemgmt_v1 { */ orderBy?: string; /** - * The maximum number of tenants to send per page. + * The maximum number of unit groups to send per page. */ pageSize?: number; /** @@ -5937,33 +8255,10 @@ export namespace saasservicemgmt_v1 { */ pageToken?: string; /** - * Required. The parent of the tenant. + * Required. The parent of the unit group. */ parent?: string; } - export interface Params$Resource$Projects$Locations$Tenants$Patch extends StandardParameters { - /** - * Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project\}/locations/{location\}/tenants/{tenant\}" - */ - name?: string; - /** - * An optional request ID to identify requests. Specify a unique 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). - */ - requestId?: string; - /** - * Field mask is used to specify the fields to be overwritten in the Tenant 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 in the Tenant will be overwritten. - */ - updateMask?: string; - /** - * If "validate_only" is set to true, the service will try to validate that this request would succeed, but will not actually make changes. - */ - validateOnly?: boolean; - - /** - * Request body metadata - */ - requestBody?: Schema$Tenant; - } export class Resource$Projects$Locations$Unitkinds { context: APIRequestContext; @@ -6016,6 +8311,7 @@ export namespace saasservicemgmt_v1 { * // request body parameters * // { * // "annotations": {}, + * // "boundaryType": "my_boundaryType", * // "createTime": "my_createTime", * // "defaultFlagRevisions": [], * // "defaultRelease": "my_defaultRelease", @@ -6036,6 +8332,7 @@ export namespace saasservicemgmt_v1 { * // Example response * // { * // "annotations": {}, + * // "boundaryType": "my_boundaryType", * // "createTime": "my_createTime", * // "defaultFlagRevisions": [], * // "defaultRelease": "my_defaultRelease", @@ -6325,6 +8622,7 @@ export namespace saasservicemgmt_v1 { * // Example response * // { * // "annotations": {}, + * // "boundaryType": "my_boundaryType", * // "createTime": "my_createTime", * // "defaultFlagRevisions": [], * // "defaultRelease": "my_defaultRelease", @@ -6628,6 +8926,7 @@ export namespace saasservicemgmt_v1 { * // request body parameters * // { * // "annotations": {}, + * // "boundaryType": "my_boundaryType", * // "createTime": "my_createTime", * // "defaultFlagRevisions": [], * // "defaultRelease": "my_defaultRelease", @@ -6648,6 +8947,7 @@ export namespace saasservicemgmt_v1 { * // Example response * // { * // "annotations": {}, + * // "boundaryType": "my_boundaryType", * // "createTime": "my_createTime", * // "defaultFlagRevisions": [], * // "defaultRelease": "my_defaultRelease", @@ -7851,6 +10151,7 @@ export namespace saasservicemgmt_v1 { * // "systemManagedState": "my_systemManagedState", * // "tenant": "my_tenant", * // "uid": "my_uid", + * // "unitGroup": "my_unitGroup", * // "unitKind": "my_unitKind", * // "updateTime": "my_updateTime" * // } @@ -7884,6 +10185,7 @@ export namespace saasservicemgmt_v1 { * // "systemManagedState": "my_systemManagedState", * // "tenant": "my_tenant", * // "uid": "my_uid", + * // "unitGroup": "my_unitGroup", * // "unitKind": "my_unitKind", * // "updateTime": "my_updateTime" * // } @@ -8186,6 +10488,7 @@ export namespace saasservicemgmt_v1 { * // "systemManagedState": "my_systemManagedState", * // "tenant": "my_tenant", * // "uid": "my_uid", + * // "unitGroup": "my_unitGroup", * // "unitKind": "my_unitKind", * // "updateTime": "my_updateTime" * // } @@ -8500,6 +10803,7 @@ export namespace saasservicemgmt_v1 { * // "systemManagedState": "my_systemManagedState", * // "tenant": "my_tenant", * // "uid": "my_uid", + * // "unitGroup": "my_unitGroup", * // "unitKind": "my_unitKind", * // "updateTime": "my_updateTime" * // } @@ -8533,6 +10837,7 @@ export namespace saasservicemgmt_v1 { * // "systemManagedState": "my_systemManagedState", * // "tenant": "my_tenant", * // "uid": "my_uid", + * // "unitGroup": "my_unitGroup", * // "unitKind": "my_unitKind", * // "updateTime": "my_updateTime" * // } diff --git a/src/apis/saasservicemgmt/v1beta1.ts b/src/apis/saasservicemgmt/v1beta1.ts index 8bd384e4bd5..d68192f66c9 100644 --- a/src/apis/saasservicemgmt/v1beta1.ts +++ b/src/apis/saasservicemgmt/v1beta1.ts @@ -252,6 +252,14 @@ export namespace saasservicemgmt_v1beta1 { * Deprovision is the unit operation that deprovision the underlying resources represented by a Unit. Can only execute if the Unit is currently provisioned. */ export interface Schema$Deprovision {} + /** + * DeprovisionUnitGroup is the unit group operation that deprovisions the underlying resources represented by a UnitGroup. + */ + export interface Schema$DeprovisionUnitGroup {} + /** + * DetachUnitGroup is the unit group operation that detaches a provisioned UnitGroup. + */ + export interface Schema$DetachUnitGroup {} /** * 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); \} */ @@ -785,6 +793,23 @@ export namespace saasservicemgmt_v1beta1 { */ unreachable?: string[] | null; } + /** + * The response structure for the ListSaasReleases method. + */ + export interface Schema$ListSaasReleasesResponse { + /** + * If present, the next page token can be provided to a subsequent ListSaasReleases call to list the next page. If empty, there are no more pages. + */ + nextPageToken?: string | null; + /** + * The resulting saas releases. + */ + saasReleases?: Schema$SaasRelease[]; + /** + * Locations that could not be reached. + */ + unreachable?: string[] | null; + } /** * The response structure for the ListSaas method. */ @@ -819,6 +844,40 @@ export namespace saasservicemgmt_v1beta1 { */ unreachable?: string[] | null; } + /** + * The response structure for the ListUnitGroupOperations method. + */ + export interface Schema$ListUnitGroupOperationsResponse { + /** + * If present, the next page token can be provided to a subsequent ListUnitGroupOperations call to list the next page. If empty, there are no more pages. + */ + nextPageToken?: string | null; + /** + * The resulting unit group operations. + */ + unitGroupOperations?: Schema$UnitGroupOperation[]; + /** + * Locations that could not be reached. + */ + unreachable?: string[] | null; + } + /** + * The response structure for the ListUnitGroups method. + */ + export interface Schema$ListUnitGroupsResponse { + /** + * If present, the next page token can be provided to a subsequent ListUnitGroups call to list the next page. If empty, there are no more pages. + */ + nextPageToken?: string | null; + /** + * The resulting unit groups. + */ + unitGroups?: Schema$UnitGroup[]; + /** + * Locations that could not be reached. + */ + unreachable?: string[] | null; + } /** * The response structure for the ListUnitKinds method. */ @@ -901,6 +960,10 @@ export namespace saasservicemgmt_v1beta1 { */ release?: string | null; } + /** + * ProvisionUnitGroup is the unit group operation that provisions the underlying resources represented by a UnitGroup. + */ + export interface Schema$ProvisionUnitGroup {} /** * A new version to be propagated and deployed to units. This includes pointers to packaged blueprints for actuation (e.g Helm or Terraform configuration packages) via artifact registry. */ @@ -1201,7 +1264,7 @@ export namespace saasservicemgmt_v1beta1 { */ name?: string | null; /** - * Output only. State of the Saas. It is always in ACTIVE state if the application_template is empty. + * Output only. State of the Saas. It is always in STATE_ACTIVE state if the application_template is empty. */ state?: string | null; /** @@ -1238,6 +1301,47 @@ export namespace saasservicemgmt_v1beta1 { */ type?: string | null; } + /** + * SaasRelease is a collection of Releases that are assigned to a UnitGroup. It allows provisioning and updates of UnitGroup, which contains multiple Units of different UnitKinds. + */ + export interface Schema$SaasRelease { + /** + * Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations + */ + annotations?: {[key: string]: string} | null; + /** + * Output only. The timestamp when the resource was created. + */ + createTime?: string | null; + /** + * Output only. An opaque value that uniquely identifies a version or generation of a resource. It can be used to confirm that the client and server agree on the ordering of a resource being written. + */ + etag?: string | null; + /** + * Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels. + */ + labels?: {[key: string]: string} | null; + /** + * Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project\}/locations/{location\}/saasReleases/{saasRelease\}" + */ + name?: string | null; + /** + * Required. The Releases that are assigned to this SaasRelease. + */ + releases?: string[] | null; + /** + * Required. A mapping between Tiers and UnitKinds that are part of this SaasRelease. While Tiers are defined as top-level resources, the mapping between Tiers and Unit Kinds is defined per SaasRelease. + */ + tierMappings?: Schema$TierMapping[]; + /** + * Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4. + */ + uid?: string | null; + /** + * Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value. + */ + updateTime?: string | null; + } /** * A time specification to schedule the maintenance. */ @@ -1314,6 +1418,29 @@ export namespace saasservicemgmt_v1beta1 { */ updateTime?: string | null; } + /** + * TierMapping describes the mapping between a Tier and its associated UnitKinds. + */ + export interface Schema$TierMapping { + /** + * Required. The tier. + */ + tier?: string | null; + unitKinds?: Schema$TierUnitKind[]; + } + /** + * A description of a single Unit Kind that is part of a Tier. + */ + export interface Schema$TierUnitKind { + /** + * Optional. Output only. Input variables for the UnitKind. + */ + inputVariables?: Schema$UnitVariable[]; + /** + * Required. Immutable. The unique identifier of the UnitKind. + */ + unitKind?: string | null; + } /** * Input variables whose values will be passed on to dependencies */ @@ -1439,6 +1566,10 @@ export namespace saasservicemgmt_v1beta1 { * Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4. */ uid?: string | null; + /** + * Optional. Output only. Reference to the UnitGroup this unit belongs to. + */ + unitGroup?: string | null; /** * Optional. Reference to the UnitKind this Unit belongs to. Immutable once set. */ @@ -1486,6 +1617,100 @@ export namespace saasservicemgmt_v1beta1 { */ unit?: string | null; } + /** + * UnitGroup represents a set of Units to be used by a Tenant. In pooling scenarios, the UnitGroup may be created and provisioned before the Tenant is created. + */ + export interface Schema$UnitGroup { + /** + * Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations + */ + annotations?: {[key: string]: string} | null; + /** + * Output only. The timestamp when the resource was created. + */ + createTime?: string | null; + /** + * Output only. An opaque value that uniquely identifies a version or generation of a resource. It can be used to confirm that the client and server agree on the ordering of a resource being written. + */ + etag?: string | null; + /** + * Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels. + */ + labels?: {[key: string]: string} | null; + /** + * Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project\}/locations/{location\}/unitGroups/{unitGroup\}" + */ + name?: string | null; + /** + * Required. Immutable. The SaaS that this UnitGroup is created for. + */ + saas?: string | null; + /** + * Required. Immutable. Current SaasRelease that the UnitGroup is provisioned with. + */ + saasRelease?: string | null; + /** + * Optional. Output only. State of the UnitGroup. + */ + state?: string | null; + /** + * Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4. + */ + uid?: string | null; + /** + * Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value. + */ + updateTime?: string | null; + } + /** + * UnitGroupOperation represents an operation on a UnitGroup. + */ + export interface Schema$UnitGroupOperation { + /** + * Optional. Annotations is an unstructured key-value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/user-guide/annotations + */ + annotations?: {[key: string]: string} | null; + /** + * Output only. The timestamp when the resource was created. + */ + createTime?: string | null; + /** + * Optional. Represents a deprovision operation on a UnitGroup. + */ + deprovisionUnitGroup?: Schema$DeprovisionUnitGroup; + /** + * Optional. Represents a detach operation on a UnitGroup. + */ + detachUnitGroup?: Schema$DetachUnitGroup; + /** + * Output only. An opaque value that uniquely identifies a version or generation of a resource. It can be used to confirm that the client and server agree on the ordering of a resource being written. + */ + etag?: string | null; + /** + * Optional. The labels on the resource, which can be used for categorization. similar to Kubernetes resource labels. + */ + labels?: {[key: string]: string} | null; + /** + * Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project\}/locations/{location\}/unitGroupOperations/{unitGroupOperation\}" + */ + name?: string | null; + /** + * Optional. Represents a provision operation on a UnitGroup. + */ + provisionUnitGroup?: Schema$ProvisionUnitGroup; + /** + * Optional. Tier represents the tier level of the UnitGroupOperation. + */ + tier?: string | null; + /** + * Output only. The unique identifier of the resource. UID is unique in the time and space for this resource within the scope of the service. It is typically generated by the server on successful creation of a resource and must not be changed. UID is used to uniquely identify resources with resource name reuses. This should be a UUID4. + */ + uid?: string | null; + /** + * Output only. The timestamp when the resource was last updated. Any change to the resource made by users must refresh this value. Changes to a resource made by the service should refresh this value. + */ + updateTime?: string | null; + } /** * Definition of a Unit. Units belonging to the same UnitKind are managed together; for example they follow the same release model (blueprints, versions etc.) and are typically rolled out together. */ @@ -1502,6 +1727,10 @@ export namespace saasservicemgmt_v1beta1 { * AppParams contains the parameters for creating an AppHub Application. */ appParams?: Schema$AppParams; + /** + * Optional. Output only. BoundaryType describes the type of boundary the Unit Kind represents. + */ + boundaryType?: string | null; /** * Output only. The timestamp when the resource was created. */ @@ -1601,6 +1830,9 @@ export namespace saasservicemgmt_v1beta1 { * Optional. Reference to parent resource: UnitOperation. If an operation needs to create other operations as part of its workflow, each of the child operations should have this field set to the parent. This can be used for tracing. (Optional) */ parentUnitOperation?: string | null; + /** + * Optional. Provision operation. + */ provision?: Schema$Provision; /** * Optional. Specifies which rollout created this Unit Operation. This cannot be modified and is used for filtering purposes only. If a dependent unit and unit operation are created as part of another unit operation, they will use the same rolloutId. @@ -1745,7 +1977,10 @@ export namespace saasservicemgmt_v1beta1 { rolloutKinds: Resource$Projects$Locations$Rolloutkinds; rollouts: Resource$Projects$Locations$Rollouts; saas: Resource$Projects$Locations$Saas; + saasReleases: Resource$Projects$Locations$Saasreleases; tenants: Resource$Projects$Locations$Tenants; + unitGroupOperations: Resource$Projects$Locations$Unitgroupoperations; + unitGroups: Resource$Projects$Locations$Unitgroups; unitKinds: Resource$Projects$Locations$Unitkinds; unitOperations: Resource$Projects$Locations$Unitoperations; units: Resource$Projects$Locations$Units; @@ -1767,7 +2002,15 @@ export namespace saasservicemgmt_v1beta1 { ); this.rollouts = new Resource$Projects$Locations$Rollouts(this.context); this.saas = new Resource$Projects$Locations$Saas(this.context); + this.saasReleases = new Resource$Projects$Locations$Saasreleases( + this.context + ); this.tenants = new Resource$Projects$Locations$Tenants(this.context); + this.unitGroupOperations = + new Resource$Projects$Locations$Unitgroupoperations(this.context); + this.unitGroups = new Resource$Projects$Locations$Unitgroups( + this.context + ); this.unitKinds = new Resource$Projects$Locations$Unitkinds(this.context); this.unitOperations = new Resource$Projects$Locations$Unitoperations( this.context @@ -9227,14 +9470,14 @@ export namespace saasservicemgmt_v1beta1 { requestBody?: Schema$Saas; } - export class Resource$Projects$Locations$Tenants { + export class Resource$Projects$Locations$Saasreleases { context: APIRequestContext; constructor(context: APIRequestContext) { this.context = context; } /** - * Create a new tenant. + * Create a new saas release. * @example * ```js * // Before running the sample: @@ -9263,13 +9506,13 @@ export namespace saasservicemgmt_v1beta1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await saasservicemgmt.projects.locations.tenants.create({ - * // Required. The parent of the tenant. + * const res = await saasservicemgmt.projects.locations.saasReleases.create({ + * // Required. The parent of the saas release. * parent: 'projects/my-project/locations/my-location', - * // An optional request ID to identify requests. Specify a unique 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). + * // An optional request ID to identify requests. * requestId: 'placeholder-value', - * // Required. The ID value for the new tenant. - * tenantId: 'placeholder-value', + * // Required. The ID value for the new saas release. + * saasReleaseId: 'placeholder-value', * // If "validate_only" is set to true, the service will try to validate that this request would succeed, but will not actually make changes. * validateOnly: 'placeholder-value', * @@ -9278,12 +9521,12 @@ export namespace saasservicemgmt_v1beta1 { * // request body parameters * // { * // "annotations": {}, - * // "consumerResource": "my_consumerResource", * // "createTime": "my_createTime", * // "etag": "my_etag", * // "labels": {}, * // "name": "my_name", - * // "saas": "my_saas", + * // "releases": [], + * // "tierMappings": [], * // "uid": "my_uid", * // "updateTime": "my_updateTime" * // } @@ -9294,12 +9537,12 @@ export namespace saasservicemgmt_v1beta1 { * // Example response * // { * // "annotations": {}, - * // "consumerResource": "my_consumerResource", * // "createTime": "my_createTime", * // "etag": "my_etag", * // "labels": {}, * // "name": "my_name", - * // "saas": "my_saas", + * // "releases": [], + * // "tierMappings": [], * // "uid": "my_uid", * // "updateTime": "my_updateTime" * // } @@ -9318,52 +9561,52 @@ export namespace saasservicemgmt_v1beta1 { * @returns A promise if used with async/await, or void if used with a callback. */ create( - params: Params$Resource$Projects$Locations$Tenants$Create, + params: Params$Resource$Projects$Locations$Saasreleases$Create, options: StreamMethodOptions ): Promise>; create( - params?: Params$Resource$Projects$Locations$Tenants$Create, + params?: Params$Resource$Projects$Locations$Saasreleases$Create, options?: MethodOptions - ): Promise>; + ): Promise>; create( - params: Params$Resource$Projects$Locations$Tenants$Create, + params: Params$Resource$Projects$Locations$Saasreleases$Create, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; create( - params: Params$Resource$Projects$Locations$Tenants$Create, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Saasreleases$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; create( - params: Params$Resource$Projects$Locations$Tenants$Create, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Saasreleases$Create, + callback: BodyResponseCallback ): void; - create(callback: BodyResponseCallback): void; + create(callback: BodyResponseCallback): void; create( paramsOrCallback?: - | Params$Resource$Projects$Locations$Tenants$Create - | BodyResponseCallback + | Params$Resource$Projects$Locations$Saasreleases$Create + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Tenants$Create; + {}) as Params$Resource$Projects$Locations$Saasreleases$Create; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Tenants$Create; + params = {} as Params$Resource$Projects$Locations$Saasreleases$Create; options = {}; } @@ -9377,7 +9620,7 @@ export namespace saasservicemgmt_v1beta1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1beta1/{+parent}/tenants').replace( + url: (rootUrl + '/v1beta1/{+parent}/saasReleases').replace( /([^:]\/)\/+/g, '$1' ), @@ -9392,17 +9635,17 @@ export namespace saasservicemgmt_v1beta1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Delete a single tenant. + * Delete a single saas release. * @example * ```js * // Before running the sample: @@ -9431,12 +9674,12 @@ export namespace saasservicemgmt_v1beta1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await saasservicemgmt.projects.locations.tenants.delete({ - * // The etag known to the client for the expected state of the tenant. This is used with state-changing methods to prevent accidental overwrites when multiple user agents might be acting in parallel on the same resource. An etag wildcard provide optimistic concurrency based on the expected existence of the tenant. The Any wildcard (`*`) requires that the resource must already exists, and the Not Any wildcard (`!*`) requires that it must not. + * const res = await saasservicemgmt.projects.locations.saasReleases.delete({ + * // The etag known to the client for the expected state of the saas release. * etag: 'placeholder-value', * // Required. The resource name of the resource within a service. - * name: 'projects/my-project/locations/my-location/tenants/my-tenant', - * // An optional request ID to identify requests. Specify a unique 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). + * name: 'projects/my-project/locations/my-location/saasReleases/my-saasRelease', + * // An optional request ID to identify requests. * requestId: 'placeholder-value', * // If "validate_only" is set to true, the service will try to validate that this request would succeed, but will not actually make changes. * validateOnly: 'placeholder-value', @@ -9460,31 +9703,31 @@ export namespace saasservicemgmt_v1beta1 { * @returns A promise if used with async/await, or void if used with a callback. */ delete( - params: Params$Resource$Projects$Locations$Tenants$Delete, + params: Params$Resource$Projects$Locations$Saasreleases$Delete, options: StreamMethodOptions ): Promise>; delete( - params?: Params$Resource$Projects$Locations$Tenants$Delete, + params?: Params$Resource$Projects$Locations$Saasreleases$Delete, options?: MethodOptions ): Promise>; delete( - params: Params$Resource$Projects$Locations$Tenants$Delete, + params: Params$Resource$Projects$Locations$Saasreleases$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Projects$Locations$Tenants$Delete, + params: Params$Resource$Projects$Locations$Saasreleases$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Projects$Locations$Tenants$Delete, + params: Params$Resource$Projects$Locations$Saasreleases$Delete, callback: BodyResponseCallback ): void; delete(callback: BodyResponseCallback): void; delete( paramsOrCallback?: - | Params$Resource$Projects$Locations$Tenants$Delete + | Params$Resource$Projects$Locations$Saasreleases$Delete | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -9500,12 +9743,12 @@ export namespace saasservicemgmt_v1beta1 { | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Tenants$Delete; + {}) as Params$Resource$Projects$Locations$Saasreleases$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Tenants$Delete; + params = {} as Params$Resource$Projects$Locations$Saasreleases$Delete; options = {}; } @@ -9541,7 +9784,7 @@ export namespace saasservicemgmt_v1beta1 { } /** - * Retrieve a single tenant. + * Retrieve a single saas release. * @example * ```js * // Before running the sample: @@ -9570,21 +9813,21 @@ export namespace saasservicemgmt_v1beta1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await saasservicemgmt.projects.locations.tenants.get({ + * const res = await saasservicemgmt.projects.locations.saasReleases.get({ * // Required. The resource name of the resource within a service. - * name: 'projects/my-project/locations/my-location/tenants/my-tenant', + * name: 'projects/my-project/locations/my-location/saasReleases/my-saasRelease', * }); * console.log(res.data); * * // Example response * // { * // "annotations": {}, - * // "consumerResource": "my_consumerResource", * // "createTime": "my_createTime", * // "etag": "my_etag", * // "labels": {}, * // "name": "my_name", - * // "saas": "my_saas", + * // "releases": [], + * // "tierMappings": [], * // "uid": "my_uid", * // "updateTime": "my_updateTime" * // } @@ -9603,52 +9846,52 @@ export namespace saasservicemgmt_v1beta1 { * @returns A promise if used with async/await, or void if used with a callback. */ get( - params: Params$Resource$Projects$Locations$Tenants$Get, + params: Params$Resource$Projects$Locations$Saasreleases$Get, options: StreamMethodOptions ): Promise>; get( - params?: Params$Resource$Projects$Locations$Tenants$Get, + params?: Params$Resource$Projects$Locations$Saasreleases$Get, options?: MethodOptions - ): Promise>; + ): Promise>; get( - params: Params$Resource$Projects$Locations$Tenants$Get, + params: Params$Resource$Projects$Locations$Saasreleases$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; get( - params: Params$Resource$Projects$Locations$Tenants$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Saasreleases$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; get( - params: Params$Resource$Projects$Locations$Tenants$Get, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Saasreleases$Get, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; get( paramsOrCallback?: - | Params$Resource$Projects$Locations$Tenants$Get - | BodyResponseCallback + | Params$Resource$Projects$Locations$Saasreleases$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Tenants$Get; + {}) as Params$Resource$Projects$Locations$Saasreleases$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Tenants$Get; + params = {} as Params$Resource$Projects$Locations$Saasreleases$Get; options = {}; } @@ -9674,17 +9917,17 @@ export namespace saasservicemgmt_v1beta1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Retrieve a collection of tenants. + * Retrieve a collection of saas releases. * @example * ```js * // Before running the sample: @@ -9713,16 +9956,16 @@ export namespace saasservicemgmt_v1beta1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await saasservicemgmt.projects.locations.tenants.list({ + * const res = await saasservicemgmt.projects.locations.saasReleases.list({ * // Filter the list as specified in https://google.aip.dev/160. * filter: 'placeholder-value', * // Order results as specified in https://google.aip.dev/132. * orderBy: 'placeholder-value', - * // The maximum number of tenants to send per page. + * // The maximum number of saas releases to send per page. * pageSize: 'placeholder-value', * // The page token: If the next_page_token from a previous response is provided, this request will send the subsequent page. * pageToken: 'placeholder-value', - * // Required. The parent of the tenant. + * // Required. The parent of the saas releases. * parent: 'projects/my-project/locations/my-location', * }); * console.log(res.data); @@ -9730,7 +9973,7 @@ export namespace saasservicemgmt_v1beta1 { * // Example response * // { * // "nextPageToken": "my_nextPageToken", - * // "tenants": [], + * // "saasReleases": [], * // "unreachable": [] * // } * } @@ -9748,52 +9991,2674 @@ export namespace saasservicemgmt_v1beta1 { * @returns A promise if used with async/await, or void if used with a callback. */ list( - params: Params$Resource$Projects$Locations$Tenants$List, + params: Params$Resource$Projects$Locations$Saasreleases$List, options: StreamMethodOptions ): Promise>; list( - params?: Params$Resource$Projects$Locations$Tenants$List, + params?: Params$Resource$Projects$Locations$Saasreleases$List, options?: MethodOptions - ): Promise>; + ): Promise>; list( - params: Params$Resource$Projects$Locations$Tenants$List, + params: Params$Resource$Projects$Locations$Saasreleases$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; list( - params: Params$Resource$Projects$Locations$Tenants$List, + params: Params$Resource$Projects$Locations$Saasreleases$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Saasreleases$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Saasreleases$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Saasreleases$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Saasreleases$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://saasservicemgmt.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+parent}/saasReleases').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Update a single saas release. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/saasservicemgmt.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const saasservicemgmt = google.saasservicemgmt('v1beta1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await saasservicemgmt.projects.locations.saasReleases.patch({ + * // Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project\}/locations/{location\}/saasReleases/{saasRelease\}" + * name: 'projects/my-project/locations/my-location/saasReleases/my-saasRelease', + * // An optional request ID to identify requests. + * requestId: 'placeholder-value', + * // Field mask is used to specify the fields to be overwritten. + * updateMask: 'placeholder-value', + * // If "validate_only" is set to true, the service will try to validate that this request would succeed, but will not actually make changes. + * validateOnly: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "annotations": {}, + * // "createTime": "my_createTime", + * // "etag": "my_etag", + * // "labels": {}, + * // "name": "my_name", + * // "releases": [], + * // "tierMappings": [], + * // "uid": "my_uid", + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "annotations": {}, + * // "createTime": "my_createTime", + * // "etag": "my_etag", + * // "labels": {}, + * // "name": "my_name", + * // "releases": [], + * // "tierMappings": [], + * // "uid": "my_uid", + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Saasreleases$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Projects$Locations$Saasreleases$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Saasreleases$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Saasreleases$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Saasreleases$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Saasreleases$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Saasreleases$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Saasreleases$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://saasservicemgmt.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Saasreleases$Create extends StandardParameters { + /** + * Required. The parent of the saas release. + */ + parent?: string; + /** + * An optional request ID to identify requests. + */ + requestId?: string; + /** + * Required. The ID value for the new saas release. + */ + saasReleaseId?: string; + /** + * If "validate_only" is set to true, the service will try to validate that this request would succeed, but will not actually make changes. + */ + validateOnly?: boolean; + + /** + * Request body metadata + */ + requestBody?: Schema$SaasRelease; + } + export interface Params$Resource$Projects$Locations$Saasreleases$Delete extends StandardParameters { + /** + * The etag known to the client for the expected state of the saas release. + */ + etag?: string; + /** + * Required. The resource name of the resource within a service. + */ + name?: string; + /** + * An optional request ID to identify requests. + */ + requestId?: string; + /** + * If "validate_only" is set to true, the service will try to validate that this request would succeed, but will not actually make changes. + */ + validateOnly?: boolean; + } + export interface Params$Resource$Projects$Locations$Saasreleases$Get extends StandardParameters { + /** + * Required. The resource name of the resource within a service. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Saasreleases$List extends StandardParameters { + /** + * Filter the list as specified in https://google.aip.dev/160. + */ + filter?: string; + /** + * Order results as specified in https://google.aip.dev/132. + */ + orderBy?: string; + /** + * The maximum number of saas releases to send per page. + */ + pageSize?: number; + /** + * The page token: If the next_page_token from a previous response is provided, this request will send the subsequent page. + */ + pageToken?: string; + /** + * Required. The parent of the saas releases. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Saasreleases$Patch extends StandardParameters { + /** + * Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project\}/locations/{location\}/saasReleases/{saasRelease\}" + */ + name?: string; + /** + * An optional request ID to identify requests. + */ + requestId?: string; + /** + * Field mask is used to specify the fields to be overwritten. + */ + updateMask?: string; + /** + * If "validate_only" is set to true, the service will try to validate that this request would succeed, but will not actually make changes. + */ + validateOnly?: boolean; + + /** + * Request body metadata + */ + requestBody?: Schema$SaasRelease; + } + + export class Resource$Projects$Locations$Tenants { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Create a new tenant. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/saasservicemgmt.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const saasservicemgmt = google.saasservicemgmt('v1beta1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await saasservicemgmt.projects.locations.tenants.create({ + * // Required. The parent of the tenant. + * parent: 'projects/my-project/locations/my-location', + * // An optional request ID to identify requests. Specify a unique 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). + * requestId: 'placeholder-value', + * // Required. The ID value for the new tenant. + * tenantId: 'placeholder-value', + * // If "validate_only" is set to true, the service will try to validate that this request would succeed, but will not actually make changes. + * validateOnly: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "annotations": {}, + * // "consumerResource": "my_consumerResource", + * // "createTime": "my_createTime", + * // "etag": "my_etag", + * // "labels": {}, + * // "name": "my_name", + * // "saas": "my_saas", + * // "uid": "my_uid", + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "annotations": {}, + * // "consumerResource": "my_consumerResource", + * // "createTime": "my_createTime", + * // "etag": "my_etag", + * // "labels": {}, + * // "name": "my_name", + * // "saas": "my_saas", + * // "uid": "my_uid", + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Tenants$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Tenants$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Tenants$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Tenants$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Tenants$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Tenants$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Tenants$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Tenants$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://saasservicemgmt.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+parent}/tenants').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Delete a single tenant. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/saasservicemgmt.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const saasservicemgmt = google.saasservicemgmt('v1beta1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await saasservicemgmt.projects.locations.tenants.delete({ + * // The etag known to the client for the expected state of the tenant. This is used with state-changing methods to prevent accidental overwrites when multiple user agents might be acting in parallel on the same resource. An etag wildcard provide optimistic concurrency based on the expected existence of the tenant. The Any wildcard (`*`) requires that the resource must already exists, and the Not Any wildcard (`!*`) requires that it must not. + * etag: 'placeholder-value', + * // Required. The resource name of the resource within a service. + * name: 'projects/my-project/locations/my-location/tenants/my-tenant', + * // An optional request ID to identify requests. Specify a unique 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). + * requestId: 'placeholder-value', + * // If "validate_only" is set to true, the service will try to validate that this request would succeed, but will not actually make changes. + * validateOnly: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // {} + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Tenants$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Tenants$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Tenants$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Tenants$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Tenants$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Tenants$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Tenants$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Tenants$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://saasservicemgmt.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Retrieve a single tenant. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/saasservicemgmt.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const saasservicemgmt = google.saasservicemgmt('v1beta1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await saasservicemgmt.projects.locations.tenants.get({ + * // Required. The resource name of the resource within a service. + * name: 'projects/my-project/locations/my-location/tenants/my-tenant', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "annotations": {}, + * // "consumerResource": "my_consumerResource", + * // "createTime": "my_createTime", + * // "etag": "my_etag", + * // "labels": {}, + * // "name": "my_name", + * // "saas": "my_saas", + * // "uid": "my_uid", + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Tenants$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Tenants$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Tenants$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Tenants$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Tenants$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Tenants$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Tenants$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Tenants$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://saasservicemgmt.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Retrieve a collection of tenants. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/saasservicemgmt.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const saasservicemgmt = google.saasservicemgmt('v1beta1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await saasservicemgmt.projects.locations.tenants.list({ + * // Filter the list as specified in https://google.aip.dev/160. + * filter: 'placeholder-value', + * // Order results as specified in https://google.aip.dev/132. + * orderBy: 'placeholder-value', + * // The maximum number of tenants to send per page. + * pageSize: 'placeholder-value', + * // The page token: If the next_page_token from a previous response is provided, this request will send the subsequent page. + * pageToken: 'placeholder-value', + * // Required. The parent of the tenant. + * parent: 'projects/my-project/locations/my-location', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "nextPageToken": "my_nextPageToken", + * // "tenants": [], + * // "unreachable": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Tenants$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Tenants$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Tenants$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Tenants$List, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; list( - params: Params$Resource$Projects$Locations$Tenants$List, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Tenants$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Tenants$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Tenants$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Tenants$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://saasservicemgmt.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+parent}/tenants').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Update a single tenant. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/saasservicemgmt.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const saasservicemgmt = google.saasservicemgmt('v1beta1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await saasservicemgmt.projects.locations.tenants.patch({ + * // Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project\}/locations/{location\}/tenants/{tenant\}" + * name: 'projects/my-project/locations/my-location/tenants/my-tenant', + * // An optional request ID to identify requests. Specify a unique 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). + * requestId: 'placeholder-value', + * // Field mask is used to specify the fields to be overwritten in the Tenant 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 in the Tenant will be overwritten. + * updateMask: 'placeholder-value', + * // If "validate_only" is set to true, the service will try to validate that this request would succeed, but will not actually make changes. + * validateOnly: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "annotations": {}, + * // "consumerResource": "my_consumerResource", + * // "createTime": "my_createTime", + * // "etag": "my_etag", + * // "labels": {}, + * // "name": "my_name", + * // "saas": "my_saas", + * // "uid": "my_uid", + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "annotations": {}, + * // "consumerResource": "my_consumerResource", + * // "createTime": "my_createTime", + * // "etag": "my_etag", + * // "labels": {}, + * // "name": "my_name", + * // "saas": "my_saas", + * // "uid": "my_uid", + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Tenants$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Projects$Locations$Tenants$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Tenants$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Tenants$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Tenants$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Tenants$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Tenants$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Tenants$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://saasservicemgmt.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Tenants$Create extends StandardParameters { + /** + * Required. The parent of the tenant. + */ + parent?: string; + /** + * An optional request ID to identify requests. Specify a unique 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). + */ + requestId?: string; + /** + * Required. The ID value for the new tenant. + */ + tenantId?: string; + /** + * If "validate_only" is set to true, the service will try to validate that this request would succeed, but will not actually make changes. + */ + validateOnly?: boolean; + + /** + * Request body metadata + */ + requestBody?: Schema$Tenant; + } + export interface Params$Resource$Projects$Locations$Tenants$Delete extends StandardParameters { + /** + * The etag known to the client for the expected state of the tenant. This is used with state-changing methods to prevent accidental overwrites when multiple user agents might be acting in parallel on the same resource. An etag wildcard provide optimistic concurrency based on the expected existence of the tenant. The Any wildcard (`*`) requires that the resource must already exists, and the Not Any wildcard (`!*`) requires that it must not. + */ + etag?: string; + /** + * Required. The resource name of the resource within a service. + */ + name?: string; + /** + * An optional request ID to identify requests. Specify a unique 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). + */ + requestId?: string; + /** + * If "validate_only" is set to true, the service will try to validate that this request would succeed, but will not actually make changes. + */ + validateOnly?: boolean; + } + export interface Params$Resource$Projects$Locations$Tenants$Get extends StandardParameters { + /** + * Required. The resource name of the resource within a service. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Tenants$List extends StandardParameters { + /** + * Filter the list as specified in https://google.aip.dev/160. + */ + filter?: string; + /** + * Order results as specified in https://google.aip.dev/132. + */ + orderBy?: string; + /** + * The maximum number of tenants to send per page. + */ + pageSize?: number; + /** + * The page token: If the next_page_token from a previous response is provided, this request will send the subsequent page. + */ + pageToken?: string; + /** + * Required. The parent of the tenant. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Tenants$Patch extends StandardParameters { + /** + * Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project\}/locations/{location\}/tenants/{tenant\}" + */ + name?: string; + /** + * An optional request ID to identify requests. Specify a unique 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). + */ + requestId?: string; + /** + * Field mask is used to specify the fields to be overwritten in the Tenant 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 in the Tenant will be overwritten. + */ + updateMask?: string; + /** + * If "validate_only" is set to true, the service will try to validate that this request would succeed, but will not actually make changes. + */ + validateOnly?: boolean; + + /** + * Request body metadata + */ + requestBody?: Schema$Tenant; + } + + export class Resource$Projects$Locations$Unitgroupoperations { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Create a new unit group operation. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/saasservicemgmt.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const saasservicemgmt = google.saasservicemgmt('v1beta1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await saasservicemgmt.projects.locations.unitGroupOperations.create({ + * // Required. The parent of the unit group operation. + * parent: 'projects/my-project/locations/my-location', + * // 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). + * requestId: 'placeholder-value', + * // Required. The ID value for the new unit group operation. + * unitGroupOperationId: 'placeholder-value', + * // Optional. If "validate_only" is set to true, the service will try to validate that this request would succeed, but will not actually make changes. + * validateOnly: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "annotations": {}, + * // "createTime": "my_createTime", + * // "deprovisionUnitGroup": {}, + * // "detachUnitGroup": {}, + * // "etag": "my_etag", + * // "labels": {}, + * // "name": "my_name", + * // "provisionUnitGroup": {}, + * // "tier": "my_tier", + * // "uid": "my_uid", + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "annotations": {}, + * // "createTime": "my_createTime", + * // "deprovisionUnitGroup": {}, + * // "detachUnitGroup": {}, + * // "etag": "my_etag", + * // "labels": {}, + * // "name": "my_name", + * // "provisionUnitGroup": {}, + * // "tier": "my_tier", + * // "uid": "my_uid", + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Unitgroupoperations$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Unitgroupoperations$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Unitgroupoperations$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Unitgroupoperations$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Unitgroupoperations$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Unitgroupoperations$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Unitgroupoperations$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Unitgroupoperations$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://saasservicemgmt.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+parent}/unitGroupOperations').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Delete a single unit group operation. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/saasservicemgmt.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const saasservicemgmt = google.saasservicemgmt('v1beta1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await saasservicemgmt.projects.locations.unitGroupOperations.delete({ + * // Optional. The etag known to the client for the expected state of the unit group operation. This is used with state-changing methods to prevent accidental overwrites when multiple user agents might be acting in parallel on the same resource. An etag wildcard provide optimistic concurrency based on the expected existence of the unit group operation. The Any wildcard (`*`) requires that the resource must already exists, and the Not Any wildcard (`!*`) requires that it must not. + * etag: 'placeholder-value', + * // Required. The resource name of the resource within a service. + * name: 'projects/my-project/locations/my-location/unitGroupOperations/my-unitGroupOperation', + * // 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). + * requestId: 'placeholder-value', + * // Optional. If "validate_only" is set to true, the service will try to validate that this request would succeed, but will not actually make changes. + * validateOnly: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // {} + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Unitgroupoperations$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Unitgroupoperations$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Unitgroupoperations$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Unitgroupoperations$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Unitgroupoperations$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Unitgroupoperations$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Unitgroupoperations$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Unitgroupoperations$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://saasservicemgmt.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Retrieve a single unit group operation. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/saasservicemgmt.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const saasservicemgmt = google.saasservicemgmt('v1beta1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await saasservicemgmt.projects.locations.unitGroupOperations.get({ + * // Required. The resource name of the resource within a service. + * name: 'projects/my-project/locations/my-location/unitGroupOperations/my-unitGroupOperation', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "annotations": {}, + * // "createTime": "my_createTime", + * // "deprovisionUnitGroup": {}, + * // "detachUnitGroup": {}, + * // "etag": "my_etag", + * // "labels": {}, + * // "name": "my_name", + * // "provisionUnitGroup": {}, + * // "tier": "my_tier", + * // "uid": "my_uid", + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Unitgroupoperations$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Unitgroupoperations$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Unitgroupoperations$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Unitgroupoperations$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Unitgroupoperations$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Unitgroupoperations$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Unitgroupoperations$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Unitgroupoperations$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://saasservicemgmt.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Retrieve a collection of unit group operations. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/saasservicemgmt.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const saasservicemgmt = google.saasservicemgmt('v1beta1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await saasservicemgmt.projects.locations.unitGroupOperations.list( + * { + * // Filter the list as specified in https://google.aip.dev/160. + * filter: 'placeholder-value', + * // Order results as specified in https://google.aip.dev/132. + * orderBy: 'placeholder-value', + * // The maximum number of unit group operations to send per page. + * pageSize: 'placeholder-value', + * // The page token: If the next_page_token from a previous response is provided, this request will send the subsequent page. + * pageToken: 'placeholder-value', + * // Required. The parent of the unit group operation. + * parent: 'projects/my-project/locations/my-location', + * }, + * ); + * console.log(res.data); + * + * // Example response + * // { + * // "nextPageToken": "my_nextPageToken", + * // "unitGroupOperations": [], + * // "unreachable": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Unitgroupoperations$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Unitgroupoperations$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Unitgroupoperations$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Unitgroupoperations$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Unitgroupoperations$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Unitgroupoperations$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Unitgroupoperations$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Unitgroupoperations$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://saasservicemgmt.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+parent}/unitGroupOperations').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Update a single unit group operation. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/saasservicemgmt.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const saasservicemgmt = google.saasservicemgmt('v1beta1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await saasservicemgmt.projects.locations.unitGroupOperations.patch({ + * // Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project\}/locations/{location\}/unitGroupOperations/{unitGroupOperation\}" + * name: 'projects/my-project/locations/my-location/unitGroupOperations/my-unitGroupOperation', + * // 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). + * requestId: 'placeholder-value', + * // Optional. Field mask is used to specify the fields to be overwritten in the UnitGroupOperation 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 in the UnitGroupOperation will be overwritten. + * updateMask: 'placeholder-value', + * // Optional. If "validate_only" is set to true, the service will try to validate that this request would succeed, but will not actually make changes. + * validateOnly: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "annotations": {}, + * // "createTime": "my_createTime", + * // "deprovisionUnitGroup": {}, + * // "detachUnitGroup": {}, + * // "etag": "my_etag", + * // "labels": {}, + * // "name": "my_name", + * // "provisionUnitGroup": {}, + * // "tier": "my_tier", + * // "uid": "my_uid", + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "annotations": {}, + * // "createTime": "my_createTime", + * // "deprovisionUnitGroup": {}, + * // "detachUnitGroup": {}, + * // "etag": "my_etag", + * // "labels": {}, + * // "name": "my_name", + * // "provisionUnitGroup": {}, + * // "tier": "my_tier", + * // "uid": "my_uid", + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Unitgroupoperations$Patch, + options: StreamMethodOptions + ): Promise>; + patch( + params?: Params$Resource$Projects$Locations$Unitgroupoperations$Patch, + options?: MethodOptions + ): Promise>; + patch( + params: Params$Resource$Projects$Locations$Unitgroupoperations$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Unitgroupoperations$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Unitgroupoperations$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Unitgroupoperations$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Unitgroupoperations$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Unitgroupoperations$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://saasservicemgmt.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Unitgroupoperations$Create extends StandardParameters { + /** + * Required. The parent of the unit group operation. + */ + parent?: string; + /** + * 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). + */ + requestId?: string; + /** + * Required. The ID value for the new unit group operation. + */ + unitGroupOperationId?: string; + /** + * Optional. If "validate_only" is set to true, the service will try to validate that this request would succeed, but will not actually make changes. + */ + validateOnly?: boolean; + + /** + * Request body metadata + */ + requestBody?: Schema$UnitGroupOperation; + } + export interface Params$Resource$Projects$Locations$Unitgroupoperations$Delete extends StandardParameters { + /** + * Optional. The etag known to the client for the expected state of the unit group operation. This is used with state-changing methods to prevent accidental overwrites when multiple user agents might be acting in parallel on the same resource. An etag wildcard provide optimistic concurrency based on the expected existence of the unit group operation. The Any wildcard (`*`) requires that the resource must already exists, and the Not Any wildcard (`!*`) requires that it must not. + */ + etag?: string; + /** + * Required. The resource name of the resource within a service. + */ + name?: string; + /** + * 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). + */ + requestId?: string; + /** + * Optional. If "validate_only" is set to true, the service will try to validate that this request would succeed, but will not actually make changes. + */ + validateOnly?: boolean; + } + export interface Params$Resource$Projects$Locations$Unitgroupoperations$Get extends StandardParameters { + /** + * Required. The resource name of the resource within a service. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Unitgroupoperations$List extends StandardParameters { + /** + * Filter the list as specified in https://google.aip.dev/160. + */ + filter?: string; + /** + * Order results as specified in https://google.aip.dev/132. + */ + orderBy?: string; + /** + * The maximum number of unit group operations to send per page. + */ + pageSize?: number; + /** + * The page token: If the next_page_token from a previous response is provided, this request will send the subsequent page. + */ + pageToken?: string; + /** + * Required. The parent of the unit group operation. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Unitgroupoperations$Patch extends StandardParameters { + /** + * Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project\}/locations/{location\}/unitGroupOperations/{unitGroupOperation\}" + */ + name?: string; + /** + * 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). + */ + requestId?: string; + /** + * Optional. Field mask is used to specify the fields to be overwritten in the UnitGroupOperation 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 in the UnitGroupOperation will be overwritten. + */ + updateMask?: string; + /** + * Optional. If "validate_only" is set to true, the service will try to validate that this request would succeed, but will not actually make changes. + */ + validateOnly?: boolean; + + /** + * Request body metadata + */ + requestBody?: Schema$UnitGroupOperation; + } + + export class Resource$Projects$Locations$Unitgroups { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Create a new unit group. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/saasservicemgmt.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const saasservicemgmt = google.saasservicemgmt('v1beta1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await saasservicemgmt.projects.locations.unitGroups.create({ + * // Required. The parent of the unit group. + * parent: 'projects/my-project/locations/my-location', + * // An optional request ID to identify requests. + * requestId: 'placeholder-value', + * // Required. The ID value for the new unit group. + * unitGroupId: 'placeholder-value', + * // If "validate_only" is set to true, the service will try to validate that this request would succeed, but will not actually make changes. + * validateOnly: 'placeholder-value', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "annotations": {}, + * // "createTime": "my_createTime", + * // "etag": "my_etag", + * // "labels": {}, + * // "name": "my_name", + * // "saas": "my_saas", + * // "saasRelease": "my_saasRelease", + * // "state": "my_state", + * // "uid": "my_uid", + * // "updateTime": "my_updateTime" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "annotations": {}, + * // "createTime": "my_createTime", + * // "etag": "my_etag", + * // "labels": {}, + * // "name": "my_name", + * // "saas": "my_saas", + * // "saasRelease": "my_saasRelease", + * // "state": "my_state", + * // "uid": "my_uid", + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Unitgroups$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Projects$Locations$Unitgroups$Create, + options?: MethodOptions + ): Promise>; + create( + params: Params$Resource$Projects$Locations$Unitgroups$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Unitgroups$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Unitgroups$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Unitgroups$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Unitgroups$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Unitgroups$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://saasservicemgmt.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+parent}/unitGroups').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Delete a single unit group. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/saasservicemgmt.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const saasservicemgmt = google.saasservicemgmt('v1beta1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await saasservicemgmt.projects.locations.unitGroups.delete({ + * // The etag known to the client for the expected state of the unit group. + * etag: 'placeholder-value', + * // Required. The resource name of the resource within a service. + * name: 'projects/my-project/locations/my-location/unitGroups/my-unitGroup', + * // An optional request ID to identify requests. + * requestId: 'placeholder-value', + * // If "validate_only" is set to true, the service will try to validate that this request would succeed, but will not actually make changes. + * validateOnly: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // {} + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Unitgroups$Delete, + options: StreamMethodOptions + ): Promise>; + delete( + params?: Params$Resource$Projects$Locations$Unitgroups$Delete, + options?: MethodOptions + ): Promise>; + delete( + params: Params$Resource$Projects$Locations$Unitgroups$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Unitgroups$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Unitgroups$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Unitgroups$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Unitgroups$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Unitgroups$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://saasservicemgmt.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Retrieve a single unit group. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/saasservicemgmt.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const saasservicemgmt = google.saasservicemgmt('v1beta1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await saasservicemgmt.projects.locations.unitGroups.get({ + * // Required. The resource name of the resource within a service. + * name: 'projects/my-project/locations/my-location/unitGroups/my-unitGroup', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "annotations": {}, + * // "createTime": "my_createTime", + * // "etag": "my_etag", + * // "labels": {}, + * // "name": "my_name", + * // "saas": "my_saas", + * // "saasRelease": "my_saasRelease", + * // "state": "my_state", + * // "uid": "my_uid", + * // "updateTime": "my_updateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Unitgroups$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Projects$Locations$Unitgroups$Get, + options?: MethodOptions + ): Promise>; + get( + params: Params$Resource$Projects$Locations$Unitgroups$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Unitgroups$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Unitgroups$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Unitgroups$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Unitgroups$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Unitgroups$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://saasservicemgmt.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Retrieve a collection of unit groups. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/saasservicemgmt.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const saasservicemgmt = google.saasservicemgmt('v1beta1'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/cloud-platform'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await saasservicemgmt.projects.locations.unitGroups.list({ + * // Filter the list as specified in https://google.aip.dev/160. + * filter: 'placeholder-value', + * // Order results as specified in https://google.aip.dev/132. + * orderBy: 'placeholder-value', + * // The maximum number of unit groups to send per page. + * pageSize: 'placeholder-value', + * // The page token: If the next_page_token from a previous response is provided, this request will send the subsequent page. + * pageToken: 'placeholder-value', + * // Required. The parent of the unit group. + * parent: 'projects/my-project/locations/my-location', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "nextPageToken": "my_nextPageToken", + * // "unitGroups": [], + * // "unreachable": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Unitgroups$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Projects$Locations$Unitgroups$List, + options?: MethodOptions + ): Promise>; + list( + params: Params$Resource$Projects$Locations$Unitgroups$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Unitgroups$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; + list( + params: Params$Resource$Projects$Locations$Unitgroups$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; list( paramsOrCallback?: - | Params$Resource$Projects$Locations$Tenants$List - | BodyResponseCallback + | Params$Resource$Projects$Locations$Unitgroups$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Tenants$List; + {}) as Params$Resource$Projects$Locations$Unitgroups$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Tenants$List; + params = {} as Params$Resource$Projects$Locations$Unitgroups$List; options = {}; } @@ -9807,7 +12672,7 @@ export namespace saasservicemgmt_v1beta1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1beta1/{+parent}/tenants').replace( + url: (rootUrl + '/v1beta1/{+parent}/unitGroups').replace( /([^:]\/)\/+/g, '$1' ), @@ -9822,17 +12687,17 @@ export namespace saasservicemgmt_v1beta1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Update a single tenant. + * Update a single unit group. * @example * ```js * // Before running the sample: @@ -9861,12 +12726,12 @@ export namespace saasservicemgmt_v1beta1 { * google.options({auth: authClient}); * * // Do the magic - * const res = await saasservicemgmt.projects.locations.tenants.patch({ - * // Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project\}/locations/{location\}/tenants/{tenant\}" - * name: 'projects/my-project/locations/my-location/tenants/my-tenant', - * // An optional request ID to identify requests. Specify a unique 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). + * const res = await saasservicemgmt.projects.locations.unitGroups.patch({ + * // Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project\}/locations/{location\}/unitGroups/{unitGroup\}" + * name: 'projects/my-project/locations/my-location/unitGroups/my-unitGroup', + * // An optional request ID to identify requests. * requestId: 'placeholder-value', - * // Field mask is used to specify the fields to be overwritten in the Tenant 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 in the Tenant will be overwritten. + * // Field mask is used to specify the fields to be overwritten. * updateMask: 'placeholder-value', * // If "validate_only" is set to true, the service will try to validate that this request would succeed, but will not actually make changes. * validateOnly: 'placeholder-value', @@ -9876,12 +12741,13 @@ export namespace saasservicemgmt_v1beta1 { * // request body parameters * // { * // "annotations": {}, - * // "consumerResource": "my_consumerResource", * // "createTime": "my_createTime", * // "etag": "my_etag", * // "labels": {}, * // "name": "my_name", * // "saas": "my_saas", + * // "saasRelease": "my_saasRelease", + * // "state": "my_state", * // "uid": "my_uid", * // "updateTime": "my_updateTime" * // } @@ -9892,12 +12758,13 @@ export namespace saasservicemgmt_v1beta1 { * // Example response * // { * // "annotations": {}, - * // "consumerResource": "my_consumerResource", * // "createTime": "my_createTime", * // "etag": "my_etag", * // "labels": {}, * // "name": "my_name", * // "saas": "my_saas", + * // "saasRelease": "my_saasRelease", + * // "state": "my_state", * // "uid": "my_uid", * // "updateTime": "my_updateTime" * // } @@ -9916,52 +12783,52 @@ export namespace saasservicemgmt_v1beta1 { * @returns A promise if used with async/await, or void if used with a callback. */ patch( - params: Params$Resource$Projects$Locations$Tenants$Patch, + params: Params$Resource$Projects$Locations$Unitgroups$Patch, options: StreamMethodOptions ): Promise>; patch( - params?: Params$Resource$Projects$Locations$Tenants$Patch, + params?: Params$Resource$Projects$Locations$Unitgroups$Patch, options?: MethodOptions - ): Promise>; + ): Promise>; patch( - params: Params$Resource$Projects$Locations$Tenants$Patch, + params: Params$Resource$Projects$Locations$Unitgroups$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; patch( - params: Params$Resource$Projects$Locations$Tenants$Patch, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Unitgroups$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; patch( - params: Params$Resource$Projects$Locations$Tenants$Patch, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Unitgroups$Patch, + callback: BodyResponseCallback ): void; - patch(callback: BodyResponseCallback): void; + patch(callback: BodyResponseCallback): void; patch( paramsOrCallback?: - | Params$Resource$Projects$Locations$Tenants$Patch - | BodyResponseCallback + | Params$Resource$Projects$Locations$Unitgroups$Patch + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | Promise> + | Promise> | Promise> { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Tenants$Patch; + {}) as Params$Resource$Projects$Locations$Unitgroups$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Tenants$Patch; + params = {} as Params$Resource$Projects$Locations$Unitgroups$Patch; options = {}; } @@ -9987,29 +12854,29 @@ export namespace saasservicemgmt_v1beta1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } } - export interface Params$Resource$Projects$Locations$Tenants$Create extends StandardParameters { + export interface Params$Resource$Projects$Locations$Unitgroups$Create extends StandardParameters { /** - * Required. The parent of the tenant. + * Required. The parent of the unit group. */ parent?: string; /** - * An optional request ID to identify requests. Specify a unique 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). + * An optional request ID to identify requests. */ requestId?: string; /** - * Required. The ID value for the new tenant. + * Required. The ID value for the new unit group. */ - tenantId?: string; + unitGroupId?: string; /** * If "validate_only" is set to true, the service will try to validate that this request would succeed, but will not actually make changes. */ @@ -10018,11 +12885,11 @@ export namespace saasservicemgmt_v1beta1 { /** * Request body metadata */ - requestBody?: Schema$Tenant; + requestBody?: Schema$UnitGroup; } - export interface Params$Resource$Projects$Locations$Tenants$Delete extends StandardParameters { + export interface Params$Resource$Projects$Locations$Unitgroups$Delete extends StandardParameters { /** - * The etag known to the client for the expected state of the tenant. This is used with state-changing methods to prevent accidental overwrites when multiple user agents might be acting in parallel on the same resource. An etag wildcard provide optimistic concurrency based on the expected existence of the tenant. The Any wildcard (`*`) requires that the resource must already exists, and the Not Any wildcard (`!*`) requires that it must not. + * The etag known to the client for the expected state of the unit group. */ etag?: string; /** @@ -10030,7 +12897,7 @@ export namespace saasservicemgmt_v1beta1 { */ name?: string; /** - * An optional request ID to identify requests. Specify a unique 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). + * An optional request ID to identify requests. */ requestId?: string; /** @@ -10038,13 +12905,13 @@ export namespace saasservicemgmt_v1beta1 { */ validateOnly?: boolean; } - export interface Params$Resource$Projects$Locations$Tenants$Get extends StandardParameters { + export interface Params$Resource$Projects$Locations$Unitgroups$Get extends StandardParameters { /** * Required. The resource name of the resource within a service. */ name?: string; } - export interface Params$Resource$Projects$Locations$Tenants$List extends StandardParameters { + export interface Params$Resource$Projects$Locations$Unitgroups$List extends StandardParameters { /** * Filter the list as specified in https://google.aip.dev/160. */ @@ -10054,7 +12921,7 @@ export namespace saasservicemgmt_v1beta1 { */ orderBy?: string; /** - * The maximum number of tenants to send per page. + * The maximum number of unit groups to send per page. */ pageSize?: number; /** @@ -10062,21 +12929,21 @@ export namespace saasservicemgmt_v1beta1 { */ pageToken?: string; /** - * Required. The parent of the tenant. + * Required. The parent of the unit group. */ parent?: string; } - export interface Params$Resource$Projects$Locations$Tenants$Patch extends StandardParameters { + export interface Params$Resource$Projects$Locations$Unitgroups$Patch extends StandardParameters { /** - * Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project\}/locations/{location\}/tenants/{tenant\}" + * Identifier. The resource name (full URI of the resource) following the standard naming scheme: "projects/{project\}/locations/{location\}/unitGroups/{unitGroup\}" */ name?: string; /** - * An optional request ID to identify requests. Specify a unique 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). + * An optional request ID to identify requests. */ requestId?: string; /** - * Field mask is used to specify the fields to be overwritten in the Tenant 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 in the Tenant will be overwritten. + * Field mask is used to specify the fields to be overwritten. */ updateMask?: string; /** @@ -10087,7 +12954,7 @@ export namespace saasservicemgmt_v1beta1 { /** * Request body metadata */ - requestBody?: Schema$Tenant; + requestBody?: Schema$UnitGroup; } export class Resource$Projects$Locations$Unitkinds { @@ -10143,6 +13010,7 @@ export namespace saasservicemgmt_v1beta1 { * // "annotations": {}, * // "appParams": {}, * // "applicationTemplateComponent": {}, + * // "boundaryType": "my_boundaryType", * // "createTime": "my_createTime", * // "defaultFlagRevisions": [], * // "defaultRelease": "my_defaultRelease", @@ -10165,6 +13033,7 @@ export namespace saasservicemgmt_v1beta1 { * // "annotations": {}, * // "appParams": {}, * // "applicationTemplateComponent": {}, + * // "boundaryType": "my_boundaryType", * // "createTime": "my_createTime", * // "defaultFlagRevisions": [], * // "defaultRelease": "my_defaultRelease", @@ -10456,6 +13325,7 @@ export namespace saasservicemgmt_v1beta1 { * // "annotations": {}, * // "appParams": {}, * // "applicationTemplateComponent": {}, + * // "boundaryType": "my_boundaryType", * // "createTime": "my_createTime", * // "defaultFlagRevisions": [], * // "defaultRelease": "my_defaultRelease", @@ -10761,6 +13631,7 @@ export namespace saasservicemgmt_v1beta1 { * // "annotations": {}, * // "appParams": {}, * // "applicationTemplateComponent": {}, + * // "boundaryType": "my_boundaryType", * // "createTime": "my_createTime", * // "defaultFlagRevisions": [], * // "defaultRelease": "my_defaultRelease", @@ -10783,6 +13654,7 @@ export namespace saasservicemgmt_v1beta1 { * // "annotations": {}, * // "appParams": {}, * // "applicationTemplateComponent": {}, + * // "boundaryType": "my_boundaryType", * // "createTime": "my_createTime", * // "defaultFlagRevisions": [], * // "defaultRelease": "my_defaultRelease", @@ -11988,6 +14860,7 @@ export namespace saasservicemgmt_v1beta1 { * // "systemManagedState": "my_systemManagedState", * // "tenant": "my_tenant", * // "uid": "my_uid", + * // "unitGroup": "my_unitGroup", * // "unitKind": "my_unitKind", * // "updateTime": "my_updateTime" * // } @@ -12023,6 +14896,7 @@ export namespace saasservicemgmt_v1beta1 { * // "systemManagedState": "my_systemManagedState", * // "tenant": "my_tenant", * // "uid": "my_uid", + * // "unitGroup": "my_unitGroup", * // "unitKind": "my_unitKind", * // "updateTime": "my_updateTime" * // } @@ -12327,6 +15201,7 @@ export namespace saasservicemgmt_v1beta1 { * // "systemManagedState": "my_systemManagedState", * // "tenant": "my_tenant", * // "uid": "my_uid", + * // "unitGroup": "my_unitGroup", * // "unitKind": "my_unitKind", * // "updateTime": "my_updateTime" * // } @@ -12643,6 +15518,7 @@ export namespace saasservicemgmt_v1beta1 { * // "systemManagedState": "my_systemManagedState", * // "tenant": "my_tenant", * // "uid": "my_uid", + * // "unitGroup": "my_unitGroup", * // "unitKind": "my_unitKind", * // "updateTime": "my_updateTime" * // } @@ -12678,6 +15554,7 @@ export namespace saasservicemgmt_v1beta1 { * // "systemManagedState": "my_systemManagedState", * // "tenant": "my_tenant", * // "uid": "my_uid", + * // "unitGroup": "my_unitGroup", * // "unitKind": "my_unitKind", * // "updateTime": "my_updateTime" * // } diff --git a/src/apis/searchads360/index.ts b/src/apis/searchads360/index.ts index 56a5cbae8ed..4a2afdfa0c7 100644 --- a/src/apis/searchads360/index.ts +++ b/src/apis/searchads360/index.ts @@ -15,18 +15,30 @@ import {AuthPlus, getAPI, GoogleConfigurable} from 'googleapis-common'; import {searchads360_v0} from './v0'; +import {searchads360_v23} from './v23'; export const VERSIONS = { v0: searchads360_v0.Searchads360, + v23: searchads360_v23.Searchads360, }; export function searchads360(version: 'v0'): searchads360_v0.Searchads360; export function searchads360( options: searchads360_v0.Options ): searchads360_v0.Searchads360; -export function searchads360( +export function searchads360(version: 'v23'): searchads360_v23.Searchads360; +export function searchads360( + options: searchads360_v23.Options +): searchads360_v23.Searchads360; +export function searchads360< + T = searchads360_v0.Searchads360 | searchads360_v23.Searchads360, +>( this: GoogleConfigurable, - versionOrOptions: 'v0' | searchads360_v0.Options + versionOrOptions: + | 'v0' + | searchads360_v0.Options + | 'v23' + | searchads360_v23.Options ) { return getAPI('searchads360', versionOrOptions, VERSIONS, this); } @@ -34,6 +46,7 @@ export function searchads360( const auth = new AuthPlus(); export {auth}; export {searchads360_v0}; +export {searchads360_v23}; export { AuthPlus, GlobalOptions, diff --git a/src/apis/searchads360/v23.ts b/src/apis/searchads360/v23.ts new file mode 100644 index 00000000000..b17712f83f2 --- /dev/null +++ b/src/apis/searchads360/v23.ts @@ -0,0 +1,55975 @@ +// Copyright 2020 Google LLC +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/no-empty-interface */ +/* eslint-disable @typescript-eslint/no-namespace */ +/* eslint-disable no-irregular-whitespace */ + +import { + OAuth2Client, + JWT, + Compute, + UserRefreshClient, + BaseExternalAccountClient, + GaxiosResponseWithHTTP2, + GoogleConfigurable, + createAPIRequest, + MethodOptions, + StreamMethodOptions, + GlobalOptions, + GoogleAuth, + BodyResponseCallback, + APIRequestContext, +} from 'googleapis-common'; +import {Readable} from 'stream'; + +export namespace searchads360_v23 { + export interface Options extends GlobalOptions { + version: 'v23'; + } + + interface StandardParameters { + /** + * Auth client or API Key for the request + */ + auth?: + | string + | OAuth2Client + | JWT + | Compute + | UserRefreshClient + | BaseExternalAccountClient + | GoogleAuth; + + /** + * V1 error format. + */ + '$.xgafv'?: string; + /** + * OAuth access token. + */ + access_token?: string; + /** + * Data format for response. + */ + alt?: string; + /** + * JSONP + */ + callback?: string; + /** + * Selector specifying which fields to include in a partial response. + */ + fields?: string; + /** + * 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. + */ + key?: string; + /** + * OAuth 2.0 token for the current user. + */ + oauth_token?: string; + /** + * Returns response with indentations and line breaks. + */ + prettyPrint?: boolean; + /** + * 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. + */ + quotaUser?: string; + /** + * Legacy upload protocol for media (e.g. "media", "multipart"). + */ + uploadType?: string; + /** + * Upload protocol for media (e.g. "raw", "multipart"). + */ + upload_protocol?: string; + } + + /** + * Search Ads 360 Reporting API + * + * The Search Ads 360 API allows developers to automate downloading reports from Search Ads 360. + * + * @example + * ```js + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * ``` + */ + export class Searchads360 { + context: APIRequestContext; + audienceInsights: Resource$Audienceinsights; + customers: Resource$Customers; + geoTargetConstants: Resource$Geotargetconstants; + incentives: Resource$Incentives; + keywordThemeConstants: Resource$Keywordthemeconstants; + searchAds360Fields: Resource$Searchads360fields; + v23: Resource$V23; + + constructor(options: GlobalOptions, google?: GoogleConfigurable) { + this.context = { + _options: options || {}, + google, + }; + + this.audienceInsights = new Resource$Audienceinsights(this.context); + this.customers = new Resource$Customers(this.context); + this.geoTargetConstants = new Resource$Geotargetconstants(this.context); + this.incentives = new Resource$Incentives(this.context); + this.keywordThemeConstants = new Resource$Keywordthemeconstants( + this.context + ); + this.searchAds360Fields = new Resource$Searchads360fields(this.context); + this.v23 = new Resource$V23(this.context); + } + } + + /** + * A generic data container. + */ + export interface Schema$GoogleAdsSearchads360V0Common__Value { + /** + * A boolean. + */ + booleanValue?: boolean | null; + /** + * A double. + */ + doubleValue?: number | null; + /** + * A float. + */ + floatValue?: number | null; + /** + * An int64. + */ + int64Value?: string | null; + /** + * A string. + */ + stringValue?: string | null; + } + /** + * A part of a field path. + */ + export interface Schema$GoogleAdsSearchads360V0Errors_ErrorLocation_FieldPathElement { + /** + * The name of a field or a oneof + */ + fieldName?: string | null; + /** + * If field_name is a repeated field, this is the element that failed + */ + index?: number | null; + } + /** + * The error reason represented by type and enum. + */ + export interface Schema$GoogleAdsSearchads360V0Errors__ErrorCode { + /** + * Indicates failure to properly authenticate user. + */ + authenticationError?: string | null; + /** + * An error encountered when trying to authorize a user. + */ + authorizationError?: string | null; + /** + * The reasons for the conversion custom variable error + */ + conversionCustomVariableError?: string | null; + /** + * The reasons for the custom column error + */ + customColumnError?: string | null; + /** + * The reasons for the date error + */ + dateError?: string | null; + /** + * The reasons for the date range error + */ + dateRangeError?: string | null; + /** + * The reasons for the distinct error + */ + distinctError?: string | null; + /** + * The reasons for the header error. + */ + headerError?: string | null; + /** + * An unexpected server-side error. + */ + internalError?: string | null; + /** + * The reasons for invalid parameter errors. + */ + invalidParameterError?: string | null; + /** + * An error with the query + */ + queryError?: string | null; + /** + * An error with the amount of quota remaining. + */ + quotaError?: string | null; + /** + * An error caused by the request + */ + requestError?: string | null; + /** + * The reasons for the size limit error + */ + sizeLimitError?: string | null; + } + /** + * Additional error details. + */ + export interface Schema$GoogleAdsSearchads360V0Errors__ErrorDetails { + /** + * Details on the quota error, including the scope (account or developer), the rate bucket name and the retry delay. + */ + quotaErrorDetails?: Schema$GoogleAdsSearchads360V0Errors__QuotaErrorDetails; + /** + * The error code that should have been returned, but wasn't. This is used when the error code is not published in the client specified version. + */ + unpublishedErrorCode?: string | null; + } + /** + * Describes the part of the request proto that caused the error. + */ + export interface Schema$GoogleAdsSearchads360V0Errors__ErrorLocation { + /** + * A field path that indicates which field was invalid in the request. + */ + fieldPathElements?: Schema$GoogleAdsSearchads360V0Errors_ErrorLocation_FieldPathElement[]; + } + /** + * Additional quota error details when there is QuotaError. + */ + export interface Schema$GoogleAdsSearchads360V0Errors__QuotaErrorDetails { + /** + * The high level description of the quota bucket. Examples are "Get requests for standard access" or "Requests per account". + */ + rateName?: string | null; + /** + * The rate scope of the quota limit. + */ + rateScope?: string | null; + /** + * Backoff period that customers should wait before sending next request. + */ + retryDelay?: string | null; + } + /** + * Search Ads 360-specific error. + */ + export interface Schema$GoogleAdsSearchads360V0Errors__SearchAds360Error { + /** + * Additional error details, which are returned by certain error codes. Most error codes do not include details. + */ + details?: Schema$GoogleAdsSearchads360V0Errors__ErrorDetails; + /** + * An enum value that indicates which error occurred. + */ + errorCode?: Schema$GoogleAdsSearchads360V0Errors__ErrorCode; + /** + * Describes the part of the request proto that caused the error. + */ + location?: Schema$GoogleAdsSearchads360V0Errors__ErrorLocation; + /** + * A human-readable description of the error. + */ + message?: string | null; + /** + * The value that triggered the error. + */ + trigger?: Schema$GoogleAdsSearchads360V0Common__Value; + } + /** + * Describes how a Search Ads 360 API call failed. It's returned inside google.rpc.Status.details when a call fails. + */ + export interface Schema$GoogleAdsSearchads360V0Errors__SearchAds360Failure { + /** + * The list of errors that occurred. + */ + errors?: Schema$GoogleAdsSearchads360V0Errors__SearchAds360Error[]; + /** + * The unique ID of the request that is used for debugging purposes. + */ + requestId?: string | null; + } + /** + * Retention campaign goal settings. + */ + export interface Schema$GoogleAdsSearchads360V23Common_CampaignGoalSettings_CampaignRetentionGoalSettings { + /** + * Retention goal optimization mode for this campaign. Defaults to TARGET_ALL. Only customers on the allowlist can set target_option. + */ + targetOption?: string | null; + /** + * Retention goal campaign specific value settings. + */ + valueSettingsOverride?: Schema$GoogleAdsSearchads360V23Common__CustomerLifecycleOptimizationValueSettings; + } + /** + * Retention goal settings. + */ + export interface Schema$GoogleAdsSearchads360V23Common_GoalSetting_RetentionGoal { + /** + * Retention goal value settings. + */ + valueSettings?: Schema$GoogleAdsSearchads360V23Common__CustomerLifecycleOptimizationValueSettings; + } + /** + * A YouTube channel returned as an example of the content in a lineup. + */ + export interface Schema$GoogleAdsSearchads360V23Common_LineupAttributeMetadata_SampleChannel { + /** + * The name of the sample channel. + */ + displayName?: string | null; + /** + * A YouTube channel. + */ + youtubeChannel?: Schema$GoogleAdsSearchads360V23Common__YouTubeChannelInfo; + /** + * Metadata for the sample channel. + */ + youtubeChannelMetadata?: Schema$GoogleAdsSearchads360V23Common__YouTubeChannelAttributeMetadata; + } + /** + * Indicates that a resource's ability to serve in a particular country is constrained. + */ + export interface Schema$GoogleAdsSearchads360V23Common_PolicyTopicConstraint_CountryConstraint { + /** + * Geo target constant resource name of the country in which serving is constrained. + */ + countryCriterion?: string | null; + } + /** + * A list of countries where a resource's serving is constrained. + */ + export interface Schema$GoogleAdsSearchads360V23Common_PolicyTopicConstraint_CountryConstraintList { + /** + * Countries in which serving is restricted. + */ + countries?: Schema$GoogleAdsSearchads360V23Common_PolicyTopicConstraint_CountryConstraint[]; + /** + * Total number of countries targeted by the resource. + */ + totalTargetedCountries?: number | null; + } + /** + * Indicates that a policy topic was constrained due to disapproval of the website for reseller purposes. + */ + export interface Schema$GoogleAdsSearchads360V23Common_PolicyTopicConstraint_ResellerConstraint {} + /** + * Evidence of mismatches between the URLs of a resource. + */ + export interface Schema$GoogleAdsSearchads360V23Common_PolicyTopicEvidence_DestinationMismatch { + /** + * The set of URLs that did not match each other. + */ + urlTypes?: string[] | null; + } + /** + * Evidence details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. + */ + export interface Schema$GoogleAdsSearchads360V23Common_PolicyTopicEvidence_DestinationNotWorking { + /** + * The type of device that failed to load the URL. + */ + device?: string | null; + /** + * The type of DNS error. + */ + dnsErrorType?: string | null; + /** + * The full URL that didn't work. + */ + expandedUrl?: string | null; + /** + * The HTTP error code. + */ + httpErrorCode?: string | null; + /** + * The time the URL was last checked. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30" + */ + lastCheckedDateTime?: string | null; + } + /** + * A list of strings found in a destination page that caused a policy finding. + */ + export interface Schema$GoogleAdsSearchads360V23Common_PolicyTopicEvidence_DestinationTextList { + /** + * List of text found in the resource's destination page. + */ + destinationTexts?: string[] | null; + } + /** + * A list of fragments of text that violated a policy. + */ + export interface Schema$GoogleAdsSearchads360V23Common_PolicyTopicEvidence_TextList { + /** + * The fragments of text from the resource that caused the policy finding. + */ + texts?: string[] | null; + } + /** + * A list of websites that caused a policy finding. Used for ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more than five websites, only the top five (those that appear in resources the most) will be listed here. + */ + export interface Schema$GoogleAdsSearchads360V23Common_PolicyTopicEvidence_WebsiteList { + /** + * Websites that caused the policy finding. + */ + websites?: string[] | null; + } + /** + * The city where the travel activity is available. + */ + export interface Schema$GoogleAdsSearchads360V23Common__ActivityCityInfo { + /** + * String value of the activity city. The Geo Target Constant resource name. + */ + value?: string | null; + } + /** + * The country where the travel activity is available. + */ + export interface Schema$GoogleAdsSearchads360V23Common__ActivityCountryInfo { + /** + * String value of the activity country. The Geo Target Constant resource name. + */ + value?: string | null; + } + /** + * Advertiser-specific activity ID. + */ + export interface Schema$GoogleAdsSearchads360V23Common__ActivityIdInfo { + /** + * String value of the activity ID. + */ + value?: string | null; + } + /** + * Rating of the activity as a number 1 to 5, where 5 is the best. + */ + export interface Schema$GoogleAdsSearchads360V23Common__ActivityRatingInfo { + /** + * Long value of the activity rating. + */ + value?: string | null; + } + /** + * The state where the travel activity is available. + */ + export interface Schema$GoogleAdsSearchads360V23Common__ActivityStateInfo { + /** + * String value of the activity state. The Geo Target Constant resource name. + */ + value?: string | null; + } + /** + * An app deep link used inside an ad. + */ + export interface Schema$GoogleAdsSearchads360V23Common__AdAppDeepLinkAsset { + /** + * The Asset resource name of this app deep link asset. + */ + asset?: string | null; + } + /** + * Contains policy information for an asset inside an ad. + */ + export interface Schema$GoogleAdsSearchads360V23Common__AdAssetPolicySummary { + /** + * The overall approval status of this asset, which is calculated based on the status of its individual policy topic entries. + */ + approvalStatus?: string | null; + /** + * The list of policy findings for this asset. + */ + policyTopicEntries?: Schema$GoogleAdsSearchads360V23Common__PolicyTopicEntry[]; + /** + * Where in the review process this asset. + */ + reviewStatus?: string | null; + } + /** + * A call to action asset used inside an ad. + */ + export interface Schema$GoogleAdsSearchads360V23Common__AdCallToActionAsset { + /** + * The Asset resource name of this call to action asset. + */ + asset?: string | null; + } + /** + * A Demand Gen carousel card asset used inside an ad. + */ + export interface Schema$GoogleAdsSearchads360V23Common__AdDemandGenCarouselCardAsset { + /** + * The Asset resource name of this discovery carousel card. + */ + asset?: string | null; + } + /** + * Additional information about the application/tool issuing the request. This field is only used by ContentCreatorInsightsService, AudienceInsightsService, and ReachPlanService APIs. + */ + export interface Schema$GoogleAdsSearchads360V23Common__AdditionalApplicationInfo { + /** + * The unique identifier of the agency proprietary application. This identifier is generated by Google. Reach out to your Google representative to request an application_id for each new application being integrated. + */ + applicationId?: string | null; + /** + * The instance type of the application sending the request. + */ + applicationInstance?: string | null; + } + /** + * Address for proximity criterion. + */ + export interface Schema$GoogleAdsSearchads360V23Common__AddressInfo { + /** + * Name of the city. + */ + cityName?: string | null; + /** + * Country code. + */ + countryCode?: string | null; + /** + * Postal code. + */ + postalCode?: string | null; + /** + * Province or state code. + */ + provinceCode?: string | null; + /** + * Province or state name. + */ + provinceName?: string | null; + /** + * Street address line 1. + */ + streetAddress?: string | null; + /** + * Street address line 2. This field is write-only. It is only used for calculating the longitude and latitude of an address when geo_point is empty. + */ + streetAddress2?: string | null; + } + /** + * An image asset used inside an ad. + */ + export interface Schema$GoogleAdsSearchads360V23Common__AdImageAsset { + /** + * The Asset resource name of this image. + */ + asset?: string | null; + } + /** + * A media bundle asset used inside an ad. + */ + export interface Schema$GoogleAdsSearchads360V23Common__AdMediaBundleAsset { + /** + * The Asset resource name of this media bundle. + */ + asset?: string | null; + } + /** + * Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day. + */ + export interface Schema$GoogleAdsSearchads360V23Common__AdScheduleInfo { + /** + * Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations. + */ + dayOfWeek?: string | null; + /** + * Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations. + */ + endHour?: number | null; + /** + * Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations. + */ + endMinute?: string | null; + /** + * Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations. + */ + startHour?: number | null; + /** + * Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations. + */ + startMinute?: string | null; + } + /** + * A text asset used inside an ad. + */ + export interface Schema$GoogleAdsSearchads360V23Common__AdTextAsset { + /** + * The performance label of this text asset. + */ + assetPerformanceLabel?: string | null; + /** + * The pinned field of the asset. This restricts the asset to only serve within this field. Multiple assets can be pinned to the same field. An asset that is unpinned or pinned to a different field will not serve in a field where some other asset has been pinned. + */ + pinnedField?: string | null; + /** + * The policy summary of this text asset. + */ + policySummaryInfo?: Schema$GoogleAdsSearchads360V23Common__AdAssetPolicySummary; + /** + * Asset text. + */ + text?: string | null; + } + /** + * A video asset used inside an ad. + */ + export interface Schema$GoogleAdsSearchads360V23Common__AdVideoAsset { + /** + * Contains info fields for this AdVideoAsset. + */ + adVideoAssetInfo?: Schema$GoogleAdsSearchads360V23Common__AdVideoAssetInfo; + /** + * The Asset resource name of this video. + */ + asset?: string | null; + } + /** + * Contains info fields for AdVideoAssets. + */ + export interface Schema$GoogleAdsSearchads360V23Common__AdVideoAssetInfo { + /** + * Defines feature controls for this AdVideoAsset during serving time. For example, whether YouTube comments should be enabled for Partnership Ads served on YouTube Shorts. + */ + adVideoAssetFeatureControl?: Schema$GoogleAdsSearchads360V23Common__AdVideoAssetLinkFeatureControl; + } + /** + * YouTube Video Asset feature controls. + */ + export interface Schema$GoogleAdsSearchads360V23Common__AdVideoAssetLinkFeatureControl { + /** + * Defines if YouTube comments should be enabled for the creative using this YouTube video asset served on YouTube Shorts. + */ + allowYoutubeComments?: boolean | null; + } + /** + * Dimension specifying users by their age. + */ + export interface Schema$GoogleAdsSearchads360V23Common__AgeDimension { + /** + * Contiguous age range to be included in the dimension. + */ + ageRanges?: Schema$GoogleAdsSearchads360V23Common__AgeSegment[]; + /** + * Include users whose age is not determined. + */ + includeUndetermined?: boolean | null; + } + /** + * An age range criterion. + */ + export interface Schema$GoogleAdsSearchads360V23Common__AgeRangeInfo { + /** + * Type of the age range. + */ + type?: string | null; + } + /** + * Contiguous age range. + */ + export interface Schema$GoogleAdsSearchads360V23Common__AgeSegment { + /** + * Maximum age to include. A maximum age need not be specified. If specified, max_age must be greater than min_age, and allowed values are 24, 34, 44, 54, and 64. + */ + maxAge?: number | null; + /** + * Minimum age to include. A minimum age must be specified and must be at least 18. Allowed values are 18, 25, 35, 45, 55, and 65. + */ + minAge?: number | null; + } + /** + * An app ad. + */ + export interface Schema$GoogleAdsSearchads360V23Common__AppAdInfo { + /** + * An app deep link asset that may be used with the ad. + */ + appDeepLink?: Schema$GoogleAdsSearchads360V23Common__AdAppDeepLinkAsset; + /** + * List of text assets for descriptions. When the ad serves the descriptions will be selected from this list. + */ + descriptions?: Schema$GoogleAdsSearchads360V23Common__AdTextAsset[]; + /** + * List of text assets for headlines. When the ad serves the headlines will be selected from this list. + */ + headlines?: Schema$GoogleAdsSearchads360V23Common__AdTextAsset[]; + /** + * List of media bundle assets that may be used with the ad. + */ + html5MediaBundles?: Schema$GoogleAdsSearchads360V23Common__AdMediaBundleAsset[]; + /** + * List of image assets that may be displayed with the ad. + */ + images?: Schema$GoogleAdsSearchads360V23Common__AdImageAsset[]; + /** + * Mandatory ad text. + */ + mandatoryAdText?: Schema$GoogleAdsSearchads360V23Common__AdTextAsset; + /** + * List of YouTube video assets that may be displayed with the ad. + */ + youtubeVideos?: Schema$GoogleAdsSearchads360V23Common__AdVideoAsset[]; + } + /** + * An app deep link asset + */ + export interface Schema$GoogleAdsSearchads360V23Common__AppDeepLinkAsset { + /** + * The uri for the app deep link, The uri can be either a custom scheme uri (e.g. mystore://shoes) or universal uri (e.g. http://www.mystore.com/shoes). + */ + appDeepLinkUri?: string | null; + } + /** + * App engagement ads allow you to write text encouraging a specific action in the app, like checking in, making a purchase, or booking a flight. They allow you to send users to a specific part of your app where they can find what they're looking for easier and faster. + */ + export interface Schema$GoogleAdsSearchads360V23Common__AppEngagementAdInfo { + /** + * List of text assets for descriptions. When the ad serves the descriptions will be selected from this list. + */ + descriptions?: Schema$GoogleAdsSearchads360V23Common__AdTextAsset[]; + /** + * List of text assets for headlines. When the ad serves the headlines will be selected from this list. + */ + headlines?: Schema$GoogleAdsSearchads360V23Common__AdTextAsset[]; + /** + * List of image assets that may be displayed with the ad. + */ + images?: Schema$GoogleAdsSearchads360V23Common__AdImageAsset[]; + /** + * List of video assets that may be displayed with the ad. + */ + videos?: Schema$GoogleAdsSearchads360V23Common__AdVideoAsset[]; + } + /** + * An app payment model criterion. + */ + export interface Schema$GoogleAdsSearchads360V23Common__AppPaymentModelInfo { + /** + * Type of the app payment model. + */ + type?: string | null; + } + /** + * App pre-registration ads link to your app or game listing on Google Play, and can run on Google Play, on YouTube (in-stream only), and within other apps and mobile websites on the Display Network. It will help capture people's interest in your app or game and generate an early install base for your app or game before a launch. + */ + export interface Schema$GoogleAdsSearchads360V23Common__AppPreRegistrationAdInfo { + /** + * List of text assets for descriptions. When the ad serves the descriptions will be selected from this list. + */ + descriptions?: Schema$GoogleAdsSearchads360V23Common__AdTextAsset[]; + /** + * List of text assets for headlines. When the ad serves the headlines will be selected from this list. + */ + headlines?: Schema$GoogleAdsSearchads360V23Common__AdTextAsset[]; + /** + * List of image asset IDs whose images may be displayed with the ad. + */ + images?: Schema$GoogleAdsSearchads360V23Common__AdImageAsset[]; + /** + * List of YouTube video asset IDs whose videos may be displayed with the ad. + */ + youtubeVideos?: Schema$GoogleAdsSearchads360V23Common__AdVideoAsset[]; + } + /** + * Details related to AssetLinkPrimaryStatusReasonPB.ASSET_DISAPPROVED + */ + export interface Schema$GoogleAdsSearchads360V23Common__AssetDisapproved { + /** + * Provides the quality evaluation disapproval reason of an asset. + */ + offlineEvaluationErrorReasons?: string[] | null; + } + /** + * An AssetInteractionTarget segment. + */ + export interface Schema$GoogleAdsSearchads360V23Common__AssetInteractionTarget { + /** + * The asset resource name. + */ + asset?: string | null; + /** + * Only used with CustomerAsset, CampaignAsset and AdGroupAsset metrics. Indicates whether the interaction metrics occurred on the asset itself or a different asset or ad unit. + */ + interactionOnThisAsset?: boolean | null; + } + /** + * Provides the detail of a PrimaryStatus. Each asset link has a PrimaryStatus value (e.g. NOT_ELIGIBLE, meaning not serving), and list of corroborating PrimaryStatusReasons (e.g. [ASSET_DISAPPROVED]). Each reason may have some additional details annotated with it. For instance, when the reason is ASSET_DISAPPROVED, the details field will contain additional information about the offline evaluation errors which led to the asset being disapproved. + */ + export interface Schema$GoogleAdsSearchads360V23Common__AssetLinkPrimaryStatusDetails { + /** + * Provides the details for AssetLinkPrimaryStatusReason.ASSET_DISAPPROVED + */ + assetDisapproved?: Schema$GoogleAdsSearchads360V23Common__AssetDisapproved; + /** + * Provides the reason of this PrimaryStatus. + */ + reason?: string | null; + /** + * Provides the PrimaryStatus of this status detail. + */ + status?: string | null; + } + /** + * Contains the usage information of the asset. + */ + export interface Schema$GoogleAdsSearchads360V23Common__AssetUsage { + /** + * Resource name of the asset. + */ + asset?: string | null; + /** + * The served field type of the asset. + */ + servedAssetFieldType?: string | null; + } + /** + * Positive dimension specifying user's audience. + */ + export interface Schema$GoogleAdsSearchads360V23Common__AudienceDimension { + /** + * Dimension specifying users by their age. + */ + age?: Schema$GoogleAdsSearchads360V23Common__AgeDimension; + /** + * Dimension specifying users by their membership in other audience segments. + */ + audienceSegments?: Schema$GoogleAdsSearchads360V23Common__AudienceSegmentDimension; + /** + * Dimension specifying users by their gender. + */ + gender?: Schema$GoogleAdsSearchads360V23Common__GenderDimension; + /** + * Dimension specifying users by their household income. + */ + householdIncome?: Schema$GoogleAdsSearchads360V23Common__HouseholdIncomeDimension; + /** + * Dimension specifying users by their parental status. + */ + parentalStatus?: Schema$GoogleAdsSearchads360V23Common__ParentalStatusDimension; + } + /** + * Negative dimension specifying users to exclude from the audience. + */ + export interface Schema$GoogleAdsSearchads360V23Common__AudienceExclusionDimension { + /** + * Audience segment to be excluded. + */ + exclusions?: Schema$GoogleAdsSearchads360V23Common__ExclusionSegment[]; + } + /** + * An audience criterion. + */ + export interface Schema$GoogleAdsSearchads360V23Common__AudienceInfo { + /** + * The Audience resource name. + */ + audience?: string | null; + } + /** + * An audience attribute that can be used to request insights about the audience. + */ + export interface Schema$GoogleAdsSearchads360V23Common__AudienceInsightsAttribute { + /** + * An audience attribute defined by an age range. + */ + ageRange?: Schema$GoogleAdsSearchads360V23Common__AgeRangeInfo; + /** + * An audience attribute defined by interest in a Product & Service category. + */ + category?: Schema$GoogleAdsSearchads360V23Common__AudienceInsightsCategory; + /** + * A device type. (Mobile, Desktop, Tablet) + */ + device?: Schema$GoogleAdsSearchads360V23Common__DeviceInfo; + /** + * An audience attribute defined by interest in a topic represented by a Knowledge Graph entity. + */ + entity?: Schema$GoogleAdsSearchads360V23Common__AudienceInsightsEntity; + /** + * An audience attribute defined by a gender. + */ + gender?: Schema$GoogleAdsSearchads360V23Common__GenderInfo; + /** + * A household income percentile range. + */ + incomeRange?: Schema$GoogleAdsSearchads360V23Common__IncomeRangeInfo; + /** + * A YouTube Lineup. + */ + lineup?: Schema$GoogleAdsSearchads360V23Common__AudienceInsightsLineup; + /** + * An audience attribute defined by a geographic location. + */ + location?: Schema$GoogleAdsSearchads360V23Common__LocationInfo; + /** + * A Parental Status value (parent, or not a parent). + */ + parentalStatus?: Schema$GoogleAdsSearchads360V23Common__ParentalStatusInfo; + /** + * An Affinity or In-Market audience. + */ + userInterest?: Schema$GoogleAdsSearchads360V23Common__UserInterestInfo; + /** + * A User List. + */ + userList?: Schema$GoogleAdsSearchads360V23Common__UserListInfo; + /** + * A YouTube channel. + */ + youtubeChannel?: Schema$GoogleAdsSearchads360V23Common__YouTubeChannelInfo; + /** + * A YouTube video. + */ + youtubeVideo?: Schema$GoogleAdsSearchads360V23Common__YouTubeVideoInfo; + } + /** + * An audience attribute, with metadata about it, returned in response to a search. + */ + export interface Schema$GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata { + /** + * The attribute itself. + */ + attribute?: Schema$GoogleAdsSearchads360V23Common__AudienceInsightsAttribute; + /** + * The type of the attribute. + */ + dimension?: string | null; + /** + * A string that supplements the display_name to identify the attribute. If the dimension is TOPIC, this is a brief description of the Knowledge Graph entity, such as "American singer-songwriter". If the dimension is CATEGORY, this is the complete path to the category in The Product & Service taxonomy, for example "/Apparel/Clothing/Outerwear". + */ + displayInfo?: string | null; + /** + * The human-readable name of the attribute. + */ + displayName?: string | null; + /** + * Special metadata for a Knowledge Graph Entity. + */ + knowledgeGraphAttributeMetadata?: Schema$GoogleAdsSearchads360V23Common__KnowledgeGraphAttributeMetadata; + /** + * Special metadata for a YouTube Lineup. + */ + lineupAttributeMetadata?: Schema$GoogleAdsSearchads360V23Common__LineupAttributeMetadata; + /** + * Special metadata for a Location. + */ + locationAttributeMetadata?: Schema$GoogleAdsSearchads360V23Common__LocationAttributeMetadata; + /** + * An estimate of the number of reachable YouTube users matching this attribute in the requested location, or zero if that information is not available for this attribute. This field is not populated in every response. + */ + potentialYoutubeReach?: string | null; + /** + * The share of subscribers within this attribute, between and including 0 and 1. This field is not populated in every response. + */ + subscriberShare?: number | null; + /** + * Special metadata for a User Interest. + */ + userInterestAttributeMetadata?: Schema$GoogleAdsSearchads360V23Common__UserInterestAttributeMetadata; + /** + * Special metadata for a User List. + */ + userListAttributeMetadata?: Schema$GoogleAdsSearchads360V23Common__UserListAttributeMetadata; + /** + * The share of viewers within this attribute, between and including 0 and 1. This field is not populated in every response. + */ + viewerShare?: number | null; + /** + * Special metadata for a YouTube channel. + */ + youtubeChannelMetadata?: Schema$GoogleAdsSearchads360V23Common__YouTubeChannelAttributeMetadata; + /** + * Special metadata for a YouTube video. + */ + youtubeVideoMetadata?: Schema$GoogleAdsSearchads360V23Common__YouTubeVideoAttributeMetadata; + } + /** + * A group of audience attributes with metadata, returned in response to a search. + */ + export interface Schema$GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadataGroup { + /** + * Attributes with metadata returned in response to a search. + */ + attributes?: Schema$GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata[]; + } + /** + * A Product and Service category. + */ + export interface Schema$GoogleAdsSearchads360V23Common__AudienceInsightsCategory { + /** + * Required. The criterion ID of the category. + */ + categoryId?: string | null; + } + /** + * A Knowledge Graph entity, represented by its machine id. + */ + export interface Schema$GoogleAdsSearchads360V23Common__AudienceInsightsEntity { + /** + * Required. The machine ID (mid) of the Knowledge Graph entity. + */ + knowledgeGraphMachineId?: string | null; + } + /** + * A YouTube Lineup. + */ + export interface Schema$GoogleAdsSearchads360V23Common__AudienceInsightsLineup { + /** + * Required. The numeric ID of the lineup. + */ + lineupId?: string | null; + } + /** + * Positive audience segment. + */ + export interface Schema$GoogleAdsSearchads360V23Common__AudienceSegment { + /** + * Custom audience segment. + */ + customAudience?: Schema$GoogleAdsSearchads360V23Common__CustomAudienceSegment; + /** + * Detailed demographic segment. + */ + detailedDemographic?: Schema$GoogleAdsSearchads360V23Common__DetailedDemographicSegment; + /** + * Live-event audience segment. + */ + lifeEvent?: Schema$GoogleAdsSearchads360V23Common__LifeEventSegment; + /** + * Affinity or In-market segment. + */ + userInterest?: Schema$GoogleAdsSearchads360V23Common__UserInterestSegment; + /** + * User list segment. + */ + userList?: Schema$GoogleAdsSearchads360V23Common__UserListSegment; + } + /** + * Dimension specifying users by their membership in other audience segments. + */ + export interface Schema$GoogleAdsSearchads360V23Common__AudienceSegmentDimension { + /** + * Included audience segments. Users are included if they belong to at least one segment. + */ + segments?: Schema$GoogleAdsSearchads360V23Common__AudienceSegment[]; + } + export interface Schema$GoogleAdsSearchads360V23Common__BasicUserListInfo { + /** + * Actions associated with this user list. + */ + actions?: Schema$GoogleAdsSearchads360V23Common__UserListActionInfo[]; + } + /** + * A Book on Google asset. Used to redirect user to book through Google. Book on Google will change the redirect url to book directly through Google. + */ + export interface Schema$GoogleAdsSearchads360V23Common__BookOnGoogleAsset {} + /** + * Represents a Brand Criterion used for targeting based on commercial knowledge graph. + */ + export interface Schema$GoogleAdsSearchads360V23Common__BrandInfo { + /** + * Output only. A text representation of a brand. + */ + displayName?: string | null; + /** + * The Commercial KG MID for the brand. + */ + entityId?: string | null; + /** + * Output only. The primary url of a brand. + */ + primaryUrl?: string | null; + /** + * Output only. The rejection reason when a brand status is REJECTED. + */ + rejectionReason?: string | null; + /** + * Output only. The status of a brand. + */ + status?: string | null; + } + /** + * A Brand List Criterion is used to specify a list of brands. The list is represented as a SharedSet id type BRAND_HINT. A criterion of this type can be either targeted or excluded. + */ + export interface Schema$GoogleAdsSearchads360V23Common__BrandListInfo { + /** + * Shared set resource name of the brand list. + */ + sharedSet?: string | null; + } + /** + * Projected metrics for a specific budget amount. + */ + export interface Schema$GoogleAdsSearchads360V23Common__BudgetSimulationPoint { + /** + * Projected number of biddable conversions. + */ + biddableConversions?: number | null; + /** + * Projected total value of biddable conversions. + */ + biddableConversionsValue?: number | null; + /** + * The simulated budget upon which projected metrics are based. + */ + budgetAmountMicros?: string | null; + /** + * Projected number of clicks. + */ + clicks?: string | null; + /** + * Projected cost in micros. + */ + costMicros?: string | null; + /** + * Projected number of impressions. + */ + impressions?: string | null; + /** + * Projected number of interactions. Only discovery advertising channel type supports this field. + */ + interactions?: string | null; + /** + * Projected required daily cpc bid ceiling that the advertiser must set to realize this simulation, in micros of the advertiser currency. Only campaigns with the Target Spend bidding strategy support this field. + */ + requiredCpcBidCeilingMicros?: string | null; + /** + * Projected number of top slot impressions. Only search advertising channel type supports this field. + */ + topSlotImpressions?: string | null; + } + /** + * A container for simulation points for simulations of type BUDGET. + */ + export interface Schema$GoogleAdsSearchads360V23Common__BudgetSimulationPointList { + /** + * Projected metrics for a series of budget amounts. + */ + points?: Schema$GoogleAdsSearchads360V23Common__BudgetSimulationPoint[]; + } + /** + * A business message asset. + */ + export interface Schema$GoogleAdsSearchads360V23Common__BusinessMessageAsset { + /** + * A call to action for the business message asset. + */ + callToAction?: Schema$GoogleAdsSearchads360V23Common__BusinessMessageCallToActionInfo; + /** + * Facebook Messenger. + */ + facebookMessengerInfo?: Schema$GoogleAdsSearchads360V23Common__FacebookMessengerBusinessMessageInfo; + /** + * Required. Message provider of the business message asset. + */ + messageProvider?: string | null; + /** + * Required. A welcome message to prompt the user to initiate a conversation. + */ + starterMessage?: string | null; + /** + * Whatsapp. + */ + whatsappInfo?: Schema$GoogleAdsSearchads360V23Common__WhatsappBusinessMessageInfo; + /** + * Zalo. + */ + zaloInfo?: Schema$GoogleAdsSearchads360V23Common__ZaloBusinessMessageInfo; + } + /** + * Display information that encourages the user to take action. + */ + export interface Schema$GoogleAdsSearchads360V23Common__BusinessMessageCallToActionInfo { + /** + * Required. Text providing a clear value proposition of what users expect once they take the action. Examples: 'Message us for a quote', 'Ask our expert team'. + */ + callToActionDescription?: string | null; + /** + * Required. Pre-defined call to action text. + */ + callToActionSelection?: string | null; + } + /** + * Business Profile location group business name filter. + */ + export interface Schema$GoogleAdsSearchads360V23Common__BusinessProfileBusinessNameFilter { + /** + * Business name string to use for filtering. + */ + businessName?: string | null; + /** + * The type of string matching to use when filtering with business_name. + */ + filterType?: string | null; + } + /** + * Business Profile location data synced from the linked Business Profile account. + */ + export interface Schema$GoogleAdsSearchads360V23Common__BusinessProfileLocation { + /** + * Advertiser specified label for the location on the Business Profile account. This is synced from the Business Profile account. + */ + labels?: string[] | null; + /** + * Listing ID of this Business Profile location. This is synced from the linked Business Profile account. + */ + listingId?: string | null; + /** + * Business Profile store code of this location. This is synced from the Business Profile account. + */ + storeCode?: string | null; + } + /** + * Information about a Business Profile dynamic location group. Only applicable if the sync level AssetSet's type is LOCATION_SYNC and sync source is Business Profile. + */ + export interface Schema$GoogleAdsSearchads360V23Common__BusinessProfileLocationGroup { + /** + * Filter for dynamic Business Profile location sets. + */ + dynamicBusinessProfileLocationGroupFilter?: Schema$GoogleAdsSearchads360V23Common__DynamicBusinessProfileLocationGroupFilter; + } + /** + * Data used to configure a location set populated from Google Business Profile locations. Different types of filters are AND'ed together, if they are specified. + */ + export interface Schema$GoogleAdsSearchads360V23Common__BusinessProfileLocationSet { + /** + * Immutable. The account ID of the managed business whose locations are to be used. If this field is not set, then all businesses accessible by the user (specified by the emailAddress) are used. + */ + businessAccountId?: string | null; + /** + * Used to filter Google Business Profile listings by business name. If businessNameFilter is set, only listings with a matching business name are candidates to be sync'd into Assets. + */ + businessNameFilter?: string | null; + /** + * Required. Immutable. Email address of a Google Business Profile account or email address of a manager of the Google Business Profile account. + */ + emailAddress?: string | null; + /** + * Required. Immutable. The HTTP authorization token used to obtain authorization. + */ + httpAuthorizationToken?: string | null; + /** + * Used to filter Google Business Profile listings by labels. If entries exist in labelFilters, only listings that have any of the labels set are candidates to be synchronized into Assets. If no entries exist in labelFilters, then all listings are candidates for syncing. Label filters are OR'ed together. + */ + labelFilters?: string[] | null; + /** + * Used to filter Google Business Profile listings by listing id. If entries exist in listingIdFilters, only listings specified by the filters are candidates to be synchronized into Assets. If no entries exist in listingIdFilters, then all listings are candidates for syncing. Listing ID filters are OR'ed together. + */ + listingIdFilters?: string[] | null; + } + /** + * A Call asset. + */ + export interface Schema$GoogleAdsSearchads360V23Common__CallAsset { + /** + * List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total. + */ + adScheduleTargets?: Schema$GoogleAdsSearchads360V23Common__AdScheduleInfo[]; + /** + * The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION. + */ + callConversionAction?: string | null; + /** + * Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion. + */ + callConversionReportingState?: string | null; + /** + * Required. Two-letter country code of the phone number. Examples: 'US', 'us'. + */ + countryCode?: string | null; + /** + * Required. The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890' + */ + phoneNumber?: string | null; + } + /** + * Represents a Call extension. + */ + export interface Schema$GoogleAdsSearchads360V23Common__CallFeedItem { + /** + * The conversion action to attribute a call conversion to. If not set a default conversion action is used. This field only has effect if call_tracking_enabled is set to true. Otherwise this field is ignored. + */ + callConversionAction?: string | null; + /** + * Enum value that indicates whether this call extension uses its own call conversion setting (or just have call conversion disabled), or following the account level setting. + */ + callConversionReportingState?: string | null; + /** + * If true, disable call conversion tracking. call_conversion_action should not be set if this is true. Optional. + */ + callConversionTrackingDisabled?: boolean | null; + /** + * Indicates whether call tracking is enabled. By default, call tracking is not enabled. + */ + callTrackingEnabled?: boolean | null; + /** + * Uppercase two-letter country code of the advertiser's phone number. This string must not be empty. + */ + countryCode?: string | null; + /** + * The advertiser's phone number to append to the ad. This string must not be empty. + */ + phoneNumber?: string | null; + } + /** + * A Callout asset. + */ + export interface Schema$GoogleAdsSearchads360V23Common__CalloutAsset { + /** + * List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total. + */ + adScheduleTargets?: Schema$GoogleAdsSearchads360V23Common__AdScheduleInfo[]; + /** + * Required. The callout text. The length of this string should be between 1 and 25, inclusive. + */ + calloutText?: string | null; + /** + * Last date of when this asset is effective and still serving, in yyyy-MM-dd format. + */ + endDate?: string | null; + /** + * Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format. + */ + startDate?: string | null; + } + /** + * Represents a callout extension. + */ + export interface Schema$GoogleAdsSearchads360V23Common__CalloutFeedItem { + /** + * The callout text. The length of this string should be between 1 and 25, inclusive. + */ + calloutText?: string | null; + } + /** + * A call to action asset. + */ + export interface Schema$GoogleAdsSearchads360V23Common__CallToActionAsset { + /** + * Call to action. + */ + callToAction?: string | null; + } + /** + * Container for third party Brand Lift integration data for Campaign. + */ + export interface Schema$GoogleAdsSearchads360V23Common__CampaignThirdPartyBrandLiftIntegrationPartner { + /** + * Allowed third party integration partners for Brand Lift verification. + */ + brandLiftIntegrationPartner?: string | null; + /** + * Third party partner data for YouTube Brand Lift verification. This is optional metadata for partners to join or attach data to Ads campaigns. + */ + brandLiftIntegrationPartnerData?: Schema$GoogleAdsSearchads360V23Common__ThirdPartyIntegrationPartnerData; + /** + * If true, then cost data will be shared with this vendor. + */ + shareCost?: boolean | null; + } + /** + * Container for third party brand safety integration data for Campaign. + */ + export interface Schema$GoogleAdsSearchads360V23Common__CampaignThirdPartyBrandSafetyIntegrationPartner { + /** + * Allowed third party integration partners for brand safety verification. + */ + brandSafetyIntegrationPartner?: string | null; + /** + * Third party partner data for YouTube brand safety verification. This is optional metadata for partners to join or attach data to Ads campaigns. + */ + brandSafetyIntegrationPartnerData?: Schema$GoogleAdsSearchads360V23Common__ThirdPartyIntegrationPartnerData; + } + /** + * Container for Campaign level third party integration partners. + */ + export interface Schema$GoogleAdsSearchads360V23Common__CampaignThirdPartyIntegrationPartners { + /** + * Third party integration partners for Brand Lift verification for this Campaign. + */ + brandLiftIntegrationPartners?: Schema$GoogleAdsSearchads360V23Common__CampaignThirdPartyBrandLiftIntegrationPartner[]; + /** + * Third party integration partners for brand safety verification for this Campaign. + */ + brandSafetyIntegrationPartners?: Schema$GoogleAdsSearchads360V23Common__CampaignThirdPartyBrandSafetyIntegrationPartner[]; + /** + * Third party integration partners for reach verification for this Campaign. + */ + reachIntegrationPartners?: Schema$GoogleAdsSearchads360V23Common__CampaignThirdPartyReachIntegrationPartner[]; + /** + * Third party integration partners for YouTube viewability verification for this Campaign. + */ + viewabilityIntegrationPartners?: Schema$GoogleAdsSearchads360V23Common__CampaignThirdPartyViewabilityIntegrationPartner[]; + } + /** + * Container for third party reach integration data for Campaign. + */ + export interface Schema$GoogleAdsSearchads360V23Common__CampaignThirdPartyReachIntegrationPartner { + /** + * Allowed third party integration partners for reach verification. + */ + reachIntegrationPartner?: string | null; + /** + * Third party partner data for YouTube Reach verification. This is optional metadata for partners to join or attach data to Ads campaigns. + */ + reachIntegrationPartnerData?: Schema$GoogleAdsSearchads360V23Common__ThirdPartyIntegrationPartnerData; + /** + * If true, then cost data will be shared with this vendor. + */ + shareCost?: boolean | null; + } + /** + * Container for third party viewability integration data for Campaign. + */ + export interface Schema$GoogleAdsSearchads360V23Common__CampaignThirdPartyViewabilityIntegrationPartner { + /** + * If true, then cost data will be shared with this vendor. + */ + shareCost?: boolean | null; + /** + * Allowed third party integration partners for YouTube viewability verification. + */ + viewabilityIntegrationPartner?: string | null; + /** + * Third party partner data for YouTube viewability verification. This is optional metadata for partners to join or attach data to Ads campaigns. + */ + viewabilityIntegrationPartnerData?: Schema$GoogleAdsSearchads360V23Common__ThirdPartyIntegrationPartnerData; + } + /** + * Represents a Carrier Criterion. + */ + export interface Schema$GoogleAdsSearchads360V23Common__CarrierInfo { + /** + * The Carrier constant resource name. + */ + carrierConstant?: string | null; + } + /** + * One chain level filter on location in a feed item set. The filtering logic among all the fields is AND. + */ + export interface Schema$GoogleAdsSearchads360V23Common__ChainFilter { + /** + * Required. Used to filter chain locations by chain id. Only chain locations that belong to the specified chain will be in the asset set. + */ + chainId?: string | null; + /** + * Used to filter chain locations by location attributes. Only chain locations that belong to all of the specified attribute(s) will be in the asset set. If this field is empty, it means no filtering on this field. + */ + locationAttributes?: string[] | null; + } + /** + * Represents information about a Chain dynamic location group. Only applicable if the sync level AssetSet's type is LOCATION_SYNC and sync source is chain. + */ + export interface Schema$GoogleAdsSearchads360V23Common__ChainLocationGroup { + /** + * Used to filter chain locations by chain ids. Only Locations that belong to the specified chain(s) will be in the asset set. + */ + dynamicChainLocationGroupFilters?: Schema$GoogleAdsSearchads360V23Common__ChainFilter[]; + } + /** + * Data used to configure a location set populated with the specified chains. + */ + export interface Schema$GoogleAdsSearchads360V23Common__ChainSet { + /** + * Required. A list of chain level filters, all filters are OR'ed together. + */ + chains?: Schema$GoogleAdsSearchads360V23Common__ChainFilter[]; + /** + * Required. Immutable. Relationship type the specified chains have with this advertiser. + */ + relationshipType?: string | null; + } + /** + * Location criteria associated with a click. + */ + export interface Schema$GoogleAdsSearchads360V23Common__ClickLocation { + /** + * The city location criterion associated with the impression. + */ + city?: string | null; + /** + * The country location criterion associated with the impression. + */ + country?: string | null; + /** + * The metro location criterion associated with the impression. + */ + metro?: string | null; + /** + * The most specific location criterion associated with the impression. + */ + mostSpecific?: string | null; + /** + * The region location criterion associated with the impression. + */ + region?: string | null; + } + /** + * A combined audience criterion. + */ + export interface Schema$GoogleAdsSearchads360V23Common__CombinedAudienceInfo { + /** + * The CombinedAudience resource name. + */ + combinedAudience?: string | null; + } + /** + * Commission is an automatic bidding strategy in which the advertiser pays a certain portion of the conversion value. + */ + export interface Schema$GoogleAdsSearchads360V23Common__Commission { + /** + * Commission rate defines the portion of the conversion value that the advertiser will be billed. A commission rate of x should be passed into this field as (x * 1,000,000). For example, 106,000 represents a commission rate of 0.106 (10.6%). + */ + commissionRateMicros?: string | null; + } + /** + * The concept group for the keyword concept. + */ + export interface Schema$GoogleAdsSearchads360V23Common__ConceptGroup { + /** + * The concept group name. + */ + name?: string | null; + /** + * The concept group type. + */ + type?: string | null; + } + /** + * Consent + */ + export interface Schema$GoogleAdsSearchads360V23Common__Consent { + /** + * This represents consent for ad personalization. This can only be set for OfflineUserDataJobService and UserDataService. + */ + adPersonalization?: string | null; + /** + * This represents consent for ad user data. + */ + adUserData?: string | null; + } + /** + * Content Label for category exclusion. + */ + export interface Schema$GoogleAdsSearchads360V23Common__ContentLabelInfo { + /** + * Content label type, required for CREATE operations. + */ + type?: string | null; + } + /** + * Projected metrics for a specific CPC bid amount. + */ + export interface Schema$GoogleAdsSearchads360V23Common__CpcBidSimulationPoint { + /** + * Projected number of biddable conversions. + */ + biddableConversions?: number | null; + /** + * Projected total value of biddable conversions. + */ + biddableConversionsValue?: number | null; + /** + * Projected number of clicks. + */ + clicks?: string | null; + /** + * Projected cost in micros. + */ + costMicros?: string | null; + /** + * The simulated CPC bid upon which projected metrics are based. + */ + cpcBidMicros?: string | null; + /** + * The simulated scaling modifier upon which projected metrics are based. All CPC bids relevant to the simulated entity are scaled by this modifier. + */ + cpcBidScalingModifier?: number | null; + /** + * Projected number of impressions. + */ + impressions?: string | null; + /** + * Projected required daily budget that the advertiser must set in order to receive the estimated traffic, in micros of advertiser currency. + */ + requiredBudgetAmountMicros?: string | null; + /** + * Projected number of top slot impressions. Only search advertising channel type supports this field. + */ + topSlotImpressions?: string | null; + } + /** + * A container for simulation points for simulations of type CPC_BID. + */ + export interface Schema$GoogleAdsSearchads360V23Common__CpcBidSimulationPointList { + /** + * Projected metrics for a series of CPC bid amounts. + */ + points?: Schema$GoogleAdsSearchads360V23Common__CpcBidSimulationPoint[]; + } + /** + * Projected metrics for a specific CPV bid amount. + */ + export interface Schema$GoogleAdsSearchads360V23Common__CpvBidSimulationPoint { + /** + * Projected cost in micros. + */ + costMicros?: string | null; + /** + * The simulated CPV bid upon which projected metrics are based. + */ + cpvBidMicros?: string | null; + /** + * Projected number of impressions. + */ + impressions?: string | null; + /** + * Projected number of views. + */ + views?: string | null; + } + /** + * A container for simulation points for simulations of type CPV_BID. + */ + export interface Schema$GoogleAdsSearchads360V23Common__CpvBidSimulationPointList { + /** + * Projected metrics for a series of CPV bid amounts. + */ + points?: Schema$GoogleAdsSearchads360V23Common__CpvBidSimulationPoint[]; + } + /** + * Information of category availability, per advertising channel. + */ + export interface Schema$GoogleAdsSearchads360V23Common__CriterionCategoryAvailability { + /** + * Channel types and subtypes that are available to the category. + */ + channel?: Schema$GoogleAdsSearchads360V23Common__CriterionCategoryChannelAvailability; + /** + * Locales that are available to the category for the channel. + */ + locale?: Schema$GoogleAdsSearchads360V23Common__CriterionCategoryLocaleAvailability[]; + } + /** + * Information of advertising channel type and subtypes a category is available in. + */ + export interface Schema$GoogleAdsSearchads360V23Common__CriterionCategoryChannelAvailability { + /** + * Channel subtypes under the channel type the category is available to. + */ + advertisingChannelSubType?: string[] | null; + /** + * Channel type the category is available to. + */ + advertisingChannelType?: string | null; + /** + * Format of the channel availability. Can be ALL_CHANNELS (the rest of the fields will not be set), CHANNEL_TYPE (only advertising_channel_type type will be set, the category is available to all sub types under it) or CHANNEL_TYPE_AND_SUBTYPES (advertising_channel_type, advertising_channel_sub_type, and include_default_channel_sub_type will all be set). + */ + availabilityMode?: string | null; + /** + * Whether default channel sub type is included. For example, advertising_channel_type being DISPLAY and include_default_channel_sub_type being false means that the default display campaign where channel sub type is not set is not included in this availability configuration. + */ + includeDefaultChannelSubType?: boolean | null; + } + /** + * Information about which locales a category is available in. + */ + export interface Schema$GoogleAdsSearchads360V23Common__CriterionCategoryLocaleAvailability { + /** + * Format of the locale availability. Can be LAUNCHED_TO_ALL (both country and language will be empty), COUNTRY (only country will be set), LANGUAGE (only language wil be set), COUNTRY_AND_LANGUAGE (both country and language will be set). + */ + availabilityMode?: string | null; + /** + * The ISO-3166-1 alpha-2 country code associated with the category. + */ + countryCode?: string | null; + /** + * ISO 639-1 code of the language associated with the category. + */ + languageCode?: string | null; + } + /** + * UserList of CRM users provided by the advertiser. + */ + export interface Schema$GoogleAdsSearchads360V23Common__CrmBasedUserListInfo { + /** + * A string that uniquely identifies a mobile application from which the data was collected. For iOS, the ID string is the 9 digit string that appears at the end of an App Store URL (for example, "476943146" for "Flood-It! 2" whose App Store link is http://itunes.apple.com/us/app/flood-it!-2/id476943146). For Android, the ID string is the application's package name (for example, "com.labpixies.colordrips" for "Color Drips" given Google Play link https://play.google.com/store/apps/details?id=com.labpixies.colordrips). Required when creating CrmBasedUserList for uploading mobile advertising IDs. + */ + appId?: string | null; + /** + * Data source of the list. Default value is FIRST_PARTY. Only customers on the allow-list can create third-party sourced CRM lists. + */ + dataSourceType?: string | null; + /** + * Matching key type of the list. Mixed data types are not allowed on the same list. This field is required for an ADD operation. + */ + uploadKeyType?: string | null; + } + /** + * A custom affinity criterion. A criterion of this type is only targetable. + */ + export interface Schema$GoogleAdsSearchads360V23Common__CustomAffinityInfo { + /** + * The CustomInterest resource name. + */ + customAffinity?: string | null; + } + /** + * A custom audience criterion. + */ + export interface Schema$GoogleAdsSearchads360V23Common__CustomAudienceInfo { + /** + * The CustomAudience resource name. + */ + customAudience?: string | null; + } + /** + * Custom audience segment. + */ + export interface Schema$GoogleAdsSearchads360V23Common__CustomAudienceSegment { + /** + * The custom audience resource. + */ + customAudience?: string | null; + } + /** + * Lifecycle goal optimization value settings. + */ + export interface Schema$GoogleAdsSearchads360V23Common__CustomerLifecycleOptimizationValueSettings { + /** + * High lifetime value of the lifecycle goal. For example, for customer acquisition goals, high lifetime value is the incremental conversion value for lapsed customers who are of high value. High lifetime value should be greater than value, if set. + */ + additionalHighLifetimeValue?: number | null; + /** + * Value of the lifecycle goal. For example, for retention goals, value is the incremental conversion value for lapsed customers who are not of high value. + */ + additionalValue?: number | null; + } + /** + * Metadata for customer match user list. + */ + export interface Schema$GoogleAdsSearchads360V23Common__CustomerMatchUserListMetadata { + /** + * The consent setting for all the users in this job. + */ + consent?: Schema$GoogleAdsSearchads360V23Common__Consent; + /** + * The resource name of remarketing list to update data. Required for job of CUSTOMER_MATCH_USER_LIST type. + */ + userList?: string | null; + } + /** + * Container for third party Brand Lift integration data for Customer. + */ + export interface Schema$GoogleAdsSearchads360V23Common__CustomerThirdPartyBrandLiftIntegrationPartner { + /** + * If true, cost data can be shared with this vendor. + */ + allowShareCost?: boolean | null; + /** + * Allowed Third Party integration partners for Brand Lift verification. + */ + brandLiftIntegrationPartner?: string | null; + } + /** + * Container for third party brand safety integration data for Customer. + */ + export interface Schema$GoogleAdsSearchads360V23Common__CustomerThirdPartyBrandSafetyIntegrationPartner { + /** + * Allowed third party integration partners for brand safety verification. + */ + brandSafetyIntegrationPartner?: string | null; + } + /** + * Container for Customer level third party integration partners. + */ + export interface Schema$GoogleAdsSearchads360V23Common__CustomerThirdPartyIntegrationPartners { + /** + * Allowed third party integration partners for Brand Lift verification. + */ + brandLiftIntegrationPartners?: Schema$GoogleAdsSearchads360V23Common__CustomerThirdPartyBrandLiftIntegrationPartner[]; + /** + * Allowed third party integration partners for brand safety verification. + */ + brandSafetyIntegrationPartners?: Schema$GoogleAdsSearchads360V23Common__CustomerThirdPartyBrandSafetyIntegrationPartner[]; + /** + * Allowed third party integration partners for reach verification. + */ + reachIntegrationPartners?: Schema$GoogleAdsSearchads360V23Common__CustomerThirdPartyReachIntegrationPartner[]; + /** + * Allowed third party integration partners for YouTube viewability verification. + */ + viewabilityIntegrationPartners?: Schema$GoogleAdsSearchads360V23Common__CustomerThirdPartyViewabilityIntegrationPartner[]; + } + /** + * Container for third party reach integration data for Customer. + */ + export interface Schema$GoogleAdsSearchads360V23Common__CustomerThirdPartyReachIntegrationPartner { + /** + * If true, cost data can be shared with this vendor. + */ + allowShareCost?: boolean | null; + /** + * Allowed Third Party integration partners for reach verification. + */ + reachIntegrationPartner?: string | null; + } + /** + * Container for third party viewability integration data for Customer. + */ + export interface Schema$GoogleAdsSearchads360V23Common__CustomerThirdPartyViewabilityIntegrationPartner { + /** + * If true, cost data can be shared with this vendor. + */ + allowShareCost?: boolean | null; + /** + * Allowed third party integration partners for YouTube viewability verification. + */ + viewabilityIntegrationPartner?: string | null; + } + /** + * A custom intent criterion. A criterion of this type is only targetable. + */ + export interface Schema$GoogleAdsSearchads360V23Common__CustomIntentInfo { + /** + * The CustomInterest resource name. + */ + customIntent?: string | null; + } + /** + * A customizer value that is referenced in customizer linkage entities like CustomerCustomizer, CampaignCustomizer, etc. + */ + export interface Schema$GoogleAdsSearchads360V23Common__CustomizerValue { + /** + * Required. Value to insert in creative text. Customizer values of all types are stored as string to make formatting unambiguous. + */ + stringValue?: string | null; + /** + * Required. The data type for the customizer value. It must match the attribute type. The string_value content must match the constraints associated with the type. + */ + type?: string | null; + } + /** + * A mapping that can be used by custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`. + */ + export interface Schema$GoogleAdsSearchads360V23Common__CustomParameter { + /** + * The key matching the parameter tag name. + */ + key?: string | null; + /** + * The value to be substituted. + */ + value?: string | null; + } + /** + * A date range. + */ + export interface Schema$GoogleAdsSearchads360V23Common__DateRange { + /** + * The end date, in yyyy-mm-dd format. This date is inclusive. + */ + endDate?: string | null; + /** + * The start date, in yyyy-mm-dd format. This date is inclusive. + */ + startDate?: string | null; + } + /** + * A Demand Gen carousel ad. + */ + export interface Schema$GoogleAdsSearchads360V23Common__DemandGenCarouselAdInfo { + /** + * Required. The Advertiser/brand name. + */ + businessName?: string | null; + /** + * Call to action text. + */ + callToActionText?: string | null; + /** + * Required. Carousel cards that will display with the ad. Min 2 max 10. + */ + carouselCards?: Schema$GoogleAdsSearchads360V23Common__AdDemandGenCarouselCardAsset[]; + /** + * Required. The descriptive text of the ad. + */ + description?: Schema$GoogleAdsSearchads360V23Common__AdTextAsset; + /** + * Required. Headline of the ad. + */ + headline?: Schema$GoogleAdsSearchads360V23Common__AdTextAsset; + /** + * Required. Logo image to be used in the ad. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). + */ + logoImage?: Schema$GoogleAdsSearchads360V23Common__AdImageAsset; + } + /** + * A Demand Gen Carousel Card asset. + */ + export interface Schema$GoogleAdsSearchads360V23Common__DemandGenCarouselCardAsset { + /** + * Call to action text. + */ + callToActionText?: string | null; + /** + * Required. Headline of the carousel card. + */ + headline?: string | null; + /** + * Asset resource name of the associated 1.91:1 marketing image. This and/or square marketing image asset is required. + */ + marketingImageAsset?: string | null; + /** + * Asset resource name of the associated 4:5 portrait marketing image. + */ + portraitMarketingImageAsset?: string | null; + /** + * Asset resource name of the associated square marketing image. This and/or a marketing image asset is required. + */ + squareMarketingImageAsset?: string | null; + } + /** + * A Demand Gen multi asset ad. + */ + export interface Schema$GoogleAdsSearchads360V23Common__DemandGenMultiAssetAdInfo { + /** + * The Advertiser/brand name. Maximum display width is 25. Required. + */ + businessName?: string | null; + /** + * Call to action text. + */ + callToActionText?: string | null; + /** + * The descriptive text of the ad. Maximum display width is 90. At least 1 and max 5 descriptions can be specified. + */ + descriptions?: Schema$GoogleAdsSearchads360V23Common__AdTextAsset[]; + /** + * Headline text asset of the ad. Maximum display width is 30. At least 1 and max 5 headlines can be specified. + */ + headlines?: Schema$GoogleAdsSearchads360V23Common__AdTextAsset[]; + /** + * Logo image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). At least 1 and max 5 logo images can be specified. + */ + logoImages?: Schema$GoogleAdsSearchads360V23Common__AdImageAsset[]; + /** + * Marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). Required if square_marketing_images is not present. + */ + marketingImages?: Schema$GoogleAdsSearchads360V23Common__AdImageAsset[]; + /** + * Portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 480x600 and the aspect ratio must be 4:5 (+-1%). + */ + portraitMarketingImages?: Schema$GoogleAdsSearchads360V23Common__AdImageAsset[]; + /** + * Square marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). Required if marketing_images is not present. + */ + squareMarketingImages?: Schema$GoogleAdsSearchads360V23Common__AdImageAsset[]; + /** + * Tall portrait marketing image assets to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x1067 and the aspect ratio must be 9:16 (+-1%). Combined with `marketing_images`, `square_marketing_images`, and `portrait_marketing_images`, the maximum is 20. + */ + tallPortraitMarketingImages?: Schema$GoogleAdsSearchads360V23Common__AdImageAsset[]; + } + /** + * A Demand Gen product ad. + */ + export interface Schema$GoogleAdsSearchads360V23Common__DemandGenProductAdInfo { + /** + * First part of text that appears in the ad with the displayed URL. + */ + breadcrumb1?: string | null; + /** + * Second part of text that appears in the ad with the displayed URL. + */ + breadcrumb2?: string | null; + /** + * Required. The advertiser/brand name. + */ + businessName?: Schema$GoogleAdsSearchads360V23Common__AdTextAsset; + /** + * Asset of type CallToActionAsset used for the "Call To Action" button. + */ + callToAction?: Schema$GoogleAdsSearchads360V23Common__AdCallToActionAsset; + /** + * Required. Text asset used for the description. + */ + description?: Schema$GoogleAdsSearchads360V23Common__AdTextAsset; + /** + * Required. Text asset used for the short headline. + */ + headline?: Schema$GoogleAdsSearchads360V23Common__AdTextAsset; + /** + * Required. Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). + */ + logoImage?: Schema$GoogleAdsSearchads360V23Common__AdImageAsset; + } + /** + * A Demand Gen video responsive ad. + */ + export interface Schema$GoogleAdsSearchads360V23Common__DemandGenVideoResponsiveAdInfo { + /** + * First part of text that appears in the ad with the displayed URL. + */ + breadcrumb1?: string | null; + /** + * Second part of text that appears in the ad with the displayed URL. + */ + breadcrumb2?: string | null; + /** + * Required. The advertiser/brand name. + */ + businessName?: Schema$GoogleAdsSearchads360V23Common__AdTextAsset; + /** + * Assets of type CallToActionAsset used for the "Call To Action" button. + */ + callToActions?: Schema$GoogleAdsSearchads360V23Common__AdCallToActionAsset[]; + /** + * List of image assets used for the companion banner. Currently, only a single value for the companion banner asset is supported. + */ + companionBanners?: Schema$GoogleAdsSearchads360V23Common__AdImageAsset[]; + /** + * List of text assets used for the description. + */ + descriptions?: Schema$GoogleAdsSearchads360V23Common__AdTextAsset[]; + /** + * List of text assets used for the short headline. + */ + headlines?: Schema$GoogleAdsSearchads360V23Common__AdTextAsset[]; + /** + * Logo image to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). + */ + logoImages?: Schema$GoogleAdsSearchads360V23Common__AdImageAsset[]; + /** + * List of text assets used for the long headline. + */ + longHeadlines?: Schema$GoogleAdsSearchads360V23Common__AdTextAsset[]; + /** + * List of YouTube video assets used for the ad. + */ + videos?: Schema$GoogleAdsSearchads360V23Common__AdVideoAsset[]; + } + /** + * Detailed demographic segment. + */ + export interface Schema$GoogleAdsSearchads360V23Common__DetailedDemographicSegment { + /** + * The detailed demographic resource. + */ + detailedDemographic?: string | null; + } + /** + * A device criterion. + */ + export interface Schema$GoogleAdsSearchads360V23Common__DeviceInfo { + /** + * Type of the device. + */ + type?: string | null; + } + /** + * A generic type of display ad. The exact ad format is controlled by the `display_upload_product_type` field, which determines what kinds of data need to be included with the ad. + */ + export interface Schema$GoogleAdsSearchads360V23Common__DisplayUploadAdInfo { + /** + * The product type of this ad. See comments on the enum for details. + */ + displayUploadProductType?: string | null; + /** + * A media bundle asset to be used in the ad. For information about the media bundle for HTML5_UPLOAD_AD, see https://support.google.com/google-ads/answer/1722096 Media bundles that are part of dynamic product types use a special format that needs to be created through the Google Web Designer. See https://support.google.com/webdesigner/answer/7543898 for more information. + */ + mediaBundle?: Schema$GoogleAdsSearchads360V23Common__AdMediaBundleAsset; + } + /** + * Represents a filter on Business Profile locations in an asset set. If multiple filters are provided, they are AND'ed together. + */ + export interface Schema$GoogleAdsSearchads360V23Common__DynamicBusinessProfileLocationGroupFilter { + /** + * Used to filter Business Profile locations by business name. + */ + businessNameFilter?: Schema$GoogleAdsSearchads360V23Common__BusinessProfileBusinessNameFilter; + /** + * Used to filter Business Profile locations by label. Only locations that have any of the listed labels will be in the asset set. Label filters are OR'ed together. + */ + labelFilters?: string[] | null; + /** + * Used to filter Business Profile locations by listing ids. + */ + listingIdFilters?: string[] | null; + } + /** + * A dynamic custom asset. + */ + export interface Schema$GoogleAdsSearchads360V23Common__DynamicCustomAsset { + /** + * Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234. + */ + androidAppLink?: string | null; + /** + * Contextual keywords, for example, Sedans, 4 door sedans. + */ + contextualKeywords?: string[] | null; + /** + * Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $20,000.00. + */ + formattedPrice?: string | null; + /** + * Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $15,000.00. + */ + formattedSalePrice?: string | null; + /** + * Required. ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag, for example, sedan. Required. + */ + id?: string | null; + /** + * ID2 which can be any sequence of letters and digits, for example, red. ID sequence (ID + ID2) must be unique. + */ + id2?: string | null; + /** + * Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset. + */ + imageUrl?: string | null; + /** + * iOS deep link, for example, exampleApp://content/page. + */ + iosAppLink?: string | null; + /** + * iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present. + */ + iosAppStoreId?: string | null; + /** + * Item address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403 + */ + itemAddress?: string | null; + /** + * Item category, for example, Sedans. + */ + itemCategory?: string | null; + /** + * Item description, for example, Best selling mid-size car. + */ + itemDescription?: string | null; + /** + * Item subtitle, for example, At your Mountain View dealership. + */ + itemSubtitle?: string | null; + /** + * Required. Item title, for example, Mid-size sedan. Required. + */ + itemTitle?: string | null; + /** + * Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 20,000.00 USD. + */ + price?: string | null; + /** + * Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 15,000.00 USD. Must be less than the 'price' field. + */ + salePrice?: string | null; + /** + * Similar IDs. + */ + similarIds?: string[] | null; + } + /** + * A Dynamic Education asset. + */ + export interface Schema$GoogleAdsSearchads360V23Common__DynamicEducationAsset { + /** + * School address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403 + */ + address?: string | null; + /** + * Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234. + */ + androidAppLink?: string | null; + /** + * Contextual keywords, for example, Nursing certification, Health, Mountain View. + */ + contextualKeywords?: string[] | null; + /** + * Image url, for example, http://www.example.com/image.png. The image will not be uploaded as image asset. + */ + imageUrl?: string | null; + /** + * iOS deep link, for example, exampleApp://content/page. + */ + iosAppLink?: string | null; + /** + * iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present. + */ + iosAppStoreId?: string | null; + /** + * Location ID which can be any sequence of letters and digits and must be unique. + */ + locationId?: string | null; + /** + * Program description, for example, Nursing Certification. + */ + programDescription?: string | null; + /** + * Required. Program ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required. + */ + programId?: string | null; + /** + * Required. Program name, for example, Nursing. Required. + */ + programName?: string | null; + /** + * School name, for example, Mountain View School of Nursing. + */ + schoolName?: string | null; + /** + * Similar program IDs. + */ + similarProgramIds?: string[] | null; + /** + * Subject of study, for example, Health. + */ + subject?: string | null; + /** + * Thumbnail image url, for example, http://www.example.com/thumbnail.png. The thumbnail image will not be uploaded as image asset. + */ + thumbnailImageUrl?: string | null; + } + /** + * A dynamic flights asset. + */ + export interface Schema$GoogleAdsSearchads360V23Common__DynamicFlightsAsset { + /** + * Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234. + */ + androidAppLink?: string | null; + /** + * A custom field which can be multiple key to values mapping separated by delimiters (",", "|" and ":"), in the forms of ": , , ... , | : , ... , | ... | : , ... ," for example, wifi: most | aircraft: 320, 77W | flights: 42 | legroom: 32". + */ + customMapping?: string | null; + /** + * Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required. + */ + destinationId?: string | null; + /** + * Destination name, for example, Paris. + */ + destinationName?: string | null; + /** + * Required. Flight description, for example, Book your ticket. Required. + */ + flightDescription?: string | null; + /** + * Flight price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD. + */ + flightPrice?: string | null; + /** + * Flight sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'flight_price' field. + */ + flightSalePrice?: string | null; + /** + * Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00. + */ + formattedPrice?: string | null; + /** + * Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00. + */ + formattedSalePrice?: string | null; + /** + * Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset. + */ + imageUrl?: string | null; + /** + * iOS deep link, for example, exampleApp://content/page. + */ + iosAppLink?: string | null; + /** + * iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present. + */ + iosAppStoreId?: string | null; + /** + * Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique. + */ + originId?: string | null; + /** + * Origin name, for example, London. + */ + originName?: string | null; + /** + * Similar destination IDs, for example, PAR,LON. + */ + similarDestinationIds?: string[] | null; + } + /** + * A dynamic hotels and rentals asset. + */ + export interface Schema$GoogleAdsSearchads360V23Common__DynamicHotelsAndRentalsAsset { + /** + * Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403 + */ + address?: string | null; + /** + * Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234. + */ + androidAppLink?: string | null; + /** + * Category, for example, Hotel suite. + */ + category?: string | null; + /** + * Contextual keywords, for example, Mountain View "Hotels", South Bay hotels. + */ + contextualKeywords?: string[] | null; + /** + * Description, for example, Close to SJC Airport. + */ + description?: string | null; + /** + * Destination name, for example, Downtown Mountain View. + */ + destinationName?: string | null; + /** + * Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00. + */ + formattedPrice?: string | null; + /** + * Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00. + */ + formattedSalePrice?: string | null; + /** + * Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset. + */ + imageUrl?: string | null; + /** + * iOS deep link, for example, exampleApp://content/page. + */ + iosAppLink?: string | null; + /** + * iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present. + */ + iosAppStoreId?: string | null; + /** + * Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD. + */ + price?: string | null; + /** + * Required. Property ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required. + */ + propertyId?: string | null; + /** + * Required. Property name, for example, Mountain View Hotel. Required. + */ + propertyName?: string | null; + /** + * ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field. + */ + salePrice?: string | null; + /** + * Similar property IDs. + */ + similarPropertyIds?: string[] | null; + /** + * Star rating. Must be a number between 1 to 5, inclusive. + */ + starRating?: string | null; + } + /** + * A dynamic jobs asset. + */ + export interface Schema$GoogleAdsSearchads360V23Common__DynamicJobsAsset { + /** + * Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403. + */ + address?: string | null; + /** + * Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234. + */ + androidAppLink?: string | null; + /** + * Contextual keywords, for example, Software engineering job. + */ + contextualKeywords?: string[] | null; + /** + * Description, for example, Apply your technical skills. + */ + description?: string | null; + /** + * Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset. + */ + imageUrl?: string | null; + /** + * iOS deep link, for example, exampleApp://content/page. + */ + iosAppLink?: string | null; + /** + * iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present. + */ + iosAppStoreId?: string | null; + /** + * Job category, for example, Technical. + */ + jobCategory?: string | null; + /** + * Required. Job ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required. + */ + jobId?: string | null; + /** + * Job subtitle, for example, Level II. + */ + jobSubtitle?: string | null; + /** + * Required. Job title, for example, Software engineer. Required. + */ + jobTitle?: string | null; + /** + * Location ID which can be any sequence of letters and digits. The ID sequence (job ID + location ID) must be unique. + */ + locationId?: string | null; + /** + * Salary, for example, $100,000. + */ + salary?: string | null; + /** + * Similar job IDs, for example, 1275. + */ + similarJobIds?: string[] | null; + } + /** + * A dynamic local asset. + */ + export interface Schema$GoogleAdsSearchads360V23Common__DynamicLocalAsset { + /** + * Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403. + */ + address?: string | null; + /** + * Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234. + */ + androidAppLink?: string | null; + /** + * Category, for example, Food. + */ + category?: string | null; + /** + * Contextual keywords, for example, Save groceries coupons. + */ + contextualKeywords?: string[] | null; + /** + * Required. Deal ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required. + */ + dealId?: string | null; + /** + * Required. Deal name, for example, 50% off at Mountain View Grocers. Required. + */ + dealName?: string | null; + /** + * Description, for example, Save on your weekly bill. + */ + description?: string | null; + /** + * Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00. + */ + formattedPrice?: string | null; + /** + * Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00. + */ + formattedSalePrice?: string | null; + /** + * Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset. + */ + imageUrl?: string | null; + /** + * iOS deep link, for example, exampleApp://content/page. + */ + iosAppLink?: string | null; + /** + * iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present. + */ + iosAppStoreId?: string | null; + /** + * Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD. + */ + price?: string | null; + /** + * Sale price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field. + */ + salePrice?: string | null; + /** + * Similar deal IDs, for example, 1275. + */ + similarDealIds?: string[] | null; + /** + * Subtitle, for example, Groceries. + */ + subtitle?: string | null; + } + /** + * A dynamic real estate asset. + */ + export interface Schema$GoogleAdsSearchads360V23Common__DynamicRealEstateAsset { + /** + * Address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403 + */ + address?: string | null; + /** + * Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234. + */ + androidAppLink?: string | null; + /** + * City name, for example, Mountain View, California. + */ + cityName?: string | null; + /** + * Contextual keywords, for example, For sale; Houses for sale. + */ + contextualKeywords?: string[] | null; + /** + * Description, for example, 3 beds, 2 baths, 1568 sq. ft. + */ + description?: string | null; + /** + * Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $200,000.00. + */ + formattedPrice?: string | null; + /** + * Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset. + */ + imageUrl?: string | null; + /** + * iOS deep link, for example, exampleApp://content/page. + */ + iosAppLink?: string | null; + /** + * iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present. + */ + iosAppStoreId?: string | null; + /** + * Required. Listing ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required. + */ + listingId?: string | null; + /** + * Required. Listing name, for example, Boulevard Bungalow. Required. + */ + listingName?: string | null; + /** + * Listing type, for example, For sale. + */ + listingType?: string | null; + /** + * Price which can be number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 200,000.00 USD. + */ + price?: string | null; + /** + * Property type, for example, House. + */ + propertyType?: string | null; + /** + * Similar listing IDs. + */ + similarListingIds?: string[] | null; + } + /** + * A dynamic travel asset. + */ + export interface Schema$GoogleAdsSearchads360V23Common__DynamicTravelAsset { + /** + * Android deep link, for example, android-app://com.example.android/http/example.com/gizmos?1234. + */ + androidAppLink?: string | null; + /** + * Category, for example, Express. + */ + category?: string | null; + /** + * Contextual keywords, for example, Paris trains. + */ + contextualKeywords?: string[] | null; + /** + * Destination address which can be specified in one of the following formats. (1) City, state, code, country, for example, Mountain View, CA, USA. (2) Full address, for example, 123 Boulevard St, Mountain View, CA 94043. (3) Latitude-longitude in the DDD format, for example, 41.40338, 2.17403. + */ + destinationAddress?: string | null; + /** + * Required. Destination ID which can be any sequence of letters and digits, and must be unique and match the values of remarketing tag. Required. + */ + destinationId?: string | null; + /** + * Destination name, for example, Paris. + */ + destinationName?: string | null; + /** + * Formatted price which can be any characters. If set, this attribute will be used instead of 'price', for example, Starting at $100.00. + */ + formattedPrice?: string | null; + /** + * Formatted sale price which can be any characters. If set, this attribute will be used instead of 'sale price', for example, On sale for $80.00. + */ + formattedSalePrice?: string | null; + /** + * Image URL, for example, http://www.example.com/image.png. The image will not be uploaded as image asset. + */ + imageUrl?: string | null; + /** + * iOS deep link, for example, exampleApp://content/page. + */ + iosAppLink?: string | null; + /** + * iOS app store ID. This is used to check if the user has the app installed on their device before deep linking. If this field is set, then the ios_app_link field must also be present. + */ + iosAppStoreId?: string | null; + /** + * Origin ID which can be any sequence of letters and digits. The ID sequence (destination ID + origin ID) must be unique. + */ + originId?: string | null; + /** + * Origin name, for example, London. + */ + originName?: string | null; + /** + * Price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 100.00 USD. + */ + price?: string | null; + /** + * Sale price which can be a number followed by the alphabetic currency code, ISO 4217 standard. Use '.' as the decimal mark, for example, 80.00 USD. Must be less than the 'price' field. + */ + salePrice?: string | null; + /** + * Similar destination IDs, for example, NYC. + */ + similarDestinationIds?: string[] | null; + /** + * Required. Title, for example, Book your train ticket. Required. + */ + title?: string | null; + } + /** + * An automated bidding strategy that raises bids for clicks that seem more likely to lead to a conversion and lowers them for clicks where they seem less likely. This bidding strategy is deprecated and cannot be created anymore. Use ManualCpc with enhanced_cpc_enabled set to true for equivalent functionality. + */ + export interface Schema$GoogleAdsSearchads360V23Common__EnhancedCpc {} + /** + * Advertiser defined events and their attributes. All the values in the nested fields are required. + */ + export interface Schema$GoogleAdsSearchads360V23Common__EventAttribute { + /** + * Required. Advertiser defined event to be used for remarketing. The accepted values are "Viewed", "Cart", "Purchased" and "Recommended". + */ + event?: string | null; + /** + * Required. Timestamp at which the event happened. The format is YYYY-MM-DD HH:MM:SS[+/-HH:MM], where [+/-HH:MM] is an optional timezone offset from UTC. If the offset is absent, the API will use the account's timezone as default. + */ + eventDateTime?: string | null; + /** + * Required. Item attributes of the event. + */ + itemAttribute?: Schema$GoogleAdsSearchads360V23Common__EventItemAttribute[]; + } + /** + * Event Item attributes of the Customer Match. + */ + export interface Schema$GoogleAdsSearchads360V23Common__EventItemAttribute { + /** + * Optional. A unique identifier of a product. It can be either the Merchant Center Item ID or GTIN (Global Trade Item Number). + */ + itemId?: string | null; + } + /** + * An audience segment to be excluded from an audience. + */ + export interface Schema$GoogleAdsSearchads360V23Common__ExclusionSegment { + /** + * User list segment to be excluded. + */ + userList?: Schema$GoogleAdsSearchads360V23Common__UserListSegment; + } + /** + * An expanded dynamic search ad. + */ + export interface Schema$GoogleAdsSearchads360V23Common__ExpandedDynamicSearchAdInfo { + /** + * The description of the ad. + */ + description?: string | null; + /** + * The second description of the ad. + */ + description2?: string | null; + } + /** + * An expanded text ad. + */ + export interface Schema$GoogleAdsSearchads360V23Common__ExpandedTextAdInfo { + /** + * The description of the ad. + */ + description?: string | null; + /** + * The second description of the ad. + */ + description2?: string | null; + /** + * The first part of the ad's headline. + */ + headlinePart1?: string | null; + /** + * The second part of the ad's headline. + */ + headlinePart2?: string | null; + /** + * The third part of the ad's headline. + */ + headlinePart3?: string | null; + /** + * The text that can appear alongside the ad's displayed URL. + */ + path1?: string | null; + /** + * Additional text that can appear alongside the ad's displayed URL. + */ + path2?: string | null; + } + /** + * Represents an extended demographic criterion. + */ + export interface Schema$GoogleAdsSearchads360V23Common__ExtendedDemographicInfo { + /** + * Taxonomy id of the extended demographic group. + */ + extendedDemographicId?: string | null; + } + /** + * Facebook Messenger information to use for messaging. + */ + export interface Schema$GoogleAdsSearchads360V23Common__FacebookMessengerBusinessMessageInfo { + /** + * Required. Facebook page name used for starting a chat on Facebook Messenger. + */ + pageName?: string | null; + } + /** + * A URL for deep linking into an app for the given operating system. + */ + export interface Schema$GoogleAdsSearchads360V23Common__FinalAppUrl { + /** + * The operating system targeted by this URL. Required. + */ + osType?: string | null; + /** + * The app deep link URL. Deep links specify a location in an app that corresponds to the content you'd like to show, and should be of the form {scheme\}://{host_path\} The scheme identifies which app to open. For your app, you can use a custom scheme that starts with the app's name. The host and path specify the unique location in the app where your content exists. Example: "exampleapp://productid_1234". Required. + */ + url?: string | null; + } + /** + * Flexible rule that wraps the common rule and a lookback window. + */ + export interface Schema$GoogleAdsSearchads360V23Common__FlexibleRuleOperandInfo { + /** + * Lookback window for this rule in days. From now until X days ago. + */ + lookbackWindowDays?: string | null; + /** + * List of rule item groups that defines this rule. Rule item groups are grouped together. + */ + rule?: Schema$GoogleAdsSearchads360V23Common__UserListRuleInfo; + } + /** + * Flexible rule representation of visitors with one or multiple actions. The flexible user list is defined by two lists of operands – inclusive_operands and exclusive_operands; each operand represents a set of users based on actions they took in a given timeframe. These lists of operands are combined with the AND_NOT operator, so that users represented by the inclusive operands are included in the user list, minus the users represented by the exclusive operands. + */ + export interface Schema$GoogleAdsSearchads360V23Common__FlexibleRuleUserListInfo { + /** + * Rules representing users that should be excluded from the user list. These are located on the right side of the AND_NOT operator, and joined together by OR. + */ + exclusiveOperands?: Schema$GoogleAdsSearchads360V23Common__FlexibleRuleOperandInfo[]; + /** + * Rules representing users that should be included in the user list. These are located on the left side of the AND_NOT operator, and joined together by either AND/OR as specified by the inclusive_rule_operator. + */ + inclusiveOperands?: Schema$GoogleAdsSearchads360V23Common__FlexibleRuleOperandInfo[]; + /** + * Operator that defines how the inclusive operands are combined. + */ + inclusiveRuleOperator?: string | null; + } + /** + * A rule specifying the maximum number of times an ad (or some set of ads) can be shown to a user over a particular time period. + */ + export interface Schema$GoogleAdsSearchads360V23Common__FrequencyCapEntry { + /** + * Maximum number of events allowed during the time range by this cap. + */ + cap?: number | null; + /** + * The key of a particular frequency cap. There can be no more than one frequency cap with the same key. + */ + key?: Schema$GoogleAdsSearchads360V23Common__FrequencyCapKey; + } + /** + * A group of fields used as keys for a frequency cap. There can be no more than one frequency cap with the same key. + */ + export interface Schema$GoogleAdsSearchads360V23Common__FrequencyCapKey { + /** + * The type of event that the cap applies to (for example, impression). + */ + eventType?: string | null; + /** + * The level on which the cap is to be applied (for example, ad group ad, ad group). The cap is applied to all the entities of this level. + */ + level?: string | null; + /** + * Number of time units the cap lasts. + */ + timeLength?: number | null; + /** + * Unit of time the cap is defined at (for example, day, week). + */ + timeUnit?: string | null; + } + /** + * Dimension specifying users by their gender. + */ + export interface Schema$GoogleAdsSearchads360V23Common__GenderDimension { + /** + * Included gender demographic segments. + */ + genders?: string[] | null; + /** + * Include users whose gender is not determined. + */ + includeUndetermined?: boolean | null; + } + /** + * A gender criterion. + */ + export interface Schema$GoogleAdsSearchads360V23Common__GenderInfo { + /** + * Type of the gender. + */ + type?: string | null; + } + /** + * Geo point for proximity criterion. + */ + export interface Schema$GoogleAdsSearchads360V23Common__GeoPointInfo { + /** + * Micro degrees for the latitude. + */ + latitudeInMicroDegrees?: number | null; + /** + * Micro degrees for the longitude. + */ + longitudeInMicroDegrees?: number | null; + } + /** + * Historical metrics options. + */ + export interface Schema$GoogleAdsSearchads360V23Common__HistoricalMetricsOptions { + /** + * Indicates whether to include average cost per click value. Average CPC is provided only for legacy support. + */ + includeAverageCpc?: boolean | null; + /** + * The year month range for historical metrics. If not specified, metrics for the past 12 months are returned. Search metrics are available for the past 4 years. If the search volume is not available for the entire year_month_range provided, the subset of the year month range for which search volume is available are returned. + */ + yearMonthRange?: Schema$GoogleAdsSearchads360V23Common__YearMonthRange; + } + /** + * A hotel ad. + */ + export interface Schema$GoogleAdsSearchads360V23Common__HotelAdInfo {} + /** + * Criterion for number of days prior to the stay the booking is being made. + */ + export interface Schema$GoogleAdsSearchads360V23Common__HotelAdvanceBookingWindowInfo { + /** + * High end of the number of days prior to the stay. + */ + maxDays?: string | null; + /** + * Low end of the number of days prior to the stay. + */ + minDays?: string | null; + } + /** + * An asset representing a hotel callout. + */ + export interface Schema$GoogleAdsSearchads360V23Common__HotelCalloutAsset { + /** + * Required. The language of the hotel callout. Represented as BCP 47 language tag. + */ + languageCode?: string | null; + /** + * Required. The text of the hotel callout asset. The length of this string should be between 1 and 25, inclusive. + */ + text?: string | null; + } + /** + * Criterion for a check-in date range. + */ + export interface Schema$GoogleAdsSearchads360V23Common__HotelCheckInDateRangeInfo { + /** + * End date in the YYYY-MM-DD format. + */ + endDate?: string | null; + /** + * Start date in the YYYY-MM-DD format. + */ + startDate?: string | null; + } + /** + * Criterion for day of the week the booking is for. + */ + export interface Schema$GoogleAdsSearchads360V23Common__HotelCheckInDayInfo { + /** + * The day of the week. + */ + dayOfWeek?: string | null; + } + /** + * City the hotel is located in. + */ + export interface Schema$GoogleAdsSearchads360V23Common__HotelCityInfo { + /** + * The Geo Target Constant resource name. + */ + cityCriterion?: string | null; + } + /** + * Class of the hotel as a number of stars 1 to 5. + */ + export interface Schema$GoogleAdsSearchads360V23Common__HotelClassInfo { + /** + * Long value of the hotel class. + */ + value?: string | null; + } + /** + * Country or Region the hotel is located in. + */ + export interface Schema$GoogleAdsSearchads360V23Common__HotelCountryRegionInfo { + /** + * The Geo Target Constant resource name. + */ + countryRegionCriterion?: string | null; + } + /** + * Criterion for hotel date selection (default dates versus user selected). + */ + export interface Schema$GoogleAdsSearchads360V23Common__HotelDateSelectionTypeInfo { + /** + * Type of the hotel date selection + */ + type?: string | null; + } + /** + * Advertiser-specific hotel ID. + */ + export interface Schema$GoogleAdsSearchads360V23Common__HotelIdInfo { + /** + * String value of the hotel ID. + */ + value?: string | null; + } + /** + * Criterion for length of hotel stay in nights. + */ + export interface Schema$GoogleAdsSearchads360V23Common__HotelLengthOfStayInfo { + /** + * High end of the number of nights in the stay. + */ + maxNights?: string | null; + /** + * Low end of the number of nights in the stay. + */ + minNights?: string | null; + } + /** + * A hotel property asset. + */ + export interface Schema$GoogleAdsSearchads360V23Common__HotelPropertyAsset { + /** + * Address of the hotel. Read-only. + */ + hotelAddress?: string | null; + /** + * Name of the hotel. Read-only. + */ + hotelName?: string | null; + /** + * Place IDs uniquely identify a place in the Google Places database and on Google Maps. See https://developers.google.com/places/web-service/place-id to learn more. + */ + placeId?: string | null; + } + /** + * State the hotel is located in. + */ + export interface Schema$GoogleAdsSearchads360V23Common__HotelStateInfo { + /** + * The Geo Target Constant resource name. + */ + stateCriterion?: string | null; + } + /** + * Dimension specifying users by their household income. + */ + export interface Schema$GoogleAdsSearchads360V23Common__HouseholdIncomeDimension { + /** + * Include users whose household income is not determined. + */ + includeUndetermined?: boolean | null; + /** + * Included household income demographic segments. + */ + incomeRanges?: string[] | null; + } + /** + * An image ad. + */ + export interface Schema$GoogleAdsSearchads360V23Common__ImageAdInfo { + /** + * An ad ID to copy the image from. + */ + adIdToCopyImageFrom?: string | null; + /** + * Raw image data as bytes. + */ + data?: string | null; + /** + * The image assets used for the ad. + */ + imageAsset?: Schema$GoogleAdsSearchads360V23Common__AdImageAsset; + /** + * URL of the full size image. + */ + imageUrl?: string | null; + /** + * The mime type of the image. + */ + mimeType?: string | null; + /** + * The name of the image. If the image was created from a MediaFile, this is the MediaFile's name. If the image was created from bytes, this is empty. + */ + name?: string | null; + /** + * Height in pixels of the full size image. + */ + pixelHeight?: string | null; + /** + * Width in pixels of the full size image. + */ + pixelWidth?: string | null; + /** + * URL of the preview size image. + */ + previewImageUrl?: string | null; + /** + * Height in pixels of the preview size image. + */ + previewPixelHeight?: string | null; + /** + * Width in pixels of the preview size image. + */ + previewPixelWidth?: string | null; + } + /** + * An Image asset. + */ + export interface Schema$GoogleAdsSearchads360V23Common__ImageAsset { + /** + * The raw bytes data of an image. This field is mutate only. + */ + data?: string | null; + /** + * File size of the image asset in bytes. + */ + fileSize?: string | null; + /** + * Metadata for this image at its original size. + */ + fullSize?: Schema$GoogleAdsSearchads360V23Common__ImageDimension; + /** + * MIME type of the image asset. + */ + mimeType?: string | null; + } + /** + * Metadata for an image at a certain size, either original or resized. + */ + export interface Schema$GoogleAdsSearchads360V23Common__ImageDimension { + /** + * Height of the image. + */ + heightPixels?: string | null; + /** + * A URL that returns the image with this height and width. + */ + url?: string | null; + /** + * Width of the image. + */ + widthPixels?: string | null; + } + /** + * An income range criterion. + */ + export interface Schema$GoogleAdsSearchads360V23Common__IncomeRangeInfo { + /** + * Type of the income range. + */ + type?: string | null; + } + /** + * Criterion for Interaction Type. + */ + export interface Schema$GoogleAdsSearchads360V23Common__InteractionTypeInfo { + /** + * The interaction type. + */ + type?: string | null; + } + /** + * An IpBlock criterion used for excluding IP addresses. We support excluding individual IP addresses or CIDR blocks. Create one IpBlockInfo criterion for each individual IP address or CIDR block you want to exclude. You can exclude up to 500 IP addresses per campaign. For more details, see [Exclude IP addresses](//support.google.com/google-ads/answer/2456098). IPv4 examples: * Individual address: 192.168.0.1 * Individual address as CIDR block: 192.168.0.1/32 * CIDR block: 192.168.0.0/24 IPv6 examples: * Individual address: 2001:db8:a0b:12f0::1 * Individual address as CIDR block: 2001:db8:a0b:12f0::1/128 * CIDR block: 2001:db8::/48 + */ + export interface Schema$GoogleAdsSearchads360V23Common__IpBlockInfo { + /** + * The IP address or the CIDR block to be excluded. + */ + ipAddress?: string | null; + } + /** + * Item attributes of the transaction. + */ + export interface Schema$GoogleAdsSearchads360V23Common__ItemAttribute { + /** + * Common Locale Data Repository (CLDR) territory code of the country associated with the feed where your items are uploaded. See https://developers.google.com/google-ads/api/reference/data/codes-formats#country-codes for more information. This information is useful to differentiate product information in cases where a product (identified by item_id) is associated with multiple countries. + */ + countryCode?: string | null; + /** + * A unique identifier of a product. It must be the exact same Merchant Center Item ID you use in your Google Merchant Center for this product. Required. + */ + itemId?: string | null; + /** + * ISO 639-1 code of the language associated with the feed where your items are uploaded. This information is useful to differentiate product information in cases where a product (identified by item_id) is associated with multiple languages. + */ + languageCode?: string | null; + /** + * ID of the Merchant Center Account. Required. + */ + merchantId?: string | null; + /** + * The number of items sold. Defaults to 1 if not set. + */ + quantity?: string | null; + } + /** + * A Keyword criterion segment. + */ + export interface Schema$GoogleAdsSearchads360V23Common__Keyword { + /** + * The AdGroupCriterion resource name. + */ + adGroupCriterion?: string | null; + /** + * Keyword info. + */ + info?: Schema$GoogleAdsSearchads360V23Common__KeywordInfo; + } + /** + * The annotations for the keyword plan keywords. + */ + export interface Schema$GoogleAdsSearchads360V23Common__KeywordAnnotations { + /** + * The list of concepts for the keyword. + */ + concepts?: Schema$GoogleAdsSearchads360V23Common__KeywordConcept[]; + } + /** + * The concept for the keyword. + */ + export interface Schema$GoogleAdsSearchads360V23Common__KeywordConcept { + /** + * The concept group of the concept details. + */ + conceptGroup?: Schema$GoogleAdsSearchads360V23Common__ConceptGroup; + /** + * The concept name for the keyword in the concept_group. + */ + name?: string | null; + } + /** + * A keyword criterion. + */ + export interface Schema$GoogleAdsSearchads360V23Common__KeywordInfo { + /** + * The match type of the keyword. + */ + matchType?: string | null; + /** + * The text of the keyword (at most 80 characters and 10 words). + */ + text?: string | null; + } + /** + * The aggregated historical metrics for keyword plan keywords. + */ + export interface Schema$GoogleAdsSearchads360V23Common__KeywordPlanAggregateMetricResults { + /** + * The aggregate searches for all the keywords segmented by device for the specified time. Supports the following device types: MOBILE, TABLET, DESKTOP. This is only set when KeywordPlanAggregateMetricTypeEnum.DEVICE is set in the KeywordPlanAggregateMetrics field in the request. + */ + deviceSearches?: Schema$GoogleAdsSearchads360V23Common__KeywordPlanDeviceSearches[]; + } + /** + * The aggregate metrics specification of the request. + */ + export interface Schema$GoogleAdsSearchads360V23Common__KeywordPlanAggregateMetrics { + /** + * The list of aggregate metrics to fetch data. + */ + aggregateMetricTypes?: string[] | null; + } + /** + * The total searches for the device type during the specified time period. + */ + export interface Schema$GoogleAdsSearchads360V23Common__KeywordPlanDeviceSearches { + /** + * The device type. + */ + device?: string | null; + /** + * The total searches for the device. + */ + searchCount?: string | null; + } + /** + * Historical metrics specific to the targeting options selected. Targeting options include geographies, network, and so on. Refer to https://support.google.com/google-ads/answer/3022575 for more details. + */ + export interface Schema$GoogleAdsSearchads360V23Common__KeywordPlanHistoricalMetrics { + /** + * Average Cost Per Click in micros for the keyword. + */ + averageCpcMicros?: string | null; + /** + * Approximate number of monthly searches on this query, averaged for the past 12 months. + */ + avgMonthlySearches?: string | null; + /** + * The competition level for the query. + */ + competition?: string | null; + /** + * The competition index for the query in the range [0, 100]. Shows how competitive ad placement is for a keyword. The level of competition from 0-100 is determined by the number of ad slots filled divided by the total number of ad slots available. If not enough data is available, null is returned. + */ + competitionIndex?: string | null; + /** + * Top of page bid high range (80th percentile) in micros for the keyword. + */ + highTopOfPageBidMicros?: string | null; + /** + * Top of page bid low range (20th percentile) in micros for the keyword. + */ + lowTopOfPageBidMicros?: string | null; + /** + * Approximate number of searches on this query for the past twelve months. + */ + monthlySearchVolumes?: Schema$GoogleAdsSearchads360V23Common__MonthlySearchVolume[]; + } + /** + * A Smart Campaign keyword theme. + */ + export interface Schema$GoogleAdsSearchads360V23Common__KeywordThemeInfo { + /** + * Free-form text to be matched to a Smart Campaign keyword theme constant on a best-effort basis. + */ + freeFormKeywordTheme?: string | null; + /** + * The resource name of a Smart Campaign keyword theme constant. `keywordThemeConstants/{keyword_theme_id\}~{sub_keyword_theme_id\}` + */ + keywordThemeConstant?: string | null; + } + /** + * Metadata associated with a Knowledge Graph Entity attribute. + */ + export interface Schema$GoogleAdsSearchads360V23Common__KnowledgeGraphAttributeMetadata { + /** + * The capabilities of the entity used in ContentCreatorInsightsService. + */ + entityCapabilities?: string[] | null; + /** + * A list of CATEGORY attributes related to this entity. + */ + relatedCategories?: Schema$GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata[]; + } + /** + * A language criterion. + */ + export interface Schema$GoogleAdsSearchads360V23Common__LanguageInfo { + /** + * The language constant resource name. + */ + languageConstant?: string | null; + } + /** + * A Lead Form asset. + */ + export interface Schema$GoogleAdsSearchads360V23Common__LeadFormAsset { + /** + * Asset resource name of the background image. The image dimensions must be exactly 1200x628. + */ + backgroundImageAsset?: string | null; + /** + * Required. The name of the business being advertised. + */ + businessName?: string | null; + /** + * Required. Text giving a clear value proposition of what users expect once they expand the form. + */ + callToActionDescription?: string | null; + /** + * Required. Pre-defined display text that encourages user to expand the form. + */ + callToActionType?: string | null; + /** + * Custom disclosure shown along with Google disclaimer on the lead form. Accessible to allowed customers only. + */ + customDisclosure?: string | null; + /** + * Ordered list of custom question fields. This field is subject to a limit of 5 qualifying questions per form. + */ + customQuestionFields?: Schema$GoogleAdsSearchads360V23Common__LeadFormCustomQuestionField[]; + /** + * Configured methods for collected lead data to be delivered to advertiser. Only one method typed as WebhookDelivery can be configured. + */ + deliveryMethods?: Schema$GoogleAdsSearchads360V23Common__LeadFormDeliveryMethod[]; + /** + * Required. Detailed description of the expanded form to describe what the form is asking for or facilitating. + */ + description?: string | null; + /** + * Chosen intent for the lead form, for example, more volume or more qualified. + */ + desiredIntent?: string | null; + /** + * Ordered list of input fields. This field can be updated by reordering questions, but not by adding or removing questions. + */ + fields?: Schema$GoogleAdsSearchads360V23Common__LeadFormField[]; + /** + * Required. Headline of the expanded form to describe what the form is asking for or facilitating. + */ + headline?: string | null; + /** + * Pre-defined display text that encourages user action after the form is submitted. + */ + postSubmitCallToActionType?: string | null; + /** + * Detailed description shown after form submission that describes how the advertiser will follow up with the user. + */ + postSubmitDescription?: string | null; + /** + * Headline of text shown after form submission that describes how the advertiser will follow up with the user. + */ + postSubmitHeadline?: string | null; + /** + * Required. Link to a page describing the policy on how the collected data is handled by the advertiser/business. + */ + privacyPolicyUrl?: string | null; + } + /** + * One custom question input field instance within a form. + */ + export interface Schema$GoogleAdsSearchads360V23Common__LeadFormCustomQuestionField { + /** + * The exact custom question field text (for example, "What kind of vehicle do you have?"). + */ + customQuestionText?: string | null; + /** + * Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for "What is your preferred dealership?" question, for advertisers with Location Assets setup at campaign/account level. + */ + hasLocationAnswer?: boolean | null; + /** + * Answer configuration for a single choice question. Minimum of 2 answers and maximum of 12 allowed. + */ + singleChoiceAnswers?: Schema$GoogleAdsSearchads360V23Common__LeadFormSingleChoiceAnswers; + } + /** + * A configuration of how leads are delivered to the advertiser. + */ + export interface Schema$GoogleAdsSearchads360V23Common__LeadFormDeliveryMethod { + /** + * Webhook method of delivery. + */ + webhook?: Schema$GoogleAdsSearchads360V23Common__WebhookDelivery; + } + /** + * One input field instance within a form. + */ + export interface Schema$GoogleAdsSearchads360V23Common__LeadFormField { + /** + * Answer configuration for location question. If true, campaign/account level location data (state, city, business name etc) will be rendered on the Lead Form. Starting V13.1, has_location_answer can only be set for "What is your preferred dealership?" question, for advertisers with Location Assets setup at campaign/account level. + */ + hasLocationAnswer?: boolean | null; + /** + * Describes the input type, which may be a predefined type such as "full name" or a pre-vetted question like "What kind of vehicle do you have?". + */ + inputType?: string | null; + /** + * Answer configuration for a single choice question. Can be set only for pre-vetted question fields. Minimum of 2 answers required and maximum of 12 allowed. + */ + singleChoiceAnswers?: Schema$GoogleAdsSearchads360V23Common__LeadFormSingleChoiceAnswers; + } + /** + * Defines possible answers for a single choice question, usually presented as a single-choice drop-down list. + */ + export interface Schema$GoogleAdsSearchads360V23Common__LeadFormSingleChoiceAnswers { + /** + * List of choices for a single question field. The order of entries defines UI order. Minimum of 2 answers required and maximum of 12 allowed. + */ + answers?: string[] | null; + } + /** + * A legacy app install ad that only can be used by a few select customers. + */ + export interface Schema$GoogleAdsSearchads360V23Common__LegacyAppInstallAdInfo { + /** + * The ID of the mobile app. + */ + appId?: string | null; + /** + * The app store the mobile app is available in. + */ + appStore?: string | null; + /** + * The first description line of the ad. + */ + description1?: string | null; + /** + * The second description line of the ad. + */ + description2?: string | null; + /** + * The headline of the ad. + */ + headline?: string | null; + } + /** + * A legacy responsive display ad. Ads of this type are labeled 'Responsive ads' in the Google Ads UI. + */ + export interface Schema$GoogleAdsSearchads360V23Common__LegacyResponsiveDisplayAdInfo { + /** + * The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well. + */ + accentColor?: string | null; + /** + * Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set. + */ + allowFlexibleColor?: boolean | null; + /** + * The business name in the ad. + */ + businessName?: string | null; + /** + * The call-to-action text for the ad. + */ + callToActionText?: string | null; + /** + * The description of the ad. + */ + description?: string | null; + /** + * Specifies which format the ad will be served in. Default is ALL_FORMATS. + */ + formatSetting?: string | null; + /** + * The MediaFile resource name of the logo image used in the ad. + */ + logoImage?: string | null; + /** + * The long version of the ad's headline. + */ + longHeadline?: string | null; + /** + * The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well. + */ + mainColor?: string | null; + /** + * The MediaFile resource name of the marketing image used in the ad. + */ + marketingImage?: string | null; + /** + * Prefix before price. For example, 'as low as'. + */ + pricePrefix?: string | null; + /** + * Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'. + */ + promoText?: string | null; + /** + * The short version of the ad's headline. + */ + shortHeadline?: string | null; + /** + * The MediaFile resource name of the square logo image used in the ad. + */ + squareLogoImage?: string | null; + /** + * The MediaFile resource name of the square marketing image used in the ad. + */ + squareMarketingImage?: string | null; + } + /** + * Lifecycle goal value settings. + */ + export interface Schema$GoogleAdsSearchads360V23Common__LifecycleGoalValueSettings { + /** + * High lifetime value of the lifecycle goal. For example, for customer acquisition goal, high lifetime value is the incremental conversion value for new customers who are of high value. High lifetime value should be greater than value, if set. + */ + highLifetimeValue?: number | null; + /** + * Value of the lifecycle goal. For example, for customer acquisition goal, value is the incremental conversion value for new customers who are not of high value. + */ + value?: number | null; + } + /** + * Represents a life event criterion. + */ + export interface Schema$GoogleAdsSearchads360V23Common__LifeEventInfo { + /** + * Taxonomy id of the life event. + */ + lifeEventId?: string | null; + } + /** + * Live event segment. + */ + export interface Schema$GoogleAdsSearchads360V23Common__LifeEventSegment { + /** + * The life event resource. + */ + lifeEvent?: string | null; + } + /** + * Metadata associated with a Lineup attribute. + */ + export interface Schema$GoogleAdsSearchads360V23Common__LineupAttributeMetadata { + /** + * The lower end of a range containing the number of channels in the lineup. + */ + channelCountLowerBound?: string | null; + /** + * The upper end of a range containing the number of channels in the lineup. + */ + channelCountUpperBound?: string | null; + /** + * The national market associated with the lineup. + */ + inventoryCountry?: Schema$GoogleAdsSearchads360V23Common__LocationInfo; + /** + * The median number of impressions per month on this lineup. + */ + medianMonthlyInventory?: string | null; + /** + * Examples of channels that are included in the lineup. + */ + sampleChannels?: Schema$GoogleAdsSearchads360V23Common_LineupAttributeMetadata_SampleChannel[]; + } + /** + * Listing dimensions for listing group criterion. + */ + export interface Schema$GoogleAdsSearchads360V23Common__ListingDimensionInfo { + /** + * The city where the travel activity is available. + */ + activityCity?: Schema$GoogleAdsSearchads360V23Common__ActivityCityInfo; + /** + * The country where the travel activity is available. + */ + activityCountry?: Schema$GoogleAdsSearchads360V23Common__ActivityCountryInfo; + /** + * Advertiser-specific activity ID. + */ + activityId?: Schema$GoogleAdsSearchads360V23Common__ActivityIdInfo; + /** + * Rating of the activity as a number 1 to 5, where 5 is the best. + */ + activityRating?: Schema$GoogleAdsSearchads360V23Common__ActivityRatingInfo; + /** + * The state where the travel activity is available. + */ + activityState?: Schema$GoogleAdsSearchads360V23Common__ActivityStateInfo; + /** + * City the hotel is located in. + */ + hotelCity?: Schema$GoogleAdsSearchads360V23Common__HotelCityInfo; + /** + * Class of the hotel as a number of stars 1 to 5. + */ + hotelClass?: Schema$GoogleAdsSearchads360V23Common__HotelClassInfo; + /** + * Country or Region the hotel is located in. + */ + hotelCountryRegion?: Schema$GoogleAdsSearchads360V23Common__HotelCountryRegionInfo; + /** + * Advertiser-specific hotel ID. + */ + hotelId?: Schema$GoogleAdsSearchads360V23Common__HotelIdInfo; + /** + * State the hotel is located in. + */ + hotelState?: Schema$GoogleAdsSearchads360V23Common__HotelStateInfo; + /** + * Brand of a product offer. + */ + productBrand?: Schema$GoogleAdsSearchads360V23Common__ProductBrandInfo; + /** + * Category of a product offer. + */ + productCategory?: Schema$GoogleAdsSearchads360V23Common__ProductCategoryInfo; + /** + * Locality of a product offer. + */ + productChannel?: Schema$GoogleAdsSearchads360V23Common__ProductChannelInfo; + /** + * Availability of a product offer. + */ + productChannelExclusivity?: Schema$GoogleAdsSearchads360V23Common__ProductChannelExclusivityInfo; + /** + * Condition of a product offer. + */ + productCondition?: Schema$GoogleAdsSearchads360V23Common__ProductConditionInfo; + /** + * Custom attribute of a product offer. + */ + productCustomAttribute?: Schema$GoogleAdsSearchads360V23Common__ProductCustomAttributeInfo; + /** + * Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. + */ + productGrouping?: Schema$GoogleAdsSearchads360V23Common__ProductGroupingInfo; + /** + * Item id of a product offer. + */ + productItemId?: Schema$GoogleAdsSearchads360V23Common__ProductItemIdInfo; + /** + * Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. + */ + productLabels?: Schema$GoogleAdsSearchads360V23Common__ProductLabelsInfo; + /** + * Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. + */ + productLegacyCondition?: Schema$GoogleAdsSearchads360V23Common__ProductLegacyConditionInfo; + /** + * Type of a product offer. + */ + productType?: Schema$GoogleAdsSearchads360V23Common__ProductTypeInfo; + /** + * Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. + */ + productTypeFull?: Schema$GoogleAdsSearchads360V23Common__ProductTypeFullInfo; + /** + * Unknown dimension. Set when no other listing dimension is set. + */ + unknownListingDimension?: Schema$GoogleAdsSearchads360V23Common__UnknownListingDimensionInfo; + } + /** + * The path of dimensions defining a listing group. + */ + export interface Schema$GoogleAdsSearchads360V23Common__ListingDimensionPath { + /** + * The complete path of dimensions through the listing group hierarchy, from the root (excluding the root itself) to this listing group. + */ + dimensions?: Schema$GoogleAdsSearchads360V23Common__ListingDimensionInfo[]; + } + /** + * A listing group criterion. + */ + export interface Schema$GoogleAdsSearchads360V23Common__ListingGroupInfo { + /** + * Dimension value with which this listing group is refining its parent. Undefined for the root group. + */ + caseValue?: Schema$GoogleAdsSearchads360V23Common__ListingDimensionInfo; + /** + * Resource name of ad group criterion which is the parent listing group subdivision. Null for the root group. + */ + parentAdGroupCriterion?: string | null; + /** + * The path of dimensions defining this listing group. + */ + path?: Schema$GoogleAdsSearchads360V23Common__ListingDimensionPath; + /** + * Type of the listing group. + */ + type?: string | null; + } + /** + * A listing scope criterion. + */ + export interface Schema$GoogleAdsSearchads360V23Common__ListingScopeInfo { + /** + * Scope of the campaign criterion. + */ + dimensions?: Schema$GoogleAdsSearchads360V23Common__ListingDimensionInfo[]; + } + /** + * A local ad. + */ + export interface Schema$GoogleAdsSearchads360V23Common__LocalAdInfo { + /** + * List of text assets for call-to-actions. When the ad serves the call-to-actions will be selected from this list. At least 1 and at most 5 call-to-actions must be specified. + */ + callToActions?: Schema$GoogleAdsSearchads360V23Common__AdTextAsset[]; + /** + * List of text assets for descriptions. When the ad serves the descriptions will be selected from this list. At least 1 and at most 5 descriptions must be specified. + */ + descriptions?: Schema$GoogleAdsSearchads360V23Common__AdTextAsset[]; + /** + * List of text assets for headlines. When the ad serves the headlines will be selected from this list. At least 1 and at most 5 headlines must be specified. + */ + headlines?: Schema$GoogleAdsSearchads360V23Common__AdTextAsset[]; + /** + * List of logo image assets that may be displayed with the ad. The images must be 128x128 pixels and not larger than 120KB. At least 1 and at most 5 image assets must be specified. + */ + logoImages?: Schema$GoogleAdsSearchads360V23Common__AdImageAsset[]; + /** + * List of marketing image assets that may be displayed with the ad. The images must be 314x600 pixels or 320x320 pixels. At least 1 and at most 20 image assets must be specified. + */ + marketingImages?: Schema$GoogleAdsSearchads360V23Common__AdImageAsset[]; + /** + * First part of optional text that can be appended to the URL in the ad. + */ + path1?: string | null; + /** + * Second part of optional text that can be appended to the URL in the ad. This field can only be set when `path1` is also set. + */ + path2?: string | null; + /** + * List of YouTube video assets that may be displayed with the ad. At least 1 and at most 20 video assets must be specified. + */ + videos?: Schema$GoogleAdsSearchads360V23Common__AdVideoAsset[]; + } + /** + * A Local Services Ads service ID. Represents a service type (such as install_faucet) that a Local Services Campaign can target. + */ + export interface Schema$GoogleAdsSearchads360V23Common__LocalServiceIdInfo { + /** + * The criterion resource name. + */ + serviceId?: string | null; + } + /** + * A Local Services Document with read only accessible data. + */ + export interface Schema$GoogleAdsSearchads360V23Common__LocalServicesDocumentReadOnly { + /** + * URL to access an already uploaded Local Services document. + */ + documentUrl?: string | null; + } + /** + * A location asset. + */ + export interface Schema$GoogleAdsSearchads360V23Common__LocationAsset { + /** + * The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID. + */ + businessProfileLocations?: Schema$GoogleAdsSearchads360V23Common__BusinessProfileLocation[]; + /** + * The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location. + */ + locationOwnershipType?: string | null; + /** + * Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID. + */ + placeId?: string | null; + } + /** + * Metadata associated with a Location attribute. + */ + export interface Schema$GoogleAdsSearchads360V23Common__LocationAttributeMetadata { + /** + * The country location that this attribute’s sub country location is located in. + */ + countryLocation?: Schema$GoogleAdsSearchads360V23Common__LocationInfo; + } + /** + * A radius around a list of locations specified through a feed. + */ + export interface Schema$GoogleAdsSearchads360V23Common__LocationGroupInfo { + /** + * Denotes that the latest customer level asset set is used for targeting. Used with radius and radius_units. Cannot be used with feed, geo target constants or feed item sets. When using asset sets, either this field or location_group_asset_sets should be specified. Both cannot be used at the same time. This can only be set in CREATE operations. + */ + enableCustomerLevelLocationAssetSet?: boolean | null; + /** + * FeedItemSets whose FeedItems are targeted. If multiple IDs are specified, then all items that appear in at least one set are targeted. This field cannot be used with geo_target_constants. This is optional and can only be set in CREATE operations. + */ + feedItemSets?: string[] | null; + /** + * Geo target constant(s) restricting the scope of the geographic area within the feed. Currently only one geo target constant is allowed. + */ + geoTargetConstants?: string[] | null; + /** + * AssetSets whose Assets are targeted. If multiple IDs are specified, then all items that appear in at least one set are targeted. This field cannot be used with feed, geo target constants or feed item sets. When using asset sets, either this field or enable_customer_level_location_asset_set should be specified. Both cannot be used at the same time. This can only be set in CREATE operations. + */ + locationGroupAssetSets?: string[] | null; + /** + * Distance in units specifying the radius around targeted locations. This is required and must be set in CREATE operations. + */ + radius?: string | null; + /** + * Unit of the radius. Miles and meters are supported for geo target constants. Milli miles and meters are supported for feed item sets. This is required and must be set in CREATE operations. + */ + radiusUnits?: string | null; + } + /** + * A location criterion. + */ + export interface Schema$GoogleAdsSearchads360V23Common__LocationInfo { + /** + * The geo target constant resource name. + */ + geoTargetConstant?: string | null; + } + /** + * Data related to location set. One of the Google Business Profile (previously known as Google My Business) data, Chain data, and map location data need to be specified. + */ + export interface Schema$GoogleAdsSearchads360V23Common__LocationSet { + /** + * Data used to configure a location set populated from Google Business Profile locations. + */ + businessProfileLocationSet?: Schema$GoogleAdsSearchads360V23Common__BusinessProfileLocationSet; + /** + * Data used to configure a location on chain set populated with the specified chains. + */ + chainLocationSet?: Schema$GoogleAdsSearchads360V23Common__ChainSet; + /** + * Required. Immutable. Location Ownership Type (owned location or affiliate location). + */ + locationOwnershipType?: string | null; + /** + * Only set if locations are synced based on selected maps locations + */ + mapsLocationSet?: Schema$GoogleAdsSearchads360V23Common__MapsLocationSet; + } + /** + * Represents a user list that is a custom combination of user lists. + */ + export interface Schema$GoogleAdsSearchads360V23Common__LogicalUserListInfo { + /** + * Logical list rules that define this user list. The rules are defined as a logical operator (ALL/ANY/NONE) and a list of user lists. All the rules are ANDed when they are evaluated. Required for creating a logical user list. + */ + rules?: Schema$GoogleAdsSearchads360V23Common__UserListLogicalRuleInfo[]; + } + /** + * Operand of logical user list that consists of a user list. + */ + export interface Schema$GoogleAdsSearchads360V23Common__LogicalUserListOperandInfo { + /** + * Resource name of a user list as an operand. + */ + userList?: string | null; + } + /** + * LookalikeUserlist, composed of users similar to those of a configurable seed (set of UserLists) + */ + export interface Schema$GoogleAdsSearchads360V23Common__LookalikeUserListInfo { + /** + * Countries targeted by the Lookalike. Two-letter country code as defined by ISO-3166 + */ + countryCodes?: string[] | null; + /** + * Expansion level, reflecting the size of the lookalike audience + */ + expansionLevel?: string | null; + /** + * Seed UserList ID from which this list is derived, provided by user. + */ + seedUserListIds?: string[] | null; + } + /** + * Manual bidding strategy that allows advertiser to set the bid per advertiser-specified action. + */ + export interface Schema$GoogleAdsSearchads360V23Common__ManualCpa {} + /** + * Manual click-based bidding where user pays per click. + */ + export interface Schema$GoogleAdsSearchads360V23Common__ManualCpc { + /** + * Whether bids are to be enhanced based on conversion optimizer data. + */ + enhancedCpcEnabled?: boolean | null; + } + /** + * Manual impression-based bidding where user pays per thousand impressions. + */ + export interface Schema$GoogleAdsSearchads360V23Common__ManualCpm {} + /** + * View based bidding where user pays per video view. + */ + export interface Schema$GoogleAdsSearchads360V23Common__ManualCpv {} + /** + * Wrapper for place ids + */ + export interface Schema$GoogleAdsSearchads360V23Common__MapsLocationInfo { + /** + * Place ID of the Maps location. + */ + placeId?: string | null; + } + /** + * Wrapper for multiple maps location sync data + */ + export interface Schema$GoogleAdsSearchads360V23Common__MapsLocationSet { + /** + * Required. A list of maps location info that user manually synced in. + */ + mapsLocations?: Schema$GoogleAdsSearchads360V23Common__MapsLocationInfo[]; + } + /** + * An automated bidding strategy to help get the most conversions for your campaigns while spending your budget. + */ + export interface Schema$GoogleAdsSearchads360V23Common__MaximizeConversions { + /** + * Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only. + */ + cpcBidCeilingMicros?: string | null; + /** + * Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only. + */ + cpcBidFloorMicros?: string | null; + /** + * The target cost-per-action (CPA) option. This is the average amount that you would like to spend per conversion action specified in micro units of the bidding strategy's currency. If set, the bid strategy will get as many conversions as possible at or below the target cost-per-action. If the target CPA is not set, the bid strategy will aim to achieve the lowest possible CPA given the budget. + */ + targetCpaMicros?: string | null; + } + /** + * An automated bidding strategy to help get the most conversion value for your campaigns while spending your budget. + */ + export interface Schema$GoogleAdsSearchads360V23Common__MaximizeConversionValue { + /** + * Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only. + */ + cpcBidCeilingMicros?: string | null; + /** + * Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only. + */ + cpcBidFloorMicros?: string | null; + /** + * The target return on ad spend (ROAS) option. If set, the bid strategy will maximize revenue while averaging the target return on ad spend. If the target ROAS is high, the bid strategy may not be able to spend the full budget. If the target ROAS is not set, the bid strategy will aim to achieve the highest possible ROAS for the budget. + */ + targetRoas?: number | null; + /** + * The percent of ROAS(return on advertising spend) degradation tolerance allowed to increase traffic diversity and conversion volume, specified in millis (for example, 10,000 = 10%). A value of 10,000 means that the advertiser can expect ROAS degradation of up to 10% of the specified target ROAS. + */ + targetRoasTolerancePercentMillis?: string | null; + } + /** + * A MediaBundle asset. + */ + export interface Schema$GoogleAdsSearchads360V23Common__MediaBundleAsset { + /** + * Media bundle (ZIP file) asset data. The format of the uploaded ZIP file depends on the ad field where it will be used. For more information on the format, see the documentation of the ad field where you plan on using the MediaBundleAsset. This field is mutate only. + */ + data?: string | null; + } + /** + * A metric goal for an experiment. + */ + export interface Schema$GoogleAdsSearchads360V23Common__MetricGoal { + /** + * The metric direction of the goal. For example, increase, decrease, no change. + */ + direction?: string | null; + /** + * The metric of the goal. For example, clicks, impressions, cost, conversions, etc. + */ + metric?: string | null; + } + /** + * Metrics data. + */ + export interface Schema$GoogleAdsSearchads360V23Common__Metrics { + /** + * Search absolute top impression share is the percentage of your Search ad impressions that are shown in the most prominent Search position. + */ + absoluteTopImpressionPercentage?: number | null; + /** + * The total number of conversions. This includes all conversions regardless of the value of include_in_conversions_metric. + */ + allConversions?: number | null; + /** + * The total number of conversions. This includes all conversions regardless of the value of include_in_conversions_metric. When this column is selected with date, the values in date column means the conversion date. Details for the by_conversion_date columns are available at https://support.google.com/sa360/answer/9250611. + */ + allConversionsByConversionDate?: number | null; + /** + * The number of times people clicked the "Call" button to call a business during or after clicking an ad. This number doesn't include whether or not calls were connected, or the duration of any calls. This metric applies to feed items only. + */ + allConversionsFromClickToCall?: number | null; + /** + * The number of times people clicked a "Get directions" button to navigate to a business after clicking an ad. This metric applies to feed items only. + */ + allConversionsFromDirections?: number | null; + /** + * All conversions from interactions (as oppose to view through conversions) divided by the number of ad interactions. + */ + allConversionsFromInteractionsRate?: number | null; + /** + * The value of all conversions from interactions divided by the total number of interactions. + */ + allConversionsFromInteractionsValuePerInteraction?: number | null; + /** + * The number of times people clicked a link to view a business's menu after clicking an ad. This metric applies to feed items only. + */ + allConversionsFromMenu?: number | null; + /** + * The number of times people placed an order at a business after clicking an ad. This metric applies to feed items only. + */ + allConversionsFromOrder?: number | null; + /** + * The number of other conversions (for example, posting a review or saving a location for a business) that occurred after people clicked an ad. This metric applies to feed items only. + */ + allConversionsFromOtherEngagement?: number | null; + /** + * Estimated number of times people visited a business after clicking an ad. This metric applies to feed items only. + */ + allConversionsFromStoreVisit?: number | null; + /** + * The number of times that people were taken to a business's URL after clicking an ad. This metric applies to feed items only. + */ + allConversionsFromStoreWebsite?: number | null; + /** + * The value of all conversions. + */ + allConversionsValue?: number | null; + /** + * The value of all conversions. When this column is selected with date, the values in date column means the conversion date. Details for the by_conversion_date columns are available at https://support.google.com/sa360/answer/9250611. + */ + allConversionsValueByConversionDate?: number | null; + /** + * The value of all conversions divided by the total cost of ad interactions (such as clicks for text ads or views for video ads). + */ + allConversionsValuePerCost?: number | null; + /** + * Average cart size is the average number of products in each order attributed to your ads. How it works: You report conversions with cart data for completed purchases on your website. Average cart size is the total number of products sold divided by the total number of orders you received. Example: You received 2 orders, the first included 3 products and the second included 2. The average cart size is 2.5 products = (3+2)/2. This metric is only available if you report conversions with cart data. + */ + averageCartSize?: number | null; + /** + * The average amount you pay per interaction. This amount is the total cost of your ads divided by the total number of interactions. + */ + averageCost?: number | null; + /** + * The total cost of all clicks divided by the total number of clicks received. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause + */ + averageCpc?: number | null; + /** + * Average cost-per-thousand impressions (CPM). This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause + */ + averageCpm?: number | null; + /** + * The average number of times a unique user saw your ad during the requested time period. This metric cannot be aggregated, and can only be requested for date ranges of 92 days or less. This metric is available for following campaign types - Display, Video, Discovery and App. + */ + averageImpressionFrequencyPerUser?: number | null; + /** + * Average order value is the average revenue you made per order attributed to your ads. How it works: You report conversions with cart data for completed purchases on your website. Average order value is the total revenue from your orders divided by the total number of orders. Example: You received 3 orders which made $10, $15 and $20 worth of revenue. The average order value is $15 = ($10 + $15 + $20)/3. This metric is only available if you report conversions with cart data. + */ + averageOrderValueMicros?: string | null; + /** + * The average quality score. + */ + averageQualityScore?: number | null; + /** + * The number of clicks. + */ + clicks?: string | null; + /** + * The number of client account conversions. This only includes conversion actions which include_in_client_account_conversions_metric attribute is set to true. If you use conversion-based bidding, your bid strategies will optimize for these conversions. + */ + clientAccountConversions?: number | null; + /** + * The value of client account conversions. This only includes conversion actions which include_in_client_account_conversions_metric attribute is set to true. If you use conversion-based bidding, your bid strategies will optimize for these conversions. + */ + clientAccountConversionsValue?: number | null; + /** + * Client account cross-sell cost of goods sold (COGS) is the total cost of products sold as a result of advertising a different product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If these products don't match then this is considered cross-sell. Cross-sell cost of goods sold is the total cost of the products sold that weren't advertised. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat has a cost of goods sold value of $3, the shirt has a cost of goods sold value of $5. The cross-sell cost of goods sold for this order is $5. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause + */ + clientAccountCrossSellCostOfGoodsSoldMicros?: string | null; + /** + * Client account cross-sell gross profit is the profit you made from products sold as a result of advertising a different product, minus cost of goods sold (COGS). How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the purchase is a sold product. If these products don't match then this is considered cross-sell. Cross-sell gross profit is the revenue you made from cross-sell attributed to your ads minus the cost of the goods sold. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The shirt is priced $20 and has a cost of goods sold value of $5. The cross-sell gross profit of this order is $15 = $20 - $5. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause + */ + clientAccountCrossSellGrossProfitMicros?: string | null; + /** + * Client account cross-sell revenue is the total amount you made from products sold as a result of advertising a different product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If these products don't match then this is considered cross-sell. Cross-sell revenue is the total value you made from cross-sell attributed to your ads. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat is priced $10 and the shirt is priced $20. The cross-sell revenue of this order is $20. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause + */ + clientAccountCrossSellRevenueMicros?: string | null; + /** + * Client account cross-sell units sold is the total number of products sold as a result of advertising a different product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If these products don't match then this is considered cross-sell. Cross-sell units sold is the total number of cross-sold products from all orders attributed to your ads. Example: Someone clicked on a Shopping ad for a hat then bought the same hat, a shirt and a jacket. The cross-sell units sold in this order is 2. This metric is only available if you report conversions with cart data. + */ + clientAccountCrossSellUnitsSold?: number | null; + /** + * Client account lead cost of goods sold (COGS) is the total cost of products sold as a result of advertising the same product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If the advertised and sold products match, then the cost of these goods is counted under lead cost of goods sold. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat has a cost of goods sold value of $3, the shirt has a cost of goods sold value of $5. The lead cost of goods sold for this order is $3. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause + */ + clientAccountLeadCostOfGoodsSoldMicros?: string | null; + /** + * Client account lead gross profit is the profit you made from products sold as a result of advertising the same product, minus cost of goods sold (COGS). How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If the advertised and sold products match, then the revenue you made from these sales minus the cost of goods sold is your lead gross profit. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat is priced $10 and has a cost of goods sold value of $3. The lead gross profit of this order is $7 = $10 - $3. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause + */ + clientAccountLeadGrossProfitMicros?: string | null; + /** + * Client account lead revenue is the total amount you made from products sold as a result of advertising the same product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If the advertised and sold products match, then the total value you made from the sales of these products is shown under lead revenue. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat is priced $10 and the shirt is priced $20. The lead revenue of this order is $10. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause + */ + clientAccountLeadRevenueMicros?: string | null; + /** + * Client account lead units sold is the total number of products sold as a result of advertising the same product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If the advertised and sold products match, then the total number of these products sold is shown under lead units sold. Example: Someone clicked on a Shopping ad for a hat then bought the same hat, a shirt and a jacket. The lead units sold in this order is 1. This metric is only available if you report conversions with cart data. + */ + clientAccountLeadUnitsSold?: number | null; + /** + * The total number of view-through conversions. These happen when a customer sees an image or rich media ad, then later completes a conversion on your site without interacting with (for example, clicking on) another ad. + */ + clientAccountViewThroughConversions?: string | null; + /** + * The estimated percent of times that your ad was eligible to show on the Display Network but didn't because your budget was too low. Note: Content budget lost impression share is reported in the range of 0 to 0.9. Any value above 0.9 is reported as 0.9001. + */ + contentBudgetLostImpressionShare?: number | null; + /** + * The impressions you've received on the Display Network divided by the estimated number of impressions you were eligible to receive. Note: Content impression share is reported in the range of 0.1 to 1. Any value below 0.1 is reported as 0.0999. + */ + contentImpressionShare?: number | null; + /** + * The estimated percentage of impressions on the Display Network that your ads didn't receive due to poor Ad Rank. Note: Content rank lost impression share is reported in the range of 0 to 0.9. Any value above 0.9 is reported as 0.9001. + */ + contentRankLostImpressionShare?: number | null; + /** + * The conversion custom metrics. + */ + conversionCustomMetrics?: Schema$GoogleAdsSearchads360V23Common__Value[]; + /** + * The number of conversions. This only includes conversion actions which include_in_conversions_metric attribute is set to true. If you use conversion-based bidding, your bid strategies will optimize for these conversions. + */ + conversions?: number | null; + /** + * The sum of conversions by conversion date for biddable conversion types. Can be fractional due to attribution modeling. When this column is selected with date, the values in date column means the conversion date. + */ + conversionsByConversionDate?: number | null; + /** + * Average biddable conversions (from interaction) per conversion eligible interaction. Shows how often, on average, an ad interaction leads to a biddable conversion. + */ + conversionsFromInteractionsRate?: number | null; + /** + * The value of conversions from interactions divided by the number of ad interactions. This only includes conversion actions which include_in_conversions_metric attribute is set to true. If you use conversion-based bidding, your bid strategies will optimize for these conversions. + */ + conversionsFromInteractionsValuePerInteraction?: number | null; + /** + * The sum of conversion values for the conversions included in the "conversions" field. This metric is useful only if you entered a value for your conversion actions. + */ + conversionsValue?: number | null; + /** + * The sum of biddable conversions value by conversion date. When this column is selected with date, the values in date column means the conversion date. + */ + conversionsValueByConversionDate?: number | null; + /** + * The value of biddable conversion divided by the total cost of conversion eligible interactions. + */ + conversionsValuePerCost?: number | null; + /** + * The sum of your cost-per-click (CPC) and cost-per-thousand impressions (CPM) costs during this period. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause + */ + costMicros?: string | null; + /** + * Cost of goods sold (COGS) is the total cost of the products you sold in orders attributed to your ads. How it works: You can add a cost of goods sold value to every product in Merchant Center. If you report conversions with cart data, the products you sold are matched with their cost of goods sold value and this can be used to calculate the gross profit you made on each order. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat has a cost of goods sold value of $3, the shirt has a cost of goods sold value of $5. The cost of goods sold for this order is $8 = $3 + $5. This metric is only available if you report conversions with cart data. + */ + costOfGoodsSoldMicros?: string | null; + /** + * The cost of ad interactions divided by all conversions. + */ + costPerAllConversions?: number | null; + /** + * Average conversion eligible cost per biddable conversion. + */ + costPerConversion?: number | null; + /** + * The cost of ad interactions divided by current model attributed conversions. This only includes conversion actions which include_in_conversions_metric attribute is set to true. If you use conversion-based bidding, your bid strategies will optimize for these conversions. + */ + costPerCurrentModelAttributedConversion?: number | null; + /** + * Conversions from when a customer clicks on an ad on one device, then converts on a different device or browser. Cross-device conversions are already included in all_conversions. + */ + crossDeviceConversions?: number | null; + /** + * The number of cross-device conversions by conversion date. Details for the by_conversion_date columns are available at https://support.google.com/sa360/answer/9250611. + */ + crossDeviceConversionsByConversionDate?: number | null; + /** + * The sum of the value of cross-device conversions. + */ + crossDeviceConversionsValue?: number | null; + /** + * The sum of cross-device conversions value by conversion date. Details for the by_conversion_date columns are available at https://support.google.com/sa360/answer/9250611. + */ + crossDeviceConversionsValueByConversionDate?: number | null; + /** + * Cross-sell cost of goods sold (COGS) is the total cost of products sold as a result of advertising a different product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If these products don't match then this is considered cross-sell. Cross-sell cost of goods sold is the total cost of the products sold that weren't advertised. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat has a cost of goods sold value of $3, the shirt has a cost of goods sold value of $5. The cross-sell cost of goods sold for this order is $5. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause + */ + crossSellCostOfGoodsSoldMicros?: string | null; + /** + * Cross-sell gross profit is the profit you made from products sold as a result of advertising a different product, minus cost of goods sold (COGS). How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the purchase is a sold product. If these products don't match then this is considered cross-sell. Cross-sell gross profit is the revenue you made from cross-sell attributed to your ads minus the cost of the goods sold. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The shirt is priced $20 and has a cost of goods sold value of $5. The cross-sell gross profit of this order is $15 = $20 - $5. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause + */ + crossSellGrossProfitMicros?: string | null; + /** + * Cross-sell revenue is the total amount you made from products sold as a result of advertising a different product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If these products don't match then this is considered cross-sell. Cross-sell revenue is the total value you made from cross-sell attributed to your ads. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat is priced $10 and the shirt is priced $20. The cross-sell revenue of this order is $20. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause + */ + crossSellRevenueMicros?: string | null; + /** + * Cross-sell units sold is the total number of products sold as a result of advertising a different product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If these products don't match then this is considered cross-sell. Cross-sell units sold is the total number of cross-sold products from all orders attributed to your ads. Example: Someone clicked on a Shopping ad for a hat then bought the same hat, a shirt and a jacket. The cross-sell units sold in this order is 2. This metric is only available if you report conversions with cart data. + */ + crossSellUnitsSold?: number | null; + /** + * The number of clicks your ad receives (Clicks) divided by the number of times your ad is shown (Impressions). + */ + ctr?: number | null; + /** + * The percentage of clicks that have been filtered out of your total number of clicks (filtered + non-filtered clicks) due to being general invalid clicks. These are clicks Google considers illegitimate that are detected through routine means of filtration (that is, known invalid data-center traffic, bots and spiders or other crawlers, irregular patterns, etc). You're not charged for them, and they don't affect your account statistics. See the help page at https://support.google.com/campaignmanager/answer/6076504 for details. + */ + generalInvalidClickRate?: number | null; + /** + * Number of general invalid clicks. These are a subset of your invalid clicks that are detected through routine means of filtration (such as known invalid data-center traffic, bots and spiders or other crawlers, irregular patterns, etc.). You're not charged for them, and they don't affect your account statistics. See the help page at https://support.google.com/campaignmanager/answer/6076504 for details. + */ + generalInvalidClicks?: string | null; + /** + * Gross profit margin is the percentage gross profit you made from orders attributed to your ads, after taking out the cost of goods sold (COGS). How it works: You report conversions with cart data for completed purchases on your website. Gross profit margin is the gross profit you made divided by your total revenue and multiplied by 100%. Gross profit margin calculations only include products that have a cost of goods sold value in Merchant Center. Example: Someone bought a hat and a shirt in an order on your website. The hat is priced $10 and has a cost of goods sold value of $3. The shirt is priced $20 but has no cost of goods sold value. Gross profit margin for this order will only take into account the hat because it has a cost of goods sold value, so it's 70% = ($10 - $3)/$10 x 100%. This metric is only available if you report conversions with cart data. + */ + grossProfitMargin?: number | null; + /** + * Gross profit is the profit you made from orders attributed to your ads minus the cost of goods sold (COGS). How it works: Gross profit is the revenue you made from sales attributed to your ads minus cost of goods sold. Gross profit calculations only include products that have a cost of goods sold value in Merchant Center. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt in an order from your website. The hat is priced $10 and the shirt is priced $20. The hat has a cost of goods sold value of $3, but the shirt has no cost of goods sold value. Gross profit for this order will only take into account the hat, so it's $7 = $10 - $3. This metric is only available if you report conversions with cart data. + */ + grossProfitMicros?: string | null; + /** + * The creative historical quality score. + */ + historicalCreativeQualityScore?: string | null; + /** + * The quality of historical landing page experience. + */ + historicalLandingPageQualityScore?: string | null; + /** + * The historical quality score. + */ + historicalQualityScore?: string | null; + /** + * The historical search predicted click through rate (CTR). + */ + historicalSearchPredictedCtr?: string | null; + /** + * Count of how often your ad has appeared on a search results page or website on the Google Network. + */ + impressions?: string | null; + /** + * The types of payable and free interactions. + */ + interactionEventTypes?: string[] | null; + /** + * How often people interact with your ad after it is shown to them. This is the number of interactions divided by the number of times your ad is shown. + */ + interactionRate?: number | null; + /** + * The number of interactions. An interaction is the main user action associated with an ad format-clicks for text and shopping ads, views for video ads, and so on. + */ + interactions?: string | null; + /** + * The percentage of clicks filtered out of your total number of clicks (filtered + non-filtered clicks) during the reporting period. + */ + invalidClickRate?: number | null; + /** + * Number of clicks Google considers illegitimate and doesn't charge you for. + */ + invalidClicks?: string | null; + /** + * Lead cost of goods sold (COGS) is the total cost of products sold as a result of advertising the same product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If the advertised and sold products match, then the cost of these goods is counted under lead cost of goods sold. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat has a cost of goods sold value of $3, the shirt has a cost of goods sold value of $5. The lead cost of goods sold for this order is $3. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause + */ + leadCostOfGoodsSoldMicros?: string | null; + /** + * Lead gross profit is the profit you made from products sold as a result of advertising the same product, minus cost of goods sold (COGS). How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If the advertised and sold products match, then the revenue you made from these sales minus the cost of goods sold is your lead gross profit. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat is priced $10 and has a cost of goods sold value of $3. The lead gross profit of this order is $7 = $10 - $3. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause + */ + leadGrossProfitMicros?: string | null; + /** + * Lead revenue is the total amount you made from products sold as a result of advertising the same product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If the advertised and sold products match, then the total value you made from the sales of these products is shown under lead revenue. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt. The hat is priced $10 and the shirt is priced $20. The lead revenue of this order is $10. This metric is only available if you report conversions with cart data. This metric is a monetary value and returned in the customer's currency by default. See the metrics_currency parameter at https://developers.google.com/search-ads/reporting/query/query-structure#parameters_clause + */ + leadRevenueMicros?: string | null; + /** + * Lead units sold is the total number of products sold as a result of advertising the same product. How it works: You report conversions with cart data for completed purchases on your website. If the ad that was interacted with before the purchase has an associated product (see Shopping Ads) then this product is considered the advertised product. Any product included in the order the customer places is a sold product. If the advertised and sold products match, then the total number of these products sold is shown under lead units sold. Example: Someone clicked on a Shopping ad for a hat then bought the same hat, a shirt and a jacket. The lead units sold in this order is 1. This metric is only available if you report conversions with cart data. + */ + leadUnitsSold?: number | null; + /** + * The percentage of mobile clicks that go to a mobile-friendly page. + */ + mobileFriendlyClicksPercentage?: number | null; + /** + * Orders is the total number of purchase conversions you received attributed to your ads. How it works: You report conversions with cart data for completed purchases on your website. If a conversion is attributed to previous interactions with your ads (clicks for text or Shopping ads, views for video ads etc.) it's counted as an order. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt in an order on your website. Even though they bought 2 products, this would count as 1 order. This metric is only available if you report conversions with cart data. + */ + orders?: number | null; + /** + * The raw event conversion metrics. + */ + rawEventConversionMetrics?: Schema$GoogleAdsSearchads360V23Common__Value[]; + /** + * Revenue is the total amount you made from orders attributed to your ads. How it works: You report conversions with cart data for completed purchases on your website. Revenue is the total value of all the orders you received attributed to your ads, minus any discount. Example: Someone clicked on a Shopping ad for a hat then bought the same hat and a shirt in an order from your website. The hat is priced $10 and the shirt is priced $20. The entire order has a $5 discount. The revenue from this order is $25 = ($10 + $20) - $5. This metric is only available if you report conversions with cart data. + */ + revenueMicros?: string | null; + /** + * The percentage of the customer's Shopping or Search ad impressions that are shown in the most prominent Shopping position. See https://support.google.com/sa360/answer/9566729 for details. Any value below 0.1 is reported as 0.0999. + */ + searchAbsoluteTopImpressionShare?: number | null; + /** + * The number estimating how often your ad wasn't the very first ad among the top ads in the search results due to a low budget. Note: Search budget lost absolute top impression share is reported in the range of 0 to 0.9. Any value above 0.9 is reported as 0.9001. + */ + searchBudgetLostAbsoluteTopImpressionShare?: number | null; + /** + * The estimated percent of times that your ad was eligible to show on the Search Network but didn't because your budget was too low. Note: Search budget lost impression share is reported in the range of 0 to 0.9. Any value above 0.9 is reported as 0.9001. + */ + searchBudgetLostImpressionShare?: number | null; + /** + * The number estimating how often your ad didn't show adjacent to the top organic search results due to a low budget. Note: Search budget lost top impression share is reported in the range of 0 to 0.9. Any value above 0.9 is reported as 0.9001. + */ + searchBudgetLostTopImpressionShare?: number | null; + /** + * The number of clicks you've received on the Search Network divided by the estimated number of clicks you were eligible to receive. Note: Search click share is reported in the range of 0.1 to 1. Any value below 0.1 is reported as 0.0999. + */ + searchClickShare?: number | null; + /** + * The impressions you've received divided by the estimated number of impressions you were eligible to receive on the Search Network for search terms that matched your keywords exactly (or were close variants of your keyword), regardless of your keyword match types. Note: Search exact match impression share is reported in the range of 0.1 to 1. Any value below 0.1 is reported as 0.0999. + */ + searchExactMatchImpressionShare?: number | null; + /** + * The impressions you've received on the Search Network divided by the estimated number of impressions you were eligible to receive. Note: Search impression share is reported in the range of 0.1 to 1. Any value below 0.1 is reported as 0.0999. + */ + searchImpressionShare?: number | null; + /** + * The number estimating how often your ad wasn't the very first ad among the top ads in the search results due to poor Ad Rank. Note: Search rank lost absolute top impression share is reported in the range of 0 to 0.9. Any value above 0.9 is reported as 0.9001. + */ + searchRankLostAbsoluteTopImpressionShare?: number | null; + /** + * The estimated percentage of impressions on the Search Network that your ads didn't receive due to poor Ad Rank. Note: Search rank lost impression share is reported in the range of 0 to 0.9. Any value above 0.9 is reported as 0.9001. + */ + searchRankLostImpressionShare?: number | null; + /** + * The number estimating how often your ad didn't show adjacent to the top organic search results due to poor Ad Rank. Note: Search rank lost top impression share is reported in the range of 0 to 0.9. Any value above 0.9 is reported as 0.9001. + */ + searchRankLostTopImpressionShare?: number | null; + /** + * The impressions you've received among the top ads compared to the estimated number of impressions you were eligible to receive among the top ads. Note: Search top impression share is reported in the range of 0.1 to 1. Any value below 0.1 is reported as 0.0999. Top ads are generally above the top organic results, although they may show below the top organic results on certain queries. + */ + searchTopImpressionShare?: number | null; + /** + * The percent of your ad impressions that are shown adjacent to the top organic search results. + */ + topImpressionPercentage?: number | null; + /** + * The number of unique users who saw your ad during the requested time period. This metric cannot be aggregated, and can only be requested for date ranges of 92 days or less. This metric is available for following campaign types - Display, Video, Discovery and App. + */ + uniqueUsers?: string | null; + /** + * Units sold is the total number of products sold from orders attributed to your ads. How it works: You report conversions with cart data for completed purchases on your website. Units sold is the total number of products sold from all orders attributed to your ads. Example: Someone clicked on a Shopping ad for a hat then bought the same hat, a shirt and a jacket. The units sold in this order is 3. This metric is only available if you report conversions with cart data. + */ + unitsSold?: number | null; + /** + * The value of all conversions divided by the number of all conversions. + */ + valuePerAllConversions?: number | null; + /** + * The value of all conversions divided by the number of all conversions. When this column is selected with date, the values in date column means the conversion date. Details for the by_conversion_date columns are available at https://support.google.com/sa360/answer/9250611. + */ + valuePerAllConversionsByConversionDate?: number | null; + /** + * The value of biddable conversion divided by the number of biddable conversions. Shows how much, on average, each of the biddable conversions is worth. + */ + valuePerConversion?: number | null; + /** + * Biddable conversions value by conversion date divided by biddable conversions by conversion date. Shows how much, on average, each of the biddable conversions is worth (by conversion date). When this column is selected with date, the values in date column means the conversion date. + */ + valuePerConversionsByConversionDate?: number | null; + /** + * Clicks that Search Ads 360 has successfully recorded and forwarded to an advertiser's landing page. + */ + visits?: number | null; + } + /** + * An asset representing a mobile app. + */ + export interface Schema$GoogleAdsSearchads360V23Common__MobileAppAsset { + /** + * Required. A string that uniquely identifies a mobile application. It should just contain the platform native id, like "com.android.ebay" for Android or "12345689" for iOS. + */ + appId?: string | null; + /** + * Required. The application store that distributes this specific app. + */ + appStore?: string | null; + /** + * Last date of when this asset is effective and still serving, in yyyy-MM-dd format. + */ + endDate?: string | null; + /** + * Required. The visible text displayed when the link is rendered in an ad. The length of this string should be between 1 and 25, inclusive. + */ + linkText?: string | null; + /** + * Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format. + */ + startDate?: string | null; + } + /** + * A mobile app category criterion. + */ + export interface Schema$GoogleAdsSearchads360V23Common__MobileAppCategoryInfo { + /** + * The mobile app category constant resource name. + */ + mobileAppCategoryConstant?: string | null; + } + /** + * A mobile application criterion. + */ + export interface Schema$GoogleAdsSearchads360V23Common__MobileApplicationInfo { + /** + * A string that uniquely identifies a mobile application to Google Ads API. The format of this string is "{platform\}-{platform_native_id\}", where platform is "1" for iOS apps and "2" for Android apps, and where platform_native_id is the mobile application identifier native to the corresponding platform. For iOS, this native identifier is the 9 digit string that appears at the end of an App Store URL (for example, "476943146" for "Flood-It! 2" whose App Store link is "http://itunes.apple.com/us/app/flood-it!-2/id476943146"). For Android, this native identifier is the application's package name (for example, "com.labpixies.colordrips" for "Color Drips" given Google Play link "https://play.google.com/store/apps/details?id=com.labpixies.colordrips"). A well formed app id for Google Ads API would thus be "1-476943146" for iOS and "2-com.labpixies.colordrips" for Android. This field is required and must be set in CREATE operations. + */ + appId?: string | null; + /** + * Name of this mobile application. + */ + name?: string | null; + } + /** + * A mobile device criterion. + */ + export interface Schema$GoogleAdsSearchads360V23Common__MobileDeviceInfo { + /** + * The mobile device constant resource name. + */ + mobileDeviceConstant?: string | null; + } + /** + * Represents a price in a particular currency. + */ + export interface Schema$GoogleAdsSearchads360V23Common__Money { + /** + * Amount in micros. One million is equivalent to one unit. + */ + amountMicros?: string | null; + /** + * Three-character ISO 4217 currency code. + */ + currencyCode?: string | null; + } + /** + * Monthly search volume. + */ + export interface Schema$GoogleAdsSearchads360V23Common__MonthlySearchVolume { + /** + * The month of the search volume. + */ + month?: string | null; + /** + * Approximate number of searches for the month. A null value indicates the search volume is unavailable for that month. + */ + monthlySearches?: string | null; + /** + * The year of the search volume (for example, 2020). + */ + year?: string | null; + } + /** + * A Negative Keyword List criterion. Represents a shared set of negative keywords that can be excluded at the account-level. Only one negative keyword list criterion can be attached per account. + */ + export interface Schema$GoogleAdsSearchads360V23Common__NegativeKeywordListInfo { + /** + * The NegativeKeywordListInfo shared set resource name. + */ + sharedSet?: string | null; + } + /** + * Address identifier of offline data. + */ + export interface Schema$GoogleAdsSearchads360V23Common__OfflineUserAddressInfo { + /** + * City of the address. Only accepted for Store Sales. + */ + city?: string | null; + /** + * 2-letter country code in ISO-3166-1 alpha-2 of the user's address. + */ + countryCode?: string | null; + /** + * First name of the user, which is hashed as SHA-256 after normalized (Lowercase all characters; Remove any extra spaces before, after, and in between). + */ + hashedFirstName?: string | null; + /** + * Last name of the user, which is hashed as SHA-256 after normalized (lower case only and no punctuation). + */ + hashedLastName?: string | null; + /** + * The street address of the user hashed using SHA-256 hash function after normalization (lower case only). Only accepted for ConversionAdjustmentUploadService. + */ + hashedStreetAddress?: string | null; + /** + * Postal code of the user's address. + */ + postalCode?: string | null; + /** + * State code of the address. Only accepted for Store Sales. + */ + state?: string | null; + } + /** + * Represents an operating system version to be targeted. + */ + export interface Schema$GoogleAdsSearchads360V23Common__OperatingSystemVersionInfo { + /** + * The operating system version constant resource name. + */ + operatingSystemVersionConstant?: string | null; + } + /** + * A Page Feed asset. + */ + export interface Schema$GoogleAdsSearchads360V23Common__PageFeedAsset { + /** + * Labels used to group the page urls. + */ + labels?: string[] | null; + /** + * Required. The webpage that advertisers want to target. + */ + pageUrl?: string | null; + } + /** + * Dimension specifying users by their parental status. + */ + export interface Schema$GoogleAdsSearchads360V23Common__ParentalStatusDimension { + /** + * Include users whose parental status is undetermined. + */ + includeUndetermined?: boolean | null; + /** + * Included parental status demographic segments. + */ + parentalStatuses?: string[] | null; + } + /** + * A parental status criterion. + */ + export interface Schema$GoogleAdsSearchads360V23Common__ParentalStatusInfo { + /** + * Type of the parental status. + */ + type?: string | null; + } + /** + * A bidding strategy where bids are a fraction of the advertised price for some good or service. + */ + export interface Schema$GoogleAdsSearchads360V23Common__PercentCpc { + /** + * Maximum bid limit that can be set by the bid strategy. This is an optional field entered by the advertiser and specified in local micros. Note: A zero value is interpreted in the same way as having bid_ceiling undefined. + */ + cpcBidCeilingMicros?: string | null; + /** + * Adjusts the bid for each auction upward or downward, depending on the likelihood of a conversion. Individual bids may exceed cpc_bid_ceiling_micros, but the average bid amount for a campaign should not. + */ + enhancedCpcEnabled?: boolean | null; + } + /** + * Projected metrics for a specific percent CPC amount. Only Hotel advertising channel type supports this field. + */ + export interface Schema$GoogleAdsSearchads360V23Common__PercentCpcBidSimulationPoint { + /** + * Projected number of biddable conversions. + */ + biddableConversions?: number | null; + /** + * Projected total value of biddable conversions in local currency. + */ + biddableConversionsValue?: number | null; + /** + * Projected number of clicks. + */ + clicks?: string | null; + /** + * Projected cost in micros. + */ + costMicros?: string | null; + /** + * Projected number of impressions. + */ + impressions?: string | null; + /** + * The simulated percent CPC upon which projected metrics are based. Percent CPC expressed as fraction of the advertised price for some good or service. The value stored here is 1,000,000 * [fraction]. + */ + percentCpcBidMicros?: string | null; + /** + * Projected number of top slot impressions. + */ + topSlotImpressions?: string | null; + } + /** + * A container for simulation points for simulations of type PERCENT_CPC_BID. + */ + export interface Schema$GoogleAdsSearchads360V23Common__PercentCpcBidSimulationPointList { + /** + * Projected metrics for a series of percent CPC bid amounts. + */ + points?: Schema$GoogleAdsSearchads360V23Common__PercentCpcBidSimulationPoint[]; + } + /** + * A placement criterion. This can be used to modify bids for sites when targeting the content network. + */ + export interface Schema$GoogleAdsSearchads360V23Common__PlacementInfo { + /** + * URL of the placement. For example, "http://www.domain.com". + */ + url?: string | null; + } + /** + * A Placement List criterion. Represents a shared set of placements that can be excluded at the account-level. + */ + export interface Schema$GoogleAdsSearchads360V23Common__PlacementListInfo { + /** + * The PlacementListInfo shared set resource name. + */ + sharedSet?: string | null; + } + /** + * Contains policy summary information. + */ + export interface Schema$GoogleAdsSearchads360V23Common__PolicySummary { + /** + * The overall approval status, which is calculated based on the status of its individual policy topic entries. + */ + approvalStatus?: string | null; + /** + * The list of policy findings. + */ + policyTopicEntries?: Schema$GoogleAdsSearchads360V23Common__PolicyTopicEntry[]; + /** + * Where in the review process the resource is. + */ + reviewStatus?: string | null; + } + /** + * Describes the effect on serving that a policy topic entry will have. + */ + export interface Schema$GoogleAdsSearchads360V23Common__PolicyTopicConstraint { + /** + * Countries where the resource's domain is not covered by the certificates associated with it. + */ + certificateDomainMismatchInCountryList?: Schema$GoogleAdsSearchads360V23Common_PolicyTopicConstraint_CountryConstraintList; + /** + * Countries where a certificate is required for serving. + */ + certificateMissingInCountryList?: Schema$GoogleAdsSearchads360V23Common_PolicyTopicConstraint_CountryConstraintList; + /** + * Countries where the resource cannot serve. + */ + countryConstraintList?: Schema$GoogleAdsSearchads360V23Common_PolicyTopicConstraint_CountryConstraintList; + /** + * Reseller constraint. + */ + resellerConstraint?: Schema$GoogleAdsSearchads360V23Common_PolicyTopicConstraint_ResellerConstraint; + } + /** + * Policy finding attached to a resource (for example, alcohol policy associated with a site that sells alcohol). Each PolicyTopicEntry has a topic that indicates the specific ads policy the entry is about and a type to indicate the effect that the entry will have on serving. It may optionally have one or more evidences that indicate the reason for the finding. It may also optionally have one or more constraints that provide details about how serving may be restricted. + */ + export interface Schema$GoogleAdsSearchads360V23Common__PolicyTopicEntry { + /** + * Indicates how serving of this resource may be affected (for example, not serving in a country). + */ + constraints?: Schema$GoogleAdsSearchads360V23Common__PolicyTopicConstraint[]; + /** + * Additional information that explains policy finding (for example, the brand name for a trademark finding). + */ + evidences?: Schema$GoogleAdsSearchads360V23Common__PolicyTopicEvidence[]; + /** + * Policy topic this finding refers to. For example, "ALCOHOL", "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible policy topics is not fixed for a particular API version and may change at any time. + */ + topic?: string | null; + /** + * Describes the negative or positive effect this policy will have on serving. + */ + type?: string | null; + } + /** + * Additional information that explains a policy finding. + */ + export interface Schema$GoogleAdsSearchads360V23Common__PolicyTopicEvidence { + /** + * Mismatch between the destinations of a resource's URLs. + */ + destinationMismatch?: Schema$GoogleAdsSearchads360V23Common_PolicyTopicEvidence_DestinationMismatch; + /** + * Details when the destination is returning an HTTP error code or isn't functional in all locations for commonly used devices. + */ + destinationNotWorking?: Schema$GoogleAdsSearchads360V23Common_PolicyTopicEvidence_DestinationNotWorking; + /** + * The text in the destination of the resource that is causing a policy finding. + */ + destinationTextList?: Schema$GoogleAdsSearchads360V23Common_PolicyTopicEvidence_DestinationTextList; + /** + * The language the resource was detected to be written in. This is an IETF language tag such as "en-US". + */ + languageCode?: string | null; + /** + * List of evidence found in the text of a resource. + */ + textList?: Schema$GoogleAdsSearchads360V23Common_PolicyTopicEvidence_TextList; + /** + * List of websites linked with this resource. + */ + websiteList?: Schema$GoogleAdsSearchads360V23Common_PolicyTopicEvidence_WebsiteList; + } + /** + * Parameter for controlling how policy exemption is done. + */ + export interface Schema$GoogleAdsSearchads360V23Common__PolicyValidationParameter { + /** + * The list of policy violation keys that should not cause a `PolicyViolationError` to be reported. Not all policy violations are exemptable. Refer to the `is_exemptible` field in the returned `PolicyViolationError`. This field is used for keyword policy exemptions. If this field is populated, then `ignorable_policy_topics` must be empty. Resources that violate these policies will be saved, but will not be eligible to serve. They may begin serving at a later time due to a change in policies, re-review of the resource, or a change in advertiser certificates. + */ + exemptPolicyViolationKeys?: Schema$GoogleAdsSearchads360V23Common__PolicyViolationKey[]; + /** + * The list of policy topics that should not cause a `PolicyFindingError` to be reported. This field is used for ad policy exemptions. It corresponds to the `PolicyTopicEntry.topic` field. If this field is populated, then `exempt_policy_violation_keys` must be empty. Resources that violate these policies will be saved, but will not be eligible to serve. They may begin serving at a later time due to a change in policies, re-review of the resource, or a change in advertiser certificates. + */ + ignorablePolicyTopics?: string[] | null; + } + /** + * Key of the violation. The key is used for referring to a violation when filing an exemption request. + */ + export interface Schema$GoogleAdsSearchads360V23Common__PolicyViolationKey { + /** + * Unique ID of the violated policy. + */ + policyName?: string | null; + /** + * The text that violates the policy if specified. Otherwise, refers to the policy in general (for example, when requesting to be exempt from the whole policy). If not specified for criterion exemptions, the whole policy is implied. Must be specified for ad exemptions. + */ + violatingText?: string | null; + } + /** + * An asset representing a list of price offers. + */ + export interface Schema$GoogleAdsSearchads360V23Common__PriceAsset { + /** + * Required. The language of the price asset. Represented as BCP 47 language tag. + */ + languageCode?: string | null; + /** + * The price offerings of the price asset. The size of this collection should be between 3 and 8, inclusive. + */ + priceOfferings?: Schema$GoogleAdsSearchads360V23Common__PriceOffering[]; + /** + * The price qualifier of the price asset. + */ + priceQualifier?: string | null; + /** + * Required. The type of the price asset. + */ + type?: string | null; + } + /** + * A single price offering within a PriceAsset. + */ + export interface Schema$GoogleAdsSearchads360V23Common__PriceOffering { + /** + * Required. The description of the price offering. The length of this string should be between 1 and 25, inclusive. + */ + description?: string | null; + /** + * The final mobile URL after all cross domain redirects. + */ + finalMobileUrl?: string | null; + /** + * Required. The final URL after all cross domain redirects. + */ + finalUrl?: string | null; + /** + * Required. The header of the price offering. The length of this string should be between 1 and 25, inclusive. + */ + header?: string | null; + /** + * Required. The price value of the price offering. + */ + price?: Schema$GoogleAdsSearchads360V23Common__Money; + /** + * The price unit of the price offering. + */ + unit?: string | null; + } + /** + * Brand of the product. + */ + export interface Schema$GoogleAdsSearchads360V23Common__ProductBrandInfo { + /** + * String value of the product brand. + */ + value?: string | null; + } + /** + * Category of a product offer. + */ + export interface Schema$GoogleAdsSearchads360V23Common__ProductCategoryInfo { + /** + * ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436 + */ + categoryId?: string | null; + /** + * Level of the product category. + */ + level?: string | null; + } + /** + * Availability of a product offer. + */ + export interface Schema$GoogleAdsSearchads360V23Common__ProductChannelExclusivityInfo { + /** + * Value of the availability. + */ + channelExclusivity?: string | null; + } + /** + * Locality of a product offer. + */ + export interface Schema$GoogleAdsSearchads360V23Common__ProductChannelInfo { + /** + * Value of the locality. + */ + channel?: string | null; + } + /** + * Condition of a product offer. + */ + export interface Schema$GoogleAdsSearchads360V23Common__ProductConditionInfo { + /** + * Value of the condition. + */ + condition?: string | null; + } + /** + * Custom attribute of a product offer. + */ + export interface Schema$GoogleAdsSearchads360V23Common__ProductCustomAttributeInfo { + /** + * Indicates the index of the custom attribute. + */ + index?: string | null; + /** + * String value of the product custom attribute. + */ + value?: string | null; + } + /** + * Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. + */ + export interface Schema$GoogleAdsSearchads360V23Common__ProductGroupingInfo { + /** + * String value of the product grouping. + */ + value?: string | null; + } + /** + * Item id of a product offer. + */ + export interface Schema$GoogleAdsSearchads360V23Common__ProductItemIdInfo { + /** + * Value of the id. + */ + value?: string | null; + } + /** + * Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. + */ + export interface Schema$GoogleAdsSearchads360V23Common__ProductLabelsInfo { + /** + * String value of the product labels. + */ + value?: string | null; + } + /** + * Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. + */ + export interface Schema$GoogleAdsSearchads360V23Common__ProductLegacyConditionInfo { + /** + * String value of the product legacy condition. + */ + value?: string | null; + } + /** + * Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns. + */ + export interface Schema$GoogleAdsSearchads360V23Common__ProductTypeFullInfo { + /** + * String value of the product full type. + */ + value?: string | null; + } + /** + * Type of a product offer. + */ + export interface Schema$GoogleAdsSearchads360V23Common__ProductTypeInfo { + /** + * Level of the type. + */ + level?: string | null; + /** + * Value of the type. + */ + value?: string | null; + } + /** + * A Promotion asset. + */ + export interface Schema$GoogleAdsSearchads360V23Common__PromotionAsset { + /** + * List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total. + */ + adScheduleTargets?: Schema$GoogleAdsSearchads360V23Common__AdScheduleInfo[]; + /** + * A modifier for qualification of the discount. + */ + discountModifier?: string | null; + /** + * Last date of when this asset is effective and still serving, in yyyy-MM-dd format. + */ + endDate?: string | null; + /** + * The language of the promotion. Represented as BCP 47 language tag. + */ + languageCode?: string | null; + /** + * Money amount off for discount in the promotion. Either this or percent_off is required. + */ + moneyAmountOff?: Schema$GoogleAdsSearchads360V23Common__Money; + /** + * The occasion the promotion was intended for. If an occasion is set, the redemption window will need to fall within the date range associated with the occasion. + */ + occasion?: string | null; + /** + * The amount the total order needs to be for the user to be eligible for the promotion. + */ + ordersOverAmount?: Schema$GoogleAdsSearchads360V23Common__Money; + /** + * Percentage off discount in the promotion. 1,000,000 = 100%. Either this or money_amount_off is required. + */ + percentOff?: string | null; + /** + * Barcode info used to generate promotion barcode for user to be eligible for the promotion. + */ + promotionBarcodeInfo?: Schema$GoogleAdsSearchads360V23Common__PromotionBarcodeInfo; + /** + * A code the user should use in order to be eligible for the promotion. + */ + promotionCode?: string | null; + /** + * QR code info used to generate promotion QR code for user to be eligible for the promotion. + */ + promotionQrCodeInfo?: Schema$GoogleAdsSearchads360V23Common__PromotionQrCodeInfo; + /** + * Required. A freeform description of what the promotion is targeting. + */ + promotionTarget?: string | null; + /** + * Last date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format. + */ + redemptionEndDate?: string | null; + /** + * Start date of when the promotion is eligible to be redeemed, in yyyy-MM-dd format. + */ + redemptionStartDate?: string | null; + /** + * Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format. + */ + startDate?: string | null; + /** + * Terms and conditions of the promotion. + */ + termsAndConditionsText?: string | null; + /** + * URI to the terms and conditions of the promotion. + */ + termsAndConditionsUri?: string | null; + } + /** + * Barcode info to generate promotion barcode. + */ + export interface Schema$GoogleAdsSearchads360V23Common__PromotionBarcodeInfo { + /** + * Promotion message to be encoded in the barcode. + */ + barcodeContent?: string | null; + /** + * Barcode type used to generate barcode with the correct format. + */ + type?: string | null; + } + /** + * QR code info to generate promotion QR code. + */ + export interface Schema$GoogleAdsSearchads360V23Common__PromotionQrCodeInfo { + /** + * Promotion message to be encoded in the QR code. + */ + qrCodeContent?: string | null; + } + /** + * A Proximity criterion. The geo point and radius determine what geographical area is included. The address is a description of the geo point that does not affect ad serving. There are two ways to create a proximity. First, by setting an address and radius. The geo point will be automatically computed. Second, by setting a geo point and radius. The address is an optional label that won't be validated. + */ + export interface Schema$GoogleAdsSearchads360V23Common__ProximityInfo { + /** + * Full address. + */ + address?: Schema$GoogleAdsSearchads360V23Common__AddressInfo; + /** + * Latitude and longitude. + */ + geoPoint?: Schema$GoogleAdsSearchads360V23Common__GeoPointInfo; + /** + * The radius of the proximity. + */ + radius?: number | null; + /** + * The unit of measurement of the radius. Default is KILOMETERS. + */ + radiusUnits?: string | null; + } + /** + * Settings for Real-Time Bidding, a feature only available for campaigns targeting the Ad Exchange network. + */ + export interface Schema$GoogleAdsSearchads360V23Common__RealTimeBiddingSetting { + /** + * Whether the campaign is opted in to real-time bidding. + */ + optIn?: boolean | null; + } + /** + * Specification for various creative controls for a responsive display ad. + */ + export interface Schema$GoogleAdsSearchads360V23Common__ResponsiveDisplayAdControlSpec { + /** + * Whether the advertiser has opted into the asset enhancements feature. + */ + enableAssetEnhancements?: boolean | null; + /** + * Whether the advertiser has opted into auto-gen video feature. + */ + enableAutogenVideo?: boolean | null; + } + /** + * A responsive display ad. + */ + export interface Schema$GoogleAdsSearchads360V23Common__ResponsiveDisplayAdInfo { + /** + * The accent color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well. + */ + accentColor?: string | null; + /** + * Advertiser's consent to allow flexible color. When true, the ad may be served with different color if necessary. When false, the ad will be served with the specified colors or a neutral color. The default value is `true`. Must be true if `main_color` and `accent_color` are not set. + */ + allowFlexibleColor?: boolean | null; + /** + * The advertiser/brand name. Maximum display width is 25. + */ + businessName?: string | null; + /** + * The call-to-action text for the ad. Maximum display width is 30. + */ + callToActionText?: string | null; + /** + * Specification for various creative controls. + */ + controlSpec?: Schema$GoogleAdsSearchads360V23Common__ResponsiveDisplayAdControlSpec; + /** + * Descriptive texts for the ad. The maximum length is 90 characters. At least 1 and max 5 headlines can be specified. + */ + descriptions?: Schema$GoogleAdsSearchads360V23Common__AdTextAsset[]; + /** + * Specifies which format the ad will be served in. Default is ALL_FORMATS. + */ + formatSetting?: string | null; + /** + * Short format headlines for the ad. The maximum length is 30 characters. At least 1 and max 5 headlines can be specified. + */ + headlines?: Schema$GoogleAdsSearchads360V23Common__AdTextAsset[]; + /** + * Logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 512x128 and the aspect ratio must be 4:1 (+-1%). Combined with `square_logo_images`, the maximum is 5. + */ + logoImages?: Schema$GoogleAdsSearchads360V23Common__AdImageAsset[]; + /** + * A required long format headline. The maximum length is 90 characters. + */ + longHeadline?: Schema$GoogleAdsSearchads360V23Common__AdTextAsset; + /** + * The main color of the ad in hexadecimal, for example, #ffffff for white. If one of `main_color` and `accent_color` is set, the other is required as well. + */ + mainColor?: string | null; + /** + * Marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 600x314 and the aspect ratio must be 1.91:1 (+-1%). At least one `marketing_image` is required. Combined with `square_marketing_images`, the maximum is 15. + */ + marketingImages?: Schema$GoogleAdsSearchads360V23Common__AdImageAsset[]; + /** + * Prefix before price. For example, 'as low as'. + */ + pricePrefix?: string | null; + /** + * Promotion text used for dynamic formats of responsive ads. For example 'Free two-day shipping'. + */ + promoText?: string | null; + /** + * Square logo images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 128x128 and the aspect ratio must be 1:1 (+-1%). Combined with `logo_images`, the maximum is 5. + */ + squareLogoImages?: Schema$GoogleAdsSearchads360V23Common__AdImageAsset[]; + /** + * Square marketing images to be used in the ad. Valid image types are GIF, JPEG, and PNG. The minimum size is 300x300 and the aspect ratio must be 1:1 (+-1%). At least one square `marketing_image` is required. Combined with `marketing_images`, the maximum is 15. + */ + squareMarketingImages?: Schema$GoogleAdsSearchads360V23Common__AdImageAsset[]; + /** + * Optional YouTube videos for the ad. A maximum of 5 videos can be specified. + */ + youtubeVideos?: Schema$GoogleAdsSearchads360V23Common__AdVideoAsset[]; + } + /** + * A responsive search ad. Responsive search ads let you create an ad that adapts to show more text, and more relevant messages, to your customers. Enter multiple headlines and descriptions when creating a responsive search ad, and over time, Google Ads will automatically test different combinations and learn which combinations perform best. By adapting your ad's content to more closely match potential customers' search terms, responsive search ads may improve your campaign's performance. More information at https://support.google.com/google-ads/answer/7684791 + */ + export interface Schema$GoogleAdsSearchads360V23Common__ResponsiveSearchAdInfo { + /** + * List of text assets for descriptions. When the ad serves the descriptions will be selected from this list. + */ + descriptions?: Schema$GoogleAdsSearchads360V23Common__AdTextAsset[]; + /** + * List of text assets for headlines. When the ad serves the headlines will be selected from this list. + */ + headlines?: Schema$GoogleAdsSearchads360V23Common__AdTextAsset[]; + /** + * First part of text that can be appended to the URL in the ad. + */ + path1?: string | null; + /** + * Second part of text that can be appended to the URL in the ad. This field can only be set when `path1` is also set. + */ + path2?: string | null; + } + /** + * Representation of a userlist that is generated by a rule. + */ + export interface Schema$GoogleAdsSearchads360V23Common__RuleBasedUserListInfo { + /** + * Flexible rule representation of visitors with one or multiple actions. The flexible user list is defined by two lists of operands – inclusive_operands and exclusive_operands; each operand represents a set of users based on actions they took in a given timeframe. These lists of operands are combined with the AND_NOT operator, so that users represented by the inclusive operands are included in the user list, minus the users represented by the exclusive operands. + */ + flexibleRuleUserList?: Schema$GoogleAdsSearchads360V23Common__FlexibleRuleUserListInfo; + /** + * The status of pre-population. The field is default to NONE if not set which means the previous users will not be considered. If set to REQUESTED, past site visitors or app users who match the list definition will be included in the list (works on the Display Network only). This will only add past users from within the last 30 days, depending on the list's membership duration and the date when the remarketing tag is added. The status will be updated to FINISHED once request is processed, or FAILED if the request fails. + */ + prepopulationStatus?: string | null; + } + /** + * An expanded dynamic search ad. + */ + export interface Schema$GoogleAdsSearchads360V23Common__SearchAds360ExpandedDynamicSearchAdInfo { + /** + * The tracking id of the ad. + */ + adTrackingId?: string | null; + /** + * The first line of the ad's description. + */ + description1?: string | null; + /** + * The second line of the ad's description. + */ + description2?: string | null; + } + /** + * A Search Ads 360 expanded text ad. + */ + export interface Schema$GoogleAdsSearchads360V23Common__SearchAds360ExpandedTextAdInfo { + /** + * The tracking id of the ad. + */ + adTrackingId?: string | null; + /** + * The first line of the ad's description. + */ + description1?: string | null; + /** + * The second line of the ad's description. + */ + description2?: string | null; + /** + * The headline of the ad. + */ + headline?: string | null; + /** + * The second headline of the ad. + */ + headline2?: string | null; + /** + * The third headline of the ad. + */ + headline3?: string | null; + /** + * Text appended to the auto-generated visible URL with a delimiter. + */ + path1?: string | null; + /** + * Text appended to path1 with a delimiter. + */ + path2?: string | null; + } + /** + * A Search Ads 360 product ad. + */ + export interface Schema$GoogleAdsSearchads360V23Common__SearchAds360ProductAdInfo {} + /** + * A Search Ads 360 responsive search ad. + */ + export interface Schema$GoogleAdsSearchads360V23Common__SearchAds360ResponsiveSearchAdInfo { + /** + * The tracking id of the ad. + */ + adTrackingId?: string | null; + /** + * List of text assets for descriptions. When the ad serves the descriptions will be selected from this list. + */ + descriptions?: Schema$GoogleAdsSearchads360V23Common__AdTextAsset[]; + /** + * List of text assets for headlines. When the ad serves the headlines will be selected from this list. + */ + headlines?: Schema$GoogleAdsSearchads360V23Common__AdTextAsset[]; + /** + * Text appended to the auto-generated visible URL with a delimiter. + */ + path1?: string | null; + /** + * Text appended to path1 with a delimiter. + */ + path2?: string | null; + } + /** + * A Search Ads 360 text ad. + */ + export interface Schema$GoogleAdsSearchads360V23Common__SearchAds360TextAdInfo { + /** + * The tracking id of the ad. + */ + adTrackingId?: string | null; + /** + * The first line of the ad's description. + */ + description1?: string | null; + /** + * The second line of the ad's description. + */ + description2?: string | null; + /** + * The displayed mobile URL of the ad. + */ + displayMobileUrl?: string | null; + /** + * The displayed URL of the ad. + */ + displayUrl?: string | null; + /** + * The headline of the ad. + */ + headline?: string | null; + } + /** + * A Search Theme criterion only on Performance Max campaign. Represents a keyword-like advertiser input. + */ + export interface Schema$GoogleAdsSearchads360V23Common__SearchThemeInfo { + /** + * Each Search Theme has a value of a simple string, like keywords. There are limits on overall length, allowed characters, and number of words. + */ + text?: string | null; + } + /** + * Segment only fields. + */ + export interface Schema$GoogleAdsSearchads360V23Common__Segments { + /** + * Ad Format type. + */ + adFormatType?: string | null; + /** + * Ad network type. + */ + adNetworkType?: string | null; + /** + * Only used with CustomerAsset, CampaignAsset and AdGroupAsset metrics. Indicates whether the interaction metrics occurred on the asset itself or a different asset or ad unit. Interactions (for example, clicks) are counted across all the parts of the served ad (for example, Ad itself and other components like Sitelinks) when they are served together. When interaction_on_this_asset is true, it means the interactions are on this specific asset and when interaction_on_this_asset is false, it means the interactions is not on this specific asset but on other parts of the served ad this asset is served with. + */ + assetInteractionTarget?: Schema$GoogleAdsSearchads360V23Common__AssetInteractionTarget; + /** + * Resource name of the conversion action. + */ + conversionAction?: string | null; + /** + * Conversion action category. + */ + conversionActionCategory?: string | null; + /** + * Conversion action name. + */ + conversionActionName?: string | null; + /** + * The conversion custom dimensions. + */ + conversionCustomDimensions?: Schema$GoogleAdsSearchads360V23Common__Value[]; + /** + * Date to which metrics apply. yyyy-MM-dd format, for example, 2018-04-17. + */ + date?: string | null; + /** + * Day of the week, for example, MONDAY. + */ + dayOfWeek?: string | null; + /** + * Device to which metrics apply. + */ + device?: string | null; + /** + * Resource name of the geo target constant that represents a city. + */ + geoTargetCity?: string | null; + /** + * Resource name of the geo target constant that represents a country. + */ + geoTargetCountry?: string | null; + /** + * Resource name of the geo target constant that represents a metro. + */ + geoTargetMetro?: string | null; + /** + * Resource name of the geo target constant that represents a postal code. + */ + geoTargetPostalCode?: string | null; + /** + * Resource name of the geo target constant that represents a region. + */ + geoTargetRegion?: string | null; + /** + * Hour of day as a number between 0 and 23, inclusive. + */ + hour?: number | null; + /** + * Keyword criterion. + */ + keyword?: Schema$GoogleAdsSearchads360V23Common__Keyword; + /** + * Month as represented by the date of the first day of a month. Formatted as yyyy-MM-dd. + */ + month?: string | null; + /** + * Bidding category (level 1) of the product. + */ + productBiddingCategoryLevel1?: string | null; + /** + * Bidding category (level 2) of the product. + */ + productBiddingCategoryLevel2?: string | null; + /** + * Bidding category (level 3) of the product. + */ + productBiddingCategoryLevel3?: string | null; + /** + * Bidding category (level 4) of the product. + */ + productBiddingCategoryLevel4?: string | null; + /** + * Bidding category (level 5) of the product. + */ + productBiddingCategoryLevel5?: string | null; + /** + * Brand of the product. + */ + productBrand?: string | null; + /** + * Channel of the product. + */ + productChannel?: string | null; + /** + * Channel exclusivity of the product. + */ + productChannelExclusivity?: string | null; + /** + * Condition of the product. + */ + productCondition?: string | null; + /** + * Resource name of the geo target constant for the country of sale of the product. + */ + productCountry?: string | null; + /** + * Custom attribute 0 of the product. + */ + productCustomAttribute0?: string | null; + /** + * Custom attribute 1 of the product. + */ + productCustomAttribute1?: string | null; + /** + * Custom attribute 2 of the product. + */ + productCustomAttribute2?: string | null; + /** + * Custom attribute 3 of the product. + */ + productCustomAttribute3?: string | null; + /** + * Custom attribute 4 of the product. + */ + productCustomAttribute4?: string | null; + /** + * Item ID of the product. + */ + productItemId?: string | null; + /** + * Resource name of the language constant for the language of the product. + */ + productLanguage?: string | null; + /** + * Bidding category (level 1) of the product sold. + */ + productSoldBiddingCategoryLevel1?: string | null; + /** + * Bidding category (level 2) of the product sold. + */ + productSoldBiddingCategoryLevel2?: string | null; + /** + * Bidding category (level 3) of the product sold. + */ + productSoldBiddingCategoryLevel3?: string | null; + /** + * Bidding category (level 4) of the product sold. + */ + productSoldBiddingCategoryLevel4?: string | null; + /** + * Bidding category (level 5) of the product sold. + */ + productSoldBiddingCategoryLevel5?: string | null; + /** + * Brand of the product sold. + */ + productSoldBrand?: string | null; + /** + * Condition of the product sold. + */ + productSoldCondition?: string | null; + /** + * Custom attribute 0 of the product sold. + */ + productSoldCustomAttribute0?: string | null; + /** + * Custom attribute 1 of the product sold. + */ + productSoldCustomAttribute1?: string | null; + /** + * Custom attribute 2 of the product sold. + */ + productSoldCustomAttribute2?: string | null; + /** + * Custom attribute 3 of the product sold. + */ + productSoldCustomAttribute3?: string | null; + /** + * Custom attribute 4 of the product sold. + */ + productSoldCustomAttribute4?: string | null; + /** + * Item ID of the product sold. + */ + productSoldItemId?: string | null; + /** + * Title of the product sold. + */ + productSoldTitle?: string | null; + /** + * Type (level 1) of the product sold. + */ + productSoldTypeL1?: string | null; + /** + * Type (level 2) of the product sold. + */ + productSoldTypeL2?: string | null; + /** + * Type (level 3) of the product sold. + */ + productSoldTypeL3?: string | null; + /** + * Type (level 4) of the product sold. + */ + productSoldTypeL4?: string | null; + /** + * Type (level 5) of the product sold. + */ + productSoldTypeL5?: string | null; + /** + * Store ID of the product. + */ + productStoreId?: string | null; + /** + * Title of the product. + */ + productTitle?: string | null; + /** + * Type (level 1) of the product. + */ + productTypeL1?: string | null; + /** + * Type (level 2) of the product. + */ + productTypeL2?: string | null; + /** + * Type (level 3) of the product. + */ + productTypeL3?: string | null; + /** + * Type (level 4) of the product. + */ + productTypeL4?: string | null; + /** + * Type (level 5) of the product. + */ + productTypeL5?: string | null; + /** + * Quarter as represented by the date of the first day of a quarter. Uses the calendar year for quarters, for example, the second quarter of 2018 starts on 2018-04-01. Formatted as yyyy-MM-dd. + */ + quarter?: string | null; + /** + * The raw event conversion dimensions. + */ + rawEventConversionDimensions?: Schema$GoogleAdsSearchads360V23Common__Value[]; + /** + * The display names of participants in an event listing, like performers, speakers, or teams. + */ + verticalAdsEventParticipantDisplayNames?: string | null; + /** + * The class of the hotel. Generally in the range of 1 to 5 stars, but fully customizable in the hotel feed. + */ + verticalAdsHotelClass?: string | null; + /** + * The listing associated with a listing impression, click or conversion. + */ + verticalAdsListing?: string | null; + /** + * The brand associated with a specific listing within a Vertical Ads context, for example, the brand of a car rental, a vacation home, or an event. + */ + verticalAdsListingBrand?: string | null; + /** + * The city where the vertical ads listing is located. + */ + verticalAdsListingCity?: string | null; + /** + * The country where the vertical ads listing is located. + */ + verticalAdsListingCountry?: string | null; + /** + * The region where the vertical ads listing is located. + */ + verticalAdsListingRegion?: string | null; + /** + * A specific partner account within a Partner Center (for example, Hotel Center) that supplies inventory feed data for Vertical Ads. + */ + verticalAdsPartnerAccount?: string | null; + /** + * Type of vertical ad, such as Vacation Rentals, Car Rentals, or Events, used to categorize and segment data in the context of Vertical Ads. + */ + verticalAdsVertical?: string | null; + /** + * Week as defined as Monday through Sunday, and represented by the date of Monday. Formatted as yyyy-MM-dd. + */ + week?: string | null; + /** + * Year, formatted as yyyy. + */ + year?: number | null; + } + /** + * A Shopping Comparison Listing ad. + */ + export interface Schema$GoogleAdsSearchads360V23Common__ShoppingComparisonListingAdInfo { + /** + * Headline of the ad. This field is required. Allowed length is between 25 and 45 characters. + */ + headline?: string | null; + } + /** + * The shopping loyalty related data. Shopping utilizes this data to provide users with a better experience. Accessible only to merchants on the allow-list. + */ + export interface Schema$GoogleAdsSearchads360V23Common__ShoppingLoyalty { + /** + * The membership tier. It is a free-form string as each merchant may have their own loyalty system. For example, it could be a number from 1 to 10, or a string such as "Golden" or "Silver", or even empty string "". + */ + loyaltyTier?: string | null; + } + /** + * A standard Shopping ad. + */ + export interface Schema$GoogleAdsSearchads360V23Common__ShoppingProductAdInfo {} + /** + * A Smart Shopping ad. + */ + export interface Schema$GoogleAdsSearchads360V23Common__ShoppingSmartAdInfo {} + /** + * SimilarUserList is a list of users which are similar to users from another UserList. These lists are read-only and automatically created by Google. + */ + export interface Schema$GoogleAdsSearchads360V23Common__SimilarUserListInfo { + /** + * Seed UserList from which this list is derived. + */ + seedUserList?: string | null; + } + /** + * A Sitelink asset. + */ + export interface Schema$GoogleAdsSearchads360V23Common__SitelinkAsset { + /** + * List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total. + */ + adScheduleTargets?: Schema$GoogleAdsSearchads360V23Common__AdScheduleInfo[]; + /** + * First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set. + */ + description1?: string | null; + /** + * Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set. + */ + description2?: string | null; + /** + * Last date of when this asset is effective and still serving, in yyyy-MM-dd format. + */ + endDate?: string | null; + /** + * Required. URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive. + */ + linkText?: string | null; + /** + * Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format. + */ + startDate?: string | null; + } + /** + * Represents a sitelink. + */ + export interface Schema$GoogleAdsSearchads360V23Common__SitelinkFeedItem { + /** + * A list of possible final mobile URLs after all cross domain redirects. + */ + finalMobileUrls?: string[] | null; + /** + * A list of possible final URLs after all cross domain redirects. + */ + finalUrls?: string[] | null; + /** + * Final URL suffix to be appended to landing page URLs served with parallel tracking. + */ + finalUrlSuffix?: string | null; + /** + * First line of the description for the sitelink. If this value is set, line2 must also be set. The length of this string should be between 0 and 35, inclusive. + */ + line1?: string | null; + /** + * Second line of the description for the sitelink. If this value is set, line1 must also be set. The length of this string should be between 0 and 35, inclusive. + */ + line2?: string | null; + /** + * URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive. + */ + linkText?: string | null; + /** + * URL template for constructing a tracking URL. + */ + trackingUrlTemplate?: string | null; + /** + * A list of mappings to be used for substituting URL custom parameter tags in the tracking_url_template, final_urls, and/or final_mobile_urls. + */ + urlCustomParameters?: Schema$GoogleAdsSearchads360V23Common__CustomParameter[]; + } + /** + * A Smart campaign ad. + */ + export interface Schema$GoogleAdsSearchads360V23Common__SmartCampaignAdInfo { + /** + * List of text assets, each of which corresponds to a description when the ad serves. This list consists of a minimum of 2 and up to 4 text assets. + */ + descriptions?: Schema$GoogleAdsSearchads360V23Common__AdTextAsset[]; + /** + * List of text assets, each of which corresponds to a headline when the ad serves. This list consists of a minimum of 3 and up to 15 text assets. + */ + headlines?: Schema$GoogleAdsSearchads360V23Common__AdTextAsset[]; + } + /** + * Store attributes of the transaction. + */ + export interface Schema$GoogleAdsSearchads360V23Common__StoreAttribute { + /** + * Store code from https://support.google.com/business/answer/3370250#storecode + */ + storeCode?: string | null; + } + /** + * Metadata for Store Sales Direct. + */ + export interface Schema$GoogleAdsSearchads360V23Common__StoreSalesMetadata { + /** + * Name of the store sales custom variable key. A predefined key that can be applied to the transaction and then later used for custom segmentation in reporting. Accessible only to customers on the allow-list. + */ + customKey?: string | null; + /** + * This is the fraction of all transactions that are identifiable (for example, associated with any form of customer information). Required. The fraction needs to be between 0 and 1 (excluding 0). + */ + loyaltyFraction?: number | null; + /** + * Metadata for a third party Store Sales upload. + */ + thirdPartyMetadata?: Schema$GoogleAdsSearchads360V23Common__StoreSalesThirdPartyMetadata; + /** + * This is the ratio of sales being uploaded compared to the overall sales that can be associated with a customer. Required. The fraction needs to be between 0 and 1 (excluding 0). For example, if you upload half the sales that you are able to associate with a customer, this would be 0.5. + */ + transactionUploadFraction?: number | null; + } + /** + * Metadata for a third party Store Sales. This product is only for customers on the allow-list. Contact your Google business development representative for details on the upload configuration. + */ + export interface Schema$GoogleAdsSearchads360V23Common__StoreSalesThirdPartyMetadata { + /** + * Time the advertiser uploaded the data to the partner. Required. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30" + */ + advertiserUploadDateTime?: string | null; + /** + * Version of partner IDs to be used for uploads. Required. + */ + bridgeMapVersionId?: string | null; + /** + * ID of the third party partner updating the transaction feed. + */ + partnerId?: string | null; + /** + * The fraction of valid transactions that are matched to a third party assigned user ID on the partner side. Required. The fraction needs to be between 0 and 1 (excluding 0). + */ + partnerMatchFraction?: number | null; + /** + * The fraction of valid transactions that are uploaded by the partner to Google. Required. The fraction needs to be between 0 and 1 (excluding 0). + */ + partnerUploadFraction?: number | null; + /** + * The fraction of transactions that are valid. Invalid transactions may include invalid formats or values. Required. The fraction needs to be between 0 and 1 (excluding 0). + */ + validTransactionFraction?: number | null; + } + /** + * A Structured Snippet asset. + */ + export interface Schema$GoogleAdsSearchads360V23Common__StructuredSnippetAsset { + /** + * Required. The header of the snippet. This string should be one of the predefined values at https://developers.google.com/google-ads/api/reference/data/structured-snippet-headers + */ + header?: string | null; + /** + * Required. The values in the snippet. The size of this collection should be between 3 and 10, inclusive. The length of each value should be between 1 and 25 characters, inclusive. + */ + values?: string[] | null; + } + /** + * The site tag and event snippet pair for a TrackingCodeType. + */ + export interface Schema$GoogleAdsSearchads360V23Common__TagSnippet { + /** + * The event snippet that works with the site tag to track actions that should be counted as conversions. + */ + eventSnippet?: string | null; + /** + * The site tag that adds visitors to your basic remarketing lists and sets new cookies on your domain. + */ + globalSiteTag?: string | null; + /** + * The format of the web page where the tracking tag and snippet will be installed, for example, HTML. + */ + pageFormat?: string | null; + /** + * The type of the generated tag snippets for tracking conversions. + */ + type?: string | null; + } + /** + * An automated bid strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set. + */ + export interface Schema$GoogleAdsSearchads360V23Common__TargetCpa { + /** + * Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies. + */ + cpcBidCeilingMicros?: string | null; + /** + * Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies. + */ + cpcBidFloorMicros?: string | null; + /** + * Average CPA target. This target should be greater than or equal to minimum billable unit based on the currency for the account. + */ + targetCpaMicros?: string | null; + } + /** + * Projected metrics for a specific target CPA amount. + */ + export interface Schema$GoogleAdsSearchads360V23Common__TargetCpaSimulationPoint { + /** + * Projected number of app installs. + */ + appInstalls?: number | null; + /** + * Projected number of biddable conversions. + */ + biddableConversions?: number | null; + /** + * Projected total value of biddable conversions. + */ + biddableConversionsValue?: number | null; + /** + * Projected number of clicks. + */ + clicks?: string | null; + /** + * Projected cost in micros. + */ + costMicros?: string | null; + /** + * Projected number of impressions. + */ + impressions?: string | null; + /** + * Projected number of in-app actions. + */ + inAppActions?: number | null; + /** + * Projected number of interactions. Only discovery advertising channel type supports this field. + */ + interactions?: string | null; + /** + * Projected required daily budget that the advertiser must set in order to receive the estimated traffic, in micros of advertiser currency. + */ + requiredBudgetAmountMicros?: string | null; + /** + * The simulated target CPA upon which projected metrics are based. + */ + targetCpaMicros?: string | null; + /** + * The simulated scaling modifier upon which projected metrics are based. All CPA targets relevant to the simulated entity are scaled by this modifier. + */ + targetCpaScalingModifier?: number | null; + /** + * Projected number of top slot impressions. Only search advertising channel type supports this field. + */ + topSlotImpressions?: string | null; + } + /** + * A container for simulation points for simulations of type TARGET_CPA. + */ + export interface Schema$GoogleAdsSearchads360V23Common__TargetCpaSimulationPointList { + /** + * Projected metrics for a series of target CPA amounts. + */ + points?: Schema$GoogleAdsSearchads360V23Common__TargetCpaSimulationPoint[]; + } + /** + * An automated bidding strategy that sets bids to help get as many clicks as possible at the target cost-per-click (CPC) you set. + */ + export interface Schema$GoogleAdsSearchads360V23Common__TargetCpc { + /** + * Average CPC target. This target should be greater than or equal to minimum billable unit based on the currency for the account. + */ + targetCpcMicros?: string | null; + } + /** + * Target CPM (cost per thousand impressions) is an automated bidding strategy that sets bids to optimize performance given the target CPM you set. + */ + export interface Schema$GoogleAdsSearchads360V23Common__TargetCpm {} + /** + * An automated bidding strategy that sets bids so that a certain percentage of search ads are shown at the top of the first page (or other targeted location). + */ + export interface Schema$GoogleAdsSearchads360V23Common__TargetImpressionShare { + /** + * The highest CPC bid the automated bidding system is permitted to specify. This is a required field entered by the advertiser that sets the ceiling and specified in local micros. + */ + cpcBidCeilingMicros?: string | null; + /** + * The targeted location on the search results page. + */ + location?: string | null; + /** + * The chosen fraction of ads to be shown in the targeted location in micros. For example, 1% equals 10,000. + */ + locationFractionMicros?: string | null; + } + /** + * Projected metrics for a specific target impression share value. + */ + export interface Schema$GoogleAdsSearchads360V23Common__TargetImpressionShareSimulationPoint { + /** + * Projected number of absolute top impressions. Only search advertising channel type supports this field. + */ + absoluteTopImpressions?: string | null; + /** + * Projected number of biddable conversions. + */ + biddableConversions?: number | null; + /** + * Projected total value of biddable conversions. + */ + biddableConversionsValue?: number | null; + /** + * Projected number of clicks. + */ + clicks?: string | null; + /** + * Projected cost in micros. + */ + costMicros?: string | null; + /** + * Projected number of impressions. + */ + impressions?: string | null; + /** + * Projected required daily budget that the advertiser must set in order to receive the estimated traffic, in micros of advertiser currency. + */ + requiredBudgetAmountMicros?: string | null; + /** + * Projected required daily cpc bid ceiling that the advertiser must set to realize this simulation, in micros of the advertiser currency. + */ + requiredCpcBidCeilingMicros?: string | null; + /** + * The simulated target impression share value (in micros) upon which projected metrics are based. For example, 10% impression share, which is equal to 0.1, is stored as 100_000. This value is validated and will not exceed 1M (100%). + */ + targetImpressionShareMicros?: string | null; + /** + * Projected number of top slot impressions. Only search advertising channel type supports this field. + */ + topSlotImpressions?: string | null; + } + /** + * A container for simulation points for simulations of type TARGET_IMPRESSION_SHARE. + */ + export interface Schema$GoogleAdsSearchads360V23Common__TargetImpressionShareSimulationPointList { + /** + * Projected metrics for a specific target impression share value. + */ + points?: Schema$GoogleAdsSearchads360V23Common__TargetImpressionShareSimulationPoint[]; + } + /** + * Settings for the targeting-related features, at the campaign and ad group levels. For more details about the targeting setting, visit https://support.google.com/google-ads/answer/7365594 + */ + export interface Schema$GoogleAdsSearchads360V23Common__TargetingSetting { + /** + * The list of operations changing the target restrictions. Adding a target restriction with a targeting dimension that already exists causes the existing target restriction to be replaced with the new value. + */ + targetRestrictionOperations?: Schema$GoogleAdsSearchads360V23Common__TargetRestrictionOperation[]; + /** + * The per-targeting-dimension setting to restrict the reach of your campaign or ad group. + */ + targetRestrictions?: Schema$GoogleAdsSearchads360V23Common__TargetRestriction[]; + } + /** + * The list of per-targeting-dimension targeting settings. + */ + export interface Schema$GoogleAdsSearchads360V23Common__TargetRestriction { + /** + * Indicates whether to restrict your ads to show only for the criteria you have selected for this targeting_dimension, or to target all values for this targeting_dimension and show ads based on your targeting in other TargetingDimensions. A value of `true` means that these criteria will only apply bid modifiers, and not affect targeting. A value of `false` means that these criteria will restrict targeting as well as applying bid modifiers. + */ + bidOnly?: boolean | null; + /** + * The targeting dimension that these settings apply to. + */ + targetingDimension?: string | null; + } + /** + * Operation to be performed on a target restriction list in a mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Common__TargetRestrictionOperation { + /** + * Type of list operation to perform. + */ + operator?: string | null; + /** + * The target restriction being added to or removed from the list. + */ + value?: Schema$GoogleAdsSearchads360V23Common__TargetRestriction; + } + /** + * An automated bidding strategy that helps you maximize revenue while averaging a specific target return on ad spend (ROAS). + */ + export interface Schema$GoogleAdsSearchads360V23Common__TargetRoas { + /** + * Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies. + */ + cpcBidCeilingMicros?: string | null; + /** + * Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies. + */ + cpcBidFloorMicros?: string | null; + /** + * Required. The chosen revenue (based on conversion data) per unit of spend. Value must be between 0.01 and 1000.0, inclusive. + */ + targetRoas?: number | null; + /** + * The percent of ROAS(return on advertising spend) degradation tolerance allowed to increase traffic diversity and conversion volume, specified in millis (for example, 10,000 = 10%). A value of 10,000 means that the advertiser can expect ROAS degradation of up to 10% of the specified target ROAS. This field is only mutable for portfolio bidding strategies. + */ + targetRoasTolerancePercentMillis?: string | null; + } + /** + * Projected metrics for a specific target ROAS amount. + */ + export interface Schema$GoogleAdsSearchads360V23Common__TargetRoasSimulationPoint { + /** + * Projected number of biddable conversions. + */ + biddableConversions?: number | null; + /** + * Projected total value of biddable conversions. + */ + biddableConversionsValue?: number | null; + /** + * Projected number of clicks. + */ + clicks?: string | null; + /** + * Projected cost in micros. + */ + costMicros?: string | null; + /** + * Projected number of impressions. + */ + impressions?: string | null; + /** + * Projected required daily budget that the advertiser must set in order to receive the estimated traffic, in micros of advertiser currency. + */ + requiredBudgetAmountMicros?: string | null; + /** + * The simulated target ROAS upon which projected metrics are based. + */ + targetRoas?: number | null; + /** + * Projected number of top slot impressions. Only Search advertising channel type supports this field. + */ + topSlotImpressions?: string | null; + } + /** + * A container for simulation points for simulations of type TARGET_ROAS. + */ + export interface Schema$GoogleAdsSearchads360V23Common__TargetRoasSimulationPointList { + /** + * Projected metrics for a series of target ROAS amounts. + */ + points?: Schema$GoogleAdsSearchads360V23Common__TargetRoasSimulationPoint[]; + } + /** + * An automated bid strategy that sets your bids to help get as many clicks as possible within your budget. + */ + export interface Schema$GoogleAdsSearchads360V23Common__TargetSpend { + /** + * Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. + */ + cpcBidCeilingMicros?: string | null; + /** + * Deprecated: The spend target under which to maximize clicks. A TargetSpend bidder will attempt to spend the smaller of this value or the natural throttling spend amount. If not specified, the budget is used as the spend target. This field is deprecated and should no longer be used. See https://ads-developers.googleblog.com/2020/05/reminder-about-sunset-creation-of.html for details. + */ + targetSpendMicros?: string | null; + } + /** + * A text ad. + */ + export interface Schema$GoogleAdsSearchads360V23Common__TextAdInfo { + /** + * The first line of the ad's description. + */ + description1?: string | null; + /** + * The second line of the ad's description. + */ + description2?: string | null; + /** + * The headline of the ad. + */ + headline?: string | null; + } + /** + * A Text asset. + */ + export interface Schema$GoogleAdsSearchads360V23Common__TextAsset { + /** + * Text content of the text asset. + */ + text?: string | null; + } + /** + * A type of label displaying text on a colored background. + */ + export interface Schema$GoogleAdsSearchads360V23Common__TextLabel { + /** + * Background color of the label in HEX format. This string must match the regular expression '^\#([a-fA-F0-9]{6\}|[a-fA-F0-9]{3\})$'. Note: The background color may not be visible for manager accounts. + */ + backgroundColor?: string | null; + /** + * A short description of the label. The length must be no more than 200 characters. + */ + description?: string | null; + } + /** + * Contains third party measurement partner related data for video campaigns. + */ + export interface Schema$GoogleAdsSearchads360V23Common__ThirdPartyIntegrationPartnerData { + /** + * The client ID that allows the measurement partner to join multiple campaigns for a particular advertiser. + */ + clientId?: string | null; + /** + * The third party placement ID that maps the measurement partner data with a campaign (or a group of related campaigns) specific data. + */ + thirdPartyPlacementId?: string | null; + } + /** + * A topic criterion. Use topics to target or exclude placements in the Google Display Network based on the category into which the placement falls (for example, "Pets & Animals/Pets/Dogs"). + */ + export interface Schema$GoogleAdsSearchads360V23Common__TopicInfo { + /** + * The category to target or exclude. Each subsequent element in the array describes a more specific sub-category. For example, "Pets & Animals", "Pets", "Dogs" represents the "Pets & Animals/Pets/Dogs" category. + */ + path?: string[] | null; + /** + * The Topic Constant resource name. + */ + topicConstant?: string | null; + } + /** + * Attribute of the store sales transaction. + */ + export interface Schema$GoogleAdsSearchads360V23Common__TransactionAttribute { + /** + * The resource name of conversion action to report conversions to. Required. + */ + conversionAction?: string | null; + /** + * Transaction currency code. ISO 4217 three-letter code is used. Required. + */ + currencyCode?: string | null; + /** + * Value of the custom variable for each transaction. Allowed only if a custom key is provided in the store sales metadata. + */ + customValue?: string | null; + /** + * Item attributes of the transaction. Accessible only to customers on the allow-list. + */ + itemAttribute?: Schema$GoogleAdsSearchads360V23Common__ItemAttribute; + /** + * Transaction order id. Useful to group transactions which are part of the same order. + */ + orderId?: string | null; + /** + * Store attributes of the transaction. + */ + storeAttribute?: Schema$GoogleAdsSearchads360V23Common__StoreAttribute; + /** + * Transaction amount in micros. Required. Transaction amount in micros needs to be greater than 1000. If item Attributes are provided, it represents the total value of the items, after multiplying the unit price per item by the quantity provided in the ItemAttributes. + */ + transactionAmountMicros?: number | null; + /** + * Timestamp when transaction occurred. Required. The format is "YYYY-MM-DD HH:MM:SS[+/-HH:MM]", where [+/-HH:MM] is an optional timezone offset from UTC. If the offset is absent, the API will use the account's timezone as default. Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30+03:00" + */ + transactionDateTime?: string | null; + } + /** + * A travel ad. + */ + export interface Schema$GoogleAdsSearchads360V23Common__TravelAdInfo {} + /** + * A unified call asset. + */ + export interface Schema$GoogleAdsSearchads360V23Common__UnifiedCallAsset { + /** + * List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total. + */ + adScheduleTargets?: Schema$GoogleAdsSearchads360V23Common__AdScheduleInfo[]; + /** + * The conversion action to attribute a call conversion to. If not set, the default conversion action is used. This field only has effect if call_conversion_reporting_state is set to USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION. + */ + callConversionAction?: string | null; + /** + * Output only. Indicates whether this CallAsset should use its own call conversion setting, follow the account level setting, or disable call conversion. + */ + callConversionReportingState?: string | null; + /** + * Whether the call only shows the phone number without a link to the website. Applies to Microsoft Ads. + */ + callOnly?: boolean | null; + /** + * Whether the call should be enabled on call tracking. Applies to Microsoft Ads. + */ + callTrackingEnabled?: boolean | null; + /** + * Two-letter country code of the phone number. Examples: 'US', 'us'. + */ + countryCode?: string | null; + /** + * Last date of when this asset is effective and still serving, in yyyy-MM-dd format. + */ + endDate?: string | null; + /** + * The advertiser's raw phone number. Examples: '1234567890', '(123)456-7890' + */ + phoneNumber?: string | null; + /** + * Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format. + */ + startDate?: string | null; + /** + * Whether to show the call extension in search user's time zone. Applies to Microsoft Ads. + */ + useSearcherTimeZone?: boolean | null; + } + /** + * A unified callout asset. + */ + export interface Schema$GoogleAdsSearchads360V23Common__UnifiedCalloutAsset { + /** + * List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total. + */ + adScheduleTargets?: Schema$GoogleAdsSearchads360V23Common__AdScheduleInfo[]; + /** + * The callout text. The length of this string should be between 1 and 25, inclusive. + */ + calloutText?: string | null; + /** + * Last date of when this asset is effective and still serving, in yyyy-MM-dd format. + */ + endDate?: string | null; + /** + * Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format. + */ + startDate?: string | null; + /** + * Whether to show the asset in search user's time zone. Applies to Microsoft Ads. + */ + useSearcherTimeZone?: boolean | null; + } + /** + * A unified location asset. + */ + export interface Schema$GoogleAdsSearchads360V23Common__UnifiedLocationAsset { + /** + * The list of business locations for the customer. This will only be returned if the Location Asset is syncing from the Business Profile account. It is possible to have multiple Business Profile listings under the same account that point to the same Place ID. + */ + businessProfileLocations?: Schema$GoogleAdsSearchads360V23Common__BusinessProfileLocation[]; + /** + * The type of location ownership. If the type is BUSINESS_OWNER, it will be served as a location extension. If the type is AFFILIATE, it will be served as an affiliate location. + */ + locationOwnershipType?: string | null; + /** + * Place IDs uniquely identify a place in the Google Places database and on Google Maps. This field is unique for a given customer ID and asset type. See https://developers.google.com/places/web-service/place-id to learn more about Place ID. + */ + placeId?: string | null; + } + /** + * A Unified Page Feed asset. + */ + export interface Schema$GoogleAdsSearchads360V23Common__UnifiedPageFeedAsset { + /** + * Labels used to group the page urls. + */ + labels?: string[] | null; + /** + * The webpage that advertisers want to target. + */ + pageUrl?: string | null; + } + /** + * A unified sitelink asset. + */ + export interface Schema$GoogleAdsSearchads360V23Common__UnifiedSitelinkAsset { + /** + * List of non-overlapping schedules specifying all time intervals for which the asset may serve. There can be a maximum of 6 schedules per day, 42 in total. + */ + adScheduleTargets?: Schema$GoogleAdsSearchads360V23Common__AdScheduleInfo[]; + /** + * First line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description2 must also be set. + */ + description1?: string | null; + /** + * Second line of the description for the sitelink. If set, the length should be between 1 and 35, inclusive, and description1 must also be set. + */ + description2?: string | null; + /** + * Last date of when this asset is effective and still serving, in yyyy-MM-dd format. + */ + endDate?: string | null; + /** + * URL display text for the sitelink. The length of this string should be between 1 and 25, inclusive. + */ + linkText?: string | null; + /** + * Whether the preference is for the sitelink asset to be displayed on mobile devices. Applies to Microsoft Ads. + */ + mobilePreferred?: boolean | null; + /** + * Start date of when this asset is effective and can begin serving, in yyyy-MM-dd format. + */ + startDate?: string | null; + /** + * ID used for tracking clicks for the sitelink asset. This is a Yahoo! Japan only field. + */ + trackingId?: string | null; + /** + * Whether to show the sitelink asset in search user's time zone. Applies to Microsoft Ads. + */ + useSearcherTimeZone?: boolean | null; + } + /** + * Unknown listing dimension. + */ + export interface Schema$GoogleAdsSearchads360V23Common__UnknownListingDimensionInfo {} + /** + * Collection of urls that is tagged with a unique identifier. + */ + export interface Schema$GoogleAdsSearchads360V23Common__UrlCollection { + /** + * A list of possible final mobile URLs. + */ + finalMobileUrls?: string[] | null; + /** + * A list of possible final URLs. + */ + finalUrls?: string[] | null; + /** + * URL template for constructing a tracking URL. + */ + trackingUrlTemplate?: string | null; + /** + * Unique identifier for this UrlCollection instance. + */ + urlCollectionId?: string | null; + } + /** + * User attribute, can only be used with CUSTOMER_MATCH_WITH_ATTRIBUTES job type. + */ + export interface Schema$GoogleAdsSearchads360V23Common__UserAttribute { + /** + * Timestamp when the user was acquired. The format is YYYY-MM-DD HH:MM:SS[+/-HH:MM], where [+/-HH:MM] is an optional timezone offset from UTC. If the offset is absent, the API will use the account's timezone as default. + */ + acquisitionDateTime?: string | null; + /** + * Advertiser defined average number of purchases that are made by the user in a 30 day period. + */ + averagePurchaseCount?: number | null; + /** + * Advertiser defined average purchase value in micros for the user. + */ + averagePurchaseValueMicros?: string | null; + /** + * Optional. Advertiser defined events and their attributes. All the values in the nested fields are required. Currently this field is in beta. + */ + eventAttribute?: Schema$GoogleAdsSearchads360V23Common__EventAttribute[]; + /** + * Optional. Timestamp of the first purchase made by the user. The format is YYYY-MM-DD HH:MM:SS[+/-HH:MM], where [+/-HH:MM] is an optional timezone offset from UTC. If the offset is absent, the API will use the account's timezone as default. + */ + firstPurchaseDateTime?: string | null; + /** + * Timestamp of the last purchase made by the user. The format is YYYY-MM-DD HH:MM:SS[+/-HH:MM], where [+/-HH:MM] is an optional timezone offset from UTC. If the offset is absent, the API will use the account's timezone as default. + */ + lastPurchaseDateTime?: string | null; + /** + * Optional. Advertiser defined lifecycle stage for the user. The accepted values are "Lead", "Active" and "Churned". + */ + lifecycleStage?: string | null; + /** + * Advertiser defined lifetime value bucket for the user. The valid range for a lifetime value bucket is from 1 (low) to 10 (high), except for remove operation where 0 will also be accepted. + */ + lifetimeValueBucket?: number | null; + /** + * Advertiser defined lifetime value for the user. + */ + lifetimeValueMicros?: string | null; + /** + * The shopping loyalty related data. Shopping utilizes this data to provide users with a better experience. Accessible only to merchants on the allow-list with the user's consent. + */ + shoppingLoyalty?: Schema$GoogleAdsSearchads360V23Common__ShoppingLoyalty; + } + /** + * User data holding user identifiers and attributes. + */ + export interface Schema$GoogleAdsSearchads360V23Common__UserData { + /** + * The consent setting for the user. If set, will override the job level consent for this user. + */ + consent?: Schema$GoogleAdsSearchads360V23Common__Consent; + /** + * Additional transactions/attributes associated with the user. Required when updating store sales data. + */ + transactionAttribute?: Schema$GoogleAdsSearchads360V23Common__TransactionAttribute; + /** + * Additional attributes associated with the user. Required when updating customer match attributes. These have an expiration of 540 days. + */ + userAttribute?: Schema$GoogleAdsSearchads360V23Common__UserAttribute; + /** + * User identification info. + */ + userIdentifiers?: Schema$GoogleAdsSearchads360V23Common__UserIdentifier[]; + } + /** + * identifying information. + */ + export interface Schema$GoogleAdsSearchads360V23Common__UserIdentifier { + /** + * Address information. + */ + addressInfo?: Schema$GoogleAdsSearchads360V23Common__OfflineUserAddressInfo; + /** + * Hashed email address using SHA-256 hash function after normalization. + */ + hashedEmail?: string | null; + /** + * Hashed phone number using SHA-256 hash function after normalization (E164 standard). + */ + hashedPhoneNumber?: string | null; + /** + * Mobile device ID (advertising ID/IDFA). + */ + mobileId?: string | null; + /** + * Advertiser-assigned user ID for Customer Match upload, or third-party-assigned user ID for + */ + thirdPartyUserId?: string | null; + /** + * Source of the user identifier when the upload is from Store Sales + */ + userIdentifierSource?: string | null; + } + /** + * Metadata associated with a User Interest attribute. + */ + export interface Schema$GoogleAdsSearchads360V23Common__UserInterestAttributeMetadata { + /** + * English language text description of the user interest category (200 characters max). + */ + userInterestDescription?: string | null; + } + /** + * Represents a particular interest-based topic to be targeted. + */ + export interface Schema$GoogleAdsSearchads360V23Common__UserInterestInfo { + /** + * The UserInterest resource name. + */ + userInterestCategory?: string | null; + } + /** + * User interest segment. + */ + export interface Schema$GoogleAdsSearchads360V23Common__UserInterestSegment { + /** + * The user interest resource. + */ + userInterestCategory?: string | null; + } + /** + * Represents an action type used for building remarketing user lists. + */ + export interface Schema$GoogleAdsSearchads360V23Common__UserListActionInfo { + /** + * A conversion action that's not generated from remarketing. + */ + conversionAction?: string | null; + /** + * A remarketing action. + */ + remarketingAction?: string | null; + } + /** + * Metadata associated with a User List attribute. + */ + export interface Schema$GoogleAdsSearchads360V23Common__UserListAttributeMetadata { + /** + * The user list type. + */ + userListType?: string | null; + } + /** + * A rule item composed of a date operation. + */ + export interface Schema$GoogleAdsSearchads360V23Common__UserListDateRuleItemInfo { + /** + * The relative date value of the right hand side denoted by number of days offset from now. The value field will override this field when both are present. + */ + offsetInDays?: string | null; + /** + * Date comparison operator. This field is required and must be populated when creating new date rule item. + */ + operator?: string | null; + /** + * String representing date value to be compared with the rule variable. Supported date format is YYYY-MM-DD. Times are reported in the customer's time zone. + */ + value?: string | null; + } + /** + * A User List criterion. Represents a user list that is defined by the advertiser to be targeted. + */ + export interface Schema$GoogleAdsSearchads360V23Common__UserListInfo { + /** + * The User List resource name. + */ + userList?: string | null; + } + /** + * A user list logical rule. A rule has a logical operator (and/or/not) and a list of user lists as operands. + */ + export interface Schema$GoogleAdsSearchads360V23Common__UserListLogicalRuleInfo { + /** + * The logical operator of the rule. + */ + operator?: string | null; + /** + * The list of operands of the rule. + */ + ruleOperands?: Schema$GoogleAdsSearchads360V23Common__LogicalUserListOperandInfo[]; + } + /** + * A rule item composed of a number operation. + */ + export interface Schema$GoogleAdsSearchads360V23Common__UserListNumberRuleItemInfo { + /** + * Number comparison operator. This field is required and must be populated when creating a new number rule item. + */ + operator?: string | null; + /** + * Number value to be compared with the variable. This field is required and must be populated when creating a new number rule item. + */ + value?: number | null; + } + /** + * A client defined rule based on custom parameters sent by web sites or uploaded by the advertiser. + */ + export interface Schema$GoogleAdsSearchads360V23Common__UserListRuleInfo { + /** + * List of rule item groups that defines this rule. Rule item groups are grouped together based on rule_type. + */ + ruleItemGroups?: Schema$GoogleAdsSearchads360V23Common__UserListRuleItemGroupInfo[]; + /** + * Rule type is used to determine how to group rule items. The default is OR of ANDs (disjunctive normal form). That is, rule items will be ANDed together within rule item groups and the groups themselves will be ORed together. OR of ANDs is the only supported type for FlexibleRuleUserList. + */ + ruleType?: string | null; + } + /** + * A group of rule items. + */ + export interface Schema$GoogleAdsSearchads360V23Common__UserListRuleItemGroupInfo { + /** + * Rule items that will be grouped together based on rule_type. + */ + ruleItems?: Schema$GoogleAdsSearchads360V23Common__UserListRuleItemInfo[]; + } + /** + * An atomic rule item. + */ + export interface Schema$GoogleAdsSearchads360V23Common__UserListRuleItemInfo { + /** + * An atomic rule item composed of a date operation. + */ + dateRuleItem?: Schema$GoogleAdsSearchads360V23Common__UserListDateRuleItemInfo; + /** + * Rule variable name. It should match the corresponding key name fired by the pixel. A name must begin with US-ascii letters or underscore or UTF8 code that is greater than 127 and consist of US-ascii letters or digits or underscore or UTF8 code that is greater than 127. For websites, there are two built-in variable URL (name = 'url__') and referrer URL (name = 'ref_url__'). This field must be populated when creating a new rule item. + */ + name?: string | null; + /** + * An atomic rule item composed of a number operation. + */ + numberRuleItem?: Schema$GoogleAdsSearchads360V23Common__UserListNumberRuleItemInfo; + /** + * An atomic rule item composed of a string operation. + */ + stringRuleItem?: Schema$GoogleAdsSearchads360V23Common__UserListStringRuleItemInfo; + } + /** + * User list segment. + */ + export interface Schema$GoogleAdsSearchads360V23Common__UserListSegment { + /** + * The user list resource. + */ + userList?: string | null; + } + /** + * A rule item composed of a string operation. + */ + export interface Schema$GoogleAdsSearchads360V23Common__UserListStringRuleItemInfo { + /** + * String comparison operator. This field is required and must be populated when creating a new string rule item. + */ + operator?: string | null; + /** + * The right hand side of the string rule item. For URLs or referrer URLs, the value can not contain illegal URL chars such as newlines, quotes, tabs, or parentheses. This field is required and must be populated when creating a new string rule item. + */ + value?: string | null; + } + /** + * A generic data container. + */ + export interface Schema$GoogleAdsSearchads360V23Common__Value { + /** + * A boolean. + */ + booleanValue?: boolean | null; + /** + * A double. + */ + doubleValue?: number | null; + /** + * A float. + */ + floatValue?: number | null; + /** + * An int64. + */ + int64Value?: string | null; + /** + * A string. + */ + stringValue?: string | null; + } + /** + * A criterion to represent a single item group rule in Vertical Ads. + */ + export interface Schema$GoogleAdsSearchads360V23Common__VerticalAdsItemGroupRuleInfo { + /** + * The resource name of the Geo Target Constant for the city. + */ + cityCriterionId?: string | null; + /** + * The resource name of the Geo Target Constant for the country. + */ + countryCriterionId?: string | null; + /** + * Integer value specifying the class rating for a hotel. Ranges from 1 to 5 stars. + */ + hotelClass?: string | null; + /** + * The id specifying a particular Vertical Ad listing. + */ + itemCode?: string | null; + /** + * The resource name of the Geo Target Constant for the region. + */ + regionCriterionId?: string | null; + } + /** + * A criterion for targeting a shared set of rules for item groups in Vertical Ads (e.g., for hotel ads). + */ + export interface Schema$GoogleAdsSearchads360V23Common__VerticalAdsItemGroupRuleListInfo { + /** + * The shared set resource name of the vertical ads item group rule list. + */ + sharedSet?: string | null; + } + /** + * A Video lineup criterion. + */ + export interface Schema$GoogleAdsSearchads360V23Common__VideoLineupInfo { + /** + * ID for a Video lineup. Contact your Google business development representative for details. + */ + videoLineupId?: string | null; + } + /** + * Google notifies the advertiser of leads by making HTTP calls to an endpoint they specify. The requests contain JSON matching a schema that Google publishes as part of form ads documentation. + */ + export interface Schema$GoogleAdsSearchads360V23Common__WebhookDelivery { + /** + * Webhook url specified by advertiser to send the lead. + */ + advertiserWebhookUrl?: string | null; + /** + * Anti-spoofing secret set by the advertiser as part of the webhook payload. + */ + googleSecret?: string | null; + /** + * The schema version that this delivery instance will use. + */ + payloadSchemaVersion?: string | null; + } + /** + * Logical expression for targeting webpages of an advertiser's website. + */ + export interface Schema$GoogleAdsSearchads360V23Common__WebpageConditionInfo { + /** + * Argument of webpage targeting condition. + */ + argument?: string | null; + /** + * Operand of webpage targeting condition. + */ + operand?: string | null; + /** + * Operator of webpage targeting condition. + */ + operator?: string | null; + } + /** + * Represents a criterion for targeting webpages of an advertiser's website. + */ + export interface Schema$GoogleAdsSearchads360V23Common__WebpageInfo { + /** + * Conditions, or logical expressions, for webpage targeting. The list of webpage targeting conditions are and-ed together when evaluated for targeting. An empty list of conditions indicates all pages of the campaign's website are targeted. This field is required for CREATE operations and is prohibited on UPDATE operations. + */ + conditions?: Schema$GoogleAdsSearchads360V23Common__WebpageConditionInfo[]; + /** + * Website criteria coverage percentage. This is the computed percentage of website coverage based on the website target, negative website target and negative keywords in the ad group and campaign. For instance, when coverage returns as 1, it indicates it has 100% coverage. This field is read-only. + */ + coveragePercentage?: number | null; + /** + * The name of the criterion that is defined by this parameter. The name value will be used for identifying, sorting and filtering criteria with this type of parameters. This field is required for CREATE operations and is prohibited on UPDATE operations. + */ + criterionName?: string | null; + /** + * List of sample urls that match the website target. This field is read-only. + */ + sample?: Schema$GoogleAdsSearchads360V23Common__WebpageSampleInfo; + } + /** + * Represents a list of webpage criteria. + */ + export interface Schema$GoogleAdsSearchads360V23Common__WebpageListInfo { + /** + * Shared set resource name of the webpage list. + */ + sharedSet?: string | null; + } + /** + * List of sample urls that match the website target + */ + export interface Schema$GoogleAdsSearchads360V23Common__WebpageSampleInfo { + /** + * Webpage sample urls + */ + sampleUrls?: string[] | null; + } + /** + * Whatsapp information to use for messaging. + */ + export interface Schema$GoogleAdsSearchads360V23Common__WhatsappBusinessMessageInfo { + /** + * Required. Two-letter country code of the phone number. Examples: 'US', 'us'. + */ + countryCode?: string | null; + /** + * Required. Whatsapp phone number of the business. Examples: '1234567890', '(123)456-7890'. + */ + phoneNumber?: string | null; + } + /** + * Year month. + */ + export interface Schema$GoogleAdsSearchads360V23Common__YearMonth { + /** + * The month of the year. (for example, FEBRUARY). + */ + month?: string | null; + /** + * The year (for example, 2020). + */ + year?: string | null; + } + /** + * The year month range inclusive of the start and end months. Eg: A year month range to represent Jan 2020 would be: (Jan 2020, Jan 2020). + */ + export interface Schema$GoogleAdsSearchads360V23Common__YearMonthRange { + /** + * The inclusive end year month. + */ + end?: Schema$GoogleAdsSearchads360V23Common__YearMonth; + /** + * The inclusive start year month. + */ + start?: Schema$GoogleAdsSearchads360V23Common__YearMonth; + } + /** + * Metadata associated with a YouTube channel attribute. + */ + export interface Schema$GoogleAdsSearchads360V23Common__YouTubeChannelAttributeMetadata { + /** + * The approximate number of subscribers to the YouTube channel. + */ + subscriberCount?: string | null; + } + /** + * A YouTube Channel criterion. + */ + export interface Schema$GoogleAdsSearchads360V23Common__YouTubeChannelInfo { + /** + * The YouTube uploader channel id or the channel code of a YouTube channel. + */ + channelId?: string | null; + } + /** + * A YouTube asset. + */ + export interface Schema$GoogleAdsSearchads360V23Common__YoutubeVideoAsset { + /** + * YouTube video id. This is the 11 character string value used in the YouTube video URL. + */ + youtubeVideoId?: string | null; + /** + * YouTube video title. + */ + youtubeVideoTitle?: string | null; + } + /** + * Metadata for a YouTube video attribute. + */ + export interface Schema$GoogleAdsSearchads360V23Common__YouTubeVideoAttributeMetadata { + /** + * The total number of comments. + */ + commentsCount?: string | null; + /** + * The total number of likes. + */ + likesCount?: string | null; + /** + * The date that the video was created. Formatted as "yyyy-mm-dd". + */ + publishDate?: string | null; + /** + * The URL of the video thumbnail, prefixed by "https://img.youtube.com/". + */ + thumbnailUrl?: string | null; + /** + * The properties of this video (such as shorts, live stream). + */ + videoProperties?: string[] | null; + /** + * The URL of the video, prefixed by "https://www.youtube.com/". + */ + videoUrl?: string | null; + /** + * The total number of views. + */ + viewsCount?: string | null; + } + /** + * A YouTube Video criterion. + */ + export interface Schema$GoogleAdsSearchads360V23Common__YouTubeVideoInfo { + /** + * YouTube video id as it appears on the YouTube watch page. + */ + videoId?: string | null; + } + /** + * Zalo information to use for messaging. + */ + export interface Schema$GoogleAdsSearchads360V23Common__ZaloBusinessMessageInfo { + /** + * Custom name generated by the advertiser for their Zalo Account. These names will usually be registered brands or trademarks. + */ + customName?: string | null; + /** + * Zalo Official Account ID of the advertiser. + */ + oaId?: string | null; + } + /** + * A part of a field path. + */ + export interface Schema$GoogleAdsSearchads360V23Errors_ErrorLocation_FieldPathElement { + /** + * The name of a field or a oneof + */ + fieldName?: string | null; + /** + * If field_name is a repeated field, this is the element that failed + */ + index?: number | null; + } + /** + * Error details for a budget below per-day minimum error. + */ + export interface Schema$GoogleAdsSearchads360V23Errors__BudgetPerDayMinimumErrorDetails { + /** + * The minimum budget required by the campaign per day, in micros of the advertiser currency. Applies to both daily and custom budgets. + */ + budgetPerDayMinimumMicros?: string | null; + /** + * The advertiser's currency, represented as a three-letter ISO 4217 currency code (such as "USD"). + */ + currencyCode?: string | null; + /** + * The budget amount value that was rejected as too low, in micros of the advertiser currency. Only set if this error is caused by the amount field value. + */ + failedBudgetAmountMicros?: string | null; + /** + * The budget total_amount value that was rejected as too low, in micros of the advertiser currency. Only set if this error is caused by the total_amount field value. + */ + failedBudgetTotalAmountMicros?: string | null; + /** + * The minimum value for the budget's amount field required by the campaign, in micros of the advertiser currency. Only set if this error is caused by the amount field value. + */ + minimumBudgetAmountMicros?: string | null; + /** + * The minimum value for the budget's total_amount field required by the campaign given its configured start and end time, in micros of the advertiser currency. Only set if this error is caused by the total_amount field value. + */ + minimumBudgetTotalAmountMicros?: string | null; + } + /** + * The error reason represented by type and enum. + */ + export interface Schema$GoogleAdsSearchads360V23Errors__ErrorCode { + /** + * The reasons for the access invitation error + */ + accessInvitationError?: string | null; + /** + * The reasons for account budget proposal errors. + */ + accountBudgetProposalError?: string | null; + /** + * The reasons for the account link status change error + */ + accountLinkError?: string | null; + /** + * The reasons for the ad customizer error + */ + adCustomizerError?: string | null; + /** + * An error with an Ad Group Ad mutate. + */ + adError?: string | null; + /** + * The reasons for the ad group ad error + */ + adGroupAdError?: string | null; + /** + * The reasons for the ad group bid modifier error + */ + adGroupBidModifierError?: string | null; + /** + * The reasons for the ad group criterion customizer error. + */ + adGroupCriterionCustomizerError?: string | null; + /** + * Indicates failure to properly authenticate user. + */ + adGroupCriterionError?: string | null; + /** + * The reasons for the ad group customizer error. + */ + adGroupCustomizerError?: string | null; + /** + * An error with an Ad Group mutate. + */ + adGroupError?: string | null; + /** + * The reasons for the ad group feed error + */ + adGroupFeedError?: string | null; + /** + * The reasons for the ad parameter error + */ + adParameterError?: string | null; + /** + * The reasons for the ad sharing error + */ + adSharingError?: string | null; + /** + * The reasons for the adx error + */ + adxError?: string | null; + /** + * The reasons for the asset error + */ + assetError?: string | null; + /** + * The reasons for the GenAI asset generation error. + */ + assetGenerationError?: string | null; + /** + * The reasons for the asset group asset error + */ + assetGroupAssetError?: string | null; + /** + * The reasons for the asset group error + */ + assetGroupError?: string | null; + /** + * The reasons for the asset group listing group filter error + */ + assetGroupListingGroupFilterError?: string | null; + /** + * The reasons for the asset group hint error + */ + assetGroupSignalError?: string | null; + /** + * The reasons for the asset link error + */ + assetLinkError?: string | null; + /** + * The reasons for the asset set asset error + */ + assetSetAssetError?: string | null; + /** + * The reasons for the asset set error + */ + assetSetError?: string | null; + /** + * The reasons for the asset set link error + */ + assetSetLinkError?: string | null; + /** + * The reasons for the audience error + */ + audienceError?: string | null; + /** + * The reasons for the Audience Insights error + */ + audienceInsightsError?: string | null; + /** + * Indicates failure to properly authenticate user. + */ + authenticationError?: string | null; + /** + * An error encountered when trying to authorize a user. + */ + authorizationError?: string | null; + /** + * The reasons for error in automatically created asset removal action. + */ + automaticallyCreatedAssetRemovalError?: string | null; + /** + * The reasons for the batch job error + */ + batchJobError?: string | null; + /** + * The reasons for the Benchmarks error. + */ + benchmarksError?: string | null; + /** + * The reasons for the bidding errors + */ + biddingError?: string | null; + /** + * An error with a Bidding Strategy mutate. + */ + biddingStrategyError?: string | null; + /** + * The reasons for the billing setup error + */ + billingSetupError?: string | null; + /** + * The reasons for the brand guidelines migration error. + */ + brandGuidelinesMigrationError?: string | null; + /** + * An error with a Campaign Budget mutate. + */ + campaignBudgetError?: string | null; + /** + * The reasons for the campaign conversion goal error + */ + campaignConversionGoalError?: string | null; + /** + * The reasons for the campaign criterion error + */ + campaignCriterionError?: string | null; + /** + * The reasons for the campaign customizer error. + */ + campaignCustomizerError?: string | null; + /** + * The reasons for the campaign draft error + */ + campaignDraftError?: string | null; + /** + * An error with a Campaign mutate. + */ + campaignError?: string | null; + /** + * The reasons for the campaign experiment error + */ + campaignExperimentError?: string | null; + /** + * The reasons for the campaign feed error + */ + campaignFeedError?: string | null; + /** + * The reasons for the campaign goal config error. + */ + campaignGoalConfigError?: string | null; + /** + * The reasons for the campaign lifecycle goal error + */ + campaignLifecycleGoalError?: string | null; + /** + * The reasons for the campaign shared set error + */ + campaignSharedSetError?: string | null; + /** + * The reasons for the change event error + */ + changeEventError?: string | null; + /** + * The reasons for the change status error + */ + changeStatusError?: string | null; + /** + * The reasons for the click view error + */ + clickViewError?: string | null; + /** + * The reasons for the collection size error + */ + collectionSizeError?: string | null; + /** + * The reasons for the context error + */ + contextError?: string | null; + /** + * The reasons for the conversion action error + */ + conversionActionError?: string | null; + /** + * The reasons for the conversion adjustment upload error + */ + conversionAdjustmentUploadError?: string | null; + /** + * The reasons for the conversion custom variable error + */ + conversionCustomVariableError?: string | null; + /** + * The reasons for the conversion goal campaign config error + */ + conversionGoalCampaignConfigError?: string | null; + /** + * The reasons for the conversion upload error + */ + conversionUploadError?: string | null; + /** + * The reasons for the conversion value rule error + */ + conversionValueRuleError?: string | null; + /** + * The reasons for the conversion value rule set error + */ + conversionValueRuleSetError?: string | null; + /** + * The reasons for the country code error + */ + countryCodeError?: string | null; + /** + * The reasons for the criterion error + */ + criterionError?: string | null; + /** + * The reasons for the currency code error + */ + currencyCodeError?: string | null; + /** + * The reasons for the currency errors. + */ + currencyError?: string | null; + /** + * The reasons for the custom audience error + */ + customAudienceError?: string | null; + /** + * The reasons for the custom column error + */ + customColumnError?: string | null; + /** + * The reasons for the custom conversion goal error + */ + customConversionGoalError?: string | null; + /** + * The reasons for the customer client link error + */ + customerClientLinkError?: string | null; + /** + * The reasons for the customer customizer error. + */ + customerCustomizerError?: string | null; + /** + * The reasons for the customer error + */ + customerError?: string | null; + /** + * The reasons for the customer feed error + */ + customerFeedError?: string | null; + /** + * The reasons for the customer lifecycle goal error + */ + customerLifecycleGoalError?: string | null; + /** + * The reasons for the customer manager link error + */ + customerManagerLinkError?: string | null; + /** + * The reasons for the customer SK Ad network conversion value schema error + */ + customerSkAdNetworkConversionValueSchemaError?: string | null; + /** + * The reasons for the customer user access mutate error + */ + customerUserAccessError?: string | null; + /** + * The reasons for the custom interest error + */ + customInterestError?: string | null; + /** + * The reasons for the customizer attribute error. + */ + customizerAttributeError?: string | null; + /** + * The reasons for the database error. + */ + databaseError?: string | null; + /** + * The reasons for the data link error + */ + dataLinkError?: string | null; + /** + * The reasons for the date error + */ + dateError?: string | null; + /** + * The reasons for the date range error + */ + dateRangeError?: string | null; + /** + * The reasons for the distinct error + */ + distinctError?: string | null; + /** + * The reason for enum error. + */ + enumError?: string | null; + /** + * The reasons for the experiment arm error + */ + experimentArmError?: string | null; + /** + * The reasons for the experiment error + */ + experimentError?: string | null; + /** + * The reasons for the extension feed item error + */ + extensionFeedItemError?: string | null; + /** + * The reasons for the extension setting error + */ + extensionSettingError?: string | null; + /** + * The reasons for the feed attribute reference error + */ + feedAttributeReferenceError?: string | null; + /** + * The reasons for the feed error + */ + feedError?: string | null; + /** + * The reasons for the feed item error + */ + feedItemError?: string | null; + /** + * The reasons for the feed item set error + */ + feedItemSetError?: string | null; + /** + * The reasons for the feed item set link error + */ + feedItemSetLinkError?: string | null; + /** + * The reasons for the feed item target error + */ + feedItemTargetError?: string | null; + /** + * The reasons for the feed item validation error + */ + feedItemValidationError?: string | null; + /** + * The reasons for the feed mapping error + */ + feedMappingError?: string | null; + /** + * The reasons for the field error + */ + fieldError?: string | null; + /** + * An error with a field mask + */ + fieldMaskError?: string | null; + /** + * The reasons for the final url expansion asset view error + */ + finalUrlExpansionAssetViewError?: string | null; + /** + * The reasons for the function error + */ + functionError?: string | null; + /** + * The reasons for the function parsing error + */ + functionParsingError?: string | null; + /** + * The reasons for the geo target constant suggestion error. + */ + geoTargetConstantSuggestionError?: string | null; + /** + * The reasons for the goal error. + */ + goalError?: string | null; + /** + * The reasons for the header error. + */ + headerError?: string | null; + /** + * The reasons for an identity verification error. + */ + identityVerificationError?: string | null; + /** + * The reasons for the id error + */ + idError?: string | null; + /** + * The reasons for the image error + */ + imageError?: string | null; + /** + * The reasons for the incentive error + */ + incentiveError?: string | null; + /** + * An unexpected server-side error. + */ + internalError?: string | null; + /** + * The reasons for invalid parameter errors. + */ + invalidParameterError?: string | null; + /** + * The reasons for the invoice error + */ + invoiceError?: string | null; + /** + * The reason for keyword plan ad group error. + */ + keywordPlanAdGroupError?: string | null; + /** + * The reason for keyword plan ad group keyword error. + */ + keywordPlanAdGroupKeywordError?: string | null; + /** + * The reason for keyword plan campaign error. + */ + keywordPlanCampaignError?: string | null; + /** + * The reason for keyword plan campaign keyword error. + */ + keywordPlanCampaignKeywordError?: string | null; + /** + * The reason for keyword plan error. + */ + keywordPlanError?: string | null; + /** + * The reason for keyword idea error. + */ + keywordPlanIdeaError?: string | null; + /** + * The reason for the label error. + */ + labelError?: string | null; + /** + * The reasons for the language code error + */ + languageCodeError?: string | null; + /** + * An error with a list operation. + */ + listOperationError?: string | null; + /** + * The reasons for the manager link error + */ + managerLinkError?: string | null; + /** + * The reasons for the media bundle error + */ + mediaBundleError?: string | null; + /** + * The reasons for the media file error + */ + mediaFileError?: string | null; + /** + * The reasons for media uploading errors. + */ + mediaUploadError?: string | null; + /** + * Container for enum describing possible merchant center errors. + */ + merchantCenterError?: string | null; + /** + * The reasons for the multiplier error + */ + multiplierError?: string | null; + /** + * An error with a mutate + */ + mutateError?: string | null; + /** + * The reasons for the new resource creation error + */ + newResourceCreationError?: string | null; + /** + * The reasons for the not allowlisted error + */ + notAllowlistedError?: string | null; + /** + * The reasons for the not empty error + */ + notEmptyError?: string | null; + /** + * The reasons for the null error + */ + nullError?: string | null; + /** + * The reasons for the offline user data job error. + */ + offlineUserDataJobError?: string | null; + /** + * The reasons for the operation access denied error + */ + operationAccessDeniedError?: string | null; + /** + * The reasons for the operator error + */ + operatorError?: string | null; + /** + * The reasons for the mutate job error + */ + partialFailureError?: string | null; + /** + * The reasons for errors in payments accounts service + */ + paymentsAccountError?: string | null; + /** + * The reasons for the policy finding error. + */ + policyFindingError?: string | null; + /** + * The reasons for the policy validation parameter error + */ + policyValidationParameterError?: string | null; + /** + * The reasons for the policy violation error + */ + policyViolationError?: string | null; + /** + * The reasons for the product link error + */ + productLinkError?: string | null; + /** + * The reasons for the product link invitation error + */ + productLinkInvitationError?: string | null; + /** + * An error with the query + */ + queryError?: string | null; + /** + * An error with the amount of quota remaining. + */ + quotaError?: string | null; + /** + * The reasons for the range error + */ + rangeError?: string | null; + /** + * The reasons for the reach plan error + */ + reachPlanError?: string | null; + /** + * The reasons for error in applying a recommendation + */ + recommendationError?: string | null; + /** + * The reasons for the recommendation subscription error. + */ + recommendationSubscriptionError?: string | null; + /** + * The reasons for the region code error + */ + regionCodeError?: string | null; + /** + * An error caused by the request + */ + requestError?: string | null; + /** + * The reasons for the resource access denied error + */ + resourceAccessDeniedError?: string | null; + /** + * The reasons for the resource count limit exceeded error + */ + resourceCountLimitExceededError?: string | null; + /** + * The reasons for the Search term insight error + */ + searchTermInsightError?: string | null; + /** + * The reasons for the setting error + */ + settingError?: string | null; + /** + * The reasons for the shareable preview error. + */ + shareablePreviewError?: string | null; + /** + * The reasons for the shared criterion error + */ + sharedCriterionError?: string | null; + /** + * The reasons for the shared set error + */ + sharedSetError?: string | null; + /** + * The reasons for error in querying shopping product. + */ + shoppingProductError?: string | null; + /** + * The reasons for the size limit error + */ + sizeLimitError?: string | null; + /** + * The reasons for the Smart campaign error + */ + smartCampaignError?: string | null; + /** + * The reasons for the string format error + */ + stringFormatError?: string | null; + /** + * The reasons for the string length error + */ + stringLengthError?: string | null; + /** + * The reasons for the third party app analytics link mutate error + */ + thirdPartyAppAnalyticsLinkError?: string | null; + /** + * The reasons for the time zone error + */ + timeZoneError?: string | null; + /** + * An error with a URL field mutate. + */ + urlFieldError?: string | null; + /** + * The reasons for the user data error. + */ + userDataError?: string | null; + /** + * The reasons for a user list customer type error. + */ + userListCustomerTypeError?: string | null; + /** + * The reasons for the user list error + */ + userListError?: string | null; + /** + * An error with a Video Campaign mutate. + */ + videoCampaignError?: string | null; + /** + * The reasons for YouTube video registration errors. + */ + youtubeVideoRegistrationError?: string | null; + } + /** + * Additional error details. + */ + export interface Schema$GoogleAdsSearchads360V23Errors__ErrorDetails { + /** + * Details for a budget below per-day minimum error. + */ + budgetPerDayMinimumErrorDetails?: Schema$GoogleAdsSearchads360V23Errors__BudgetPerDayMinimumErrorDetails; + /** + * Describes policy violation findings. + */ + policyFindingDetails?: Schema$GoogleAdsSearchads360V23Errors__PolicyFindingDetails; + /** + * Describes an ad policy violation. + */ + policyViolationDetails?: Schema$GoogleAdsSearchads360V23Errors__PolicyViolationDetails; + /** + * Details on the quota error, including the scope (account or developer), the rate bucket name and the retry delay. + */ + quotaErrorDetails?: Schema$GoogleAdsSearchads360V23Errors__QuotaErrorDetails; + /** + * Details for a resource count limit exceeded error. + */ + resourceCountDetails?: Schema$GoogleAdsSearchads360V23Errors__ResourceCountDetails; + /** + * The error code that should have been returned, but wasn't. This is used when the error code is not published in the client specified version. + */ + unpublishedErrorCode?: string | null; + } + /** + * Describes the part of the request proto that caused the error. + */ + export interface Schema$GoogleAdsSearchads360V23Errors__ErrorLocation { + /** + * A field path that indicates which field was invalid in the request. + */ + fieldPathElements?: Schema$GoogleAdsSearchads360V23Errors_ErrorLocation_FieldPathElement[]; + } + /** + * Error returned as part of a mutate response. This error indicates one or more policy findings in the fields of a resource. + */ + export interface Schema$GoogleAdsSearchads360V23Errors__PolicyFindingDetails { + /** + * The list of policy topics for the resource. Contains the PROHIBITED or FULLY_LIMITED policy topic entries that prevented the resource from being saved (among any other entries the resource may also have). + */ + policyTopicEntries?: Schema$GoogleAdsSearchads360V23Common__PolicyTopicEntry[]; + } + /** + * Error returned as part of a mutate response. This error indicates single policy violation by some text in one of the fields. + */ + export interface Schema$GoogleAdsSearchads360V23Errors__PolicyViolationDetails { + /** + * Human readable description of policy violation. + */ + externalPolicyDescription?: string | null; + /** + * Human readable name of the policy. + */ + externalPolicyName?: string | null; + /** + * Whether user can file an exemption request for this violation. + */ + isExemptible?: boolean | null; + /** + * Unique identifier for this violation. If policy is exemptible, this key may be used to request exemption. + */ + key?: Schema$GoogleAdsSearchads360V23Common__PolicyViolationKey; + } + /** + * Additional quota error details when there is QuotaError. + */ + export interface Schema$GoogleAdsSearchads360V23Errors__QuotaErrorDetails { + /** + * The high level description of the quota bucket. Examples are "Get requests for standard access" or "Requests per account". + */ + rateName?: string | null; + /** + * The rate scope of the quota limit. + */ + rateScope?: string | null; + /** + * Backoff period that customers should wait before sending next request. + */ + retryDelay?: string | null; + } + /** + * Error details returned when an resource count limit was exceeded. + */ + export interface Schema$GoogleAdsSearchads360V23Errors__ResourceCountDetails { + /** + * The ID of the resource whose limit was exceeded. External customer ID if the limit is for a customer. + */ + enclosingId?: string | null; + /** + * The name of the resource ( etc.) whose limit was exceeded. + */ + enclosingResource?: string | null; + /** + * The count of existing entities. + */ + existingCount?: number | null; + /** + * The limit which was exceeded. + */ + limit?: number | null; + /** + * The resource limit type which was exceeded. + */ + limitType?: string | null; + } + /** + * Search Ads 360-specific error. + */ + export interface Schema$GoogleAdsSearchads360V23Errors__SearchAds360Error { + /** + * Additional error details, which are returned by certain error codes. Most error codes do not include details. + */ + details?: Schema$GoogleAdsSearchads360V23Errors__ErrorDetails; + /** + * An enum value that indicates which error occurred. + */ + errorCode?: Schema$GoogleAdsSearchads360V23Errors__ErrorCode; + /** + * Describes the part of the request proto that caused the error. + */ + location?: Schema$GoogleAdsSearchads360V23Errors__ErrorLocation; + /** + * A human-readable description of the error. + */ + message?: string | null; + /** + * The value that triggered the error. + */ + trigger?: Schema$GoogleAdsSearchads360V23Common__Value; + } + /** + * Describes how a Search Ads 360 API call failed. It's returned inside google.rpc.Status.details when a call fails. + */ + export interface Schema$GoogleAdsSearchads360V23Errors__SearchAds360Failure { + /** + * The list of errors that occurred. + */ + errors?: Schema$GoogleAdsSearchads360V23Errors__SearchAds360Error[]; + /** + * The unique ID of the request that is used for debugging purposes. + */ + requestId?: string | null; + } + /** + * An automated bidding strategy to help get the most conversions for your campaigns while spending your budget. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_MaximizeConversions { + /** + * Output only. The target cost per acquisition (CPA) option. This is the average amount that you would like to spend per acquisition. + */ + targetCpaMicros?: string | null; + } + /** + * An automated bidding strategy to help get the most conversion value for your campaigns while spending your budget. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_MaximizeConversionValue { + /** + * Output only. The target return on ad spend (ROAS) option. If set, the bid strategy will maximize revenue while averaging the target return on ad spend. If the target ROAS is high, the bid strategy may not be able to spend the full budget. If the target ROAS is not set, the bid strategy will aim to achieve the highest possible ROAS for the budget. + */ + targetRoas?: number | null; + } + /** + * An automated bid strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_TargetCpa { + /** + * Output only. Average CPA target. This target should be greater than or equal to minimum billable unit based on the currency for the account. + */ + targetCpaMicros?: string | null; + } + /** + * An automated bidding strategy that sets bids so that a certain percentage of search ads are shown at the top of the first page (or other targeted location). + */ + export interface Schema$GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_TargetImpressionShare { + /** + * Output only. The highest CPC bid the automated bidding system is permitted to specify. This is a required field entered by the advertiser that sets the ceiling and specified in local micros. + */ + cpcBidCeilingMicros?: string | null; + /** + * Output only. The targeted location on the search results page. + */ + location?: string | null; + /** + * The chosen fraction of ads to be shown in the targeted location in micros. For example, 1% equals 10,000. + */ + locationFractionMicros?: string | null; + } + /** + * An automated bidding strategy that helps you maximize revenue while averaging a specific target return on ad spend (ROAS). + */ + export interface Schema$GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_TargetRoas { + /** + * Output only. The chosen revenue (based on conversion data) per unit of spend. + */ + targetRoas?: number | null; + } + /** + * An automated bid strategy that sets your bids to help get as many clicks as possible within your budget. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_TargetSpend { + /** + * Output only. Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. + */ + cpcBidCeilingMicros?: string | null; + /** + * Output only. The spend target under which to maximize clicks. A TargetSpend bidder will attempt to spend the smaller of this value or the natural throttling spend amount. If not specified, the budget is used as the spend target. This field is deprecated and should no longer be used. See https://ads-developers.googleblog.com/2020/05/reminder-about-sunset-creation-of.html for details. + */ + targetSpendMicros?: string | null; + } + /** + * A pending proposal associated with the enclosing account-level budget, if applicable. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_AccountBudget_PendingAccountBudgetProposal { + /** + * Output only. The resource name of the proposal. AccountBudgetProposal resource names have the form: `customers/{customer_id\}/accountBudgetProposals/{account_budget_proposal_id\}` + */ + accountBudgetProposal?: string | null; + /** + * Output only. The time when this account-level budget proposal was created. Formatted as yyyy-MM-dd HH:mm:ss. + */ + creationDateTime?: string | null; + /** + * Output only. The end time in yyyy-MM-dd HH:mm:ss format. + */ + endDateTime?: string | null; + /** + * Output only. The end time as a well-defined type, for example, FOREVER. + */ + endTimeType?: string | null; + /** + * Output only. The name to assign to the account-level budget. + */ + name?: string | null; + /** + * Output only. Notes associated with this budget. + */ + notes?: string | null; + /** + * Output only. The type of this proposal, for example, END to end the budget associated with this proposal. + */ + proposalType?: string | null; + /** + * Output only. A purchase order number is a value that helps users reference this budget in their monthly invoices. + */ + purchaseOrderNumber?: string | null; + /** + * Output only. The spending limit in micros. One million is equivalent to one unit. + */ + spendingLimitMicros?: string | null; + /** + * Output only. The spending limit as a well-defined type, for example, INFINITE. + */ + spendingLimitType?: string | null; + /** + * Output only. The start time in yyyy-MM-dd HH:mm:ss format. + */ + startDateTime?: string | null; + } + /** + * Estimates for criterion bids at various positions. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_AdGroupCriterion_PositionEstimates { + /** + * Output only. Estimate of how many clicks per week you might get by changing your keyword bid to the value in first_position_cpc_micros. + */ + estimatedAddClicksAtFirstPositionCpc?: string | null; + /** + * Output only. Estimate of how your cost per week might change when changing your keyword bid to the value in first_position_cpc_micros. + */ + estimatedAddCostAtFirstPositionCpc?: string | null; + /** + * Output only. The estimate of the CPC bid required for ad to be shown on first page of search results. + */ + firstPageCpcMicros?: string | null; + /** + * Output only. The estimate of the CPC bid required for ad to be displayed in first position, at the top of the first page of search results. + */ + firstPositionCpcMicros?: string | null; + /** + * Output only. The estimate of the CPC bid required for ad to be displayed at the top of the first page of search results. + */ + topOfPageCpcMicros?: string | null; + } + /** + * A container for ad group criterion quality information. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_AdGroupCriterion_QualityInfo { + /** + * Output only. The performance of the ad compared to other advertisers. + */ + creativeQualityScore?: string | null; + /** + * Output only. The quality score of the landing page. + */ + postClickQualityScore?: string | null; + /** + * Output only. The quality score. This field may not be populated if Google does not have enough information to determine a value. + */ + qualityScore?: number | null; + /** + * Output only. The click-through rate compared to that of other advertisers. + */ + searchPredictedCtr?: string | null; + } + /** + * Explicitly selected channels for channel controls in Demand Gen ad groups. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_AdGroupDemandGenAdGroupSettingsDemandGenChannelControls_DemandGenSelectedChannels { + /** + * Whether to enable ads on the Discover channel. + */ + discover?: boolean | null; + /** + * Whether to enable ads on the Display channel. + */ + display?: boolean | null; + /** + * Whether to enable ads on the Gmail channel. + */ + gmail?: boolean | null; + /** + * Whether to enable ads on the YouTube In-Feed channel. + */ + youtubeInFeed?: boolean | null; + /** + * Whether to enable ads on the YouTube In-Stream channel. + */ + youtubeInStream?: boolean | null; + /** + * Whether to enable ads on the YouTube Shorts channel. + */ + youtubeShorts?: boolean | null; + } + /** + * Channel controls for Demand Gen ad groups. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_AdGroupDemandGenAdGroupSettings_DemandGenChannelControls { + /** + * Output only. Channel configuration reflecting which field in the oneof is populated. + */ + channelConfig?: string | null; + /** + * High level channel strategy. + */ + channelStrategy?: string | null; + /** + * Explicitly selected channels. This field should be set with at least one true value when present. + */ + selectedChannels?: Schema$GoogleAdsSearchads360V23Resources_AdGroupDemandGenAdGroupSettingsDemandGenChannelControls_DemandGenSelectedChannels; + } + /** + * Settings for AI Max feature in standard search adgroups. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_AdGroup_AiMaxAdGroupSetting { + /** + * Disable search term matching for this adgroup when AI Max is enabled. Search term matching uses broad match, asset-based, and landing page-based technology to improve reach. + */ + disableSearchTermMatching?: boolean | null; + } + /** + * Settings for the audience targeting. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_AdGroup_AudienceSetting { + /** + * Immutable. If true, this ad group uses an Audience resource for audience targeting. If false, this ad group may use audience segment criteria instead. + */ + useAudienceGrouped?: boolean | null; + } + /** + * Settings for Demand Gen ad groups. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_AdGroup_DemandGenAdGroupSettings { + /** + * Channel controls for Demand Gen ad groups. + */ + channelControls?: Schema$GoogleAdsSearchads360V23Resources_AdGroupDemandGenAdGroupSettings_DemandGenChannelControls; + } + /** + * Vertical ads setting feature to enable/disable ad group format controls in search campaigns. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_AdGroup_VerticalAdsFormatSetting { + /** + * If true, text ads will be disabled for this ad group. + */ + disableTextAds?: boolean | null; + /** + * If true, booking links will be enabled for this ad group. + */ + enableBookingLinks?: boolean | null; + /** + * If true, vertical promotion ads will be enabled for this ad group. + */ + enableVerticalPromotionAds?: boolean | null; + } + /** + * The details of the asset to add. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_AdStrengthActionItem_AddAssetDetails { + /** + * Output only. The number of assets to add. + */ + assetCount?: number | null; + /** + * Output only. The asset field type of the asset(s) to add. + */ + assetFieldType?: string | null; + /** + * Output only. For video field types, the required aspect ratio of the video. When unset and asset_field_type is YOUTUBE_VIDEO, the system recommends the advertiser upload any YouTube video, regardless of aspect ratio. + */ + videoAspectRatioRequirement?: string | null; + } + /** + * For Performance Max for travel goals campaigns with a Hotel Center account link. Read-only. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_AssetSet_HotelPropertyData { + /** + * Output only. The hotel center ID of the partner. + */ + hotelCenterId?: string | null; + /** + * Output only. Name of the hotel partner. + */ + partnerName?: string | null; + } + /** + * Merchant ID and Feed Label from Google Merchant Center. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_AssetSet_MerchantCenterFeed { + /** + * Optional. Feed Label from Google Merchant Center. + */ + feedLabel?: string | null; + /** + * Required. Merchant ID from Google Merchant Center + */ + merchantId?: string | null; + } + /** + * Additional information about the batch job. This message is also used as metadata returned in batch job Long Running Operations. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_BatchJob_BatchJobMetadata { + /** + * Output only. The time when this batch job was completed. Formatted as yyyy-MM-dd HH:mm:ss. Example: "2018-03-05 09:16:00" + */ + completionDateTime?: string | null; + /** + * Output only. The time when this batch job was created. Formatted as yyyy-mm-dd hh:mm:ss. Example: "2018-03-05 09:15:00" + */ + creationDateTime?: string | null; + /** + * Output only. The fraction (between 0.0 and 1.0) of mutates that have been processed. This is empty if the job hasn't started running yet. + */ + estimatedCompletionRatio?: number | null; + /** + * Output only. The number of mutate operations executed by the batch job. Present only if the job has started running. + */ + executedOperationCount?: string | null; + /** + * Immutable. The approximate upper bound for how long a batch job can be executed, in seconds. If the job runs more than the given upper bound, the job will be canceled. + */ + executionLimitSeconds?: number | null; + /** + * Output only. The number of mutate operations in the batch job. + */ + operationCount?: string | null; + /** + * Output only. The time when this batch job started running. Formatted as yyyy-mm-dd hh:mm:ss. Example: "2018-03-05 09:15:30" + */ + startDateTime?: string | null; + } + /** + * Container of payments account information for this billing. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_BillingSetup_PaymentsAccountInfo { + /** + * Output only. A 16 digit id used to identify the payments account associated with the billing setup. This must be passed as a string with dashes, for example, "1234-5678-9012-3456". + */ + paymentsAccountId?: string | null; + /** + * Immutable. The name of the payments account associated with the billing setup. This enables the user to specify a meaningful name for a payments account to aid in reconciling monthly invoices. This name will be printed in the monthly invoices. + */ + paymentsAccountName?: string | null; + /** + * Immutable. A 12 digit id used to identify the payments profile associated with the billing setup. This must be passed in as a string with dashes, for example, "1234-5678-9012". + */ + paymentsProfileId?: string | null; + /** + * Output only. The name of the payments profile associated with the billing setup. + */ + paymentsProfileName?: string | null; + /** + * Output only. A secondary payments profile id present in uncommon situations, for example, when a sequential liability agreement has been arranged. + */ + secondaryPaymentsProfileId?: string | null; + } + /** + * Overrides of brand targeting for various ad types. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_CampaignPmaxCampaignSettings_BrandTargetingOverrides { + /** + * If true, brand exclusions are ignored for Shopping ads. + */ + ignoreExclusionsForShoppingAds?: boolean | null; + } + /** + * Settings for AI Max in search campaigns. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Campaign_AiMaxSetting { + /** + * Output only. Indicates whether a search campaign has adopted AI Max before, and is required to have AI Max enabled to adopt campaign-level text asset automation and brand list targeting in all API versions. + */ + bundlingRequired?: string | null; + /** + * Controls whether or not AI Max features are served for this campaign. Individual AI Max features are enabled or disabled by their respective settings. But if enable_ai_max is set to false or cleared, then no AI Max features will serve for this campaign, regardless of the other settings. Search Term Matching is enabled by default when AI Max is enabled, and can be disabled at the ad group level. + */ + enableAiMax?: boolean | null; + } + /** + * Campaign-level settings for App Campaigns. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Campaign_AppCampaignSetting { + /** + * Immutable. A string that uniquely identifies a mobile application. + */ + appId?: string | null; + /** + * Immutable. The application store that distributes this specific app. + */ + appStore?: string | null; + /** + * Represents the goal which the bidding strategy of this app campaign should optimize towards. + */ + biddingStrategyGoalType?: string | null; + } + /** + * Asset automation setting contains pair of AssetAutomationType and the asset automation opt-in/out status + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Campaign_AssetAutomationSetting { + /** + * The opt-in/out status of asset automation type. + */ + assetAutomationStatus?: string | null; + /** + * The asset automation type advertiser would like to opt-in/out. + */ + assetAutomationType?: string | null; + } + /** + * Settings for the audience targeting. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Campaign_AudienceSetting { + /** + * Immutable. If true, this campaign uses an Audience resource for audience targeting. If false, this campaign may use audience segment criteria instead. + */ + useAudienceGrouped?: boolean | null; + } + /** + * Settings that control the visual appearance of your brand in a campaign's automatically generated assets and formats. Only applicable to Performance Max campaigns. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Campaign_BrandGuidelines { + /** + * The accent brand color, entered as a hex code (e.g., #00ff00). You must provide the accent_color if you provide a main_color. + */ + accentColor?: string | null; + /** + * The main brand color, entered as a hex code (e.g., #00ff00). You must provide the main_color if you provide an accent_color. + */ + mainColor?: string | null; + /** + * The brand's font family. Must be one of the following Google Fonts (case sensitive): Open Sans, Roboto, Montserrat, Poppins, Lato, Oswald, Playfair Display, Roboto Slab. + */ + predefinedFontFamily?: string | null; + } + /** + * Category bids in LocalServicesReportingCampaignSettings. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Campaign_CategoryBid { + /** + * Category for which the bid will be associated with. For example, xcat:service_area_business_plumber. + */ + categoryId?: string | null; + /** + * Manual CPA bid for the category. Bid must be greater than the reserve price associated for that category. Value is in micros and in the advertiser's currency. + */ + manualCpaBidMicros?: string | null; + /** + * Target CPA bid for the category. Value is in micros and in the advertiser's currency. + */ + targetCpaBidMicros?: string | null; + } + /** + * Settings for Demand Gen campaign. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Campaign_DemandGenCampaignSettings { + /** + * Immutable. Specifies whether this campaign uses upgraded targeting options. When this field is set to `true`, you can use location and language targeting at the ad group level as opposed to the standard campaign-level targeting. + */ + upgradedTargeting?: boolean | null; + } + /** + * The setting for controlling Dynamic Search Ads (DSA). + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Campaign_DynamicSearchAdsSetting { + /** + * Required. The Internet domain name that this setting represents, for example, "google.com" or "www.google.com". + */ + domainName?: string | null; + /** + * Required. The language code specifying the language of the domain, for example, "en". + */ + languageCode?: string | null; + /** + * Whether the campaign uses advertiser supplied URLs exclusively. + */ + useSuppliedUrlsOnly?: boolean | null; + } + /** + * Represents a collection of settings related to ads geotargeting. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Campaign_GeoTargetTypeSetting { + /** + * The setting used for negative geotargeting in this particular campaign. + */ + negativeGeoTargetType?: string | null; + /** + * The setting used for positive geotargeting in this particular campaign. + */ + positiveGeoTargetType?: string | null; + } + /** + * Campaign-level settings for hotel ads. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Campaign_HotelSettingInfo { + /** + * Output only. The linked Hotel Center account. + */ + hotelCenterId?: string | null; + } + /** + * Campaign setting for local campaigns. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Campaign_LocalCampaignSetting { + /** + * The location source type for this local campaign. + */ + locationSourceType?: string | null; + } + /** + * Settings for LocalServicesCampaign subresource. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Campaign_LocalServicesCampaignSettings { + /** + * Categorical level bids associated with MANUAL_CPA bidding strategy. + */ + categoryBids?: Schema$GoogleAdsSearchads360V23Resources_Campaign_CategoryBid[]; + } + /** + * The network settings for the campaign. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Campaign_NetworkSettings { + /** + * Whether ads will be served on specified placements in the Google Display Network. Placements are specified using the Placement criterion. + */ + targetContentNetwork?: boolean | null; + /** + * Whether ads will be served with google.com search results. + */ + targetGoogleSearch?: boolean | null; + /** + * Whether ads will be served on the Google TV network. + */ + targetGoogleTvNetwork?: boolean | null; + /** + * Whether ads will be served on the partner network. This is available only to some select partner accounts. Unless you have been instructed to use this field, it likely does not apply to your account. This does not control whether ads will be served on Google Search Partners Network; use `target_search_network` for that instead. + */ + targetPartnerSearchNetwork?: boolean | null; + /** + * Whether ads will be served on sites in the Google Search Partners Network (requires `target_google_search` to also be `true`). + */ + targetSearchNetwork?: boolean | null; + /** + * Whether ads will be served on YouTube. + */ + targetYoutube?: boolean | null; + } + /** + * Optimization goal setting for this campaign, which includes a set of optimization goal types. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Campaign_OptimizationGoalSetting { + /** + * The list of optimization goal types. + */ + optimizationGoalTypes?: string[] | null; + } + /** + * Information about a campaign being upgraded to Performance Max. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Campaign_PerformanceMaxUpgrade { + /** + * Output only. The resource name of the Performance Max campaign the campaign is upgraded to. + */ + performanceMaxCampaign?: string | null; + /** + * Output only. The resource name of the legacy campaign upgraded to Performance Max. + */ + preUpgradeCampaign?: string | null; + /** + * Output only. The upgrade status of a campaign requested to be upgraded to Performance Max. + */ + status?: string | null; + } + /** + * Settings for Performance Max campaigns. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Campaign_PmaxCampaignSettings { + /** + * Overrides of brand targeting for various ad types. + */ + brandTargetingOverrides?: Schema$GoogleAdsSearchads360V23Resources_CampaignPmaxCampaignSettings_BrandTargetingOverrides; + } + /** + * Selective optimization setting for this campaign, which includes a set of conversion actions to optimize this campaign towards. This feature only applies to app campaigns that use MULTI_CHANNEL as AdvertisingChannelType and APP_CAMPAIGN or APP_CAMPAIGN_FOR_ENGAGEMENT as AdvertisingChannelSubType. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Campaign_SelectiveOptimization { + /** + * The selected set of resource names for conversion actions for optimizing this campaign. + */ + conversionActions?: string[] | null; + } + /** + * The setting for Shopping campaigns. Defines the universe of products that can be advertised by the campaign, and how this campaign interacts with other Shopping campaigns. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Campaign_ShoppingSetting { + /** + * The list of Google Ads accounts IDs of advertising partners cooperating within the campaign. This feature is currently available only for accounts having an advertising partner link. This feature is currently supported only for Performance Max, Shopping, Search and Demand Gen campaign types. + */ + advertisingPartnerIds?: string[] | null; + /** + * Priority of the campaign. Campaigns with numerically higher priorities take precedence over those with lower priorities. This field is required for Shopping campaigns, with values between 0 and 2, inclusive. This field is optional for Smart Shopping campaigns, but must be equal to 3 if set. + */ + campaignPriority?: number | null; + /** + * Disable the optional product feed. This field is currently supported only for Demand Gen campaigns. See https://support.google.com/google-ads/answer/13721750 to learn more about this feature. + */ + disableProductFeed?: boolean | null; + /** + * Whether to include local products. + */ + enableLocal?: boolean | null; + /** + * Feed label of products to include in the campaign. Valid feed labels may contain a maximum of 20 characters including uppercase letters, numbers, hyphens, and underscores. If you previously used the deprecated `sales_country` in the two-letter country code (`XX`) format, the `feed_label` field should be used instead. For more information see the [feed label](//support.google.com/merchants/answer/12453549) support article. + */ + feedLabel?: string | null; + /** + * ID of the Merchant Center account. This field is required for create operations. This field is immutable for Shopping campaigns. + */ + merchantId?: string | null; + /** + * Immutable. Whether to target Vehicle Listing inventory. + */ + useVehicleInventory?: boolean | null; + } + /** + * Campaign-level settings for tracking information. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Campaign_TrackingSetting { + /** + * Output only. The url used for dynamic tracking. + */ + trackingUrl?: string | null; + } + /** + * Settings for Travel campaign. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Campaign_TravelCampaignSettings { + /** + * Immutable. The Travel account ID associated with the Travel campaign. + */ + travelAccountId?: string | null; + } + /** + * Describes how unbranded pharma ads will be displayed. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Campaign_VanityPharma { + /** + * The display mode for vanity pharma URLs. + */ + vanityPharmaDisplayUrlMode?: string | null; + /** + * The text that will be displayed in display URL of the text ad when website description is the selected display mode for vanity pharma URLs. + */ + vanityPharmaText?: string | null; + } + /** + * A wrapper proto presenting all supported resources. Only the resource of the change_resource_type will be set. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_ChangeEvent_ChangedResource { + /** + * Output only. Set if change_resource_type == AD. + */ + ad?: Schema$GoogleAdsSearchads360V23Resources__Ad; + /** + * Output only. Set if change_resource_type == AD_GROUP. + */ + adGroup?: Schema$GoogleAdsSearchads360V23Resources__AdGroup; + /** + * Output only. Set if change_resource_type == AD_GROUP_AD. + */ + adGroupAd?: Schema$GoogleAdsSearchads360V23Resources__AdGroupAd; + /** + * Output only. Set if change_resource_type == AD_GROUP_ASSET. + */ + adGroupAsset?: Schema$GoogleAdsSearchads360V23Resources__AdGroupAsset; + /** + * Output only. Set if change_resource_type == AD_GROUP_BID_MODIFIER. + */ + adGroupBidModifier?: Schema$GoogleAdsSearchads360V23Resources__AdGroupBidModifier; + /** + * Output only. Set if change_resource_type == AD_GROUP_CRITERION. + */ + adGroupCriterion?: Schema$GoogleAdsSearchads360V23Resources__AdGroupCriterion; + /** + * Output only. Set if change_resource_type == ASSET. + */ + asset?: Schema$GoogleAdsSearchads360V23Resources__Asset; + /** + * Output only. Set if change_resource_type == ASSET_SET. + */ + assetSet?: Schema$GoogleAdsSearchads360V23Resources__AssetSet; + /** + * Output only. Set if change_resource_type == ASSET_SET_ASSET. + */ + assetSetAsset?: Schema$GoogleAdsSearchads360V23Resources__AssetSetAsset; + /** + * Output only. Set if change_resource_type == CAMPAIGN. + */ + campaign?: Schema$GoogleAdsSearchads360V23Resources__Campaign; + /** + * Output only. Set if change_resource_type == CAMPAIGN_ASSET. + */ + campaignAsset?: Schema$GoogleAdsSearchads360V23Resources__CampaignAsset; + /** + * Output only. Set if change_resource_type == CAMPAIGN_ASSET_SET. + */ + campaignAssetSet?: Schema$GoogleAdsSearchads360V23Resources__CampaignAssetSet; + /** + * Output only. Set if change_resource_type == CAMPAIGN_BUDGET. + */ + campaignBudget?: Schema$GoogleAdsSearchads360V23Resources__CampaignBudget; + /** + * Output only. Set if change_resource_type == CAMPAIGN_CRITERION. + */ + campaignCriterion?: Schema$GoogleAdsSearchads360V23Resources__CampaignCriterion; + /** + * Output only. Set if change_resource_type == CUSTOMER_ASSET. + */ + customerAsset?: Schema$GoogleAdsSearchads360V23Resources__CustomerAsset; + } + /** + * Settings related to this conversion action's attribution model. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_ConversionAction_AttributionModelSettings { + /** + * The attribution model type of this conversion action. + */ + attributionModel?: string | null; + /** + * Output only. The status of the data-driven attribution model for the conversion action. + */ + dataDrivenModelStatus?: string | null; + } + /** + * Settings related to a Firebase conversion action. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_ConversionAction_FirebaseSettings { + /** + * Output only. The event name of a Firebase conversion. + */ + eventName?: string | null; + /** + * Output only. The Firebase project ID of the conversion. + */ + projectId?: string | null; + /** + * Output only. The GA property ID of the conversion. + */ + propertyId?: string | null; + /** + * Output only. The GA property name of the conversion. + */ + propertyName?: string | null; + } + /** + * Settings related to a Floodlight conversion action. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_ConversionAction_FloodlightSettings { + /** + * Output only. String used to identify a Floodlight activity group when reporting conversions. + */ + activityGroupTag?: string | null; + /** + * Output only. ID of the Floodlight activity in DoubleClick Campaign Manager (DCM). + */ + activityId?: string | null; + /** + * Output only. String used to identify a Floodlight activity when reporting conversions. + */ + activityTag?: string | null; + } + /** + * Settings related to a Google Analytics 4 conversion action. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_ConversionAction_GoogleAnalytics4Settings { + /** + * Output only. The name of the GA 4 event. + */ + eventName?: string | null; + /** + * Output only. The ID of the GA 4 property. + */ + propertyId?: string | null; + /** + * Output only. The name of the GA 4 property. + */ + propertyName?: string | null; + } + /** + * Settings related to a third party app analytics conversion action. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_ConversionAction_ThirdPartyAppAnalyticsSettings { + /** + * Output only. The event name of a third-party app analytics conversion. + */ + eventName?: string | null; + /** + * Output only. Name of the third-party app analytics provider. + */ + providerName?: string | null; + } + /** + * Settings related to the value for conversion events associated with this conversion action. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_ConversionAction_ValueSettings { + /** + * Controls whether the default value and default currency code are used in place of the value and currency code specified in conversion events for this conversion action. + */ + alwaysUseDefaultValue?: boolean | null; + /** + * The currency code to use when conversion events for this conversion action are sent with an invalid or missing currency code, or when this conversion action is configured to always use the default value. + */ + defaultCurrencyCode?: string | null; + /** + * The value to use when conversion events for this conversion action are sent with an invalid, disallowed or missing value, or when this conversion action is configured to always use the default value. + */ + defaultValue?: number | null; + } + /** + * Information for Search Ads 360 Floodlight Conversion Custom Variables. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_ConversionCustomVariable_FloodlightConversionCustomVariableInfo { + /** + * Output only. Floodlight variable data type defined in Search Ads 360. + */ + floodlightVariableDataType?: string | null; + /** + * Output only. Floodlight variable type defined in Search Ads 360. + */ + floodlightVariableType?: string | null; + } + /** + * Action applied when rule is applied. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleAction { + /** + * Specifies applied operation. + */ + operation?: string | null; + /** + * Specifies applied value. + */ + value?: number | null; + } + /** + * Condition on Audience dimension. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleAudienceCondition { + /** + * User Interests. + */ + userInterests?: string[] | null; + /** + * User Lists. + */ + userLists?: string[] | null; + } + /** + * Condition on Device dimension. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleDeviceCondition { + /** + * Value for device type condition. + */ + deviceTypes?: string[] | null; + } + /** + * Condition on Geo dimension. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleGeoLocationCondition { + /** + * Excluded Geo location match type. + */ + excludedGeoMatchType?: string | null; + /** + * Geo locations that advertisers want to exclude. + */ + excludedGeoTargetConstants?: string[] | null; + /** + * Included Geo location match type. + */ + geoMatchType?: string | null; + /** + * Geo locations that advertisers want to include. + */ + geoTargetConstants?: string[] | null; + } + /** + * Range for the number of days between the date of the booking and the start of the itinerary. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleItineraryAdvanceBookingWindow { + /** + * Maximum number of days between the date of the booking the start date. + */ + maxDays?: number | null; + /** + * Minimum number of days between the date of the booking the start date. + */ + minDays?: number | null; + } + /** + * Condition on Itinerary dimension. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleItineraryCondition { + /** + * Range for the number of days between the date of the booking and the start of the itinerary. + */ + advanceBookingWindow?: Schema$GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleItineraryAdvanceBookingWindow; + /** + * Range for the itinerary length in number of nights. + */ + travelLength?: Schema$GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleItineraryTravelLength; + /** + * The days of the week on which this itinerary's travel can start. + */ + travelStartDay?: Schema$GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleItineraryTravelStartDay; + } + /** + * Range for the itinerary length in number of nights. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleItineraryTravelLength { + /** + * Maximum number of days between the start date and the end date. + */ + maxNights?: number | null; + /** + * Minimum number of nights between the start date and the end date. + */ + minNights?: number | null; + } + /** + * The days of the week on which an itinerary's travel can start. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleItineraryTravelStartDay { + /** + * The travel can start on Friday. + */ + friday?: boolean | null; + /** + * The travel can start on Monday. + */ + monday?: boolean | null; + /** + * The travel can start on Saturday. + */ + saturday?: boolean | null; + /** + * The travel can start on Sunday. + */ + sunday?: boolean | null; + /** + * The travel can start on Thursday. + */ + thursday?: boolean | null; + /** + * The travel can start on Tuesday. + */ + tuesday?: boolean | null; + /** + * The travel can start on Wednesday. + */ + wednesday?: boolean | null; + } + /** + * Defines a range for event counter values. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchemaEvent_EventOccurrenceRange { + /** + * Output only. For event counter ranges, the maximum of the defined range. A value of 0 will be treated as unset. + */ + maxEventCount?: string | null; + /** + * Output only. For event counter ranges, the minimum of the defined range. A value of 0 will be treated as unset. + */ + minEventCount?: string | null; + } + /** + * Defines a range for revenue values. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchemaEvent_RevenueRange { + /** + * Output only. For revenue ranges, the maximum value in `currency_code` for which this conversion value would be updated. A value of 0 will be treated as unset. + */ + maxEventRevenue?: number | null; + /** + * Output only. For revenue ranges, the minimum value in `currency_code` for which this conversion value would be updated. A value of 0 will be treated as unset. + */ + minEventRevenue?: number | null; + } + /** + * Mappings for coarse grained conversion values. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_CoarseGrainedConversionValueMappings { + /** + * Output only. Mapping for "high" coarse conversion value. + */ + highConversionValueMapping?: Schema$GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_ConversionValueMapping; + /** + * Output only. Mapping for "low" coarse conversion value. + */ + lowConversionValueMapping?: Schema$GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_ConversionValueMapping; + /** + * Output only. Mapping for "medium" coarse conversion value. + */ + mediumConversionValueMapping?: Schema$GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_ConversionValueMapping; + } + /** + * Represents mapping from one conversion value to one or more conversion events. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_ConversionValueMapping { + /** + * Output only. The conversion value may be mapped to multiple events with various attributes. + */ + mappedEvents?: Schema$GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_Event[]; + /** + * Output only. The maximum of the time range in which a user was last active during the measurement window. + */ + maxTimePostInstallHours?: string | null; + /** + * Output only. The minimum of the time range in which a user was last active during the measurement window. + */ + minTimePostInstallHours?: string | null; + } + /** + * Defines a Google conversion event that the conversion value is mapped to. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_Event { + /** + * Output only. The reported currency for the event_revenue. ISO 4217 three-letter currency code, for example, "USD" + */ + currencyCode?: string | null; + /** + * Output only. For specific event counter values. + */ + eventCounter?: string | null; + /** + * Output only. The event counter range. + */ + eventOccurrenceRange?: Schema$GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchemaEvent_EventOccurrenceRange; + /** + * Output only. The event revenue range. + */ + eventRevenueRange?: Schema$GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchemaEvent_RevenueRange; + /** + * Output only. The specific event revenue value. + */ + eventRevenueValue?: number | null; + /** + * Output only. Google event name represented by this conversion value. + */ + mappedEventName?: string | null; + } + /** + * Mappings for fine grained conversion value. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_FineGrainedConversionValueMappings { + /** + * Output only. Conversion events the fine grained conversion value maps to. + */ + conversionValueMapping?: Schema$GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_ConversionValueMapping; + /** + * Output only. Fine grained conversion value. Valid values are in the inclusive range [0,63]. + */ + fineGrainedConversionValue?: number | null; + } + /** + * Mappings for each postback in multiple conversion windows. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_PostbackMapping { + /** + * Output only. Conversion value mappings for all coarse grained conversion values. + */ + coarseGrainedConversionValueMappings?: Schema$GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_CoarseGrainedConversionValueMappings; + /** + * Output only. Coarse grained conversion value that triggers conversion window lock. + */ + lockWindowCoarseConversionValue?: string | null; + /** + * Output only. Event name that triggers conversion window lock. + */ + lockWindowEvent?: string | null; + /** + * Output only. Fine grained conversion value that triggers conversion window lock. + */ + lockWindowFineConversionValue?: number | null; + /** + * Output only. 0-based index that indicates the order of postback. Valid values are in the inclusive range [0,2]. + */ + postbackSequenceIndex?: number | null; + } + /** + * The CustomerLink specific SkAdNetworkConversionValueSchema. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchema_SkAdNetworkConversionValueSchema { + /** + * Required. Output only. Apple App Store app ID. + */ + appId?: string | null; + /** + * Output only. Fine grained conversion value mappings. + */ + fineGrainedConversionValueMappings?: Schema$GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_FineGrainedConversionValueMappings[]; + /** + * Output only. A time window (measured in hours) post-install, after which the App Attribution Partner or advertiser stops calling [updateConversionValue] (https://developer.apple.com/documentation/storekit/skadnetwork/3566697-updateconversionvalue). + */ + measurementWindowHours?: number | null; + /** + * Output only. Per-postback conversion value mappings for postbacks in multiple conversion windows. Only applicable for SkAdNetwork versions \>= 4.0. + */ + postbackMappings?: Schema$GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchemaSkAdNetworkConversionValueSchema_PostbackMapping[]; + } + /** + * Holds the details of an asset within an asset group for an Optimize Assets experiment arm. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_ExperimentArm_AssetGroupAssetInfo { + /** + * Asset resource name of the asset group asset. + */ + asset?: string | null; + /** + * Field type of the asset group asset. + */ + fieldType?: string | null; + } + /** + * Holds the asset groups included in an arm of an Optimize Assets experiment. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_ExperimentArm_AssetGroupInfo { + /** + * Asset group resource name. + */ + assetGroup?: string | null; + /** + * List of asset group assets under the asset group. + */ + assetGroupAssets?: Schema$GoogleAdsSearchads360V23Resources_ExperimentArm_AssetGroupAssetInfo[]; + } + /** + * Represents a summarized account budget billable cost. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Invoice_AccountBudgetSummary { + /** + * Output only. The resource name of the account budget associated with this summarized billable cost. AccountBudget resource names have the form: `customers/{customer_id\}/accountBudgets/{account_budget_id\}` + */ + accountBudget?: string | null; + /** + * Output only. The name of the account budget. It appears on the invoice PDF as "Account budget". + */ + accountBudgetName?: string | null; + /** + * Output only. The billable activity date range of the account budget, within the service date range of this invoice. The end date is inclusive. This can be different from the account budget's start and end time. + */ + billableActivityDateRange?: Schema$GoogleAdsSearchads360V23Common__DateRange; + /** + * Output only. The pretax billed amount attributable to this budget during the service period, in micros. This does not account for any adjustments. + */ + billedAmountMicros?: string | null; + /** + * Output only. The list of summarized campaign level information associated with this account budget. + */ + campaignSummaries?: Schema$GoogleAdsSearchads360V23Resources_Invoice_CampaignSummary[]; + /** + * Output only. The resource name of the customer associated with this account budget. This contains the customer ID, which appears on the invoice PDF as "Account ID". Customer resource names have the form: `customers/{customer_id\}` + */ + customer?: string | null; + /** + * Output only. The descriptive name of the account budget's customer. It appears on the invoice PDF as "Account". + */ + customerDescriptiveName?: string | null; + /** + * Output only. The pretax invalid activity amount attributable to this budget in previous months, in micros (negative value). + */ + invalidActivityAmountMicros?: string | null; + /** + * Output only. The list of summarized invalid activity credits with original linkages. + */ + invalidActivitySummaries?: Schema$GoogleAdsSearchads360V23Resources_Invoice_InvalidActivitySummary[]; + /** + * Output only. The pretax overdelivery amount attributable to this budget during the service period, in micros (negative value). + */ + overdeliveryAmountMicros?: string | null; + /** + * Output only. The purchase order number of the account budget. It appears on the invoice PDF as "Purchase order". + */ + purchaseOrderNumber?: string | null; + /** + * Output only. The pretax served amount attributable to this budget during the service period, in micros. This is only useful to reconcile invoice and delivery data. + */ + servedAmountMicros?: string | null; + /** + * Output only. The pretax subtotal amount attributable to this budget during the service period, in micros. + */ + subtotalAmountMicros?: string | null; + /** + * Output only. The tax amount attributable to this budget during the service period, in micros. + */ + taxAmountMicros?: string | null; + /** + * Output only. The total amount attributable to this budget during the service period, in micros. This equals the sum of the account budget subtotal amount and the account budget tax amount. + */ + totalAmountMicros?: string | null; + } + /** + * Represents a summarized view at account level. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Invoice_AccountSummary { + /** + * Output only. The list of adjustment information associated with this account. + */ + adjustmentSummaries?: Schema$GoogleAdsSearchads360V23Resources_Invoice_AdjustmentSummary[]; + /** + * Output only. Pretax billing correction subtotal amount, in micros. + */ + billingCorrectionSubtotalAmountMicros?: string | null; + /** + * Output only. Tax on billing correction, in micros. + */ + billingCorrectionTaxAmountMicros?: string | null; + /** + * Output only. Total billing correction amount, in micros. + */ + billingCorrectionTotalAmountMicros?: string | null; + /** + * Output only. Pretax coupon adjustment subtotal amount, in micros. + */ + couponAdjustmentSubtotalAmountMicros?: string | null; + /** + * Output only. Tax on coupon adjustment, in micros. + */ + couponAdjustmentTaxAmountMicros?: string | null; + /** + * Output only. Total coupon adjustment amount, in micros. + */ + couponAdjustmentTotalAmountMicros?: string | null; + /** + * Output only. The account associated with the account summary. + */ + customer?: string | null; + /** + * Output only. Pretax excess credit adjustment subtotal amount, in micros. + */ + excessCreditAdjustmentSubtotalAmountMicros?: string | null; + /** + * Output only. Tax on excess credit adjustment, in micros. + */ + excessCreditAdjustmentTaxAmountMicros?: string | null; + /** + * Output only. Total excess credit adjustment amount, in micros. + */ + excessCreditAdjustmentTotalAmountMicros?: string | null; + /** + * Output only. Pretax export charge subtotal amount, in micros. + */ + exportChargeSubtotalAmountMicros?: string | null; + /** + * Output only. Tax on export charge, in micros. + */ + exportChargeTaxAmountMicros?: string | null; + /** + * Output only. Total export charge amount, in micros. + */ + exportChargeTotalAmountMicros?: string | null; + /** + * Output only. Pretax regulatory costs subtotal amount, in micros. + */ + regulatoryCostsSubtotalAmountMicros?: string | null; + /** + * Output only. Tax on regulatory costs, in micros. + */ + regulatoryCostsTaxAmountMicros?: string | null; + /** + * Output only. Total regulatory costs amount, in micros. + */ + regulatoryCostsTotalAmountMicros?: string | null; + /** + * Output only. The list of regulatory cost information associated with this account. + */ + regulatoryCostSummaries?: Schema$GoogleAdsSearchads360V23Resources_Invoice_RegulatoryCostSummary[]; + /** + * Output only. Total pretax subtotal amount attributable to the account during the service period, in micros. + */ + subtotalAmountMicros?: string | null; + /** + * Output only. Total tax amount attributable to the account during the service period, in micros. + */ + taxAmountMicros?: string | null; + /** + * Output only. Total amount attributable to the account during the service period, in micros. This equals the sum of the subtotal_amount_micros and tax_amount_micros. + */ + totalAmountMicros?: string | null; + } + /** + * Represents adjustment information associated with an account. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Invoice_AdjustmentSummary { + /** + * Output only. The description of the adjustment. Example: Incentive Adjustment, discount. + */ + adjustmentDescription?: string | null; + /** + * Output only. The amount of the adjustment, in micros. The currency code for this amount is the same as the Invoice.currency_code. + */ + amountMicros?: string | null; + } + /** + * Represents campaign level billable cost information associated with an account budget. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Invoice_CampaignSummary { + /** + * Output only. The amount attributable to this campaign for the given unit of measure during the service period, in micros. The currency code for this amount is the same as the Invoice.currency_code. + */ + amountMicros?: string | null; + /** + * Output only. The description of the campaign. This is generally the same as the campaign name, but may differ. + */ + campaignDescription?: string | null; + /** + * Output only. The quantity served for the given unit of measure. + */ + quantity?: string | null; + /** + * Output only. The unit of measure for the quantity served. + */ + unitOfMeasure?: string | null; + } + /** + * Details about the invalid activity for the invoice that contain additional details about invoice against which corrections are made. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Invoice_InvalidActivitySummary { + /** + * Output only. Invalid activity amount in micros. + */ + amountMicros?: string | null; + /** + * Output only. Original account budget name related to this invalid activity credit. + */ + originalAccountBudgetName?: string | null; + /** + * Output only. Original invoice number related to this invalid activity credit. + */ + originalInvoiceId?: string | null; + /** + * Output only. Original month of service related to this invalid activity credit. + */ + originalMonthOfService?: string | null; + /** + * Output only. Original purchase order number related to this invalid activity credit. + */ + originalPurchaseOrderNumber?: string | null; + /** + * Output only. Original year of service related to this invalid activity credit. + */ + originalYearOfService?: string | null; + } + /** + * Represents regulatory cost information associated with an account. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Invoice_RegulatoryCostSummary { + /** + * Output only. The amount of the regulatory fee, in micros. The currency code for this amount is the same as the Invoice.currency_code. + */ + amountMicros?: string | null; + /** + * Output only. The type of regulatory fee. + */ + regulatoryFeeType?: string | null; + } + /** + * Brand of the product. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductBrand { + /** + * String value of the product brand. + */ + value?: string | null; + } + /** + * One element of a category at a certain level. Top-level categories are at level 1, their children at level 2, and so on. We currently support up to 5 levels. The user must specify a dimension type that indicates the level of the category. All cases of the same subdivision must have the same dimension type (category level). + */ + export interface Schema$GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductCategory { + /** + * ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436 + */ + categoryId?: string | null; + /** + * Indicates the level of the category in the taxonomy. + */ + level?: string | null; + } + /** + * Locality of a product offer. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductChannel { + /** + * Value of the locality. + */ + channel?: string | null; + } + /** + * Condition of a product offer. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductCondition { + /** + * Value of the condition. + */ + condition?: string | null; + } + /** + * Custom attribute of a product offer. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductCustomAttribute { + /** + * Indicates the index of the custom attribute. + */ + index?: string | null; + /** + * String value of the product custom attribute. + */ + value?: string | null; + } + /** + * Item id of a product offer. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductItemId { + /** + * Value of the id. + */ + value?: string | null; + } + /** + * Type of a product offer. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductType { + /** + * Level of the type. + */ + level?: string | null; + /** + * Value of the type. + */ + value?: string | null; + } + /** + * Filters for URLs in a page feed and URLs from the advertiser web domain. Several root nodes with this dimension are allowed in an asset group and their conditions are considered in OR. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_Webpage { + /** + * The webpage conditions are case sensitive and these are and-ed together when evaluated for filtering. All the conditions should be of same type. Example1: for URL1 = www.ads.google.com?ocid=1&euid=2 and URL2 = www.ads.google.com?ocid=1 and with "ocid" and "euid" as url_contains conditions, URL1 will be matched, but URL2 not. Example2 : If URL1 has Label1, Label2 and URL2 has Label2, Label3, then with Label1 and Label2 as custom_label conditions, URL1 will be matched but not URL2. With Label2 as the only custom_label condition then both URL1 and URL2 will be matched. + */ + conditions?: Schema$GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_WebpageCondition[]; + } + /** + * Matching condition for URL filtering. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_WebpageCondition { + /** + * Filters the URLs in a page feed that have this custom label. A custom label can be added to a campaign by creating an AssetSet of type PAGE_FEED and linking it to the campaign using CampaignAssetSet. + */ + customLabel?: string | null; + /** + * Filters the URLs in a page feed and the URLs from the advertiser web domain that contain this string. + */ + urlContains?: string | null; + } + /** + * Localization for the product category. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_ProductCategoryConstant_ProductCategoryLocalization { + /** + * Output only. Two-letter ISO 639-1 language code of the localized category. + */ + languageCode?: string | null; + /** + * Output only. Upper-case two-letter ISO 3166-1 country code of the localized category. + */ + regionCode?: string | null; + /** + * Output only. The name of the category in the specified locale. + */ + value?: string | null; + } + /** + * The impact estimates for a given budget amount. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_RecommendationCampaignBudgetRecommendation_CampaignBudgetRecommendationOption { + /** + * Output only. The budget amount for this option. + */ + budgetAmountMicros?: string | null; + /** + * Output only. The impact estimate if budget is changed to amount specified in this option. + */ + impact?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_RecommendationImpact; + } + /** + * Information about a search term as related to a keyword recommendation. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_RecommendationKeywordRecommendation_SearchTerm { + /** + * Output only. Estimated number of historical weekly searches for this search term. + */ + estimatedWeeklySearchCount?: string | null; + /** + * Output only. The text of the search term. + */ + text?: string | null; + } + /** + * The Target CPA opt-in option with impact estimate. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_RecommendationTargetCpaOptInRecommendation_TargetCpaOptInRecommendationOption { + /** + * Output only. The goal achieved by this option. + */ + goal?: string | null; + /** + * Output only. The impact estimate if this option is selected. + */ + impact?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_RecommendationImpact; + /** + * Output only. The minimum campaign budget, in local currency for the account, required to achieve the target CPA. Amount is specified in micros, where one million is equivalent to one currency unit. + */ + requiredCampaignBudgetAmountMicros?: string | null; + /** + * Output only. Average CPA target. + */ + targetCpaMicros?: string | null; + } + /** + * Wrapper for information about a Google Ads account. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_AccountInfo { + /** + * Output only. The customer ID of the account. + */ + customerId?: string | null; + /** + * Output only. The descriptive name of the account. + */ + descriptiveName?: string | null; + } + /** + * The call asset recommendation. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_CallAssetRecommendation {} + /** + * The callout asset recommendation. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_CalloutAssetRecommendation { + /** + * Output only. New callout extension assets recommended at the campaign level. + */ + recommendedCampaignCalloutAssets?: Schema$GoogleAdsSearchads360V23Resources__Asset[]; + /** + * Output only. New callout extension assets recommended at the customer level. + */ + recommendedCustomerCalloutAssets?: Schema$GoogleAdsSearchads360V23Resources__Asset[]; + } + /** + * A campaign budget shared amongst various budget recommendation types. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_CampaignBudget { + /** + * Output only. Current budget amount. + */ + currentAmountMicros?: string | null; + /** + * Output only. The date when the new budget would start being used. This field will be set for the following recommendation types: FORECASTING_SET_TARGET_ROAS YYYY-MM-DD format, for example, 2018-04-17. + */ + newStartDate?: string | null; + /** + * Output only. Recommended budget amount. + */ + recommendedNewAmountMicros?: string | null; + } + /** + * The budget recommendation for budget constrained campaigns. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_CampaignBudgetRecommendation { + /** + * Output only. The budget amounts and associated impact estimates for some values of possible budget amounts. + */ + budgetOptions?: Schema$GoogleAdsSearchads360V23Resources_RecommendationCampaignBudgetRecommendation_CampaignBudgetRecommendationOption[]; + /** + * Output only. The current budget amount in micros. + */ + currentBudgetAmountMicros?: string | null; + /** + * Output only. The recommended budget amount in micros. + */ + recommendedBudgetAmountMicros?: string | null; + } + /** + * The Custom Audience Opt In recommendation. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_CustomAudienceOptInRecommendation { + /** + * Output only. The list of keywords to use for custom audience creation. + */ + keywords?: Schema$GoogleAdsSearchads360V23Common__KeywordInfo[]; + } + /** + * The Display Expansion opt-in recommendation. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_DisplayExpansionOptInRecommendation {} + /** + * Recommendation to enable dynamic image extensions on the account, allowing Google to find the best images from ad landing pages and complement text ads. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_DynamicImageExtensionOptInRecommendation {} + /** + * The Enhanced Cost-Per-Click Opt-In recommendation. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_EnhancedCpcOptInRecommendation {} + /** + * The set target CPA recommendations. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_ForecastingSetTargetCpaRecommendation { + /** + * Output only. The campaign budget. + */ + campaignBudget?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_CampaignBudget; + /** + * Output only. The recommended target CPA. + */ + recommendedTargetCpaMicros?: string | null; + } + /** + * The forecasting set target ROAS recommendation. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_ForecastingSetTargetRoasRecommendation { + /** + * Output only. The campaign budget. + */ + campaignBudget?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_CampaignBudget; + /** + * Output only. The recommended target ROAS (revenue per unit of spend). The value is between 0.01 and 1000.0, inclusive. + */ + recommendedTargetRoas?: number | null; + } + /** + * The improve Demand Gen ad strength recommendation. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_ImproveDemandGenAdStrengthRecommendation { + /** + * Output only. The resource name of the ad that can be improved. + */ + ad?: string | null; + /** + * Output only. The current ad strength. + */ + adStrength?: string | null; + /** + * Output only. A list of recommendations to improve the ad strength. + */ + demandGenAssetActionItems?: string[] | null; + } + /** + * Recommendation to deploy Google Tag on more pages. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_ImproveGoogleTagCoverageRecommendation {} + /** + * Recommendation to improve the asset group strength of a Performance Max campaign to an "Excellent" rating. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_ImprovePerformanceMaxAdStrengthRecommendation { + /** + * Output only. The current ad strength score of the asset group. + */ + adStrength?: string | null; + /** + * Output only. The asset group resource name. + */ + assetGroup?: string | null; + } + /** + * The keyword match type recommendation. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_KeywordMatchTypeRecommendation { + /** + * Output only. The existing keyword where the match type should be more broad. + */ + keyword?: Schema$GoogleAdsSearchads360V23Common__KeywordInfo; + /** + * Output only. The recommended new match type. + */ + recommendedMatchType?: string | null; + } + /** + * The keyword recommendation. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_KeywordRecommendation { + /** + * Output only. The recommended keyword. + */ + keyword?: Schema$GoogleAdsSearchads360V23Common__KeywordInfo; + /** + * Output only. The recommended CPC (cost-per-click) bid. + */ + recommendedCpcBidMicros?: string | null; + /** + * Output only. A list of search terms this keyword matches. The same search term may be repeated for multiple keywords. + */ + searchTerms?: Schema$GoogleAdsSearchads360V23Resources_RecommendationKeywordRecommendation_SearchTerm[]; + } + /** + * The lead form asset recommendation. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_LeadFormAssetRecommendation {} + /** + * Recommendation to lower Target ROAS. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_LowerTargetRoasRecommendation { + /** + * Output only. The relevant information describing the recommended target adjustment. + */ + targetAdjustment?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_TargetAdjustmentInfo; + } + /** + * The Maximize Clicks opt-in recommendation. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_MaximizeClicksOptInRecommendation { + /** + * Output only. The recommended new budget amount. Only set if the current budget is too high. + */ + recommendedBudgetAmountMicros?: string | null; + } + /** + * The Maximize Conversions Opt-In recommendation. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_MaximizeConversionsOptInRecommendation { + /** + * Output only. The recommended new budget amount. + */ + recommendedBudgetAmountMicros?: string | null; + } + /** + * Recommendation to opt into Maximize Conversion Value bidding strategy. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_MaximizeConversionValueOptInRecommendation {} + /** + * The Merchant Center account details. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_MerchantInfo { + /** + * Output only. The Merchant Center account ID. + */ + id?: string | null; + /** + * Output only. Whether the Merchant Center account is a Multi-Client account (MCA). + */ + multiClient?: boolean | null; + /** + * Output only. The name of the Merchant Center account. + */ + name?: string | null; + } + /** + * The Dynamic Search Ads to Performance Max migration recommendation. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_MigrateDynamicSearchAdsCampaignToPerformanceMaxRecommendation { + /** + * Output only. A link to the Google Ads UI where the customer can manually apply the recommendation. + */ + applyLink?: string | null; + } + /** + * The move unused budget recommendation. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_MoveUnusedBudgetRecommendation { + /** + * Output only. The recommendation for the constrained budget to increase. + */ + budgetRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_CampaignBudgetRecommendation; + /** + * Output only. The excess budget's resource_name. + */ + excessCampaignBudget?: string | null; + } + /** + * The Optimize Ad Rotation recommendation. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_OptimizeAdRotationRecommendation {} + /** + * Recommendation to turn on Final URL expansion for your Performance Max campaigns. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_PerformanceMaxFinalUrlOptInRecommendation {} + /** + * The Performance Max Opt In recommendation. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_PerformanceMaxOptInRecommendation {} + /** + * The raise target CPA bid too low recommendation. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_RaiseTargetCpaBidTooLowRecommendation { + /** + * Output only. The current average target CPA of the campaign, in micros of customer local currency. + */ + averageTargetCpaMicros?: string | null; + /** + * Output only. A number greater than 1.0 indicating the factor by which we recommend the target CPA should be increased. + */ + recommendedTargetMultiplier?: number | null; + } + /** + * Recommendation to raise Target CPA. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_RaiseTargetCpaRecommendation { + /** + * Output only. Represents the goal towards which the bidding strategy should optimize. Only populated for App Campaigns. + */ + appBiddingGoal?: string | null; + /** + * Output only. The relevant information describing the recommended target adjustment. + */ + targetAdjustment?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_TargetAdjustmentInfo; + } + /** + * The impact of making the change as described in the recommendation. Some types of recommendations may not have impact information. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_RecommendationImpact { + /** + * Output only. Base metrics at the time the recommendation was generated. + */ + baseMetrics?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_RecommendationMetrics; + /** + * Output only. Estimated metrics if the recommendation is applied. + */ + potentialMetrics?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_RecommendationMetrics; + } + /** + * Weekly account performance metrics. For some recommendation types, these are averaged over the past 90-day period and hence can be fractional. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_RecommendationMetrics { + /** + * Output only. Number of ad clicks. + */ + clicks?: number | null; + /** + * Output only. Number of conversions. + */ + conversions?: number | null; + /** + * Output only. Sum of the conversion value of the conversions. + */ + conversionsValue?: number | null; + /** + * Output only. Cost (in micros) for advertising, in the local currency for the account. + */ + costMicros?: string | null; + /** + * Output only. Number of ad impressions. + */ + impressions?: number | null; + /** + * Output only. Number of video views for a video ad campaign. + */ + videoViews?: number | null; + } + /** + * The recommendation to update a customer list that hasn't been updated in the last 90 days. The customer receiving the recommendation is not necessarily the owner account. The owner account should update the customer list. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_RefreshCustomerMatchListRecommendation { + /** + * Output only. Days since last refresh. + */ + daysSinceLastRefresh?: string | null; + /** + * Output only. The owner account. This is the account that should update the customer list. + */ + ownerAccount?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_AccountInfo; + /** + * Output only. User lists can be shared with other accounts by the owner. targeting_accounts_count is the number of those accounts that can use it for targeting. + */ + targetingAccountsCount?: string | null; + /** + * Output only. The top spending account. + */ + topSpendingAccount?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_AccountInfo[]; + /** + * Output only. The user list ID. + */ + userListId?: string | null; + /** + * Output only. The name of the list. + */ + userListName?: string | null; + } + /** + * The add responsive search ad asset recommendation. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_ResponsiveSearchAdAssetRecommendation { + /** + * Output only. The current ad to be updated. + */ + currentAd?: Schema$GoogleAdsSearchads360V23Resources__Ad; + /** + * Output only. The recommended assets. This is populated only with the new headlines and/or descriptions, and is otherwise empty. + */ + recommendedAssets?: Schema$GoogleAdsSearchads360V23Resources__Ad; + } + /** + * The responsive search ad improve ad strength recommendation. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_ResponsiveSearchAdImproveAdStrengthRecommendation { + /** + * Output only. The current ad to be updated. + */ + currentAd?: Schema$GoogleAdsSearchads360V23Resources__Ad; + /** + * Output only. The updated ad. + */ + recommendedAd?: Schema$GoogleAdsSearchads360V23Resources__Ad; + } + /** + * The add responsive search ad recommendation. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_ResponsiveSearchAdRecommendation { + /** + * Output only. Recommended ad. + */ + ad?: Schema$GoogleAdsSearchads360V23Resources__Ad; + } + /** + * The Search Partners Opt-In recommendation. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_SearchPartnersOptInRecommendation {} + /** + * The shopping recommendation to add products to a Shopping Campaign Inventory. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_ShoppingAddProductsToCampaignRecommendation { + /** + * Output only. The feed label for the campaign. + */ + feedLabel?: string | null; + /** + * Output only. The details of the Merchant Center account. + */ + merchant?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_MerchantInfo; + /** + * Output only. The reason why no products are attached to the campaign. + */ + reason?: string | null; + } + /** + * The shopping recommendation to fix disapproved products in a Shopping Campaign Inventory. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_ShoppingFixDisapprovedProductsRecommendation { + /** + * Output only. The numbers of products of the campaign that are disapproved. + */ + disapprovedProductsCount?: string | null; + /** + * Output only. The feed label for the campaign. + */ + feedLabel?: string | null; + /** + * Output only. The details of the Merchant Center account. + */ + merchant?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_MerchantInfo; + /** + * Output only. The number of products of the campaign. + */ + productsCount?: string | null; + } + /** + * The shopping recommendation to fix Merchant Center account suspension issues. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_ShoppingMerchantCenterAccountSuspensionRecommendation { + /** + * Output only. The feed label of the campaign for which the suspension happened. + */ + feedLabel?: string | null; + /** + * Output only. The details of the Merchant Center account. + */ + merchant?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_MerchantInfo; + } + /** + * The shopping recommendation to migrate Regular Shopping Campaign targeted offers to Performance Max campaigns. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_ShoppingMigrateRegularShoppingCampaignOffersToPerformanceMaxRecommendation { + /** + * Output only. The feed label of the offers targeted by the campaigns sharing this suggestion. + */ + feedLabel?: string | null; + /** + * Output only. The details of the Merchant Center account. + */ + merchant?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_MerchantInfo; + } + /** + * The shopping recommendation to add an attribute to offers that are demoted because it is missing. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_ShoppingOfferAttributeRecommendation { + /** + * Output only. The number of online, servable offers that are demoted for missing attributes. Visit the Merchant Center for more details. + */ + demotedOffersCount?: string | null; + /** + * Output only. The campaign feed label. + */ + feedLabel?: string | null; + /** + * Output only. The details of the Merchant Center account. + */ + merchant?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_MerchantInfo; + /** + * Output only. The number of online, servable offers. + */ + offersCount?: string | null; + } + /** + * The shopping recommendation to create a catch-all campaign that targets all offers. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_ShoppingTargetAllOffersRecommendation { + /** + * Output only. The offer feed label. + */ + feedLabel?: string | null; + /** + * Output only. The details of the Merchant Center account. + */ + merchant?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_MerchantInfo; + /** + * Output only. The number of untargeted offers. + */ + untargetedOffersCount?: string | null; + } + /** + * The sitelink asset recommendation. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_SitelinkAssetRecommendation { + /** + * Output only. New sitelink assets recommended at the campaign level. + */ + recommendedCampaignSitelinkAssets?: Schema$GoogleAdsSearchads360V23Resources__Asset[]; + /** + * Output only. New sitelink assets recommended at the customer level. + */ + recommendedCustomerSitelinkAssets?: Schema$GoogleAdsSearchads360V23Resources__Asset[]; + } + /** + * Information of a target adjustment recommendation. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_TargetAdjustmentInfo { + /** + * Output only. The current average target of the campaign or portfolio targeted by this recommendation. + */ + currentAverageTargetMicros?: string | null; + /** + * Output only. The factor by which we recommend the target to be adjusted by. + */ + recommendedTargetMultiplier?: number | null; + /** + * Output only. The shared set resource name of the portfolio bidding strategy where the target is defined. Only populated if the recommendation is portfolio level. + */ + sharedSet?: string | null; + } + /** + * The Target CPA opt-in recommendation. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_TargetCpaOptInRecommendation { + /** + * Output only. The available goals and corresponding options for Target CPA strategy. + */ + options?: Schema$GoogleAdsSearchads360V23Resources_RecommendationTargetCpaOptInRecommendation_TargetCpaOptInRecommendationOption[]; + /** + * Output only. The recommended average CPA target. See required budget amount and impact of using this recommendation in options list. + */ + recommendedTargetCpaMicros?: string | null; + } + /** + * The Target ROAS opt-in recommendation. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_TargetRoasOptInRecommendation { + /** + * Output only. The recommended target ROAS (revenue per unit of spend). The value is between 0.01 and 1000.0, inclusive. + */ + recommendedTargetRoas?: number | null; + /** + * Output only. The minimum campaign budget, in local currency for the account, required to achieve the target ROAS. Amount is specified in micros, where one million is equivalent to one currency unit. + */ + requiredCampaignBudgetAmountMicros?: string | null; + } + /** + * The text ad recommendation. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_TextAdRecommendation { + /** + * Output only. Recommended ad. + */ + ad?: Schema$GoogleAdsSearchads360V23Resources__Ad; + /** + * Output only. Date, if present, is the earliest when the recommendation will be auto applied. YYYY-MM-DD format, for example, 2018-04-17. + */ + autoApplyDate?: string | null; + /** + * Output only. Creation date of the recommended ad. YYYY-MM-DD format, for example, 2018-04-17. + */ + creationDate?: string | null; + } + /** + * The Upgrade Local campaign to Performance Max campaign recommendation. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_UpgradeLocalCampaignToPerformanceMaxRecommendation {} + /** + * The upgrade a Smart Shopping campaign to a Performance Max campaign recommendation. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_UpgradeSmartShoppingCampaignToPerformanceMaxRecommendation { + /** + * Output only. ID of Merchant Center account. + */ + merchantId?: string | null; + /** + * Output only. Country whose products from merchant's inventory should be included. + */ + salesCountryCode?: string | null; + } + /** + * The use broad match keyword recommendation. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_Recommendation_UseBroadMatchKeywordRecommendation { + /** + * Output only. Total number of keywords in the campaign. + */ + campaignKeywordsCount?: string | null; + /** + * Output only. Whether the associated campaign uses a shared budget. + */ + campaignUsesSharedBudget?: boolean | null; + /** + * Output only. Sample of keywords to be expanded to Broad Match. + */ + keyword?: Schema$GoogleAdsSearchads360V23Common__KeywordInfo[]; + /** + * Output only. The budget recommended to avoid becoming budget constrained after applying the recommendation. + */ + requiredCampaignBudgetAmountMicros?: string | null; + /** + * Output only. Total number of keywords to be expanded to Broad Match in the campaign. + */ + suggestedKeywordsCount?: string | null; + } + /** + * An issue affecting whether a product can show in ads. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_ShoppingProduct_ProductIssue { + /** + * Output only. The severity of the issue in Google Ads. + */ + adsSeverity?: string | null; + /** + * Output only. List of upper-case two-letter ISO 3166-1 codes of the regions affected by the issue. If empty, all regions are affected. + */ + affectedRegions?: string[] | null; + /** + * Output only. The name of the product's attribute, if any, that triggered the issue. + */ + attributeName?: string | null; + /** + * Output only. The short description of the issue in English. + */ + description?: string | null; + /** + * Output only. The detailed description of the issue in English. + */ + detail?: string | null; + /** + * Output only. The URL of the Help Center article for the issue. + */ + documentation?: string | null; + /** + * Output only. The error code that identifies the issue. + */ + errorCode?: string | null; + } + /** + * Settings for configuring a business profile optimized for ads as this campaign's landing page. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_SmartCampaignSetting_AdOptimizedBusinessProfileSetting { + /** + * Enabling a lead form on your business profile enables prospective customers to contact your business by filling out a simple form, and you'll receive their information through email. + */ + includeLeadForm?: boolean | null; + } + /** + * Phone number and country code in smart campaign settings. + */ + export interface Schema$GoogleAdsSearchads360V23Resources_SmartCampaignSetting_PhoneNumber { + /** + * Upper-case, two-letter country code as defined by ISO-3166. + */ + countryCode?: string | null; + /** + * Phone number of the smart campaign. + */ + phoneNumber?: string | null; + } + /** + * Represents a view of BiddingStrategies owned by and shared with the customer. In contrast to BiddingStrategy, this resource includes strategies owned by managers of the customer and shared with this customer - in addition to strategies owned by this customer. This resource does not provide metrics and only exposes a limited subset of the BiddingStrategy attributes. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__AccessibleBiddingStrategy { + /** + * Output only. The ID of the bidding strategy. + */ + id?: string | null; + /** + * Output only. An automated bidding strategy to help get the most conversions for your campaigns while spending your budget. + */ + maximizeConversions?: Schema$GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_MaximizeConversions; + /** + * Output only. An automated bidding strategy to help get the most conversion value for your campaigns while spending your budget. + */ + maximizeConversionValue?: Schema$GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_MaximizeConversionValue; + /** + * Output only. The name of the bidding strategy. + */ + name?: string | null; + /** + * Output only. The ID of the Customer which owns the bidding strategy. + */ + ownerCustomerId?: string | null; + /** + * Output only. descriptive_name of the Customer which owns the bidding strategy. + */ + ownerDescriptiveName?: string | null; + /** + * Output only. The resource name of the accessible bidding strategy. AccessibleBiddingStrategy resource names have the form: `customers/{customer_id\}/accessibleBiddingStrategies/{bidding_strategy_id\}` + */ + resourceName?: string | null; + /** + * Output only. A bidding strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set. + */ + targetCpa?: Schema$GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_TargetCpa; + /** + * Output only. A bidding strategy that automatically optimizes towards a chosen percentage of impressions. + */ + targetImpressionShare?: Schema$GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_TargetImpressionShare; + /** + * Output only. A bidding strategy that helps you maximize revenue while averaging a specific target Return On Ad Spend (ROAS). + */ + targetRoas?: Schema$GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_TargetRoas; + /** + * Output only. A bid strategy that sets your bids to help get as many clicks as possible within your budget. + */ + targetSpend?: Schema$GoogleAdsSearchads360V23Resources_AccessibleBiddingStrategy_TargetSpend; + /** + * Output only. The type of the bidding strategy. + */ + type?: string | null; + } + /** + * An account-level budget. It contains information about the budget itself, as well as the most recently approved changes to the budget and proposed changes that are pending approval. The proposed changes that are pending approval, if any, are found in 'pending_proposal'. Effective details about the budget are found in fields prefixed 'approved_', 'adjusted_' and those without a prefix. Since some effective details may differ from what the user had originally requested (for example, spending limit), these differences are juxtaposed through 'proposed_', 'approved_', and possibly 'adjusted_' fields. This resource is mutated using AccountBudgetProposal and cannot be mutated directly. A budget may have at most one pending proposal at any given time. It is read through pending_proposal. Once approved, a budget may be subject to adjustments, such as credit adjustments. Adjustments create differences between the 'approved' and 'adjusted' fields, which would otherwise be identical. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__AccountBudget { + /** + * Output only. The adjusted spending limit in micros. One million is equivalent to one unit. If the approved spending limit is finite, the adjusted spending limit may vary depending on the types of adjustments applied to this budget, if applicable. The different kinds of adjustments are described here: https://support.google.com/google-ads/answer/1704323 For example, a debit adjustment reduces how much the account is allowed to spend. + */ + adjustedSpendingLimitMicros?: string | null; + /** + * Output only. The adjusted spending limit as a well-defined type, for example, INFINITE. This will only be populated if the adjusted spending limit is INFINITE, which is guaranteed to be true if the approved spending limit is INFINITE. + */ + adjustedSpendingLimitType?: string | null; + /** + * Output only. The value of Ads that have been served, in micros. This includes overdelivery costs, in which case a credit might be automatically applied to the budget (see total_adjustments_micros). + */ + amountServedMicros?: string | null; + /** + * Output only. The approved end time in yyyy-MM-dd HH:mm:ss format. + */ + approvedEndDateTime?: string | null; + /** + * Output only. The approved end time as a well-defined type, for example, FOREVER. + */ + approvedEndTimeType?: string | null; + /** + * Output only. The approved spending limit in micros. One million is equivalent to one unit. This will only be populated if the proposed spending limit is finite, and will always be greater than or equal to the proposed spending limit. + */ + approvedSpendingLimitMicros?: string | null; + /** + * Output only. The approved spending limit as a well-defined type, for example, INFINITE. This will only be populated if the approved spending limit is INFINITE. + */ + approvedSpendingLimitType?: string | null; + /** + * Output only. The approved start time of the account-level budget in yyyy-MM-dd HH:mm:ss format. For example, if a new budget is approved after the proposed start time, the approved start time is the time of approval. + */ + approvedStartDateTime?: string | null; + /** + * Output only. The resource name of the billing setup associated with this account-level budget. BillingSetup resource names have the form: `customers/{customer_id\}/billingSetups/{billing_setup_id\}` + */ + billingSetup?: string | null; + /** + * Output only. The ID of the account-level budget. + */ + id?: string | null; + /** + * Output only. The name of the account-level budget. + */ + name?: string | null; + /** + * Output only. Notes associated with the budget. + */ + notes?: string | null; + /** + * Output only. The pending proposal to modify this budget, if applicable. + */ + pendingProposal?: Schema$GoogleAdsSearchads360V23Resources_AccountBudget_PendingAccountBudgetProposal; + /** + * Output only. The proposed end time in yyyy-MM-dd HH:mm:ss format. + */ + proposedEndDateTime?: string | null; + /** + * Output only. The proposed end time as a well-defined type, for example, FOREVER. + */ + proposedEndTimeType?: string | null; + /** + * Output only. The proposed spending limit in micros. One million is equivalent to one unit. + */ + proposedSpendingLimitMicros?: string | null; + /** + * Output only. The proposed spending limit as a well-defined type, for example, INFINITE. + */ + proposedSpendingLimitType?: string | null; + /** + * Output only. The proposed start time of the account-level budget in yyyy-MM-dd HH:mm:ss format. If a start time type of NOW was proposed, this is the time of request. + */ + proposedStartDateTime?: string | null; + /** + * Output only. A purchase order number is a value that helps users reference this budget in their monthly invoices. + */ + purchaseOrderNumber?: string | null; + /** + * Output only. The resource name of the account-level budget. AccountBudget resource names have the form: `customers/{customer_id\}/accountBudgets/{account_budget_id\}` + */ + resourceName?: string | null; + /** + * Output only. The status of this account-level budget. + */ + status?: string | null; + /** + * Output only. The total adjustments amount. An example of an adjustment is courtesy credits. + */ + totalAdjustmentsMicros?: string | null; + } + /** + * An account-level budget proposal. All fields prefixed with 'proposed' may not necessarily be applied directly. For example, proposed spending limits may be adjusted before their application. This is true if the 'proposed' field has an 'approved' counterpart, for example, spending limits. Note that the proposal type (proposal_type) changes which fields are required and which must remain empty. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__AccountBudgetProposal { + /** + * Immutable. The resource name of the account-level budget associated with this proposal. + */ + accountBudget?: string | null; + /** + * Output only. The date time when this account-level budget was approved, if applicable. + */ + approvalDateTime?: string | null; + /** + * Output only. The approved end date time in yyyy-mm-dd hh:mm:ss format. + */ + approvedEndDateTime?: string | null; + /** + * Output only. The approved end date time as a well-defined type, for example, FOREVER. + */ + approvedEndTimeType?: string | null; + /** + * Output only. The approved spending limit in micros. One million is equivalent to one unit. + */ + approvedSpendingLimitMicros?: string | null; + /** + * Output only. The approved spending limit as a well-defined type, for example, INFINITE. + */ + approvedSpendingLimitType?: string | null; + /** + * Output only. The approved start date time in yyyy-mm-dd hh:mm:ss format. + */ + approvedStartDateTime?: string | null; + /** + * Immutable. The resource name of the billing setup associated with this proposal. + */ + billingSetup?: string | null; + /** + * Output only. The date time when this account-level budget proposal was created, which is not the same as its approval date time, if applicable. + */ + creationDateTime?: string | null; + /** + * Output only. The ID of the proposal. + */ + id?: string | null; + /** + * Immutable. The type of this proposal, for example, END to end the budget associated with this proposal. + */ + proposalType?: string | null; + /** + * Immutable. The proposed end date time in yyyy-mm-dd hh:mm:ss format. + */ + proposedEndDateTime?: string | null; + /** + * Immutable. The proposed end date time as a well-defined type, for example, FOREVER. + */ + proposedEndTimeType?: string | null; + /** + * Immutable. The name to assign to the account-level budget. + */ + proposedName?: string | null; + /** + * Immutable. Notes associated with this budget. + */ + proposedNotes?: string | null; + /** + * Immutable. A purchase order number is a value that enables the user to help them reference this budget in their monthly invoices. + */ + proposedPurchaseOrderNumber?: string | null; + /** + * Immutable. The proposed spending limit in micros. One million is equivalent to one unit. + */ + proposedSpendingLimitMicros?: string | null; + /** + * Immutable. The proposed spending limit as a well-defined type, for example, INFINITE. + */ + proposedSpendingLimitType?: string | null; + /** + * Immutable. The proposed start date time in yyyy-mm-dd hh:mm:ss format. + */ + proposedStartDateTime?: string | null; + /** + * Immutable. The proposed start date time as a well-defined type, for example, NOW. + */ + proposedStartTimeType?: string | null; + /** + * Immutable. The resource name of the proposal. AccountBudgetProposal resource names have the form: `customers/{customer_id\}/accountBudgetProposals/{account_budget_proposal_id\}` + */ + resourceName?: string | null; + /** + * Output only. The status of this proposal. When a new proposal is created, the status defaults to PENDING. + */ + status?: string | null; + } + /** + * Represents the data sharing connection between a Google Ads account and another account + */ + export interface Schema$GoogleAdsSearchads360V23Resources__AccountLink { + /** + * Output only. The ID of the link. This field is read only. + */ + accountLinkId?: string | null; + /** + * Immutable. Resource name of the account link. AccountLink resource names have the form: `customers/{customer_id\}/accountLinks/{account_link_id\}` + */ + resourceName?: string | null; + /** + * The status of the link. + */ + status?: string | null; + /** + * Immutable. A third party app analytics link. + */ + thirdPartyAppAnalytics?: Schema$GoogleAdsSearchads360V23Resources__ThirdPartyAppAnalyticsLinkIdentifier; + /** + * Output only. The type of the linked account. + */ + type?: string | null; + } + /** + * An ad. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__Ad { + /** + * Output only. Indicates if this ad was automatically added by Google Ads and not by a user. For example, this could happen when ads are automatically created as suggestions for new ads based on knowledge of how existing ads are performing. + */ + addedByGoogleAds?: boolean | null; + /** + * Details pertaining to an app ad. + */ + appAd?: Schema$GoogleAdsSearchads360V23Common__AppAdInfo; + /** + * Details pertaining to an app engagement ad. + */ + appEngagementAd?: Schema$GoogleAdsSearchads360V23Common__AppEngagementAdInfo; + /** + * Details pertaining to an app pre-registration ad. + */ + appPreRegistrationAd?: Schema$GoogleAdsSearchads360V23Common__AppPreRegistrationAdInfo; + /** + * Details pertaining to a Demand Gen carousel ad. + */ + demandGenCarouselAd?: Schema$GoogleAdsSearchads360V23Common__DemandGenCarouselAdInfo; + /** + * Details pertaining to a Demand Gen multi asset ad. + */ + demandGenMultiAssetAd?: Schema$GoogleAdsSearchads360V23Common__DemandGenMultiAssetAdInfo; + /** + * Details pertaining to a Demand Gen product ad. + */ + demandGenProductAd?: Schema$GoogleAdsSearchads360V23Common__DemandGenProductAdInfo; + /** + * Details pertaining to a Demand Gen video responsive ad. + */ + demandGenVideoResponsiveAd?: Schema$GoogleAdsSearchads360V23Common__DemandGenVideoResponsiveAdInfo; + /** + * The device preference for the ad. You can only specify a preference for mobile devices. When this preference is set the ad will be preferred over other ads when being displayed on a mobile device. The ad can still be displayed on other device types, for example, if no other ads are available. If unspecified (no device preference), all devices are targeted. This is only supported by some ad types. + */ + devicePreference?: string | null; + /** + * Details pertaining to a display upload ad. + */ + displayUploadAd?: Schema$GoogleAdsSearchads360V23Common__DisplayUploadAdInfo; + /** + * The URL that appears in the ad description for some ad formats. + */ + displayUrl?: string | null; + /** + * Immutable. Details pertaining to an Expanded Dynamic Search Ad. This type of ad has its headline, final URLs, and display URL auto-generated at serving time according to domain name specific information provided by `dynamic_search_ads_setting` linked at the campaign level. + */ + expandedDynamicSearchAd?: Schema$GoogleAdsSearchads360V23Common__ExpandedDynamicSearchAdInfo; + /** + * Details pertaining to an expanded text ad. + */ + expandedTextAd?: Schema$GoogleAdsSearchads360V23Common__ExpandedTextAdInfo; + /** + * A list of final app URLs that will be used on mobile if the user has the specific app installed. + */ + finalAppUrls?: Schema$GoogleAdsSearchads360V23Common__FinalAppUrl[]; + /** + * The list of possible final mobile URLs after all cross-domain redirects for the ad. + */ + finalMobileUrls?: string[] | null; + /** + * The list of possible final URLs after all cross-domain redirects for the ad. + */ + finalUrls?: string[] | null; + /** + * The suffix to use when constructing a final URL. + */ + finalUrlSuffix?: string | null; + /** + * Details pertaining to a hotel ad. + */ + hotelAd?: Schema$GoogleAdsSearchads360V23Common__HotelAdInfo; + /** + * Output only. The ID of the ad. + */ + id?: string | null; + /** + * Immutable. Details pertaining to an Image ad. + */ + imageAd?: Schema$GoogleAdsSearchads360V23Common__ImageAdInfo; + /** + * Immutable. Details pertaining to a legacy app install ad. + */ + legacyAppInstallAd?: Schema$GoogleAdsSearchads360V23Common__LegacyAppInstallAdInfo; + /** + * Details pertaining to a legacy responsive display ad. + */ + legacyResponsiveDisplayAd?: Schema$GoogleAdsSearchads360V23Common__LegacyResponsiveDisplayAdInfo; + /** + * Details pertaining to a local ad. + */ + localAd?: Schema$GoogleAdsSearchads360V23Common__LocalAdInfo; + /** + * Immutable. The name of the ad. This is only used to be able to identify the ad. It does not need to be unique and does not affect the served ad. + */ + name?: string | null; + /** + * Immutable. Details pertaining to a product ad. + */ + productAd?: Schema$GoogleAdsSearchads360V23Common__SearchAds360ProductAdInfo; + /** + * Immutable. The resource name of the ad. Ad resource names have the form: `customers/{customer_id\}/ads/{ad_id\}` + */ + resourceName?: string | null; + /** + * Details pertaining to a responsive display ad. + */ + responsiveDisplayAd?: Schema$GoogleAdsSearchads360V23Common__ResponsiveDisplayAdInfo; + /** + * Details pertaining to a responsive search ad. + */ + responsiveSearchAd?: Schema$GoogleAdsSearchads360V23Common__ResponsiveSearchAdInfo; + /** + * Immutable. Details pertaining to an expanded dynamic search ad. + */ + searchAds360ExpandedDynamicSearchAd?: Schema$GoogleAdsSearchads360V23Common__SearchAds360ExpandedDynamicSearchAdInfo; + /** + * Immutable. Details pertaining to an expanded text ad. + */ + searchAds360ExpandedTextAd?: Schema$GoogleAdsSearchads360V23Common__SearchAds360ExpandedTextAdInfo; + /** + * Immutable. Details pertaining to a responsive search ad. + */ + searchAds360ResponsiveSearchAd?: Schema$GoogleAdsSearchads360V23Common__SearchAds360ResponsiveSearchAdInfo; + /** + * Immutable. Details pertaining to a text ad. + */ + searchAds360TextAd?: Schema$GoogleAdsSearchads360V23Common__SearchAds360TextAdInfo; + /** + * Details pertaining to a Shopping Comparison Listing ad. + */ + shoppingComparisonListingAd?: Schema$GoogleAdsSearchads360V23Common__ShoppingComparisonListingAdInfo; + /** + * Details pertaining to a Shopping product ad. + */ + shoppingProductAd?: Schema$GoogleAdsSearchads360V23Common__ShoppingProductAdInfo; + /** + * Details pertaining to a Smart Shopping ad. + */ + shoppingSmartAd?: Schema$GoogleAdsSearchads360V23Common__ShoppingSmartAdInfo; + /** + * Details pertaining to a Smart campaign ad. + */ + smartCampaignAd?: Schema$GoogleAdsSearchads360V23Common__SmartCampaignAdInfo; + /** + * Output only. If this ad is system managed, then this field will indicate the source. This field is read-only. + */ + systemManagedResourceSource?: string | null; + /** + * Immutable. Details pertaining to a text ad. + */ + textAd?: Schema$GoogleAdsSearchads360V23Common__TextAdInfo; + /** + * The URL template for constructing a tracking URL. + */ + trackingUrlTemplate?: string | null; + /** + * Details pertaining to a travel ad. + */ + travelAd?: Schema$GoogleAdsSearchads360V23Common__TravelAdInfo; + /** + * Output only. The type of ad. + */ + type?: string | null; + /** + * Additional URLs for the ad that are tagged with a unique identifier that can be referenced from other fields in the ad. + */ + urlCollections?: Schema$GoogleAdsSearchads360V23Common__UrlCollection[]; + /** + * The list of mappings that can be used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`. For mutates, use url custom parameter operations. + */ + urlCustomParameters?: Schema$GoogleAdsSearchads360V23Common__CustomParameter[]; + } + /** + * An ad group. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__AdGroup { + /** + * The ad rotation mode of the ad group. + */ + adRotationMode?: string | null; + /** + * Settings for AI Max feature in standard search adgroups. + */ + aiMaxAdGroupSetting?: Schema$GoogleAdsSearchads360V23Resources_AdGroup_AiMaxAdGroupSetting; + /** + * Immutable. Setting for audience related features. + */ + audienceSetting?: Schema$GoogleAdsSearchads360V23Resources_AdGroup_AudienceSetting; + /** + * Output only. For draft or experiment ad groups, this field is the resource name of the base ad group from which this ad group was created. If a draft or experiment ad group does not have a base ad group, then this field is null. For base ad groups, this field equals the ad group resource name. This field is read-only. + */ + baseAdGroup?: string | null; + /** + * Immutable. The campaign to which the ad group belongs. + */ + campaign?: string | null; + /** + * The maximum CPC (cost-per-click) bid. This field is used when the ad group's effective bidding strategy is Manual CPC. This field is not applicable and will be ignored if the ad group's campaign is using a portfolio bidding strategy. + */ + cpcBidMicros?: string | null; + /** + * The maximum CPM (cost-per-thousand viewable impressions) bid. + */ + cpmBidMicros?: string | null; + /** + * The CPV (cost-per-view) bid. + */ + cpvBidMicros?: string | null; + /** + * Output only. The timestamp when this ad_group was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format. + */ + creationTime?: string | null; + /** + * Settings for Demand Gen ad groups. + */ + demandGenAdGroupSettings?: Schema$GoogleAdsSearchads360V23Resources_AdGroup_DemandGenAdGroupSettings; + /** + * Lets advertisers specify a targeting dimension on which to place absolute bids. This is only applicable for campaigns that target only the display network and not search. + */ + displayCustomBidDimension?: string | null; + /** + * Output only. Value will be same as that of the CPC (cost-per-click) bid value when the bidding strategy is one of manual cpc, enhanced cpc, page one promoted or target outrank share, otherwise the value will be null. + */ + effectiveCpcBidMicros?: string | null; + /** + * Output only. The resource names of effective labels attached to this ad group. An effective label is a label inherited or directly assigned to this ad group. + */ + effectiveLabels?: string[] | null; + /** + * Output only. The effective target CPA (cost-per-acquisition). This field is read-only. + */ + effectiveTargetCpaMicros?: string | null; + /** + * Output only. Source of the effective target CPA. This field is read-only. + */ + effectiveTargetCpaSource?: string | null; + /** + * Output only. The effective target CPC (cost-per-click). This field is read-only. + */ + effectiveTargetCpc?: string | null; + /** + * Output only. Source of the effective target CPC. This field is read-only. + */ + effectiveTargetCpcSource?: string | null; + /** + * Output only. The effective target ROAS (return-on-ad-spend). This field is read-only. + */ + effectiveTargetRoas?: number | null; + /** + * Output only. Source of the effective target ROAS. This field is read-only. + */ + effectiveTargetRoasSource?: string | null; + /** + * Output only. Date when the ad group ends serving ads. By default, the ad group ends on the ad group's end date. If this field is set, then the ad group ends at the end of the specified date in the customer's time zone. This field is only available for Microsoft Advertising and Facebook gateway accounts. Format: YYYY-MM-DD Example: 2019-03-14 + */ + endDate?: string | null; + /** + * Output only. ID of the ad group in the external engine account. This field is for non-Google Ads account only, for example, Yahoo Japan, Microsoft, Baidu etc. For Google Ads entity, use "ad_group.id" instead. + */ + engineId?: string | null; + /** + * Output only. The Engine Status for ad group. + */ + engineStatus?: string | null; + /** + * When this value is true, demographics will be excluded from the types of targeting which are expanded when optimized_targeting_enabled is true. When optimized_targeting_enabled is false, this field is ignored. Default is false. + */ + excludeDemographicExpansion?: boolean | null; + /** + * The asset field types that should be excluded from this ad group. Asset links with these field types will not be inherited by this ad group from the upper levels. + */ + excludedParentAssetFieldTypes?: string[] | null; + /** + * The asset set types that should be excluded from this ad group. Asset set links with these types will not be inherited by this ad group from the upper levels. Location group types (GMB_DYNAMIC_LOCATION_GROUP, CHAIN_DYNAMIC_LOCATION_GROUP, and STATIC_LOCATION_GROUP) are child types of LOCATION_SYNC. Therefore, if LOCATION_SYNC is set for this field, all location group asset sets are not allowed to be linked to this ad group, and all Location Extension (LE) and Affiliate Location Extensions (ALE) will not be served under this ad group. Only LOCATION_SYNC is currently supported. + */ + excludedParentAssetSetTypes?: string[] | null; + /** + * URL template for appending params to Final URL. + */ + finalUrlSuffix?: string | null; + /** + * The fixed amount in micros that the advertiser pays for every thousand impressions of the ad. + */ + fixedCpmMicros?: string | null; + /** + * Output only. The ID of the ad group. + */ + id?: string | null; + /** + * Output only. The resource names of labels attached to this ad group. + */ + labels?: string[] | null; + /** + * Output only. The language of the ads and keywords in an ad group. This field is only available for Microsoft Advertising accounts. More details: https://docs.microsoft.com/en-us/advertising/guides/ad-languages?view=bingads-13#adlanguage + */ + languageCode?: string | null; + /** + * Output only. The datetime when this ad group was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format. + */ + lastModifiedTime?: string | null; + /** + * The name of the ad group. This field is required and should not be empty when creating new ad groups. It must contain fewer than 255 UTF-8 full-width characters. It must not contain any null (code point 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD) characters. + */ + name?: string | null; + /** + * True if optimized targeting is enabled. Optimized Targeting is the replacement for Audience Expansion. + */ + optimizedTargetingEnabled?: boolean | null; + /** + * The percent cpc bid amount, expressed as a fraction of the advertised price for some good or service. The valid range for the fraction is [0,1) and the value stored here is 1,000,000 * [fraction]. + */ + percentCpcBidMicros?: string | null; + /** + * Output only. Provides aggregated view into why an ad group is not serving or not serving optimally. + */ + primaryStatus?: string | null; + /** + * Output only. Provides reasons for why an ad group is not serving or not serving optimally. + */ + primaryStatusReasons?: string[] | null; + /** + * Immutable. The resource name of the ad group. Ad group resource names have the form: `customers/{customer_id\}/adGroups/{ad_group_id\}` + */ + resourceName?: string | null; + /** + * Output only. Date when this ad group starts serving ads. By default, the ad group starts now or the ad group's start date, whichever is later. If this field is set, then the ad group starts at the beginning of the specified date in the customer's time zone. This field is only available for Microsoft Advertising and Facebook gateway accounts. Format: YYYY-MM-DD Example: 2019-03-14 + */ + startDate?: string | null; + /** + * The status of the ad group. + */ + status?: string | null; + /** + * The target CPA (cost-per-acquisition). If the ad group's campaign bidding strategy is TargetCpa or MaximizeConversions (with its target_cpa field set), then this field overrides the target CPA specified in the campaign's bidding strategy. Otherwise, this value is ignored. + */ + targetCpaMicros?: string | null; + /** + * Average amount in micros that the advertiser is willing to pay for every ad click. Overrides the target CPC configured at the campaign level. + */ + targetCpcMicros?: string | null; + /** + * Average amount in micros that the advertiser is willing to pay for every thousand times the ad is shown. + */ + targetCpmMicros?: string | null; + /** + * Average amount in micros that the advertiser is willing to pay for every ad view. + */ + targetCpvMicros?: string | null; + /** + * Setting for targeting related features. + */ + targetingSetting?: Schema$GoogleAdsSearchads360V23Common__TargetingSetting; + /** + * The target ROAS (return-on-ad-spend) for this ad group. This field lets you override the target ROAS specified in the campaign's bidding strategy, but only if the campaign is using a standard (not portfolio) `TargetRoas` strategy or a standard `MaximizeConversionValue` strategy with its `target_roas` field set. If the campaign is using a portfolio bidding strategy, this field cannot be set and attempting to do so will result in an error. For any other bidding strategies, this value is ignored. To see the actual target ROAS being used by the ad group, considering potential overrides, query the `effective_target_roas` and `effective_target_roas_source` fields. + */ + targetRoas?: number | null; + /** + * The URL template for constructing a tracking URL. + */ + trackingUrlTemplate?: string | null; + /** + * Immutable. The type of the ad group. + */ + type?: string | null; + /** + * The list of mappings used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`. + */ + urlCustomParameters?: Schema$GoogleAdsSearchads360V23Common__CustomParameter[]; + /** + * Vertical ads setting feature to enable/disable ad group format controls in search campaigns. This setting requires AiMaxAdGroupSetting to be enabled and a travel feed to be attached to the campaign. + */ + verticalAdsFormatSetting?: Schema$GoogleAdsSearchads360V23Resources_AdGroup_VerticalAdsFormatSetting; + } + /** + * An ad group ad. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__AdGroupAd { + /** + * Output only. A list of recommendations to improve the ad strength. For example, a recommendation could be "Try adding a few more unique headlines or unpinning some assets.". + */ + actionItems?: string[] | null; + /** + * Immutable. The ad. + */ + ad?: Schema$GoogleAdsSearchads360V23Resources__Ad; + /** + * Immutable. The ad group to which the ad belongs. + */ + adGroup?: string | null; + /** + * Settings that control the types of asset automation. See the AssetAutomationTypeEnum documentation for the default opt in/out behavior of each type. + */ + adGroupAdAssetAutomationSettings?: Schema$GoogleAdsSearchads360V23Resources__AdGroupAdAssetAutomationSetting[]; + /** + * Output only. Overall ad strength for this ad group ad. + */ + adStrength?: string | null; + /** + * Output only. The timestamp when this ad_group_ad was created. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format. + */ + creationTime?: string | null; + /** + * Output only. The resource names of effective labels attached to this ad. An effective label is a label inherited or directly assigned to this ad. + */ + effectiveLabels?: string[] | null; + /** + * Output only. ID of the ad in the external engine account. This field is for Search Ads 360 account only, for example, Yahoo Japan, Microsoft, Baidu etc. For non-Search Ads 360 entity, use "ad_group_ad.ad.id" instead. + */ + engineId?: string | null; + /** + * Output only. Additional status of the ad in the external engine account. Possible statuses (depending on the type of external account) include active, eligible, pending review, etc. + */ + engineStatus?: string | null; + /** + * Output only. The resource names of labels attached to this ad group ad. + */ + labels?: string[] | null; + /** + * Output only. The datetime when this ad group ad was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format. + */ + lastModifiedTime?: string | null; + /** + * Output only. Policy information for the ad. + */ + policySummary?: Schema$GoogleAdsSearchads360V23Resources__AdGroupAdPolicySummary; + /** + * Output only. Provides aggregated view into why an ad group ad is not serving or not serving optimally. + */ + primaryStatus?: string | null; + /** + * Output only. Provides reasons for why an ad group ad is not serving or not serving optimally. + */ + primaryStatusReasons?: string[] | null; + /** + * Immutable. The resource name of the ad. Ad group ad resource names have the form: `customers/{customer_id\}/adGroupAds/{ad_group_id\}~{ad_id\}` + */ + resourceName?: string | null; + /** + * The status of the ad. + */ + status?: string | null; + } + /** + * Asset automation setting for an AdGroupAd. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__AdGroupAdAssetAutomationSetting { + /** + * The opt-in/out status for the specified asset automation type. + */ + assetAutomationStatus?: string | null; + /** + * The asset automation type that this setting configures. + */ + assetAutomationType?: string | null; + } + /** + * A view on the usage of ad group ad asset combination. Now we only support AdGroupAdAssetCombinationView for Responsive Search Ads, with more ad types planned for the future. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__AdGroupAdAssetCombinationView { + /** + * Output only. The status between the asset combination and the latest version of the ad. If true, the asset combination is linked to the latest version of the ad. If false, it means the link once existed but has been removed and is no longer present in the latest version of the ad. + */ + enabled?: boolean | null; + /** + * Output only. The resource name of the ad group ad asset combination view. The combination ID is 128 bits long, where the upper 64 bits are stored in asset_combination_id_high, and the lower 64 bits are stored in asset_combination_id_low. AdGroupAd Asset Combination view resource names have the form: `customers/{customer_id\}/adGroupAdAssetCombinationViews/{AdGroupAd.ad_group_id\}~{AdGroupAd.ad.ad_id\}~{AssetCombination.asset_combination_id_low\}~{AssetCombination.asset_combination_id_high\}` + */ + resourceName?: string | null; + /** + * Output only. Served assets. + */ + servedAssets?: Schema$GoogleAdsSearchads360V23Common__AssetUsage[]; + } + /** + * Contains policy information for an ad group ad asset. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__AdGroupAdAssetPolicySummary { + /** + * Output only. The overall approval status of this ad group ad asset, calculated based on the status of its individual policy topic entries. + */ + approvalStatus?: string | null; + /** + * Output only. The list of policy findings for the ad group ad asset. + */ + policyTopicEntries?: Schema$GoogleAdsSearchads360V23Common__PolicyTopicEntry[]; + /** + * Output only. Where in the review process this ad group ad asset is. + */ + reviewStatus?: string | null; + } + /** + * Represents a link between an AdGroupAd and an Asset. This view provides insights into the performance of assets within specific ads. AdGroupAdAssetView supports the following ad types: * App Ads * Demand Gen campaigns * Responsive Search Ads It does not support Responsive Display Ads. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__AdGroupAdAssetView { + /** + * Output only. The ad group ad to which the asset is linked. + */ + adGroupAd?: string | null; + /** + * Output only. The asset which is linked to the ad group ad. + */ + asset?: string | null; + /** + * Output only. The status between the asset and the latest version of the ad. If true, the asset is linked to the latest version of the ad. If false, it means the link once existed but has been removed and is no longer present in the latest version of the ad. + */ + enabled?: boolean | null; + /** + * Output only. Role that the asset takes in the ad. + */ + fieldType?: string | null; + /** + * Output only. Performance of an asset linkage. + */ + performanceLabel?: string | null; + /** + * Output only. Pinned field. + */ + pinnedField?: string | null; + /** + * Output only. Policy information for the ad group ad asset. + */ + policySummary?: Schema$GoogleAdsSearchads360V23Resources__AdGroupAdAssetPolicySummary; + /** + * Output only. The resource name of the ad group ad asset view. Ad group ad asset view resource names have the form (Before V4): `customers/{customer_id\}/adGroupAdAssets/{AdGroupAdAsset.ad_group_id\}~{AdGroupAdAsset.ad.ad_id\}~{AdGroupAdAsset.asset_id\}~{AdGroupAdAsset.field_type\}` Ad group ad asset view resource names have the form (Beginning from V4): `customers/{customer_id\}/adGroupAdAssetViews/{AdGroupAdAsset.ad_group_id\}~{AdGroupAdAsset.ad_id\}~{AdGroupAdAsset.asset_id\}~{AdGroupAdAsset.field_type\}` + */ + resourceName?: string | null; + /** + * Output only. Source of the ad group ad asset. + */ + source?: string | null; + } + /** + * A relationship between an ad group ad and an effective label. An effective label is a label inherited or directly assigned to this ad group ad. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__AdGroupAdEffectiveLabel { + /** + * Immutable. The ad group ad to which the effective label is attached. + */ + adGroupAd?: string | null; + /** + * Immutable. The effective label assigned to the ad group ad. + */ + label?: string | null; + /** + * Output only. The ID of the Customer which owns the effective label. + */ + ownerCustomerId?: string | null; + /** + * Immutable. The resource name of the ad group ad effective label. Ad group ad effective label resource names have the form: `customers/{owner_customer_id\}/adGroupAdEffectiveLabels/{ad_group_id\}~{ad_id\}~{label_id\}` + */ + resourceName?: string | null; + } + /** + * A relationship between an ad group ad and a label. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__AdGroupAdLabel { + /** + * Immutable. The ad group ad to which the label is attached. + */ + adGroupAd?: string | null; + /** + * Immutable. The label assigned to the ad group ad. + */ + label?: string | null; + /** + * Output only. The ID of the Customer which owns the label. + */ + ownerCustomerId?: string | null; + /** + * Immutable. The resource name of the ad group ad label. Ad group ad label resource names have the form: `customers/{owner_customer_id\}/adGroupAdLabels/{ad_group_id\}~{ad_id\}~{label_id\}` + */ + resourceName?: string | null; + } + /** + * Contains policy information for an ad. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__AdGroupAdPolicySummary { + /** + * Output only. The overall approval status of this ad, calculated based on the status of its individual policy topic entries. + */ + approvalStatus?: string | null; + /** + * Output only. The list of policy findings for this ad. + */ + policyTopicEntries?: Schema$GoogleAdsSearchads360V23Common__PolicyTopicEntry[]; + /** + * Output only. Where in the review process this ad is. + */ + reviewStatus?: string | null; + } + /** + * A link between an ad group and an asset. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__AdGroupAsset { + /** + * Required. Immutable. The ad group to which the asset is linked. + */ + adGroup?: string | null; + /** + * Required. Immutable. The asset which is linked to the ad group. + */ + asset?: string | null; + /** + * Required. Immutable. Role that the asset takes under the linked ad group. + */ + fieldType?: string | null; + /** + * Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain "status" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state. + */ + primaryStatus?: string | null; + /** + * Output only. Provides the details of the primary status and its associated reasons. + */ + primaryStatusDetails?: Schema$GoogleAdsSearchads360V23Common__AssetLinkPrimaryStatusDetails[]; + /** + * Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity. + */ + primaryStatusReasons?: string[] | null; + /** + * Immutable. The resource name of the ad group asset. AdGroupAsset resource names have the form: `customers/{customer_id\}/adGroupAssets/{ad_group_id\}~{asset_id\}~{field_type\}` + */ + resourceName?: string | null; + /** + * Output only. Source of the adgroup asset link. + */ + source?: string | null; + /** + * Status of the ad group asset. + */ + status?: string | null; + } + /** + * AdGroupAssetSet is the linkage between an ad group and an asset set. Creating an AdGroupAssetSet links an asset set with an ad group. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__AdGroupAssetSet { + /** + * Immutable. The ad group to which this asset set is linked. + */ + adGroup?: string | null; + /** + * Immutable. The asset set which is linked to the ad group. + */ + assetSet?: string | null; + /** + * Immutable. The resource name of the ad group asset set. Ad group asset set resource names have the form: `customers/{customer_id\}/adGroupAssetSets/{ad_group_id\}~{asset_set_id\}` + */ + resourceName?: string | null; + /** + * Output only. The status of the ad group asset set. Read-only. + */ + status?: string | null; + } + /** + * An ad group audience view. Includes performance data from interests and remarketing lists for Display Network and YouTube Network ads, and remarketing lists for search ads (RLSA), aggregated at the audience level. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__AdGroupAudienceView { + /** + * Output only. The resource name of the ad group audience view. Ad group audience view resource names have the form: `customers/{customer_id\}/adGroupAudienceViews/{ad_group_id\}~{criterion_id\}` + */ + resourceName?: string | null; + } + /** + * Represents an ad group bid modifier. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__AdGroupBidModifier { + /** + * Immutable. The ad group to which this criterion belongs. + */ + adGroup?: string | null; + /** + * Output only. The base ad group from which this draft/trial adgroup bid modifier was created. If ad_group is a base ad group then this field will be equal to ad_group. If the ad group was created in the draft or trial and has no corresponding base ad group, then this field will be null. This field is readonly. + */ + baseAdGroup?: string | null; + /** + * The modifier for the bid when the criterion matches. The modifier must be in the range: 0.1 - 10.0. Use 0 to opt out of a Device type. + */ + bidModifier?: number | null; + /** + * Output only. Bid modifier source. + */ + bidModifierSource?: string | null; + /** + * Output only. The ID of the criterion to bid modify. This field is ignored for mutates. + */ + criterionId?: string | null; + /** + * Immutable. A device criterion. + */ + device?: Schema$GoogleAdsSearchads360V23Common__DeviceInfo; + /** + * Immutable. Criterion for number of days prior to the stay the booking is being made. + */ + hotelAdvanceBookingWindow?: Schema$GoogleAdsSearchads360V23Common__HotelAdvanceBookingWindowInfo; + /** + * Immutable. Criterion for a hotel check-in date range. + */ + hotelCheckInDateRange?: Schema$GoogleAdsSearchads360V23Common__HotelCheckInDateRangeInfo; + /** + * Immutable. Criterion for day of the week the booking is for. + */ + hotelCheckInDay?: Schema$GoogleAdsSearchads360V23Common__HotelCheckInDayInfo; + /** + * Immutable. Criterion for hotel date selection (default dates versus user selected). + */ + hotelDateSelectionType?: Schema$GoogleAdsSearchads360V23Common__HotelDateSelectionTypeInfo; + /** + * Immutable. Criterion for length of hotel stay in nights. + */ + hotelLengthOfStay?: Schema$GoogleAdsSearchads360V23Common__HotelLengthOfStayInfo; + /** + * Immutable. The resource name of the ad group bid modifier. Ad group bid modifier resource names have the form: `customers/{customer_id\}/adGroupBidModifiers/{ad_group_id\}~{criterion_id\}` + */ + resourceName?: string | null; + } + /** + * An ad group criterion. The ad_group_criterion report only returns criteria that were explicitly added to the ad group. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__AdGroupCriterion { + /** + * Immutable. The ad group to which the criterion belongs. + */ + adGroup?: string | null; + /** + * Immutable. Age range. + */ + ageRange?: Schema$GoogleAdsSearchads360V23Common__AgeRangeInfo; + /** + * Immutable. App Payment Model. + */ + appPaymentModel?: Schema$GoogleAdsSearchads360V23Common__AppPaymentModelInfo; + /** + * Output only. Approval status of the criterion. + */ + approvalStatus?: string | null; + /** + * Immutable. Audience. + */ + audience?: Schema$GoogleAdsSearchads360V23Common__AudienceInfo; + /** + * The modifier for the bid when the criterion matches. The modifier must be in the range: 0.1 - 10.0. Most targetable criteria types support modifiers. + */ + bidModifier?: number | null; + /** + * Immutable. Brand list criterion. + */ + brandList?: Schema$GoogleAdsSearchads360V23Common__BrandListInfo; + /** + * Immutable. Combined Audience. + */ + combinedAudience?: Schema$GoogleAdsSearchads360V23Common__CombinedAudienceInfo; + /** + * The CPC (cost-per-click) bid. + */ + cpcBidMicros?: string | null; + /** + * The CPM (cost-per-thousand viewable impressions) bid. + */ + cpmBidMicros?: string | null; + /** + * The CPV (cost-per-view) bid. + */ + cpvBidMicros?: string | null; + /** + * Output only. The timestamp when this ad group criterion was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format. + */ + creationTime?: string | null; + /** + * Output only. The ID of the criterion. + */ + criterionId?: string | null; + /** + * Immutable. Custom Affinity. + */ + customAffinity?: Schema$GoogleAdsSearchads360V23Common__CustomAffinityInfo; + /** + * Immutable. Custom Audience. + */ + customAudience?: Schema$GoogleAdsSearchads360V23Common__CustomAudienceInfo; + /** + * Immutable. Custom Intent. + */ + customIntent?: Schema$GoogleAdsSearchads360V23Common__CustomIntentInfo; + /** + * Output only. List of disapproval reasons of the criterion. The different reasons for disapproving a criterion can be found here: https://support.google.com/adspolicy/answer/6008942 This field is read-only. + */ + disapprovalReasons?: string[] | null; + /** + * Output only. The display name of the criterion. + */ + displayName?: string | null; + /** + * Output only. The effective CPC (cost-per-click) bid. + */ + effectiveCpcBidMicros?: string | null; + /** + * Output only. Source of the effective CPC bid. + */ + effectiveCpcBidSource?: string | null; + /** + * Output only. The effective CPM (cost-per-thousand viewable impressions) bid. + */ + effectiveCpmBidMicros?: string | null; + /** + * Output only. Source of the effective CPM bid. + */ + effectiveCpmBidSource?: string | null; + /** + * Output only. The effective CPV (cost-per-view) bid. + */ + effectiveCpvBidMicros?: string | null; + /** + * Output only. Source of the effective CPV bid. + */ + effectiveCpvBidSource?: string | null; + /** + * Output only. The resource names of effective labels attached to this ad group criterion. An effective label is a label inherited or directly assigned to this ad group criterion. + */ + effectiveLabels?: string[] | null; + /** + * Output only. The effective Percent CPC bid amount. + */ + effectivePercentCpcBidMicros?: string | null; + /** + * Output only. Source of the effective Percent CPC bid. + */ + effectivePercentCpcBidSource?: string | null; + /** + * Output only. ID of the ad group criterion in the external engine account. This field is for non-Google Ads account only, for example, Yahoo Japan, Microsoft, Baidu etc. For Google Ads entity, use "ad_group_criterion.criterion_id" instead. + */ + engineId?: string | null; + /** + * Output only. The Engine Status for ad group criterion. + */ + engineStatus?: string | null; + /** + * Immutable. Extended demographic criterion. + */ + extendedDemographic?: Schema$GoogleAdsSearchads360V23Common__ExtendedDemographicInfo; + /** + * The list of possible final mobile URLs after all cross-domain redirects. + */ + finalMobileUrls?: string[] | null; + /** + * The list of possible final URLs after all cross-domain redirects for the ad. + */ + finalUrls?: string[] | null; + /** + * URL template for appending params to final URL. + */ + finalUrlSuffix?: string | null; + /** + * Immutable. Gender. + */ + gender?: Schema$GoogleAdsSearchads360V23Common__GenderInfo; + /** + * Immutable. Income range. + */ + incomeRange?: Schema$GoogleAdsSearchads360V23Common__IncomeRangeInfo; + /** + * Immutable. Keyword. + */ + keyword?: Schema$GoogleAdsSearchads360V23Common__KeywordInfo; + /** + * Output only. The resource names of labels attached to this ad group criterion. + */ + labels?: string[] | null; + /** + * Immutable. Language. + */ + language?: Schema$GoogleAdsSearchads360V23Common__LanguageInfo; + /** + * Output only. The datetime when this ad group criterion was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format. + */ + lastModifiedTime?: string | null; + /** + * Immutable. Life event campaign criterion. + */ + lifeEvent?: Schema$GoogleAdsSearchads360V23Common__LifeEventInfo; + /** + * Immutable. Listing group. + */ + listingGroup?: Schema$GoogleAdsSearchads360V23Common__ListingGroupInfo; + /** + * Immutable. Location. + */ + location?: Schema$GoogleAdsSearchads360V23Common__LocationInfo; + /** + * Immutable. Mobile app category. + */ + mobileAppCategory?: Schema$GoogleAdsSearchads360V23Common__MobileAppCategoryInfo; + /** + * Immutable. Mobile application. + */ + mobileApplication?: Schema$GoogleAdsSearchads360V23Common__MobileApplicationInfo; + /** + * Immutable. Whether to target (`false`) or exclude (`true`) the criterion. This field is immutable. To switch a criterion from positive to negative, remove then re-add it. + */ + negative?: boolean | null; + /** + * Immutable. Parental status. + */ + parentalStatus?: Schema$GoogleAdsSearchads360V23Common__ParentalStatusInfo; + /** + * The CPC bid amount, expressed as a fraction of the advertised price for some good or service. The valid range for the fraction is [0,1) and the value stored here is 1,000,000 * [fraction]. + */ + percentCpcBidMicros?: string | null; + /** + * Immutable. Placement. + */ + placement?: Schema$GoogleAdsSearchads360V23Common__PlacementInfo; + /** + * Output only. Estimates for criterion bids at various positions. + */ + positionEstimates?: Schema$GoogleAdsSearchads360V23Resources_AdGroupCriterion_PositionEstimates; + /** + * Output only. The primary status for the ad group criterion. + */ + primaryStatus?: string | null; + /** + * Output only. The primary status reasons for the ad group criterion. + */ + primaryStatusReasons?: string[] | null; + /** + * Output only. Information regarding the quality of the criterion. + */ + qualityInfo?: Schema$GoogleAdsSearchads360V23Resources_AdGroupCriterion_QualityInfo; + /** + * Immutable. The resource name of the ad group criterion. Ad group criterion resource names have the form: `customers/{customer_id\}/adGroupCriteria/{ad_group_id\}~{criterion_id\}` + */ + resourceName?: string | null; + /** + * The status of the criterion. This is the status of the ad group criterion entity, set by the client. Note: UI reports may incorporate additional information that affects whether a criterion is eligible to run. In some cases a criterion that's REMOVED in the API can still show as enabled in the UI. For example, campaigns by default show to users of all age ranges unless excluded. The UI will show each age range as "enabled", since they're eligible to see the ads; but AdGroupCriterion.status will show "removed", since no positive criterion was added. + */ + status?: string | null; + /** + * Output only. Serving status of the criterion. + */ + systemServingStatus?: string | null; + /** + * Immutable. Topic. + */ + topic?: Schema$GoogleAdsSearchads360V23Common__TopicInfo; + /** + * The URL template for constructing a tracking URL. + */ + trackingUrlTemplate?: string | null; + /** + * Output only. The type of the criterion. + */ + type?: string | null; + /** + * The list of mappings used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`. + */ + urlCustomParameters?: Schema$GoogleAdsSearchads360V23Common__CustomParameter[]; + /** + * Immutable. User Interest. + */ + userInterest?: Schema$GoogleAdsSearchads360V23Common__UserInterestInfo; + /** + * Immutable. User List. + */ + userList?: Schema$GoogleAdsSearchads360V23Common__UserListInfo; + /** + * Immutable. Vertical ads item group rule list criterion. + */ + verticalAdsItemGroupRuleList?: Schema$GoogleAdsSearchads360V23Common__VerticalAdsItemGroupRuleListInfo; + /** + * Immutable. Video lineup criterion. + */ + videoLineup?: Schema$GoogleAdsSearchads360V23Common__VideoLineupInfo; + /** + * Immutable. Webpage + */ + webpage?: Schema$GoogleAdsSearchads360V23Common__WebpageInfo; + /** + * Immutable. YouTube Channel. + */ + youtubeChannel?: Schema$GoogleAdsSearchads360V23Common__YouTubeChannelInfo; + /** + * Immutable. YouTube Video. + */ + youtubeVideo?: Schema$GoogleAdsSearchads360V23Common__YouTubeVideoInfo; + } + /** + * A customizer value for the associated CustomizerAttribute at the AdGroupCriterion level. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__AdGroupCriterionCustomizer { + /** + * Immutable. The ad group criterion to which the customizer attribute is linked. It must be a keyword criterion. + */ + adGroupCriterion?: string | null; + /** + * Required. Immutable. The customizer attribute which is linked to the ad group criterion. + */ + customizerAttribute?: string | null; + /** + * Immutable. The resource name of the ad group criterion customizer. Ad group criterion customizer resource names have the form: `customers/{customer_id\}/adGroupCriterionCustomizers/{ad_group_id\}~{criterion_id\}~{customizer_attribute_id\}` + */ + resourceName?: string | null; + /** + * Output only. The status of the ad group criterion customizer. + */ + status?: string | null; + /** + * Required. The value to associate with the customizer attribute at this level. The value must be of the type specified for the CustomizerAttribute. + */ + value?: Schema$GoogleAdsSearchads360V23Common__CustomizerValue; + } + /** + * A relationship between an ad group criterion and an effective label. An effective label is a label inherited or directly assigned to this ad group criterion. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__AdGroupCriterionEffectiveLabel { + /** + * Immutable. The ad group criterion to which the effective label is attached. + */ + adGroupCriterion?: string | null; + /** + * Immutable. The effective label assigned to the ad group criterion. + */ + label?: string | null; + /** + * Output only. The ID of the Customer which owns the effective label. + */ + ownerCustomerId?: string | null; + /** + * Immutable. The resource name of the ad group criterion effective label. Ad group criterion effective label resource names have the form: `customers/{owner_customer_id\}/adGroupCriterionEffectiveLabels/{ad_group_id\}~{criterion_id\}~{label_id\}` + */ + resourceName?: string | null; + } + /** + * A relationship between an ad group criterion and a label. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__AdGroupCriterionLabel { + /** + * Immutable. The ad group criterion to which the label is attached. + */ + adGroupCriterion?: string | null; + /** + * Immutable. The label assigned to the ad group criterion. + */ + label?: string | null; + /** + * Output only. The ID of the Customer which owns the label. + */ + ownerCustomerId?: string | null; + /** + * Immutable. The resource name of the ad group criterion label. Ad group criterion label resource names have the form: `customers/{owner_customer_id\}/adGroupCriterionLabels/{ad_group_id\}~{criterion_id\}~{label_id\}` + */ + resourceName?: string | null; + } + /** + * An ad group criterion simulation. Supported combinations of advertising channel type, criterion type, simulation type, and simulation modification method are detailed below respectively. Hotel AdGroupCriterion simulation operations starting in V5. 1. DISPLAY - KEYWORD - CPC_BID - UNIFORM 2. SEARCH - KEYWORD - CPC_BID - UNIFORM 3. SHOPPING - LISTING_GROUP - CPC_BID - UNIFORM 4. HOTEL - LISTING_GROUP - CPC_BID - UNIFORM 5. HOTEL - LISTING_GROUP - PERCENT_CPC_BID - UNIFORM + */ + export interface Schema$GoogleAdsSearchads360V23Resources__AdGroupCriterionSimulation { + /** + * Output only. AdGroup ID of the simulation. + */ + adGroupId?: string | null; + /** + * Output only. Simulation points if the simulation type is CPC_BID. + */ + cpcBidPointList?: Schema$GoogleAdsSearchads360V23Common__CpcBidSimulationPointList; + /** + * Output only. Criterion ID of the simulation. + */ + criterionId?: string | null; + /** + * Output only. Last day on which the simulation is based, in YYYY-MM-DD format. + */ + endDate?: string | null; + /** + * Output only. How the simulation modifies the field. + */ + modificationMethod?: string | null; + /** + * Output only. Simulation points if the simulation type is PERCENT_CPC_BID. + */ + percentCpcBidPointList?: Schema$GoogleAdsSearchads360V23Common__PercentCpcBidSimulationPointList; + /** + * Output only. The resource name of the ad group criterion simulation. Ad group criterion simulation resource names have the form: `customers/{customer_id\}/adGroupCriterionSimulations/{ad_group_id\}~{criterion_id\}~{type\}~{modification_method\}~{start_date\}~{end_date\}` + */ + resourceName?: string | null; + /** + * Output only. First day on which the simulation is based, in YYYY-MM-DD format. + */ + startDate?: string | null; + /** + * Output only. The field that the simulation modifies. + */ + type?: string | null; + } + /** + * A customizer value for the associated CustomizerAttribute at the AdGroup level. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__AdGroupCustomizer { + /** + * Immutable. The ad group to which the customizer attribute is linked. + */ + adGroup?: string | null; + /** + * Required. Immutable. The customizer attribute which is linked to the ad group. + */ + customizerAttribute?: string | null; + /** + * Immutable. The resource name of the ad group customizer. Ad group customizer resource names have the form: `customers/{customer_id\}/adGroupCustomizers/{ad_group_id\}~{customizer_attribute_id\}` + */ + resourceName?: string | null; + /** + * Output only. The status of the ad group customizer. + */ + status?: string | null; + /** + * Required. The value to associate with the customizer attribute at this level. The value must be of the type specified for the CustomizerAttribute. + */ + value?: Schema$GoogleAdsSearchads360V23Common__CustomizerValue; + } + /** + * A relationship between an ad group and an effective label. An effective label is a label inherited or directly assigned to this ad group. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__AdGroupEffectiveLabel { + /** + * Immutable. The ad group to which the effective label is attached. + */ + adGroup?: string | null; + /** + * Immutable. The effective label assigned to the ad group. + */ + label?: string | null; + /** + * Output only. The ID of the Customer which owns the effective label. + */ + ownerCustomerId?: string | null; + /** + * Immutable. The resource name of the ad group effective label. Ad group effective label resource names have the form: `customers/{owner_customer_id\}/adGroupEffectiveLabels/{ad_group_id\}~{label_id\}` + */ + resourceName?: string | null; + } + /** + * A relationship between an ad group and a label. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__AdGroupLabel { + /** + * Immutable. The ad group to which the label is attached. + */ + adGroup?: string | null; + /** + * Immutable. The label assigned to the ad group. + */ + label?: string | null; + /** + * Output only. The ID of the Customer which owns the label. + */ + ownerCustomerId?: string | null; + /** + * Immutable. The resource name of the ad group label. Ad group label resource names have the form: `customers/{owner_customer_id\}/adGroupLabels/{ad_group_id\}~{label_id\}` + */ + resourceName?: string | null; + } + /** + * An ad group simulation. Supported combinations of advertising channel type, simulation type and simulation modification method is detailed below respectively. 1. SEARCH - CPC_BID - DEFAULT 2. SEARCH - CPC_BID - UNIFORM 3. SEARCH - TARGET_CPA - UNIFORM 4. SEARCH - TARGET_ROAS - UNIFORM 5. DISPLAY - CPC_BID - DEFAULT 6. DISPLAY - CPC_BID - UNIFORM 7. DISPLAY - TARGET_CPA - UNIFORM + */ + export interface Schema$GoogleAdsSearchads360V23Resources__AdGroupSimulation { + /** + * Output only. Ad group id of the simulation. + */ + adGroupId?: string | null; + /** + * Output only. Simulation points if the simulation type is CPC_BID. + */ + cpcBidPointList?: Schema$GoogleAdsSearchads360V23Common__CpcBidSimulationPointList; + /** + * Output only. Simulation points if the simulation type is CPV_BID. + */ + cpvBidPointList?: Schema$GoogleAdsSearchads360V23Common__CpvBidSimulationPointList; + /** + * Output only. Last day on which the simulation is based, in YYYY-MM-DD format + */ + endDate?: string | null; + /** + * Output only. How the simulation modifies the field. + */ + modificationMethod?: string | null; + /** + * Output only. The resource name of the ad group simulation. Ad group simulation resource names have the form: `customers/{customer_id\}/adGroupSimulations/{ad_group_id\}~{type\}~{modification_method\}~{start_date\}~{end_date\}` + */ + resourceName?: string | null; + /** + * Output only. First day on which the simulation is based, in YYYY-MM-DD format. + */ + startDate?: string | null; + /** + * Output only. Simulation points if the simulation type is TARGET_CPA. + */ + targetCpaPointList?: Schema$GoogleAdsSearchads360V23Common__TargetCpaSimulationPointList; + /** + * Output only. Simulation points if the simulation type is TARGET_ROAS. + */ + targetRoasPointList?: Schema$GoogleAdsSearchads360V23Common__TargetRoasSimulationPointList; + /** + * Output only. The field that the simulation modifies. + */ + type?: string | null; + } + /** + * An ad parameter that is used to update numeric values (such as prices or inventory levels) in any text line of an ad (including URLs). There can be a maximum of two AdParameters per ad group criterion. (One with parameter_index = 1 and one with parameter_index = 2.) In the ad the parameters are referenced by a placeholder of the form "{param#:value\}". For example, "{param1:$17\}" + */ + export interface Schema$GoogleAdsSearchads360V23Resources__AdParameter { + /** + * Immutable. The ad group criterion that this ad parameter belongs to. + */ + adGroupCriterion?: string | null; + /** + * Numeric value to insert into the ad text. The following restrictions apply: - Can use comma or period as a separator, with an optional period or comma (respectively) for fractional values. For example, 1,000,000.00 and 2.000.000,10 are valid. - Can be prepended or appended with a currency symbol. For example, $99.99 is valid. - Can be prepended or appended with a currency code. For example, 99.99USD and EUR200 are valid. - Can use '%'. For example, 1.0% and 1,0% are valid. - Can use plus or minus. For example, -10.99 and 25+ are valid. - Can use '/' between two numbers. For example 4/1 and 0.95/0.45 are valid. + */ + insertionText?: string | null; + /** + * Immutable. The unique index of this ad parameter. Must be either 1 or 2. + */ + parameterIndex?: string | null; + /** + * Immutable. The resource name of the ad parameter. Ad parameter resource names have the form: `customers/{customer_id\}/adParameters/{ad_group_id\}~{criterion_id\}~{parameter_index\}` + */ + resourceName?: string | null; + } + /** + * An ad schedule view summarizes the performance of campaigns by AdSchedule criteria. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__AdScheduleView { + /** + * Output only. The resource name of the ad schedule view. AdSchedule view resource names have the form: `customers/{customer_id\}/adScheduleViews/{campaign_id\}~{criterion_id\}` + */ + resourceName?: string | null; + } + /** + * An action item to improve the ad strength of an asset group. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__AdStrengthActionItem { + /** + * Output only. The action item type. + */ + actionItemType?: string | null; + /** + * Output only. The action item details for action item type ADD_ASSET. + */ + addAssetDetails?: Schema$GoogleAdsSearchads360V23Resources_AdStrengthActionItem_AddAssetDetails; + } + /** + * The identifier for the Advertising Partner Google Ads account. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__AdvertisingPartnerIdentifier { + /** + * Output only. The resource name of the advertising partner Google Ads account. This field is required and should not be empty when creating a new Advertising Partner link. It is unable to be modified after the creation of the link. + */ + customer?: string | null; + } + /** + * The identifier for the Advertising Partner Google Ads account. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__AdvertisingPartnerLinkInvitationIdentifier { + /** + * Immutable. The resource name of the advertising partner Google Ads account. This field is read only. + */ + customer?: string | null; + } + /** + * An age range view. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__AgeRangeView { + /** + * Output only. The resource name of the age range view. Age range view resource names have the form: `customers/{customer_id\}/ageRangeViews/{ad_group_id\}~{criterion_id\}` + */ + resourceName?: string | null; + } + /** + * AiMaxSearchTermAdCombinationView Resource. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__AiMaxSearchTermAdCombinationView { + /** + * Output only. Ad group where the search term served. + */ + adGroup?: string | null; + /** + * Output only. The concatenated string containing headline assets for the ad. Up to three headline assets are concatenated, separated by " | ". This field is read-only. + */ + headline?: string | null; + /** + * Output only. The destination URL, which was dynamically generated. This field is read-only. + */ + landingPage?: string | null; + /** + * Output only. The resource name of the AI Max Search Term Ad Combination view AI Max Search Term Ad Combination view resource names have the form: `customers/{customer_id\}/aiMaxSearchTermAdCombinationViews/{ad_group_id\}~{URL-base64_search_term\}~{URL-base64_landing_page\}~{URL-base64_headline\}` + */ + resourceName?: string | null; + /** + * Output only. The search term that triggered the ad. This field is read-only. + */ + searchTerm?: string | null; + } + /** + * An Android privacy shared key view for Google ad group key. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__AndroidPrivacySharedKeyGoogleAdGroup { + /** + * Output only. The ad group ID used in the share key encoding. + */ + adGroupId?: string | null; + /** + * Output only. The interaction date used in the shared key encoding in the format of "YYYY-MM-DD" in UTC timezone. + */ + androidPrivacyInteractionDate?: string | null; + /** + * Output only. The interaction type enum used in the share key encoding. + */ + androidPrivacyInteractionType?: string | null; + /** + * Output only. The network type enum used in the share key encoding. + */ + androidPrivacyNetworkType?: string | null; + /** + * Output only. The campaign ID used in the share key encoding. + */ + campaignId?: string | null; + /** + * Output only. The resource name of the Android privacy shared key. Android privacy shared key resource names have the form: `customers/{customer_id\}/androidPrivacySharedKeyGoogleAdGroups/{campaign_id\}~{ad_group_id\}~{android_privacy_interaction_type\}~{android_privacy_network_type\}~{android_privacy_interaction_date(yyyy-mm-dd)\}` + */ + resourceName?: string | null; + /** + * Output only. 128 bit hex string of the encoded shared ad group key, including a '0x' prefix. This key can be used to do a bitwise OR operator with the aggregate conversion key to create a full aggregation key to retrieve the Aggregate API Report in Android Privacy Sandbox. + */ + sharedAdGroupKey?: string | null; + } + /** + * An Android privacy shared key view for Google campaign key. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__AndroidPrivacySharedKeyGoogleCampaign { + /** + * Output only. The interaction date used in the shared key encoding in the format of "YYYY-MM-DD" in UTC timezone. + */ + androidPrivacyInteractionDate?: string | null; + /** + * Output only. The interaction type enum used in the share key encoding. + */ + androidPrivacyInteractionType?: string | null; + /** + * Output only. The campaign ID used in the share key encoding. + */ + campaignId?: string | null; + /** + * Output only. The resource name of the Android privacy shared key. Android privacy shared key resource names have the form: `customers/{customer_id\}/androidPrivacySharedKeyGoogleCampaigns/{campaign_id\}~{android_privacy_interaction_type\}~{android_privacy_interaction_date(yyyy-mm-dd)\}` + */ + resourceName?: string | null; + /** + * Output only. 128 bit hex string of the encoded shared campaign key, including a '0x' prefix. This key can be used to do a bitwise OR operator with the aggregate conversion key to create a full aggregation key to retrieve the Aggregate API Report in Android Privacy Sandbox. + */ + sharedCampaignKey?: string | null; + } + /** + * An Android privacy shared key view for Google network type key. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__AndroidPrivacySharedKeyGoogleNetworkType { + /** + * Output only. The interaction date used in the shared key encoding in the format of "YYYY-MM-DD" in UTC timezone. + */ + androidPrivacyInteractionDate?: string | null; + /** + * Output only. The interaction type enum used in the share key encoding. + */ + androidPrivacyInteractionType?: string | null; + /** + * Output only. The network type enum used in the share key encoding. + */ + androidPrivacyNetworkType?: string | null; + /** + * Output only. The campaign ID used in the share key encoding. + */ + campaignId?: string | null; + /** + * Output only. The resource name of the Android privacy shared key. Android privacy shared key resource names have the form: `customers/{customer_id\}/androidPrivacySharedKeyGoogleNetworkTypes/{campaign_id\}~{android_privacy_interaction_type\}~{android_privacy_network_type\}~{android_privacy_interaction_date(yyyy-mm-dd)\}` + */ + resourceName?: string | null; + /** + * Output only. 128 bit hex string of the encoded shared network type key, including a '0x' prefix. This key can be used to do a bitwise OR operator with the aggregate conversion key to create a full aggregation key to retrieve the Aggregate API Report in Android Privacy Sandbox. + */ + sharedNetworkTypeKey?: string | null; + } + /** + * Asset is a part of an ad which can be shared across multiple ads. It can be an image (ImageAsset), a video (YoutubeVideoAsset), etc. Assets are immutable and cannot be removed. To stop an asset from serving, remove the asset from the entity that is using it. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__Asset { + /** + * Immutable. An app deep link asset. + */ + appDeepLinkAsset?: Schema$GoogleAdsSearchads360V23Common__AppDeepLinkAsset; + /** + * A book on google asset. + */ + bookOnGoogleAsset?: Schema$GoogleAdsSearchads360V23Common__BookOnGoogleAsset; + /** + * A business message asset. + */ + businessMessageAsset?: Schema$GoogleAdsSearchads360V23Common__BusinessMessageAsset; + /** + * A call asset. + */ + callAsset?: Schema$GoogleAdsSearchads360V23Common__CallAsset; + /** + * A callout asset. + */ + calloutAsset?: Schema$GoogleAdsSearchads360V23Common__CalloutAsset; + /** + * Immutable. A call to action asset. + */ + callToActionAsset?: Schema$GoogleAdsSearchads360V23Common__CallToActionAsset; + /** + * Output only. The timestamp when this asset was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format. + */ + creationTime?: string | null; + /** + * Immutable. A Demand Gen carousel card asset. + */ + demandGenCarouselCardAsset?: Schema$GoogleAdsSearchads360V23Common__DemandGenCarouselCardAsset; + /** + * A dynamic custom asset. + */ + dynamicCustomAsset?: Schema$GoogleAdsSearchads360V23Common__DynamicCustomAsset; + /** + * A dynamic education asset. + */ + dynamicEducationAsset?: Schema$GoogleAdsSearchads360V23Common__DynamicEducationAsset; + /** + * A dynamic flights asset. + */ + dynamicFlightsAsset?: Schema$GoogleAdsSearchads360V23Common__DynamicFlightsAsset; + /** + * A dynamic hotels and rentals asset. + */ + dynamicHotelsAndRentalsAsset?: Schema$GoogleAdsSearchads360V23Common__DynamicHotelsAndRentalsAsset; + /** + * A dynamic jobs asset. + */ + dynamicJobsAsset?: Schema$GoogleAdsSearchads360V23Common__DynamicJobsAsset; + /** + * A dynamic local asset. + */ + dynamicLocalAsset?: Schema$GoogleAdsSearchads360V23Common__DynamicLocalAsset; + /** + * A dynamic real estate asset. + */ + dynamicRealEstateAsset?: Schema$GoogleAdsSearchads360V23Common__DynamicRealEstateAsset; + /** + * A dynamic travel asset. + */ + dynamicTravelAsset?: Schema$GoogleAdsSearchads360V23Common__DynamicTravelAsset; + /** + * Output only. The Engine Status for an asset. + */ + engineStatus?: string | null; + /** + * Output only. Policy information for the asset for each FieldType. + */ + fieldTypePolicySummaries?: Schema$GoogleAdsSearchads360V23Resources__AssetFieldTypePolicySummary[]; + /** + * A list of possible final mobile URLs after all cross domain redirects. + */ + finalMobileUrls?: string[] | null; + /** + * A list of possible final URLs after all cross domain redirects. + */ + finalUrls?: string[] | null; + /** + * URL template for appending params to landing page URLs served with parallel tracking. + */ + finalUrlSuffix?: string | null; + /** + * A hotel callout asset. + */ + hotelCalloutAsset?: Schema$GoogleAdsSearchads360V23Common__HotelCalloutAsset; + /** + * Immutable. A hotel property asset. + */ + hotelPropertyAsset?: Schema$GoogleAdsSearchads360V23Common__HotelPropertyAsset; + /** + * Output only. The ID of the asset. + */ + id?: string | null; + /** + * Output only. An image asset. + */ + imageAsset?: Schema$GoogleAdsSearchads360V23Common__ImageAsset; + /** + * Output only. The datetime when this asset was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format. + */ + lastModifiedTime?: string | null; + /** + * A lead form asset. + */ + leadFormAsset?: Schema$GoogleAdsSearchads360V23Common__LeadFormAsset; + /** + * Output only. A location asset. + */ + locationAsset?: Schema$GoogleAdsSearchads360V23Common__LocationAsset; + /** + * Immutable. A media bundle asset. + */ + mediaBundleAsset?: Schema$GoogleAdsSearchads360V23Common__MediaBundleAsset; + /** + * A mobile app asset. + */ + mobileAppAsset?: Schema$GoogleAdsSearchads360V23Common__MobileAppAsset; + /** + * Optional name of the asset. + */ + name?: string | null; + /** + * Output only. Orientation of the asset. This is only supported for image and video assets. + */ + orientation?: string | null; + /** + * A page feed asset. + */ + pageFeedAsset?: Schema$GoogleAdsSearchads360V23Common__PageFeedAsset; + /** + * Output only. Policy information for the asset. + */ + policySummary?: Schema$GoogleAdsSearchads360V23Resources__AssetPolicySummary; + /** + * A price asset. + */ + priceAsset?: Schema$GoogleAdsSearchads360V23Common__PriceAsset; + /** + * A promotion asset. + */ + promotionAsset?: Schema$GoogleAdsSearchads360V23Common__PromotionAsset; + /** + * Immutable. The resource name of the asset. Asset resource names have the form: `customers/{customer_id\}/assets/{asset_id\}` + */ + resourceName?: string | null; + /** + * Output only. A unified call asset. + */ + searchAds360CallAsset?: Schema$GoogleAdsSearchads360V23Common__UnifiedCallAsset; + /** + * Output only. A unified callout asset. + */ + searchAds360CalloutAsset?: Schema$GoogleAdsSearchads360V23Common__UnifiedCalloutAsset; + /** + * Output only. A unified location asset. + */ + searchAds360LocationAsset?: Schema$GoogleAdsSearchads360V23Common__UnifiedLocationAsset; + /** + * Output only. A unified page feed asset. + */ + searchAds360PageFeedAsset?: Schema$GoogleAdsSearchads360V23Common__UnifiedPageFeedAsset; + /** + * Output only. A unified sitelink asset. + */ + searchAds360SitelinkAsset?: Schema$GoogleAdsSearchads360V23Common__UnifiedSitelinkAsset; + /** + * A sitelink asset. + */ + sitelinkAsset?: Schema$GoogleAdsSearchads360V23Common__SitelinkAsset; + /** + * Output only. Source of the asset. + */ + source?: string | null; + /** + * Output only. The status of the asset. + */ + status?: string | null; + /** + * A structured snippet asset. + */ + structuredSnippetAsset?: Schema$GoogleAdsSearchads360V23Common__StructuredSnippetAsset; + /** + * Immutable. A text asset. + */ + textAsset?: Schema$GoogleAdsSearchads360V23Common__TextAsset; + /** + * URL template for constructing a tracking URL. + */ + trackingUrlTemplate?: string | null; + /** + * Output only. Type of the asset. + */ + type?: string | null; + /** + * A list of mappings to be used for substituting URL custom parameter tags in the tracking_url_template, final_urls, and/or final_mobile_urls. + */ + urlCustomParameters?: Schema$GoogleAdsSearchads360V23Common__CustomParameter[]; + /** + * Immutable. A YouTube video asset. + */ + youtubeVideoAsset?: Schema$GoogleAdsSearchads360V23Common__YoutubeVideoAsset; + } + /** + * Information about the asset coverage of an asset group. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__AssetCoverage { + /** + * Output only. A list of action items to improve the ad strength of an asset group. + */ + adStrengthActionItems?: Schema$GoogleAdsSearchads360V23Resources__AdStrengthActionItem[]; + } + /** + * Contains policy information for an asset under AssetFieldType context. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__AssetFieldTypePolicySummary { + /** + * Output only. FieldType of this asset. + */ + assetFieldType?: string | null; + /** + * Output only. Source of this asset. + */ + assetSource?: string | null; + /** + * Output only. Policy summary. + */ + policySummaryInfo?: Schema$GoogleAdsSearchads360V23Resources__AssetPolicySummary; + } + /** + * An asset field type view. This view reports non-overcounted metrics for each asset field type when the asset is used as extension. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__AssetFieldTypeView { + /** + * Output only. The asset field type of the asset field type view. + */ + fieldType?: string | null; + /** + * Output only. The resource name of the asset field type view. Asset field type view resource names have the form: `customers/{customer_id\}/assetFieldTypeViews/{field_type\}` + */ + resourceName?: string | null; + } + /** + * An asset group. AssetGroupAsset is used to link an asset to the asset group. AssetGroupSignal is used to associate a signal to an asset group. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__AssetGroup { + /** + * Output only. Overall ad strength of this asset group. + */ + adStrength?: string | null; + /** + * Output only. The asset coverage of this asset group. + */ + assetCoverage?: Schema$GoogleAdsSearchads360V23Resources__AssetCoverage; + /** + * Immutable. The campaign with which this asset group is associated. The asset which is linked to the asset group. + */ + campaign?: string | null; + /** + * A list of final mobile URLs after all cross domain redirects. In performance max, by default, the urls are eligible for expansion unless opted out. + */ + finalMobileUrls?: string[] | null; + /** + * A list of final URLs after all cross domain redirects. In performance max, by default, the urls are eligible for expansion unless opted out. + */ + finalUrls?: string[] | null; + /** + * Output only. The ID of the asset group. + */ + id?: string | null; + /** + * Required. Name of the asset group. Required. It must have a minimum length of 1 and maximum length of 128. It must be unique under a campaign. + */ + name?: string | null; + /** + * First part of text that may appear appended to the url displayed in the ad. + */ + path1?: string | null; + /** + * Second part of text that may appear appended to the url displayed in the ad. This field can only be set when path1 is set. + */ + path2?: string | null; + /** + * Output only. The primary status of the asset group. Provides insights into why an asset group is not serving or not serving optimally. + */ + primaryStatus?: string | null; + /** + * Output only. Provides reasons into why an asset group is not serving or not serving optimally. It will be empty when the asset group is serving without issues. + */ + primaryStatusReasons?: string[] | null; + /** + * Immutable. The resource name of the asset group. Asset group resource names have the form: `customers/{customer_id\}/assetGroups/{asset_group_id\}` + */ + resourceName?: string | null; + /** + * The status of the asset group. + */ + status?: string | null; + } + /** + * AssetGroupAsset is the link between an asset and an asset group. Adding an AssetGroupAsset links an asset with an asset group. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__AssetGroupAsset { + /** + * Immutable. The asset which this asset group asset is linking. + */ + asset?: string | null; + /** + * Immutable. The asset group which this asset group asset is linking. + */ + assetGroup?: string | null; + /** + * The description of the placement of the asset within the asset group. For example: HEADLINE, YOUTUBE_VIDEO etc + */ + fieldType?: string | null; + /** + * Output only. The policy information for this asset group asset. + */ + policySummary?: Schema$GoogleAdsSearchads360V23Common__PolicySummary; + /** + * Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain "status" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state. + */ + primaryStatus?: string | null; + /** + * Output only. Provides the details of the primary status and its associated reasons. + */ + primaryStatusDetails?: Schema$GoogleAdsSearchads360V23Common__AssetLinkPrimaryStatusDetails[]; + /** + * Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity. + */ + primaryStatusReasons?: string[] | null; + /** + * Immutable. The resource name of the asset group asset. Asset group asset resource name have the form: `customers/{customer_id\}/assetGroupAssets/{asset_group_id\}~{asset_id\}~{field_type\}` + */ + resourceName?: string | null; + /** + * Output only. Source of the asset group asset. + */ + source?: string | null; + /** + * The status of the link between an asset and asset group. + */ + status?: string | null; + } + /** + * Asset group asset combination data + */ + export interface Schema$GoogleAdsSearchads360V23Resources__AssetGroupAssetCombinationData { + /** + * Output only. Served assets. + */ + assetCombinationServedAssets?: Schema$GoogleAdsSearchads360V23Common__AssetUsage[]; + } + /** + * AssetGroupListingGroupFilter represents a listing group filter tree node in an asset group. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__AssetGroupListingGroupFilter { + /** + * Immutable. The asset group which this asset group listing group filter is part of. + */ + assetGroup?: string | null; + /** + * Dimension value with which this listing group is refining its parent. Undefined for the root group. + */ + caseValue?: Schema$GoogleAdsSearchads360V23Resources__ListingGroupFilterDimension; + /** + * Output only. The ID of the ListingGroupFilter. + */ + id?: string | null; + /** + * Immutable. The source of listings filtered by this listing group filter. + */ + listingSource?: string | null; + /** + * Immutable. Resource name of the parent listing group subdivision. Null for the root listing group filter node. + */ + parentListingGroupFilter?: string | null; + /** + * Output only. The path of dimensions defining this listing group filter. + */ + path?: Schema$GoogleAdsSearchads360V23Resources__ListingGroupFilterDimensionPath; + /** + * Immutable. The resource name of the asset group listing group filter. Asset group listing group filter resource name have the form: `customers/{customer_id\}/assetGroupListingGroupFilters/{asset_group_id\}~{listing_group_filter_id\}` + */ + resourceName?: string | null; + /** + * Immutable. Type of a listing group filter node. + */ + type?: string | null; + } + /** + * An asset group product group view. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__AssetGroupProductGroupView { + /** + * Output only. The asset group associated with the listing group filter. + */ + assetGroup?: string | null; + /** + * Output only. The resource name of the asset group listing group filter. + */ + assetGroupListingGroupFilter?: string | null; + /** + * Output only. The resource name of the asset group product group view. Asset group product group view resource names have the form: `customers/{customer_id\}/assetGroupProductGroupViews/{asset_group_id\}~{listing_group_filter_id\}` + */ + resourceName?: string | null; + } + /** + * AssetGroupSignal represents a signal in an asset group. The existence of a signal tells the performance max campaign who's most likely to convert. Performance Max uses the signal to look for new people with similar or stronger intent to find conversions across Search, Display, Video, and more. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__AssetGroupSignal { + /** + * Output only. Approval status is the output value for search theme signal after Google ads policy review. When using Audience signal, this field is not used and will be absent. + */ + approvalStatus?: string | null; + /** + * Immutable. The asset group which this asset group signal belongs to. + */ + assetGroup?: string | null; + /** + * Immutable. The audience signal to be used by the performance max campaign. + */ + audience?: Schema$GoogleAdsSearchads360V23Common__AudienceInfo; + /** + * Output only. Computed for SearchTheme signals. When using Audience signal, this field is not used and will be absent. + */ + disapprovalReasons?: string[] | null; + /** + * Immutable. The resource name of the asset group signal. Asset group signal resource name have the form: `customers/{customer_id\}/assetGroupSignals/{asset_group_id\}~{signal_id\}` + */ + resourceName?: string | null; + /** + * Immutable. The search_theme signal to be used by the performance max campaign. Mutate errors of search_theme criterion includes AssetGroupSignalError.UNSPECIFIED AssetGroupSignalError.UNKNOWN AssetGroupSignalError.TOO_MANY_WORDS AssetGroupSignalError.SEARCH_THEME_POLICY_VIOLATION FieldError.REQUIRED StringFormatError.ILLEGAL_CHARS StringLengthError.TOO_LONG ResourceCountLimitExceededError.RESOURCE_LIMIT + */ + searchTheme?: Schema$GoogleAdsSearchads360V23Common__SearchThemeInfo; + } + /** + * A view on the usage of asset group asset top combinations. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__AssetGroupTopCombinationView { + /** + * Output only. The top combinations of assets that served together. + */ + assetGroupTopCombinations?: Schema$GoogleAdsSearchads360V23Resources__AssetGroupAssetCombinationData[]; + /** + * Output only. The resource name of the asset group top combination view. AssetGroup Top Combination view resource names have the form: `"customers/{customer_id\}/assetGroupTopCombinationViews/{asset_group_id\}~{asset_combination_category\}" + */ + resourceName?: string | null; + } + /** + * Contains policy information for an asset. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__AssetPolicySummary { + /** + * Output only. The overall approval status of this asset, calculated based on the status of its individual policy topic entries. + */ + approvalStatus?: string | null; + /** + * Output only. The list of policy findings for this asset. + */ + policyTopicEntries?: Schema$GoogleAdsSearchads360V23Common__PolicyTopicEntry[]; + /** + * Output only. Where in the review process this asset is. + */ + reviewStatus?: string | null; + } + /** + * An asset set representing a collection of assets. Use AssetSetAsset to link an asset to the asset set. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__AssetSet { + /** + * Business Profile location group asset set data. + */ + businessProfileLocationGroup?: Schema$GoogleAdsSearchads360V23Common__BusinessProfileLocationGroup; + /** + * Represents information about a Chain dynamic location group. Only applicable if the sync level AssetSet's type is LOCATION_SYNC and sync source is chain. + */ + chainLocationGroup?: Schema$GoogleAdsSearchads360V23Common__ChainLocationGroup; + /** + * Output only. For Performance Max for travel goals campaigns with a Hotel Center account link. Read-only. + */ + hotelPropertyData?: Schema$GoogleAdsSearchads360V23Resources_AssetSet_HotelPropertyData; + /** + * Output only. The ID of the asset set. + */ + id?: string | null; + /** + * Immutable. Parent asset set ID for the asset set where the elements of this asset set come from. For example: the sync level location AssetSet id where the elements in LocationGroup AssetSet come from. This field is required and only applicable for Location Group typed AssetSet. + */ + locationGroupParentAssetSetId?: string | null; + /** + * Location asset set data. This will be used for sync level location set. This can only be set if AssetSet's type is LOCATION_SYNC. + */ + locationSet?: Schema$GoogleAdsSearchads360V23Common__LocationSet; + /** + * Merchant ID and Feed Label from Google Merchant Center. + */ + merchantCenterFeed?: Schema$GoogleAdsSearchads360V23Resources_AssetSet_MerchantCenterFeed; + /** + * Required. Name of the asset set. Required. It must have a minimum length of 1 and maximum length of 128. + */ + name?: string | null; + /** + * Immutable. The resource name of the asset set. Asset set resource names have the form: `customers/{customer_id\}/assetSets/{asset_set_id\}` + */ + resourceName?: string | null; + /** + * Output only. The status of the asset set. Read-only. + */ + status?: string | null; + /** + * Required. Immutable. The type of the asset set. Required. + */ + type?: string | null; + } + /** + * AssetSetAsset is the link between an asset and an asset set. Adding an AssetSetAsset links an asset with an asset set. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__AssetSetAsset { + /** + * Immutable. The asset which this asset set asset is linking to. + */ + asset?: string | null; + /** + * Immutable. The asset set which this asset set asset is linking to. + */ + assetSet?: string | null; + /** + * Immutable. The resource name of the asset set asset. Asset set asset resource names have the form: `customers/{customer_id\}/assetSetAssets/{asset_set_id\}~{asset_id\}` + */ + resourceName?: string | null; + /** + * Output only. The status of the asset set asset. Read-only. + */ + status?: string | null; + } + /** + * An asset set type view. This view reports non-overcounted metrics for each asset set type. Child asset set types are not included in this report. Their stats are aggregated under the parent asset set type. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__AssetSetTypeView { + /** + * Output only. The asset set type of the asset set type view. + */ + assetSetType?: string | null; + /** + * Output only. The resource name of the asset set type view. Asset set type view resource names have the form: `customers/{customer_id\}/assetSetTypeViews/{asset_set_type\}` + */ + resourceName?: string | null; + } + /** + * Audience is an effective targeting option that lets you intersect different segment attributes, such as detailed demographics and affinities, to create audiences that represent sections of your target segments. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__Audience { + /** + * Immutable. The asset group that this audience is scoped under. Must be set if and only if scope is ASSET_GROUP. Immutable after creation. If an audience with ASSET_GROUP scope is upgraded to CUSTOMER scope, this field will automatically be cleared. + */ + assetGroup?: string | null; + /** + * Description of this audience. + */ + description?: string | null; + /** + * Positive dimensions specifying the audience composition. + */ + dimensions?: Schema$GoogleAdsSearchads360V23Common__AudienceDimension[]; + /** + * Negative dimension specifying the audience composition. + */ + exclusionDimension?: Schema$GoogleAdsSearchads360V23Common__AudienceExclusionDimension; + /** + * Output only. ID of the audience. + */ + id?: string | null; + /** + * Name of the audience. It should be unique across all audiences within the account. It must have a minimum length of 1 and maximum length of 255. Required when scope is not set or is set to CUSTOMER. Cannot be set or updated when scope is ASSET_GROUP. + */ + name?: string | null; + /** + * Immutable. The resource name of the audience. Audience names have the form: `customers/{customer_id\}/audiences/{audience_id\}` + */ + resourceName?: string | null; + /** + * Defines the scope this audience can be used in. By default, the scope is CUSTOMER. Audiences can be created with a scope of ASSET_GROUP for exclusive use by a single asset_group. Scope may change from ASSET_GROUP to CUSTOMER but not from CUSTOMER to ASSET_GROUP. + */ + scope?: string | null; + /** + * Output only. Status of this audience. Indicates whether the audience is enabled or removed. + */ + status?: string | null; + } + /** + * specific to local services background check. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__BackgroundCheckVerificationArtifact { + /** + * Output only. URL to access background case. + */ + caseUrl?: string | null; + /** + * Output only. The timestamp when this background check case result was adjudicated. The format is "YYYY-MM-DD HH:MM:SS" in the Google Ads account's timezone. Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30" + */ + finalAdjudicationDateTime?: string | null; + } + /** + * A list of mutates being processed asynchronously. The mutates are uploaded by the user. The mutates themselves aren't readable and the results of the job can only be read using BatchJobService.ListBatchJobResults. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__BatchJob { + /** + * Output only. ID of this batch job. + */ + id?: string | null; + /** + * Output only. The resource name of the long-running operation that can be used to poll for completion. Only set when the batch job status is RUNNING or DONE. + */ + longRunningOperation?: string | null; + /** + * Output only. Contains additional information about this batch job. + */ + metadata?: Schema$GoogleAdsSearchads360V23Resources_BatchJob_BatchJobMetadata; + /** + * Output only. The next sequence token to use when adding operations. Only set when the batch job status is PENDING. + */ + nextAddSequenceToken?: string | null; + /** + * Immutable. The resource name of the batch job. Batch job resource names have the form: `customers/{customer_id\}/batchJobs/{batch_job_id\}` + */ + resourceName?: string | null; + /** + * Output only. Status of this batch job. + */ + status?: string | null; + } + /** + * Represents a bidding data exclusion. Bidding data exclusions can be set in client accounts only, and cannot be used in manager accounts. See "About data exclusions" at https://support.google.com/google-ads/answer/10370710. Note: A customer account can have a maximum of 500 active bidding data exclusions. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__BiddingDataExclusion { + /** + * The data_exclusion will apply to all the campaigns under the listed channels retroactively as well as going forward when the scope of this exclusion is CHANNEL. The supported advertising channel types are DISPLAY, SEARCH and SHOPPING. Note: a data exclusion with both advertising_channel_types and campaign_ids is not supported. + */ + advertisingChannelTypes?: string[] | null; + /** + * The data exclusion will apply to the campaigns listed when the scope of this exclusion is CAMPAIGN. The maximum number of campaigns per event is 2000. Note: a data exclusion with both advertising_channel_types and campaign_ids is not supported. + */ + campaigns?: string[] | null; + /** + * Output only. The ID of the data exclusion. + */ + dataExclusionId?: string | null; + /** + * The description of the data exclusion. The description can be at most 2048 characters. + */ + description?: string | null; + /** + * If not specified, all devices will be included in this exclusion. Otherwise, only the specified targeted devices will be included in this exclusion. + */ + devices?: string[] | null; + /** + * Required. The exclusive end time of the data exclusion in yyyy-MM-dd HH:mm:ss format. The length of [start_date_time, end_date_time) interval must be within (0, 14 days]. + */ + endDateTime?: string | null; + /** + * The name of the data exclusion. The name can be at most 255 characters. + */ + name?: string | null; + /** + * Immutable. The resource name of the data exclusion. Data exclusion resource names have the form: `customers/{customer_id\}/biddingDataExclusions/{data_exclusion_id\}` + */ + resourceName?: string | null; + /** + * The scope of the data exclusion. + */ + scope?: string | null; + /** + * Required. The inclusive start time of the data exclusion in yyyy-MM-dd HH:mm:ss format. A data exclusion is backward looking and should be used for events that start in the past and end either in the past or future. + */ + startDateTime?: string | null; + /** + * Output only. The status of the data exclusion. + */ + status?: string | null; + } + /** + * Represents a bidding seasonality adjustment. Cannot be used in manager accounts. See "About seasonality adjustments" at https://support.google.com/google-ads/answer/10369906. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__BiddingSeasonalityAdjustment { + /** + * The seasonality adjustment will apply to all the campaigns under the listed channels retroactively as well as going forward when the scope of this adjustment is CHANNEL. The supported advertising channel types are DISPLAY, SEARCH and SHOPPING. Note: a seasonality adjustment with both advertising_channel_types and campaign_ids is not supported. + */ + advertisingChannelTypes?: string[] | null; + /** + * The seasonality adjustment will apply to the campaigns listed when the scope of this adjustment is CAMPAIGN. The maximum number of campaigns per event is 2000. Note: a seasonality adjustment with both advertising_channel_types and campaign_ids is not supported. + */ + campaigns?: string[] | null; + /** + * Conversion rate modifier estimated based on expected conversion rate changes. When this field is unset or set to 1.0 no adjustment will be applied to traffic. The allowed range is 0.1 to 10.0. + */ + conversionRateModifier?: number | null; + /** + * The description of the seasonality adjustment. The description can be at most 2048 characters. + */ + description?: string | null; + /** + * If not specified, all devices will be included in this adjustment. Otherwise, only the specified targeted devices will be included in this adjustment. + */ + devices?: string[] | null; + /** + * Required. The exclusive end time of the seasonality adjustment in yyyy-MM-dd HH:mm:ss format. The length of [start_date_time, end_date_time) interval must be within (0, 14 days]. + */ + endDateTime?: string | null; + /** + * The name of the seasonality adjustment. The name can be at most 255 characters. + */ + name?: string | null; + /** + * Immutable. The resource name of the seasonality adjustment. Seasonality adjustment resource names have the form: `customers/{customer_id\}/biddingSeasonalityAdjustments/{seasonality_adjustment_id\}` + */ + resourceName?: string | null; + /** + * The scope of the seasonality adjustment. + */ + scope?: string | null; + /** + * Output only. The ID of the seasonality adjustment. + */ + seasonalityAdjustmentId?: string | null; + /** + * Required. The inclusive start time of the seasonality adjustment in yyyy-MM-dd HH:mm:ss format. A seasonality adjustment is forward looking and should be used for events that start and end in the future. + */ + startDateTime?: string | null; + /** + * Output only. The status of the seasonality adjustment. + */ + status?: string | null; + } + /** + * A bidding strategy. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__BiddingStrategy { + /** + * ID of the campaign budget that this portfolio bidding strategy is aligned with. When a portfolio and a campaign budget are aligned, that means that they are attached to the same set of campaigns. After a bidding strategy is aligned with a campaign budget, campaigns that are added to the bidding strategy must also use the aligned campaign budget. + */ + alignedCampaignBudgetId?: string | null; + /** + * Output only. The number of campaigns attached to this bidding strategy. This field is read-only. + */ + campaignCount?: string | null; + /** + * Immutable. The currency used by the bidding strategy (ISO 4217 three-letter code). For bidding strategies in manager customers, this currency can be set on creation and defaults to the manager customer's currency. For serving customers, this field cannot be set; all strategies in a serving customer implicitly use the serving customer's currency. In all cases the effective_currency_code field returns the currency used by the strategy. + */ + currencyCode?: string | null; + /** + * Output only. The currency used by the bidding strategy (ISO 4217 three-letter code). For bidding strategies in manager customers, this is the currency set by the advertiser when creating the strategy. For serving customers, this is the customer's currency_code. Bidding strategy metrics are reported in this currency. This field is read-only. + */ + effectiveCurrencyCode?: string | null; + /** + * A bidding strategy that raises bids for clicks that seem more likely to lead to a conversion and lowers them for clicks where they seem less likely. + */ + enhancedCpc?: Schema$GoogleAdsSearchads360V23Common__EnhancedCpc; + /** + * Output only. The ID of the bidding strategy. + */ + id?: string | null; + /** + * An automated bidding strategy to help get the most conversions for your campaigns while spending your budget. + */ + maximizeConversions?: Schema$GoogleAdsSearchads360V23Common__MaximizeConversions; + /** + * An automated bidding strategy to help get the most conversion value for your campaigns while spending your budget. + */ + maximizeConversionValue?: Schema$GoogleAdsSearchads360V23Common__MaximizeConversionValue; + /** + * The name of the bidding strategy. All bidding strategies within an account must be named distinctly. The length of this string should be between 1 and 255, inclusive, in UTF-8 bytes, (trimmed). + */ + name?: string | null; + /** + * Output only. The number of non-removed campaigns attached to this bidding strategy. This field is read-only. + */ + nonRemovedCampaignCount?: string | null; + /** + * Immutable. The resource name of the bidding strategy. Bidding strategy resource names have the form: `customers/{customer_id\}/biddingStrategies/{bidding_strategy_id\}` + */ + resourceName?: string | null; + /** + * Output only. The status of the bidding strategy. This field is read-only. + */ + status?: string | null; + /** + * A bidding strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set. + */ + targetCpa?: Schema$GoogleAdsSearchads360V23Common__TargetCpa; + /** + * A bidding strategy that automatically optimizes towards a chosen percentage of impressions. + */ + targetImpressionShare?: Schema$GoogleAdsSearchads360V23Common__TargetImpressionShare; + /** + * A bidding strategy that helps you maximize revenue while averaging a specific target Return On Ad Spend (ROAS). + */ + targetRoas?: Schema$GoogleAdsSearchads360V23Common__TargetRoas; + /** + * A bid strategy that sets your bids to help get as many clicks as possible within your budget. + */ + targetSpend?: Schema$GoogleAdsSearchads360V23Common__TargetSpend; + /** + * Output only. The type of the bidding strategy. Create a bidding strategy by setting the bidding scheme. This field is read-only. + */ + type?: string | null; + } + /** + * A bidding strategy simulation. Supported combinations of simulation type and simulation modification method are detailed below respectively. 1. TARGET_CPA - UNIFORM 2. TARGET_ROAS - UNIFORM + */ + export interface Schema$GoogleAdsSearchads360V23Resources__BiddingStrategySimulation { + /** + * Output only. Bidding strategy shared set id of the simulation. + */ + biddingStrategyId?: string | null; + /** + * Output only. Last day on which the simulation is based, in YYYY-MM-DD format + */ + endDate?: string | null; + /** + * Output only. How the simulation modifies the field. + */ + modificationMethod?: string | null; + /** + * Output only. The resource name of the bidding strategy simulation. Bidding strategy simulation resource names have the form: `customers/{customer_id\}/biddingStrategySimulations/{bidding_strategy_id\}~{type\}~{modification_method\}~{start_date\}~{end_date\}` + */ + resourceName?: string | null; + /** + * Output only. First day on which the simulation is based, in YYYY-MM-DD format. + */ + startDate?: string | null; + /** + * Output only. Simulation points if the simulation type is TARGET_CPA. + */ + targetCpaPointList?: Schema$GoogleAdsSearchads360V23Common__TargetCpaSimulationPointList; + /** + * Output only. Simulation points if the simulation type is TARGET_ROAS. + */ + targetRoasPointList?: Schema$GoogleAdsSearchads360V23Common__TargetRoasSimulationPointList; + /** + * Output only. The field that the simulation modifies. + */ + type?: string | null; + } + /** + * A billing setup, which associates a payments account and an advertiser. A billing setup is specific to one advertiser. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__BillingSetup { + /** + * Output only. The end date time in yyyy-MM-dd or yyyy-MM-dd HH:mm:ss format. + */ + endDateTime?: string | null; + /** + * Output only. The end time as a type. The only possible value is FOREVER. + */ + endTimeType?: string | null; + /** + * Output only. The ID of the billing setup. + */ + id?: string | null; + /** + * Immutable. The resource name of the payments account associated with this billing setup. Payments resource names have the form: `customers/{customer_id\}/paymentsAccounts/{payments_account_id\}` When setting up billing, this is used to signup with an existing payments account (and then payments_account_info should not be set). When getting a billing setup, this and payments_account_info will be populated. + */ + paymentsAccount?: string | null; + /** + * Immutable. The payments account information associated with this billing setup. When setting up billing, this is used to signup with a new payments account (and then payments_account should not be set). When getting a billing setup, this and payments_account will be populated. + */ + paymentsAccountInfo?: Schema$GoogleAdsSearchads360V23Resources_BillingSetup_PaymentsAccountInfo; + /** + * Immutable. The resource name of the billing setup. BillingSetup resource names have the form: `customers/{customer_id\}/billingSetups/{billing_setup_id\}` + */ + resourceName?: string | null; + /** + * Immutable. The start date time in yyyy-MM-dd or yyyy-MM-dd HH:mm:ss format. Only a future time is allowed. + */ + startDateTime?: string | null; + /** + * Immutable. The start time as a type. Only NOW is allowed. + */ + startTimeType?: string | null; + /** + * Output only. The status of the billing setup. + */ + status?: string | null; + } + /** + * specific to a local services business registration check. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__BusinessRegistrationCheckVerificationArtifact { + /** + * Output only. The id of the check, such as vat_tax_id, representing "VAT Tax ID" requirement. + */ + checkId?: string | null; + /** + * Output only. Message storing document info for the business. + */ + registrationDocument?: Schema$GoogleAdsSearchads360V23Resources__BusinessRegistrationDocument; + /** + * Output only. Message storing government issued number for the business. + */ + registrationNumber?: Schema$GoogleAdsSearchads360V23Resources__BusinessRegistrationNumber; + /** + * Output only. The type of business registration check (number, document). + */ + registrationType?: string | null; + /** + * Output only. Registration document rejection reason. + */ + rejectionReason?: string | null; + } + /** + * specific to a local services business registration document. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__BusinessRegistrationDocument { + /** + * Output only. The readonly field containing the information for an uploaded business registration document. + */ + documentReadonly?: Schema$GoogleAdsSearchads360V23Common__LocalServicesDocumentReadOnly; + } + /** + * specific to a local services business registration number. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__BusinessRegistrationNumber { + /** + * Output only. Government-issued number for the business. + */ + number?: string | null; + } + /** + * Call reporting setting for a customer. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__CallReportingSetting { + /** + * Customer-level call conversion action to attribute a call conversion to. If not set a default conversion action is used. Only in effect when call_conversion_reporting_enabled is set to true. + */ + callConversionAction?: string | null; + /** + * Whether to enable call conversion reporting. + */ + callConversionReportingEnabled?: boolean | null; + /** + * Enable reporting of phone call events by redirecting them through Google System. + */ + callReportingEnabled?: boolean | null; + } + /** + * A call view that includes data for call tracking of call-only ads or call extensions. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__CallView { + /** + * Output only. The advertiser-provided call duration in seconds. + */ + callDurationSeconds?: string | null; + /** + * Output only. Area code of the caller. Null if the call duration is shorter than 15 seconds. + */ + callerAreaCode?: string | null; + /** + * Output only. code of the caller. + */ + callerCountryCode?: string | null; + /** + * Output only. The status of the call. + */ + callStatus?: string | null; + /** + * Output only. The call tracking display location. + */ + callTrackingDisplayLocation?: string | null; + /** + * Output only. The advertiser-provided call end date time. + */ + endCallDateTime?: string | null; + /** + * Output only. The resource name of the call view. Call view resource names have the form: `customers/{customer_id\}/callViews/{call_detail_id\}` + */ + resourceName?: string | null; + /** + * Output only. The advertiser-provided call start date time. + */ + startCallDateTime?: string | null; + /** + * Output only. The type of the call. + */ + type?: string | null; + } + /** + * A campaign. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__Campaign { + /** + * Output only. Resource name of AccessibleBiddingStrategy, a read-only view of the unrestricted attributes of the attached portfolio bidding strategy identified by 'bidding_strategy'. Empty, if the campaign does not use a portfolio strategy. Unrestricted strategy attributes are available to all customers with whom the strategy is shared and are read from the AccessibleBiddingStrategy resource. In contrast, restricted attributes are only available to the owner customer of the strategy and their managers. Restricted attributes can only be read from the BiddingStrategy resource. + */ + accessibleBiddingStrategy?: string | null; + /** + * The ad serving optimization status of the campaign. + */ + adServingOptimizationStatus?: string | null; + /** + * Immutable. Optional refinement to `advertising_channel_type`. Must be a valid sub-type of the parent channel type. Can be set only when creating campaigns. After campaign is created, the field can not be changed. + */ + advertisingChannelSubType?: string | null; + /** + * Immutable. The primary serving target for ads within the campaign. The targeting options can be refined in `network_settings`. This field is required and should not be empty when creating new campaigns. Can be set only when creating campaigns. After the campaign is created, the field can not be changed. + */ + advertisingChannelType?: string | null; + /** + * Settings for AI Max in search campaigns. + */ + aiMaxSetting?: Schema$GoogleAdsSearchads360V23Resources_Campaign_AiMaxSetting; + /** + * The setting related to App Campaign. + */ + appCampaignSetting?: Schema$GoogleAdsSearchads360V23Resources_Campaign_AppCampaignSetting; + /** + * Contains the opt-in/out status of each AssetAutomationType. See documentation of each asset automation type enum for default opt in/out behavior. + */ + assetAutomationSettings?: Schema$GoogleAdsSearchads360V23Resources_Campaign_AssetAutomationSetting[]; + /** + * Immutable. Setting for audience related features. + */ + audienceSetting?: Schema$GoogleAdsSearchads360V23Resources_Campaign_AudienceSetting; + /** + * Output only. The resource name of the base campaign of a draft or experiment campaign. For base campaigns, this is equal to `resource_name`. This field is read-only. + */ + baseCampaign?: string | null; + /** + * The resource name of the portfolio bidding strategy used by the campaign. + */ + biddingStrategy?: string | null; + /** + * Output only. The system status of the campaign's bidding strategy. + */ + biddingStrategySystemStatus?: string | null; + /** + * Output only. The type of bidding strategy. A bidding strategy can be created by setting either the bidding scheme to create a standard bidding strategy or the `bidding_strategy` field to create a portfolio bidding strategy. This field is read-only. + */ + biddingStrategyType?: string | null; + brandGuidelines?: Schema$GoogleAdsSearchads360V23Resources_Campaign_BrandGuidelines; + /** + * Immutable. Whether Brand Guidelines are enabled for this Campaign. Only applicable to Performance Max campaigns. If enabled, business name and logo assets must be linked as CampaignAssets instead of AssetGroupAssets. + */ + brandGuidelinesEnabled?: boolean | null; + /** + * The resource name of the campaign budget of the campaign. + */ + campaignBudget?: string | null; + /** + * The resource name of the campaign group that this campaign belongs to. + */ + campaignGroup?: string | null; + /** + * Commission is an automatic bidding strategy in which the advertiser pays a certain portion of the conversion value. + */ + commission?: Schema$GoogleAdsSearchads360V23Common__Commission; + /** + * The advertiser should self-declare whether this campaign contains political advertising content targeted towards the European Union. + */ + containsEuPoliticalAdvertising?: string | null; + /** + * Settings for Demand Gen campaign. + */ + demandGenCampaignSettings?: Schema$GoogleAdsSearchads360V23Resources_Campaign_DemandGenCampaignSettings; + /** + * The setting for controlling Dynamic Search Ads (DSA). + */ + dynamicSearchAdsSetting?: Schema$GoogleAdsSearchads360V23Resources_Campaign_DynamicSearchAdsSetting; + /** + * Output only. The resource names of effective labels attached to this campaign. An effective label is a label inherited or directly assigned to this campaign. + */ + effectiveLabels?: string[] | null; + /** + * The last day and time of the campaign in serving customer's timezone in "yyyy-MM-dd HH:mm:ss" format. Set the time component to 23:59:59 for daily granularity, time granularity is only supported for some campaign types. On create, defaults to running indefinitely. To set an existing campaign to run indefinitely, clear this field. + */ + endDateTime?: string | null; + /** + * Output only. ID of the campaign in the external engine account. This field is for non-Google Ads account only, for example, Yahoo Japan, Microsoft, Baidu etc. For Google Ads entity, use "campaign.id" instead. + */ + engineId?: string | null; + /** + * The asset field types that should be excluded from this campaign. Asset links with these field types will not be inherited by this campaign from the upper level. + */ + excludedParentAssetFieldTypes?: string[] | null; + /** + * The asset set types that should be excluded from this campaign. Asset set links with these types will not be inherited by this campaign from the upper level. Location group types (GMB_DYNAMIC_LOCATION_GROUP, CHAIN_DYNAMIC_LOCATION_GROUP, and STATIC_LOCATION_GROUP) are child types of LOCATION_SYNC. Therefore, if LOCATION_SYNC is set for this field, all location group asset sets are not allowed to be linked to this campaign, and all Location Extension (LE) and Affiliate Location Extensions (ALE) will not be served under this campaign. Only LOCATION_SYNC is currently supported. + */ + excludedParentAssetSetTypes?: string[] | null; + /** + * Output only. The type of campaign: normal, draft, or experiment. + */ + experimentType?: string | null; + /** + * Output only. Types of feeds that are attached directly to this campaign. + */ + feedTypes?: string[] | null; + /** + * Suffix used to append query parameters to landing pages that are served with parallel tracking. + */ + finalUrlSuffix?: string | null; + /** + * A list that limits how often each user will see this campaign's ads. + */ + frequencyCaps?: Schema$GoogleAdsSearchads360V23Common__FrequencyCapEntry[]; + /** + * The setting for ads geotargeting. + */ + geoTargetTypeSetting?: Schema$GoogleAdsSearchads360V23Resources_Campaign_GeoTargetTypeSetting; + /** + * Immutable. The resource name for a set of hotel properties for Performance Max for travel goals campaigns. + */ + hotelPropertyAssetSet?: string | null; + /** + * Output only. The hotel setting for the campaign. + */ + hotelSetting?: Schema$GoogleAdsSearchads360V23Resources_Campaign_HotelSettingInfo; + /** + * Output only. The ID of the campaign. + */ + id?: string | null; + /** + * Keyword match type of Campaign. Set to BROAD to set broad matching for all keywords in a campaign. + */ + keywordMatchType?: string | null; + /** + * Output only. The resource names of labels attached to this campaign. + */ + labels?: string[] | null; + /** + * Output only. The datetime when this campaign was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format. + */ + lastModifiedTime?: string | null; + /** + * Immutable. Listing type of ads served for this campaign. Field is restricted for usage with Performance Max campaigns. + */ + listingType?: string | null; + /** + * The setting for local campaign. + */ + localCampaignSetting?: Schema$GoogleAdsSearchads360V23Resources_Campaign_LocalCampaignSetting; + /** + * The Local Services Campaign related settings. + */ + localServicesCampaignSettings?: Schema$GoogleAdsSearchads360V23Resources_Campaign_LocalServicesCampaignSettings; + /** + * Standard Manual CPA bidding strategy. Manual bidding strategy that allows advertiser to set the bid per advertiser-specified action. Supported only for Local Services campaigns. + */ + manualCpa?: Schema$GoogleAdsSearchads360V23Common__ManualCpa; + /** + * Standard Manual CPC bidding strategy. Manual click-based bidding where user pays per click. + */ + manualCpc?: Schema$GoogleAdsSearchads360V23Common__ManualCpc; + /** + * Standard Manual CPM bidding strategy. Manual impression-based bidding where user pays per thousand impressions. + */ + manualCpm?: Schema$GoogleAdsSearchads360V23Common__ManualCpm; + /** + * A bidding strategy that pays a configurable amount per video view. + */ + manualCpv?: Schema$GoogleAdsSearchads360V23Common__ManualCpv; + /** + * Standard Maximize Conversions bidding strategy that automatically maximizes number of conversions while spending your budget. + */ + maximizeConversions?: Schema$GoogleAdsSearchads360V23Common__MaximizeConversions; + /** + * Standard Maximize Conversion Value bidding strategy that automatically sets bids to maximize revenue while spending your budget. + */ + maximizeConversionValue?: Schema$GoogleAdsSearchads360V23Common__MaximizeConversionValue; + /** + * Output only. Indicates whether this campaign is missing a declaration about whether it contains political advertising targeted towards the EU and is ineligible for any exemptions. If this field is true, use the contains_eu_political_advertising field to add the required declaration. This field is read-only. + */ + missingEuPoliticalAdvertisingDeclaration?: boolean | null; + /** + * The name of the campaign. This field is required and should not be empty when creating new campaigns. It must not contain any null (code point 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD) characters. + */ + name?: string | null; + /** + * The network settings for the campaign. + */ + networkSettings?: Schema$GoogleAdsSearchads360V23Resources_Campaign_NetworkSettings; + /** + * Optimization goal setting for this campaign, which includes a set of optimization goal types. + */ + optimizationGoalSetting?: Schema$GoogleAdsSearchads360V23Resources_Campaign_OptimizationGoalSetting; + /** + * Output only. Optimization score of the campaign. Optimization score is an estimate of how well a campaign is set to perform. It ranges from 0% (0.0) to 100% (1.0), with 100% indicating that the campaign is performing at full potential. This field is null for unscored campaigns. See "About optimization score" at https://support.google.com/google-ads/answer/9061546. This field is read-only. + */ + optimizationScore?: number | null; + /** + * Payment mode for the campaign. + */ + paymentMode?: string | null; + /** + * Standard Percent Cpc bidding strategy where bids are a fraction of the advertised price for some good or service. + */ + percentCpc?: Schema$GoogleAdsSearchads360V23Common__PercentCpc; + /** + * Output only. Information about campaigns being upgraded to Performance Max. + */ + performanceMaxUpgrade?: Schema$GoogleAdsSearchads360V23Resources_Campaign_PerformanceMaxUpgrade; + /** + * Settings for Performance Max campaign. + */ + pmaxCampaignSettings?: Schema$GoogleAdsSearchads360V23Resources_Campaign_PmaxCampaignSettings; + /** + * Output only. The primary status of the campaign. Provides insight into why a campaign is not serving or not serving optimally. Modification to the campaign and its related entities might take a while to be reflected in this status. + */ + primaryStatus?: string | null; + /** + * Output only. The primary status reasons of the campaign. Provides insight into why a campaign is not serving or not serving optimally. These reasons are aggregated to determine an overall CampaignPrimaryStatus. + */ + primaryStatusReasons?: string[] | null; + /** + * Settings for Real-Time Bidding, a feature only available for campaigns targeting the Ad Exchange network. + */ + realTimeBiddingSetting?: Schema$GoogleAdsSearchads360V23Common__RealTimeBiddingSetting; + /** + * Immutable. The resource name of the campaign. Campaign resource names have the form: `customers/{customer_id\}/campaigns/{campaign_id\}` + */ + resourceName?: string | null; + /** + * Selective optimization setting for this campaign, which includes a set of conversion actions to optimize this campaign towards. This feature only applies to app campaigns that use MULTI_CHANNEL as AdvertisingChannelType and APP_CAMPAIGN or APP_CAMPAIGN_FOR_ENGAGEMENT as AdvertisingChannelSubType. + */ + selectiveOptimization?: Schema$GoogleAdsSearchads360V23Resources_Campaign_SelectiveOptimization; + /** + * Selective optimization mode for this campaign. + */ + selectiveOptimizationMode?: string | null; + /** + * Output only. The ad serving status of the campaign. + */ + servingStatus?: string | null; + /** + * The setting for controlling Shopping campaigns. + */ + shoppingSetting?: Schema$GoogleAdsSearchads360V23Resources_Campaign_ShoppingSetting; + /** + * The date and time when campaign started in serving. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format. Set the time component to 00:00:00 for daily granularity, time granularity is only supported for some campaign types. + */ + startDateTime?: string | null; + /** + * The status of the campaign. When a new campaign is added, the status defaults to ENABLED. + */ + status?: string | null; + /** + * Standard Target CPA bidding strategy that automatically sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set. + */ + targetCpa?: Schema$GoogleAdsSearchads360V23Common__TargetCpa; + /** + * An automated bidding strategy that sets bids to help get as many clicks as possible at the target cost-per-click (CPC) you set. + */ + targetCpc?: Schema$GoogleAdsSearchads360V23Common__TargetCpc; + /** + * A bidding strategy that automatically optimizes cost per thousand impressions. + */ + targetCpm?: Schema$GoogleAdsSearchads360V23Common__TargetCpm; + /** + * Target Impression Share bidding strategy. An automated bidding strategy that sets bids to achieve a chosen percentage of impressions. + */ + targetImpressionShare?: Schema$GoogleAdsSearchads360V23Common__TargetImpressionShare; + /** + * Setting for targeting related features. + */ + targetingSetting?: Schema$GoogleAdsSearchads360V23Common__TargetingSetting; + /** + * Standard Target ROAS bidding strategy that automatically maximizes revenue while averaging a specific target return on ad spend (ROAS). + */ + targetRoas?: Schema$GoogleAdsSearchads360V23Common__TargetRoas; + /** + * Standard Target Spend bidding strategy that automatically sets your bids to help get as many clicks as possible within your budget. + */ + targetSpend?: Schema$GoogleAdsSearchads360V23Common__TargetSpend; + /** + * Third-Party integration partners. + */ + thirdPartyIntegrationPartners?: Schema$GoogleAdsSearchads360V23Common__CampaignThirdPartyIntegrationPartners; + /** + * Output only. Campaign-level settings for tracking information. + */ + trackingSetting?: Schema$GoogleAdsSearchads360V23Resources_Campaign_TrackingSetting; + /** + * The URL template for constructing a tracking URL. + */ + trackingUrlTemplate?: string | null; + /** + * Settings for Travel campaign. + */ + travelCampaignSettings?: Schema$GoogleAdsSearchads360V23Resources_Campaign_TravelCampaignSettings; + /** + * The list of mappings used to substitute custom parameter tags in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`. + */ + urlCustomParameters?: Schema$GoogleAdsSearchads360V23Common__CustomParameter[]; + /** + * Describes how unbranded pharma ads will be displayed. + */ + vanityPharma?: Schema$GoogleAdsSearchads360V23Resources_Campaign_VanityPharma; + /** + * Brand Safety setting at the individual campaign level. Allows for selecting an inventory type to show your ads on content that is the right fit for your brand. See https://support.google.com/google-ads/answer/7515513. + */ + videoBrandSafetySuitability?: string | null; + } + /** + * A link between a Campaign and an Asset. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__CampaignAsset { + /** + * Immutable. The asset which is linked to the campaign. + */ + asset?: string | null; + /** + * Immutable. The campaign to which the asset is linked. + */ + campaign?: string | null; + /** + * Immutable. Role that the asset takes under the linked campaign. Required. + */ + fieldType?: string | null; + /** + * Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain "status" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state. + */ + primaryStatus?: string | null; + /** + * Output only. Provides the details of the primary status and its associated reasons. + */ + primaryStatusDetails?: Schema$GoogleAdsSearchads360V23Common__AssetLinkPrimaryStatusDetails[]; + /** + * Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity. + */ + primaryStatusReasons?: string[] | null; + /** + * Immutable. The resource name of the campaign asset. CampaignAsset resource names have the form: `customers/{customer_id\}/campaignAssets/{campaign_id\}~{asset_id\}~{field_type\}` + */ + resourceName?: string | null; + /** + * Output only. Source of the campaign asset link. + */ + source?: string | null; + /** + * Status of the campaign asset. + */ + status?: string | null; + } + /** + * CampaignAssetSet is the linkage between a campaign and an asset set. Adding a CampaignAssetSet links an asset set with a campaign. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__CampaignAssetSet { + /** + * Immutable. The asset set which is linked to the campaign. + */ + assetSet?: string | null; + /** + * Immutable. The campaign to which this asset set is linked. + */ + campaign?: string | null; + /** + * Immutable. The resource name of the campaign asset set. Asset set asset resource names have the form: `customers/{customer_id\}/campaignAssetSets/{campaign_id\}~{asset_set_id\}` + */ + resourceName?: string | null; + /** + * Output only. The status of the campaign asset set asset. Read-only. + */ + status?: string | null; + } + /** + * A campaign audience view. Includes performance data from interests and remarketing lists for Display Network and YouTube Network ads, and remarketing lists for search ads (RLSA), aggregated by campaign and audience criterion. This view only includes audiences attached at the campaign level. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__CampaignAudienceView { + /** + * Output only. The resource name of the campaign audience view. Campaign audience view resource names have the form: `customers/{customer_id\}/campaignAudienceViews/{campaign_id\}~{criterion_id\}` + */ + resourceName?: string | null; + } + /** + * Represents a bid-modifiable only criterion at the campaign level. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__CampaignBidModifier { + /** + * The modifier for the bid when the criterion matches. + */ + bidModifier?: number | null; + /** + * Output only. The campaign to which this criterion belongs. + */ + campaign?: string | null; + /** + * Output only. The ID of the criterion to bid modify. This field is ignored for mutates. + */ + criterionId?: string | null; + /** + * Immutable. Criterion for interaction type. Only supported for search campaigns. + */ + interactionType?: Schema$GoogleAdsSearchads360V23Common__InteractionTypeInfo; + /** + * Immutable. The resource name of the campaign bid modifier. Campaign bid modifier resource names have the form: `customers/{customer_id\}/campaignBidModifiers/{campaign_id\}~{criterion_id\}` + */ + resourceName?: string | null; + } + /** + * A campaign budget. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__CampaignBudget { + /** + * ID of the portfolio bidding strategy that this shared campaign budget is aligned with. When a bidding strategy and a campaign budget are aligned, they are attached to the same set of campaigns. After a campaign budget is aligned with a bidding strategy, campaigns that are added to the campaign budget must also use the aligned bidding strategy. + */ + alignedBiddingStrategyId?: string | null; + /** + * The average daily amount to be spent by the campaign. This field is used when the CampaignBudget `period` is set to `DAILY`, which is the default. Amount is specified in micros in the account's local currency. One million micros is equivalent to one currency unit. The effective monthly spend is capped at 30.4 times this daily amount. This field is mutually exclusive with 'total_amount_micros'. Only one of 'amount_micros' or 'total_amount_micros' should be set. + */ + amountMicros?: string | null; + /** + * The delivery method that determines the rate at which the campaign budget is spent. Defaults to STANDARD if unspecified in a create operation. + */ + deliveryMethod?: string | null; + /** + * Specifies whether the budget is explicitly shared. Defaults to true if unspecified in a create operation. If true, the budget was created with the purpose of sharing across one or more campaigns. If false, the budget was created with the intention of only being used with a single campaign. The budget's name and status will stay in sync with the campaign's name and status. Attempting to share the budget with a second campaign will result in an error. A non-shared budget can become an explicitly shared. The same operation must also assign the budget a name. A shared campaign budget can never become non-shared. + */ + explicitlyShared?: boolean | null; + /** + * Output only. Indicates whether there is a recommended budget for this campaign budget. This field is read-only. + */ + hasRecommendedBudget?: boolean | null; + /** + * Output only. The ID of the campaign budget. A campaign budget is created using the CampaignBudgetService create operation and is assigned a budget ID. A budget ID can be shared across different campaigns; the system will then allocate the campaign budget among different campaigns to get optimum results. + */ + id?: string | null; + /** + * The name of the campaign budget. When creating a campaign budget through CampaignBudgetService, every explicitly shared campaign budget must have a non-null, non-empty name. Campaign budgets that are not explicitly shared derive their name from the attached campaign's name. The length of this string must be between 1 and 255, inclusive, in UTF-8 bytes, (trimmed). + */ + name?: string | null; + /** + * Immutable. Period over which to spend the budget. Defaults to DAILY if not specified. + */ + period?: string | null; + /** + * Output only. The recommended budget amount. If no recommendation is available, this will be set to the budget amount. Amount is specified in micros, where one million is equivalent to one currency unit. This field is read-only. + */ + recommendedBudgetAmountMicros?: string | null; + /** + * Output only. The estimated change in weekly clicks if the recommended budget is applied. This field is read-only. + */ + recommendedBudgetEstimatedChangeWeeklyClicks?: string | null; + /** + * Output only. The estimated change in weekly cost in micros if the recommended budget is applied. One million is equivalent to one currency unit. This field is read-only. + */ + recommendedBudgetEstimatedChangeWeeklyCostMicros?: string | null; + /** + * Output only. The estimated change in weekly interactions if the recommended budget is applied. This field is read-only. + */ + recommendedBudgetEstimatedChangeWeeklyInteractions?: string | null; + /** + * Output only. The estimated change in weekly views if the recommended budget is applied. This field is read-only. + */ + recommendedBudgetEstimatedChangeWeeklyViews?: string | null; + /** + * Output only. The number of campaigns actively using the budget. This field is read-only. + */ + referenceCount?: string | null; + /** + * Immutable. The resource name of the campaign budget. Campaign budget resource names have the form: `customers/{customer_id\}/campaignBudgets/{campaign_budget_id\}` + */ + resourceName?: string | null; + /** + * Output only. The status of this campaign budget. This field is read-only. + */ + status?: string | null; + /** + * The total amount to be spent by the campaign over its entire duration. This field is used *only* when the CampaignBudget `period` is set to `CUSTOM_PERIOD`. It represents the budget cap for the campaign's lifetime, rather than a daily limit. The amount is specified in micros in the account's local currency. One million micros is equivalent to one currency unit. This field is mutually exclusive with 'amount_micros'. Only one of 'total_amount_micros' or 'amount_micros' should be set. + */ + totalAmountMicros?: string | null; + /** + * Immutable. The type of the campaign budget. + */ + type?: string | null; + } + /** + * The biddability setting for the specified campaign only for all conversion actions with a matching category and origin. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__CampaignConversionGoal { + /** + * The biddability of the campaign conversion goal. + */ + biddable?: boolean | null; + /** + * Immutable. The campaign with which this campaign conversion goal is associated. + */ + campaign?: string | null; + /** + * The conversion category of this campaign conversion goal. + */ + category?: string | null; + /** + * The conversion origin of this campaign conversion goal. + */ + origin?: string | null; + /** + * Immutable. The resource name of the campaign conversion goal. Campaign conversion goal resource names have the form: `customers/{customer_id\}/campaignConversionGoals/{campaign_id\}~{category\}~{origin\}` + */ + resourceName?: string | null; + /** + * Search Ads 360 biddability of the campaign conversion goal. + */ + searchAds360Biddable?: boolean | null; + } + /** + * A campaign criterion. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__CampaignCriterion { + /** + * Immutable. Ad Schedule. + */ + adSchedule?: Schema$GoogleAdsSearchads360V23Common__AdScheduleInfo; + /** + * Immutable. Age range. + */ + ageRange?: Schema$GoogleAdsSearchads360V23Common__AgeRangeInfo; + /** + * The modifier for the bids when the criterion matches. The modifier must be in the range: 0.1 - 10.0. Most targetable criteria types support modifiers. Use 0 to opt out of a Device type. + */ + bidModifier?: number | null; + /** + * Immutable. Brand list campaign criterion. + */ + brandList?: Schema$GoogleAdsSearchads360V23Common__BrandListInfo; + /** + * Immutable. The campaign to which the criterion belongs. + */ + campaign?: string | null; + /** + * Immutable. Carrier. + */ + carrier?: Schema$GoogleAdsSearchads360V23Common__CarrierInfo; + /** + * Immutable. Combined Audience. + */ + combinedAudience?: Schema$GoogleAdsSearchads360V23Common__CombinedAudienceInfo; + /** + * Immutable. ContentLabel. + */ + contentLabel?: Schema$GoogleAdsSearchads360V23Common__ContentLabelInfo; + /** + * Output only. The ID of the criterion. This field is ignored during mutate. + */ + criterionId?: string | null; + /** + * Immutable. Device. + */ + device?: Schema$GoogleAdsSearchads360V23Common__DeviceInfo; + /** + * Output only. The display name of the criterion. This field is ignored for mutates. + */ + displayName?: string | null; + /** + * Immutable. Extended demographic criterion. + */ + extendedDemographic?: Schema$GoogleAdsSearchads360V23Common__ExtendedDemographicInfo; + /** + * Immutable. Gender. + */ + gender?: Schema$GoogleAdsSearchads360V23Common__GenderInfo; + /** + * Immutable. Income range. + */ + incomeRange?: Schema$GoogleAdsSearchads360V23Common__IncomeRangeInfo; + /** + * Immutable. IpBlock. You can exclude up to 500 IP addresses per campaign. + */ + ipBlock?: Schema$GoogleAdsSearchads360V23Common__IpBlockInfo; + /** + * Immutable. Keyword. + */ + keyword?: Schema$GoogleAdsSearchads360V23Common__KeywordInfo; + /** + * Immutable. Smart Campaign Keyword Theme. + */ + keywordTheme?: Schema$GoogleAdsSearchads360V23Common__KeywordThemeInfo; + /** + * Immutable. Language. + */ + language?: Schema$GoogleAdsSearchads360V23Common__LanguageInfo; + /** + * Output only. The datetime when this campaign criterion was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format. + */ + lastModifiedTime?: string | null; + /** + * Immutable. Life event campaign criterion. + */ + lifeEvent?: Schema$GoogleAdsSearchads360V23Common__LifeEventInfo; + /** + * Immutable. Listing scope. + */ + listingScope?: Schema$GoogleAdsSearchads360V23Common__ListingScopeInfo; + /** + * Immutable. GLS service campaign criterion. + */ + localServiceId?: Schema$GoogleAdsSearchads360V23Common__LocalServiceIdInfo; + /** + * Immutable. Location. + */ + location?: Schema$GoogleAdsSearchads360V23Common__LocationInfo; + /** + * Immutable. Location Group + */ + locationGroup?: Schema$GoogleAdsSearchads360V23Common__LocationGroupInfo; + /** + * Immutable. Mobile app category. + */ + mobileAppCategory?: Schema$GoogleAdsSearchads360V23Common__MobileAppCategoryInfo; + /** + * Immutable. Mobile application. + */ + mobileApplication?: Schema$GoogleAdsSearchads360V23Common__MobileApplicationInfo; + /** + * Immutable. Mobile Device. + */ + mobileDevice?: Schema$GoogleAdsSearchads360V23Common__MobileDeviceInfo; + /** + * Immutable. Whether to target (`false`) or exclude (`true`) the criterion. + */ + negative?: boolean | null; + /** + * Immutable. Operating system version. + */ + operatingSystemVersion?: Schema$GoogleAdsSearchads360V23Common__OperatingSystemVersionInfo; + /** + * Immutable. Parental status. + */ + parentalStatus?: Schema$GoogleAdsSearchads360V23Common__ParentalStatusInfo; + /** + * Immutable. Placement. + */ + placement?: Schema$GoogleAdsSearchads360V23Common__PlacementInfo; + /** + * Immutable. Proximity. + */ + proximity?: Schema$GoogleAdsSearchads360V23Common__ProximityInfo; + /** + * Immutable. The resource name of the campaign criterion. Campaign criterion resource names have the form: `customers/{customer_id\}/campaignCriteria/{campaign_id\}~{criterion_id\}` + */ + resourceName?: string | null; + /** + * The status of the criterion. + */ + status?: string | null; + /** + * Immutable. Topic. + */ + topic?: Schema$GoogleAdsSearchads360V23Common__TopicInfo; + /** + * Output only. The type of the criterion. + */ + type?: string | null; + /** + * Immutable. User Interest. + */ + userInterest?: Schema$GoogleAdsSearchads360V23Common__UserInterestInfo; + /** + * Immutable. User List. + */ + userList?: Schema$GoogleAdsSearchads360V23Common__UserListInfo; + /** + * Immutable. Video lineup criterion. + */ + videoLineup?: Schema$GoogleAdsSearchads360V23Common__VideoLineupInfo; + /** + * Immutable. Webpage. + */ + webpage?: Schema$GoogleAdsSearchads360V23Common__WebpageInfo; + /** + * Immutable. Webpage list. This criterion is not publicly available. + */ + webpageList?: Schema$GoogleAdsSearchads360V23Common__WebpageListInfo; + /** + * Immutable. YouTube Channel. + */ + youtubeChannel?: Schema$GoogleAdsSearchads360V23Common__YouTubeChannelInfo; + /** + * Immutable. YouTube Video. + */ + youtubeVideo?: Schema$GoogleAdsSearchads360V23Common__YouTubeVideoInfo; + } + /** + * A customizer value for the associated CustomizerAttribute at the Campaign level. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__CampaignCustomizer { + /** + * Immutable. The campaign to which the customizer attribute is linked. + */ + campaign?: string | null; + /** + * Required. Immutable. The customizer attribute which is linked to the campaign. + */ + customizerAttribute?: string | null; + /** + * Immutable. The resource name of the campaign customizer. Campaign customizer resource names have the form: `customers/{customer_id\}/campaignCustomizers/{campaign_id\}~{customizer_attribute_id\}` + */ + resourceName?: string | null; + /** + * Output only. The status of the campaign customizer. + */ + status?: string | null; + /** + * Required. The value to associate with the customizer attribute at this level. The value must be of the type specified for the CustomizerAttribute. + */ + value?: Schema$GoogleAdsSearchads360V23Common__CustomizerValue; + } + /** + * A campaign draft. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__CampaignDraft { + /** + * Immutable. The base campaign to which the draft belongs. + */ + baseCampaign?: string | null; + /** + * Output only. Resource name of the Campaign that results from overlaying the draft changes onto the base campaign. This field is read-only. + */ + draftCampaign?: string | null; + /** + * Output only. The ID of the draft. This field is read-only. + */ + draftId?: string | null; + /** + * Output only. Whether there is an experiment based on this draft currently serving. + */ + hasExperimentRunning?: boolean | null; + /** + * Output only. The resource name of the long-running operation that can be used to poll for completion of draft promotion. This is only set if the draft promotion is in progress or finished. + */ + longRunningOperation?: string | null; + /** + * The name of the campaign draft. This field is required and should not be empty when creating new campaign drafts. It must not contain any null (code point 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD) characters. + */ + name?: string | null; + /** + * Immutable. The resource name of the campaign draft. Campaign draft resource names have the form: `customers/{customer_id\}/campaignDrafts/{base_campaign_id\}~{draft_id\}` + */ + resourceName?: string | null; + /** + * Output only. The status of the campaign draft. This field is read-only. When a new campaign draft is added, the status defaults to PROPOSED. + */ + status?: string | null; + } + /** + * Represents a relationship between a campaign and an effective label. An effective label is a label inherited or directly assigned to this campaign. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__CampaignEffectiveLabel { + /** + * Immutable. The campaign to which the effective label is attached. + */ + campaign?: string | null; + /** + * Immutable. The effective label assigned to the campaign. + */ + label?: string | null; + /** + * Output only. The ID of the Customer which owns the effective label. + */ + ownerCustomerId?: string | null; + /** + * Immutable. Name of the resource. CampaignEffectivelabel resource names have the form: `customers/{owner_customer_id\}/campaignEffectiveLabels/{campaign_id\}~{label_id\}` + */ + resourceName?: string | null; + } + /** + * A link between a campaign and a goal enabling campaign-specific optimization. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__CampaignGoalConfig { + /** + * Immutable. The resource name of the campaign for this link. + */ + campaign?: string | null; + /** + * Retention goal campaign settings. + */ + campaignRetentionSettings?: Schema$GoogleAdsSearchads360V23Common_CampaignGoalSettings_CampaignRetentionGoalSettings; + /** + * Immutable. The resource name of the goal this link is attached to. + */ + goal?: string | null; + /** + * Output only. The goal type this link is attached to. + */ + goalType?: string | null; + /** + * Immutable. The resource name of the campaign goal config. campaign goal config resource names have the form: `customers/{customer_id\}/campaignGoalConfigs/{campaign_id\}~{goal_id\}` + */ + resourceName?: string | null; + } + /** + * A campaign group. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__CampaignGroup { + /** + * Output only. The ID of the campaign group. + */ + id?: string | null; + /** + * The name of the campaign group. This field is required and should not be empty when creating new campaign groups. It must not contain any null (code point 0x0), NL line feed (code point 0xA) or carriage return (code point 0xD) characters. + */ + name?: string | null; + /** + * Immutable. The resource name of the campaign group. Campaign group resource names have the form: `customers/{customer_id\}/campaignGroups/{campaign_group_id\}` + */ + resourceName?: string | null; + /** + * The status of the campaign group. When a new campaign group is added, the status defaults to ENABLED. + */ + status?: string | null; + } + /** + * Represents a relationship between a campaign and a label. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__CampaignLabel { + /** + * Immutable. The campaign to which the label is attached. + */ + campaign?: string | null; + /** + * Immutable. The label assigned to the campaign. + */ + label?: string | null; + /** + * Output only. The ID of the Customer which owns the label. + */ + ownerCustomerId?: string | null; + /** + * Immutable. Name of the resource. Campaign label resource names have the form: `customers/{owner_customer_id\}/campaignLabels/{campaign_id\}~{label_id\}` + */ + resourceName?: string | null; + } + /** + * Campaign level customer lifecycle goal settings. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__CampaignLifecycleGoal { + /** + * Output only. The campaign where the goal is attached. + */ + campaign?: string | null; + /** + * Output only. The customer acquisition goal settings for the campaign. The customer acquisition goal is described in this article: https://support.google.com/google-ads/answer/12080169 + */ + customerAcquisitionGoalSettings?: Schema$GoogleAdsSearchads360V23Resources__CustomerAcquisitionGoalSettings; + /** + * Immutable. The resource name of the customer lifecycle goal of a campaign. `customers/{customer_id\}/campaignLifecycleGoal/{campaign_id\}` + */ + resourceName?: string | null; + } + /** + * This report provides a high-level view of search demand at the campaign level by grouping similar search terms into categories and showing their search volume. Historical data is available starting March 2023. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__CampaignSearchTermInsight { + /** + * Output only. The ID of the campaign. + */ + campaignId?: string | null; + /** + * Output only. The label for the search category. An empty string denotes the catch-all category for search terms that didn't fit into another category. + */ + categoryLabel?: string | null; + /** + * Output only. The ID of the insight. + */ + id?: string | null; + /** + * Output only. The resource name of the campaign level search term insight. Campaign level search term insight resource names have the form: `customers/{customer_id\}/campaignSearchTermInsights/{campaign_id\}~{category_id\}` + */ + resourceName?: string | null; + } + /** + * This report provides granular performance data, including cost metrics, for each individual search term that triggered your ads. If keyword-related segments are used, Performance Max data will be excluded from the results. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__CampaignSearchTermView { + /** + * Output only. The campaign the search term served in. + */ + campaign?: string | null; + /** + * Output only. The resource name of the campaign search term view. Campaign search term view resource names have the form: `customers/{customer_id\}/campaignSearchTermViews/{campaign_id\}~{URL-base64_search_term\}` + */ + resourceName?: string | null; + /** + * Output only. The search term. + */ + searchTerm?: string | null; + } + /** + * CampaignSharedSets are used for managing the shared sets associated with a campaign. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__CampaignSharedSet { + /** + * Immutable. The campaign to which the campaign shared set belongs. + */ + campaign?: string | null; + /** + * Immutable. The resource name of the campaign shared set. Campaign shared set resource names have the form: `customers/{customer_id\}/campaignSharedSets/{campaign_id\}~{shared_set_id\}` + */ + resourceName?: string | null; + /** + * Immutable. The shared set associated with the campaign. This may be a negative keyword shared set of another customer. This customer should be a manager of the other customer, otherwise the campaign shared set will exist but have no serving effect. Only negative keyword shared sets can be associated with Shopping campaigns. Only negative placement shared sets can be associated with Display mobile app campaigns. + */ + sharedSet?: string | null; + /** + * Output only. The status of this campaign shared set. Read only. + */ + status?: string | null; + } + /** + * A campaign simulation. Supported combinations of advertising channel type, simulation type and simulation modification method is detailed below respectively. * SEARCH - CPC_BID - UNIFORM * SEARCH - CPC_BID - SCALING * SEARCH - TARGET_CPA - UNIFORM * SEARCH - TARGET_CPA - SCALING * SEARCH - TARGET_ROAS - UNIFORM * SEARCH - TARGET_IMPRESSION_SHARE - UNIFORM * SEARCH - BUDGET - UNIFORM * SHOPPING - BUDGET - UNIFORM * SHOPPING - TARGET_ROAS - UNIFORM * MULTI_CHANNEL - TARGET_CPA - UNIFORM * MULTI_CHANNEL - TARGET_ROAS - UNIFORM * DEMAND_GEN - TARGET_CPA - DEFAULT * DISPLAY - TARGET_CPA - UNIFORM * PERFORMANCE_MAX - TARGET_CPA - UNIFORM * PERFORMANCE_MAX - TARGET_ROAS - UNIFORM * PERFORMANCE_MAX - BUDGET - UNIFORM + */ + export interface Schema$GoogleAdsSearchads360V23Resources__CampaignSimulation { + /** + * Output only. Simulation points if the simulation type is BUDGET. + */ + budgetPointList?: Schema$GoogleAdsSearchads360V23Common__BudgetSimulationPointList; + /** + * Output only. Campaign id of the simulation. + */ + campaignId?: string | null; + /** + * Output only. Simulation points if the simulation type is CPC_BID. + */ + cpcBidPointList?: Schema$GoogleAdsSearchads360V23Common__CpcBidSimulationPointList; + /** + * Output only. Last day on which the simulation is based, in YYYY-MM-DD format + */ + endDate?: string | null; + /** + * Output only. How the simulation modifies the field. + */ + modificationMethod?: string | null; + /** + * Output only. The resource name of the campaign simulation. Campaign simulation resource names have the form: `customers/{customer_id\}/campaignSimulations/{campaign_id\}~{type\}~{modification_method\}~{start_date\}~{end_date\}` + */ + resourceName?: string | null; + /** + * Output only. First day on which the simulation is based, in YYYY-MM-DD format. + */ + startDate?: string | null; + /** + * Output only. Simulation points if the simulation type is TARGET_CPA. + */ + targetCpaPointList?: Schema$GoogleAdsSearchads360V23Common__TargetCpaSimulationPointList; + /** + * Output only. Simulation points if the simulation type is TARGET_IMPRESSION_SHARE. + */ + targetImpressionSharePointList?: Schema$GoogleAdsSearchads360V23Common__TargetImpressionShareSimulationPointList; + /** + * Output only. Simulation points if the simulation type is TARGET_ROAS. + */ + targetRoasPointList?: Schema$GoogleAdsSearchads360V23Common__TargetRoasSimulationPointList; + /** + * Output only. The field that the simulation modifies. + */ + type?: string | null; + } + /** + * A carrier criterion that can be used in campaign targeting. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__CarrierConstant { + /** + * Output only. The country code of the country where the carrier is located, for example, "AR", "FR", etc. + */ + countryCode?: string | null; + /** + * Output only. The ID of the carrier criterion. + */ + id?: string | null; + /** + * Output only. The full name of the carrier in English. + */ + name?: string | null; + /** + * Output only. The resource name of the carrier criterion. Carrier criterion resource names have the form: `carrierConstants/{criterion_id\}` + */ + resourceName?: string | null; + } + /** + * Cart data sales view. Provides information about the products which were purchased if conversions with cart data is implemented. Performance metrics like revenue, gross profit, lead/cross-sell metrics etc. and Merchant Center attributes such as brand, category etc. are available for products defined in an inventory feed and sold as a result of Google ads. For purchases attributed to clicks on Shopping ads, dimensions of both clicked and sold products can be viewed together. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__CartDataSalesView { + /** + * Output only. The resource name of the Cart data sales view. Cart data sales view resource names have the form: `customers/{customer_id\}/cartDataSalesView` + */ + resourceName?: string | null; + } + /** + * Describes the granular change of returned resources of certain resource types. Changes made through the UI or API in the past 30 days are included. Previous and new values of the changed fields are shown. ChangeEvent could have up to 3 minutes delay to reflect a new change. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__ChangeEvent { + /** + * Output only. The AdGroup affected by this change. + */ + adGroup?: string | null; + /** + * Output only. The Asset affected by this change. + */ + asset?: string | null; + /** + * Output only. The Campaign affected by this change. + */ + campaign?: string | null; + /** + * Output only. Time at which the change was committed on this resource. + */ + changeDateTime?: string | null; + /** + * Output only. A list of fields that are changed in the returned resource. + */ + changedFields?: string | null; + /** + * Output only. The Simply resource this change occurred on. + */ + changeResourceName?: string | null; + /** + * Output only. The type of the changed resource. This dictates what resource will be set in old_resource and new_resource. + */ + changeResourceType?: string | null; + /** + * Output only. Where the change was made through. + */ + clientType?: string | null; + /** + * Output only. The new resource after the change. Only changed fields will be populated. + */ + newResource?: Schema$GoogleAdsSearchads360V23Resources_ChangeEvent_ChangedResource; + /** + * Output only. The old resource before the change. Only changed fields will be populated. + */ + oldResource?: Schema$GoogleAdsSearchads360V23Resources_ChangeEvent_ChangedResource; + /** + * Output only. The operation on the changed resource. + */ + resourceChangeOperation?: string | null; + /** + * Output only. The resource name of the change event. Change event resource names have the form: `customers/{customer_id\}/changeEvents/{timestamp_micros\}~{command_index\}~{mutate_index\}` + */ + resourceName?: string | null; + /** + * Output only. The email of the user who made this change. + */ + userEmail?: string | null; + } + /** + * Describes the status of returned resource. ChangeStatus could have up to 3 minutes delay to reflect a new change. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__ChangeStatus { + /** + * Output only. The AdGroup affected by this change. + */ + adGroup?: string | null; + /** + * Output only. The AdGroupAd affected by this change. + */ + adGroupAd?: string | null; + /** + * Output only. The AdGroupAsset affected by this change. + */ + adGroupAsset?: string | null; + /** + * Output only. The AdGroupBidModifier affected by this change. + */ + adGroupBidModifier?: string | null; + /** + * Output only. The AdGroupCriterion affected by this change. + */ + adGroupCriterion?: string | null; + /** + * Output only. The Asset affected by this change. + */ + asset?: string | null; + /** + * Output only. The AssetGroup affected by this change. + */ + assetGroup?: string | null; + /** + * Output only. The AssetSet affected by this change. + */ + assetSet?: string | null; + /** + * Output only. The Campaign affected by this change. + */ + campaign?: string | null; + /** + * Output only. The CampaignAsset affected by this change. + */ + campaignAsset?: string | null; + /** + * Output only. The CampaignAssetSet affected by this change. + */ + campaignAssetSet?: string | null; + /** + * Output only. The CampaignBudget affected by this change. + */ + campaignBudget?: string | null; + /** + * Output only. The CampaignCriterion affected by this change. + */ + campaignCriterion?: string | null; + /** + * Output only. The CampaignSharedSet affected by this change. + */ + campaignSharedSet?: string | null; + /** + * Output only. The CombinedAudience affected by this change. + */ + combinedAudience?: string | null; + /** + * Output only. The CustomerAsset affected by this change. + */ + customerAsset?: string | null; + /** + * Output only. Time at which the most recent change has occurred on this resource. + */ + lastChangeDateTime?: string | null; + /** + * Output only. The resource name of the change status. Change status resource names have the form: `customers/{customer_id\}/changeStatus/{change_status_id\}` + */ + resourceName?: string | null; + /** + * Output only. Represents the status of the changed resource. + */ + resourceStatus?: string | null; + /** + * Output only. Represents the type of the changed resource. This dictates what fields will be set. For example, for AD_GROUP, campaign and ad_group fields will be set. + */ + resourceType?: string | null; + /** + * Output only. The SharedSet affected by this change. + */ + sharedSet?: string | null; + } + /** + * A click view with metrics aggregated at each click level, including both valid and invalid clicks. For non-Search campaigns, metrics.clicks represents the number of valid and invalid interactions. Queries including ClickView must have a filter limiting the results to one day and can be requested for dates back to 90 days before the time of the request. GCLIDs are not available in this report for App Campaigns for Installs (ACi) and App Campaigns for Pre-registration (ACpre). + */ + export interface Schema$GoogleAdsSearchads360V23Resources__ClickView { + /** + * Output only. The associated ad. + */ + adGroupAd?: string | null; + /** + * Output only. The location criteria matching the area of interest associated with the impression. + */ + areaOfInterest?: Schema$GoogleAdsSearchads360V23Common__ClickLocation; + /** + * Output only. The associated campaign location target, if one exists. + */ + campaignLocationTarget?: string | null; + /** + * Output only. The Google Click ID. + */ + gclid?: string | null; + /** + * Output only. The associated keyword, if one exists and the click corresponds to the SEARCH channel. + */ + keyword?: string | null; + /** + * Output only. Basic information about the associated keyword, if it exists. + */ + keywordInfo?: Schema$GoogleAdsSearchads360V23Common__KeywordInfo; + /** + * Output only. The location criteria matching the location of presence associated with the impression. + */ + locationOfPresence?: Schema$GoogleAdsSearchads360V23Common__ClickLocation; + /** + * Output only. Page number in search results where the ad was shown. + */ + pageNumber?: string | null; + /** + * Output only. The resource name of the click view. Click view resource names have the form: `customers/{customer_id\}/clickViews/{date (yyyy-MM-dd)\}~{gclid\}` + */ + resourceName?: string | null; + /** + * Output only. The associated user list, if one exists. + */ + userList?: string | null; + } + /** + * Describe a resource for combined audiences which includes different audiences. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__CombinedAudience { + /** + * Output only. Description of this combined audience. + */ + description?: string | null; + /** + * Output only. ID of the combined audience. + */ + id?: string | null; + /** + * Output only. Name of the combined audience. It should be unique across all combined audiences. + */ + name?: string | null; + /** + * Immutable. The resource name of the combined audience. Combined audience names have the form: `customers/{customer_id\}/combinedAudience/{combined_audience_id\}` + */ + resourceName?: string | null; + /** + * Output only. Status of this combined audience. Indicates whether the combined audience is enabled or removed. + */ + status?: string | null; + } + /** + * Fields containing consumer contact details. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__ContactDetails { + /** + * Output only. Consumer name if consumer provided name from Message or Booking form on google.com + */ + consumerName?: string | null; + /** + * Output only. Consumer email address. + */ + email?: string | null; + /** + * Output only. Phone number of the consumer for the lead. This can be a real phone number or a tracking number. The phone number is returned in E164 format. See https://support.google.com/google-ads/answer/16355235?hl=en to learn more. Example: +16504519489. + */ + phoneNumber?: string | null; + } + /** + * A content criterion view. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__ContentCriterionView { + /** + * Output only. The resource name of the content criterion view. Content criterion view resource names have the form: `customers/{customer_id\}/contentCriterionViews/{ad_group_id\}~{criterion_id\}` + */ + resourceName?: string | null; + } + /** + * A conversion. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__Conversion { + /** + * Output only. Ad ID. A value of 0 indicates that the ad is unattributed. + */ + adId?: string | null; + /** + * Output only. For offline conversions, this is an ID provided by advertisers. If an advertiser doesn't specify such an ID, Search Ads 360 generates one. For online conversions, this is equal to the id column or the floodlight_order_id column depending on the advertiser's Floodlight instructions. + */ + advertiserConversionId?: string | null; + /** + * Output only. Asset field type of the conversion event. + */ + assetFieldType?: string | null; + /** + * Output only. ID of the asset which was interacted with during the conversion event. + */ + assetId?: string | null; + /** + * Output only. What the conversion is attributed to: Visit or Keyword+Ad. + */ + attributionType?: string | null; + /** + * Output only. A unique string, for the visit that the conversion is attributed to, that is passed to the landing page as the click id URL parameter. + */ + clickId?: string | null; + /** + * Output only. The timestamp of the conversion event. + */ + conversionDateTime?: string | null; + /** + * Output only. The timestamp of the last time the conversion was modified. + */ + conversionLastModifiedDateTime?: string | null; + /** + * Output only. The quantity of items recorded by the conversion, as determined by the qty url parameter. The advertiser is responsible for dynamically populating the parameter (such as number of items sold in the conversion), otherwise it defaults to 1. + */ + conversionQuantity?: string | null; + /** + * Output only. The adjusted revenue in micros for the conversion event. This will always be in the currency of the serving account. + */ + conversionRevenueMicros?: string | null; + /** + * Output only. The timestamp of the visit that the conversion is attributed to. + */ + conversionVisitDateTime?: string | null; + /** + * Output only. Search Ads 360 criterion ID. A value of 0 indicates that the criterion is unattributed. + */ + criterionId?: string | null; + /** + * Output only. The Floodlight order ID provided by the advertiser for the conversion. + */ + floodlightOrderId?: string | null; + /** + * Output only. The original, unchanged revenue associated with the Floodlight event (in the currency of the current report), before Floodlight currency instruction modifications. + */ + floodlightOriginalRevenue?: string | null; + /** + * Output only. The ID of the conversion + */ + id?: string | null; + /** + * Output only. The Search Ads 360 inventory account ID containing the product that was clicked on. Search Ads 360 generates this ID when you link an inventory account in Search Ads 360. + */ + merchantId?: string | null; + /** + * Output only. The sales channel of the product that was clicked on: Online or Local. + */ + productChannel?: string | null; + /** + * Output only. The country (ISO-3166-format) registered for the inventory feed that contains the product clicked on. + */ + productCountryCode?: string | null; + /** + * Output only. The ID of the product clicked on. + */ + productId?: string | null; + /** + * Output only. The language (ISO-639-1) that has been set for the Merchant Center feed containing data about the product. + */ + productLanguageCode?: string | null; + /** + * Output only. The store in the Local Inventory Ad that was clicked on. This should match the store IDs used in your local products feed. + */ + productStoreId?: string | null; + /** + * Output only. The resource name of the conversion. Conversion resource names have the form: `customers/{customer_id\}/conversions/{ad_group_id\}~{criterion_id\}~{ds_conversion_id\}` + */ + resourceName?: string | null; + /** + * Output only. The status of the conversion, either ENABLED or REMOVED.. + */ + status?: string | null; + /** + * Output only. The Search Ads 360 visit ID that the conversion is attributed to. + */ + visitId?: string | null; + } + /** + * A conversion action. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__ConversionAction { + /** + * App ID for an app conversion action. + */ + appId?: string | null; + /** + * Settings related to this conversion action's attribution model. + */ + attributionModelSettings?: Schema$GoogleAdsSearchads360V23Resources_ConversionAction_AttributionModelSettings; + /** + * The category of conversions reported for this conversion action. + */ + category?: string | null; + /** + * The maximum number of days that may elapse between an interaction (for example, a click) and a conversion event. + */ + clickThroughLookbackWindowDays?: string | null; + /** + * How to count conversion events for the conversion action. + */ + countingType?: string | null; + /** + * Output only. Timestamp of the Floodlight activity's creation, formatted in ISO 8601. + */ + creationTime?: string | null; + /** + * Output only. Firebase settings for Firebase conversion types. + */ + firebaseSettings?: Schema$GoogleAdsSearchads360V23Resources_ConversionAction_FirebaseSettings; + /** + * Output only. Floodlight settings for Floodlight conversion types. + */ + floodlightSettings?: Schema$GoogleAdsSearchads360V23Resources_ConversionAction_FloodlightSettings; + /** + * Output only. Google Analytics 4 settings for Google Analytics 4 conversion types. + */ + googleAnalytics4Settings?: Schema$GoogleAdsSearchads360V23Resources_ConversionAction_GoogleAnalytics4Settings; + /** + * Output only. The ID of the conversion action. + */ + id?: string | null; + /** + * Whether this conversion action should be included in the "client_account_conversions" metric. + */ + includeInClientAccountConversionsMetric?: boolean | null; + /** + * Output only. Whether this conversion action should be included in the "conversions" metric. + */ + includeInConversionsMetric?: boolean | null; + /** + * Output only. Mobile app vendor for an app conversion action. + */ + mobileAppVendor?: string | null; + /** + * The name of the conversion action. This field is required and should not be empty when creating new conversion actions. + */ + name?: string | null; + /** + * Output only. The conversion origin of this conversion action. + */ + origin?: string | null; + /** + * Output only. The resource name of the conversion action owner customer, or null if this is a system-defined conversion action. + */ + ownerCustomer?: string | null; + /** + * The phone call duration in seconds after which a conversion should be reported for this conversion action. The value must be between 0 and 10000, inclusive. + */ + phoneCallDurationSeconds?: string | null; + /** + * If a conversion action's primary_for_goal bit is false, the conversion action is non-biddable for all campaigns regardless of their customer conversion goal or campaign conversion goal. However, custom conversion goals do not respect primary_for_goal, so if a campaign has a custom conversion goal configured with a primary_for_goal = false conversion action, that conversion action is still biddable. By default, primary_for_goal will be true if not set. In V9, primary_for_goal can only be set to false after creation through an 'update' operation because it's not declared as optional. + */ + primaryForGoal?: boolean | null; + /** + * Immutable. The resource name of the conversion action. Conversion action resource names have the form: `customers/{customer_id\}/conversionActions/{conversion_action_id\}` + */ + resourceName?: string | null; + /** + * The status of this conversion action for conversion event accrual. + */ + status?: string | null; + /** + * Output only. The snippets used for tracking conversions. + */ + tagSnippets?: Schema$GoogleAdsSearchads360V23Common__TagSnippet[]; + /** + * Output only. Third Party App Analytics settings for third party conversion types. + */ + thirdPartyAppAnalyticsSettings?: Schema$GoogleAdsSearchads360V23Resources_ConversionAction_ThirdPartyAppAnalyticsSettings; + /** + * Immutable. The type of this conversion action. + */ + type?: string | null; + /** + * Settings related to the value for conversion events associated with this conversion action. + */ + valueSettings?: Schema$GoogleAdsSearchads360V23Resources_ConversionAction_ValueSettings; + /** + * The maximum number of days which may elapse between an impression and a conversion without an interaction. + */ + viewThroughLookbackWindowDays?: string | null; + } + /** + * A conversion custom variable. See "About custom Floodlight metrics and dimensions in the new Search Ads 360" at https://support.google.com/sa360/answer/13567857 + */ + export interface Schema$GoogleAdsSearchads360V23Resources__ConversionCustomVariable { + /** + * Output only. Cardinality of the conversion custom variable. + */ + cardinality?: string | null; + /** + * Output only. The IDs of custom columns that use this conversion custom variable. + */ + customColumnIds?: string[] | null; + /** + * Output only. Family of the conversion custom variable. + */ + family?: string | null; + /** + * Output only. Fields for Search Ads 360 floodlight conversion custom variables. + */ + floodlightConversionCustomVariableInfo?: Schema$GoogleAdsSearchads360V23Resources_ConversionCustomVariable_FloodlightConversionCustomVariableInfo; + /** + * Output only. The ID of the conversion custom variable. + */ + id?: string | null; + /** + * Required. The name of the conversion custom variable. Name should be unique. The maximum length of name is 100 characters. There should not be any extra spaces before and after. + */ + name?: string | null; + /** + * Output only. The resource name of the customer that owns the conversion custom variable. + */ + ownerCustomer?: string | null; + /** + * Immutable. The resource name of the conversion custom variable. Conversion custom variable resource names have the form: `customers/{customer_id\}/conversionCustomVariables/{conversion_custom_variable_id\}` + */ + resourceName?: string | null; + /** + * The status of the conversion custom variable for conversion event accrual. + */ + status?: string | null; + /** + * Required. Immutable. The tag of the conversion custom variable. Tag should be unique and consist of a "u" character directly followed with a number less than ormequal to 100. For example: "u4". + */ + tag?: string | null; + } + /** + * Conversion goal settings for a Campaign. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__ConversionGoalCampaignConfig { + /** + * Immutable. The campaign with which this conversion goal campaign config is associated. + */ + campaign?: string | null; + /** + * The custom conversion goal the campaign is using for optimization. + */ + customConversionGoal?: string | null; + /** + * The level of goal config the campaign is using. + */ + goalConfigLevel?: string | null; + /** + * Immutable. The resource name of the conversion goal campaign config. Conversion goal campaign config resource names have the form: `customers/{customer_id\}/conversionGoalCampaignConfigs/{campaign_id\}` + */ + resourceName?: string | null; + /** + * The Search Ads 360 custom conversion goal the campaign is using for optimization. + */ + searchAds360CustomConversionGoal?: string | null; + /** + * The level of Search Ads 360 goal config the campaign is using. + */ + searchAds360GoalConfigLevel?: string | null; + } + /** + * A collection of customer-wide settings related to Search Ads 360 Conversion Tracking. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__ConversionTrackingSetting { + /** + * Output only. Whether the customer has accepted customer data terms. If using cross-account conversion tracking, this value is inherited from the manager. This field is read-only. For more information, see https://support.google.com/adspolicy/answer/7475709. + */ + acceptedCustomerDataTerms?: boolean | null; + /** + * Output only. The conversion tracking id used for this account. This id doesn't indicate whether the customer uses conversion tracking (conversion_tracking_status does). This field is read-only. + */ + conversionTrackingId?: string | null; + /** + * Output only. Conversion tracking status. It indicates whether the customer is using conversion tracking, and who is the conversion tracking owner of this customer. If this customer is using cross-account conversion tracking, the value returned will differ based on the `login-customer-id` of the request. + */ + conversionTrackingStatus?: string | null; + /** + * Output only. The conversion tracking id of the customer's manager. This is set when the customer is opted into cross-account conversion tracking, and it overrides conversion_tracking_id. + */ + crossAccountConversionTrackingId?: string | null; + /** + * Output only. Whether the customer is opted-in for enhanced conversions for leads. If using cross-account conversion tracking, this value is inherited from the manager. This field is read-only. + */ + enhancedConversionsForLeadsEnabled?: boolean | null; + /** + * The resource name of the customer where conversions are created and managed. This field is read-only. + */ + googleAdsConversionCustomer?: string | null; + /** + * Output only. The conversion tracking id of the customer's manager. This is set when the customer is opted into conversion tracking, and it overrides conversion_tracking_id. This field can only be managed through the Google Ads UI. This field is read-only. + */ + googleAdsCrossAccountConversionTrackingId?: string | null; + } + /** + * A conversion value rule + */ + export interface Schema$GoogleAdsSearchads360V23Resources__ConversionValueRule { + /** + * Action applied when the rule is triggered. + */ + action?: Schema$GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleAction; + /** + * Condition for audience that must be satisfied for the value rule to apply. + */ + audienceCondition?: Schema$GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleAudienceCondition; + /** + * Condition for device type that must be satisfied for the value rule to apply. + */ + deviceCondition?: Schema$GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleDeviceCondition; + /** + * Condition for Geo location that must be satisfied for the value rule to apply. + */ + geoLocationCondition?: Schema$GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleGeoLocationCondition; + /** + * Output only. The ID of the conversion value rule. + */ + id?: string | null; + /** + * Condition for itinerary that must be satisfied for the value rule to apply. + */ + itineraryCondition?: Schema$GoogleAdsSearchads360V23Resources_ConversionValueRule_ValueRuleItineraryCondition; + /** + * Output only. The resource name of the conversion value rule's owner customer. When the value rule is inherited from a manager customer, owner_customer will be the resource name of the manager whereas the customer in the resource_name will be of the requesting serving customer. ** Read-only ** + */ + ownerCustomer?: string | null; + /** + * Immutable. The resource name of the conversion value rule. Conversion value rule resource names have the form: `customers/{customer_id\}/conversionValueRules/{conversion_value_rule_id\}` + */ + resourceName?: string | null; + /** + * The status of the conversion value rule. + */ + status?: string | null; + } + /** + * A conversion value rule set is a collection of conversion value rules that lets you adjust conversion values based on the dimensions specified in the `dimensions` field. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__ConversionValueRuleSet { + /** + * Immutable. Defines the scope where the conversion value rule set is attached. + */ + attachmentType?: string | null; + /** + * The resource name of the campaign when the conversion value rule set is attached to a campaign. + */ + campaign?: string | null; + /** + * Immutable. The conversion action categories of the conversion value rule set. + */ + conversionActionCategories?: string[] | null; + /** + * Resource names of rules within the rule set. + */ + conversionValueRules?: string[] | null; + /** + * Defines dimensions for Value Rule conditions. The condition types of value rules within this value rule set must be of these dimensions. The first entry in this list is the primary dimension of the included value rules. When using value rule primary dimension segmentation, conversion values will be segmented into the values adjusted by value rules and the original values, if some value rules apply. + */ + dimensions?: string[] | null; + /** + * Output only. The ID of the conversion value rule set. + */ + id?: string | null; + /** + * Output only. The resource name of the conversion value rule set's owner customer. When the value rule set is inherited from a manager customer, owner_customer will be the resource name of the manager whereas the customer in the resource_name will be of the requesting serving customer. ** Read-only ** + */ + ownerCustomer?: string | null; + /** + * Immutable. The resource name of the conversion value rule set. Conversion value rule set resource names have the form: `customers/{customer_id\}/conversionValueRuleSets/{conversion_value_rule_set_id\}` + */ + resourceName?: string | null; + /** + * Output only. The status of the conversion value rule set. ** Read-only ** + */ + status?: string | null; + } + /** + * Represents the credit details of a lead. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__CreditDetails { + /** + * Output only. Credit state of the lead. + */ + creditState?: string | null; + /** + * Output only. The date time when the credit state of the lead was last updated. The format is "YYYY-MM-DD HH:MM:SS" in the Google Ads account's timezone. Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30" + */ + creditStateLastUpdateDateTime?: string | null; + } + /** + * A currency constant. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__CurrencyConstant { + /** + * Output only. The billable unit for this currency. Billed amounts should be multiples of this value. + */ + billableUnitMicros?: string | null; + /** + * Output only. ISO 4217 three-letter currency code, for example, "USD" + */ + code?: string | null; + /** + * Output only. Full English name of the currency. + */ + name?: string | null; + /** + * Output only. The resource name of the currency constant. Currency constant resource names have the form: `currencyConstants/{code\}` + */ + resourceName?: string | null; + /** + * Output only. Standard symbol for describing this currency, for example, '$' for US Dollars. + */ + symbol?: string | null; + } + /** + * A custom audience. This is a list of users by interest. The unique key of a custom audience consists of the following fields: name. Violating the unique key constraint produces error: CustomAudienceError.NAME_ALREADY_USED + */ + export interface Schema$GoogleAdsSearchads360V23Resources__CustomAudience { + /** + * Description of this custom audience. + */ + description?: string | null; + /** + * Output only. ID of the custom audience. + */ + id?: string | null; + /** + * List of custom audience members that this custom audience is composed of. Members can be added during CustomAudience creation. If members are presented in UPDATE operation, existing members will be overridden. + */ + members?: Schema$GoogleAdsSearchads360V23Resources__CustomAudienceMember[]; + /** + * Name of the custom audience. It should be unique for all custom audiences created by a customer. This field is required for creating operations. + */ + name?: string | null; + /** + * Immutable. The resource name of the custom audience. Custom audience resource names have the form: `customers/{customer_id\}/customAudiences/{custom_audience_id\}` + */ + resourceName?: string | null; + /** + * Output only. Status of this custom audience. Indicates whether the custom audience is enabled or removed. + */ + status?: string | null; + /** + * Type of the custom audience. ("INTEREST" OR "PURCHASE_INTENT" is not allowed for newly created custom audience but kept for existing audiences) + */ + type?: string | null; + } + /** + * A member of custom audience. A member can be a KEYWORD, URL, PLACE_CATEGORY or APP. It can only be created or removed but not changed. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__CustomAudienceMember { + /** + * A package name of Android apps which users installed such as com.google.example. + */ + app?: string | null; + /** + * A keyword or keyword phrase — at most 10 words and 80 characters. Languages with double-width characters such as Chinese, Japanese, or Korean, are allowed 40 characters, which describes the user's interests or actions. + */ + keyword?: string | null; + /** + * The type of custom audience member, KEYWORD, URL, PLACE_CATEGORY or APP. + */ + memberType?: string | null; + /** + * A place type described by a place category users visit. + */ + placeCategory?: string | null; + /** + * An HTTP URL, protocol-included — at most 2048 characters, which includes contents users have interests in. + */ + url?: string | null; + } + /** + * A custom column. See Search Ads 360 custom column at https://support.google.com/sa360/answer/9633916 + */ + export interface Schema$GoogleAdsSearchads360V23Resources__CustomColumn { + /** + * Output only. User-defined description of the custom column. + */ + description?: string | null; + /** + * Output only. ID of the custom column. + */ + id?: string | null; + /** + * Output only. User-defined name of the custom column. + */ + name?: string | null; + /** + * Output only. True when the custom column is available to be used in the query of SearchAds360Service.Search and SearchAds360Service.SearchStream. + */ + queryable?: boolean | null; + /** + * Output only. The list of the referenced system columns of this custom column. For example, A custom column "sum of impressions and clicks" has referenced system columns of {"metrics.clicks", "metrics.impressions"\}. + */ + referencedSystemColumns?: string[] | null; + /** + * Output only. True when the custom column is referring to one or more attributes. + */ + referencesAttributes?: boolean | null; + /** + * Output only. True when the custom column is referring to one or more metrics. + */ + referencesMetrics?: boolean | null; + /** + * Output only. How the result value of the custom column should be interpreted. + */ + renderType?: string | null; + /** + * Immutable. The resource name of the custom column. Custom column resource names have the form: `customers/{customer_id\}/customColumns/{custom_column_id\}` + */ + resourceName?: string | null; + /** + * Output only. The type of the result value of the custom column. + */ + valueType?: string | null; + } + /** + * Custom conversion goal that can make arbitrary conversion actions biddable. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__CustomConversionGoal { + /** + * Conversion actions that the custom conversion goal makes biddable. + */ + conversionActions?: string[] | null; + /** + * Immutable. The ID for this custom conversion goal. + */ + id?: string | null; + /** + * The name for this custom conversion goal. + */ + name?: string | null; + /** + * Immutable. The resource name of the custom conversion goal. Custom conversion goal resource names have the form: `customers/{customer_id\}/customConversionGoals/{goal_id\}` + */ + resourceName?: string | null; + /** + * The status of the custom conversion goal. + */ + status?: string | null; + } + /** + * A customer. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__Customer { + /** + * Output only. The account level of the customer: Manager, Sub-manager, Associate manager, Service account. + */ + accountLevel?: string | null; + /** + * Output only. Account status, for example, Enabled, Paused, Removed, etc. + */ + accountStatus?: string | null; + /** + * Output only. Engine account type, for example, Google Ads, Microsoft Advertising, Yahoo Japan, Baidu, Facebook, Engine Track, etc. + */ + accountType?: string | null; + /** + * Output only. The descriptive name of the associate manager. + */ + associateManagerDescriptiveName?: string | null; + /** + * Output only. The customer ID of the associate manager. A 0 value indicates that the customer has no SA360 associate manager. + */ + associateManagerId?: string | null; + /** + * Whether auto-tagging is enabled for the customer. + */ + autoTaggingEnabled?: boolean | null; + /** + * Call reporting setting for a customer. + */ + callReportingSetting?: Schema$GoogleAdsSearchads360V23Resources__CallReportingSetting; + /** + * Output only. Returns the advertiser self-declaration status of whether this customer contains political advertising content targeted towards the European Union. You can use the Google Ads UI to update this account-level declaration, or use the API to update the self-declaration status of individual campaigns. + */ + containsEuPoliticalAdvertising?: string | null; + /** + * Conversion tracking setting for a customer. + */ + conversionTrackingSetting?: Schema$GoogleAdsSearchads360V23Resources__ConversionTrackingSetting; + /** + * Output only. The timestamp when this customer was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format. + */ + creationTime?: string | null; + /** + * Immutable. The currency in which the account operates. A subset of the currency codes from the ISO 4217 standard is supported. + */ + currencyCode?: string | null; + /** + * Output only. Customer Agreement Setting for a customer. + */ + customerAgreementSetting?: Schema$GoogleAdsSearchads360V23Resources__CustomerAgreementSetting; + /** + * Optional, non-unique descriptive name of the customer. + */ + descriptiveName?: string | null; + /** + * Output only. DoubleClick Campaign Manager (DCM) setting for a manager customer. + */ + doubleClickCampaignManagerSetting?: Schema$GoogleAdsSearchads360V23Resources__DoubleClickCampaignManagerSetting; + /** + * Output only. ID of the account in the external engine account. + */ + engineId?: string | null; + /** + * The URL template for appending params to the final URL. + */ + finalUrlSuffix?: string | null; + /** + * Output only. Whether the Customer has a Partners program badge. If the Customer is not associated with the Partners program, this will be false. For more information, see https://support.google.com/partners/answer/3125774. + */ + hasPartnersBadge?: boolean | null; + /** + * Output only. The ID of the customer. + */ + id?: string | null; + /** + * Output only. True if feed based image has been migrated to asset based image. + */ + imageAssetAutoMigrationDone?: boolean | null; + /** + * Output only. Timestamp of migration from feed based image to asset base image in yyyy-MM-dd HH:mm:ss format. + */ + imageAssetAutoMigrationDoneDateTime?: string | null; + /** + * Output only. The datetime when this customer was last modified. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format. + */ + lastModifiedTime?: string | null; + /** + * Output only. Settings for Local Services customer. + */ + localServicesSettings?: Schema$GoogleAdsSearchads360V23Resources__LocalServicesSettings; + /** + * Output only. True if feed based location has been migrated to asset based location. + */ + locationAssetAutoMigrationDone?: boolean | null; + /** + * Output only. Timestamp of migration from feed based location to asset base location in yyyy-MM-dd HH:mm:ss format. + */ + locationAssetAutoMigrationDoneDateTime?: string | null; + /** + * Output only. Whether the customer is a manager. + */ + manager?: boolean | null; + /** + * Output only. The descriptive name of the manager. + */ + managerDescriptiveName?: string | null; + /** + * Output only. The customer ID of the manager. A 0 value indicates that the customer has no SA360 manager. + */ + managerId?: string | null; + /** + * Output only. Optimization score of the customer. Optimization score is an estimate of how well a customer's campaigns are set to perform. It ranges from 0% (0.0) to 100% (1.0). This field is null for all manager customers, and for unscored non-manager customers. See "About optimization score" at https://support.google.com/google-ads/answer/9061546. This field is read-only. + */ + optimizationScore?: number | null; + /** + * Output only. Optimization score weight of the customer. Optimization score weight can be used to compare/aggregate optimization scores across multiple non-manager customers. The aggregate optimization score of a manager is computed as the sum over all of their customers of `Customer.optimization_score * Customer.optimization_score_weight`. This field is 0 for all manager customers, and for unscored non-manager customers. This field is read-only. + */ + optimizationScoreWeight?: number | null; + /** + * Output only. Reasons why the customer is not eligible to use PaymentMode.CONVERSIONS. If the list is empty, the customer is eligible. This field is read-only. + */ + payPerConversionEligibilityFailureReasons?: string[] | null; + /** + * Output only. Remarketing setting for a customer. + */ + remarketingSetting?: Schema$GoogleAdsSearchads360V23Resources__RemarketingSetting; + /** + * Immutable. The resource name of the customer. Customer resource names have the form: `customers/{customer_id\}` + */ + resourceName?: string | null; + /** + * Output only. The status of the customer. + */ + status?: string | null; + /** + * Output only. The descriptive name of the sub manager. + */ + subManagerDescriptiveName?: string | null; + /** + * Output only. The customer ID of the sub manager. A 0 value indicates that the customer has no sub SA360 manager. + */ + subManagerId?: string | null; + /** + * Output only. Whether the customer is a test account. + */ + testAccount?: boolean | null; + /** + * Immutable. The local timezone ID of the customer. + */ + timeZone?: string | null; + /** + * The URL template for constructing a tracking URL out of parameters. + */ + trackingUrlTemplate?: string | null; + /** + * Brand Safety setting at the account level. Allows for selecting an inventory type to show your ads on content that is the right fit for your brand. See https://support.google.com/google-ads/answer/7515513. + */ + videoBrandSafetySuitability?: string | null; + /** + * Video specific information about a Customer. + */ + videoCustomer?: Schema$GoogleAdsSearchads360V23Resources__VideoCustomer; + } + /** + * The customer acquisition goal settings for the campaign. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__CustomerAcquisitionGoalSettings { + /** + * Output only. Customer acquisition optimization mode of this campaign. + */ + optimizationMode?: string | null; + /** + * Output only. Campaign specific values for the customer acquisition goal. + */ + valueSettings?: Schema$GoogleAdsSearchads360V23Common__LifecycleGoalValueSettings; + } + /** + * Customer Agreement Setting for a customer. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__CustomerAgreementSetting { + /** + * Output only. Whether the customer has accepted lead form term of service. + */ + acceptedLeadFormTerms?: boolean | null; + } + /** + * A link between a customer and an asset. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__CustomerAsset { + /** + * Required. Immutable. The asset which is linked to the customer. + */ + asset?: string | null; + /** + * Required. Immutable. Role that the asset takes for the customer link. + */ + fieldType?: string | null; + /** + * Output only. Provides the PrimaryStatus of this asset link. Primary status is meant essentially to differentiate between the plain "status" field, which has advertiser set values of enabled, paused, or removed. The primary status takes into account other signals (for assets its mainly policy and quality approvals) to come up with a more comprehensive status to indicate its serving state. + */ + primaryStatus?: string | null; + /** + * Output only. Provides the details of the primary status and its associated reasons. + */ + primaryStatusDetails?: Schema$GoogleAdsSearchads360V23Common__AssetLinkPrimaryStatusDetails[]; + /** + * Output only. Provides a list of reasons for why an asset is not serving or not serving at full capacity. + */ + primaryStatusReasons?: string[] | null; + /** + * Immutable. The resource name of the customer asset. CustomerAsset resource names have the form: `customers/{customer_id\}/customerAssets/{asset_id\}~{field_type\}` + */ + resourceName?: string | null; + /** + * Output only. Source of the customer asset link. + */ + source?: string | null; + /** + * Status of the customer asset. + */ + status?: string | null; + } + /** + * CustomerAssetSet is the linkage between a customer and an asset set. Adding a CustomerAssetSet links an asset set with a customer. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__CustomerAssetSet { + /** + * Immutable. The asset set which is linked to the customer. + */ + assetSet?: string | null; + /** + * Immutable. The customer to which this asset set is linked. + */ + customer?: string | null; + /** + * Immutable. The resource name of the customer asset set. Asset set asset resource names have the form: `customers/{customer_id\}/customerAssetSets/{asset_set_id\}` + */ + resourceName?: string | null; + /** + * Output only. The status of the customer asset set asset. Read-only. + */ + status?: string | null; + } + /** + * A link between the given customer and a client customer. CustomerClients only exist for manager customers. All direct and indirect client customers are included, as well as the manager itself. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__CustomerClient { + /** + * Output only. The resource names of the labels owned by the requesting customer that are applied to the client customer. Label resource names have the form: `customers/{customer_id\}/labels/{label_id\}` + */ + appliedLabels?: string[] | null; + /** + * Output only. The resource name of the client-customer which is linked to the given customer. Read only. + */ + clientCustomer?: string | null; + /** + * Output only. Currency code (for example, 'USD', 'EUR') for the client. Read only. + */ + currencyCode?: string | null; + /** + * Output only. Descriptive name for the client. Read only. + */ + descriptiveName?: string | null; + /** + * Output only. Specifies whether this is a hidden account. Read only. + */ + hidden?: boolean | null; + /** + * Output only. The ID of the client customer. Read only. + */ + id?: string | null; + /** + * Output only. Distance between given customer and client. For self link, the level value will be 0. Read only. + */ + level?: string | null; + /** + * Output only. Identifies if the client is a manager. Read only. + */ + manager?: boolean | null; + /** + * Output only. The resource name of the customer client. CustomerClient resource names have the form: `customers/{customer_id\}/customerClients/{client_customer_id\}` + */ + resourceName?: string | null; + /** + * Output only. The status of the client customer. Read only. + */ + status?: string | null; + /** + * Output only. Identifies if the client is a test account. Read only. + */ + testAccount?: boolean | null; + /** + * Output only. Common Locale Data Repository (CLDR) string representation of the time zone of the client, for example, America/Los_Angeles. Read only. + */ + timeZone?: string | null; + } + /** + * Represents customer client link relationship. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__CustomerClientLink { + /** + * Immutable. The client customer linked to this customer. + */ + clientCustomer?: string | null; + /** + * The visibility of the link. Users can choose whether or not to see hidden links in the Google Ads UI. Default value is false + */ + hidden?: boolean | null; + /** + * Output only. This is uniquely identifies a customer client link. Read only. + */ + managerLinkId?: string | null; + /** + * Immutable. Name of the resource. CustomerClientLink resource names have the form: `customers/{customer_id\}/customerClientLinks/{client_customer_id\}~{manager_link_id\}` + */ + resourceName?: string | null; + /** + * This is the status of the link between client and manager. + */ + status?: string | null; + } + /** + * Biddability control for conversion actions with a matching category and origin. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__CustomerConversionGoal { + /** + * The biddability of the customer conversion goal. + */ + biddable?: boolean | null; + /** + * The conversion category of this customer conversion goal. Only conversion actions that have this category will be included in this goal. + */ + category?: string | null; + /** + * The conversion origin of this customer conversion goal. Only conversion actions that have this conversion origin will be included in this goal. + */ + origin?: string | null; + /** + * Immutable. The resource name of the customer conversion goal. Customer conversion goal resource names have the form: `customers/{customer_id\}/customerConversionGoals/{category\}~{origin\}` + */ + resourceName?: string | null; + } + /** + * A customizer value for the associated CustomizerAttribute at the Customer level. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__CustomerCustomizer { + /** + * Required. Immutable. The customizer attribute which is linked to the customer. + */ + customizerAttribute?: string | null; + /** + * Immutable. The resource name of the customer customizer. Customer customizer resource names have the form: `customers/{customer_id\}/customerCustomizers/{customizer_attribute_id\}` + */ + resourceName?: string | null; + /** + * Output only. The status of the customer customizer attribute. + */ + status?: string | null; + /** + * Required. The value to associate with the customizer attribute at this level. The value must be of the type specified for the CustomizerAttribute. + */ + value?: Schema$GoogleAdsSearchads360V23Common__CustomizerValue; + } + /** + * Represents a relationship between a customer and a label. This customer may not have access to all the labels attached to it. Additional CustomerLabels may be returned by increasing permissions with login-customer-id. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__CustomerLabel { + /** + * Output only. The resource name of the customer to which the label is attached. Read only. + */ + customer?: string | null; + /** + * Output only. The resource name of the label assigned to the customer. Note: the Customer ID portion of the label resource name is not validated when creating a new CustomerLabel. + */ + label?: string | null; + /** + * Immutable. Name of the resource. Customer label resource names have the form: `customers/{customer_id\}/customerLabels/{label_id\}` + */ + resourceName?: string | null; + } + /** + * Account level customer lifecycle goal settings. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__CustomerLifecycleGoal { + /** + * Output only. Customer acquisition goal customer level value settings. + */ + customerAcquisitionGoalValueSettings?: Schema$GoogleAdsSearchads360V23Common__LifecycleGoalValueSettings; + /** + * Output only. The resource name of the customer which owns the lifecycle goal. + */ + ownerCustomer?: string | null; + /** + * Immutable. The resource name of the customer lifecycle goal. Customer lifecycle resource names have the form: `customers/{customer_id\}/customerLifecycleGoal` + */ + resourceName?: string | null; + } + /** + * Represents customer-manager link relationship. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__CustomerManagerLink { + /** + * Output only. The manager customer linked to the customer. + */ + managerCustomer?: string | null; + /** + * Output only. ID of the customer-manager link. This field is read only. + */ + managerLinkId?: string | null; + /** + * Immutable. Name of the resource. CustomerManagerLink resource names have the form: `customers/{customer_id\}/customerManagerLinks/{manager_customer_id\}~{manager_link_id\}` + */ + resourceName?: string | null; + /** + * Output only. The timestamp when the CustomerManagerLink was created. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format. + */ + startTime?: string | null; + /** + * Status of the link between the customer and the manager. + */ + status?: string | null; + } + /** + * A negative criterion for exclusions at the customer level. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__CustomerNegativeCriterion { + /** + * Immutable. ContentLabel. + */ + contentLabel?: Schema$GoogleAdsSearchads360V23Common__ContentLabelInfo; + /** + * Output only. The ID of the criterion. + */ + id?: string | null; + /** + * Immutable. IpBlock. You can exclude up to 500 IP addresses per account. + */ + ipBlock?: Schema$GoogleAdsSearchads360V23Common__IpBlockInfo; + /** + * Immutable. MobileAppCategory. + */ + mobileAppCategory?: Schema$GoogleAdsSearchads360V23Common__MobileAppCategoryInfo; + /** + * Immutable. MobileApplication. + */ + mobileApplication?: Schema$GoogleAdsSearchads360V23Common__MobileApplicationInfo; + /** + * Immutable. NegativeKeywordList. + */ + negativeKeywordList?: Schema$GoogleAdsSearchads360V23Common__NegativeKeywordListInfo; + /** + * Immutable. Placement. + */ + placement?: Schema$GoogleAdsSearchads360V23Common__PlacementInfo; + /** + * Immutable. PlacementList. + */ + placementList?: Schema$GoogleAdsSearchads360V23Common__PlacementListInfo; + /** + * Immutable. The resource name of the customer negative criterion. Customer negative criterion resource names have the form: `customers/{customer_id\}/customerNegativeCriteria/{criterion_id\}` + */ + resourceName?: string | null; + /** + * Output only. The type of the criterion. + */ + type?: string | null; + /** + * Immutable. YouTube Channel. + */ + youtubeChannel?: Schema$GoogleAdsSearchads360V23Common__YouTubeChannelInfo; + /** + * Immutable. YouTube Video. + */ + youtubeVideo?: Schema$GoogleAdsSearchads360V23Common__YouTubeVideoInfo; + } + /** + * This report provides a high-level view of search demand at the customer level by grouping similar search terms into categories and showing their search volume. Historical data is available starting March 2023. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__CustomerSearchTermInsight { + /** + * Output only. The label for the search category. An empty string denotes the catch-all category for search terms that didn't fit into another category. + */ + categoryLabel?: string | null; + /** + * Output only. The ID of the insight. + */ + id?: string | null; + /** + * Output only. The resource name of the customer level search term insight. Customer level search term insight resource names have the form: `customers/{customer_id\}/customerSearchTermInsights/{category_id\}` + */ + resourceName?: string | null; + } + /** + * A CustomerSkAdNetworkConversionValueSchema. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__CustomerSkAdNetworkConversionValueSchema { + /** + * Output only. The resource name of the schema. CustomerSkAdNetworkConversionValueSchema resource names have the form: customers/{customer_id\}/customerSkAdNetworkConversionValueSchemas/{account_link_id\} + */ + resourceName?: string | null; + /** + * Output only. The schema for the specified resource. + */ + schema?: Schema$GoogleAdsSearchads360V23Resources_CustomerSkAdNetworkConversionValueSchema_SkAdNetworkConversionValueSchema; + } + /** + * Represents the permission of a single user onto a single customer. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__CustomerUserAccess { + /** + * Output only. The customer user access creation time. Read only field The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30" + */ + accessCreationDateTime?: string | null; + /** + * Access role of the user. + */ + accessRole?: string | null; + /** + * Output only. Email address of the user. Read only field + */ + emailAddress?: string | null; + /** + * Output only. The email address of the inviter user. Read only field + */ + inviterUserEmailAddress?: string | null; + /** + * Immutable. Name of the resource. Resource names have the form: `customers/{customer_id\}/customerUserAccesses/{user_id\}` + */ + resourceName?: string | null; + /** + * Output only. User id of the user with the customer access. Read only field + */ + userId?: string | null; + } + /** + * Represent an invitation to a new user on this customer account. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__CustomerUserAccessInvitation { + /** + * Immutable. Access role of the user. + */ + accessRole?: string | null; + /** + * Output only. Time invitation was created. This field is read-only. The format is "YYYY-MM-DD HH:MM:SS". Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30" + */ + creationDateTime?: string | null; + /** + * Immutable. Email address the invitation was sent to. This can differ from the email address of the account that accepts the invite. + */ + emailAddress?: string | null; + /** + * Output only. The ID of the invitation. This field is read-only. + */ + invitationId?: string | null; + /** + * Output only. Invitation status of the user. + */ + invitationStatus?: string | null; + /** + * Immutable. Name of the resource. Resource names have the form: `customers/{customer_id\}/customerUserAccessInvitations/{invitation_id\}` + */ + resourceName?: string | null; + } + /** + * A custom interest. This is a list of users by interest. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__CustomInterest { + /** + * Description of this custom interest audience. + */ + description?: string | null; + /** + * Output only. Id of the custom interest. + */ + id?: string | null; + /** + * List of custom interest members that this custom interest is composed of. Members can be added during CustomInterest creation. If members are presented in UPDATE operation, existing members will be overridden. + */ + members?: Schema$GoogleAdsSearchads360V23Resources__CustomInterestMember[]; + /** + * Name of the custom interest. It should be unique across the same custom affinity audience. This field is required for create operations. + */ + name?: string | null; + /** + * Immutable. The resource name of the custom interest. Custom interest resource names have the form: `customers/{customer_id\}/customInterests/{custom_interest_id\}` + */ + resourceName?: string | null; + /** + * Status of this custom interest. Indicates whether the custom interest is enabled or removed. + */ + status?: string | null; + /** + * Type of the custom interest, CUSTOM_AFFINITY or CUSTOM_INTENT. By default the type is set to CUSTOM_AFFINITY. + */ + type?: string | null; + } + /** + * A member of custom interest audience. A member can be a keyword or url. It is immutable, that is, it can only be created or removed but not changed. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__CustomInterestMember { + /** + * The type of custom interest member, KEYWORD or URL. + */ + memberType?: string | null; + /** + * Keyword text when member_type is KEYWORD or URL string when member_type is URL. + */ + parameter?: string | null; + } + /** + * A customizer attribute. Use CustomerCustomizer, CampaignCustomizer, AdGroupCustomizer, or AdGroupCriterionCustomizer to associate a customizer attribute and set its value at the customer, campaign, ad group, or ad group criterion level, respectively. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__CustomizerAttribute { + /** + * Output only. The ID of the customizer attribute. + */ + id?: string | null; + /** + * Required. Immutable. Name of the customizer attribute. Required. It must have a minimum length of 1 and maximum length of 40. Name of an enabled customizer attribute must be unique (case insensitive). + */ + name?: string | null; + /** + * Immutable. The resource name of the customizer attribute. Customizer Attribute resource names have the form: `customers/{customer_id\}/customizerAttributes/{customizer_attribute_id\}` + */ + resourceName?: string | null; + /** + * Output only. The status of the customizer attribute. + */ + status?: string | null; + /** + * Immutable. The type of the customizer attribute. + */ + type?: string | null; + } + /** + * Fields in the submitted custom question + */ + export interface Schema$GoogleAdsSearchads360V23Resources__CustomLeadFormSubmissionField { + /** + * Output only. Field value for custom question response, maximum number of characters is 70. + */ + fieldValue?: string | null; + /** + * Output only. Question text for custom question, maximum number of characters is 300. + */ + questionText?: string | null; + } + /** + * Represents the data sharing connection between + */ + export interface Schema$GoogleAdsSearchads360V23Resources__DataLink { + /** + * Output only. The ID of the data link. This field is read only. + */ + dataLinkId?: string | null; + /** + * Output only. The ID of the link. This field is read only. + */ + productLinkId?: string | null; + /** + * Immutable. Resource name of the product data link. DataLink resource names have the form: ` + */ + resourceName?: string | null; + /** + * Output only. The status of the data link. + */ + status?: string | null; + /** + * Output only. The type of the data. + */ + type?: string | null; + /** + * Immutable. A data link to YouTube video. + */ + youtubeVideo?: Schema$GoogleAdsSearchads360V23Resources__YoutubeVideoIdentifier; + } + /** + * The identifier for Data Partner account. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__DataPartnerIdentifier { + /** + * Immutable. The customer ID of the Data partner account. This field is required and should not be empty when creating a new data partner link. It is unable to be modified after the creation of the link. + */ + dataPartnerId?: string | null; + } + /** + * A detail content suitability placement view. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__DetailContentSuitabilityPlacementView { + /** + * Output only. The display name is URL for websites, YouTube video name for YouTube videos, and translated mobile app name for mobile apps. + */ + displayName?: string | null; + /** + * Output only. The automatic placement string at detail level, for example. website url, mobile application id, or a YouTube video id. + */ + placement?: string | null; + /** + * Output only. Represents the type of the placement, for example, Website, YouTubeVideo and MobileApplication. + */ + placementType?: string | null; + /** + * Output only. The resource name of the detail content suitability placement view. Detail content suitability placement view resource names have the form: `customers/{customer_id\}/detailContentSuitabilityPlacementViews/{placement_fingerprint\}` + */ + resourceName?: string | null; + /** + * Output only. URL of the placement, for example, website, link to the mobile application in app store, or a YouTube video URL. + */ + targetUrl?: string | null; + } + /** + * A detailed demographic: a particular interest-based vertical to be targeted to reach users based on long-term life facts. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__DetailedDemographic { + /** + * Output only. Availability information of the detailed demographic. + */ + availabilities?: Schema$GoogleAdsSearchads360V23Common__CriterionCategoryAvailability[]; + /** + * Output only. The ID of the detailed demographic. + */ + id?: string | null; + /** + * Output only. True if the detailed demographic is launched to all channels and locales. + */ + launchedToAll?: boolean | null; + /** + * Output only. The name of the detailed demographic. For example,"Highest Level of Educational Attainment" + */ + name?: string | null; + /** + * Output only. The parent of the detailed_demographic. + */ + parent?: string | null; + /** + * Output only. The resource name of the detailed demographic. Detailed demographic resource names have the form: `customers/{customer_id\}/detailedDemographics/{detailed_demographic_id\}` + */ + resourceName?: string | null; + } + /** + * A view with metrics aggregated by ad group and URL or YouTube video. This view primarily surfaces placement data from the Google Display Network. While you can select segments like `segments.ad_network_type`, this view generally does not include placement data from other networks, such as the Search Partners network. To understand performance on Search Partners, consider other reports and segmentations. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__DetailPlacementView { + /** + * Output only. The display name is URL name for websites, YouTube video name for YouTube videos, and translated mobile app name for mobile apps. + */ + displayName?: string | null; + /** + * Output only. URL of the group placement, for example, domain, link to the mobile application in app store, or a YouTube channel URL. + */ + groupPlacementTargetUrl?: string | null; + /** + * Output only. The automatic placement string at detail level, e. g. website URL, mobile application ID, or a YouTube video ID. + */ + placement?: string | null; + /** + * Output only. Type of the placement, for example, Website, YouTube Video, and Mobile Application. + */ + placementType?: string | null; + /** + * Output only. The resource name of the detail placement view. Detail placement view resource names have the form: `customers/{customer_id\}/detailPlacementViews/{ad_group_id\}~{base64_placement\}` + */ + resourceName?: string | null; + /** + * Output only. URL of the placement, for example, website, link to the mobile application in app store, or a YouTube video URL. + */ + targetUrl?: string | null; + } + /** + * A display keyword view. Provides performance data for keywords used in Display Network campaigns. This view lets you analyze how your display keywords are performing across various segments. This view is primarily used to track the effectiveness of keyword targeting within your Display campaigns. To understand which network the metrics apply to, you can select the `segments.ad_network_type` field in your query. This field will segment the data by networks such as the Google Display Network, YouTube, Gmail, and so on. You can select fields from this resource along with metrics like impressions, clicks, and conversions to gauge performance. Attributed resources like `ad_group` and `campaign` can also be selected without segmenting metrics. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__DisplayKeywordView { + /** + * Output only. The resource name of the display keyword view. Display Keyword view resource names have the form: `customers/{customer_id\}/displayKeywordViews/{ad_group_id\}~{criterion_id\}` + */ + resourceName?: string | null; + } + /** + * A distance view with metrics aggregated by the user's distance from an advertiser's location extensions. Each DistanceBucket includes all impressions that fall within its distance and a single impression will contribute to the metrics for all DistanceBuckets that include the user's distance. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__DistanceView { + /** + * Output only. Grouping of user distance from location extensions. + */ + distanceBucket?: string | null; + /** + * Output only. True if the DistanceBucket is using the metric system, false otherwise. + */ + metricSystem?: boolean | null; + /** + * Output only. The resource name of the distance view. Distance view resource names have the form: `customers/{customer_id\}/distanceViews/1~{distance_bucket\}` + */ + resourceName?: string | null; + } + /** + * DoubleClick Campaign Manager (DCM) setting for a manager customer. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__DoubleClickCampaignManagerSetting { + /** + * Output only. ID of the Campaign Manager advertiser associated with this customer. + */ + advertiserId?: string | null; + /** + * Output only. ID of the Campaign Manager network associated with this customer. + */ + networkId?: string | null; + /** + * Output only. Time zone of the Campaign Manager network associated with this customer in IANA Time Zone Database format, such as America/New_York. + */ + timeZone?: string | null; + } + /** + * A dynamic search ads search term view. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__DynamicSearchAdsSearchTermView { + /** + * Output only. True if query is added to targeted keywords. This field is read-only. + */ + hasMatchingKeyword?: boolean | null; + /** + * Output only. True if query matches a negative keyword. This field is read-only. + */ + hasNegativeKeyword?: boolean | null; + /** + * Output only. True if query matches a negative url. This field is read-only. + */ + hasNegativeUrl?: boolean | null; + /** + * Output only. The dynamically generated headline of the Dynamic Search Ad. This field is read-only. + */ + headline?: string | null; + /** + * Output only. The dynamically selected landing page URL of the impression. This field is read-only. + */ + landingPage?: string | null; + /** + * Output only. The URL of page feed item served for the impression. This field is read-only. + */ + pageUrl?: string | null; + /** + * Output only. The resource name of the dynamic search ads search term view. Dynamic search ads search term view resource names have the form: `customers/{customer_id\}/dynamicSearchAdsSearchTermViews/{ad_group_id\}~{search_term_fingerprint\}~{headline_fingerprint\}~{landing_page_fingerprint\}~{page_url_fingerprint\}` + */ + resourceName?: string | null; + /** + * Output only. Search term This field is read-only. + */ + searchTerm?: string | null; + } + /** + * A landing page view with metrics aggregated at the expanded final URL level. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__ExpandedLandingPageView { + /** + * Output only. The final URL that clicks are directed to. + */ + expandedFinalUrl?: string | null; + /** + * Output only. The resource name of the expanded landing page view. Expanded landing page view resource names have the form: `customers/{customer_id\}/expandedLandingPageViews/{expanded_final_url_fingerprint\}` + */ + resourceName?: string | null; + } + /** + * A Google ads experiment for users to experiment changes on multiple campaigns, compare the performance, and apply the effective changes. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__Experiment { + /** + * The description of the experiment. It must have a minimum length of 1 and maximum length of 2048. + */ + description?: string | null; + /** + * Date when the experiment ends. By default, the experiment ends on the campaign's end date. If this field is set, then the experiment ends at the end of the specified date in the customer's time zone. Format: YYYY-MM-DD Example: 2019-04-18 + */ + endDate?: string | null; + /** + * Output only. The ID of the experiment. Read only. + */ + experimentId?: string | null; + /** + * The goals of this experiment. + */ + goals?: Schema$GoogleAdsSearchads360V23Common__MetricGoal[]; + /** + * Output only. The resource name of the long-running operation that can be used to poll for completion of experiment schedule or promote. The most recent long running operation is returned. + */ + longRunningOperation?: string | null; + /** + * Required. The name of the experiment. It must have a minimum length of 1 and maximum length of 1024. It must be unique under a customer. + */ + name?: string | null; + /** + * Output only. The status of the experiment promotion process. + */ + promoteStatus?: string | null; + /** + * Immutable. The resource name of the experiment. Experiment resource names have the form: `customers/{customer_id\}/experiments/{experiment_id\}` + */ + resourceName?: string | null; + /** + * Date when the experiment starts. By default, the experiment starts now or on the campaign's start date, whichever is later. If this field is set, then the experiment starts at the beginning of the specified date in the customer's time zone. Format: YYYY-MM-DD Example: 2019-03-14 + */ + startDate?: string | null; + /** + * The Advertiser-chosen status of this experiment. + */ + status?: string | null; + /** + * For system managed experiments, the advertiser must provide a suffix during construction, in the setup stage before moving to initiated. The suffix will be appended to the in-design and experiment campaign names so that the name is base campaign name + suffix. + */ + suffix?: string | null; + /** + * Immutable. Set to true if changes to base campaigns should be synced to the trial campaigns. Any changes made directly to trial campaigns will be preserved. This field can only be set when the experiment is being created. + */ + syncEnabled?: boolean | null; + /** + * Required. The product/feature that uses this experiment. + */ + type?: string | null; + } + /** + * A Google ads experiment for users to experiment changes on multiple campaigns, compare the performance, and apply the effective changes. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__ExperimentArm { + /** + * List of asset groups in the experiment arm. + */ + assetGroups?: Schema$GoogleAdsSearchads360V23Resources_ExperimentArm_AssetGroupInfo[]; + /** + * List of campaigns in the trial arm. The max length is one. + */ + campaigns?: string[] | null; + /** + * Whether this arm is a control arm. A control arm is the arm against which the other arms are compared. + */ + control?: boolean | null; + /** + * Immutable. The experiment to which the ExperimentArm belongs. + */ + experiment?: string | null; + /** + * Output only. The in design campaigns in the treatment experiment arm. + */ + inDesignCampaigns?: string[] | null; + /** + * Required. The name of the experiment arm. It must have a minimum length of 1 and maximum length of 1024. It must be unique under an experiment. + */ + name?: string | null; + /** + * Immutable. The resource name of the experiment arm. Experiment arm resource names have the form: `customers/{customer_id\}/experimentArms/{TrialArm.trial_id\}~{TrialArm.trial_arm_id\}` + */ + resourceName?: string | null; + /** + * Traffic split of the trial arm. The value should be between 1 and 100 and must total 100 between the two trial arms. + */ + trafficSplit?: string | null; + } + /** + * Details about the employee's medical Fellowship. Fellowship is a period of medical training that the professional undertakes after finishing their residency. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__Fellowship { + /** + * Output only. Year of completion. + */ + completionYear?: number | null; + /** + * Output only. Name of the instutition at which the fellowship was completed. + */ + institutionName?: string | null; + } + /** + * FinalUrlExpansionAssetView Resource. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__FinalUrlExpansionAssetView { + /** + * Output only. Ad Group in which FinalUrlExpansionAsset served. + */ + adGroup?: string | null; + /** + * Output only. The ID of the asset. + */ + asset?: string | null; + /** + * Output only. Asset Group in which FinalUrlExpansionAsset served. + */ + assetGroup?: string | null; + /** + * Output only. Campaign in which the asset served. + */ + campaign?: string | null; + /** + * Output only. The field type of the asset. + */ + fieldType?: string | null; + /** + * Output only. Final URL of the FinalUrlExpansionAsset. + */ + finalUrl?: string | null; + /** + * Output only. The resource name of the FinalUrlExpansionAsset. + */ + resourceName?: string | null; + /** + * Output only. Status of the FinalUrlExpansionAsset. + */ + status?: string | null; + } + /** + * A gender view. The gender_view resource reflects the effective serving state, rather than what criteria were added. An ad group without gender criteria by default shows to all genders, so all genders appear in gender_view with stats. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__GenderView { + /** + * Output only. The resource name of the gender view. Gender view resource names have the form: `customers/{customer_id\}/genderViews/{ad_group_id\}~{criterion_id\}` + */ + resourceName?: string | null; + } + /** + * A geographic view. Geographic View includes all metrics aggregated at the country level, one row per country. It reports metrics at either actual physical location of the user or an area of interest. If other segment fields are used, you may get more than one row per country. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__GeographicView { + /** + * Output only. Criterion Id for the country. + */ + countryCriterionId?: string | null; + /** + * Output only. Type of the geo targeting of the campaign. + */ + locationType?: string | null; + /** + * Output only. The resource name of the geographic view. Geographic view resource names have the form: `customers/{customer_id\}/geographicViews/{country_criterion_id\}~{location_type\}` + */ + resourceName?: string | null; + } + /** + * A geo target constant. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__GeoTargetConstant { + /** + * Output only. The fully qualified English name, consisting of the target's name and that of its parent and country. + */ + canonicalName?: string | null; + /** + * Output only. The ISO-3166-1 alpha-2 country code that is associated with the target. + */ + countryCode?: string | null; + /** + * Output only. The ID of the geo target constant. + */ + id?: string | null; + /** + * Output only. Geo target constant English name. + */ + name?: string | null; + /** + * Output only. The resource name of the parent geo target constant. Geo target constant resource names have the form: `geoTargetConstants/{parent_geo_target_constant_id\}` + */ + parentGeoTarget?: string | null; + /** + * Output only. The resource name of the geo target constant. Geo target constant resource names have the form: `geoTargetConstants/{geo_target_constant_id\}` + */ + resourceName?: string | null; + /** + * Output only. Geo target constant status. + */ + status?: string | null; + /** + * Output only. Geo target constant target type. + */ + targetType?: string | null; + } + /** + * Representation of goals. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__Goal { + /** + * Output only. The ID of this goal. + */ + goalId?: string | null; + /** + * Output only. The type of this goal. + */ + goalType?: string | null; + /** + * Output only. Indicates if this goal is eligible for campaign optimization. + */ + optimizationEligibility?: string | null; + /** + * Output only. The resource name of the goal owner customer. + */ + ownerCustomer?: string | null; + /** + * Immutable. The resource name of the goal. Goal resource names have the form: `customers/{customer_id\}/goals/{goal_id\}` + */ + resourceName?: string | null; + /** + * Retention goal settings. + */ + retentionGoalSettings?: Schema$GoogleAdsSearchads360V23Common_GoalSetting_RetentionGoal; + } + /** + * The identifier for Google Ads account. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__GoogleAdsIdentifier { + /** + * Immutable. The resource name of the Google Ads account. This field is required and should not be empty when creating a new Google Ads link. It is unable to be modified after the creation of the link. + */ + customer?: string | null; + } + /** + * Insurance status at geo + vertical level. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__GranularInsuranceStatus { + /** + * Output only. Service category associated with the status. For example, xcat:service_area_business_plumber. For more details see: https://developers.google.com/google-ads/api/data/codes-formats#local_services_ids + */ + categoryId?: string | null; + /** + * Output only. Geotarget criterion ID associated with the status. Can be on country or state/province geo level, depending on requirements and location. See https://developers.google.com/google-ads/api/data/geotargets for more information. + */ + geoCriterionId?: string | null; + /** + * Output only. Granular insurance status, per geo + vertical. + */ + verificationStatus?: string | null; + } + /** + * License status at geo + vertical level. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__GranularLicenseStatus { + /** + * Output only. Service category associated with the status. For example, xcat:service_area_business_plumber. For more details see: https://developers.google.com/google-ads/api/data/codes-formats#local_services_ids + */ + categoryId?: string | null; + /** + * Output only. Geotarget criterion ID associated with the status. Can be on country or state/province geo level, depending on requirements and location. See https://developers.google.com/google-ads/api/data/geotargets for more information. + */ + geoCriterionId?: string | null; + /** + * Output only. Granular license status, per geo + vertical. + */ + verificationStatus?: string | null; + } + /** + * A group content suitability placement view. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__GroupContentSuitabilityPlacementView { + /** + * Output only. The display name is URL for websites, YouTube video name for YouTube videos, and translated mobile app name for mobile apps. + */ + displayName?: string | null; + /** + * Output only. The automatic placement string at group level, for example. website url, mobile application id, or a YouTube video id. + */ + placement?: string | null; + /** + * Output only. Represents the type of the placement, for example, Website, YouTubeVideo and MobileApplication. + */ + placementType?: string | null; + /** + * Output only. The resource name of the group content suitability placement view. Group content suitability placement view resource names have the form: `customers/{customer_id\}/groupContentSuitabilityPlacementViews/{placement_fingerprint\}` + */ + resourceName?: string | null; + /** + * Output only. URL of the placement, for example, website, link to the mobile application in app store, or a YouTube video URL. + */ + targetUrl?: string | null; + } + /** + * A group placement view. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__GroupPlacementView { + /** + * Output only. Domain name for websites and YouTube channel name for YouTube channels. + */ + displayName?: string | null; + /** + * Output only. The automatic placement string at group level, e. g. web domain, mobile app ID, or a YouTube channel ID. + */ + placement?: string | null; + /** + * Output only. Type of the placement, for example, Website, YouTube Channel, Mobile Application. + */ + placementType?: string | null; + /** + * Output only. The resource name of the group placement view. Group placement view resource names have the form: `customers/{customer_id\}/groupPlacementViews/{ad_group_id\}~{base64_placement\}` + */ + resourceName?: string | null; + /** + * Output only. URL of the group placement, for example, domain, link to the mobile application in app store, or a YouTube channel URL. + */ + targetUrl?: string | null; + } + /** + * The identifier for Hotel account. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__HotelCenterLinkInvitationIdentifier { + /** + * Output only. The hotel center id of the hotel account. This field is read only + */ + hotelCenterId?: string | null; + } + /** + * A hotel group view. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__HotelGroupView { + /** + * Output only. The resource name of the hotel group view. Hotel Group view resource names have the form: `customers/{customer_id\}/hotelGroupViews/{ad_group_id\}~{criterion_id\}` + */ + resourceName?: string | null; + } + /** + * A hotel performance view. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__HotelPerformanceView { + /** + * Output only. The resource name of the hotel performance view. Hotel performance view resource names have the form: `customers/{customer_id\}/hotelPerformanceView` + */ + resourceName?: string | null; + } + /** + * A hotel reconciliation. It contains conversion information from Hotel bookings to reconcile with advertiser records. These rows may be updated or canceled before billing through Bulk Uploads. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__HotelReconciliation { + /** + * Output only. Whether a given booking has been billed. Once billed, a booking can't be modified. + */ + billed?: boolean | null; + /** + * Output only. The resource name for the Campaign associated with the conversion. + */ + campaign?: string | null; + /** + * Output only. Check-in date recorded when the booking is made. If the check-in date is modified at reconciliation, the revised date will then take the place of the original date in this column. Format is YYYY-MM-DD. + */ + checkInDate?: string | null; + /** + * Output only. Check-out date recorded when the booking is made. If the check-in date is modified at reconciliation, the revised date will then take the place of the original date in this column. Format is YYYY-MM-DD. + */ + checkOutDate?: string | null; + /** + * Required. Output only. The commission ID is Google's ID for this booking. Every booking event is assigned a Commission ID to help you match it to a guest stay. + */ + commissionId?: string | null; + /** + * Output only. Identifier for the Hotel Center account which provides the rates for the Hotel campaign. + */ + hotelCenterId?: string | null; + /** + * Output only. Unique identifier for the booked property, as provided in the Hotel Center feed. The hotel ID comes from the 'ID' parameter of the conversion tracking tag. + */ + hotelId?: string | null; + /** + * Output only. The order ID is the identifier for this booking as provided in the 'transaction_id' parameter of the conversion tracking tag. + */ + orderId?: string | null; + /** + * Required. Output only. Reconciled value is the final value of a booking as paid by the guest. If original booking value changes for any reason, such as itinerary changes or room upsells, the reconciled value should be the full final amount collected. If a booking is canceled, the reconciled value should include the value of any cancellation fees or non-refundable nights charged. Value is in millionths of the base unit currency. For example, $12.35 would be represented as 12350000. Currency unit is in the default customer currency. + */ + reconciledValueMicros?: string | null; + /** + * Immutable. The resource name of the hotel reconciliation. Hotel reconciliation resource names have the form: `customers/{customer_id\}/hotelReconciliations/{commission_id\}` + */ + resourceName?: string | null; + /** + * Required. Output only. Current status of a booking with regards to reconciliation and billing. Bookings should be reconciled within 45 days after the check-out date. Any booking not reconciled within 45 days will be billed at its original value. + */ + status?: string | null; + } + /** + * An income range view. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__IncomeRangeView { + /** + * Output only. The resource name of the income range view. Income range view resource names have the form: `customers/{customer_id\}/incomeRangeViews/{ad_group_id\}~{criterion_id\}` + */ + resourceName?: string | null; + } + /** + * specific to a local services insurance. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__InsuranceVerificationArtifact { + /** + * Output only. Insurance amount. This is measured in "micros" of the currency mentioned in the insurance document. + */ + amountMicros?: string | null; + /** + * Output only. The timestamp when this insurance expires. The format is "YYYY-MM-DD HH:MM:SS" in the Google Ads account's timezone. Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30" + */ + expirationDateTime?: string | null; + /** + * Output only. The readonly field containing the information for an uploaded insurance document. + */ + insuranceDocumentReadonly?: Schema$GoogleAdsSearchads360V23Common__LocalServicesDocumentReadOnly; + /** + * Output only. Insurance document's rejection reason. + */ + rejectionReason?: string | null; + } + /** + * An invoice. All invoice information is snapshotted to match the PDF invoice. For invoices older than the launch of InvoiceService, the snapshotted information may not match the PDF invoice. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__Invoice { + /** + * Output only. The list of summarized account budget information associated with this invoice. + */ + accountBudgetSummaries?: Schema$GoogleAdsSearchads360V23Resources_Invoice_AccountBudgetSummary[]; + /** + * Output only. The list of summarized account information associated with this invoice. + */ + accountSummaries?: Schema$GoogleAdsSearchads360V23Resources_Invoice_AccountSummary[]; + /** + * Output only. The pretax subtotal amount of invoice level adjustments, in micros. + */ + adjustmentsSubtotalAmountMicros?: string | null; + /** + * Output only. The sum of taxes on the invoice level adjustments, in micros. + */ + adjustmentsTaxAmountMicros?: string | null; + /** + * Output only. The total amount of invoice level adjustments, in micros. + */ + adjustmentsTotalAmountMicros?: string | null; + /** + * Output only. The resource name of this invoice's billing setup. `customers/{customer_id\}/billingSetups/{billing_setup_id\}` + */ + billingSetup?: string | null; + /** + * Output only. The resource name of the original invoice corrected, wrote off, or canceled by this invoice, if applicable. If `corrected_invoice` is set, `replaced_invoices` will not be set. Invoice resource names have the form: `customers/{customer_id\}/invoices/{invoice_id\}` + */ + correctedInvoice?: string | null; + /** + * Output only. The currency code. All costs are returned in this currency. A subset of the currency codes derived from the ISO 4217 standard is supported. + */ + currencyCode?: string | null; + /** + * Output only. The due date in yyyy-mm-dd format. + */ + dueDate?: string | null; + /** + * Output only. The pretax subtotal amount of invoice level export charges, in micros. + */ + exportChargeSubtotalAmountMicros?: string | null; + /** + * Output only. The sum of taxes on the invoice level export charges, in micros. + */ + exportChargeTaxAmountMicros?: string | null; + /** + * Output only. The total amount of invoice level export charges, in micros. + */ + exportChargeTotalAmountMicros?: string | null; + /** + * Output only. The ID of the invoice. It appears on the invoice PDF as "Invoice number". + */ + id?: string | null; + /** + * Output only. The issue date in yyyy-mm-dd format. It appears on the invoice PDF as either "Issue date" or "Invoice date". + */ + issueDate?: string | null; + /** + * Output only. A 16 digit ID used to identify the payments account associated with the billing setup, for example, "1234-5678-9012-3456". It appears on the invoice PDF as "Billing Account Number". + */ + paymentsAccountId?: string | null; + /** + * Output only. A 12 digit ID used to identify the payments profile associated with the billing setup, for example, "1234-5678-9012". It appears on the invoice PDF as "Billing ID". + */ + paymentsProfileId?: string | null; + /** + * Output only. The URL to a PDF copy of the invoice. Users need to pass in their OAuth token to request the PDF with this URL. + */ + pdfUrl?: string | null; + /** + * Output only. The pretax subtotal amount of invoice level regulatory costs, in micros. + */ + regulatoryCostsSubtotalAmountMicros?: string | null; + /** + * Output only. The sum of taxes on the invoice level regulatory costs, in micros. + */ + regulatoryCostsTaxAmountMicros?: string | null; + /** + * Output only. The total amount of invoice level regulatory costs, in micros. + */ + regulatoryCostsTotalAmountMicros?: string | null; + /** + * Output only. The resource name of the original invoice(s) being rebilled or replaced by this invoice, if applicable. There might be multiple replaced invoices due to invoice consolidation. The replaced invoices may not belong to the same payments account. If `replaced_invoices` is set, `corrected_invoice` will not be set. Invoice resource names have the form: `customers/{customer_id\}/invoices/{invoice_id\}` + */ + replacedInvoices?: string[] | null; + /** + * Output only. The resource name of the invoice. Multiple customers can share a given invoice, so multiple resource names may point to the same invoice. Invoice resource names have the form: `customers/{customer_id\}/invoices/{invoice_id\}` + */ + resourceName?: string | null; + /** + * Output only. The service period date range of this invoice. The end date is inclusive. + */ + serviceDateRange?: Schema$GoogleAdsSearchads360V23Common__DateRange; + /** + * Output only. The pretax subtotal amount, in micros. This is equal to the sum of the AccountBudgetSummary subtotal amounts and Invoice.adjustments_subtotal_amount_micros. + */ + subtotalAmountMicros?: string | null; + /** + * Output only. The sum of all taxes on the invoice, in micros. This equals the sum of the AccountBudgetSummary tax amounts, plus taxes not associated with a specific account budget. + */ + taxAmountMicros?: string | null; + /** + * Output only. The total amount, in micros. This equals the sum of Invoice.subtotal_amount_micros, Invoice.tax_amount_micros, Invoice.regulatory_costs_subtotal_amount_micros, and Invoice.export_charge_subtotal_amount_micros (which is separated into a separate line item starting with V14.1). + */ + totalAmountMicros?: string | null; + /** + * Output only. The type of invoice. + */ + type?: string | null; + } + /** + * A Keyword Planner plan. Max number of saved keyword plans: 10000. It's possible to remove plans if limit is reached. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__KeywordPlan { + /** + * The date period used for forecasting the plan. + */ + forecastPeriod?: Schema$GoogleAdsSearchads360V23Resources__KeywordPlanForecastPeriod; + /** + * Output only. The ID of the keyword plan. + */ + id?: string | null; + /** + * The name of the keyword plan. This field is required and should not be empty when creating new keyword plans. + */ + name?: string | null; + /** + * Immutable. The resource name of the Keyword Planner plan. KeywordPlan resource names have the form: `customers/{customer_id\}/keywordPlans/{kp_plan_id\}` + */ + resourceName?: string | null; + } + /** + * A Keyword Planner ad group. Max number of keyword plan ad groups per plan: 200. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__KeywordPlanAdGroup { + /** + * A default ad group max cpc bid in micros in account currency for all biddable keywords under the keyword plan ad group. If not set, will inherit from parent campaign. + */ + cpcBidMicros?: string | null; + /** + * Output only. The ID of the keyword plan ad group. + */ + id?: string | null; + /** + * The keyword plan campaign to which this ad group belongs. + */ + keywordPlanCampaign?: string | null; + /** + * The name of the keyword plan ad group. This field is required and should not be empty when creating keyword plan ad group. + */ + name?: string | null; + /** + * Immutable. The resource name of the Keyword Planner ad group. KeywordPlanAdGroup resource names have the form: `customers/{customer_id\}/keywordPlanAdGroups/{kp_ad_group_id\}` + */ + resourceName?: string | null; + } + /** + * A Keyword Plan ad group keyword. Max number of keyword plan keywords per plan: 10000. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__KeywordPlanAdGroupKeyword { + /** + * A keyword level max cpc bid in micros (for example, $1 = 1mm). The currency is the same as the account currency code. This will override any CPC bid set at the keyword plan ad group level. Not applicable for negative keywords. (negative = true) This field is Optional. + */ + cpcBidMicros?: string | null; + /** + * Output only. The ID of the Keyword Plan keyword. + */ + id?: string | null; + /** + * The Keyword Plan ad group to which this keyword belongs. + */ + keywordPlanAdGroup?: string | null; + /** + * The keyword match type. + */ + matchType?: string | null; + /** + * Immutable. If true, the keyword is negative. + */ + negative?: boolean | null; + /** + * Immutable. The resource name of the Keyword Plan ad group keyword. KeywordPlanAdGroupKeyword resource names have the form: `customers/{customer_id\}/keywordPlanAdGroupKeywords/{kp_ad_group_keyword_id\}` + */ + resourceName?: string | null; + /** + * The keyword text. + */ + text?: string | null; + } + /** + * A Keyword Plan campaign. Max number of keyword plan campaigns per plan allowed: 1. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__KeywordPlanCampaign { + /** + * A default max cpc bid in micros, and in the account currency, for all ad groups under the campaign. This field is required and should not be empty when creating Keyword Plan campaigns. + */ + cpcBidMicros?: string | null; + /** + * The geo targets. Max number allowed: 20. + */ + geoTargets?: Schema$GoogleAdsSearchads360V23Resources__KeywordPlanGeoTarget[]; + /** + * Output only. The ID of the Keyword Plan campaign. + */ + id?: string | null; + /** + * The keyword plan this campaign belongs to. + */ + keywordPlan?: string | null; + /** + * Targeting network. This field is required and should not be empty when creating Keyword Plan campaigns. + */ + keywordPlanNetwork?: string | null; + /** + * The languages targeted for the Keyword Plan campaign. Max allowed: 1. + */ + languageConstants?: string[] | null; + /** + * The name of the Keyword Plan campaign. This field is required and should not be empty when creating Keyword Plan campaigns. + */ + name?: string | null; + /** + * Immutable. The resource name of the Keyword Plan campaign. KeywordPlanCampaign resource names have the form: `customers/{customer_id\}/keywordPlanCampaigns/{kp_campaign_id\}` + */ + resourceName?: string | null; + } + /** + * A Keyword Plan Campaign keyword. Only negative keywords are supported for Campaign Keyword. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__KeywordPlanCampaignKeyword { + /** + * Output only. The ID of the Keyword Plan negative keyword. + */ + id?: string | null; + /** + * The Keyword Plan campaign to which this negative keyword belongs. + */ + keywordPlanCampaign?: string | null; + /** + * The keyword match type. + */ + matchType?: string | null; + /** + * Immutable. If true, the keyword is negative. Must be set to true. Only negative campaign keywords are supported. + */ + negative?: boolean | null; + /** + * Immutable. The resource name of the Keyword Plan Campaign keyword. KeywordPlanCampaignKeyword resource names have the form: `customers/{customer_id\}/keywordPlanCampaignKeywords/{kp_campaign_keyword_id\}` + */ + resourceName?: string | null; + /** + * The keyword text. + */ + text?: string | null; + } + /** + * The forecasting period associated with the keyword plan. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__KeywordPlanForecastPeriod { + /** + * A future date range relative to the current date used for forecasting. + */ + dateInterval?: string | null; + /** + * The custom date range used for forecasting. It cannot be greater than a year. The start and end dates must be in the future. Otherwise, an error will be returned when the forecasting action is performed. The start and end dates are inclusive. + */ + dateRange?: Schema$GoogleAdsSearchads360V23Common__DateRange; + } + /** + * A geo target. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__KeywordPlanGeoTarget { + /** + * Required. The resource name of the geo target. + */ + geoTargetConstant?: string | null; + } + /** + * A Smart Campaign keyword theme constant. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__KeywordThemeConstant { + /** + * Output only. The ISO-3166 Alpha-2 country code of the constant, eg. "US". To display and query matching purpose, the keyword theme needs to be localized. + */ + countryCode?: string | null; + /** + * Output only. The display name of the keyword theme or sub keyword theme. + */ + displayName?: string | null; + /** + * Output only. The ISO-639-1 language code with 2 letters of the constant, eg. "en". To display and query matching purpose, the keyword theme needs to be localized. + */ + languageCode?: string | null; + /** + * Output only. The resource name of the keyword theme constant. Keyword theme constant resource names have the form: `keywordThemeConstants/{keyword_theme_id\}~{sub_keyword_theme_id\}` + */ + resourceName?: string | null; + } + /** + * A keyword view. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__KeywordView { + /** + * Output only. The resource name of the keyword view. Keyword view resource names have the form: `customers/{customer_id\}/keywordViews/{ad_group_id\}~{criterion_id\}` + */ + resourceName?: string | null; + } + /** + * A label. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__Label { + /** + * Output only. ID of the label. Read only. + */ + id?: string | null; + /** + * The name of the label. This field is required and should not be empty when creating a new label. The length of this string should be between 1 and 80, inclusive. + */ + name?: string | null; + /** + * Immutable. Name of the resource. Label resource names have the form: `customers/{owner_customer_id\}/labels/{label_id\}` + */ + resourceName?: string | null; + /** + * Output only. Status of the label. Read only. + */ + status?: string | null; + /** + * A type of label displaying text on a colored background. + */ + textLabel?: Schema$GoogleAdsSearchads360V23Common__TextLabel; + } + /** + * A landing page view with metrics aggregated at the unexpanded final URL level. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__LandingPageView { + /** + * Output only. The resource name of the landing page view. Landing page view resource names have the form: `customers/{customer_id\}/landingPageViews/{unexpanded_final_url_fingerprint\}` + */ + resourceName?: string | null; + /** + * Output only. The advertiser-specified final URL. + */ + unexpandedFinalUrl?: string | null; + } + /** + * A language. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__LanguageConstant { + /** + * Output only. The language code, for example, "en_US", "en_AU", "es", "fr", etc. + */ + code?: string | null; + /** + * Output only. The ID of the language constant. + */ + id?: string | null; + /** + * Output only. The full name of the language in English, for example, "English (US)", "Spanish", etc. + */ + name?: string | null; + /** + * Output only. The resource name of the language constant. Language constant resource names have the form: `languageConstants/{criterion_id\}` + */ + resourceName?: string | null; + /** + * Output only. Whether the language is targetable. + */ + targetable?: boolean | null; + } + /** + * Data from lead form submissions. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__LeadFormSubmissionData { + /** + * Output only. AdGroup associated with the submitted lead form. + */ + adGroup?: string | null; + /** + * Output only. AdGroupAd associated with the submitted lead form. + */ + adGroupAd?: string | null; + /** + * Output only. Asset associated with the submitted lead form. + */ + asset?: string | null; + /** + * Output only. Campaign associated with the submitted lead form. + */ + campaign?: string | null; + /** + * Output only. Submission data associated with a custom lead form. + */ + customLeadFormSubmissionFields?: Schema$GoogleAdsSearchads360V23Resources__CustomLeadFormSubmissionField[]; + /** + * Output only. Google Click Id associated with the submissed lead form. + */ + gclid?: string | null; + /** + * Output only. ID of this lead form submission. + */ + id?: string | null; + /** + * Output only. Submission data associated with a lead form. + */ + leadFormSubmissionFields?: Schema$GoogleAdsSearchads360V23Resources__LeadFormSubmissionField[]; + /** + * Output only. The resource name of the lead form submission data. Lead form submission data resource names have the form: `customers/{customer_id\}/leadFormSubmissionData/{lead_form_submission_data_id\}` + */ + resourceName?: string | null; + /** + * Output only. The date and time at which the lead form was submitted. The format is "yyyy-mm-dd hh:mm:ss+|-hh:mm", for example, "2019-01-01 12:32:45-08:00". + */ + submissionDateTime?: string | null; + } + /** + * Fields in the submitted lead form. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__LeadFormSubmissionField { + /** + * Output only. Field type for lead form fields. + */ + fieldType?: string | null; + /** + * Output only. Field value for lead form fields. + */ + fieldValue?: string | null; + } + /** + * specific to a local services license. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__LicenseVerificationArtifact { + /** + * Output only. The timestamp when this license expires. The format is "YYYY-MM-DD HH:MM:SS" in the Google Ads account's timezone. Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30" + */ + expirationDateTime?: string | null; + /** + * Output only. The readonly field containing the information for an uploaded license document. + */ + licenseDocumentReadonly?: Schema$GoogleAdsSearchads360V23Common__LocalServicesDocumentReadOnly; + /** + * Output only. First name of the licensee. + */ + licenseeFirstName?: string | null; + /** + * Output only. Last name of the licensee. + */ + licenseeLastName?: string | null; + /** + * Output only. License number. + */ + licenseNumber?: string | null; + /** + * Output only. License type / name. + */ + licenseType?: string | null; + /** + * Output only. License rejection reason. + */ + rejectionReason?: string | null; + } + /** + * A life event: a particular interest-based vertical to be targeted to reach users when they are in the midst of important life milestones. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__LifeEvent { + /** + * Output only. Availability information of the life event. + */ + availabilities?: Schema$GoogleAdsSearchads360V23Common__CriterionCategoryAvailability[]; + /** + * Output only. The ID of the life event. + */ + id?: string | null; + /** + * Output only. True if the life event is launched to all channels and locales. + */ + launchedToAll?: boolean | null; + /** + * Output only. The name of the life event, for example,"Recently Moved" + */ + name?: string | null; + /** + * Output only. The parent of the life_event. + */ + parent?: string | null; + /** + * Output only. The resource name of the life event. Life event resource names have the form: `customers/{customer_id\}/lifeEvents/{life_event_id\}` + */ + resourceName?: string | null; + } + /** + * Listing dimensions for the asset group listing group filter. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__ListingGroupFilterDimension { + /** + * Brand of a product offer. + */ + productBrand?: Schema$GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductBrand; + /** + * Category of a product offer. + */ + productCategory?: Schema$GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductCategory; + /** + * Locality of a product offer. + */ + productChannel?: Schema$GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductChannel; + /** + * Condition of a product offer. + */ + productCondition?: Schema$GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductCondition; + /** + * Custom attribute of a product offer. + */ + productCustomAttribute?: Schema$GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductCustomAttribute; + /** + * Item id of a product offer. + */ + productItemId?: Schema$GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductItemId; + /** + * Type of a product offer. + */ + productType?: Schema$GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_ProductType; + /** + * Filters for URLs in a page feed and URLs from the advertiser web domain. + */ + webpage?: Schema$GoogleAdsSearchads360V23Resources_ListingGroupFilterDimension_Webpage; + } + /** + * The path defining of dimensions defining a listing group filter. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__ListingGroupFilterDimensionPath { + /** + * Output only. The complete path of dimensions through the listing group filter hierarchy (excluding the root node) to this listing group filter. + */ + dimensions?: Schema$GoogleAdsSearchads360V23Resources__ListingGroupFilterDimension[]; + } + /** + * A local services employee resource. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__LocalServicesEmployee { + /** + * Output only. Category of the employee. A list of Local Services category IDs can be found at https://developers.google.com/google-ads/api/data/codes-formats#local_services_ids. + */ + categoryIds?: string[] | null; + /** + * Output only. Timestamp of employee creation. The format is "YYYY-MM-DD HH:MM:SS" in the Google Ads account's timezone. Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30" + */ + creationDateTime?: string | null; + /** + * Output only. Email address of the employee. + */ + emailAddress?: string | null; + /** + * Output only. The institutions where the employee has completed their fellowship. + */ + fellowships?: Schema$GoogleAdsSearchads360V23Resources__Fellowship[]; + /** + * Output only. First name of the employee. + */ + firstName?: string | null; + /** + * Output only. The ID of the employee. + */ + id?: string | null; + /** + * Output only. Job title for this employee, such as "Senior partner" in legal verticals. + */ + jobTitle?: string | null; + /** + * Output only. Languages that the employee speaks, represented as language tags from https://developers.google.com/admin-sdk/directory/v1/languages + */ + languagesSpoken?: string[] | null; + /** + * Output only. Last name of the employee. + */ + lastName?: string | null; + /** + * Output only. Middle name of the employee. + */ + middleName?: string | null; + /** + * Output only. NPI id associated with the employee. + */ + nationalProviderIdNumber?: string | null; + /** + * Output only. The institutions where the employee has completed their residency. + */ + residencies?: Schema$GoogleAdsSearchads360V23Resources__Residency[]; + /** + * Immutable. The resource name of the Local Services Verification. Local Services Verification resource names have the form: `customers/{customer_id\}/localServicesEmployees/{gls_employee_id\}` + */ + resourceName?: string | null; + /** + * Output only. Employee status, such as DELETED or ENABLED. + */ + status?: string | null; + /** + * Output only. Employee type. + */ + type?: string | null; + /** + * Output only. A list of degrees this employee has obtained, and wants to feature. + */ + universityDegrees?: Schema$GoogleAdsSearchads360V23Resources__UniversityDegree[]; + /** + * Output only. The year that this employee started practicing in this field. + */ + yearStartedPracticing?: number | null; + } + /** + * Data from Local Services Lead. Contains details of Lead which is generated when user calls, messages or books service from advertiser. More info: https://ads.google.com/local-services-ads + */ + export interface Schema$GoogleAdsSearchads360V23Resources__LocalServicesLead { + /** + * Output only. Service category of the lead. For example: `xcat:service_area_business_hvac`, `xcat:service_area_business_real_estate_agent`, etc. For more details see: https://developers.google.com/google-ads/api/data/codes-formats#local_services_ids + */ + categoryId?: string | null; + /** + * Output only. Lead's contact details. + */ + contactDetails?: Schema$GoogleAdsSearchads360V23Resources__ContactDetails; + /** + * Output only. The date time at which lead was created by Local Services Ads. The format is "YYYY-MM-DD HH:MM:SS" in the Google Ads account's timezone. Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30" + */ + creationDateTime?: string | null; + /** + * Output only. Credit details of the lead. + */ + creditDetails?: Schema$GoogleAdsSearchads360V23Resources__CreditDetails; + /** + * Output only. ID of this Lead. + */ + id?: string | null; + /** + * Output only. True if the advertiser was charged for the lead. + */ + leadCharged?: boolean | null; + /** + * Output only. True if the advertiser submitted feedback for the lead. + */ + leadFeedbackSubmitted?: boolean | null; + /** + * Output only. Current status of lead. + */ + leadStatus?: string | null; + /** + * Output only. Type of Local Services lead: phone, message, booking, etc. + */ + leadType?: string | null; + /** + * Output only. Language used by the Local Services provider linked to lead. See https://developers.google.com/google-ads/api/data/codes-formats#locales + */ + locale?: string | null; + /** + * Output only. Note added by advertiser for the lead. + */ + note?: Schema$GoogleAdsSearchads360V23Resources__Note; + /** + * Immutable. The resource name of the local services lead data. Local Services Lead resource name have the form `customers/{customer_id\}/localServicesLead/{local_services_lead_id\}` + */ + resourceName?: string | null; + /** + * Output only. Service for the category. For example: `buyer_agent`, `seller_agent` for the category of `xcat:service_area_business_real_estate_agent`. + */ + serviceId?: string | null; + } + /** + * Data from Local Services Lead Conversation. Contains details of Lead Conversation which is generated when user calls, messages or books service from advertiser. These are appended to a Lead. More info: https://ads.google.com/local-services-ads + */ + export interface Schema$GoogleAdsSearchads360V23Resources__LocalServicesLeadConversation { + /** + * Output only. Type of GLS lead conversation, EMAIL, MESSAGE, PHONE_CALL, SMS, etc. + */ + conversationChannel?: string | null; + /** + * Output only. The date time at which lead conversation was created by Local Services Ads. The format is "YYYY-MM-DD HH:MM:SS" in the Google Ads account's timezone. Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30" + */ + eventDateTime?: string | null; + /** + * Output only. ID of this Lead Conversation. + */ + id?: string | null; + /** + * Output only. Resource name of Lead associated to the Lead Conversation. + */ + lead?: string | null; + /** + * Output only. Details of message conversation in case of EMAIL, MESSAGE or SMS. + */ + messageDetails?: Schema$GoogleAdsSearchads360V23Resources__MessageDetails; + /** + * Output only. Type of participant in the lead conversation, ADVERTISER or CONSUMER. + */ + participantType?: string | null; + /** + * Output only. Details of phone call conversation in case of PHONE_CALL. + */ + phoneCallDetails?: Schema$GoogleAdsSearchads360V23Resources__PhoneCallDetails; + /** + * Output only. The resource name of the local services lead conversation data. Local Services Lead Conversation resource name have the form `customers/{customer_id\}/localServicesLeadConversation/{local_services_lead_conversation_id\}` + */ + resourceName?: string | null; + } + /** + * Settings for Local Services customer. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__LocalServicesSettings { + /** + * Output only. A read-only list of geo vertical level insurance statuses. + */ + granularInsuranceStatuses?: Schema$GoogleAdsSearchads360V23Resources__GranularInsuranceStatus[]; + /** + * Output only. A read-only list of geo vertical level license statuses. + */ + granularLicenseStatuses?: Schema$GoogleAdsSearchads360V23Resources__GranularLicenseStatus[]; + } + /** + * A local services verification resource. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__LocalServicesVerificationArtifact { + /** + * Output only. The type of the verification artifact. + */ + artifactType?: string | null; + /** + * Output only. A background check verification artifact. + */ + backgroundCheckVerificationArtifact?: Schema$GoogleAdsSearchads360V23Resources__BackgroundCheckVerificationArtifact; + /** + * Output only. A business registration check verification artifact. + */ + businessRegistrationCheckVerificationArtifact?: Schema$GoogleAdsSearchads360V23Resources__BusinessRegistrationCheckVerificationArtifact; + /** + * Output only. The timestamp when this verification artifact was created. The format is "YYYY-MM-DD HH:MM:SS" in the Google Ads account's timezone. Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30" + */ + creationDateTime?: string | null; + /** + * Output only. The ID of the verification artifact. + */ + id?: string | null; + /** + * Output only. An insurance verification artifact. + */ + insuranceVerificationArtifact?: Schema$GoogleAdsSearchads360V23Resources__InsuranceVerificationArtifact; + /** + * Output only. A license verification artifact. + */ + licenseVerificationArtifact?: Schema$GoogleAdsSearchads360V23Resources__LicenseVerificationArtifact; + /** + * Immutable. The resource name of the Local Services Verification. Local Services Verification resource names have the form: `customers/{customer_id\}/localServicesVerificationArtifacts/{verification_artifact_id\}` + */ + resourceName?: string | null; + /** + * Output only. The status of the verification artifact. + */ + status?: string | null; + } + /** + * A location interest view summarizes the performance of adgroup location interest criteria. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__LocationInterestView { + /** + * Output only. The resource name of the location interest view. Location interest view resource names have the form: `customers/{customer_id\}/locationInterestViews/{campaign_id\}~{ad_group_id\}~{criterion_id\}` + */ + resourceName?: string | null; + } + /** + * A location view summarizes the performance of campaigns by a Location criterion. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__LocationView { + /** + * Output only. The resource name of the location view. Location view resource names have the form: `customers/{customer_id\}/locationViews/{campaign_id\}~{criterion_id\}` + */ + resourceName?: string | null; + } + /** + * A managed placement view. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__ManagedPlacementView { + /** + * Output only. The resource name of the Managed Placement view. Managed placement view resource names have the form: `customers/{customer_id\}/managedPlacementViews/{ad_group_id\}~{criterion_id\}` + */ + resourceName?: string | null; + } + /** + * A view that reports metrics for locations where users showed interest, and which matched the advertiser's location interest targeting (defined as geo targets at the AdGroup level). The data is aggregated at the country level by default. This view is currently only available for AI Max campaigns. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__MatchedLocationInterestView { + /** + * Output only. The resource name of the matched location interest view. Matched location interest view resource names have the form: `customers/{customer_id\}/matchedLocationInterestViews/{country_criterion_id\}` + */ + resourceName?: string | null; + } + /** + * Encapsulates an Audio. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__MediaAudio { + /** + * Output only. The duration of the Audio in milliseconds. + */ + adDurationMillis?: string | null; + } + /** + * Represents a ZIP archive media the content of which contains HTML5 assets. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__MediaBundle { + /** + * Immutable. Raw zipped data. + */ + data?: string | null; + /** + * Output only. The url to access the uploaded zipped data. For example, https://tpc.googlesyndication.com/simgad/123 This field is read-only. + */ + url?: string | null; + } + /** + * A media file. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__MediaFile { + /** + * Output only. Encapsulates an Audio. + */ + audio?: Schema$GoogleAdsSearchads360V23Resources__MediaAudio; + /** + * Output only. The size of the media file in bytes. + */ + fileSize?: string | null; + /** + * Output only. The ID of the media file. + */ + id?: string | null; + /** + * Immutable. Encapsulates an Image. + */ + image?: Schema$GoogleAdsSearchads360V23Resources__MediaImage; + /** + * Immutable. A ZIP archive media the content of which contains HTML5 assets. + */ + mediaBundle?: Schema$GoogleAdsSearchads360V23Resources__MediaBundle; + /** + * Output only. The mime type of the media file. + */ + mimeType?: string | null; + /** + * Immutable. The name of the media file. The name can be used by clients to help identify previously uploaded media. + */ + name?: string | null; + /** + * Immutable. The resource name of the media file. Media file resource names have the form: `customers/{customer_id\}/mediaFiles/{media_file_id\}` + */ + resourceName?: string | null; + /** + * Immutable. The URL of where the original media file was downloaded from (or a file name). Only used for media of type AUDIO and IMAGE. + */ + sourceUrl?: string | null; + /** + * Immutable. Type of the media file. + */ + type?: string | null; + /** + * Immutable. Encapsulates a Video. + */ + video?: Schema$GoogleAdsSearchads360V23Resources__MediaVideo; + } + /** + * Encapsulates an Image. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__MediaImage { + /** + * Immutable. Raw image data. + */ + data?: string | null; + /** + * Output only. The url to the full size version of the image. + */ + fullSizeImageUrl?: string | null; + /** + * Output only. The url to the preview size version of the image. + */ + previewSizeImageUrl?: string | null; + } + /** + * Encapsulates a Video. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__MediaVideo { + /** + * Output only. The duration of the Video in milliseconds. + */ + adDurationMillis?: string | null; + /** + * Output only. The Advertising Digital Identification code for this video, as defined by the American Association of Advertising Agencies, used mainly for television commercials. + */ + advertisingIdCode?: string | null; + /** + * Output only. The Industry Standard Commercial Identifier code for this video, used mainly for television commercials. + */ + isciCode?: string | null; + /** + * Immutable. The YouTube video ID (as seen in YouTube URLs). Adding prefix "https://www.youtube.com/watch?v=" to this ID will get the YouTube streaming URL for this video. + */ + youtubeVideoId?: string | null; + } + /** + * The identifier for Google Merchant Center account + */ + export interface Schema$GoogleAdsSearchads360V23Resources__MerchantCenterIdentifier { + /** + * Immutable. The customer ID of the Google Merchant Center account. This field is required and should not be empty when creating a new Merchant Center link. It is unable to be modified after the creation of the link. + */ + merchantCenterId?: string | null; + } + /** + * The identifier for Merchant Center Account. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__MerchantCenterLinkInvitationIdentifier { + /** + * Output only. The Merchant Center id of the Merchant account. This field is read only + */ + merchantCenterId?: string | null; + } + /** + * Represents details of text message in case of email, message or SMS. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__MessageDetails { + /** + * Output only. URL to the SMS or email attachments. These URLs can be used to download the contents of the attachment by using the developer token. + */ + attachmentUrls?: string[] | null; + /** + * Output only. Textual content of the message. + */ + text?: string | null; + } + /** + * A mobile application category constant. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__MobileAppCategoryConstant { + /** + * Output only. The ID of the mobile app category constant. + */ + id?: number | null; + /** + * Output only. Mobile app category name. + */ + name?: string | null; + /** + * Output only. The resource name of the mobile app category constant. Mobile app category constant resource names have the form: `mobileAppCategoryConstants/{mobile_app_category_id\}` + */ + resourceName?: string | null; + } + /** + * A mobile device constant. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__MobileDeviceConstant { + /** + * Output only. The ID of the mobile device constant. + */ + id?: string | null; + /** + * Output only. The manufacturer of the mobile device. + */ + manufacturerName?: string | null; + /** + * Output only. The name of the mobile device. + */ + name?: string | null; + /** + * Output only. The operating system of the mobile device. + */ + operatingSystemName?: string | null; + /** + * Output only. The resource name of the mobile device constant. Mobile device constant resource names have the form: `mobileDeviceConstants/{criterion_id\}` + */ + resourceName?: string | null; + /** + * Output only. The type of mobile device. + */ + type?: string | null; + } + /** + * Represents a note added to a lead by the advertiser. Advertisers can edit notes, which will reset edit time and change description. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__Note { + /** + * Output only. Content of lead note. + */ + description?: string | null; + /** + * Output only. The date time when lead note was edited. The format is "YYYY-MM-DD HH:MM:SS" in the Google Ads account's timezone. Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30" + */ + editDateTime?: string | null; + } + /** + * Alert for offline conversion client summary. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__OfflineConversionAlert { + /** + * Output only. Error for offline conversion client alert. + */ + error?: Schema$GoogleAdsSearchads360V23Resources__OfflineConversionError; + /** + * Output only. Percentage of the error, the range of this field should be [0, 1.0]. + */ + errorPercentage?: number | null; + } + /** + * Possible errors for offline conversion client summary. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__OfflineConversionError { + /** + * Output only. Collection size error. + */ + collectionSizeError?: string | null; + /** + * Output only. Conversion adjustment upload error. + */ + conversionAdjustmentUploadError?: string | null; + /** + * Output only. Conversion upload error. + */ + conversionUploadError?: string | null; + /** + * Output only. Date error. + */ + dateError?: string | null; + /** + * Output only. Distinct error. + */ + distinctError?: string | null; + /** + * Output only. Field error. + */ + fieldError?: string | null; + /** + * Output only. Mutate error. + */ + mutateError?: string | null; + /** + * Output only. Not allowlisted error. + */ + notAllowlistedError?: string | null; + /** + * Output only. String format error. + */ + stringFormatError?: string | null; + /** + * Output only. String length error. + */ + stringLengthError?: string | null; + } + /** + * Historical upload summary, grouped by upload date or job. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__OfflineConversionSummary { + /** + * Output only. Total count of failed event. + */ + failedCount?: string | null; + /** + * Output only. Dimension key for last N jobs. + */ + jobId?: string | null; + /** + * Output only. Total count of pending uploaded event. + */ + pendingCount?: string | null; + /** + * Output only. Total count of successful event. + */ + successfulCount?: string | null; + /** + * Output only. Dimension key for last N days. + */ + uploadDate?: string | null; + } + /** + * Offline conversion upload summary at customer level. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__OfflineConversionUploadClientSummary { + /** + * Output only. Details for each error code. Alerts are generated from most recent calendar day with upload stats. + */ + alerts?: Schema$GoogleAdsSearchads360V23Resources__OfflineConversionAlert[]; + /** + * Output only. Client type of the upload event. + */ + client?: string | null; + /** + * Output only. Summary of history stats by last N days. + */ + dailySummaries?: Schema$GoogleAdsSearchads360V23Resources__OfflineConversionSummary[]; + /** + * Output only. Summary of history stats by last N jobs. + */ + jobSummaries?: Schema$GoogleAdsSearchads360V23Resources__OfflineConversionSummary[]; + /** + * Output only. Date for the latest upload batch. The format is "yyyy-mm-dd hh:mm:ss", and it's in the time zone of the Google Ads account. + */ + lastUploadDateTime?: string | null; + /** + * Output only. Total count of pending uploaded events. + */ + pendingEventCount?: string | null; + /** + * Output only. The ratio of total pending events to total events. + */ + pendingRate?: number | null; + /** + * Output only. The resource name of the offline conversion upload summary at customer level. Offline conversion upload client summary resource names have the form: `customers/{customer_id\}/offlineConversionUploadClientSummaries/{client\}` + */ + resourceName?: string | null; + /** + * Output only. Overall status for offline conversion client summary. Status is generated from most recent calendar day with upload stats. + */ + status?: string | null; + /** + * Output only. Total count of successful uploaded events. + */ + successfulEventCount?: string | null; + /** + * Output only. Successful rate. + */ + successRate?: number | null; + /** + * Output only. Total count of uploaded events. + */ + totalEventCount?: string | null; + } + /** + * Offline conversion upload summary at conversion action level. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__OfflineConversionUploadConversionActionSummary { + /** + * Output only. Details for each error code. Alerts are generated from most recent calendar day with upload stats. + */ + alerts?: Schema$GoogleAdsSearchads360V23Resources__OfflineConversionAlert[]; + /** + * Output only. Client type of the upload event. + */ + client?: string | null; + /** + * Output only. Conversion action id. + */ + conversionActionId?: string | null; + /** + * Output only. The name of the conversion action. + */ + conversionActionName?: string | null; + /** + * Output only. Summary of history stats by last N days. + */ + dailySummaries?: Schema$GoogleAdsSearchads360V23Resources__OfflineConversionSummary[]; + /** + * Output only. Summary of history stats by last N jobs. + */ + jobSummaries?: Schema$GoogleAdsSearchads360V23Resources__OfflineConversionSummary[]; + /** + * Output only. Date for the latest upload batch. The format is "yyyy-mm-dd hh:mm:ss", and it's in the time zone of the Google Ads account. + */ + lastUploadDateTime?: string | null; + /** + * Output only. Total count of pending uploaded events. + */ + pendingEventCount?: string | null; + /** + * Output only. The resource name of the offline conversion upload summary at conversion action level. Offline conversion upload conversion action summary resource names have the form: `customers/{customer_id\}/offlineConversionUploadConversionActionSummaries/{conversion_action_id\}~{client\}` + */ + resourceName?: string | null; + /** + * Output only. Overall status for offline conversion upload conversion action summary. Status is generated from most recent calendar day with upload stats. + */ + status?: string | null; + /** + * Output only. Total count of successful uploaded events. + */ + successfulEventCount?: string | null; + /** + * Output only. Total count of uploaded events. + */ + totalEventCount?: string | null; + } + /** + * A job containing offline user data of store visitors, or user list members that will be processed asynchronously. The uploaded data isn't readable and the processing results of the job can only be read using + */ + export interface Schema$GoogleAdsSearchads360V23Resources__OfflineUserDataJob { + /** + * Immutable. Metadata for data updates to a CRM-based user list. + */ + customerMatchUserListMetadata?: Schema$GoogleAdsSearchads360V23Common__CustomerMatchUserListMetadata; + /** + * Immutable. User specified job ID. + */ + externalId?: string | null; + /** + * Output only. Reason for the processing failure, if status is FAILED. + */ + failureReason?: string | null; + /** + * Output only. ID of this offline user data job. + */ + id?: string | null; + /** + * Output only. Metadata of offline user data job depicting match rate range. + */ + operationMetadata?: Schema$GoogleAdsSearchads360V23Resources__OfflineUserDataJobMetadata; + /** + * Immutable. The resource name of the offline user data job. Offline user data job resource names have the form: `customers/{customer_id\}/offlineUserDataJobs/{offline_user_data_job_id\}` + */ + resourceName?: string | null; + /** + * Output only. Status of the job. + */ + status?: string | null; + /** + * Immutable. Metadata for store sales data update. + */ + storeSalesMetadata?: Schema$GoogleAdsSearchads360V23Common__StoreSalesMetadata; + /** + * Immutable. Type of the job. + */ + type?: string | null; + } + /** + * Metadata of offline user data job. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__OfflineUserDataJobMetadata { + /** + * Output only. Match rate of the Customer Match user list upload. Describes the estimated match rate when the status of the job is "RUNNING" and final match rate when the final match rate is available after the status of the job is "SUCCESS/FAILED". + */ + matchRateRange?: string | null; + } + /** + * A mobile operating system version or a range of versions, depending on `operator_type`. List of available mobile platforms at https://developers.google.com/google-ads/api/reference/data/codes-formats#mobile-platforms + */ + export interface Schema$GoogleAdsSearchads360V23Resources__OperatingSystemVersionConstant { + /** + * Output only. The ID of the operating system version. + */ + id?: string | null; + /** + * Output only. Name of the operating system. + */ + name?: string | null; + /** + * Output only. Determines whether this constant represents a single version or a range of versions. + */ + operatorType?: string | null; + /** + * Output only. The OS Major Version number. + */ + osMajorVersion?: number | null; + /** + * Output only. The OS Minor Version number. + */ + osMinorVersion?: number | null; + /** + * Output only. The resource name of the operating system version constant. Operating system version constant resource names have the form: `operatingSystemVersionConstants/{criterion_id\}` + */ + resourceName?: string | null; + } + /** + * A paid organic search term view providing a view of search stats across ads and organic listings aggregated by search term at the ad group level. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__PaidOrganicSearchTermView { + /** + * Output only. The resource name of the search term view. Search term view resource names have the form: `customers/{customer_id\}/paidOrganicSearchTermViews/{campaign_id\}~ {ad_group_id\}~{URL-base64 search term\}` + */ + resourceName?: string | null; + /** + * Output only. The search term. + */ + searchTerm?: string | null; + } + /** + * A parental status view. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__ParentalStatusView { + /** + * Output only. The resource name of the parental status view. Parental Status view resource names have the form: `customers/{customer_id\}/parentalStatusViews/{ad_group_id\}~{criterion_id\}` + */ + resourceName?: string | null; + } + /** + * A payments account, which can be used to set up billing for an Ads customer. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__PaymentsAccount { + /** + * Output only. The currency code of the payments account. A subset of the currency codes derived from the ISO 4217 standard is supported. + */ + currencyCode?: string | null; + /** + * Output only. The name of the payments account. + */ + name?: string | null; + /** + * Output only. Paying manager of this payment account. + */ + payingManagerCustomer?: string | null; + /** + * Output only. A 16 digit ID used to identify a payments account. + */ + paymentsAccountId?: string | null; + /** + * Output only. A 12 digit ID used to identify the payments profile associated with the payments account. + */ + paymentsProfileId?: string | null; + /** + * Output only. The resource name of the payments account. PaymentsAccount resource names have the form: `customers/{customer_id\}/paymentsAccounts/{payments_account_id\}` + */ + resourceName?: string | null; + /** + * Output only. A secondary payments profile ID present in uncommon situations, for example, when a sequential liability agreement has been arranged. + */ + secondaryPaymentsProfileId?: string | null; + } + /** + * A view with impression metrics for Performance Max campaign placements. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__PerformanceMaxPlacementView { + /** + * Output only. The name displayed to represent the placement, such as the URL name for websites, YouTube video name for YouTube videos, and translated mobile app name for mobile apps. + */ + displayName?: string | null; + /** + * Output only. The default placement string, such as the website URL, mobile application ID, or a YouTube video ID. + */ + placement?: string | null; + /** + * Output only. Type of the placement. Possible values for Performance Max placements are WEBSITE, MOBILE_APPLICATION, or YOUTUBE_VIDEO. + */ + placementType?: string | null; + /** + * Output only. The resource name of the Performance Max placement view. Performance Max placement view resource names have the form: `customers/{customer_id\}/performanceMaxPlacementViews/{base_64_placement\}` + */ + resourceName?: string | null; + /** + * Output only. URL of the placement, for example, website, link to the mobile application in app store, or a YouTube video URL. + */ + targetUrl?: string | null; + } + /** + * A per store view. This view provides per store impression reach and local action conversion stats for advertisers. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__PerStoreView { + /** + * Output only. First line of the store's address. + */ + address1?: string | null; + /** + * Output only. Second line of the store's address. + */ + address2?: string | null; + /** + * Output only. The name of the business. + */ + businessName?: string | null; + /** + * Output only. The city where the store is located. + */ + city?: string | null; + /** + * Output only. The two-letter country code for the store's location (e.g., "US"). + */ + countryCode?: string | null; + /** + * Output only. The phone number of the store. + */ + phoneNumber?: string | null; + /** + * Output only. The place ID of the per store view. + */ + placeId?: string | null; + /** + * Output only. The postal code of the store's address. + */ + postalCode?: string | null; + /** + * Output only. The province or state of the store's address. + */ + province?: string | null; + /** + * Output only. The resource name of the per store view. Per Store view resource names have the form: `customers/{customer_id\}/perStoreViews/{place_id\}` + */ + resourceName?: string | null; + } + /** + * Represents details of a phone call conversation. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__PhoneCallDetails { + /** + * Output only. The duration (in milliseconds) of the phone call (end to end). + */ + callDurationMillis?: string | null; + /** + * Output only. URL to the call recording audio file. + */ + callRecordingUrl?: string | null; + } + /** + * A Product Category. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__ProductCategoryConstant { + /** + * Output only. The ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436. + */ + categoryId?: string | null; + /** + * Output only. Level of the product category. + */ + level?: string | null; + /** + * Output only. List of all available localizations of the product category. + */ + localizations?: Schema$GoogleAdsSearchads360V23Resources_ProductCategoryConstant_ProductCategoryLocalization[]; + /** + * Output only. Resource name of the parent product category. + */ + productCategoryConstantParent?: string | null; + /** + * Output only. The resource name of the product category. Product category resource names have the form: `productCategoryConstants/{level\}~{category_id\}` + */ + resourceName?: string | null; + /** + * Output only. State of the product category. + */ + state?: string | null; + } + /** + * A product group view. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__ProductGroupView { + /** + * Output only. The resource name of the product group view. Product group view resource names have the form: `customers/{customer_id\}/productGroupViews/{ad_group_id\}~{criterion_id\}` + */ + resourceName?: string | null; + } + /** + * Represents the data sharing connection between + */ + export interface Schema$GoogleAdsSearchads360V23Resources__ProductLink { + /** + * Output only. Advertising Partner link. + */ + advertisingPartner?: Schema$GoogleAdsSearchads360V23Resources__AdvertisingPartnerIdentifier; + /** + * Immutable. Data partner link. + */ + dataPartner?: Schema$GoogleAdsSearchads360V23Resources__DataPartnerIdentifier; + /** + * Immutable. Google Ads link. + */ + googleAds?: Schema$GoogleAdsSearchads360V23Resources__GoogleAdsIdentifier; + /** + * Immutable. Google Merchant Center link. + */ + merchantCenter?: Schema$GoogleAdsSearchads360V23Resources__MerchantCenterIdentifier; + /** + * Output only. The ID of the link. This field is read only. + */ + productLinkId?: string | null; + /** + * Immutable. Resource name of the product link. ProductLink resource names have the form: ` ` + */ + resourceName?: string | null; + /** + * Output only. The type of the linked product. + */ + type?: string | null; + } + /** + * Represents an invitation for data sharing connection between a Google Ads account and another account. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__ProductLinkInvitation { + /** + * Output only. Advertising Partner link invitation. + */ + advertisingPartner?: Schema$GoogleAdsSearchads360V23Resources__AdvertisingPartnerLinkInvitationIdentifier; + /** + * Output only. Hotel link invitation. + */ + hotelCenter?: Schema$GoogleAdsSearchads360V23Resources__HotelCenterLinkInvitationIdentifier; + /** + * Output only. Merchant Center link invitation. + */ + merchantCenter?: Schema$GoogleAdsSearchads360V23Resources__MerchantCenterLinkInvitationIdentifier; + /** + * Output only. The ID of the product link invitation. This field is read only. + */ + productLinkInvitationId?: string | null; + /** + * Immutable. The resource name of a product link invitation. Product link invitation resource names have the form: `customers/{customer_id\}/productLinkInvitations/{product_link_invitation_id\}` + */ + resourceName?: string | null; + /** + * Output only. The status of the product link invitation. This field is read only. + */ + status?: string | null; + /** + * Output only. The type of the invited account. This field is read only and can be used for filtering invitations with {@code GoogleAdsService.SearchGoogleAdsRequest\}. + */ + type?: string | null; + } + /** + * Qualifying Questions for Lead Form. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__QualifyingQuestion { + /** + * Output only. The locale of the qualifying question. + */ + locale?: string | null; + /** + * Output only. The id of the qualifying question. + */ + qualifyingQuestionId?: string | null; + /** + * Output only. The resource name of the qualifying question. 'qualifyingQuestions/{qualifyingQuestionId\}' + */ + resourceName?: string | null; + /** + * Output only. The qualifying question. + */ + text?: string | null; + } + /** + * A recommendation. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__Recommendation { + /** + * Output only. The ad group targeted by this recommendation. This will be set only when the recommendation affects a single ad group. This field will be set for the following recommendation types: KEYWORD, OPTIMIZE_AD_ROTATION, TEXT_AD + */ + adGroup?: string | null; + /** + * Output only. The call asset recommendation. + */ + callAssetRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_CallAssetRecommendation; + /** + * Output only. The callout asset recommendation. + */ + calloutAssetRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_CalloutAssetRecommendation; + /** + * Output only. The campaign targeted by this recommendation. This field will be set for the following recommendation types: CALL_EXTENSION, CALLOUT_EXTENSION, ENHANCED_CPC_OPT_IN, KEYWORD, KEYWORD_MATCH_TYPE, MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN, OPTIMIZE_AD_ROTATION, SEARCH_PARTNERS_OPT_IN, SITELINK_EXTENSION, TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN, TEXT_AD, + */ + campaign?: string | null; + /** + * Output only. The budget targeted by this recommendation. This will be set only when the recommendation affects a single campaign budget. This field will be set for the following recommendation types: CAMPAIGN_BUDGET, FORECASTING_CAMPAIGN_BUDGET, MOVE_UNUSED_BUDGET + */ + campaignBudget?: string | null; + /** + * Output only. The campaign budget recommendation. + */ + campaignBudgetRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_CampaignBudgetRecommendation; + /** + * Output only. The campaigns targeted by this recommendation. This field will be set for the following recommendation types: CAMPAIGN_BUDGET, FORECASTING_CAMPAIGN_BUDGET, MARGINAL_ROI_CAMPAIGN_BUDGET and MOVE_UNUSED_BUDGET + */ + campaigns?: string[] | null; + /** + * Output only. The custom audience opt in recommendation. + */ + customAudienceOptInRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_CustomAudienceOptInRecommendation; + /** + * Output only. Whether the recommendation is dismissed or not. + */ + dismissed?: boolean | null; + /** + * Output only. The Display Expansion opt-in recommendation. + */ + displayExpansionOptInRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_DisplayExpansionOptInRecommendation; + /** + * Output only. Recommendation to enable dynamic image extensions on the account, allowing Google to find the best images from ad landing pages and complement text ads. + */ + dynamicImageExtensionOptInRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_DynamicImageExtensionOptInRecommendation; + /** + * Output only. The Enhanced Cost-Per-Click Opt-In recommendation. + */ + enhancedCpcOptInRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_EnhancedCpcOptInRecommendation; + /** + * Output only. The forecasting campaign budget recommendation. + */ + forecastingCampaignBudgetRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_CampaignBudgetRecommendation; + /** + * Output only. The forecasting set target CPA recommendation. + */ + forecastingSetTargetCpaRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_ForecastingSetTargetCpaRecommendation; + /** + * Output only. The forecasting set target ROAS recommendation. + */ + forecastingSetTargetRoasRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_ForecastingSetTargetRoasRecommendation; + /** + * Output only. The impact on account performance as a result of applying the recommendation. + */ + impact?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_RecommendationImpact; + /** + * Output only. The improve Demand Gen ad strength recommendation. + */ + improveDemandGenAdStrengthRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_ImproveDemandGenAdStrengthRecommendation; + /** + * Output only. Recommendation to deploy Google Tag on more pages. + */ + improveGoogleTagCoverageRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_ImproveGoogleTagCoverageRecommendation; + /** + * Output only. The improve Performance Max ad strength recommendation. + */ + improvePerformanceMaxAdStrengthRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_ImprovePerformanceMaxAdStrengthRecommendation; + /** + * Output only. The keyword match type recommendation. + */ + keywordMatchTypeRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_KeywordMatchTypeRecommendation; + /** + * Output only. The keyword recommendation. + */ + keywordRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_KeywordRecommendation; + /** + * Output only. The lead form asset recommendation. + */ + leadFormAssetRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_LeadFormAssetRecommendation; + /** + * Output only. Recommendation to lower Target ROAS. + */ + lowerTargetRoasRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_LowerTargetRoasRecommendation; + /** + * Output only. The marginal ROI campaign budget recommendation. + */ + marginalRoiCampaignBudgetRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_CampaignBudgetRecommendation; + /** + * Output only. The MaximizeClicks Opt-In recommendation. + */ + maximizeClicksOptInRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_MaximizeClicksOptInRecommendation; + /** + * Output only. The MaximizeConversions Opt-In recommendation. + */ + maximizeConversionsOptInRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_MaximizeConversionsOptInRecommendation; + /** + * Output only. The Maximize Conversion Value opt-in recommendation. + */ + maximizeConversionValueOptInRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_MaximizeConversionValueOptInRecommendation; + /** + * Output only. The Dynamic Search Ads to Performance Max migration recommendation. + */ + migrateDynamicSearchAdsCampaignToPerformanceMaxRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_MigrateDynamicSearchAdsCampaignToPerformanceMaxRecommendation; + /** + * Output only. The move unused budget recommendation. + */ + moveUnusedBudgetRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_MoveUnusedBudgetRecommendation; + /** + * Output only. The Optimize Ad Rotation recommendation. + */ + optimizeAdRotationRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_OptimizeAdRotationRecommendation; + /** + * Output only. Recommendation to turn on Final URL expansion for your Performance Max campaigns. + */ + performanceMaxFinalUrlOptInRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_PerformanceMaxFinalUrlOptInRecommendation; + /** + * Output only. The Performance Max Opt In recommendation. + */ + performanceMaxOptInRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_PerformanceMaxOptInRecommendation; + /** + * Output only. The raise target CPA bid too low recommendation. + */ + raiseTargetCpaBidTooLowRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_RaiseTargetCpaBidTooLowRecommendation; + /** + * Output only. Recommendation to raise Target CPA. + */ + raiseTargetCpaRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_RaiseTargetCpaRecommendation; + /** + * Output only. The refresh customer list recommendation. + */ + refreshCustomerMatchListRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_RefreshCustomerMatchListRecommendation; + /** + * Immutable. The resource name of the recommendation. `customers/{customer_id\}/recommendations/{recommendation_id\}` + */ + resourceName?: string | null; + /** + * Output only. The responsive search ad asset recommendation. + */ + responsiveSearchAdAssetRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_ResponsiveSearchAdAssetRecommendation; + /** + * Output only. The responsive search ad improve ad strength recommendation. + */ + responsiveSearchAdImproveAdStrengthRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_ResponsiveSearchAdImproveAdStrengthRecommendation; + /** + * Output only. The add responsive search ad recommendation. + */ + responsiveSearchAdRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_ResponsiveSearchAdRecommendation; + /** + * Output only. The Search Partners Opt-In recommendation. + */ + searchPartnersOptInRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_SearchPartnersOptInRecommendation; + /** + * Output only. The set target CPA recommendation. + */ + setTargetCpaRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_ForecastingSetTargetCpaRecommendation; + /** + * Output only. The set target ROAS recommendation. + */ + setTargetRoasRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_ForecastingSetTargetRoasRecommendation; + /** + * Output only. The shopping add age group recommendation. + */ + shoppingAddAgeGroupRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_ShoppingOfferAttributeRecommendation; + /** + * Output only. The shopping add color recommendation. + */ + shoppingAddColorRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_ShoppingOfferAttributeRecommendation; + /** + * Output only. The shopping add gender recommendation. + */ + shoppingAddGenderRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_ShoppingOfferAttributeRecommendation; + /** + * Output only. The shopping add GTIN recommendation. + */ + shoppingAddGtinRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_ShoppingOfferAttributeRecommendation; + /** + * Output only. The shopping add more identifiers recommendation. + */ + shoppingAddMoreIdentifiersRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_ShoppingOfferAttributeRecommendation; + /** + * Output only. The shopping add products to campaign recommendation. + */ + shoppingAddProductsToCampaignRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_ShoppingAddProductsToCampaignRecommendation; + /** + * Output only. The shopping add size recommendation. + */ + shoppingAddSizeRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_ShoppingOfferAttributeRecommendation; + /** + * Output only. The shopping fix disapproved products recommendation. + */ + shoppingFixDisapprovedProductsRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_ShoppingFixDisapprovedProductsRecommendation; + /** + * Output only. The shopping fix Merchant Center account suspension warning recommendation. + */ + shoppingFixMerchantCenterAccountSuspensionWarningRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_ShoppingMerchantCenterAccountSuspensionRecommendation; + /** + * Output only. The shopping fix suspended Merchant Center account recommendation. + */ + shoppingFixSuspendedMerchantCenterAccountRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_ShoppingMerchantCenterAccountSuspensionRecommendation; + /** + * Output only. The shopping migrate Regular Shopping Campaign offers to Performance Max recommendation. + */ + shoppingMigrateRegularShoppingCampaignOffersToPerformanceMaxRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_ShoppingMigrateRegularShoppingCampaignOffersToPerformanceMaxRecommendation; + /** + * Output only. The shopping target all offers recommendation. + */ + shoppingTargetAllOffersRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_ShoppingTargetAllOffersRecommendation; + /** + * Output only. The sitelink asset recommendation. + */ + sitelinkAssetRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_SitelinkAssetRecommendation; + /** + * Output only. The TargetCPA opt-in recommendation. + */ + targetCpaOptInRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_TargetCpaOptInRecommendation; + /** + * Output only. The Target ROAS opt-in recommendation. + */ + targetRoasOptInRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_TargetRoasOptInRecommendation; + /** + * Output only. Add expanded text ad recommendation. + */ + textAdRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_TextAdRecommendation; + /** + * Output only. The type of recommendation. + */ + type?: string | null; + /** + * Output only. The upgrade a Local campaign to a Performance Max campaign recommendation. + */ + upgradeLocalCampaignToPerformanceMaxRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_UpgradeLocalCampaignToPerformanceMaxRecommendation; + /** + * Output only. The upgrade a Smart Shopping campaign to a Performance Max campaign recommendation. + */ + upgradeSmartShoppingCampaignToPerformanceMaxRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_UpgradeSmartShoppingCampaignToPerformanceMaxRecommendation; + /** + * Output only. The use broad match keyword recommendation. + */ + useBroadMatchKeywordRecommendation?: Schema$GoogleAdsSearchads360V23Resources_Recommendation_UseBroadMatchKeywordRecommendation; + } + /** + * Recommendation Subscription resource + */ + export interface Schema$GoogleAdsSearchads360V23Resources__RecommendationSubscription { + /** + * Output only. Time in seconds when the subscription was first created. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format. + */ + createDateTime?: string | null; + /** + * Output only. Contains the time in microseconds, when the Recommendation Subscription was last updated. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format. + */ + modifyDateTime?: string | null; + /** + * Immutable. The resource name of the recommendation subscription. `customers/{customer_id\}/recommendationSubscriptions/{recommendation_type\}` + */ + resourceName?: string | null; + /** + * Required. Status of the subscription, either enabled or paused. + */ + status?: string | null; + /** + * Required. Immutable. The type of recommendation subscribed to. + */ + type?: string | null; + } + /** + * A remarketing action. A snippet of JavaScript code that will collect the product id and the type of page people visited (product page, shopping cart page, purchase page, general site visit) on an advertiser's website. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__RemarketingAction { + /** + * Output only. Id of the remarketing action. + */ + id?: string | null; + /** + * The name of the remarketing action. This field is required and should not be empty when creating new remarketing actions. + */ + name?: string | null; + /** + * Immutable. The resource name of the remarketing action. Remarketing action resource names have the form: `customers/{customer_id\}/remarketingActions/{remarketing_action_id\}` + */ + resourceName?: string | null; + /** + * Output only. The snippets used for tracking remarketing actions. + */ + tagSnippets?: Schema$GoogleAdsSearchads360V23Common__TagSnippet[]; + } + /** + * Remarketing setting for a customer. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__RemarketingSetting { + /** + * Output only. The Google tag. + */ + googleGlobalSiteTag?: string | null; + } + /** + * Details about the employee's medical residency. Residency is a stage of graduate medical education in which a qualified medical professional practices under the supervision of a senior clinician. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__Residency { + /** + * Output only. Year of completion. + */ + completionYear?: number | null; + /** + * Output only. Name of the institution at which the residency was completed. + */ + institutionName?: string | null; + } + /** + * A Search Ads 360 campaign. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__SearchAds360Campaign { + /** + * The type of product attribution filtering to apply to this campaign. + */ + productAttributionFilterType?: string | null; + /** + * Immutable. The resource name of the Search Ads 360 campaign. Search Ads 360 campaign resource names have the form: `customers/{customer_id\}/searchAds360Campaigns/{campaign_id\}` + */ + resourceName?: string | null; + } + /** + * A field or resource (artifact) used by SearchAds360Service. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__SearchAds360Field { + /** + * Output only. The names of all resources that are selectable with the described artifact. Fields from these resources do not segment metrics when included in search queries. This field is only set for artifacts whose category is RESOURCE. + */ + attributeResources?: string[] | null; + /** + * Output only. The category of the artifact. + */ + category?: string | null; + /** + * Output only. This field determines the operators that can be used with the artifact in WHERE clauses. + */ + dataType?: string | null; + /** + * Output only. Values the artifact can assume if it is a field of type ENUM. This field is only set for artifacts of category SEGMENT or ATTRIBUTE. + */ + enumValues?: string[] | null; + /** + * Output only. Whether the artifact can be used in a WHERE clause in search queries. + */ + filterable?: boolean | null; + /** + * Output only. Whether the field artifact is repeated. + */ + isRepeated?: boolean | null; + /** + * Output only. This field lists the names of all metrics that are selectable with the described artifact when it is used in the FROM clause. It is only set for artifacts whose category is RESOURCE. + */ + metrics?: string[] | null; + /** + * Output only. The name of the artifact. + */ + name?: string | null; + /** + * Output only. The resource name of the artifact. Artifact resource names have the form: `SearchAds360Fields/{name\}` + */ + resourceName?: string | null; + /** + * Output only. This field lists the names of all artifacts, whether a segment or another resource, that segment metrics when included in search queries and when the described artifact is used in the FROM clause. It is only set for artifacts whose category is RESOURCE. + */ + segments?: string[] | null; + /** + * Output only. Whether the artifact can be used in a SELECT clause in search queries. + */ + selectable?: boolean | null; + /** + * Output only. The names of all resources, segments, and metrics that are selectable with the described artifact. + */ + selectableWith?: string[] | null; + /** + * Output only. Whether the artifact can be used in a ORDER BY clause in search queries. + */ + sortable?: boolean | null; + /** + * Output only. The URL of proto describing the artifact's data type. + */ + typeUrl?: string | null; + } + /** + * A search term view with metrics aggregated by search term at the ad group level. This view does not include Performance Max data. If you are looking for Performance Max search term data, use the CampaignSearchTermView instead. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__SearchTermView { + /** + * Output only. The ad group the search term served in. + */ + adGroup?: string | null; + /** + * Output only. The resource name of the search term view. Search term view resource names have the form: `customers/{customer_id\}/searchTermViews/{campaign_id\}~{ad_group_id\}~{URL-base64_search_term\}` + */ + resourceName?: string | null; + /** + * Output only. The search term. + */ + searchTerm?: string | null; + /** + * Output only. Indicates whether the search term is currently one of your targeted or excluded keywords. + */ + status?: string | null; + } + /** + * A criterion belonging to a shared set. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__SharedCriterion { + /** + * Immutable. Brand. + */ + brand?: Schema$GoogleAdsSearchads360V23Common__BrandInfo; + /** + * Output only. The ID of the criterion. This field is ignored for mutates. + */ + criterionId?: string | null; + /** + * Immutable. Keyword. + */ + keyword?: Schema$GoogleAdsSearchads360V23Common__KeywordInfo; + /** + * Immutable. Mobile App Category. + */ + mobileAppCategory?: Schema$GoogleAdsSearchads360V23Common__MobileAppCategoryInfo; + /** + * Immutable. Mobile application. + */ + mobileApplication?: Schema$GoogleAdsSearchads360V23Common__MobileApplicationInfo; + /** + * Immutable. If true, the criterion is excluded. If false, the criterion is targeted. + */ + negative?: boolean | null; + /** + * Immutable. Placement. + */ + placement?: Schema$GoogleAdsSearchads360V23Common__PlacementInfo; + /** + * Immutable. The resource name of the shared criterion. Shared set resource names have the form: `customers/{customer_id\}/sharedCriteria/{shared_set_id\}~{criterion_id\}` + */ + resourceName?: string | null; + /** + * Immutable. The shared set to which the shared criterion belongs. + */ + sharedSet?: string | null; + /** + * Output only. The type of the criterion. + */ + type?: string | null; + /** + * Immutable. Vertical ads item group rule. + */ + verticalAdsItemGroupRule?: Schema$GoogleAdsSearchads360V23Common__VerticalAdsItemGroupRuleInfo; + /** + * Immutable. Webpage. + */ + webpage?: Schema$GoogleAdsSearchads360V23Common__WebpageInfo; + /** + * Immutable. YouTube Channel. + */ + youtubeChannel?: Schema$GoogleAdsSearchads360V23Common__YouTubeChannelInfo; + /** + * Immutable. YouTube Video. + */ + youtubeVideo?: Schema$GoogleAdsSearchads360V23Common__YouTubeVideoInfo; + } + /** + * SharedSets are used for sharing criterion exclusions across multiple campaigns. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__SharedSet { + /** + * Output only. The ID of this shared set. Read only. + */ + id?: string | null; + /** + * Output only. The number of shared criteria within this shared set. Read only. + */ + memberCount?: string | null; + /** + * The name of this shared set. Required. Shared Sets must have names that are unique among active shared sets of the same type. The length of this string should be between 1 and 255 UTF-8 bytes, inclusive. + */ + name?: string | null; + /** + * Output only. The number of campaigns associated with this shared set. Read only. + */ + referenceCount?: string | null; + /** + * Immutable. The resource name of the shared set. Shared set resource names have the form: `customers/{customer_id\}/sharedSets/{shared_set_id\}` + */ + resourceName?: string | null; + /** + * Output only. The status of this shared set. Read only. + */ + status?: string | null; + /** + * Immutable. The type of this shared set: each shared set holds only a single kind of resource. Required. Immutable. + */ + type?: string | null; + /** + * Immutable. Shared sets of type VERTICAL_ADS_ITEM_GROUP_RULE_LIST are associated with a particular vertical (e.g. hotels, things to do, flights, etc.). This field is required for shared sets of type VERTICAL_ADS_ITEM_GROUP_RULE_LIST. + */ + verticalAdsItemVerticalType?: string | null; + } + /** + * Shopping performance view. Provides Shopping campaign and Performance Max campaign statistics aggregated at several product dimension levels. Product dimension values from Merchant Center such as brand, category, custom attributes, product condition, and product type will reflect the state of each dimension as of the date and time when the corresponding event was recorded. The number of impressions and clicks that `shopping_performance_view` returns stats for may be different from campaign reports. `shopping_performance_view` shows impressions and clicks on products appearing in ads, while campaign reports show impressions and clicks on the ads themselves. Depending on the format, an ad can show from zero to several products, so the numbers may not match. In Search Ads 360 UI, you can query impressions and clicks of products appearing in ads by selecting a column from "Product attributes" in the report editor. For example, selecting the "Brand" column is equivalent to selecting `segments.product_brand`. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__ShoppingPerformanceView { + /** + * Output only. The resource name of the Shopping performance view. Shopping performance view resource names have the form: `customers/{customer_id\}/shoppingPerformanceView` + */ + resourceName?: string | null; + } + /** + * A shopping product from Google Merchant Center that can be advertised by campaigns. The resource returns currently existing products from Google Merchant Center accounts linked with the customer. A campaign includes a product by specifying its merchant id (or, if available, the Multi Client Account id of the merchant) in the `ShoppingSetting`, and can limit the inclusion to products having a specified feed label. Standard Shopping campaigns can also limit the inclusion through a `campaign_criterion.listing_scope`. Queries to this resource specify a scope: * Account: - Filters on campaigns or ad groups are not specified. - All products from the linked Google Merchant Center accounts are returned. - Metrics and some fields (see the per-field documentation) are aggregated across all Shopping and Performance Max campaigns that include a product. * Campaign: - An equality filter on `campaign` is specified. Supported campaign types are Shopping, Performance Max, Demand Gen, Video, App. - Only products that are included by the specified campaign are returned. - Metrics and some fields (see the per-field documentation) are restricted to the specified campaign. - Only the following metrics are supported for Demand Gen, Video, App campaigns: impressions, clicks, ctr. * Ad group: - An equality filter on `ad_group` and `campaign` is specified. Supported campaign types are Shopping, Demand Gen, Video, App. - Only products that are included by the specified campaign are returned. - Metrics and some fields (see the per-field documentation) are restricted to the specified ad group. - Only the following metrics are supported for Demand Gen, Video, App campaigns: impressions, clicks, ctr. Note that segmentation by date segments is not permitted and will return UNSUPPORTED_DATE_SEGMENTATION error. On the other hand, filtering on date segments is allowed. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__ShoppingProduct { + /** + * Output only. An ad group of a campaign that includes the product. This field is selectable only in the ad group scope, which requires an equality filter on `campaign` and `ad_group`. + */ + adGroup?: string | null; + /** + * Output only. The availability of the product as provided by the merchant. + */ + availability?: string | null; + /** + * Output only. The brand of the product as provided by the merchant. + */ + brand?: string | null; + /** + * Output only. A campaign that includes the product. This field is selectable only in the campaign scope, which requires an equality filter on `campaign`. + */ + campaign?: string | null; + /** + * Output only. The category level 1 of the product. + */ + categoryLevel1?: string | null; + /** + * Output only. The category level 2 of the product. + */ + categoryLevel2?: string | null; + /** + * Output only. The category level 3 of the product. + */ + categoryLevel3?: string | null; + /** + * Output only. The category level 4 of the product. + */ + categoryLevel4?: string | null; + /** + * Output only. The category level 5 of the product. + */ + categoryLevel5?: string | null; + /** + * Output only. The product channel describing the locality of the product. + */ + channel?: string | null; + /** + * Output only. The channel exclusivity of the product as provided by the merchant. + */ + channelExclusivity?: string | null; + /** + * Output only. The condition of the product as provided by the merchant. + */ + condition?: string | null; + /** + * Output only. The currency code as provided by the merchant, in ISO 4217 format. + */ + currencyCode?: string | null; + /** + * Output only. The custom attribute 0 of the product as provided by the merchant. + */ + customAttribute0?: string | null; + /** + * Output only. The custom attribute 1 of the product as provided by the merchant. + */ + customAttribute1?: string | null; + /** + * Output only. The custom attribute 2 of the product as provided by the merchant. + */ + customAttribute2?: string | null; + /** + * Output only. The custom attribute 3 of the product as provided by the merchant. + */ + customAttribute3?: string | null; + /** + * Output only. The custom attribute 4 of the product as provided by the merchant. + */ + customAttribute4?: string | null; + /** + * Output only. The effective maximum cost-per-click (effective max. CPC) of the product. This field is available only if the query specifies the campaign or ad group scope, and if the campaign uses manual bidding. The value is the highest bid set for the product in product groups across all enabled ad groups. It represents the most you're willing to pay for a click on the product. This field can take up to 24 hours to update. + */ + effectiveMaxCpcMicros?: string | null; + /** + * Output only. The product feed label as provided by the merchant. + */ + feedLabel?: string | null; + /** + * Output only. The list of issues affecting whether the product can show in ads. The value of this field is restricted to the scope specified in the query, see the documentation of the resource. This field can take up to 24 hours to update. This field is not supported for App campaigns. + */ + issues?: Schema$GoogleAdsSearchads360V23Resources_ShoppingProduct_ProductIssue[]; + /** + * Output only. The item id of the product as provided by the merchant. + */ + itemId?: string | null; + /** + * Output only. The language code as provided by the merchant, in BCP 47 format. + */ + languageCode?: string | null; + /** + * Output only. The id of the merchant that owns the product. + */ + merchantCenterId?: string | null; + /** + * Output only. The id of the Multi Client Account of the merchant, if present. + */ + multiClientAccountId?: string | null; + /** + * Output only. The price of the product in micros as provided by the merchant, in the currency specified in `currency_code` (e.g. $2.97 is reported as 2970000). + */ + priceMicros?: string | null; + /** + * Output only. The URI of the product image as provided by the merchant. + */ + productImageUri?: string | null; + /** + * Output only. The product type level 1 as provided by the merchant. + */ + productTypeLevel1?: string | null; + /** + * Output only. The product type level 2 as provided by the merchant. + */ + productTypeLevel2?: string | null; + /** + * Output only. The product type level 3 as provided by the merchant. + */ + productTypeLevel3?: string | null; + /** + * Output only. The product type level 4 as provided by the merchant. + */ + productTypeLevel4?: string | null; + /** + * Output only. The product type level 5 as provided by the merchant. + */ + productTypeLevel5?: string | null; + /** + * Output only. The resource name of the shopping product. Shopping product resource names have the form: `customers/{customer_id\}/shoppingProducts/{merchant_center_id\}~{channel\}~{language_code\}~{feed_label\}~{item_id\}` + */ + resourceName?: string | null; + /** + * Output only. The status that indicates whether the product can show in ads. The value of this field is restricted to the scope specified in the query, see the documentation of the resource. This field can take up to 24 hours to update. This field is not supported for App campaigns. + */ + status?: string | null; + /** + * Output only. Upper-case two-letter ISO 3166-1 code of the regions where the product is intended to be shown in ads. + */ + targetCountries?: string[] | null; + /** + * Output only. The title of the product as provided by the merchant. + */ + title?: string | null; + } + /** + * A Smart campaign search term view. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__SmartCampaignSearchTermView { + /** + * Output only. The Smart campaign the search term served in. + */ + campaign?: string | null; + /** + * Output only. The resource name of the Smart campaign search term view. Smart campaign search term view resource names have the form: `customers/{customer_id\}/smartCampaignSearchTermViews/{campaign_id\}~{URL-base64_search_term\}` + */ + resourceName?: string | null; + /** + * Output only. The search term. + */ + searchTerm?: string | null; + } + /** + * Settings for configuring Smart campaigns. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__SmartCampaignSetting { + /** + * Settings for configuring a business profile optimized for ads as this campaign's landing page. This campaign must be linked to a business profile to use this option. For more information on this feature, consult https://support.google.com/google-ads/answer/9827068. + */ + adOptimizedBusinessProfileSetting?: Schema$GoogleAdsSearchads360V23Resources_SmartCampaignSetting_AdOptimizedBusinessProfileSetting; + /** + * The language code to advertise in from the set of [supported language codes] (https://developers.google.com/google-ads/api/reference/data/codes-formats#languages). + */ + advertisingLanguageCode?: string | null; + /** + * The name of the business. + */ + businessName?: string | null; + /** + * The resource name of a Business Profile location. Business Profile location resource names can be fetched through the Business Profile API and adhere to the following format: `locations/{locationId\}`. See the [Business Profile API] (https://developers.google.com/my-business/reference/businessinformation/rest/v1/accounts.locations) for additional details. + */ + businessProfileLocation?: string | null; + /** + * Output only. The campaign to which these settings apply. + */ + campaign?: string | null; + /** + * The user-provided landing page URL for this Campaign. + */ + finalUrl?: string | null; + /** + * Phone number and country code. + */ + phoneNumber?: Schema$GoogleAdsSearchads360V23Resources_SmartCampaignSetting_PhoneNumber; + /** + * Immutable. The resource name of the Smart campaign setting. Smart campaign setting resource names have the form: `customers/{customer_id\}/smartCampaignSettings/{campaign_id\}` + */ + resourceName?: string | null; + } + /** + * A targeting expansion view with metrics. Returns metrics for automated expansion over manual targeting. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__TargetingExpansionView { + /** + * Output only. The resource name of the targeting expansion view. Targeting expansion view resource names have the form: `customers/{customer_id\}/targetingExpansionViews/{campaign_id\}~{targeting_expansion_type\}` + */ + resourceName?: string | null; + } + /** + * A data sharing connection, allowing the import of third party app analytics into a Google Ads Customer. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__ThirdPartyAppAnalyticsLink { + /** + * Immutable. The resource name of the third party app analytics link. Third party app analytics link resource names have the form: `customers/{customer_id\}/thirdPartyAppAnalyticsLinks/{account_link_id\}` + */ + resourceName?: string | null; + /** + * Output only. The shareable link ID that should be provided to the third party when setting up app analytics. This is able to be regenerated using regenerate method in the ThirdPartyAppAnalyticsLinkService. + */ + shareableLinkId?: string | null; + } + /** + * The identifiers of a Third Party App Analytics Link. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__ThirdPartyAppAnalyticsLinkIdentifier { + /** + * Immutable. The ID of the app analytics provider. This field should not be empty when creating a new third party app analytics link. It is unable to be modified after the creation of the link. + */ + appAnalyticsProviderId?: string | null; + /** + * Immutable. A string that uniquely identifies a mobile application from which the data was collected to the Google Ads API. For iOS, the ID string is the 9 digit string that appears at the end of an App Store URL (for example, "422689480" for "Gmail" whose App Store link is https://apps.apple.com/us/app/gmail-email-by-google/id422689480). For Android, the ID string is the application's package name (for example, "com.google.android.gm" for "Gmail" given Google Play link https://play.google.com/store/apps/details?id=com.google.android.gm) This field should not be empty when creating a new third party app analytics link. It is unable to be modified after the creation of the link. + */ + appId?: string | null; + /** + * Immutable. The vendor of the app. This field should not be empty when creating a new third party app analytics link. It is unable to be modified after the creation of the link. + */ + appVendor?: string | null; + } + /** + * Use topics to target or exclude placements in the Google Display Network based on the category into which the placement falls (for example, "Pets & Animals/Pets/Dogs"). + */ + export interface Schema$GoogleAdsSearchads360V23Resources__TopicConstant { + /** + * Output only. The ID of the topic. + */ + id?: string | null; + /** + * Output only. The category to target or exclude. Each subsequent element in the array describes a more specific sub-category. For example, {"Pets & Animals", "Pets", "Dogs"\} represents the "Pets & Animals/Pets/Dogs" category. List of available topic categories at https://developers.google.com/google-ads/api/reference/data/verticals + */ + path?: string[] | null; + /** + * Output only. The resource name of the topic constant. topic constant resource names have the form: `topicConstants/{topic_id\}` + */ + resourceName?: string | null; + /** + * Output only. Resource name of parent of the topic constant. + */ + topicConstantParent?: string | null; + } + /** + * A topic view. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__TopicView { + /** + * Output only. The resource name of the topic view. Topic view resource names have the form: `customers/{customer_id\}/topicViews/{ad_group_id\}~{criterion_id\}` + */ + resourceName?: string | null; + } + /** + * A travel activity group view. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__TravelActivityGroupView { + /** + * Output only. The resource name of the travel activity group view. Travel Activity Group view resource names have the form: `customers/{customer_id\}/travelActivityGroupViews/{ad_group_id\}~{criterion_id\}` + */ + resourceName?: string | null; + } + /** + * A travel activity performance view. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__TravelActivityPerformanceView { + /** + * Output only. The resource name of the travel activity performance view. Travel Activity performance view resource names have the form: `customers/{customer_id\}/travelActivityPerformanceView` + */ + resourceName?: string | null; + } + /** + * A list of degrees this employee has obtained, and wants to feature. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__UniversityDegree { + /** + * Output only. Name of the degree obtained. + */ + degree?: string | null; + /** + * Output only. Year of graduation. + */ + graduationYear?: number | null; + /** + * Output only. Name of the university at which the degree was obtained. + */ + institutionName?: string | null; + } + /** + * A user interest: a particular interest-based vertical to be targeted. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__UserInterest { + /** + * Output only. Availability information of the user interest. + */ + availabilities?: Schema$GoogleAdsSearchads360V23Common__CriterionCategoryAvailability[]; + /** + * Output only. True if the user interest is launched to all channels and locales. + */ + launchedToAll?: boolean | null; + /** + * Output only. The name of the user interest. + */ + name?: string | null; + /** + * Output only. The resource name of the user interest. User interest resource names have the form: `customers/{customer_id\}/userInterests/{user_interest_id\}` + */ + resourceName?: string | null; + /** + * Output only. Taxonomy type of the user interest. + */ + taxonomyType?: string | null; + /** + * Output only. The ID of the user interest. + */ + userInterestId?: string | null; + /** + * Output only. The parent of the user interest. + */ + userInterestParent?: string | null; + } + /** + * A user list. This is a list of users a customer may target. The unique key of a user list consists of the following fields: `id`. Note that the `name` must also be unique for user lists owned by a given customer, except in some cases where `access_reason` is set to `SHARED`. Violating the unique name constraint produces error: `UserListError.INVALID_NAME`. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__UserList { + /** + * Output only. Indicates the reason this account has been granted access to the list. The reason can be SHARED, OWNED, LICENSED or SUBSCRIBED. This field is read-only. + */ + accessReason?: string | null; + /** + * Indicates if this share is still enabled. When a UserList is shared with the user this field is set to ENABLED. Later the userList owner can decide to revoke the share and make it DISABLED. The default value of this field is set to ENABLED. + */ + accountUserListStatus?: string | null; + /** + * User list targeting as a collection of conversion or remarketing actions. + */ + basicUserList?: Schema$GoogleAdsSearchads360V23Common__BasicUserListInfo; + /** + * Indicating the reason why this user list membership status is closed. It is only populated on lists that were automatically closed due to inactivity, and will be cleared once the list membership status becomes open. + */ + closingReason?: string | null; + /** + * User list of CRM users provided by the advertiser. + */ + crmBasedUserList?: Schema$GoogleAdsSearchads360V23Common__CrmBasedUserListInfo; + /** + * Description of this user list. + */ + description?: string | null; + /** + * Output only. Indicates this user list is eligible for Google Display Network. This field is read-only. + */ + eligibleForDisplay?: boolean | null; + /** + * Indicates if this user list is eligible for Google Search Network. + */ + eligibleForSearch?: boolean | null; + /** + * Output only. Id of the user list. + */ + id?: string | null; + /** + * An ID from external system. It is used by user list sellers to correlate IDs on their systems. + */ + integrationCode?: string | null; + /** + * User list that is a custom combination of user lists. + */ + logicalUserList?: Schema$GoogleAdsSearchads360V23Common__LogicalUserListInfo; + /** + * Immutable. Lookalike User List. + */ + lookalikeUserList?: Schema$GoogleAdsSearchads360V23Common__LookalikeUserListInfo; + /** + * Output only. Indicates match rate for Customer Match lists. The range of this field is [0-100]. This will be null for other list types or when it's not possible to calculate the match rate. This field is read-only. + */ + matchRatePercentage?: number | null; + /** + * Number of days a user's cookie stays on your list since its most recent addition to the list. This field must be between 0 and 540 inclusive. However, for CRM based userlists, this field can be set to 10000 which means no expiration. Beginning on April 7, 2025, using a value of 10000 to indicate no expiration will no longer be supported. This field is ignored for logical_user_list and rule_based_user_list types. Membership to lists of these types depends on the rules defined by the lists. + */ + membershipLifeSpan?: string | null; + /** + * Membership status of this user list. Indicates whether a user list is open or active. Only open user lists can accumulate more users and can be targeted to. + */ + membershipStatus?: string | null; + /** + * Name of this user list. Unique per user list, except in some cases where a user list of the same name has `access_reason` set to `SHARED`. + */ + name?: string | null; + /** + * Output only. An option that indicates if a user may edit a list. Depends on the list ownership and list type. For example, external remarketing user lists are not editable. This field is -only. + */ + readOnly?: boolean | null; + /** + * Immutable. The resource name of the user list. User list resource names have the form: `customers/{customer_id\}/userLists/{user_list_id\}` + */ + resourceName?: string | null; + /** + * User list generated by a rule. + */ + ruleBasedUserList?: Schema$GoogleAdsSearchads360V23Common__RuleBasedUserListInfo; + /** + * Output only. User list which are similar to users from another UserList. These lists are readonly and automatically created by google. + */ + similarUserList?: Schema$GoogleAdsSearchads360V23Common__SimilarUserListInfo; + /** + * Output only. Estimated number of users in this user list, on the Google Display Network. This value is if the number of users has not yet been determined. This field is -only. + */ + sizeForDisplay?: string | null; + /** + * Output only. Estimated number of users in this user list in the google.com domain. These are the users available for targeting in Search campaigns. This value is null if the number of users has not yet been determined. This field is read-only. + */ + sizeForSearch?: string | null; + /** + * Output only. Size range in terms of number of users of the UserList, on the Google Display Network. This field is read-only. + */ + sizeRangeForDisplay?: string | null; + /** + * Output only. Size range in terms of number of users of the UserList, for Search ads. This field is read-only. + */ + sizeRangeForSearch?: string | null; + /** + * Output only. Type of this list. This field is read-only. + */ + type?: string | null; + } + /** + * A user list customer type + */ + export interface Schema$GoogleAdsSearchads360V23Resources__UserListCustomerType { + /** + * Immutable. The user list customer type category + */ + customerTypeCategory?: string | null; + /** + * Immutable. The resource name of the user list customer type User list customer type resource names have the form: `customers/{customer_id\}/userListCustomerTypes/{user_list_id\}~{customer_type_category\}` + */ + resourceName?: string | null; + /** + * Immutable. The resource name for the user list this user list customer type is associated with + */ + userList?: string | null; + } + /** + * A user location view. User Location View includes all metrics aggregated at the country level, one row per country. It reports metrics at the actual physical location of the user by targeted or not targeted location. If other segment fields are used, you may get more than one row per country. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__UserLocationView { + /** + * Output only. Criterion Id for the country. + */ + countryCriterionId?: string | null; + /** + * Output only. The resource name of the user location view. UserLocation view resource names have the form: `customers/{customer_id\}/userLocationViews/{country_criterion_id\}~{targeting_location\}` + */ + resourceName?: string | null; + /** + * Output only. Indicates whether location was targeted or not. + */ + targetingLocation?: boolean | null; + } + export interface Schema$GoogleAdsSearchads360V23Resources__Video { + /** + * Output only. The owner channel id of the video. + */ + channelId?: string | null; + /** + * Output only. The duration of the video in milliseconds. + */ + durationMillis?: string | null; + /** + * Output only. The ID of the video. + */ + id?: string | null; + /** + * Output only. The resource name of the video. Video resource names have the form: `customers/{customer_id\}/videos/{video_id\}` + */ + resourceName?: string | null; + /** + * Output only. The title of the video. + */ + title?: string | null; + } + /** + * Video specific information about a Customer. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__VideoCustomer { + /** + * Third Party integration partners. + */ + thirdPartyIntegrationPartners?: Schema$GoogleAdsSearchads360V23Common__CustomerThirdPartyIntegrationPartners; + } + /** + * A visit. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__Visit { + /** + * Output only. Ad ID. A value of 0 indicates that the ad is unattributed. + */ + adId?: string | null; + /** + * Output only. Asset field type of the visit event. + */ + assetFieldType?: string | null; + /** + * Output only. ID of the asset which was interacted with during the visit event. + */ + assetId?: string | null; + /** + * Output only. A unique string for each visit that is passed to the landing page as the click id URL parameter. + */ + clickId?: string | null; + /** + * Output only. Search Ads 360 keyword ID. A value of 0 indicates that the keyword is unattributed. + */ + criterionId?: string | null; + /** + * Output only. The ID of the visit. + */ + id?: string | null; + /** + * Output only. The Search Ads 360 inventory account ID containing the product that was clicked on. Search Ads 360 generates this ID when you link an inventory account in Search Ads 360. + */ + merchantId?: string | null; + /** + * Output only. The sales channel of the product that was clicked on: Online or Local. + */ + productChannel?: string | null; + /** + * Output only. The country (ISO-3166 format) registered for the inventory feed that contains the product clicked on. + */ + productCountryCode?: string | null; + /** + * Output only. The ID of the product clicked on. + */ + productId?: string | null; + /** + * Output only. The language (ISO-639-1) that has been set for the Merchant Center feed containing data about the product. + */ + productLanguageCode?: string | null; + /** + * Output only. The store in the Local Inventory Ad that was clicked on. This should match the store IDs used in your local products feed. + */ + productStoreId?: string | null; + /** + * Output only. The resource name of the visit. Visit resource names have the form: `customers/{customer_id\}/visits/{ad_group_id\}~{criterion_id\}~{ds_visit_id\}` + */ + resourceName?: string | null; + /** + * Output only. The timestamp of the visit event. The timestamp is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format. + */ + visitDateTime?: string | null; + } + /** + * A webpage view. + */ + export interface Schema$GoogleAdsSearchads360V23Resources__WebpageView { + /** + * Output only. The resource name of the webpage view. Webpage view resource names have the form: `customers/{customer_id\}/webpageViews/{ad_group_id\}~{criterion_id\}` + */ + resourceName?: string | null; + } + /** + * The identifier for YouTube video + */ + export interface Schema$GoogleAdsSearchads360V23Resources__YoutubeVideoIdentifier { + /** + * Immutable. The ID of the hosting channel of the video. This is a string value with “UC” prefix. For example, "UCK8sQmJBp8GCxrOtXWBpyEA". + */ + channelId?: string | null; + /** + * Immutable. The ID of the video associated with the video link. This is the 11 character string value used in the YouTube video URL. For example, video ID is jV1vkHv4zq8 from the YouTube video URL "https://www.youtube.com/watch?v=jV1vkHv4zq8&t=2s". + */ + videoId?: string | null; + } + /** + * Common parameters used when applying ad asset recommendations. + */ + export interface Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_AdAssetApplyParameters { + /** + * The resource names of existing assets to attach to a scope. This may be combined with new_assets in the same call. + */ + existingAssets?: string[] | null; + /** + * The assets to create and attach to a scope. This may be combined with existing_assets in the same call. + */ + newAssets?: Schema$GoogleAdsSearchads360V23Resources__Asset[]; + /** + * Required. The scope at which to apply the assets. Assets at the campaign scope level will be applied to the campaign associated with the recommendation. Assets at the customer scope will apply to the entire account. Assets at the campaign scope will override any attached at the customer scope. + */ + scope?: string | null; + } + /** + * Parameters to use when applying call asset recommendations. + */ + export interface Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CallAssetParameters { + /** + * Required. Call assets to be added. This is a required field. + */ + adAssetApplyParameters?: Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_AdAssetApplyParameters; + } + /** + * Parameters to use when applying call extension recommendation. + */ + export interface Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CallExtensionParameters { + /** + * Call extensions to be added. This is a required field. + */ + callExtensions?: Schema$GoogleAdsSearchads360V23Common__CallFeedItem[]; + } + /** + * Parameters to use when applying callout asset recommendations. + */ + export interface Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CalloutAssetParameters { + /** + * Required. Callout assets to be added. This is a required field. + */ + adAssetApplyParameters?: Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_AdAssetApplyParameters; + } + /** + * Parameters to use when applying callout extension recommendation. + */ + export interface Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CalloutExtensionParameters { + /** + * Callout extensions to be added. This is a required field. + */ + calloutExtensions?: Schema$GoogleAdsSearchads360V23Common__CalloutFeedItem[]; + } + /** + * Parameters to use when applying a campaign budget recommendation. + */ + export interface Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CampaignBudgetParameters { + /** + * New budget amount to set for target budget resource. This is a required field. + */ + newBudgetAmountMicros?: string | null; + } + /** + * Parameters to use when applying a set target CPA recommendation. + */ + export interface Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ForecastingSetTargetCpaParameters { + /** + * New campaign budget amount to set for a campaign resource. + */ + campaignBudgetAmountMicros?: string | null; + /** + * Average CPA to use for Target CPA bidding strategy. + */ + targetCpaMicros?: string | null; + } + /** + * Parameters to use when applying a forecasting set target roas recommendation. + */ + export interface Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ForecastingSetTargetRoasParameters { + /** + * New campaign budget amount to set for a campaign resource. + */ + campaignBudgetAmountMicros?: string | null; + /** + * New target ROAS (revenue per unit of spend) to set for a campaign resource. The value is between 0.01 and 1000.0, inclusive. + */ + targetRoas?: number | null; + } + /** + * Parameters to use when applying keyword recommendation. + */ + export interface Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_KeywordParameters { + /** + * The ad group resource to add keyword to. This is a required field. + */ + adGroup?: string | null; + /** + * Optional, CPC bid to set for the keyword. If not set, keyword will use bid based on bidding strategy used by target ad group. + */ + cpcBidMicros?: string | null; + /** + * The match type of the keyword. This is a required field. + */ + matchType?: string | null; + } + /** + * Parameters to use when applying a lead form asset recommendation. + */ + export interface Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_LeadFormAssetParameters { + /** + * Required. Lead form assets to be added. This is a required field. + */ + adAssetApplyParameters?: Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_AdAssetApplyParameters; + /** + * If true, the "Submit Lead Form" goal will be set on the target campaign. As a result, ads will be shown as lead form creative ads. If false, the "Submit Lead Form" goal will not be set on the campaign and ads will contain lead form assets. + */ + setSubmitLeadFormAssetCampaignGoal?: boolean | null; + } + /** + * Parameters to use when applying lower Target ROAS recommendations. + */ + export interface Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_LowerTargetRoasParameters { + /** + * Required. Target to set ROAS multiplier to. This is a required field. + */ + targetRoasMultiplier?: number | null; + } + /** + * Parameters to use when applying move unused budget recommendation. + */ + export interface Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_MoveUnusedBudgetParameters { + /** + * Budget amount to move from excess budget to constrained budget. This is a required field. + */ + budgetMicrosToMove?: string | null; + } + /** + * Parameters to use when applying a raise target CPA bid too low recommendation. The apply is asynchronous and can take minutes depending on the number of ad groups there is in the related campaign.. + */ + export interface Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_RaiseTargetCpaBidTooLowParameters { + /** + * Required. A number greater than 1.0 indicating the factor by which to increase the target CPA. This is a required field. + */ + targetMultiplier?: number | null; + } + /** + * Parameters to use when applying raise Target CPA recommendations. + */ + export interface Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_RaiseTargetCpaParameters { + /** + * Required. Target to set CPA multiplier to. This is a required field. + */ + targetCpaMultiplier?: number | null; + } + /** + * Parameters to use when applying a responsive search ad asset recommendation. + */ + export interface Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ResponsiveSearchAdAssetParameters { + /** + * Updated ad. The current ad's content will be replaced. + */ + updatedAd?: Schema$GoogleAdsSearchads360V23Resources__Ad; + } + /** + * Parameters to use when applying a responsive search ad improve ad strength recommendation. + */ + export interface Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ResponsiveSearchAdImproveAdStrengthParameters { + /** + * Updated ad. The current ad's content will be replaced. + */ + updatedAd?: Schema$GoogleAdsSearchads360V23Resources__Ad; + } + /** + * Parameters to use when applying a responsive search ad recommendation. + */ + export interface Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ResponsiveSearchAdParameters { + /** + * Required. New ad to add to recommended ad group. + */ + ad?: Schema$GoogleAdsSearchads360V23Resources__Ad; + } + /** + * Parameters to use when applying sitelink asset recommendations. + */ + export interface Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_SitelinkAssetParameters { + /** + * Required. Sitelink assets to be added. This is a required field. + */ + adAssetApplyParameters?: Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_AdAssetApplyParameters; + } + /** + * Parameters to use when applying sitelink recommendation. + */ + export interface Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_SitelinkExtensionParameters { + /** + * Sitelinks to be added. This is a required field. + */ + sitelinkExtensions?: Schema$GoogleAdsSearchads360V23Common__SitelinkFeedItem[]; + } + /** + * Parameters to use when applying Target CPA recommendation. + */ + export interface Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_TargetCpaOptInParameters { + /** + * Optional, budget amount to set for the campaign. + */ + newCampaignBudgetAmountMicros?: string | null; + /** + * Average CPA to use for Target CPA bidding strategy. This is a required field. + */ + targetCpaMicros?: string | null; + } + /** + * Parameters to use when applying a Target ROAS opt-in recommendation. + */ + export interface Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_TargetRoasOptInParameters { + /** + * Optional, budget amount to set for the campaign. + */ + newCampaignBudgetAmountMicros?: string | null; + /** + * Average ROAS (revenue per unit of spend) to use for Target ROAS bidding strategy. The value is between 0.01 and 1000.0, inclusive. This is a required field, unless new_campaign_budget_amount_micros is set. + */ + targetRoas?: number | null; + } + /** + * Parameters to use when applying a text ad recommendation. + */ + export interface Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_TextAdParameters { + /** + * New ad to add to recommended ad group. All necessary fields need to be set in this message. This is a required field. + */ + ad?: Schema$GoogleAdsSearchads360V23Resources__Ad; + } + /** + * Parameters to use when applying a use broad match keyword recommendation. + */ + export interface Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_UseBroadMatchKeywordParameters { + /** + * New budget amount to set for target budget resource. + */ + newBudgetAmountMicros?: string | null; + } + /** + * Supported bidding strategies for new campaign forecasts. + */ + export interface Schema$GoogleAdsSearchads360V23Services_CampaignToForecast_CampaignBiddingStrategy { + /** + * Use manual CPC bidding strategy for forecasting. + */ + manualCpcBiddingStrategy?: Schema$GoogleAdsSearchads360V23Services__ManualCpcBiddingStrategy; + /** + * Use maximize clicks bidding strategy for forecasting. + */ + maximizeClicksBiddingStrategy?: Schema$GoogleAdsSearchads360V23Services__MaximizeClicksBiddingStrategy; + /** + * Use maximize conversions bidding strategy for forecasting. + */ + maximizeConversionsBiddingStrategy?: Schema$GoogleAdsSearchads360V23Services__MaximizeConversionsBiddingStrategy; + } + /** + * Operation to dismiss a single recommendation identified by resource_name. + */ + export interface Schema$GoogleAdsSearchads360V23Services_DismissRecommendationRequest_DismissRecommendationOperation { + /** + * The resource name of the recommendation to dismiss. + */ + resourceName?: string | null; + } + /** + * The result of dismissing a recommendation. + */ + export interface Schema$GoogleAdsSearchads360V23Services_DismissRecommendationResponse_DismissRecommendationResult { + /** + * Returned for successful dismissals. + */ + resourceName?: string | null; + } + /** + * Current AdGroup Information of the campaign. + */ + export interface Schema$GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_AdGroupInfo { + /** + * Optional. AdGroup Type of the AdGroup. This field is necessary for the following recommendation_types if ad_group_info is set: KEYWORD + */ + adGroupType?: string | null; + /** + * Optional. Current keywords. This field is optional for the following recommendation_types if ad_group_info is set: KEYWORD + */ + keywords?: Schema$GoogleAdsSearchads360V23Common__KeywordInfo[]; + } + /** + * Current AssetGroup information of the campaign. + */ + export interface Schema$GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_AssetGroupInfo { + /** + * Optional. Current descriptions of the asset group. This field is optional for the following recommendation_types if asset_group_info is set: CAMPAIGN_BUDGET + */ + description?: string[] | null; + /** + * Required. Current url of the asset group. This field is necessary for the following recommendation_types if asset_group_info is set: CAMPAIGN_BUDGET + */ + finalUrl?: string | null; + /** + * Optional. Current headlines of the asset group. This field is optional for the following recommendation_types if asset_group_info is set: CAMPAIGN_BUDGET + */ + headline?: string[] | null; + } + /** + * Current bidding information of the campaign. Provides a wrapper for bidding-related signals that inform recommendations. + */ + export interface Schema$GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_BiddingInfo { + /** + * Current bidding strategy. This field is necessary for the following recommendation_types: MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN, MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS, TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN + */ + biddingStrategyType?: string | null; + /** + * Current target_cpa in micros. This can be populated for campaigns with a bidding strategy type of TARGET_CPA or MAXIMIZE_CONVERSIONS. + */ + targetCpaMicros?: string | null; + /** + * Optional. Current Target Impression Share information of the campaign. This field is necessary for the following recommendation_types: CAMPAIGN_BUDGET + */ + targetImpressionShareInfo?: Schema$GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_TargetImpressionShareInfo; + /** + * Current target_roas. This can be populated for campaigns with a bidding strategy type of TARGET_ROAS or MAXIMIZE_CONVERSION_VALUE. + */ + targetRoas?: number | null; + } + /** + * Current budget information of the campaign. + */ + export interface Schema$GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_BudgetInfo { + /** + * Required. Current budget amount in micros. This field is necessary for the following recommendation_types if budget_info is set: CAMPAIGN_BUDGET + */ + currentBudget?: string | null; + } + /** + * A keyword seed and a specific url to generate keywords from. + */ + export interface Schema$GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_SeedInfo { + /** + * Optional. Keywords or phrases to generate ideas from, for example: cars or "car dealership near me". + */ + keywordSeeds?: string[] | null; + /** + * A specific url to generate ideas from, for example: www.example.com/cars. + */ + urlSeed?: string | null; + } + /** + * Current Target Impression Share information of the campaign. + */ + export interface Schema$GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_TargetImpressionShareInfo { + /** + * Required. The targeted location on the search results page. This is required for campaigns where the AdvertisingChannelType is SEARCH and the bidding strategy type is TARGET_IMPRESSION_SHARE. + */ + location?: string | null; + /** + * Optional. Ceiling of max CPC bids in micros set by automated bidders. This is optional for campaigns with an AdvertisingChannelType of SEARCH and a bidding strategy type of TARGET_IMPRESSION_SHARE. + */ + maxCpcBidCeiling?: string | null; + /** + * Required. The chosen fraction of targeted impression share in micros. For example, 1% equals 10,000. It must be a value between 1 and 1,000,000. This is required for campaigns with an AdvertisingChannelType of SEARCH and a bidding strategy type of TARGET_IMPRESSION_SHARE. + */ + targetImpressionShareMicros?: string | null; + } + /** + * Spend requirements for an incentive. + */ + export interface Schema$GoogleAdsSearchads360V23Services_IncentiveRequirement_Spend { + /** + * Required. Amount in free spend that user will be granted after spending target amount. Denominated in the currency of the country passed in the get request. + */ + awardAmount?: Schema$GoogleType__Money; + /** + * Required. Amount that user must spend to receive the award amount. Denominated in the currency of the country passed in the get request. + */ + requiredAmount?: Schema$GoogleType__Money; + } + /** + * Requirement for an incentive. + */ + export interface Schema$GoogleAdsSearchads360V23Services_Incentive_Requirement { + /** + * Optional. Spend requirement for an incentive. + */ + spend?: Schema$GoogleAdsSearchads360V23Services_IncentiveRequirement_Spend; + } + /** + * The attribute of the metric in key value pair format. + */ + export interface Schema$GoogleAdsSearchads360V23Services_MetricAttributes_Attribute { + /** + * The key of the attribute. + */ + key?: string | null; + /** + * The value of the attribute. + */ + value?: string | null; + } + /** + * The list of marketing objectives to generate benchmarks metrics for. + */ + export interface Schema$GoogleAdsSearchads360V23Services_ProductFilter_MarketingObjectiveList { + /** + * Required. Marketing objectives to generate benchmarks metrics for. + */ + marketingObjectives?: string[] | null; + } + /** + * The list of products to generate benchmarks metrics for. + */ + export interface Schema$GoogleAdsSearchads360V23Services_ProductFilter_ProductList { + /** + * Required. Products to generate benchmarks metrics for. + */ + productCodes?: string[] | null; + } + /** + * A context that describes a business. + */ + export interface Schema$GoogleAdsSearchads360V23Services_SmartCampaignSuggestionInfo_BusinessContext { + /** + * Optional. The name of the business. + */ + businessName?: string | null; + } + /** + * A list of locations. + */ + export interface Schema$GoogleAdsSearchads360V23Services_SmartCampaignSuggestionInfo_LocationList { + /** + * Required. Locations. + */ + locations?: Schema$GoogleAdsSearchads360V23Common__LocationInfo[]; + } + /** + * A list of geo target constant resource names. + */ + export interface Schema$GoogleAdsSearchads360V23Services_SuggestGeoTargetConstantsRequest_GeoTargets { + /** + * A list of geo target constant resource names. + */ + geoTargetConstants?: string[] | null; + } + /** + * A list of location names. + */ + export interface Schema$GoogleAdsSearchads360V23Services_SuggestGeoTargetConstantsRequest_LocationNames { + /** + * A list of location names. + */ + names?: string[] | null; + } + /** + * A Smart campaign keyword theme suggestion. + */ + export interface Schema$GoogleAdsSearchads360V23Services_SuggestKeywordThemesResponse_KeywordTheme { + /** + * A free-form text keyword theme. + */ + freeFormKeywordTheme?: string | null; + /** + * A Smart campaign keyword theme constant. + */ + keywordThemeConstant?: Schema$GoogleAdsSearchads360V23Resources__KeywordThemeConstant; + } + /** + * Smart Campaign budget option. + */ + export interface Schema$GoogleAdsSearchads360V23Services_SuggestSmartCampaignBudgetOptionsResponse_BudgetOption { + /** + * The amount of the budget, in the local currency for the account. Amount is specified in micros, where one million is equivalent to one currency unit. + */ + dailyAmountMicros?: string | null; + /** + * Metrics pertaining to the suggested budget, could be empty if there is not enough information to derive the estimates. + */ + metrics?: Schema$GoogleAdsSearchads360V23Services_SuggestSmartCampaignBudgetOptionsResponse_Metrics; + } + /** + * Performance metrics for a given budget option. + */ + export interface Schema$GoogleAdsSearchads360V23Services_SuggestSmartCampaignBudgetOptionsResponse_Metrics { + /** + * The estimated max daily clicks. + */ + maxDailyClicks?: string | null; + /** + * The estimated min daily clicks. + */ + minDailyClicks?: string | null; + } + /** + * A single operation to propose the creation of a new account-level budget or edit/end/remove an existing one. + */ + export interface Schema$GoogleAdsSearchads360V23Services__AccountBudgetProposalOperation { + /** + * Create operation: A new proposal to create a new budget, edit an existing budget, end an actively running budget, or remove an approved budget scheduled to start in the future. No resource name is expected for the new proposal. + */ + create?: Schema$GoogleAdsSearchads360V23Resources__AccountBudgetProposal; + /** + * Remove operation: A resource name for the removed proposal is expected, in this format: `customers/{customer_id\}/accountBudgetProposals/{account_budget_proposal_id\}` A request may be cancelled iff it is pending. + */ + remove?: string | null; + /** + * FieldMask that determines which budget fields are modified. While budgets may be modified, proposals that propose such modifications are final. Therefore, update operations are not supported for proposals. Proposals that modify budgets have the 'update' proposal type. Specifying a mask for any other proposal type is considered an error. + */ + updateMask?: string | null; + } + /** + * A single update on an account link. + */ + export interface Schema$GoogleAdsSearchads360V23Services__AccountLinkOperation { + /** + * Remove operation: A resource name for the account link to remove is expected, in this format: `customers/{customer_id\}/accountLinks/{account_link_id\}` + */ + remove?: string | null; + /** + * Update operation: The account link is expected to have a valid resource name. + */ + update?: Schema$GoogleAdsSearchads360V23Resources__AccountLink; + /** + * FieldMask that determines which resource fields are modified in an update. + */ + updateMask?: string | null; + } + /** + * Request message for BatchJobService.AddBatchJobOperations. + */ + export interface Schema$GoogleAdsSearchads360V23Services__AddBatchJobOperationsRequest { + /** + * Required. The list of mutates being added. Operations can use negative integers as temp ids to signify dependencies between entities created in this batch job. For example, a customer with id = 1234 can create a campaign and an ad group in that same campaign by creating a campaign in the first operation with the resource name explicitly set to "customers/1234/campaigns/-1", and creating an ad group in the second operation with the campaign field also set to "customers/1234/campaigns/-1". + */ + mutateOperations?: Schema$GoogleAdsSearchads360V23Services__MutateOperation[]; + /** + * A token used to enforce sequencing. The first AddBatchJobOperations request for a batch job should not set sequence_token. Subsequent requests must set sequence_token to the value of next_sequence_token received in the previous AddBatchJobOperations response. + */ + sequenceToken?: string | null; + } + /** + * Response message for BatchJobService.AddBatchJobOperations. + */ + export interface Schema$GoogleAdsSearchads360V23Services__AddBatchJobOperationsResponse { + /** + * The sequence token to be used when calling AddBatchJobOperations again if more operations need to be added. The next AddBatchJobOperations request must set the sequence_token field to the value of this field. + */ + nextSequenceToken?: string | null; + /** + * The total number of operations added so far for this batch job. + */ + totalOperations?: string | null; + } + /** + * Request message for OfflineUserDataJobService.AddOfflineUserDataJobOperations. + */ + export interface Schema$GoogleAdsSearchads360V23Services__AddOfflineUserDataJobOperationsRequest { + /** + * True to enable partial failure for the offline user data job. + */ + enablePartialFailure?: boolean | null; + /** + * True to enable warnings for the offline user data job. When enabled, a warning will not block the OfflineUserDataJobOperation, and will also return warning messages about malformed field values. + */ + enableWarnings?: boolean | null; + /** + * Required. The list of operations to be done. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__OfflineUserDataJobOperation[]; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for OfflineUserDataJobService.AddOfflineUserDataJobOperations. + */ + export interface Schema$GoogleAdsSearchads360V23Services__AddOfflineUserDataJobOperationsResponse { + /** + * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error. + */ + partialFailureError?: Schema$GoogleRpc__Status; + /** + * Non blocking errors that pertain to operation failures in the warnings mode. Returned only when enable_warnings = true. + */ + warning?: Schema$GoogleRpc__Status; + } + /** + * A single operation (create, remove) on an ad group ad label. + */ + export interface Schema$GoogleAdsSearchads360V23Services__AdGroupAdLabelOperation { + /** + * Create operation: No resource name is expected for the new ad group ad label. + */ + create?: Schema$GoogleAdsSearchads360V23Resources__AdGroupAdLabel; + /** + * Remove operation: A resource name for the ad group ad label being removed, in this format: `customers/{customer_id\}/adGroupAdLabels/{ad_group_id\}~{ad_id\}~{label_id\}` + */ + remove?: string | null; + } + /** + * A single operation (create, update, remove) on an ad group ad. + */ + export interface Schema$GoogleAdsSearchads360V23Services__AdGroupAdOperation { + /** + * Create operation: No resource name is expected for the new ad. + */ + create?: Schema$GoogleAdsSearchads360V23Resources__AdGroupAd; + /** + * Configuration for how policies are validated. + */ + policyValidationParameter?: Schema$GoogleAdsSearchads360V23Common__PolicyValidationParameter; + /** + * Remove operation: A resource name for the removed ad is expected, in this format: `customers/{customer_id\}/adGroupAds/{ad_group_id\}~{ad_id\}` + */ + remove?: string | null; + /** + * Update operation: The ad is expected to have a valid resource name. + */ + update?: Schema$GoogleAdsSearchads360V23Resources__AdGroupAd; + /** + * FieldMask that determines which resource fields are modified in an update. + */ + updateMask?: string | null; + } + /** + * A single operation (create, update, remove) on an ad group asset. + */ + export interface Schema$GoogleAdsSearchads360V23Services__AdGroupAssetOperation { + /** + * Create operation: No resource name is expected for the new ad group asset. + */ + create?: Schema$GoogleAdsSearchads360V23Resources__AdGroupAsset; + /** + * Remove operation: A resource name for the removed ad group asset is expected, in this format: `customers/{customer_id\}/adGroupAssets/{ad_group_id\}~{asset_id\}~{field_type\}` + */ + remove?: string | null; + /** + * Update operation: The ad group asset is expected to have a valid resource name. + */ + update?: Schema$GoogleAdsSearchads360V23Resources__AdGroupAsset; + /** + * FieldMask that determines which resource fields are modified in an update. + */ + updateMask?: string | null; + } + /** + * A single operation (create, remove) on an ad group asset set. + */ + export interface Schema$GoogleAdsSearchads360V23Services__AdGroupAssetSetOperation { + /** + * Create operation: No resource name is expected for the new ad group asset set. + */ + create?: Schema$GoogleAdsSearchads360V23Resources__AdGroupAssetSet; + /** + * Remove operation: A resource name for the removed ad group asset set is expected, in this format: `customers/{customer_id\}/adGroupAssetSets/{ad_group_id\}~{asset_set_id\}` + */ + remove?: string | null; + } + /** + * A single operation (create, remove, update) on an ad group bid modifier. + */ + export interface Schema$GoogleAdsSearchads360V23Services__AdGroupBidModifierOperation { + /** + * Create operation: No resource name is expected for the new ad group bid modifier. + */ + create?: Schema$GoogleAdsSearchads360V23Resources__AdGroupBidModifier; + /** + * Remove operation: A resource name for the removed ad group bid modifier is expected, in this format: `customers/{customer_id\}/adGroupBidModifiers/{ad_group_id\}~{criterion_id\}` + */ + remove?: string | null; + /** + * Update operation: The ad group bid modifier is expected to have a valid resource name. + */ + update?: Schema$GoogleAdsSearchads360V23Resources__AdGroupBidModifier; + /** + * FieldMask that determines which resource fields are modified in an update. + */ + updateMask?: string | null; + } + /** + * A single operation (create, remove) on a customizer attribute. + */ + export interface Schema$GoogleAdsSearchads360V23Services__AdGroupCriterionCustomizerOperation { + /** + * Create operation: No resource name is expected for the new ad group criterion customizer. + */ + create?: Schema$GoogleAdsSearchads360V23Resources__AdGroupCriterionCustomizer; + /** + * Remove operation: A resource name for the removed ad group criterion customizer is expected, in this format: `customers/{customer_id\}/adGroupCriterionCustomizers/{ad_group_id\}~{criterion_id\}~{customizer_attribute_id\}` + */ + remove?: string | null; + } + /** + * A single operation (create, remove) on an ad group criterion label. + */ + export interface Schema$GoogleAdsSearchads360V23Services__AdGroupCriterionLabelOperation { + /** + * Create operation: No resource name is expected for the new ad group label. + */ + create?: Schema$GoogleAdsSearchads360V23Resources__AdGroupCriterionLabel; + /** + * Remove operation: A resource name for the ad group criterion label being removed, in this format: `customers/{customer_id\}/adGroupCriterionLabels/{ad_group_id\}~{criterion_id\}~{label_id\}` + */ + remove?: string | null; + } + /** + * A single operation (create, remove, update) on an ad group criterion. + */ + export interface Schema$GoogleAdsSearchads360V23Services__AdGroupCriterionOperation { + /** + * Create operation: No resource name is expected for the new criterion. + */ + create?: Schema$GoogleAdsSearchads360V23Resources__AdGroupCriterion; + /** + * The list of policy violation keys that should not cause a PolicyViolationError to be reported. Not all policy violations are exemptable, refer to the is_exemptible field in the returned PolicyViolationError. Resources violating these polices will be saved, but will not be eligible to serve. They may begin serving at a later time due to a change in policies, re-review of the resource, or a change in advertiser certificates. + */ + exemptPolicyViolationKeys?: Schema$GoogleAdsSearchads360V23Common__PolicyViolationKey[]; + /** + * Remove operation: A resource name for the removed criterion is expected, in this format: `customers/{customer_id\}/adGroupCriteria/{ad_group_id\}~{criterion_id\}` + */ + remove?: string | null; + /** + * Update operation: The criterion is expected to have a valid resource name. + */ + update?: Schema$GoogleAdsSearchads360V23Resources__AdGroupCriterion; + /** + * FieldMask that determines which resource fields are modified in an update. + */ + updateMask?: string | null; + } + /** + * A single operation (create, remove) on a customizer attribute. + */ + export interface Schema$GoogleAdsSearchads360V23Services__AdGroupCustomizerOperation { + /** + * Create operation: No resource name is expected for the new ad group customizer + */ + create?: Schema$GoogleAdsSearchads360V23Resources__AdGroupCustomizer; + /** + * Remove operation: A resource name for the removed ad group customizer is expected, in this format: `customers/{customer_id\}/adGroupCustomizers/{ad_group_id\}~{customizer_attribute_id\}` + */ + remove?: string | null; + } + /** + * The suggested text and AdGroup/Campaign pairing for a given keyword. + */ + export interface Schema$GoogleAdsSearchads360V23Services__AdGroupKeywordSuggestion { + /** + * The original keyword text. + */ + keywordText?: string | null; + /** + * The suggested AdGroup for the keyword. Resource name format: `customers/{customer_id\}/adGroups/{ad_group_id\}` + */ + suggestedAdGroup?: string | null; + /** + * The suggested Campaign for the keyword. Resource name format: `customers/{customer_id\}/campaigns/{campaign_id\}` + */ + suggestedCampaign?: string | null; + /** + * The normalized version of keyword_text for BROAD/EXACT/PHRASE suggestions. + */ + suggestedKeywordText?: string | null; + /** + * The suggested keyword match type. + */ + suggestedMatchType?: string | null; + } + /** + * A single operation (create, remove) on an ad group label. + */ + export interface Schema$GoogleAdsSearchads360V23Services__AdGroupLabelOperation { + /** + * Create operation: No resource name is expected for the new ad group label. + */ + create?: Schema$GoogleAdsSearchads360V23Resources__AdGroupLabel; + /** + * Remove operation: A resource name for the ad group label being removed, in this format: `customers/{customer_id\}/adGroupLabels/{ad_group_id\}~{label_id\}` + */ + remove?: string | null; + } + /** + * A single operation (create, update, remove) on an ad group. + */ + export interface Schema$GoogleAdsSearchads360V23Services__AdGroupOperation { + /** + * Create operation: No resource name is expected for the new ad group. + */ + create?: Schema$GoogleAdsSearchads360V23Resources__AdGroup; + /** + * Remove operation: A resource name for the removed ad group is expected, in this format: `customers/{customer_id\}/adGroups/{ad_group_id\}` + */ + remove?: string | null; + /** + * Update operation: The ad group is expected to have a valid resource name. + */ + update?: Schema$GoogleAdsSearchads360V23Resources__AdGroup; + /** + * FieldMask that determines which resource fields are modified in an update. + */ + updateMask?: string | null; + } + /** + * A single update operation on an ad. + */ + export interface Schema$GoogleAdsSearchads360V23Services__AdOperation { + /** + * Configuration for how policies are validated. + */ + policyValidationParameter?: Schema$GoogleAdsSearchads360V23Common__PolicyValidationParameter; + /** + * Update operation: The ad is expected to have a valid resource name in this format: `customers/{customer_id\}/ads/{ad_id\}` + */ + update?: Schema$GoogleAdsSearchads360V23Resources__Ad; + /** + * FieldMask that determines which resource fields are modified in an update. + */ + updateMask?: string | null; + } + /** + * A single operation (create, update, remove) on ad parameter. + */ + export interface Schema$GoogleAdsSearchads360V23Services__AdParameterOperation { + /** + * Create operation: No resource name is expected for the new ad parameter. + */ + create?: Schema$GoogleAdsSearchads360V23Resources__AdParameter; + /** + * Remove operation: A resource name for the ad parameter to remove is expected in this format: `customers/{customer_id\}/adParameters/{ad_group_id\}~{criterion_id\}~{parameter_index\}` + */ + remove?: string | null; + /** + * Update operation: The ad parameter is expected to have a valid resource name. + */ + update?: Schema$GoogleAdsSearchads360V23Resources__AdParameter; + /** + * FieldMask that determines which resource fields are modified in an update. + */ + updateMask?: string | null; + } + /** + * Advanced targeting settings for products. + */ + export interface Schema$GoogleAdsSearchads360V23Services__AdvancedProductTargeting { + /** + * Surface targeting settings for this product. + */ + surfaceTargetingSettings?: Schema$GoogleAdsSearchads360V23Services__SurfaceTargeting; + /** + * Settings for a Target frequency campaign. Must be set when selecting the TARGET_FREQUENCY product. See https://support.google.com/google-ads/answer/12400225 for more information about Target Frequency campaigns. + */ + targetFrequencySettings?: Schema$GoogleAdsSearchads360V23Services__TargetFrequencySettings; + /** + * Settings for YouTube Select targeting. + */ + youtubeSelectSettings?: Schema$GoogleAdsSearchads360V23Services__YouTubeSelectSettings; + } + /** + * Request message for LocalServicesLeadService.AppendLeadConversation. + */ + export interface Schema$GoogleAdsSearchads360V23Services__AppendLeadConversationRequest { + /** + * Required. Conversations that are being appended. + */ + conversations?: Schema$GoogleAdsSearchads360V23Services__Conversation[]; + } + /** + * Response message for LocalServicesLeadService.AppendLeadConversation. + */ + export interface Schema$GoogleAdsSearchads360V23Services__AppendLeadConversationResponse { + /** + * Required. List of append conversation operation results. + */ + responses?: Schema$GoogleAdsSearchads360V23Services__ConversationOrError[]; + } + /** + * Request message for applying an incentive. + */ + export interface Schema$GoogleAdsSearchads360V23Services__ApplyIncentiveRequest { + /** + * Required. User's country code. Required. This field must be equal to the Google Ads account's billing country. Incentive eligibility, terms of service, and reward values are often country-specific. This country code is used to ensure the selected incentive is applicable to the user. Possible country codes: https://developers.google.com/google-ads/api/data/codes-formats#country_codes + */ + countryCode?: string | null; + } + /** + * Response for applying an incentive. + */ + export interface Schema$GoogleAdsSearchads360V23Services__ApplyIncentiveResponse { + /** + * The coupon code of the applied incentive. A globally unique identifier of the applied incentive. This code is separate and distinct from the selected_incentive_id in the request. + */ + couponCode?: string | null; + /** + * The timestamp when this incentive was applied. The timestamp is in UTC timezone and in "yyyy-MM-dd HH:mm:ss" format. + */ + creationTime?: string | null; + } + /** + * Information about the operation to apply a recommendation and any parameters to customize it. + */ + export interface Schema$GoogleAdsSearchads360V23Services__ApplyRecommendationOperation { + /** + * Parameters to use when applying call asset recommendation. + */ + callAsset?: Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CallAssetParameters; + /** + * Parameters to use when applying call extension recommendation. + */ + callExtension?: Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CallExtensionParameters; + /** + * Parameters to use when applying callout asset recommendation. + */ + calloutAsset?: Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CalloutAssetParameters; + /** + * Parameters to use when applying callout extension recommendation. + */ + calloutExtension?: Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CalloutExtensionParameters; + /** + * Optional parameters to use when applying a campaign budget recommendation. + */ + campaignBudget?: Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_CampaignBudgetParameters; + /** + * Parameters to use when applying forecasting set target CPA recommendation. + */ + forecastingSetTargetCpa?: Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ForecastingSetTargetCpaParameters; + /** + * Parameters to use when applying a forecasting set target ROAS recommendation. + */ + forecastingSetTargetRoas?: Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ForecastingSetTargetRoasParameters; + /** + * Optional parameters to use when applying keyword recommendation. + */ + keyword?: Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_KeywordParameters; + /** + * Parameters to use when applying lead form asset recommendation. + */ + leadFormAsset?: Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_LeadFormAssetParameters; + /** + * Parameters to use when applying lower Target ROAS recommendation. + */ + lowerTargetRoas?: Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_LowerTargetRoasParameters; + /** + * Parameters to use when applying move unused budget recommendation. + */ + moveUnusedBudget?: Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_MoveUnusedBudgetParameters; + /** + * Parameters to use when applying raise Target CPA recommendation. + */ + raiseTargetCpa?: Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_RaiseTargetCpaParameters; + /** + * Parameters to use when applying a raise target CPA bid too low recommendation. The apply is asynchronous and can take minutes depending on the number of ad groups there is in the related campaign. + */ + raiseTargetCpaBidTooLow?: Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_RaiseTargetCpaBidTooLowParameters; + /** + * The resource name of the recommendation to apply. + */ + resourceName?: string | null; + /** + * Parameters to use when applying a responsive search ad recommendation. + */ + responsiveSearchAd?: Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ResponsiveSearchAdParameters; + /** + * Parameters to use when applying a responsive search ad asset recommendation. + */ + responsiveSearchAdAsset?: Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ResponsiveSearchAdAssetParameters; + /** + * Parameters to use when applying a responsive search ad improve ad strength recommendation. + */ + responsiveSearchAdImproveAdStrength?: Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ResponsiveSearchAdImproveAdStrengthParameters; + /** + * Parameters to use when applying set target CPA recommendation. + */ + setTargetCpa?: Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ForecastingSetTargetCpaParameters; + /** + * Parameters to use when applying set target ROAS recommendation. + */ + setTargetRoas?: Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_ForecastingSetTargetRoasParameters; + /** + * Parameters to use when applying sitelink asset recommendation. + */ + sitelinkAsset?: Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_SitelinkAssetParameters; + /** + * Parameters to use when applying sitelink recommendation. + */ + sitelinkExtension?: Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_SitelinkExtensionParameters; + /** + * Optional parameters to use when applying target CPA opt-in recommendation. + */ + targetCpaOptIn?: Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_TargetCpaOptInParameters; + /** + * Optional parameters to use when applying target ROAS opt-in recommendation. + */ + targetRoasOptIn?: Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_TargetRoasOptInParameters; + /** + * Optional parameters to use when applying a text ad recommendation. + */ + textAd?: Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_TextAdParameters; + /** + * Parameters to use when applying a use broad match keyword recommendation. + */ + useBroadMatchKeyword?: Schema$GoogleAdsSearchads360V23Services_ApplyRecommendationOperation_UseBroadMatchKeywordParameters; + } + /** + * Request message for RecommendationService.ApplyRecommendation. + */ + export interface Schema$GoogleAdsSearchads360V23Services__ApplyRecommendationRequest { + /** + * Required. The list of operations to apply recommendations. If partial_failure=false all recommendations should be of the same type There is a limit of 100 operations per request. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__ApplyRecommendationOperation[]; + /** + * If true, successful operations will be carried out and invalid operations will return errors. If false, operations will be carried out as a transaction if and only if they are all valid. Default is false. + */ + partialFailure?: boolean | null; + } + /** + * Response message for RecommendationService.ApplyRecommendation. + */ + export interface Schema$GoogleAdsSearchads360V23Services__ApplyRecommendationResponse { + /** + * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors) we return the RPC level error. + */ + partialFailureError?: Schema$GoogleRpc__Status; + /** + * Results of operations to apply recommendations. + */ + results?: Schema$GoogleAdsSearchads360V23Services__ApplyRecommendationResult[]; + } + /** + * The result of applying a recommendation. + */ + export interface Schema$GoogleAdsSearchads360V23Services__ApplyRecommendationResult { + /** + * Returned for successful applies. + */ + resourceName?: string | null; + } + /** + * A single operation (create, remove) on an asset group asset. + */ + export interface Schema$GoogleAdsSearchads360V23Services__AssetGroupAssetOperation { + /** + * Create operation: No resource name is expected for the new asset group asset. + */ + create?: Schema$GoogleAdsSearchads360V23Resources__AssetGroupAsset; + /** + * Remove operation: A resource name for the removed asset group asset is expected, in this format: `customers/{customer_id\}/assetGroupAssets/{asset_group_id\}~{asset_id\}~{field_type\}` + */ + remove?: string | null; + /** + * Update operation: The asset group asset is expected to have a valid resource name. + */ + update?: Schema$GoogleAdsSearchads360V23Resources__AssetGroupAsset; + /** + * FieldMask that determines which resource fields are modified in an update. + */ + updateMask?: string | null; + } + /** + * A single operation (create, remove) on an asset group listing group filter. + */ + export interface Schema$GoogleAdsSearchads360V23Services__AssetGroupListingGroupFilterOperation { + /** + * Create operation: No resource name is expected for the new asset group listing group filter. + */ + create?: Schema$GoogleAdsSearchads360V23Resources__AssetGroupListingGroupFilter; + /** + * Remove operation: A resource name for the removed asset group listing group filter is expected, in this format: `customers/{customer_id\}/assetGroupListingGroupFilters/{asset_group_id\}~{listing_group_filter_id\}` An entity can be removed only if it's not referenced by other parent_listing_group_id. If multiple entities are being deleted, the mutates must be in the correct order. + */ + remove?: string | null; + /** + * Update operation: The asset group listing group filter is expected to have a valid resource name. + */ + update?: Schema$GoogleAdsSearchads360V23Resources__AssetGroupListingGroupFilter; + /** + * FieldMask that determines which resource fields are modified in an update. + */ + updateMask?: string | null; + } + /** + * A single operation (create, remove) on an asset group. + */ + export interface Schema$GoogleAdsSearchads360V23Services__AssetGroupOperation { + /** + * Create operation: No resource name is expected for the new asset group + */ + create?: Schema$GoogleAdsSearchads360V23Resources__AssetGroup; + /** + * Remove operation: A resource name for the removed asset group is expected, in this format: `customers/{customer_id\}/assetGroups/{asset_group_id\}` + */ + remove?: string | null; + /** + * Update operation: The asset group is expected to have a valid resource name. + */ + update?: Schema$GoogleAdsSearchads360V23Resources__AssetGroup; + /** + * FieldMask that determines which resource fields are modified in an update. + */ + updateMask?: string | null; + } + /** + * A single operation (create, remove) on an asset group signal. + */ + export interface Schema$GoogleAdsSearchads360V23Services__AssetGroupSignalOperation { + /** + * Create operation: No resource name is expected for the new asset group signal. + */ + create?: Schema$GoogleAdsSearchads360V23Resources__AssetGroupSignal; + /** + * Optional. The list of policy violation keys that should not cause a PolicyViolationError to be reported. Not all policy violations are exemptable, refer to the is_exemptible field in the returned PolicyViolationError. Resources violating these polices will be saved, but will not be eligible to serve. They may begin serving at a later time due to a change in policies, re-review of the resource, or a change in advertiser certificates. + */ + exemptPolicyViolationKeys?: Schema$GoogleAdsSearchads360V23Common__PolicyViolationKey[]; + /** + * Remove operation: A resource name for the removed asset group signal is expected, in this format: `customers/{customer_id\}/assetGroupSignals/{asset_group_id\}~{criterion_id\}` + */ + remove?: string | null; + } + /** + * A single operation to create an asset. Supported asset types are YoutubeVideoAsset, MediaBundleAsset, ImageAsset, LeadFormAsset, LocationAsset, and ImageAsset. TextAsset can be created with an Ad inline, but it can also be created apart from an Ad like other assets. + */ + export interface Schema$GoogleAdsSearchads360V23Services__AssetOperation { + /** + * Create operation: No resource name is expected for the new asset. + */ + create?: Schema$GoogleAdsSearchads360V23Resources__Asset; + /** + * Update operation: The asset is expected to have a valid resource name in this format: `customers/{customer_id\}/assets/{asset_id\}` + */ + update?: Schema$GoogleAdsSearchads360V23Resources__Asset; + /** + * FieldMask that determines which resource fields are modified in an update. + */ + updateMask?: string | null; + } + /** + * A single operation (create, remove) on an asset set asset. + */ + export interface Schema$GoogleAdsSearchads360V23Services__AssetSetAssetOperation { + /** + * Create operation: No resource name is expected for the new asset set asset + */ + create?: Schema$GoogleAdsSearchads360V23Resources__AssetSetAsset; + /** + * Remove operation: A resource name for the removed asset set asset is expected, in this format: `customers/{customer_id\}/assetSetAssets/{asset_set_id\}~{asset_id\}` + */ + remove?: string | null; + } + /** + * A single operation (create, remove) on an asset set. + */ + export interface Schema$GoogleAdsSearchads360V23Services__AssetSetOperation { + /** + * Create operation: No resource name is expected for the new asset set + */ + create?: Schema$GoogleAdsSearchads360V23Resources__AssetSet; + /** + * Remove operation: A resource name for the removed asset set is expected, in this format: `customers/{customer_id\}/assetSets/{asset_set_id\}` + */ + remove?: string | null; + /** + * Update operation: The asset set is expected to have a valid resource name. + */ + update?: Schema$GoogleAdsSearchads360V23Resources__AssetSet; + /** + * FieldMask that determines which resource fields are modified in an update. + */ + updateMask?: string | null; + } + /** + * The combination of system asset and field type to remove. + */ + export interface Schema$GoogleAdsSearchads360V23Services__AssetsWithFieldType { + /** + * Required. The resource name of the asset to be removed. + */ + asset?: string | null; + /** + * Required. The asset field type. + */ + assetFieldType?: string | null; + } + /** + * An audience attribute with metadata and metrics. + */ + export interface Schema$GoogleAdsSearchads360V23Services__AudienceCompositionAttribute { + /** + * The attribute with its metadata. + */ + attributeMetadata?: Schema$GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata; + /** + * Share and index metrics for the attribute. + */ + metrics?: Schema$GoogleAdsSearchads360V23Services__AudienceCompositionMetrics; + } + /** + * A collection of related attributes, with metadata and metrics, in an audience composition insights report. + */ + export interface Schema$GoogleAdsSearchads360V23Services__AudienceCompositionAttributeCluster { + /** + * The individual attributes that make up this cluster, with metadata and metrics. + */ + attributes?: Schema$GoogleAdsSearchads360V23Services__AudienceCompositionAttribute[]; + /** + * The name of this cluster of attributes + */ + clusterDisplayName?: string | null; + /** + * If the dimension associated with this cluster is YOUTUBE_CHANNEL, then cluster_metrics are metrics associated with the cluster as a whole. For other dimensions, this field is unset. + */ + clusterMetrics?: Schema$GoogleAdsSearchads360V23Services__AudienceCompositionMetrics; + } + /** + * The share and index metrics associated with an attribute in an audience composition insights report. + */ + export interface Schema$GoogleAdsSearchads360V23Services__AudienceCompositionMetrics { + /** + * The fraction (from 0 to 1 inclusive) of the specific audience that match the attribute. + */ + audienceShare?: number | null; + /** + * The fraction (from 0 to 1 inclusive) of the baseline audience that match the attribute. + */ + baselineAudienceShare?: number | null; + /** + * The ratio of audience_share to baseline_audience_share, or zero if this ratio is undefined or is not meaningful. + */ + index?: number | null; + /** + * A relevance score from 0 to 1 inclusive. + */ + score?: number | null; + } + /** + * A collection of related attributes of the same type in an audience composition insights report. + */ + export interface Schema$GoogleAdsSearchads360V23Services__AudienceCompositionSection { + /** + * Additional attributes for this audience, grouped into clusters. Only populated if dimension is YOUTUBE_CHANNEL. + */ + clusteredAttributes?: Schema$GoogleAdsSearchads360V23Services__AudienceCompositionAttributeCluster[]; + /** + * The type of the attributes in this section. + */ + dimension?: string | null; + /** + * The most relevant segments for this audience. If dimension is GENDER, AGE_RANGE or PARENTAL_STATUS, then this list of attributes is exhaustive. + */ + topAttributes?: Schema$GoogleAdsSearchads360V23Services__AudienceCompositionAttribute[]; + } + /** + * A collection of dimensions to be used for generating insights. + */ + export interface Schema$GoogleAdsSearchads360V23Services__AudienceInsightsDimensions { + /** + * Required. A list of dimensions. + */ + dimensions?: string[] | null; + } + /** + * A single operation (create, update) on an audience. + */ + export interface Schema$GoogleAdsSearchads360V23Services__AudienceOperation { + /** + * Create operation: No resource name is expected for the new audience + */ + create?: Schema$GoogleAdsSearchads360V23Resources__Audience; + /** + * Update operation: The audience is expected to have a valid resource name. + */ + update?: Schema$GoogleAdsSearchads360V23Resources__Audience; + /** + * FieldMask that determines which resource fields are modified in an update. + */ + updateMask?: string | null; + } + /** + * An audience attribute, with metadata including the overlap between this attribute's potential YouTube reach and that of a primary attribute. + */ + export interface Schema$GoogleAdsSearchads360V23Services__AudienceOverlapItem { + /** + * The attribute and its metadata, including potential YouTube reach. + */ + attributeMetadata?: Schema$GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata; + /** + * The estimated size of the intersection of this audience attribute with the primary attribute, that is, the number of reachable YouTube users who match BOTH the primary attribute and this one. + */ + potentialYoutubeReachIntersection?: string | null; + } + /** + * Audience targeting for reach forecast. + */ + export interface Schema$GoogleAdsSearchads360V23Services__AudienceTargeting { + /** + * List of audiences based on user interests to be targeted. + */ + userInterest?: Schema$GoogleAdsSearchads360V23Common__UserInterestInfo[]; + /** + * List of audiences based on user lists to be targeted. + */ + userLists?: Schema$GoogleAdsSearchads360V23Common__UserListInfo[]; + } + /** + * A single operation on a batch job. + */ + export interface Schema$GoogleAdsSearchads360V23Services__BatchJobOperation { + /** + * Create operation: No resource name is expected for the new batch job. + */ + create?: Schema$GoogleAdsSearchads360V23Resources__BatchJob; + /** + * Remove operation: The batch job must not have been run. A resource name for the removed batch job is expected, in this format: `customers/{customer_id\}/batchJobs/{batch_job_id\}` + */ + remove?: string | null; + } + /** + * An individual batch job result. + */ + export interface Schema$GoogleAdsSearchads360V23Services__BatchJobResult { + /** + * Response for the mutate. May be empty if errors occurred. + */ + mutateOperationResponse?: Schema$GoogleAdsSearchads360V23Services__MutateOperationResponse; + /** + * Index of the mutate operation. + */ + operationIndex?: string | null; + /** + * Details of the errors when processing the operation. + */ + status?: Schema$GoogleRpc__Status; + } + /** + * A location that supports benchmarks data. + */ + export interface Schema$GoogleAdsSearchads360V23Services__BenchmarksLocation { + /** + * Information on the geographic location, including the location ID. + */ + locationInfo?: Schema$GoogleAdsSearchads360V23Common__LocationInfo; + /** + * The unique location name in English. + */ + locationName?: string | null; + /** + * The location's type. Location types correspond to target_type returned by searching location type in GoogleAdsService.Search/SearchStream. + */ + locationType?: string | null; + } + /** + * The metadata associated with a product supported for benchmarks data. + */ + export interface Schema$GoogleAdsSearchads360V23Services__BenchmarksProductMetadata { + /** + * The marketing objective associated with the product. A marketing objective is a broader classification of products. + */ + marketingObjective?: string | null; + /** + * The identifier of the product. The identifier can be used as inputs for BenchmarksService.GenerateBenchmarksMetrics. + */ + productCode?: string | null; + /** + * The name of the product. + */ + productName?: string | null; + } + /** + * The source used to generate benchmarks metrics for. The ID of the source can be obtained from BenchmarksService.ListBenchmarksSources. + */ + export interface Schema$GoogleAdsSearchads360V23Services__BenchmarksSource { + /** + * The ID of the Industry Vertical. + */ + industryVerticalId?: string | null; + } + /** + * The metadata associated with a benchmarks source. + */ + export interface Schema$GoogleAdsSearchads360V23Services__BenchmarksSourceMetadata { + /** + * The type of benchmarks source. + */ + benchmarksSourceType?: string | null; + /** + * Information on the Industry Vertical. + */ + industryVerticalInfo?: Schema$GoogleAdsSearchads360V23Services__IndustryVerticalInfo; + } + /** + * A biddable keyword part of an ad group. + */ + export interface Schema$GoogleAdsSearchads360V23Services__BiddableKeyword { + /** + * Required. Keyword. Must have text and match type. + */ + keyword?: Schema$GoogleAdsSearchads360V23Common__KeywordInfo; + /** + * A max cpc bid in micros that overrides the ad group level max cpc bid in forecast simulation. This value will override the max cpc value set in the bidding strategy and ad group. Only specify this field for bidding strategies that support max cpc values. + */ + maxCpcBidMicros?: string | null; + } + /** + * A single operation (create, remove, update) on a data exclusion. + */ + export interface Schema$GoogleAdsSearchads360V23Services__BiddingDataExclusionOperation { + /** + * Create operation: No resource name is expected for the new data exclusion. + */ + create?: Schema$GoogleAdsSearchads360V23Resources__BiddingDataExclusion; + /** + * Remove operation: A resource name for the removed data exclusion is expected, in this format: `customers/{customer_id\}/biddingDataExclusions/{data_exclusion_id\}` + */ + remove?: string | null; + /** + * Update operation: The data exclusion is expected to have a valid resource name. + */ + update?: Schema$GoogleAdsSearchads360V23Resources__BiddingDataExclusion; + /** + * FieldMask that determines which resource fields are modified in an update. + */ + updateMask?: string | null; + } + /** + * A single operation (create, remove, update) on a seasonality adjustment. + */ + export interface Schema$GoogleAdsSearchads360V23Services__BiddingSeasonalityAdjustmentOperation { + /** + * Create operation: No resource name is expected for the new seasonality adjustment. + */ + create?: Schema$GoogleAdsSearchads360V23Resources__BiddingSeasonalityAdjustment; + /** + * Remove operation: A resource name for the removed seasonality adjustment is expected, in this format: `customers/{customer_id\}/biddingSeasonalityAdjustments/{seasonality_adjustment_id\}` + */ + remove?: string | null; + /** + * Update operation: The seasonality adjustment is expected to have a valid resource name. + */ + update?: Schema$GoogleAdsSearchads360V23Resources__BiddingSeasonalityAdjustment; + /** + * FieldMask that determines which resource fields are modified in an update. + */ + updateMask?: string | null; + } + /** + * A single operation (create, update, remove) on a bidding strategy. + */ + export interface Schema$GoogleAdsSearchads360V23Services__BiddingStrategyOperation { + /** + * Create operation: No resource name is expected for the new bidding strategy. + */ + create?: Schema$GoogleAdsSearchads360V23Resources__BiddingStrategy; + /** + * Remove operation: A resource name for the removed bidding strategy is expected, in this format: `customers/{customer_id\}/biddingStrategies/{bidding_strategy_id\}` + */ + remove?: string | null; + /** + * Update operation: The bidding strategy is expected to have a valid resource name. + */ + update?: Schema$GoogleAdsSearchads360V23Resources__BiddingStrategy; + /** + * FieldMask that determines which resource fields are modified in an update. + */ + updateMask?: string | null; + } + /** + * A single operation on a billing setup, which describes the cancellation of an existing billing setup. + */ + export interface Schema$GoogleAdsSearchads360V23Services__BillingSetupOperation { + /** + * Creates a billing setup. No resource name is expected for the new billing setup. + */ + create?: Schema$GoogleAdsSearchads360V23Resources__BillingSetup; + /** + * Resource name of the billing setup to remove. A setup cannot be removed unless it is in a pending state or its scheduled start time is in the future. The resource name looks like `customers/{customer_id\}/billingSetups/{billing_id\}`. + */ + remove?: string | null; + } + /** + * Assets linked at the campaign level. A business_name and at least one logo_asset are required. + */ + export interface Schema$GoogleAdsSearchads360V23Services__BrandCampaignAssets { + /** + * Required. The resource name of the business name text asset. + */ + businessNameAsset?: string | null; + /** + * Optional. The resource name of landscape logo assets. + */ + landscapeLogoAsset?: string[] | null; + /** + * Required. The resource name of square logo assets. + */ + logoAsset?: string[] | null; + } + /** + * A single operation (create, remove) on a campaign asset. + */ + export interface Schema$GoogleAdsSearchads360V23Services__CampaignAssetOperation { + /** + * Create operation: No resource name is expected for the new campaign asset. + */ + create?: Schema$GoogleAdsSearchads360V23Resources__CampaignAsset; + /** + * Remove operation: A resource name for the removed campaign asset is expected, in this format: `customers/{customer_id\}/campaignAssets/{campaign_id\}~{asset_id\}~{field_type\}` + */ + remove?: string | null; + /** + * Update operation: The campaign asset is expected to have a valid resource name. + */ + update?: Schema$GoogleAdsSearchads360V23Resources__CampaignAsset; + /** + * FieldMask that determines which resource fields are modified in an update. + */ + updateMask?: string | null; + } + /** + * A single operation (create, remove) on a campaign asset set. + */ + export interface Schema$GoogleAdsSearchads360V23Services__CampaignAssetSetOperation { + /** + * Create operation: No resource name is expected for the new campaign asset set. + */ + create?: Schema$GoogleAdsSearchads360V23Resources__CampaignAssetSet; + /** + * Remove operation: A resource name for the removed campaign asset set is expected, in this format: `customers/{customer_id\}/campaignAssetSets/{campaign_id\}~{asset_set_id\}` + */ + remove?: string | null; + } + /** + * A single operation (create, remove, update) on a campaign bid modifier. + */ + export interface Schema$GoogleAdsSearchads360V23Services__CampaignBidModifierOperation { + /** + * Create operation: No resource name is expected for the new campaign bid modifier. + */ + create?: Schema$GoogleAdsSearchads360V23Resources__CampaignBidModifier; + /** + * Remove operation: A resource name for the removed campaign bid modifier is expected, in this format: `customers/{customer_id\}/CampaignBidModifiers/{campaign_id\}~{criterion_id\}` + */ + remove?: string | null; + /** + * Update operation: The campaign bid modifier is expected to have a valid resource name. + */ + update?: Schema$GoogleAdsSearchads360V23Resources__CampaignBidModifier; + /** + * FieldMask that determines which resource fields are modified in an update. + */ + updateMask?: string | null; + } + /** + * The mapping of experiment campaign and budget to be graduated. + */ + export interface Schema$GoogleAdsSearchads360V23Services__CampaignBudgetMapping { + /** + * Required. The budget that should be attached to the graduating experiment campaign. + */ + campaignBudget?: string | null; + /** + * Required. The experiment campaign to graduate. + */ + experimentCampaign?: string | null; + } + /** + * A single operation (create, update, remove) on a campaign budget. + */ + export interface Schema$GoogleAdsSearchads360V23Services__CampaignBudgetOperation { + /** + * Create operation: No resource name is expected for the new budget. + */ + create?: Schema$GoogleAdsSearchads360V23Resources__CampaignBudget; + /** + * Remove operation: A resource name for the removed budget is expected, in this format: `customers/{customer_id\}/campaignBudgets/{budget_id\}` + */ + remove?: string | null; + /** + * Update operation: The campaign budget is expected to have a valid resource name. + */ + update?: Schema$GoogleAdsSearchads360V23Resources__CampaignBudget; + /** + * FieldMask that determines which resource fields are modified in an update. + */ + updateMask?: string | null; + } + /** + * A single operation (update) on a campaign conversion goal. + */ + export interface Schema$GoogleAdsSearchads360V23Services__CampaignConversionGoalOperation { + /** + * Update operation: The customer conversion goal is expected to have a valid resource name. + */ + update?: Schema$GoogleAdsSearchads360V23Resources__CampaignConversionGoal; + /** + * FieldMask that determines which resource fields are modified in an update. + */ + updateMask?: string | null; + } + /** + * A single operation (create, update, remove) on a campaign criterion. + */ + export interface Schema$GoogleAdsSearchads360V23Services__CampaignCriterionOperation { + /** + * Create operation: No resource name is expected for the new criterion. + */ + create?: Schema$GoogleAdsSearchads360V23Resources__CampaignCriterion; + /** + * Remove operation: A resource name for the removed criterion is expected, in this format: `customers/{customer_id\}/campaignCriteria/{campaign_id\}~{criterion_id\}` + */ + remove?: string | null; + /** + * Update operation: The criterion is expected to have a valid resource name. Note that for smart campaigns, you cannot use the update method to edit the geolocation target. + */ + update?: Schema$GoogleAdsSearchads360V23Resources__CampaignCriterion; + /** + * FieldMask that determines which resource fields are modified in an update. + */ + updateMask?: string | null; + } + /** + * A single operation (create, remove) on a customizer attribute. + */ + export interface Schema$GoogleAdsSearchads360V23Services__CampaignCustomizerOperation { + /** + * Create operation: No resource name is expected for the new campaign customizer + */ + create?: Schema$GoogleAdsSearchads360V23Resources__CampaignCustomizer; + /** + * Remove operation: A resource name for the removed campaign customizer is expected, in this format: `customers/{customer_id\}/campaignCustomizers/{campaign_id\}~{customizer_attribute_id\}` + */ + remove?: string | null; + } + /** + * A single operation (create, update, remove) on a campaign draft. + */ + export interface Schema$GoogleAdsSearchads360V23Services__CampaignDraftOperation { + /** + * Create operation: No resource name is expected for the new campaign draft. + */ + create?: Schema$GoogleAdsSearchads360V23Resources__CampaignDraft; + /** + * Remove operation: The campaign draft is expected to have a valid resource name, in this format: `customers/{customer_id\}/campaignDrafts/{base_campaign_id\}~{draft_id\}` + */ + remove?: string | null; + /** + * Update operation: The campaign draft is expected to have a valid resource name. + */ + update?: Schema$GoogleAdsSearchads360V23Resources__CampaignDraft; + /** + * FieldMask that determines which resource fields are modified in an update. + */ + updateMask?: string | null; + } + /** + * The duration of a planned campaign. + */ + export interface Schema$GoogleAdsSearchads360V23Services__CampaignDuration { + /** + * Date range of the campaign. Dates are in the yyyy-mm-dd format and inclusive. The end date must be < 1 year in the future and the date range must be <= 92 days long. This field cannot be combined with the duration_in_days field. + */ + dateRange?: Schema$GoogleAdsSearchads360V23Common__DateRange; + /** + * The duration value in days. This field cannot be combined with the date_range field. + */ + durationInDays?: number | null; + } + /** + * A single mutate operation on the campaign goal config. + */ + export interface Schema$GoogleAdsSearchads360V23Services__CampaignGoalConfigOperation { + /** + * Create a new campaign goal config. + */ + create?: Schema$GoogleAdsSearchads360V23Resources__CampaignGoalConfig; + /** + * Remove an existing campaign goal config. + */ + remove?: string | null; + /** + * Update an existing campaign goal config. + */ + update?: Schema$GoogleAdsSearchads360V23Resources__CampaignGoalConfig; + /** + * FieldMask that determines which fields are modified in an update. + */ + updateMask?: string | null; + } + /** + * A single operation (create, update, remove) on a campaign group. + */ + export interface Schema$GoogleAdsSearchads360V23Services__CampaignGroupOperation { + /** + * Create operation: No resource name is expected for the new campaign group. + */ + create?: Schema$GoogleAdsSearchads360V23Resources__CampaignGroup; + /** + * Remove operation: A resource name for the removed campaign group is expected, in this format: `customers/{customer_id\}/campaignGroups/{campaign_group_id\}` + */ + remove?: string | null; + /** + * Update operation: The campaign group is expected to have a valid resource name. + */ + update?: Schema$GoogleAdsSearchads360V23Resources__CampaignGroup; + /** + * FieldMask that determines which resource fields are modified in an update. + */ + updateMask?: string | null; + } + /** + * A single operation (create, remove) on a campaign-label relationship. + */ + export interface Schema$GoogleAdsSearchads360V23Services__CampaignLabelOperation { + /** + * Create operation: No resource name is expected for the new campaign-label relationship. + */ + create?: Schema$GoogleAdsSearchads360V23Resources__CampaignLabel; + /** + * Remove operation: A resource name for the campaign-label relationship being removed, in this format: `customers/{customer_id\}/campaignLabels/{campaign_id\}~{label_id\}` + */ + remove?: string | null; + } + /** + * A single operation on a campaign lifecycle goal. + */ + export interface Schema$GoogleAdsSearchads360V23Services__CampaignLifecycleGoalOperation { + create?: Schema$GoogleAdsSearchads360V23Resources__CampaignLifecycleGoal; + /** + * Update operation: Update an existing campaign lifecycle goal. The campaign field should not be set for this operation. + */ + update?: Schema$GoogleAdsSearchads360V23Resources__CampaignLifecycleGoal; + /** + * Optional. FieldMask that determines which resource fields are modified in an update. + */ + updateMask?: string | null; + } + /** + * A single operation (create, update, remove) on a campaign. + */ + export interface Schema$GoogleAdsSearchads360V23Services__CampaignOperation { + /** + * Create operation: No resource name is expected for the new campaign. + */ + create?: Schema$GoogleAdsSearchads360V23Resources__Campaign; + /** + * Remove operation: A resource name for the removed campaign is expected, in this format: `customers/{customer_id\}/campaigns/{campaign_id\}` + */ + remove?: string | null; + /** + * Update operation: The campaign is expected to have a valid resource name. + */ + update?: Schema$GoogleAdsSearchads360V23Resources__Campaign; + /** + * FieldMask that determines which resource fields are modified in an update. + */ + updateMask?: string | null; + } + /** + * A single operation (create, remove) on a campaign shared set. + */ + export interface Schema$GoogleAdsSearchads360V23Services__CampaignSharedSetOperation { + /** + * Create operation: No resource name is expected for the new campaign shared set. + */ + create?: Schema$GoogleAdsSearchads360V23Resources__CampaignSharedSet; + /** + * Remove operation: A resource name for the removed campaign shared set is expected, in this format: `customers/{customer_id\}/campaignSharedSets/{campaign_id\}~{shared_set_id\}` + */ + remove?: string | null; + } + /** + * A campaign to do a keyword campaign forecast. + */ + export interface Schema$GoogleAdsSearchads360V23Services__CampaignToForecast { + /** + * The ad groups in the new campaign to forecast. + */ + adGroups?: Schema$GoogleAdsSearchads360V23Services__ForecastAdGroup[]; + /** + * Required. The bidding strategy for the campaign. + */ + biddingStrategy?: Schema$GoogleAdsSearchads360V23Services_CampaignToForecast_CampaignBiddingStrategy; + /** + * The expected conversion rate (number of conversions divided by number of total clicks) as defined by the user. This value is expressed as a decimal value, so an expected conversion rate of 2% should be entered as 0.02. If left empty, an estimated conversion rate will be used. + */ + conversionRate?: number | null; + /** + * Locations to be targeted. Locations must be unique. + */ + geoModifiers?: Schema$GoogleAdsSearchads360V23Services__CriterionBidModifier[]; + /** + * Required. The network used for targeting. + */ + keywordPlanNetwork?: string | null; + /** + * The list of resource names of languages to be targeted. The resource name is of the format "languageConstants/{criterion_id\}". See https://developers.google.com/google-ads/api/data/codes-formats#languages for the list of language criterion codes. + */ + languageConstants?: string[] | null; + /** + * The list of negative keywords to be used in the campaign when doing the forecast. + */ + negativeKeywords?: Schema$GoogleAdsSearchads360V23Common__KeywordInfo[]; + } + /** + * Request message for CampaignLifecycleGoalService.ConfigureCampaignLifecycleGoals. + */ + export interface Schema$GoogleAdsSearchads360V23Services__ConfigureCampaignLifecycleGoalsRequest { + /** + * Required. The operation to perform campaign lifecycle goal update. + */ + operation?: Schema$GoogleAdsSearchads360V23Services__CampaignLifecycleGoalOperation; + /** + * Optional. If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for CampaignLifecycleGoalService.ConfigureCampaignLifecycleGoals. + */ + export interface Schema$GoogleAdsSearchads360V23Services__ConfigureCampaignLifecycleGoalsResponse { + /** + * Result for the campaign lifecycle goal configuration. + */ + result?: Schema$GoogleAdsSearchads360V23Services__ConfigureCampaignLifecycleGoalsResult; + } + /** + * The result for the campaign lifecycle goal configuration. + */ + export interface Schema$GoogleAdsSearchads360V23Services__ConfigureCampaignLifecycleGoalsResult { + /** + * Returned for the successful operation. + */ + resourceName?: string | null; + } + /** + * Request message for CustomerLifecycleGoalService.ConfigureCustomerLifecycleGoals. + */ + export interface Schema$GoogleAdsSearchads360V23Services__ConfigureCustomerLifecycleGoalsRequest { + /** + * Required. The operation to perform customer lifecycle goal update. + */ + operation?: Schema$GoogleAdsSearchads360V23Services__CustomerLifecycleGoalOperation; + /** + * Optional. If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for CustomerLifecycleGoalService.ConfigureCustomerLifecycleGoals. + */ + export interface Schema$GoogleAdsSearchads360V23Services__ConfigureCustomerLifecycleGoalsResponse { + /** + * result for the customer lifecycle goal configuration. + */ + result?: Schema$GoogleAdsSearchads360V23Services__ConfigureCustomerLifecycleGoalsResult; + } + /** + * The result for the customer lifecycle goal configuration. + */ + export interface Schema$GoogleAdsSearchads360V23Services__ConfigureCustomerLifecycleGoalsResult { + /** + * Returned for the successful operation. + */ + resourceName?: string | null; + } + /** + * Details of the conversation that needs to be appended. + */ + export interface Schema$GoogleAdsSearchads360V23Services__Conversation { + /** + * Required. The resource name of the local services lead that the conversation should be applied to. + */ + localServicesLead?: string | null; + /** + * Required. Text message that user wanted to append to lead. + */ + text?: string | null; + } + /** + * Result of the append conversation operation. + */ + export interface Schema$GoogleAdsSearchads360V23Services__ConversationOrError { + /** + * The resource name of the appended local services lead conversation. + */ + localServicesLeadConversation?: string | null; + /** + * Failure status when the request could not be processed. + */ + partialFailureError?: Schema$GoogleRpc__Status; + } + /** + * A single operation (create, update, remove) on a conversion action. + */ + export interface Schema$GoogleAdsSearchads360V23Services__ConversionActionOperation { + /** + * Create operation: No resource name is expected for the new conversion action. + */ + create?: Schema$GoogleAdsSearchads360V23Resources__ConversionAction; + /** + * Remove operation: A resource name for the removed conversion action is expected, in this format: `customers/{customer_id\}/conversionActions/{conversion_action_id\}` + */ + remove?: string | null; + /** + * Update operation: The conversion action is expected to have a valid resource name. + */ + update?: Schema$GoogleAdsSearchads360V23Resources__ConversionAction; + /** + * FieldMask that determines which resource fields are modified in an update. + */ + updateMask?: string | null; + } + /** + * Message for conversion custom dimension header. + */ + export interface Schema$GoogleAdsSearchads360V23Services__ConversionCustomDimensionHeader { + /** + * The conversion custom dimension ID. + */ + id?: string | null; + /** + * The user defined name of the conversion custom dimension. + */ + name?: string | null; + } + /** + * Message for conversion custom metric header. + */ + export interface Schema$GoogleAdsSearchads360V23Services__ConversionCustomMetricHeader { + /** + * The conversion custom metric ID. + */ + id?: string | null; + /** + * The user defined name of the conversion custom metric. + */ + name?: string | null; + } + /** + * A single operation (create, update) on a conversion custom variable. + */ + export interface Schema$GoogleAdsSearchads360V23Services__ConversionCustomVariableOperation { + /** + * Create operation: No resource name is expected for the new conversion custom variable. + */ + create?: Schema$GoogleAdsSearchads360V23Resources__ConversionCustomVariable; + /** + * Update operation: The conversion custom variable is expected to have a valid resource name. + */ + update?: Schema$GoogleAdsSearchads360V23Resources__ConversionCustomVariable; + /** + * FieldMask that determines which resource fields are modified in an update. + */ + updateMask?: string | null; + } + /** + * A single operation (update) on a conversion goal campaign config. + */ + export interface Schema$GoogleAdsSearchads360V23Services__ConversionGoalCampaignConfigOperation { + /** + * Update operation: The conversion goal campaign config is expected to have a valid resource name. + */ + update?: Schema$GoogleAdsSearchads360V23Resources__ConversionGoalCampaignConfig; + /** + * FieldMask that determines which resource fields are modified in an update. + */ + updateMask?: string | null; + } + /** + * A conversion rate suggestion. + */ + export interface Schema$GoogleAdsSearchads360V23Services__ConversionRateSuggestion { + /** + * The suggested conversion rate. The value is between 0 and 1 (exclusive). + */ + conversionRate?: number | null; + /** + * Model type used to calculate the suggested conversion rate. + */ + conversionRateModel?: string | null; + /** + * The code associated with the plannable product (for example: DEMAND_GEN). To list all plannable product codes, use ReachPlanService.ListPlannableProducts. + */ + plannableProductCode?: string | null; + /** + * The surfaces associated with the plannable product. If not present, the conversion rate is considered surface agnostic for this product. + */ + surfaceTargeting?: Schema$GoogleAdsSearchads360V23Services__SurfaceTargeting; + } + /** + * A single operation (create, update, remove) on a conversion value rule. + */ + export interface Schema$GoogleAdsSearchads360V23Services__ConversionValueRuleOperation { + /** + * Create operation: No resource name is expected for the new conversion value rule. + */ + create?: Schema$GoogleAdsSearchads360V23Resources__ConversionValueRule; + /** + * Remove operation: A resource name for the removed conversion value rule is expected, in this format: `customers/{customer_id\}/conversionValueRules/{conversion_value_rule_id\}` + */ + remove?: string | null; + /** + * Update operation: The conversion value rule is expected to have a valid resource name. + */ + update?: Schema$GoogleAdsSearchads360V23Resources__ConversionValueRule; + /** + * FieldMask that determines which resource fields are modified in an update. + */ + updateMask?: string | null; + } + /** + * A single operation (create, update, remove) on a conversion value rule set. + */ + export interface Schema$GoogleAdsSearchads360V23Services__ConversionValueRuleSetOperation { + /** + * Create operation: No resource name is expected for the new conversion value rule set. + */ + create?: Schema$GoogleAdsSearchads360V23Resources__ConversionValueRuleSet; + /** + * Remove operation: A resource name for the removed conversion value rule set is expected, in this format: `customers/{customer_id\}/conversionValueRuleSets/{conversion_value_rule_set_id\}` + */ + remove?: string | null; + /** + * Update operation: The conversion value rule set is expected to have a valid resource name. + */ + update?: Schema$GoogleAdsSearchads360V23Resources__ConversionValueRuleSet; + /** + * FieldMask that determines which resource fields are modified in an update. + */ + updateMask?: string | null; + } + /** + * Request message for AccountLinkService.CreateAccountLink. + */ + export interface Schema$GoogleAdsSearchads360V23Services__CreateAccountLinkRequest { + /** + * Required. The account link to be created. + */ + accountLink?: Schema$GoogleAdsSearchads360V23Resources__AccountLink; + } + /** + * Response message for AccountLinkService.CreateAccountLink. + */ + export interface Schema$GoogleAdsSearchads360V23Services__CreateAccountLinkResponse { + /** + * Returned for successful operations. Resource name of the account link. + */ + resourceName?: string | null; + } + /** + * Request message for CustomerService.CreateCustomerClient. + */ + export interface Schema$GoogleAdsSearchads360V23Services__CreateCustomerClientRequest { + /** + * The proposed role of user on the created client customer. Accessible only to customers on the allow-list. + */ + accessRole?: string | null; + /** + * Required. The new client customer to create. The resource name on this customer will be ignored. + */ + customerClient?: Schema$GoogleAdsSearchads360V23Resources__Customer; + /** + * Email address of the user who should be invited on the created client customer. Accessible only to customers on the allow-list. + */ + emailAddress?: string | null; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for CreateCustomerClient mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__CreateCustomerClientResponse { + /** + * Link for inviting user to access the created customer. Accessible to allowlisted customers only. + */ + invitationLink?: string | null; + /** + * The resource name of the newly created customer. Customer resource names have the form: `customers/{customer_id\}`. + */ + resourceName?: string | null; + } + /** + * Request message for DataLinkService.CreateDataLink. + */ + export interface Schema$GoogleAdsSearchads360V23Services__CreateDataLinkRequest { + /** + * Required. The data link to be created. + */ + dataLink?: Schema$GoogleAdsSearchads360V23Resources__DataLink; + } + /** + * Response message for DataLinkService.CreateDataLink. + */ + export interface Schema$GoogleAdsSearchads360V23Services__CreateDataLinkResponse { + /** + * Returned for successful operations. Resource name of the data link. + */ + resourceName?: string | null; + } + /** + * Request message for OfflineUserDataJobService.CreateOfflineUserDataJob. + */ + export interface Schema$GoogleAdsSearchads360V23Services__CreateOfflineUserDataJobRequest { + /** + * If true, match rate range for the offline user data job is calculated and made available in the resource. + */ + enableMatchRateRangePreview?: boolean | null; + /** + * Required. The offline user data job to be created. + */ + job?: Schema$GoogleAdsSearchads360V23Resources__OfflineUserDataJob; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for OfflineUserDataJobService.CreateOfflineUserDataJob. + */ + export interface Schema$GoogleAdsSearchads360V23Services__CreateOfflineUserDataJobResponse { + /** + * The resource name of the OfflineUserDataJob. + */ + resourceName?: string | null; + } + /** + * Request message for ProductLinkInvitationService.CreateProductLinkInvitation. + */ + export interface Schema$GoogleAdsSearchads360V23Services__CreateProductLinkInvitationRequest { + /** + * Required. The product link invitation to be created. + */ + productLinkInvitation?: Schema$GoogleAdsSearchads360V23Resources__ProductLinkInvitation; + } + /** + * Response message for product link invitation create. + */ + export interface Schema$GoogleAdsSearchads360V23Services__CreateProductLinkInvitationResponse { + /** + * Resource name of the product link invitation. + */ + resourceName?: string | null; + } + /** + * Request message for ProductLinkService.CreateProductLink. + */ + export interface Schema$GoogleAdsSearchads360V23Services__CreateProductLinkRequest { + /** + * Required. The product link to be created. + */ + productLink?: Schema$GoogleAdsSearchads360V23Resources__ProductLink; + } + /** + * Response message for ProductLinkService.CreateProductLink. + */ + export interface Schema$GoogleAdsSearchads360V23Services__CreateProductLinkResponse { + /** + * Returned for successful operations. Resource name of the product link. + */ + resourceName?: string | null; + } + /** + * Location Criterion bid modifier. + */ + export interface Schema$GoogleAdsSearchads360V23Services__CriterionBidModifier { + /** + * The associated multiplier for the criterion_id. If set, this value cannot be 0. + */ + bidModifier?: number | null; + /** + * The resource name of the geo location to target. The resource name is of the format "geoTargetConstants/{criterion_id\}". + */ + geoTargetConstant?: string | null; + } + /** + * A single operation (create, update) on a custom audience. + */ + export interface Schema$GoogleAdsSearchads360V23Services__CustomAudienceOperation { + /** + * Create operation: No resource name is expected for the new custom audience. + */ + create?: Schema$GoogleAdsSearchads360V23Resources__CustomAudience; + /** + * Remove operation: A resource name for the removed custom audience is expected, in this format: `customers/{customer_id\}/customAudiences/{custom_audience_id\}` + */ + remove?: string | null; + /** + * Update operation: The custom audience is expected to have a valid resource name. + */ + update?: Schema$GoogleAdsSearchads360V23Resources__CustomAudience; + /** + * FieldMask that determines which resource fields are modified in an update. + */ + updateMask?: string | null; + } + /** + * Message for custom column header. + */ + export interface Schema$GoogleAdsSearchads360V23Services__CustomColumnHeader { + /** + * The custom column ID. + */ + id?: string | null; + /** + * The user defined name of the custom column. + */ + name?: string | null; + /** + * True when the custom column references metrics. + */ + referencesMetrics?: boolean | null; + } + /** + * A single operation (create, remove) on a custom conversion goal. + */ + export interface Schema$GoogleAdsSearchads360V23Services__CustomConversionGoalOperation { + /** + * Create operation: No resource name is expected for the new custom conversion goal + */ + create?: Schema$GoogleAdsSearchads360V23Resources__CustomConversionGoal; + /** + * Remove operation: A resource name for the removed custom conversion goal is expected, in this format: 'customers/{customer_id\}/customConversionGoals/{goal_id\}' + */ + remove?: string | null; + /** + * Update operation: The custom conversion goal is expected to have a valid resource name. + */ + update?: Schema$GoogleAdsSearchads360V23Resources__CustomConversionGoal; + /** + * FieldMask that determines which resource fields are modified in an update. + */ + updateMask?: string | null; + } + /** + * A single operation (create, update, remove) on a customer asset. + */ + export interface Schema$GoogleAdsSearchads360V23Services__CustomerAssetOperation { + /** + * Create operation: No resource name is expected for the new customer asset. + */ + create?: Schema$GoogleAdsSearchads360V23Resources__CustomerAsset; + /** + * Remove operation: A resource name for the removed customer asset is expected, in this format: `customers/{customer_id\}/customerAssets/{asset_id\}~{field_type\}` + */ + remove?: string | null; + /** + * Update operation: The customer asset is expected to have a valid resource name. + */ + update?: Schema$GoogleAdsSearchads360V23Resources__CustomerAsset; + /** + * FieldMask that determines which resource fields are modified in an update. + */ + updateMask?: string | null; + } + /** + * A single operation (create, remove) on a customer asset set. + */ + export interface Schema$GoogleAdsSearchads360V23Services__CustomerAssetSetOperation { + /** + * Create operation: No resource name is expected for the new customer asset set. + */ + create?: Schema$GoogleAdsSearchads360V23Resources__CustomerAssetSet; + /** + * Remove operation: A resource name for the removed customer asset set is expected, in this format: `customers/{customer_id\}/customerAssetSets/{asset_set_id\}` + */ + remove?: string | null; + } + /** + * A single operation (create, update) on a CustomerClientLink. + */ + export interface Schema$GoogleAdsSearchads360V23Services__CustomerClientLinkOperation { + /** + * Create operation: No resource name is expected for the new link. + */ + create?: Schema$GoogleAdsSearchads360V23Resources__CustomerClientLink; + /** + * Update operation: The link is expected to have a valid resource name. + */ + update?: Schema$GoogleAdsSearchads360V23Resources__CustomerClientLink; + /** + * FieldMask that determines which resource fields are modified in an update. + */ + updateMask?: string | null; + } + /** + * A single operation (update) on a customer conversion goal. + */ + export interface Schema$GoogleAdsSearchads360V23Services__CustomerConversionGoalOperation { + /** + * Update operation: The customer conversion goal is expected to have a valid resource name. + */ + update?: Schema$GoogleAdsSearchads360V23Resources__CustomerConversionGoal; + /** + * FieldMask that determines which resource fields are modified in an update. + */ + updateMask?: string | null; + } + /** + * A single operation (create, remove) on a customizer attribute. + */ + export interface Schema$GoogleAdsSearchads360V23Services__CustomerCustomizerOperation { + /** + * Create operation: No resource name is expected for the new customer customizer + */ + create?: Schema$GoogleAdsSearchads360V23Resources__CustomerCustomizer; + /** + * Remove operation: A resource name for the removed customer customizer is expected, in this format: `customers/{customer_id\}/customerCustomizers/{customizer_attribute_id\}` + */ + remove?: string | null; + } + /** + * A single operation (create, remove) on a customer-label relationship. + */ + export interface Schema$GoogleAdsSearchads360V23Services__CustomerLabelOperation { + /** + * Create operation: No resource name is expected for the new customer-label relationship. + */ + create?: Schema$GoogleAdsSearchads360V23Resources__CustomerLabel; + /** + * Remove operation: A resource name for the customer-label relationship being removed, in this format: `customers/{customer_id\}/customerLabels/{label_id\}` + */ + remove?: string | null; + } + /** + * A single operation on a customer lifecycle goal. + */ + export interface Schema$GoogleAdsSearchads360V23Services__CustomerLifecycleGoalOperation { + create?: Schema$GoogleAdsSearchads360V23Resources__CustomerLifecycleGoal; + /** + * Update operation: Update an existing customer lifecycle goal. + */ + update?: Schema$GoogleAdsSearchads360V23Resources__CustomerLifecycleGoal; + /** + * Optional. FieldMask that determines which resource fields are modified in an update. + */ + updateMask?: string | null; + } + /** + * Updates the status of a CustomerManagerLink. The following actions are possible: 1. Update operation with status ACTIVE accepts a pending invitation. 2. Update operation with status REFUSED declines a pending invitation. 3. Update operation with status INACTIVE terminates link to manager. + */ + export interface Schema$GoogleAdsSearchads360V23Services__CustomerManagerLinkOperation { + /** + * Update operation: The link is expected to have a valid resource name. + */ + update?: Schema$GoogleAdsSearchads360V23Resources__CustomerManagerLink; + /** + * FieldMask that determines which resource fields are modified in an update. + */ + updateMask?: string | null; + } + /** + * A single operation (create or remove) on a customer level negative criterion. + */ + export interface Schema$GoogleAdsSearchads360V23Services__CustomerNegativeCriterionOperation { + /** + * Create operation: No resource name is expected for the new criterion. + */ + create?: Schema$GoogleAdsSearchads360V23Resources__CustomerNegativeCriterion; + /** + * Remove operation: A resource name for the removed criterion is expected, in this format: `customers/{customer_id\}/customerNegativeCriteria/{criterion_id\}` + */ + remove?: string | null; + } + /** + * A single update on a customer. + */ + export interface Schema$GoogleAdsSearchads360V23Services__CustomerOperation { + /** + * Mutate operation. Only updates are supported for customer. + */ + update?: Schema$GoogleAdsSearchads360V23Resources__Customer; + /** + * FieldMask that determines which resource fields are modified in an update. + */ + updateMask?: string | null; + } + /** + * A single update operation for a CustomerSkAdNetworkConversionValueSchema. + */ + export interface Schema$GoogleAdsSearchads360V23Services__CustomerSkAdNetworkConversionValueSchemaOperation { + /** + * Update operation: The schema is expected to have a valid resource name. + */ + update?: Schema$GoogleAdsSearchads360V23Resources__CustomerSkAdNetworkConversionValueSchema; + } + /** + * A single operation (create or remove) on customer user access invitation. + */ + export interface Schema$GoogleAdsSearchads360V23Services__CustomerUserAccessInvitationOperation { + /** + * Create operation: No resource name is expected for the new access invitation. + */ + create?: Schema$GoogleAdsSearchads360V23Resources__CustomerUserAccessInvitation; + /** + * Remove operation: A resource name for the revoke invitation is expected, in this format: `customers/{customer_id\}/customerUserAccessInvitations/{invitation_id\}` + */ + remove?: string | null; + } + /** + * A single operation (update, remove) on customer user access. + */ + export interface Schema$GoogleAdsSearchads360V23Services__CustomerUserAccessOperation { + /** + * Remove operation: A resource name for the removed access is expected, in this format: `customers/{customer_id\}/customerUserAccesses/{CustomerUserAccess.user_id\}` + */ + remove?: string | null; + /** + * Update operation: The customer user access is expected to have a valid resource name. + */ + update?: Schema$GoogleAdsSearchads360V23Resources__CustomerUserAccess; + /** + * FieldMask that determines which resource fields are modified in an update. + */ + updateMask?: string | null; + } + /** + * A single operation (create, update) on a custom interest. + */ + export interface Schema$GoogleAdsSearchads360V23Services__CustomInterestOperation { + /** + * Create operation: No resource name is expected for the new custom interest. + */ + create?: Schema$GoogleAdsSearchads360V23Resources__CustomInterest; + /** + * Update operation: The custom interest is expected to have a valid resource name. + */ + update?: Schema$GoogleAdsSearchads360V23Resources__CustomInterest; + /** + * FieldMask that determines which resource fields are modified in an update. + */ + updateMask?: string | null; + } + /** + * A single operation (create, remove) on a customizer attribute. + */ + export interface Schema$GoogleAdsSearchads360V23Services__CustomizerAttributeOperation { + /** + * Create operation: No resource name is expected for the new customizer attribute + */ + create?: Schema$GoogleAdsSearchads360V23Resources__CustomizerAttribute; + /** + * Remove operation: A resource name for the removed customizer attribute is expected, in this format: `customers/{customer_id\}/customizerAttributes/{customizer_attribute_id\}` + */ + remove?: string | null; + /** + * FieldMask that determines which resource fields are modified in an update. + */ + updateMask?: string | null; + } + /** + * An incentive offer in the Choose-Your-Own Incentive feature where a user can select from a set of incentives with different money amounts. + */ + export interface Schema$GoogleAdsSearchads360V23Services__CyoIncentives { + /** + * Required. The CYO incentive with high target and award amounts. + */ + highOffer?: Schema$GoogleAdsSearchads360V23Services__Incentive; + /** + * Required. The CYO incentive with low target and award amounts. + */ + lowOffer?: Schema$GoogleAdsSearchads360V23Services__Incentive; + /** + * Required. The CYO incentive with medium target and award amounts. + */ + mediumOffer?: Schema$GoogleAdsSearchads360V23Services__Incentive; + } + /** + * A list of audience attributes of a single dimension, including their overlap with a primary attribute, returned as part of a GenerateAudienceOverlapInsightsResponse. + */ + export interface Schema$GoogleAdsSearchads360V23Services__DimensionOverlapResult { + /** + * The dimension of all the attributes in this section. + */ + dimension?: string | null; + /** + * The attributes and their overlap with the primary attribute. + */ + items?: Schema$GoogleAdsSearchads360V23Services__AudienceOverlapItem[]; + } + /** + * Request message for RecommendationService.DismissRecommendation. + */ + export interface Schema$GoogleAdsSearchads360V23Services__DismissRecommendationRequest { + /** + * Required. The list of operations to dismiss recommendations. If partial_failure=false all recommendations should be of the same type There is a limit of 100 operations per request. + */ + operations?: Schema$GoogleAdsSearchads360V23Services_DismissRecommendationRequest_DismissRecommendationOperation[]; + /** + * If true, successful operations will be carried out and invalid operations will return errors. If false, operations will be carried in a single transaction if and only if they are all valid. Default is false. + */ + partialFailure?: boolean | null; + } + /** + * Response message for RecommendationService.DismissRecommendation. + */ + export interface Schema$GoogleAdsSearchads360V23Services__DismissRecommendationResponse { + /** + * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors) we return the RPC level error. + */ + partialFailureError?: Schema$GoogleRpc__Status; + /** + * Results of operations to dismiss recommendations. + */ + results?: Schema$GoogleAdsSearchads360V23Services_DismissRecommendationResponse_DismissRecommendationResult[]; + } + /** + * A breakdown of the number of unique people reached at a given effective frequency. + */ + export interface Schema$GoogleAdsSearchads360V23Services__EffectiveFrequencyBreakdown { + /** + * The number of users (including co-viewing users) reached for the associated effective_frequency value. + */ + effectiveCoviewReach?: string | null; + /** + * The effective frequency [1-10]. + */ + effectiveFrequency?: number | null; + /** + * The number of users (including co-viewing users) reached for the associated effective_frequency value within the specified plan demographic. + */ + onTargetEffectiveCoviewReach?: string | null; + /** + * The number of unique people reached at least effective_frequency times that exactly matches the Targeting. Note that a minimum number of unique people must be reached in order for data to be reported. If the minimum number is not met, the on_target_reach value will be rounded to 0. + */ + onTargetReach?: string | null; + /** + * Total number of unique people reached at least effective_frequency times. This includes people that may fall outside the specified Targeting. Note that a minimum number of unique people must be reached in order for data to be reported. If the minimum number is not met, the total_reach value will be rounded to 0. + */ + totalReach?: string | null; + } + /** + * Effective frequency limit. + */ + export interface Schema$GoogleAdsSearchads360V23Services__EffectiveFrequencyLimit { + /** + * The highest effective frequency value to include in Forecast.effective_frequency_breakdowns. This field supports frequencies 1-10, inclusive. + */ + effectiveFrequencyBreakdownLimit?: number | null; + } + /** + * A single enablement result of a campaign. + */ + export interface Schema$GoogleAdsSearchads360V23Services__EnablementResult { + /** + * This indicates the campaign for which enablement was tried, regardless of the outcome. + */ + campaign?: string | null; + /** + * Details of the error when enablement fails. + */ + enablementError?: Schema$GoogleRpc__Status; + } + /** + * A single enable operation of a campaign. + */ + export interface Schema$GoogleAdsSearchads360V23Services__EnableOperation { + /** + * Optional. Hex code representation of the accent brand color, for example #00ff00. accent_color is required when main_color is specified. + */ + accentColor?: string | null; + /** + * Required. The switch to automatically populate top-performing brand assets. This field is required. If true, top-performing brand assets will be automatically populated. If false, the brand_assets field is required. + */ + autoPopulateBrandAssets?: boolean | null; + /** + * Optional. The brand assets linked to the campaign. This field is required when the value of auto_populate_brand_assets is false. + */ + brandAssets?: Schema$GoogleAdsSearchads360V23Services__BrandCampaignAssets; + /** + * Required. The resource name of the campaign to enable. + */ + campaign?: string | null; + /** + * Optional. The domain of the final uri. + */ + finalUriDomain?: string | null; + /** + * Optional. The font family is specified as a string, and must be one of the following: "Open Sans", "Roboto", "Roboto Slab", "Montserrat", "Poppins", "Lato", "Oswald", or "Playfair Display". + */ + fontFamily?: string | null; + /** + * Optional. Hex code representation of the main brand color, for example #00ff00. main_color is required when accent color is specified. + */ + mainColor?: string | null; + } + /** + * Request to enable Brand Guidelines for a Performance Max campaign. + */ + export interface Schema$GoogleAdsSearchads360V23Services__EnablePMaxBrandGuidelinesRequest { + /** + * Required. The list of individual campaign operations. A maximum of 10 enable operations can be executed in a request. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__EnableOperation[]; + } + /** + * Brand Guidelines campaign enablement response. + */ + export interface Schema$GoogleAdsSearchads360V23Services__EnablePMaxBrandGuidelinesResponse { + /** + * Campaign enablement results per campaign. + */ + results?: Schema$GoogleAdsSearchads360V23Services__EnablementResult[]; + } + /** + * Request message for ExperimentService.EndExperiment. + */ + export interface Schema$GoogleAdsSearchads360V23Services__EndExperimentRequest { + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * A single operation on an experiment arm. + */ + export interface Schema$GoogleAdsSearchads360V23Services__ExperimentArmOperation { + /** + * Create operation + */ + create?: Schema$GoogleAdsSearchads360V23Resources__ExperimentArm; + /** + * Remove operation: The experiment arm is expected to have a valid resource name, in this format: `customers/{customer_id\}/experiments/{campaign_experiment_id\}` + */ + remove?: string | null; + /** + * Update operation: The experiment arm is expected to have a valid resource name. + */ + update?: Schema$GoogleAdsSearchads360V23Resources__ExperimentArm; + /** + * FieldMask that determines which resource fields are modified in an update. + */ + updateMask?: string | null; + } + /** + * A single operation on an experiment. + */ + export interface Schema$GoogleAdsSearchads360V23Services__ExperimentOperation { + /** + * Create operation + */ + create?: Schema$GoogleAdsSearchads360V23Resources__Experiment; + /** + * Remove operation: The experiment is expected to have a valid resource name, in this format: `customers/{customer_id\}/experiments/{campaign_experiment_id\}` + */ + remove?: string | null; + /** + * Update operation: The experiment is expected to have a valid resource name. + */ + update?: Schema$GoogleAdsSearchads360V23Resources__Experiment; + /** + * FieldMask that determines which resource fields are modified in an update. + */ + updateMask?: string | null; + } + /** + * Response from getting the acquisition incentive for a user when they visit a specific marketing page. + */ + export interface Schema$GoogleAdsSearchads360V23Services__FetchIncentiveResponse { + /** + * Required. The acquisition incentive offer for the user. + */ + incentiveOffer?: Schema$GoogleAdsSearchads360V23Services__IncentiveOffer; + } + /** + * Forecasted traffic metrics for the planned products and targeting. + */ + export interface Schema$GoogleAdsSearchads360V23Services__Forecast { + /** + * The number of conversions. This metric is only available for DEMAND_GEN plannable products. See https://support.google.com/google-ads/answer/2375431 for more information on conversions. + */ + conversions?: number | null; + /** + * A list of effective frequency forecasts. The list is ordered starting with 1+ and ending with the value set in GenerateReachForecastRequest.effective_frequency_limit. If no effective_frequency_limit was set, this list will be empty. + */ + effectiveFrequencyBreakdowns?: Schema$GoogleAdsSearchads360V23Services__EffectiveFrequencyBreakdown[]; + /** + * Number of ad impressions that exactly matches the Targeting including co-viewers. + */ + onTargetCoviewImpressions?: string | null; + /** + * Number of unique people reached that exactly matches the Targeting including co-viewers. + */ + onTargetCoviewReach?: string | null; + /** + * Number of ad impressions that exactly matches the Targeting. + */ + onTargetImpressions?: string | null; + /** + * Number of unique people reached at least GenerateReachForecastRequest.min_effective_frequency or GenerateReachForecastRequest.effective_frequency_limit times that exactly matches the Targeting. Note that a minimum number of unique people must be reached in order for data to be reported. If the minimum number is not met, the on_target_reach value will be rounded to 0. + */ + onTargetReach?: string | null; + /** + * Total number of ad impressions including co-viewers. This includes impressions that may fall outside the specified Targeting, due to insufficient information on signed-in users. + */ + totalCoviewImpressions?: string | null; + /** + * Number of unique people reached including co-viewers. This includes people that may fall outside the specified Targeting. + */ + totalCoviewReach?: string | null; + /** + * Total number of ad impressions. This includes impressions that may fall outside the specified Targeting, due to insufficient information on signed-in users. + */ + totalImpressions?: string | null; + /** + * Total number of unique people reached at least GenerateReachForecastRequest.min_effective_frequency or GenerateReachForecastRequest.effective_frequency_limit times. This includes people that may fall outside the specified Targeting. Note that a minimum number of unique people must be reached in order for data to be reported. If the minimum number is not met, the total_reach value will be rounded to 0. + */ + totalReach?: string | null; + /** + * Number of ad views forecasted for the specified product and targeting. A TrueView View is counted when a viewer views a larger portion or the entirety of an ad beyond an impression. See https://support.google.com/google-ads/answer/2375431 for more information on TrueView Views. + */ + trueviewViews?: string | null; + /** + * Number of times the ad's impressions were considered viewable. See https://support.google.com/google-ads/answer/7029393 for more information about what makes an ad viewable and how viewability is measured. + */ + viewableImpressions?: string | null; + } + /** + * An ad group that is part of a campaign to be forecasted. + */ + export interface Schema$GoogleAdsSearchads360V23Services__ForecastAdGroup { + /** + * Required. The list of biddable keywords to be used in the ad group when doing the forecast. Requires at least one keyword. + */ + biddableKeywords?: Schema$GoogleAdsSearchads360V23Services__BiddableKeyword[]; + /** + * The max cpc to use for the ad group when generating forecasted traffic. This value will override the max cpc value set in the bidding strategy. Only specify this field for bidding strategies that max cpc values. + */ + maxCpcBidMicros?: string | null; + /** + * The details of the keyword. You should specify both the keyword text and match type. + */ + negativeKeywords?: Schema$GoogleAdsSearchads360V23Common__KeywordInfo[]; + } + /** + * Controls forecast metrics to return. + */ + export interface Schema$GoogleAdsSearchads360V23Services__ForecastMetricOptions { + /** + * Indicates whether to include co-view metrics in the response forecast. + */ + includeCoview?: boolean | null; + } + /** + * A rule specifying the maximum number of times an ad can be shown to a user over a particular time period. + */ + export interface Schema$GoogleAdsSearchads360V23Services__FrequencyCap { + /** + * Required. The number of impressions, inclusive. + */ + impressions?: number | null; + /** + * Required. The type of time unit. + */ + timeUnit?: string | null; + } + /** + * Request message for KeywordPlanIdeaService.GenerateAdGroupThemes. + */ + export interface Schema$GoogleAdsSearchads360V23Services__GenerateAdGroupThemesRequest { + /** + * Required. A list of resource names of AdGroups to group keywords into. Resource name format: `customers/{customer_id\}/adGroups/{ad_group_id\}` + */ + adGroups?: string[] | null; + /** + * Required. A list of keywords to group into the provided AdGroups. + */ + keywords?: string[] | null; + } + /** + * Response message for KeywordPlanIdeaService.GenerateAdGroupThemes. + */ + export interface Schema$GoogleAdsSearchads360V23Services__GenerateAdGroupThemesResponse { + /** + * A list of suggested AdGroup/keyword pairings. + */ + adGroupKeywordSuggestions?: Schema$GoogleAdsSearchads360V23Services__AdGroupKeywordSuggestion[]; + /** + * A list of provided AdGroups that could not be used as suggestions. + */ + unusableAdGroups?: Schema$GoogleAdsSearchads360V23Services__UnusableAdGroup[]; + } + /** + * Request message for AudienceInsightsService.GenerateAudienceCompositionInsights. + */ + export interface Schema$GoogleAdsSearchads360V23Services__GenerateAudienceCompositionInsightsRequest { + /** + * Required. The audience of interest for which insights are being requested. + */ + audience?: Schema$GoogleAdsSearchads360V23Services__InsightsAudience; + /** + * The baseline audience to which the audience of interest is being compared. + */ + baselineAudience?: Schema$GoogleAdsSearchads360V23Services__InsightsAudience; + /** + * The name of the customer being planned for. This is a user-defined value. + */ + customerInsightsGroup?: string | null; + /** + * The one-month range of historical data to use for insights, in the format "yyyy-mm". If unset, insights will be returned for the last thirty days of data. + */ + dataMonth?: string | null; + /** + * Required. The audience dimensions for which composition insights should be returned. Supported dimensions are KNOWLEDGE_GRAPH, GEO_TARGET_COUNTRY, SUB_COUNTRY_LOCATION, YOUTUBE_CHANNEL, YOUTUBE_LINEUP, AFFINITY_USER_INTEREST, IN_MARKET_USER_INTEREST, . + */ + dimensions?: string[] | null; + /** + * Optional. Additional information on the application issuing the request. + */ + insightsApplicationInfo?: Schema$GoogleAdsSearchads360V23Common__AdditionalApplicationInfo; + } + /** + * Response message for AudienceInsightsService.GenerateAudienceCompositionInsights. + */ + export interface Schema$GoogleAdsSearchads360V23Services__GenerateAudienceCompositionInsightsResponse { + /** + * The contents of the insights report, organized into sections. Each section is associated with one of the AudienceInsightsDimension values in the request. There may be more than one section per dimension. + */ + sections?: Schema$GoogleAdsSearchads360V23Services__AudienceCompositionSection[]; + } + /** + * Request message for AudienceInsightsService.GenerateAudienceDefinition. + */ + export interface Schema$GoogleAdsSearchads360V23Services__GenerateAudienceDefinitionRequest { + /** + * Required. Provide a text description of an audience to get AI-generated structured suggestions. This can take around 5 or more seconds to complete Supported marketing objectives are: AWARENESS, CONSIDERATION and RESEARCH. Supported dimensions are: AGE_RANGE, GENDER, PARENTAL_STATUS, AFFINITY_USER_INTEREST, IN_MARKET_USER_INTEREST, LIFE_EVENT_USER_INTEREST, CATEGORY and KNOWLEDGE_GRAPH. + */ + audienceDescription?: Schema$GoogleAdsSearchads360V23Services__InsightsAudienceDescription; + /** + * Optional. The name of the customer being planned for. This is a user-defined value. + */ + customerInsightsGroup?: string | null; + /** + * Optional. Additional information on the application issuing the request. + */ + insightsApplicationInfo?: Schema$GoogleAdsSearchads360V23Common__AdditionalApplicationInfo; + } + /** + * Response message for AudienceInsightsService.GenerateAudienceDefinition. + */ + export interface Schema$GoogleAdsSearchads360V23Services__GenerateAudienceDefinitionResponse { + /** + * The attributes that make up the audience definition. + */ + highRelevanceAttributes?: Schema$GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata[]; + /** + * Additional attributes that are less relevant but still related to the audience description. Use these attributes to broaden the audience definition to reach more users. + */ + mediumRelevanceAttributes?: Schema$GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata[]; + } + /** + * Request message for AudienceInsightsService.GenerateAudienceOverlapInsights. + */ + export interface Schema$GoogleAdsSearchads360V23Services__GenerateAudienceOverlapInsightsRequest { + /** + * Required. The country in which to calculate the sizes and overlaps of audiences. + */ + countryLocation?: Schema$GoogleAdsSearchads360V23Common__LocationInfo; + /** + * The name of the customer being planned for. This is a user-defined value. + */ + customerInsightsGroup?: string | null; + /** + * Required. The types of attributes of which to calculate the overlap with the primary_attribute. The values must be a subset of AFFINITY_USER_INTEREST, IN_MARKET_USER_INTEREST, AGE_RANGE and GENDER. + */ + dimensions?: string[] | null; + /** + * Optional. Additional information on the application issuing the request. + */ + insightsApplicationInfo?: Schema$GoogleAdsSearchads360V23Common__AdditionalApplicationInfo; + /** + * Required. The audience attribute that should be intersected with all other eligible audiences. This must be an Affinity or In-Market UserInterest, an AgeRange or a Gender. + */ + primaryAttribute?: Schema$GoogleAdsSearchads360V23Common__AudienceInsightsAttribute; + } + /** + * Response message for AudienceInsightsService.GenerateAudienceOverlapInsights. + */ + export interface Schema$GoogleAdsSearchads360V23Services__GenerateAudienceOverlapInsightsResponse { + /** + * Lists of attributes and their overlap with the primary attribute, one list per requested dimension. + */ + dimensionResults?: Schema$GoogleAdsSearchads360V23Services__DimensionOverlapResult[]; + /** + * Metadata for the primary attribute, including potential YouTube reach. + */ + primaryAttributeMetadata?: Schema$GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata; + } + /** + * Request message for BenchmarksService.GenerateBenchmarksMetrics. + */ + export interface Schema$GoogleAdsSearchads360V23Services__GenerateBenchmarksMetricsRequest { + /** + * Additional information on the application issuing the request. + */ + applicationInfo?: Schema$GoogleAdsSearchads360V23Common__AdditionalApplicationInfo; + /** + * Required. The source used to generate benchmarks metrics for. + */ + benchmarksSource?: Schema$GoogleAdsSearchads360V23Services__BenchmarksSource; + /** + * Optional. The three-character ISO 4217 currency code. If unspecified, the default currency for monetary values is USD. + */ + currencyCode?: string | null; + /** + * The name of the customer being planned for. This is a user-defined value. + */ + customerBenchmarksGroup?: string | null; + /** + * The date range to aggregate metrics over. If unset, data will be returned for the most recent quarter for which data is available. Dates can be retrieved using BenchmarksService.ListBenchmarksAvailableDates. + */ + dateRange?: Schema$GoogleAdsSearchads360V23Common__DateRange; + /** + * Required. The location to generate benchmarks metrics for. + */ + location?: Schema$GoogleAdsSearchads360V23Common__LocationInfo; + /** + * Required. The products to aggregate metrics over. Product filter settings support a list of product IDs or a list of marketing objectives. + */ + productFilter?: Schema$GoogleAdsSearchads360V23Services__ProductFilter; + } + /** + * Response message for BenchmarksService.GenerateBenchmarksMetrics. + */ + export interface Schema$GoogleAdsSearchads360V23Services__GenerateBenchmarksMetricsResponse { + /** + * Metrics for the selected benchmarks source. + */ + averageBenchmarksMetrics?: Schema$GoogleAdsSearchads360V23Services__Metrics; + /** + * Metrics belonging to the customer. + */ + customerMetrics?: Schema$GoogleAdsSearchads360V23Services__Metrics; + } + /** + * Request message for ReachPlanService.GenerateConversionRates. + */ + export interface Schema$GoogleAdsSearchads360V23Services__GenerateConversionRatesRequest { + /** + * Required. The ID of the customer. A conversion rate based on the historical data of this customer may be suggested. + */ + customerId?: string | null; + /** + * The name of the customer being planned for. This is a user-defined value. + */ + customerReachGroup?: string | null; + /** + * Optional. Additional information on the application issuing the request. + */ + reachApplicationInfo?: Schema$GoogleAdsSearchads360V23Common__AdditionalApplicationInfo; + } + /** + * Response message for ReachPlanService.GenerateConversionRates, containing conversion rate suggestions for supported plannable products. + */ + export interface Schema$GoogleAdsSearchads360V23Services__GenerateConversionRatesResponse { + /** + * A list containing conversion rate suggestions. Each repeated element will have an associated product code. Multiple suggestions may share the same product code. + */ + conversionRateSuggestions?: Schema$GoogleAdsSearchads360V23Services__ConversionRateSuggestion[]; + } + /** + * Request message for AudienceInsightsService.GenerateInsightsFinderReport. + */ + export interface Schema$GoogleAdsSearchads360V23Services__GenerateInsightsFinderReportRequest { + /** + * Required. A baseline audience for this report, typically all people in a region. + */ + baselineAudience?: Schema$GoogleAdsSearchads360V23Services__InsightsAudience; + /** + * The name of the customer being planned for. This is a user-defined value. + */ + customerInsightsGroup?: string | null; + /** + * Optional. Additional information on the application issuing the request. + */ + insightsApplicationInfo?: Schema$GoogleAdsSearchads360V23Common__AdditionalApplicationInfo; + /** + * Required. The specific audience of interest for this report. The insights in the report will be based on attributes more prevalent in this audience than in the report's baseline audience. + */ + specificAudience?: Schema$GoogleAdsSearchads360V23Services__InsightsAudience; + } + /** + * The response message for AudienceInsightsService.GenerateInsightsFinderReport, containing the shareable URL for the report. + */ + export interface Schema$GoogleAdsSearchads360V23Services__GenerateInsightsFinderReportResponse { + /** + * An HTTPS URL providing a deep link into the Insights Finder UI with the report inputs filled in according to the request. + */ + savedReportUrl?: string | null; + } + /** + * Request message for KeywordPlanIdeaService.GenerateKeywordForecastMetrics. + */ + export interface Schema$GoogleAdsSearchads360V23Services__GenerateKeywordForecastMetricsRequest { + /** + * Required. The campaign used in the forecast. + */ + campaign?: Schema$GoogleAdsSearchads360V23Services__CampaignToForecast; + /** + * The currency used for exchange rate conversion. By default, the account currency of the customer is used. Set this field only if the currency is different from the account currency. The list of valid currency codes can be found at https://developers.google.com/google-ads/api/data/codes-formats#currency-codes. + */ + currencyCode?: string | null; + /** + * The date range for the forecast. The start date must be in the future and end date must be within 1 year from today. The reference timezone used is the one of the Google Ads account belonging to the customer. If not set, a default date range from next Sunday to the following Saturday will be used. + */ + forecastPeriod?: Schema$GoogleAdsSearchads360V23Common__DateRange; + } + /** + * Response message for KeywordPlanIdeaService.GenerateKeywordForecastMetrics. + */ + export interface Schema$GoogleAdsSearchads360V23Services__GenerateKeywordForecastMetricsResponse { + /** + * Results of the campaign forecast. + */ + campaignForecastMetrics?: Schema$GoogleAdsSearchads360V23Services__KeywordForecastMetrics; + } + /** + * Request message for KeywordPlanIdeaService.GenerateKeywordHistoricalMetrics. + */ + export interface Schema$GoogleAdsSearchads360V23Services__GenerateKeywordHistoricalMetricsRequest { + /** + * The aggregate fields to include in response. + */ + aggregateMetrics?: Schema$GoogleAdsSearchads360V23Common__KeywordPlanAggregateMetrics; + /** + * The resource names of the location to target. Maximum is 10. An empty list MAY be used to specify all targeting geos. + */ + geoTargetConstants?: string[] | null; + /** + * The options for historical metrics data. + */ + historicalMetricsOptions?: Schema$GoogleAdsSearchads360V23Common__HistoricalMetricsOptions; + /** + * If true, adult keywords will be included in response. The default value is false. + */ + includeAdultKeywords?: boolean | null; + /** + * Targeting network. If not set, Google Search And Partners Network will be used. + */ + keywordPlanNetwork?: string | null; + /** + * A list of keywords to get historical metrics. Not all inputs will be returned as a result of near-exact deduplication. For example, if stats for "car" and "cars" are requested, only "car" will be returned. A maximum of 10,000 keywords can be used. + */ + keywords?: string[] | null; + /** + * The resource name of the language to target. Each keyword belongs to some set of languages; a keyword is included if language is one of its languages. If not set, all keywords will be included. + */ + language?: string | null; + } + /** + * Response message for KeywordPlanIdeaService.GenerateKeywordHistoricalMetrics. + */ + export interface Schema$GoogleAdsSearchads360V23Services__GenerateKeywordHistoricalMetricsResponse { + /** + * The aggregate metrics for all keywords. + */ + aggregateMetricResults?: Schema$GoogleAdsSearchads360V23Common__KeywordPlanAggregateMetricResults; + /** + * List of keywords and their historical metrics. + */ + results?: Schema$GoogleAdsSearchads360V23Services__GenerateKeywordHistoricalMetricsResult[]; + } + /** + * The result of generating keyword historical metrics. + */ + export interface Schema$GoogleAdsSearchads360V23Services__GenerateKeywordHistoricalMetricsResult { + /** + * The list of close variants from the requested keywords whose stats are combined into this GenerateKeywordHistoricalMetricsResult. + */ + closeVariants?: string[] | null; + /** + * The historical metrics for text and its close variants + */ + keywordMetrics?: Schema$GoogleAdsSearchads360V23Common__KeywordPlanHistoricalMetrics; + /** + * The text of the query associated with one or more keywords. Note that we de-dupe your keywords list, eliminating close variants before returning the keywords as text. For example, if your request originally contained the keywords "car" and "cars", the returned search query will only contain "cars". The list of de-duped queries will be included in close_variants field. + */ + text?: string | null; + } + /** + * Response message for KeywordPlanIdeaService.GenerateKeywordIdeas. + */ + export interface Schema$GoogleAdsSearchads360V23Services__GenerateKeywordIdeaResponse { + /** + * The aggregate metrics for all keyword ideas. + */ + aggregateMetricResults?: Schema$GoogleAdsSearchads360V23Common__KeywordPlanAggregateMetricResults; + /** + * Pagination token used to retrieve the next page of results. Pass the content of this string as the `page_token` attribute of the next request. `next_page_token` is not returned for the last page. + */ + nextPageToken?: string | null; + /** + * Results of generating keyword ideas. + */ + results?: Schema$GoogleAdsSearchads360V23Services__GenerateKeywordIdeaResult[]; + /** + * Total number of results available. + */ + totalSize?: string | null; + } + /** + * The result of generating keyword ideas. + */ + export interface Schema$GoogleAdsSearchads360V23Services__GenerateKeywordIdeaResult { + /** + * The list of close variants from the requested keywords that are combined into this GenerateKeywordIdeaResult. See https://support.google.com/google-ads/answer/9342105 for the definition of "close variants". + */ + closeVariants?: string[] | null; + /** + * The annotations for the keyword. The annotation data is only provided if requested. + */ + keywordAnnotations?: Schema$GoogleAdsSearchads360V23Common__KeywordAnnotations; + /** + * The historical metrics for the keyword. + */ + keywordIdeaMetrics?: Schema$GoogleAdsSearchads360V23Common__KeywordPlanHistoricalMetrics; + /** + * Text of the keyword idea. As in Keyword Plan historical metrics, this text may not be an actual keyword, but the canonical form of multiple keywords. See KeywordPlanKeywordHistoricalMetrics message in KeywordPlanService. + */ + text?: string | null; + } + /** + * Request message for KeywordPlanIdeaService.GenerateKeywordIdeas. + */ + export interface Schema$GoogleAdsSearchads360V23Services__GenerateKeywordIdeasRequest { + /** + * The aggregate fields to include in response. + */ + aggregateMetrics?: Schema$GoogleAdsSearchads360V23Common__KeywordPlanAggregateMetrics; + /** + * The resource names of the location to target. Maximum is 10. An empty list MAY be used to specify all targeting geos. + */ + geoTargetConstants?: string[] | null; + /** + * The options for historical metrics data. + */ + historicalMetricsOptions?: Schema$GoogleAdsSearchads360V23Common__HistoricalMetricsOptions; + /** + * If true, adult keywords will be included in response. The default value is false. + */ + includeAdultKeywords?: boolean | null; + /** + * A Keyword and a specific Url to generate ideas from for example, cars, www.example.com/cars. + */ + keywordAndUrlSeed?: Schema$GoogleAdsSearchads360V23Services__KeywordAndUrlSeed; + /** + * The keyword annotations to include in response. + */ + keywordAnnotation?: string[] | null; + /** + * Targeting network. If not set, Google Search And Partners Network will be used. + */ + keywordPlanNetwork?: string | null; + /** + * A Keyword or phrase to generate ideas from, for example, cars. + */ + keywordSeed?: Schema$GoogleAdsSearchads360V23Services__KeywordSeed; + /** + * The resource name of the language to target. Each keyword belongs to some set of languages; a keyword is included if language is one of its languages. If not set, all keywords will be included. + */ + language?: string | null; + /** + * Number of results to retrieve in a single page. A maximum of 10,000 results may be returned, if the page_size exceeds this, it is ignored. If unspecified, at most 10,000 results will be returned. The server may decide to further limit the number of returned resources. If the response contains fewer than 10,000 results it may not be assumed as last page of results. + */ + pageSize?: number | null; + /** + * Token of the page to retrieve. If not specified, the first page of results will be returned. To request next page of results use the value obtained from `next_page_token` in the previous response. The request fields must match across pages. + */ + pageToken?: string | null; + /** + * The site to generate ideas from, for example, www.example.com. + */ + siteSeed?: Schema$GoogleAdsSearchads360V23Services__SiteSeed; + /** + * A specific url to generate ideas from, for example, www.example.com/cars. + */ + urlSeed?: Schema$GoogleAdsSearchads360V23Services__UrlSeed; + } + /** + * Request message for ReachPlanService.GenerateReachForecast. + */ + export interface Schema$GoogleAdsSearchads360V23Services__GenerateReachForecastRequest { + /** + * Required. Campaign duration. + */ + campaignDuration?: Schema$GoogleAdsSearchads360V23Services__CampaignDuration; + /** + * Chosen cookie frequency cap to be applied to each planned product. This is equivalent to the frequency cap exposed in Google Ads when creating a campaign, it represents the maximum number of times an ad can be shown to the same user. If not specified, no cap is applied. This field is deprecated in v4 and will eventually be removed. Use cookie_frequency_cap_setting instead. + */ + cookieFrequencyCap?: number | null; + /** + * Chosen cookie frequency cap to be applied to each planned product. This is equivalent to the frequency cap exposed in Google Ads when creating a campaign, it represents the maximum number of times an ad can be shown to the same user during a specified time interval. If not specified, a default of 0 (no cap) is applied. This field replaces the deprecated cookie_frequency_cap field. + */ + cookieFrequencyCapSetting?: Schema$GoogleAdsSearchads360V23Services__FrequencyCap; + /** + * The currency code. Three-character ISO 4217 currency code. + */ + currencyCode?: string | null; + /** + * The name of the customer being planned for. This is a user-defined value. + */ + customerReachGroup?: string | null; + /** + * The highest minimum effective frequency (the number of times a person was exposed to the ad) value [1-10] to include in Forecast.effective_frequency_breakdowns. If not specified, Forecast.effective_frequency_breakdowns will not be provided. The effective frequency value provided here will also be used as the minimum effective frequency for the reported reach metrics. This field cannot be combined with the min_effective_frequency field. + */ + effectiveFrequencyLimit?: Schema$GoogleAdsSearchads360V23Services__EffectiveFrequencyLimit; + /** + * Controls the forecast metrics returned in the response. + */ + forecastMetricOptions?: Schema$GoogleAdsSearchads360V23Services__ForecastMetricOptions; + /** + * Chosen minimum effective frequency (the number of times a person was exposed to the ad) for the reported reach metrics [1-10]. This won't affect the targeting, but just the reporting. If not specified, a default of 1 is applied. This field cannot be combined with the effective_frequency_limit field. + */ + minEffectiveFrequency?: number | null; + /** + * Required. The products to be forecast. The max number of allowed planned products is 15. + */ + plannedProducts?: Schema$GoogleAdsSearchads360V23Services__PlannedProduct[]; + /** + * Optional. Additional information on the application issuing the request. + */ + reachApplicationInfo?: Schema$GoogleAdsSearchads360V23Common__AdditionalApplicationInfo; + /** + * The targeting to be applied to all products selected in the product mix. This is planned targeting: execution details might vary based on the advertising product, consult an implementation specialist. See specific metrics for details on how targeting affects them. + */ + targeting?: Schema$GoogleAdsSearchads360V23Services__Targeting; + } + /** + * Response message containing the generated reach curve. + */ + export interface Schema$GoogleAdsSearchads360V23Services__GenerateReachForecastResponse { + /** + * Reference on target audiences for this curve. + */ + onTargetAudienceMetrics?: Schema$GoogleAdsSearchads360V23Services__OnTargetAudienceMetrics; + /** + * The generated reach curve for the planned product mix. + */ + reachCurve?: Schema$GoogleAdsSearchads360V23Services__ReachCurve; + } + /** + * Request message for RecommendationService.GenerateRecommendations. + */ + export interface Schema$GoogleAdsSearchads360V23Services__GenerateRecommendationsRequest { + /** + * Optional. Current AdGroup Information. Supports information from a single AdGroup. This field is optional for the following recommendation_types: KEYWORD + */ + adGroupInfo?: Schema$GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_AdGroupInfo[]; + /** + * Required. Advertising channel type of the campaign. The following advertising_channel_types are supported for recommendation generation: PERFORMANCE_MAX and SEARCH + */ + advertisingChannelType?: string | null; + /** + * Optional. Current AssetGroup Information. This field is required for the following recommendation_types: CAMPAIGN_BUDGET + */ + assetGroupInfo?: Schema$GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_AssetGroupInfo[]; + /** + * Optional. Current bidding information of the campaign. This field is necessary for the following recommendation_types: MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN, MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS, TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN + */ + biddingInfo?: Schema$GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_BiddingInfo; + /** + * Optional. Current budget information. This field is optional for the following recommendation_types: CAMPAIGN_BUDGET + */ + budgetInfo?: Schema$GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_BudgetInfo; + /** + * Optional. Current campaign call asset count. This field is optional for the following recommendation_types: CAMPAIGN_BUDGET + */ + campaignCallAssetCount?: number | null; + /** + * Optional. Current campaign image asset count. This field is optional for the following recommendation_types: CAMPAIGN_BUDGET + */ + campaignImageAssetCount?: number | null; + /** + * Optional. Number of sitelinks on the campaign. This field is necessary for the following recommendation_types: SITELINK_ASSET + */ + campaignSitelinkCount?: number | null; + /** + * Optional. Current conversion tracking status. This field is necessary for the following recommendation_types: MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN, MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS, TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN + */ + conversionTrackingStatus?: string | null; + /** + * Optional. Current campaign country codes. This field is required for the following recommendation_types: CAMPAIGN_BUDGET if AdvertisingChannelType is SEARCH + */ + countryCodes?: string[] | null; + /** + * Optional. Whether or not this customer should be treated as a "new" customer (that is, a customer who has not yet created a campaign). Setting this to `true` will cause the backend to generate recommendations using a dedicated recommendation model for onboarding new customers, as opposed to the default model for existing customers. This is only recommended for customers with 0 campaigns. This field is optional for the following recommendation_types: CAMPAIGN_BUDGET + */ + isNewCustomer?: boolean | null; + /** + * Optional. Current campaign language codes. This field is required for the following recommendation_types: CAMPAIGN_BUDGET if AdvertisingChannelType is SEARCH + */ + languageCodes?: string[] | null; + /** + * Optional. Merchant Center account ID. This field should only be set when advertising_channel_type is PERFORMANCE_MAX. Setting this field causes RecommendationService to generate recommendations for Performance Max for retail instead of standard Performance Max. This field is optional for the following recommendation_types: CAMPAIGN_BUDGET + */ + merchantCenterAccountId?: string | null; + /** + * Optional. Current campaign negative location ids. One of this field OR positive_location_ids is required for the following recommendation_types: CAMPAIGN_BUDGET if AdvertisingChannelType is SEARCH + */ + negativeLocationsIds?: string[] | null; + /** + * Optional. Current campaign positive location ids. One of this field OR negative_location_ids is required for the following recommendation_types: CAMPAIGN_BUDGET if AdvertisingChannelType is SEARCH + */ + positiveLocationsIds?: string[] | null; + /** + * Required. List of eligible recommendation_types to generate. If the uploaded criteria isn't sufficient to make a recommendation, or the campaign is already in the recommended state, no recommendation will be returned for that type. Generally, a recommendation is returned if all required fields for that recommendation_type are uploaded, but there are cases where this is still not sufficient. The following recommendation_types are supported for recommendation generation: KEYWORD, MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN, MAXIMIZE_CONVERSION_VALUE_OPT_IN, SET_TARGET_CPA, SET_TARGET_ROAS, SITELINK_ASSET, TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN + */ + recommendationTypes?: string[] | null; + /** + * Optional. Seed information for Keywords. This field is necessary for the following recommendation_types: KEYWORD + */ + seedInfo?: Schema$GoogleAdsSearchads360V23Services_GenerateRecommendationsRequest_SeedInfo; + /** + * Optional. If true, the campaign is opted into serving ads on specified placements in the Google Display Network. This field is optional for the following recommendation_types: CAMPAIGN_BUDGET + */ + targetContentNetwork?: boolean | null; + /** + * Optional. If true, the campaign is opted into serving ads on the Google Partner Network. This field is optional for the following recommendation_types: CAMPAIGN_BUDGET + */ + targetPartnerSearchNetwork?: boolean | null; + } + /** + * Response message for RecommendationService.GenerateRecommendations. + */ + export interface Schema$GoogleAdsSearchads360V23Services__GenerateRecommendationsResponse { + /** + * List of generated recommendations from the passed in set of requested recommendation_types. If there isn't sufficient data to generate a recommendation for the requested recommendation_types, the result set won't contain a recommendation for that type. + */ + recommendations?: Schema$GoogleAdsSearchads360V23Resources__Recommendation[]; + } + /** + * Request message for AudienceInsightsService.GenerateSuggestedTargetingInsights. + */ + export interface Schema$GoogleAdsSearchads360V23Services__GenerateSuggestedTargetingInsightsRequest { + /** + * Provide a seed audience to get suggestions for. + */ + audienceDefinition?: Schema$GoogleAdsSearchads360V23Services__InsightsAudienceDefinition; + /** + * Provide a text description of an audience to get AI-generated targeting suggestions. This can take around 5 or more seconds to complete. + */ + audienceDescription?: Schema$GoogleAdsSearchads360V23Services__InsightsAudienceDescription; + /** + * Optional. The name of the customer being planned for. This is a user-defined value. + */ + customerInsightsGroup?: string | null; + /** + * Optional. Additional information on the application issuing the request. + */ + insightsApplicationInfo?: Schema$GoogleAdsSearchads360V23Common__AdditionalApplicationInfo; + } + /** + * Response message for AudienceInsightsService.GenerateSuggestedTargetingInsights. + */ + export interface Schema$GoogleAdsSearchads360V23Services__GenerateSuggestedTargetingInsightsResponse { + /** + * Suggested insights for targetable audiences. + */ + suggestions?: Schema$GoogleAdsSearchads360V23Services__TargetingSuggestionMetrics[]; + } + /** + * Request message for AudienceInsightsService.GenerateTargetingSuggestionMetrics. + */ + export interface Schema$GoogleAdsSearchads360V23Services__GenerateTargetingSuggestionMetricsRequest { + /** + * Required. Audiences to request metrics for. + */ + audiences?: Schema$GoogleAdsSearchads360V23Services__InsightsAudience[]; + /** + * Optional. The name of the customer being planned for. This is a user-defined value. + */ + customerInsightsGroup?: string | null; + /** + * Optional. Additional information on the application issuing the request. + */ + insightsApplicationInfo?: Schema$GoogleAdsSearchads360V23Common__AdditionalApplicationInfo; + } + /** + * Response message for AudienceInsightsService.GenerateTargetingSuggestionMetrics. + */ + export interface Schema$GoogleAdsSearchads360V23Services__GenerateTargetingSuggestionMetricsResponse { + /** + * Suggested targetable audiences. There will be one suggestion for each GenerateTargetingSuggestionMetricsRequest.audiences requested, matching the order requested. + */ + suggestions?: Schema$GoogleAdsSearchads360V23Services__TargetingSuggestionMetrics[]; + } + /** + * A geo target constant suggestion. + */ + export interface Schema$GoogleAdsSearchads360V23Services__GeoTargetConstantSuggestion { + /** + * The GeoTargetConstant result. + */ + geoTargetConstant?: Schema$GoogleAdsSearchads360V23Resources__GeoTargetConstant; + /** + * The list of parents of the geo target constant. + */ + geoTargetConstantParents?: Schema$GoogleAdsSearchads360V23Resources__GeoTargetConstant[]; + /** + * The language this GeoTargetConstantSuggestion is currently translated to. It affects the name of geo target fields. For example, if locale=en, then name=Spain. If locale=es, then name=España. The default locale will be returned if no translation exists for the locale in the request. + */ + locale?: string | null; + /** + * Approximate user population that will be targeted, rounded to the nearest 100. + */ + reach?: string | null; + /** + * If the request searched by location name, this is the location name that matched the geo target. + */ + searchTerm?: string | null; + } + /** + * Response message for GetIdentityVerification. + */ + export interface Schema$GoogleAdsSearchads360V23Services__GetIdentityVerificationResponse { + /** + * List of identity verifications for the customer. + */ + identityVerification?: Schema$GoogleAdsSearchads360V23Services__IdentityVerification[]; + } + /** + * Response message for SmartCampaignSettingService.GetSmartCampaignStatus. + */ + export interface Schema$GoogleAdsSearchads360V23Services__GetSmartCampaignStatusResponse { + /** + * Details related to Smart campaigns that are eligible to serve. + */ + eligibleDetails?: Schema$GoogleAdsSearchads360V23Services__SmartCampaignEligibleDetails; + /** + * Details related to Smart campaigns that have ended. + */ + endedDetails?: Schema$GoogleAdsSearchads360V23Services__SmartCampaignEndedDetails; + /** + * Details related to Smart campaigns that are ineligible to serve. + */ + notEligibleDetails?: Schema$GoogleAdsSearchads360V23Services__SmartCampaignNotEligibleDetails; + /** + * Details related to paused Smart campaigns. + */ + pausedDetails?: Schema$GoogleAdsSearchads360V23Services__SmartCampaignPausedDetails; + /** + * Details related to removed Smart campaigns. + */ + removedDetails?: Schema$GoogleAdsSearchads360V23Services__SmartCampaignRemovedDetails; + /** + * The status of this Smart campaign. + */ + smartCampaignStatus?: string | null; + } + /** + * A single mutate operation on the goal. + */ + export interface Schema$GoogleAdsSearchads360V23Services__GoalOperation { + /** + * Create a new goal. + */ + create?: Schema$GoogleAdsSearchads360V23Resources__Goal; + /** + * Update an existing goal. + */ + update?: Schema$GoogleAdsSearchads360V23Resources__Goal; + /** + * FieldMask that determines which resource fields are modified in an update. + */ + updateMask?: string | null; + } + /** + * Request message for ExperimentService.GraduateExperiment. + */ + export interface Schema$GoogleAdsSearchads360V23Services__GraduateExperimentRequest { + /** + * Required. List of campaign budget mappings for graduation. Each campaign that appears here will graduate, and will be assigned a new budget that is paired with it in the mapping. The maximum size is one. + */ + campaignBudgetMappings?: Schema$GoogleAdsSearchads360V23Services__CampaignBudgetMapping[]; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Message containing the asset suggestions for a hotel. + */ + export interface Schema$GoogleAdsSearchads360V23Services__HotelAssetSuggestion { + /** + * Call to action type. + */ + callToAction?: string | null; + /** + * Suggested final URL for an AssetGroup. + */ + finalUrl?: string | null; + /** + * Hotel name in requested language. + */ + hotelName?: string | null; + /** + * Image assets such as landscape/portrait/square, etc. + */ + imageAssets?: Schema$GoogleAdsSearchads360V23Services__HotelImageAsset[]; + /** + * Google Places ID of the hotel. + */ + placeId?: string | null; + /** + * The status of the hotel asset suggestion. + */ + status?: string | null; + /** + * Text assets such as headline, description, etc. + */ + textAssets?: Schema$GoogleAdsSearchads360V23Services__HotelTextAsset[]; + } + /** + * A single image asset suggestion for a hotel. + */ + export interface Schema$GoogleAdsSearchads360V23Services__HotelImageAsset { + /** + * The Image asset type. For example, MARKETING_IMAGE, PORTRAIT_MARKETING_IMAGE, etc. + */ + assetFieldType?: string | null; + /** + * URI for the image. + */ + uri?: string | null; + } + /** + * A single text asset suggestion for a hotel. + */ + export interface Schema$GoogleAdsSearchads360V23Services__HotelTextAsset { + /** + * The text asset type. For example, HEADLINE, DESCRIPTION, etc. + */ + assetFieldType?: string | null; + /** + * Asset text in requested language. + */ + text?: string | null; + } + /** + * An identity verification for a customer. + */ + export interface Schema$GoogleAdsSearchads360V23Services__IdentityVerification { + /** + * The verification requirement for this verification program for this customer. + */ + identityVerificationRequirement?: Schema$GoogleAdsSearchads360V23Services__IdentityVerificationRequirement; + /** + * The verification program type. + */ + verificationProgram?: string | null; + /** + * Information regarding progress for this verification program for this customer. + */ + verificationProgress?: Schema$GoogleAdsSearchads360V23Services__IdentityVerificationProgress; + } + /** + * Information regarding the verification progress for a verification program type. + */ + export interface Schema$GoogleAdsSearchads360V23Services__IdentityVerificationProgress { + /** + * Action URL for user to complete verification for the given verification program type. + */ + actionUrl?: string | null; + /** + * The timestamp when the action url will expire in "yyyy-MM-dd HH:mm:ss" format. + */ + invitationLinkExpirationTime?: string | null; + /** + * Current Status (PENDING_USER_ACTION, SUCCESS, FAILURE etc) + */ + programStatus?: string | null; + } + /** + * Information regarding the verification requirement for a verification program type. + */ + export interface Schema$GoogleAdsSearchads360V23Services__IdentityVerificationRequirement { + /** + * The deadline to submit verification. + */ + verificationCompletionDeadlineTime?: string | null; + /** + * The deadline to start verification in "yyyy-MM-dd HH:mm:ss" format. + */ + verificationStartDeadlineTime?: string | null; + } + /** + * An incentive that a user can claim for their account. + */ + export interface Schema$GoogleAdsSearchads360V23Services__Incentive { + /** + * The incentive ID of this incentive. This is used to identify which incentive is selected by the user in the CYO flow. + */ + incentiveId?: string | null; + /** + * The URL of the terms and conditions for THIS incentive offer ONLY. This is different from the terms_and_conditions_url field in AcquisitionIncentiveOffer which is a combination of all the Incentive offers in a CYO offer. + */ + incentiveTermsAndConditionsUrl?: string | null; + /** + * The requirement for this incentive. + */ + requirement?: Schema$GoogleAdsSearchads360V23Services_Incentive_Requirement; + /** + * The type of the incentive. + */ + type?: string | null; + } + /** + * An acquisition incentive offer for a user. An offer means how the user is treated. An offer can have no incentive or multiple incentives. + */ + export interface Schema$GoogleAdsSearchads360V23Services__IncentiveOffer { + /** + * Optional. The URL of the terms and conditions for the incentive offer. + */ + consolidatedTermsAndConditionsUrl?: string | null; + /** + * CYO incentives. Set when type is CYO_INCENTIVE. + */ + cyoIncentives?: Schema$GoogleAdsSearchads360V23Services__CyoIncentives; + /** + * Required. The type of this acquisition incentive offer. + */ + type?: string | null; + } + /** + * The information associated with an Industry Vertical. + */ + export interface Schema$GoogleAdsSearchads360V23Services__IndustryVerticalInfo { + /** + * The unique identifier of the Industry Vertical. + */ + industryVerticalId?: string | null; + /** + * The name of the Industry Vertical. + */ + industryVerticalName?: string | null; + /** + * The unique identifier of the parent Industry Vertical, if exists. + */ + parentIndustryVerticalId?: string | null; + } + /** + * A set of users, defined by various characteristics, for which insights can be requested in AudienceInsightsService. + */ + export interface Schema$GoogleAdsSearchads360V23Services__InsightsAudience { + /** + * Age ranges for the audience. If absent, the audience represents all people over 18 that match the other attributes. + */ + ageRanges?: Schema$GoogleAdsSearchads360V23Common__AgeRangeInfo[]; + /** + * Required. The countries for the audience. + */ + countryLocations?: Schema$GoogleAdsSearchads360V23Common__LocationInfo[]; + /** + * Gender for the audience. If absent, the audience does not restrict by gender. + */ + gender?: Schema$GoogleAdsSearchads360V23Common__GenderInfo; + /** + * Household income percentile ranges for the audience. If absent, the audience does not restrict by household income range. + */ + incomeRanges?: Schema$GoogleAdsSearchads360V23Common__IncomeRangeInfo[]; + /** + * Lineups representing the YouTube content viewed by the audience. + */ + lineups?: Schema$GoogleAdsSearchads360V23Common__AudienceInsightsLineup[]; + /** + * Parental status for the audience. If absent, the audience does not restrict by parental status. + */ + parentalStatus?: Schema$GoogleAdsSearchads360V23Common__ParentalStatusInfo; + /** + * Sub-country geographic location attributes. If present, each of these must be contained in one of the countries in this audience. If absent, the audience is geographically to the country_locations and no further. + */ + subCountryLocations?: Schema$GoogleAdsSearchads360V23Common__LocationInfo[]; + /** + * A combination of entity, category and user interest attributes defining the audience. The combination has a logical AND-of-ORs structure: Attributes within each InsightsAudienceAttributeGroup are combined with OR, and the combinations themselves are combined together with AND. For example, the expression (Entity OR Affinity) AND (In-Market OR Category) can be formed using two InsightsAudienceAttributeGroups with two Attributes each. + */ + topicAudienceCombinations?: Schema$GoogleAdsSearchads360V23Services__InsightsAudienceAttributeGroup[]; + /** + * User list to be targeted by the audience. + */ + userList?: Schema$GoogleAdsSearchads360V23Common__UserListInfo; + } + /** + * A list of AudienceInsightsAttributes. + */ + export interface Schema$GoogleAdsSearchads360V23Services__InsightsAudienceAttributeGroup { + /** + * Required. A collection of audience attributes to be combined with logical OR. Attributes need not all be the same dimension. Only Knowledge Graph entities, Product & Service Categories, and Affinity and In-Market audiences are supported in this context. + */ + attributes?: Schema$GoogleAdsSearchads360V23Common__AudienceInsightsAttribute[]; + } + /** + * A structured definition of the audience of interest for which insights are being requested in AudienceInsightsService. + */ + export interface Schema$GoogleAdsSearchads360V23Services__InsightsAudienceDefinition { + /** + * Required. The audience of interest for which insights are being requested. + */ + audience?: Schema$GoogleAdsSearchads360V23Services__InsightsAudience; + /** + * Optional. The baseline audience. The default, if unspecified, is all people in the same country as the audience of interest. + */ + baselineAudience?: Schema$GoogleAdsSearchads360V23Services__InsightsAudience; + /** + * Optional. The one-month range of historical data to use for insights, in the format "yyyy-mm". If unset, insights will be returned for the last thirty days of data. + */ + dataMonth?: string | null; + } + /** + * A text description of the audience of interest for which insights are being requested in AudienceInsightsService. + */ + export interface Schema$GoogleAdsSearchads360V23Services__InsightsAudienceDescription { + /** + * Required. An English language text description of an audience to get suggestions for. Maximum length is 2000 characters. For example, "Women in their 30s who love to travel". + */ + audienceDescription?: string | null; + /** + * Optional. An optional list of audience dimensions to return. + */ + audienceDimensions?: Schema$GoogleAdsSearchads360V23Services__AudienceInsightsDimensions; + /** + * Required. The countries for the audience. + */ + countryLocations?: Schema$GoogleAdsSearchads360V23Common__LocationInfo[]; + /** + * Optional. An optional marketing objective which will influence the type of suggestions produced. + */ + marketingObjective?: string | null; + } + /** + * Keyword And Url Seed + */ + export interface Schema$GoogleAdsSearchads360V23Services__KeywordAndUrlSeed { + /** + * Requires at least one keyword and no more than 20 keywords. + */ + keywords?: string[] | null; + /** + * The URL to crawl in order to generate keyword ideas. + */ + url?: string | null; + } + /** + * The forecast metrics for the planless keyword campaign. + */ + export interface Schema$GoogleAdsSearchads360V23Services__KeywordForecastMetrics { + /** + * Average cost per acquisition calculated as cost_micros / conversions. + */ + averageCpaMicros?: string | null; + /** + * The average cpc. Available only if clicks \> 0. + */ + averageCpcMicros?: string | null; + /** + * The total number of clicks. + */ + clicks?: number | null; + /** + * The average click through rate. Available only if impressions \> 0. + */ + clickThroughRate?: number | null; + /** + * Forecasted conversion rate. + */ + conversionRate?: number | null; + /** + * Forecasted number of conversions: clicks * conversion_rate. + */ + conversions?: number | null; + /** + * The total cost. + */ + costMicros?: string | null; + /** + * The total number of impressions. + */ + impressions?: number | null; + } + /** + * A single operation (create, update, remove) on a Keyword Plan ad group keyword. + */ + export interface Schema$GoogleAdsSearchads360V23Services__KeywordPlanAdGroupKeywordOperation { + /** + * Create operation: No resource name is expected for the new Keyword Plan ad group keyword. + */ + create?: Schema$GoogleAdsSearchads360V23Resources__KeywordPlanAdGroupKeyword; + /** + * Remove operation: A resource name for the removed Keyword Plan ad group keyword is expected, in this format: `customers/{customer_id\}/keywordPlanAdGroupKeywords/{kp_ad_group_keyword_id\}` + */ + remove?: string | null; + /** + * Update operation: The Keyword Plan ad group keyword is expected to have a valid resource name. + */ + update?: Schema$GoogleAdsSearchads360V23Resources__KeywordPlanAdGroupKeyword; + /** + * The FieldMask that determines which resource fields are modified in an update. + */ + updateMask?: string | null; + } + /** + * A single operation (create, update, remove) on a Keyword Plan ad group. + */ + export interface Schema$GoogleAdsSearchads360V23Services__KeywordPlanAdGroupOperation { + /** + * Create operation: No resource name is expected for the new Keyword Plan ad group. + */ + create?: Schema$GoogleAdsSearchads360V23Resources__KeywordPlanAdGroup; + /** + * Remove operation: A resource name for the removed Keyword Plan ad group is expected, in this format: `customers/{customer_id\}/keywordPlanAdGroups/{kp_ad_group_id\}` + */ + remove?: string | null; + /** + * Update operation: The Keyword Plan ad group is expected to have a valid resource name. + */ + update?: Schema$GoogleAdsSearchads360V23Resources__KeywordPlanAdGroup; + /** + * The FieldMask that determines which resource fields are modified in an update. + */ + updateMask?: string | null; + } + /** + * A single operation (create, update, remove) on a Keyword Plan campaign keyword. + */ + export interface Schema$GoogleAdsSearchads360V23Services__KeywordPlanCampaignKeywordOperation { + /** + * Create operation: No resource name is expected for the new Keyword Plan campaign keyword. + */ + create?: Schema$GoogleAdsSearchads360V23Resources__KeywordPlanCampaignKeyword; + /** + * Remove operation: A resource name for the removed Keyword Plan campaign keywords expected in this format: `customers/{customer_id\}/keywordPlanCampaignKeywords/{kp_campaign_keyword_id\}` + */ + remove?: string | null; + /** + * Update operation: The Keyword Plan campaign keyword expected to have a valid resource name. + */ + update?: Schema$GoogleAdsSearchads360V23Resources__KeywordPlanCampaignKeyword; + /** + * The FieldMask that determines which resource fields are modified in an update. + */ + updateMask?: string | null; + } + /** + * A single operation (create, update, remove) on a Keyword Plan campaign. + */ + export interface Schema$GoogleAdsSearchads360V23Services__KeywordPlanCampaignOperation { + /** + * Create operation: No resource name is expected for the new Keyword Plan campaign. + */ + create?: Schema$GoogleAdsSearchads360V23Resources__KeywordPlanCampaign; + /** + * Remove operation: A resource name for the removed Keyword Plan campaign is expected, in this format: `customers/{customer_id\}/keywordPlanCampaigns/{keywordPlan_campaign_id\}` + */ + remove?: string | null; + /** + * Update operation: The Keyword Plan campaign is expected to have a valid resource name. + */ + update?: Schema$GoogleAdsSearchads360V23Resources__KeywordPlanCampaign; + /** + * The FieldMask that determines which resource fields are modified in an update. + */ + updateMask?: string | null; + } + /** + * A single operation (create, update, remove) on a keyword plan. + */ + export interface Schema$GoogleAdsSearchads360V23Services__KeywordPlanOperation { + /** + * Create operation: No resource name is expected for the new keyword plan. + */ + create?: Schema$GoogleAdsSearchads360V23Resources__KeywordPlan; + /** + * Remove operation: A resource name for the removed keyword plan is expected in this format: `customers/{customer_id\}/keywordPlans/{keyword_plan_id\}` + */ + remove?: string | null; + /** + * Update operation: The keyword plan is expected to have a valid resource name. + */ + update?: Schema$GoogleAdsSearchads360V23Resources__KeywordPlan; + /** + * The FieldMask that determines which resource fields are modified in an update. + */ + updateMask?: string | null; + } + /** + * Keyword Seed + */ + export interface Schema$GoogleAdsSearchads360V23Services__KeywordSeed { + /** + * Requires at least one keyword and no more than 20 keywords. + */ + keywords?: string[] | null; + } + /** + * A single operation (create, remove, update) on a label. + */ + export interface Schema$GoogleAdsSearchads360V23Services__LabelOperation { + /** + * Create operation: No resource name is expected for the new label. + */ + create?: Schema$GoogleAdsSearchads360V23Resources__Label; + /** + * Remove operation: A resource name for the label being removed, in this format: `customers/{customer_id\}/labels/{label_id\}` + */ + remove?: string | null; + /** + * Update operation: The label is expected to have a valid resource name. + */ + update?: Schema$GoogleAdsSearchads360V23Resources__Label; + /** + * FieldMask that determines which resource fields are modified in an update. + */ + updateMask?: string | null; + } + /** + * Response message for CustomerService.ListAccessibleCustomers. + */ + export interface Schema$GoogleAdsSearchads360V23Services__ListAccessibleCustomersResponse { + /** + * Resource name of customers directly accessible by the user authenticating the call. + */ + resourceNames?: string[] | null; + } + /** + * Request message for AudienceInsightsService.ListAudienceInsightsAttributes. + */ + export interface Schema$GoogleAdsSearchads360V23Services__ListAudienceInsightsAttributesRequest { + /** + * The name of the customer being planned for. This is a user-defined value. + */ + customerInsightsGroup?: string | null; + /** + * Required. The types of attributes to be returned. Supported dimensions are CATEGORY, KNOWLEDGE_GRAPH, GEO_TARGET_COUNTRY, SUB_COUNTRY_LOCATION, YOUTUBE_LINEUP, AFFINITY_USER_INTEREST, IN_MARKET_USER_INTEREST, . + */ + dimensions?: string[] | null; + /** + * Optional. Additional information on the application issuing the request. + */ + insightsApplicationInfo?: Schema$GoogleAdsSearchads360V23Common__AdditionalApplicationInfo; + /** + * If SUB_COUNTRY_LOCATION attributes are one of the requested dimensions and this field is present, then the SUB_COUNTRY_LOCATION attributes returned will be located in these countries. If this field is absent, then location attributes are not filtered by country. Setting this field when SUB_COUNTRY_LOCATION attributes are not requested will return an error. + */ + locationCountryFilters?: Schema$GoogleAdsSearchads360V23Common__LocationInfo[]; + /** + * Required. A free text query. If the requested dimensions include Attributes CATEGORY or KNOWLEDGE_GRAPH, then the attributes returned for those dimensions will match or be related to this string. For other dimensions, this field is ignored and all available attributes are returned. + */ + queryText?: string | null; + /** + * If present, potential YouTube reach estimates within the specified market will be returned for attributes for which they are available. Reach is only available for the AGE_RANGE, GENDER, AFFINITY_USER_INTEREST and IN_MARKET_USER_INTEREST dimensions, and may not be available for every attribute of those dimensions in every market. + */ + youtubeReachLocation?: Schema$GoogleAdsSearchads360V23Common__LocationInfo; + } + /** + * Response message for AudienceInsightsService.ListAudienceInsightsAttributes. + */ + export interface Schema$GoogleAdsSearchads360V23Services__ListAudienceInsightsAttributesResponse { + /** + * The attributes matching the search query. + */ + attributes?: Schema$GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata[]; + } + /** + * Response message for BatchJobService.ListBatchJobResults. + */ + export interface Schema$GoogleAdsSearchads360V23Services__ListBatchJobResultsResponse { + /** + * Pagination token used to retrieve the next page of results. Pass the content of this string as the `page_token` attribute of the next request. `next_page_token` is not returned for the last page. + */ + nextPageToken?: string | null; + /** + * The list of rows that matched the query. + */ + results?: Schema$GoogleAdsSearchads360V23Services__BatchJobResult[]; + } + /** + * Request message for BenchmarksService.ListBenchmarksAvailableDates. + */ + export interface Schema$GoogleAdsSearchads360V23Services__ListBenchmarksAvailableDatesRequest { + /** + * Additional information on the application issuing the request. + */ + applicationInfo?: Schema$GoogleAdsSearchads360V23Common__AdditionalApplicationInfo; + } + /** + * Response message for BenchmarksService.ListBenchmarksAvailableDates. + */ + export interface Schema$GoogleAdsSearchads360V23Services__ListBenchmarksAvailableDatesResponse { + /** + * The dates that support benchmarks metrics. Data is supported for any dates within this date range inclusive. + */ + supportedDates?: Schema$GoogleAdsSearchads360V23Common__DateRange; + } + /** + * Request message for BenchmarksService.ListBenchmarksLocations. + */ + export interface Schema$GoogleAdsSearchads360V23Services__ListBenchmarksLocationsRequest { + /** + * Additional information on the application issuing the request. + */ + applicationInfo?: Schema$GoogleAdsSearchads360V23Common__AdditionalApplicationInfo; + } + /** + * Response message for BenchmarksService.ListBenchmarksLocations. + */ + export interface Schema$GoogleAdsSearchads360V23Services__ListBenchmarksLocationsResponse { + /** + * The list of locations supported for benchmarks data. + */ + benchmarksLocations?: Schema$GoogleAdsSearchads360V23Services__BenchmarksLocation[]; + } + /** + * Request message for BenchmarksService.ListBenchmarksProducts. + */ + export interface Schema$GoogleAdsSearchads360V23Services__ListBenchmarksProductsRequest { + /** + * Additional information on the application issuing the request. + */ + applicationInfo?: Schema$GoogleAdsSearchads360V23Common__AdditionalApplicationInfo; + } + /** + * Response message for BenchmarksService.ListBenchmarksProducts. + */ + export interface Schema$GoogleAdsSearchads360V23Services__ListBenchmarksProductsResponse { + /** + * The list of products available for benchmarks data. + */ + benchmarksProducts?: Schema$GoogleAdsSearchads360V23Services__BenchmarksProductMetadata[]; + } + /** + * Request message for BenchmarksService.ListBenchmarksSources. + */ + export interface Schema$GoogleAdsSearchads360V23Services__ListBenchmarksSourcesRequest { + /** + * Additional information on the application issuing the request. + */ + applicationInfo?: Schema$GoogleAdsSearchads360V23Common__AdditionalApplicationInfo; + /** + * Required. The types of benchmarks sources to be returned (for example, INDUSTRY_VERTICAL). + */ + benchmarksSources?: string[] | null; + } + /** + * Response message for BenchmarksService.ListBenchmarksSources. + */ + export interface Schema$GoogleAdsSearchads360V23Services__ListBenchmarksSourcesResponse { + /** + * The list of available source used to generate benchmarks data for. + */ + benchmarksSources?: Schema$GoogleAdsSearchads360V23Services__BenchmarksSourceMetadata[]; + } + /** + * Response message for CampaignDraftService.ListCampaignDraftAsyncErrors. + */ + export interface Schema$GoogleAdsSearchads360V23Services__ListCampaignDraftAsyncErrorsResponse { + /** + * Details of the errors when performing the asynchronous operation. + */ + errors?: Schema$GoogleRpc__Status[]; + /** + * Pagination token used to retrieve the next page of results. Pass the content of this string as the `page_token` attribute of the next request. `next_page_token` is not returned for the last page. + */ + nextPageToken?: string | null; + } + /** + * Response message for fetching all custom columns associated with a customer. + */ + export interface Schema$GoogleAdsSearchads360V23Services__ListCustomColumnsResponse { + /** + * The CustomColumns owned by the provided customer. + */ + customColumns?: Schema$GoogleAdsSearchads360V23Resources__CustomColumn[]; + } + /** + * Response message for ExperimentService.ListExperimentAsyncErrors. + */ + export interface Schema$GoogleAdsSearchads360V23Services__ListExperimentAsyncErrorsResponse { + /** + * details of the errors when performing the asynchronous operation. + */ + errors?: Schema$GoogleRpc__Status[]; + /** + * Pagination token used to retrieve the next page of results. Pass the content of this string as the `page_token` attribute of the next request. `next_page_token` is not returned for the last page. + */ + nextPageToken?: string | null; + } + /** + * Request message for AudienceInsightsService.ListInsightsEligibleDates. + */ + export interface Schema$GoogleAdsSearchads360V23Services__ListInsightsEligibleDatesRequest { + /** + * Optional. Additional information on the application issuing the request. + */ + insightsApplicationInfo?: Schema$GoogleAdsSearchads360V23Common__AdditionalApplicationInfo; + } + /** + * Response message for AudienceInsightsService.ListInsightsEligibleDates. + */ + export interface Schema$GoogleAdsSearchads360V23Services__ListInsightsEligibleDatesResponse { + /** + * The months for which AudienceInsights data is currently available, each represented as a string in the form "YYYY-MM". + */ + dataMonths?: string[] | null; + /** + * The actual dates covered by the "last 30 days" date range that will be used implicitly for AudienceInsightsService.GenerateAudienceCompositionInsights requests that have no data_month set. + */ + lastThirtyDays?: Schema$GoogleAdsSearchads360V23Common__DateRange; + } + /** + * Response message for InvoiceService.ListInvoices. + */ + export interface Schema$GoogleAdsSearchads360V23Services__ListInvoicesResponse { + /** + * The list of invoices that match the billing setup and time period. + */ + invoices?: Schema$GoogleAdsSearchads360V23Resources__Invoice[]; + } + /** + * Response message for PaymentsAccountService.ListPaymentsAccounts. + */ + export interface Schema$GoogleAdsSearchads360V23Services__ListPaymentsAccountsResponse { + /** + * The list of accessible payments accounts. + */ + paymentsAccounts?: Schema$GoogleAdsSearchads360V23Resources__PaymentsAccount[]; + } + /** + * Request message for ReachPlanService.ListPlannableLocations. + */ + export interface Schema$GoogleAdsSearchads360V23Services__ListPlannableLocationsRequest { + /** + * Optional. Additional information on the application issuing the request. + */ + reachApplicationInfo?: Schema$GoogleAdsSearchads360V23Common__AdditionalApplicationInfo; + } + /** + * The list of plannable locations. + */ + export interface Schema$GoogleAdsSearchads360V23Services__ListPlannableLocationsResponse { + /** + * The list of locations available for planning. See https://developers.google.com/google-ads/api/reference/data/geotargets for sample locations. + */ + plannableLocations?: Schema$GoogleAdsSearchads360V23Services__PlannableLocation[]; + } + /** + * Request to list available products in a given location. + */ + export interface Schema$GoogleAdsSearchads360V23Services__ListPlannableProductsRequest { + /** + * Required. The ID of the selected location for planning. To list the available plannable location IDs use ReachPlanService.ListPlannableLocations. + */ + plannableLocationId?: string | null; + /** + * Optional. Additional information on the application issuing the request. + */ + reachApplicationInfo?: Schema$GoogleAdsSearchads360V23Common__AdditionalApplicationInfo; + } + /** + * A response with all available products. + */ + export interface Schema$GoogleAdsSearchads360V23Services__ListPlannableProductsResponse { + /** + * The list of products available for planning and related targeting metadata. + */ + productMetadata?: Schema$GoogleAdsSearchads360V23Services__ProductMetadata[]; + } + /** + * Request message for ReachPlanService.ListPlannableUserInterests. + */ + export interface Schema$GoogleAdsSearchads360V23Services__ListPlannableUserInterestsRequest { + /** + * Required. The ID of the customer. + */ + customerId?: string | null; + /** + * A filter by user interest name. If set, only user interests with a name containing the literal string (case insensitive) in the filter will be returned. Maximum length is 200 characters. + */ + nameQuery?: string | null; + /** + * A filter by user interest path. If set, only user interests with a path containing the literal string (case insensitive) in the filter will be returned. Maximum length is 200 characters. + */ + pathQuery?: string | null; + /** + * Optional. Additional information on the application issuing the request. + */ + reachApplicationInfo?: Schema$GoogleAdsSearchads360V23Common__AdditionalApplicationInfo; + /** + * Optional. A filter by user interest type. If set, only user interests with a type listed in the filter will be returned. If not set, user interests of all supported types will be returned. Supported user interest types are AFFINITY and IN_MARKET. Each type must be specified at most once. + */ + userInterestTaxonomyTypes?: string[] | null; + } + /** + * Response message for ReachPlanService.ListPlannableUserInterests. + */ + export interface Schema$GoogleAdsSearchads360V23Services__ListPlannableUserInterestsResponse { + /** + * The list of plannable user interests. + */ + plannableUserInterests?: Schema$GoogleAdsSearchads360V23Services__PlannableUserInterest[]; + } + /** + * Request message for ReachPlanService.ListPlannableUserLists that lists the available user lists for a customer. + */ + export interface Schema$GoogleAdsSearchads360V23Services__ListPlannableUserListsRequest { + /** + * Required. The ID of the customer. + */ + customerId?: string | null; + /** + * The name of the customer being planned for. This is a user-defined value. + */ + customerReachGroup?: string | null; + /** + * Optional. Additional information on the application issuing the request. + */ + reachApplicationInfo?: Schema$GoogleAdsSearchads360V23Common__AdditionalApplicationInfo; + } + /** + * A response with all available user lists with their plannable status. + */ + export interface Schema$GoogleAdsSearchads360V23Services__ListPlannableUserListsResponse { + /** + * The list of user lists available for planning and related targeting metadata. + */ + plannableUserLists?: Schema$GoogleAdsSearchads360V23Services__PlannableUserList[]; + } + /** + * Manual CPC Bidding Strategy. + */ + export interface Schema$GoogleAdsSearchads360V23Services__ManualCpcBiddingStrategy { + /** + * Campaign level budget in micros. If set, a minimum value is enforced for the local currency used in the campaign. An error will occur showing the minimum value if this field is set too low. + */ + dailyBudgetMicros?: string | null; + /** + * Required. A bid in micros to be applied to ad groups within the campaign for a manual CPC bidding strategy. + */ + maxCpcBidMicros?: string | null; + } + /** + * Maximize Clicks Bidding Strategy. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MaximizeClicksBiddingStrategy { + /** + * Required. The daily target spend in micros to be used for estimation. A minimum value is enforced for the local currency used in the campaign. An error will occur showing the minimum value if this field is set too low. + */ + dailyTargetSpendMicros?: string | null; + /** + * Ceiling on max CPC bids in micros. + */ + maxCpcBidCeilingMicros?: string | null; + } + /** + * Maximize Conversions Bidding Strategy. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MaximizeConversionsBiddingStrategy { + /** + * Required. The daily target spend in micros to be used for estimation. This value must be greater than zero. + */ + dailyTargetSpendMicros?: string | null; + } + /** + * Indicates the attributes of metrics. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MetricAttributes { + /** + * The attributes of the metric. + */ + attributes?: Schema$GoogleAdsSearchads360V23Services_MetricAttributes_Attribute[]; + /** + * The name of the metric. + */ + name?: string | null; + } + /** + * All metrics returned against a criteria. + */ + export interface Schema$GoogleAdsSearchads360V23Services__Metrics { + /** + * Average rate metrics calculated by dividing one metric by another. + */ + averageRateMetrics?: Schema$GoogleAdsSearchads360V23Services__RateMetrics; + } + /** + * Request message for CustomerManagerLinkService.MoveManagerLink. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MoveManagerLinkRequest { + /** + * Required. The resource name of the new manager customer that the client wants to move to. Customer resource names have the format: "customers/{customer_id\}" + */ + newManager?: string | null; + /** + * Required. The resource name of the previous CustomerManagerLink. The resource name has the form: `customers/{customer_id\}/customerManagerLinks/{manager_customer_id\}~{manager_link_id\}` + */ + previousCustomerManagerLink?: string | null; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for a CustomerManagerLink moveManagerLink. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MoveManagerLinkResponse { + /** + * Returned for successful operations. Represents a CustomerManagerLink resource of the newly created link between client customer and new manager customer. + */ + resourceName?: string | null; + } + /** + * Request message for AccountBudgetProposalService.MutateAccountBudgetProposal. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAccountBudgetProposalRequest { + /** + * Required. The operation to perform on an individual account-level budget proposal. + */ + operation?: Schema$GoogleAdsSearchads360V23Services__AccountBudgetProposalOperation; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for account-level budget mutate operations. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAccountBudgetProposalResponse { + /** + * The result of the mutate. + */ + result?: Schema$GoogleAdsSearchads360V23Services__MutateAccountBudgetProposalResult; + } + /** + * The result for the account budget proposal mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAccountBudgetProposalResult { + /** + * Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * Request message for AccountLinkService.MutateAccountLink. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAccountLinkRequest { + /** + * Required. The operation to perform on the link. + */ + operation?: Schema$GoogleAdsSearchads360V23Services__AccountLinkOperation; + /** + * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false. + */ + partialFailure?: boolean | null; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for account link mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAccountLinkResponse { + /** + * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error. + */ + partialFailureError?: Schema$GoogleRpc__Status; + /** + * Result for the mutate. + */ + result?: Schema$GoogleAdsSearchads360V23Services__MutateAccountLinkResult; + } + /** + * The result for the account link mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAccountLinkResult { + /** + * Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * The result for an ad group ad label mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAdGroupAdLabelResult { + /** + * Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * Request message for AdGroupAdLabelService.MutateAdGroupAdLabels. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAdGroupAdLabelsRequest { + /** + * Required. The list of operations to perform on ad group ad labels. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__AdGroupAdLabelOperation[]; + /** + * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false. + */ + partialFailure?: boolean | null; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for an ad group ad labels mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAdGroupAdLabelsResponse { + /** + * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error. + */ + partialFailureError?: Schema$GoogleRpc__Status; + /** + * All results for the mutate. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateAdGroupAdLabelResult[]; + } + /** + * The result for the ad mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAdGroupAdResult { + /** + * The mutated ad group ad with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE". + */ + adGroupAd?: Schema$GoogleAdsSearchads360V23Resources__AdGroupAd; + /** + * The resource name returned for successful operations. + */ + resourceName?: string | null; + } + /** + * Request message for AdGroupAdService.MutateAdGroupAds. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAdGroupAdsRequest { + /** + * Required. The list of operations to perform on individual ads. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__AdGroupAdOperation[]; + /** + * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false. + */ + partialFailure?: boolean | null; + /** + * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation. + */ + responseContentType?: string | null; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for an ad group ad mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAdGroupAdsResponse { + /** + * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error. + */ + partialFailureError?: Schema$GoogleRpc__Status; + /** + * All results for the mutate. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateAdGroupAdResult[]; + } + /** + * The result for the ad group asset mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAdGroupAssetResult { + /** + * The mutated ad group asset with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE". + */ + adGroupAsset?: Schema$GoogleAdsSearchads360V23Resources__AdGroupAsset; + /** + * Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * The result for the ad group asset set mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAdGroupAssetSetResult { + /** + * The mutated ad group asset set with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE". + */ + adGroupAssetSet?: Schema$GoogleAdsSearchads360V23Resources__AdGroupAssetSet; + /** + * Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * Request message for AdGroupAssetSetService.MutateAdGroupAssetSets. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAdGroupAssetSetsRequest { + /** + * Required. The list of operations to perform on individual ad group asset sets. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__AdGroupAssetSetOperation[]; + /** + * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false. + */ + partialFailure?: boolean | null; + /** + * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation. + */ + responseContentType?: string | null; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for an ad group asset set mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAdGroupAssetSetsResponse { + /** + * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (e.g. auth errors), we return an RPC level error. + */ + partialFailureError?: Schema$GoogleRpc__Status; + /** + * All results for the mutate. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateAdGroupAssetSetResult[]; + } + /** + * Request message for AdGroupAssetService.MutateAdGroupAssets. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAdGroupAssetsRequest { + /** + * Required. The list of operations to perform on individual ad group assets. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__AdGroupAssetOperation[]; + /** + * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false. + */ + partialFailure?: boolean | null; + /** + * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation. + */ + responseContentType?: string | null; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for an ad group asset mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAdGroupAssetsResponse { + /** + * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error. + */ + partialFailureError?: Schema$GoogleRpc__Status; + /** + * All results for the mutate. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateAdGroupAssetResult[]; + } + /** + * The result for the criterion mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAdGroupBidModifierResult { + /** + * The mutated ad group bid modifier with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE". + */ + adGroupBidModifier?: Schema$GoogleAdsSearchads360V23Resources__AdGroupBidModifier; + /** + * Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * Request message for AdGroupBidModifierService.MutateAdGroupBidModifiers. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAdGroupBidModifiersRequest { + /** + * Required. The list of operations to perform on individual ad group bid modifiers. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__AdGroupBidModifierOperation[]; + /** + * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false. + */ + partialFailure?: boolean | null; + /** + * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation. + */ + responseContentType?: string | null; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for ad group bid modifiers mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAdGroupBidModifiersResponse { + /** + * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error. + */ + partialFailureError?: Schema$GoogleRpc__Status; + /** + * All results for the mutate. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateAdGroupBidModifierResult[]; + } + /** + * Request message for AdGroupCriterionService.MutateAdGroupCriteria. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCriteriaRequest { + /** + * Required. The list of operations to perform on individual criteria. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__AdGroupCriterionOperation[]; + /** + * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false. + */ + partialFailure?: boolean | null; + /** + * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation. + */ + responseContentType?: string | null; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for an ad group criterion mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCriteriaResponse { + /** + * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error. + */ + partialFailureError?: Schema$GoogleRpc__Status; + /** + * All results for the mutate. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCriterionResult[]; + } + /** + * The result for the ad group criterion customizer mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCriterionCustomizerResult { + /** + * The mutated AdGroupCriterionCustomizer with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE". + */ + adGroupCriterionCustomizer?: Schema$GoogleAdsSearchads360V23Resources__AdGroupCriterionCustomizer; + /** + * Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * Request message for AdGroupCriterionCustomizerService.MutateAdGroupCriterionCustomizers. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCriterionCustomizersRequest { + /** + * Required. The list of operations to perform on individual ad group criterion customizers. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__AdGroupCriterionCustomizerOperation[]; + /** + * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false. + */ + partialFailure?: boolean | null; + /** + * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation. + */ + responseContentType?: string | null; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for an ad group criterion customizer mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCriterionCustomizersResponse { + /** + * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error. + */ + partialFailureError?: Schema$GoogleRpc__Status; + /** + * All results for the mutate. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCriterionCustomizerResult[]; + } + /** + * The result for an ad group criterion label mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCriterionLabelResult { + /** + * Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * Request message for AdGroupCriterionLabelService.MutateAdGroupCriterionLabels. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCriterionLabelsRequest { + /** + * Required. The list of operations to perform on ad group criterion labels. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__AdGroupCriterionLabelOperation[]; + /** + * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false. + */ + partialFailure?: boolean | null; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for an ad group criterion labels mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCriterionLabelsResponse { + /** + * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error. + */ + partialFailureError?: Schema$GoogleRpc__Status; + /** + * All results for the mutate. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCriterionLabelResult[]; + } + /** + * The result for the criterion mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCriterionResult { + /** + * The mutated ad group criterion with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE". + */ + adGroupCriterion?: Schema$GoogleAdsSearchads360V23Resources__AdGroupCriterion; + /** + * Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * The result for the ad group customizer mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCustomizerResult { + /** + * The mutated AdGroupCustomizer with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE". + */ + adGroupCustomizer?: Schema$GoogleAdsSearchads360V23Resources__AdGroupCustomizer; + /** + * Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * Request message for AdGroupCustomizerService.MutateAdGroupCustomizers. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCustomizersRequest { + /** + * Required. The list of operations to perform on individual ad group customizers. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__AdGroupCustomizerOperation[]; + /** + * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false. + */ + partialFailure?: boolean | null; + /** + * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation. + */ + responseContentType?: string | null; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for an ad group customizer mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCustomizersResponse { + /** + * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error. + */ + partialFailureError?: Schema$GoogleRpc__Status; + /** + * All results for the mutate. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCustomizerResult[]; + } + /** + * The result for an ad group label mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAdGroupLabelResult { + /** + * Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * Request message for AdGroupLabelService.MutateAdGroupLabels. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAdGroupLabelsRequest { + /** + * Required. The list of operations to perform on ad group labels. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__AdGroupLabelOperation[]; + /** + * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false. + */ + partialFailure?: boolean | null; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for an ad group labels mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAdGroupLabelsResponse { + /** + * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error. + */ + partialFailureError?: Schema$GoogleRpc__Status; + /** + * All results for the mutate. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateAdGroupLabelResult[]; + } + /** + * The result for the ad group mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAdGroupResult { + /** + * The mutated ad group with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE". + */ + adGroup?: Schema$GoogleAdsSearchads360V23Resources__AdGroup; + /** + * Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * Request message for AdGroupService.MutateAdGroups. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAdGroupsRequest { + /** + * Required. The list of operations to perform on individual ad groups. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__AdGroupOperation[]; + /** + * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false. + */ + partialFailure?: boolean | null; + /** + * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation. + */ + responseContentType?: string | null; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for an ad group mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAdGroupsResponse { + /** + * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error. + */ + partialFailureError?: Schema$GoogleRpc__Status; + /** + * All results for the mutate. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateAdGroupResult[]; + } + /** + * The result for the ad parameter mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAdParameterResult { + /** + * The mutated AdParameter with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE". + */ + adParameter?: Schema$GoogleAdsSearchads360V23Resources__AdParameter; + /** + * The resource name returned for successful operations. + */ + resourceName?: string | null; + } + /** + * Request message for AdParameterService.MutateAdParameters + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAdParametersRequest { + /** + * Required. The list of operations to perform on individual ad parameters. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__AdParameterOperation[]; + /** + * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false. + */ + partialFailure?: boolean | null; + /** + * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation. + */ + responseContentType?: string | null; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for an ad parameter mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAdParametersResponse { + /** + * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error. + */ + partialFailureError?: Schema$GoogleRpc__Status; + /** + * All results for the mutate. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateAdParameterResult[]; + } + /** + * The result for the ad mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAdResult { + /** + * The mutated ad with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE". + */ + ad?: Schema$GoogleAdsSearchads360V23Resources__Ad; + /** + * The resource name returned for successful operations. + */ + resourceName?: string | null; + } + /** + * Request message for AdService.MutateAds. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAdsRequest { + /** + * Required. The list of operations to perform on individual ads. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__AdOperation[]; + /** + * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false. + */ + partialFailure?: boolean | null; + /** + * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation. + */ + responseContentType?: string | null; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for an ad mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAdsResponse { + /** + * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error. + */ + partialFailureError?: Schema$GoogleRpc__Status; + /** + * All results for the mutate. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateAdResult[]; + } + /** + * The result for the asset group asset mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupAssetResult { + /** + * Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * Request message for AssetGroupAssetService.MutateAssetGroupAssets. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupAssetsRequest { + /** + * Required. The list of operations to perform on individual asset group assets. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__AssetGroupAssetOperation[]; + /** + * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false. + */ + partialFailure?: boolean | null; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for an asset group asset mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupAssetsResponse { + /** + * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error. + */ + partialFailureError?: Schema$GoogleRpc__Status; + /** + * All results for the mutate. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupAssetResult[]; + } + /** + * The result for the asset group listing group filter mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupListingGroupFilterResult { + /** + * The mutated AssetGroupListingGroupFilter with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE". + */ + assetGroupListingGroupFilter?: Schema$GoogleAdsSearchads360V23Resources__AssetGroupListingGroupFilter; + /** + * Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * Request message for AssetGroupListingGroupFilterService.MutateAssetGroupListingGroupFilters. partial_failure is not supported because the tree needs to be validated together. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupListingGroupFiltersRequest { + /** + * Required. The list of operations to perform on individual asset group listing group filters. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__AssetGroupListingGroupFilterOperation[]; + /** + * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation. + */ + responseContentType?: string | null; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for an asset group listing group filter mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupListingGroupFiltersResponse { + /** + * All results for the mutate. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupListingGroupFilterResult[]; + } + /** + * The result for the asset group mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupResult { + /** + * Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * The result for the asset group signal mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupSignalResult { + /** + * The mutated AssetGroupSignal with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE". + */ + assetGroupSignal?: Schema$GoogleAdsSearchads360V23Resources__AssetGroupSignal; + /** + * Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * Request message for AssetGroupSignalService.MutateAssetGroupSignals. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupSignalsRequest { + /** + * Required. The list of operations to perform on individual asset group signals. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__AssetGroupSignalOperation[]; + /** + * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false. + */ + partialFailure?: boolean | null; + /** + * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation. + */ + responseContentType?: string | null; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for an asset group signal mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupSignalsResponse { + /** + * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error. + */ + partialFailureError?: Schema$GoogleRpc__Status; + /** + * All results for the mutate. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupSignalResult[]; + } + /** + * Request message for AssetGroupService.MutateAssetGroups. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupsRequest { + /** + * Required. The list of operations to perform on individual asset groups. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__AssetGroupOperation[]; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for an asset group mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupsResponse { + /** + * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error. + */ + partialFailureError?: Schema$GoogleRpc__Status; + /** + * All results for the mutate. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupResult[]; + } + /** + * The result for the asset mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAssetResult { + /** + * The mutated asset with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE". + */ + asset?: Schema$GoogleAdsSearchads360V23Resources__Asset; + /** + * The resource name returned for successful operations. + */ + resourceName?: string | null; + } + /** + * The result for the asset set asset mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAssetSetAssetResult { + /** + * The mutated asset set asset with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE". + */ + assetSetAsset?: Schema$GoogleAdsSearchads360V23Resources__AssetSetAsset; + /** + * Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * Request message for AssetSetAssetService.MutateAssetSetAssets. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAssetSetAssetsRequest { + /** + * Required. The list of operations to perform on individual asset set assets. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__AssetSetAssetOperation[]; + /** + * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false. + */ + partialFailure?: boolean | null; + /** + * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation. + */ + responseContentType?: string | null; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for an asset set asset mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAssetSetAssetsResponse { + /** + * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error. + */ + partialFailureError?: Schema$GoogleRpc__Status; + /** + * All results for the mutate. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateAssetSetAssetResult[]; + } + /** + * The result for the asset set mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAssetSetResult { + /** + * The mutated asset set with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE". + */ + assetSet?: Schema$GoogleAdsSearchads360V23Resources__AssetSet; + /** + * Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * Request message for AssetSetService.MutateAssetSets. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAssetSetsRequest { + /** + * Required. The list of operations to perform on individual asset sets. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__AssetSetOperation[]; + /** + * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false. + */ + partialFailure?: boolean | null; + /** + * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation. + */ + responseContentType?: string | null; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for an asset set mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAssetSetsResponse { + /** + * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error. + */ + partialFailureError?: Schema$GoogleRpc__Status; + /** + * All results for the mutate. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateAssetSetResult[]; + } + /** + * Request message for AssetService.MutateAssets + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAssetsRequest { + /** + * Required. The list of operations to perform on individual assets. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__AssetOperation[]; + /** + * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false. + */ + partialFailure?: boolean | null; + /** + * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation. + */ + responseContentType?: string | null; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for an asset mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAssetsResponse { + /** + * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error. + */ + partialFailureError?: Schema$GoogleRpc__Status; + /** + * All results for the mutate. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateAssetResult[]; + } + /** + * The result for the audience mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAudienceResult { + /** + * The mutated Audience with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE". + */ + audience?: Schema$GoogleAdsSearchads360V23Resources__Audience; + /** + * Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * Request message for AudienceService.MutateAudiences. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAudiencesRequest { + /** + * Required. The list of operations to perform on individual audiences. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__AudienceOperation[]; + /** + * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false. + */ + partialFailure?: boolean | null; + /** + * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation. + */ + responseContentType?: string | null; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for an audience mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateAudiencesResponse { + /** + * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error. + */ + partialFailureError?: Schema$GoogleRpc__Status; + /** + * All results for the mutate. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateAudienceResult[]; + } + /** + * Request message for BatchJobService.MutateBatchJob. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateBatchJobRequest { + /** + * Required. The operation to perform on an individual batch job. + */ + operation?: Schema$GoogleAdsSearchads360V23Services__BatchJobOperation; + } + /** + * Response message for BatchJobService.MutateBatchJob. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateBatchJobResponse { + /** + * The result for the mutate. + */ + result?: Schema$GoogleAdsSearchads360V23Services__MutateBatchJobResult; + } + /** + * The result for the batch job mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateBatchJobResult { + /** + * The resource name of the batch job. + */ + resourceName?: string | null; + } + /** + * Request message for BiddingDataExclusionService.MutateBiddingDataExclusions. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateBiddingDataExclusionsRequest { + /** + * Required. The list of operations to perform on individual data exclusions. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__BiddingDataExclusionOperation[]; + /** + * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false. + */ + partialFailure?: boolean | null; + /** + * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation. + */ + responseContentType?: string | null; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for data exclusions mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateBiddingDataExclusionsResponse { + /** + * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error. + */ + partialFailureError?: Schema$GoogleRpc__Status; + /** + * All results for the mutate. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateBiddingDataExclusionsResult[]; + } + /** + * The result for the data exclusion mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateBiddingDataExclusionsResult { + /** + * The mutated bidding data exclusion with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE". + */ + biddingDataExclusion?: Schema$GoogleAdsSearchads360V23Resources__BiddingDataExclusion; + /** + * Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * Request message for BiddingSeasonalityAdjustmentService.MutateBiddingSeasonalityAdjustments. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateBiddingSeasonalityAdjustmentsRequest { + /** + * Required. The list of operations to perform on individual seasonality adjustments. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__BiddingSeasonalityAdjustmentOperation[]; + /** + * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false. + */ + partialFailure?: boolean | null; + /** + * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation. + */ + responseContentType?: string | null; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for seasonality adjustments mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateBiddingSeasonalityAdjustmentsResponse { + /** + * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error. + */ + partialFailureError?: Schema$GoogleRpc__Status; + /** + * All results for the mutate. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateBiddingSeasonalityAdjustmentsResult[]; + } + /** + * The result for the seasonality adjustment mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateBiddingSeasonalityAdjustmentsResult { + /** + * The mutated bidding seasonality adjustment with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE". + */ + biddingSeasonalityAdjustment?: Schema$GoogleAdsSearchads360V23Resources__BiddingSeasonalityAdjustment; + /** + * Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * Request message for BiddingStrategyService.MutateBiddingStrategies. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateBiddingStrategiesRequest { + /** + * Required. The list of operations to perform on individual bidding strategies. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__BiddingStrategyOperation[]; + /** + * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false. + */ + partialFailure?: boolean | null; + /** + * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation. + */ + responseContentType?: string | null; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for bidding strategy mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateBiddingStrategiesResponse { + /** + * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error. + */ + partialFailureError?: Schema$GoogleRpc__Status; + /** + * All results for the mutate. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateBiddingStrategyResult[]; + } + /** + * The result for the bidding strategy mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateBiddingStrategyResult { + /** + * The mutated bidding strategy with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE". + */ + biddingStrategy?: Schema$GoogleAdsSearchads360V23Resources__BiddingStrategy; + /** + * Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * Request message for billing setup mutate operations. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateBillingSetupRequest { + /** + * Required. The operation to perform. + */ + operation?: Schema$GoogleAdsSearchads360V23Services__BillingSetupOperation; + } + /** + * Response message for a billing setup operation. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateBillingSetupResponse { + /** + * A result that identifies the resource affected by the mutate request. + */ + result?: Schema$GoogleAdsSearchads360V23Services__MutateBillingSetupResult; + } + /** + * Result for a single billing setup mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateBillingSetupResult { + /** + * Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * The result for the campaign asset mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignAssetResult { + /** + * The mutated campaign asset with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE". + */ + campaignAsset?: Schema$GoogleAdsSearchads360V23Resources__CampaignAsset; + /** + * Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * The result for the campaign asset set mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignAssetSetResult { + /** + * The mutated campaign asset set with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE". + */ + campaignAssetSet?: Schema$GoogleAdsSearchads360V23Resources__CampaignAssetSet; + /** + * Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * Request message for CampaignAssetSetService.MutateCampaignAssetSets. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignAssetSetsRequest { + /** + * Required. The list of operations to perform on individual campaign asset sets. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__CampaignAssetSetOperation[]; + /** + * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false. + */ + partialFailure?: boolean | null; + /** + * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation. + */ + responseContentType?: string | null; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for a campaign asset set mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignAssetSetsResponse { + /** + * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error. + */ + partialFailureError?: Schema$GoogleRpc__Status; + /** + * All results for the mutate. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignAssetSetResult[]; + } + /** + * Request message for CampaignAssetService.MutateCampaignAssets. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignAssetsRequest { + /** + * Required. The list of operations to perform on individual campaign assets. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__CampaignAssetOperation[]; + /** + * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false. + */ + partialFailure?: boolean | null; + /** + * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation. + */ + responseContentType?: string | null; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for a campaign asset mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignAssetsResponse { + /** + * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error. + */ + partialFailureError?: Schema$GoogleRpc__Status; + /** + * All results for the mutate. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignAssetResult[]; + } + /** + * The result for the criterion mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignBidModifierResult { + /** + * The mutated campaign bid modifier with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE". + */ + campaignBidModifier?: Schema$GoogleAdsSearchads360V23Resources__CampaignBidModifier; + /** + * Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * Request message for CampaignBidModifierService.MutateCampaignBidModifiers. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignBidModifiersRequest { + /** + * Required. The list of operations to perform on individual campaign bid modifiers. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__CampaignBidModifierOperation[]; + /** + * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false. + */ + partialFailure?: boolean | null; + /** + * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation. + */ + responseContentType?: string | null; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for campaign bid modifiers mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignBidModifiersResponse { + /** + * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error. + */ + partialFailureError?: Schema$GoogleRpc__Status; + /** + * All results for the mutate. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignBidModifierResult[]; + } + /** + * The result for the campaign budget mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignBudgetResult { + /** + * The mutated campaign budget with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE". + */ + campaignBudget?: Schema$GoogleAdsSearchads360V23Resources__CampaignBudget; + /** + * Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * Request message for CampaignBudgetService.MutateCampaignBudgets. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignBudgetsRequest { + /** + * Required. The list of operations to perform on individual campaign budgets. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__CampaignBudgetOperation[]; + /** + * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false. + */ + partialFailure?: boolean | null; + /** + * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation. + */ + responseContentType?: string | null; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for campaign budget mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignBudgetsResponse { + /** + * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error. + */ + partialFailureError?: Schema$GoogleRpc__Status; + /** + * All results for the mutate. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignBudgetResult[]; + } + /** + * The result for the campaign conversion goal mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignConversionGoalResult { + /** + * Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * Request message for CampaignConversionGoalService.MutateCampaignConversionGoals. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignConversionGoalsRequest { + /** + * Required. The list of operations to perform on individual campaign conversion goal. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__CampaignConversionGoalOperation[]; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for a campaign conversion goal mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignConversionGoalsResponse { + /** + * All results for the mutate. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignConversionGoalResult[]; + } + /** + * Request message for CampaignCriterionService.MutateCampaignCriteria. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignCriteriaRequest { + /** + * Required. The list of operations to perform on individual criteria. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__CampaignCriterionOperation[]; + /** + * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false. + */ + partialFailure?: boolean | null; + /** + * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation. + */ + responseContentType?: string | null; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for campaign criterion mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignCriteriaResponse { + /** + * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error. + */ + partialFailureError?: Schema$GoogleRpc__Status; + /** + * All results for the mutate. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignCriterionResult[]; + } + /** + * The result for the criterion mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignCriterionResult { + /** + * The mutated campaign criterion with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE". + */ + campaignCriterion?: Schema$GoogleAdsSearchads360V23Resources__CampaignCriterion; + /** + * Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * The result for the campaign customizer mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignCustomizerResult { + /** + * The mutated CampaignCustomizer with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE". + */ + campaignCustomizer?: Schema$GoogleAdsSearchads360V23Resources__CampaignCustomizer; + /** + * Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * Request message for CampaignCustomizerService.MutateCampaignCustomizers. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignCustomizersRequest { + /** + * Required. The list of operations to perform on individual campaign customizers. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__CampaignCustomizerOperation[]; + /** + * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false. + */ + partialFailure?: boolean | null; + /** + * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation. + */ + responseContentType?: string | null; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for a campaign customizer mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignCustomizersResponse { + /** + * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error. + */ + partialFailureError?: Schema$GoogleRpc__Status; + /** + * All results for the mutate. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignCustomizerResult[]; + } + /** + * The result for the campaign draft mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignDraftResult { + /** + * The mutated campaign draft with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE". + */ + campaignDraft?: Schema$GoogleAdsSearchads360V23Resources__CampaignDraft; + /** + * Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * Request message for CampaignDraftService.MutateCampaignDrafts. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignDraftsRequest { + /** + * Required. The list of operations to perform on individual campaign drafts. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__CampaignDraftOperation[]; + /** + * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false. + */ + partialFailure?: boolean | null; + /** + * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation. + */ + responseContentType?: string | null; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for campaign draft mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignDraftsResponse { + /** + * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error. + */ + partialFailureError?: Schema$GoogleRpc__Status; + /** + * All results for the mutate. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignDraftResult[]; + } + /** + * The result for the campaign goal config mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignGoalConfigResult { + /** + * Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * Request message for CampaignGoalConfigService.MutateCampaignGoalConfigs. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignGoalConfigsRequest { + /** + * Required. The list of operations to perform on the campaign goal configs. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__CampaignGoalConfigOperation[]; + /** + * Optional. If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false. + */ + partialFailure?: boolean | null; + /** + * Optional. If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for a campaign goal config mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignGoalConfigsResponse { + /** + * Errors that pertain to operation failures in the partial failure mode. + */ + partialFailureError?: Schema$GoogleRpc__Status; + /** + * All results for the mutate. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignGoalConfigResult[]; + } + /** + * The result for the campaign group mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignGroupResult { + /** + * The mutated campaign group with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE". + */ + campaignGroup?: Schema$GoogleAdsSearchads360V23Resources__CampaignGroup; + /** + * Required. Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * Request message for CampaignGroupService.MutateCampaignGroups. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignGroupsRequest { + /** + * Required. The list of operations to perform on individual campaign groups. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__CampaignGroupOperation[]; + /** + * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false. + */ + partialFailure?: boolean | null; + /** + * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation. + */ + responseContentType?: string | null; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for campaign group mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignGroupsResponse { + /** + * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error. + */ + partialFailureError?: Schema$GoogleRpc__Status; + /** + * All results for the mutate. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignGroupResult[]; + } + /** + * The result for a campaign label mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignLabelResult { + /** + * Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * Request message for CampaignLabelService.MutateCampaignLabels. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignLabelsRequest { + /** + * Required. The list of operations to perform on campaign-label relationships. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__CampaignLabelOperation[]; + /** + * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false. + */ + partialFailure?: boolean | null; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for a campaign labels mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignLabelsResponse { + /** + * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error. + */ + partialFailureError?: Schema$GoogleRpc__Status; + /** + * All results for the mutate. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignLabelResult[]; + } + /** + * The result for the campaign mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignResult { + /** + * The mutated campaign with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE". + */ + campaign?: Schema$GoogleAdsSearchads360V23Resources__Campaign; + /** + * Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * The result for the campaign shared set mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignSharedSetResult { + /** + * The mutated campaign shared set with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE". + */ + campaignSharedSet?: Schema$GoogleAdsSearchads360V23Resources__CampaignSharedSet; + /** + * Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * Request message for CampaignSharedSetService.MutateCampaignSharedSets. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignSharedSetsRequest { + /** + * Required. The list of operations to perform on individual campaign shared sets. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__CampaignSharedSetOperation[]; + /** + * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false. + */ + partialFailure?: boolean | null; + /** + * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation. + */ + responseContentType?: string | null; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for a campaign shared set mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignSharedSetsResponse { + /** + * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error. + */ + partialFailureError?: Schema$GoogleRpc__Status; + /** + * All results for the mutate. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignSharedSetResult[]; + } + /** + * Request message for CampaignService.MutateCampaigns. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignsRequest { + /** + * Required. The list of operations to perform on individual campaigns. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__CampaignOperation[]; + /** + * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false. + */ + partialFailure?: boolean | null; + /** + * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation. + */ + responseContentType?: string | null; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for campaign mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCampaignsResponse { + /** + * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error. + */ + partialFailureError?: Schema$GoogleRpc__Status; + /** + * All results for the mutate. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignResult[]; + } + /** + * The result for the conversion action mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateConversionActionResult { + /** + * The mutated conversion action with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE". + */ + conversionAction?: Schema$GoogleAdsSearchads360V23Resources__ConversionAction; + /** + * Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * Request message for ConversionActionService.MutateConversionActions. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateConversionActionsRequest { + /** + * Required. The list of operations to perform on individual conversion actions. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__ConversionActionOperation[]; + /** + * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false. + */ + partialFailure?: boolean | null; + /** + * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation. + */ + responseContentType?: string | null; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for ConversionActionService.MutateConversionActions. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateConversionActionsResponse { + /** + * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error. + */ + partialFailureError?: Schema$GoogleRpc__Status; + /** + * All results for the mutate. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateConversionActionResult[]; + } + /** + * The result for the conversion custom variable mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateConversionCustomVariableResult { + /** + * The mutated conversion custom variable with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE". + */ + conversionCustomVariable?: Schema$GoogleAdsSearchads360V23Resources__ConversionCustomVariable; + /** + * Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * Request message for ConversionCustomVariableService.MutateConversionCustomVariables. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateConversionCustomVariablesRequest { + /** + * Required. The list of operations to perform on individual conversion custom variables. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__ConversionCustomVariableOperation[]; + /** + * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false. + */ + partialFailure?: boolean | null; + /** + * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation. + */ + responseContentType?: string | null; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for ConversionCustomVariableService.MutateConversionCustomVariables. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateConversionCustomVariablesResponse { + /** + * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error. + */ + partialFailureError?: Schema$GoogleRpc__Status; + /** + * All results for the mutate. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateConversionCustomVariableResult[]; + } + /** + * The result for the conversion goal campaign config mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateConversionGoalCampaignConfigResult { + /** + * The mutated ConversionGoalCampaignConfig with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE". + */ + conversionGoalCampaignConfig?: Schema$GoogleAdsSearchads360V23Resources__ConversionGoalCampaignConfig; + /** + * Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * Request message for ConversionGoalCampaignConfigService.MutateConversionGoalCampaignConfigs. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateConversionGoalCampaignConfigsRequest { + /** + * Required. The list of operations to perform on individual conversion goal campaign config. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__ConversionGoalCampaignConfigOperation[]; + /** + * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation. + */ + responseContentType?: string | null; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for a conversion goal campaign config mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateConversionGoalCampaignConfigsResponse { + /** + * All results for the mutate. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateConversionGoalCampaignConfigResult[]; + } + /** + * The result for the conversion value rule mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateConversionValueRuleResult { + /** + * The mutated conversion value rule with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE". + */ + conversionValueRule?: Schema$GoogleAdsSearchads360V23Resources__ConversionValueRule; + /** + * Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * The result for the conversion value rule set mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateConversionValueRuleSetResult { + /** + * The mutated conversion value rule set with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE". + */ + conversionValueRuleSet?: Schema$GoogleAdsSearchads360V23Resources__ConversionValueRuleSet; + /** + * Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * Request message for ConversionValueRuleSetService.MutateConversionValueRuleSets. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateConversionValueRuleSetsRequest { + /** + * Required. The list of operations to perform on individual conversion value rule sets. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__ConversionValueRuleSetOperation[]; + /** + * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false. + */ + partialFailure?: boolean | null; + /** + * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation. + */ + responseContentType?: string | null; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for ConversionValueRuleSetService.MutateConversionValueRuleSets. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateConversionValueRuleSetsResponse { + /** + * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error. + */ + partialFailureError?: Schema$GoogleRpc__Status; + /** + * All results for the mutate. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateConversionValueRuleSetResult[]; + } + /** + * Request message for ConversionValueRuleService.MutateConversionValueRules. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateConversionValueRulesRequest { + /** + * Required. The list of operations to perform on individual conversion value rules. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__ConversionValueRuleOperation[]; + /** + * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false. + */ + partialFailure?: boolean | null; + /** + * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation. + */ + responseContentType?: string | null; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for ConversionValueRuleService.MutateConversionValueRules. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateConversionValueRulesResponse { + /** + * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error. + */ + partialFailureError?: Schema$GoogleRpc__Status; + /** + * All results for the mutate. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateConversionValueRuleResult[]; + } + /** + * The result for the custom audience mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomAudienceResult { + /** + * Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * Request message for CustomAudienceService.MutateCustomAudiences. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomAudiencesRequest { + /** + * Required. The list of operations to perform on individual custom audiences. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__CustomAudienceOperation[]; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for custom audience mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomAudiencesResponse { + /** + * All results for the mutate. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateCustomAudienceResult[]; + } + /** + * The result for the custom conversion goal mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomConversionGoalResult { + /** + * The mutated CustomConversionGoal with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE". + */ + customConversionGoal?: Schema$GoogleAdsSearchads360V23Resources__CustomConversionGoal; + /** + * Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * Request message for CustomConversionGoalService.MutateCustomConversionGoals. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomConversionGoalsRequest { + /** + * Required. The list of operations to perform on individual custom conversion goal. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__CustomConversionGoalOperation[]; + /** + * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation. + */ + responseContentType?: string | null; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for a custom conversion goal mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomConversionGoalsResponse { + /** + * All results for the mutate. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateCustomConversionGoalResult[]; + } + /** + * The result for the customer asset mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerAssetResult { + /** + * The mutated customer asset with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE". + */ + customerAsset?: Schema$GoogleAdsSearchads360V23Resources__CustomerAsset; + /** + * Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * The result for the customer asset set mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerAssetSetResult { + /** + * The mutated customer asset set with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE". + */ + customerAssetSet?: Schema$GoogleAdsSearchads360V23Resources__CustomerAssetSet; + /** + * Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * Request message for CustomerAssetSetService.MutateCustomerAssetSets. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerAssetSetsRequest { + /** + * Required. The list of operations to perform on individual customer asset sets. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__CustomerAssetSetOperation[]; + /** + * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false. + */ + partialFailure?: boolean | null; + /** + * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation. + */ + responseContentType?: string | null; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for a customer asset set mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerAssetSetsResponse { + /** + * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (e.g. auth errors), we return an RPC level error. + */ + partialFailureError?: Schema$GoogleRpc__Status; + /** + * All results for the mutate. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateCustomerAssetSetResult[]; + } + /** + * Request message for CustomerAssetService.MutateCustomerAssets. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerAssetsRequest { + /** + * Required. The list of operations to perform on individual customer assets. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__CustomerAssetOperation[]; + /** + * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false. + */ + partialFailure?: boolean | null; + /** + * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation. + */ + responseContentType?: string | null; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for a customer asset mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerAssetsResponse { + /** + * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error. + */ + partialFailureError?: Schema$GoogleRpc__Status; + /** + * All results for the mutate. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateCustomerAssetResult[]; + } + /** + * Request message for CustomerClientLinkService.MutateCustomerClientLink. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerClientLinkRequest { + /** + * Required. The operation to perform on the individual CustomerClientLink. + */ + operation?: Schema$GoogleAdsSearchads360V23Services__CustomerClientLinkOperation; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for a CustomerClientLink mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerClientLinkResponse { + /** + * A result that identifies the resource affected by the mutate request. + */ + result?: Schema$GoogleAdsSearchads360V23Services__MutateCustomerClientLinkResult; + } + /** + * The result for a single customer client link mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerClientLinkResult { + /** + * Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * The result for the customer conversion goal mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerConversionGoalResult { + /** + * Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * Request message for CustomerConversionGoalService.MutateCustomerConversionGoals. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerConversionGoalsRequest { + /** + * Required. The list of operations to perform on individual customer conversion goal. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__CustomerConversionGoalOperation[]; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for a customer conversion goal mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerConversionGoalsResponse { + /** + * All results for the mutate. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateCustomerConversionGoalResult[]; + } + /** + * The result for the customizer attribute mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerCustomizerResult { + /** + * The mutated CustomerCustomizer with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE". + */ + customerCustomizer?: Schema$GoogleAdsSearchads360V23Resources__CustomerCustomizer; + /** + * Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * Request message for CustomerCustomizerService.MutateCustomerCustomizers. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerCustomizersRequest { + /** + * Required. The list of operations to perform on individual customer customizers. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__CustomerCustomizerOperation[]; + /** + * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false. + */ + partialFailure?: boolean | null; + /** + * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation. + */ + responseContentType?: string | null; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for a customizer attribute mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerCustomizersResponse { + /** + * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error. + */ + partialFailureError?: Schema$GoogleRpc__Status; + /** + * All results for the mutate. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateCustomerCustomizerResult[]; + } + /** + * The result for a customer label mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerLabelResult { + /** + * Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * Request message for CustomerLabelService.MutateCustomerLabels. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerLabelsRequest { + /** + * Required. The list of operations to perform on customer-label relationships. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__CustomerLabelOperation[]; + /** + * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false. + */ + partialFailure?: boolean | null; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for a customer labels mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerLabelsResponse { + /** + * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error. + */ + partialFailureError?: Schema$GoogleRpc__Status; + /** + * All results for the mutate. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateCustomerLabelResult[]; + } + /** + * Request message for CustomerManagerLinkService.MutateCustomerManagerLink. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerManagerLinkRequest { + /** + * Required. The list of operations to perform on individual customer manager links. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__CustomerManagerLinkOperation[]; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for a CustomerManagerLink mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerManagerLinkResponse { + /** + * A result that identifies the resource affected by the mutate request. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateCustomerManagerLinkResult[]; + } + /** + * The result for the customer manager link mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerManagerLinkResult { + /** + * Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * Request message for CustomerNegativeCriterionService.MutateCustomerNegativeCriteria. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerNegativeCriteriaRequest { + /** + * Required. The list of operations to perform on individual criteria. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__CustomerNegativeCriterionOperation[]; + /** + * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false. + */ + partialFailure?: boolean | null; + /** + * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation. + */ + responseContentType?: string | null; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for customer negative criterion mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerNegativeCriteriaResponse { + /** + * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error. + */ + partialFailureError?: Schema$GoogleRpc__Status; + /** + * All results for the mutate. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateCustomerNegativeCriteriaResult[]; + } + /** + * The result for the criterion mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerNegativeCriteriaResult { + /** + * The mutated criterion with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE". + */ + customerNegativeCriterion?: Schema$GoogleAdsSearchads360V23Resources__CustomerNegativeCriterion; + /** + * Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * Request message for CustomerService.MutateCustomer. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerRequest { + /** + * Required. The operation to perform on the customer + */ + operation?: Schema$GoogleAdsSearchads360V23Services__CustomerOperation; + /** + * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation. + */ + responseContentType?: string | null; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for customer mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerResponse { + /** + * Result for the mutate. + */ + result?: Schema$GoogleAdsSearchads360V23Services__MutateCustomerResult; + } + /** + * The result for the customer mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerResult { + /** + * The mutated customer with only mutable fields after mutate. The fields will only be returned when response_content_type is set to "MUTABLE_RESOURCE". + */ + customer?: Schema$GoogleAdsSearchads360V23Resources__Customer; + /** + * Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * Request message for CustomerSkAdNetworkConversionValueSchemaService.MutateCustomerSkAdNetworkConversionValueSchema. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerSkAdNetworkConversionValueSchemaRequest { + /** + * Optional. If true, enables returning warnings. Warnings return error messages and error codes without blocking the execution of the mutate operation. + */ + enableWarnings?: boolean | null; + /** + * The operation to perform. + */ + operation?: Schema$GoogleAdsSearchads360V23Services__CustomerSkAdNetworkConversionValueSchemaOperation; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for MutateCustomerSkAdNetworkConversionValueSchema. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerSkAdNetworkConversionValueSchemaResponse { + /** + * All results for the mutate. + */ + result?: Schema$GoogleAdsSearchads360V23Services__MutateCustomerSkAdNetworkConversionValueSchemaResult; + /** + * Non blocking errors that provides schema validation failure details. Returned only when enable_warnings = true. + */ + warning?: Schema$GoogleRpc__Status; + } + /** + * The result for the CustomerSkAdNetworkConversionValueSchema mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerSkAdNetworkConversionValueSchemaResult { + /** + * App ID of the SkanConversionValue modified. + */ + appId?: string | null; + /** + * Resource name of the customer that was modified. + */ + resourceName?: string | null; + } + /** + * Request message for CustomerUserAccessInvitationService.MutateCustomerUserAccessInvitation + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerUserAccessInvitationRequest { + /** + * Required. The operation to perform on the access invitation + */ + operation?: Schema$GoogleAdsSearchads360V23Services__CustomerUserAccessInvitationOperation; + } + /** + * Response message for access invitation mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerUserAccessInvitationResponse { + /** + * Result for the mutate. + */ + result?: Schema$GoogleAdsSearchads360V23Services__MutateCustomerUserAccessInvitationResult; + } + /** + * The result for the access invitation mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerUserAccessInvitationResult { + /** + * Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * Mutate Request for CustomerUserAccessService.MutateCustomerUserAccess. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerUserAccessRequest { + /** + * Required. The operation to perform on the customer + */ + operation?: Schema$GoogleAdsSearchads360V23Services__CustomerUserAccessOperation; + } + /** + * Response message for customer user access mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerUserAccessResponse { + /** + * Result for the mutate. + */ + result?: Schema$GoogleAdsSearchads360V23Services__MutateCustomerUserAccessResult; + } + /** + * The result for the customer user access mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomerUserAccessResult { + /** + * Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * The result for the custom interest mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomInterestResult { + /** + * Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * Request message for CustomInterestService.MutateCustomInterests. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomInterestsRequest { + /** + * Required. The list of operations to perform on individual custom interests. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__CustomInterestOperation[]; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for custom interest mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomInterestsResponse { + /** + * All results for the mutate. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateCustomInterestResult[]; + } + /** + * The result for the customizer attribute mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomizerAttributeResult { + /** + * The mutated CustomizerAttribute with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE". + */ + customizerAttribute?: Schema$GoogleAdsSearchads360V23Resources__CustomizerAttribute; + /** + * Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * Request message for CustomizerAttributeService.MutateCustomizerAttributes. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomizerAttributesRequest { + /** + * Required. The list of operations to perform on individual customizer attributes. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__CustomizerAttributeOperation[]; + /** + * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false. + */ + partialFailure?: boolean | null; + /** + * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation. + */ + responseContentType?: string | null; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for a customizer attribute mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateCustomizerAttributesResponse { + /** + * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error. + */ + partialFailureError?: Schema$GoogleRpc__Status; + /** + * All results for the mutate. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateCustomizerAttributeResult[]; + } + /** + * The result for the experiment arm mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateExperimentArmResult { + /** + * The mutated experiment arm with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE". + */ + experimentArm?: Schema$GoogleAdsSearchads360V23Resources__ExperimentArm; + /** + * Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * Request message for ExperimentArmService.MutateExperimentArms. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateExperimentArmsRequest { + /** + * Required. The list of operations to perform on individual experiment arm. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__ExperimentArmOperation[]; + /** + * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false. + */ + partialFailure?: boolean | null; + /** + * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation. + */ + responseContentType?: string | null; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for experiment arm mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateExperimentArmsResponse { + /** + * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error. + */ + partialFailureError?: Schema$GoogleRpc__Status; + /** + * All results for the mutate. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateExperimentArmResult[]; + } + /** + * The result for the campaign experiment mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateExperimentResult { + /** + * Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * Request message for ExperimentService.MutateExperiments. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateExperimentsRequest { + /** + * Required. The list of operations to perform on individual experiments. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__ExperimentOperation[]; + /** + * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false. + */ + partialFailure?: boolean | null; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for experiment mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateExperimentsResponse { + /** + * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error. + */ + partialFailureError?: Schema$GoogleRpc__Status; + /** + * All results for the mutate. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateExperimentResult[]; + } + /** + * The result for the goal mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateGoalResult { + /** + * Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * Request message for GoalService.MutateGoals. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateGoalsRequest { + /** + * Required. The list of operations to perform on the goals. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__GoalOperation[]; + /** + * Optional. If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false. + */ + partialFailure?: boolean | null; + /** + * Optional. If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for a goal mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateGoalsResponse { + /** + * Errors that pertain to operation failures in the partial failure mode. + */ + partialFailureError?: Schema$GoogleRpc__Status; + /** + * All results for the mutate. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateGoalResult[]; + } + /** + * The result for the Keyword Plan ad group keyword mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupKeywordResult { + /** + * Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * Request message for KeywordPlanAdGroupKeywordService.MutateKeywordPlanAdGroupKeywords. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupKeywordsRequest { + /** + * Required. The list of operations to perform on individual Keyword Plan ad group keywords. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__KeywordPlanAdGroupKeywordOperation[]; + /** + * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false. + */ + partialFailure?: boolean | null; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for a Keyword Plan ad group keyword mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupKeywordsResponse { + /** + * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error. + */ + partialFailureError?: Schema$GoogleRpc__Status; + /** + * All results for the mutate. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupKeywordResult[]; + } + /** + * The result for the Keyword Plan ad group mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupResult { + /** + * Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * Request message for KeywordPlanAdGroupService.MutateKeywordPlanAdGroups. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupsRequest { + /** + * Required. The list of operations to perform on individual Keyword Plan ad groups. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__KeywordPlanAdGroupOperation[]; + /** + * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false. + */ + partialFailure?: boolean | null; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for a Keyword Plan ad group mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupsResponse { + /** + * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error. + */ + partialFailureError?: Schema$GoogleRpc__Status; + /** + * All results for the mutate. The order of the results is determined by the order of the keywords in the original request. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupResult[]; + } + /** + * The result for the Keyword Plan campaign keyword mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignKeywordResult { + /** + * Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * Request message for KeywordPlanCampaignKeywordService.MutateKeywordPlanCampaignKeywords. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignKeywordsRequest { + /** + * Required. The list of operations to perform on individual Keyword Plan campaign keywords. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__KeywordPlanCampaignKeywordOperation[]; + /** + * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false. + */ + partialFailure?: boolean | null; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for a Keyword Plan campaign keyword mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignKeywordsResponse { + /** + * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error. + */ + partialFailureError?: Schema$GoogleRpc__Status; + /** + * All results for the mutate. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignKeywordResult[]; + } + /** + * The result for the Keyword Plan campaign mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignResult { + /** + * Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * Request message for KeywordPlanCampaignService.MutateKeywordPlanCampaigns. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignsRequest { + /** + * Required. The list of operations to perform on individual Keyword Plan campaigns. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__KeywordPlanCampaignOperation[]; + /** + * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false. + */ + partialFailure?: boolean | null; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for a Keyword Plan campaign mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignsResponse { + /** + * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error. + */ + partialFailureError?: Schema$GoogleRpc__Status; + /** + * All results for the mutate. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignResult[]; + } + /** + * Request message for KeywordPlanService.MutateKeywordPlans. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlansRequest { + /** + * Required. The list of operations to perform on individual keyword plans. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__KeywordPlanOperation[]; + /** + * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false. + */ + partialFailure?: boolean | null; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for a keyword plan mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlansResponse { + /** + * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error. + */ + partialFailureError?: Schema$GoogleRpc__Status; + /** + * All results for the mutate. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlansResult[]; + } + /** + * The result for the keyword plan mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlansResult { + /** + * Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * The result for a label mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateLabelResult { + /** + * The mutated label with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE". + */ + label?: Schema$GoogleAdsSearchads360V23Resources__Label; + /** + * Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * Request message for LabelService.MutateLabels. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateLabelsRequest { + /** + * Required. The list of operations to perform on labels. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__LabelOperation[]; + /** + * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false. + */ + partialFailure?: boolean | null; + /** + * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation. + */ + responseContentType?: string | null; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for a labels mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateLabelsResponse { + /** + * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error. + */ + partialFailureError?: Schema$GoogleRpc__Status; + /** + * All results for the mutate. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateLabelResult[]; + } + /** + * A single operation (create, update, remove) on a resource. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateOperation { + /** + * An ad group ad label mutate operation. + */ + adGroupAdLabelOperation?: Schema$GoogleAdsSearchads360V23Services__AdGroupAdLabelOperation; + /** + * An ad group ad mutate operation. + */ + adGroupAdOperation?: Schema$GoogleAdsSearchads360V23Services__AdGroupAdOperation; + /** + * An ad group asset mutate operation. + */ + adGroupAssetOperation?: Schema$GoogleAdsSearchads360V23Services__AdGroupAssetOperation; + /** + * An ad group bid modifier mutate operation. + */ + adGroupBidModifierOperation?: Schema$GoogleAdsSearchads360V23Services__AdGroupBidModifierOperation; + /** + * An ad group criterion customizer mutate operation. + */ + adGroupCriterionCustomizerOperation?: Schema$GoogleAdsSearchads360V23Services__AdGroupCriterionCustomizerOperation; + /** + * An ad group criterion label mutate operation. + */ + adGroupCriterionLabelOperation?: Schema$GoogleAdsSearchads360V23Services__AdGroupCriterionLabelOperation; + /** + * An ad group criterion mutate operation. + */ + adGroupCriterionOperation?: Schema$GoogleAdsSearchads360V23Services__AdGroupCriterionOperation; + /** + * An ad group customizer mutate operation. + */ + adGroupCustomizerOperation?: Schema$GoogleAdsSearchads360V23Services__AdGroupCustomizerOperation; + /** + * An ad group label mutate operation. + */ + adGroupLabelOperation?: Schema$GoogleAdsSearchads360V23Services__AdGroupLabelOperation; + /** + * An ad group mutate operation. + */ + adGroupOperation?: Schema$GoogleAdsSearchads360V23Services__AdGroupOperation; + /** + * An ad mutate operation. + */ + adOperation?: Schema$GoogleAdsSearchads360V23Services__AdOperation; + /** + * An ad parameter mutate operation. + */ + adParameterOperation?: Schema$GoogleAdsSearchads360V23Services__AdParameterOperation; + /** + * An asset group asset mutate operation. + */ + assetGroupAssetOperation?: Schema$GoogleAdsSearchads360V23Services__AssetGroupAssetOperation; + /** + * An asset group listing group filter mutate operation. + */ + assetGroupListingGroupFilterOperation?: Schema$GoogleAdsSearchads360V23Services__AssetGroupListingGroupFilterOperation; + /** + * An asset group mutate operation. + */ + assetGroupOperation?: Schema$GoogleAdsSearchads360V23Services__AssetGroupOperation; + /** + * An asset group signal mutate operation. + */ + assetGroupSignalOperation?: Schema$GoogleAdsSearchads360V23Services__AssetGroupSignalOperation; + /** + * An asset mutate operation. + */ + assetOperation?: Schema$GoogleAdsSearchads360V23Services__AssetOperation; + /** + * An asset set asset mutate operation. + */ + assetSetAssetOperation?: Schema$GoogleAdsSearchads360V23Services__AssetSetAssetOperation; + /** + * An asset set mutate operation. + */ + assetSetOperation?: Schema$GoogleAdsSearchads360V23Services__AssetSetOperation; + /** + * An audience mutate operation. + */ + audienceOperation?: Schema$GoogleAdsSearchads360V23Services__AudienceOperation; + /** + * A bidding data exclusion mutate operation. + */ + biddingDataExclusionOperation?: Schema$GoogleAdsSearchads360V23Services__BiddingDataExclusionOperation; + /** + * A bidding seasonality adjustment mutate operation. + */ + biddingSeasonalityAdjustmentOperation?: Schema$GoogleAdsSearchads360V23Services__BiddingSeasonalityAdjustmentOperation; + /** + * A bidding strategy mutate operation. + */ + biddingStrategyOperation?: Schema$GoogleAdsSearchads360V23Services__BiddingStrategyOperation; + /** + * A campaign asset mutate operation. + */ + campaignAssetOperation?: Schema$GoogleAdsSearchads360V23Services__CampaignAssetOperation; + /** + * A campaign asset mutate operation. + */ + campaignAssetSetOperation?: Schema$GoogleAdsSearchads360V23Services__CampaignAssetSetOperation; + /** + * A campaign bid modifier mutate operation. + */ + campaignBidModifierOperation?: Schema$GoogleAdsSearchads360V23Services__CampaignBidModifierOperation; + /** + * A campaign budget mutate operation. + */ + campaignBudgetOperation?: Schema$GoogleAdsSearchads360V23Services__CampaignBudgetOperation; + /** + * A campaign conversion goal mutate operation. + */ + campaignConversionGoalOperation?: Schema$GoogleAdsSearchads360V23Services__CampaignConversionGoalOperation; + /** + * A campaign criterion mutate operation. + */ + campaignCriterionOperation?: Schema$GoogleAdsSearchads360V23Services__CampaignCriterionOperation; + /** + * A campaign customizer mutate operation. + */ + campaignCustomizerOperation?: Schema$GoogleAdsSearchads360V23Services__CampaignCustomizerOperation; + /** + * A campaign draft mutate operation. + */ + campaignDraftOperation?: Schema$GoogleAdsSearchads360V23Services__CampaignDraftOperation; + /** + * A campaign group mutate operation. + */ + campaignGroupOperation?: Schema$GoogleAdsSearchads360V23Services__CampaignGroupOperation; + /** + * A campaign label mutate operation. + */ + campaignLabelOperation?: Schema$GoogleAdsSearchads360V23Services__CampaignLabelOperation; + /** + * A campaign mutate operation. + */ + campaignOperation?: Schema$GoogleAdsSearchads360V23Services__CampaignOperation; + /** + * A campaign shared set mutate operation. + */ + campaignSharedSetOperation?: Schema$GoogleAdsSearchads360V23Services__CampaignSharedSetOperation; + /** + * A conversion action mutate operation. + */ + conversionActionOperation?: Schema$GoogleAdsSearchads360V23Services__ConversionActionOperation; + /** + * A conversion custom variable mutate operation. + */ + conversionCustomVariableOperation?: Schema$GoogleAdsSearchads360V23Services__ConversionCustomVariableOperation; + /** + * A conversion goal campaign config mutate operation. + */ + conversionGoalCampaignConfigOperation?: Schema$GoogleAdsSearchads360V23Services__ConversionGoalCampaignConfigOperation; + /** + * A conversion value rule mutate operation. + */ + conversionValueRuleOperation?: Schema$GoogleAdsSearchads360V23Services__ConversionValueRuleOperation; + /** + * A conversion value rule set mutate operation. + */ + conversionValueRuleSetOperation?: Schema$GoogleAdsSearchads360V23Services__ConversionValueRuleSetOperation; + /** + * A custom conversion goal mutate operation. + */ + customConversionGoalOperation?: Schema$GoogleAdsSearchads360V23Services__CustomConversionGoalOperation; + /** + * A customer asset mutate operation. + */ + customerAssetOperation?: Schema$GoogleAdsSearchads360V23Services__CustomerAssetOperation; + /** + * A customer conversion goal mutate operation. + */ + customerConversionGoalOperation?: Schema$GoogleAdsSearchads360V23Services__CustomerConversionGoalOperation; + /** + * A customer customizer mutate operation. + */ + customerCustomizerOperation?: Schema$GoogleAdsSearchads360V23Services__CustomerCustomizerOperation; + /** + * A customer label mutate operation. + */ + customerLabelOperation?: Schema$GoogleAdsSearchads360V23Services__CustomerLabelOperation; + /** + * A customer negative criterion mutate operation. + */ + customerNegativeCriterionOperation?: Schema$GoogleAdsSearchads360V23Services__CustomerNegativeCriterionOperation; + /** + * A customer mutate operation. + */ + customerOperation?: Schema$GoogleAdsSearchads360V23Services__CustomerOperation; + /** + * A customizer attribute mutate operation. + */ + customizerAttributeOperation?: Schema$GoogleAdsSearchads360V23Services__CustomizerAttributeOperation; + /** + * An experiment arm mutate operation. + */ + experimentArmOperation?: Schema$GoogleAdsSearchads360V23Services__ExperimentArmOperation; + /** + * An experiment mutate operation. + */ + experimentOperation?: Schema$GoogleAdsSearchads360V23Services__ExperimentOperation; + /** + * A keyword plan ad group keyword operation. + */ + keywordPlanAdGroupKeywordOperation?: Schema$GoogleAdsSearchads360V23Services__KeywordPlanAdGroupKeywordOperation; + /** + * A keyword plan ad group operation. + */ + keywordPlanAdGroupOperation?: Schema$GoogleAdsSearchads360V23Services__KeywordPlanAdGroupOperation; + /** + * A keyword plan campaign keyword operation. + */ + keywordPlanCampaignKeywordOperation?: Schema$GoogleAdsSearchads360V23Services__KeywordPlanCampaignKeywordOperation; + /** + * A keyword plan campaign operation. + */ + keywordPlanCampaignOperation?: Schema$GoogleAdsSearchads360V23Services__KeywordPlanCampaignOperation; + /** + * A keyword plan operation. + */ + keywordPlanOperation?: Schema$GoogleAdsSearchads360V23Services__KeywordPlanOperation; + /** + * A label mutate operation. + */ + labelOperation?: Schema$GoogleAdsSearchads360V23Services__LabelOperation; + /** + * A recommendation subscription mutate operation. + */ + recommendationSubscriptionOperation?: Schema$GoogleAdsSearchads360V23Services__RecommendationSubscriptionOperation; + /** + * A remarketing action mutate operation. + */ + remarketingActionOperation?: Schema$GoogleAdsSearchads360V23Services__RemarketingActionOperation; + /** + * A Search Ads 360 campaign mutate operation. + */ + searchAds360CampaignOperation?: Schema$GoogleAdsSearchads360V23Services__SearchAds360CampaignOperation; + /** + * A shared criterion mutate operation. + */ + sharedCriterionOperation?: Schema$GoogleAdsSearchads360V23Services__SharedCriterionOperation; + /** + * A shared set mutate operation. + */ + sharedSetOperation?: Schema$GoogleAdsSearchads360V23Services__SharedSetOperation; + /** + * A Smart campaign setting mutate operation. + */ + smartCampaignSettingOperation?: Schema$GoogleAdsSearchads360V23Services__SmartCampaignSettingOperation; + /** + * A user list mutate operation. + */ + userListOperation?: Schema$GoogleAdsSearchads360V23Services__UserListOperation; + } + /** + * Response message for the resource mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateOperationResponse { + /** + * The result for the ad group ad label mutate. + */ + adGroupAdLabelResult?: Schema$GoogleAdsSearchads360V23Services__MutateAdGroupAdLabelResult; + /** + * The result for the ad group ad mutate. + */ + adGroupAdResult?: Schema$GoogleAdsSearchads360V23Services__MutateAdGroupAdResult; + /** + * The result for the ad group asset mutate. + */ + adGroupAssetResult?: Schema$GoogleAdsSearchads360V23Services__MutateAdGroupAssetResult; + /** + * The result for the ad group bid modifier mutate. + */ + adGroupBidModifierResult?: Schema$GoogleAdsSearchads360V23Services__MutateAdGroupBidModifierResult; + /** + * The result for the ad group criterion customizer mutate. + */ + adGroupCriterionCustomizerResult?: Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCriterionCustomizerResult; + /** + * The result for the ad group criterion label mutate. + */ + adGroupCriterionLabelResult?: Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCriterionLabelResult; + /** + * The result for the ad group criterion mutate. + */ + adGroupCriterionResult?: Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCriterionResult; + /** + * The result for the ad group customizer mutate. + */ + adGroupCustomizerResult?: Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCustomizerResult; + /** + * The result for the ad group label mutate. + */ + adGroupLabelResult?: Schema$GoogleAdsSearchads360V23Services__MutateAdGroupLabelResult; + /** + * The result for the ad group mutate. + */ + adGroupResult?: Schema$GoogleAdsSearchads360V23Services__MutateAdGroupResult; + /** + * The result for the ad parameter mutate. + */ + adParameterResult?: Schema$GoogleAdsSearchads360V23Services__MutateAdParameterResult; + /** + * The result for the ad mutate. + */ + adResult?: Schema$GoogleAdsSearchads360V23Services__MutateAdResult; + /** + * The result for the asset group asset mutate. + */ + assetGroupAssetResult?: Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupAssetResult; + /** + * The result for the asset group listing group filter mutate. + */ + assetGroupListingGroupFilterResult?: Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupListingGroupFilterResult; + /** + * The result for the asset group mutate. + */ + assetGroupResult?: Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupResult; + /** + * The result for the asset group signal mutate. + */ + assetGroupSignalResult?: Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupSignalResult; + /** + * The result for the asset mutate. + */ + assetResult?: Schema$GoogleAdsSearchads360V23Services__MutateAssetResult; + /** + * The result for the asset set asset mutate. + */ + assetSetAssetResult?: Schema$GoogleAdsSearchads360V23Services__MutateAssetSetAssetResult; + /** + * The result for the asset set mutate. + */ + assetSetResult?: Schema$GoogleAdsSearchads360V23Services__MutateAssetSetResult; + /** + * The result for the audience mutate. + */ + audienceResult?: Schema$GoogleAdsSearchads360V23Services__MutateAudienceResult; + /** + * The result for the bidding data exclusion mutate. + */ + biddingDataExclusionResult?: Schema$GoogleAdsSearchads360V23Services__MutateBiddingDataExclusionsResult; + /** + * The result for the bidding seasonality adjustment mutate. + */ + biddingSeasonalityAdjustmentResult?: Schema$GoogleAdsSearchads360V23Services__MutateBiddingSeasonalityAdjustmentsResult; + /** + * The result for the bidding strategy mutate. + */ + biddingStrategyResult?: Schema$GoogleAdsSearchads360V23Services__MutateBiddingStrategyResult; + /** + * The result for the campaign asset mutate. + */ + campaignAssetResult?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignAssetResult; + /** + * The result for the campaign asset set mutate. + */ + campaignAssetSetResult?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignAssetSetResult; + /** + * The result for the campaign bid modifier mutate. + */ + campaignBidModifierResult?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignBidModifierResult; + /** + * The result for the campaign budget mutate. + */ + campaignBudgetResult?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignBudgetResult; + /** + * The result for the campaign conversion goal mutate. + */ + campaignConversionGoalResult?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignConversionGoalResult; + /** + * The result for the campaign criterion mutate. + */ + campaignCriterionResult?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignCriterionResult; + /** + * The result for the campaign customizer mutate. + */ + campaignCustomizerResult?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignCustomizerResult; + /** + * The result for the campaign draft mutate. + */ + campaignDraftResult?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignDraftResult; + /** + * The result for the campaign group mutate. + */ + campaignGroupResult?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignGroupResult; + /** + * The result for the campaign label mutate. + */ + campaignLabelResult?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignLabelResult; + /** + * The result for the campaign mutate. + */ + campaignResult?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignResult; + /** + * The result for the campaign shared set mutate. + */ + campaignSharedSetResult?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignSharedSetResult; + /** + * The result for the conversion action mutate. + */ + conversionActionResult?: Schema$GoogleAdsSearchads360V23Services__MutateConversionActionResult; + /** + * The result for the conversion custom variable mutate. + */ + conversionCustomVariableResult?: Schema$GoogleAdsSearchads360V23Services__MutateConversionCustomVariableResult; + /** + * The result for the conversion goal campaign config mutate. + */ + conversionGoalCampaignConfigResult?: Schema$GoogleAdsSearchads360V23Services__MutateConversionGoalCampaignConfigResult; + /** + * The result for the conversion value rule mutate. + */ + conversionValueRuleResult?: Schema$GoogleAdsSearchads360V23Services__MutateConversionValueRuleResult; + /** + * The result for the conversion value rule set mutate. + */ + conversionValueRuleSetResult?: Schema$GoogleAdsSearchads360V23Services__MutateConversionValueRuleSetResult; + /** + * The result for the custom conversion goal mutate. + */ + customConversionGoalResult?: Schema$GoogleAdsSearchads360V23Services__MutateCustomConversionGoalResult; + /** + * The result for the customer asset mutate. + */ + customerAssetResult?: Schema$GoogleAdsSearchads360V23Services__MutateCustomerAssetResult; + /** + * The result for the customer conversion goal mutate. + */ + customerConversionGoalResult?: Schema$GoogleAdsSearchads360V23Services__MutateCustomerConversionGoalResult; + /** + * The result for the customer customizer mutate. + */ + customerCustomizerResult?: Schema$GoogleAdsSearchads360V23Services__MutateCustomerCustomizerResult; + /** + * The result for the customer label mutate. + */ + customerLabelResult?: Schema$GoogleAdsSearchads360V23Services__MutateCustomerLabelResult; + /** + * The result for the customer negative criterion mutate. + */ + customerNegativeCriterionResult?: Schema$GoogleAdsSearchads360V23Services__MutateCustomerNegativeCriteriaResult; + /** + * The result for the customer mutate. + */ + customerResult?: Schema$GoogleAdsSearchads360V23Services__MutateCustomerResult; + /** + * The result for the customizer attribute mutate. + */ + customizerAttributeResult?: Schema$GoogleAdsSearchads360V23Services__MutateCustomizerAttributeResult; + /** + * The result for the experiment arm mutate. + */ + experimentArmResult?: Schema$GoogleAdsSearchads360V23Services__MutateExperimentArmResult; + /** + * The result for the experiment mutate. + */ + experimentResult?: Schema$GoogleAdsSearchads360V23Services__MutateExperimentResult; + /** + * The result for the keyword plan ad group keyword mutate. + */ + keywordPlanAdGroupKeywordResult?: Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupKeywordResult; + /** + * The result for the keyword plan ad group mutate. + */ + keywordPlanAdGroupResult?: Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupResult; + /** + * The result for the keyword plan campaign keyword mutate. + */ + keywordPlanCampaignKeywordResult?: Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignKeywordResult; + /** + * The result for the keyword plan campaign mutate. + */ + keywordPlanCampaignResult?: Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignResult; + /** + * The result for the keyword plan mutate. + */ + keywordPlanResult?: Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlansResult; + /** + * The result for the label mutate. + */ + labelResult?: Schema$GoogleAdsSearchads360V23Services__MutateLabelResult; + /** + * The result for the recommendation subscription mutate. + */ + recommendationSubscriptionResult?: Schema$GoogleAdsSearchads360V23Services__MutateRecommendationSubscriptionResult; + /** + * The result for the remarketing action mutate. + */ + remarketingActionResult?: Schema$GoogleAdsSearchads360V23Services__MutateRemarketingActionResult; + /** + * The result for the Search Ads 360 campaign mutate. + */ + searchAds360CampaignResult?: Schema$GoogleAdsSearchads360V23Services__MutateSearchAds360CampaignResult; + /** + * The result for the shared criterion mutate. + */ + sharedCriterionResult?: Schema$GoogleAdsSearchads360V23Services__MutateSharedCriterionResult; + /** + * The result for the shared set mutate. + */ + sharedSetResult?: Schema$GoogleAdsSearchads360V23Services__MutateSharedSetResult; + /** + * The result for the Smart campaign setting mutate. + */ + smartCampaignSettingResult?: Schema$GoogleAdsSearchads360V23Services__MutateSmartCampaignSettingResult; + /** + * The result for the user list mutate. + */ + userListResult?: Schema$GoogleAdsSearchads360V23Services__MutateUserListResult; + } + /** + * Request message for RecommendationSubscriptionService.MutateRecommendationSubscription + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateRecommendationSubscriptionRequest { + /** + * Required. The list of create or update operations. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__RecommendationSubscriptionOperation[]; + /** + * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false. + */ + partialFailure?: boolean | null; + /** + * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation. The mutable resource will only be returned if the resource has the appropriate response field. For example, MutateCampaignResult.campaign. + */ + responseContentType?: string | null; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for RecommendationSubscriptionService.MutateRecommendationSubscription + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateRecommendationSubscriptionResponse { + /** + * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors) we return the RPC level error. + */ + partialFailureError?: Schema$GoogleRpc__Status; + /** + * Results, one per operation. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateRecommendationSubscriptionResult[]; + } + /** + * Result message for RecommendationSubscriptionService.MutateRecommendationSubscription + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateRecommendationSubscriptionResult { + /** + * The mutated recommendation subscription with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE". + */ + recommendationSubscription?: Schema$GoogleAdsSearchads360V23Resources__RecommendationSubscription; + /** + * Resource name of the subscription that was modified. + */ + resourceName?: string | null; + } + /** + * The result for the remarketing action mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateRemarketingActionResult { + /** + * Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * Request message for RemarketingActionService.MutateRemarketingActions. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateRemarketingActionsRequest { + /** + * Required. The list of operations to perform on individual remarketing actions. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__RemarketingActionOperation[]; + /** + * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false. + */ + partialFailure?: boolean | null; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for remarketing action mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateRemarketingActionsResponse { + /** + * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error. + */ + partialFailureError?: Schema$GoogleRpc__Status; + /** + * All results for the mutate. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateRemarketingActionResult[]; + } + /** + * The result for the Search Ads 360 campaign mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateSearchAds360CampaignResult { + /** + * Returned for successful operations. + */ + resourceName?: string | null; + /** + * The mutated Search Ads 360 campaign with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE". + */ + searchAds360Campaign?: Schema$GoogleAdsSearchads360V23Resources__SearchAds360Campaign; + } + /** + * Request message for Service.Mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateSearchAds360Request { + /** + * Required. The list of operations to perform on individual resources. + */ + mutateOperations?: Schema$GoogleAdsSearchads360V23Services__MutateOperation[]; + /** + * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false. + */ + partialFailure?: boolean | null; + /** + * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation. The mutable resource will only be returned if the resource has the appropriate response field. For example, . + */ + responseContentType?: string | null; + validateOnly?: boolean | null; + } + /** + * Response message for Service.Mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateSearchAds360Response { + /** + * All responses for the mutate. + */ + mutateOperationResponses?: Schema$GoogleAdsSearchads360V23Services__MutateOperationResponse[]; + /** + * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error. + */ + partialFailureError?: Schema$GoogleRpc__Status; + } + /** + * Request message for SharedCriterionService.MutateSharedCriteria. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateSharedCriteriaRequest { + /** + * Required. The list of operations to perform on individual shared criteria. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__SharedCriterionOperation[]; + /** + * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false. + */ + partialFailure?: boolean | null; + /** + * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation. + */ + responseContentType?: string | null; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for a shared criterion mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateSharedCriteriaResponse { + /** + * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error. + */ + partialFailureError?: Schema$GoogleRpc__Status; + /** + * All results for the mutate. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateSharedCriterionResult[]; + } + /** + * The result for the shared criterion mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateSharedCriterionResult { + /** + * Returned for successful operations. + */ + resourceName?: string | null; + /** + * The mutated shared criterion with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE". + */ + sharedCriterion?: Schema$GoogleAdsSearchads360V23Resources__SharedCriterion; + } + /** + * The result for the shared set mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateSharedSetResult { + /** + * Returned for successful operations. + */ + resourceName?: string | null; + /** + * The mutated shared set with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE". + */ + sharedSet?: Schema$GoogleAdsSearchads360V23Resources__SharedSet; + } + /** + * Request message for SharedSetService.MutateSharedSets. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateSharedSetsRequest { + /** + * Required. The list of operations to perform on individual shared sets. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__SharedSetOperation[]; + /** + * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false. + */ + partialFailure?: boolean | null; + /** + * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation. + */ + responseContentType?: string | null; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for a shared set mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateSharedSetsResponse { + /** + * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error. + */ + partialFailureError?: Schema$GoogleRpc__Status; + /** + * All results for the mutate. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateSharedSetResult[]; + } + /** + * The result for the Smart campaign setting mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateSmartCampaignSettingResult { + /** + * Returned for successful operations. + */ + resourceName?: string | null; + /** + * The mutated Smart campaign setting with only mutable fields after mutate. The field will only be returned when response_content_type is set to "MUTABLE_RESOURCE". + */ + smartCampaignSetting?: Schema$GoogleAdsSearchads360V23Resources__SmartCampaignSetting; + } + /** + * Request message for SmartCampaignSettingService.MutateSmartCampaignSettings. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateSmartCampaignSettingsRequest { + /** + * Required. The list of operations to perform on individual Smart campaign settings. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__SmartCampaignSettingOperation[]; + /** + * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false. + */ + partialFailure?: boolean | null; + /** + * The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation. + */ + responseContentType?: string | null; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for campaign mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateSmartCampaignSettingsResponse { + /** + * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error. + */ + partialFailureError?: Schema$GoogleRpc__Status; + /** + * All results for the mutate. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateSmartCampaignSettingResult[]; + } + /** + * The result for the user list customer type mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateUserListCustomerTypeResult { + /** + * Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * Request message for UserListCustomerTypeService.MutateUserListCustomerTypes. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateUserListCustomerTypesRequest { + /** + * Required. The list of operations to perform on the user list customer types. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__UserListCustomerTypeOperation[]; + /** + * Optional. If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false. + */ + partialFailure?: boolean | null; + /** + * Optional. If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for a user list customer type mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateUserListCustomerTypesResponse { + /** + * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error. + */ + partialFailureError?: Schema$GoogleRpc__Status; + /** + * All results for the mutate. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateUserListCustomerTypeResult[]; + } + /** + * The result for the user list mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateUserListResult { + /** + * Returned for successful operations. + */ + resourceName?: string | null; + } + /** + * Request message for UserListService.MutateUserLists. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateUserListsRequest { + /** + * Required. The list of operations to perform on individual user lists. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__UserListOperation[]; + /** + * If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false. + */ + partialFailure?: boolean | null; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for user list mutate. + */ + export interface Schema$GoogleAdsSearchads360V23Services__MutateUserListsResponse { + /** + * Errors that pertain to operation failures in the partial failure mode. Returned only when partial_failure = true and all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), we return an RPC level error. + */ + partialFailureError?: Schema$GoogleRpc__Status; + /** + * All results for the mutate. + */ + results?: Schema$GoogleAdsSearchads360V23Services__MutateUserListResult[]; + } + /** + * Operation to be made for the AddOfflineUserDataJobOperationsRequest. + */ + export interface Schema$GoogleAdsSearchads360V23Services__OfflineUserDataJobOperation { + /** + * Add the provided data to the transaction. Data cannot be retrieved after being uploaded. + */ + create?: Schema$GoogleAdsSearchads360V23Common__UserData; + /** + * Remove the provided data from the transaction. Data cannot be retrieved after being uploaded. + */ + remove?: Schema$GoogleAdsSearchads360V23Common__UserData; + /** + * Remove all previously provided data. This is only supported for Customer Match. + */ + removeAll?: boolean | null; + } + /** + * Audience metrics for the planned products. These metrics consider the following targeting dimensions: - Location - PlannableAgeRange - Gender - AudienceTargeting (only for youtube_audience_size) + */ + export interface Schema$GoogleAdsSearchads360V23Services__OnTargetAudienceMetrics { + /** + * Reference audience size matching the considered targeting for Census. + */ + censusAudienceSize?: string | null; + /** + * Reference audience size matching the considered targeting for YouTube. + */ + youtubeAudienceSize?: string | null; + } + /** + * A plannable location: country, metro region, province, etc. + */ + export interface Schema$GoogleAdsSearchads360V23Services__PlannableLocation { + /** + * The ISO-3166-1 alpha-2 country code that is associated with the location. + */ + countryCode?: string | null; + /** + * The location identifier. + */ + id?: string | null; + /** + * The location's type. Location types correspond to target_type returned by . + */ + locationType?: string | null; + /** + * The unique location name in English. + */ + name?: string | null; + /** + * The parent country (not present if location is a country). If present, will always be a GeoTargetConstant ID. Additional information such as country name is provided by ReachPlanService.ListPlannableLocations or + */ + parentCountryId?: string | null; + } + /** + * The targeting for which traffic metrics will be reported. + */ + export interface Schema$GoogleAdsSearchads360V23Services__PlannableTargeting { + /** + * Allowed plannable age ranges for the product for which metrics will be reported. Actual targeting is computed by mapping this age range onto standard Google common.AgeRangeInfo values. + */ + ageRanges?: string[] | null; + /** + * Targetable devices for the ad product. TABLET device targeting is automatically applied to reported metrics when MOBILE targeting is selected for CPM_MASTHEAD, GOOGLE_PREFERRED_BUMPER, and GOOGLE_PREFERRED_SHORT products. + */ + devices?: Schema$GoogleAdsSearchads360V23Common__DeviceInfo[]; + /** + * Targetable genders for the ad product. + */ + genders?: Schema$GoogleAdsSearchads360V23Common__GenderInfo[]; + /** + * Targetable networks for the ad product. + */ + networks?: string[] | null; + /** + * Targetable surface combinations for the ad product. + */ + surfaceTargeting?: Schema$GoogleAdsSearchads360V23Services__SurfaceTargetingCombinations; + /** + * Targetable YouTube Select Lineups for the ad product. + */ + youtubeSelectLineups?: Schema$GoogleAdsSearchads360V23Services__YouTubeSelectLineUp[]; + } + /** + * A plannable user interest that can be targeted in a reach forecast using ReachPlanService.GenerateReachForecast. + */ + export interface Schema$GoogleAdsSearchads360V23Services__PlannableUserInterest { + /** + * The user interest id. + */ + userInterest?: Schema$GoogleAdsSearchads360V23Common__UserInterestInfo; + /** + * The user interest display name. For example, "Autos & Vehicles" + */ + userInterestDisplayName?: string | null; + /** + * The user interest path. For example, "/Autos & Vehicles/Motor Vehicles/Motor Vehicles by Type/Off-Road Vehicles" + */ + userInterestPath?: string | null; + /** + * The user interest type. + */ + userInterestType?: string | null; + } + /** + * A plannable user list. + */ + export interface Schema$GoogleAdsSearchads360V23Services__PlannableUserList { + /** + * The name of the user list. + */ + displayName?: string | null; + /** + * The plannable status of the user list. + */ + plannableStatus?: string | null; + /** + * The relevant metadata for this user list. + */ + plannableUserListMetadata?: Schema$GoogleAdsSearchads360V23Services__PlannableUserListMetadata; + /** + * The user list ID. + */ + userListInfo?: Schema$GoogleAdsSearchads360V23Common__UserListInfo; + /** + * The user list type. + */ + userListType?: string | null; + } + /** + * The metadata associated with a plannable user list. + */ + export interface Schema$GoogleAdsSearchads360V23Services__PlannableUserListMetadata { + /** + * The data source type of a CRM based user list. + */ + userListCrmDataSourceType?: string | null; + } + /** + * A product being planned for reach. + */ + export interface Schema$GoogleAdsSearchads360V23Services__PlannedProduct { + /** + * Targeting settings for the selected product. To list the available targeting for each product use ReachPlanService.ListPlannableProducts. + */ + advancedProductTargeting?: Schema$GoogleAdsSearchads360V23Services__AdvancedProductTargeting; + /** + * Required. Maximum budget allocation in micros for the selected product. The value is specified in the selected planning currency_code. For example: 1 000 000$ = 1 000 000 000 000 micros. + */ + budgetMicros?: string | null; + /** + * Conversion rate as a decimal between 0 and 1, exclusive. For example: if 2% of ad interactions are expected to lead to conversions, conversion_rate should be 0.02. This field is required for DEMAND_GEN plannable products. It is not supported for other plannable products. + */ + conversionRate?: number | null; + /** + * Required. Selected product for planning. The code associated with the ad product (for example: Trueview, Bumper). To list the available plannable product codes use ReachPlanService.ListPlannableProducts. + */ + plannableProductCode?: string | null; + } + /** + * Forecasted traffic metrics for a planned product. + */ + export interface Schema$GoogleAdsSearchads360V23Services__PlannedProductForecast { + /** + * The number of times per selected time unit a user will see an ad, averaged over the number of time units in the forecast length. This field will only be populated for a Target Frequency campaign. See https://support.google.com/google-ads/answer/12400225 for more information about Target Frequency campaigns. + */ + averageFrequency?: number | null; + /** + * The number of conversions. This metric is only available for DEMAND_GEN plannable products. See https://support.google.com/google-ads/answer/2375431 for more information on conversions. + */ + conversions?: number | null; + /** + * Number of ad impressions that exactly matches the Targeting including co-viewers. + */ + onTargetCoviewImpressions?: string | null; + /** + * Number of unique people reached that exactly matches the Targeting including co-viewers. + */ + onTargetCoviewReach?: string | null; + /** + * Number of ad impressions that exactly matches the Targeting. + */ + onTargetImpressions?: string | null; + /** + * Number of unique people reached that exactly matches the Targeting. Note that a minimum number of unique people must be reached in order for data to be reported. If the minimum number is not met, the on_target_reach value will be rounded to 0. + */ + onTargetReach?: string | null; + /** + * Total number of ad impressions including co-viewers. This includes impressions that may fall outside the specified Targeting, due to insufficient information on signed-in users. + */ + totalCoviewImpressions?: string | null; + /** + * Number of unique people reached including co-viewers. This includes people that may fall outside the specified Targeting. + */ + totalCoviewReach?: string | null; + /** + * Total number of ad impressions. This includes impressions that may fall outside the specified Targeting, due to insufficient information on signed-in users. + */ + totalImpressions?: string | null; + /** + * Number of unique people reached. This includes people that may fall outside the specified Targeting. Note that a minimum number of unique people must be reached in order for data to be reported. If the minimum number is not met, the total_reach value will be rounded to 0. + */ + totalReach?: string | null; + /** + * Number of ad views forecasted for the specified product and targeting. A TrueView View is counted when a viewer views a larger portion or the entirety of an ad beyond an impression. See https://support.google.com/google-ads/answer/2375431 for more information on TrueView Views. + */ + trueviewViews?: string | null; + /** + * Number of times the ad's impressions were considered viewable. See https://support.google.com/google-ads/answer/7029393 for more information about what makes an ad viewable and how viewability is measured. + */ + viewableImpressions?: string | null; + } + /** + * The forecasted allocation and traffic metrics for a specific product at a point on the reach curve. + */ + export interface Schema$GoogleAdsSearchads360V23Services__PlannedProductReachForecast { + /** + * The cost in micros. This may differ from the product's input allocation if one or more planned products cannot fulfill the budget because of limited inventory. + */ + costMicros?: string | null; + /** + * Selected product for planning. The product codes returned are within the set of the ones returned by ListPlannableProducts when using the same location ID. + */ + plannableProductCode?: string | null; + /** + * Forecasted traffic metrics for this product. + */ + plannedProductForecast?: Schema$GoogleAdsSearchads360V23Services__PlannedProductForecast; + } + /** + * The type and list of products to aggregate benchmarks metrics over. + */ + export interface Schema$GoogleAdsSearchads360V23Services__ProductFilter { + /** + * The list of marketing goals. Marketing objective is a broader product classification of products. + */ + marketingObjectiveList?: Schema$GoogleAdsSearchads360V23Services_ProductFilter_MarketingObjectiveList; + /** + * The list of products. + */ + productList?: Schema$GoogleAdsSearchads360V23Services_ProductFilter_ProductList; + } + /** + * The metadata associated with an available plannable product. + */ + export interface Schema$GoogleAdsSearchads360V23Services__ProductMetadata { + /** + * The code associated with the ad product (for example: BUMPER, TRUEVIEW_IN_STREAM). To list the available plannable product codes use ReachPlanService.ListPlannableProducts. + */ + plannableProductCode?: string | null; + /** + * The name associated with the ad product. + */ + plannableProductName?: string | null; + /** + * The allowed plannable targeting for this product. + */ + plannableTargeting?: Schema$GoogleAdsSearchads360V23Services__PlannableTargeting; + } + /** + * Request message for CampaignDraftService.PromoteCampaignDraft. + */ + export interface Schema$GoogleAdsSearchads360V23Services__PromoteCampaignDraftRequest { + /** + * If true, the request is validated but no Long Running Operation is created. Only errors are returned. + */ + validateOnly?: boolean | null; + } + /** + * The metadata of the promoted experiment. + */ + export interface Schema$GoogleAdsSearchads360V23Services__PromoteExperimentMetadata { + /** + * Required. The promoted experiment. + */ + experiment?: string | null; + } + /** + * Request message for ExperimentService.PromoteExperiment. + */ + export interface Schema$GoogleAdsSearchads360V23Services__PromoteExperimentRequest { + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Request message for LocalServicesLeadService.ProvideLeadFeedback. + */ + export interface Schema$GoogleAdsSearchads360V23Services__ProvideLeadFeedbackRequest { + /** + * Required. Survey answer for Local Services Ads Lead. + */ + surveyAnswer?: string | null; + /** + * Details about various factors for not being satisfied with the lead. + */ + surveyDissatisfied?: Schema$GoogleAdsSearchads360V23Services__SurveyDissatisfied; + /** + * Details about various factors for being satisfied with the lead. + */ + surveySatisfied?: Schema$GoogleAdsSearchads360V23Services__SurveySatisfied; + } + /** + * Response message for LocalServicesLeadService.ProvideLeadFeedback. + */ + export interface Schema$GoogleAdsSearchads360V23Services__ProvideLeadFeedbackResponse { + /** + * Required. Decision of bonus credit issued or rejected. If a bonus credit is issued, it will be available for use in about two months. + */ + creditIssuanceDecision?: string | null; + } + /** + * Average rate metrics. Metrics that represent monetary values are returned in USD by default, if unspecified in the request. + */ + export interface Schema$GoogleAdsSearchads360V23Services__RateMetrics { + /** + * The percentage of time when your ad appeared on an Active View enabled site (measurable impressions) and was viewable (viewable impressions). + */ + activeViewViewability?: number | null; + /** + * Average cost-per-thousand viewable impressions. + */ + averageActiveViewCpm?: number | null; + /** + * The average cost-per-click (CPC) is defined by the total cost of all clicks divided by the total number of clicks received. + */ + averageCpc?: number | null; + /** + * The average cost-per-engagement (CPE) is defined by the total cost of all ad engagements divided by the total number of ad engagements. + */ + averageCpe?: number | null; + /** + * The average cost-per-interaction (CPI) is defined by the total cost of all interactions divided by the total number of interactions. + */ + averageCpi?: number | null; + /** + * Average cost-per-thousand impressions (CPM). + */ + averageCpm?: number | null; + /** + * The number of clicks your ad receives (Clicks) divided by the number of times your ad is shown (Impressions). + */ + clickThroughRate?: number | null; + /** + * How often people engage with your ad after it's shown to them. This is the number of ad expansions divided by the number of times your ad is shown. + */ + engagementRate?: number | null; + /** + * How often people interact with your ad after it is shown to them. This is the number of interactions divided by the number of times your ad is shown. + */ + interactionRate?: number | null; + /** + * The average TrueView cost-per-view (CPV) is defined by the total cost of all ad TrueView views divided by the number of TrueView views. + */ + trueviewAverageCpv?: number | null; + /** + * Number of completed TrueView views divided by the number of impressions. + */ + trueviewViewRate?: number | null; + /** + * Percentage of impressions where the viewer watched all of your video. + */ + videoCompletionP100Rate?: number | null; + /** + * Percentage of impressions where the viewer watched 25% of your video. + */ + videoCompletionP25Rate?: number | null; + /** + * Percentage of impressions where the viewer watched 50% of your video. + */ + videoCompletionP50Rate?: number | null; + /** + * Percentage of impressions where the viewer watched 75% of your video. + */ + videoCompletionP75Rate?: number | null; + } + /** + * Message for raw event conversion dimension header. + */ + export interface Schema$GoogleAdsSearchads360V23Services__RawEventConversionDimensionHeader { + /** + * The conversion custom variable ID. + */ + id?: string | null; + /** + * The user defined name of the raw event dimension. + */ + name?: string | null; + } + /** + * Message for raw event conversion metric header. + */ + export interface Schema$GoogleAdsSearchads360V23Services__RawEventConversionMetricHeader { + /** + * The conversion custom variable ID. + */ + id?: string | null; + /** + * The user defined name of the raw event metric. + */ + name?: string | null; + } + /** + * The reach curve for the planned products. + */ + export interface Schema$GoogleAdsSearchads360V23Services__ReachCurve { + /** + * All points on the reach curve. + */ + reachForecasts?: Schema$GoogleAdsSearchads360V23Services__ReachForecast[]; + } + /** + * A point on reach curve. + */ + export interface Schema$GoogleAdsSearchads360V23Services__ReachForecast { + /** + * The cost in micros. + */ + costMicros?: string | null; + /** + * Forecasted traffic metrics for this point. + */ + forecast?: Schema$GoogleAdsSearchads360V23Services__Forecast; + /** + * The forecasted allocation and traffic metrics for each planned product at this point on the reach curve. + */ + plannedProductReachForecasts?: Schema$GoogleAdsSearchads360V23Services__PlannedProductReachForecast[]; + } + /** + * A single operation (create, update) on a recommendation subscription. RecommendationSubscriptionService.MutateRecommendationSubscription + */ + export interface Schema$GoogleAdsSearchads360V23Services__RecommendationSubscriptionOperation { + /** + * Create operation: No resource name is expected for the new subscription. + */ + create?: Schema$GoogleAdsSearchads360V23Resources__RecommendationSubscription; + /** + * Update operation: The subscription is expected to have a valid resource name. + */ + update?: Schema$GoogleAdsSearchads360V23Resources__RecommendationSubscription; + /** + * Optional. FieldMask that determines which resource fields are modified in an update. + */ + updateMask?: string | null; + } + /** + * Request message for ThirdPartyAppAnalyticsLinkService.RegenerateShareableLinkId. + */ + export interface Schema$GoogleAdsSearchads360V23Services__RegenerateShareableLinkIdRequest {} + /** + * Response message for ThirdPartyAppAnalyticsLinkService.RegenerateShareableLinkId. + */ + export interface Schema$GoogleAdsSearchads360V23Services__RegenerateShareableLinkIdResponse {} + /** + * A single operation (create, update) on a remarketing action. + */ + export interface Schema$GoogleAdsSearchads360V23Services__RemarketingActionOperation { + /** + * Create operation: No resource name is expected for the new remarketing action. + */ + create?: Schema$GoogleAdsSearchads360V23Resources__RemarketingAction; + /** + * Update operation: The remarketing action is expected to have a valid resource name. + */ + update?: Schema$GoogleAdsSearchads360V23Resources__RemarketingAction; + /** + * FieldMask that determines which resource fields are modified in an update. + */ + updateMask?: string | null; + } + /** + * Request message for AdGroupAdService.RemoveAutomaticallyCreatedAssets. + */ + export interface Schema$GoogleAdsSearchads360V23Services__RemoveAutomaticallyCreatedAssetsRequest { + /** + * Required. List of assets with field type to be removed from the AdGroupAd. + */ + assetsWithFieldType?: Schema$GoogleAdsSearchads360V23Services__AssetsWithFieldType[]; + } + /** + * A single operation to remove an automatically created asset from a campaign. + */ + export interface Schema$GoogleAdsSearchads360V23Services__RemoveCampaignAutomaticallyCreatedAssetOperation { + /** + * Required. The resource name of the asset to remove. + */ + asset?: string | null; + /** + * Required. The resource name of the campaign. + */ + campaign?: string | null; + /** + * Required. The field type of the asset to remove. + */ + fieldType?: string | null; + } + /** + * Request message for AutomaticallyCreatedAssetRemovalService.RemoveCampaignAutomaticallyCreatedAsset. + */ + export interface Schema$GoogleAdsSearchads360V23Services__RemoveCampaignAutomaticallyCreatedAssetRequest { + /** + * Required. The list of operations. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__RemoveCampaignAutomaticallyCreatedAssetOperation[]; + /** + * Required. If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. + */ + partialFailure?: boolean | null; + } + /** + * Response message for AutomaticallyCreatedAssetRemovalService.RemoveCampaignAutomaticallyCreatedAsset. + */ + export interface Schema$GoogleAdsSearchads360V23Services__RemoveCampaignAutomaticallyCreatedAssetResponse { + /** + * Errors that pertain to AutomaticallyCreatedAssetRemoval failures in the partial failure mode. Returned when all errors occur inside the operations. If any errors occur outside the operations (for example, auth errors), RPC level error will be returned. See https://developers.google.com/google-ads/api/docs/best-practices/partial-failures for more information about partial failure. + */ + partialFailureError?: Schema$GoogleRpc__Status; + } + /** + * Request message for DataLinkService.RemoveDataLink. + */ + export interface Schema$GoogleAdsSearchads360V23Services__RemoveDataLinkRequest { + /** + * Required. The data link is expected to have a valid resource name. + */ + resourceName?: string | null; + } + /** + * Response message for DataLinkService.RemoveDataLink. + */ + export interface Schema$GoogleAdsSearchads360V23Services__RemoveDataLinkResponse { + /** + * Result for the remove request. + */ + resourceName?: string | null; + } + /** + * Request message for ProductLinkInvitationService.RemoveProductLinkInvitation. + */ + export interface Schema$GoogleAdsSearchads360V23Services__RemoveProductLinkInvitationRequest { + /** + * Required. The resource name of the product link invitation being removed. expected, in this format: ` ` + */ + resourceName?: string | null; + } + /** + * Response message for product link invitation removeal. + */ + export interface Schema$GoogleAdsSearchads360V23Services__RemoveProductLinkInvitationResponse { + /** + * Result for the remove request. + */ + resourceName?: string | null; + } + /** + * Request message for ProductLinkService.RemoveProductLink. + */ + export interface Schema$GoogleAdsSearchads360V23Services__RemoveProductLinkRequest { + /** + * Required. Remove operation: A resource name for the product link to remove is expected, in this format: ` ` + */ + resourceName?: string | null; + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * Response message for product link removal. + */ + export interface Schema$GoogleAdsSearchads360V23Services__RemoveProductLinkResponse { + /** + * Result for the remove request. + */ + resourceName?: string | null; + } + /** + * Request message for BatchJobService.RunBatchJob. + */ + export interface Schema$GoogleAdsSearchads360V23Services__RunBatchJobRequest {} + /** + * Request message for OfflineUserDataJobService.RunOfflineUserDataJob. + */ + export interface Schema$GoogleAdsSearchads360V23Services__RunOfflineUserDataJobRequest { + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * The metadata of the scheduled experiment. + */ + export interface Schema$GoogleAdsSearchads360V23Services__ScheduleExperimentMetadata { + /** + * Required. The scheduled experiment. + */ + experiment?: string | null; + } + /** + * Request message for ExperimentService.ScheduleExperiment. + */ + export interface Schema$GoogleAdsSearchads360V23Services__ScheduleExperimentRequest { + /** + * If true, the request is validated but not executed. Only errors are returned, not results. + */ + validateOnly?: boolean | null; + } + /** + * A single operation (update) on a Search Ads 360 campaign. + */ + export interface Schema$GoogleAdsSearchads360V23Services__SearchAds360CampaignOperation { + /** + * Update operation: The Search Ads 360 campaign is expected to have a valid resource name. + */ + update?: Schema$GoogleAdsSearchads360V23Resources__SearchAds360Campaign; + /** + * FieldMask that determines which resource fields are modified in an update. + */ + updateMask?: string | null; + } + /** + * A returned row from the query. + */ + export interface Schema$GoogleAdsSearchads360V23Services__SearchAds360Row { + /** + * The accessible bidding strategy referenced in the query. + */ + accessibleBiddingStrategy?: Schema$GoogleAdsSearchads360V23Resources__AccessibleBiddingStrategy; + /** + * The account budget in the query. + */ + accountBudget?: Schema$GoogleAdsSearchads360V23Resources__AccountBudget; + /** + * The account budget proposal referenced in the query. + */ + accountBudgetProposal?: Schema$GoogleAdsSearchads360V23Resources__AccountBudgetProposal; + /** + * The AccountLink referenced in the query. + */ + accountLink?: Schema$GoogleAdsSearchads360V23Resources__AccountLink; + /** + * The Ad referenced in the query. + */ + ad?: Schema$GoogleAdsSearchads360V23Resources__Ad; + /** + * The ad group referenced in the query. + */ + adGroup?: Schema$GoogleAdsSearchads360V23Resources__AdGroup; + /** + * The ad referenced in the query. + */ + adGroupAd?: Schema$GoogleAdsSearchads360V23Resources__AdGroupAd; + /** + * The ad group ad asset combination view in the query. + */ + adGroupAdAssetCombinationView?: Schema$GoogleAdsSearchads360V23Resources__AdGroupAdAssetCombinationView; + /** + * The ad group ad asset view in the query. + */ + adGroupAdAssetView?: Schema$GoogleAdsSearchads360V23Resources__AdGroupAdAssetView; + /** + * The ad group ad effective label referenced in the query. + */ + adGroupAdEffectiveLabel?: Schema$GoogleAdsSearchads360V23Resources__AdGroupAdEffectiveLabel; + /** + * The ad group ad label referenced in the query. + */ + adGroupAdLabel?: Schema$GoogleAdsSearchads360V23Resources__AdGroupAdLabel; + /** + * The ad group asset referenced in the query. + */ + adGroupAsset?: Schema$GoogleAdsSearchads360V23Resources__AdGroupAsset; + /** + * The ad group asset set referenced in the query. + */ + adGroupAssetSet?: Schema$GoogleAdsSearchads360V23Resources__AdGroupAssetSet; + /** + * The ad group audience view referenced in the query. + */ + adGroupAudienceView?: Schema$GoogleAdsSearchads360V23Resources__AdGroupAudienceView; + /** + * The bid modifier referenced in the query. + */ + adGroupBidModifier?: Schema$GoogleAdsSearchads360V23Resources__AdGroupBidModifier; + /** + * The criterion referenced in the query. + */ + adGroupCriterion?: Schema$GoogleAdsSearchads360V23Resources__AdGroupCriterion; + /** + * The ad group criterion customizer referenced in the query. + */ + adGroupCriterionCustomizer?: Schema$GoogleAdsSearchads360V23Resources__AdGroupCriterionCustomizer; + /** + * The ad group criterion effective label referenced in the query. + */ + adGroupCriterionEffectiveLabel?: Schema$GoogleAdsSearchads360V23Resources__AdGroupCriterionEffectiveLabel; + /** + * The ad group criterion label referenced in the query. + */ + adGroupCriterionLabel?: Schema$GoogleAdsSearchads360V23Resources__AdGroupCriterionLabel; + /** + * The ad group criterion simulation referenced in the query. + */ + adGroupCriterionSimulation?: Schema$GoogleAdsSearchads360V23Resources__AdGroupCriterionSimulation; + /** + * The ad group customizer referenced in the query. + */ + adGroupCustomizer?: Schema$GoogleAdsSearchads360V23Resources__AdGroupCustomizer; + /** + * The ad group effective label referenced in the query. + */ + adGroupEffectiveLabel?: Schema$GoogleAdsSearchads360V23Resources__AdGroupEffectiveLabel; + /** + * The ad group label referenced in the query. + */ + adGroupLabel?: Schema$GoogleAdsSearchads360V23Resources__AdGroupLabel; + /** + * The ad group simulation referenced in the query. + */ + adGroupSimulation?: Schema$GoogleAdsSearchads360V23Resources__AdGroupSimulation; + /** + * The ad parameter referenced in the query. + */ + adParameter?: Schema$GoogleAdsSearchads360V23Resources__AdParameter; + /** + * The ad schedule view referenced in the query. + */ + adScheduleView?: Schema$GoogleAdsSearchads360V23Resources__AdScheduleView; + /** + * The age range view referenced in the query. + */ + ageRangeView?: Schema$GoogleAdsSearchads360V23Resources__AgeRangeView; + /** + * The AI Max search term ad combination view referenced in the query. + */ + aiMaxSearchTermAdCombinationView?: Schema$GoogleAdsSearchads360V23Resources__AiMaxSearchTermAdCombinationView; + /** + * The android privacy shared key google ad group referenced in the query. + */ + androidPrivacySharedKeyGoogleAdGroup?: Schema$GoogleAdsSearchads360V23Resources__AndroidPrivacySharedKeyGoogleAdGroup; + /** + * The android privacy shared key google campaign referenced in the query. + */ + androidPrivacySharedKeyGoogleCampaign?: Schema$GoogleAdsSearchads360V23Resources__AndroidPrivacySharedKeyGoogleCampaign; + /** + * The android privacy shared key google network type referenced in the query. + */ + androidPrivacySharedKeyGoogleNetworkType?: Schema$GoogleAdsSearchads360V23Resources__AndroidPrivacySharedKeyGoogleNetworkType; + /** + * The asset referenced in the query. + */ + asset?: Schema$GoogleAdsSearchads360V23Resources__Asset; + /** + * The asset field type view referenced in the query. + */ + assetFieldTypeView?: Schema$GoogleAdsSearchads360V23Resources__AssetFieldTypeView; + /** + * The asset group referenced in the query. + */ + assetGroup?: Schema$GoogleAdsSearchads360V23Resources__AssetGroup; + /** + * The asset group asset referenced in the query. + */ + assetGroupAsset?: Schema$GoogleAdsSearchads360V23Resources__AssetGroupAsset; + /** + * The asset group listing group filter referenced in the query. + */ + assetGroupListingGroupFilter?: Schema$GoogleAdsSearchads360V23Resources__AssetGroupListingGroupFilter; + /** + * The asset group product group view referenced in the query. + */ + assetGroupProductGroupView?: Schema$GoogleAdsSearchads360V23Resources__AssetGroupProductGroupView; + /** + * The asset group signal referenced in the query. + */ + assetGroupSignal?: Schema$GoogleAdsSearchads360V23Resources__AssetGroupSignal; + /** + * The asset group top combination view referenced in the query. + */ + assetGroupTopCombinationView?: Schema$GoogleAdsSearchads360V23Resources__AssetGroupTopCombinationView; + /** + * The asset set referenced in the query. + */ + assetSet?: Schema$GoogleAdsSearchads360V23Resources__AssetSet; + /** + * The asset set asset referenced in the query. + */ + assetSetAsset?: Schema$GoogleAdsSearchads360V23Resources__AssetSetAsset; + /** + * The asset set type view referenced in the query. + */ + assetSetTypeView?: Schema$GoogleAdsSearchads360V23Resources__AssetSetTypeView; + /** + * The Audience referenced in the query. + */ + audience?: Schema$GoogleAdsSearchads360V23Resources__Audience; + /** + * The batch job referenced in the query. + */ + batchJob?: Schema$GoogleAdsSearchads360V23Resources__BatchJob; + /** + * The bidding data exclusion referenced in the query. + */ + biddingDataExclusion?: Schema$GoogleAdsSearchads360V23Resources__BiddingDataExclusion; + /** + * The bidding seasonality adjustment referenced in the query. + */ + biddingSeasonalityAdjustment?: Schema$GoogleAdsSearchads360V23Resources__BiddingSeasonalityAdjustment; + /** + * The bidding strategy referenced in the query. + */ + biddingStrategy?: Schema$GoogleAdsSearchads360V23Resources__BiddingStrategy; + /** + * The bidding strategy simulation referenced in the query. + */ + biddingStrategySimulation?: Schema$GoogleAdsSearchads360V23Resources__BiddingStrategySimulation; + /** + * The billing setup referenced in the query. + */ + billingSetup?: Schema$GoogleAdsSearchads360V23Resources__BillingSetup; + /** + * The call view referenced in the query. + */ + callView?: Schema$GoogleAdsSearchads360V23Resources__CallView; + /** + * The campaign referenced in the query. + */ + campaign?: Schema$GoogleAdsSearchads360V23Resources__Campaign; + /** + * The campaign asset referenced in the query. + */ + campaignAsset?: Schema$GoogleAdsSearchads360V23Resources__CampaignAsset; + /** + * The campaign asset set referenced in the query. + */ + campaignAssetSet?: Schema$GoogleAdsSearchads360V23Resources__CampaignAssetSet; + /** + * The campaign audience view referenced in the query. + */ + campaignAudienceView?: Schema$GoogleAdsSearchads360V23Resources__CampaignAudienceView; + /** + * The campaign bid modifier referenced in the query. + */ + campaignBidModifier?: Schema$GoogleAdsSearchads360V23Resources__CampaignBidModifier; + /** + * The campaign budget referenced in the query. + */ + campaignBudget?: Schema$GoogleAdsSearchads360V23Resources__CampaignBudget; + /** + * The CampaignConversionGoal referenced in the query. + */ + campaignConversionGoal?: Schema$GoogleAdsSearchads360V23Resources__CampaignConversionGoal; + /** + * The campaign criterion referenced in the query. + */ + campaignCriterion?: Schema$GoogleAdsSearchads360V23Resources__CampaignCriterion; + /** + * The campaign customizer referenced in the query. + */ + campaignCustomizer?: Schema$GoogleAdsSearchads360V23Resources__CampaignCustomizer; + /** + * The campaign draft referenced in the query. + */ + campaignDraft?: Schema$GoogleAdsSearchads360V23Resources__CampaignDraft; + /** + * The campaign effective label referenced in the query. + */ + campaignEffectiveLabel?: Schema$GoogleAdsSearchads360V23Resources__CampaignEffectiveLabel; + /** + * The campaign goal config referenced in the query. + */ + campaignGoalConfig?: Schema$GoogleAdsSearchads360V23Resources__CampaignGoalConfig; + /** + * Campaign Group referenced in AWQL query. + */ + campaignGroup?: Schema$GoogleAdsSearchads360V23Resources__CampaignGroup; + /** + * The campaign label referenced in the query. + */ + campaignLabel?: Schema$GoogleAdsSearchads360V23Resources__CampaignLabel; + /** + * The campaign lifecycle goal referenced in the query. + */ + campaignLifecycleGoal?: Schema$GoogleAdsSearchads360V23Resources__CampaignLifecycleGoal; + /** + * The campaign search term insight referenced in the query. + */ + campaignSearchTermInsight?: Schema$GoogleAdsSearchads360V23Resources__CampaignSearchTermInsight; + /** + * The campaign-level search term view referenced in the query. + */ + campaignSearchTermView?: Schema$GoogleAdsSearchads360V23Resources__CampaignSearchTermView; + /** + * Campaign Shared Set referenced in AWQL query. + */ + campaignSharedSet?: Schema$GoogleAdsSearchads360V23Resources__CampaignSharedSet; + /** + * The campaign simulation referenced in the query. + */ + campaignSimulation?: Schema$GoogleAdsSearchads360V23Resources__CampaignSimulation; + /** + * The carrier constant referenced in the query. + */ + carrierConstant?: Schema$GoogleAdsSearchads360V23Resources__CarrierConstant; + /** + * The cart data sales view referenced in the query. + */ + cartDataSalesView?: Schema$GoogleAdsSearchads360V23Resources__CartDataSalesView; + /** + * The ChangeEvent referenced in the query. + */ + changeEvent?: Schema$GoogleAdsSearchads360V23Resources__ChangeEvent; + /** + * The ChangeStatus referenced in the query. + */ + changeStatus?: Schema$GoogleAdsSearchads360V23Resources__ChangeStatus; + /** + * The ClickView referenced in the query. + */ + clickView?: Schema$GoogleAdsSearchads360V23Resources__ClickView; + /** + * The CombinedAudience referenced in the query. + */ + combinedAudience?: Schema$GoogleAdsSearchads360V23Resources__CombinedAudience; + /** + * The content criterion view referenced in the query. + */ + contentCriterionView?: Schema$GoogleAdsSearchads360V23Resources__ContentCriterionView; + /** + * The event level conversion referenced in the query. + */ + conversion?: Schema$GoogleAdsSearchads360V23Resources__Conversion; + /** + * The conversion action referenced in the query. + */ + conversionAction?: Schema$GoogleAdsSearchads360V23Resources__ConversionAction; + /** + * The conversion custom variable referenced in the query. + */ + conversionCustomVariable?: Schema$GoogleAdsSearchads360V23Resources__ConversionCustomVariable; + /** + * The ConversionGoalCampaignConfig referenced in the query. + */ + conversionGoalCampaignConfig?: Schema$GoogleAdsSearchads360V23Resources__ConversionGoalCampaignConfig; + /** + * The conversion value rule referenced in the query. + */ + conversionValueRule?: Schema$GoogleAdsSearchads360V23Resources__ConversionValueRule; + /** + * The conversion value rule set referenced in the query. + */ + conversionValueRuleSet?: Schema$GoogleAdsSearchads360V23Resources__ConversionValueRuleSet; + /** + * The currency constant referenced in the query. + */ + currencyConstant?: Schema$GoogleAdsSearchads360V23Resources__CurrencyConstant; + /** + * The CustomAudience referenced in the query. + */ + customAudience?: Schema$GoogleAdsSearchads360V23Resources__CustomAudience; + /** + * The custom columns. + */ + customColumns?: Schema$GoogleAdsSearchads360V23Common__Value[]; + /** + * The CustomConversionGoal referenced in the query. + */ + customConversionGoal?: Schema$GoogleAdsSearchads360V23Resources__CustomConversionGoal; + /** + * The customer referenced in the query. + */ + customer?: Schema$GoogleAdsSearchads360V23Resources__Customer; + /** + * The customer asset referenced in the query. + */ + customerAsset?: Schema$GoogleAdsSearchads360V23Resources__CustomerAsset; + /** + * The customer asset set referenced in the query. + */ + customerAssetSet?: Schema$GoogleAdsSearchads360V23Resources__CustomerAssetSet; + /** + * The CustomerClient referenced in the query. + */ + customerClient?: Schema$GoogleAdsSearchads360V23Resources__CustomerClient; + /** + * The CustomerClientLink referenced in the query. + */ + customerClientLink?: Schema$GoogleAdsSearchads360V23Resources__CustomerClientLink; + /** + * The CustomerConversionGoal referenced in the query. + */ + customerConversionGoal?: Schema$GoogleAdsSearchads360V23Resources__CustomerConversionGoal; + /** + * The customer customizer referenced in the query. + */ + customerCustomizer?: Schema$GoogleAdsSearchads360V23Resources__CustomerCustomizer; + /** + * The customer label referenced in the query. + */ + customerLabel?: Schema$GoogleAdsSearchads360V23Resources__CustomerLabel; + /** + * The customer lifecycle goal referenced in the query. + */ + customerLifecycleGoal?: Schema$GoogleAdsSearchads360V23Resources__CustomerLifecycleGoal; + /** + * The CustomerManagerLink referenced in the query. + */ + customerManagerLink?: Schema$GoogleAdsSearchads360V23Resources__CustomerManagerLink; + /** + * The customer negative criterion referenced in the query. + */ + customerNegativeCriterion?: Schema$GoogleAdsSearchads360V23Resources__CustomerNegativeCriterion; + /** + * The customer search term insight referenced in the query. + */ + customerSearchTermInsight?: Schema$GoogleAdsSearchads360V23Resources__CustomerSearchTermInsight; + /** + * The CustomerUserAccess referenced in the query. + */ + customerUserAccess?: Schema$GoogleAdsSearchads360V23Resources__CustomerUserAccess; + /** + * The CustomerUserAccessInvitation referenced in the query. + */ + customerUserAccessInvitation?: Schema$GoogleAdsSearchads360V23Resources__CustomerUserAccessInvitation; + /** + * The CustomInterest referenced in the query. + */ + customInterest?: Schema$GoogleAdsSearchads360V23Resources__CustomInterest; + /** + * The customizer attribute referenced in the query. + */ + customizerAttribute?: Schema$GoogleAdsSearchads360V23Resources__CustomizerAttribute; + /** + * The data link referenced in the query. + */ + dataLink?: Schema$GoogleAdsSearchads360V23Resources__DataLink; + /** + * The detail content suitability placement view referenced in the query. + */ + detailContentSuitabilityPlacementView?: Schema$GoogleAdsSearchads360V23Resources__DetailContentSuitabilityPlacementView; + /** + * The detailed demographic referenced in the query. + */ + detailedDemographic?: Schema$GoogleAdsSearchads360V23Resources__DetailedDemographic; + /** + * The detail placement view referenced in the query. + */ + detailPlacementView?: Schema$GoogleAdsSearchads360V23Resources__DetailPlacementView; + /** + * The display keyword view referenced in the query. + */ + displayKeywordView?: Schema$GoogleAdsSearchads360V23Resources__DisplayKeywordView; + /** + * The distance view referenced in the query. + */ + distanceView?: Schema$GoogleAdsSearchads360V23Resources__DistanceView; + /** + * The dynamic search ads search term view referenced in the query. + */ + dynamicSearchAdsSearchTermView?: Schema$GoogleAdsSearchads360V23Resources__DynamicSearchAdsSearchTermView; + /** + * The expanded landing page view referenced in the query. + */ + expandedLandingPageView?: Schema$GoogleAdsSearchads360V23Resources__ExpandedLandingPageView; + /** + * The experiment referenced in the query. + */ + experiment?: Schema$GoogleAdsSearchads360V23Resources__Experiment; + /** + * The experiment arm referenced in the query. + */ + experimentArm?: Schema$GoogleAdsSearchads360V23Resources__ExperimentArm; + /** + * The final url expansion asset view referenced in the query. + */ + finalUrlExpansionAssetView?: Schema$GoogleAdsSearchads360V23Resources__FinalUrlExpansionAssetView; + /** + * The gender view referenced in the query. + */ + genderView?: Schema$GoogleAdsSearchads360V23Resources__GenderView; + /** + * The geographic view referenced in the query. + */ + geographicView?: Schema$GoogleAdsSearchads360V23Resources__GeographicView; + /** + * The geo target constant referenced in the query. + */ + geoTargetConstant?: Schema$GoogleAdsSearchads360V23Resources__GeoTargetConstant; + /** + * The goal in the query. + */ + goal?: Schema$GoogleAdsSearchads360V23Resources__Goal; + /** + * The group content suitability placement view referenced in the query. + */ + groupContentSuitabilityPlacementView?: Schema$GoogleAdsSearchads360V23Resources__GroupContentSuitabilityPlacementView; + /** + * The group placement view referenced in the query. + */ + groupPlacementView?: Schema$GoogleAdsSearchads360V23Resources__GroupPlacementView; + /** + * The hotel group view referenced in the query. + */ + hotelGroupView?: Schema$GoogleAdsSearchads360V23Resources__HotelGroupView; + /** + * The hotel performance view referenced in the query. + */ + hotelPerformanceView?: Schema$GoogleAdsSearchads360V23Resources__HotelPerformanceView; + /** + * The hotel reconciliation referenced in the query. + */ + hotelReconciliation?: Schema$GoogleAdsSearchads360V23Resources__HotelReconciliation; + /** + * The income range view referenced in the query. + */ + incomeRangeView?: Schema$GoogleAdsSearchads360V23Resources__IncomeRangeView; + /** + * The keyword plan referenced in the query. + */ + keywordPlan?: Schema$GoogleAdsSearchads360V23Resources__KeywordPlan; + /** + * The keyword plan ad group referenced in the query. + */ + keywordPlanAdGroup?: Schema$GoogleAdsSearchads360V23Resources__KeywordPlanAdGroup; + /** + * The keyword plan ad group referenced in the query. + */ + keywordPlanAdGroupKeyword?: Schema$GoogleAdsSearchads360V23Resources__KeywordPlanAdGroupKeyword; + /** + * The keyword plan campaign referenced in the query. + */ + keywordPlanCampaign?: Schema$GoogleAdsSearchads360V23Resources__KeywordPlanCampaign; + /** + * The keyword plan campaign keyword referenced in the query. + */ + keywordPlanCampaignKeyword?: Schema$GoogleAdsSearchads360V23Resources__KeywordPlanCampaignKeyword; + /** + * The keyword theme constant referenced in the query. + */ + keywordThemeConstant?: Schema$GoogleAdsSearchads360V23Resources__KeywordThemeConstant; + /** + * The keyword view referenced in the query. + */ + keywordView?: Schema$GoogleAdsSearchads360V23Resources__KeywordView; + /** + * The label referenced in the query. + */ + label?: Schema$GoogleAdsSearchads360V23Resources__Label; + /** + * The landing page view referenced in the query. + */ + landingPageView?: Schema$GoogleAdsSearchads360V23Resources__LandingPageView; + /** + * The language constant referenced in the query. + */ + languageConstant?: Schema$GoogleAdsSearchads360V23Resources__LanguageConstant; + /** + * The lead form user submission referenced in the query. + */ + leadFormSubmissionData?: Schema$GoogleAdsSearchads360V23Resources__LeadFormSubmissionData; + /** + * The life event referenced in the query. + */ + lifeEvent?: Schema$GoogleAdsSearchads360V23Resources__LifeEvent; + /** + * The local services employee referenced in the query. + */ + localServicesEmployee?: Schema$GoogleAdsSearchads360V23Resources__LocalServicesEmployee; + /** + * The local services lead referenced in the query. + */ + localServicesLead?: Schema$GoogleAdsSearchads360V23Resources__LocalServicesLead; + /** + * The local services lead conversationreferenced in the query. + */ + localServicesLeadConversation?: Schema$GoogleAdsSearchads360V23Resources__LocalServicesLeadConversation; + /** + * The local services verification artifact referenced in the query. + */ + localServicesVerificationArtifact?: Schema$GoogleAdsSearchads360V23Resources__LocalServicesVerificationArtifact; + /** + * The location interest view referenced in the query. + */ + locationInterestView?: Schema$GoogleAdsSearchads360V23Resources__LocationInterestView; + /** + * The location view referenced in the query. + */ + locationView?: Schema$GoogleAdsSearchads360V23Resources__LocationView; + /** + * The managed placement view referenced in the query. + */ + managedPlacementView?: Schema$GoogleAdsSearchads360V23Resources__ManagedPlacementView; + /** + * The matched location interest view referenced in the query. + */ + matchedLocationInterestView?: Schema$GoogleAdsSearchads360V23Resources__MatchedLocationInterestView; + /** + * The media file referenced in the query. + */ + mediaFile?: Schema$GoogleAdsSearchads360V23Resources__MediaFile; + /** + * The metrics. + */ + metrics?: Schema$GoogleAdsSearchads360V23Common__Metrics; + /** + * The mobile app category constant referenced in the query. + */ + mobileAppCategoryConstant?: Schema$GoogleAdsSearchads360V23Resources__MobileAppCategoryConstant; + /** + * The mobile device constant referenced in the query. + */ + mobileDeviceConstant?: Schema$GoogleAdsSearchads360V23Resources__MobileDeviceConstant; + /** + * Offline conversion upload summary at customer level. + */ + offlineConversionUploadClientSummary?: Schema$GoogleAdsSearchads360V23Resources__OfflineConversionUploadClientSummary; + /** + * Offline conversion upload summary at conversion type level. + */ + offlineConversionUploadConversionActionSummary?: Schema$GoogleAdsSearchads360V23Resources__OfflineConversionUploadConversionActionSummary; + /** + * The offline user data job referenced in the query. + */ + offlineUserDataJob?: Schema$GoogleAdsSearchads360V23Resources__OfflineUserDataJob; + /** + * The operating system version constant referenced in the query. + */ + operatingSystemVersionConstant?: Schema$GoogleAdsSearchads360V23Resources__OperatingSystemVersionConstant; + /** + * The paid organic search term view referenced in the query. + */ + paidOrganicSearchTermView?: Schema$GoogleAdsSearchads360V23Resources__PaidOrganicSearchTermView; + /** + * The parental status view referenced in the query. + */ + parentalStatusView?: Schema$GoogleAdsSearchads360V23Resources__ParentalStatusView; + /** + * The performance max placement view referenced in the query. + */ + performanceMaxPlacementView?: Schema$GoogleAdsSearchads360V23Resources__PerformanceMaxPlacementView; + /** + * The per store view referenced in the query. + */ + perStoreView?: Schema$GoogleAdsSearchads360V23Resources__PerStoreView; + /** + * The product category referenced in the query. + */ + productCategoryConstant?: Schema$GoogleAdsSearchads360V23Resources__ProductCategoryConstant; + /** + * The product group view referenced in the query. + */ + productGroupView?: Schema$GoogleAdsSearchads360V23Resources__ProductGroupView; + /** + * The product link referenced in the query. + */ + productLink?: Schema$GoogleAdsSearchads360V23Resources__ProductLink; + /** + * The product link invitation in the query. + */ + productLinkInvitation?: Schema$GoogleAdsSearchads360V23Resources__ProductLinkInvitation; + /** + * The qualifying question referenced in the query. + */ + qualifyingQuestion?: Schema$GoogleAdsSearchads360V23Resources__QualifyingQuestion; + /** + * The recommendation referenced in the query. + */ + recommendation?: Schema$GoogleAdsSearchads360V23Resources__Recommendation; + /** + * The recommendation subscription referenced in the query. + */ + recommendationSubscription?: Schema$GoogleAdsSearchads360V23Resources__RecommendationSubscription; + /** + * The remarketing action referenced in the query. + */ + remarketingAction?: Schema$GoogleAdsSearchads360V23Resources__RemarketingAction; + /** + * The Search Ads 360 campaign referenced in the query. + */ + searchAds360Campaign?: Schema$GoogleAdsSearchads360V23Resources__SearchAds360Campaign; + /** + * The search term view referenced in the query. + */ + searchTermView?: Schema$GoogleAdsSearchads360V23Resources__SearchTermView; + /** + * The segments. + */ + segments?: Schema$GoogleAdsSearchads360V23Common__Segments; + /** + * The shared set referenced in the query. + */ + sharedCriterion?: Schema$GoogleAdsSearchads360V23Resources__SharedCriterion; + /** + * The shared set referenced in the query. + */ + sharedSet?: Schema$GoogleAdsSearchads360V23Resources__SharedSet; + /** + * The shopping performance view referenced in the query. + */ + shoppingPerformanceView?: Schema$GoogleAdsSearchads360V23Resources__ShoppingPerformanceView; + /** + * The shopping product referenced in the query. + */ + shoppingProduct?: Schema$GoogleAdsSearchads360V23Resources__ShoppingProduct; + /** + * The Smart campaign search term view referenced in the query. + */ + smartCampaignSearchTermView?: Schema$GoogleAdsSearchads360V23Resources__SmartCampaignSearchTermView; + /** + * The Smart campaign setting referenced in the query. + */ + smartCampaignSetting?: Schema$GoogleAdsSearchads360V23Resources__SmartCampaignSetting; + /** + * The Targeting expansion view referenced in the query. + */ + targetingExpansionView?: Schema$GoogleAdsSearchads360V23Resources__TargetingExpansionView; + /** + * The AccountLink referenced in the query. + */ + thirdPartyAppAnalyticsLink?: Schema$GoogleAdsSearchads360V23Resources__ThirdPartyAppAnalyticsLink; + /** + * The topic constant referenced in the query. + */ + topicConstant?: Schema$GoogleAdsSearchads360V23Resources__TopicConstant; + /** + * The topic view referenced in the query. + */ + topicView?: Schema$GoogleAdsSearchads360V23Resources__TopicView; + /** + * The travel activity group view referenced in the query. + */ + travelActivityGroupView?: Schema$GoogleAdsSearchads360V23Resources__TravelActivityGroupView; + /** + * The travel activity performance view referenced in the query. + */ + travelActivityPerformanceView?: Schema$GoogleAdsSearchads360V23Resources__TravelActivityPerformanceView; + /** + * The user interest referenced in the query. + */ + userInterest?: Schema$GoogleAdsSearchads360V23Resources__UserInterest; + /** + * The user list referenced in the query. + */ + userList?: Schema$GoogleAdsSearchads360V23Resources__UserList; + /** + * The user list customer type in the query. + */ + userListCustomerType?: Schema$GoogleAdsSearchads360V23Resources__UserListCustomerType; + /** + * The user location view referenced in the query. + */ + userLocationView?: Schema$GoogleAdsSearchads360V23Resources__UserLocationView; + /** + * The video referenced in the query. + */ + video?: Schema$GoogleAdsSearchads360V23Resources__Video; + /** + * The event level visit referenced in the query. + */ + visit?: Schema$GoogleAdsSearchads360V23Resources__Visit; + /** + * The webpage view referenced in the query. + */ + webpageView?: Schema$GoogleAdsSearchads360V23Resources__WebpageView; + } + /** + * Request message for SearchAds360FieldService.SearchSearchAds360Fields. + */ + export interface Schema$GoogleAdsSearchads360V23Services__SearchSearchAds360FieldsRequest { + /** + * Number of elements to retrieve in a single page. When too large a page is requested, the server may decide to further limit the number of returned resources. + */ + pageSize?: number | null; + /** + * Token of the page to retrieve. If not specified, the first page of results will be returned. Use the value obtained from `next_page_token` in the previous response in order to request the next page of results. + */ + pageToken?: string | null; + /** + * Required. The query string. + */ + query?: string | null; + } + /** + * Response message for SearchAds360FieldService.SearchSearchAds360Fields. + */ + export interface Schema$GoogleAdsSearchads360V23Services__SearchSearchAds360FieldsResponse { + /** + * Pagination token used to retrieve the next page of results. Pass the content of this string as the `page_token` attribute of the next request. `next_page_token` is not returned for the last page. + */ + nextPageToken?: string | null; + /** + * The list of fields that matched the query. + */ + results?: Schema$GoogleAdsSearchads360V23Resources__SearchAds360Field[]; + /** + * Total number of results that match the query ignoring the LIMIT clause. + */ + totalResultsCount?: string | null; + } + /** + * Request message for SearchAds360Service.Search. + */ + export interface Schema$GoogleAdsSearchads360V23Services__SearchSearchAds360Request { + /** + * Number of elements to retrieve in a single page. When too large a page is requested, the server may decide to further limit the number of returned resources. + */ + pageSize?: number | null; + /** + * Token of the page to retrieve. If not specified, the first page of results will be returned. Use the value obtained from `next_page_token` in the previous response in order to request the next page of results. + */ + pageToken?: string | null; + /** + * Required. The query string. + */ + query?: string | null; + /** + * Settings that allow users to specify request count, summary row, and results behavior. + */ + searchSettings?: Schema$GoogleAdsSearchads360V23Services__SearchSettings; + /** + * If true, the request is validated but not executed. + */ + validateOnly?: boolean | null; + } + /** + * Response message for SearchAds360Service.Search. + */ + export interface Schema$GoogleAdsSearchads360V23Services__SearchSearchAds360Response { + /** + * The headers of the conversion custom dimensions in the results. + */ + conversionCustomDimensionHeaders?: Schema$GoogleAdsSearchads360V23Services__ConversionCustomDimensionHeader[]; + /** + * The headers of the conversion custom metrics in the results. + */ + conversionCustomMetricHeaders?: Schema$GoogleAdsSearchads360V23Services__ConversionCustomMetricHeader[]; + /** + * The headers of the custom columns in the results. + */ + customColumnHeaders?: Schema$GoogleAdsSearchads360V23Services__CustomColumnHeader[]; + /** + * FieldMask that represents what fields were requested by the user. + */ + fieldMask?: string | null; + /** + * The metric attributes of the metrics in the results. + */ + metricAttributes?: Schema$GoogleAdsSearchads360V23Services__MetricAttributes[]; + /** + * Pagination token used to retrieve the next page of results. Pass the content of this string as the `page_token` attribute of the next request. `next_page_token` is not returned for the last page. + */ + nextPageToken?: string | null; + /** + * The amount of resources consumed to serve the query. + */ + queryResourceConsumption?: string | null; + /** + * The headers of the raw event conversion dimensions in the results. + */ + rawEventConversionDimensionHeaders?: Schema$GoogleAdsSearchads360V23Services__RawEventConversionDimensionHeader[]; + /** + * The headers of the raw event conversion metrics in the results. + */ + rawEventConversionMetricHeaders?: Schema$GoogleAdsSearchads360V23Services__RawEventConversionMetricHeader[]; + /** + * The list of rows that matched the query. + */ + results?: Schema$GoogleAdsSearchads360V23Services__SearchAds360Row[]; + /** + * Summary row that contains summary of metrics in results. Summary of metrics means aggregation of metrics across all results, here aggregation could be sum, average, rate, etc. + */ + summaryRow?: Schema$GoogleAdsSearchads360V23Services__SearchAds360Row; + /** + * Total number of results that match the query ignoring the LIMIT clause. + */ + totalResultsCount?: string | null; + } + /** + * Indicates search settings in request parameter. + */ + export interface Schema$GoogleAdsSearchads360V23Services__SearchSettings { + /** + * If true, results will be excluded from the response. Otherwise, results will be returned. Default is false. + */ + omitResults?: boolean | null; + /** + * If true, summary row will be included in the response and sent in a response by itself after all other query results are returned. Default is false. + */ + returnSummaryRow?: boolean | null; + /** + * If true, the total number of results that match the query ignoring the LIMIT clause will be included in the response. Default is false. + */ + returnTotalResultsCount?: boolean | null; + } + /** + * A single operation (create, remove) on an shared criterion. + */ + export interface Schema$GoogleAdsSearchads360V23Services__SharedCriterionOperation { + /** + * Create operation: No resource name is expected for the new shared criterion. + */ + create?: Schema$GoogleAdsSearchads360V23Resources__SharedCriterion; + /** + * Remove operation: A resource name for the removed shared criterion is expected, in this format: `customers/{customer_id\}/sharedCriteria/{shared_set_id\}~{criterion_id\}` + */ + remove?: string | null; + } + /** + * A single operation (create, update, remove) on an shared set. + */ + export interface Schema$GoogleAdsSearchads360V23Services__SharedSetOperation { + /** + * Create operation: No resource name is expected for the new shared set. + */ + create?: Schema$GoogleAdsSearchads360V23Resources__SharedSet; + /** + * Remove operation: A resource name for the removed shared set is expected, in this format: `customers/{customer_id\}/sharedSets/{shared_set_id\}` + */ + remove?: string | null; + /** + * Update operation: The shared set is expected to have a valid resource name. + */ + update?: Schema$GoogleAdsSearchads360V23Resources__SharedSet; + /** + * FieldMask that determines which resource fields are modified in an update. + */ + updateMask?: string | null; + } + /** + * Site Seed + */ + export interface Schema$GoogleAdsSearchads360V23Services__SiteSeed { + /** + * The domain name of the site. If the customer requesting the ideas doesn't own the site provided only public information is returned. + */ + site?: string | null; + } + /** + * Details related to Smart campaigns that are eligible to serve. + */ + export interface Schema$GoogleAdsSearchads360V23Services__SmartCampaignEligibleDetails { + /** + * The timestamp of when the campaign will end, if applicable. The timestamp is in the customer’s timezone and in “yyyy-MM-dd HH:mm:ss” format. + */ + endDateTime?: string | null; + /** + * The timestamp of the last impression observed in the last 48 hours for this campaign. The timestamp is in the customer’s timezone and in “yyyy-MM-dd HH:mm:ss” format. + */ + lastImpressionDateTime?: string | null; + } + /** + * Details related to Smart campaigns that have ended. + */ + export interface Schema$GoogleAdsSearchads360V23Services__SmartCampaignEndedDetails { + /** + * The timestamp of when the campaign ended. The timestamp is in the customer’s timezone and in “yyyy-MM-dd HH:mm:ss” format. + */ + endDateTime?: string | null; + } + /** + * Details related to Smart campaigns that are not eligible to serve. + */ + export interface Schema$GoogleAdsSearchads360V23Services__SmartCampaignNotEligibleDetails { + /** + * The reason why the Smart campaign is not eligible to serve. + */ + notEligibleReason?: string | null; + } + /** + * Details related to paused Smart campaigns. + */ + export interface Schema$GoogleAdsSearchads360V23Services__SmartCampaignPausedDetails { + /** + * The timestamp of when the campaign was last paused. The timestamp is in the customer’s timezone and in “yyyy-MM-dd HH:mm:ss” format. + */ + pausedDateTime?: string | null; + } + /** + * Details related to removed Smart campaigns. + */ + export interface Schema$GoogleAdsSearchads360V23Services__SmartCampaignRemovedDetails { + /** + * The timestamp of when the campaign was removed. The timestamp is in the customer’s timezone and in “yyyy-MM-dd HH:mm:ss” format. + */ + removedDateTime?: string | null; + } + /** + * A single operation to update Smart campaign settings for a campaign. + */ + export interface Schema$GoogleAdsSearchads360V23Services__SmartCampaignSettingOperation { + /** + * Update operation: The Smart campaign setting must specify a valid resource name. + */ + update?: Schema$GoogleAdsSearchads360V23Resources__SmartCampaignSetting; + /** + * FieldMask that determines which resource fields are modified in an update. + */ + updateMask?: string | null; + } + /** + * Information needed to get suggestion for Smart Campaign. More information provided will help the system to derive better suggestions. + */ + export interface Schema$GoogleAdsSearchads360V23Services__SmartCampaignSuggestionInfo { + /** + * Optional. The business ad schedule. + */ + adSchedules?: Schema$GoogleAdsSearchads360V23Common__AdScheduleInfo[]; + /** + * Optional. Context describing the business to advertise. + */ + businessContext?: Schema$GoogleAdsSearchads360V23Services_SmartCampaignSuggestionInfo_BusinessContext; + /** + * Optional. The resource name of a Business Profile location. Business Profile location resource names can be fetched through the Business Profile API and adhere to the following format: `locations/{locationId\}`. See the [Business Profile API] (https://developers.google.com/my-business/reference/businessinformation/rest/v1/accounts.locations) for additional details. + */ + businessProfileLocation?: string | null; + /** + * Optional. Landing page URL of the campaign. + */ + finalUrl?: string | null; + /** + * Optional. Smart campaign keyword themes. This field may greatly improve suggestion accuracy and we recommend always setting it if possible. + */ + keywordThemes?: Schema$GoogleAdsSearchads360V23Common__KeywordThemeInfo[]; + /** + * Optional. The two letter advertising language for the Smart campaign to be constructed, default to 'en' if not set. + */ + languageCode?: string | null; + /** + * Optional. The targeting geo location by locations. + */ + locationList?: Schema$GoogleAdsSearchads360V23Services_SmartCampaignSuggestionInfo_LocationList; + /** + * Optional. The targeting geo location by proximity. + */ + proximity?: Schema$GoogleAdsSearchads360V23Common__ProximityInfo; + } + /** + * Request message for StartIdentityVerification. + */ + export interface Schema$GoogleAdsSearchads360V23Services__StartIdentityVerificationRequest { + /** + * Required. The verification program type for which we want to start the verification. + */ + verificationProgram?: string | null; + } + /** + * Request message for GeoTargetConstantService.SuggestGeoTargetConstants. + */ + export interface Schema$GoogleAdsSearchads360V23Services__SuggestGeoTargetConstantsRequest { + /** + * Returned geo targets are restricted to this country code. + */ + countryCode?: string | null; + /** + * The geo target constant resource names to filter by. + */ + geoTargets?: Schema$GoogleAdsSearchads360V23Services_SuggestGeoTargetConstantsRequest_GeoTargets; + /** + * If possible, returned geo targets are translated using this locale. If not, en is used by default. This is also used as a hint for returned geo targets. + */ + locale?: string | null; + /** + * The location names to search by. At most 25 names can be set. + */ + locationNames?: Schema$GoogleAdsSearchads360V23Services_SuggestGeoTargetConstantsRequest_LocationNames; + } + /** + * Response message for GeoTargetConstantService.SuggestGeoTargetConstants. + */ + export interface Schema$GoogleAdsSearchads360V23Services__SuggestGeoTargetConstantsResponse { + /** + * Geo target constant suggestions. + */ + geoTargetConstantSuggestions?: Schema$GoogleAdsSearchads360V23Services__GeoTargetConstantSuggestion[]; + } + /** + * Request message for KeywordThemeConstantService.SuggestKeywordThemeConstants. + */ + export interface Schema$GoogleAdsSearchads360V23Services__SuggestKeywordThemeConstantsRequest { + /** + * Upper-case, two-letter country code as defined by ISO-3166. This for refining the scope of the query, default to 'US' if not set. + */ + countryCode?: string | null; + /** + * The two letter language code for get corresponding keyword theme for refining the scope of the query, default to 'en' if not set. + */ + languageCode?: string | null; + /** + * The query text of a keyword theme that will be used to map to similar keyword themes. For example, "plumber" or "roofer". + */ + queryText?: string | null; + } + /** + * Response message for KeywordThemeConstantService.SuggestKeywordThemeConstants. + */ + export interface Schema$GoogleAdsSearchads360V23Services__SuggestKeywordThemeConstantsResponse { + /** + * Smart Campaign keyword theme suggestions. + */ + keywordThemeConstants?: Schema$GoogleAdsSearchads360V23Resources__KeywordThemeConstant[]; + } + /** + * Request message for SmartCampaignSuggestService.SuggestKeywordThemes. + */ + export interface Schema$GoogleAdsSearchads360V23Services__SuggestKeywordThemesRequest { + /** + * Required. Information to get keyword theme suggestions. Required fields: * suggestion_info.final_url * suggestion_info.language_code * suggestion_info.geo_target Recommended fields: * suggestion_info.business_setting + */ + suggestionInfo?: Schema$GoogleAdsSearchads360V23Services__SmartCampaignSuggestionInfo; + } + /** + * Response message for SmartCampaignSuggestService.SuggestKeywordThemes. + */ + export interface Schema$GoogleAdsSearchads360V23Services__SuggestKeywordThemesResponse { + /** + * Smart campaign keyword theme suggestions. + */ + keywordThemes?: Schema$GoogleAdsSearchads360V23Services_SuggestKeywordThemesResponse_KeywordTheme[]; + } + /** + * Request message for SmartCampaignSuggestService.SuggestSmartCampaignAd. + */ + export interface Schema$GoogleAdsSearchads360V23Services__SuggestSmartCampaignAdRequest { + /** + * Required. Inputs used to suggest a Smart campaign ad. Required fields: final_url, language_code, keyword_themes. Optional but recommended fields to improve the quality of the suggestion: business_setting and geo_target. + */ + suggestionInfo?: Schema$GoogleAdsSearchads360V23Services__SmartCampaignSuggestionInfo; + } + /** + * Response message for SmartCampaignSuggestService.SuggestSmartCampaignAd. + */ + export interface Schema$GoogleAdsSearchads360V23Services__SuggestSmartCampaignAdResponse { + /** + * Optional. Ad info includes 3 creative headlines and 2 creative descriptions. + */ + adInfo?: Schema$GoogleAdsSearchads360V23Common__SmartCampaignAdInfo; + } + /** + * Request message for SmartCampaignSuggestService.SuggestSmartCampaignBudgetOptions. + */ + export interface Schema$GoogleAdsSearchads360V23Services__SuggestSmartCampaignBudgetOptionsRequest { + /** + * Required. The resource name of the campaign to get suggestion for. + */ + campaign?: string | null; + /** + * Required. Information needed to get budget options + */ + suggestionInfo?: Schema$GoogleAdsSearchads360V23Services__SmartCampaignSuggestionInfo; + } + /** + * Response message for SmartCampaignSuggestService.SuggestSmartCampaignBudgetOptions. Depending on whether the system could suggest the options, either all of the options or none of them might be returned. + */ + export interface Schema$GoogleAdsSearchads360V23Services__SuggestSmartCampaignBudgetOptionsResponse { + /** + * Optional. The highest budget option. + */ + high?: Schema$GoogleAdsSearchads360V23Services_SuggestSmartCampaignBudgetOptionsResponse_BudgetOption; + /** + * Optional. The lowest budget option. + */ + low?: Schema$GoogleAdsSearchads360V23Services_SuggestSmartCampaignBudgetOptionsResponse_BudgetOption; + /** + * Optional. The recommended budget option. + */ + recommended?: Schema$GoogleAdsSearchads360V23Services_SuggestSmartCampaignBudgetOptionsResponse_BudgetOption; + } + /** + * Request message for TravelAssetSuggestionService.SuggestTravelAssets. + */ + export interface Schema$GoogleAdsSearchads360V23Services__SuggestTravelAssetsRequest { + /** + * Required. The language specifications in BCP 47 format (for example, en-US, zh-CN, etc.) for the asset suggestions. Text will be in this language. Usually matches one of the campaign target languages. + */ + languageOption?: string | null; + /** + * The Google Maps Place IDs of hotels for which assets are requested. See https://developers.google.com/places/web-service/place-id for more information. + */ + placeIds?: string[] | null; + } + /** + * Response message for TravelAssetSuggestionService.SuggestTravelAssets. + */ + export interface Schema$GoogleAdsSearchads360V23Services__SuggestTravelAssetsResponse { + /** + * Asset suggestions for each place ID submitted in the request. + */ + hotelAssetSuggestions?: Schema$GoogleAdsSearchads360V23Services__HotelAssetSuggestion[]; + } + /** + * Container for surfaces for a product. Surfaces refer to the available types of ad inventories such as In-Feed, In-Stream, and Shorts. + */ + export interface Schema$GoogleAdsSearchads360V23Services__SurfaceTargeting { + /** + * List of surfaces available to target. + */ + surfaces?: string[] | null; + } + /** + * The surface targeting combinations available for an ad product. + */ + export interface Schema$GoogleAdsSearchads360V23Services__SurfaceTargetingCombinations { + /** + * Available surface target combinations for the ad product. + */ + availableTargetingCombinations?: Schema$GoogleAdsSearchads360V23Services__SurfaceTargeting[]; + /** + * Default surface targeting applied to the ad product. + */ + defaultTargeting?: Schema$GoogleAdsSearchads360V23Services__SurfaceTargeting; + } + /** + * Details about various factors for not being satisfied with the lead. + */ + export interface Schema$GoogleAdsSearchads360V23Services__SurveyDissatisfied { + /** + * Optional. Provider's free form comments. This field is required when OTHER_DISSATISFIED_REASON is selected as the reason. + */ + otherReasonComment?: string | null; + /** + * Required. Provider's reason for not being satisfied with the lead. + */ + surveyDissatisfiedReason?: string | null; + } + /** + * Details about various factors for being satisfied with the lead. + */ + export interface Schema$GoogleAdsSearchads360V23Services__SurveySatisfied { + /** + * Optional. Provider's free form comments. This field is required when OTHER_SATISFIED_REASON is selected as the reason. + */ + otherReasonComment?: string | null; + /** + * Required. Provider's reason for being satisfied with the lead. + */ + surveySatisfiedReason?: string | null; + } + /** + * Target Frequency settings for a supported product. + */ + export interface Schema$GoogleAdsSearchads360V23Services__TargetFrequencySettings { + /** + * Required. The target frequency goal per selected time unit. + */ + targetFrequency?: number | null; + /** + * Required. The time unit used to describe the time frame for target_frequency. + */ + timeUnit?: string | null; + } + /** + * The targeting for which traffic metrics will be reported. + */ + export interface Schema$GoogleAdsSearchads360V23Services__Targeting { + /** + * Targeted age range. An unset value is equivalent to targeting all ages. + */ + ageRange?: string | null; + /** + * Targeted audiences. If not specified, does not target any specific audience. + */ + audienceTargeting?: Schema$GoogleAdsSearchads360V23Services__AudienceTargeting; + /** + * Targeted devices. If not specified, targets all applicable devices. Applicable devices vary by product and region and can be obtained from ReachPlanService.ListPlannableProducts. + */ + devices?: Schema$GoogleAdsSearchads360V23Common__DeviceInfo[]; + /** + * Targeted genders. An unset value is equivalent to targeting MALE and FEMALE. + */ + genders?: Schema$GoogleAdsSearchads360V23Common__GenderInfo[]; + /** + * Targetable network for the ad product. If not specified, targets all applicable networks. Applicable networks vary by product and region and can be obtained from ReachPlanService.ListPlannableProducts. + */ + network?: string | null; + /** + * The ID of the selected location. Plannable location IDs can be obtained from ReachPlanService.ListPlannableLocations. Requests must set either this field or `plannable_location_ids`. This field is deprecated as of V12 and will be removed in a future release. Use `plannable_location_ids` instead. + */ + plannableLocationId?: string | null; + /** + * The list of plannable location IDs to target with this forecast. If more than one ID is provided, all IDs must have the same `parent_country_id`. Planning for more than `parent_county` is not supported. Plannable location IDs and their `parent_country_id` can be obtained from ReachPlanService.ListPlannableLocations. Requests must set either this field or `plannable_location_id`. + */ + plannableLocationIds?: string[] | null; + } + /** + * A suggested targetable audience relevant to the requested audience. + */ + export interface Schema$GoogleAdsSearchads360V23Services__TargetingSuggestionMetrics { + /** + * Suggested age targeting; may be empty indicating no age targeting. + */ + ageRanges?: Schema$GoogleAdsSearchads360V23Common__AgeRangeInfo[]; + /** + * The fraction (from 0 to 1 inclusive) of the requested audience that can be reached using the suggested targeting. + */ + coverage?: number | null; + /** + * Suggested gender targeting. If present, this attribute has dimension GENDER. + */ + gender?: Schema$GoogleAdsSearchads360V23Common__GenderInfo; + /** + * The ratio of coverage to the coverage of the baseline audience or zero if this ratio is undefined or is not meaningful. + */ + index?: number | null; + /** + * Suggested location targeting. These attributes all have dimension GEO_TARGET_COUNTRY or SUB_COUNTRY_LOCATION + */ + locations?: Schema$GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadata[]; + /** + * A Parental Status value (parent, or not a parent). + */ + parentalStatus?: Schema$GoogleAdsSearchads360V23Common__ParentalStatusInfo; + /** + * The approximate estimated number of people that can be reached on YouTube using this targeting. + */ + potentialYoutubeReach?: string | null; + /** + * List of user interest attributes with metadata defining the audience. The combination has a logical AND-of-ORs structure: The attributes within each AudienceInsightsAttributeMetadataGroup are ORed, and the groups themselves are ANDed. + */ + userInterests?: Schema$GoogleAdsSearchads360V23Common__AudienceInsightsAttributeMetadataGroup[]; + } + /** + * An AdGroup/Campaign pair that could not be used as a suggestion for keywords. AdGroups may not be usable if the AdGroup * belongs to a Campaign that is not ENABLED or PAUSED * is itself not ENABLED + */ + export interface Schema$GoogleAdsSearchads360V23Services__UnusableAdGroup { + /** + * The AdGroup resource name. Resource name format: `customers/{customer_id\}/adGroups/{ad_group_id\}` + */ + adGroup?: string | null; + /** + * The Campaign resource name. Resource name format: `customers/{customer_id\}/campaigns/{campaign_id\}` + */ + campaign?: string | null; + } + /** + * Request message for DataLinkService.UpdateDataLink. + */ + export interface Schema$GoogleAdsSearchads360V23Services__UpdateDataLinkRequest { + /** + * Required. The data link status to be updated to. + */ + dataLinkStatus?: string | null; + /** + * Required. The data link is expected to have a valid resource name. + */ + resourceName?: string | null; + } + /** + * Response message for DataLinkService.UpdateDataLink. + */ + export interface Schema$GoogleAdsSearchads360V23Services__UpdateDataLinkResponse { + /** + * Returned for successful operations. Resource name of the data link. + */ + resourceName?: string | null; + } + /** + * Request message for ProductLinkInvitationService.UpdateProductLinkInvitation. + */ + export interface Schema$GoogleAdsSearchads360V23Services__UpdateProductLinkInvitationRequest { + /** + * Required. The product link invitation to be created. + */ + productLinkInvitationStatus?: string | null; + /** + * Required. Resource name of the product link invitation. + */ + resourceName?: string | null; + } + /** + * Response message for product link invitation update. + */ + export interface Schema$GoogleAdsSearchads360V23Services__UpdateProductLinkInvitationResponse { + /** + * Result of the update. + */ + resourceName?: string | null; + } + /** + * Request message for UserDataService.UploadUserData + */ + export interface Schema$GoogleAdsSearchads360V23Services__UploadUserDataRequest { + /** + * Metadata for data updates to a Customer Match user list. + */ + customerMatchUserListMetadata?: Schema$GoogleAdsSearchads360V23Common__CustomerMatchUserListMetadata; + /** + * Required. The list of operations to be done. + */ + operations?: Schema$GoogleAdsSearchads360V23Services__UserDataOperation[]; + } + /** + * Response message for UserDataService.UploadUserData Uploads made through this service will not be visible under the 'Segment members' section for the Customer Match List in the Google Ads UI. + */ + export interface Schema$GoogleAdsSearchads360V23Services__UploadUserDataResponse { + /** + * Number of upload data operations received by API. + */ + receivedOperationsCount?: number | null; + /** + * The date time at which the request was received by API, formatted as "yyyy-mm-dd hh:mm:ss+|-hh:mm", for example, "2019-01-01 12:32:45-08:00". + */ + uploadDateTime?: string | null; + } + /** + * Url Seed + */ + export interface Schema$GoogleAdsSearchads360V23Services__UrlSeed { + /** + * The URL to crawl in order to generate keyword ideas. + */ + url?: string | null; + } + /** + * Operation to be made for the UploadUserDataRequest. + */ + export interface Schema$GoogleAdsSearchads360V23Services__UserDataOperation { + /** + * The list of user data to be appended to the user list. + */ + create?: Schema$GoogleAdsSearchads360V23Common__UserData; + /** + * The list of user data to be removed from the user list. + */ + remove?: Schema$GoogleAdsSearchads360V23Common__UserData; + } + /** + * A single mutate operation on the user list customer type. + */ + export interface Schema$GoogleAdsSearchads360V23Services__UserListCustomerTypeOperation { + /** + * Attach a user list customer type to a user list. No resource name is expected for the new user list customer type. + */ + create?: Schema$GoogleAdsSearchads360V23Resources__UserListCustomerType; + /** + * Remove an existing user list customer type. A resource name for the removed user list customer type is expected, in this format: `customers/{customer_id\}/userListCustomerTypes/{user_list_id\}~{customer_type_category\}` + */ + remove?: string | null; + } + /** + * A single operation (create, update) on a user list. + */ + export interface Schema$GoogleAdsSearchads360V23Services__UserListOperation { + /** + * Create operation: No resource name is expected for the new user list. + */ + create?: Schema$GoogleAdsSearchads360V23Resources__UserList; + /** + * Remove operation: A resource name for the removed user list is expected, in this format: `customers/{customer_id\}/userLists/{user_list_id\}` + */ + remove?: string | null; + /** + * Update operation: The user list is expected to have a valid resource name. + */ + update?: Schema$GoogleAdsSearchads360V23Resources__UserList; + /** + * FieldMask that determines which resource fields are modified in an update. + */ + updateMask?: string | null; + } + /** + * A Plannable YouTube Select Lineup for product targeting. + */ + export interface Schema$GoogleAdsSearchads360V23Services__YouTubeSelectLineUp { + /** + * The ID of the YouTube Select Lineup. + */ + lineupId?: string | null; + /** + * The unique name of the YouTube Select Lineup. + */ + lineupName?: string | null; + } + /** + * Request settings for YouTube Select Lineups + */ + export interface Schema$GoogleAdsSearchads360V23Services__YouTubeSelectSettings { + /** + * Lineup for YouTube Select Targeting. + */ + lineupId?: string | null; + } + /** + * This resource represents a long-running operation that is the result of a network API call. + */ + export interface Schema$GoogleLongrunning__Operation { + /** + * 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. + */ + done?: boolean | null; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$GoogleRpc__Status; + /** + * 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. + */ + metadata?: {[key: string]: any} | null; + /** + * 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\}`. + */ + name?: string | null; + /** + * 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`. + */ + response?: {[key: string]: any} | null; + } + /** + * 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); \} + */ + export interface Schema$GoogleProtobuf__Empty {} + /** + * 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). + */ + export interface Schema$GoogleRpc__Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number | null; + /** + * A list of messages that carry the error details. There is a common set of message types for APIs to use. + */ + details?: Array<{[key: string]: any}> | null; + /** + * 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. + */ + message?: string | null; + } + /** + * Represents an amount of money with its currency type. + */ + export interface Schema$GoogleType__Money { + /** + * The three-letter currency code defined in ISO 4217. + */ + currencyCode?: string | null; + /** + * 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. + */ + nanos?: number | null; + /** + * The whole units of the amount. For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar. + */ + units?: string | null; + } + + export class Resource$Audienceinsights { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Lists date ranges for which audience insights data can be requested. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.audienceInsights.listInsightsEligibleDates({ + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "insightsApplicationInfo": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "dataMonths": [], + * // "lastThirtyDays": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + listInsightsEligibleDates( + params: Params$Resource$Audienceinsights$Listinsightseligibledates, + options: StreamMethodOptions + ): Promise>; + listInsightsEligibleDates( + params?: Params$Resource$Audienceinsights$Listinsightseligibledates, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + listInsightsEligibleDates( + params: Params$Resource$Audienceinsights$Listinsightseligibledates, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + listInsightsEligibleDates( + params: Params$Resource$Audienceinsights$Listinsightseligibledates, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + listInsightsEligibleDates( + params: Params$Resource$Audienceinsights$Listinsightseligibledates, + callback: BodyResponseCallback + ): void; + listInsightsEligibleDates( + callback: BodyResponseCallback + ): void; + listInsightsEligibleDates( + paramsOrCallback?: + | Params$Resource$Audienceinsights$Listinsightseligibledates + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Audienceinsights$Listinsightseligibledates; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Audienceinsights$Listinsightseligibledates; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/audienceInsights:listInsightsEligibleDates' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: [], + pathParams: [], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Audienceinsights$Listinsightseligibledates extends StandardParameters { + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__ListInsightsEligibleDatesRequest; + } + + export class Resource$Customers { + context: APIRequestContext; + accountBudgetProposals: Resource$Customers$Accountbudgetproposals; + accountLinks: Resource$Customers$Accountlinks; + adGroupAdLabels: Resource$Customers$Adgroupadlabels; + adGroupAds: Resource$Customers$Adgroupads; + adGroupAssets: Resource$Customers$Adgroupassets; + adGroupAssetSets: Resource$Customers$Adgroupassetsets; + adGroupBidModifiers: Resource$Customers$Adgroupbidmodifiers; + adGroupCriteria: Resource$Customers$Adgroupcriteria; + AdGroupCriterionCustomizers: Resource$Customers$Adgroupcriterioncustomizers; + adGroupCriterionLabels: Resource$Customers$Adgroupcriterionlabels; + adGroupCustomizers: Resource$Customers$Adgroupcustomizers; + adGroupLabels: Resource$Customers$Adgrouplabels; + adGroups: Resource$Customers$Adgroups; + adParameters: Resource$Customers$Adparameters; + ads: Resource$Customers$Ads; + assetGroupAssets: Resource$Customers$Assetgroupassets; + assetGroupListingGroupFilters: Resource$Customers$Assetgrouplistinggroupfilters; + assetGroups: Resource$Customers$Assetgroups; + assetGroupSignals: Resource$Customers$Assetgroupsignals; + assets: Resource$Customers$Assets; + assetSetAssets: Resource$Customers$Assetsetassets; + assetSets: Resource$Customers$Assetsets; + audiences: Resource$Customers$Audiences; + batchJobs: Resource$Customers$Batchjobs; + biddingDataExclusions: Resource$Customers$Biddingdataexclusions; + biddingSeasonalityAdjustments: Resource$Customers$Biddingseasonalityadjustments; + biddingStrategies: Resource$Customers$Biddingstrategies; + billingSetups: Resource$Customers$Billingsetups; + campaignAssets: Resource$Customers$Campaignassets; + campaignAssetSets: Resource$Customers$Campaignassetsets; + campaignBidModifiers: Resource$Customers$Campaignbidmodifiers; + campaignBudgets: Resource$Customers$Campaignbudgets; + campaignConversionGoals: Resource$Customers$Campaignconversiongoals; + campaignCriteria: Resource$Customers$Campaigncriteria; + campaignCustomizers: Resource$Customers$Campaigncustomizers; + campaignDrafts: Resource$Customers$Campaigndrafts; + CampaignGoalConfigs: Resource$Customers$Campaigngoalconfigs; + campaignGroups: Resource$Customers$Campaigngroups; + campaignLabels: Resource$Customers$Campaignlabels; + campaignLifecycleGoal: Resource$Customers$Campaignlifecyclegoal; + campaigns: Resource$Customers$Campaigns; + campaignSharedSets: Resource$Customers$Campaignsharedsets; + conversionActions: Resource$Customers$Conversionactions; + conversionCustomVariables: Resource$Customers$Conversioncustomvariables; + conversionGoalCampaignConfigs: Resource$Customers$Conversiongoalcampaignconfigs; + conversionValueRules: Resource$Customers$Conversionvaluerules; + conversionValueRuleSets: Resource$Customers$Conversionvaluerulesets; + customAudiences: Resource$Customers$Customaudiences; + customColumns: Resource$Customers$Customcolumns; + customConversionGoals: Resource$Customers$Customconversiongoals; + customerAssets: Resource$Customers$Customerassets; + customerAssetSets: Resource$Customers$Customerassetsets; + customerClientLinks: Resource$Customers$Customerclientlinks; + customerConversionGoals: Resource$Customers$Customerconversiongoals; + CustomerCustomizers: Resource$Customers$Customercustomizers; + customerLabels: Resource$Customers$Customerlabels; + customerLifecycleGoal: Resource$Customers$Customerlifecyclegoal; + customerManagerLinks: Resource$Customers$Customermanagerlinks; + customerNegativeCriteria: Resource$Customers$Customernegativecriteria; + customerSkAdNetworkConversionValueSchemas: Resource$Customers$Customerskadnetworkconversionvalueschemas; + customerUserAccesses: Resource$Customers$Customeruseraccesses; + customerUserAccessInvitations: Resource$Customers$Customeruseraccessinvitations; + customInterests: Resource$Customers$Custominterests; + customizerAttributes: Resource$Customers$Customizerattributes; + dataLinks: Resource$Customers$Datalinks; + experimentArms: Resource$Customers$Experimentarms; + experiments: Resource$Customers$Experiments; + Goals: Resource$Customers$Goals; + incentives: Resource$Customers$Incentives; + invoices: Resource$Customers$Invoices; + keywordPlanAdGroupKeywords: Resource$Customers$Keywordplanadgroupkeywords; + keywordPlanAdGroups: Resource$Customers$Keywordplanadgroups; + keywordPlanCampaignKeywords: Resource$Customers$Keywordplancampaignkeywords; + keywordPlanCampaigns: Resource$Customers$Keywordplancampaigns; + keywordPlans: Resource$Customers$Keywordplans; + labels: Resource$Customers$Labels; + localServices: Resource$Customers$Localservices; + localServicesLeads: Resource$Customers$Localservicesleads; + offlineUserDataJobs: Resource$Customers$Offlineuserdatajobs; + paymentsAccounts: Resource$Customers$Paymentsaccounts; + productLinkInvitations: Resource$Customers$Productlinkinvitations; + productLinks: Resource$Customers$Productlinks; + recommendations: Resource$Customers$Recommendations; + recommendationSubscriptions: Resource$Customers$Recommendationsubscriptions; + remarketingActions: Resource$Customers$Remarketingactions; + searchAds360: Resource$Customers$Searchads360; + sharedCriteria: Resource$Customers$Sharedcriteria; + sharedSets: Resource$Customers$Sharedsets; + smartCampaignSettings: Resource$Customers$Smartcampaignsettings; + thirdPartyAppAnalyticsLinks: Resource$Customers$Thirdpartyappanalyticslinks; + userListCustomerTypes: Resource$Customers$Userlistcustomertypes; + userLists: Resource$Customers$Userlists; + constructor(context: APIRequestContext) { + this.context = context; + this.accountBudgetProposals = + new Resource$Customers$Accountbudgetproposals(this.context); + this.accountLinks = new Resource$Customers$Accountlinks(this.context); + this.adGroupAdLabels = new Resource$Customers$Adgroupadlabels( + this.context + ); + this.adGroupAds = new Resource$Customers$Adgroupads(this.context); + this.adGroupAssets = new Resource$Customers$Adgroupassets(this.context); + this.adGroupAssetSets = new Resource$Customers$Adgroupassetsets( + this.context + ); + this.adGroupBidModifiers = new Resource$Customers$Adgroupbidmodifiers( + this.context + ); + this.adGroupCriteria = new Resource$Customers$Adgroupcriteria( + this.context + ); + this.AdGroupCriterionCustomizers = + new Resource$Customers$Adgroupcriterioncustomizers(this.context); + this.adGroupCriterionLabels = + new Resource$Customers$Adgroupcriterionlabels(this.context); + this.adGroupCustomizers = new Resource$Customers$Adgroupcustomizers( + this.context + ); + this.adGroupLabels = new Resource$Customers$Adgrouplabels(this.context); + this.adGroups = new Resource$Customers$Adgroups(this.context); + this.adParameters = new Resource$Customers$Adparameters(this.context); + this.ads = new Resource$Customers$Ads(this.context); + this.assetGroupAssets = new Resource$Customers$Assetgroupassets( + this.context + ); + this.assetGroupListingGroupFilters = + new Resource$Customers$Assetgrouplistinggroupfilters(this.context); + this.assetGroups = new Resource$Customers$Assetgroups(this.context); + this.assetGroupSignals = new Resource$Customers$Assetgroupsignals( + this.context + ); + this.assets = new Resource$Customers$Assets(this.context); + this.assetSetAssets = new Resource$Customers$Assetsetassets(this.context); + this.assetSets = new Resource$Customers$Assetsets(this.context); + this.audiences = new Resource$Customers$Audiences(this.context); + this.batchJobs = new Resource$Customers$Batchjobs(this.context); + this.biddingDataExclusions = new Resource$Customers$Biddingdataexclusions( + this.context + ); + this.biddingSeasonalityAdjustments = + new Resource$Customers$Biddingseasonalityadjustments(this.context); + this.biddingStrategies = new Resource$Customers$Biddingstrategies( + this.context + ); + this.billingSetups = new Resource$Customers$Billingsetups(this.context); + this.campaignAssets = new Resource$Customers$Campaignassets(this.context); + this.campaignAssetSets = new Resource$Customers$Campaignassetsets( + this.context + ); + this.campaignBidModifiers = new Resource$Customers$Campaignbidmodifiers( + this.context + ); + this.campaignBudgets = new Resource$Customers$Campaignbudgets( + this.context + ); + this.campaignConversionGoals = + new Resource$Customers$Campaignconversiongoals(this.context); + this.campaignCriteria = new Resource$Customers$Campaigncriteria( + this.context + ); + this.campaignCustomizers = new Resource$Customers$Campaigncustomizers( + this.context + ); + this.campaignDrafts = new Resource$Customers$Campaigndrafts(this.context); + this.CampaignGoalConfigs = new Resource$Customers$Campaigngoalconfigs( + this.context + ); + this.campaignGroups = new Resource$Customers$Campaigngroups(this.context); + this.campaignLabels = new Resource$Customers$Campaignlabels(this.context); + this.campaignLifecycleGoal = new Resource$Customers$Campaignlifecyclegoal( + this.context + ); + this.campaigns = new Resource$Customers$Campaigns(this.context); + this.campaignSharedSets = new Resource$Customers$Campaignsharedsets( + this.context + ); + this.conversionActions = new Resource$Customers$Conversionactions( + this.context + ); + this.conversionCustomVariables = + new Resource$Customers$Conversioncustomvariables(this.context); + this.conversionGoalCampaignConfigs = + new Resource$Customers$Conversiongoalcampaignconfigs(this.context); + this.conversionValueRules = new Resource$Customers$Conversionvaluerules( + this.context + ); + this.conversionValueRuleSets = + new Resource$Customers$Conversionvaluerulesets(this.context); + this.customAudiences = new Resource$Customers$Customaudiences( + this.context + ); + this.customColumns = new Resource$Customers$Customcolumns(this.context); + this.customConversionGoals = new Resource$Customers$Customconversiongoals( + this.context + ); + this.customerAssets = new Resource$Customers$Customerassets(this.context); + this.customerAssetSets = new Resource$Customers$Customerassetsets( + this.context + ); + this.customerClientLinks = new Resource$Customers$Customerclientlinks( + this.context + ); + this.customerConversionGoals = + new Resource$Customers$Customerconversiongoals(this.context); + this.CustomerCustomizers = new Resource$Customers$Customercustomizers( + this.context + ); + this.customerLabels = new Resource$Customers$Customerlabels(this.context); + this.customerLifecycleGoal = new Resource$Customers$Customerlifecyclegoal( + this.context + ); + this.customerManagerLinks = new Resource$Customers$Customermanagerlinks( + this.context + ); + this.customerNegativeCriteria = + new Resource$Customers$Customernegativecriteria(this.context); + this.customerSkAdNetworkConversionValueSchemas = + new Resource$Customers$Customerskadnetworkconversionvalueschemas( + this.context + ); + this.customerUserAccesses = new Resource$Customers$Customeruseraccesses( + this.context + ); + this.customerUserAccessInvitations = + new Resource$Customers$Customeruseraccessinvitations(this.context); + this.customInterests = new Resource$Customers$Custominterests( + this.context + ); + this.customizerAttributes = new Resource$Customers$Customizerattributes( + this.context + ); + this.dataLinks = new Resource$Customers$Datalinks(this.context); + this.experimentArms = new Resource$Customers$Experimentarms(this.context); + this.experiments = new Resource$Customers$Experiments(this.context); + this.Goals = new Resource$Customers$Goals(this.context); + this.incentives = new Resource$Customers$Incentives(this.context); + this.invoices = new Resource$Customers$Invoices(this.context); + this.keywordPlanAdGroupKeywords = + new Resource$Customers$Keywordplanadgroupkeywords(this.context); + this.keywordPlanAdGroups = new Resource$Customers$Keywordplanadgroups( + this.context + ); + this.keywordPlanCampaignKeywords = + new Resource$Customers$Keywordplancampaignkeywords(this.context); + this.keywordPlanCampaigns = new Resource$Customers$Keywordplancampaigns( + this.context + ); + this.keywordPlans = new Resource$Customers$Keywordplans(this.context); + this.labels = new Resource$Customers$Labels(this.context); + this.localServices = new Resource$Customers$Localservices(this.context); + this.localServicesLeads = new Resource$Customers$Localservicesleads( + this.context + ); + this.offlineUserDataJobs = new Resource$Customers$Offlineuserdatajobs( + this.context + ); + this.paymentsAccounts = new Resource$Customers$Paymentsaccounts( + this.context + ); + this.productLinkInvitations = + new Resource$Customers$Productlinkinvitations(this.context); + this.productLinks = new Resource$Customers$Productlinks(this.context); + this.recommendations = new Resource$Customers$Recommendations( + this.context + ); + this.recommendationSubscriptions = + new Resource$Customers$Recommendationsubscriptions(this.context); + this.remarketingActions = new Resource$Customers$Remarketingactions( + this.context + ); + this.searchAds360 = new Resource$Customers$Searchads360(this.context); + this.sharedCriteria = new Resource$Customers$Sharedcriteria(this.context); + this.sharedSets = new Resource$Customers$Sharedsets(this.context); + this.smartCampaignSettings = new Resource$Customers$Smartcampaignsettings( + this.context + ); + this.thirdPartyAppAnalyticsLinks = + new Resource$Customers$Thirdpartyappanalyticslinks(this.context); + this.userListCustomerTypes = new Resource$Customers$Userlistcustomertypes( + this.context + ); + this.userLists = new Resource$Customers$Userlists(this.context); + } + + /** + * Creates a new client under manager. The new client customer is returned. List of thrown errors: [AccessInvitationError]() [AuthenticationError]() [AuthorizationError]() [CurrencyCodeError]() [HeaderError]() [InternalError]() [ManagerLinkError]() [QuotaError]() [RequestError]() [StringLengthError]() [TimeZoneError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.createCustomerClient({ + * // Required. The ID of the Manager under whom client customer is being created. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "accessRole": "my_accessRole", + * // "customerClient": {}, + * // "emailAddress": "my_emailAddress", + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "invitationLink": "my_invitationLink", + * // "resourceName": "my_resourceName" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + createCustomerClient( + params: Params$Resource$Customers$Createcustomerclient, + options: StreamMethodOptions + ): Promise>; + createCustomerClient( + params?: Params$Resource$Customers$Createcustomerclient, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + createCustomerClient( + params: Params$Resource$Customers$Createcustomerclient, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + createCustomerClient( + params: Params$Resource$Customers$Createcustomerclient, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + createCustomerClient( + params: Params$Resource$Customers$Createcustomerclient, + callback: BodyResponseCallback + ): void; + createCustomerClient( + callback: BodyResponseCallback + ): void; + createCustomerClient( + paramsOrCallback?: + | Params$Resource$Customers$Createcustomerclient + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Createcustomerclient; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Createcustomerclient; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}:createCustomerClient' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Returns a list of suggested AdGroups and suggested modifications (text, match type) for the given keywords. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CollectionSizeError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.generateAdGroupThemes({ + * // Required. The ID of the customer. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "adGroups": [], + * // "keywords": [] + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "adGroupKeywordSuggestions": [], + * // "unusableAdGroups": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + generateAdGroupThemes( + params: Params$Resource$Customers$Generateadgroupthemes, + options: StreamMethodOptions + ): Promise>; + generateAdGroupThemes( + params?: Params$Resource$Customers$Generateadgroupthemes, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + generateAdGroupThemes( + params: Params$Resource$Customers$Generateadgroupthemes, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generateAdGroupThemes( + params: Params$Resource$Customers$Generateadgroupthemes, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generateAdGroupThemes( + params: Params$Resource$Customers$Generateadgroupthemes, + callback: BodyResponseCallback + ): void; + generateAdGroupThemes( + callback: BodyResponseCallback + ): void; + generateAdGroupThemes( + paramsOrCallback?: + | Params$Resource$Customers$Generateadgroupthemes + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Generateadgroupthemes; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Generateadgroupthemes; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}:generateAdGroupThemes' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Returns a collection of attributes that are represented in an audience of interest, with metrics that compare each attribute's share of the audience with its share of a baseline audience. List of thrown errors: [AudienceInsightsError]() [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.generateAudienceCompositionInsights({ + * // Required. The ID of the customer. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "audience": {}, + * // "baselineAudience": {}, + * // "customerInsightsGroup": "my_customerInsightsGroup", + * // "dataMonth": "my_dataMonth", + * // "dimensions": [], + * // "insightsApplicationInfo": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "sections": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + generateAudienceCompositionInsights( + params: Params$Resource$Customers$Generateaudiencecompositioninsights, + options: StreamMethodOptions + ): Promise>; + generateAudienceCompositionInsights( + params?: Params$Resource$Customers$Generateaudiencecompositioninsights, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + generateAudienceCompositionInsights( + params: Params$Resource$Customers$Generateaudiencecompositioninsights, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generateAudienceCompositionInsights( + params: Params$Resource$Customers$Generateaudiencecompositioninsights, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generateAudienceCompositionInsights( + params: Params$Resource$Customers$Generateaudiencecompositioninsights, + callback: BodyResponseCallback + ): void; + generateAudienceCompositionInsights( + callback: BodyResponseCallback + ): void; + generateAudienceCompositionInsights( + paramsOrCallback?: + | Params$Resource$Customers$Generateaudiencecompositioninsights + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Generateaudiencecompositioninsights; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Customers$Generateaudiencecompositioninsights; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v23/customers/{+customerId}:generateAudienceCompositionInsights' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Returns a collection of audience attributes using generative AI based on the provided audience description. List of thrown errors: [AudienceInsightsError]() [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.generateAudienceDefinition({ + * // Required. The ID of the customer. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "audienceDescription": {}, + * // "customerInsightsGroup": "my_customerInsightsGroup", + * // "insightsApplicationInfo": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "highRelevanceAttributes": [], + * // "mediumRelevanceAttributes": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + generateAudienceDefinition( + params: Params$Resource$Customers$Generateaudiencedefinition, + options: StreamMethodOptions + ): Promise>; + generateAudienceDefinition( + params?: Params$Resource$Customers$Generateaudiencedefinition, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + generateAudienceDefinition( + params: Params$Resource$Customers$Generateaudiencedefinition, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generateAudienceDefinition( + params: Params$Resource$Customers$Generateaudiencedefinition, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generateAudienceDefinition( + params: Params$Resource$Customers$Generateaudiencedefinition, + callback: BodyResponseCallback + ): void; + generateAudienceDefinition( + callback: BodyResponseCallback + ): void; + generateAudienceDefinition( + paramsOrCallback?: + | Params$Resource$Customers$Generateaudiencedefinition + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Generateaudiencedefinition; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Generateaudiencedefinition; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v23/customers/{+customerId}:generateAudienceDefinition' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Returns a collection of audience attributes along with estimates of the overlap between their potential YouTube reach and that of a given input attribute. List of thrown errors: [AudienceInsightsError]() [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.generateAudienceOverlapInsights({ + * // Required. The ID of the customer. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "countryLocation": {}, + * // "customerInsightsGroup": "my_customerInsightsGroup", + * // "dimensions": [], + * // "insightsApplicationInfo": {}, + * // "primaryAttribute": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "dimensionResults": [], + * // "primaryAttributeMetadata": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + generateAudienceOverlapInsights( + params: Params$Resource$Customers$Generateaudienceoverlapinsights, + options: StreamMethodOptions + ): Promise>; + generateAudienceOverlapInsights( + params?: Params$Resource$Customers$Generateaudienceoverlapinsights, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + generateAudienceOverlapInsights( + params: Params$Resource$Customers$Generateaudienceoverlapinsights, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generateAudienceOverlapInsights( + params: Params$Resource$Customers$Generateaudienceoverlapinsights, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generateAudienceOverlapInsights( + params: Params$Resource$Customers$Generateaudienceoverlapinsights, + callback: BodyResponseCallback + ): void; + generateAudienceOverlapInsights( + callback: BodyResponseCallback + ): void; + generateAudienceOverlapInsights( + paramsOrCallback?: + | Params$Resource$Customers$Generateaudienceoverlapinsights + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Generateaudienceoverlapinsights; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Customers$Generateaudienceoverlapinsights; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v23/customers/{+customerId}:generateAudienceOverlapInsights' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Returns YouTube advertisement metrics for the given client against industry benchmarks. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [BenchmarksError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.generateBenchmarksMetrics({ + * // Required. The ID of the customer. Supply a client customer ID to generate metrics for the customer. A manager account customer ID will not return customer metrics since it does not have any associated direct ad campaigns. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "applicationInfo": {}, + * // "benchmarksSource": {}, + * // "currencyCode": "my_currencyCode", + * // "customerBenchmarksGroup": "my_customerBenchmarksGroup", + * // "dateRange": {}, + * // "location": {}, + * // "productFilter": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "averageBenchmarksMetrics": {}, + * // "customerMetrics": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + generateBenchmarksMetrics( + params: Params$Resource$Customers$Generatebenchmarksmetrics, + options: StreamMethodOptions + ): Promise>; + generateBenchmarksMetrics( + params?: Params$Resource$Customers$Generatebenchmarksmetrics, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + generateBenchmarksMetrics( + params: Params$Resource$Customers$Generatebenchmarksmetrics, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generateBenchmarksMetrics( + params: Params$Resource$Customers$Generatebenchmarksmetrics, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generateBenchmarksMetrics( + params: Params$Resource$Customers$Generatebenchmarksmetrics, + callback: BodyResponseCallback + ): void; + generateBenchmarksMetrics( + callback: BodyResponseCallback + ): void; + generateBenchmarksMetrics( + paramsOrCallback?: + | Params$Resource$Customers$Generatebenchmarksmetrics + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Generatebenchmarksmetrics; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Generatebenchmarksmetrics; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}:generateBenchmarksMetrics' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Creates a saved report that can be viewed in the Insights Finder tool. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.generateInsightsFinderReport({ + * // Required. The ID of the customer. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "baselineAudience": {}, + * // "customerInsightsGroup": "my_customerInsightsGroup", + * // "insightsApplicationInfo": {}, + * // "specificAudience": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "savedReportUrl": "my_savedReportUrl" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + generateInsightsFinderReport( + params: Params$Resource$Customers$Generateinsightsfinderreport, + options: StreamMethodOptions + ): Promise>; + generateInsightsFinderReport( + params?: Params$Resource$Customers$Generateinsightsfinderreport, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + generateInsightsFinderReport( + params: Params$Resource$Customers$Generateinsightsfinderreport, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generateInsightsFinderReport( + params: Params$Resource$Customers$Generateinsightsfinderreport, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generateInsightsFinderReport( + params: Params$Resource$Customers$Generateinsightsfinderreport, + callback: BodyResponseCallback + ): void; + generateInsightsFinderReport( + callback: BodyResponseCallback + ): void; + generateInsightsFinderReport( + paramsOrCallback?: + | Params$Resource$Customers$Generateinsightsfinderreport + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Generateinsightsfinderreport; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Generateinsightsfinderreport; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v23/customers/{+customerId}:generateInsightsFinderReport' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Returns metrics (such as impressions, clicks, total cost) of a keyword forecast for the given campaign. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CollectionSizeError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.generateKeywordForecastMetrics({ + * // The ID of the customer. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "campaign": {}, + * // "currencyCode": "my_currencyCode", + * // "forecastPeriod": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "campaignForecastMetrics": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + generateKeywordForecastMetrics( + params: Params$Resource$Customers$Generatekeywordforecastmetrics, + options: StreamMethodOptions + ): Promise>; + generateKeywordForecastMetrics( + params?: Params$Resource$Customers$Generatekeywordforecastmetrics, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + generateKeywordForecastMetrics( + params: Params$Resource$Customers$Generatekeywordforecastmetrics, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generateKeywordForecastMetrics( + params: Params$Resource$Customers$Generatekeywordforecastmetrics, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generateKeywordForecastMetrics( + params: Params$Resource$Customers$Generatekeywordforecastmetrics, + callback: BodyResponseCallback + ): void; + generateKeywordForecastMetrics( + callback: BodyResponseCallback + ): void; + generateKeywordForecastMetrics( + paramsOrCallback?: + | Params$Resource$Customers$Generatekeywordforecastmetrics + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Generatekeywordforecastmetrics; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Generatekeywordforecastmetrics; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v23/customers/{+customerId}:generateKeywordForecastMetrics' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Returns a list of keyword historical metrics. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CollectionSizeError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.generateKeywordHistoricalMetrics({ + * // The ID of the customer with the recommendation. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "aggregateMetrics": {}, + * // "geoTargetConstants": [], + * // "historicalMetricsOptions": {}, + * // "includeAdultKeywords": false, + * // "keywordPlanNetwork": "my_keywordPlanNetwork", + * // "keywords": [], + * // "language": "my_language" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "aggregateMetricResults": {}, + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + generateKeywordHistoricalMetrics( + params: Params$Resource$Customers$Generatekeywordhistoricalmetrics, + options: StreamMethodOptions + ): Promise>; + generateKeywordHistoricalMetrics( + params?: Params$Resource$Customers$Generatekeywordhistoricalmetrics, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + generateKeywordHistoricalMetrics( + params: Params$Resource$Customers$Generatekeywordhistoricalmetrics, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generateKeywordHistoricalMetrics( + params: Params$Resource$Customers$Generatekeywordhistoricalmetrics, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generateKeywordHistoricalMetrics( + params: Params$Resource$Customers$Generatekeywordhistoricalmetrics, + callback: BodyResponseCallback + ): void; + generateKeywordHistoricalMetrics( + callback: BodyResponseCallback + ): void; + generateKeywordHistoricalMetrics( + paramsOrCallback?: + | Params$Resource$Customers$Generatekeywordhistoricalmetrics + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Generatekeywordhistoricalmetrics; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Customers$Generatekeywordhistoricalmetrics; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v23/customers/{+customerId}:generateKeywordHistoricalMetrics' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Returns a list of keyword ideas. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CollectionSizeError]() [HeaderError]() [InternalError]() [KeywordPlanIdeaError]() [QuotaError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.generateKeywordIdeas({ + * // The ID of the customer with the recommendation. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "aggregateMetrics": {}, + * // "geoTargetConstants": [], + * // "historicalMetricsOptions": {}, + * // "includeAdultKeywords": false, + * // "keywordAndUrlSeed": {}, + * // "keywordAnnotation": [], + * // "keywordPlanNetwork": "my_keywordPlanNetwork", + * // "keywordSeed": {}, + * // "language": "my_language", + * // "pageSize": 0, + * // "pageToken": "my_pageToken", + * // "siteSeed": {}, + * // "urlSeed": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "aggregateMetricResults": {}, + * // "nextPageToken": "my_nextPageToken", + * // "results": [], + * // "totalSize": "my_totalSize" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + generateKeywordIdeas( + params: Params$Resource$Customers$Generatekeywordideas, + options: StreamMethodOptions + ): Promise>; + generateKeywordIdeas( + params?: Params$Resource$Customers$Generatekeywordideas, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + generateKeywordIdeas( + params: Params$Resource$Customers$Generatekeywordideas, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generateKeywordIdeas( + params: Params$Resource$Customers$Generatekeywordideas, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generateKeywordIdeas( + params: Params$Resource$Customers$Generatekeywordideas, + callback: BodyResponseCallback + ): void; + generateKeywordIdeas( + callback: BodyResponseCallback + ): void; + generateKeywordIdeas( + paramsOrCallback?: + | Params$Resource$Customers$Generatekeywordideas + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Generatekeywordideas; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Generatekeywordideas; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}:generateKeywordIdeas' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Generates a reach forecast for a given targeting / product mix. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [ReachPlanError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.generateReachForecast({ + * // Required. The ID of the customer. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "campaignDuration": {}, + * // "cookieFrequencyCap": 0, + * // "cookieFrequencyCapSetting": {}, + * // "currencyCode": "my_currencyCode", + * // "customerReachGroup": "my_customerReachGroup", + * // "effectiveFrequencyLimit": {}, + * // "forecastMetricOptions": {}, + * // "minEffectiveFrequency": 0, + * // "plannedProducts": [], + * // "reachApplicationInfo": {}, + * // "targeting": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "onTargetAudienceMetrics": {}, + * // "reachCurve": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + generateReachForecast( + params: Params$Resource$Customers$Generatereachforecast, + options: StreamMethodOptions + ): Promise>; + generateReachForecast( + params?: Params$Resource$Customers$Generatereachforecast, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + generateReachForecast( + params: Params$Resource$Customers$Generatereachforecast, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generateReachForecast( + params: Params$Resource$Customers$Generatereachforecast, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generateReachForecast( + params: Params$Resource$Customers$Generatereachforecast, + callback: BodyResponseCallback + ): void; + generateReachForecast( + callback: BodyResponseCallback + ): void; + generateReachForecast( + paramsOrCallback?: + | Params$Resource$Customers$Generatereachforecast + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Generatereachforecast; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Generatereachforecast; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}:generateReachForecast' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Returns a collection of targeting insights (e.g. targetable audiences) that are relevant to the requested audience. List of thrown errors: [AudienceInsightsError]() [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.generateSuggestedTargetingInsights({ + * // Required. The ID of the customer. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "audienceDefinition": {}, + * // "audienceDescription": {}, + * // "customerInsightsGroup": "my_customerInsightsGroup", + * // "insightsApplicationInfo": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "suggestions": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + generateSuggestedTargetingInsights( + params: Params$Resource$Customers$Generatesuggestedtargetinginsights, + options: StreamMethodOptions + ): Promise>; + generateSuggestedTargetingInsights( + params?: Params$Resource$Customers$Generatesuggestedtargetinginsights, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + generateSuggestedTargetingInsights( + params: Params$Resource$Customers$Generatesuggestedtargetinginsights, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generateSuggestedTargetingInsights( + params: Params$Resource$Customers$Generatesuggestedtargetinginsights, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generateSuggestedTargetingInsights( + params: Params$Resource$Customers$Generatesuggestedtargetinginsights, + callback: BodyResponseCallback + ): void; + generateSuggestedTargetingInsights( + callback: BodyResponseCallback + ): void; + generateSuggestedTargetingInsights( + paramsOrCallback?: + | Params$Resource$Customers$Generatesuggestedtargetinginsights + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Generatesuggestedtargetinginsights; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Customers$Generatesuggestedtargetinginsights; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v23/customers/{+customerId}:generateSuggestedTargetingInsights' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Returns potential reach metrics for targetable audiences. This method helps answer questions like "How many Men aged 18+ interested in Camping can be reached on YouTube?" List of thrown errors: [AudienceInsightsError]() [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.generateTargetingSuggestionMetrics({ + * // Required. The ID of the customer. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "audiences": [], + * // "customerInsightsGroup": "my_customerInsightsGroup", + * // "insightsApplicationInfo": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "suggestions": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + generateTargetingSuggestionMetrics( + params: Params$Resource$Customers$Generatetargetingsuggestionmetrics, + options: StreamMethodOptions + ): Promise>; + generateTargetingSuggestionMetrics( + params?: Params$Resource$Customers$Generatetargetingsuggestionmetrics, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + generateTargetingSuggestionMetrics( + params: Params$Resource$Customers$Generatetargetingsuggestionmetrics, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generateTargetingSuggestionMetrics( + params: Params$Resource$Customers$Generatetargetingsuggestionmetrics, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generateTargetingSuggestionMetrics( + params: Params$Resource$Customers$Generatetargetingsuggestionmetrics, + callback: BodyResponseCallback + ): void; + generateTargetingSuggestionMetrics( + callback: BodyResponseCallback + ): void; + generateTargetingSuggestionMetrics( + paramsOrCallback?: + | Params$Resource$Customers$Generatetargetingsuggestionmetrics + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Generatetargetingsuggestionmetrics; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Customers$Generatetargetingsuggestionmetrics; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v23/customers/{+customerId}:generateTargetingSuggestionMetrics' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Returns Identity Verification information. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.getIdentityVerification({ + * // Required. The ID of the customer for whom we are requesting verification information. + * customerId: '[^/]+', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "identityVerification": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + getIdentityVerification( + params: Params$Resource$Customers$Getidentityverification, + options: StreamMethodOptions + ): Promise>; + getIdentityVerification( + params?: Params$Resource$Customers$Getidentityverification, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + getIdentityVerification( + params: Params$Resource$Customers$Getidentityverification, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIdentityVerification( + params: Params$Resource$Customers$Getidentityverification, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIdentityVerification( + params: Params$Resource$Customers$Getidentityverification, + callback: BodyResponseCallback + ): void; + getIdentityVerification( + callback: BodyResponseCallback + ): void; + getIdentityVerification( + paramsOrCallback?: + | Params$Resource$Customers$Getidentityverification + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Getidentityverification; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Getidentityverification; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}/getIdentityVerification' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Returns resource names of customers directly accessible by the user authenticating the call. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.listAccessibleCustomers({}); + * console.log(res.data); + * + * // Example response + * // { + * // "resourceNames": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + listAccessibleCustomers( + params: Params$Resource$Customers$Listaccessiblecustomers, + options: StreamMethodOptions + ): Promise>; + listAccessibleCustomers( + params?: Params$Resource$Customers$Listaccessiblecustomers, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + listAccessibleCustomers( + params: Params$Resource$Customers$Listaccessiblecustomers, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + listAccessibleCustomers( + params: Params$Resource$Customers$Listaccessiblecustomers, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + listAccessibleCustomers( + params: Params$Resource$Customers$Listaccessiblecustomers, + callback: BodyResponseCallback + ): void; + listAccessibleCustomers( + callback: BodyResponseCallback + ): void; + listAccessibleCustomers( + paramsOrCallback?: + | Params$Resource$Customers$Listaccessiblecustomers + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Listaccessiblecustomers; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Listaccessiblecustomers; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v23/customers:listAccessibleCustomers').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: [], + pathParams: [], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Updates a customer. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldMaskError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() [UrlFieldError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.mutate({ + * // Required. The ID of the customer being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operation": {}, + * // "responseContentType": "my_responseContentType", + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "result": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || {}) as Params$Resource$Customers$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v23/customers/{+customerId}:mutate').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Removes automatically created assets from a campaign. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ContextError]() [FieldError]() [InternalError]() [MutateError]() [PartialFailureError]() [QuotaError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await searchads360.customers.removeCampaignAutomaticallyCreatedAsset({ + * // Required. The ID of the customer whose assets are being removed. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "partialFailure": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "partialFailureError": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + removeCampaignAutomaticallyCreatedAsset( + params: Params$Resource$Customers$Removecampaignautomaticallycreatedasset, + options: StreamMethodOptions + ): Promise>; + removeCampaignAutomaticallyCreatedAsset( + params?: Params$Resource$Customers$Removecampaignautomaticallycreatedasset, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + removeCampaignAutomaticallyCreatedAsset( + params: Params$Resource$Customers$Removecampaignautomaticallycreatedasset, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + removeCampaignAutomaticallyCreatedAsset( + params: Params$Resource$Customers$Removecampaignautomaticallycreatedasset, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + removeCampaignAutomaticallyCreatedAsset( + params: Params$Resource$Customers$Removecampaignautomaticallycreatedasset, + callback: BodyResponseCallback + ): void; + removeCampaignAutomaticallyCreatedAsset( + callback: BodyResponseCallback + ): void; + removeCampaignAutomaticallyCreatedAsset( + paramsOrCallback?: + | Params$Resource$Customers$Removecampaignautomaticallycreatedasset + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Removecampaignautomaticallycreatedasset; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Customers$Removecampaignautomaticallycreatedasset; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v23/customers/{+customerId}:removeCampaignAutomaticallyCreatedAsset' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Searches for audience attributes that can be used to generate insights. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.searchAudienceInsightsAttributes({ + * // Required. The ID of the customer. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "customerInsightsGroup": "my_customerInsightsGroup", + * // "dimensions": [], + * // "insightsApplicationInfo": {}, + * // "locationCountryFilters": [], + * // "queryText": "my_queryText", + * // "youtubeReachLocation": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "attributes": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + searchAudienceInsightsAttributes( + params: Params$Resource$Customers$Searchaudienceinsightsattributes, + options: StreamMethodOptions + ): Promise>; + searchAudienceInsightsAttributes( + params?: Params$Resource$Customers$Searchaudienceinsightsattributes, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + searchAudienceInsightsAttributes( + params: Params$Resource$Customers$Searchaudienceinsightsattributes, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + searchAudienceInsightsAttributes( + params: Params$Resource$Customers$Searchaudienceinsightsattributes, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + searchAudienceInsightsAttributes( + params: Params$Resource$Customers$Searchaudienceinsightsattributes, + callback: BodyResponseCallback + ): void; + searchAudienceInsightsAttributes( + callback: BodyResponseCallback + ): void; + searchAudienceInsightsAttributes( + paramsOrCallback?: + | Params$Resource$Customers$Searchaudienceinsightsattributes + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Searchaudienceinsightsattributes; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Customers$Searchaudienceinsightsattributes; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v23/customers/{+customerId}:searchAudienceInsightsAttributes' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Starts Identity Verification for a given verification program type. Statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.startIdentityVerification({ + * // Required. The Id of the customer for whom we are creating this verification. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "verificationProgram": "my_verificationProgram" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // {} + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + startIdentityVerification( + params: Params$Resource$Customers$Startidentityverification, + options: StreamMethodOptions + ): Promise>; + startIdentityVerification( + params?: Params$Resource$Customers$Startidentityverification, + options?: MethodOptions + ): Promise>; + startIdentityVerification( + params: Params$Resource$Customers$Startidentityverification, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + startIdentityVerification( + params: Params$Resource$Customers$Startidentityverification, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + startIdentityVerification( + params: Params$Resource$Customers$Startidentityverification, + callback: BodyResponseCallback + ): void; + startIdentityVerification( + callback: BodyResponseCallback + ): void; + startIdentityVerification( + paramsOrCallback?: + | Params$Resource$Customers$Startidentityverification + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Startidentityverification; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Startidentityverification; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}:startIdentityVerification' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Suggests keyword themes to advertise on. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.suggestKeywordThemes({ + * // Required. The ID of the customer. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "suggestionInfo": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "keywordThemes": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + suggestKeywordThemes( + params: Params$Resource$Customers$Suggestkeywordthemes, + options: StreamMethodOptions + ): Promise>; + suggestKeywordThemes( + params?: Params$Resource$Customers$Suggestkeywordthemes, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + suggestKeywordThemes( + params: Params$Resource$Customers$Suggestkeywordthemes, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + suggestKeywordThemes( + params: Params$Resource$Customers$Suggestkeywordthemes, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + suggestKeywordThemes( + params: Params$Resource$Customers$Suggestkeywordthemes, + callback: BodyResponseCallback + ): void; + suggestKeywordThemes( + callback: BodyResponseCallback + ): void; + suggestKeywordThemes( + paramsOrCallback?: + | Params$Resource$Customers$Suggestkeywordthemes + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Suggestkeywordthemes; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Suggestkeywordthemes; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}:suggestKeywordThemes' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Suggests a Smart campaign ad compatible with the Ad family of resources, based on data points such as targeting and the business to advertise. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.suggestSmartCampaignAd({ + * // Required. The ID of the customer. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "suggestionInfo": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "adInfo": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + suggestSmartCampaignAd( + params: Params$Resource$Customers$Suggestsmartcampaignad, + options: StreamMethodOptions + ): Promise>; + suggestSmartCampaignAd( + params?: Params$Resource$Customers$Suggestsmartcampaignad, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + suggestSmartCampaignAd( + params: Params$Resource$Customers$Suggestsmartcampaignad, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + suggestSmartCampaignAd( + params: Params$Resource$Customers$Suggestsmartcampaignad, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + suggestSmartCampaignAd( + params: Params$Resource$Customers$Suggestsmartcampaignad, + callback: BodyResponseCallback + ): void; + suggestSmartCampaignAd( + callback: BodyResponseCallback + ): void; + suggestSmartCampaignAd( + paramsOrCallback?: + | Params$Resource$Customers$Suggestsmartcampaignad + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Suggestsmartcampaignad; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Suggestsmartcampaignad; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}:suggestSmartCampaignAd' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Returns BudgetOption suggestions. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.suggestSmartCampaignBudgetOptions({ + * // Required. The ID of the customer whose budget options are to be suggested. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "campaign": "my_campaign", + * // "suggestionInfo": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "high": {}, + * // "low": {}, + * // "recommended": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + suggestSmartCampaignBudgetOptions( + params: Params$Resource$Customers$Suggestsmartcampaignbudgetoptions, + options: StreamMethodOptions + ): Promise>; + suggestSmartCampaignBudgetOptions( + params?: Params$Resource$Customers$Suggestsmartcampaignbudgetoptions, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + suggestSmartCampaignBudgetOptions( + params: Params$Resource$Customers$Suggestsmartcampaignbudgetoptions, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + suggestSmartCampaignBudgetOptions( + params: Params$Resource$Customers$Suggestsmartcampaignbudgetoptions, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + suggestSmartCampaignBudgetOptions( + params: Params$Resource$Customers$Suggestsmartcampaignbudgetoptions, + callback: BodyResponseCallback + ): void; + suggestSmartCampaignBudgetOptions( + callback: BodyResponseCallback + ): void; + suggestSmartCampaignBudgetOptions( + paramsOrCallback?: + | Params$Resource$Customers$Suggestsmartcampaignbudgetoptions + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Suggestsmartcampaignbudgetoptions; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Customers$Suggestsmartcampaignbudgetoptions; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v23/customers/{+customerId}:suggestSmartCampaignBudgetOptions' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Returns Travel Asset suggestions. Asset suggestions are returned on a best-effort basis. There are no guarantees that all possible asset types will be returned for any given hotel property. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.suggestTravelAssets({ + * // Required. The ID of the customer. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "languageOption": "my_languageOption", + * // "placeIds": [] + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "hotelAssetSuggestions": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + suggestTravelAssets( + params: Params$Resource$Customers$Suggesttravelassets, + options: StreamMethodOptions + ): Promise>; + suggestTravelAssets( + params?: Params$Resource$Customers$Suggesttravelassets, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + suggestTravelAssets( + params: Params$Resource$Customers$Suggesttravelassets, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + suggestTravelAssets( + params: Params$Resource$Customers$Suggesttravelassets, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + suggestTravelAssets( + params: Params$Resource$Customers$Suggesttravelassets, + callback: BodyResponseCallback + ): void; + suggestTravelAssets( + callback: BodyResponseCallback + ): void; + suggestTravelAssets( + paramsOrCallback?: + | Params$Resource$Customers$Suggesttravelassets + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Suggesttravelassets; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Suggesttravelassets; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}:suggestTravelAssets' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Uploads the given user data. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CollectionSizeError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [OfflineUserDataJobError]() [QuotaError]() [RequestError]() [UserDataError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.uploadUserData({ + * // Required. The ID of the customer for which to update the user data. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "customerMatchUserListMetadata": {}, + * // "operations": [] + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "receivedOperationsCount": 0, + * // "uploadDateTime": "my_uploadDateTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + uploadUserData( + params: Params$Resource$Customers$Uploaduserdata, + options: StreamMethodOptions + ): Promise>; + uploadUserData( + params?: Params$Resource$Customers$Uploaduserdata, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + uploadUserData( + params: Params$Resource$Customers$Uploaduserdata, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + uploadUserData( + params: Params$Resource$Customers$Uploaduserdata, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + uploadUserData( + params: Params$Resource$Customers$Uploaduserdata, + callback: BodyResponseCallback + ): void; + uploadUserData( + callback: BodyResponseCallback + ): void; + uploadUserData( + paramsOrCallback?: + | Params$Resource$Customers$Uploaduserdata + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Uploaduserdata; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Uploaduserdata; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}:uploadUserData' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Createcustomerclient extends StandardParameters { + /** + * Required. The ID of the Manager under whom client customer is being created. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__CreateCustomerClientRequest; + } + export interface Params$Resource$Customers$Generateadgroupthemes extends StandardParameters { + /** + * Required. The ID of the customer. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__GenerateAdGroupThemesRequest; + } + export interface Params$Resource$Customers$Generateaudiencecompositioninsights extends StandardParameters { + /** + * Required. The ID of the customer. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__GenerateAudienceCompositionInsightsRequest; + } + export interface Params$Resource$Customers$Generateaudiencedefinition extends StandardParameters { + /** + * Required. The ID of the customer. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__GenerateAudienceDefinitionRequest; + } + export interface Params$Resource$Customers$Generateaudienceoverlapinsights extends StandardParameters { + /** + * Required. The ID of the customer. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__GenerateAudienceOverlapInsightsRequest; + } + export interface Params$Resource$Customers$Generatebenchmarksmetrics extends StandardParameters { + /** + * Required. The ID of the customer. Supply a client customer ID to generate metrics for the customer. A manager account customer ID will not return customer metrics since it does not have any associated direct ad campaigns. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__GenerateBenchmarksMetricsRequest; + } + export interface Params$Resource$Customers$Generateinsightsfinderreport extends StandardParameters { + /** + * Required. The ID of the customer. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__GenerateInsightsFinderReportRequest; + } + export interface Params$Resource$Customers$Generatekeywordforecastmetrics extends StandardParameters { + /** + * The ID of the customer. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__GenerateKeywordForecastMetricsRequest; + } + export interface Params$Resource$Customers$Generatekeywordhistoricalmetrics extends StandardParameters { + /** + * The ID of the customer with the recommendation. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__GenerateKeywordHistoricalMetricsRequest; + } + export interface Params$Resource$Customers$Generatekeywordideas extends StandardParameters { + /** + * The ID of the customer with the recommendation. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__GenerateKeywordIdeasRequest; + } + export interface Params$Resource$Customers$Generatereachforecast extends StandardParameters { + /** + * Required. The ID of the customer. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__GenerateReachForecastRequest; + } + export interface Params$Resource$Customers$Generatesuggestedtargetinginsights extends StandardParameters { + /** + * Required. The ID of the customer. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__GenerateSuggestedTargetingInsightsRequest; + } + export interface Params$Resource$Customers$Generatetargetingsuggestionmetrics extends StandardParameters { + /** + * Required. The ID of the customer. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__GenerateTargetingSuggestionMetricsRequest; + } + export interface Params$Resource$Customers$Getidentityverification extends StandardParameters { + /** + * Required. The ID of the customer for whom we are requesting verification information. + */ + customerId?: string; + } + export interface Params$Resource$Customers$Listaccessiblecustomers extends StandardParameters {} + export interface Params$Resource$Customers$Mutate extends StandardParameters { + /** + * Required. The ID of the customer being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateCustomerRequest; + } + export interface Params$Resource$Customers$Removecampaignautomaticallycreatedasset extends StandardParameters { + /** + * Required. The ID of the customer whose assets are being removed. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__RemoveCampaignAutomaticallyCreatedAssetRequest; + } + export interface Params$Resource$Customers$Searchaudienceinsightsattributes extends StandardParameters { + /** + * Required. The ID of the customer. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__ListAudienceInsightsAttributesRequest; + } + export interface Params$Resource$Customers$Startidentityverification extends StandardParameters { + /** + * Required. The Id of the customer for whom we are creating this verification. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__StartIdentityVerificationRequest; + } + export interface Params$Resource$Customers$Suggestkeywordthemes extends StandardParameters { + /** + * Required. The ID of the customer. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__SuggestKeywordThemesRequest; + } + export interface Params$Resource$Customers$Suggestsmartcampaignad extends StandardParameters { + /** + * Required. The ID of the customer. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__SuggestSmartCampaignAdRequest; + } + export interface Params$Resource$Customers$Suggestsmartcampaignbudgetoptions extends StandardParameters { + /** + * Required. The ID of the customer whose budget options are to be suggested. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__SuggestSmartCampaignBudgetOptionsRequest; + } + export interface Params$Resource$Customers$Suggesttravelassets extends StandardParameters { + /** + * Required. The ID of the customer. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__SuggestTravelAssetsRequest; + } + export interface Params$Resource$Customers$Uploaduserdata extends StandardParameters { + /** + * Required. The ID of the customer for which to update the user data. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__UploadUserDataRequest; + } + + export class Resource$Customers$Accountbudgetproposals { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates, updates, or removes account budget proposals. Operation statuses are returned. List of thrown errors: [AccountBudgetProposalError]() [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [DateError]() [FieldError]() [FieldMaskError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]() [StringLengthError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.accountBudgetProposals.mutate({ + * // Required. The ID of the customer. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operation": {}, + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "result": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Accountbudgetproposals$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Accountbudgetproposals$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Accountbudgetproposals$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Accountbudgetproposals$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Accountbudgetproposals$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Accountbudgetproposals$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Accountbudgetproposals$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Accountbudgetproposals$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v23/customers/{+customerId}/accountBudgetProposals:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Accountbudgetproposals$Mutate extends StandardParameters { + /** + * Required. The ID of the customer. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateAccountBudgetProposalRequest; + } + + export class Resource$Customers$Accountlinks { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates an account link. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]() [ThirdPartyAppAnalyticsLinkError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.accountLinks.create({ + * // Required. The ID of the customer for which the account link is created. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "accountLink": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "resourceName": "my_resourceName" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Customers$Accountlinks$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Customers$Accountlinks$Create, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + create( + params: Params$Resource$Customers$Accountlinks$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Customers$Accountlinks$Create, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Customers$Accountlinks$Create, + callback: BodyResponseCallback + ): void; + create( + callback: BodyResponseCallback + ): void; + create( + paramsOrCallback?: + | Params$Resource$Customers$Accountlinks$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Accountlinks$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Accountlinks$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}/accountLinks:create' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Creates or removes an account link. From V5, create is not supported through AccountLinkService.MutateAccountLink. Use AccountLinkService.CreateAccountLink instead. List of thrown errors: [AccountLinkError]() [AuthenticationError]() [AuthorizationError]() [FieldMaskError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.accountLinks.mutate({ + * // Required. The ID of the customer being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operation": {}, + * // "partialFailure": false, + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "partialFailureError": {}, + * // "result": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Accountlinks$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Accountlinks$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Accountlinks$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Accountlinks$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Accountlinks$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Accountlinks$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Accountlinks$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Accountlinks$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}/accountLinks:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Accountlinks$Create extends StandardParameters { + /** + * Required. The ID of the customer for which the account link is created. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__CreateAccountLinkRequest; + } + export interface Params$Resource$Customers$Accountlinks$Mutate extends StandardParameters { + /** + * Required. The ID of the customer being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateAccountLinkRequest; + } + + export class Resource$Customers$Adgroupadlabels { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates and removes ad group ad labels. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [HeaderError]() [InternalError]() [LabelError]() [MutateError]() [NewResourceCreationError]() [QuotaError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.adGroupAdLabels.mutate({ + * // Required. ID of the customer whose ad group ad labels are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "partialFailure": false, + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "partialFailureError": {}, + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Adgroupadlabels$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Adgroupadlabels$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Adgroupadlabels$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Adgroupadlabels$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Adgroupadlabels$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Adgroupadlabels$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Adgroupadlabels$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Adgroupadlabels$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}/adGroupAdLabels:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Adgroupadlabels$Mutate extends StandardParameters { + /** + * Required. ID of the customer whose ad group ad labels are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateAdGroupAdLabelsRequest; + } + + export class Resource$Customers$Adgroupads { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates, updates, or removes ads. Operation statuses are returned. List of thrown errors: [AdCustomizerError]() [AdError]() [AdGroupAdError]() [AdSharingError]() [AdxError]() [AssetError]() [AssetLinkError]() [AuthenticationError]() [AuthorizationError]() [CollectionSizeError]() [ContextError]() [DatabaseError]() [DateError]() [DistinctError]() [FeedAttributeReferenceError]() [FieldError]() [FieldMaskError]() [FunctionError]() [FunctionParsingError]() [HeaderError]() [IdError]() [ImageError]() [InternalError]() [ListOperationError]() [MediaBundleError]() [MediaFileError]() [MutateError]() [NewResourceCreationError]() [NotEmptyError]() [NullError]() [OperationAccessDeniedError]() [OperatorError]() [PolicyFindingError]() [PolicyValidationParameterError]() [PolicyViolationError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]() [UrlFieldError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.adGroupAds.mutate({ + * // Required. The ID of the customer whose ads are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "partialFailure": false, + * // "responseContentType": "my_responseContentType", + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "partialFailureError": {}, + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Adgroupads$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Adgroupads$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Adgroupads$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Adgroupads$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Adgroupads$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Adgroupads$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Adgroupads$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Adgroupads$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}/adGroupAds:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Remove automatically created assets from an ad. List of thrown errors: [AdError]() [AuthenticationError]() [AuthorizationError]() [AutomaticallyCreatedAssetRemovalError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await searchads360.customers.adGroupAds.removeAutomaticallyCreatedAssets({ + * // Required. The resource name of the AdGroupAd from which to remove automatically created assets. + * adGroupAd: 'customers/my-customer/adGroupAds/my-adGroupAd', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "assetsWithFieldType": [] + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // {} + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + removeAutomaticallyCreatedAssets( + params: Params$Resource$Customers$Adgroupads$Removeautomaticallycreatedassets, + options: StreamMethodOptions + ): Promise>; + removeAutomaticallyCreatedAssets( + params?: Params$Resource$Customers$Adgroupads$Removeautomaticallycreatedassets, + options?: MethodOptions + ): Promise>; + removeAutomaticallyCreatedAssets( + params: Params$Resource$Customers$Adgroupads$Removeautomaticallycreatedassets, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + removeAutomaticallyCreatedAssets( + params: Params$Resource$Customers$Adgroupads$Removeautomaticallycreatedassets, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + removeAutomaticallyCreatedAssets( + params: Params$Resource$Customers$Adgroupads$Removeautomaticallycreatedassets, + callback: BodyResponseCallback + ): void; + removeAutomaticallyCreatedAssets( + callback: BodyResponseCallback + ): void; + removeAutomaticallyCreatedAssets( + paramsOrCallback?: + | Params$Resource$Customers$Adgroupads$Removeautomaticallycreatedassets + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Adgroupads$Removeautomaticallycreatedassets; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Customers$Adgroupads$Removeautomaticallycreatedassets; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/{+adGroupAd}:removeAutomaticallyCreatedAssets' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['adGroupAd'], + pathParams: ['adGroupAd'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Customers$Adgroupads$Mutate extends StandardParameters { + /** + * Required. The ID of the customer whose ads are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateAdGroupAdsRequest; + } + export interface Params$Resource$Customers$Adgroupads$Removeautomaticallycreatedassets extends StandardParameters { + /** + * Required. The resource name of the AdGroupAd from which to remove automatically created assets. + */ + adGroupAd?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__RemoveAutomaticallyCreatedAssetsRequest; + } + + export class Resource$Customers$Adgroupassets { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates, updates, or removes ad group assets. Operation statuses are returned. List of thrown errors: [AssetLinkError]() [AuthenticationError]() [AuthorizationError]() [ContextError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [NotAllowlistedError]() [QuotaError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.adGroupAssets.mutate({ + * // Required. The ID of the customer whose ad group assets are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "partialFailure": false, + * // "responseContentType": "my_responseContentType", + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "partialFailureError": {}, + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Adgroupassets$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Adgroupassets$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Adgroupassets$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Adgroupassets$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Adgroupassets$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Adgroupassets$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Adgroupassets$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Adgroupassets$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}/adGroupAssets:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Adgroupassets$Mutate extends StandardParameters { + /** + * Required. The ID of the customer whose ad group assets are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateAdGroupAssetsRequest; + } + + export class Resource$Customers$Adgroupassetsets { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates, or removes ad group asset sets. Operation statuses are returned. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.adGroupAssetSets.mutate({ + * // Required. The ID of the customer whose ad group asset sets are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "partialFailure": false, + * // "responseContentType": "my_responseContentType", + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "partialFailureError": {}, + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Adgroupassetsets$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Adgroupassetsets$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Adgroupassetsets$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Adgroupassetsets$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Adgroupassetsets$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Adgroupassetsets$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Adgroupassetsets$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Adgroupassetsets$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}/adGroupAssetSets:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Adgroupassetsets$Mutate extends StandardParameters { + /** + * Required. The ID of the customer whose ad group asset sets are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateAdGroupAssetSetsRequest; + } + + export class Resource$Customers$Adgroupbidmodifiers { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates, updates, or removes ad group bid modifiers. Operation statuses are returned. List of thrown errors: [AdGroupBidModifierError]() [AuthenticationError]() [AuthorizationError]() [ContextError]() [CriterionError]() [DatabaseError]() [DistinctError]() [FieldError]() [FieldMaskError]() [HeaderError]() [IdError]() [InternalError]() [MutateError]() [NewResourceCreationError]() [NotEmptyError]() [OperatorError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.adGroupBidModifiers.mutate({ + * // Required. ID of the customer whose ad group bid modifiers are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "partialFailure": false, + * // "responseContentType": "my_responseContentType", + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "partialFailureError": {}, + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Adgroupbidmodifiers$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Adgroupbidmodifiers$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Adgroupbidmodifiers$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Adgroupbidmodifiers$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Adgroupbidmodifiers$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Adgroupbidmodifiers$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Adgroupbidmodifiers$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Adgroupbidmodifiers$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v23/customers/{+customerId}/adGroupBidModifiers:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Adgroupbidmodifiers$Mutate extends StandardParameters { + /** + * Required. ID of the customer whose ad group bid modifiers are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateAdGroupBidModifiersRequest; + } + + export class Resource$Customers$Adgroupcriteria { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates, updates, or removes criteria. Operation statuses are returned. List of thrown errors: [AdGroupCriterionError]() [AdxError]() [AuthenticationError]() [AuthorizationError]() [BiddingError]() [BiddingStrategyError]() [CollectionSizeError]() [ContextError]() [CriterionError]() [DatabaseError]() [DateError]() [DistinctError]() [FieldError]() [FieldMaskError]() [HeaderError]() [IdError]() [InternalError]() [MultiplierError]() [MutateError]() [NewResourceCreationError]() [NotEmptyError]() [NullError]() [OperationAccessDeniedError]() [OperatorError]() [PolicyViolationError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]() [UrlFieldError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.adGroupCriteria.mutate({ + * // Required. ID of the customer whose criteria are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "partialFailure": false, + * // "responseContentType": "my_responseContentType", + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "partialFailureError": {}, + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Adgroupcriteria$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Adgroupcriteria$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Adgroupcriteria$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Adgroupcriteria$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Adgroupcriteria$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Adgroupcriteria$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Adgroupcriteria$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Adgroupcriteria$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}/adGroupCriteria:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Adgroupcriteria$Mutate extends StandardParameters { + /** + * Required. ID of the customer whose criteria are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCriteriaRequest; + } + + export class Resource$Customers$Adgroupcriterioncustomizers { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates, updates or removes ad group criterion customizers. Operation statuses are returned. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.AdGroupCriterionCustomizers.mutate({ + * // Required. The ID of the customer whose ad group criterion customizers are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "partialFailure": false, + * // "responseContentType": "my_responseContentType", + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "partialFailureError": {}, + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Adgroupcriterioncustomizers$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Adgroupcriterioncustomizers$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Adgroupcriterioncustomizers$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Adgroupcriterioncustomizers$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Adgroupcriterioncustomizers$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Adgroupcriterioncustomizers$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Adgroupcriterioncustomizers$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Customers$Adgroupcriterioncustomizers$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v23/customers/{+customerId}/AdGroupCriterionCustomizers:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Adgroupcriterioncustomizers$Mutate extends StandardParameters { + /** + * Required. The ID of the customer whose ad group criterion customizers are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCriterionCustomizersRequest; + } + + export class Resource$Customers$Adgroupcriterionlabels { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates and removes ad group criterion labels. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.adGroupCriterionLabels.mutate({ + * // Required. ID of the customer whose ad group criterion labels are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "partialFailure": false, + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "partialFailureError": {}, + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Adgroupcriterionlabels$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Adgroupcriterionlabels$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Adgroupcriterionlabels$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Adgroupcriterionlabels$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Adgroupcriterionlabels$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Adgroupcriterionlabels$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Adgroupcriterionlabels$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Adgroupcriterionlabels$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v23/customers/{+customerId}/adGroupCriterionLabels:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Adgroupcriterionlabels$Mutate extends StandardParameters { + /** + * Required. ID of the customer whose ad group criterion labels are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCriterionLabelsRequest; + } + + export class Resource$Customers$Adgroupcustomizers { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates, updates or removes ad group customizers. Operation statuses are returned. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.adGroupCustomizers.mutate({ + * // Required. The ID of the customer whose ad group customizers are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "partialFailure": false, + * // "responseContentType": "my_responseContentType", + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "partialFailureError": {}, + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Adgroupcustomizers$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Adgroupcustomizers$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Adgroupcustomizers$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Adgroupcustomizers$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Adgroupcustomizers$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Adgroupcustomizers$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Adgroupcustomizers$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Adgroupcustomizers$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}/adGroupCustomizers:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Adgroupcustomizers$Mutate extends StandardParameters { + /** + * Required. The ID of the customer whose ad group customizers are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateAdGroupCustomizersRequest; + } + + export class Resource$Customers$Adgrouplabels { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates and removes ad group labels. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [LabelError]() [MutateError]() [NewResourceCreationError]() [QuotaError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.adGroupLabels.mutate({ + * // Required. ID of the customer whose ad group labels are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "partialFailure": false, + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "partialFailureError": {}, + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Adgrouplabels$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Adgrouplabels$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Adgrouplabels$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Adgrouplabels$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Adgrouplabels$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Adgrouplabels$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Adgrouplabels$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Adgrouplabels$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}/adGroupLabels:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Adgrouplabels$Mutate extends StandardParameters { + /** + * Required. ID of the customer whose ad group labels are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateAdGroupLabelsRequest; + } + + export class Resource$Customers$Adgroups { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates, updates, or removes ad groups. Operation statuses are returned. List of thrown errors: [AdGroupError]() [AdxError]() [AuthenticationError]() [AuthorizationError]() [BiddingError]() [BiddingStrategyError]() [DatabaseError]() [DateError]() [DistinctError]() [FieldError]() [FieldMaskError]() [HeaderError]() [IdError]() [InternalError]() [ListOperationError]() [MultiplierError]() [MutateError]() [NewResourceCreationError]() [NotEmptyError]() [NullError]() [OperationAccessDeniedError]() [OperatorError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]() [SettingError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]() [UrlFieldError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.adGroups.mutate({ + * // Required. The ID of the customer whose ad groups are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "partialFailure": false, + * // "responseContentType": "my_responseContentType", + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "partialFailureError": {}, + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Adgroups$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Adgroups$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Adgroups$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Adgroups$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Adgroups$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Adgroups$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Adgroups$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Adgroups$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}/adGroups:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Adgroups$Mutate extends StandardParameters { + /** + * Required. The ID of the customer whose ad groups are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateAdGroupsRequest; + } + + export class Resource$Customers$Adparameters { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates, updates, or removes ad parameters. Operation statuses are returned. List of thrown errors: [AdParameterError]() [AuthenticationError]() [AuthorizationError]() [ContextError]() [DatabaseError]() [FieldError]() [FieldMaskError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.adParameters.mutate({ + * // Required. The ID of the customer whose ad parameters are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "partialFailure": false, + * // "responseContentType": "my_responseContentType", + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "partialFailureError": {}, + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Adparameters$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Adparameters$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Adparameters$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Adparameters$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Adparameters$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Adparameters$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Adparameters$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Adparameters$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}/adParameters:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Adparameters$Mutate extends StandardParameters { + /** + * Required. The ID of the customer whose ad parameters are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateAdParametersRequest; + } + + export class Resource$Customers$Ads { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Updates ads. Operation statuses are returned. Updating ads is not supported for TextAd, ExpandedDynamicSearchAd, GmailAd and ImageAd. List of thrown errors: [AdCustomizerError]() [AdError]() [AdSharingError]() [AdxError]() [AssetError]() [AssetLinkError]() [AuthenticationError]() [AuthorizationError]() [CollectionSizeError]() [DatabaseError]() [DateError]() [DistinctError]() [FeedAttributeReferenceError]() [FieldError]() [FieldMaskError]() [FunctionError]() [FunctionParsingError]() [HeaderError]() [IdError]() [ImageError]() [InternalError]() [ListOperationError]() [MediaBundleError]() [MediaFileError]() [MutateError]() [NewResourceCreationError]() [NotEmptyError]() [NullError]() [OperatorError]() [PolicyFindingError]() [PolicyViolationError]() [QuotaError]() [RangeError]() [RequestError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]() [UrlFieldError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.ads.mutate({ + * // Required. The ID of the customer whose ads are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "partialFailure": false, + * // "responseContentType": "my_responseContentType", + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "partialFailureError": {}, + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Ads$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Ads$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Ads$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Ads$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Ads$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Ads$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Ads$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Ads$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v23/customers/{+customerId}/ads:mutate').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Ads$Mutate extends StandardParameters { + /** + * Required. The ID of the customer whose ads are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateAdsRequest; + } + + export class Resource$Customers$Assetgroupassets { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates, updates or removes asset group assets. Operation statuses are returned. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.assetGroupAssets.mutate({ + * // Required. The ID of the customer whose asset group assets are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "partialFailure": false, + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "partialFailureError": {}, + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Assetgroupassets$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Assetgroupassets$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Assetgroupassets$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Assetgroupassets$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Assetgroupassets$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Assetgroupassets$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Assetgroupassets$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Assetgroupassets$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}/assetGroupAssets:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Assetgroupassets$Mutate extends StandardParameters { + /** + * Required. The ID of the customer whose asset group assets are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupAssetsRequest; + } + + export class Resource$Customers$Assetgrouplistinggroupfilters { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates, updates or removes asset group listing group filters. Operation statuses are returned. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.assetGroupListingGroupFilters.mutate( + * { + * // Required. The ID of the customer whose asset group listing group filters are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "responseContentType": "my_responseContentType", + * // "validateOnly": false + * // } + * }, + * }, + * ); + * console.log(res.data); + * + * // Example response + * // { + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Assetgrouplistinggroupfilters$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Assetgrouplistinggroupfilters$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Assetgrouplistinggroupfilters$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Assetgrouplistinggroupfilters$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Assetgrouplistinggroupfilters$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Assetgrouplistinggroupfilters$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Assetgrouplistinggroupfilters$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Customers$Assetgrouplistinggroupfilters$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v23/customers/{+customerId}/assetGroupListingGroupFilters:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Assetgrouplistinggroupfilters$Mutate extends StandardParameters { + /** + * Required. The ID of the customer whose asset group listing group filters are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupListingGroupFiltersRequest; + } + + export class Resource$Customers$Assetgroups { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates, updates or removes asset groups. Operation statuses are returned. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.assetGroups.mutate({ + * // Required. The ID of the customer whose asset groups are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "partialFailureError": {}, + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Assetgroups$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Assetgroups$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Assetgroups$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Assetgroups$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Assetgroups$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Assetgroups$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Assetgroups$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Assetgroups$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}/assetGroups:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Assetgroups$Mutate extends StandardParameters { + /** + * Required. The ID of the customer whose asset groups are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupsRequest; + } + + export class Resource$Customers$Assetgroupsignals { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates or removes asset group signals. Operation statuses are returned. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.assetGroupSignals.mutate({ + * // Required. The ID of the customer whose asset group signals are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "partialFailure": false, + * // "responseContentType": "my_responseContentType", + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "partialFailureError": {}, + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Assetgroupsignals$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Assetgroupsignals$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Assetgroupsignals$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Assetgroupsignals$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Assetgroupsignals$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Assetgroupsignals$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Assetgroupsignals$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Assetgroupsignals$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}/assetGroupSignals:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Assetgroupsignals$Mutate extends StandardParameters { + /** + * Required. The ID of the customer whose asset group signals are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateAssetGroupSignalsRequest; + } + + export class Resource$Customers$Assets { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates assets. Operation statuses are returned. List of thrown errors: [AssetError]() [AuthenticationError]() [AuthorizationError]() [CollectionSizeError]() [CurrencyCodeError]() [DatabaseError]() [DateError]() [DistinctError]() [FieldError]() [FieldMaskError]() [HeaderError]() [IdError]() [InternalError]() [ListOperationError]() [MediaUploadError]() [MutateError]() [NotAllowlistedError]() [NotEmptyError]() [OperatorError]() [QuotaError]() [RangeError]() [RequestError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]() [UrlFieldError]() [YoutubeVideoRegistrationError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.assets.mutate({ + * // Required. The ID of the customer whose assets are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "partialFailure": false, + * // "responseContentType": "my_responseContentType", + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "partialFailureError": {}, + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Assets$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Assets$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Assets$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Assets$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Assets$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Assets$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Assets$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Assets$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}/assets:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Assets$Mutate extends StandardParameters { + /** + * Required. The ID of the customer whose assets are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateAssetsRequest; + } + + export class Resource$Customers$Assetsetassets { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates, updates or removes asset set assets. Operation statuses are returned. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.assetSetAssets.mutate({ + * // Required. The ID of the customer whose asset set assets are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "partialFailure": false, + * // "responseContentType": "my_responseContentType", + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "partialFailureError": {}, + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Assetsetassets$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Assetsetassets$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Assetsetassets$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Assetsetassets$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Assetsetassets$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Assetsetassets$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Assetsetassets$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Assetsetassets$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}/assetSetAssets:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Assetsetassets$Mutate extends StandardParameters { + /** + * Required. The ID of the customer whose asset set assets are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateAssetSetAssetsRequest; + } + + export class Resource$Customers$Assetsets { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates, updates or removes asset sets. Operation statuses are returned. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.assetSets.mutate({ + * // Required. The ID of the customer whose asset sets are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "partialFailure": false, + * // "responseContentType": "my_responseContentType", + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "partialFailureError": {}, + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Assetsets$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Assetsets$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Assetsets$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Assetsets$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Assetsets$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Assetsets$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Assetsets$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Assetsets$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}/assetSets:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Assetsets$Mutate extends StandardParameters { + /** + * Required. The ID of the customer whose asset sets are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateAssetSetsRequest; + } + + export class Resource$Customers$Audiences { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates audiences. Operation statuses are returned. List of thrown errors: [AudienceError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.audiences.mutate({ + * // Required. The ID of the customer whose audiences are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "partialFailure": false, + * // "responseContentType": "my_responseContentType", + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "partialFailureError": {}, + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Audiences$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Audiences$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Audiences$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Audiences$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Audiences$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Audiences$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Audiences$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Audiences$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}/audiences:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Audiences$Mutate extends StandardParameters { + /** + * Required. The ID of the customer whose audiences are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateAudiencesRequest; + } + + export class Resource$Customers$Batchjobs { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Add operations to the batch job. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [BatchJobError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() [ResourceCountLimitExceededError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.batchJobs.addOperations({ + * // Required. The resource name of the batch job. + * resourceName: 'customers/my-customer/batchJobs/my-batchJob', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "mutateOperations": [], + * // "sequenceToken": "my_sequenceToken" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "nextSequenceToken": "my_nextSequenceToken", + * // "totalOperations": "my_totalOperations" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + addOperations( + params: Params$Resource$Customers$Batchjobs$Addoperations, + options: StreamMethodOptions + ): Promise>; + addOperations( + params?: Params$Resource$Customers$Batchjobs$Addoperations, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + addOperations( + params: Params$Resource$Customers$Batchjobs$Addoperations, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + addOperations( + params: Params$Resource$Customers$Batchjobs$Addoperations, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + addOperations( + params: Params$Resource$Customers$Batchjobs$Addoperations, + callback: BodyResponseCallback + ): void; + addOperations( + callback: BodyResponseCallback + ): void; + addOperations( + paramsOrCallback?: + | Params$Resource$Customers$Batchjobs$Addoperations + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Batchjobs$Addoperations; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Batchjobs$Addoperations; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v23/{+resourceName}:addOperations').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resourceName'], + pathParams: ['resourceName'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Returns the results of the batch job. The job must be done. Supports standard list paging. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [BatchJobError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.batchJobs.listResults({ + * pageSize: 'placeholder-value', + * // Token of the page to retrieve. If not specified, the first page of results will be returned. Use the value obtained from `next_page_token` in the previous response in order to request the next page of results. + * pageToken: 'placeholder-value', + * // Required. The resource name of the batch job whose results are being listed. + * resourceName: 'customers/my-customer/batchJobs/my-batchJob', + * // The response content type setting. Determines whether the mutable resource or just the resource name should be returned. + * responseContentType: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "nextPageToken": "my_nextPageToken", + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + listResults( + params: Params$Resource$Customers$Batchjobs$Listresults, + options: StreamMethodOptions + ): Promise>; + listResults( + params?: Params$Resource$Customers$Batchjobs$Listresults, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + listResults( + params: Params$Resource$Customers$Batchjobs$Listresults, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + listResults( + params: Params$Resource$Customers$Batchjobs$Listresults, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + listResults( + params: Params$Resource$Customers$Batchjobs$Listresults, + callback: BodyResponseCallback + ): void; + listResults( + callback: BodyResponseCallback + ): void; + listResults( + paramsOrCallback?: + | Params$Resource$Customers$Batchjobs$Listresults + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Batchjobs$Listresults; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Batchjobs$Listresults; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v23/{+resourceName}:listResults').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resourceName'], + pathParams: ['resourceName'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Mutates a batch job. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() [ResourceCountLimitExceededError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.batchJobs.mutate({ + * // Required. The ID of the customer for which to create a batch job. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operation": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "result": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Batchjobs$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Batchjobs$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Batchjobs$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Batchjobs$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Batchjobs$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Batchjobs$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Batchjobs$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Batchjobs$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}/batchJobs:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Runs the batch job. The Operation.metadata field type is BatchJobMetadata. When finished, the long running operation will not contain errors or a response. Instead, use ListBatchJobResults to get the results of the job. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [BatchJobError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.batchJobs.run({ + * // Required. The resource name of the BatchJob to run. + * resourceName: 'customers/my-customer/batchJobs/my-batchJob', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // {} + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + run( + params: Params$Resource$Customers$Batchjobs$Run, + options: StreamMethodOptions + ): Promise>; + run( + params?: Params$Resource$Customers$Batchjobs$Run, + options?: MethodOptions + ): Promise>; + run( + params: Params$Resource$Customers$Batchjobs$Run, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + run( + params: Params$Resource$Customers$Batchjobs$Run, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + run( + params: Params$Resource$Customers$Batchjobs$Run, + callback: BodyResponseCallback + ): void; + run( + callback: BodyResponseCallback + ): void; + run( + paramsOrCallback?: + | Params$Resource$Customers$Batchjobs$Run + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Batchjobs$Run; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Batchjobs$Run; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v23/{+resourceName}:run').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resourceName'], + pathParams: ['resourceName'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Batchjobs$Addoperations extends StandardParameters { + /** + * Required. The resource name of the batch job. + */ + resourceName?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__AddBatchJobOperationsRequest; + } + export interface Params$Resource$Customers$Batchjobs$Listresults extends StandardParameters { + /** + * + */ + pageSize?: number; + /** + * Token of the page to retrieve. If not specified, the first page of results will be returned. Use the value obtained from `next_page_token` in the previous response in order to request the next page of results. + */ + pageToken?: string; + /** + * Required. The resource name of the batch job whose results are being listed. + */ + resourceName?: string; + /** + * The response content type setting. Determines whether the mutable resource or just the resource name should be returned. + */ + responseContentType?: string; + } + export interface Params$Resource$Customers$Batchjobs$Mutate extends StandardParameters { + /** + * Required. The ID of the customer for which to create a batch job. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateBatchJobRequest; + } + export interface Params$Resource$Customers$Batchjobs$Run extends StandardParameters { + /** + * Required. The resource name of the BatchJob to run. + */ + resourceName?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__RunBatchJobRequest; + } + + export class Resource$Customers$Biddingdataexclusions { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates, updates, or removes data exclusions. Operation statuses are returned. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.biddingDataExclusions.mutate({ + * // Required. ID of the customer whose data exclusions are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "partialFailure": false, + * // "responseContentType": "my_responseContentType", + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "partialFailureError": {}, + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Biddingdataexclusions$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Biddingdataexclusions$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Biddingdataexclusions$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Biddingdataexclusions$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Biddingdataexclusions$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Biddingdataexclusions$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Biddingdataexclusions$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Biddingdataexclusions$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v23/customers/{+customerId}/biddingDataExclusions:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Biddingdataexclusions$Mutate extends StandardParameters { + /** + * Required. ID of the customer whose data exclusions are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateBiddingDataExclusionsRequest; + } + + export class Resource$Customers$Biddingseasonalityadjustments { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates, updates, or removes seasonality adjustments. Operation statuses are returned. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.biddingSeasonalityAdjustments.mutate( + * { + * // Required. ID of the customer whose seasonality adjustments are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "partialFailure": false, + * // "responseContentType": "my_responseContentType", + * // "validateOnly": false + * // } + * }, + * }, + * ); + * console.log(res.data); + * + * // Example response + * // { + * // "partialFailureError": {}, + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Biddingseasonalityadjustments$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Biddingseasonalityadjustments$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Biddingseasonalityadjustments$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Biddingseasonalityadjustments$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Biddingseasonalityadjustments$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Biddingseasonalityadjustments$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Biddingseasonalityadjustments$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Customers$Biddingseasonalityadjustments$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v23/customers/{+customerId}/biddingSeasonalityAdjustments:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Biddingseasonalityadjustments$Mutate extends StandardParameters { + /** + * Required. ID of the customer whose seasonality adjustments are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateBiddingSeasonalityAdjustmentsRequest; + } + + export class Resource$Customers$Biddingstrategies { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates, updates, or removes bidding strategies. Operation statuses are returned. List of thrown errors: [AdxError]() [AuthenticationError]() [AuthorizationError]() [BiddingError]() [BiddingStrategyError]() [ContextError]() [DatabaseError]() [DateError]() [DistinctError]() [FieldError]() [FieldMaskError]() [HeaderError]() [IdError]() [InternalError]() [MutateError]() [NewResourceCreationError]() [NotEmptyError]() [NullError]() [OperationAccessDeniedError]() [OperatorError]() [QuotaError]() [RangeError]() [RequestError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.biddingStrategies.mutate({ + * // Required. The ID of the customer whose bidding strategies are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "partialFailure": false, + * // "responseContentType": "my_responseContentType", + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "partialFailureError": {}, + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Biddingstrategies$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Biddingstrategies$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Biddingstrategies$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Biddingstrategies$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Biddingstrategies$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Biddingstrategies$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Biddingstrategies$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Biddingstrategies$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}/biddingStrategies:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Biddingstrategies$Mutate extends StandardParameters { + /** + * Required. The ID of the customer whose bidding strategies are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateBiddingStrategiesRequest; + } + + export class Resource$Customers$Billingsetups { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a billing setup, or cancels an existing billing setup. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [BillingSetupError]() [DateError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.billingSetups.mutate({ + * // Required. Id of the customer to apply the billing setup mutate operation to. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operation": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "result": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Billingsetups$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Billingsetups$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Billingsetups$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Billingsetups$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Billingsetups$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Billingsetups$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Billingsetups$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Billingsetups$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}/billingSetups:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Billingsetups$Mutate extends StandardParameters { + /** + * Required. Id of the customer to apply the billing setup mutate operation to. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateBillingSetupRequest; + } + + export class Resource$Customers$Campaignassets { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates or removes campaign assets. Operation statuses are returned. List of thrown errors: [AssetLinkError]() [AuthenticationError]() [AuthorizationError]() [ContextError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [NotAllowlistedError]() [QuotaError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.campaignAssets.mutate({ + * // Required. The ID of the customer whose campaign assets are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "partialFailure": false, + * // "responseContentType": "my_responseContentType", + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "partialFailureError": {}, + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Campaignassets$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Campaignassets$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Campaignassets$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Campaignassets$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Campaignassets$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Campaignassets$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Campaignassets$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Campaignassets$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}/campaignAssets:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Campaignassets$Mutate extends StandardParameters { + /** + * Required. The ID of the customer whose campaign assets are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignAssetsRequest; + } + + export class Resource$Customers$Campaignassetsets { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates, updates or removes campaign asset sets. Operation statuses are returned. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.campaignAssetSets.mutate({ + * // Required. The ID of the customer whose campaign asset sets are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "partialFailure": false, + * // "responseContentType": "my_responseContentType", + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "partialFailureError": {}, + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Campaignassetsets$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Campaignassetsets$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Campaignassetsets$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Campaignassetsets$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Campaignassetsets$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Campaignassetsets$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Campaignassetsets$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Campaignassetsets$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}/campaignAssetSets:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Campaignassetsets$Mutate extends StandardParameters { + /** + * Required. The ID of the customer whose campaign asset sets are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignAssetSetsRequest; + } + + export class Resource$Customers$Campaignbidmodifiers { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates, updates, or removes campaign bid modifiers. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ContextError]() [CriterionError]() [DatabaseError]() [DateError]() [DistinctError]() [FieldError]() [HeaderError]() [IdError]() [InternalError]() [MutateError]() [NewResourceCreationError]() [NotEmptyError]() [NullError]() [OperatorError]() [QuotaError]() [RangeError]() [RequestError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.campaignBidModifiers.mutate({ + * // Required. ID of the customer whose campaign bid modifiers are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "partialFailure": false, + * // "responseContentType": "my_responseContentType", + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "partialFailureError": {}, + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Campaignbidmodifiers$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Campaignbidmodifiers$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Campaignbidmodifiers$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Campaignbidmodifiers$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Campaignbidmodifiers$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Campaignbidmodifiers$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Campaignbidmodifiers$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Campaignbidmodifiers$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v23/customers/{+customerId}/campaignBidModifiers:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Campaignbidmodifiers$Mutate extends StandardParameters { + /** + * Required. ID of the customer whose campaign bid modifiers are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignBidModifiersRequest; + } + + export class Resource$Customers$Campaignbudgets { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates, updates, or removes campaign budgets. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CampaignBudgetError]() [DatabaseError]() [DistinctError]() [FieldError]() [FieldMaskError]() [HeaderError]() [InternalError]() [MutateError]() [NewResourceCreationError]() [OperationAccessDeniedError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]() [StringLengthError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.campaignBudgets.mutate({ + * // Required. The ID of the customer whose campaign budgets are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "partialFailure": false, + * // "responseContentType": "my_responseContentType", + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "partialFailureError": {}, + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Campaignbudgets$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Campaignbudgets$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Campaignbudgets$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Campaignbudgets$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Campaignbudgets$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Campaignbudgets$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Campaignbudgets$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Campaignbudgets$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}/campaignBudgets:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Campaignbudgets$Mutate extends StandardParameters { + /** + * Required. The ID of the customer whose campaign budgets are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignBudgetsRequest; + } + + export class Resource$Customers$Campaignconversiongoals { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates, updates or removes campaign conversion goals. Operation statuses are returned. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.campaignConversionGoals.mutate({ + * // Required. The ID of the customer whose campaign conversion goals are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Campaignconversiongoals$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Campaignconversiongoals$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Campaignconversiongoals$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Campaignconversiongoals$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Campaignconversiongoals$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Campaignconversiongoals$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Campaignconversiongoals$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Campaignconversiongoals$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v23/customers/{+customerId}/campaignConversionGoals:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Campaignconversiongoals$Mutate extends StandardParameters { + /** + * Required. The ID of the customer whose campaign conversion goals are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignConversionGoalsRequest; + } + + export class Resource$Customers$Campaigncriteria { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates, updates, or removes criteria. Operation statuses are returned. List of thrown errors: [AdxError]() [AuthenticationError]() [AuthorizationError]() [CampaignCriterionError]() [CollectionSizeError]() [ContextError]() [CriterionError]() [DatabaseError]() [DistinctError]() [FieldError]() [FieldMaskError]() [FunctionError]() [HeaderError]() [IdError]() [InternalError]() [MutateError]() [NewResourceCreationError]() [NotEmptyError]() [NullError]() [OperationAccessDeniedError]() [OperatorError]() [QuotaError]() [RangeError]() [RegionCodeError]() [RequestError]() [ResourceCountLimitExceededError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.campaignCriteria.mutate({ + * // Required. The ID of the customer whose criteria are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "partialFailure": false, + * // "responseContentType": "my_responseContentType", + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "partialFailureError": {}, + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Campaigncriteria$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Campaigncriteria$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Campaigncriteria$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Campaigncriteria$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Campaigncriteria$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Campaigncriteria$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Campaigncriteria$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Campaigncriteria$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}/campaignCriteria:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Campaigncriteria$Mutate extends StandardParameters { + /** + * Required. The ID of the customer whose criteria are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignCriteriaRequest; + } + + export class Resource$Customers$Campaigncustomizers { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates, updates or removes campaign customizers. Operation statuses are returned. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.campaignCustomizers.mutate({ + * // Required. The ID of the customer whose campaign customizers are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "partialFailure": false, + * // "responseContentType": "my_responseContentType", + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "partialFailureError": {}, + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Campaigncustomizers$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Campaigncustomizers$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Campaigncustomizers$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Campaigncustomizers$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Campaigncustomizers$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Campaigncustomizers$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Campaigncustomizers$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Campaigncustomizers$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v23/customers/{+customerId}/campaignCustomizers:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Campaigncustomizers$Mutate extends StandardParameters { + /** + * Required. The ID of the customer whose campaign customizers are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignCustomizersRequest; + } + + export class Resource$Customers$Campaigndrafts { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Returns all errors that occurred during CampaignDraft promote. Throws an error if called before campaign draft is promoted. Supports standard list paging. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.campaignDrafts.listAsyncErrors({ + * // Number of elements to retrieve in a single page. When a page request is too large, the server may decide to further limit the number of returned resources. + * pageSize: 'placeholder-value', + * // Token of the page to retrieve. If not specified, the first page of results will be returned. Use the value obtained from `next_page_token` in the previous response in order to request the next page of results. + * pageToken: 'placeholder-value', + * // Required. The name of the campaign draft from which to retrieve the async errors. + * resourceName: 'customers/my-customer/campaignDrafts/my-campaignDraft', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "errors": [], + * // "nextPageToken": "my_nextPageToken" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + listAsyncErrors( + params: Params$Resource$Customers$Campaigndrafts$Listasyncerrors, + options: StreamMethodOptions + ): Promise>; + listAsyncErrors( + params?: Params$Resource$Customers$Campaigndrafts$Listasyncerrors, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + listAsyncErrors( + params: Params$Resource$Customers$Campaigndrafts$Listasyncerrors, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + listAsyncErrors( + params: Params$Resource$Customers$Campaigndrafts$Listasyncerrors, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + listAsyncErrors( + params: Params$Resource$Customers$Campaigndrafts$Listasyncerrors, + callback: BodyResponseCallback + ): void; + listAsyncErrors( + callback: BodyResponseCallback + ): void; + listAsyncErrors( + paramsOrCallback?: + | Params$Resource$Customers$Campaigndrafts$Listasyncerrors + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Campaigndrafts$Listasyncerrors; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Campaigndrafts$Listasyncerrors; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v23/{+resourceName}:listAsyncErrors').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resourceName'], + pathParams: ['resourceName'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Creates, updates, or removes campaign drafts. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CampaignDraftError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.campaignDrafts.mutate({ + * // Required. The ID of the customer whose campaign drafts are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "partialFailure": false, + * // "responseContentType": "my_responseContentType", + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "partialFailureError": {}, + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Campaigndrafts$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Campaigndrafts$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Campaigndrafts$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Campaigndrafts$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Campaigndrafts$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Campaigndrafts$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Campaigndrafts$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Campaigndrafts$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}/campaignDrafts:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Promotes the changes in a draft back to the base campaign. This method returns a Long Running Operation (LRO) indicating if the Promote is done. Use google.longrunning.Operations.GetOperation to poll the LRO until it is done. Only a done status is returned in the response. See the status in the Campaign Draft resource to determine if the promotion was successful. If the LRO failed, use CampaignDraftService.ListCampaignDraftAsyncErrors to view the list of error reasons. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CampaignDraftError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.campaignDrafts.promote({ + * // Required. The resource name of the campaign draft to promote. + * campaignDraft: 'customers/my-customer/campaignDrafts/my-campaignDraft', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + promote( + params: Params$Resource$Customers$Campaigndrafts$Promote, + options: StreamMethodOptions + ): Promise>; + promote( + params?: Params$Resource$Customers$Campaigndrafts$Promote, + options?: MethodOptions + ): Promise>; + promote( + params: Params$Resource$Customers$Campaigndrafts$Promote, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + promote( + params: Params$Resource$Customers$Campaigndrafts$Promote, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + promote( + params: Params$Resource$Customers$Campaigndrafts$Promote, + callback: BodyResponseCallback + ): void; + promote( + callback: BodyResponseCallback + ): void; + promote( + paramsOrCallback?: + | Params$Resource$Customers$Campaigndrafts$Promote + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Campaigndrafts$Promote; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Campaigndrafts$Promote; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v23/{+campaignDraft}:promote').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['campaignDraft'], + pathParams: ['campaignDraft'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Campaigndrafts$Listasyncerrors extends StandardParameters { + /** + * Number of elements to retrieve in a single page. When a page request is too large, the server may decide to further limit the number of returned resources. + */ + pageSize?: number; + /** + * Token of the page to retrieve. If not specified, the first page of results will be returned. Use the value obtained from `next_page_token` in the previous response in order to request the next page of results. + */ + pageToken?: string; + /** + * Required. The name of the campaign draft from which to retrieve the async errors. + */ + resourceName?: string; + } + export interface Params$Resource$Customers$Campaigndrafts$Mutate extends StandardParameters { + /** + * Required. The ID of the customer whose campaign drafts are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignDraftsRequest; + } + export interface Params$Resource$Customers$Campaigndrafts$Promote extends StandardParameters { + /** + * Required. The resource name of the campaign draft to promote. + */ + campaignDraft?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__PromoteCampaignDraftRequest; + } + + export class Resource$Customers$Campaigngoalconfigs { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Create or update campaign goal configs. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() [CampaignGoalConfigError]() [GoalServicesError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.CampaignGoalConfigs.mutate({ + * // Required. The ID of the customer whose campaign goal configs are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "partialFailure": false, + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "partialFailureError": {}, + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Campaigngoalconfigs$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Campaigngoalconfigs$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Campaigngoalconfigs$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Campaigngoalconfigs$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Campaigngoalconfigs$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Campaigngoalconfigs$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Campaigngoalconfigs$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Campaigngoalconfigs$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v23/customers/{+customerId}/CampaignGoalConfigs:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Campaigngoalconfigs$Mutate extends StandardParameters { + /** + * Required. The ID of the customer whose campaign goal configs are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignGoalConfigsRequest; + } + + export class Resource$Customers$Campaigngroups { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates, updates, or removes campaign groups. Operation statuses are returned. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.campaignGroups.mutate({ + * // Required. The ID of the customer whose campaign groups are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "partialFailure": false, + * // "responseContentType": "my_responseContentType", + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "partialFailureError": {}, + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Campaigngroups$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Campaigngroups$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Campaigngroups$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Campaigngroups$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Campaigngroups$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Campaigngroups$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Campaigngroups$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Campaigngroups$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}/campaignGroups:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Campaigngroups$Mutate extends StandardParameters { + /** + * Required. The ID of the customer whose campaign groups are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignGroupsRequest; + } + + export class Resource$Customers$Campaignlabels { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates and removes campaign-label relationships. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [LabelError]() [MutateError]() [NewResourceCreationError]() [QuotaError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.campaignLabels.mutate({ + * // Required. ID of the customer whose campaign-label relationships are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "partialFailure": false, + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "partialFailureError": {}, + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Campaignlabels$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Campaignlabels$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Campaignlabels$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Campaignlabels$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Campaignlabels$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Campaignlabels$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Campaignlabels$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Campaignlabels$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}/campaignLabels:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Campaignlabels$Mutate extends StandardParameters { + /** + * Required. ID of the customer whose campaign-label relationships are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignLabelsRequest; + } + + export class Resource$Customers$Campaignlifecyclegoal { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Process the given campaign lifecycle configurations. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CampaignLifecycleGoalConfigError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await searchads360.customers.campaignLifecycleGoal.configureCampaignLifecycleGoals( + * { + * // Required. The ID of the customer performing the upload. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operation": {}, + * // "validateOnly": false + * // } + * }, + * }, + * ); + * console.log(res.data); + * + * // Example response + * // { + * // "result": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + configureCampaignLifecycleGoals( + params: Params$Resource$Customers$Campaignlifecyclegoal$Configurecampaignlifecyclegoals, + options: StreamMethodOptions + ): Promise>; + configureCampaignLifecycleGoals( + params?: Params$Resource$Customers$Campaignlifecyclegoal$Configurecampaignlifecyclegoals, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + configureCampaignLifecycleGoals( + params: Params$Resource$Customers$Campaignlifecyclegoal$Configurecampaignlifecyclegoals, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + configureCampaignLifecycleGoals( + params: Params$Resource$Customers$Campaignlifecyclegoal$Configurecampaignlifecyclegoals, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + configureCampaignLifecycleGoals( + params: Params$Resource$Customers$Campaignlifecyclegoal$Configurecampaignlifecyclegoals, + callback: BodyResponseCallback + ): void; + configureCampaignLifecycleGoals( + callback: BodyResponseCallback + ): void; + configureCampaignLifecycleGoals( + paramsOrCallback?: + | Params$Resource$Customers$Campaignlifecyclegoal$Configurecampaignlifecyclegoals + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Campaignlifecyclegoal$Configurecampaignlifecyclegoals; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Customers$Campaignlifecyclegoal$Configurecampaignlifecyclegoals; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v23/customers/{+customerId}/campaignLifecycleGoal:configureCampaignLifecycleGoals' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Campaignlifecyclegoal$Configurecampaignlifecyclegoals extends StandardParameters { + /** + * Required. The ID of the customer performing the upload. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__ConfigureCampaignLifecycleGoalsRequest; + } + + export class Resource$Customers$Campaigns { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Enables Brand Guidelines for Performance Max campaigns. List of thrown errors: [AuthenticationError]() [AssetError]() [AssetLinkError]() [AuthorizationError]() [BrandGuidelinesMigrationError]() [CampaignError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]() [ResourceCountLimitExceededError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.campaigns.enablePMaxBrandGuidelines({ + * // Required. The ID of the customer whose campaigns are being enabled. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [] + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + enablePMaxBrandGuidelines( + params: Params$Resource$Customers$Campaigns$Enablepmaxbrandguidelines, + options: StreamMethodOptions + ): Promise>; + enablePMaxBrandGuidelines( + params?: Params$Resource$Customers$Campaigns$Enablepmaxbrandguidelines, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + enablePMaxBrandGuidelines( + params: Params$Resource$Customers$Campaigns$Enablepmaxbrandguidelines, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + enablePMaxBrandGuidelines( + params: Params$Resource$Customers$Campaigns$Enablepmaxbrandguidelines, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + enablePMaxBrandGuidelines( + params: Params$Resource$Customers$Campaigns$Enablepmaxbrandguidelines, + callback: BodyResponseCallback + ): void; + enablePMaxBrandGuidelines( + callback: BodyResponseCallback + ): void; + enablePMaxBrandGuidelines( + paramsOrCallback?: + | Params$Resource$Customers$Campaigns$Enablepmaxbrandguidelines + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Campaigns$Enablepmaxbrandguidelines; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Customers$Campaigns$Enablepmaxbrandguidelines; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v23/customers/{+customerId}/campaigns:enablePMaxBrandGuidelines' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Creates, updates, or removes campaigns. Operation statuses are returned. List of thrown errors: [AdxError]() [AuthenticationError]() [AuthorizationError]() [BiddingError]() [BiddingStrategyError]() [CampaignBudgetError]() [CampaignError]() [ContextError]() [DatabaseError]() [DateError]() [DateRangeError]() [DistinctError]() [FieldError]() [FieldMaskError]() [HeaderError]() [IdError]() [InternalError]() [ListOperationError]() [MutateError]() [NewResourceCreationError]() [NotAllowlistedError]() [NotEmptyError]() [NullError]() [OperationAccessDeniedError]() [OperatorError]() [QuotaError]() [RangeError]() [RegionCodeError]() [RequestError]() [ResourceCountLimitExceededError]() [SettingError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]() [UrlFieldError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.campaigns.mutate({ + * // Required. The ID of the customer whose campaigns are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "partialFailure": false, + * // "responseContentType": "my_responseContentType", + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "partialFailureError": {}, + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Campaigns$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Campaigns$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Campaigns$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Campaigns$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Campaigns$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Campaigns$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Campaigns$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Campaigns$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}/campaigns:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Campaigns$Enablepmaxbrandguidelines extends StandardParameters { + /** + * Required. The ID of the customer whose campaigns are being enabled. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__EnablePMaxBrandGuidelinesRequest; + } + export interface Params$Resource$Customers$Campaigns$Mutate extends StandardParameters { + /** + * Required. The ID of the customer whose campaigns are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignsRequest; + } + + export class Resource$Customers$Campaignsharedsets { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates or removes campaign shared sets. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CampaignSharedSetError]() [ContextError]() [DatabaseError]() [DateError]() [DistinctError]() [FieldError]() [HeaderError]() [IdError]() [InternalError]() [MutateError]() [NewResourceCreationError]() [NotEmptyError]() [NullError]() [OperatorError]() [QuotaError]() [RangeError]() [RequestError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.campaignSharedSets.mutate({ + * // Required. The ID of the customer whose campaign shared sets are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "partialFailure": false, + * // "responseContentType": "my_responseContentType", + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "partialFailureError": {}, + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Campaignsharedsets$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Campaignsharedsets$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Campaignsharedsets$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Campaignsharedsets$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Campaignsharedsets$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Campaignsharedsets$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Campaignsharedsets$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Campaignsharedsets$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}/campaignSharedSets:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Campaignsharedsets$Mutate extends StandardParameters { + /** + * Required. The ID of the customer whose campaign shared sets are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateCampaignSharedSetsRequest; + } + + export class Resource$Customers$Conversionactions { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates, updates or removes conversion actions. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ConversionActionError]() [CurrencyCodeError]() [DatabaseError]() [FieldError]() [FieldMaskError]() [HeaderError]() [InternalError]() [MutateError]() [NewResourceCreationError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]() [StringLengthError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.conversionActions.mutate({ + * // Required. The ID of the customer whose conversion actions are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "partialFailure": false, + * // "responseContentType": "my_responseContentType", + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "partialFailureError": {}, + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Conversionactions$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Conversionactions$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Conversionactions$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Conversionactions$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Conversionactions$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Conversionactions$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Conversionactions$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Conversionactions$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}/conversionActions:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Conversionactions$Mutate extends StandardParameters { + /** + * Required. The ID of the customer whose conversion actions are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateConversionActionsRequest; + } + + export class Resource$Customers$Conversioncustomvariables { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates or updates conversion custom variables. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ConversionCustomVariableError]() [DatabaseError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.conversionCustomVariables.mutate({ + * // Required. The ID of the customer whose conversion custom variables are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "partialFailure": false, + * // "responseContentType": "my_responseContentType", + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "partialFailureError": {}, + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Conversioncustomvariables$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Conversioncustomvariables$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Conversioncustomvariables$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Conversioncustomvariables$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Conversioncustomvariables$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Conversioncustomvariables$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Conversioncustomvariables$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Customers$Conversioncustomvariables$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v23/customers/{+customerId}/conversionCustomVariables:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Conversioncustomvariables$Mutate extends StandardParameters { + /** + * Required. The ID of the customer whose conversion custom variables are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateConversionCustomVariablesRequest; + } + + export class Resource$Customers$Conversiongoalcampaignconfigs { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates, updates or removes conversion goal campaign config. Operation statuses are returned. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.conversionGoalCampaignConfigs.mutate( + * { + * // Required. The ID of the customer whose custom conversion goals are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "responseContentType": "my_responseContentType", + * // "validateOnly": false + * // } + * }, + * }, + * ); + * console.log(res.data); + * + * // Example response + * // { + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Conversiongoalcampaignconfigs$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Conversiongoalcampaignconfigs$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Conversiongoalcampaignconfigs$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Conversiongoalcampaignconfigs$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Conversiongoalcampaignconfigs$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Conversiongoalcampaignconfigs$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Conversiongoalcampaignconfigs$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Customers$Conversiongoalcampaignconfigs$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v23/customers/{+customerId}/conversionGoalCampaignConfigs:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Conversiongoalcampaignconfigs$Mutate extends StandardParameters { + /** + * Required. The ID of the customer whose custom conversion goals are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateConversionGoalCampaignConfigsRequest; + } + + export class Resource$Customers$Conversionvaluerules { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates, updates, or removes conversion value rules. Operation statuses are returned. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.conversionValueRules.mutate({ + * // Required. The ID of the customer whose conversion value rules are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "partialFailure": false, + * // "responseContentType": "my_responseContentType", + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "partialFailureError": {}, + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Conversionvaluerules$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Conversionvaluerules$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Conversionvaluerules$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Conversionvaluerules$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Conversionvaluerules$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Conversionvaluerules$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Conversionvaluerules$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Conversionvaluerules$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v23/customers/{+customerId}/conversionValueRules:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Conversionvaluerules$Mutate extends StandardParameters { + /** + * Required. The ID of the customer whose conversion value rules are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateConversionValueRulesRequest; + } + + export class Resource$Customers$Conversionvaluerulesets { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates, updates or removes conversion value rule sets. Operation statuses are returned. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.conversionValueRuleSets.mutate({ + * // Required. The ID of the customer whose conversion value rule sets are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "partialFailure": false, + * // "responseContentType": "my_responseContentType", + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "partialFailureError": {}, + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Conversionvaluerulesets$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Conversionvaluerulesets$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Conversionvaluerulesets$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Conversionvaluerulesets$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Conversionvaluerulesets$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Conversionvaluerulesets$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Conversionvaluerulesets$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Conversionvaluerulesets$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v23/customers/{+customerId}/conversionValueRuleSets:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Conversionvaluerulesets$Mutate extends StandardParameters { + /** + * Required. The ID of the customer whose conversion value rule sets are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateConversionValueRuleSetsRequest; + } + + export class Resource$Customers$Customaudiences { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates or updates custom audiences. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CustomAudienceError]() [CustomInterestError]() [FieldError]() [FieldMaskError]() [HeaderError]() [InternalError]() [MutateError]() [OperationAccessDeniedError]() [PolicyViolationError]() [QuotaError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.customAudiences.mutate({ + * // Required. The ID of the customer whose custom audiences are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Customaudiences$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Customaudiences$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Customaudiences$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Customaudiences$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Customaudiences$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Customaudiences$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Customaudiences$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Customaudiences$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}/customAudiences:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Customaudiences$Mutate extends StandardParameters { + /** + * Required. The ID of the customer whose custom audiences are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateCustomAudiencesRequest; + } + + export class Resource$Customers$Customcolumns { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Returns the requested custom column in full detail. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.customColumns.get({ + * // Required. The resource name of the custom column to fetch. + * resourceName: 'customers/my-customer/customColumns/my-customColumn', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "description": "my_description", + * // "id": "my_id", + * // "name": "my_name", + * // "queryable": false, + * // "referencedSystemColumns": [], + * // "referencesAttributes": false, + * // "referencesMetrics": false, + * // "renderType": "my_renderType", + * // "resourceName": "my_resourceName", + * // "valueType": "my_valueType" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Customers$Customcolumns$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Customers$Customcolumns$Get, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + get( + params: Params$Resource$Customers$Customcolumns$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Customers$Customcolumns$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Customers$Customcolumns$Get, + callback: BodyResponseCallback + ): void; + get( + callback: BodyResponseCallback + ): void; + get( + paramsOrCallback?: + | Params$Resource$Customers$Customcolumns$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Customcolumns$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Customcolumns$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v23/{+resourceName}').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resourceName'], + pathParams: ['resourceName'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Returns all the custom columns associated with the customer in full detail. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.customColumns.list({ + * // Required. The ID of the customer to apply the CustomColumn list operation to. + * customerId: '[^/]+', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "customColumns": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Customers$Customcolumns$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Customers$Customcolumns$List, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + list( + params: Params$Resource$Customers$Customcolumns$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Customers$Customcolumns$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Customers$Customcolumns$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Customers$Customcolumns$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Customcolumns$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Customcolumns$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}/customColumns' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Customcolumns$Get extends StandardParameters { + /** + * Required. The resource name of the custom column to fetch. + */ + resourceName?: string; + } + export interface Params$Resource$Customers$Customcolumns$List extends StandardParameters { + /** + * Required. The ID of the customer to apply the CustomColumn list operation to. + */ + customerId?: string; + } + + export class Resource$Customers$Customconversiongoals { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates, updates or removes custom conversion goals. Operation statuses are returned. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.customConversionGoals.mutate({ + * // Required. The ID of the customer whose custom conversion goals are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "responseContentType": "my_responseContentType", + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Customconversiongoals$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Customconversiongoals$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Customconversiongoals$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Customconversiongoals$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Customconversiongoals$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Customconversiongoals$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Customconversiongoals$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Customconversiongoals$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v23/customers/{+customerId}/customConversionGoals:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Customconversiongoals$Mutate extends StandardParameters { + /** + * Required. The ID of the customer whose custom conversion goals are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateCustomConversionGoalsRequest; + } + + export class Resource$Customers$Customerassets { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates, updates, or removes customer assets. Operation statuses are returned. List of thrown errors: [AssetLinkError]() [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.customerAssets.mutate({ + * // Required. The ID of the customer whose customer assets are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "partialFailure": false, + * // "responseContentType": "my_responseContentType", + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "partialFailureError": {}, + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Customerassets$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Customerassets$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Customerassets$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Customerassets$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Customerassets$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Customerassets$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Customerassets$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Customerassets$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}/customerAssets:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Customerassets$Mutate extends StandardParameters { + /** + * Required. The ID of the customer whose customer assets are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateCustomerAssetsRequest; + } + + export class Resource$Customers$Customerassetsets { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates, or removes customer asset sets. Operation statuses are returned. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.customerAssetSets.mutate({ + * // Required. The ID of the customer whose customer asset sets are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "partialFailure": false, + * // "responseContentType": "my_responseContentType", + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "partialFailureError": {}, + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Customerassetsets$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Customerassetsets$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Customerassetsets$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Customerassetsets$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Customerassetsets$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Customerassetsets$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Customerassetsets$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Customerassetsets$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}/customerAssetSets:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Customerassetsets$Mutate extends StandardParameters { + /** + * Required. The ID of the customer whose customer asset sets are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateCustomerAssetSetsRequest; + } + + export class Resource$Customers$Customerclientlinks { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates or updates a customer client link. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [FieldMaskError]() [HeaderError]() [InternalError]() [ManagerLinkError]() [MutateError]() [NewResourceCreationError]() [QuotaError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.customerClientLinks.mutate({ + * // Required. The ID of the customer whose customer link are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operation": {}, + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "result": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Customerclientlinks$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Customerclientlinks$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Customerclientlinks$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Customerclientlinks$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Customerclientlinks$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Customerclientlinks$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Customerclientlinks$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Customerclientlinks$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v23/customers/{+customerId}/customerClientLinks:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Customerclientlinks$Mutate extends StandardParameters { + /** + * Required. The ID of the customer whose customer link are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateCustomerClientLinkRequest; + } + + export class Resource$Customers$Customerconversiongoals { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates, updates or removes customer conversion goals. Operation statuses are returned. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.customerConversionGoals.mutate({ + * // Required. The ID of the customer whose customer conversion goals are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Customerconversiongoals$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Customerconversiongoals$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Customerconversiongoals$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Customerconversiongoals$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Customerconversiongoals$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Customerconversiongoals$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Customerconversiongoals$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Customerconversiongoals$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v23/customers/{+customerId}/customerConversionGoals:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Customerconversiongoals$Mutate extends StandardParameters { + /** + * Required. The ID of the customer whose customer conversion goals are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateCustomerConversionGoalsRequest; + } + + export class Resource$Customers$Customercustomizers { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates, updates or removes customer customizers. Operation statuses are returned. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.CustomerCustomizers.mutate({ + * // Required. The ID of the customer whose customer customizers are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "partialFailure": false, + * // "responseContentType": "my_responseContentType", + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "partialFailureError": {}, + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Customercustomizers$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Customercustomizers$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Customercustomizers$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Customercustomizers$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Customercustomizers$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Customercustomizers$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Customercustomizers$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Customercustomizers$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v23/customers/{+customerId}/CustomerCustomizers:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Customercustomizers$Mutate extends StandardParameters { + /** + * Required. The ID of the customer whose customer customizers are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateCustomerCustomizersRequest; + } + + export class Resource$Customers$Customerlabels { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates and removes customer-label relationships. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [HeaderError]() [InternalError]() [LabelError]() [MutateError]() [QuotaError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.customerLabels.mutate({ + * // Required. ID of the customer whose customer-label relationships are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "partialFailure": false, + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "partialFailureError": {}, + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Customerlabels$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Customerlabels$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Customerlabels$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Customerlabels$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Customerlabels$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Customerlabels$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Customerlabels$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Customerlabels$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}/customerLabels:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Customerlabels$Mutate extends StandardParameters { + /** + * Required. ID of the customer whose customer-label relationships are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateCustomerLabelsRequest; + } + + export class Resource$Customers$Customerlifecyclegoal { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Process the given customer lifecycle configurations. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CustomerLifecycleGoalConfigError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await searchads360.customers.customerLifecycleGoal.configureCustomerLifecycleGoals( + * { + * // Required. The ID of the customer performing the upload. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operation": {}, + * // "validateOnly": false + * // } + * }, + * }, + * ); + * console.log(res.data); + * + * // Example response + * // { + * // "result": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + configureCustomerLifecycleGoals( + params: Params$Resource$Customers$Customerlifecyclegoal$Configurecustomerlifecyclegoals, + options: StreamMethodOptions + ): Promise>; + configureCustomerLifecycleGoals( + params?: Params$Resource$Customers$Customerlifecyclegoal$Configurecustomerlifecyclegoals, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + configureCustomerLifecycleGoals( + params: Params$Resource$Customers$Customerlifecyclegoal$Configurecustomerlifecyclegoals, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + configureCustomerLifecycleGoals( + params: Params$Resource$Customers$Customerlifecyclegoal$Configurecustomerlifecyclegoals, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + configureCustomerLifecycleGoals( + params: Params$Resource$Customers$Customerlifecyclegoal$Configurecustomerlifecyclegoals, + callback: BodyResponseCallback + ): void; + configureCustomerLifecycleGoals( + callback: BodyResponseCallback + ): void; + configureCustomerLifecycleGoals( + paramsOrCallback?: + | Params$Resource$Customers$Customerlifecyclegoal$Configurecustomerlifecyclegoals + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Customerlifecyclegoal$Configurecustomerlifecyclegoals; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Customers$Customerlifecyclegoal$Configurecustomerlifecyclegoals; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v23/customers/{+customerId}/customerLifecycleGoal:configureCustomerLifecycleGoals' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Customerlifecyclegoal$Configurecustomerlifecyclegoals extends StandardParameters { + /** + * Required. The ID of the customer performing the upload. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__ConfigureCustomerLifecycleGoalsRequest; + } + + export class Resource$Customers$Customermanagerlinks { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Moves a client customer to a new manager customer. This simplifies the complex request that requires two operations to move a client customer to a new manager, for example: 1. Update operation with Status INACTIVE (previous manager) and, 2. Update operation with Status ACTIVE (new manager). List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.customerManagerLinks.moveManagerLink( + * { + * // Required. The ID of the client customer that is being moved. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "newManager": "my_newManager", + * // "previousCustomerManagerLink": "my_previousCustomerManagerLink", + * // "validateOnly": false + * // } + * }, + * }, + * ); + * console.log(res.data); + * + * // Example response + * // { + * // "resourceName": "my_resourceName" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + moveManagerLink( + params: Params$Resource$Customers$Customermanagerlinks$Movemanagerlink, + options: StreamMethodOptions + ): Promise>; + moveManagerLink( + params?: Params$Resource$Customers$Customermanagerlinks$Movemanagerlink, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + moveManagerLink( + params: Params$Resource$Customers$Customermanagerlinks$Movemanagerlink, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + moveManagerLink( + params: Params$Resource$Customers$Customermanagerlinks$Movemanagerlink, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + moveManagerLink( + params: Params$Resource$Customers$Customermanagerlinks$Movemanagerlink, + callback: BodyResponseCallback + ): void; + moveManagerLink( + callback: BodyResponseCallback + ): void; + moveManagerLink( + paramsOrCallback?: + | Params$Resource$Customers$Customermanagerlinks$Movemanagerlink + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Customermanagerlinks$Movemanagerlink; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Customers$Customermanagerlinks$Movemanagerlink; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v23/customers/{+customerId}/customerManagerLinks:moveManagerLink' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Updates customer manager links. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [FieldMaskError]() [HeaderError]() [InternalError]() [ManagerLinkError]() [MutateError]() [QuotaError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.customerManagerLinks.mutate({ + * // Required. The ID of the customer whose customer manager links are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Customermanagerlinks$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Customermanagerlinks$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Customermanagerlinks$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Customermanagerlinks$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Customermanagerlinks$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Customermanagerlinks$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Customermanagerlinks$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Customermanagerlinks$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v23/customers/{+customerId}/customerManagerLinks:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Customermanagerlinks$Movemanagerlink extends StandardParameters { + /** + * Required. The ID of the client customer that is being moved. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MoveManagerLinkRequest; + } + export interface Params$Resource$Customers$Customermanagerlinks$Mutate extends StandardParameters { + /** + * Required. The ID of the customer whose customer manager links are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateCustomerManagerLinkRequest; + } + + export class Resource$Customers$Customernegativecriteria { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates or removes criteria. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CriterionError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.customerNegativeCriteria.mutate({ + * // Required. The ID of the customer whose criteria are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "partialFailure": false, + * // "responseContentType": "my_responseContentType", + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "partialFailureError": {}, + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Customernegativecriteria$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Customernegativecriteria$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Customernegativecriteria$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Customernegativecriteria$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Customernegativecriteria$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Customernegativecriteria$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Customernegativecriteria$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Customers$Customernegativecriteria$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v23/customers/{+customerId}/customerNegativeCriteria:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Customernegativecriteria$Mutate extends StandardParameters { + /** + * Required. The ID of the customer whose criteria are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateCustomerNegativeCriteriaRequest; + } + + export class Resource$Customers$Customerskadnetworkconversionvalueschemas { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates or updates the CustomerSkAdNetworkConversionValueSchema. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [InternalError]() [MutateError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await searchads360.customers.customerSkAdNetworkConversionValueSchemas.mutate( + * { + * // The ID of the customer whose shared sets are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "enableWarnings": false, + * // "operation": {}, + * // "validateOnly": false + * // } + * }, + * }, + * ); + * console.log(res.data); + * + * // Example response + * // { + * // "result": {}, + * // "warning": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Customerskadnetworkconversionvalueschemas$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Customerskadnetworkconversionvalueschemas$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Customerskadnetworkconversionvalueschemas$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Customerskadnetworkconversionvalueschemas$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Customerskadnetworkconversionvalueschemas$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Customerskadnetworkconversionvalueschemas$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Customerskadnetworkconversionvalueschemas$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Customers$Customerskadnetworkconversionvalueschemas$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v23/customers/{+customerId}/customerSkAdNetworkConversionValueSchemas:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Customerskadnetworkconversionvalueschemas$Mutate extends StandardParameters { + /** + * The ID of the customer whose shared sets are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateCustomerSkAdNetworkConversionValueSchemaRequest; + } + + export class Resource$Customers$Customeruseraccesses { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Updates, removes permission of a user on a given customer. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CustomerUserAccessError]() [FieldMaskError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.customerUserAccesses.mutate({ + * // Required. The ID of the customer being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operation": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "result": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Customeruseraccesses$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Customeruseraccesses$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Customeruseraccesses$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Customeruseraccesses$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Customeruseraccesses$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Customeruseraccesses$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Customeruseraccesses$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Customeruseraccesses$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v23/customers/{+customerId}/customerUserAccesses:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Customeruseraccesses$Mutate extends StandardParameters { + /** + * Required. The ID of the customer being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateCustomerUserAccessRequest; + } + + export class Resource$Customers$Customeruseraccessinvitations { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates or removes an access invitation. List of thrown errors: [AccessInvitationError]() [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.customerUserAccessInvitations.mutate( + * { + * // Required. The ID of the customer whose access invitation is being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operation": {} + * // } + * }, + * }, + * ); + * console.log(res.data); + * + * // Example response + * // { + * // "result": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Customeruseraccessinvitations$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Customeruseraccessinvitations$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Customeruseraccessinvitations$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Customeruseraccessinvitations$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Customeruseraccessinvitations$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Customeruseraccessinvitations$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Customeruseraccessinvitations$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Customers$Customeruseraccessinvitations$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v23/customers/{+customerId}/customerUserAccessInvitations:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Customeruseraccessinvitations$Mutate extends StandardParameters { + /** + * Required. The ID of the customer whose access invitation is being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateCustomerUserAccessInvitationRequest; + } + + export class Resource$Customers$Custominterests { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates or updates custom interests. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CriterionError]() [CustomInterestError]() [HeaderError]() [InternalError]() [MutateError]() [PolicyViolationError]() [QuotaError]() [RequestError]() [StringLengthError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.customInterests.mutate({ + * // Required. The ID of the customer whose custom interests are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Custominterests$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Custominterests$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Custominterests$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Custominterests$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Custominterests$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Custominterests$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Custominterests$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Custominterests$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}/customInterests:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Custominterests$Mutate extends StandardParameters { + /** + * Required. The ID of the customer whose custom interests are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateCustomInterestsRequest; + } + + export class Resource$Customers$Customizerattributes { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates, updates or removes customizer attributes. Operation statuses are returned. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.customizerAttributes.mutate({ + * // Required. The ID of the customer whose customizer attributes are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "partialFailure": false, + * // "responseContentType": "my_responseContentType", + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "partialFailureError": {}, + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Customizerattributes$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Customizerattributes$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Customizerattributes$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Customizerattributes$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Customizerattributes$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Customizerattributes$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Customizerattributes$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Customizerattributes$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v23/customers/{+customerId}/customizerAttributes:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Customizerattributes$Mutate extends StandardParameters { + /** + * Required. The ID of the customer whose customizer attributes are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateCustomizerAttributesRequest; + } + + export class Resource$Customers$Datalinks { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a data link. The requesting Google Ads account name and account ID will be shared with the third party (such as YouTube creators for video links) to whom you are creating the link with. Only customers on the allow-list can create data links. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [DataLinkError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.dataLinks.create({ + * // Required. The ID of the customer for which the data link is created. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "dataLink": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "resourceName": "my_resourceName" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Customers$Datalinks$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Customers$Datalinks$Create, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + create( + params: Params$Resource$Customers$Datalinks$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Customers$Datalinks$Create, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Customers$Datalinks$Create, + callback: BodyResponseCallback + ): void; + create( + callback: BodyResponseCallback + ): void; + create( + paramsOrCallback?: + | Params$Resource$Customers$Datalinks$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Datalinks$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Datalinks$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}/dataLinks:create' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Remove a data link. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [DataLinkError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.dataLinks.remove({ + * // Required. The ID of the customer for which the data link is updated. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "resourceName": "my_resourceName" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "resourceName": "my_resourceName" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + remove( + params: Params$Resource$Customers$Datalinks$Remove, + options: StreamMethodOptions + ): Promise>; + remove( + params?: Params$Resource$Customers$Datalinks$Remove, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + remove( + params: Params$Resource$Customers$Datalinks$Remove, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + remove( + params: Params$Resource$Customers$Datalinks$Remove, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + remove( + params: Params$Resource$Customers$Datalinks$Remove, + callback: BodyResponseCallback + ): void; + remove( + callback: BodyResponseCallback + ): void; + remove( + paramsOrCallback?: + | Params$Resource$Customers$Datalinks$Remove + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Datalinks$Remove; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Datalinks$Remove; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}/dataLinks:remove' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Update a data link. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [DataLinkError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.dataLinks.update({ + * // Required. The ID of the customer for which the data link is created. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "dataLinkStatus": "my_dataLinkStatus", + * // "resourceName": "my_resourceName" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "resourceName": "my_resourceName" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + update( + params: Params$Resource$Customers$Datalinks$Update, + options: StreamMethodOptions + ): Promise>; + update( + params?: Params$Resource$Customers$Datalinks$Update, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + update( + params: Params$Resource$Customers$Datalinks$Update, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + update( + params: Params$Resource$Customers$Datalinks$Update, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + update( + params: Params$Resource$Customers$Datalinks$Update, + callback: BodyResponseCallback + ): void; + update( + callback: BodyResponseCallback + ): void; + update( + paramsOrCallback?: + | Params$Resource$Customers$Datalinks$Update + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Datalinks$Update; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Datalinks$Update; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}/dataLinks:update' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Datalinks$Create extends StandardParameters { + /** + * Required. The ID of the customer for which the data link is created. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__CreateDataLinkRequest; + } + export interface Params$Resource$Customers$Datalinks$Remove extends StandardParameters { + /** + * Required. The ID of the customer for which the data link is updated. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__RemoveDataLinkRequest; + } + export interface Params$Resource$Customers$Datalinks$Update extends StandardParameters { + /** + * Required. The ID of the customer for which the data link is created. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__UpdateDataLinkRequest; + } + + export class Resource$Customers$Experimentarms { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates, updates, or removes experiment arms. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ExperimentArmError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.experimentArms.mutate({ + * // Required. The ID of the customer whose experiments are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "partialFailure": false, + * // "responseContentType": "my_responseContentType", + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "partialFailureError": {}, + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Experimentarms$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Experimentarms$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Experimentarms$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Experimentarms$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Experimentarms$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Experimentarms$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Experimentarms$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Experimentarms$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}/experimentArms:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Experimentarms$Mutate extends StandardParameters { + /** + * Required. The ID of the customer whose experiments are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateExperimentArmsRequest; + } + + export class Resource$Customers$Experiments { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Immediately ends an experiment, changing the experiment's scheduled end date and without waiting for end of day. End date is updated to be the time of the request. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ExperimentError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.experiments.endExperiment({ + * // Required. The resource name of the campaign experiment to end. + * experiment: 'customers/my-customer/experiments/my-experiment', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // {} + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + endExperiment( + params: Params$Resource$Customers$Experiments$Endexperiment, + options: StreamMethodOptions + ): Promise>; + endExperiment( + params?: Params$Resource$Customers$Experiments$Endexperiment, + options?: MethodOptions + ): Promise>; + endExperiment( + params: Params$Resource$Customers$Experiments$Endexperiment, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + endExperiment( + params: Params$Resource$Customers$Experiments$Endexperiment, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + endExperiment( + params: Params$Resource$Customers$Experiments$Endexperiment, + callback: BodyResponseCallback + ): void; + endExperiment( + callback: BodyResponseCallback + ): void; + endExperiment( + paramsOrCallback?: + | Params$Resource$Customers$Experiments$Endexperiment + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Experiments$Endexperiment; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Experiments$Endexperiment; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v23/{+experiment}:endExperiment').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['experiment'], + pathParams: ['experiment'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Graduates an experiment to a full campaign. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ExperimentError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.experiments.graduateExperiment({ + * // Required. The experiment to be graduated. + * experiment: 'customers/my-customer/experiments/my-experiment', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "campaignBudgetMappings": [], + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // {} + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + graduateExperiment( + params: Params$Resource$Customers$Experiments$Graduateexperiment, + options: StreamMethodOptions + ): Promise>; + graduateExperiment( + params?: Params$Resource$Customers$Experiments$Graduateexperiment, + options?: MethodOptions + ): Promise>; + graduateExperiment( + params: Params$Resource$Customers$Experiments$Graduateexperiment, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + graduateExperiment( + params: Params$Resource$Customers$Experiments$Graduateexperiment, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + graduateExperiment( + params: Params$Resource$Customers$Experiments$Graduateexperiment, + callback: BodyResponseCallback + ): void; + graduateExperiment( + callback: BodyResponseCallback + ): void; + graduateExperiment( + paramsOrCallback?: + | Params$Resource$Customers$Experiments$Graduateexperiment + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Experiments$Graduateexperiment; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Experiments$Graduateexperiment; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v23/{+experiment}:graduateExperiment').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['experiment'], + pathParams: ['experiment'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Returns all errors that occurred during the last Experiment update (either scheduling or promotion). Supports standard list paging. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await searchads360.customers.experiments.listExperimentAsyncErrors({ + * // Number of elements to retrieve in a single page. When a page request is too large, the server may decide to further limit the number of returned resources. The maximum page size is 1000. + * pageSize: 'placeholder-value', + * // Token of the page to retrieve. If not specified, the first page of results will be returned. Use the value obtained from `next_page_token` in the previous response in order to request the next page of results. + * pageToken: 'placeholder-value', + * // Required. The name of the experiment from which to retrieve the async errors. + * resourceName: 'customers/my-customer/experiments/my-experiment', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "errors": [], + * // "nextPageToken": "my_nextPageToken" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + listExperimentAsyncErrors( + params: Params$Resource$Customers$Experiments$Listexperimentasyncerrors, + options: StreamMethodOptions + ): Promise>; + listExperimentAsyncErrors( + params?: Params$Resource$Customers$Experiments$Listexperimentasyncerrors, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + listExperimentAsyncErrors( + params: Params$Resource$Customers$Experiments$Listexperimentasyncerrors, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + listExperimentAsyncErrors( + params: Params$Resource$Customers$Experiments$Listexperimentasyncerrors, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + listExperimentAsyncErrors( + params: Params$Resource$Customers$Experiments$Listexperimentasyncerrors, + callback: BodyResponseCallback + ): void; + listExperimentAsyncErrors( + callback: BodyResponseCallback + ): void; + listExperimentAsyncErrors( + paramsOrCallback?: + | Params$Resource$Customers$Experiments$Listexperimentasyncerrors + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Experiments$Listexperimentasyncerrors; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Customers$Experiments$Listexperimentasyncerrors; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/{+resourceName}:listExperimentAsyncErrors' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resourceName'], + pathParams: ['resourceName'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Creates, updates, or removes experiments. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ExperimentError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.experiments.mutate({ + * // Required. The ID of the customer whose experiments are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "partialFailure": false, + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "partialFailureError": {}, + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Experiments$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Experiments$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Experiments$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Experiments$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Experiments$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Experiments$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Experiments$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Experiments$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}/experiments:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Promotes the trial campaign thus applying changes in the trial campaign to the base campaign. This method returns a long running operation that tracks the promotion of the experiment campaign. If it fails, a list of errors can be retrieved using the ListExperimentAsyncErrors method. The operation's metadata will be a string containing the resource name of the created experiment. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ExperimentError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.experiments.promoteExperiment({ + * // Required. The resource name of the experiment to promote. + * resourceName: 'customers/my-customer/experiments/my-experiment', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + promoteExperiment( + params: Params$Resource$Customers$Experiments$Promoteexperiment, + options: StreamMethodOptions + ): Promise>; + promoteExperiment( + params?: Params$Resource$Customers$Experiments$Promoteexperiment, + options?: MethodOptions + ): Promise>; + promoteExperiment( + params: Params$Resource$Customers$Experiments$Promoteexperiment, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + promoteExperiment( + params: Params$Resource$Customers$Experiments$Promoteexperiment, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + promoteExperiment( + params: Params$Resource$Customers$Experiments$Promoteexperiment, + callback: BodyResponseCallback + ): void; + promoteExperiment( + callback: BodyResponseCallback + ): void; + promoteExperiment( + paramsOrCallback?: + | Params$Resource$Customers$Experiments$Promoteexperiment + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Experiments$Promoteexperiment; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Experiments$Promoteexperiment; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v23/{+resourceName}:promoteExperiment').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resourceName'], + pathParams: ['resourceName'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Schedule an experiment. The in design campaign will be converted into a real campaign (called the experiment campaign) that will begin serving ads if successfully created. The experiment is scheduled immediately with status INITIALIZING. This method returns a long running operation that tracks the forking of the in design campaign. If the forking fails, a list of errors can be retrieved using the ListExperimentAsyncErrors method. The operation's metadata will be a string containing the resource name of the created experiment. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ExperimentError]() [DatabaseError]() [DateError]() [DateRangeError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.experiments.scheduleExperiment({ + * // Required. The scheduled experiment. + * resourceName: 'customers/my-customer/experiments/my-experiment', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + scheduleExperiment( + params: Params$Resource$Customers$Experiments$Scheduleexperiment, + options: StreamMethodOptions + ): Promise>; + scheduleExperiment( + params?: Params$Resource$Customers$Experiments$Scheduleexperiment, + options?: MethodOptions + ): Promise>; + scheduleExperiment( + params: Params$Resource$Customers$Experiments$Scheduleexperiment, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + scheduleExperiment( + params: Params$Resource$Customers$Experiments$Scheduleexperiment, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + scheduleExperiment( + params: Params$Resource$Customers$Experiments$Scheduleexperiment, + callback: BodyResponseCallback + ): void; + scheduleExperiment( + callback: BodyResponseCallback + ): void; + scheduleExperiment( + paramsOrCallback?: + | Params$Resource$Customers$Experiments$Scheduleexperiment + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Experiments$Scheduleexperiment; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Experiments$Scheduleexperiment; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v23/{+resourceName}:scheduleExperiment').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resourceName'], + pathParams: ['resourceName'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Experiments$Endexperiment extends StandardParameters { + /** + * Required. The resource name of the campaign experiment to end. + */ + experiment?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__EndExperimentRequest; + } + export interface Params$Resource$Customers$Experiments$Graduateexperiment extends StandardParameters { + /** + * Required. The experiment to be graduated. + */ + experiment?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__GraduateExperimentRequest; + } + export interface Params$Resource$Customers$Experiments$Listexperimentasyncerrors extends StandardParameters { + /** + * Number of elements to retrieve in a single page. When a page request is too large, the server may decide to further limit the number of returned resources. The maximum page size is 1000. + */ + pageSize?: number; + /** + * Token of the page to retrieve. If not specified, the first page of results will be returned. Use the value obtained from `next_page_token` in the previous response in order to request the next page of results. + */ + pageToken?: string; + /** + * Required. The name of the experiment from which to retrieve the async errors. + */ + resourceName?: string; + } + export interface Params$Resource$Customers$Experiments$Mutate extends StandardParameters { + /** + * Required. The ID of the customer whose experiments are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateExperimentsRequest; + } + export interface Params$Resource$Customers$Experiments$Promoteexperiment extends StandardParameters { + /** + * Required. The resource name of the experiment to promote. + */ + resourceName?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__PromoteExperimentRequest; + } + export interface Params$Resource$Customers$Experiments$Scheduleexperiment extends StandardParameters { + /** + * Required. The scheduled experiment. + */ + resourceName?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__ScheduleExperimentRequest; + } + + export class Resource$Customers$Goals { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Create or update goals. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() [GoalError]() [GoalServicesError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.Goals.mutate({ + * // Required. The ID of the customer whose goals are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "partialFailure": false, + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "partialFailureError": {}, + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Goals$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Goals$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Goals$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Goals$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Goals$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Goals$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Goals$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Goals$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}/Goals:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Goals$Mutate extends StandardParameters { + /** + * Required. The ID of the customer whose goals are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateGoalsRequest; + } + + export class Resource$Customers$Incentives { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Applies the incentive for the ads customer. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.incentives.applyIncentive({ + * // The customer ID of the account that the incentive is being applied to. + * customerId: '[^/]+', + * // The incentive ID of this incentive. This is used to identify which incentive is selected by the user in the CYO flow. + * selectedIncentiveId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "countryCode": "my_countryCode" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "couponCode": "my_couponCode", + * // "creationTime": "my_creationTime" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + applyIncentive( + params: Params$Resource$Customers$Incentives$Applyincentive, + options: StreamMethodOptions + ): Promise>; + applyIncentive( + params?: Params$Resource$Customers$Incentives$Applyincentive, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + applyIncentive( + params: Params$Resource$Customers$Incentives$Applyincentive, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + applyIncentive( + params: Params$Resource$Customers$Incentives$Applyincentive, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + applyIncentive( + params: Params$Resource$Customers$Incentives$Applyincentive, + callback: BodyResponseCallback + ): void; + applyIncentive( + callback: BodyResponseCallback + ): void; + applyIncentive( + paramsOrCallback?: + | Params$Resource$Customers$Incentives$Applyincentive + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Incentives$Applyincentive; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Incentives$Applyincentive; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v23/customers/{+customerId}/incentives/{+selectedIncentiveId}:applyIncentive' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId', 'selectedIncentiveId'], + pathParams: ['customerId', 'selectedIncentiveId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Incentives$Applyincentive extends StandardParameters { + /** + * The customer ID of the account that the incentive is being applied to. + */ + customerId?: string; + /** + * The incentive ID of this incentive. This is used to identify which incentive is selected by the user in the CYO flow. + */ + selectedIncentiveId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__ApplyIncentiveRequest; + } + + export class Resource$Customers$Invoices { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Returns all invoices associated with a billing setup, for a given month. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [InvoiceError]() [QuotaError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.invoices.list({ + * // Required. The billing setup resource name of the requested invoices. `customers/{customer_id\}/billingSetups/{billing_setup_id\}` + * billingSetup: 'placeholder-value', + * // Required. The ID of the customer to fetch invoices for. + * customerId: '[^/]+', + * // Optional. When true, the response will include more granular level invoice details such as campaign level cost breakdown, itemized regulatory costs and adjustments. The default value is false. + * includeGranularLevelInvoiceDetails: 'placeholder-value', + * // Required. The issue month to retrieve invoices. + * issueMonth: 'placeholder-value', + * // Required. The issue year to retrieve invoices, in yyyy format. Only invoices issued in 2019 or later can be retrieved. + * issueYear: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "invoices": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Customers$Invoices$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Customers$Invoices$List, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + list( + params: Params$Resource$Customers$Invoices$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Customers$Invoices$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Customers$Invoices$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Customers$Invoices$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Invoices$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Invoices$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v23/customers/{+customerId}/invoices').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Invoices$List extends StandardParameters { + /** + * Required. The billing setup resource name of the requested invoices. `customers/{customer_id\}/billingSetups/{billing_setup_id\}` + */ + billingSetup?: string; + /** + * Required. The ID of the customer to fetch invoices for. + */ + customerId?: string; + /** + * Optional. When true, the response will include more granular level invoice details such as campaign level cost breakdown, itemized regulatory costs and adjustments. The default value is false. + */ + includeGranularLevelInvoiceDetails?: boolean; + /** + * Required. The issue month to retrieve invoices. + */ + issueMonth?: string; + /** + * Required. The issue year to retrieve invoices, in yyyy format. Only invoices issued in 2019 or later can be retrieved. + */ + issueYear?: string; + } + + export class Resource$Customers$Keywordplanadgroupkeywords { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates, updates, or removes Keyword Plan ad group keywords. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [KeywordPlanAdGroupKeywordError]() [KeywordPlanError]() [MutateError]() [QuotaError]() [RequestError]() [ResourceCountLimitExceededError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.keywordPlanAdGroupKeywords.mutate({ + * // Required. The ID of the customer whose Keyword Plan ad group keywords are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "partialFailure": false, + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "partialFailureError": {}, + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Keywordplanadgroupkeywords$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Keywordplanadgroupkeywords$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Keywordplanadgroupkeywords$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Keywordplanadgroupkeywords$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Keywordplanadgroupkeywords$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Keywordplanadgroupkeywords$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Keywordplanadgroupkeywords$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Customers$Keywordplanadgroupkeywords$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v23/customers/{+customerId}/keywordPlanAdGroupKeywords:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Keywordplanadgroupkeywords$Mutate extends StandardParameters { + /** + * Required. The ID of the customer whose Keyword Plan ad group keywords are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupKeywordsRequest; + } + + export class Resource$Customers$Keywordplanadgroups { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates, updates, or removes Keyword Plan ad groups. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [FieldMaskError]() [HeaderError]() [InternalError]() [KeywordPlanAdGroupError]() [KeywordPlanError]() [MutateError]() [NewResourceCreationError]() [QuotaError]() [RequestError]() [ResourceCountLimitExceededError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.keywordPlanAdGroups.mutate({ + * // Required. The ID of the customer whose Keyword Plan ad groups are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "partialFailure": false, + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "partialFailureError": {}, + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Keywordplanadgroups$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Keywordplanadgroups$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Keywordplanadgroups$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Keywordplanadgroups$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Keywordplanadgroups$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Keywordplanadgroups$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Keywordplanadgroups$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Keywordplanadgroups$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v23/customers/{+customerId}/keywordPlanAdGroups:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Keywordplanadgroups$Mutate extends StandardParameters { + /** + * Required. The ID of the customer whose Keyword Plan ad groups are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanAdGroupsRequest; + } + + export class Resource$Customers$Keywordplancampaignkeywords { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates, updates, or removes Keyword Plan campaign keywords. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [KeywordPlanAdGroupKeywordError]() [KeywordPlanCampaignKeywordError]() [QuotaError]() [RequestError]() [ResourceCountLimitExceededError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.keywordPlanCampaignKeywords.mutate({ + * // Required. The ID of the customer whose campaign keywords are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "partialFailure": false, + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "partialFailureError": {}, + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Keywordplancampaignkeywords$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Keywordplancampaignkeywords$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Keywordplancampaignkeywords$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Keywordplancampaignkeywords$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Keywordplancampaignkeywords$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Keywordplancampaignkeywords$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Keywordplancampaignkeywords$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Customers$Keywordplancampaignkeywords$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v23/customers/{+customerId}/keywordPlanCampaignKeywords:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Keywordplancampaignkeywords$Mutate extends StandardParameters { + /** + * Required. The ID of the customer whose campaign keywords are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignKeywordsRequest; + } + + export class Resource$Customers$Keywordplancampaigns { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates, updates, or removes Keyword Plan campaigns. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [FieldMaskError]() [HeaderError]() [InternalError]() [KeywordPlanCampaignError]() [KeywordPlanError]() [ListOperationError]() [MutateError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.keywordPlanCampaigns.mutate({ + * // Required. The ID of the customer whose Keyword Plan campaigns are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "partialFailure": false, + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "partialFailureError": {}, + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Keywordplancampaigns$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Keywordplancampaigns$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Keywordplancampaigns$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Keywordplancampaigns$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Keywordplancampaigns$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Keywordplancampaigns$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Keywordplancampaigns$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Keywordplancampaigns$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v23/customers/{+customerId}/keywordPlanCampaigns:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Keywordplancampaigns$Mutate extends StandardParameters { + /** + * Required. The ID of the customer whose Keyword Plan campaigns are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlanCampaignsRequest; + } + + export class Resource$Customers$Keywordplans { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates, updates, or removes keyword plans. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [KeywordPlanError]() [MutateError]() [NewResourceCreationError]() [QuotaError]() [RequestError]() [ResourceCountLimitExceededError]() [StringLengthError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.keywordPlans.mutate({ + * // Required. The ID of the customer whose keyword plans are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "partialFailure": false, + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "partialFailureError": {}, + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Keywordplans$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Keywordplans$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Keywordplans$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Keywordplans$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Keywordplans$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Keywordplans$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Keywordplans$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Keywordplans$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}/keywordPlans:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Keywordplans$Mutate extends StandardParameters { + /** + * Required. The ID of the customer whose keyword plans are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateKeywordPlansRequest; + } + + export class Resource$Customers$Labels { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates, updates, or removes labels. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [DateError]() [DistinctError]() [FieldError]() [FieldMaskError]() [HeaderError]() [IdError]() [InternalError]() [LabelError]() [MutateError]() [NewResourceCreationError]() [NotEmptyError]() [NullError]() [OperatorError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.labels.mutate({ + * // Required. ID of the customer whose labels are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "partialFailure": false, + * // "responseContentType": "my_responseContentType", + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "partialFailureError": {}, + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Labels$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Labels$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Labels$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Labels$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Labels$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Labels$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Labels$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Labels$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}/labels:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Labels$Mutate extends StandardParameters { + /** + * Required. ID of the customer whose labels are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateLabelsRequest; + } + + export class Resource$Customers$Localservices { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * RPC to append Local Services Lead Conversation resources to Local Services Lead resources. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.localServices.appendLeadConversation( + * { + * // Required. The Id of the customer which owns the leads onto which the conversations will be appended. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "conversations": [] + * // } + * }, + * }, + * ); + * console.log(res.data); + * + * // Example response + * // { + * // "responses": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + appendLeadConversation( + params: Params$Resource$Customers$Localservices$Appendleadconversation, + options: StreamMethodOptions + ): Promise>; + appendLeadConversation( + params?: Params$Resource$Customers$Localservices$Appendleadconversation, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + appendLeadConversation( + params: Params$Resource$Customers$Localservices$Appendleadconversation, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + appendLeadConversation( + params: Params$Resource$Customers$Localservices$Appendleadconversation, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + appendLeadConversation( + params: Params$Resource$Customers$Localservices$Appendleadconversation, + callback: BodyResponseCallback + ): void; + appendLeadConversation( + callback: BodyResponseCallback + ): void; + appendLeadConversation( + paramsOrCallback?: + | Params$Resource$Customers$Localservices$Appendleadconversation + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Localservices$Appendleadconversation; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Customers$Localservices$Appendleadconversation; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v23/customers/{+customerId}/localServices:appendLeadConversation' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Localservices$Appendleadconversation extends StandardParameters { + /** + * Required. The Id of the customer which owns the leads onto which the conversations will be appended. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__AppendLeadConversationRequest; + } + + export class Resource$Customers$Localservicesleads { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * RPC to provide feedback on Local Services Lead resources. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await searchads360.customers.localServicesLeads.provideLeadFeedback({ + * // Required. The resource name of the local services lead that for which the feedback is being provided. + * resourceName: + * 'customers/my-customer/localServicesLeads/my-localServicesLead', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "surveyAnswer": "my_surveyAnswer", + * // "surveyDissatisfied": {}, + * // "surveySatisfied": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "creditIssuanceDecision": "my_creditIssuanceDecision" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + provideLeadFeedback( + params: Params$Resource$Customers$Localservicesleads$Provideleadfeedback, + options: StreamMethodOptions + ): Promise>; + provideLeadFeedback( + params?: Params$Resource$Customers$Localservicesleads$Provideleadfeedback, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + provideLeadFeedback( + params: Params$Resource$Customers$Localservicesleads$Provideleadfeedback, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + provideLeadFeedback( + params: Params$Resource$Customers$Localservicesleads$Provideleadfeedback, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + provideLeadFeedback( + params: Params$Resource$Customers$Localservicesleads$Provideleadfeedback, + callback: BodyResponseCallback + ): void; + provideLeadFeedback( + callback: BodyResponseCallback + ): void; + provideLeadFeedback( + paramsOrCallback?: + | Params$Resource$Customers$Localservicesleads$Provideleadfeedback + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Localservicesleads$Provideleadfeedback; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Customers$Localservicesleads$Provideleadfeedback; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v23/{+resourceName}:provideLeadFeedback').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resourceName'], + pathParams: ['resourceName'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Localservicesleads$Provideleadfeedback extends StandardParameters { + /** + * Required. The resource name of the local services lead that for which the feedback is being provided. + */ + resourceName?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__ProvideLeadFeedbackRequest; + } + + export class Resource$Customers$Offlineuserdatajobs { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Adds operations to the offline user data job. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [OfflineUserDataJobError]() [QuotaError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.offlineUserDataJobs.addOperations({ + * // Required. The resource name of the OfflineUserDataJob. + * resourceName: + * 'customers/my-customer/offlineUserDataJobs/my-offlineUserDataJob', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "enablePartialFailure": false, + * // "enableWarnings": false, + * // "operations": [], + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "partialFailureError": {}, + * // "warning": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + addOperations( + params: Params$Resource$Customers$Offlineuserdatajobs$Addoperations, + options: StreamMethodOptions + ): Promise>; + addOperations( + params?: Params$Resource$Customers$Offlineuserdatajobs$Addoperations, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + addOperations( + params: Params$Resource$Customers$Offlineuserdatajobs$Addoperations, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + addOperations( + params: Params$Resource$Customers$Offlineuserdatajobs$Addoperations, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + addOperations( + params: Params$Resource$Customers$Offlineuserdatajobs$Addoperations, + callback: BodyResponseCallback + ): void; + addOperations( + callback: BodyResponseCallback + ): void; + addOperations( + paramsOrCallback?: + | Params$Resource$Customers$Offlineuserdatajobs$Addoperations + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Offlineuserdatajobs$Addoperations; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Customers$Offlineuserdatajobs$Addoperations; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v23/{+resourceName}:addOperations').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resourceName'], + pathParams: ['resourceName'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Creates an offline user data job. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [NotAllowlistedError]() [OfflineUserDataJobError]() [QuotaError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.offlineUserDataJobs.create({ + * // Required. The ID of the customer for which to create an offline user data job. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "enableMatchRateRangePreview": false, + * // "job": {}, + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "resourceName": "my_resourceName" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Customers$Offlineuserdatajobs$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Customers$Offlineuserdatajobs$Create, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + create( + params: Params$Resource$Customers$Offlineuserdatajobs$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Customers$Offlineuserdatajobs$Create, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Customers$Offlineuserdatajobs$Create, + callback: BodyResponseCallback + ): void; + create( + callback: BodyResponseCallback + ): void; + create( + paramsOrCallback?: + | Params$Resource$Customers$Offlineuserdatajobs$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Offlineuserdatajobs$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Offlineuserdatajobs$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v23/customers/{+customerId}/offlineUserDataJobs:create' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Runs the offline user data job. When finished, the long running operation will contain the processing result or failure information, if any. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [HeaderError]() [InternalError]() [OfflineUserDataJobError]() [QuotaError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.offlineUserDataJobs.run({ + * // Required. The resource name of the OfflineUserDataJob to run. + * resourceName: + * 'customers/my-customer/offlineUserDataJobs/my-offlineUserDataJob', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "done": false, + * // "error": {}, + * // "metadata": {}, + * // "name": "my_name", + * // "response": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + run( + params: Params$Resource$Customers$Offlineuserdatajobs$Run, + options: StreamMethodOptions + ): Promise>; + run( + params?: Params$Resource$Customers$Offlineuserdatajobs$Run, + options?: MethodOptions + ): Promise>; + run( + params: Params$Resource$Customers$Offlineuserdatajobs$Run, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + run( + params: Params$Resource$Customers$Offlineuserdatajobs$Run, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + run( + params: Params$Resource$Customers$Offlineuserdatajobs$Run, + callback: BodyResponseCallback + ): void; + run( + callback: BodyResponseCallback + ): void; + run( + paramsOrCallback?: + | Params$Resource$Customers$Offlineuserdatajobs$Run + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise> + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Offlineuserdatajobs$Run; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Offlineuserdatajobs$Run; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v23/{+resourceName}:run').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resourceName'], + pathParams: ['resourceName'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Offlineuserdatajobs$Addoperations extends StandardParameters { + /** + * Required. The resource name of the OfflineUserDataJob. + */ + resourceName?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__AddOfflineUserDataJobOperationsRequest; + } + export interface Params$Resource$Customers$Offlineuserdatajobs$Create extends StandardParameters { + /** + * Required. The ID of the customer for which to create an offline user data job. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__CreateOfflineUserDataJobRequest; + } + export interface Params$Resource$Customers$Offlineuserdatajobs$Run extends StandardParameters { + /** + * Required. The resource name of the OfflineUserDataJob to run. + */ + resourceName?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__RunOfflineUserDataJobRequest; + } + + export class Resource$Customers$Paymentsaccounts { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Returns all payments accounts associated with all managers between the login customer ID and specified serving customer in the hierarchy, inclusive. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [PaymentsAccountError]() [QuotaError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.paymentsAccounts.list({ + * // Required. The ID of the customer to apply the PaymentsAccount list operation to. + * customerId: '[^/]+', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "paymentsAccounts": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Customers$Paymentsaccounts$List, + options: StreamMethodOptions + ): Promise>; + list( + params?: Params$Resource$Customers$Paymentsaccounts$List, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + list( + params: Params$Resource$Customers$Paymentsaccounts$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Customers$Paymentsaccounts$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Customers$Paymentsaccounts$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Customers$Paymentsaccounts$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Paymentsaccounts$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Paymentsaccounts$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}/paymentsAccounts' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Paymentsaccounts$List extends StandardParameters { + /** + * Required. The ID of the customer to apply the PaymentsAccount list operation to. + */ + customerId?: string; + } + + export class Resource$Customers$Productlinkinvitations { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a product link invitation. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.productLinkInvitations.create({ + * // Required. The ID of the customer being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "productLinkInvitation": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "resourceName": "my_resourceName" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Customers$Productlinkinvitations$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Customers$Productlinkinvitations$Create, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + create( + params: Params$Resource$Customers$Productlinkinvitations$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Customers$Productlinkinvitations$Create, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Customers$Productlinkinvitations$Create, + callback: BodyResponseCallback + ): void; + create( + callback: BodyResponseCallback + ): void; + create( + paramsOrCallback?: + | Params$Resource$Customers$Productlinkinvitations$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Productlinkinvitations$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Productlinkinvitations$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v23/customers/{+customerId}/productLinkInvitations:create' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Remove a product link invitation. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.productLinkInvitations.remove({ + * // Required. The ID of the product link invitation being removed. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "resourceName": "my_resourceName" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "resourceName": "my_resourceName" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + remove( + params: Params$Resource$Customers$Productlinkinvitations$Remove, + options: StreamMethodOptions + ): Promise>; + remove( + params?: Params$Resource$Customers$Productlinkinvitations$Remove, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + remove( + params: Params$Resource$Customers$Productlinkinvitations$Remove, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + remove( + params: Params$Resource$Customers$Productlinkinvitations$Remove, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + remove( + params: Params$Resource$Customers$Productlinkinvitations$Remove, + callback: BodyResponseCallback + ): void; + remove( + callback: BodyResponseCallback + ): void; + remove( + paramsOrCallback?: + | Params$Resource$Customers$Productlinkinvitations$Remove + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Productlinkinvitations$Remove; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Productlinkinvitations$Remove; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v23/customers/{+customerId}/productLinkInvitations:remove' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Update a product link invitation. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.productLinkInvitations.update({ + * // Required. The ID of the customer being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "productLinkInvitationStatus": "my_productLinkInvitationStatus", + * // "resourceName": "my_resourceName" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "resourceName": "my_resourceName" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + update( + params: Params$Resource$Customers$Productlinkinvitations$Update, + options: StreamMethodOptions + ): Promise>; + update( + params?: Params$Resource$Customers$Productlinkinvitations$Update, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + update( + params: Params$Resource$Customers$Productlinkinvitations$Update, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + update( + params: Params$Resource$Customers$Productlinkinvitations$Update, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + update( + params: Params$Resource$Customers$Productlinkinvitations$Update, + callback: BodyResponseCallback + ): void; + update( + callback: BodyResponseCallback + ): void; + update( + paramsOrCallback?: + | Params$Resource$Customers$Productlinkinvitations$Update + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Productlinkinvitations$Update; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Productlinkinvitations$Update; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v23/customers/{+customerId}/productLinkInvitations:update' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Productlinkinvitations$Create extends StandardParameters { + /** + * Required. The ID of the customer being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__CreateProductLinkInvitationRequest; + } + export interface Params$Resource$Customers$Productlinkinvitations$Remove extends StandardParameters { + /** + * Required. The ID of the product link invitation being removed. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__RemoveProductLinkInvitationRequest; + } + export interface Params$Resource$Customers$Productlinkinvitations$Update extends StandardParameters { + /** + * Required. The ID of the customer being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__UpdateProductLinkInvitationRequest; + } + + export class Resource$Customers$Productlinks { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a product link. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.productLinks.create({ + * // Required. The ID of the customer for which the product link is created. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "productLink": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "resourceName": "my_resourceName" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Customers$Productlinks$Create, + options: StreamMethodOptions + ): Promise>; + create( + params?: Params$Resource$Customers$Productlinks$Create, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + create( + params: Params$Resource$Customers$Productlinks$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Customers$Productlinks$Create, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Customers$Productlinks$Create, + callback: BodyResponseCallback + ): void; + create( + callback: BodyResponseCallback + ): void; + create( + paramsOrCallback?: + | Params$Resource$Customers$Productlinks$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Productlinks$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Productlinks$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}/productLinks:create' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Removes a product link. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldMaskError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.productLinks.remove({ + * // Required. The ID of the customer being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "resourceName": "my_resourceName", + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "resourceName": "my_resourceName" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + remove( + params: Params$Resource$Customers$Productlinks$Remove, + options: StreamMethodOptions + ): Promise>; + remove( + params?: Params$Resource$Customers$Productlinks$Remove, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + remove( + params: Params$Resource$Customers$Productlinks$Remove, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + remove( + params: Params$Resource$Customers$Productlinks$Remove, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + remove( + params: Params$Resource$Customers$Productlinks$Remove, + callback: BodyResponseCallback + ): void; + remove( + callback: BodyResponseCallback + ): void; + remove( + paramsOrCallback?: + | Params$Resource$Customers$Productlinks$Remove + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Productlinks$Remove; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Productlinks$Remove; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}/productLinks:remove' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Productlinks$Create extends StandardParameters { + /** + * Required. The ID of the customer for which the product link is created. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__CreateProductLinkRequest; + } + export interface Params$Resource$Customers$Productlinks$Remove extends StandardParameters { + /** + * Required. The ID of the customer being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__RemoveProductLinkRequest; + } + + export class Resource$Customers$Recommendations { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Applies given recommendations with corresponding apply parameters. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RecommendationError]() [RequestError]() [UrlFieldError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.recommendations.apply({ + * // Required. The ID of the customer with the recommendation. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "partialFailure": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "partialFailureError": {}, + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + apply( + params: Params$Resource$Customers$Recommendations$Apply, + options: StreamMethodOptions + ): Promise>; + apply( + params?: Params$Resource$Customers$Recommendations$Apply, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + apply( + params: Params$Resource$Customers$Recommendations$Apply, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + apply( + params: Params$Resource$Customers$Recommendations$Apply, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + apply( + params: Params$Resource$Customers$Recommendations$Apply, + callback: BodyResponseCallback + ): void; + apply( + callback: BodyResponseCallback + ): void; + apply( + paramsOrCallback?: + | Params$Resource$Customers$Recommendations$Apply + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Recommendations$Apply; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Recommendations$Apply; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}/recommendations:apply' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Dismisses given recommendations. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RecommendationError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.recommendations.dismiss({ + * // Required. The ID of the customer with the recommendation. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "partialFailure": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "partialFailureError": {}, + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + dismiss( + params: Params$Resource$Customers$Recommendations$Dismiss, + options: StreamMethodOptions + ): Promise>; + dismiss( + params?: Params$Resource$Customers$Recommendations$Dismiss, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + dismiss( + params: Params$Resource$Customers$Recommendations$Dismiss, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + dismiss( + params: Params$Resource$Customers$Recommendations$Dismiss, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + dismiss( + params: Params$Resource$Customers$Recommendations$Dismiss, + callback: BodyResponseCallback + ): void; + dismiss( + callback: BodyResponseCallback + ): void; + dismiss( + paramsOrCallback?: + | Params$Resource$Customers$Recommendations$Dismiss + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Recommendations$Dismiss; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Recommendations$Dismiss; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}/recommendations:dismiss' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Generates Recommendations based off the requested recommendation_types. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RecommendationError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.recommendations.generate({ + * // Required. The ID of the customer generating recommendations. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "adGroupInfo": [], + * // "advertisingChannelType": "my_advertisingChannelType", + * // "assetGroupInfo": [], + * // "biddingInfo": {}, + * // "budgetInfo": {}, + * // "campaignCallAssetCount": 0, + * // "campaignImageAssetCount": 0, + * // "campaignSitelinkCount": 0, + * // "conversionTrackingStatus": "my_conversionTrackingStatus", + * // "countryCodes": [], + * // "isNewCustomer": false, + * // "languageCodes": [], + * // "merchantCenterAccountId": "my_merchantCenterAccountId", + * // "negativeLocationsIds": [], + * // "positiveLocationsIds": [], + * // "recommendationTypes": [], + * // "seedInfo": {}, + * // "targetContentNetwork": false, + * // "targetPartnerSearchNetwork": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "recommendations": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + generate( + params: Params$Resource$Customers$Recommendations$Generate, + options: StreamMethodOptions + ): Promise>; + generate( + params?: Params$Resource$Customers$Recommendations$Generate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + generate( + params: Params$Resource$Customers$Recommendations$Generate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generate( + params: Params$Resource$Customers$Recommendations$Generate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generate( + params: Params$Resource$Customers$Recommendations$Generate, + callback: BodyResponseCallback + ): void; + generate( + callback: BodyResponseCallback + ): void; + generate( + paramsOrCallback?: + | Params$Resource$Customers$Recommendations$Generate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Recommendations$Generate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Recommendations$Generate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}/recommendations:generate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Recommendations$Apply extends StandardParameters { + /** + * Required. The ID of the customer with the recommendation. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__ApplyRecommendationRequest; + } + export interface Params$Resource$Customers$Recommendations$Dismiss extends StandardParameters { + /** + * Required. The ID of the customer with the recommendation. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__DismissRecommendationRequest; + } + export interface Params$Resource$Customers$Recommendations$Generate extends StandardParameters { + /** + * Required. The ID of the customer generating recommendations. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__GenerateRecommendationsRequest; + } + + export class Resource$Customers$Recommendationsubscriptions { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Mutates given subscription with corresponding apply parameters. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [HeaderError]() [InternalError]() [MutateError]() [QuotaError]() [RecommendationError]() [RecommendationSubscriptionError]() [RequestError]() [UrlFieldError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await searchads360.customers.recommendationSubscriptions.mutateRecommendationSubscription( + * { + * // Required. The ID of the subscribing customer. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "partialFailure": false, + * // "responseContentType": "my_responseContentType", + * // "validateOnly": false + * // } + * }, + * }, + * ); + * console.log(res.data); + * + * // Example response + * // { + * // "partialFailureError": {}, + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutateRecommendationSubscription( + params: Params$Resource$Customers$Recommendationsubscriptions$Mutaterecommendationsubscription, + options: StreamMethodOptions + ): Promise>; + mutateRecommendationSubscription( + params?: Params$Resource$Customers$Recommendationsubscriptions$Mutaterecommendationsubscription, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutateRecommendationSubscription( + params: Params$Resource$Customers$Recommendationsubscriptions$Mutaterecommendationsubscription, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutateRecommendationSubscription( + params: Params$Resource$Customers$Recommendationsubscriptions$Mutaterecommendationsubscription, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutateRecommendationSubscription( + params: Params$Resource$Customers$Recommendationsubscriptions$Mutaterecommendationsubscription, + callback: BodyResponseCallback + ): void; + mutateRecommendationSubscription( + callback: BodyResponseCallback + ): void; + mutateRecommendationSubscription( + paramsOrCallback?: + | Params$Resource$Customers$Recommendationsubscriptions$Mutaterecommendationsubscription + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Recommendationsubscriptions$Mutaterecommendationsubscription; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Customers$Recommendationsubscriptions$Mutaterecommendationsubscription; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v23/customers/{+customerId}/recommendationSubscriptions:mutateRecommendationSubscription' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Recommendationsubscriptions$Mutaterecommendationsubscription extends StandardParameters { + /** + * Required. The ID of the subscribing customer. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateRecommendationSubscriptionRequest; + } + + export class Resource$Customers$Remarketingactions { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates or updates remarketing actions. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ConversionActionError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.remarketingActions.mutate({ + * // Required. The ID of the customer whose remarketing actions are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "partialFailure": false, + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "partialFailureError": {}, + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Remarketingactions$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Remarketingactions$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Remarketingactions$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Remarketingactions$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Remarketingactions$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Remarketingactions$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Remarketingactions$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Remarketingactions$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}/remarketingActions:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Remarketingactions$Mutate extends StandardParameters { + /** + * Required. The ID of the customer whose remarketing actions are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateRemarketingActionsRequest; + } + + export class Resource$Customers$Searchads360 { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * This method is essentially a wrapper around a series of mutate methods. The only features it offers over calling those methods directly are: - Atomic transactions - Temp resource names (described below) - Somewhat reduced latency over making a series of mutate calls Note: Only resources that support atomic transactions are included, so this method can't replace all calls to individual services. ## Atomic Transaction Benefits Atomicity makes error handling much easier. If you're making a series of changes and one fails, it can leave your account in an inconsistent state. With atomicity, you either reach the chosen state directly, or the request fails and you can retry. ## Temp Resource Names Temp resource names are a special type of resource name used to create a resource and reference that resource in the same request. For example, if a is created with `resource_name` equal to ``, that resource name can be reused in the `` field in the same request. That way, the two resources are created and linked atomically. To create a temp resource name, put a negative number in the part of the name that the server would normally allocate. Note: - Resources must be created with a temp name before the name can be reused. For example, the previous example would fail if the mutate order was reversed. - Temp names are not remembered across requests. - There's no limit to the number of temp names in a request. - Each temp name must use a unique negative number, even if the resource types differ. ## Latency It's important to group mutates by resource type or the request may time out and fail. Latency is roughly equal to a series of calls to individual mutate methods, where each change in resource type is a new call. For example, mutating is like 2 calls, while mutating is like 4 calls. List of thrown errors: [AdCustomizerError]() [AdError]() [AdGroupAdError]() [AdGroupCriterionError]() [AdGroupError]() [AssetError]() [AuthenticationError]() [AuthorizationError]() [BiddingError]() [CampaignBudgetError]() [CampaignCriterionError]() [CampaignError]() [CampaignExperimentError]() [CampaignSharedSetError]() [CollectionSizeError]() [ContextError]() [ConversionActionError]() [CriterionError]() [CustomerFeedError]() [DatabaseError]() [DateError]() [DateRangeError]() [DistinctError]() [ExtensionFeedItemError]() [ExtensionSettingError]() [FeedAttributeReferenceError]() [FeedError]() [FeedItemError]() [FeedItemSetError]() [FieldError]() [FieldMaskError]() [FunctionParsingError]() [HeaderError]() [ImageError]() [InternalError]() [KeywordPlanAdGroupKeywordError]() [KeywordPlanCampaignError]() [KeywordPlanError]() [LabelError]() [ListOperationError]() [MediaUploadError]() [MutateError]() [NewResourceCreationError]() [NullError]() [OperationAccessDeniedError]() [PolicyFindingError]() [PolicyViolationError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]() [SettingError]() [SharedSetError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]() [UrlFieldError]() [UserListError]() [YoutubeVideoRegistrationError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.searchAds360.mutate({ + * // Required. The ID of the customer whose resources are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "mutateOperations": [], + * // "partialFailure": false, + * // "responseContentType": "my_responseContentType", + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "mutateOperationResponses": [], + * // "partialFailureError": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Searchads360$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Searchads360$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Searchads360$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Searchads360$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Searchads360$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Searchads360$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Searchads360$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Searchads360$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}/searchAds360:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Returns all rows that match the search query. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [ChangeEventError]() [ChangeStatusError]() [ClickViewError]() [HeaderError]() [InternalError]() [QueryError]() [QuotaError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.searchAds360.search({ + * // Required. The ID of the customer being queried. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "pageSize": 0, + * // "pageToken": "my_pageToken", + * // "query": "my_query", + * // "searchSettings": {}, + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "conversionCustomDimensionHeaders": [], + * // "conversionCustomMetricHeaders": [], + * // "customColumnHeaders": [], + * // "fieldMask": "my_fieldMask", + * // "metricAttributes": [], + * // "nextPageToken": "my_nextPageToken", + * // "queryResourceConsumption": "my_queryResourceConsumption", + * // "rawEventConversionDimensionHeaders": [], + * // "rawEventConversionMetricHeaders": [], + * // "results": [], + * // "summaryRow": {}, + * // "totalResultsCount": "my_totalResultsCount" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + search( + params: Params$Resource$Customers$Searchads360$Search, + options: StreamMethodOptions + ): Promise>; + search( + params?: Params$Resource$Customers$Searchads360$Search, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + search( + params: Params$Resource$Customers$Searchads360$Search, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + search( + params: Params$Resource$Customers$Searchads360$Search, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + search( + params: Params$Resource$Customers$Searchads360$Search, + callback: BodyResponseCallback + ): void; + search( + callback: BodyResponseCallback + ): void; + search( + paramsOrCallback?: + | Params$Resource$Customers$Searchads360$Search + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Searchads360$Search; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Searchads360$Search; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}/searchAds360:search' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Searchads360$Mutate extends StandardParameters { + /** + * Required. The ID of the customer whose resources are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateSearchAds360Request; + } + export interface Params$Resource$Customers$Searchads360$Search extends StandardParameters { + /** + * Required. The ID of the customer being queried. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__SearchSearchAds360Request; + } + + export class Resource$Customers$Sharedcriteria { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates or removes shared criteria. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CriterionError]() [DatabaseError]() [DistinctError]() [FieldError]() [HeaderError]() [IdError]() [InternalError]() [MutateError]() [NotEmptyError]() [NullError]() [OperatorError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.sharedCriteria.mutate({ + * // Required. The ID of the customer whose shared criteria are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "partialFailure": false, + * // "responseContentType": "my_responseContentType", + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "partialFailureError": {}, + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Sharedcriteria$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Sharedcriteria$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Sharedcriteria$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Sharedcriteria$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Sharedcriteria$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Sharedcriteria$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Sharedcriteria$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Sharedcriteria$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}/sharedCriteria:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Sharedcriteria$Mutate extends StandardParameters { + /** + * Required. The ID of the customer whose shared criteria are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateSharedCriteriaRequest; + } + + export class Resource$Customers$Sharedsets { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates, updates, or removes shared sets. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [DateError]() [DistinctError]() [FieldError]() [FieldMaskError]() [HeaderError]() [IdError]() [InternalError]() [MutateError]() [NewResourceCreationError]() [NotEmptyError]() [NullError]() [OperatorError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]() [SharedSetError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.sharedSets.mutate({ + * // Required. The ID of the customer whose shared sets are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "partialFailure": false, + * // "responseContentType": "my_responseContentType", + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "partialFailureError": {}, + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Sharedsets$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Sharedsets$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Sharedsets$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Sharedsets$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Sharedsets$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Sharedsets$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Sharedsets$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Sharedsets$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}/sharedSets:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Sharedsets$Mutate extends StandardParameters { + /** + * Required. The ID of the customer whose shared sets are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateSharedSetsRequest; + } + + export class Resource$Customers$Smartcampaignsettings { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Returns the status of the requested Smart campaign. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await searchads360.customers.smartCampaignSettings.getSmartCampaignStatus({ + * // Required. The resource name of the Smart campaign setting belonging to the Smart campaign to fetch the status of. + * resourceName: + * 'customers/my-customer/smartCampaignSettings/my-smartCampaignSetting', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "eligibleDetails": {}, + * // "endedDetails": {}, + * // "notEligibleDetails": {}, + * // "pausedDetails": {}, + * // "removedDetails": {}, + * // "smartCampaignStatus": "my_smartCampaignStatus" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + getSmartCampaignStatus( + params: Params$Resource$Customers$Smartcampaignsettings$Getsmartcampaignstatus, + options: StreamMethodOptions + ): Promise>; + getSmartCampaignStatus( + params?: Params$Resource$Customers$Smartcampaignsettings$Getsmartcampaignstatus, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + getSmartCampaignStatus( + params: Params$Resource$Customers$Smartcampaignsettings$Getsmartcampaignstatus, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getSmartCampaignStatus( + params: Params$Resource$Customers$Smartcampaignsettings$Getsmartcampaignstatus, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getSmartCampaignStatus( + params: Params$Resource$Customers$Smartcampaignsettings$Getsmartcampaignstatus, + callback: BodyResponseCallback + ): void; + getSmartCampaignStatus( + callback: BodyResponseCallback + ): void; + getSmartCampaignStatus( + paramsOrCallback?: + | Params$Resource$Customers$Smartcampaignsettings$Getsmartcampaignstatus + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Smartcampaignsettings$Getsmartcampaignstatus; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Customers$Smartcampaignsettings$Getsmartcampaignstatus; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/{+resourceName}:getSmartCampaignStatus' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resourceName'], + pathParams: ['resourceName'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Updates Smart campaign settings for campaigns. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.smartCampaignSettings.mutate({ + * // Required. The ID of the customer whose Smart campaign settings are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "partialFailure": false, + * // "responseContentType": "my_responseContentType", + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "partialFailureError": {}, + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Smartcampaignsettings$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Smartcampaignsettings$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Smartcampaignsettings$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Smartcampaignsettings$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Smartcampaignsettings$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Smartcampaignsettings$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Smartcampaignsettings$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Smartcampaignsettings$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v23/customers/{+customerId}/smartCampaignSettings:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Smartcampaignsettings$Getsmartcampaignstatus extends StandardParameters { + /** + * Required. The resource name of the Smart campaign setting belonging to the Smart campaign to fetch the status of. + */ + resourceName?: string; + } + export interface Params$Resource$Customers$Smartcampaignsettings$Mutate extends StandardParameters { + /** + * Required. The ID of the customer whose Smart campaign settings are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateSmartCampaignSettingsRequest; + } + + export class Resource$Customers$Thirdpartyappanalyticslinks { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Regenerate ThirdPartyAppAnalyticsLink.shareable_link_id that should be provided to the third party when setting up app analytics. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = + * await searchads360.customers.thirdPartyAppAnalyticsLinks.regenerateShareableLinkId( + * { + * // Resource name of the third party app analytics link. + * resourceName: + * 'customers/my-customer/thirdPartyAppAnalyticsLinks/my-thirdPartyAppAnalyticsLink', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // {} + * }, + * }, + * ); + * console.log(res.data); + * + * // Example response + * // {} + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + regenerateShareableLinkId( + params: Params$Resource$Customers$Thirdpartyappanalyticslinks$Regenerateshareablelinkid, + options: StreamMethodOptions + ): Promise>; + regenerateShareableLinkId( + params?: Params$Resource$Customers$Thirdpartyappanalyticslinks$Regenerateshareablelinkid, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + regenerateShareableLinkId( + params: Params$Resource$Customers$Thirdpartyappanalyticslinks$Regenerateshareablelinkid, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + regenerateShareableLinkId( + params: Params$Resource$Customers$Thirdpartyappanalyticslinks$Regenerateshareablelinkid, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + regenerateShareableLinkId( + params: Params$Resource$Customers$Thirdpartyappanalyticslinks$Regenerateshareablelinkid, + callback: BodyResponseCallback + ): void; + regenerateShareableLinkId( + callback: BodyResponseCallback + ): void; + regenerateShareableLinkId( + paramsOrCallback?: + | Params$Resource$Customers$Thirdpartyappanalyticslinks$Regenerateshareablelinkid + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Thirdpartyappanalyticslinks$Regenerateshareablelinkid; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Customers$Thirdpartyappanalyticslinks$Regenerateshareablelinkid; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/{+resourceName}:regenerateShareableLinkId' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resourceName'], + pathParams: ['resourceName'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Thirdpartyappanalyticslinks$Regenerateshareablelinkid extends StandardParameters { + /** + * Resource name of the third party app analytics link. + */ + resourceName?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__RegenerateShareableLinkIdRequest; + } + + export class Resource$Customers$Userlistcustomertypes { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Attach or remove user list customer types. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [UserListCustomerTypeError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.userListCustomerTypes.mutate({ + * // Required. The ID of the customer whose user list customer types are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "partialFailure": false, + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "partialFailureError": {}, + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Userlistcustomertypes$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Userlistcustomertypes$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Userlistcustomertypes$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Userlistcustomertypes$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Userlistcustomertypes$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Userlistcustomertypes$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Userlistcustomertypes$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Userlistcustomertypes$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v23/customers/{+customerId}/userListCustomerTypes:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Userlistcustomertypes$Mutate extends StandardParameters { + /** + * Required. The ID of the customer whose user list customer types are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateUserListCustomerTypesRequest; + } + + export class Resource$Customers$Userlists { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates or updates user lists. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CollectionSizeError]() [DatabaseError]() [DistinctError]() [FieldError]() [FieldMaskError]() [HeaderError]() [InternalError]() [MutateError]() [NewResourceCreationError]() [NotAllowlistedError]() [NotEmptyError]() [OperationAccessDeniedError]() [QuotaError]() [RangeError]() [RequestError]() [StringFormatError]() [StringLengthError]() [UserListError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.customers.userLists.mutate({ + * // Required. The ID of the customer whose user lists are being modified. + * customerId: '[^/]+', + * + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "operations": [], + * // "partialFailure": false, + * // "validateOnly": false + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "partialFailureError": {}, + * // "results": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + mutate( + params: Params$Resource$Customers$Userlists$Mutate, + options: StreamMethodOptions + ): Promise>; + mutate( + params?: Params$Resource$Customers$Userlists$Mutate, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + mutate( + params: Params$Resource$Customers$Userlists$Mutate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Userlists$Mutate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + mutate( + params: Params$Resource$Customers$Userlists$Mutate, + callback: BodyResponseCallback + ): void; + mutate( + callback: BodyResponseCallback + ): void; + mutate( + paramsOrCallback?: + | Params$Resource$Customers$Userlists$Mutate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Userlists$Mutate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Userlists$Mutate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v23/customers/{+customerId}/userLists:mutate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customerId'], + pathParams: ['customerId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Userlists$Mutate extends StandardParameters { + /** + * Required. The ID of the customer whose user lists are being modified. + */ + customerId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__MutateUserListsRequest; + } + + export class Resource$Geotargetconstants { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Returns GeoTargetConstant suggestions by location name or by resource name. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [GeoTargetConstantSuggestionError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.geoTargetConstants.suggest({ + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "countryCode": "my_countryCode", + * // "geoTargets": {}, + * // "locale": "my_locale", + * // "locationNames": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "geoTargetConstantSuggestions": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + suggest( + params: Params$Resource$Geotargetconstants$Suggest, + options: StreamMethodOptions + ): Promise>; + suggest( + params?: Params$Resource$Geotargetconstants$Suggest, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + suggest( + params: Params$Resource$Geotargetconstants$Suggest, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + suggest( + params: Params$Resource$Geotargetconstants$Suggest, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + suggest( + params: Params$Resource$Geotargetconstants$Suggest, + callback: BodyResponseCallback + ): void; + suggest( + callback: BodyResponseCallback + ): void; + suggest( + paramsOrCallback?: + | Params$Resource$Geotargetconstants$Suggest + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Geotargetconstants$Suggest; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Geotargetconstants$Suggest; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v23/geoTargetConstants:suggest').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: [], + pathParams: [], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Geotargetconstants$Suggest extends StandardParameters { + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__SuggestGeoTargetConstantsRequest; + } + + export class Resource$Incentives { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Returns incentives for a given user. + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.incentives.fetchIncentive({ + * // Optional. User's country code. If not provided, the server will default to "US". Possible country codes: https://developers.google.com/google-ads/api/data/codes-formats#country_codes + * countryCode: 'placeholder-value', + * // Optional. Email of the user that the requested incentive is meant for. Will be used for channel partners who do NOT use OAuth to authenticate on behalf of user. + * email: 'placeholder-value', + * // Optional. User's language code. If not provided, the server will default to "en". Possible language codes: https://developers.google.com/google-ads/api/data/codes-formats#languages + * languageCode: 'placeholder-value', + * // Optional. The type of incentive to get. Defaults to ACQUISITION. + * type: 'placeholder-value', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "incentiveOffer": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + fetchIncentive( + params: Params$Resource$Incentives$Fetchincentive, + options: StreamMethodOptions + ): Promise>; + fetchIncentive( + params?: Params$Resource$Incentives$Fetchincentive, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + fetchIncentive( + params: Params$Resource$Incentives$Fetchincentive, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + fetchIncentive( + params: Params$Resource$Incentives$Fetchincentive, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + fetchIncentive( + params: Params$Resource$Incentives$Fetchincentive, + callback: BodyResponseCallback + ): void; + fetchIncentive( + callback: BodyResponseCallback + ): void; + fetchIncentive( + paramsOrCallback?: + | Params$Resource$Incentives$Fetchincentive + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Incentives$Fetchincentive; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Incentives$Fetchincentive; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v23/incentives:fetchIncentive').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: [], + pathParams: [], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Incentives$Fetchincentive extends StandardParameters { + /** + * Optional. User's country code. If not provided, the server will default to "US". Possible country codes: https://developers.google.com/google-ads/api/data/codes-formats#country_codes + */ + countryCode?: string; + /** + * Optional. Email of the user that the requested incentive is meant for. Will be used for channel partners who do NOT use OAuth to authenticate on behalf of user. + */ + email?: string; + /** + * Optional. User's language code. If not provided, the server will default to "en". Possible language codes: https://developers.google.com/google-ads/api/data/codes-formats#languages + */ + languageCode?: string; + /** + * Optional. The type of incentive to get. Defaults to ACQUISITION. + */ + type?: string; + } + + export class Resource$Keywordthemeconstants { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Returns KeywordThemeConstant suggestions by keyword themes. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.keywordThemeConstants.suggest({ + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "countryCode": "my_countryCode", + * // "languageCode": "my_languageCode", + * // "queryText": "my_queryText" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "keywordThemeConstants": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + suggest( + params: Params$Resource$Keywordthemeconstants$Suggest, + options: StreamMethodOptions + ): Promise>; + suggest( + params?: Params$Resource$Keywordthemeconstants$Suggest, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + suggest( + params: Params$Resource$Keywordthemeconstants$Suggest, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + suggest( + params: Params$Resource$Keywordthemeconstants$Suggest, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + suggest( + params: Params$Resource$Keywordthemeconstants$Suggest, + callback: BodyResponseCallback + ): void; + suggest( + callback: BodyResponseCallback + ): void; + suggest( + paramsOrCallback?: + | Params$Resource$Keywordthemeconstants$Suggest + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Keywordthemeconstants$Suggest; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Keywordthemeconstants$Suggest; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v23/keywordThemeConstants:suggest').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: [], + pathParams: [], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Keywordthemeconstants$Suggest extends StandardParameters { + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__SuggestKeywordThemeConstantsRequest; + } + + export class Resource$Searchads360fields { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Returns just the requested field. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.searchAds360Fields.get({ + * // Required. The resource name of the field to get. + * resourceName: 'searchAds360Fields/my-searchAds360Field', + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "attributeResources": [], + * // "category": "my_category", + * // "dataType": "my_dataType", + * // "enumValues": [], + * // "filterable": false, + * // "isRepeated": false, + * // "metrics": [], + * // "name": "my_name", + * // "resourceName": "my_resourceName", + * // "segments": [], + * // "selectable": false, + * // "selectableWith": [], + * // "sortable": false, + * // "typeUrl": "my_typeUrl" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Searchads360fields$Get, + options: StreamMethodOptions + ): Promise>; + get( + params?: Params$Resource$Searchads360fields$Get, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + get( + params: Params$Resource$Searchads360fields$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Searchads360fields$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Searchads360fields$Get, + callback: BodyResponseCallback + ): void; + get( + callback: BodyResponseCallback + ): void; + get( + paramsOrCallback?: + | Params$Resource$Searchads360fields$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Searchads360fields$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Searchads360fields$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v23/{+resourceName}').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resourceName'], + pathParams: ['resourceName'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Returns all fields that match the search [query](/search-ads/reporting/concepts/field-service#use_a_query_to_get_field_details). List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QueryError]() [QuotaError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.searchAds360Fields.search({ + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "pageSize": 0, + * // "pageToken": "my_pageToken", + * // "query": "my_query" + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "nextPageToken": "my_nextPageToken", + * // "results": [], + * // "totalResultsCount": "my_totalResultsCount" + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + search( + params: Params$Resource$Searchads360fields$Search, + options: StreamMethodOptions + ): Promise>; + search( + params?: Params$Resource$Searchads360fields$Search, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + search( + params: Params$Resource$Searchads360fields$Search, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + search( + params: Params$Resource$Searchads360fields$Search, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + search( + params: Params$Resource$Searchads360fields$Search, + callback: BodyResponseCallback + ): void; + search( + callback: BodyResponseCallback + ): void; + search( + paramsOrCallback?: + | Params$Resource$Searchads360fields$Search + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$Searchads360fields$Search; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Searchads360fields$Search; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v23/searchAds360Fields:search').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: [], + pathParams: [], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Searchads360fields$Get extends StandardParameters { + /** + * Required. The resource name of the field to get. + */ + resourceName?: string; + } + export interface Params$Resource$Searchads360fields$Search extends StandardParameters { + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__SearchSearchAds360FieldsRequest; + } + + export class Resource$V23 { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Returns a collection of conversion rate suggestions for supported plannable products. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.generateConversionRates({ + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "customerId": "my_customerId", + * // "customerReachGroup": "my_customerReachGroup", + * // "reachApplicationInfo": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "conversionRateSuggestions": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + generateConversionRates( + params: Params$Resource$V23$Generateconversionrates, + options: StreamMethodOptions + ): Promise>; + generateConversionRates( + params?: Params$Resource$V23$Generateconversionrates, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + generateConversionRates( + params: Params$Resource$V23$Generateconversionrates, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generateConversionRates( + params: Params$Resource$V23$Generateconversionrates, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generateConversionRates( + params: Params$Resource$V23$Generateconversionrates, + callback: BodyResponseCallback + ): void; + generateConversionRates( + callback: BodyResponseCallback + ): void; + generateConversionRates( + paramsOrCallback?: + | Params$Resource$V23$Generateconversionrates + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$V23$Generateconversionrates; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$V23$Generateconversionrates; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v23:generateConversionRates').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: [], + pathParams: [], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Returns a date range that supports benchmarks. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.listBenchmarksAvailableDates({ + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "applicationInfo": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "supportedDates": {} + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + listBenchmarksAvailableDates( + params: Params$Resource$V23$Listbenchmarksavailabledates, + options: StreamMethodOptions + ): Promise>; + listBenchmarksAvailableDates( + params?: Params$Resource$V23$Listbenchmarksavailabledates, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + listBenchmarksAvailableDates( + params: Params$Resource$V23$Listbenchmarksavailabledates, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + listBenchmarksAvailableDates( + params: Params$Resource$V23$Listbenchmarksavailabledates, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + listBenchmarksAvailableDates( + params: Params$Resource$V23$Listbenchmarksavailabledates, + callback: BodyResponseCallback + ): void; + listBenchmarksAvailableDates( + callback: BodyResponseCallback + ): void; + listBenchmarksAvailableDates( + paramsOrCallback?: + | Params$Resource$V23$Listbenchmarksavailabledates + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$V23$Listbenchmarksavailabledates; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$V23$Listbenchmarksavailabledates; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v23:listBenchmarksAvailableDates').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: [], + pathParams: [], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Returns the list of locations that support benchmarks (for example, countries). List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.listBenchmarksLocations({ + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "applicationInfo": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "benchmarksLocations": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + listBenchmarksLocations( + params: Params$Resource$V23$Listbenchmarkslocations, + options: StreamMethodOptions + ): Promise>; + listBenchmarksLocations( + params?: Params$Resource$V23$Listbenchmarkslocations, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + listBenchmarksLocations( + params: Params$Resource$V23$Listbenchmarkslocations, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + listBenchmarksLocations( + params: Params$Resource$V23$Listbenchmarkslocations, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + listBenchmarksLocations( + params: Params$Resource$V23$Listbenchmarkslocations, + callback: BodyResponseCallback + ): void; + listBenchmarksLocations( + callback: BodyResponseCallback + ): void; + listBenchmarksLocations( + paramsOrCallback?: + | Params$Resource$V23$Listbenchmarkslocations + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$V23$Listbenchmarkslocations; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$V23$Listbenchmarkslocations; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v23:listBenchmarksLocations').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: [], + pathParams: [], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Returns the list of products that supports benchmarks. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.listBenchmarksProducts({ + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "applicationInfo": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "benchmarksProducts": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + listBenchmarksProducts( + params: Params$Resource$V23$Listbenchmarksproducts, + options: StreamMethodOptions + ): Promise>; + listBenchmarksProducts( + params?: Params$Resource$V23$Listbenchmarksproducts, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + listBenchmarksProducts( + params: Params$Resource$V23$Listbenchmarksproducts, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + listBenchmarksProducts( + params: Params$Resource$V23$Listbenchmarksproducts, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + listBenchmarksProducts( + params: Params$Resource$V23$Listbenchmarksproducts, + callback: BodyResponseCallback + ): void; + listBenchmarksProducts( + callback: BodyResponseCallback + ): void; + listBenchmarksProducts( + paramsOrCallback?: + | Params$Resource$V23$Listbenchmarksproducts + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$V23$Listbenchmarksproducts; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$V23$Listbenchmarksproducts; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v23:listBenchmarksProducts').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: [], + pathParams: [], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Returns the list of benchmarks sources (for example, Industry Verticals). List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.listBenchmarksSources({ + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "applicationInfo": {}, + * // "benchmarksSources": [] + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "benchmarksSources": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + listBenchmarksSources( + params: Params$Resource$V23$Listbenchmarkssources, + options: StreamMethodOptions + ): Promise>; + listBenchmarksSources( + params?: Params$Resource$V23$Listbenchmarkssources, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + listBenchmarksSources( + params: Params$Resource$V23$Listbenchmarkssources, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + listBenchmarksSources( + params: Params$Resource$V23$Listbenchmarkssources, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + listBenchmarksSources( + params: Params$Resource$V23$Listbenchmarkssources, + callback: BodyResponseCallback + ): void; + listBenchmarksSources( + callback: BodyResponseCallback + ): void; + listBenchmarksSources( + paramsOrCallback?: + | Params$Resource$V23$Listbenchmarkssources + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$V23$Listbenchmarkssources; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$V23$Listbenchmarkssources; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v23:listBenchmarksSources').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: [], + pathParams: [], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Returns the list of plannable locations (for example, countries). List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.listPlannableLocations({ + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "reachApplicationInfo": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "plannableLocations": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + listPlannableLocations( + params: Params$Resource$V23$Listplannablelocations, + options: StreamMethodOptions + ): Promise>; + listPlannableLocations( + params?: Params$Resource$V23$Listplannablelocations, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + listPlannableLocations( + params: Params$Resource$V23$Listplannablelocations, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + listPlannableLocations( + params: Params$Resource$V23$Listplannablelocations, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + listPlannableLocations( + params: Params$Resource$V23$Listplannablelocations, + callback: BodyResponseCallback + ): void; + listPlannableLocations( + callback: BodyResponseCallback + ): void; + listPlannableLocations( + paramsOrCallback?: + | Params$Resource$V23$Listplannablelocations + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$V23$Listplannablelocations; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$V23$Listplannablelocations; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v23:listPlannableLocations').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: [], + pathParams: [], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Returns the list of per-location plannable YouTube ad formats with allowed targeting. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [HeaderError]() [InternalError]() [QuotaError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.listPlannableProducts({ + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "plannableLocationId": "my_plannableLocationId", + * // "reachApplicationInfo": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "productMetadata": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + listPlannableProducts( + params: Params$Resource$V23$Listplannableproducts, + options: StreamMethodOptions + ): Promise>; + listPlannableProducts( + params?: Params$Resource$V23$Listplannableproducts, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + listPlannableProducts( + params: Params$Resource$V23$Listplannableproducts, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + listPlannableProducts( + params: Params$Resource$V23$Listplannableproducts, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + listPlannableProducts( + params: Params$Resource$V23$Listplannableproducts, + callback: BodyResponseCallback + ): void; + listPlannableProducts( + callback: BodyResponseCallback + ): void; + listPlannableProducts( + paramsOrCallback?: + | Params$Resource$V23$Listplannableproducts + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$V23$Listplannableproducts; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$V23$Listplannableproducts; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v23:listPlannableProducts').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: [], + pathParams: [], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Returns the list of plannable user interests. A plannable user interest is one that can be targeted in a reach forecast using ReachPlanService.GenerateReachForecast. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [ListOperationError]() [QuotaError]() [RequestError]() [StringLengthError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.listPlannableUserInterests({ + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "customerId": "my_customerId", + * // "nameQuery": "my_nameQuery", + * // "pathQuery": "my_pathQuery", + * // "reachApplicationInfo": {}, + * // "userInterestTaxonomyTypes": [] + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "plannableUserInterests": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + listPlannableUserInterests( + params: Params$Resource$V23$Listplannableuserinterests, + options: StreamMethodOptions + ): Promise>; + listPlannableUserInterests( + params?: Params$Resource$V23$Listplannableuserinterests, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + listPlannableUserInterests( + params: Params$Resource$V23$Listplannableuserinterests, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + listPlannableUserInterests( + params: Params$Resource$V23$Listplannableuserinterests, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + listPlannableUserInterests( + params: Params$Resource$V23$Listplannableuserinterests, + callback: BodyResponseCallback + ): void; + listPlannableUserInterests( + callback: BodyResponseCallback + ): void; + listPlannableUserInterests( + paramsOrCallback?: + | Params$Resource$V23$Listplannableuserinterests + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$V23$Listplannableuserinterests; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$V23$Listplannableuserinterests; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v23:listPlannableUserInterests').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: [], + pathParams: [], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Returns the list of plannable user lists with their plannable status. User lists may not be plannable for a number of reasons, including: - They are less than 10 days old. - They have a membership lifespan that is less than 30 days - They have less than 10,000 or more than 700,000 users. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [FieldError]() [HeaderError]() [InternalError]() [QuotaError]() [RangeError]() [ReachPlanError]() [RequestError]() + * @example + * ```js + * // Before running the sample: + * // - Enable the API at: + * // https://console.developers.google.com/apis/api/searchads360.googleapis.com + * // - Login into gcloud by running: + * // ```sh + * // $ gcloud auth application-default login + * // ``` + * // - Install the npm module by running: + * // ```sh + * // $ npm install googleapis + * // ``` + * + * const {google} = require('googleapis'); + * const searchads360 = google.searchads360('v23'); + * + * async function main() { + * const auth = new google.auth.GoogleAuth({ + * // Scopes can be specified either as an array or as a single, space-delimited string. + * scopes: ['https://www.googleapis.com/auth/doubleclicksearch'], + * }); + * + * // Acquire an auth client, and bind it to all future calls + * const authClient = await auth.getClient(); + * google.options({auth: authClient}); + * + * // Do the magic + * const res = await searchads360.listPlannableUserLists({ + * // Request body metadata + * requestBody: { + * // request body parameters + * // { + * // "customerId": "my_customerId", + * // "customerReachGroup": "my_customerReachGroup", + * // "reachApplicationInfo": {} + * // } + * }, + * }); + * console.log(res.data); + * + * // Example response + * // { + * // "plannableUserLists": [] + * // } + * } + * + * main().catch(e => { + * console.error(e); + * throw e; + * }); + * + * ``` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + listPlannableUserLists( + params: Params$Resource$V23$Listplannableuserlists, + options: StreamMethodOptions + ): Promise>; + listPlannableUserLists( + params?: Params$Resource$V23$Listplannableuserlists, + options?: MethodOptions + ): Promise< + GaxiosResponseWithHTTP2 + >; + listPlannableUserLists( + params: Params$Resource$V23$Listplannableuserlists, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + listPlannableUserLists( + params: Params$Resource$V23$Listplannableuserlists, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + listPlannableUserLists( + params: Params$Resource$V23$Listplannableuserlists, + callback: BodyResponseCallback + ): void; + listPlannableUserLists( + callback: BodyResponseCallback + ): void; + listPlannableUserLists( + paramsOrCallback?: + | Params$Resource$V23$Listplannableuserlists + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | Promise< + GaxiosResponseWithHTTP2 + > + | Promise> { + let params = (paramsOrCallback || + {}) as Params$Resource$V23$Listplannableuserlists; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$V23$Listplannableuserlists; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://searchads360.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v23:listPlannableUserLists').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: [], + pathParams: [], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$V23$Generateconversionrates extends StandardParameters { + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__GenerateConversionRatesRequest; + } + export interface Params$Resource$V23$Listbenchmarksavailabledates extends StandardParameters { + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__ListBenchmarksAvailableDatesRequest; + } + export interface Params$Resource$V23$Listbenchmarkslocations extends StandardParameters { + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__ListBenchmarksLocationsRequest; + } + export interface Params$Resource$V23$Listbenchmarksproducts extends StandardParameters { + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__ListBenchmarksProductsRequest; + } + export interface Params$Resource$V23$Listbenchmarkssources extends StandardParameters { + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__ListBenchmarksSourcesRequest; + } + export interface Params$Resource$V23$Listplannablelocations extends StandardParameters { + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__ListPlannableLocationsRequest; + } + export interface Params$Resource$V23$Listplannableproducts extends StandardParameters { + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__ListPlannableProductsRequest; + } + export interface Params$Resource$V23$Listplannableuserinterests extends StandardParameters { + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__ListPlannableUserInterestsRequest; + } + export interface Params$Resource$V23$Listplannableuserlists extends StandardParameters { + /** + * Request body metadata + */ + requestBody?: Schema$GoogleAdsSearchads360V23Services__ListPlannableUserListsRequest; + } +} diff --git a/src/apis/securitycenter/v1.ts b/src/apis/securitycenter/v1.ts index 7106ef88f2c..731b76097cc 100644 --- a/src/apis/securitycenter/v1.ts +++ b/src/apis/securitycenter/v1.ts @@ -128,7615 +128,2185 @@ export namespace securitycenter_v1 { } } - /** - * Represents an access event. - */ export interface Schema$Access { - /** - * Caller's IP address, such as "1.1.1.1". - */ callerIp?: string | null; - /** - * The caller IP's geolocation, which identifies where the call came from. - */ callerIpGeo?: Schema$Geolocation; - /** - * The method that the service account called, e.g. "SetIamPolicy". - */ methodName?: string | null; - /** - * Associated email, such as "foo@google.com". The email address of the authenticated user or a service account acting on behalf of a third party principal making the request. For third party identity callers, the `principal_subject` field is populated instead of this field. For privacy reasons, the principal email address is sometimes redacted. For more information, see [Caller identities in audit logs](https://cloud.google.com/logging/docs/audit#user-id). - */ principalEmail?: string | null; - /** - * A string that represents the principal_subject that is associated with the identity. Unlike `principal_email`, `principal_subject` supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format is `principal://iam.googleapis.com/{identity pool name\}/subject/{subject\}`. Some GKE identities, such as GKE_WORKLOAD, FREEFORM, and GKE_HUB_WORKLOAD, still use the legacy format `serviceAccount:{identity pool name\}[{subject\}]`. - */ principalSubject?: string | null; - /** - * The identity delegation history of an authenticated service account that made the request. The `serviceAccountDelegationInfo[]` object contains information about the real authorities that try to access Google Cloud resources by delegating on a service account. When multiple authorities are present, they are guaranteed to be sorted based on the original ordering of the identity delegation events. - */ serviceAccountDelegationInfo?: Schema$ServiceAccountDelegationInfo[]; - /** - * The name of the service account key that was used to create or exchange credentials when authenticating the service account that made the request. This is a scheme-less URI full resource name. For example: "//iam.googleapis.com/projects/{PROJECT_ID\}/serviceAccounts/{ACCOUNT\}/keys/{key\}". - */ serviceAccountKeyName?: string | null; - /** - * This is the API service that the service account made a call to, e.g. "iam.googleapis.com" - */ serviceName?: string | null; - /** - * The caller's user agent string associated with the finding. - */ userAgent?: string | null; - /** - * Type of user agent associated with the finding. For example, an operating system shell or an embedded or standalone application. - */ userAgentFamily?: string | null; - /** - * A string that represents a username. The username provided depends on the type of the finding and is likely not an IAM principal. For example, this can be a system username if the finding is related to a virtual machine, or it can be an application login username. - */ userName?: string | null; } - /** - * Conveys information about a Kubernetes access review (such as one returned by a [`kubectl auth can-i`](https://kubernetes.io/docs/reference/access-authn-authz/authorization/#checking-api-access) command) that was involved in a finding. - */ export interface Schema$AccessReview { - /** - * The API group of the resource. "*" means all. - */ group?: string | null; - /** - * The name of the resource being requested. Empty means all. - */ name?: string | null; - /** - * Namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces. Both are represented by "" (empty). - */ ns?: string | null; - /** - * The optional resource type requested. "*" means all. - */ resource?: string | null; - /** - * The optional subresource type. - */ subresource?: string | null; - /** - * A Kubernetes resource API verb, like get, list, watch, create, update, delete, proxy. "*" means all. - */ verb?: string | null; - /** - * The API version of the resource. "*" means all. - */ version?: string | null; } - /** - * Information about [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-protection). - */ export interface Schema$AdaptiveProtection { - /** - * A score of 0 means that there is low confidence that the detected event is an actual attack. A score of 1 means that there is high confidence that the detected event is an attack. See the [Adaptive Protection documentation](https://cloud.google.com/armor/docs/adaptive-protection-overview#configure-alert-tuning) for further explanation. - */ confidence?: number | null; } - /** - * Represents an ADC application associated with the finding. - */ export interface Schema$AdcApplication { - /** - * Consumer provided attributes for the AppHub application. - */ attributes?: Schema$GoogleCloudSecuritycenterV1ResourceApplicationAttributes; - /** - * The resource name of an ADC Application. Format: projects/{project\}/locations/{location\}/spaces/{space\}/applications/{application\} - */ name?: string | null; } - /** - * Represents an ADC template associated with the finding. - */ export interface Schema$AdcApplicationTemplateRevision { - /** - * The resource name of an ADC Application Template Revision. Format: projects/{project\}/locations/{location\}/spaces/{space\}/applicationTemplates/{application_template\}/revisions/{revision\} - */ name?: string | null; } - /** - * Represents an ADC shared template associated with the finding. - */ export interface Schema$AdcSharedTemplateRevision { - /** - * The resource name of an ADC Shared Template Revision. Format: projects/{project\}/locations/{location\}/spaces/{space\}/applicationTemplates/{application_template\}/revisions/{revision\} - */ name?: string | null; } - /** - * Details about resources affected by this finding. - */ export interface Schema$AffectedResources { - /** - * The count of resources affected by the finding. - */ count?: string | null; } - /** - * Details about a data access attempt made by an agent principal not authorized under applicable data security policy. - */ export interface Schema$AgentDataAccessEvent { - /** - * Unique identifier for data access event. - */ eventId?: string | null; - /** - * Timestamp of data access event. - */ eventTime?: string | null; - /** - * The operation performed by the principal to access the data. - */ operation?: string | null; - /** - * The agent principal that accessed the data. - */ principalSubject?: string | null; } - /** - * Contains information about the AI model associated with the finding. - */ export interface Schema$AiModel { - /** - * The platform on which the model is deployed. - */ deploymentPlatform?: string | null; - /** - * The user defined display name of model. Ex. baseline-classification-model - */ displayName?: string | null; - /** - * The domain of the model, for example, “image-classification”. - */ domain?: string | null; - /** - * The name of the model library, for example, “transformers”. - */ library?: string | null; - /** - * The region in which the model is used, for example, “us-central1”. - */ location?: string | null; - /** - * The name of the AI model, for example, "gemini:1.0.0". - */ name?: string | null; - /** - * The publisher of the model, for example, “google” or “nvidia”. - */ publisher?: string | null; - /** - * The purpose of the model, for example, "Inteference" or "Training". - */ usageCategory?: string | null; } - /** - * Allowed IP rule. - */ export interface Schema$Allowed { - /** - * Optional. Optional list of allowed IP rules. - */ ipRules?: Schema$IpRule[]; } - /** - * Represents an application associated with a finding. - */ export interface Schema$Application { - /** - * The base URI that identifies the network location of the application in which the vulnerability was detected. For example, `http://example.com`. - */ baseUri?: string | null; - /** - * The full URI with payload that can be used to reproduce the vulnerability. For example, `http://example.com?p=aMmYgI6H`. - */ fullUri?: string | null; } - /** - * Represents the result of evaluating artifact guard policies. - */ export interface Schema$ArtifactGuardPolicies { - /** - * A list of failing policies. - */ failingPolicies?: Schema$ArtifactGuardPolicy[]; - /** - * The ID of the resource that has policies configured for it. - */ resourceId?: string | null; } - /** - * Represents an artifact guard policy. - */ export interface Schema$ArtifactGuardPolicy { - /** - * The reason for the policy failure, for example, "severity=HIGH AND max_vuln_count=2". - */ failureReason?: string | null; - /** - * The ID of the failing policy, for example, "organizations/3392779/locations/global/policies/prod-policy". - */ policyId?: string | null; - /** - * The type of the policy evaluation. - */ type?: string | null; } - /** - * Security Command Center representation of a Google Cloud resource. The Asset is a Security Command Center resource that captures information about a single Google Cloud resource. All modifications to an Asset are only within the context of Security Command Center and don't affect the referenced Google Cloud resource. - */ export interface Schema$Asset { - /** - * The canonical name of the resource. It's either "organizations/{organization_id\}/assets/{asset_id\}", "folders/{folder_id\}/assets/{asset_id\}" or "projects/{project_number\}/assets/{asset_id\}", depending on the closest CRM ancestor of the resource. - */ canonicalName?: string | null; - /** - * The time at which the asset was created in Security Command Center. - */ createTime?: string | null; - /** - * Cloud IAM Policy information associated with the Google Cloud resource described by the Security Command Center asset. This information is managed and defined by the Google Cloud resource and cannot be modified by the user. - */ iamPolicy?: Schema$IamPolicy; - /** - * The relative resource name of this asset. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id\}/assets/{asset_id\}". - */ name?: string | null; - /** - * Resource managed properties. These properties are managed and defined by the Google Cloud resource and cannot be modified by the user. - */ resourceProperties?: {[key: string]: any} | null; - /** - * Security Command Center managed properties. These properties are managed by Security Command Center and cannot be modified by the user. - */ securityCenterProperties?: Schema$SecurityCenterProperties; - /** - * User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the asset. - */ securityMarks?: Schema$SecurityMarks; - /** - * The time at which the asset was last updated or added in Cloud SCC. - */ updateTime?: string | null; } - /** - * The configuration used for Asset Discovery runs. - */ export interface Schema$AssetDiscoveryConfig { - /** - * The folder ids to use for filtering asset discovery. It consists of only digits, e.g., 756619654966. - */ folderIds?: string[] | null; - /** - * The mode to use for filtering asset discovery. - */ inclusionMode?: string | null; - /** - * The project ids to use for filtering asset discovery. - */ projectIds?: string[] | null; } - /** - * Information about DDoS attack volume and classification. - */ export interface Schema$Attack { - /** - * Type of attack, for example, 'SYN-flood', 'NTP-udp', or 'CHARGEN-udp'. - */ classification?: string | null; - /** - * Total BPS (bytes per second) volume of attack. Deprecated - refer to volume_bps_long instead. - */ volumeBps?: number | null; - /** - * Total BPS (bytes per second) volume of attack. - */ volumeBpsLong?: string | null; - /** - * Total PPS (packets per second) volume of attack. Deprecated - refer to volume_pps_long instead. - */ volumePps?: number | null; - /** - * Total PPS (packets per second) volume of attack. - */ volumePpsLong?: string | null; } - /** - * An attack exposure contains the results of an attack path simulation run. - */ export interface Schema$AttackExposure { - /** - * The resource name of the attack path simulation result that contains the details regarding this attack exposure score. Example: `organizations/123/simulations/456/attackExposureResults/789` - */ attackExposureResult?: string | null; - /** - * The number of high value resources that are exposed as a result of this finding. - */ exposedHighValueResourcesCount?: number | null; - /** - * The number of high value resources that are exposed as a result of this finding. - */ exposedLowValueResourcesCount?: number | null; - /** - * The number of medium value resources that are exposed as a result of this finding. - */ exposedMediumValueResourcesCount?: number | null; - /** - * The most recent time the attack exposure was updated on this finding. - */ latestCalculationTime?: string | null; - /** - * A number between 0 (inclusive) and infinity that represents how important this finding is to remediate. The higher the score, the more important it is to remediate. - */ score?: number | null; - /** - * What state this AttackExposure is in. This captures whether or not an attack exposure has been calculated or not. - */ state?: string | null; } - /** - * A path that an attacker could take to reach an exposed resource. - */ export interface Schema$AttackPath { - /** - * A list of the edges between nodes in this attack path. - */ edges?: Schema$AttackPathEdge[]; - /** - * The attack path name, for example, `organizations/12/simulation/34/valuedResources/56/attackPaths/78` - */ name?: string | null; - /** - * A list of nodes that exist in this attack path. - */ pathNodes?: Schema$AttackPathNode[]; } - /** - * Represents a connection between a source node and a destination node in this attack path. - */ export interface Schema$AttackPathEdge { - /** - * The attack node uuid of the destination node. - */ destination?: string | null; - /** - * The attack node uuid of the source node. - */ source?: string | null; } - /** - * Represents one point that an attacker passes through in this attack path. - */ export interface Schema$AttackPathNode { - /** - * The findings associated with this node in the attack path. - */ associatedFindings?: Schema$PathNodeAssociatedFinding[]; - /** - * A list of attack step nodes that exist in this attack path node. - */ attackSteps?: Schema$AttackStepNode[]; - /** - * Human-readable name of this resource. - */ displayName?: string | null; - /** - * The name of the resource at this point in the attack path. The format of the name follows the Cloud Asset Inventory [resource name format](https://cloud.google.com/asset-inventory/docs/resource-name-format) - */ resource?: string | null; - /** - * The [supported resource type](https://cloud.google.com/asset-inventory/docs/supported-asset-types) - */ resourceType?: string | null; - /** - * Unique id of the attack path node. - */ uuid?: string | null; } - /** - * Detailed steps the attack can take between path nodes. - */ export interface Schema$AttackStepNode { - /** - * Attack step description - */ description?: string | null; - /** - * User friendly name of the attack step - */ displayName?: string | null; - /** - * Attack step labels for metadata - */ labels?: {[key: string]: string} | null; - /** - * Attack step type. Can be either AND, OR or DEFENSE - */ type?: string | null; - /** - * Unique ID for one Node - */ uuid?: string | null; } - /** - * 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. - */ export interface Schema$AuditConfig { - /** - * The configuration for logging of each type of permission. - */ auditLogConfigs?: Schema$AuditLogConfig[]; - /** - * 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. - */ service?: string | null; } - /** - * 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. - */ export interface Schema$AuditLogConfig { - /** - * Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. - */ exemptedMembers?: string[] | null; - /** - * The log type that this config enables. - */ logType?: string | null; } - /** - * An AWS account that is a member of an organization. - */ export interface Schema$AwsAccount { - /** - * The unique identifier (ID) of the account, containing exactly 12 digits. - */ id?: string | null; - /** - * The friendly name of this account. - */ name?: string | null; } - /** - * AWS metadata associated with the resource, only applicable if the finding's cloud provider is Amazon Web Services. - */ export interface Schema$AwsMetadata { - /** - * The AWS account associated with the resource. - */ account?: Schema$AwsAccount; - /** - * The AWS organization associated with the resource. - */ organization?: Schema$AwsOrganization; - /** - * A list of AWS organizational units associated with the resource, ordered from lowest level (closest to the account) to highest level. - */ organizationalUnits?: Schema$AwsOrganizationalUnit[]; } - /** - * An organization is a collection of accounts that are centrally managed together using consolidated billing, organized hierarchically with organizational units (OUs), and controlled with policies. - */ export interface Schema$AwsOrganization { - /** - * The unique identifier (ID) for the organization. The regex pattern for an organization ID string requires "o-" followed by from 10 to 32 lowercase letters or digits. - */ id?: string | null; } - /** - * An Organizational Unit (OU) is a container of AWS accounts within a root of an organization. Policies that are attached to an OU apply to all accounts contained in that OU and in any child OUs. - */ export interface Schema$AwsOrganizationalUnit { - /** - * The unique identifier (ID) associated with this OU. The regex pattern for an organizational unit ID string requires "ou-" followed by from 4 to 32 lowercase letters or digits (the ID of the root that contains the OU). This string is followed by a second "-" dash and from 8 to 32 additional lowercase letters or digits. For example, "ou-ab12-cd34ef56". - */ id?: string | null; - /** - * The friendly name of the OU. - */ name?: string | null; } - /** - * Represents an Azure management group. - */ export interface Schema$AzureManagementGroup { - /** - * The display name of the Azure management group. - */ displayName?: string | null; - /** - * The UUID of the Azure management group, for example, `20000000-0001-0000-0000-000000000000`. - */ id?: string | null; } - /** - * Azure metadata associated with the resource, only applicable if the finding's cloud provider is Microsoft Azure. - */ export interface Schema$AzureMetadata { - /** - * A list of Azure management groups associated with the resource, ordered from lowest level (closest to the subscription) to highest level. - */ managementGroups?: Schema$AzureManagementGroup[]; - /** - * The Azure resource group associated with the resource. - */ resourceGroup?: Schema$AzureResourceGroup; - /** - * The Azure subscription associated with the resource. - */ subscription?: Schema$AzureSubscription; - /** - * The Azure Entra tenant associated with the resource. - */ tenant?: Schema$AzureTenant; } - /** - * Represents an Azure resource group. - */ export interface Schema$AzureResourceGroup { - /** - * The ID of the Azure resource group. - */ id?: string | null; - /** - * The name of the Azure resource group. This is not a UUID. - */ name?: string | null; } - /** - * Represents an Azure subscription. - */ export interface Schema$AzureSubscription { - /** - * The display name of the Azure subscription. - */ displayName?: string | null; - /** - * The UUID of the Azure subscription, for example, `291bba3f-e0a5-47bc-a099-3bdcb2a50a05`. - */ id?: string | null; } - /** - * Represents a Microsoft Entra tenant. - */ export interface Schema$AzureTenant { - /** - * The display name of the Azure tenant. - */ displayName?: string | null; - /** - * The ID of the Microsoft Entra tenant, for example, "a11aaa11-aa11-1aa1-11aa-1aaa11a". - */ id?: string | null; } - /** - * Information related to Google Cloud Backup and DR Service findings. - */ export interface Schema$BackupDisasterRecovery { - /** - * The name of the Backup and DR appliance that captures, moves, and manages the lifecycle of backup data. For example, `backup-server-57137`. - */ appliance?: string | null; - /** - * The names of Backup and DR applications. An application is a VM, database, or file system on a managed host monitored by a backup and recovery appliance. For example, `centos7-01-vol00`, `centos7-01-vol01`, `centos7-01-vol02`. - */ applications?: string[] | null; - /** - * The timestamp at which the Backup and DR backup was created. - */ backupCreateTime?: string | null; - /** - * The name of a Backup and DR template which comprises one or more backup policies. See the [Backup and DR documentation](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#temp) for more information. For example, `snap-ov`. - */ backupTemplate?: string | null; - /** - * The backup type of the Backup and DR image. For example, `Snapshot`, `Remote Snapshot`, `OnVault`. - */ backupType?: string | null; - /** - * The name of a Backup and DR host, which is managed by the backup and recovery appliance and known to the management console. The host can be of type Generic (for example, Compute Engine, SQL Server, Oracle DB, SMB file system, etc.), vCenter, or an ESX server. See the [Backup and DR documentation on hosts](https://cloud.google.com/backup-disaster-recovery/docs/configuration/manage-hosts-and-their-applications) for more information. For example, `centos7-01`. - */ host?: string | null; - /** - * The names of Backup and DR policies that are associated with a template and that define when to run a backup, how frequently to run a backup, and how long to retain the backup image. For example, `onvaults`. - */ policies?: string[] | null; - /** - * The names of Backup and DR advanced policy options of a policy applying to an application. See the [Backup and DR documentation on policy options](https://cloud.google.com/backup-disaster-recovery/docs/create-plan/policy-settings). For example, `skipofflineappsincongrp, nounmap`. - */ policyOptions?: string[] | null; - /** - * The name of the Backup and DR resource profile that specifies the storage media for backups of application and VM data. See the [Backup and DR documentation on profiles](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#profile). For example, `GCP`. - */ profile?: string | null; - /** - * The name of the Backup and DR storage pool that the backup and recovery appliance is storing data in. The storage pool could be of type Cloud, Primary, Snapshot, or OnVault. See the [Backup and DR documentation on storage pools](https://cloud.google.com/backup-disaster-recovery/docs/concepts/storage-pools). For example, `DiskPoolOne`. - */ storagePool?: string | null; } - /** - * Request message to create multiple resource value configs - */ export interface Schema$BatchCreateResourceValueConfigsRequest { - /** - * Required. The resource value configs to be created. - */ requests?: Schema$CreateResourceValueConfigRequest[]; } - /** - * Response message for BatchCreateResourceValueConfigs - */ export interface Schema$BatchCreateResourceValueConfigsResponse { - /** - * The resource value configs created - */ resourceValueConfigs?: Schema$GoogleCloudSecuritycenterV1ResourceValueConfig[]; } - /** - * The destination BigQuery dataset to export findings to. - */ export interface Schema$BigQueryDestination { - /** - * Required. The relative resource name of the destination dataset, in the form projects/{projectId\}/datasets/{datasetId\}. - */ dataset?: string | null; } - /** - * Associates `members`, or principals, with a `role`. - */ export interface Schema$Binding { - /** - * 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). - */ condition?: Schema$Expr; - /** - * 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\}/x`: 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\}/x`: 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`. - */ members?: string[] | null; - /** - * 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). - */ role?: string | null; } - /** - * Request message for bulk findings update. Note: 1. If multiple bulk update requests match the same resource, the order in which they get executed is not defined. 2. Once a bulk operation is started, there is no way to stop it. - */ export interface Schema$BulkMuteFindingsRequest { - /** - * Expression that identifies findings that should be updated. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are: * `=` for all value types. * `\>`, `<`, `\>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. - */ filter?: string | null; - /** - * This can be a mute configuration name or any identifier for mute/unmute of findings based on the filter. - */ muteAnnotation?: string | null; - /** - * Optional. All findings matching the given filter will have their mute state set to this value. The default value is `MUTED`. Setting this to `UNDEFINED` will clear the mute state on all matching findings. - */ muteState?: string | null; } - /** - * Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations). - */ export interface Schema$Chokepoint { - /** - * List of resource names of findings associated with this chokepoint. For example, organizations/123/sources/456/findings/789. This list will have at most 100 findings. - */ relatedFindings?: string[] | null; } - /** - * Fields related to Google Cloud Armor findings. - */ export interface Schema$CloudArmor { - /** - * Information about potential Layer 7 DDoS attacks identified by [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/adaptive-protection-overview). - */ adaptiveProtection?: Schema$AdaptiveProtection; - /** - * Information about DDoS attack volume and classification. - */ attack?: Schema$Attack; - /** - * Duration of attack from the start until the current moment (updated every 5 minutes). - */ duration?: string | null; - /** - * Information about incoming requests evaluated by [Google Cloud Armor security policies](https://cloud.google.com/armor/docs/security-policy-overview). - */ requests?: Schema$Requests; - /** - * Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding. - */ securityPolicy?: Schema$SecurityPolicy; - /** - * Distinguish between volumetric & protocol DDoS attack and application layer attacks. For example, "L3_4" for Layer 3 and Layer 4 DDoS attacks, or "L_7" for Layer 7 DDoS attacks. - */ threatVector?: string | null; } - /** - * CloudControl associated with the finding. - */ export interface Schema$CloudControl { - /** - * Name of the CloudControl associated with the finding. - */ cloudControlName?: string | null; - /** - * Policy type of the CloudControl - */ policyType?: string | null; - /** - * Type of cloud control. - */ type?: string | null; - /** - * Version of the Cloud Control - */ version?: number | null; } - /** - * The [data profile](https://cloud.google.com/dlp/docs/data-profiles) associated with the finding. - */ export interface Schema$CloudDlpDataProfile { - /** - * Name of the data profile, for example, `projects/123/locations/europe/tableProfiles/8383929`. - */ dataProfile?: string | null; - /** - * Type of information detected by SDP. Info type includes name, version and sensitivity of the detected information type. - */ infoTypes?: Schema$InfoType[]; - /** - * The resource hierarchy level at which the data profile was generated. - */ parentType?: string | null; } - /** - * Details about the Cloud Data Loss Prevention (Cloud DLP) [inspection job](https://cloud.google.com/dlp/docs/concepts-job-triggers) that produced the finding. - */ export interface Schema$CloudDlpInspection { - /** - * Whether Cloud DLP scanned the complete resource or a sampled subset. - */ fullScan?: boolean | null; - /** - * The type of information (or *[infoType](https://cloud.google.com/dlp/docs/infotypes-reference)*) found, for example, `EMAIL_ADDRESS` or `STREET_ADDRESS`. - */ infoType?: string | null; - /** - * The number of times Cloud DLP found this infoType within this job and resource. - */ infoTypeCount?: string | null; - /** - * Name of the inspection job, for example, `projects/123/locations/europe/dlpJobs/i-8383929`. - */ inspectJob?: string | null; } - /** - * Metadata taken from a [Cloud Logging LogEntry](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) - */ export interface Schema$CloudLoggingEntry { - /** - * A unique identifier for the log entry. - */ insertId?: string | null; - /** - * The type of the log (part of `log_name`. `log_name` is the resource name of the log to which this log entry belongs). For example: `cloudresourcemanager.googleapis.com/activity`. Note that this field is not URL-encoded, unlike the `LOG_ID` field in `LogEntry`. - */ logId?: string | null; - /** - * The organization, folder, or project of the monitored resource that produced this log entry. - */ resourceContainer?: string | null; - /** - * The time the event described by the log entry occurred. - */ timestamp?: string | null; } - /** - * Contains compliance information about a security standard indicating unmet recommendations. - */ export interface Schema$Compliance { - /** - * Policies within the standard or benchmark, for example, A.12.4.1 - */ ids?: string[] | null; - /** - * Industry-wide compliance standards or benchmarks, such as CIS, PCI, and OWASP. - */ standard?: string | null; - /** - * Version of the standard or benchmark, for example, 1.1 - */ version?: string | null; } - /** - * Compliance Details associated with the finding. - */ export interface Schema$ComplianceDetails { - /** - * CloudControl associated with the finding - */ cloudControl?: Schema$CloudControl; - /** - * Cloud Control Deployments associated with the finding. For example, organizations/123/locations/global/cloudControlDeployments/deploymentIdentifier - */ cloudControlDeploymentNames?: string[] | null; - /** - * Details of Frameworks associated with the finding - */ frameworks?: Schema$Framework[]; } - /** - * Contains information about the IP connection associated with the finding. - */ export interface Schema$Connection { - /** - * Destination IP address. Not present for sockets that are listening and not connected. - */ destinationIp?: string | null; - /** - * Destination port. Not present for sockets that are listening and not connected. - */ destinationPort?: number | null; - /** - * IANA Internet Protocol Number such as TCP(6) and UDP(17). - */ protocol?: string | null; - /** - * Source IP address. - */ sourceIp?: string | null; - /** - * Source port. - */ sourcePort?: number | null; } - /** - * The email address of a contact. - */ export interface Schema$Contact { - /** - * An email address. For example, "`person123@company.com`". - */ email?: string | null; } - /** - * Details about specific contacts - */ export interface Schema$ContactDetails { - /** - * A list of contacts - */ contacts?: Schema$Contact[]; } - /** - * Container associated with the finding. - */ export interface Schema$Container { - /** - * The time that the container was created. - */ createTime?: string | null; - /** - * Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest. - */ imageId?: string | null; - /** - * Container labels, as provided by the container runtime. - */ labels?: Schema$Label[]; - /** - * Name of the container. - */ name?: string | null; - /** - * Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags. - */ uri?: string | null; } - /** - * Compliance control associated with the finding. - */ export interface Schema$Control { - /** - * Name of the Control - */ controlName?: string | null; - /** - * Display name of the control. For example, AU-02. - */ displayName?: string | null; } - /** - * Request message to create single resource value config - */ export interface Schema$CreateResourceValueConfigRequest { - /** - * Required. Resource name of the new ResourceValueConfig's parent. - */ parent?: string | null; - /** - * Required. The resource value config being created. - */ resourceValueConfig?: Schema$GoogleCloudSecuritycenterV1ResourceValueConfig; } - /** - * An error encountered while validating the uploaded configuration of an Event Threat Detection Custom Module. - */ export interface Schema$CustomModuleValidationError { - /** - * A description of the error, suitable for human consumption. Required. - */ description?: string | null; - /** - * The end position of the error in the uploaded text version of the module. This field may be omitted if no specific position applies, or if one could not be computed. - */ end?: Schema$Position; - /** - * The path, in RFC 8901 JSON Pointer format, to the field that failed validation. This may be left empty if no specific field is affected. - */ fieldPath?: string | null; - /** - * The initial position of the error in the uploaded text version of the module. This field may be omitted if no specific position applies, or if one could not be computed. - */ start?: Schema$Position; } - /** - * A list of zero or more errors encountered while validating the uploaded configuration of an Event Threat Detection Custom Module. - */ export interface Schema$CustomModuleValidationErrors { - /** - * The list of errors. - */ errors?: Schema$CustomModuleValidationError[]; } - /** - * CVE stands for Common Vulnerabilities and Exposures. Information from the [CVE record](https://www.cve.org/ResourcesSupport/Glossary) that describes this vulnerability. - */ export interface Schema$Cve { - /** - * Describe Common Vulnerability Scoring System specified at https://www.first.org/cvss/v3.1/specification-document - */ cvssv3?: Schema$Cvssv3; - /** - * The exploitation activity of the vulnerability in the wild. - */ exploitationActivity?: string | null; - /** - * Date the first publicly available exploit or PoC was released. - */ exploitReleaseDate?: string | null; - /** - * Date of the earliest known exploitation. - */ firstExploitationDate?: string | null; - /** - * The unique identifier for the vulnerability. e.g. CVE-2021-34527 - */ id?: string | null; - /** - * The potential impact of the vulnerability if it was to be exploited. - */ impact?: string | null; - /** - * Whether or not the vulnerability has been observed in the wild. - */ observedInTheWild?: boolean | null; - /** - * Additional information about the CVE. e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527 - */ references?: Schema$Reference[]; - /** - * Whether upstream fix is available for the CVE. - */ upstreamFixAvailable?: boolean | null; - /** - * Whether or not the vulnerability was zero day when the finding was published. - */ zeroDay?: boolean | null; } - /** - * Common Vulnerability Scoring System version 3. - */ export interface Schema$Cvssv3 { - /** - * This metric describes the conditions beyond the attacker's control that must exist in order to exploit the vulnerability. - */ attackComplexity?: string | null; - /** - * Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. This metric reflects the context by which vulnerability exploitation is possible. - */ attackVector?: string | null; - /** - * This metric measures the impact to the availability of the impacted component resulting from a successfully exploited vulnerability. - */ availabilityImpact?: string | null; - /** - * The base score is a function of the base metric scores. - */ baseScore?: number | null; - /** - * This metric measures the impact to the confidentiality of the information resources managed by a software component due to a successfully exploited vulnerability. - */ confidentialityImpact?: string | null; - /** - * This metric measures the impact to integrity of a successfully exploited vulnerability. - */ integrityImpact?: string | null; - /** - * This metric describes the level of privileges an attacker must possess before successfully exploiting the vulnerability. - */ privilegesRequired?: string | null; - /** - * The Scope metric captures whether a vulnerability in one vulnerable component impacts resources in components beyond its security scope. - */ scope?: string | null; - /** - * This metric captures the requirement for a human user, other than the attacker, to participate in the successful compromise of the vulnerable component. - */ userInteraction?: string | null; } - /** - * CWE stands for Common Weakness Enumeration. Information about this weakness, as described by [CWE](https://cwe.mitre.org/). - */ export interface Schema$Cwe { - /** - * The CWE identifier, e.g. CWE-94 - */ id?: string | null; - /** - * Any reference to the details on the CWE, for example, https://cwe.mitre.org/data/definitions/94.html - */ references?: Schema$Reference[]; } - /** - * Details about a data access attempt made by a principal not authorized under applicable data security policy. - */ export interface Schema$DataAccessEvent { - /** - * Unique identifier for data access event. - */ eventId?: string | null; - /** - * Timestamp of data access event. - */ eventTime?: string | null; - /** - * The operation performed by the principal to access the data. - */ operation?: string | null; - /** - * The email address of the principal that accessed the data. The principal could be a user account, service account, Google group, or other. - */ principalEmail?: string | null; } - /** - * Represents database access information, such as queries. A database may be a sub-resource of an instance (as in the case of Cloud SQL instances or Cloud Spanner instances), or the database instance itself. Some database resources might not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types, such as Cloud SQL databases, are not yet supported by Cloud Asset Inventory. In these cases only the display name is provided. - */ export interface Schema$Database { - /** - * The human-readable name of the database that the user connected to. - */ displayName?: string | null; - /** - * The target usernames, roles, or groups of an SQL privilege grant, which is not an IAM policy change. - */ grantees?: string[] | null; - /** - * Some database resources may not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types are not yet supported by Cloud Asset Inventory (e.g. Cloud SQL databases). In these cases only the display name will be provided. The [full resource name](https://google.aip.dev/122#full-resource-names) of the database that the user connected to, if it is supported by Cloud Asset Inventory. - */ name?: string | null; - /** - * The SQL statement that is associated with the database access. - */ query?: string | null; - /** - * The username used to connect to the database. The username might not be an IAM principal and does not have a set format. - */ userName?: string | null; - /** - * The version of the database, for example, POSTGRES_14. See [the complete list](https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1/SqlDatabaseVersion). - */ version?: string | null; } - /** - * Details about a data flow event, in which either the data is moved to or is accessed from a non-compliant geo-location, as defined in the applicable data security policy. - */ export interface Schema$DataFlowEvent { - /** - * Unique identifier for data flow event. - */ eventId?: string | null; - /** - * Timestamp of data flow event. - */ eventTime?: string | null; - /** - * The operation performed by the principal for the data flow event. - */ operation?: string | null; - /** - * The email address of the principal that initiated the data flow event. The principal could be a user account, service account, Google group, or other. - */ principalEmail?: string | null; - /** - * Non-compliant location of the principal or the data destination. - */ violatedLocation?: string | null; } - /** - * Details about data retention deletion violations, in which the data is non-compliant based on their retention or deletion time, as defined in the applicable data security policy. The Data Retention Deletion (DRD) control is a control of the DSPM (Data Security Posture Management) suite that enables organizations to manage data retention and deletion policies in compliance with regulations, such as GDPR and CRPA. DRD supports two primary policy types: maximum storage length (max TTL) and minimum storage length (min TTL). Both are aimed at helping organizations meet regulatory and data management commitments. - */ export interface Schema$DataRetentionDeletionEvent { - /** - * Number of objects that violated the policy for this resource. If the number is less than 1,000, then the value of this field is the exact number. If the number of objects that violated the policy is greater than or equal to 1,000, then the value of this field is 1000. - */ dataObjectCount?: string | null; - /** - * Timestamp indicating when the event was detected. - */ eventDetectionTime?: string | null; - /** - * Type of the DRD event. - */ eventType?: string | null; - /** - * Maximum duration of retention allowed from the DRD control. This comes from the DRD control where users set a max TTL for their data. For example, suppose that a user sets the max TTL for a Cloud Storage bucket to 90 days. However, an object in that bucket is 100 days old. In this case, a DataRetentionDeletionEvent will be generated for that Cloud Storage bucket, and the max_retention_allowed is 90 days. - */ maxRetentionAllowed?: string | null; - /** - * Min duration of retention allowed from the DSPM retention control. This field is only populated when event type is set to EVENT_TYPE_MIN_TTL_FROM_CREATION. - */ minRetentionAllowed?: string | null; } - /** - * Vertex AI dataset associated with the finding. - */ export interface Schema$Dataset { - /** - * The user defined display name of dataset, e.g. plants-dataset - */ displayName?: string | null; - /** - * Resource name of the dataset, e.g. projects/{project\}/locations/{location\}/datasets/2094040236064505856 - */ name?: string | null; - /** - * Data source, such as BigQuery source URI, e.g. bq://scc-nexus-test.AIPPtest.gsod - */ source?: string | null; } - /** - * Denied IP rule. - */ export interface Schema$Denied { - /** - * Optional. Optional list of denied IP rules. - */ ipRules?: Schema$IpRule[]; } - /** - * Memory hash detection contributing to the binary family match. - */ export interface Schema$Detection { - /** - * The name of the binary associated with the memory hash signature detection. - */ binary?: string | null; - /** - * The percentage of memory page hashes in the signature that were matched. - */ percentPagesMatched?: number | null; } - /** - * Represents discovered, customer managed workload that is not registered with the respective GCP service. - */ export interface Schema$DiscoveredWorkload { - /** - * The confidence in detection of this workload. - */ confidence?: string | null; - /** - * A boolean flag set to true if associated hardware strongly predicts the workload type. - */ detectedRelevantHardware?: boolean | null; - /** - * A boolean flag set to true if associated keywords strongly predict the workload type. - */ detectedRelevantKeywords?: boolean | null; - /** - * A boolean flag set to true if installed packages strongly predict the workload type. - */ detectedRelevantPackages?: boolean | null; - /** - * The type of workload. - */ workloadType?: string | null; } - /** - * Contains information about the disk associated with the finding. - */ export interface Schema$Disk { - /** - * The name of the disk, for example, "https://www.googleapis.com/compute/v1/projects/{project-id\}/zones/{zone-id\}/disks/{disk-id\}". - */ name?: string | null; } - /** - * Path of the file in terms of underlying disk/partition identifiers. - */ export interface Schema$DiskPath { - /** - * UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - */ partitionUuid?: string | null; - /** - * Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh - */ relativePath?: string | null; } - /** - * The record of a dynamic mute rule that matches the finding. - */ export interface Schema$DynamicMuteRecord { - /** - * When the dynamic mute rule first matched the finding. - */ matchTime?: string | null; - /** - * The relative resource name of the mute rule, represented by a mute config, that created this record, for example `organizations/123/muteConfigs/mymuteconfig` or `organizations/123/locations/global/muteConfigs/mymuteconfig`. - */ muteConfig?: string | null; } - /** - * An EffectiveEventThreatDetectionCustomModule is the representation of an Event Threat Detection custom module at a specified level of the resource hierarchy: organization, folder, or project. If a custom module is inherited from a parent organization or folder, the value of the `enablement_state` property in EffectiveEventThreatDetectionCustomModule is set to the value that is effective in the parent, instead of `INHERITED`. For example, if the module is enabled in a parent organization or folder, the effective `enablement_state` for the module in all child folders or projects is also `enabled`. EffectiveEventThreatDetectionCustomModule is read-only. - */ export interface Schema$EffectiveEventThreatDetectionCustomModule { - /** - * The cloud provider of the custom module. - */ cloudProvider?: string | null; - /** - * Output only. Config for the effective module. - */ config?: {[key: string]: any} | null; - /** - * Output only. The description for the module. - */ description?: string | null; - /** - * Output only. The human readable name to be displayed for the module. - */ displayName?: string | null; - /** - * Output only. The effective state of enablement for the module at the given level of the hierarchy. - */ enablementState?: string | null; - /** - * Output only. The resource name of the effective ETD custom module. Its format is: * `organizations/{organization\}/eventThreatDetectionSettings/effectiveCustomModules/{module\}`. * `folders/{folder\}/eventThreatDetectionSettings/effectiveCustomModules/{module\}`. * `projects/{project\}/eventThreatDetectionSettings/effectiveCustomModules/{module\}`. - */ name?: string | null; - /** - * Output only. Type for the module. e.g. CONFIGURABLE_BAD_IP. - */ type?: string | null; } - /** - * 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); \} - */ export interface Schema$Empty {} - /** - * A name-value pair representing an environment variable used in an operating system process. - */ export interface Schema$EnvironmentVariable { - /** - * Environment variable name as a JSON encoded string. - */ name?: string | null; - /** - * Environment variable value as a JSON encoded string. - */ val?: string | null; } - /** - * Represents an instance of an Event Threat Detection custom module, including its full module name, display name, enablement state, and last updated time. You can create a custom module at the organization, folder, or project level. Custom modules that you create at the organization or folder level are inherited by child folders and projects. - */ export interface Schema$EventThreatDetectionCustomModule { - /** - * Output only. The closest ancestor module that this module inherits the enablement state from. The format is the same as the EventThreatDetectionCustomModule resource name. - */ ancestorModule?: string | null; - /** - * The cloud provider of the custom module. - */ cloudProvider?: string | null; - /** - * Config for the module. For the resident module, its config value is defined at this level. For the inherited module, its config value is inherited from the ancestor module. - */ config?: {[key: string]: any} | null; - /** - * The description for the module. - */ description?: string | null; - /** - * The human readable name to be displayed for the module. - */ displayName?: string | null; - /** - * The state of enablement for the module at the given level of the hierarchy. - */ enablementState?: string | null; - /** - * Output only. The editor the module was last updated by. - */ lastEditor?: string | null; - /** - * Immutable. The resource name of the Event Threat Detection custom module. Its format is: * `organizations/{organization\}/eventThreatDetectionSettings/customModules/{module\}`. * `folders/{folder\}/eventThreatDetectionSettings/customModules/{module\}`. * `projects/{project\}/eventThreatDetectionSettings/customModules/{module\}`. - */ name?: string | null; - /** - * Type for the module. e.g. CONFIGURABLE_BAD_IP. - */ type?: string | null; - /** - * Output only. The time the module was last updated. - */ updateTime?: string | null; } - /** - * Resource where data was exfiltrated from or exfiltrated to. - */ export interface Schema$ExfilResource { - /** - * Subcomponents of the asset that was exfiltrated, like URIs used during exfiltration, table names, databases, and filenames. For example, multiple tables might have been exfiltrated from the same Cloud SQL instance, or multiple files might have been exfiltrated from the same Cloud Storage bucket. - */ components?: string[] | null; - /** - * The resource's [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name). - */ name?: string | null; } - /** - * Exfiltration represents a data exfiltration attempt from one or more sources to one or more targets. The `sources` attribute lists the sources of the exfiltrated data. The `targets` attribute lists the destinations the data was copied to. - */ export interface Schema$Exfiltration { - /** - * If there are multiple sources, then the data is considered "joined" between them. For instance, BigQuery can join multiple tables, and each table would be considered a source. - */ sources?: Schema$ExfilResource[]; - /** - * If there are multiple targets, each target would get a complete copy of the "joined" source data. - */ targets?: Schema$ExfilResource[]; - /** - * Total exfiltrated bytes processed for the entire job. - */ totalExfiltratedBytes?: string | null; } - /** - * The LRO metadata for a ExportFindings request. - */ export interface Schema$ExportFindingsMetadata { - /** - * Required. The destination BigQuery dataset to export findings to. - */ bigQueryDestination?: Schema$BigQueryDestination; - /** - * Optional. Timestamp at which export was started - */ exportStartTime?: string | null; } - /** - * The response to a ExportFindings request. Contains the LRO information. - */ export interface Schema$ExportFindingsResponse {} - /** - * 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. - */ export interface Schema$Expr { - /** - * Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. - */ description?: string | null; - /** - * Textual representation of an expression in Common Expression Language syntax. - */ expression?: string | null; - /** - * Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. - */ location?: string | null; - /** - * 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. - */ title?: string | null; } - /** - * Details about the externally exposed resource associated with the finding. - */ export interface Schema$ExternalExposure { - /** - * The full resource name of the load balancer backend bucket, for example, "//compute.googleapis.com/projects/{project-id\}/global/backendBuckets/{name\}" - */ backendBucket?: string | null; - /** - * The full resource name of load balancer backend service, for example, "//compute.googleapis.com/projects/{project-id\}/global/backendServices/{name\}". - */ backendService?: string | null; - /** - * The name and version of the exposed web application, for example, "Jenkins 2.184". - */ exposedApplication?: string | null; - /** - * The resource which is running the exposed service, for example, "//compute.googleapis.com/projects/{project-id\}/zones/{zone\}/instances/{instance\}.” - */ exposedEndpoint?: string | null; - /** - * The name and version of the service, for example, "Jupyter Notebook 6.14.0". - */ exposedService?: string | null; - /** - * The full resource name of the forwarding rule, for example, "//compute.googleapis.com/projects/{project-id\}/global/forwardingRules/{forwarding-rule-name\}". - */ forwardingRule?: string | null; - /** - * Hostname of the exposed application, for example, "https://test-app.a.run.app/" - */ hostnameUri?: string | null; - /** - * The http response returned by the web application. - */ httpResponse?: Schema$HttpResponse[]; - /** - * The full resource name of the instance group, for example, "//compute.googleapis.com/projects/{project-id\}/global/instanceGroups/{name\}". - */ instanceGroup?: string | null; - /** - * The full resource name of load balancer backend service in the internal project having resource exposed via PSC, for example, "//compute.googleapis.com/projects/{project-id\}/global/backendServices/{name\}". - */ internalBackendService?: string | null; - /** - * The full resource name of the load balancer firewall policy, for example, "//compute.googleapis.com/projects/{project-id\}/global/firewallPolicies/{policy-name\}". - */ loadBalancerFirewallPolicy?: string | null; - /** - * The full resource name of the network endpoint group, for example, "//compute.googleapis.com/projects/{project-id\}/global/networkEndpointGroups/{name\}". - */ networkEndpointGroup?: string | null; - /** - * The full resource name of the network ingress firewall policy, for example, "//compute.googleapis.com/projects/{project-id\}/global/firewallPolicies/{name\}". - */ networkIngressFirewallPolicy?: string | null; - /** - * Private IP address of the exposed endpoint. - */ privateIpAddress?: string | null; - /** - * Port number associated with private IP address. - */ privatePort?: string | null; - /** - * The full resource name of the PSC (Private Service Connect) network attachment that network interface controller is attached to, for example, "//compute.googleapis.com/projects/{project-id\}/regions/{region\}/networkAttachments/{name\}" - */ pscNetworkAttachment?: string | null; - /** - * The full resource name of the PSC (Private Service Connect) service attachment that the load balancer network endpoint group targets, for example, "//compute.googleapis.com/projects/{project-id\}/regions/{region\}/serviceAttachments/{name\}" - */ pscServiceAttachment?: string | null; - /** - * Public IP address of the exposed endpoint. - */ publicIpAddress?: string | null; - /** - * Public port number of the exposed endpoint. - */ publicPort?: string | null; - /** - * The full resource name of the firewall policy of the exposed service, for example, "//compute.googleapis.com/projects/{project-id\}/global/firewallPolicies/{policy-name\}". - */ serviceFirewallPolicy?: string | null; } - /** - * File information about the related binary/library used by an executable, or the script used by a script interpreter - */ export interface Schema$File { - /** - * Prefix of the file contents as a JSON-encoded string. - */ contents?: string | null; - /** - * Path of the file in terms of underlying disk/partition identifiers. - */ diskPath?: Schema$DiskPath; - /** - * The load state of the file. - */ fileLoadState?: string | null; - /** - * The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - */ hashedSize?: string | null; - /** - * Operation(s) performed on a file. - */ operations?: Schema$FileOperation[]; - /** - * True when the hash covers only a prefix of the file. - */ partiallyHashed?: boolean | null; - /** - * Absolute path of the file as a JSON encoded string. - */ path?: string | null; - /** - * SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - */ sha256?: string | null; - /** - * Size of the file in bytes. - */ size?: string | null; } - /** - * Operation(s) performed on a file. - */ export interface Schema$FileOperation { - /** - * The type of the operation - */ type?: string | null; } - /** - * Security Command Center finding. A finding is a record of assessment data like security, risk, health, or privacy, that is ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, a cross-site scripting (XSS) vulnerability in an App Engine application is a finding. - */ export interface Schema$Finding { - /** - * Access details associated with the finding, such as more information on the caller, which method was accessed, and from where. - */ access?: Schema$Access; - /** - * AffectedResources associated with the finding. - */ affectedResources?: Schema$AffectedResources; - /** - * Agent data access events associated with the finding. - */ agentDataAccessEvents?: Schema$AgentDataAccessEvent[]; - /** - * The AI model associated with the finding. - */ aiModel?: Schema$AiModel; - /** - * Represents an application associated with the finding. - */ application?: Schema$Application; - /** - * ArtifactGuardPolicies associated with the finding. - */ artifactGuardPolicies?: Schema$ArtifactGuardPolicies; - /** - * The results of an attack path simulation relevant to this finding. - */ attackExposure?: Schema$AttackExposure; - /** - * Fields related to Backup and DR findings. - */ backupDisasterRecovery?: Schema$BackupDisasterRecovery; - /** - * The canonical name of the finding. It's either "organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}", "folders/{folder_id\}/sources/{source_id\}/findings/{finding_id\}" or "projects/{project_number\}/sources/{source_id\}/findings/{finding_id\}", depending on the closest CRM ancestor of the resource associated with the finding. - */ canonicalName?: string | null; - /** - * The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: "XSS_FLASH_INJECTION" - */ category?: string | null; - /** - * Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations). This field cannot be updated. Its value is ignored in all update requests. - */ chokepoint?: Schema$Chokepoint; - /** - * Fields related to Cloud Armor findings. - */ cloudArmor?: Schema$CloudArmor; - /** - * Cloud DLP data profile that is associated with the finding. - */ cloudDlpDataProfile?: Schema$CloudDlpDataProfile; - /** - * Cloud Data Loss Prevention (Cloud DLP) inspection results that are associated with the finding. - */ cloudDlpInspection?: Schema$CloudDlpInspection; - /** - * Details about the compliance implications of the finding. - */ complianceDetails?: Schema$ComplianceDetails; - /** - * Contains compliance information for security standards associated to the finding. - */ compliances?: Schema$Compliance[]; - /** - * Contains information about the IP connection associated with the finding. - */ connections?: Schema$Connection[]; - /** - * Output only. Map containing the points of contact for the given finding. The key represents the type of contact, while the value contains a list of all the contacts that pertain. Please refer to: https://cloud.google.com/resource-manager/docs/managing-notification-contacts#notification-categories { "security": { "contacts": [ { "email": "person1@company.com" \}, { "email": "person2@company.com" \} ] \} \} - */ contacts?: {[key: string]: Schema$ContactDetails} | null; - /** - * Containers associated with the finding. This field provides information for both Kubernetes and non-Kubernetes containers. - */ containers?: Schema$Container[]; - /** - * The time at which the finding was created in Security Command Center. - */ createTime?: string | null; - /** - * Data access events associated with the finding. - */ dataAccessEvents?: Schema$DataAccessEvent[]; - /** - * Database associated with the finding. - */ database?: Schema$Database; - /** - * Data flow events associated with the finding. - */ dataFlowEvents?: Schema$DataFlowEvent[]; - /** - * Data retention deletion events associated with the finding. - */ dataRetentionDeletionEvents?: Schema$DataRetentionDeletionEvent[]; - /** - * Contains more details about the finding. - */ description?: string | null; - /** - * DiscoveredWorkload associated with the finding. - */ discoveredWorkload?: Schema$DiscoveredWorkload; - /** - * Disk associated with the finding. - */ disk?: Schema$Disk; - /** - * The time the finding was first detected. If an existing finding is updated, then this is the time the update occurred. For example, if the finding represents an open firewall, this property captures the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding is later resolved, then this time reflects when the finding was resolved. This must not be set to a value greater than the current timestamp. - */ eventTime?: string | null; - /** - * Represents exfiltrations associated with the finding. - */ exfiltration?: Schema$Exfiltration; - /** - * External exposure associated with the finding. - */ externalExposure?: Schema$ExternalExposure; - /** - * Output only. Third party SIEM/SOAR fields within SCC, contains external system information and external system finding fields. - */ externalSystems?: { [key: string]: Schema$GoogleCloudSecuritycenterV1ExternalSystem; } | null; - /** - * The URI that, if available, points to a web page outside of Security Command Center where additional information about the finding can be found. This field is guaranteed to be either empty or a well formed URL. - */ externalUri?: string | null; - /** - * File associated with the finding. - */ files?: Schema$File[]; - /** - * The class of the finding. - */ findingClass?: string | null; - /** - * Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way. This field cannot be updated. Its value is ignored in all update requests. - */ groupMemberships?: Schema$GroupMembership[]; - /** - * Represents IAM bindings associated with the finding. - */ iamBindings?: Schema$IamBinding[]; - /** - * Represents what's commonly known as an *indicator of compromise* (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise). - */ indicator?: Schema$Indicator; - /** - * IP rules associated with the finding. - */ ipRules?: Schema$IpRules; - /** - * Job associated with the finding. - */ job?: Schema$Job; - /** - * Signature of the kernel rootkit. - */ kernelRootkit?: Schema$KernelRootkit; - /** - * Kubernetes resources associated with the finding. - */ kubernetes?: Schema$Kubernetes; - /** - * The load balancers associated with the finding. - */ loadBalancers?: Schema$LoadBalancer[]; - /** - * Log entries that are relevant to the finding. - */ logEntries?: Schema$LogEntry[]; - /** - * MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org - */ mitreAttack?: Schema$MitreAttack; - /** - * Unique identifier of the module which generated the finding. Example: folders/598186756061/securityHealthAnalyticsSettings/customModules/56799441161885 - */ moduleName?: string | null; - /** - * Indicates the mute state of a finding (either muted, unmuted or undefined). Unlike other attributes of a finding, a finding provider shouldn't set the value of mute. - */ mute?: string | null; - /** - * Output only. The mute information regarding this finding. - */ muteInfo?: Schema$MuteInfo; - /** - * Records additional information about the mute operation, for example, the [mute configuration](/security-command-center/docs/how-to-mute-findings) that muted the finding and the user who muted the finding. - */ muteInitiator?: string | null; - /** - * Output only. The most recent time this finding was muted or unmuted. - */ muteUpdateTime?: string | null; - /** - * The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: "organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}", "folders/{folder_id\}/sources/{source_id\}/findings/{finding_id\}", "projects/{project_id\}/sources/{source_id\}/findings/{finding_id\}". - */ name?: string | null; - /** - * Represents the VPC networks that the resource is attached to. - */ networks?: Schema$Network[]; - /** - * Steps to address the finding. - */ nextSteps?: string | null; - /** - * Notebook associated with the finding. - */ notebook?: Schema$Notebook; - /** - * Contains information about the org policies associated with the finding. - */ orgPolicies?: Schema$OrgPolicy[]; - /** - * The relative resource name of the source the finding belongs to. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name This field is immutable after creation time. For example: "organizations/{organization_id\}/sources/{source_id\}" - */ parent?: string | null; - /** - * Output only. The human readable display name of the finding source such as "Event Threat Detection" or "Security Health Analytics". - */ parentDisplayName?: string | null; - /** - * PolicyViolationSummary associated with the finding. - */ policyViolationSummary?: Schema$PolicyViolationSummary; - /** - * Represents operating system processes associated with the Finding. - */ processes?: Schema$Process[]; - /** - * For findings on Google Cloud resources, the full resource name of the Google Cloud resource this finding is for. See: https://cloud.google.com/apis/design/resource_names#full_resource_name When the finding is for a non-Google Cloud resource, the resourceName can be a customer or partner defined string. This field is immutable after creation time. - */ resourceName?: string | null; - /** - * Secret associated with the finding. - */ secret?: Schema$Secret; - /** - * Output only. User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the finding. - */ securityMarks?: Schema$SecurityMarks; - /** - * The security posture associated with the finding. - */ securityPosture?: Schema$SecurityPosture; - /** - * The severity of the finding. This field is managed by the source that writes the finding. - */ severity?: string | null; - /** - * Source specific properties. These properties are managed by the source that writes the finding. The key names in the source_properties map must be between 1 and 255 characters, and must start with a letter and contain alphanumeric characters or underscores only. - */ sourceProperties?: {[key: string]: any} | null; - /** - * The state of the finding. - */ state?: string | null; - /** - * Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. This field cannot be updated. Its value is ignored in all update requests. - */ toxicCombination?: Schema$ToxicCombination; - /** - * VertexAi associated with the finding. - */ vertexAi?: Schema$VertexAi; - /** - * Represents vulnerability-specific fields like CVE and CVSS scores. CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/) - */ vulnerability?: Schema$Vulnerability; } - /** - * Message that contains the resource name and display name of a folder resource. - */ export interface Schema$Folder { - /** - * Full resource name of this folder. See: https://cloud.google.com/apis/design/resource_names#full_resource_name - */ resourceFolder?: string | null; - /** - * The user defined display name for this folder. - */ resourceFolderDisplayName?: string | null; } - /** - * Compliance framework associated with the finding. - */ export interface Schema$Framework { - /** - * Category of the framework associated with the finding. E.g. Security Benchmark, or Assured Workloads - */ category?: string[] | null; - /** - * The controls associated with the framework. - */ controls?: Schema$Control[]; - /** - * Display name of the framework. For a standard framework, this will look like e.g. PCI DSS 3.2.1, whereas for a custom framework it can be a user defined string like MyFramework - */ displayName?: string | null; - /** - * Name of the framework associated with the finding - */ name?: string | null; - /** - * Type of the framework associated with the finding, to specify whether the framework is built-in (pre-defined and immutable) or a custom framework defined by the customer (equivalent to security posture) - */ type?: string | null; } - /** - * Google Cloud metadata associated with the resource. Only applicable if the finding's cloud provider is Google Cloud. - */ export interface Schema$GcpMetadata { - /** - * Output only. Contains a Folder message for each folder in the assets ancestry. The first folder is the deepest nested folder, and the last folder is the folder directly under the Organization. - */ folders?: Schema$GoogleCloudSecuritycenterV2Folder[]; - /** - * The name of the organization that the resource belongs to. - */ organization?: string | null; - /** - * The full resource name of resource's parent. - */ parent?: string | null; - /** - * The human readable name of resource's parent. - */ parentDisplayName?: string | null; - /** - * The full resource name of project that the resource belongs to. - */ project?: string | null; - /** - * The project ID that the resource belongs to. - */ projectDisplayName?: string | null; } - /** - * Represents a geographical location for a given access. - */ export interface Schema$Geolocation { - /** - * A CLDR. - */ regionCode?: string | null; } - /** - * Request message for `GetIamPolicy` method. - */ export interface Schema$GetIamPolicyRequest { - /** - * OPTIONAL: A `GetPolicyOptions` object for specifying options to `GetIamPolicy`. - */ options?: Schema$GetPolicyOptions; } - /** - * Encapsulates settings provided to GetIamPolicy. - */ export interface Schema$GetPolicyOptions { - /** - * 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). - */ requestedPolicyVersion?: number | null; } - /** - * Response of asset discovery run - */ export interface Schema$GoogleCloudSecuritycenterV1beta1RunAssetDiscoveryResponse { - /** - * The duration between asset discovery run start and end - */ duration?: string | null; - /** - * The state of an asset discovery run. - */ state?: string | null; } - /** - * Configures how to deliver Findings to BigQuery Instance. - */ export interface Schema$GoogleCloudSecuritycenterV1BigQueryExport { - /** - * Output only. The time at which the BigQuery export was created. This field is set by the server and will be ignored if provided on export on creation. - */ createTime?: string | null; - /** - * The dataset to write findings' updates to. Its format is "projects/[project_id]/datasets/[bigquery_dataset_id]". BigQuery Dataset unique ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). - */ dataset?: string | null; - /** - * The description of the export (max of 1024 characters). - */ description?: string | null; - /** - * Expression that defines the filter to apply across create/update events of findings. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are: * `=` for all value types. * `\>`, `<`, `\>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. - */ filter?: string | null; - /** - * Output only. Email address of the user who last edited the BigQuery export. This field is set by the server and will be ignored if provided on export creation or update. - */ mostRecentEditor?: string | null; - /** - * The relative resource name of this export. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name. Example format: "organizations/{organization_id\}/bigQueryExports/{export_id\}" Example format: "folders/{folder_id\}/bigQueryExports/{export_id\}" Example format: "projects/{project_id\}/bigQueryExports/{export_id\}" This field is provided in responses, and is ignored when provided in create requests. - */ name?: string | null; - /** - * Output only. The service account that needs permission to create table and upload data to the BigQuery dataset. - */ principal?: string | null; - /** - * Output only. The most recent time at which the BigQuery export was updated. This field is set by the server and will be ignored if provided on export creation or update. - */ updateTime?: string | null; } - /** - * Represents a Kubernetes RoleBinding or ClusterRoleBinding. - */ export interface Schema$GoogleCloudSecuritycenterV1Binding { - /** - * Name for the binding. - */ name?: string | null; - /** - * Namespace for the binding. - */ ns?: string | null; - /** - * The Role or ClusterRole referenced by the binding. - */ role?: Schema$Role; - /** - * Represents one or more subjects that are bound to the role. Not always available for PATCH requests. - */ subjects?: Schema$Subject[]; } - /** - * The response to a BulkMute request. Contains the LRO information. - */ export interface Schema$GoogleCloudSecuritycenterV1BulkMuteFindingsResponse {} - /** - * Defines the properties in a custom module configuration for Security Health Analytics. Use the custom module configuration to create custom detectors that generate custom findings for resources that you specify. - */ export interface Schema$GoogleCloudSecuritycenterV1CustomConfig { - /** - * Custom output properties. - */ customOutput?: Schema$GoogleCloudSecuritycenterV1CustomOutputSpec; - /** - * Text that describes the vulnerability or misconfiguration that the custom module detects. This explanation is returned with each finding instance to help investigators understand the detected issue. The text must be enclosed in quotation marks. - */ description?: string | null; - /** - * The CEL expression to evaluate to produce findings. When the expression evaluates to true against a resource, a finding is generated. - */ predicate?: Schema$Expr; - /** - * An explanation of the recommended steps that security teams can take to resolve the detected issue. This explanation is returned with each finding generated by this module in the `nextSteps` property of the finding JSON. - */ recommendation?: string | null; - /** - * The resource types that the custom module operates on. Each custom module can specify up to 5 resource types. - */ resourceSelector?: Schema$GoogleCloudSecuritycenterV1ResourceSelector; - /** - * The severity to assign to findings generated by the module. - */ severity?: string | null; } - /** - * A set of optional name-value pairs that define custom source properties to return with each finding that is generated by the custom module. The custom source properties that are defined here are included in the finding JSON under `sourceProperties`. - */ export interface Schema$GoogleCloudSecuritycenterV1CustomOutputSpec { - /** - * A list of custom output properties to add to the finding. - */ properties?: Schema$GoogleCloudSecuritycenterV1Property[]; } - /** - * An EffectiveSecurityHealthAnalyticsCustomModule is the representation of a Security Health Analytics custom module at a specified level of the resource hierarchy: organization, folder, or project. If a custom module is inherited from a parent organization or folder, the value of the `enablementState` property in EffectiveSecurityHealthAnalyticsCustomModule is set to the value that is effective in the parent, instead of `INHERITED`. For example, if the module is enabled in a parent organization or folder, the effective enablement_state for the module in all child folders or projects is also `enabled`. EffectiveSecurityHealthAnalyticsCustomModule is read-only. - */ export interface Schema$GoogleCloudSecuritycenterV1EffectiveSecurityHealthAnalyticsCustomModule { - /** - * The cloud provider of the custom module. - */ cloudProvider?: string | null; - /** - * Output only. The user-specified configuration for the module. - */ customConfig?: Schema$GoogleCloudSecuritycenterV1CustomConfig; - /** - * Output only. The display name for the custom module. The name must be between 1 and 128 characters, start with a lowercase letter, and contain alphanumeric characters or underscores only. - */ displayName?: string | null; - /** - * Output only. The effective state of enablement for the module at the given level of the hierarchy. - */ enablementState?: string | null; - /** - * Output only. The resource name of the custom module. Its format is "organizations/{organization\}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule\}", or "folders/{folder\}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule\}", or "projects/{project\}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule\}" - */ name?: string | null; } - /** - * Representation of third party SIEM/SOAR fields within SCC. - */ export interface Schema$GoogleCloudSecuritycenterV1ExternalSystem { - /** - * References primary/secondary etc assignees in the external system. - */ assignees?: string[] | null; - /** - * The time when the case was closed, as reported by the external system. - */ caseCloseTime?: string | null; - /** - * The time when the case was created, as reported by the external system. - */ caseCreateTime?: string | null; - /** - * The priority of the finding's corresponding case in the external system. - */ casePriority?: string | null; - /** - * The SLA of the finding's corresponding case in the external system. - */ caseSla?: string | null; - /** - * The link to the finding's corresponding case in the external system. - */ caseUri?: string | null; - /** - * The time when the case was last updated, as reported by the external system. - */ externalSystemUpdateTime?: string | null; - /** - * The identifier that's used to track the finding's corresponding case in the external system. - */ externalUid?: string | null; - /** - * Full resource name of the external system, for example: "organizations/1234/sources/5678/findings/123456/externalSystems/jira", "folders/1234/sources/5678/findings/123456/externalSystems/jira", "projects/1234/sources/5678/findings/123456/externalSystems/jira" - */ name?: string | null; - /** - * The most recent status of the finding's corresponding case, as reported by the external system. - */ status?: string | null; - /** - * Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding. - */ ticketInfo?: Schema$TicketInfo; } - /** - * A mute config is a Cloud SCC resource that contains the configuration to mute create/update events of findings. - */ export interface Schema$GoogleCloudSecuritycenterV1MuteConfig { - /** - * Output only. The time at which the mute config was created. This field is set by the server and will be ignored if provided on config creation. - */ createTime?: string | null; - /** - * A description of the mute config. - */ description?: string | null; - /** - * The human readable name to be displayed for the mute config. - */ displayName?: string | null; - /** - * Optional. The expiry of the mute config. Only applicable for dynamic configs. If the expiry is set, when the config expires, it is removed from all findings. - */ expiryTime?: string | null; - /** - * Required. An expression that defines the filter to apply across create/update events of findings. While creating a filter string, be mindful of the scope in which the mute configuration is being created. E.g., If a filter contains project = X but is created under the project = Y scope, it might not match any findings. The following field and operator combinations are supported: * severity: `=`, `:` * category: `=`, `:` * resource.name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.folders.resource_folder: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.type: `=`, `:` * finding_class: `=`, `:` * indicator.ip_addresses: `=`, `:` * indicator.domains: `=`, `:` - */ filter?: string | null; - /** - * Output only. Email address of the user who last edited the mute config. This field is set by the server and will be ignored if provided on config creation or update. - */ mostRecentEditor?: string | null; - /** - * This field will be ignored if provided on config creation. Format `organizations/{organization\}/muteConfigs/{mute_config\}` `folders/{folder\}/muteConfigs/{mute_config\}` `projects/{project\}/muteConfigs/{mute_config\}` `organizations/{organization\}/locations/global/muteConfigs/{mute_config\}` `folders/{folder\}/locations/global/muteConfigs/{mute_config\}` `projects/{project\}/locations/global/muteConfigs/{mute_config\}` - */ name?: string | null; - /** - * Optional. The type of the mute config, which determines what type of mute state the config affects. The static mute state takes precedence over the dynamic mute state. Immutable after creation. STATIC by default if not set during creation. - */ type?: string | null; - /** - * Output only. The most recent time at which the mute config was updated. This field is set by the server and will be ignored if provided on config creation or update. - */ updateTime?: string | null; } - /** - * Cloud SCC's Notification - */ export interface Schema$GoogleCloudSecuritycenterV1NotificationMessage { - /** - * If it's a Finding based notification config, this field will be populated. - */ finding?: Schema$Finding; - /** - * Name of the notification config that generated current notification. - */ notificationConfigName?: string | null; - /** - * The Cloud resource tied to this notification's Finding. - */ resource?: Schema$GoogleCloudSecuritycenterV1Resource; } - /** - * Security Command Center finding. A finding is a record of assessment data (security, risk, health or privacy) ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, an XSS vulnerability in an App Engine application is a finding. - */ export interface Schema$GoogleCloudSecuritycenterV1p1beta1Finding { - /** - * The canonical name of the finding. It's either "organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}", "folders/{folder_id\}/sources/{source_id\}/findings/{finding_id\}" or "projects/{project_number\}/sources/{source_id\}/findings/{finding_id\}", depending on the closest CRM ancestor of the resource associated with the finding. - */ canonicalName?: string | null; - /** - * The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: "XSS_FLASH_INJECTION" - */ category?: string | null; - /** - * The time at which the finding was created in Security Command Center. - */ createTime?: string | null; - /** - * The time at which the event took place, or when an update to the finding occurred. For example, if the finding represents an open firewall it would capture the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding were to be resolved afterward, this time would reflect when the finding was resolved. Must not be set to a value greater than the current timestamp. - */ eventTime?: string | null; - /** - * The URI that, if available, points to a web page outside of Security Command Center where additional information about the finding can be found. This field is guaranteed to be either empty or a well formed URL. - */ externalUri?: string | null; - /** - * The relative resource name of this finding. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}" - */ name?: string | null; - /** - * The relative resource name of the source the finding belongs to. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name This field is immutable after creation time. For example: "organizations/{organization_id\}/sources/{source_id\}" - */ parent?: string | null; - /** - * For findings on Google Cloud resources, the full resource name of the Google Cloud resource this finding is for. See: https://cloud.google.com/apis/design/resource_names#full_resource_name When the finding is for a non-Google Cloud resource, the resourceName can be a customer or partner defined string. This field is immutable after creation time. - */ resourceName?: string | null; - /** - * Output only. User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the finding. - */ securityMarks?: Schema$GoogleCloudSecuritycenterV1p1beta1SecurityMarks; - /** - * The severity of the finding. This field is managed by the source that writes the finding. - */ severity?: string | null; - /** - * Source specific properties. These properties are managed by the source that writes the finding. The key names in the source_properties map must be between 1 and 255 characters, and must start with a letter and contain alphanumeric characters or underscores only. - */ sourceProperties?: {[key: string]: any} | null; - /** - * The state of the finding. - */ state?: string | null; } - /** - * Message that contains the resource name and display name of a folder resource. - */ export interface Schema$GoogleCloudSecuritycenterV1p1beta1Folder { - /** - * Full resource name of this folder. See: https://cloud.google.com/apis/design/resource_names#full_resource_name - */ resourceFolder?: string | null; - /** - * The user defined display name for this folder. - */ resourceFolderDisplayName?: string | null; - } - /** - * Security Command Center's Notification - */ + } export interface Schema$GoogleCloudSecuritycenterV1p1beta1NotificationMessage { - /** - * If it's a Finding based notification config, this field will be populated. - */ finding?: Schema$GoogleCloudSecuritycenterV1p1beta1Finding; - /** - * Name of the notification config that generated current notification. - */ notificationConfigName?: string | null; - /** - * The Cloud resource tied to the notification. - */ resource?: Schema$GoogleCloudSecuritycenterV1p1beta1Resource; } - /** - * Information related to the Google Cloud resource. - */ export interface Schema$GoogleCloudSecuritycenterV1p1beta1Resource { - /** - * Output only. Contains a Folder message for each folder in the assets ancestry. The first folder is the deepest nested folder, and the last folder is the folder directly under the Organization. - */ folders?: Schema$GoogleCloudSecuritycenterV1p1beta1Folder[]; - /** - * The full resource name of the resource. See: https://cloud.google.com/apis/design/resource_names#full_resource_name - */ name?: string | null; - /** - * The full resource name of resource's parent. - */ parent?: string | null; - /** - * The human readable name of resource's parent. - */ parentDisplayName?: string | null; - /** - * The full resource name of project that the resource belongs to. - */ project?: string | null; - /** - * The project id that the resource belongs to. - */ projectDisplayName?: string | null; } - /** - * Response of asset discovery run - */ export interface Schema$GoogleCloudSecuritycenterV1p1beta1RunAssetDiscoveryResponse { - /** - * The duration between asset discovery run start and end - */ duration?: string | null; - /** - * The state of an asset discovery run. - */ state?: string | null; } - /** - * User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization. - */ export interface Schema$GoogleCloudSecuritycenterV1p1beta1SecurityMarks { - /** - * The canonical name of the marks. Examples: "organizations/{organization_id\}/assets/{asset_id\}/securityMarks" "folders/{folder_id\}/assets/{asset_id\}/securityMarks" "projects/{project_number\}/assets/{asset_id\}/securityMarks" "organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}/securityMarks" "folders/{folder_id\}/sources/{source_id\}/findings/{finding_id\}/securityMarks" "projects/{project_number\}/sources/{source_id\}/findings/{finding_id\}/securityMarks" - */ canonicalName?: string | null; - /** - * Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive) - */ marks?: {[key: string]: string} | null; - /** - * The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id\}/assets/{asset_id\}/securityMarks" "organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}/securityMarks". - */ name?: string | null; } - /** - * An individual name-value pair that defines a custom source property. - */ export interface Schema$GoogleCloudSecuritycenterV1Property { - /** - * Name of the property for the custom output. - */ name?: string | null; - /** - * The CEL expression for the custom output. A resource property can be specified to return the value of the property or a text string enclosed in quotation marks. - */ valueExpression?: Schema$Expr; } - /** - * Information related to the Google Cloud resource. - */ export interface Schema$GoogleCloudSecuritycenterV1Resource { - /** - * The ADC application associated with the finding. - */ adcApplication?: Schema$AdcApplication; - /** - * The ADC template associated with the finding. - */ adcApplicationTemplate?: Schema$AdcApplicationTemplateRevision; - /** - * The ADC shared template associated with the finding. - */ adcSharedTemplate?: Schema$AdcSharedTemplateRevision; - /** - * The App Hub application this resource belongs to. - */ application?: Schema$GoogleCloudSecuritycenterV1ResourceApplication; - /** - * The AWS metadata associated with the finding. - */ awsMetadata?: Schema$AwsMetadata; - /** - * The Azure metadata associated with the finding. - */ azureMetadata?: Schema$AzureMetadata; - /** - * Indicates which cloud provider the resource resides in. - */ cloudProvider?: string | null; - /** - * The human readable name of the resource. - */ displayName?: string | null; - /** - * Output only. Contains a Folder message for each folder in the assets ancestry. The first folder is the deepest nested folder, and the last folder is the folder directly under the Organization. - */ folders?: Schema$Folder[]; - /** - * The region or location of the service (if applicable). - */ location?: string | null; - /** - * The full resource name of the resource. See: https://cloud.google.com/apis/design/resource_names#full_resource_name - */ name?: string | null; - /** - * Indicates which organization or tenant in the cloud provider the finding applies to. - */ organization?: string | null; - /** - * The full resource name of resource's parent. - */ parent?: string | null; - /** - * The human readable name of resource's parent. - */ parentDisplayName?: string | null; - /** - * The full resource name of project that the resource belongs to. - */ project?: string | null; - /** - * The project ID that the resource belongs to. - */ projectDisplayName?: string | null; - /** - * Provides the path to the resource within the resource hierarchy. - */ resourcePath?: Schema$ResourcePath; - /** - * A string representation of the resource path. For Google Cloud, it has the format of `organizations/{organization_id\}/folders/{folder_id\}/folders/{folder_id\}/projects/{project_id\}` where there can be any number of folders. For AWS, it has the format of `org/{organization_id\}/ou/{organizational_unit_id\}/ou/{organizational_unit_id\}/account/{account_id\}` where there can be any number of organizational units. For Azure, it has the format of `mg/{management_group_id\}/mg/{management_group_id\}/subscription/{subscription_id\}/rg/{resource_group_name\}` where there can be any number of management groups. - */ resourcePathString?: string | null; - /** - * The parent service or product from which the resource is provided, for example, GKE or SNS. - */ service?: string | null; - /** - * The full resource type of the resource. - */ type?: string | null; } - /** - * The App Hub Application associated with the finding's resource. - */ export interface Schema$GoogleCloudSecuritycenterV1ResourceApplication { - /** - * Consumer provided attributes for the application - */ attributes?: Schema$GoogleCloudSecuritycenterV1ResourceApplicationAttributes; - /** - * The resource name of an Application. Format: `projects/{host-project-id\}/locations/{location\}/applications/{application-id\}` - */ name?: string | null; } - /** - * Consumer provided attributes for the application - */ export interface Schema$GoogleCloudSecuritycenterV1ResourceApplicationAttributes { - /** - * Business team that ensures user needs are met and value is delivered - */ businessOwners?: Schema$GoogleCloudSecuritycenterV1ResourceApplicationAttributesContactInfo[]; - /** - * User-defined criticality information. - */ criticality?: Schema$GoogleCloudSecuritycenterV1ResourceApplicationAttributesCriticality; - /** - * Developer team that owns development and coding. - */ developerOwners?: Schema$GoogleCloudSecuritycenterV1ResourceApplicationAttributesContactInfo[]; - /** - * User-defined environment information. - */ environment?: Schema$GoogleCloudSecuritycenterV1ResourceApplicationAttributesEnvironment; - /** - * Operator team that ensures runtime and operations. - */ operatorOwners?: Schema$GoogleCloudSecuritycenterV1ResourceApplicationAttributesContactInfo[]; } - /** - * Contact information of stakeholders. - */ export interface Schema$GoogleCloudSecuritycenterV1ResourceApplicationAttributesContactInfo { - /** - * Email address of the contacts. - */ email?: string | null; } - /** - * Criticality of the Application, Service, or Workload - */ export interface Schema$GoogleCloudSecuritycenterV1ResourceApplicationAttributesCriticality { - /** - * Criticality Type. - */ type?: string | null; } - /** - * Environment of the Application, Service, or Workload - */ export interface Schema$GoogleCloudSecuritycenterV1ResourceApplicationAttributesEnvironment { - /** - * Environment Type. - */ type?: string | null; } - /** - * Resource for selecting resource type. - */ export interface Schema$GoogleCloudSecuritycenterV1ResourceSelector { - /** - * The resource types to run the detector on. - */ resourceTypes?: string[] | null; } - /** - * A resource value configuration (RVC) is a mapping configuration of user's resources to resource values. Used in Attack path simulations. - */ export interface Schema$GoogleCloudSecuritycenterV1ResourceValueConfig { - /** - * Cloud provider this configuration applies to - */ cloudProvider?: string | null; - /** - * Output only. Timestamp this resource value configuration was created. - */ createTime?: string | null; - /** - * Description of the resource value configuration. - */ description?: string | null; - /** - * Name for the resource value configuration - */ name?: string | null; - /** - * List of resource labels to search for, evaluated with `AND`. For example, `"resource_labels_selector": {"key": "value", "env": "prod"\}` will match resources with labels "key": "value" `AND` "env": "prod" https://cloud.google.com/resource-manager/docs/creating-managing-labels - */ resourceLabelsSelector?: {[key: string]: string} | null; - /** - * Apply resource_value only to resources that match resource_type. resource_type will be checked with `AND` of other resources. For example, "storage.googleapis.com/Bucket" with resource_value "HIGH" will apply "HIGH" value only to "storage.googleapis.com/Bucket" resources. - */ resourceType?: string | null; - /** - * Required. Resource value level this expression represents - */ resourceValue?: string | null; - /** - * Project or folder to scope this configuration to. For example, "project/456" would apply this configuration only to resources in "project/456" scope will be checked with `AND` of other resources. - */ scope?: string | null; - /** - * A mapping of the sensitivity on Sensitive Data Protection finding to resource values. This mapping can only be used in combination with a resource_type that is related to BigQuery, e.g. "bigquery.googleapis.com/Dataset". - */ sensitiveDataProtectionMapping?: Schema$GoogleCloudSecuritycenterV1SensitiveDataProtectionMapping; - /** - * Required. Tag values combined with `AND` to check against. For Google Cloud resources, they are tag value IDs in the form of "tagValues/123". Example: `[ "tagValues/123", "tagValues/456", "tagValues/789" ]` https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing - */ tagValues?: string[] | null; - /** - * Output only. Timestamp this resource value configuration was last updated. - */ updateTime?: string | null; } - /** - * Response of asset discovery run - */ export interface Schema$GoogleCloudSecuritycenterV1RunAssetDiscoveryResponse { - /** - * The duration between asset discovery run start and end - */ duration?: string | null; - /** - * The state of an asset discovery run. - */ state?: string | null; } - /** - * Represents an instance of a Security Health Analytics custom module, including its full module name, display name, enablement state, and last updated time. You can create a custom module at the organization, folder, or project level. Custom modules that you create at the organization or folder level are inherited by the child folders and projects. - */ export interface Schema$GoogleCloudSecuritycenterV1SecurityHealthAnalyticsCustomModule { - /** - * Output only. If empty, indicates that the custom module was created in the organization, folder, or project in which you are viewing the custom module. Otherwise, `ancestor_module` specifies the organization or folder from which the custom module is inherited. - */ ancestorModule?: string | null; - /** - * The cloud provider of the custom module. - */ cloudProvider?: string | null; - /** - * The user specified custom configuration for the module. - */ customConfig?: Schema$GoogleCloudSecuritycenterV1CustomConfig; - /** - * The display name of the Security Health Analytics custom module. This display name becomes the finding category for all findings that are returned by this custom module. The display name must be between 1 and 128 characters, start with a lowercase letter, and contain alphanumeric characters or underscores only. - */ displayName?: string | null; - /** - * The enablement state of the custom module. - */ enablementState?: string | null; - /** - * Output only. The editor that last updated the custom module. - */ lastEditor?: string | null; - /** - * Immutable. The resource name of the custom module. Its format is "organizations/{organization\}/securityHealthAnalyticsSettings/customModules/{customModule\}", or "folders/{folder\}/securityHealthAnalyticsSettings/customModules/{customModule\}", or "projects/{project\}/securityHealthAnalyticsSettings/customModules/{customModule\}" The id {customModule\} is server-generated and is not user settable. It will be a numeric id containing 1-20 digits. - */ name?: string | null; - /** - * Output only. The time at which the custom module was last updated. - */ updateTime?: string | null; } - /** - * Resource value mapping for Sensitive Data Protection findings. If any of these mappings have a resource value that is not unspecified, the resource_value field will be ignored when reading this configuration. - */ export interface Schema$GoogleCloudSecuritycenterV1SensitiveDataProtectionMapping { - /** - * Resource value mapping for high-sensitivity Sensitive Data Protection findings - */ highSensitivityMapping?: string | null; - /** - * Resource value mapping for medium-sensitivity Sensitive Data Protection findings - */ mediumSensitivityMapping?: string | null; } - /** - * Represents an access event. - */ export interface Schema$GoogleCloudSecuritycenterV2Access { - /** - * Caller's IP address, such as "1.1.1.1". - */ callerIp?: string | null; - /** - * The caller IP's geolocation, which identifies where the call came from. - */ callerIpGeo?: Schema$GoogleCloudSecuritycenterV2Geolocation; - /** - * The method that the service account called, e.g. "SetIamPolicy". - */ methodName?: string | null; - /** - * Associated email, such as "foo@google.com". The email address of the authenticated user or a service account acting on behalf of a third party principal making the request. For third party identity callers, the `principal_subject` field is populated instead of this field. For privacy reasons, the principal email address is sometimes redacted. For more information, see [Caller identities in audit logs](https://cloud.google.com/logging/docs/audit#user-id). - */ principalEmail?: string | null; - /** - * A string that represents the principal_subject that is associated with the identity. Unlike `principal_email`, `principal_subject` supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format is `principal://iam.googleapis.com/{identity pool name\}/subject/{subject\}`. Some GKE identities, such as GKE_WORKLOAD, FREEFORM, and GKE_HUB_WORKLOAD, still use the legacy format `serviceAccount:{identity pool name\}[{subject\}]`. - */ principalSubject?: string | null; - /** - * The identity delegation history of an authenticated service account that made the request. The `serviceAccountDelegationInfo[]` object contains information about the real authorities that try to access Google Cloud resources by delegating on a service account. When multiple authorities are present, they are guaranteed to be sorted based on the original ordering of the identity delegation events. - */ serviceAccountDelegationInfo?: Schema$GoogleCloudSecuritycenterV2ServiceAccountDelegationInfo[]; - /** - * The name of the service account key that was used to create or exchange credentials when authenticating the service account that made the request. This is a scheme-less URI full resource name. For example: "//iam.googleapis.com/projects/{PROJECT_ID\}/serviceAccounts/{ACCOUNT\}/keys/{key\}". - */ serviceAccountKeyName?: string | null; - /** - * This is the API service that the service account made a call to, e.g. "iam.googleapis.com" - */ serviceName?: string | null; - /** - * The caller's user agent string associated with the finding. - */ userAgent?: string | null; - /** - * Type of user agent associated with the finding. For example, an operating system shell or an embedded or standalone application. - */ userAgentFamily?: string | null; - /** - * A string that represents a username. The username provided depends on the type of the finding and is likely not an IAM principal. For example, this can be a system username if the finding is related to a virtual machine, or it can be an application login username. - */ userName?: string | null; } - /** - * Conveys information about a Kubernetes access review (such as one returned by a [`kubectl auth can-i`](https://kubernetes.io/docs/reference/access-authn-authz/authorization/#checking-api-access) command) that was involved in a finding. - */ export interface Schema$GoogleCloudSecuritycenterV2AccessReview { - /** - * The API group of the resource. "*" means all. - */ group?: string | null; - /** - * The name of the resource being requested. Empty means all. - */ name?: string | null; - /** - * Namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces. Both are represented by "" (empty). - */ ns?: string | null; - /** - * The optional resource type requested. "*" means all. - */ resource?: string | null; - /** - * The optional subresource type. - */ subresource?: string | null; - /** - * A Kubernetes resource API verb, like get, list, watch, create, update, delete, proxy. "*" means all. - */ verb?: string | null; - /** - * The API version of the resource. "*" means all. - */ version?: string | null; } - /** - * Information about [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-protection). - */ export interface Schema$GoogleCloudSecuritycenterV2AdaptiveProtection { - /** - * A score of 0 means that there is low confidence that the detected event is an actual attack. A score of 1 means that there is high confidence that the detected event is an attack. See the [Adaptive Protection documentation](https://cloud.google.com/armor/docs/adaptive-protection-overview#configure-alert-tuning) for further explanation. - */ confidence?: number | null; } - /** - * Represents an ADC application associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2AdcApplication { - /** - * Consumer provided attributes for the AppHub application. - */ attributes?: Schema$GoogleCloudSecuritycenterV2ResourceApplicationAttributes; - /** - * The resource name of an ADC Application. Format: projects/{project\}/locations/{location\}/spaces/{space\}/applications/{application\} - */ name?: string | null; } - /** - * Represents an ADC template associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2AdcApplicationTemplateRevision { - /** - * The resource name of an ADC Application Template Revision. Format: projects/{project\}/locations/{location\}/spaces/{space\}/applicationTemplates/{application_template\}/revisions/{revision\} - */ name?: string | null; } - /** - * Represents an ADC shared template associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2AdcSharedTemplateRevision { - /** - * The resource name of an ADC Shared Template Revision. Format: projects/{project\}/locations/{location\}/spaces/{space\}/applicationTemplates/{application_template\}/revisions/{revision\} - */ name?: string | null; } - /** - * Details about resources affected by this finding. - */ export interface Schema$GoogleCloudSecuritycenterV2AffectedResources { - /** - * The count of resources affected by the finding. - */ count?: string | null; } - /** - * Details about a data access attempt made by an agent principal not authorized under applicable data security policy. - */ export interface Schema$GoogleCloudSecuritycenterV2AgentDataAccessEvent { - /** - * Unique identifier for data access event. - */ eventId?: string | null; - /** - * Timestamp of data access event. - */ eventTime?: string | null; - /** - * The operation performed by the principal to access the data. - */ operation?: string | null; - /** - * The agent principal that accessed the data. - */ principalSubject?: string | null; } - /** - * Contains information about the AI model associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2AiModel { - /** - * The platform on which the model is deployed. - */ deploymentPlatform?: string | null; - /** - * The user defined display name of model. Ex. baseline-classification-model - */ displayName?: string | null; - /** - * The domain of the model, for example, “image-classification”. - */ domain?: string | null; - /** - * The name of the model library, for example, “transformers”. - */ library?: string | null; - /** - * The region in which the model is used, for example, “us-central1”. - */ location?: string | null; - /** - * The name of the AI model, for example, "gemini:1.0.0". - */ name?: string | null; - /** - * The publisher of the model, for example, “google” or “nvidia”. - */ publisher?: string | null; - /** - * The purpose of the model, for example, "Inteference" or "Training". - */ usageCategory?: string | null; } - /** - * Allowed IP rule. - */ export interface Schema$GoogleCloudSecuritycenterV2Allowed { - /** - * Optional. Optional list of allowed IP rules. - */ ipRules?: Schema$GoogleCloudSecuritycenterV2IpRule[]; } - /** - * Represents an application associated with a finding. - */ export interface Schema$GoogleCloudSecuritycenterV2Application { - /** - * The base URI that identifies the network location of the application in which the vulnerability was detected. For example, `http://example.com`. - */ baseUri?: string | null; - /** - * The full URI with payload that could be used to reproduce the vulnerability. For example, `http://example.com?p=aMmYgI6H`. - */ fullUri?: string | null; } - /** - * Represents the result of evaluating artifact guard policies. - */ export interface Schema$GoogleCloudSecuritycenterV2ArtifactGuardPolicies { - /** - * A list of failing policies. - */ failingPolicies?: Schema$GoogleCloudSecuritycenterV2ArtifactGuardPolicy[]; - /** - * The ID of the resource that has policies configured for it. - */ resourceId?: string | null; } - /** - * Represents an artifact guard policy. - */ export interface Schema$GoogleCloudSecuritycenterV2ArtifactGuardPolicy { - /** - * The reason for the policy failure, for example, "severity=HIGH AND max_vuln_count=2". - */ failureReason?: string | null; - /** - * The ID of the failing policy, for example, "organizations/3392779/locations/global/policies/prod-policy". - */ policyId?: string | null; - /** - * The type of the policy evaluation. - */ type?: string | null; } - /** - * Information about DDoS attack volume and classification. - */ export interface Schema$GoogleCloudSecuritycenterV2Attack { - /** - * Type of attack, for example, 'SYN-flood', 'NTP-udp', or 'CHARGEN-udp'. - */ classification?: string | null; - /** - * Total BPS (bytes per second) volume of attack. Deprecated - refer to volume_bps_long instead. - */ volumeBps?: number | null; - /** - * Total BPS (bytes per second) volume of attack. - */ volumeBpsLong?: string | null; - /** - * Total PPS (packets per second) volume of attack. Deprecated - refer to volume_pps_long instead. - */ volumePps?: number | null; - /** - * Total PPS (packets per second) volume of attack. - */ volumePpsLong?: string | null; } - /** - * An attack exposure contains the results of an attack path simulation run. - */ export interface Schema$GoogleCloudSecuritycenterV2AttackExposure { - /** - * The resource name of the attack path simulation result that contains the details regarding this attack exposure score. Example: `organizations/123/simulations/456/attackExposureResults/789` - */ attackExposureResult?: string | null; - /** - * The number of high value resources that are exposed as a result of this finding. - */ exposedHighValueResourcesCount?: number | null; - /** - * The number of high value resources that are exposed as a result of this finding. - */ exposedLowValueResourcesCount?: number | null; - /** - * The number of medium value resources that are exposed as a result of this finding. - */ exposedMediumValueResourcesCount?: number | null; - /** - * The most recent time the attack exposure was updated on this finding. - */ latestCalculationTime?: string | null; - /** - * A number between 0 (inclusive) and infinity that represents how important this finding is to remediate. The higher the score, the more important it is to remediate. - */ score?: number | null; - /** - * Output only. What state this AttackExposure is in. This captures whether or not an attack exposure has been calculated or not. - */ state?: string | null; } - /** - * An AWS account that is a member of an organization. - */ export interface Schema$GoogleCloudSecuritycenterV2AwsAccount { - /** - * The unique identifier (ID) of the account, containing exactly 12 digits. - */ id?: string | null; - /** - * The friendly name of this account. - */ name?: string | null; } - /** - * AWS metadata associated with the resource, only applicable if the finding's cloud provider is Amazon Web Services. - */ export interface Schema$GoogleCloudSecuritycenterV2AwsMetadata { - /** - * The AWS account associated with the resource. - */ account?: Schema$GoogleCloudSecuritycenterV2AwsAccount; - /** - * The AWS organization associated with the resource. - */ organization?: Schema$GoogleCloudSecuritycenterV2AwsOrganization; - /** - * A list of AWS organizational units associated with the resource, ordered from lowest level (closest to the account) to highest level. - */ organizationalUnits?: Schema$GoogleCloudSecuritycenterV2AwsOrganizationalUnit[]; } - /** - * An organization is a collection of accounts that are centrally managed together using consolidated billing, organized hierarchically with organizational units (OUs), and controlled with policies. - */ export interface Schema$GoogleCloudSecuritycenterV2AwsOrganization { - /** - * The unique identifier (ID) for the organization. The regex pattern for an organization ID string requires "o-" followed by from 10 to 32 lowercase letters or digits. - */ id?: string | null; } - /** - * An Organizational Unit (OU) is a container of AWS accounts within a root of an organization. Policies that are attached to an OU apply to all accounts contained in that OU and in any child OUs. - */ export interface Schema$GoogleCloudSecuritycenterV2AwsOrganizationalUnit { - /** - * The unique identifier (ID) associated with this OU. The regex pattern for an organizational unit ID string requires "ou-" followed by from 4 to 32 lowercase letters or digits (the ID of the root that contains the OU). This string is followed by a second "-" dash and from 8 to 32 additional lowercase letters or digits. For example, "ou-ab12-cd34ef56". - */ id?: string | null; - /** - * The friendly name of the OU. - */ name?: string | null; } - /** - * Represents an Azure management group. - */ export interface Schema$GoogleCloudSecuritycenterV2AzureManagementGroup { - /** - * The display name of the Azure management group. - */ displayName?: string | null; - /** - * The UUID of the Azure management group, for example, `20000000-0001-0000-0000-000000000000`. - */ id?: string | null; } - /** - * Azure metadata associated with the resource, only applicable if the finding's cloud provider is Microsoft Azure. - */ export interface Schema$GoogleCloudSecuritycenterV2AzureMetadata { - /** - * A list of Azure management groups associated with the resource, ordered from lowest level (closest to the subscription) to highest level. - */ managementGroups?: Schema$GoogleCloudSecuritycenterV2AzureManagementGroup[]; - /** - * The Azure resource group associated with the resource. - */ resourceGroup?: Schema$GoogleCloudSecuritycenterV2AzureResourceGroup; - /** - * The Azure subscription associated with the resource. - */ subscription?: Schema$GoogleCloudSecuritycenterV2AzureSubscription; - /** - * The Azure Entra tenant associated with the resource. - */ tenant?: Schema$GoogleCloudSecuritycenterV2AzureTenant; } - /** - * Represents an Azure resource group. - */ export interface Schema$GoogleCloudSecuritycenterV2AzureResourceGroup { - /** - * The ID of the Azure resource group. - */ id?: string | null; - /** - * The name of the Azure resource group. This is not a UUID. - */ name?: string | null; } - /** - * Represents an Azure subscription. - */ export interface Schema$GoogleCloudSecuritycenterV2AzureSubscription { - /** - * The display name of the Azure subscription. - */ displayName?: string | null; - /** - * The UUID of the Azure subscription, for example, `291bba3f-e0a5-47bc-a099-3bdcb2a50a05`. - */ id?: string | null; } - /** - * Represents a Microsoft Entra tenant. - */ export interface Schema$GoogleCloudSecuritycenterV2AzureTenant { - /** - * The display name of the Azure tenant. - */ displayName?: string | null; - /** - * The ID of the Microsoft Entra tenant, for example, "a11aaa11-aa11-1aa1-11aa-1aaa11a". - */ id?: string | null; } - /** - * Information related to Google Cloud Backup and DR Service findings. - */ export interface Schema$GoogleCloudSecuritycenterV2BackupDisasterRecovery { - /** - * The name of the Backup and DR appliance that captures, moves, and manages the lifecycle of backup data. For example, `backup-server-57137`. - */ appliance?: string | null; - /** - * The names of Backup and DR applications. An application is a VM, database, or file system on a managed host monitored by a backup and recovery appliance. For example, `centos7-01-vol00`, `centos7-01-vol01`, `centos7-01-vol02`. - */ applications?: string[] | null; - /** - * The timestamp at which the Backup and DR backup was created. - */ backupCreateTime?: string | null; - /** - * The name of a Backup and DR template which comprises one or more backup policies. See the [Backup and DR documentation](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#temp) for more information. For example, `snap-ov`. - */ backupTemplate?: string | null; - /** - * The backup type of the Backup and DR image. For example, `Snapshot`, `Remote Snapshot`, `OnVault`. - */ backupType?: string | null; - /** - * The name of a Backup and DR host, which is managed by the backup and recovery appliance and known to the management console. The host can be of type Generic (for example, Compute Engine, SQL Server, Oracle DB, SMB file system, etc.), vCenter, or an ESX server. See the [Backup and DR documentation on hosts](https://cloud.google.com/backup-disaster-recovery/docs/configuration/manage-hosts-and-their-applications) for more information. For example, `centos7-01`. - */ host?: string | null; - /** - * The names of Backup and DR policies that are associated with a template and that define when to run a backup, how frequently to run a backup, and how long to retain the backup image. For example, `onvaults`. - */ policies?: string[] | null; - /** - * The names of Backup and DR advanced policy options of a policy applying to an application. See the [Backup and DR documentation on policy options](https://cloud.google.com/backup-disaster-recovery/docs/create-plan/policy-settings). For example, `skipofflineappsincongrp, nounmap`. - */ policyOptions?: string[] | null; - /** - * The name of the Backup and DR resource profile that specifies the storage media for backups of application and VM data. See the [Backup and DR documentation on profiles](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#profile). For example, `GCP`. - */ profile?: string | null; - /** - * The name of the Backup and DR storage pool that the backup and recovery appliance is storing data in. The storage pool could be of type Cloud, Primary, Snapshot, or OnVault. See the [Backup and DR documentation on storage pools](https://cloud.google.com/backup-disaster-recovery/docs/concepts/storage-pools). For example, `DiskPoolOne`. - */ storagePool?: string | null; } - /** - * Configures how to deliver Findings to BigQuery Instance. - */ export interface Schema$GoogleCloudSecuritycenterV2BigQueryExport { - /** - * Output only. The time at which the BigQuery export was created. This field is set by the server and will be ignored if provided on export on creation. - */ createTime?: string | null; - /** - * Output only. The resource name of the Cloud KMS `CryptoKey` used to protect this configuration's data, if configured during Security Command Center activation. - */ cryptoKeyName?: string | null; - /** - * The dataset to write findings' updates to. Its format is "projects/[project_id]/datasets/[bigquery_dataset_id]". BigQuery dataset unique ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). - */ dataset?: string | null; - /** - * The description of the export (max of 1024 characters). - */ description?: string | null; - /** - * Expression that defines the filter to apply across create/update events of findings. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are: * `=` for all value types. * `\>`, `<`, `\>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. - */ filter?: string | null; - /** - * Output only. Email address of the user who last edited the BigQuery export. This field is set by the server and will be ignored if provided on export creation or update. - */ mostRecentEditor?: string | null; - /** - * Identifier. The relative resource name of this export. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name. The following list shows some examples: + `organizations/{organization_id\}/locations/{location_id\}/bigQueryExports/{export_id\}` + `folders/{folder_id\}/locations/{location_id\}/bigQueryExports/{export_id\}` + `projects/{project_id\}/locations/{location_id\}/bigQueryExports/{export_id\}` This field is provided in responses, and is ignored when provided in create requests. - */ name?: string | null; - /** - * Output only. The service account that needs permission to create table and upload data to the BigQuery dataset. - */ principal?: string | null; - /** - * Output only. The most recent time at which the BigQuery export was updated. This field is set by the server and will be ignored if provided on export creation or update. - */ updateTime?: string | null; } - /** - * Represents a Kubernetes RoleBinding or ClusterRoleBinding. - */ export interface Schema$GoogleCloudSecuritycenterV2Binding { - /** - * Name for the binding. - */ name?: string | null; - /** - * Namespace for the binding. - */ ns?: string | null; - /** - * The Role or ClusterRole referenced by the binding. - */ role?: Schema$GoogleCloudSecuritycenterV2Role; - /** - * Represents one or more subjects that are bound to the role. Not always available for PATCH requests. - */ subjects?: Schema$GoogleCloudSecuritycenterV2Subject[]; } - /** - * The response to a BulkMute request. Contains the LRO information. - */ export interface Schema$GoogleCloudSecuritycenterV2BulkMuteFindingsResponse {} - /** - * Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations). - */ export interface Schema$GoogleCloudSecuritycenterV2Chokepoint { - /** - * List of resource names of findings associated with this chokepoint. For example, organizations/123/sources/456/findings/789. This list will have at most 100 findings. - */ relatedFindings?: string[] | null; } - /** - * Fields related to Google Cloud Armor findings. - */ export interface Schema$GoogleCloudSecuritycenterV2CloudArmor { - /** - * Information about potential Layer 7 DDoS attacks identified by [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/adaptive-protection-overview). - */ adaptiveProtection?: Schema$GoogleCloudSecuritycenterV2AdaptiveProtection; - /** - * Information about DDoS attack volume and classification. - */ attack?: Schema$GoogleCloudSecuritycenterV2Attack; - /** - * Duration of attack from the start until the current moment (updated every 5 minutes). - */ duration?: string | null; - /** - * Information about incoming requests evaluated by [Google Cloud Armor security policies](https://cloud.google.com/armor/docs/security-policy-overview). - */ requests?: Schema$GoogleCloudSecuritycenterV2Requests; - /** - * Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding. - */ securityPolicy?: Schema$GoogleCloudSecuritycenterV2SecurityPolicy; - /** - * Distinguish between volumetric & protocol DDoS attack and application layer attacks. For example, "L3_4" for Layer 3 and Layer 4 DDoS attacks, or "L_7" for Layer 7 DDoS attacks. - */ threatVector?: string | null; } - /** - * CloudControl associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2CloudControl { - /** - * Name of the CloudControl associated with the finding. - */ cloudControlName?: string | null; - /** - * Policy type of the CloudControl - */ policyType?: string | null; - /** - * Type of cloud control. - */ type?: string | null; - /** - * Version of the Cloud Control - */ version?: number | null; } - /** - * The [data profile](https://cloud.google.com/dlp/docs/data-profiles) associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2CloudDlpDataProfile { - /** - * Name of the data profile, for example, `projects/123/locations/europe/tableProfiles/8383929`. - */ dataProfile?: string | null; - /** - * Type of information detected by SDP. Info type includes name, version and sensitivity of the detected information type. - */ infoTypes?: Schema$GoogleCloudSecuritycenterV2InfoType[]; - /** - * The resource hierarchy level at which the data profile was generated. - */ parentType?: string | null; } - /** - * Details about the Cloud Data Loss Prevention (Cloud DLP) [inspection job](https://cloud.google.com/dlp/docs/concepts-job-triggers) that produced the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2CloudDlpInspection { - /** - * Whether Cloud DLP scanned the complete resource or a sampled subset. - */ fullScan?: boolean | null; - /** - * The type of information (or *[infoType](https://cloud.google.com/dlp/docs/infotypes-reference)*) found, for example, `EMAIL_ADDRESS` or `STREET_ADDRESS`. - */ infoType?: string | null; - /** - * The number of times Cloud DLP found this infoType within this job and resource. - */ infoTypeCount?: string | null; - /** - * Name of the inspection job, for example, `projects/123/locations/europe/dlpJobs/i-8383929`. - */ inspectJob?: string | null; } - /** - * Metadata taken from a [Cloud Logging LogEntry](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) - */ export interface Schema$GoogleCloudSecuritycenterV2CloudLoggingEntry { - /** - * A unique identifier for the log entry. - */ insertId?: string | null; - /** - * The type of the log (part of `log_name`. `log_name` is the resource name of the log to which this log entry belongs). For example: `cloudresourcemanager.googleapis.com/activity` Note that this field is not URL-encoded, unlike in `LogEntry`. - */ logId?: string | null; - /** - * The organization, folder, or project of the monitored resource that produced this log entry. - */ resourceContainer?: string | null; - /** - * The time the event described by the log entry occurred. - */ timestamp?: string | null; } - /** - * Contains compliance information about a security standard indicating unmet recommendations. - */ export interface Schema$GoogleCloudSecuritycenterV2Compliance { - /** - * Policies within the standard or benchmark, for example, A.12.4.1 - */ ids?: string[] | null; - /** - * Industry-wide compliance standards or benchmarks, such as CIS, PCI, and OWASP. - */ standard?: string | null; - /** - * Version of the standard or benchmark, for example, 1.1 - */ version?: string | null; } - /** - * Compliance Details associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2ComplianceDetails { - /** - * CloudControl associated with the finding - */ cloudControl?: Schema$GoogleCloudSecuritycenterV2CloudControl; - /** - * Cloud Control Deployments associated with the finding. For example, organizations/123/locations/global/cloudControlDeployments/deploymentIdentifier - */ cloudControlDeploymentNames?: string[] | null; - /** - * Details of Frameworks associated with the finding - */ frameworks?: Schema$GoogleCloudSecuritycenterV2Framework[]; } - /** - * Contains information about the IP connection associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2Connection { - /** - * Destination IP address. Not present for sockets that are listening and not connected. - */ destinationIp?: string | null; - /** - * Destination port. Not present for sockets that are listening and not connected. - */ destinationPort?: number | null; - /** - * IANA Internet Protocol Number such as TCP(6) and UDP(17). - */ protocol?: string | null; - /** - * Source IP address. - */ sourceIp?: string | null; - /** - * Source port. - */ sourcePort?: number | null; - } - /** - * The email address of a contact. - */ + } export interface Schema$GoogleCloudSecuritycenterV2Contact { - /** - * An email address. For example, "`person123@company.com`". - */ email?: string | null; } - /** - * Details about specific contacts - */ export interface Schema$GoogleCloudSecuritycenterV2ContactDetails { - /** - * A list of contacts - */ contacts?: Schema$GoogleCloudSecuritycenterV2Contact[]; } - /** - * Container associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2Container { - /** - * The time that the container was created. - */ createTime?: string | null; - /** - * Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest. - */ imageId?: string | null; - /** - * Container labels, as provided by the container runtime. - */ labels?: Schema$GoogleCloudSecuritycenterV2Label[]; - /** - * Name of the container. - */ name?: string | null; - /** - * Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags. - */ uri?: string | null; } - /** - * Compliance control associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2Control { - /** - * Name of the Control - */ controlName?: string | null; - /** - * Display name of the control. For example, AU-02. - */ displayName?: string | null; } - /** - * CVE stands for Common Vulnerabilities and Exposures. Information from the [CVE record](https://www.cve.org/ResourcesSupport/Glossary) that describes this vulnerability. - */ export interface Schema$GoogleCloudSecuritycenterV2Cve { - /** - * Describe Common Vulnerability Scoring System specified at https://www.first.org/cvss/v3.1/specification-document - */ cvssv3?: Schema$GoogleCloudSecuritycenterV2Cvssv3; - /** - * The exploitation activity of the vulnerability in the wild. - */ exploitationActivity?: string | null; - /** - * Date the first publicly available exploit or PoC was released. - */ exploitReleaseDate?: string | null; - /** - * Date of the earliest known exploitation. - */ firstExploitationDate?: string | null; - /** - * The unique identifier for the vulnerability. e.g. CVE-2021-34527 - */ id?: string | null; - /** - * The potential impact of the vulnerability if it was to be exploited. - */ impact?: string | null; - /** - * Whether or not the vulnerability has been observed in the wild. - */ observedInTheWild?: boolean | null; - /** - * Additional information about the CVE. e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527 - */ references?: Schema$GoogleCloudSecuritycenterV2Reference[]; - /** - * Whether upstream fix is available for the CVE. - */ upstreamFixAvailable?: boolean | null; - /** - * Whether or not the vulnerability was zero day when the finding was published. - */ zeroDay?: boolean | null; } - /** - * Common Vulnerability Scoring System version 3. - */ export interface Schema$GoogleCloudSecuritycenterV2Cvssv3 { - /** - * This metric describes the conditions beyond the attacker's control that must exist in order to exploit the vulnerability. - */ attackComplexity?: string | null; - /** - * Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. This metric reflects the context by which vulnerability exploitation is possible. - */ attackVector?: string | null; - /** - * This metric measures the impact to the availability of the impacted component resulting from a successfully exploited vulnerability. - */ availabilityImpact?: string | null; - /** - * The base score is a function of the base metric scores. - */ baseScore?: number | null; - /** - * This metric measures the impact to the confidentiality of the information resources managed by a software component due to a successfully exploited vulnerability. - */ confidentialityImpact?: string | null; - /** - * This metric measures the impact to integrity of a successfully exploited vulnerability. - */ integrityImpact?: string | null; - /** - * This metric describes the level of privileges an attacker must possess before successfully exploiting the vulnerability. - */ privilegesRequired?: string | null; - /** - * The Scope metric captures whether a vulnerability in one vulnerable component impacts resources in components beyond its security scope. - */ scope?: string | null; - /** - * This metric captures the requirement for a human user, other than the attacker, to participate in the successful compromise of the vulnerable component. - */ userInteraction?: string | null; } - /** - * CWE stands for Common Weakness Enumeration. Information about this weakness, as described by [CWE](https://cwe.mitre.org/). - */ export interface Schema$GoogleCloudSecuritycenterV2Cwe { - /** - * The CWE identifier, e.g. CWE-94 - */ id?: string | null; - /** - * Any reference to the details on the CWE, for example, https://cwe.mitre.org/data/definitions/94.html - */ references?: Schema$GoogleCloudSecuritycenterV2Reference[]; } - /** - * Details about a data access attempt made by a principal not authorized under applicable data security policy. - */ export interface Schema$GoogleCloudSecuritycenterV2DataAccessEvent { - /** - * Unique identifier for data access event. - */ eventId?: string | null; - /** - * Timestamp of data access event. - */ eventTime?: string | null; - /** - * The operation performed by the principal to access the data. - */ operation?: string | null; - /** - * The email address of the principal that accessed the data. The principal could be a user account, service account, Google group, or other. - */ principalEmail?: string | null; } - /** - * Represents database access information, such as queries. A database may be a sub-resource of an instance (as in the case of Cloud SQL instances or Cloud Spanner instances), or the database instance itself. Some database resources might not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types, such as Cloud SQL databases, are not yet supported by Cloud Asset Inventory. In these cases only the display name is provided. - */ export interface Schema$GoogleCloudSecuritycenterV2Database { - /** - * The human-readable name of the database that the user connected to. - */ displayName?: string | null; - /** - * The target usernames, roles, or groups of an SQL privilege grant, which is not an IAM policy change. - */ grantees?: string[] | null; - /** - * Some database resources may not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types are not yet supported by Cloud Asset Inventory (e.g. Cloud SQL databases). In these cases only the display name will be provided. The [full resource name](https://google.aip.dev/122#full-resource-names) of the database that the user connected to, if it is supported by Cloud Asset Inventory. - */ name?: string | null; - /** - * The SQL statement that is associated with the database access. - */ query?: string | null; - /** - * The username used to connect to the database. The username might not be an IAM principal and does not have a set format. - */ userName?: string | null; - /** - * The version of the database, for example, POSTGRES_14. See [the complete list](https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1/SqlDatabaseVersion). - */ version?: string | null; } - /** - * Details about a data flow event, in which either the data is moved to or is accessed from a non-compliant geo-location, as defined in the applicable data security policy. - */ export interface Schema$GoogleCloudSecuritycenterV2DataFlowEvent { - /** - * Unique identifier for data flow event. - */ eventId?: string | null; - /** - * Timestamp of data flow event. - */ eventTime?: string | null; - /** - * The operation performed by the principal for the data flow event. - */ operation?: string | null; - /** - * The email address of the principal that initiated the data flow event. The principal could be a user account, service account, Google group, or other. - */ principalEmail?: string | null; - /** - * Non-compliant location of the principal or the data destination. - */ violatedLocation?: string | null; } - /** - * Details about data retention deletion violations, in which the data is non-compliant based on their retention or deletion time, as defined in the applicable data security policy. The Data Retention Deletion (DRD) control is a control of the DSPM (Data Security Posture Management) suite that enables organizations to manage data retention and deletion policies in compliance with regulations, such as GDPR and CRPA. DRD supports two primary policy types: maximum storage length (max TTL) and minimum storage length (min TTL). Both are aimed at helping organizations meet regulatory and data management commitments. - */ export interface Schema$GoogleCloudSecuritycenterV2DataRetentionDeletionEvent { - /** - * Number of objects that violated the policy for this resource. If the number is less than 1,000, then the value of this field is the exact number. If the number of objects that violated the policy is greater than or equal to 1,000, then the value of this field is 1000. - */ dataObjectCount?: string | null; - /** - * Timestamp indicating when the event was detected. - */ eventDetectionTime?: string | null; - /** - * Type of the DRD event. - */ eventType?: string | null; - /** - * Maximum duration of retention allowed from the DRD control. This comes from the DRD control where users set a max TTL for their data. For example, suppose that a user sets the max TTL for a Cloud Storage bucket to 90 days. However, an object in that bucket is 100 days old. In this case, a DataRetentionDeletionEvent will be generated for that Cloud Storage bucket, and the max_retention_allowed is 90 days. - */ maxRetentionAllowed?: string | null; - /** - * Min duration of retention allowed from the DSPM retention control. This field is only populated when event type is set to EVENT_TYPE_MIN_TTL_FROM_CREATION. - */ minRetentionAllowed?: string | null; } - /** - * Vertex AI dataset associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2Dataset { - /** - * The user defined display name of dataset, e.g. plants-dataset - */ displayName?: string | null; - /** - * Resource name of the dataset, e.g. projects/{project\}/locations/{location\}/datasets/2094040236064505856 - */ name?: string | null; - /** - * Data source, such as a BigQuery source URI, e.g. bq://scc-nexus-test.AIPPtest.gsod - */ source?: string | null; } - /** - * Denied IP rule. - */ export interface Schema$GoogleCloudSecuritycenterV2Denied { - /** - * Optional. Optional list of denied IP rules. - */ ipRules?: Schema$GoogleCloudSecuritycenterV2IpRule[]; } - /** - * Memory hash detection contributing to the binary family match. - */ export interface Schema$GoogleCloudSecuritycenterV2Detection { - /** - * The name of the binary associated with the memory hash signature detection. - */ binary?: string | null; - /** - * The percentage of memory page hashes in the signature that were matched. - */ percentPagesMatched?: number | null; } - /** - * Represents discovered, customer managed workload that is not registered with the respective GCP service. - */ export interface Schema$GoogleCloudSecuritycenterV2DiscoveredWorkload { - /** - * The confidence in detection of this workload. - */ confidence?: string | null; - /** - * A boolean flag set to true if associated hardware strongly predicts the workload type. - */ detectedRelevantHardware?: boolean | null; - /** - * A boolean flag set to true if associated keywords strongly predict the workload type. - */ detectedRelevantKeywords?: boolean | null; - /** - * A boolean flag set to true if installed packages strongly predict the workload type. - */ detectedRelevantPackages?: boolean | null; - /** - * The type of workload. - */ workloadType?: string | null; } - /** - * Contains information about the disk associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2Disk { - /** - * The name of the disk, for example, "https://www.googleapis.com/compute/v1/projects/{project-id\}/zones/{zone-id\}/disks/{disk-id\}". - */ name?: string | null; } - /** - * Path of the file in terms of underlying disk/partition identifiers. - */ export interface Schema$GoogleCloudSecuritycenterV2DiskPath { - /** - * UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - */ partitionUuid?: string | null; - /** - * Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh - */ relativePath?: string | null; } - /** - * The record of a dynamic mute rule that matches the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2DynamicMuteRecord { - /** - * When the dynamic mute rule first matched the finding. - */ matchTime?: string | null; - /** - * The relative resource name of the mute rule, represented by a mute config, that created this record, for example `organizations/123/muteConfigs/mymuteconfig` or `organizations/123/locations/global/muteConfigs/mymuteconfig`. - */ muteConfig?: string | null; } - /** - * A name-value pair representing an environment variable used in an operating system process. - */ export interface Schema$GoogleCloudSecuritycenterV2EnvironmentVariable { - /** - * Environment variable name as a JSON encoded string. - */ name?: string | null; - /** - * Environment variable value as a JSON encoded string. - */ val?: string | null; } - /** - * Resource where data was exfiltrated from or exfiltrated to. - */ export interface Schema$GoogleCloudSecuritycenterV2ExfilResource { - /** - * Subcomponents of the asset that was exfiltrated, like URIs used during exfiltration, table names, databases, and filenames. For example, multiple tables might have been exfiltrated from the same Cloud SQL instance, or multiple files might have been exfiltrated from the same Cloud Storage bucket. - */ components?: string[] | null; - /** - * The resource's [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name). - */ name?: string | null; } - /** - * Exfiltration represents a data exfiltration attempt from one or more sources to one or more targets. The `sources` attribute lists the sources of the exfiltrated data. The `targets` attribute lists the destinations the data was copied to. - */ export interface Schema$GoogleCloudSecuritycenterV2Exfiltration { - /** - * If there are multiple sources, then the data is considered "joined" between them. For instance, BigQuery can join multiple tables, and each table would be considered a source. - */ sources?: Schema$GoogleCloudSecuritycenterV2ExfilResource[]; - /** - * If there are multiple targets, each target would get a complete copy of the "joined" source data. - */ targets?: Schema$GoogleCloudSecuritycenterV2ExfilResource[]; - /** - * Total exfiltrated bytes processed for the entire job. - */ totalExfiltratedBytes?: string | null; } - /** - * Details about the externally exposed resource associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2ExternalExposure { - /** - * The full resource name of the load balancer backend bucket, for example, "//compute.googleapis.com/projects/{project-id\}/global/backendBuckets/{name\}" - */ backendBucket?: string | null; - /** - * The full resource name of load balancer backend service, for example, "//compute.googleapis.com/projects/{project-id\}/global/backendServices/{name\}". - */ backendService?: string | null; - /** - * The name and version of the exposed web application, for example, "Jenkins 2.184". - */ exposedApplication?: string | null; - /** - * The resource which is running the exposed service, for example, "//compute.googleapis.com/projects/{project-id\}/zones/{zone\}/instances/{instance\}.” - */ exposedEndpoint?: string | null; - /** - * The name and version of the service, for example, "Jupyter Notebook 6.14.0". - */ exposedService?: string | null; - /** - * The full resource name of the forwarding rule, for example, "//compute.googleapis.com/projects/{project-id\}/global/forwardingRules/{forwarding-rule-name\}". - */ forwardingRule?: string | null; - /** - * Hostname of the exposed application, for example, "https://test-app.a.run.app/" - */ hostnameUri?: string | null; - /** - * The http response returned by the web application. - */ httpResponse?: Schema$GoogleCloudSecuritycenterV2HttpResponse[]; - /** - * The full resource name of the instance group, for example, "//compute.googleapis.com/projects/{project-id\}/global/instanceGroups/{name\}". - */ instanceGroup?: string | null; - /** - * The full resource name of load balancer backend service in the internal project having resource exposed via PSC, for example, "//compute.googleapis.com/projects/{project-id\}/global/backendServices/{name\}". - */ internalBackendService?: string | null; - /** - * The full resource name of the load balancer firewall policy, for example, "//compute.googleapis.com/projects/{project-id\}/global/firewallPolicies/{policy-name\}". - */ loadBalancerFirewallPolicy?: string | null; - /** - * The full resource name of the network endpoint group, for example, "//compute.googleapis.com/projects/{project-id\}/global/networkEndpointGroups/{name\}". - */ networkEndpointGroup?: string | null; - /** - * The full resource name of the network ingress firewall policy, for example, "//compute.googleapis.com/projects/{project-id\}/global/firewallPolicies/{name\}". - */ networkIngressFirewallPolicy?: string | null; - /** - * Private IP address of the exposed endpoint. - */ privateIpAddress?: string | null; - /** - * Port number associated with private IP address. - */ privatePort?: string | null; - /** - * The full resource name of the PSC (Private Service Connect) network attachment that network interface controller is attached to, for example, "//compute.googleapis.com/projects/{project-id\}/regions/{region\}/networkAttachments/{name\}" - */ pscNetworkAttachment?: string | null; - /** - * The full resource name of the PSC (Private Service Connect) service attachment that the load balancer network endpoint group targets, for example, "//compute.googleapis.com/projects/{project-id\}/regions/{region\}/serviceAttachments/{name\}" - */ pscServiceAttachment?: string | null; - /** - * Public IP address of the exposed endpoint. - */ publicIpAddress?: string | null; - /** - * Public port number of the exposed endpoint. - */ publicPort?: string | null; - /** - * The full resource name of the firewall policy of the exposed service, for example, "//compute.googleapis.com/projects/{project-id\}/global/firewallPolicies/{policy-name\}". - */ serviceFirewallPolicy?: string | null; } - /** - * Representation of third party SIEM/SOAR fields within SCC. - */ export interface Schema$GoogleCloudSecuritycenterV2ExternalSystem { - /** - * References primary/secondary etc assignees in the external system. - */ assignees?: string[] | null; - /** - * The time when the case was closed, as reported by the external system. - */ caseCloseTime?: string | null; - /** - * The time when the case was created, as reported by the external system. - */ caseCreateTime?: string | null; - /** - * The priority of the finding's corresponding case in the external system. - */ casePriority?: string | null; - /** - * The SLA of the finding's corresponding case in the external system. - */ caseSla?: string | null; - /** - * The link to the finding's corresponding case in the external system. - */ caseUri?: string | null; - /** - * The time when the case was last updated, as reported by the external system. - */ externalSystemUpdateTime?: string | null; - /** - * The identifier that's used to track the finding's corresponding case in the external system. - */ externalUid?: string | null; - /** - * Full resource name of the external system. The following list shows some examples: + `organizations/1234/sources/5678/findings/123456/externalSystems/jira` + `organizations/1234/sources/5678/locations/us/findings/123456/externalSystems/jira` + `folders/1234/sources/5678/findings/123456/externalSystems/jira` + `folders/1234/sources/5678/locations/us/findings/123456/externalSystems/jira` + `projects/1234/sources/5678/findings/123456/externalSystems/jira` + `projects/1234/sources/5678/locations/us/findings/123456/externalSystems/jira` - */ name?: string | null; - /** - * The most recent status of the finding's corresponding case, as reported by the external system. - */ status?: string | null; - /** - * Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding. - */ ticketInfo?: Schema$GoogleCloudSecuritycenterV2TicketInfo; } - /** - * File information about the related binary/library used by an executable, or the script used by a script interpreter - */ export interface Schema$GoogleCloudSecuritycenterV2File { - /** - * Prefix of the file contents as a JSON-encoded string. - */ contents?: string | null; - /** - * Path of the file in terms of underlying disk/partition identifiers. - */ diskPath?: Schema$GoogleCloudSecuritycenterV2DiskPath; - /** - * The load state of the file. - */ fileLoadState?: string | null; - /** - * The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - */ hashedSize?: string | null; - /** - * Operation(s) performed on a file. - */ operations?: Schema$GoogleCloudSecuritycenterV2FileOperation[]; - /** - * True when the hash covers only a prefix of the file. - */ partiallyHashed?: boolean | null; - /** - * Absolute path of the file as a JSON encoded string. - */ path?: string | null; - /** - * SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - */ sha256?: string | null; - /** - * Size of the file in bytes. - */ size?: string | null; } - /** - * Operation(s) performed on a file. - */ export interface Schema$GoogleCloudSecuritycenterV2FileOperation { - /** - * The type of the operation - */ type?: string | null; } - /** - * Security Command Center finding. A finding is a record of assessment data like security, risk, health, or privacy, that is ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, a cross-site scripting (XSS) vulnerability in an App Engine application is a finding. - */ export interface Schema$GoogleCloudSecuritycenterV2Finding { - /** - * Access details associated with the finding, such as more information on the caller, which method was accessed, and from where. - */ access?: Schema$GoogleCloudSecuritycenterV2Access; - /** - * AffectedResources associated with the finding. - */ affectedResources?: Schema$GoogleCloudSecuritycenterV2AffectedResources; - /** - * Agent data access events associated with the finding. - */ agentDataAccessEvents?: Schema$GoogleCloudSecuritycenterV2AgentDataAccessEvent[]; - /** - * The AI model associated with the finding. - */ aiModel?: Schema$GoogleCloudSecuritycenterV2AiModel; - /** - * Represents an application associated with the finding. - */ application?: Schema$GoogleCloudSecuritycenterV2Application; - /** - * ArtifactGuardPolicies associated with the finding. - */ artifactGuardPolicies?: Schema$GoogleCloudSecuritycenterV2ArtifactGuardPolicies; - /** - * The results of an attack path simulation relevant to this finding. - */ attackExposure?: Schema$GoogleCloudSecuritycenterV2AttackExposure; - /** - * Fields related to Backup and DR findings. - */ backupDisasterRecovery?: Schema$GoogleCloudSecuritycenterV2BackupDisasterRecovery; - /** - * Output only. The canonical name of the finding. The following list shows some examples: + `organizations/{organization_id\}/sources/{source_id\}/locations/{location_id\}/findings/{finding_id\}` + `folders/{folder_id\}/sources/{source_id\}/locations/{location_id\}/findings/{finding_id\}` + `projects/{project_id\}/sources/{source_id\}/locations/{location_id\}/findings/{finding_id\}` The prefix is the closest CRM ancestor of the resource associated with the finding. - */ canonicalName?: string | null; - /** - * Immutable. The additional taxonomy group within findings from a given source. Example: "XSS_FLASH_INJECTION" - */ category?: string | null; - /** - * Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations). This field cannot be updated. Its value is ignored in all update requests. - */ chokepoint?: Schema$GoogleCloudSecuritycenterV2Chokepoint; - /** - * Fields related to Cloud Armor findings. - */ cloudArmor?: Schema$GoogleCloudSecuritycenterV2CloudArmor; - /** - * Cloud DLP data profile that is associated with the finding. - */ cloudDlpDataProfile?: Schema$GoogleCloudSecuritycenterV2CloudDlpDataProfile; - /** - * Cloud Data Loss Prevention (Cloud DLP) inspection results that are associated with the finding. - */ cloudDlpInspection?: Schema$GoogleCloudSecuritycenterV2CloudDlpInspection; - /** - * Details about the compliance implications of the finding. - */ complianceDetails?: Schema$GoogleCloudSecuritycenterV2ComplianceDetails; - /** - * Contains compliance information for security standards associated to the finding. - */ compliances?: Schema$GoogleCloudSecuritycenterV2Compliance[]; - /** - * Contains information about the IP connection associated with the finding. - */ connections?: Schema$GoogleCloudSecuritycenterV2Connection[]; - /** - * Output only. Map containing the points of contact for the given finding. The key represents the type of contact, while the value contains a list of all the contacts that pertain. Please refer to: https://cloud.google.com/resource-manager/docs/managing-notification-contacts#notification-categories { "security": { "contacts": [ { "email": "person1@company.com" \}, { "email": "person2@company.com" \} ] \} \} - */ contacts?: { [key: string]: Schema$GoogleCloudSecuritycenterV2ContactDetails; } | null; - /** - * Containers associated with the finding. This field provides information for both Kubernetes and non-Kubernetes containers. - */ containers?: Schema$GoogleCloudSecuritycenterV2Container[]; - /** - * Output only. The time at which the finding was created in Security Command Center. - */ createTime?: string | null; - /** - * Output only. The name of the Cloud KMS key used to encrypt this finding, if any. - */ cryptoKeyName?: string | null; - /** - * Data access events associated with the finding. - */ dataAccessEvents?: Schema$GoogleCloudSecuritycenterV2DataAccessEvent[]; - /** - * Database associated with the finding. - */ database?: Schema$GoogleCloudSecuritycenterV2Database; - /** - * Data flow events associated with the finding. - */ dataFlowEvents?: Schema$GoogleCloudSecuritycenterV2DataFlowEvent[]; - /** - * Data retention deletion events associated with the finding. - */ dataRetentionDeletionEvents?: Schema$GoogleCloudSecuritycenterV2DataRetentionDeletionEvent[]; - /** - * Contains more details about the finding. - */ description?: string | null; - /** - * DiscoveredWorkload associated with the finding. - */ discoveredWorkload?: Schema$GoogleCloudSecuritycenterV2DiscoveredWorkload; - /** - * Disk associated with the finding. - */ disk?: Schema$GoogleCloudSecuritycenterV2Disk; - /** - * The time the finding was first detected. If an existing finding is updated, then this is the time the update occurred. For example, if the finding represents an open firewall, this property captures the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding is later resolved, then this time reflects when the finding was resolved. This must not be set to a value greater than the current timestamp. - */ eventTime?: string | null; - /** - * Represents exfiltrations associated with the finding. - */ exfiltration?: Schema$GoogleCloudSecuritycenterV2Exfiltration; - /** - * External exposure associated with the finding. - */ externalExposure?: Schema$GoogleCloudSecuritycenterV2ExternalExposure; - /** - * Output only. Third party SIEM/SOAR fields within SCC, contains external system information and external system finding fields. - */ externalSystems?: { [key: string]: Schema$GoogleCloudSecuritycenterV2ExternalSystem; } | null; - /** - * The URI that, if available, points to a web page outside of Security Command Center where additional information about the finding can be found. This field is guaranteed to be either empty or a well formed URL. - */ externalUri?: string | null; - /** - * File associated with the finding. - */ files?: Schema$GoogleCloudSecuritycenterV2File[]; - /** - * The class of the finding. - */ findingClass?: string | null; - /** - * Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way. This field cannot be updated. Its value is ignored in all update requests. - */ groupMemberships?: Schema$GoogleCloudSecuritycenterV2GroupMembership[]; - /** - * Represents IAM bindings associated with the finding. - */ iamBindings?: Schema$GoogleCloudSecuritycenterV2IamBinding[]; - /** - * Represents what's commonly known as an *indicator of compromise* (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise). - */ indicator?: Schema$GoogleCloudSecuritycenterV2Indicator; - /** - * IP rules associated with the finding. - */ ipRules?: Schema$GoogleCloudSecuritycenterV2IpRules; - /** - * Job associated with the finding. - */ job?: Schema$GoogleCloudSecuritycenterV2Job; - /** - * Signature of the kernel rootkit. - */ kernelRootkit?: Schema$GoogleCloudSecuritycenterV2KernelRootkit; - /** - * Kubernetes resources associated with the finding. - */ kubernetes?: Schema$GoogleCloudSecuritycenterV2Kubernetes; - /** - * The load balancers associated with the finding. - */ loadBalancers?: Schema$GoogleCloudSecuritycenterV2LoadBalancer[]; - /** - * Log entries that are relevant to the finding. - */ logEntries?: Schema$GoogleCloudSecuritycenterV2LogEntry[]; - /** - * MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org - */ mitreAttack?: Schema$GoogleCloudSecuritycenterV2MitreAttack; - /** - * Unique identifier of the module which generated the finding. Example: folders/598186756061/securityHealthAnalyticsSettings/customModules/56799441161885 - */ moduleName?: string | null; - /** - * Indicates the mute state of a finding (either muted, unmuted or undefined). Unlike other attributes of a finding, a finding provider shouldn't set the value of mute. - */ mute?: string | null; - /** - * Output only. The mute information regarding this finding. - */ muteInfo?: Schema$GoogleCloudSecuritycenterV2MuteInfo; - /** - * Records additional information about the mute operation, for example, the [mute configuration](https://cloud.google.com/security-command-center/docs/how-to-mute-findings) that muted the finding and the user who muted the finding. - */ muteInitiator?: string | null; - /** - * Output only. The most recent time this finding was muted or unmuted. - */ muteUpdateTime?: string | null; - /** - * Identifier. The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. The following list shows some examples: + `organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}` + `organizations/{organization_id\}/sources/{source_id\}/locations/{location_id\}/findings/{finding_id\}` + `folders/{folder_id\}/sources/{source_id\}/findings/{finding_id\}` + `folders/{folder_id\}/sources/{source_id\}/locations/{location_id\}/findings/{finding_id\}` + `projects/{project_id\}/sources/{source_id\}/findings/{finding_id\}` + `projects/{project_id\}/sources/{source_id\}/locations/{location_id\}/findings/{finding_id\}` - */ name?: string | null; - /** - * Represents the VPC networks that the resource is attached to. - */ networks?: Schema$GoogleCloudSecuritycenterV2Network[]; - /** - * Steps to address the finding. - */ nextSteps?: string | null; - /** - * Notebook associated with the finding. - */ notebook?: Schema$GoogleCloudSecuritycenterV2Notebook; - /** - * Contains information about the org policies associated with the finding. - */ orgPolicies?: Schema$GoogleCloudSecuritycenterV2OrgPolicy[]; - /** - * The relative resource name of the source and location the finding belongs to. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name This field is immutable after creation time. The following list shows some examples: + `organizations/{organization_id\}/sources/{source_id\}` + `folders/{folders_id\}/sources/{source_id\}` + `projects/{projects_id\}/sources/{source_id\}` + `organizations/{organization_id\}/sources/{source_id\}/locations/{location_id\}` + `folders/{folders_id\}/sources/{source_id\}/locations/{location_id\}` + `projects/{projects_id\}/sources/{source_id\}/locations/{location_id\}` - */ parent?: string | null; - /** - * Output only. The human readable display name of the finding source such as "Event Threat Detection" or "Security Health Analytics". - */ parentDisplayName?: string | null; - /** - * PolicyViolationSummary associated with the finding. - */ policyViolationSummary?: Schema$GoogleCloudSecuritycenterV2PolicyViolationSummary; - /** - * Represents operating system processes associated with the Finding. - */ processes?: Schema$GoogleCloudSecuritycenterV2Process[]; - /** - * Immutable. For findings on Google Cloud resources, the full resource name of the Google Cloud resource this finding is for. See: https://cloud.google.com/apis/design/resource_names#full_resource_name When the finding is for a non-Google Cloud resource, the resourceName can be a customer or partner defined string. - */ resourceName?: string | null; - /** - * Secret associated with the finding. - */ secret?: Schema$GoogleCloudSecuritycenterV2Secret; - /** - * Output only. User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the finding. - */ securityMarks?: Schema$GoogleCloudSecuritycenterV2SecurityMarks; - /** - * The security posture associated with the finding. - */ securityPosture?: Schema$GoogleCloudSecuritycenterV2SecurityPosture; - /** - * The severity of the finding. This field is managed by the source that writes the finding. - */ severity?: string | null; - /** - * Source specific properties. These properties are managed by the source that writes the finding. The key names in the source_properties map must be between 1 and 255 characters, and must start with a letter and contain alphanumeric characters or underscores only. - */ sourceProperties?: {[key: string]: any} | null; - /** - * Output only. The state of the finding. - */ state?: string | null; - /** - * Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. This field cannot be updated. Its value is ignored in all update requests. - */ toxicCombination?: Schema$GoogleCloudSecuritycenterV2ToxicCombination; - /** - * VertexAi associated with the finding. - */ vertexAi?: Schema$GoogleCloudSecuritycenterV2VertexAi; - /** - * Represents vulnerability-specific fields like CVE and CVSS scores. CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/) - */ vulnerability?: Schema$GoogleCloudSecuritycenterV2Vulnerability; } - /** - * Message that contains the resource name and display name of a folder resource. - */ export interface Schema$GoogleCloudSecuritycenterV2Folder { - /** - * Full resource name of this folder. See: https://cloud.google.com/apis/design/resource_names#full_resource_name - */ resourceFolder?: string | null; - /** - * The user defined display name for this folder. - */ resourceFolderDisplayName?: string | null; } - /** - * Compliance framework associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2Framework { - /** - * Category of the framework associated with the finding. E.g. Security Benchmark, or Assured Workloads - */ category?: string[] | null; - /** - * The controls associated with the framework. - */ controls?: Schema$GoogleCloudSecuritycenterV2Control[]; - /** - * Display name of the framework. For a standard framework, this will look like e.g. PCI DSS 3.2.1, whereas for a custom framework it can be a user defined string like MyFramework - */ displayName?: string | null; - /** - * Name of the framework associated with the finding - */ name?: string | null; - /** - * Type of the framework associated with the finding, to specify whether the framework is built-in (pre-defined and immutable) or a custom framework defined by the customer (equivalent to security posture) - */ type?: string | null; } - /** - * Represents a geographical location for a given access. - */ export interface Schema$GoogleCloudSecuritycenterV2Geolocation { - /** - * A CLDR. - */ regionCode?: string | null; } - /** - * Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way. - */ export interface Schema$GoogleCloudSecuritycenterV2GroupMembership { - /** - * ID of the group. - */ groupId?: string | null; - /** - * Type of group. - */ groupType?: string | null; } - /** - * The http response returned by the web application. - */ export interface Schema$GoogleCloudSecuritycenterV2HttpResponse { - /** - * The http path for which response code was returned by web application, for example, "https://test-app.a.run.app/test". - */ path?: string | null; - /** - * The http response code returned by the web application, for example, 200. - */ statusCode?: string | null; } - /** - * Represents a particular IAM binding, which captures a member's role addition, removal, or state. - */ export interface Schema$GoogleCloudSecuritycenterV2IamBinding { - /** - * The action that was performed on a Binding. - */ action?: string | null; - /** - * A single identity requesting access for a Cloud Platform resource, for example, "foo@google.com". - */ member?: string | null; - /** - * Role that is assigned to "members". For example, "roles/viewer", "roles/editor", or "roles/owner". - */ role?: string | null; } - /** - * Represents what's commonly known as an _indicator of compromise_ (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise). - */ export interface Schema$GoogleCloudSecuritycenterV2Indicator { - /** - * List of domains associated to the Finding. - */ domains?: string[] | null; - /** - * The list of IP addresses that are associated with the finding. - */ ipAddresses?: string[] | null; - /** - * The list of matched signatures indicating that the given process is present in the environment. - */ signatures?: Schema$GoogleCloudSecuritycenterV2ProcessSignature[]; - /** - * The list of URIs associated to the Findings. - */ uris?: string[] | null; } - /** - * Type of information detected by the API. - */ export interface Schema$GoogleCloudSecuritycenterV2InfoType { - /** - * Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64\}`. - */ name?: string | null; - /** - * Optional custom sensitivity for this InfoType. This only applies to data profiling. - */ sensitivityScore?: Schema$GoogleCloudSecuritycenterV2SensitivityScore; - /** - * Optional version name for this InfoType. - */ version?: string | null; } - /** - * IP rule information. - */ export interface Schema$GoogleCloudSecuritycenterV2IpRule { - /** - * Optional. An optional list of ports to which this rule applies. This field is only applicable for the UDP or (S)TCP protocols. Each entry must be either an integer or a range including a min and max port number. - */ portRanges?: Schema$GoogleCloudSecuritycenterV2PortRange[]; - /** - * The IP protocol this rule applies to. This value can either be one of the following well known protocol strings (TCP, UDP, ICMP, ESP, AH, IPIP, SCTP) or a string representation of the integer value. - */ protocol?: string | null; } - /** - * IP rules associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2IpRules { - /** - * Tuple with allowed rules. - */ allowed?: Schema$GoogleCloudSecuritycenterV2Allowed; - /** - * Tuple with denied rules. - */ denied?: Schema$GoogleCloudSecuritycenterV2Denied; - /** - * If destination IP ranges are specified, the firewall rule applies only to traffic that has a destination IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4. - */ destinationIpRanges?: string[] | null; - /** - * The direction that the rule is applicable to, one of ingress or egress. - */ direction?: string | null; - /** - * Name of the network protocol service, such as FTP, that is exposed by the open port. Follows the naming convention available at: https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml. - */ exposedServices?: string[] | null; - /** - * If source IP 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. Only supports IPv4. - */ sourceIpRanges?: string[] | null; } - /** - * Security Command Center Issue. - */ export interface Schema$GoogleCloudSecuritycenterV2Issue { - /** - * Output only. The time the issue was created. - */ createTime?: string | null; - /** - * The description of the issue in Markdown format. - */ description?: string | null; - /** - * The finding category or rule name that generated the issue. - */ detection?: string | null; - /** - * The domains of the issue. - */ domains?: Schema$GoogleCloudSecuritycenterV2IssueDomain[]; - /** - * The exposure score of the issue. - */ - exposureScore?: number | null; - /** - * The type of the issue. - */ + exposureScore?: number | null; issueType?: string | null; - /** - * The time the issue was last observed. - */ lastObservationTime?: string | null; - /** - * The mute information of the issue. - */ mute?: Schema$GoogleCloudSecuritycenterV2IssueMute; - /** - * Identifier. The name of the issue. Format: organizations/{organization\}/locations/{location\}/issues/{issue\} - */ name?: string | null; - /** - * The primary resource associated with the issue. - */ primaryResource?: Schema$GoogleCloudSecuritycenterV2IssueResource; - /** - * The findings related to the issue. - */ relatedFindings?: Schema$GoogleCloudSecuritycenterV2IssueFinding[]; - /** - * Approaches to remediate the issue in Markdown format. - */ remediations?: string[] | null; - /** - * Additional resources associated with the issue. - */ secondaryResources?: Schema$GoogleCloudSecuritycenterV2IssueResource[]; - /** - * The security context of the issue. - */ securityContexts?: Schema$GoogleCloudSecuritycenterV2IssueSecurityContext[]; - /** - * The severity of the issue. - */ severity?: string | null; - /** - * Output only. The state of the issue. - */ state?: string | null; - /** - * Output only. The time the issue was last updated. - */ updateTime?: string | null; } - /** - * The domains of an issue. - */ export interface Schema$GoogleCloudSecuritycenterV2IssueDomain { - /** - * The domain category of the issue. - */ domainCategory?: string | null; } - /** - * Finding related to an issue. - */ export interface Schema$GoogleCloudSecuritycenterV2IssueFinding { - /** - * The CVE of the finding. - */ cve?: Schema$GoogleCloudSecuritycenterV2IssueFindingCve; - /** - * The name of the finding. - */ name?: string | null; - /** - * The security bulletin of the finding. - */ securityBulletin?: Schema$GoogleCloudSecuritycenterV2IssueFindingSecurityBulletin; } - /** - * The CVE of the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2IssueFindingCve { - /** - * The CVE name. - */ name?: string | null; } - /** - * The security bulletin of the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2IssueFindingSecurityBulletin { - /** - * The security bulletin name. - */ name?: string | null; } - /** - * The mute information of the issue. - */ export interface Schema$GoogleCloudSecuritycenterV2IssueMute { - /** - * The email address of the user who last changed the mute state of the issue. - */ muteInitiator?: string | null; - /** - * The user-provided reason for muting the issue. - */ muteReason?: string | null; - /** - * Output only. The mute state of the issue. - */ muteState?: string | null; - /** - * The time the issue was muted. - */ muteUpdateTime?: string | null; } - /** - * A resource associated with the an issue. - */ export interface Schema$GoogleCloudSecuritycenterV2IssueResource { - /** - * The ADC application associated with the finding. - */ adcApplication?: Schema$GoogleCloudSecuritycenterV2IssueResourceAdcApplication; - /** - * The ADC template associated with the finding. - */ adcApplicationTemplate?: Schema$GoogleCloudSecuritycenterV2IssueResourceAdcApplicationTemplateRevision; - /** - * The ADC shared template associated with the finding. - */ adcSharedTemplate?: Schema$GoogleCloudSecuritycenterV2IssueResourceAdcSharedTemplateRevision; - /** - * The AppHub application associated with the resource, if any. Only populated for the primary resource. - */ application?: Schema$GoogleCloudSecuritycenterV2IssueResourceApplication; - /** - * The AWS metadata of the resource associated with the issue. Only populated for AWS resources. - */ awsMetadata?: Schema$GoogleCloudSecuritycenterV2IssueResourceAwsMetadata; - /** - * The Azure metadata of the resource associated with the issue. Only populated for Azure resources. - */ azureMetadata?: Schema$GoogleCloudSecuritycenterV2IssueResourceAzureMetadata; - /** - * The cloud provider of the resource associated with the issue. - */ cloudProvider?: string | null; - /** - * The resource-type specific display name of the resource associated with the issue. - */ displayName?: string | null; - /** - * The Google Cloud metadata of the resource associated with the issue. Only populated for Google Cloud resources. - */ googleCloudMetadata?: Schema$GoogleCloudSecuritycenterV2IssueResourceGoogleCloudMetadata; - /** - * The full resource name of the resource associated with the issue. - */ name?: string | null; - /** - * The type of the resource associated with the issue. - */ type?: string | null; } - /** - * Represents an ADC application associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2IssueResourceAdcApplication { - /** - * Consumer provided attributes for the AppHub application. - */ attributes?: Schema$GoogleCloudSecuritycenterV2IssueResourceApplicationAttributes; - /** - * The resource name of an ADC Application. Format: projects/{project\}/locations/{location\}/spaces/{space\}/applications/{application\} - */ name?: string | null; } - /** - * Represents an ADC template associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2IssueResourceAdcApplicationTemplateRevision { - /** - * The resource name of an ADC Application Template Revision. Format: projects/{project\}/locations/{location\}/spaces/{space\}/applicationTemplates/{application_template\}/revisions/{revision\} - */ name?: string | null; } - /** - * Represents an ADC shared template associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2IssueResourceAdcSharedTemplateRevision { - /** - * The resource name of an ADC Shared Template Revision. Format: projects/{project\}/locations/{location\}/spaces/{space\}/applicationTemplates/{application_template\}/revisions/{revision\} - */ name?: string | null; } - /** - * The AppHub application associated with the resource, if any. - */ export interface Schema$GoogleCloudSecuritycenterV2IssueResourceApplication { - /** - * Consumer provided attributes for the application - */ attributes?: Schema$GoogleCloudSecuritycenterV2IssueResourceApplicationAttributes; - /** - * The resource name of an Application. Format: `projects/{host-project-id\}/locations/{location\}/applications/{application-id\}` - */ name?: string | null; } - /** - * Consumer provided attributes for the application - */ export interface Schema$GoogleCloudSecuritycenterV2IssueResourceApplicationAttributes { - /** - * Business team that ensures user needs are met and value is delivered - */ businessOwners?: Schema$GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesContactInfo[]; - /** - * User-defined criticality information. - */ criticality?: Schema$GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesCriticality; - /** - * Developer team that owns development and coding. - */ developerOwners?: Schema$GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesContactInfo[]; - /** - * User-defined environment information. - */ environment?: Schema$GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesEnvironment; - /** - * Operator team that ensures runtime and operations. - */ operatorOwners?: Schema$GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesContactInfo[]; } - /** - * Contact information of stakeholders. - */ export interface Schema$GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesContactInfo { - /** - * Email address of the contacts. - */ email?: string | null; } - /** - * Criticality of the Application, Service, or Workload - */ export interface Schema$GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesCriticality { - /** - * Criticality Type. - */ type?: string | null; } - /** - * Environment of the Application, Service, or Workload - */ export interface Schema$GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesEnvironment { - /** - * Environment Type. - */ type?: string | null; } - /** - * The AWS metadata of a resource associated with an issue. - */ export interface Schema$GoogleCloudSecuritycenterV2IssueResourceAwsMetadata { - /** - * The AWS account of the resource associated with the issue. - */ account?: Schema$GoogleCloudSecuritycenterV2IssueResourceAwsMetadataAwsAccount; } - /** - * The AWS account of the resource associated with the issue. - */ export interface Schema$GoogleCloudSecuritycenterV2IssueResourceAwsMetadataAwsAccount { - /** - * The AWS account ID of the resource associated with the issue. - */ id?: string | null; - /** - * The AWS account name of the resource associated with the issue. - */ name?: string | null; } - /** - * The Azure metadata of a resource associated with an issue. - */ export interface Schema$GoogleCloudSecuritycenterV2IssueResourceAzureMetadata { - /** - * The Azure subscription of the resource associated with the issue. - */ subscription?: Schema$GoogleCloudSecuritycenterV2IssueResourceAzureMetadataAzureSubscription; } - /** - * The Azure subscription of the resource associated with the issue. - */ export interface Schema$GoogleCloudSecuritycenterV2IssueResourceAzureMetadataAzureSubscription { - /** - * The Azure subscription display name of the resource associated with the issue. - */ displayName?: string | null; - /** - * The Azure subscription ID of the resource associated with the issue. - */ id?: string | null; } - /** - * Google Cloud metadata of a resource associated with an issue. - */ export interface Schema$GoogleCloudSecuritycenterV2IssueResourceGoogleCloudMetadata { - /** - * The project ID that the resource associated with the issue belongs to. - */ projectId?: string | null; } - /** - * Security context associated with an issue. - */ export interface Schema$GoogleCloudSecuritycenterV2IssueSecurityContext { - /** - * The aggregated count of the security context. - */ aggregatedCount?: Schema$GoogleCloudSecuritycenterV2IssueSecurityContextAggregatedCount; - /** - * The context of the security context. - */ context?: Schema$GoogleCloudSecuritycenterV2IssueSecurityContextContext; } - /** - * Aggregated count of a security context. - */ export interface Schema$GoogleCloudSecuritycenterV2IssueSecurityContextAggregatedCount { - /** - * Aggregation key. - */ key?: string | null; - /** - * Aggregation value. - */ value?: number | null; } - /** - * Context of a security context. - */ export interface Schema$GoogleCloudSecuritycenterV2IssueSecurityContextContext { - /** - * Context type. - */ type?: string | null; - /** - * Context values. - */ values?: string[] | null; } - /** - * Describes a job - */ export interface Schema$GoogleCloudSecuritycenterV2Job { - /** - * Optional. If the job did not complete successfully, this field describes why. - */ errorCode?: number | null; - /** - * Optional. Gives the location where the job ran, such as `US` or `europe-west1` - */ location?: string | null; - /** - * The fully-qualified name for a job. e.g. `projects//jobs/` - */ name?: string | null; - /** - * Output only. State of the job, such as `RUNNING` or `PENDING`. - */ state?: string | null; } - /** - * Kernel mode rootkit signatures. - */ export interface Schema$GoogleCloudSecuritycenterV2KernelRootkit { - /** - * Rootkit name, when available. - */ name?: string | null; - /** - * True if unexpected modifications of kernel code memory are present. - */ unexpectedCodeModification?: boolean | null; - /** - * True if `ftrace` points are present with callbacks pointing to regions that are not in the expected kernel or module code range. - */ unexpectedFtraceHandler?: boolean | null; - /** - * True if interrupt handlers that are are not in the expected kernel or module code regions are present. - */ unexpectedInterruptHandler?: boolean | null; - /** - * True if kernel code pages that are not in the expected kernel or module code regions are present. - */ unexpectedKernelCodePages?: boolean | null; - /** - * True if `kprobe` points are present with callbacks pointing to regions that are not in the expected kernel or module code range. - */ unexpectedKprobeHandler?: boolean | null; - /** - * True if unexpected processes in the scheduler run queue are present. Such processes are in the run queue, but not in the process task list. - */ unexpectedProcessesInRunqueue?: boolean | null; - /** - * True if unexpected modifications of kernel read-only data memory are present. - */ unexpectedReadOnlyDataModification?: boolean | null; - /** - * True if system call handlers that are are not in the expected kernel or module code regions are present. - */ unexpectedSystemCallHandler?: boolean | null; } - /** - * Kubernetes-related attributes. - */ export interface Schema$GoogleCloudSecuritycenterV2Kubernetes { - /** - * Provides information on any Kubernetes access reviews (privilege checks) relevant to the finding. - */ accessReviews?: Schema$GoogleCloudSecuritycenterV2AccessReview[]; - /** - * Provides Kubernetes role binding information for findings that involve [RoleBindings or ClusterRoleBindings](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control). - */ bindings?: Schema$GoogleCloudSecuritycenterV2Binding[]; - /** - * GKE [node pools](https://cloud.google.com/kubernetes-engine/docs/concepts/node-pools) associated with the finding. This field contains node pool information for each node, when it is available. - */ nodePools?: Schema$GoogleCloudSecuritycenterV2NodePool[]; - /** - * Provides Kubernetes [node](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture#nodes) information. - */ nodes?: Schema$GoogleCloudSecuritycenterV2Node[]; - /** - * Kubernetes objects related to the finding. - */ objects?: Schema$GoogleCloudSecuritycenterV2Object[]; - /** - * Kubernetes [Pods](https://cloud.google.com/kubernetes-engine/docs/concepts/pod) associated with the finding. This field contains Pod records for each container that is owned by a Pod. - */ pods?: Schema$GoogleCloudSecuritycenterV2Pod[]; - /** - * Provides Kubernetes role information for findings that involve [Roles or ClusterRoles](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control). - */ roles?: Schema$GoogleCloudSecuritycenterV2Role[]; } - /** - * Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - */ export interface Schema$GoogleCloudSecuritycenterV2Label { - /** - * Name of the label. - */ name?: string | null; - /** - * Value that corresponds to the label's name. - */ value?: string | null; } - /** - * Contains information related to the load balancer associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2LoadBalancer { - /** - * The name of the load balancer associated with the finding. - */ name?: string | null; } - /** - * An individual entry in a log. - */ export interface Schema$GoogleCloudSecuritycenterV2LogEntry { - /** - * An individual entry in a log stored in Cloud Logging. - */ cloudLoggingEntry?: Schema$GoogleCloudSecuritycenterV2CloudLoggingEntry; } - /** - * A signature corresponding to memory page hashes. - */ export interface Schema$GoogleCloudSecuritycenterV2MemoryHashSignature { - /** - * The binary family. - */ binaryFamily?: string | null; - /** - * The list of memory hash detections contributing to the binary family match. - */ detections?: Schema$GoogleCloudSecuritycenterV2Detection[]; } - /** - * MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org - */ export interface Schema$GoogleCloudSecuritycenterV2MitreAttack { - /** - * Additional MITRE ATT&CK tactics related to this finding, if any. - */ additionalTactics?: string[] | null; - /** - * Additional MITRE ATT&CK techniques related to this finding, if any, along with any of their respective parent techniques. - */ additionalTechniques?: string[] | null; - /** - * The MITRE ATT&CK tactic most closely represented by this finding, if any. - */ primaryTactic?: string | null; - /** - * The MITRE ATT&CK technique most closely represented by this finding, if any. primary_techniques is a repeated field because there are multiple levels of MITRE ATT&CK techniques. If the technique most closely represented by this finding is a sub-technique (e.g. `SCANNING_IP_BLOCKS`), both the sub-technique and its parent technique(s) will be listed (e.g. `SCANNING_IP_BLOCKS`, `ACTIVE_SCANNING`). - */ primaryTechniques?: string[] | null; - /** - * The MITRE ATT&CK version referenced by the above fields. E.g. "8". - */ version?: string | null; } - /** - * A mute config is a Cloud SCC resource that contains the configuration to mute create/update events of findings. - */ export interface Schema$GoogleCloudSecuritycenterV2MuteConfig { - /** - * Output only. The time at which the mute config was created. This field is set by the server and will be ignored if provided on config creation. - */ createTime?: string | null; - /** - * Output only. The resource name of the Cloud KMS `CryptoKey` used to encrypt this configuration data, if CMEK was enabled during Security Command Center activation. - */ cryptoKeyName?: string | null; - /** - * A description of the mute config. - */ description?: string | null; - /** - * Optional. The expiry of the mute config. Only applicable for dynamic configs. If the expiry is set, when the config expires, it is removed from all findings. - */ expiryTime?: string | null; - /** - * Required. An expression that defines the filter to apply across create/update events of findings. While creating a filter string, be mindful of the scope in which the mute configuration is being created. E.g., If a filter contains project = X but is created under the project = Y scope, it might not match any findings. The following field and operator combinations are supported: * severity: `=`, `:` * category: `=`, `:` * resource.name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.folders.resource_folder: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.type: `=`, `:` * finding_class: `=`, `:` * indicator.ip_addresses: `=`, `:` * indicator.domains: `=`, `:` - */ filter?: string | null; - /** - * Output only. Email address of the user who last edited the mute config. This field is set by the server and will be ignored if provided on config creation or update. - */ mostRecentEditor?: string | null; - /** - * Identifier. This field will be ignored if provided on config creation. The following list shows some examples of the format: + `organizations/{organization\}/muteConfigs/{mute_config\}` + `organizations/{organization\}locations/{location\}//muteConfigs/{mute_config\}` + `folders/{folder\}/muteConfigs/{mute_config\}` + `folders/{folder\}/locations/{location\}/muteConfigs/{mute_config\}` + `projects/{project\}/muteConfigs/{mute_config\}` + `projects/{project\}/locations/{location\}/muteConfigs/{mute_config\}` - */ name?: string | null; - /** - * Required. The type of the mute config, which determines what type of mute state the config affects. Immutable after creation. - */ type?: string | null; - /** - * Output only. The most recent time at which the mute config was updated. This field is set by the server and will be ignored if provided on config creation or update. - */ updateTime?: string | null; } - /** - * Mute information about the finding, including whether the finding has a static mute or any matching dynamic mute rules. - */ export interface Schema$GoogleCloudSecuritycenterV2MuteInfo { - /** - * The list of dynamic mute rules that currently match the finding. - */ dynamicMuteRecords?: Schema$GoogleCloudSecuritycenterV2DynamicMuteRecord[]; - /** - * If set, the static mute applied to this finding. Static mutes override dynamic mutes. If unset, there is no static mute. - */ staticMute?: Schema$GoogleCloudSecuritycenterV2StaticMute; } - /** - * Contains information about a VPC network associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2Network { - /** - * The name of the VPC network resource, for example, `//compute.googleapis.com/projects/my-project/global/networks/my-network`. - */ name?: string | null; } - /** - * Kubernetes nodes associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2Node { - /** - * [Full resource name](https://google.aip.dev/122#full-resource-names) of the Compute Engine VM running the cluster node. - */ name?: string | null; } - /** - * Provides GKE node pool information. - */ export interface Schema$GoogleCloudSecuritycenterV2NodePool { - /** - * Kubernetes node pool name. - */ name?: string | null; - /** - * Nodes associated with the finding. - */ nodes?: Schema$GoogleCloudSecuritycenterV2Node[]; } - /** - * Represents a Jupyter notebook IPYNB file, such as a [Colab Enterprise notebook](https://cloud.google.com/colab/docs/introduction) file, that is associated with a finding. - */ export interface Schema$GoogleCloudSecuritycenterV2Notebook { - /** - * The user ID of the latest author to modify the notebook. - */ lastAuthor?: string | null; - /** - * The name of the notebook. - */ name?: string | null; - /** - * The most recent time the notebook was updated. - */ notebookUpdateTime?: string | null; - /** - * The source notebook service, for example, "Colab Enterprise". - */ service?: string | null; } - /** - * Cloud SCC's Notification - */ export interface Schema$GoogleCloudSecuritycenterV2NotificationMessage { - /** - * If it's a Finding based notification config, this field will be populated. - */ finding?: Schema$GoogleCloudSecuritycenterV2Finding; - /** - * Name of the notification config that generated current notification. - */ notificationConfigName?: string | null; - /** - * The Cloud resource tied to this notification's Finding. - */ resource?: Schema$GoogleCloudSecuritycenterV2Resource; } - /** - * Kubernetes object related to the finding, uniquely identified by GKNN. Used if the object Kind is not one of Pod, Node, NodePool, Binding, or AccessReview. - */ export interface Schema$GoogleCloudSecuritycenterV2Object { - /** - * Pod containers associated with this finding, if any. - */ containers?: Schema$GoogleCloudSecuritycenterV2Container[]; - /** - * Kubernetes object group, such as "policy.k8s.io/v1". - */ group?: string | null; - /** - * Kubernetes object kind, such as "Namespace". - */ kind?: string | null; - /** - * Kubernetes object name. For details see https://kubernetes.io/docs/concepts/overview/working-with-objects/names/. - */ name?: string | null; - /** - * Kubernetes object namespace. Must be a valid DNS label. Named "ns" to avoid collision with C++ namespace keyword. For details see https://kubernetes.io/docs/tasks/administer-cluster/namespaces/. - */ ns?: string | null; } - /** - * Contains information about the org policies associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2OrgPolicy { - /** - * Identifier. The resource name of the org policy. Example: "organizations/{organization_id\}/policies/{constraint_name\}" - */ name?: string | null; } - /** - * Package is a generic definition of a package. - */ export interface Schema$GoogleCloudSecuritycenterV2Package { - /** - * The CPE URI where the vulnerability was detected. - */ cpeUri?: string | null; - /** - * The name of the package where the vulnerability was detected. - */ packageName?: string | null; - /** - * Type of package, for example, os, maven, or go. - */ packageType?: string | null; - /** - * The version of the package. - */ packageVersion?: string | null; } - /** - * Vertex AI training pipeline associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2Pipeline { - /** - * The user-defined display name of pipeline, e.g. plants-classification - */ displayName?: string | null; - /** - * Resource name of the pipeline, e.g. projects/{project\}/locations/{location\}/trainingPipelines/5253428229225578496 - */ name?: string | null; } - /** - * A Kubernetes Pod. - */ export interface Schema$GoogleCloudSecuritycenterV2Pod { - /** - * Pod containers associated with this finding, if any. - */ containers?: Schema$GoogleCloudSecuritycenterV2Container[]; - /** - * Pod labels. For Kubernetes containers, these are applied to the container. - */ labels?: Schema$GoogleCloudSecuritycenterV2Label[]; - /** - * Kubernetes Pod name. - */ name?: string | null; - /** - * Kubernetes Pod namespace. - */ ns?: string | null; } - /** - * The policy field that violates the deployed posture and its expected and detected values. - */ export interface Schema$GoogleCloudSecuritycenterV2PolicyDriftDetails { - /** - * The detected value that violates the deployed posture, for example, `false` or `allowed_values={"projects/22831892"\}`. - */ detectedValue?: string | null; - /** - * The value of this field that was configured in a posture, for example, `true` or `allowed_values={"projects/29831892"\}`. - */ expectedValue?: string | null; - /** - * The name of the updated field, for example constraint.implementation.policy_rules[0].enforce - */ field?: string | null; } - /** - * Metadata summarizing policy violations of child resources of the affected resource. `finding_category` and `resource` determine the exact semantics of the counts. For example, when category=DATA_SECURITY_POSTURE_OBJECT_PUBLIC_ACCESS_VIOLATION and resource='storage.googleapis.com/buckets/my-bucket-name' then this counts the number of Cloud Storage objects in my-bucket-name which violate a Public Access control. - */ export interface Schema$GoogleCloudSecuritycenterV2PolicyViolationSummary { - /** - * Total number of child resources that conform to the policy. - */ conformantResourcesCount?: string | null; - /** - * Number of child resources for which errors during evaluation occurred. The evaluation result for these child resources is effectively "unknown". - */ evaluationErrorsCount?: string | null; - /** - * Total count of child resources which were not in scope for evaluation. - */ outOfScopeResourcesCount?: string | null; - /** - * Count of child resources in violation of the policy. - */ policyViolationsCount?: string | null; } - /** - * A port range which is inclusive of the min and max values. Values are between 0 and 2^16-1. The max can be equal / must be not smaller than the min value. If min and max are equal this indicates that it is a single port. - */ export interface Schema$GoogleCloudSecuritycenterV2PortRange { - /** - * Maximum port value. - */ max?: string | null; - /** - * Minimum port value. - */ min?: string | null; } - /** - * Represents an operating system process. - */ export interface Schema$GoogleCloudSecuritycenterV2Process { - /** - * Process arguments as JSON encoded strings. - */ args?: string[] | null; - /** - * True if `args` is incomplete. - */ argumentsTruncated?: boolean | null; - /** - * File information for the process executable. - */ binary?: Schema$GoogleCloudSecuritycenterV2File; - /** - * Process environment variables. - */ envVariables?: Schema$GoogleCloudSecuritycenterV2EnvironmentVariable[]; - /** - * True if `env_variables` is incomplete. - */ envVariablesTruncated?: boolean | null; - /** - * File information for libraries loaded by the process. - */ libraries?: Schema$GoogleCloudSecuritycenterV2File[]; - /** - * The process name, as displayed in utilities like `top` and `ps`. This name can be accessed through `/proc/[pid]/comm` and changed with `prctl(PR_SET_NAME)`. - */ name?: string | null; - /** - * The parent process ID. - */ parentPid?: string | null; - /** - * The process ID. - */ pid?: string | null; - /** - * When the process represents the invocation of a script, `binary` provides information about the interpreter, while `script` provides information about the script file provided to the interpreter. - */ script?: Schema$GoogleCloudSecuritycenterV2File; - /** - * The ID of the user that executed the process. E.g. If this is the root user this will always be 0. - */ userId?: string | null; } - /** - * Indicates what signature matched this process. - */ export interface Schema$GoogleCloudSecuritycenterV2ProcessSignature { - /** - * Signature indicating that a binary family was matched. - */ memoryHashSignature?: Schema$GoogleCloudSecuritycenterV2MemoryHashSignature; - /** - * Describes the type of resource associated with the signature. - */ signatureType?: string | null; - /** - * Signature indicating that a YARA rule was matched. - */ yaraRuleSignature?: Schema$GoogleCloudSecuritycenterV2YaraRuleSignature; } - /** - * Additional Links - */ export interface Schema$GoogleCloudSecuritycenterV2Reference { - /** - * Source of the reference e.g. NVD - */ source?: string | null; - /** - * Uri for the mentioned source e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527. - */ uri?: string | null; } - /** - * Information about the requests relevant to the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2Requests { - /** - * Allowed RPS (requests per second) over the long term. - */ longTermAllowed?: number | null; - /** - * Denied RPS (requests per second) over the long term. - */ longTermDenied?: number | null; - /** - * For 'Increasing deny ratio', the ratio is the denied traffic divided by the allowed traffic. For 'Allowed traffic spike', the ratio is the allowed traffic in the short term divided by allowed traffic in the long term. - */ ratio?: number | null; - /** - * Allowed RPS (requests per second) in the short term. - */ shortTermAllowed?: number | null; } - /** - * Information related to the Google Cloud resource. - */ export interface Schema$GoogleCloudSecuritycenterV2Resource { - /** - * The ADC application associated with the finding. - */ adcApplication?: Schema$GoogleCloudSecuritycenterV2AdcApplication; - /** - * The ADC template associated with the finding. - */ adcApplicationTemplate?: Schema$GoogleCloudSecuritycenterV2AdcApplicationTemplateRevision; - /** - * The ADC shared template associated with the finding. - */ adcSharedTemplate?: Schema$GoogleCloudSecuritycenterV2AdcSharedTemplateRevision; - /** - * The App Hub application this resource belongs to. - */ application?: Schema$GoogleCloudSecuritycenterV2ResourceApplication; - /** - * The AWS metadata associated with the finding. - */ awsMetadata?: Schema$GoogleCloudSecuritycenterV2AwsMetadata; - /** - * The Azure metadata associated with the finding. - */ azureMetadata?: Schema$GoogleCloudSecuritycenterV2AzureMetadata; - /** - * Indicates which cloud provider the finding is from. - */ cloudProvider?: string | null; - /** - * The human readable name of the resource. - */ displayName?: string | null; - /** - * The Google Cloud metadata associated with the finding. - */ gcpMetadata?: Schema$GcpMetadata; - /** - * The region or location of the service (if applicable). - */ location?: string | null; - /** - * The full resource name of the resource. See: https://cloud.google.com/apis/design/resource_names#full_resource_name - */ name?: string | null; - /** - * Provides the path to the resource within the resource hierarchy. - */ resourcePath?: Schema$GoogleCloudSecuritycenterV2ResourcePath; - /** - * A string representation of the resource path. For Google Cloud, it has the format of `organizations/{organization_id\}/folders/{folder_id\}/folders/{folder_id\}/projects/{project_id\}` where there can be any number of folders. For AWS, it has the format of `org/{organization_id\}/ou/{organizational_unit_id\}/ou/{organizational_unit_id\}/account/{account_id\}` where there can be any number of organizational units. For Azure, it has the format of `mg/{management_group_id\}/mg/{management_group_id\}/subscription/{subscription_id\}/rg/{resource_group_name\}` where there can be any number of management groups. - */ resourcePathString?: string | null; - /** - * The service or resource provider associated with the resource. - */ service?: string | null; - /** - * The full resource type of the resource. - */ type?: string | null; } - /** - * The App Hub Application associated with the finding's resource. - */ export interface Schema$GoogleCloudSecuritycenterV2ResourceApplication { - /** - * Consumer provided attributes for the application - */ attributes?: Schema$GoogleCloudSecuritycenterV2ResourceApplicationAttributes; - /** - * The resource name of an Application. Format: `projects/{host-project-id\}/locations/{location\}/applications/{application-id\}` - */ name?: string | null; } - /** - * Consumer provided attributes for the application - */ export interface Schema$GoogleCloudSecuritycenterV2ResourceApplicationAttributes { - /** - * Business team that ensures user needs are met and value is delivered - */ businessOwners?: Schema$GoogleCloudSecuritycenterV2ResourceApplicationAttributesContactInfo[]; - /** - * User-defined criticality information. - */ criticality?: Schema$GoogleCloudSecuritycenterV2ResourceApplicationAttributesCriticality; - /** - * Developer team that owns development and coding. - */ developerOwners?: Schema$GoogleCloudSecuritycenterV2ResourceApplicationAttributesContactInfo[]; - /** - * User-defined environment information. - */ environment?: Schema$GoogleCloudSecuritycenterV2ResourceApplicationAttributesEnvironment; - /** - * Operator team that ensures runtime and operations. - */ operatorOwners?: Schema$GoogleCloudSecuritycenterV2ResourceApplicationAttributesContactInfo[]; } - /** - * Contact information of stakeholders. - */ export interface Schema$GoogleCloudSecuritycenterV2ResourceApplicationAttributesContactInfo { - /** - * Email address of the contacts. - */ email?: string | null; } - /** - * Criticality of the Application, Service, or Workload - */ export interface Schema$GoogleCloudSecuritycenterV2ResourceApplicationAttributesCriticality { - /** - * Criticality Type. - */ type?: string | null; } - /** - * Environment of the Application, Service, or Workload - */ export interface Schema$GoogleCloudSecuritycenterV2ResourceApplicationAttributesEnvironment { - /** - * Environment Type. - */ type?: string | null; } - /** - * Represents the path of resources leading up to the resource this finding is about. - */ export interface Schema$GoogleCloudSecuritycenterV2ResourcePath { - /** - * The list of nodes that make the up resource path, ordered from lowest level to highest level. - */ nodes?: Schema$GoogleCloudSecuritycenterV2ResourcePathNode[]; } - /** - * A node within the resource path. Each node represents a resource within the resource hierarchy. - */ export interface Schema$GoogleCloudSecuritycenterV2ResourcePathNode { - /** - * The display name of the resource this node represents. - */ displayName?: string | null; - /** - * The ID of the resource this node represents. - */ id?: string | null; - /** - * The type of resource this node represents. - */ nodeType?: string | null; } - /** - * A resource value configuration (RVC) is a mapping configuration of user's resources to resource values. Used in Attack path simulations. - */ export interface Schema$GoogleCloudSecuritycenterV2ResourceValueConfig { - /** - * Cloud provider this configuration applies to - */ cloudProvider?: string | null; - /** - * Output only. Timestamp this resource value configuration was created. - */ createTime?: string | null; - /** - * Description of the resource value configuration. - */ description?: string | null; - /** - * Identifier. Name for the resource value configuration - */ name?: string | null; - /** - * List of resource labels to search for, evaluated with `AND`. For example, "resource_labels_selector": {"key": "value", "env": "prod"\} will match resources with labels "key": "value" `AND` "env": "prod" https://cloud.google.com/resource-manager/docs/creating-managing-labels - */ resourceLabelsSelector?: {[key: string]: string} | null; - /** - * Apply resource_value only to resources that match resource_type. resource_type will be checked with `AND` of other resources. For example, "storage.googleapis.com/Bucket" with resource_value "HIGH" will apply "HIGH" value only to "storage.googleapis.com/Bucket" resources. - */ resourceType?: string | null; - /** - * Resource value level this expression represents Only required when there is no Sensitive Data Protection mapping in the request - */ resourceValue?: string | null; - /** - * Project or folder to scope this configuration to. For example, "project/456" would apply this configuration only to resources in "project/456" scope and will be checked with `AND` of other resources. - */ scope?: string | null; - /** - * A mapping of the sensitivity on Sensitive Data Protection finding to resource values. This mapping can only be used in combination with a resource_type that is related to BigQuery, e.g. "bigquery.googleapis.com/Dataset". - */ sensitiveDataProtectionMapping?: Schema$GoogleCloudSecuritycenterV2SensitiveDataProtectionMapping; - /** - * Tag values combined with `AND` to check against. For Google Cloud resources, they are tag value IDs in the form of "tagValues/123". Example: `[ "tagValues/123", "tagValues/456", "tagValues/789" ]` https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing - */ - tagValues?: string[] | null; - /** - * Output only. Timestamp this resource value configuration was last updated. - */ + tagValues?: string[] | null; updateTime?: string | null; } - /** - * Kubernetes Role or ClusterRole. - */ export interface Schema$GoogleCloudSecuritycenterV2Role { - /** - * Role type. - */ kind?: string | null; - /** - * Role name. - */ name?: string | null; - /** - * Role namespace. - */ ns?: string | null; } - /** - * Details about a secret or credential associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2Secret { - /** - * The environment variable containing the secret. - */ environmentVariable?: Schema$GoogleCloudSecuritycenterV2SecretEnvironmentVariable; - /** - * The file containing the secret. - */ filePath?: Schema$GoogleCloudSecuritycenterV2SecretFilePath; - /** - * The status of the secret. - */ status?: Schema$GoogleCloudSecuritycenterV2SecretStatus; - /** - * The type of secret, for example, GCP_API_KEY. - */ type?: string | null; } - /** - * Environment variable containing the secret. - */ export interface Schema$GoogleCloudSecuritycenterV2SecretEnvironmentVariable { - /** - * Environment variable name as a JSON encoded string. Note that value is not included since the value contains the secret data, which is sensitive core content. - */ key?: string | null; } - /** - * File path containing the secret. - */ export interface Schema$GoogleCloudSecuritycenterV2SecretFilePath { - /** - * Path to the file. - */ path?: string | null; } - /** - * The status of the secret. - */ export interface Schema$GoogleCloudSecuritycenterV2SecretStatus { - /** - * Time that the secret was found. - */ lastUpdatedTime?: string | null; - /** - * The validity of the secret. - */ validity?: string | null; } - /** - * SecurityBulletin are notifications of vulnerabilities of Google products. - */ export interface Schema$GoogleCloudSecuritycenterV2SecurityBulletin { - /** - * ID of the bulletin corresponding to the vulnerability. - */ bulletinId?: string | null; - /** - * Submission time of this Security Bulletin. - */ submissionTime?: string | null; - /** - * This represents a version that the cluster receiving this notification should be upgraded to, based on its current version. For example, 1.15.0 - */ suggestedUpgradeVersion?: string | null; } - /** - * User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization. - */ export interface Schema$GoogleCloudSecuritycenterV2SecurityMarks { - /** - * The canonical name of the marks. The following list shows some examples: + `organizations/{organization_id\}/assets/{asset_id\}/securityMarks` + `organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}/securityMarks` + `organizations/{organization_id\}/sources/{source_id\}/locations/{location\}/findings/{finding_id\}/securityMarks` + `folders/{folder_id\}/assets/{asset_id\}/securityMarks` + `folders/{folder_id\}/sources/{source_id\}/findings/{finding_id\}/securityMarks` + `folders/{folder_id\}/sources/{source_id\}/locations/{location\}/findings/{finding_id\}/securityMarks` + `projects/{project_number\}/assets/{asset_id\}/securityMarks` + `projects/{project_number\}/sources/{source_id\}/findings/{finding_id\}/securityMarks` + `projects/{project_number\}/sources/{source_id\}/locations/{location\}/findings/{finding_id\}/securityMarks` - */ canonicalName?: string | null; - /** - * Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive) - */ marks?: {[key: string]: string} | null; - /** - * The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name The following list shows some examples: + `organizations/{organization_id\}/assets/{asset_id\}/securityMarks` + `organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}/securityMarks` + `organizations/{organization_id\}/sources/{source_id\}/locations/{location\}/findings/{finding_id\}/securityMarks` - */ name?: string | null; } - /** - * Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2SecurityPolicy { - /** - * The name of the Google Cloud Armor security policy, for example, "my-security-policy". - */ name?: string | null; - /** - * Whether or not the associated rule or policy is in preview mode. - */ preview?: boolean | null; - /** - * The type of Google Cloud Armor security policy for example, 'backend security policy', 'edge security policy', 'network edge security policy', or 'always-on DDoS protection'. - */ type?: string | null; } - /** - * Represents a posture that is deployed on Google Cloud by the Security Command Center Posture Management service. A posture contains one or more policy sets. A policy set is a group of policies that enforce a set of security rules on Google Cloud. - */ export interface Schema$GoogleCloudSecuritycenterV2SecurityPosture { - /** - * The name of the updated policy, for example, `projects/{project_id\}/policies/{constraint_name\}`. - */ changedPolicy?: string | null; - /** - * Name of the posture, for example, `CIS-Posture`. - */ name?: string | null; - /** - * The ID of the updated policy, for example, `compute-policy-1`. - */ policy?: string | null; - /** - * The details about a change in an updated policy that violates the deployed posture. - */ policyDriftDetails?: Schema$GoogleCloudSecuritycenterV2PolicyDriftDetails[]; - /** - * The name of the updated policy set, for example, `cis-policyset`. - */ policySet?: string | null; - /** - * The name of the posture deployment, for example, `organizations/{org_id\}/posturedeployments/{posture_deployment_id\}`. - */ postureDeployment?: string | null; - /** - * The project, folder, or organization on which the posture is deployed, for example, `projects/{project_number\}`. - */ postureDeploymentResource?: string | null; - /** - * The version of the posture, for example, `c7cfa2a8`. - */ revisionId?: string | null; } - /** - * Resource value mapping for Sensitive Data Protection findings If any of these mappings have a resource value that is not unspecified, the resource_value field will be ignored when reading this configuration. - */ export interface Schema$GoogleCloudSecuritycenterV2SensitiveDataProtectionMapping { - /** - * Resource value mapping for high-sensitivity Sensitive Data Protection findings - */ highSensitivityMapping?: string | null; - /** - * Resource value mapping for medium-sensitivity Sensitive Data Protection findings - */ mediumSensitivityMapping?: string | null; } - /** - * Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. - */ export interface Schema$GoogleCloudSecuritycenterV2SensitivityScore { - /** - * The sensitivity score applied to the resource. - */ score?: string | null; } - /** - * Identity delegation history of an authenticated service account. - */ export interface Schema$GoogleCloudSecuritycenterV2ServiceAccountDelegationInfo { - /** - * The email address of a Google account. - */ principalEmail?: string | null; - /** - * A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name\}/subjects/{subject\}` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name\}[{subject\}]` - */ principalSubject?: string | null; } - /** - * Information about the static mute state. A static mute state overrides any dynamic mute rules that apply to this finding. The static mute state can be set by a static mute rule or by muting the finding directly. - */ export interface Schema$GoogleCloudSecuritycenterV2StaticMute { - /** - * When the static mute was applied. - */ applyTime?: string | null; - /** - * The static mute state. If the value is `MUTED` or `UNMUTED`, then the finding's overall mute state will have the same value. - */ state?: string | null; } - /** - * Represents a Kubernetes subject. - */ export interface Schema$GoogleCloudSecuritycenterV2Subject { - /** - * Authentication type for the subject. - */ kind?: string | null; - /** - * Name for the subject. - */ name?: string | null; - /** - * Namespace for the subject. - */ ns?: string | null; } - /** - * Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding. - */ export interface Schema$GoogleCloudSecuritycenterV2TicketInfo { - /** - * The assignee of the ticket in the ticket system. - */ assignee?: string | null; - /** - * The description of the ticket in the ticket system. - */ description?: string | null; - /** - * The identifier of the ticket in the ticket system. - */ id?: string | null; - /** - * The latest status of the ticket, as reported by the ticket system. - */ status?: string | null; - /** - * The time when the ticket was last updated, as reported by the ticket system. - */ updateTime?: string | null; - /** - * The link to the ticket in the ticket system. - */ uri?: string | null; } - /** - * Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. - */ export interface Schema$GoogleCloudSecuritycenterV2ToxicCombination { - /** - * The [Attack exposure score](https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_exposure_scores) of this toxic combination. The score is a measure of how much this toxic combination exposes one or more high-value resources to potential attack. - */ attackExposureScore?: number | null; - /** - * List of resource names of findings associated with this toxic combination. For example, `organizations/123/sources/456/findings/789`. - */ relatedFindings?: string[] | null; } - /** - * Vertex AI-related information associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2VertexAi { - /** - * Datasets associated with the finding. - */ datasets?: Schema$GoogleCloudSecuritycenterV2Dataset[]; - /** - * Pipelines associated with the finding. - */ pipelines?: Schema$GoogleCloudSecuritycenterV2Pipeline[]; } - /** - * Refers to common vulnerability fields e.g. cve, cvss, cwe etc. - */ export interface Schema$GoogleCloudSecuritycenterV2Vulnerability { - /** - * CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/) - */ cve?: Schema$GoogleCloudSecuritycenterV2Cve; - /** - * Represents one or more Common Weakness Enumeration (CWE) information on this vulnerability. - */ cwes?: Schema$GoogleCloudSecuritycenterV2Cwe[]; - /** - * The fixed package is relevant to the finding. - */ fixedPackage?: Schema$GoogleCloudSecuritycenterV2Package; - /** - * The offending package is relevant to the finding. - */ offendingPackage?: Schema$GoogleCloudSecuritycenterV2Package; - /** - * Provider provided risk_score based on multiple factors. The higher the risk score, the more risky the vulnerability is. - */ providerRiskScore?: string | null; - /** - * Represents whether the vulnerability is reachable (detected via static analysis) - */ reachable?: boolean | null; - /** - * The security bulletin is relevant to this finding. - */ securityBulletin?: Schema$GoogleCloudSecuritycenterV2SecurityBulletin; } - /** - * A signature corresponding to a YARA rule. - */ export interface Schema$GoogleCloudSecuritycenterV2YaraRuleSignature { - /** - * The name of the YARA rule. - */ yaraRule?: string | null; } - /** - * Request message for grouping by assets. - */ export interface Schema$GroupAssetsRequest { - /** - * When compare_duration is set, the GroupResult's "state_change" property is updated to indicate whether the asset was added, removed, or remained present during the compare_duration period of time that precedes the read_time. This is the time between (read_time - compare_duration) and read_time. The state change value is derived based on the presence of the asset at the two points in time. Intermediate state changes between the two times don't affect the result. For example, the results aren't affected if the asset is removed and re-created again. Possible "state_change" values when compare_duration is specified: * "ADDED": indicates that the asset was not present at the start of compare_duration, but present at reference_time. * "REMOVED": indicates that the asset was present at the start of compare_duration, but not present at reference_time. * "ACTIVE": indicates that the asset was present at both the start and the end of the time period defined by compare_duration and reference_time. If compare_duration is not specified, then the only possible state_change is "UNUSED", which will be the state_change set for all assets present at read_time. If this field is set then `state_change` must be a specified field in `group_by`. - */ compareDuration?: string | null; - /** - * Expression that defines the filter to apply across assets. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the Asset resource. Examples include: * name * security_center_properties.resource_name * resource_properties.a_property * security_marks.marks.marka The supported operators are: * `=` for all value types. * `\>`, `<`, `\>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. The following field and operator combinations are supported: * name: `=` * update_time: `=`, `\>`, `<`, `\>=`, `<=` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `update_time = "2019-06-10T16:07:18-07:00"` `update_time = 1560208038000` * create_time: `=`, `\>`, `<`, `\>=`, `<=` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `create_time = "2019-06-10T16:07:18-07:00"` `create_time = 1560208038000` * iam_policy.policy_blob: `=`, `:` * resource_properties: `=`, `:`, `\>`, `<`, `\>=`, `<=` * security_marks.marks: `=`, `:` * security_center_properties.resource_name: `=`, `:` * security_center_properties.resource_display_name: `=`, `:` * security_center_properties.resource_type: `=`, `:` * security_center_properties.resource_parent: `=`, `:` * security_center_properties.resource_parent_display_name: `=`, `:` * security_center_properties.resource_project: `=`, `:` * security_center_properties.resource_project_display_name: `=`, `:` * security_center_properties.resource_owners: `=`, `:` For example, `resource_properties.size = 100` is a valid filter string. Use a partial match on the empty string to filter based on a property existing: `resource_properties.my_property : ""` Use a negated partial match on the empty string to filter based on a property not existing: `-resource_properties.my_property : ""` - */ filter?: string | null; - /** - * Required. Expression that defines what assets fields to use for grouping. The string value should follow SQL syntax: comma separated list of fields. For example: "security_center_properties.resource_project,security_center_properties.project". The following fields are supported when compare_duration is not set: * security_center_properties.resource_project * security_center_properties.resource_project_display_name * security_center_properties.resource_type * security_center_properties.resource_parent * security_center_properties.resource_parent_display_name The following fields are supported when compare_duration is set: * security_center_properties.resource_type * security_center_properties.resource_project_display_name * security_center_properties.resource_parent_display_name - */ groupBy?: string | null; - /** - * The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. - */ pageSize?: number | null; - /** - * The value returned by the last `GroupAssetsResponse`; indicates that this is a continuation of a prior `GroupAssets` call, and that the system should return the next page of data. - */ pageToken?: string | null; - /** - * Time used as a reference point when filtering assets. The filter is limited to assets existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW. - */ readTime?: string | null; } - /** - * Response message for grouping by assets. - */ export interface Schema$GroupAssetsResponse { - /** - * Group results. There exists an element for each existing unique combination of property/values. The element contains a count for the number of times those specific property/values appear. - */ groupByResults?: Schema$GroupResult[]; - /** - * Token to retrieve the next page of results, or empty if there are no more results. - */ nextPageToken?: string | null; - /** - * Time used for executing the groupBy request. - */ readTime?: string | null; - /** - * The total number of results matching the query. - */ totalSize?: number | null; } - /** - * Request message for grouping by findings. - */ export interface Schema$GroupFindingsRequest { - /** - * When compare_duration is set, the GroupResult's "state_change" attribute is updated to indicate whether the finding had its state changed, the finding's state remained unchanged, or if the finding was added during the compare_duration period of time that precedes the read_time. This is the time between (read_time - compare_duration) and read_time. The state_change value is derived based on the presence and state of the finding at the two points in time. Intermediate state changes between the two times don't affect the result. For example, the results aren't affected if the finding is made inactive and then active again. Possible "state_change" values when compare_duration is specified: * "CHANGED": indicates that the finding was present and matched the given filter at the start of compare_duration, but changed its state at read_time. * "UNCHANGED": indicates that the finding was present and matched the given filter at the start of compare_duration and did not change state at read_time. * "ADDED": indicates that the finding did not match the given filter or was not present at the start of compare_duration, but was present at read_time. * "REMOVED": indicates that the finding was present and matched the filter at the start of compare_duration, but did not match the filter at read_time. If compare_duration is not specified, then the only possible state_change is "UNUSED", which will be the state_change set for all findings present at read_time. If this field is set then `state_change` must be a specified field in `group_by`. - */ compareDuration?: string | null; - /** - * Expression that defines the filter to apply across findings. The expression is a list of one or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. Examples include: * name * source_properties.a_property * security_marks.marks.marka The supported operators are: * `=` for all value types. * `\>`, `<`, `\>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. The following field and operator combinations are supported: * name: `=` * parent: `=`, `:` * resource_name: `=`, `:` * state: `=`, `:` * category: `=`, `:` * external_uri: `=`, `:` * event_time: `=`, `\>`, `<`, `\>=`, `<=` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `event_time = "2019-06-10T16:07:18-07:00"` `event_time = 1560208038000` * severity: `=`, `:` * workflow_state: `=`, `:` * security_marks.marks: `=`, `:` * source_properties: `=`, `:`, `\>`, `<`, `\>=`, `<=` For example, `source_properties.size = 100` is a valid filter string. Use a partial match on the empty string to filter based on a property existing: `source_properties.my_property : ""` Use a negated partial match on the empty string to filter based on a property not existing: `-source_properties.my_property : ""` * resource: * resource.name: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.type: `=`, `:` - */ filter?: string | null; - /** - * Required. Expression that defines what assets fields to use for grouping (including `state_change`). The string value should follow SQL syntax: comma separated list of fields. For example: "parent,resource_name". The following fields are supported when compare_duration is set: * state_change - */ groupBy?: string | null; - /** - * The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. - */ pageSize?: number | null; - /** - * The value returned by the last `GroupFindingsResponse`; indicates that this is a continuation of a prior `GroupFindings` call, and that the system should return the next page of data. - */ pageToken?: string | null; - /** - * Time used as a reference point when filtering findings. The filter is limited to findings existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW. - */ readTime?: string | null; } - /** - * Response message for group by findings. - */ export interface Schema$GroupFindingsResponse { - /** - * Group results. There exists an element for each existing unique combination of property/values. The element contains a count for the number of times those specific property/values appear. - */ groupByResults?: Schema$GroupResult[]; - /** - * Token to retrieve the next page of results, or empty if there are no more results. - */ nextPageToken?: string | null; - /** - * Time used for executing the groupBy request. - */ readTime?: string | null; - /** - * The total number of results matching the query. - */ totalSize?: number | null; } - /** - * Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way. - */ export interface Schema$GroupMembership { - /** - * ID of the group. - */ groupId?: string | null; - /** - * Type of group. - */ groupType?: string | null; } - /** - * Result containing the properties and count of a groupBy request. - */ export interface Schema$GroupResult { - /** - * Total count of resources for the given properties. - */ count?: string | null; - /** - * Properties matching the groupBy fields in the request. - */ properties?: {[key: string]: any} | null; } - /** - * The http response returned by the web application. - */ export interface Schema$HttpResponse { - /** - * The http path for which response code was returned by web application, for example, "https://test-app.a.run.app/test". - */ path?: string | null; - /** - * The http response code returned by the web application, for example, 200. - */ statusCode?: string | null; } - /** - * Represents a particular IAM binding, which captures a member's role addition, removal, or state. - */ export interface Schema$IamBinding { - /** - * The action that was performed on a Binding. - */ action?: string | null; - /** - * A single identity requesting access for a Cloud Platform resource, for example, "foo@google.com". - */ member?: string | null; - /** - * Role that is assigned to "members". For example, "roles/viewer", "roles/editor", or "roles/owner". - */ role?: string | null; } - /** - * Cloud IAM Policy information associated with the Google Cloud resource described by the Security Command Center asset. This information is managed and defined by the Google Cloud resource and cannot be modified by the user. - */ export interface Schema$IamPolicy { - /** - * The JSON representation of the Policy associated with the asset. See https://cloud.google.com/iam/reference/rest/v1/Policy for format details. - */ policyBlob?: string | null; } - /** - * Represents what's commonly known as an _indicator of compromise_ (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise). - */ export interface Schema$Indicator { - /** - * List of domains associated to the Finding. - */ domains?: string[] | null; - /** - * The list of IP addresses that are associated with the finding. - */ ipAddresses?: string[] | null; - /** - * The list of matched signatures indicating that the given process is present in the environment. - */ signatures?: Schema$ProcessSignature[]; - /** - * The list of URIs associated to the Findings. - */ uris?: string[] | null; } - /** - * Type of information detected by the API. - */ export interface Schema$InfoType { - /** - * Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64\}`. - */ name?: string | null; - /** - * Optional custom sensitivity for this InfoType. This only applies to data profiling. - */ sensitivityScore?: Schema$SensitivityScore; - /** - * Optional version name for this InfoType. - */ version?: string | null; } - /** - * IP rule information. - */ export interface Schema$IpRule { - /** - * Optional. An optional list of ports to which this rule applies. This field is only applicable for the UDP or (S)TCP protocols. Each entry must be either an integer or a range including a min and max port number. - */ portRanges?: Schema$PortRange[]; - /** - * The IP protocol this rule applies to. This value can either be one of the following well known protocol strings (TCP, UDP, ICMP, ESP, AH, IPIP, SCTP) or a string representation of the integer value. - */ protocol?: string | null; } - /** - * IP rules associated with the finding. - */ export interface Schema$IpRules { - /** - * Tuple with allowed rules. - */ allowed?: Schema$Allowed; - /** - * Tuple with denied rules. - */ denied?: Schema$Denied; - /** - * If destination IP ranges are specified, the firewall rule applies only to traffic that has a destination IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4. - */ destinationIpRanges?: string[] | null; - /** - * The direction that the rule is applicable to, one of ingress or egress. - */ direction?: string | null; - /** - * Name of the network protocol service, such as FTP, that is exposed by the open port. Follows the naming convention available at: https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml. - */ exposedServices?: string[] | null; - /** - * If source IP 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. Only supports IPv4. - */ sourceIpRanges?: string[] | null; } - /** - * Describes a job - */ export interface Schema$Job { - /** - * Optional. If the job did not complete successfully, this field describes why. - */ errorCode?: number | null; - /** - * Optional. Gives the location where the job ran, such as `US` or `europe-west1` - */ location?: string | null; - /** - * The fully-qualified name for a job. e.g. `projects//jobs/` - */ name?: string | null; - /** - * Output only. State of the job, such as `RUNNING` or `PENDING`. - */ state?: string | null; } - /** - * Kernel mode rootkit signatures. - */ export interface Schema$KernelRootkit { - /** - * Rootkit name, when available. - */ name?: string | null; - /** - * True if unexpected modifications of kernel code memory are present. - */ unexpectedCodeModification?: boolean | null; - /** - * True if `ftrace` points are present with callbacks pointing to regions that are not in the expected kernel or module code range. - */ unexpectedFtraceHandler?: boolean | null; - /** - * True if interrupt handlers that are are not in the expected kernel or module code regions are present. - */ unexpectedInterruptHandler?: boolean | null; - /** - * True if kernel code pages that are not in the expected kernel or module code regions are present. - */ unexpectedKernelCodePages?: boolean | null; - /** - * True if `kprobe` points are present with callbacks pointing to regions that are not in the expected kernel or module code range. - */ unexpectedKprobeHandler?: boolean | null; - /** - * True if unexpected processes in the scheduler run queue are present. Such processes are in the run queue, but not in the process task list. - */ unexpectedProcessesInRunqueue?: boolean | null; - /** - * True if unexpected modifications of kernel read-only data memory are present. - */ unexpectedReadOnlyDataModification?: boolean | null; - /** - * True if system call handlers that are are not in the expected kernel or module code regions are present. - */ unexpectedSystemCallHandler?: boolean | null; } - /** - * Kubernetes-related attributes. - */ export interface Schema$Kubernetes { - /** - * Provides information on any Kubernetes access reviews (privilege checks) relevant to the finding. - */ accessReviews?: Schema$AccessReview[]; - /** - * Provides Kubernetes role binding information for findings that involve [RoleBindings or ClusterRoleBindings](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control). - */ bindings?: Schema$GoogleCloudSecuritycenterV1Binding[]; - /** - * GKE [node pools](https://cloud.google.com/kubernetes-engine/docs/concepts/node-pools) associated with the finding. This field contains node pool information for each node, when it is available. - */ nodePools?: Schema$NodePool[]; - /** - * Provides Kubernetes [node](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture#nodes) information. - */ nodes?: Schema$Node[]; - /** - * Kubernetes objects related to the finding. - */ objects?: Schema$Object[]; - /** - * Kubernetes [Pods](https://cloud.google.com/kubernetes-engine/docs/concepts/pod) associated with the finding. This field contains Pod records for each container that is owned by a Pod. - */ pods?: Schema$Pod[]; - /** - * Provides Kubernetes role information for findings that involve [Roles or ClusterRoles](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control). - */ roles?: Schema$Role[]; } - /** - * Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - */ export interface Schema$Label { - /** - * Name of the label. - */ name?: string | null; - /** - * Value that corresponds to the label's name. - */ value?: string | null; } - /** - * Response message for listing assets. - */ export interface Schema$ListAssetsResponse { - /** - * Assets matching the list request. - */ listAssetsResults?: Schema$ListAssetsResult[]; - /** - * Token to retrieve the next page of results, or empty if there are no more results. - */ nextPageToken?: string | null; - /** - * Time used for executing the list request. - */ readTime?: string | null; - /** - * The total number of assets matching the query. - */ totalSize?: number | null; } - /** - * Result containing the Asset and its State. - */ export interface Schema$ListAssetsResult { - /** - * Asset matching the search request. - */ asset?: Schema$Asset; - /** - * State change of the asset between the points in time. - */ stateChange?: string | null; } - /** - * Response message for listing the attack paths for a given simulation or valued resource. - */ export interface Schema$ListAttackPathsResponse { - /** - * The attack paths that the attack path simulation identified. - */ attackPaths?: Schema$AttackPath[]; - /** - * Token to retrieve the next page of results, or empty if there are no more results. - */ nextPageToken?: string | null; } - /** - * Response message for listing BigQuery exports. - */ export interface Schema$ListBigQueryExportsResponse { - /** - * The BigQuery exports from the specified parent. - */ bigQueryExports?: Schema$GoogleCloudSecuritycenterV1BigQueryExport[]; - /** - * A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. - */ nextPageToken?: string | null; } - /** - * Response for listing current and descendant resident Event Threat Detection custom modules. - */ export interface Schema$ListDescendantEventThreatDetectionCustomModulesResponse { - /** - * Custom modules belonging to the requested parent. - */ eventThreatDetectionCustomModules?: Schema$EventThreatDetectionCustomModule[]; - /** - * A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. - */ nextPageToken?: string | null; } - /** - * Response message for listing descendant Security Health Analytics custom modules. - */ export interface Schema$ListDescendantSecurityHealthAnalyticsCustomModulesResponse { - /** - * If not empty, indicates that there may be more custom modules to be returned. - */ nextPageToken?: string | null; - /** - * Custom modules belonging to the requested parent and its descendants. - */ securityHealthAnalyticsCustomModules?: Schema$GoogleCloudSecuritycenterV1SecurityHealthAnalyticsCustomModule[]; } - /** - * Response for listing EffectiveEventThreatDetectionCustomModules. - */ export interface Schema$ListEffectiveEventThreatDetectionCustomModulesResponse { - /** - * Effective custom modules belonging to the requested parent. - */ effectiveEventThreatDetectionCustomModules?: Schema$EffectiveEventThreatDetectionCustomModule[]; - /** - * A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. - */ nextPageToken?: string | null; } - /** - * Response message for listing effective Security Health Analytics custom modules. - */ export interface Schema$ListEffectiveSecurityHealthAnalyticsCustomModulesResponse { - /** - * Effective custom modules belonging to the requested parent. - */ effectiveSecurityHealthAnalyticsCustomModules?: Schema$GoogleCloudSecuritycenterV1EffectiveSecurityHealthAnalyticsCustomModule[]; - /** - * If not empty, indicates that there may be more effective custom modules to be returned. - */ nextPageToken?: string | null; } - /** - * Response for listing Event Threat Detection custom modules. - */ export interface Schema$ListEventThreatDetectionCustomModulesResponse { - /** - * Custom modules belonging to the requested parent. - */ eventThreatDetectionCustomModules?: Schema$EventThreatDetectionCustomModule[]; - /** - * A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. - */ nextPageToken?: string | null; } - /** - * Response message for listing findings. - */ export interface Schema$ListFindingsResponse { - /** - * Findings matching the list request. - */ listFindingsResults?: Schema$ListFindingsResult[]; - /** - * Token to retrieve the next page of results, or empty if there are no more results. - */ nextPageToken?: string | null; - /** - * Time used for executing the list request. - */ readTime?: string | null; - /** - * The total number of findings matching the query. - */ totalSize?: number | null; } - /** - * Result containing the Finding and its StateChange. - */ export interface Schema$ListFindingsResult { - /** - * Finding matching the search request. - */ finding?: Schema$Finding; - /** - * Output only. Resource that is associated with this finding. - */ resource?: Schema$Resource; - /** - * State change of the finding between the points in time. - */ stateChange?: string | null; } - /** - * Response message for listing mute configs. - */ export interface Schema$ListMuteConfigsResponse { - /** - * The mute configs from the specified parent. - */ muteConfigs?: Schema$GoogleCloudSecuritycenterV1MuteConfig[]; - /** - * A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. - */ nextPageToken?: string | null; } - /** - * Response message for listing notification configs. - */ export interface Schema$ListNotificationConfigsResponse { - /** - * Token to retrieve the next page of results, or empty if there are no more results. - */ nextPageToken?: string | null; - /** - * Notification configs belonging to the requested parent. - */ notificationConfigs?: Schema$NotificationConfig[]; } - /** - * The response message for Operations.ListOperations. - */ export interface Schema$ListOperationsResponse { - /** - * The standard List next-page token. - */ nextPageToken?: string | null; - /** - * A list of operations that matches the specified filter in the request. - */ operations?: Schema$Operation[]; - /** - * Unordered list. Unreachable resources. Populated when the request sets `ListOperationsRequest.return_partial_success` and reads across collections. For example, when attempting to list all resources across all supported locations. - */ unreachable?: string[] | null; } - /** - * Response message to list resource value configs - */ export interface Schema$ListResourceValueConfigsResponse { - /** - * A token, which can be sent as `page_token` to retrieve the next page. If this field is empty, there are no subsequent pages. - */ nextPageToken?: string | null; - /** - * The resource value configs from the specified parent. - */ resourceValueConfigs?: Schema$GoogleCloudSecuritycenterV1ResourceValueConfig[]; } - /** - * Response message for listing Security Health Analytics custom modules. - */ export interface Schema$ListSecurityHealthAnalyticsCustomModulesResponse { - /** - * If not empty, indicates that there may be more custom modules to be returned. - */ nextPageToken?: string | null; - /** - * Custom modules belonging to the requested parent. - */ securityHealthAnalyticsCustomModules?: Schema$GoogleCloudSecuritycenterV1SecurityHealthAnalyticsCustomModule[]; } - /** - * Response message for listing sources. - */ export interface Schema$ListSourcesResponse { - /** - * Token to retrieve the next page of results, or empty if there are no more results. - */ nextPageToken?: string | null; - /** - * Sources belonging to the requested parent. - */ sources?: Schema$Source[]; } - /** - * Response message for listing the valued resources for a given simulation. - */ export interface Schema$ListValuedResourcesResponse { - /** - * Token to retrieve the next page of results, or empty if there are no more results. - */ nextPageToken?: string | null; - /** - * The estimated total number of results matching the query. - */ totalSize?: number | null; - /** - * The valued resources that the attack path simulation identified. - */ valuedResources?: Schema$ValuedResource[]; } - /** - * Contains information related to the load balancer associated with the finding. - */ export interface Schema$LoadBalancer { - /** - * The name of the load balancer associated with the finding. - */ name?: string | null; } - /** - * An individual entry in a log. - */ export interface Schema$LogEntry { - /** - * An individual entry in a log stored in Cloud Logging. - */ cloudLoggingEntry?: Schema$CloudLoggingEntry; } - /** - * A signature corresponding to memory page hashes. - */ export interface Schema$MemoryHashSignature { - /** - * The binary family. - */ binaryFamily?: string | null; - /** - * The list of memory hash detections contributing to the binary family match. - */ detections?: Schema$Detection[]; } - /** - * MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org - */ export interface Schema$MitreAttack { - /** - * Additional MITRE ATT&CK tactics related to this finding, if any. - */ additionalTactics?: string[] | null; - /** - * Additional MITRE ATT&CK techniques related to this finding, if any, along with any of their respective parent techniques. - */ additionalTechniques?: string[] | null; - /** - * The MITRE ATT&CK tactic most closely represented by this finding, if any. - */ primaryTactic?: string | null; - /** - * The MITRE ATT&CK technique most closely represented by this finding, if any. primary_techniques is a repeated field because there are multiple levels of MITRE ATT&CK techniques. If the technique most closely represented by this finding is a sub-technique (e.g. `SCANNING_IP_BLOCKS`), both the sub-technique and its parent technique(s) will be listed (e.g. `SCANNING_IP_BLOCKS`, `ACTIVE_SCANNING`). - */ primaryTechniques?: string[] | null; - /** - * The MITRE ATT&CK version referenced by the above fields. E.g. "8". - */ version?: string | null; } - /** - * Mute information about the finding, including whether the finding has a static mute or any matching dynamic mute rules. - */ export interface Schema$MuteInfo { - /** - * The list of dynamic mute rules that currently match the finding. - */ dynamicMuteRecords?: Schema$DynamicMuteRecord[]; - /** - * If set, the static mute applied to this finding. Static mutes override dynamic mutes. If unset, there is no static mute. - */ staticMute?: Schema$StaticMute; } - /** - * Contains information about a VPC network associated with the finding. - */ export interface Schema$Network { - /** - * The name of the VPC network resource, for example, `//compute.googleapis.com/projects/my-project/global/networks/my-network`. - */ name?: string | null; } - /** - * Kubernetes nodes associated with the finding. - */ export interface Schema$Node { - /** - * [Full resource name](https://google.aip.dev/122#full-resource-names) of the Compute Engine VM running the cluster node. - */ name?: string | null; } - /** - * Provides GKE node pool information. - */ export interface Schema$NodePool { - /** - * Kubernetes node pool name. - */ name?: string | null; - /** - * Nodes associated with the finding. - */ nodes?: Schema$Node[]; } - /** - * Represents a Jupyter notebook IPYNB file, such as a [Colab Enterprise notebook](https://cloud.google.com/colab/docs/introduction) file, that is associated with a finding. - */ export interface Schema$Notebook { - /** - * The user ID of the latest author to modify the notebook. - */ lastAuthor?: string | null; - /** - * The name of the notebook. - */ name?: string | null; - /** - * The most recent time the notebook was updated. - */ notebookUpdateTime?: string | null; - /** - * The source notebook service, for example, "Colab Enterprise". - */ service?: string | null; } - /** - * Cloud Security Command Center (Cloud SCC) notification configs. A notification config is a Cloud SCC resource that contains the configuration to send notifications for create/update events of findings, assets and etc. - */ export interface Schema$NotificationConfig { - /** - * The description of the notification config (max of 1024 characters). - */ description?: string | null; - /** - * The relative resource name of this notification config. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id\}/notificationConfigs/notify_public_bucket", "folders/{folder_id\}/notificationConfigs/notify_public_bucket", or "projects/{project_id\}/notificationConfigs/notify_public_bucket". - */ name?: string | null; - /** - * The Pub/Sub topic to send notifications to. Its format is "projects/[project_id]/topics/[topic]". - */ pubsubTopic?: string | null; - /** - * Output only. The service account that needs "pubsub.topics.publish" permission to publish to the Pub/Sub topic. - */ serviceAccount?: string | null; - /** - * The config for triggering streaming-based notifications. - */ streamingConfig?: Schema$StreamingConfig; - } - /** - * Kubernetes object related to the finding, uniquely identified by GKNN. Used if the object Kind is not one of Pod, Node, NodePool, Binding, or AccessReview. - */ + } export interface Schema$Object { - /** - * Pod containers associated with this finding, if any. - */ containers?: Schema$Container[]; - /** - * Kubernetes object group, such as "policy.k8s.io/v1". - */ group?: string | null; - /** - * Kubernetes object kind, such as "Namespace". - */ kind?: string | null; - /** - * Kubernetes object name. For details see https://kubernetes.io/docs/concepts/overview/working-with-objects/names/. - */ name?: string | null; - /** - * Kubernetes object namespace. Must be a valid DNS label. Named "ns" to avoid collision with C++ namespace keyword. For details see https://kubernetes.io/docs/tasks/administer-cluster/namespaces/. - */ ns?: string | null; } - /** - * This resource represents a long-running operation that is the result of a network API call. - */ export interface Schema$Operation { - /** - * 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. - */ done?: boolean | null; - /** - * The error result of the operation in case of failure or cancellation. - */ error?: Schema$Status; - /** - * 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. - */ metadata?: {[key: string]: any} | null; - /** - * 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\}`. - */ name?: string | null; - /** - * 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`. - */ response?: {[key: string]: any} | null; } - /** - * User specified settings that are attached to the Security Command Center organization. - */ export interface Schema$OrganizationSettings { - /** - * The configuration used for Asset Discovery runs. - */ assetDiscoveryConfig?: Schema$AssetDiscoveryConfig; - /** - * A flag that indicates if Asset Discovery should be enabled. If the flag is set to `true`, then discovery of assets will occur. If it is set to `false`, all historical assets will remain, but discovery of future assets will not occur. - */ enableAssetDiscovery?: boolean | null; - /** - * The relative resource name of the settings. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id\}/organizationSettings". - */ name?: string | null; } - /** - * Contains information about the org policies associated with the finding. - */ export interface Schema$OrgPolicy { - /** - * The resource name of the org policy. Example: "organizations/{organization_id\}/policies/{constraint_name\}" - */ name?: string | null; } - /** - * Package is a generic definition of a package. - */ export interface Schema$Package { - /** - * The CPE URI where the vulnerability was detected. - */ cpeUri?: string | null; - /** - * The name of the package where the vulnerability was detected. - */ packageName?: string | null; - /** - * Type of package, for example, os, maven, or go. - */ packageType?: string | null; - /** - * The version of the package. - */ packageVersion?: string | null; } - /** - * A finding that is associated with this node in the attack path. - */ export interface Schema$PathNodeAssociatedFinding { - /** - * Canonical name of the associated findings. Example: `organizations/123/sources/456/findings/789` - */ canonicalFinding?: string | null; - /** - * The additional taxonomy group within findings from a given source. - */ findingCategory?: string | null; - /** - * Full resource name of the finding. - */ name?: string | null; } - /** - * Vertex AI training pipeline associated with the finding. - */ export interface Schema$Pipeline { - /** - * The user defined display name of pipeline, e.g. plants-classification - */ displayName?: string | null; - /** - * Resource name of the pipeline, e.g. projects/{project\}/locations/{location\}/trainingPipelines/5253428229225578496 - */ name?: string | null; } - /** - * A Kubernetes Pod. - */ export interface Schema$Pod { - /** - * Pod containers associated with this finding, if any. - */ containers?: Schema$Container[]; - /** - * Pod labels. For Kubernetes containers, these are applied to the container. - */ labels?: Schema$Label[]; - /** - * Kubernetes Pod name. - */ name?: string | null; - /** - * Kubernetes Pod namespace. - */ ns?: string | null; } - /** - * 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/). - */ export interface Schema$Policy { - /** - * Specifies cloud audit logging configuration for this policy. - */ auditConfigs?: Schema$AuditConfig[]; - /** - * 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`. - */ bindings?: Schema$Binding[]; - /** - * `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. - */ etag?: string | null; - /** - * 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). - */ version?: number | null; } - /** - * The policy field that violates the deployed posture and its expected and detected values. - */ export interface Schema$PolicyDriftDetails { - /** - * The detected value that violates the deployed posture, for example, `false` or `allowed_values={"projects/22831892"\}`. - */ detectedValue?: string | null; - /** - * The value of this field that was configured in a posture, for example, `true` or `allowed_values={"projects/29831892"\}`. - */ expectedValue?: string | null; - /** - * The name of the updated field, for example constraint.implementation.policy_rules[0].enforce - */ field?: string | null; } - /** - * Metadata summarizing policy violations of child resources of the affected resource. `finding_category` and `resource` determine the exact semantics of the counts. For example, when category=DATA_SECURITY_POSTURE_OBJECT_PUBLIC_ACCESS_VIOLATION and resource='storage.googleapis.com/buckets/my-bucket-name' then this counts the number of Cloud Storage objects in my-bucket-name which violate a Public Access control. - */ export interface Schema$PolicyViolationSummary { - /** - * Total number of child resources that conform to the policy. - */ conformantResourcesCount?: string | null; - /** - * Number of child resources for which errors during evaluation occurred. The evaluation result for these child resources is effectively "unknown". - */ evaluationErrorsCount?: string | null; - /** - * Total count of child resources which were not in scope for evaluation. - */ outOfScopeResourcesCount?: string | null; - /** - * Count of child resources in violation of the policy. - */ policyViolationsCount?: string | null; } - /** - * A port range which is inclusive of the min and max values. Values are between 0 and 2^16-1. The max can be equal / must be not smaller than the min value. If min and max are equal this indicates that it is a single port. - */ export interface Schema$PortRange { - /** - * Maximum port value. - */ max?: string | null; - /** - * Minimum port value. - */ min?: string | null; } - /** - * A position in the uploaded text version of a module. - */ export interface Schema$Position { - /** - * The column number. - */ columnNumber?: number | null; - /** - * The line number. - */ lineNumber?: number | null; } - /** - * Represents an operating system process. - */ export interface Schema$Process { - /** - * Process arguments as JSON encoded strings. - */ args?: string[] | null; - /** - * True if `args` is incomplete. - */ argumentsTruncated?: boolean | null; - /** - * File information for the process executable. - */ binary?: Schema$File; - /** - * Process environment variables. - */ envVariables?: Schema$EnvironmentVariable[]; - /** - * True if `env_variables` is incomplete. - */ envVariablesTruncated?: boolean | null; - /** - * File information for libraries loaded by the process. - */ libraries?: Schema$File[]; - /** - * The process name, as displayed in utilities like `top` and `ps`. This name can be accessed through `/proc/[pid]/comm` and changed with `prctl(PR_SET_NAME)`. - */ name?: string | null; - /** - * The parent process ID. - */ parentPid?: string | null; - /** - * The process ID. - */ pid?: string | null; - /** - * When the process represents the invocation of a script, `binary` provides information about the interpreter, while `script` provides information about the script file provided to the interpreter. - */ script?: Schema$File; - /** - * The ID of the user that executed the process. E.g. If this is the root user this will always be 0. - */ userId?: string | null; } - /** - * Indicates what signature matched this process. - */ export interface Schema$ProcessSignature { - /** - * Signature indicating that a binary family was matched. - */ memoryHashSignature?: Schema$MemoryHashSignature; - /** - * Describes the type of resource associated with the signature. - */ signatureType?: string | null; - /** - * Signature indicating that a YARA rule was matched. - */ yaraRuleSignature?: Schema$YaraRuleSignature; } - /** - * Additional Links - */ export interface Schema$Reference { - /** - * Source of the reference e.g. NVD - */ source?: string | null; - /** - * Uri for the mentioned source e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527. - */ uri?: string | null; } - /** - * Information about the requests relevant to the finding. - */ export interface Schema$Requests { - /** - * Allowed RPS (requests per second) over the long term. - */ longTermAllowed?: number | null; - /** - * Denied RPS (requests per second) over the long term. - */ longTermDenied?: number | null; - /** - * For 'Increasing deny ratio', the ratio is the denied traffic divided by the allowed traffic. For 'Allowed traffic spike', the ratio is the allowed traffic in the short term divided by allowed traffic in the long term. - */ ratio?: number | null; - /** - * Allowed RPS (requests per second) in the short term. - */ shortTermAllowed?: number | null; } - /** - * Information related to the Google Cloud resource that is associated with this finding. - */ export interface Schema$Resource { - /** - * The ADC application associated with the finding. - */ adcApplication?: Schema$AdcApplication; - /** - * The ADC template associated with the finding. - */ adcApplicationTemplate?: Schema$AdcApplicationTemplateRevision; - /** - * The ADC shared template associated with the finding. - */ adcSharedTemplate?: Schema$AdcSharedTemplateRevision; - /** - * The App Hub application this resource belongs to. - */ application?: Schema$GoogleCloudSecuritycenterV1ResourceApplication; - /** - * The AWS metadata associated with the finding. - */ awsMetadata?: Schema$AwsMetadata; - /** - * The Azure metadata associated with the finding. - */ azureMetadata?: Schema$AzureMetadata; - /** - * Indicates which cloud provider the finding is from. - */ cloudProvider?: string | null; - /** - * The human readable name of the resource. - */ displayName?: string | null; - /** - * Contains a Folder message for each folder in the assets ancestry. The first folder is the deepest nested folder, and the last folder is the folder directly under the Organization. - */ folders?: Schema$Folder[]; - /** - * The region or location of the service (if applicable). - */ location?: string | null; - /** - * The full resource name of the resource. See: https://cloud.google.com/apis/design/resource_names#full_resource_name - */ name?: string | null; - /** - * Indicates which organization / tenant the finding is for. - */ organization?: string | null; - /** - * The human readable name of resource's parent. - */ parentDisplayName?: string | null; - /** - * The full resource name of resource's parent. - */ parentName?: string | null; - /** - * The project ID that the resource belongs to. - */ projectDisplayName?: string | null; - /** - * The full resource name of project that the resource belongs to. - */ projectName?: string | null; - /** - * Provides the path to the resource within the resource hierarchy. - */ resourcePath?: Schema$ResourcePath; - /** - * A string representation of the resource path. For Google Cloud, it has the format of `org/{organization_id\}/folder/{folder_id\}/folder/{folder_id\}/project/{project_id\}` where there can be any number of folders. For AWS, it has the format of `org/{organization_id\}/ou/{organizational_unit_id\}/ou/{organizational_unit_id\}/account/{account_id\}` where there can be any number of organizational units. For Azure, it has the format of `mg/{management_group_id\}/mg/{management_group_id\}/subscription/{subscription_id\}/rg/{resource_group_name\}` where there can be any number of management groups. - */ resourcePathString?: string | null; - /** - * The service or resource provider associated with the resource. - */ service?: string | null; - /** - * The full resource type of the resource. - */ type?: string | null; } - /** - * Represents the path of resources leading up to the resource this finding is about. - */ export interface Schema$ResourcePath { - /** - * The list of nodes that make the up resource path, ordered from lowest level to highest level. - */ nodes?: Schema$ResourcePathNode[]; } - /** - * A node within the resource path. Each node represents a resource within the resource hierarchy. - */ export interface Schema$ResourcePathNode { - /** - * The display name of the resource this node represents. - */ displayName?: string | null; - /** - * The ID of the resource this node represents. - */ id?: string | null; - /** - * The type of resource this node represents. - */ nodeType?: string | null; } - /** - * Metadata about a ResourceValueConfig. For example, id and name. - */ export interface Schema$ResourceValueConfigMetadata { - /** - * Resource value config name - */ name?: string | null; } - /** - * Kubernetes Role or ClusterRole. - */ export interface Schema$Role { - /** - * Role type. - */ kind?: string | null; - /** - * Role name. - */ name?: string | null; - /** - * Role namespace. - */ ns?: string | null; } - /** - * Request message for running asset discovery for an organization. - */ export interface Schema$RunAssetDiscoveryRequest {} - /** - * Details about a secret or credential associated with the finding. - */ export interface Schema$Secret { - /** - * The environment variable containing the secret. - */ environmentVariable?: Schema$SecretEnvironmentVariable; - /** - * The file containing the secret. - */ filePath?: Schema$SecretFilePath; - /** - * The status of the secret. - */ status?: Schema$SecretStatus; - /** - * The type of secret, for example, GCP_API_KEY. - */ type?: string | null; } - /** - * Environment variable containing the secret. - */ export interface Schema$SecretEnvironmentVariable { - /** - * Environment variable name as a JSON encoded string. Note that value is not included since the value contains the secret data, which is sensitive core content. - */ key?: string | null; } - /** - * File path containing the secret. - */ export interface Schema$SecretFilePath { - /** - * Path to the file. - */ path?: string | null; } - /** - * The status of the secret. - */ export interface Schema$SecretStatus { - /** - * Time that the secret was found. - */ lastUpdatedTime?: string | null; - /** - * The validity of the secret. - */ validity?: string | null; } - /** - * SecurityBulletin are notifications of vulnerabilities of Google products. - */ export interface Schema$SecurityBulletin { - /** - * ID of the bulletin corresponding to the vulnerability. - */ bulletinId?: string | null; - /** - * Submission time of this Security Bulletin. - */ submissionTime?: string | null; - /** - * This represents a version that the cluster receiving this notification should be upgraded to, based on its current version. For example, 1.15.0 - */ suggestedUpgradeVersion?: string | null; } - /** - * Security Command Center managed properties. These properties are managed by Security Command Center and cannot be modified by the user. - */ export interface Schema$SecurityCenterProperties { - /** - * Contains a Folder message for each folder in the assets ancestry. The first folder is the deepest nested folder, and the last folder is the folder directly under the Organization. - */ folders?: Schema$Folder[]; - /** - * The user defined display name for this resource. - */ resourceDisplayName?: string | null; - /** - * The full resource name of the Google Cloud resource this asset represents. This field is immutable after create time. See: https://cloud.google.com/apis/design/resource_names#full_resource_name - */ resourceName?: string | null; - /** - * Owners of the Google Cloud resource. - */ resourceOwners?: string[] | null; - /** - * The full resource name of the immediate parent of the resource. See: https://cloud.google.com/apis/design/resource_names#full_resource_name - */ resourceParent?: string | null; - /** - * The user defined display name for the parent of this resource. - */ resourceParentDisplayName?: string | null; - /** - * The full resource name of the project the resource belongs to. See: https://cloud.google.com/apis/design/resource_names#full_resource_name - */ resourceProject?: string | null; - /** - * The user defined display name for the project of this resource. - */ resourceProjectDisplayName?: string | null; - /** - * The type of the Google Cloud resource. Examples include: APPLICATION, PROJECT, and ORGANIZATION. This is a case insensitive field defined by Security Command Center and/or the producer of the resource and is immutable after create time. - */ resourceType?: string | null; } - /** - * User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization. - */ export interface Schema$SecurityMarks { - /** - * The canonical name of the marks. Examples: "organizations/{organization_id\}/assets/{asset_id\}/securityMarks" "folders/{folder_id\}/assets/{asset_id\}/securityMarks" "projects/{project_number\}/assets/{asset_id\}/securityMarks" "organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}/securityMarks" "folders/{folder_id\}/sources/{source_id\}/findings/{finding_id\}/securityMarks" "projects/{project_number\}/sources/{source_id\}/findings/{finding_id\}/securityMarks" - */ canonicalName?: string | null; - /** - * Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive) - */ marks?: {[key: string]: string} | null; - /** - * The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id\}/assets/{asset_id\}/securityMarks" "organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}/securityMarks". - */ name?: string | null; } - /** - * Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding. - */ export interface Schema$SecurityPolicy { - /** - * The name of the Google Cloud Armor security policy, for example, "my-security-policy". - */ name?: string | null; - /** - * Whether or not the associated rule or policy is in preview mode. - */ preview?: boolean | null; - /** - * The type of Google Cloud Armor security policy for example, 'backend security policy', 'edge security policy', 'network edge security policy', or 'always-on DDoS protection'. - */ type?: string | null; } - /** - * Represents a posture that is deployed on Google Cloud by the Security Command Center Posture Management service. A posture contains one or more policy sets. A policy set is a group of policies that enforce a set of security rules on Google Cloud. - */ export interface Schema$SecurityPosture { - /** - * The name of the updated policy, for example, `projects/{project_id\}/policies/{constraint_name\}`. - */ changedPolicy?: string | null; - /** - * Name of the posture, for example, `CIS-Posture`. - */ name?: string | null; - /** - * The ID of the updated policy, for example, `compute-policy-1`. - */ policy?: string | null; - /** - * The details about a change in an updated policy that violates the deployed posture. - */ policyDriftDetails?: Schema$PolicyDriftDetails[]; - /** - * The name of the updated policyset, for example, `cis-policyset`. - */ policySet?: string | null; - /** - * The name of the posture deployment, for example, `organizations/{org_id\}/posturedeployments/{posture_deployment_id\}`. - */ postureDeployment?: string | null; - /** - * The project, folder, or organization on which the posture is deployed, for example, `projects/{project_number\}`. - */ postureDeploymentResource?: string | null; - /** - * The version of the posture, for example, `c7cfa2a8`. - */ revisionId?: string | null; } - /** - * Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. - */ export interface Schema$SensitivityScore { - /** - * The sensitivity score applied to the resource. - */ score?: string | null; } - /** - * Identity delegation history of an authenticated service account. - */ export interface Schema$ServiceAccountDelegationInfo { - /** - * The email address of a Google account. - */ principalEmail?: string | null; - /** - * A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name\}/subjects/{subject\}` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name\}[{subject\}]` - */ principalSubject?: string | null; } - /** - * Request message for updating a finding's state. - */ export interface Schema$SetFindingStateRequest { - /** - * Optional. The time at which the updated state takes effect. If unset, defaults to the request time. - */ startTime?: string | null; - /** - * Required. The desired State of the finding. - */ state?: string | null; } - /** - * Request message for `SetIamPolicy` method. - */ export interface Schema$SetIamPolicyRequest { - /** - * 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. - */ policy?: Schema$Policy; - /** - * 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"` - */ updateMask?: string | null; } - /** - * Request message for updating a finding's mute status. - */ export interface Schema$SetMuteRequest { - /** - * Required. The desired state of the Mute. - */ mute?: string | null; } - /** - * Manually constructed resource name. If the custom module evaluates against only the resource data, you can omit the `iam_policy_data` field. If it evaluates only the `iam_policy_data` field, you can omit the resource data. - */ export interface Schema$SimulatedResource { - /** - * Optional. A representation of the IAM policy. - */ iamPolicyData?: Schema$Policy; - /** - * Optional. A representation of the Google Cloud resource. Should match the Google Cloud resource JSON format. - */ resourceData?: {[key: string]: any} | null; - /** - * Required. The type of the resource, for example, `compute.googleapis.com/Disk`. - */ resourceType?: string | null; } - /** - * Possible test result. - */ export interface Schema$SimulatedResult { - /** - * Error encountered during the test. - */ error?: Schema$Status; - /** - * Finding that would be published for the test case, if a violation is detected. - */ finding?: Schema$Finding; - /** - * Indicates that the test case does not trigger any violation. - */ noViolation?: Schema$Empty; } - /** - * Request message to simulate a CustomConfig against a given test resource. Maximum size of the request is 4 MB by default. - */ export interface Schema$SimulateSecurityHealthAnalyticsCustomModuleRequest { - /** - * Required. The custom configuration that you need to test. - */ customConfig?: Schema$GoogleCloudSecuritycenterV1CustomConfig; - /** - * Required. Resource data to simulate custom module against. - */ resource?: Schema$SimulatedResource; } - /** - * Response message for simulating a `SecurityHealthAnalyticsCustomModule` against a given resource. - */ export interface Schema$SimulateSecurityHealthAnalyticsCustomModuleResponse { - /** - * Result for test case in the corresponding request. - */ result?: Schema$SimulatedResult; } - /** - * Attack path simulation - */ export interface Schema$Simulation { - /** - * Indicates which cloud provider was used in this simulation. - */ cloudProvider?: string | null; - /** - * Output only. Time simulation was created - */ createTime?: string | null; - /** - * Full resource name of the Simulation: `organizations/123/simulations/456` - */ name?: string | null; - /** - * Resource value configurations' metadata used in this simulation. Maximum of 100. - */ resourceValueConfigsMetadata?: Schema$ResourceValueConfigMetadata[]; } - /** - * Security Command Center finding source. A finding source is an entity or a mechanism that can produce a finding. A source is like a container of findings that come from the same scanner, logger, monitor, and other tools. - */ export interface Schema$Source { - /** - * The canonical name of the finding source. It's either "organizations/{organization_id\}/sources/{source_id\}", "folders/{folder_id\}/sources/{source_id\}", or "projects/{project_number\}/sources/{source_id\}", depending on the closest CRM ancestor of the resource associated with the finding. - */ canonicalName?: string | null; - /** - * The description of the source (max of 1024 characters). Example: "Web Security Scanner is a web security scanner for common vulnerabilities in App Engine applications. It can automatically scan and detect four common vulnerabilities, including cross-site-scripting (XSS), Flash injection, mixed content (HTTP in HTTPS), and outdated or insecure libraries." - */ description?: string | null; - /** - * The source's display name. A source's display name must be unique amongst its siblings, for example, two sources with the same parent can't share the same display name. The display name must have a length between 1 and 64 characters (inclusive). - */ displayName?: string | null; - /** - * The relative resource name of this source. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id\}/sources/{source_id\}" - */ name?: string | null; } - /** - * Information about the static mute state. A static mute state overrides any dynamic mute rules that apply to this finding. The static mute state can be set by a static mute rule or by muting the finding directly. - */ export interface Schema$StaticMute { - /** - * When the static mute was applied. - */ applyTime?: string | null; - /** - * The static mute state. If the value is `MUTED` or `UNMUTED`, then the finding's overall mute state will have the same value. - */ state?: string | null; } - /** - * 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). - */ export interface Schema$Status { - /** - * The status code, which should be an enum value of google.rpc.Code. - */ code?: number | null; - /** - * A list of messages that carry the error details. There is a common set of message types for APIs to use. - */ details?: Array<{[key: string]: any}> | null; - /** - * 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. - */ message?: string | null; } - /** - * The config for streaming-based notifications, which send each event as soon as it is detected. - */ export interface Schema$StreamingConfig { - /** - * Expression that defines the filter to apply across create/update events of assets or findings as specified by the event type. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are: * `=` for all value types. * `\>`, `<`, `\>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. - */ filter?: string | null; } - /** - * Represents a Kubernetes subject. - */ export interface Schema$Subject { - /** - * Authentication type for the subject. - */ kind?: string | null; - /** - * Name for the subject. - */ name?: string | null; - /** - * Namespace for the subject. - */ ns?: string | null; } - /** - * Request message for `TestIamPermissions` method. - */ export interface Schema$TestIamPermissionsRequest { - /** - * 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). - */ permissions?: string[] | null; } - /** - * Response message for `TestIamPermissions` method. - */ export interface Schema$TestIamPermissionsResponse { - /** - * A subset of `TestPermissionsRequest.permissions` that the caller is allowed. - */ permissions?: string[] | null; } - /** - * Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding. - */ export interface Schema$TicketInfo { - /** - * The assignee of the ticket in the ticket system. - */ assignee?: string | null; - /** - * The description of the ticket in the ticket system. - */ description?: string | null; - /** - * The identifier of the ticket in the ticket system. - */ id?: string | null; - /** - * The latest status of the ticket, as reported by the ticket system. - */ status?: string | null; - /** - * The time when the ticket was last updated, as reported by the ticket system. - */ updateTime?: string | null; - /** - * The link to the ticket in the ticket system. - */ uri?: string | null; } - /** - * Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. - */ export interface Schema$ToxicCombination { - /** - * The [Attack exposure score](https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_exposure_scores) of this toxic combination. The score is a measure of how much this toxic combination exposes one or more high-value resources to potential attack. - */ attackExposureScore?: number | null; - /** - * List of resource names of findings associated with this toxic combination. For example, `organizations/123/sources/456/findings/789`. - */ relatedFindings?: string[] | null; } - /** - * Request to validate an Event Threat Detection custom module. - */ export interface Schema$ValidateEventThreatDetectionCustomModuleRequest { - /** - * Required. The raw text of the module's contents. Used to generate error messages. - */ rawText?: string | null; - /** - * Required. The type of the module (e.g. CONFIGURABLE_BAD_IP). - */ type?: string | null; } - /** - * Response to validating an Event Threat Detection custom module. - */ export interface Schema$ValidateEventThreatDetectionCustomModuleResponse { - /** - * A list of errors returned by the validator. If the list is empty, there were no errors. - */ errors?: Schema$CustomModuleValidationErrors; } - /** - * A resource that is determined to have value to a user's system - */ export interface Schema$ValuedResource { - /** - * Human-readable name of the valued resource. - */ displayName?: string | null; - /** - * Exposed score for this valued resource. A value of 0 means no exposure was detected exposure. - */ exposedScore?: number | null; - /** - * Valued resource name, for example, e.g.: `organizations/123/simulations/456/valuedResources/789` - */ name?: string | null; - /** - * The [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name) of the valued resource. - */ resource?: string | null; - /** - * The [resource type](https://cloud.google.com/asset-inventory/docs/supported-asset-types) of the valued resource. - */ resourceType?: string | null; - /** - * How valuable this resource is. - */ resourceValue?: string | null; - /** - * List of resource value configurations' metadata used to determine the value of this resource. Maximum of 100. - */ resourceValueConfigsUsed?: Schema$ResourceValueConfigMetadata[]; } - /** - * Vertex AI-related information associated with the finding. - */ export interface Schema$VertexAi { - /** - * Datasets associated with the finding. - */ datasets?: Schema$Dataset[]; - /** - * Pipelines associated with the finding. - */ pipelines?: Schema$Pipeline[]; } - /** - * Refers to common vulnerability fields e.g. cve, cvss, cwe etc. - */ export interface Schema$Vulnerability { - /** - * CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/) - */ cve?: Schema$Cve; - /** - * Represents one or more Common Weakness Enumeration (CWE) information on this vulnerability. - */ cwes?: Schema$Cwe[]; - /** - * The fixed package is relevant to the finding. - */ fixedPackage?: Schema$Package; - /** - * The offending package is relevant to the finding. - */ offendingPackage?: Schema$Package; - /** - * Provider provided risk_score based on multiple factors. The higher the risk score, the more risky the vulnerability is. - */ providerRiskScore?: string | null; - /** - * Represents whether the vulnerability is reachable (detected via static analysis) - */ reachable?: boolean | null; - /** - * The security bulletin is relevant to this finding. - */ securityBulletin?: Schema$SecurityBulletin; } - /** - * Vulnerability count by severity. - */ export interface Schema$VulnerabilityCountBySeverity { - /** - * Key is the Severity enum. - */ severityToFindingCount?: {[key: string]: string} | null; } - /** - * Result containing the properties and count of a VulnerabilitySnapshot request. - */ export interface Schema$VulnerabilitySnapshot { - /** - * The cloud provider for the vulnerability snapshot. - */ cloudProvider?: string | null; - /** - * The vulnerability count by severity. - */ findingCount?: Schema$VulnerabilityCountBySeverity; - /** - * Identifier. The vulnerability snapshot name. Format: //locations//vulnerabilitySnapshots/ - */ name?: string | null; - /** - * The time that the snapshot was taken. - */ snapshotTime?: string | null; } - /** - * A signature corresponding to a YARA rule. - */ export interface Schema$YaraRuleSignature { - /** - * The name of the YARA rule. - */ yaraRule?: string | null; } @@ -7776,7 +2346,6 @@ export namespace securitycenter_v1 { } /** - * Filters an organization's assets and groups them by their specified properties. * @example * ```js * // Before running the sample: @@ -7806,7 +2375,6 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.folders.assets.group({ - * // Required. The name of the parent to group the assets by. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`. * parent: 'folders/my-folder', * * // Request body metadata @@ -7930,7 +2498,6 @@ export namespace securitycenter_v1 { } /** - * Lists an organization's assets. * @example * ```js * // Before running the sample: @@ -7960,21 +2527,20 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.folders.assets.list({ - * // When compare_duration is set, the ListAssetsResult's "state_change" attribute is updated to indicate whether the asset was added, removed, or remained present during the compare_duration period of time that precedes the read_time. This is the time between (read_time - compare_duration) and read_time. The state_change value is derived based on the presence of the asset at the two points in time. Intermediate state changes between the two times don't affect the result. For example, the results aren't affected if the asset is removed and re-created again. Possible "state_change" values when compare_duration is specified: * "ADDED": indicates that the asset was not present at the start of compare_duration, but present at read_time. * "REMOVED": indicates that the asset was present at the start of compare_duration, but not present at read_time. * "ACTIVE": indicates that the asset was present at both the start and the end of the time period defined by compare_duration and read_time. If compare_duration is not specified, then the only possible state_change is "UNUSED", which will be the state_change set for all assets present at read_time. * compareDuration: 'placeholder-value', - * // A field mask to specify the ListAssetsResult fields to be listed in the response. An empty field mask will list all fields. + * * fieldMask: 'placeholder-value', - * // Expression that defines the filter to apply across assets. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the Asset resource. Examples include: * name * security_center_properties.resource_name * resource_properties.a_property * security_marks.marks.marka The supported operators are: * `=` for all value types. * `\>`, `<`, `\>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. The following are the allowed field and operator combinations: * name: `=` * update_time: `=`, `\>`, `<`, `\>=`, `<=` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `update_time = "2019-06-10T16:07:18-07:00"` `update_time = 1560208038000` * create_time: `=`, `\>`, `<`, `\>=`, `<=` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `create_time = "2019-06-10T16:07:18-07:00"` `create_time = 1560208038000` * iam_policy.policy_blob: `=`, `:` * resource_properties: `=`, `:`, `\>`, `<`, `\>=`, `<=` * security_marks.marks: `=`, `:` * security_center_properties.resource_name: `=`, `:` * security_center_properties.resource_display_name: `=`, `:` * security_center_properties.resource_type: `=`, `:` * security_center_properties.resource_parent: `=`, `:` * security_center_properties.resource_parent_display_name: `=`, `:` * security_center_properties.resource_project: `=`, `:` * security_center_properties.resource_project_display_name: `=`, `:` * security_center_properties.resource_owners: `=`, `:` For example, `resource_properties.size = 100` is a valid filter string. Use a partial match on the empty string to filter based on a property existing: `resource_properties.my_property : ""` Use a negated partial match on the empty string to filter based on a property not existing: `-resource_properties.my_property : ""` + * * filter: 'placeholder-value', - * // Expression that defines what fields and order to use for sorting. The string value should follow SQL syntax: comma separated list of fields. For example: "name,resource_properties.a_property". The default sorting order is ascending. To specify descending order for a field, a suffix " desc" should be appended to the field name. For example: "name desc,resource_properties.a_property". Redundant space characters in the syntax are insignificant. "name desc,resource_properties.a_property" and " name desc , resource_properties.a_property " are equivalent. The following fields are supported: name update_time resource_properties security_marks.marks security_center_properties.resource_name security_center_properties.resource_display_name security_center_properties.resource_parent security_center_properties.resource_parent_display_name security_center_properties.resource_project security_center_properties.resource_project_display_name security_center_properties.resource_type + * * orderBy: 'placeholder-value', - * // The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. + * * pageSize: 'placeholder-value', - * // The value returned by the last `ListAssetsResponse`; indicates that this is a continuation of a prior `ListAssets` call, and that the system should return the next page of data. + * * pageToken: 'placeholder-value', - * // Required. The name of the parent resource that contains the assets. The value that you can specify on parent depends on the method in which you specify parent. You can specify one of the following values: `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`. + * * parent: 'folders/my-folder', - * // Time used as a reference point when filtering assets. The filter is limited to assets existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW. + * * readTime: 'placeholder-value', * }); * console.log(res.data); @@ -8085,7 +2651,6 @@ export namespace securitycenter_v1 { } /** - * Updates security marks. * @example * ```js * // Before running the sample: @@ -8115,11 +2680,10 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.folders.assets.updateSecurityMarks({ - * // The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id\}/assets/{asset_id\}/securityMarks" "organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}/securityMarks". * name: 'folders/my-folder/assets/my-asset/securityMarks', - * // The time at which the updated SecurityMarks take effect. If not set uses current server time. Updates will be applied to the SecurityMarks that are active immediately preceding this time. Must be earlier or equal to the server time. + * * startTime: 'placeholder-value', - * // The FieldMask to use when updating the security marks resource. The field mask must not contain duplicate fields. If empty or set to "marks", all marks will be replaced. Individual marks can be updated using "marks.". + * * updateMask: 'placeholder-value', * * // Request body metadata @@ -8240,7 +2804,7 @@ export namespace securitycenter_v1 { export interface Params$Resource$Folders$Assets$Group extends StandardParameters { /** - * Required. The name of the parent to group the assets by. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`. + * */ parent?: string; @@ -8251,49 +2815,49 @@ export namespace securitycenter_v1 { } export interface Params$Resource$Folders$Assets$List extends StandardParameters { /** - * When compare_duration is set, the ListAssetsResult's "state_change" attribute is updated to indicate whether the asset was added, removed, or remained present during the compare_duration period of time that precedes the read_time. This is the time between (read_time - compare_duration) and read_time. The state_change value is derived based on the presence of the asset at the two points in time. Intermediate state changes between the two times don't affect the result. For example, the results aren't affected if the asset is removed and re-created again. Possible "state_change" values when compare_duration is specified: * "ADDED": indicates that the asset was not present at the start of compare_duration, but present at read_time. * "REMOVED": indicates that the asset was present at the start of compare_duration, but not present at read_time. * "ACTIVE": indicates that the asset was present at both the start and the end of the time period defined by compare_duration and read_time. If compare_duration is not specified, then the only possible state_change is "UNUSED", which will be the state_change set for all assets present at read_time. + * */ compareDuration?: string; /** - * A field mask to specify the ListAssetsResult fields to be listed in the response. An empty field mask will list all fields. + * */ fieldMask?: string; /** - * Expression that defines the filter to apply across assets. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the Asset resource. Examples include: * name * security_center_properties.resource_name * resource_properties.a_property * security_marks.marks.marka The supported operators are: * `=` for all value types. * `\>`, `<`, `\>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. The following are the allowed field and operator combinations: * name: `=` * update_time: `=`, `\>`, `<`, `\>=`, `<=` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `update_time = "2019-06-10T16:07:18-07:00"` `update_time = 1560208038000` * create_time: `=`, `\>`, `<`, `\>=`, `<=` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `create_time = "2019-06-10T16:07:18-07:00"` `create_time = 1560208038000` * iam_policy.policy_blob: `=`, `:` * resource_properties: `=`, `:`, `\>`, `<`, `\>=`, `<=` * security_marks.marks: `=`, `:` * security_center_properties.resource_name: `=`, `:` * security_center_properties.resource_display_name: `=`, `:` * security_center_properties.resource_type: `=`, `:` * security_center_properties.resource_parent: `=`, `:` * security_center_properties.resource_parent_display_name: `=`, `:` * security_center_properties.resource_project: `=`, `:` * security_center_properties.resource_project_display_name: `=`, `:` * security_center_properties.resource_owners: `=`, `:` For example, `resource_properties.size = 100` is a valid filter string. Use a partial match on the empty string to filter based on a property existing: `resource_properties.my_property : ""` Use a negated partial match on the empty string to filter based on a property not existing: `-resource_properties.my_property : ""` + * */ filter?: string; /** - * Expression that defines what fields and order to use for sorting. The string value should follow SQL syntax: comma separated list of fields. For example: "name,resource_properties.a_property". The default sorting order is ascending. To specify descending order for a field, a suffix " desc" should be appended to the field name. For example: "name desc,resource_properties.a_property". Redundant space characters in the syntax are insignificant. "name desc,resource_properties.a_property" and " name desc , resource_properties.a_property " are equivalent. The following fields are supported: name update_time resource_properties security_marks.marks security_center_properties.resource_name security_center_properties.resource_display_name security_center_properties.resource_parent security_center_properties.resource_parent_display_name security_center_properties.resource_project security_center_properties.resource_project_display_name security_center_properties.resource_type + * */ orderBy?: string; /** - * The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. + * */ pageSize?: number; /** - * The value returned by the last `ListAssetsResponse`; indicates that this is a continuation of a prior `ListAssets` call, and that the system should return the next page of data. + * */ pageToken?: string; /** - * Required. The name of the parent resource that contains the assets. The value that you can specify on parent depends on the method in which you specify parent. You can specify one of the following values: `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`. + * */ parent?: string; /** - * Time used as a reference point when filtering assets. The filter is limited to assets existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW. + * */ readTime?: string; } export interface Params$Resource$Folders$Assets$Updatesecuritymarks extends StandardParameters { /** - * The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id\}/assets/{asset_id\}/securityMarks" "organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}/securityMarks". + * */ name?: string; /** - * The time at which the updated SecurityMarks take effect. If not set uses current server time. Updates will be applied to the SecurityMarks that are active immediately preceding this time. Must be earlier or equal to the server time. + * */ startTime?: string; /** - * The FieldMask to use when updating the security marks resource. The field mask must not contain duplicate fields. If empty or set to "marks", all marks will be replaced. Individual marks can be updated using "marks.". + * */ updateMask?: string; @@ -8310,7 +2874,6 @@ export namespace securitycenter_v1 { } /** - * Creates a BigQuery export. * @example * ```js * // Before running the sample: @@ -8340,9 +2903,8 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.folders.bigQueryExports.create({ - * // Required. Unique identifier provided by the client within the parent scope. It must consist of only lowercase letters, numbers, and hyphens, must start with a letter, must end with either a letter or a number, and must be 63 characters or less. * bigQueryExportId: 'placeholder-value', - * // Required. The name of the parent resource of the new BigQuery export. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`. + * * parent: 'folders/my-folder', * * // Request body metadata @@ -8482,7 +3044,6 @@ export namespace securitycenter_v1 { } /** - * Deletes an existing BigQuery export. * @example * ```js * // Before running the sample: @@ -8512,7 +3073,6 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.folders.bigQueryExports.delete({ - * // Required. The name of the BigQuery export to delete. Its format is `organizations/{organization\}/bigQueryExports/{export_id\}`, `folders/{folder\}/bigQueryExports/{export_id\}`, or `projects/{project\}/bigQueryExports/{export_id\}` * name: 'folders/my-folder/bigQueryExports/my-bigQueryExport', * }); * console.log(res.data); @@ -8615,7 +3175,6 @@ export namespace securitycenter_v1 { } /** - * Gets a BigQuery export. * @example * ```js * // Before running the sample: @@ -8645,7 +3204,6 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.folders.bigQueryExports.get({ - * // Required. Name of the BigQuery export to retrieve. Its format is `organizations/{organization\}/bigQueryExports/{export_id\}`, `folders/{folder\}/bigQueryExports/{export_id\}`, or `projects/{project\}/bigQueryExports/{export_id\}` * name: 'folders/my-folder/bigQueryExports/my-bigQueryExport', * }); * console.log(res.data); @@ -8767,7 +3325,6 @@ export namespace securitycenter_v1 { } /** - * Lists BigQuery exports. Note that when requesting BigQuery exports at a given level all exports under that level are also returned e.g. if requesting BigQuery exports under a folder, then all BigQuery exports immediately under the folder plus the ones created under the projects within the folder are returned. * @example * ```js * // Before running the sample: @@ -8797,11 +3354,10 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.folders.bigQueryExports.list({ - * // The maximum number of configs to return. The service may return fewer than this value. If unspecified, at most 10 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. * pageSize: 'placeholder-value', - * // A page token, received from a previous `ListBigQueryExports` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListBigQueryExports` must match the call that provided the page token. + * * pageToken: 'placeholder-value', - * // Required. The parent, which owns the collection of BigQuery exports. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, `projects/[project_id]`. + * * parent: 'folders/my-folder', * }); * console.log(res.data); @@ -8914,7 +3470,6 @@ export namespace securitycenter_v1 { } /** - * Updates a BigQuery export. * @example * ```js * // Before running the sample: @@ -8944,9 +3499,8 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.folders.bigQueryExports.patch({ - * // The relative resource name of this export. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name. Example format: "organizations/{organization_id\}/bigQueryExports/{export_id\}" Example format: "folders/{folder_id\}/bigQueryExports/{export_id\}" Example format: "projects/{project_id\}/bigQueryExports/{export_id\}" This field is provided in responses, and is ignored when provided in create requests. * name: 'folders/my-folder/bigQueryExports/my-bigQueryExport', - * // The list of fields to be updated. If empty all mutable fields will be updated. + * * updateMask: 'placeholder-value', * * // Request body metadata @@ -9085,11 +3639,11 @@ export namespace securitycenter_v1 { export interface Params$Resource$Folders$Bigqueryexports$Create extends StandardParameters { /** - * Required. Unique identifier provided by the client within the parent scope. It must consist of only lowercase letters, numbers, and hyphens, must start with a letter, must end with either a letter or a number, and must be 63 characters or less. + * */ bigQueryExportId?: string; /** - * Required. The name of the parent resource of the new BigQuery export. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`. + * */ parent?: string; @@ -9100,37 +3654,37 @@ export namespace securitycenter_v1 { } export interface Params$Resource$Folders$Bigqueryexports$Delete extends StandardParameters { /** - * Required. The name of the BigQuery export to delete. Its format is `organizations/{organization\}/bigQueryExports/{export_id\}`, `folders/{folder\}/bigQueryExports/{export_id\}`, or `projects/{project\}/bigQueryExports/{export_id\}` + * */ name?: string; } export interface Params$Resource$Folders$Bigqueryexports$Get extends StandardParameters { /** - * Required. Name of the BigQuery export to retrieve. Its format is `organizations/{organization\}/bigQueryExports/{export_id\}`, `folders/{folder\}/bigQueryExports/{export_id\}`, or `projects/{project\}/bigQueryExports/{export_id\}` + * */ name?: string; } export interface Params$Resource$Folders$Bigqueryexports$List extends StandardParameters { /** - * The maximum number of configs to return. The service may return fewer than this value. If unspecified, at most 10 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. + * */ pageSize?: number; /** - * A page token, received from a previous `ListBigQueryExports` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListBigQueryExports` must match the call that provided the page token. + * */ pageToken?: string; /** - * Required. The parent, which owns the collection of BigQuery exports. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, `projects/[project_id]`. + * */ parent?: string; } export interface Params$Resource$Folders$Bigqueryexports$Patch extends StandardParameters { /** - * The relative resource name of this export. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name. Example format: "organizations/{organization_id\}/bigQueryExports/{export_id\}" Example format: "folders/{folder_id\}/bigQueryExports/{export_id\}" Example format: "projects/{project_id\}/bigQueryExports/{export_id\}" This field is provided in responses, and is ignored when provided in create requests. + * */ name?: string; /** - * The list of fields to be updated. If empty all mutable fields will be updated. + * */ updateMask?: string; @@ -9157,7 +3711,6 @@ export namespace securitycenter_v1 { } /** - * Validates the given Event Threat Detection custom module. * @example * ```js * // Before running the sample: @@ -9189,7 +3742,6 @@ export namespace securitycenter_v1 { * const res = * await securitycenter.folders.eventThreatDetectionSettings.validateCustomModule( * { - * // Required. Resource name of the parent to validate the Custom Module under. Its format is: * `organizations/{organization\}/eventThreatDetectionSettings`. * `folders/{folder\}/eventThreatDetectionSettings`. * `projects/{project\}/eventThreatDetectionSettings`. * parent: 'folders/my-folder/eventThreatDetectionSettings', * * // Request body metadata @@ -9320,7 +3872,7 @@ export namespace securitycenter_v1 { export interface Params$Resource$Folders$Eventthreatdetectionsettings$Validatecustommodule extends StandardParameters { /** - * Required. Resource name of the parent to validate the Custom Module under. Its format is: * `organizations/{organization\}/eventThreatDetectionSettings`. * `folders/{folder\}/eventThreatDetectionSettings`. * `projects/{project\}/eventThreatDetectionSettings`. + * */ parent?: string; @@ -9337,7 +3889,6 @@ export namespace securitycenter_v1 { } /** - * Creates a resident Event Threat Detection custom module at the scope of the given Resource Manager parent, and also creates inherited custom modules for all descendants of the given parent. These modules are enabled by default. * @example * ```js * // Before running the sample: @@ -9369,7 +3920,6 @@ export namespace securitycenter_v1 { * const res = * await securitycenter.folders.eventThreatDetectionSettings.customModules.create( * { - * // Required. The new custom module's parent. Its format is: * `organizations/{organization\}/eventThreatDetectionSettings`. * `folders/{folder\}/eventThreatDetectionSettings`. * `projects/{project\}/eventThreatDetectionSettings`. * parent: 'folders/my-folder/eventThreatDetectionSettings', * * // Request body metadata @@ -9515,7 +4065,6 @@ export namespace securitycenter_v1 { } /** - * Deletes the specified Event Threat Detection custom module and all of its descendants in the Resource Manager hierarchy. This method is only supported for resident custom modules. * @example * ```js * // Before running the sample: @@ -9547,7 +4096,6 @@ export namespace securitycenter_v1 { * const res = * await securitycenter.folders.eventThreatDetectionSettings.customModules.delete( * { - * // Required. Name of the custom module to delete. Its format is: * `organizations/{organization\}/eventThreatDetectionSettings/customModules/{module\}`. * `folders/{folder\}/eventThreatDetectionSettings/customModules/{module\}`. * `projects/{project\}/eventThreatDetectionSettings/customModules/{module\}`. * name: 'folders/my-folder/eventThreatDetectionSettings/customModules/my-customModule', * }, * ); @@ -9652,7 +4200,6 @@ export namespace securitycenter_v1 { } /** - * Gets an Event Threat Detection custom module. * @example * ```js * // Before running the sample: @@ -9684,7 +4231,6 @@ export namespace securitycenter_v1 { * const res = * await securitycenter.folders.eventThreatDetectionSettings.customModules.get( * { - * // Required. Name of the custom module to get. Its format is: * `organizations/{organization\}/eventThreatDetectionSettings/customModules/{module\}`. * `folders/{folder\}/eventThreatDetectionSettings/customModules/{module\}`. * `projects/{project\}/eventThreatDetectionSettings/customModules/{module\}`. * name: 'folders/my-folder/eventThreatDetectionSettings/customModules/my-customModule', * }, * ); @@ -9810,7 +4356,6 @@ export namespace securitycenter_v1 { } /** - * Lists all Event Threat Detection custom modules for the given Resource Manager parent. This includes resident modules defined at the scope of the parent along with modules inherited from ancestors. * @example * ```js * // Before running the sample: @@ -9842,11 +4387,10 @@ export namespace securitycenter_v1 { * const res = * await securitycenter.folders.eventThreatDetectionSettings.customModules.list( * { - * // The maximum number of modules to return. The service may return fewer than this value. If unspecified, at most 10 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. * pageSize: 'placeholder-value', - * // A page token, received from a previous `ListEventThreatDetectionCustomModules` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListEventThreatDetectionCustomModules` must match the call that provided the page token. + * * pageToken: 'placeholder-value', - * // Required. Name of the parent to list custom modules under. Its format is: * `organizations/{organization\}/eventThreatDetectionSettings`. * `folders/{folder\}/eventThreatDetectionSettings`. * `projects/{project\}/eventThreatDetectionSettings`. + * * parent: 'folders/my-folder/eventThreatDetectionSettings', * }, * ); @@ -9967,7 +4511,6 @@ export namespace securitycenter_v1 { } /** - * Lists all resident Event Threat Detection custom modules under the given Resource Manager parent and its descendants. * @example * ```js * // Before running the sample: @@ -9999,11 +4542,10 @@ export namespace securitycenter_v1 { * const res = * await securitycenter.folders.eventThreatDetectionSettings.customModules.listDescendant( * { - * // The maximum number of modules to return. The service may return fewer than this value. If unspecified, at most 10 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. * pageSize: 'placeholder-value', - * // A page token, received from a previous `ListDescendantEventThreatDetectionCustomModules` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListDescendantEventThreatDetectionCustomModules` must match the call that provided the page token. + * * pageToken: 'placeholder-value', - * // Required. Name of the parent to list custom modules under. Its format is: * `organizations/{organization\}/eventThreatDetectionSettings`. * `folders/{folder\}/eventThreatDetectionSettings`. * `projects/{project\}/eventThreatDetectionSettings`. + * * parent: 'folders/my-folder/eventThreatDetectionSettings', * }, * ); @@ -10123,7 +4665,6 @@ export namespace securitycenter_v1 { } /** - * Updates the Event Threat Detection custom module with the given name based on the given update mask. Updating the enablement state is supported for both resident and inherited modules (though resident modules cannot have an enablement state of "inherited"). Updating the display name or configuration of a module is supported for resident modules only. The type of a module cannot be changed. * @example * ```js * // Before running the sample: @@ -10155,9 +4696,8 @@ export namespace securitycenter_v1 { * const res = * await securitycenter.folders.eventThreatDetectionSettings.customModules.patch( * { - * // Immutable. The resource name of the Event Threat Detection custom module. Its format is: * `organizations/{organization\}/eventThreatDetectionSettings/customModules/{module\}`. * `folders/{folder\}/eventThreatDetectionSettings/customModules/{module\}`. * `projects/{project\}/eventThreatDetectionSettings/customModules/{module\}`. * name: 'folders/my-folder/eventThreatDetectionSettings/customModules/my-customModule', - * // The list of fields to be updated. If empty all mutable fields will be updated. + * * updateMask: 'placeholder-value', * * // Request body metadata @@ -10302,7 +4842,7 @@ export namespace securitycenter_v1 { export interface Params$Resource$Folders$Eventthreatdetectionsettings$Custommodules$Create extends StandardParameters { /** - * Required. The new custom module's parent. Its format is: * `organizations/{organization\}/eventThreatDetectionSettings`. * `folders/{folder\}/eventThreatDetectionSettings`. * `projects/{project\}/eventThreatDetectionSettings`. + * */ parent?: string; @@ -10313,51 +4853,51 @@ export namespace securitycenter_v1 { } export interface Params$Resource$Folders$Eventthreatdetectionsettings$Custommodules$Delete extends StandardParameters { /** - * Required. Name of the custom module to delete. Its format is: * `organizations/{organization\}/eventThreatDetectionSettings/customModules/{module\}`. * `folders/{folder\}/eventThreatDetectionSettings/customModules/{module\}`. * `projects/{project\}/eventThreatDetectionSettings/customModules/{module\}`. + * */ name?: string; } export interface Params$Resource$Folders$Eventthreatdetectionsettings$Custommodules$Get extends StandardParameters { /** - * Required. Name of the custom module to get. Its format is: * `organizations/{organization\}/eventThreatDetectionSettings/customModules/{module\}`. * `folders/{folder\}/eventThreatDetectionSettings/customModules/{module\}`. * `projects/{project\}/eventThreatDetectionSettings/customModules/{module\}`. + * */ name?: string; } export interface Params$Resource$Folders$Eventthreatdetectionsettings$Custommodules$List extends StandardParameters { /** - * The maximum number of modules to return. The service may return fewer than this value. If unspecified, at most 10 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. + * */ pageSize?: number; /** - * A page token, received from a previous `ListEventThreatDetectionCustomModules` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListEventThreatDetectionCustomModules` must match the call that provided the page token. + * */ pageToken?: string; /** - * Required. Name of the parent to list custom modules under. Its format is: * `organizations/{organization\}/eventThreatDetectionSettings`. * `folders/{folder\}/eventThreatDetectionSettings`. * `projects/{project\}/eventThreatDetectionSettings`. + * */ parent?: string; } export interface Params$Resource$Folders$Eventthreatdetectionsettings$Custommodules$Listdescendant extends StandardParameters { /** - * The maximum number of modules to return. The service may return fewer than this value. If unspecified, at most 10 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. + * */ pageSize?: number; /** - * A page token, received from a previous `ListDescendantEventThreatDetectionCustomModules` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListDescendantEventThreatDetectionCustomModules` must match the call that provided the page token. + * */ pageToken?: string; /** - * Required. Name of the parent to list custom modules under. Its format is: * `organizations/{organization\}/eventThreatDetectionSettings`. * `folders/{folder\}/eventThreatDetectionSettings`. * `projects/{project\}/eventThreatDetectionSettings`. + * */ parent?: string; } export interface Params$Resource$Folders$Eventthreatdetectionsettings$Custommodules$Patch extends StandardParameters { /** - * Immutable. The resource name of the Event Threat Detection custom module. Its format is: * `organizations/{organization\}/eventThreatDetectionSettings/customModules/{module\}`. * `folders/{folder\}/eventThreatDetectionSettings/customModules/{module\}`. * `projects/{project\}/eventThreatDetectionSettings/customModules/{module\}`. + * */ name?: string; /** - * The list of fields to be updated. If empty all mutable fields will be updated. + * */ updateMask?: string; @@ -10374,7 +4914,6 @@ export namespace securitycenter_v1 { } /** - * Gets an effective Event Threat Detection custom module at the given level. * @example * ```js * // Before running the sample: @@ -10406,7 +4945,6 @@ export namespace securitycenter_v1 { * const res = * await securitycenter.folders.eventThreatDetectionSettings.effectiveCustomModules.get( * { - * // Required. The resource name of the effective Event Threat Detection custom module. Its format is: * `organizations/{organization\}/eventThreatDetectionSettings/effectiveCustomModules/{module\}`. * `folders/{folder\}/eventThreatDetectionSettings/effectiveCustomModules/{module\}`. * `projects/{project\}/eventThreatDetectionSettings/effectiveCustomModules/{module\}`. * name: 'folders/my-folder/eventThreatDetectionSettings/effectiveCustomModules/my-effectiveCustomModule', * }, * ); @@ -10529,7 +5067,6 @@ export namespace securitycenter_v1 { } /** - * Lists all effective Event Threat Detection custom modules for the given parent. This includes resident modules defined at the scope of the parent along with modules inherited from its ancestors. * @example * ```js * // Before running the sample: @@ -10561,11 +5098,10 @@ export namespace securitycenter_v1 { * const res = * await securitycenter.folders.eventThreatDetectionSettings.effectiveCustomModules.list( * { - * // The maximum number of modules to return. The service may return fewer than this value. If unspecified, at most 10 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. * pageSize: 'placeholder-value', - * // A page token, received from a previous `ListEffectiveEventThreatDetectionCustomModules` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListEffectiveEventThreatDetectionCustomModules` must match the call that provided the page token. + * * pageToken: 'placeholder-value', - * // Required. Name of the parent to list custom modules for. Its format is: * `organizations/{organization\}/eventThreatDetectionSettings`. * `folders/{folder\}/eventThreatDetectionSettings`. * `projects/{project\}/eventThreatDetectionSettings`. + * * parent: 'folders/my-folder/eventThreatDetectionSettings', * }, * ); @@ -10688,21 +5224,21 @@ export namespace securitycenter_v1 { export interface Params$Resource$Folders$Eventthreatdetectionsettings$Effectivecustommodules$Get extends StandardParameters { /** - * Required. The resource name of the effective Event Threat Detection custom module. Its format is: * `organizations/{organization\}/eventThreatDetectionSettings/effectiveCustomModules/{module\}`. * `folders/{folder\}/eventThreatDetectionSettings/effectiveCustomModules/{module\}`. * `projects/{project\}/eventThreatDetectionSettings/effectiveCustomModules/{module\}`. + * */ name?: string; } export interface Params$Resource$Folders$Eventthreatdetectionsettings$Effectivecustommodules$List extends StandardParameters { /** - * The maximum number of modules to return. The service may return fewer than this value. If unspecified, at most 10 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. + * */ pageSize?: number; /** - * A page token, received from a previous `ListEffectiveEventThreatDetectionCustomModules` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListEffectiveEventThreatDetectionCustomModules` must match the call that provided the page token. + * */ pageToken?: string; /** - * Required. Name of the parent to list custom modules for. Its format is: * `organizations/{organization\}/eventThreatDetectionSettings`. * `folders/{folder\}/eventThreatDetectionSettings`. * `projects/{project\}/eventThreatDetectionSettings`. + * */ parent?: string; } @@ -10714,7 +5250,6 @@ export namespace securitycenter_v1 { } /** - * Kicks off an LRO to bulk mute findings for a parent based on a filter. The parent can be either an organization, folder or project. The findings matched by the filter will be muted after the LRO is done. * @example * ```js * // Before running the sample: @@ -10744,7 +5279,6 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.folders.findings.bulkMute({ - * // Required. The parent, at which bulk action needs to be applied. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, `projects/[project_id]`. * parent: 'folders/my-folder', * * // Request body metadata @@ -10868,7 +5402,7 @@ export namespace securitycenter_v1 { export interface Params$Resource$Folders$Findings$Bulkmute extends StandardParameters { /** - * Required. The parent, at which bulk action needs to be applied. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, `projects/[project_id]`. + * */ parent?: string; @@ -10896,7 +5430,6 @@ export namespace securitycenter_v1 { } /** - * Deletes an existing mute config. * @example * ```js * // Before running the sample: @@ -10926,7 +5459,6 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.folders.locations.muteConfigs.delete({ - * // Required. Name of the mute config to delete. Its format is `organizations/{organization\}/muteConfigs/{config_id\}`, `folders/{folder\}/muteConfigs/{config_id\}`, `projects/{project\}/muteConfigs/{config_id\}`, `organizations/{organization\}/locations/global/muteConfigs/{config_id\}`, `folders/{folder\}/locations/global/muteConfigs/{config_id\}`, or `projects/{project\}/locations/global/muteConfigs/{config_id\}`. * name: 'folders/my-folder/locations/my-location/muteConfigs/my-muteConfig', * }); * console.log(res.data); @@ -11029,7 +5561,6 @@ export namespace securitycenter_v1 { } /** - * Gets a mute config. * @example * ```js * // Before running the sample: @@ -11059,7 +5590,6 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.folders.locations.muteConfigs.get({ - * // Required. Name of the mute config to retrieve. Its format is `organizations/{organization\}/muteConfigs/{config_id\}`, `folders/{folder\}/muteConfigs/{config_id\}`, `projects/{project\}/muteConfigs/{config_id\}`, `organizations/{organization\}/locations/global/muteConfigs/{config_id\}`, `folders/{folder\}/locations/global/muteConfigs/{config_id\}`, or `projects/{project\}/locations/global/muteConfigs/{config_id\}`. * name: 'folders/my-folder/locations/my-location/muteConfigs/my-muteConfig', * }); * console.log(res.data); @@ -11182,7 +5712,6 @@ export namespace securitycenter_v1 { } /** - * Updates a mute config. * @example * ```js * // Before running the sample: @@ -11212,9 +5741,8 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.folders.locations.muteConfigs.patch({ - * // This field will be ignored if provided on config creation. Format `organizations/{organization\}/muteConfigs/{mute_config\}` `folders/{folder\}/muteConfigs/{mute_config\}` `projects/{project\}/muteConfigs/{mute_config\}` `organizations/{organization\}/locations/global/muteConfigs/{mute_config\}` `folders/{folder\}/locations/global/muteConfigs/{mute_config\}` `projects/{project\}/locations/global/muteConfigs/{mute_config\}` * name: 'folders/my-folder/locations/my-location/muteConfigs/my-muteConfig', - * // The list of fields to be updated. If empty all mutable fields will be updated. + * * updateMask: 'placeholder-value', * * // Request body metadata @@ -11355,23 +5883,23 @@ export namespace securitycenter_v1 { export interface Params$Resource$Folders$Locations$Muteconfigs$Delete extends StandardParameters { /** - * Required. Name of the mute config to delete. Its format is `organizations/{organization\}/muteConfigs/{config_id\}`, `folders/{folder\}/muteConfigs/{config_id\}`, `projects/{project\}/muteConfigs/{config_id\}`, `organizations/{organization\}/locations/global/muteConfigs/{config_id\}`, `folders/{folder\}/locations/global/muteConfigs/{config_id\}`, or `projects/{project\}/locations/global/muteConfigs/{config_id\}`. + * */ name?: string; } export interface Params$Resource$Folders$Locations$Muteconfigs$Get extends StandardParameters { /** - * Required. Name of the mute config to retrieve. Its format is `organizations/{organization\}/muteConfigs/{config_id\}`, `folders/{folder\}/muteConfigs/{config_id\}`, `projects/{project\}/muteConfigs/{config_id\}`, `organizations/{organization\}/locations/global/muteConfigs/{config_id\}`, `folders/{folder\}/locations/global/muteConfigs/{config_id\}`, or `projects/{project\}/locations/global/muteConfigs/{config_id\}`. + * */ name?: string; } export interface Params$Resource$Folders$Locations$Muteconfigs$Patch extends StandardParameters { /** - * This field will be ignored if provided on config creation. Format `organizations/{organization\}/muteConfigs/{mute_config\}` `folders/{folder\}/muteConfigs/{mute_config\}` `projects/{project\}/muteConfigs/{mute_config\}` `organizations/{organization\}/locations/global/muteConfigs/{mute_config\}` `folders/{folder\}/locations/global/muteConfigs/{mute_config\}` `projects/{project\}/locations/global/muteConfigs/{mute_config\}` + * */ name?: string; /** - * The list of fields to be updated. If empty all mutable fields will be updated. + * */ updateMask?: string; @@ -11388,7 +5916,6 @@ export namespace securitycenter_v1 { } /** - * Creates a mute config. * @example * ```js * // Before running the sample: @@ -11418,9 +5945,8 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.folders.muteConfigs.create({ - * // Required. Unique identifier provided by the client within the parent scope. It must consist of only lowercase letters, numbers, and hyphens, must start with a letter, must end with either a letter or a number, and must be 63 characters or less. * muteConfigId: 'placeholder-value', - * // Required. Resource name of the new mute configs's parent. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`. + * * parent: 'folders/my-folder', * * // Request body metadata @@ -11562,7 +6088,6 @@ export namespace securitycenter_v1 { } /** - * Deletes an existing mute config. * @example * ```js * // Before running the sample: @@ -11592,7 +6117,6 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.folders.muteConfigs.delete({ - * // Required. Name of the mute config to delete. Its format is `organizations/{organization\}/muteConfigs/{config_id\}`, `folders/{folder\}/muteConfigs/{config_id\}`, `projects/{project\}/muteConfigs/{config_id\}`, `organizations/{organization\}/locations/global/muteConfigs/{config_id\}`, `folders/{folder\}/locations/global/muteConfigs/{config_id\}`, or `projects/{project\}/locations/global/muteConfigs/{config_id\}`. * name: 'folders/my-folder/muteConfigs/my-muteConfig', * }); * console.log(res.data); @@ -11695,7 +6219,6 @@ export namespace securitycenter_v1 { } /** - * Gets a mute config. * @example * ```js * // Before running the sample: @@ -11725,7 +6248,6 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.folders.muteConfigs.get({ - * // Required. Name of the mute config to retrieve. Its format is `organizations/{organization\}/muteConfigs/{config_id\}`, `folders/{folder\}/muteConfigs/{config_id\}`, `projects/{project\}/muteConfigs/{config_id\}`, `organizations/{organization\}/locations/global/muteConfigs/{config_id\}`, `folders/{folder\}/locations/global/muteConfigs/{config_id\}`, or `projects/{project\}/locations/global/muteConfigs/{config_id\}`. * name: 'folders/my-folder/muteConfigs/my-muteConfig', * }); * console.log(res.data); @@ -11848,7 +6370,6 @@ export namespace securitycenter_v1 { } /** - * Lists mute configs. * @example * ```js * // Before running the sample: @@ -11878,11 +6399,10 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.folders.muteConfigs.list({ - * // The maximum number of configs to return. The service may return fewer than this value. If unspecified, at most 10 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. * pageSize: 'placeholder-value', - * // A page token, received from a previous `ListMuteConfigs` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListMuteConfigs` must match the call that provided the page token. + * * pageToken: 'placeholder-value', - * // Required. The parent, which owns the collection of mute configs. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, `projects/[project_id]`. + * * parent: 'folders/my-folder', * }); * console.log(res.data); @@ -11993,7 +6513,6 @@ export namespace securitycenter_v1 { } /** - * Updates a mute config. * @example * ```js * // Before running the sample: @@ -12023,9 +6542,8 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.folders.muteConfigs.patch({ - * // This field will be ignored if provided on config creation. Format `organizations/{organization\}/muteConfigs/{mute_config\}` `folders/{folder\}/muteConfigs/{mute_config\}` `projects/{project\}/muteConfigs/{mute_config\}` `organizations/{organization\}/locations/global/muteConfigs/{mute_config\}` `folders/{folder\}/locations/global/muteConfigs/{mute_config\}` `projects/{project\}/locations/global/muteConfigs/{mute_config\}` * name: 'folders/my-folder/muteConfigs/my-muteConfig', - * // The list of fields to be updated. If empty all mutable fields will be updated. + * * updateMask: 'placeholder-value', * * // Request body metadata @@ -12166,11 +6684,11 @@ export namespace securitycenter_v1 { export interface Params$Resource$Folders$Muteconfigs$Create extends StandardParameters { /** - * Required. Unique identifier provided by the client within the parent scope. It must consist of only lowercase letters, numbers, and hyphens, must start with a letter, must end with either a letter or a number, and must be 63 characters or less. + * */ muteConfigId?: string; /** - * Required. Resource name of the new mute configs's parent. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`. + * */ parent?: string; @@ -12181,37 +6699,37 @@ export namespace securitycenter_v1 { } export interface Params$Resource$Folders$Muteconfigs$Delete extends StandardParameters { /** - * Required. Name of the mute config to delete. Its format is `organizations/{organization\}/muteConfigs/{config_id\}`, `folders/{folder\}/muteConfigs/{config_id\}`, `projects/{project\}/muteConfigs/{config_id\}`, `organizations/{organization\}/locations/global/muteConfigs/{config_id\}`, `folders/{folder\}/locations/global/muteConfigs/{config_id\}`, or `projects/{project\}/locations/global/muteConfigs/{config_id\}`. + * */ name?: string; } export interface Params$Resource$Folders$Muteconfigs$Get extends StandardParameters { /** - * Required. Name of the mute config to retrieve. Its format is `organizations/{organization\}/muteConfigs/{config_id\}`, `folders/{folder\}/muteConfigs/{config_id\}`, `projects/{project\}/muteConfigs/{config_id\}`, `organizations/{organization\}/locations/global/muteConfigs/{config_id\}`, `folders/{folder\}/locations/global/muteConfigs/{config_id\}`, or `projects/{project\}/locations/global/muteConfigs/{config_id\}`. + * */ name?: string; } export interface Params$Resource$Folders$Muteconfigs$List extends StandardParameters { /** - * The maximum number of configs to return. The service may return fewer than this value. If unspecified, at most 10 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. + * */ pageSize?: number; /** - * A page token, received from a previous `ListMuteConfigs` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListMuteConfigs` must match the call that provided the page token. + * */ pageToken?: string; /** - * Required. The parent, which owns the collection of mute configs. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, `projects/[project_id]`. + * */ parent?: string; } export interface Params$Resource$Folders$Muteconfigs$Patch extends StandardParameters { /** - * This field will be ignored if provided on config creation. Format `organizations/{organization\}/muteConfigs/{mute_config\}` `folders/{folder\}/muteConfigs/{mute_config\}` `projects/{project\}/muteConfigs/{mute_config\}` `organizations/{organization\}/locations/global/muteConfigs/{mute_config\}` `folders/{folder\}/locations/global/muteConfigs/{mute_config\}` `projects/{project\}/locations/global/muteConfigs/{mute_config\}` + * */ name?: string; /** - * The list of fields to be updated. If empty all mutable fields will be updated. + * */ updateMask?: string; @@ -12228,7 +6746,6 @@ export namespace securitycenter_v1 { } /** - * Creates a notification config. * @example * ```js * // Before running the sample: @@ -12258,9 +6775,8 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.folders.notificationConfigs.create({ - * // Required. Unique identifier provided by the client within the parent scope. It must be between 1 and 128 characters and contain alphanumeric characters, underscores, or hyphens only. * configId: 'placeholder-value', - * // Required. Resource name of the new notification config's parent. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`. + * * parent: 'folders/my-folder', * * // Request body metadata @@ -12384,7 +6900,6 @@ export namespace securitycenter_v1 { } /** - * Deletes a notification config. * @example * ```js * // Before running the sample: @@ -12414,7 +6929,6 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.folders.notificationConfigs.delete({ - * // Required. Name of the notification config to delete. Its format is `organizations/[organization_id]/notificationConfigs/[config_id]`, `folders/[folder_id]/notificationConfigs/[config_id]`, or `projects/[project_id]/notificationConfigs/[config_id]`. * name: 'folders/my-folder/notificationConfigs/my-notificationConfig', * }); * console.log(res.data); @@ -12517,7 +7031,6 @@ export namespace securitycenter_v1 { } /** - * Gets a notification config. * @example * ```js * // Before running the sample: @@ -12547,7 +7060,6 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.folders.notificationConfigs.get({ - * // Required. Name of the notification config to get. Its format is `organizations/[organization_id]/notificationConfigs/[config_id]`, `folders/[folder_id]/notificationConfigs/[config_id]`, or `projects/[project_id]/notificationConfigs/[config_id]`. * name: 'folders/my-folder/notificationConfigs/my-notificationConfig', * }); * console.log(res.data); @@ -12656,7 +7168,6 @@ export namespace securitycenter_v1 { } /** - * Lists notification configs. * @example * ```js * // Before running the sample: @@ -12686,11 +7197,10 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.folders.notificationConfigs.list({ - * // The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. * pageSize: 'placeholder-value', - * // The value returned by the last `ListNotificationConfigsResponse`; indicates that this is a continuation of a prior `ListNotificationConfigs` call, and that the system should return the next page of data. + * * pageToken: 'placeholder-value', - * // Required. The name of the parent in which to list the notification configurations. Its format is "organizations/[organization_id]", "folders/[folder_id]", or "projects/[project_id]". + * * parent: 'folders/my-folder', * }); * console.log(res.data); @@ -12805,7 +7315,6 @@ export namespace securitycenter_v1 { } /** - * Updates a notification config. The following update fields are allowed: description, pubsub_topic, streaming_config.filter * @example * ```js * // Before running the sample: @@ -12835,9 +7344,8 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.folders.notificationConfigs.patch({ - * // The relative resource name of this notification config. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id\}/notificationConfigs/notify_public_bucket", "folders/{folder_id\}/notificationConfigs/notify_public_bucket", or "projects/{project_id\}/notificationConfigs/notify_public_bucket". * name: 'folders/my-folder/notificationConfigs/my-notificationConfig', - * // The FieldMask to use when updating the notification config. If empty all mutable fields will be updated. + * * updateMask: 'placeholder-value', * * // Request body metadata @@ -12960,11 +7468,11 @@ export namespace securitycenter_v1 { export interface Params$Resource$Folders$Notificationconfigs$Create extends StandardParameters { /** - * Required. Unique identifier provided by the client within the parent scope. It must be between 1 and 128 characters and contain alphanumeric characters, underscores, or hyphens only. + * */ configId?: string; /** - * Required. Resource name of the new notification config's parent. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`. + * */ parent?: string; @@ -12975,37 +7483,37 @@ export namespace securitycenter_v1 { } export interface Params$Resource$Folders$Notificationconfigs$Delete extends StandardParameters { /** - * Required. Name of the notification config to delete. Its format is `organizations/[organization_id]/notificationConfigs/[config_id]`, `folders/[folder_id]/notificationConfigs/[config_id]`, or `projects/[project_id]/notificationConfigs/[config_id]`. + * */ name?: string; } export interface Params$Resource$Folders$Notificationconfigs$Get extends StandardParameters { /** - * Required. Name of the notification config to get. Its format is `organizations/[organization_id]/notificationConfigs/[config_id]`, `folders/[folder_id]/notificationConfigs/[config_id]`, or `projects/[project_id]/notificationConfigs/[config_id]`. + * */ name?: string; } export interface Params$Resource$Folders$Notificationconfigs$List extends StandardParameters { /** - * The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. + * */ pageSize?: number; /** - * The value returned by the last `ListNotificationConfigsResponse`; indicates that this is a continuation of a prior `ListNotificationConfigs` call, and that the system should return the next page of data. + * */ pageToken?: string; /** - * Required. The name of the parent in which to list the notification configurations. Its format is "organizations/[organization_id]", "folders/[folder_id]", or "projects/[project_id]". + * */ parent?: string; } export interface Params$Resource$Folders$Notificationconfigs$Patch extends StandardParameters { /** - * The relative resource name of this notification config. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id\}/notificationConfigs/notify_public_bucket", "folders/{folder_id\}/notificationConfigs/notify_public_bucket", or "projects/{project_id\}/notificationConfigs/notify_public_bucket". + * */ name?: string; /** - * The FieldMask to use when updating the notification config. If empty all mutable fields will be updated. + * */ updateMask?: string; @@ -13039,7 +7547,6 @@ export namespace securitycenter_v1 { } /** - * Creates a resident SecurityHealthAnalyticsCustomModule at the scope of the given CRM parent, and also creates inherited SecurityHealthAnalyticsCustomModules for all CRM descendants of the given parent. These modules are enabled by default. * @example * ```js * // Before running the sample: @@ -13071,7 +7578,6 @@ export namespace securitycenter_v1 { * const res = * await securitycenter.folders.securityHealthAnalyticsSettings.customModules.create( * { - * // Required. Resource name of the new custom module's parent. Its format is `organizations/{organization\}/securityHealthAnalyticsSettings`, `folders/{folder\}/securityHealthAnalyticsSettings`, or `projects/{project\}/securityHealthAnalyticsSettings` * parent: 'folders/my-folder/securityHealthAnalyticsSettings', * * // Request body metadata @@ -13213,7 +7719,6 @@ export namespace securitycenter_v1 { } /** - * Deletes the specified SecurityHealthAnalyticsCustomModule and all of its descendants in the CRM hierarchy. This method is only supported for resident custom modules. * @example * ```js * // Before running the sample: @@ -13245,7 +7750,6 @@ export namespace securitycenter_v1 { * const res = * await securitycenter.folders.securityHealthAnalyticsSettings.customModules.delete( * { - * // Required. Name of the custom module to delete. Its format is `organizations/{organization\}/securityHealthAnalyticsSettings/customModules/{customModule\}`, `folders/{folder\}/securityHealthAnalyticsSettings/customModules/{customModule\}`, or `projects/{project\}/securityHealthAnalyticsSettings/customModules/{customModule\}` * name: 'folders/my-folder/securityHealthAnalyticsSettings/customModules/my-customModule', * }, * ); @@ -13350,7 +7854,6 @@ export namespace securitycenter_v1 { } /** - * Retrieves a SecurityHealthAnalyticsCustomModule. * @example * ```js * // Before running the sample: @@ -13382,7 +7885,6 @@ export namespace securitycenter_v1 { * const res = * await securitycenter.folders.securityHealthAnalyticsSettings.customModules.get( * { - * // Required. Name of the custom module to get. Its format is `organizations/{organization\}/securityHealthAnalyticsSettings/customModules/{customModule\}`, `folders/{folder\}/securityHealthAnalyticsSettings/customModules/{customModule\}`, or `projects/{project\}/securityHealthAnalyticsSettings/customModules/{customModule\}` * name: 'folders/my-folder/securityHealthAnalyticsSettings/customModules/my-customModule', * }, * ); @@ -13506,7 +8008,6 @@ export namespace securitycenter_v1 { } /** - * Returns a list of all SecurityHealthAnalyticsCustomModules for the given parent. This includes resident modules defined at the scope of the parent, and inherited modules, inherited from CRM ancestors. * @example * ```js * // Before running the sample: @@ -13538,11 +8039,10 @@ export namespace securitycenter_v1 { * const res = * await securitycenter.folders.securityHealthAnalyticsSettings.customModules.list( * { - * // The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. * pageSize: 'placeholder-value', - * // The value returned by the last call indicating a continuation + * * pageToken: 'placeholder-value', - * // Required. Name of parent to list custom modules. Its format is `organizations/{organization\}/securityHealthAnalyticsSettings`, `folders/{folder\}/securityHealthAnalyticsSettings`, or `projects/{project\}/securityHealthAnalyticsSettings` + * * parent: 'folders/my-folder/securityHealthAnalyticsSettings', * }, * ); @@ -13663,7 +8163,6 @@ export namespace securitycenter_v1 { } /** - * Returns a list of all resident SecurityHealthAnalyticsCustomModules under the given CRM parent and all of the parent’s CRM descendants. * @example * ```js * // Before running the sample: @@ -13695,11 +8194,10 @@ export namespace securitycenter_v1 { * const res = * await securitycenter.folders.securityHealthAnalyticsSettings.customModules.listDescendant( * { - * // The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. * pageSize: 'placeholder-value', - * // The value returned by the last call indicating a continuation + * * pageToken: 'placeholder-value', - * // Required. Name of parent to list descendant custom modules. Its format is `organizations/{organization\}/securityHealthAnalyticsSettings`, `folders/{folder\}/securityHealthAnalyticsSettings`, or `projects/{project\}/securityHealthAnalyticsSettings` + * * parent: 'folders/my-folder/securityHealthAnalyticsSettings', * }, * ); @@ -13819,7 +8317,6 @@ export namespace securitycenter_v1 { } /** - * Updates the SecurityHealthAnalyticsCustomModule under the given name based on the given update mask. Updating the enablement state is supported on both resident and inherited modules (though resident modules cannot have an enablement state of "inherited"). Updating the display name and custom config of a module is supported on resident modules only. * @example * ```js * // Before running the sample: @@ -13851,9 +8348,8 @@ export namespace securitycenter_v1 { * const res = * await securitycenter.folders.securityHealthAnalyticsSettings.customModules.patch( * { - * // Immutable. The resource name of the custom module. Its format is "organizations/{organization\}/securityHealthAnalyticsSettings/customModules/{customModule\}", or "folders/{folder\}/securityHealthAnalyticsSettings/customModules/{customModule\}", or "projects/{project\}/securityHealthAnalyticsSettings/customModules/{customModule\}" The id {customModule\} is server-generated and is not user settable. It will be a numeric id containing 1-20 digits. * name: 'folders/my-folder/securityHealthAnalyticsSettings/customModules/my-customModule', - * // The list of fields to be updated. The only fields that can be updated are `enablement_state` and `custom_config`. If empty or set to the wildcard value `*`, both `enablement_state` and `custom_config` are updated. + * * updateMask: 'placeholder-value', * * // Request body metadata @@ -13992,7 +8488,6 @@ export namespace securitycenter_v1 { } /** - * Simulates a given SecurityHealthAnalyticsCustomModule and Resource. * @example * ```js * // Before running the sample: @@ -14024,7 +8519,6 @@ export namespace securitycenter_v1 { * const res = * await securitycenter.folders.securityHealthAnalyticsSettings.customModules.simulate( * { - * // Required. The relative resource name of the organization, project, or folder. For more information about relative resource names, see [Relative Resource Name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) Example: `organizations/{organization_id\}` * parent: 'folders/my-folder/securityHealthAnalyticsSettings', * * // Request body metadata @@ -14155,7 +8649,7 @@ export namespace securitycenter_v1 { export interface Params$Resource$Folders$Securityhealthanalyticssettings$Custommodules$Create extends StandardParameters { /** - * Required. Resource name of the new custom module's parent. Its format is `organizations/{organization\}/securityHealthAnalyticsSettings`, `folders/{folder\}/securityHealthAnalyticsSettings`, or `projects/{project\}/securityHealthAnalyticsSettings` + * */ parent?: string; @@ -14166,51 +8660,51 @@ export namespace securitycenter_v1 { } export interface Params$Resource$Folders$Securityhealthanalyticssettings$Custommodules$Delete extends StandardParameters { /** - * Required. Name of the custom module to delete. Its format is `organizations/{organization\}/securityHealthAnalyticsSettings/customModules/{customModule\}`, `folders/{folder\}/securityHealthAnalyticsSettings/customModules/{customModule\}`, or `projects/{project\}/securityHealthAnalyticsSettings/customModules/{customModule\}` + * */ name?: string; } export interface Params$Resource$Folders$Securityhealthanalyticssettings$Custommodules$Get extends StandardParameters { /** - * Required. Name of the custom module to get. Its format is `organizations/{organization\}/securityHealthAnalyticsSettings/customModules/{customModule\}`, `folders/{folder\}/securityHealthAnalyticsSettings/customModules/{customModule\}`, or `projects/{project\}/securityHealthAnalyticsSettings/customModules/{customModule\}` + * */ name?: string; } export interface Params$Resource$Folders$Securityhealthanalyticssettings$Custommodules$List extends StandardParameters { /** - * The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. + * */ pageSize?: number; /** - * The value returned by the last call indicating a continuation + * */ pageToken?: string; /** - * Required. Name of parent to list custom modules. Its format is `organizations/{organization\}/securityHealthAnalyticsSettings`, `folders/{folder\}/securityHealthAnalyticsSettings`, or `projects/{project\}/securityHealthAnalyticsSettings` + * */ parent?: string; } export interface Params$Resource$Folders$Securityhealthanalyticssettings$Custommodules$Listdescendant extends StandardParameters { /** - * The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. + * */ pageSize?: number; /** - * The value returned by the last call indicating a continuation + * */ pageToken?: string; /** - * Required. Name of parent to list descendant custom modules. Its format is `organizations/{organization\}/securityHealthAnalyticsSettings`, `folders/{folder\}/securityHealthAnalyticsSettings`, or `projects/{project\}/securityHealthAnalyticsSettings` + * */ parent?: string; } export interface Params$Resource$Folders$Securityhealthanalyticssettings$Custommodules$Patch extends StandardParameters { /** - * Immutable. The resource name of the custom module. Its format is "organizations/{organization\}/securityHealthAnalyticsSettings/customModules/{customModule\}", or "folders/{folder\}/securityHealthAnalyticsSettings/customModules/{customModule\}", or "projects/{project\}/securityHealthAnalyticsSettings/customModules/{customModule\}" The id {customModule\} is server-generated and is not user settable. It will be a numeric id containing 1-20 digits. + * */ name?: string; /** - * The list of fields to be updated. The only fields that can be updated are `enablement_state` and `custom_config`. If empty or set to the wildcard value `*`, both `enablement_state` and `custom_config` are updated. + * */ updateMask?: string; @@ -14221,7 +8715,7 @@ export namespace securitycenter_v1 { } export interface Params$Resource$Folders$Securityhealthanalyticssettings$Custommodules$Simulate extends StandardParameters { /** - * Required. The relative resource name of the organization, project, or folder. For more information about relative resource names, see [Relative Resource Name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) Example: `organizations/{organization_id\}` + * */ parent?: string; @@ -14238,7 +8732,6 @@ export namespace securitycenter_v1 { } /** - * Retrieves an EffectiveSecurityHealthAnalyticsCustomModule. * @example * ```js * // Before running the sample: @@ -14270,7 +8763,6 @@ export namespace securitycenter_v1 { * const res = * await securitycenter.folders.securityHealthAnalyticsSettings.effectiveCustomModules.get( * { - * // Required. Name of the effective custom module to get. Its format is `organizations/{organization\}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule\}`, `folders/{folder\}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule\}`, or `projects/{project\}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule\}` * name: 'folders/my-folder/securityHealthAnalyticsSettings/effectiveCustomModules/my-effectiveCustomModule', * }, * ); @@ -14391,7 +8883,6 @@ export namespace securitycenter_v1 { } /** - * Returns a list of all EffectiveSecurityHealthAnalyticsCustomModules for the given parent. This includes resident modules defined at the scope of the parent, and inherited modules, inherited from CRM ancestors. * @example * ```js * // Before running the sample: @@ -14423,11 +8914,10 @@ export namespace securitycenter_v1 { * const res = * await securitycenter.folders.securityHealthAnalyticsSettings.effectiveCustomModules.list( * { - * // The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. * pageSize: 'placeholder-value', - * // The value returned by the last call indicating a continuation + * * pageToken: 'placeholder-value', - * // Required. Name of parent to list effective custom modules. Its format is `organizations/{organization\}/securityHealthAnalyticsSettings`, `folders/{folder\}/securityHealthAnalyticsSettings`, or `projects/{project\}/securityHealthAnalyticsSettings` + * * parent: 'folders/my-folder/securityHealthAnalyticsSettings', * }, * ); @@ -14550,21 +9040,21 @@ export namespace securitycenter_v1 { export interface Params$Resource$Folders$Securityhealthanalyticssettings$Effectivecustommodules$Get extends StandardParameters { /** - * Required. Name of the effective custom module to get. Its format is `organizations/{organization\}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule\}`, `folders/{folder\}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule\}`, or `projects/{project\}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule\}` + * */ name?: string; } export interface Params$Resource$Folders$Securityhealthanalyticssettings$Effectivecustommodules$List extends StandardParameters { /** - * The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. + * */ pageSize?: number; /** - * The value returned by the last call indicating a continuation + * */ pageToken?: string; /** - * Required. Name of parent to list effective custom modules. Its format is `organizations/{organization\}/securityHealthAnalyticsSettings`, `folders/{folder\}/securityHealthAnalyticsSettings`, or `projects/{project\}/securityHealthAnalyticsSettings` + * */ parent?: string; } @@ -14578,7 +9068,6 @@ export namespace securitycenter_v1 { } /** - * Lists all sources belonging to an organization. * @example * ```js * // Before running the sample: @@ -14608,11 +9097,10 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.folders.sources.list({ - * // The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. * pageSize: 'placeholder-value', - * // The value returned by the last `ListSourcesResponse`; indicates that this is a continuation of a prior `ListSources` call, and that the system should return the next page of data. + * * pageToken: 'placeholder-value', - * // Required. Resource name of the parent of sources to list. Its format should be `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`. + * * parent: 'folders/my-folder', * }); * console.log(res.data); @@ -14723,15 +9211,15 @@ export namespace securitycenter_v1 { export interface Params$Resource$Folders$Sources$List extends StandardParameters { /** - * The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. + * */ pageSize?: number; /** - * The value returned by the last `ListSourcesResponse`; indicates that this is a continuation of a prior `ListSources` call, and that the system should return the next page of data. + * */ pageToken?: string; /** - * Required. Resource name of the parent of sources to list. Its format should be `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`. + * */ parent?: string; } @@ -14746,7 +9234,6 @@ export namespace securitycenter_v1 { } /** - * Filters an organization or source's findings and groups them by their specified properties. To group across all sources provide a `-` as the source id. Example: /v1/organizations/{organization_id\}/sources/-/findings, /v1/folders/{folder_id\}/sources/-/findings, /v1/projects/{project_id\}/sources/-/findings * @example * ```js * // Before running the sample: @@ -14776,7 +9263,6 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.folders.sources.findings.group({ - * // Required. Name of the source to groupBy. Its format is `organizations/[organization_id]/sources/[source_id]`, `folders/[folder_id]/sources/[source_id]`, or `projects/[project_id]/sources/[source_id]`. To groupBy across all sources provide a source_id of `-`. For example: `organizations/{organization_id\}/sources/-, folders/{folder_id\}/sources/-`, or `projects/{project_id\}/sources/-` * parent: 'folders/my-folder/sources/my-source', * * // Request body metadata @@ -14902,7 +9388,6 @@ export namespace securitycenter_v1 { } /** - * Lists an organization or source's findings. To list across all sources provide a `-` as the source id. Example: /v1/organizations/{organization_id\}/sources/-/findings * @example * ```js * // Before running the sample: @@ -14932,21 +9417,20 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.folders.sources.findings.list({ - * // When compare_duration is set, the ListFindingsResult's "state_change" attribute is updated to indicate whether the finding had its state changed, the finding's state remained unchanged, or if the finding was added in any state during the compare_duration period of time that precedes the read_time. This is the time between (read_time - compare_duration) and read_time. The state_change value is derived based on the presence and state of the finding at the two points in time. Intermediate state changes between the two times don't affect the result. For example, the results aren't affected if the finding is made inactive and then active again. Possible "state_change" values when compare_duration is specified: * "CHANGED": indicates that the finding was present and matched the given filter at the start of compare_duration, but changed its state at read_time. * "UNCHANGED": indicates that the finding was present and matched the given filter at the start of compare_duration and did not change state at read_time. * "ADDED": indicates that the finding did not match the given filter or was not present at the start of compare_duration, but was present at read_time. * "REMOVED": indicates that the finding was present and matched the filter at the start of compare_duration, but did not match the filter at read_time. If compare_duration is not specified, then the only possible state_change is "UNUSED", which will be the state_change set for all findings present at read_time. * compareDuration: 'placeholder-value', - * // A field mask to specify the Finding fields to be listed in the response. An empty field mask will list all fields. + * * fieldMask: 'placeholder-value', - * // Expression that defines the filter to apply across findings. The expression is a list of one or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. Examples include: * name * source_properties.a_property * security_marks.marks.marka The supported operators are: * `=` for all value types. * `\>`, `<`, `\>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. The following field and operator combinations are supported: * name: `=` * parent: `=`, `:` * resource_name: `=`, `:` * state: `=`, `:` * category: `=`, `:` * external_uri: `=`, `:` * event_time: `=`, `\>`, `<`, `\>=`, `<=` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `event_time = "2019-06-10T16:07:18-07:00"` `event_time = 1560208038000` * severity: `=`, `:` * workflow_state: `=`, `:` * security_marks.marks: `=`, `:` * source_properties: `=`, `:`, `\>`, `<`, `\>=`, `<=` For example, `source_properties.size = 100` is a valid filter string. Use a partial match on the empty string to filter based on a property existing: `source_properties.my_property : ""` Use a negated partial match on the empty string to filter based on a property not existing: `-source_properties.my_property : ""` * resource: * resource.name: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.type: `=`, `:` * resource.folders.resource_folder: `=`, `:` * resource.display_name: `=`, `:` + * * filter: 'placeholder-value', - * // Expression that defines what fields and order to use for sorting. The string value should follow SQL syntax: comma separated list of fields. For example: "name,resource_properties.a_property". The default sorting order is ascending. To specify descending order for a field, a suffix " desc" should be appended to the field name. For example: "name desc,source_properties.a_property". Redundant space characters in the syntax are insignificant. "name desc,source_properties.a_property" and " name desc , source_properties.a_property " are equivalent. The following fields are supported: name parent state category resource_name event_time source_properties security_marks.marks + * * orderBy: 'placeholder-value', - * // The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. + * * pageSize: 'placeholder-value', - * // The value returned by the last `ListFindingsResponse`; indicates that this is a continuation of a prior `ListFindings` call, and that the system should return the next page of data. + * * pageToken: 'placeholder-value', - * // Required. Name of the source the findings belong to. Its format is `organizations/[organization_id]/sources/[source_id]`, `folders/[folder_id]/sources/[source_id]`, or `projects/[project_id]/sources/[source_id]`. To list across all sources provide a source_id of `-`. For example: `organizations/{organization_id\}/sources/-`, `folders/{folder_id\}/sources/-` or `projects/{projects_id\}/sources/-` + * * parent: 'folders/my-folder/sources/my-source', - * // Time used as a reference point when filtering findings. The filter is limited to findings existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW. + * * readTime: 'placeholder-value', * }); * console.log(res.data); @@ -15059,7 +9543,6 @@ export namespace securitycenter_v1 { } /** - * Creates or updates a finding. The corresponding source must exist for a finding creation to succeed. * @example * ```js * // Before running the sample: @@ -15089,9 +9572,8 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.folders.sources.findings.patch({ - * // The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: "organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}", "folders/{folder_id\}/sources/{source_id\}/findings/{finding_id\}", "projects/{project_id\}/sources/{source_id\}/findings/{finding_id\}". * name: 'folders/my-folder/sources/my-source/findings/my-finding', - * // The FieldMask to use when updating the finding resource. This field should not be specified when creating a finding. When updating a finding, an empty mask is treated as updating all mutable fields and replacing source_properties. Individual source_properties can be added/updated by using "source_properties." in the field mask. + * * updateMask: 'placeholder-value', * * // Request body metadata @@ -15338,7 +9820,6 @@ export namespace securitycenter_v1 { } /** - * Updates the mute state of a finding. * @example * ```js * // Before running the sample: @@ -15368,7 +9849,6 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.folders.sources.findings.setMute({ - * // Required. The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: `organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}`, `folders/{folder_id\}/sources/{source_id\}/findings/{finding_id\}`, `projects/{project_id\}/sources/{source_id\}/findings/{finding_id\}`. * name: 'folders/my-folder/sources/my-source/findings/my-finding', * * // Request body metadata @@ -15551,7 +10031,6 @@ export namespace securitycenter_v1 { } /** - * Updates the state of a finding. * @example * ```js * // Before running the sample: @@ -15581,7 +10060,6 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.folders.sources.findings.setState({ - * // Required. The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: `organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}`, `folders/{folder_id\}/sources/{source_id\}/findings/{finding_id\}`, `projects/{project_id\}/sources/{source_id\}/findings/{finding_id\}`. * name: 'folders/my-folder/sources/my-source/findings/my-finding', * * // Request body metadata @@ -15765,7 +10243,6 @@ export namespace securitycenter_v1 { } /** - * Updates security marks. * @example * ```js * // Before running the sample: @@ -15796,11 +10273,10 @@ export namespace securitycenter_v1 { * // Do the magic * const res = await securitycenter.folders.sources.findings.updateSecurityMarks( * { - * // The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id\}/assets/{asset_id\}/securityMarks" "organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}/securityMarks". * name: 'folders/my-folder/sources/my-source/findings/my-finding/securityMarks', - * // The time at which the updated SecurityMarks take effect. If not set uses current server time. Updates will be applied to the SecurityMarks that are active immediately preceding this time. Must be earlier or equal to the server time. + * * startTime: 'placeholder-value', - * // The FieldMask to use when updating the security marks resource. The field mask must not contain duplicate fields. If empty or set to "marks", all marks will be replaced. Individual marks can be updated using "marks.". + * * updateMask: 'placeholder-value', * * // Request body metadata @@ -15923,7 +10399,7 @@ export namespace securitycenter_v1 { export interface Params$Resource$Folders$Sources$Findings$Group extends StandardParameters { /** - * Required. Name of the source to groupBy. Its format is `organizations/[organization_id]/sources/[source_id]`, `folders/[folder_id]/sources/[source_id]`, or `projects/[project_id]/sources/[source_id]`. To groupBy across all sources provide a source_id of `-`. For example: `organizations/{organization_id\}/sources/-, folders/{folder_id\}/sources/-`, or `projects/{project_id\}/sources/-` + * */ parent?: string; @@ -15934,45 +10410,45 @@ export namespace securitycenter_v1 { } export interface Params$Resource$Folders$Sources$Findings$List extends StandardParameters { /** - * When compare_duration is set, the ListFindingsResult's "state_change" attribute is updated to indicate whether the finding had its state changed, the finding's state remained unchanged, or if the finding was added in any state during the compare_duration period of time that precedes the read_time. This is the time between (read_time - compare_duration) and read_time. The state_change value is derived based on the presence and state of the finding at the two points in time. Intermediate state changes between the two times don't affect the result. For example, the results aren't affected if the finding is made inactive and then active again. Possible "state_change" values when compare_duration is specified: * "CHANGED": indicates that the finding was present and matched the given filter at the start of compare_duration, but changed its state at read_time. * "UNCHANGED": indicates that the finding was present and matched the given filter at the start of compare_duration and did not change state at read_time. * "ADDED": indicates that the finding did not match the given filter or was not present at the start of compare_duration, but was present at read_time. * "REMOVED": indicates that the finding was present and matched the filter at the start of compare_duration, but did not match the filter at read_time. If compare_duration is not specified, then the only possible state_change is "UNUSED", which will be the state_change set for all findings present at read_time. + * */ compareDuration?: string; /** - * A field mask to specify the Finding fields to be listed in the response. An empty field mask will list all fields. + * */ fieldMask?: string; /** - * Expression that defines the filter to apply across findings. The expression is a list of one or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. Examples include: * name * source_properties.a_property * security_marks.marks.marka The supported operators are: * `=` for all value types. * `\>`, `<`, `\>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. The following field and operator combinations are supported: * name: `=` * parent: `=`, `:` * resource_name: `=`, `:` * state: `=`, `:` * category: `=`, `:` * external_uri: `=`, `:` * event_time: `=`, `\>`, `<`, `\>=`, `<=` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `event_time = "2019-06-10T16:07:18-07:00"` `event_time = 1560208038000` * severity: `=`, `:` * workflow_state: `=`, `:` * security_marks.marks: `=`, `:` * source_properties: `=`, `:`, `\>`, `<`, `\>=`, `<=` For example, `source_properties.size = 100` is a valid filter string. Use a partial match on the empty string to filter based on a property existing: `source_properties.my_property : ""` Use a negated partial match on the empty string to filter based on a property not existing: `-source_properties.my_property : ""` * resource: * resource.name: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.type: `=`, `:` * resource.folders.resource_folder: `=`, `:` * resource.display_name: `=`, `:` + * */ filter?: string; /** - * Expression that defines what fields and order to use for sorting. The string value should follow SQL syntax: comma separated list of fields. For example: "name,resource_properties.a_property". The default sorting order is ascending. To specify descending order for a field, a suffix " desc" should be appended to the field name. For example: "name desc,source_properties.a_property". Redundant space characters in the syntax are insignificant. "name desc,source_properties.a_property" and " name desc , source_properties.a_property " are equivalent. The following fields are supported: name parent state category resource_name event_time source_properties security_marks.marks + * */ orderBy?: string; /** - * The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. + * */ pageSize?: number; /** - * The value returned by the last `ListFindingsResponse`; indicates that this is a continuation of a prior `ListFindings` call, and that the system should return the next page of data. + * */ pageToken?: string; /** - * Required. Name of the source the findings belong to. Its format is `organizations/[organization_id]/sources/[source_id]`, `folders/[folder_id]/sources/[source_id]`, or `projects/[project_id]/sources/[source_id]`. To list across all sources provide a source_id of `-`. For example: `organizations/{organization_id\}/sources/-`, `folders/{folder_id\}/sources/-` or `projects/{projects_id\}/sources/-` + * */ parent?: string; /** - * Time used as a reference point when filtering findings. The filter is limited to findings existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW. + * */ readTime?: string; } export interface Params$Resource$Folders$Sources$Findings$Patch extends StandardParameters { /** - * The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: "organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}", "folders/{folder_id\}/sources/{source_id\}/findings/{finding_id\}", "projects/{project_id\}/sources/{source_id\}/findings/{finding_id\}". + * */ name?: string; /** - * The FieldMask to use when updating the finding resource. This field should not be specified when creating a finding. When updating a finding, an empty mask is treated as updating all mutable fields and replacing source_properties. Individual source_properties can be added/updated by using "source_properties." in the field mask. + * */ updateMask?: string; @@ -15983,7 +10459,7 @@ export namespace securitycenter_v1 { } export interface Params$Resource$Folders$Sources$Findings$Setmute extends StandardParameters { /** - * Required. The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: `organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}`, `folders/{folder_id\}/sources/{source_id\}/findings/{finding_id\}`, `projects/{project_id\}/sources/{source_id\}/findings/{finding_id\}`. + * */ name?: string; @@ -15994,7 +10470,7 @@ export namespace securitycenter_v1 { } export interface Params$Resource$Folders$Sources$Findings$Setstate extends StandardParameters { /** - * Required. The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: `organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}`, `folders/{folder_id\}/sources/{source_id\}/findings/{finding_id\}`, `projects/{project_id\}/sources/{source_id\}/findings/{finding_id\}`. + * */ name?: string; @@ -16005,15 +10481,15 @@ export namespace securitycenter_v1 { } export interface Params$Resource$Folders$Sources$Findings$Updatesecuritymarks extends StandardParameters { /** - * The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id\}/assets/{asset_id\}/securityMarks" "organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}/securityMarks". + * */ name?: string; /** - * The time at which the updated SecurityMarks take effect. If not set uses current server time. Updates will be applied to the SecurityMarks that are active immediately preceding this time. Must be earlier or equal to the server time. + * */ startTime?: string; /** - * The FieldMask to use when updating the security marks resource. The field mask must not contain duplicate fields. If empty or set to "marks", all marks will be replaced. Individual marks can be updated using "marks.". + * */ updateMask?: string; @@ -16030,7 +10506,6 @@ export namespace securitycenter_v1 { } /** - * Updates external system. This is for a given finding. * @example * ```js * // Before running the sample: @@ -16061,9 +10536,8 @@ export namespace securitycenter_v1 { * // Do the magic * const res = * await securitycenter.folders.sources.findings.externalSystems.patch({ - * // Full resource name of the external system, for example: "organizations/1234/sources/5678/findings/123456/externalSystems/jira", "folders/1234/sources/5678/findings/123456/externalSystems/jira", "projects/1234/sources/5678/findings/123456/externalSystems/jira" * name: 'folders/my-folder/sources/my-source/findings/my-finding/externalSystems/my-externalSystem', - * // The FieldMask to use when updating the external system resource. If empty all mutable fields will be updated. + * * updateMask: 'placeholder-value', * * // Request body metadata @@ -16209,11 +10683,11 @@ export namespace securitycenter_v1 { export interface Params$Resource$Folders$Sources$Findings$Externalsystems$Patch extends StandardParameters { /** - * Full resource name of the external system, for example: "organizations/1234/sources/5678/findings/123456/externalSystems/jira", "folders/1234/sources/5678/findings/123456/externalSystems/jira", "projects/1234/sources/5678/findings/123456/externalSystems/jira" + * */ name?: string; /** - * The FieldMask to use when updating the external system resource. If empty all mutable fields will be updated. + * */ updateMask?: string; @@ -16269,7 +10743,6 @@ export namespace securitycenter_v1 { } /** - * Gets the settings for an organization. * @example * ```js * // Before running the sample: @@ -16299,7 +10772,6 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.organizations.getOrganizationSettings({ - * // Required. Name of the organization to get organization settings for. Its format is `organizations/[organization_id]/organizationSettings`. * name: 'organizations/my-organization/organizationSettings', * }); * console.log(res.data); @@ -16410,7 +10882,6 @@ export namespace securitycenter_v1 { } /** - * Updates an organization's settings. * @example * ```js * // Before running the sample: @@ -16440,9 +10911,8 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.organizations.updateOrganizationSettings({ - * // The relative resource name of the settings. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id\}/organizationSettings". * name: 'organizations/my-organization/organizationSettings', - * // The FieldMask to use when updating the settings resource. If empty all mutable fields will be updated. + * * updateMask: 'placeholder-value', * * // Request body metadata @@ -16565,17 +11035,17 @@ export namespace securitycenter_v1 { export interface Params$Resource$Organizations$Getorganizationsettings extends StandardParameters { /** - * Required. Name of the organization to get organization settings for. Its format is `organizations/[organization_id]/organizationSettings`. + * */ name?: string; } export interface Params$Resource$Organizations$Updateorganizationsettings extends StandardParameters { /** - * The relative resource name of the settings. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id\}/organizationSettings". + * */ name?: string; /** - * The FieldMask to use when updating the settings resource. If empty all mutable fields will be updated. + * */ updateMask?: string; @@ -16592,7 +11062,6 @@ export namespace securitycenter_v1 { } /** - * Filters an organization's assets and groups them by their specified properties. * @example * ```js * // Before running the sample: @@ -16622,7 +11091,6 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.organizations.assets.group({ - * // Required. The name of the parent to group the assets by. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`. * parent: 'organizations/my-organization', * * // Request body metadata @@ -16746,7 +11214,6 @@ export namespace securitycenter_v1 { } /** - * Lists an organization's assets. * @example * ```js * // Before running the sample: @@ -16776,21 +11243,20 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.organizations.assets.list({ - * // When compare_duration is set, the ListAssetsResult's "state_change" attribute is updated to indicate whether the asset was added, removed, or remained present during the compare_duration period of time that precedes the read_time. This is the time between (read_time - compare_duration) and read_time. The state_change value is derived based on the presence of the asset at the two points in time. Intermediate state changes between the two times don't affect the result. For example, the results aren't affected if the asset is removed and re-created again. Possible "state_change" values when compare_duration is specified: * "ADDED": indicates that the asset was not present at the start of compare_duration, but present at read_time. * "REMOVED": indicates that the asset was present at the start of compare_duration, but not present at read_time. * "ACTIVE": indicates that the asset was present at both the start and the end of the time period defined by compare_duration and read_time. If compare_duration is not specified, then the only possible state_change is "UNUSED", which will be the state_change set for all assets present at read_time. * compareDuration: 'placeholder-value', - * // A field mask to specify the ListAssetsResult fields to be listed in the response. An empty field mask will list all fields. + * * fieldMask: 'placeholder-value', - * // Expression that defines the filter to apply across assets. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the Asset resource. Examples include: * name * security_center_properties.resource_name * resource_properties.a_property * security_marks.marks.marka The supported operators are: * `=` for all value types. * `\>`, `<`, `\>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. The following are the allowed field and operator combinations: * name: `=` * update_time: `=`, `\>`, `<`, `\>=`, `<=` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `update_time = "2019-06-10T16:07:18-07:00"` `update_time = 1560208038000` * create_time: `=`, `\>`, `<`, `\>=`, `<=` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `create_time = "2019-06-10T16:07:18-07:00"` `create_time = 1560208038000` * iam_policy.policy_blob: `=`, `:` * resource_properties: `=`, `:`, `\>`, `<`, `\>=`, `<=` * security_marks.marks: `=`, `:` * security_center_properties.resource_name: `=`, `:` * security_center_properties.resource_display_name: `=`, `:` * security_center_properties.resource_type: `=`, `:` * security_center_properties.resource_parent: `=`, `:` * security_center_properties.resource_parent_display_name: `=`, `:` * security_center_properties.resource_project: `=`, `:` * security_center_properties.resource_project_display_name: `=`, `:` * security_center_properties.resource_owners: `=`, `:` For example, `resource_properties.size = 100` is a valid filter string. Use a partial match on the empty string to filter based on a property existing: `resource_properties.my_property : ""` Use a negated partial match on the empty string to filter based on a property not existing: `-resource_properties.my_property : ""` + * * filter: 'placeholder-value', - * // Expression that defines what fields and order to use for sorting. The string value should follow SQL syntax: comma separated list of fields. For example: "name,resource_properties.a_property". The default sorting order is ascending. To specify descending order for a field, a suffix " desc" should be appended to the field name. For example: "name desc,resource_properties.a_property". Redundant space characters in the syntax are insignificant. "name desc,resource_properties.a_property" and " name desc , resource_properties.a_property " are equivalent. The following fields are supported: name update_time resource_properties security_marks.marks security_center_properties.resource_name security_center_properties.resource_display_name security_center_properties.resource_parent security_center_properties.resource_parent_display_name security_center_properties.resource_project security_center_properties.resource_project_display_name security_center_properties.resource_type + * * orderBy: 'placeholder-value', - * // The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. + * * pageSize: 'placeholder-value', - * // The value returned by the last `ListAssetsResponse`; indicates that this is a continuation of a prior `ListAssets` call, and that the system should return the next page of data. + * * pageToken: 'placeholder-value', - * // Required. The name of the parent resource that contains the assets. The value that you can specify on parent depends on the method in which you specify parent. You can specify one of the following values: `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`. + * * parent: 'organizations/my-organization', - * // Time used as a reference point when filtering assets. The filter is limited to assets existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW. + * * readTime: 'placeholder-value', * }); * console.log(res.data); @@ -16901,7 +11367,6 @@ export namespace securitycenter_v1 { } /** - * Runs asset discovery. The discovery is tracked with a long-running operation. This API can only be called with limited frequency for an organization. If it is called too frequently the caller will receive a TOO_MANY_REQUESTS error. * @example * ```js * // Before running the sample: @@ -16931,7 +11396,6 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.organizations.assets.runDiscovery({ - * // Required. Name of the organization to run asset discovery for. Its format is `organizations/[organization_id]`. * parent: 'organizations/my-organization', * * // Request body metadata @@ -17049,7 +11513,6 @@ export namespace securitycenter_v1 { } /** - * Updates security marks. * @example * ```js * // Before running the sample: @@ -17079,11 +11542,10 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.organizations.assets.updateSecurityMarks({ - * // The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id\}/assets/{asset_id\}/securityMarks" "organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}/securityMarks". * name: 'organizations/my-organization/assets/my-asset/securityMarks', - * // The time at which the updated SecurityMarks take effect. If not set uses current server time. Updates will be applied to the SecurityMarks that are active immediately preceding this time. Must be earlier or equal to the server time. + * * startTime: 'placeholder-value', - * // The FieldMask to use when updating the security marks resource. The field mask must not contain duplicate fields. If empty or set to "marks", all marks will be replaced. Individual marks can be updated using "marks.". + * * updateMask: 'placeholder-value', * * // Request body metadata @@ -17204,7 +11666,7 @@ export namespace securitycenter_v1 { export interface Params$Resource$Organizations$Assets$Group extends StandardParameters { /** - * Required. The name of the parent to group the assets by. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`. + * */ parent?: string; @@ -17215,41 +11677,41 @@ export namespace securitycenter_v1 { } export interface Params$Resource$Organizations$Assets$List extends StandardParameters { /** - * When compare_duration is set, the ListAssetsResult's "state_change" attribute is updated to indicate whether the asset was added, removed, or remained present during the compare_duration period of time that precedes the read_time. This is the time between (read_time - compare_duration) and read_time. The state_change value is derived based on the presence of the asset at the two points in time. Intermediate state changes between the two times don't affect the result. For example, the results aren't affected if the asset is removed and re-created again. Possible "state_change" values when compare_duration is specified: * "ADDED": indicates that the asset was not present at the start of compare_duration, but present at read_time. * "REMOVED": indicates that the asset was present at the start of compare_duration, but not present at read_time. * "ACTIVE": indicates that the asset was present at both the start and the end of the time period defined by compare_duration and read_time. If compare_duration is not specified, then the only possible state_change is "UNUSED", which will be the state_change set for all assets present at read_time. + * */ compareDuration?: string; /** - * A field mask to specify the ListAssetsResult fields to be listed in the response. An empty field mask will list all fields. + * */ fieldMask?: string; /** - * Expression that defines the filter to apply across assets. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the Asset resource. Examples include: * name * security_center_properties.resource_name * resource_properties.a_property * security_marks.marks.marka The supported operators are: * `=` for all value types. * `\>`, `<`, `\>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. The following are the allowed field and operator combinations: * name: `=` * update_time: `=`, `\>`, `<`, `\>=`, `<=` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `update_time = "2019-06-10T16:07:18-07:00"` `update_time = 1560208038000` * create_time: `=`, `\>`, `<`, `\>=`, `<=` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `create_time = "2019-06-10T16:07:18-07:00"` `create_time = 1560208038000` * iam_policy.policy_blob: `=`, `:` * resource_properties: `=`, `:`, `\>`, `<`, `\>=`, `<=` * security_marks.marks: `=`, `:` * security_center_properties.resource_name: `=`, `:` * security_center_properties.resource_display_name: `=`, `:` * security_center_properties.resource_type: `=`, `:` * security_center_properties.resource_parent: `=`, `:` * security_center_properties.resource_parent_display_name: `=`, `:` * security_center_properties.resource_project: `=`, `:` * security_center_properties.resource_project_display_name: `=`, `:` * security_center_properties.resource_owners: `=`, `:` For example, `resource_properties.size = 100` is a valid filter string. Use a partial match on the empty string to filter based on a property existing: `resource_properties.my_property : ""` Use a negated partial match on the empty string to filter based on a property not existing: `-resource_properties.my_property : ""` + * */ filter?: string; /** - * Expression that defines what fields and order to use for sorting. The string value should follow SQL syntax: comma separated list of fields. For example: "name,resource_properties.a_property". The default sorting order is ascending. To specify descending order for a field, a suffix " desc" should be appended to the field name. For example: "name desc,resource_properties.a_property". Redundant space characters in the syntax are insignificant. "name desc,resource_properties.a_property" and " name desc , resource_properties.a_property " are equivalent. The following fields are supported: name update_time resource_properties security_marks.marks security_center_properties.resource_name security_center_properties.resource_display_name security_center_properties.resource_parent security_center_properties.resource_parent_display_name security_center_properties.resource_project security_center_properties.resource_project_display_name security_center_properties.resource_type + * */ orderBy?: string; /** - * The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. + * */ pageSize?: number; /** - * The value returned by the last `ListAssetsResponse`; indicates that this is a continuation of a prior `ListAssets` call, and that the system should return the next page of data. + * */ pageToken?: string; /** - * Required. The name of the parent resource that contains the assets. The value that you can specify on parent depends on the method in which you specify parent. You can specify one of the following values: `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`. + * */ parent?: string; /** - * Time used as a reference point when filtering assets. The filter is limited to assets existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW. + * */ readTime?: string; } export interface Params$Resource$Organizations$Assets$Rundiscovery extends StandardParameters { /** - * Required. Name of the organization to run asset discovery for. Its format is `organizations/[organization_id]`. + * */ parent?: string; @@ -17260,15 +11722,15 @@ export namespace securitycenter_v1 { } export interface Params$Resource$Organizations$Assets$Updatesecuritymarks extends StandardParameters { /** - * The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id\}/assets/{asset_id\}/securityMarks" "organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}/securityMarks". + * */ name?: string; /** - * The time at which the updated SecurityMarks take effect. If not set uses current server time. Updates will be applied to the SecurityMarks that are active immediately preceding this time. Must be earlier or equal to the server time. + * */ startTime?: string; /** - * The FieldMask to use when updating the security marks resource. The field mask must not contain duplicate fields. If empty or set to "marks", all marks will be replaced. Individual marks can be updated using "marks.". + * */ updateMask?: string; @@ -17285,7 +11747,6 @@ export namespace securitycenter_v1 { } /** - * Lists the attack paths for a set of simulation results or valued resources and filter. * @example * ```js * // Before running the sample: @@ -17315,13 +11776,12 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.organizations.attackPaths.list({ - * // The filter expression that filters the attack path in the response. Supported fields: * `valued_resources` supports = * filter: 'placeholder-value', - * // The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. + * * pageSize: 'placeholder-value', - * // The value returned by the last `ListAttackPathsResponse`; indicates that this is a continuation of a prior `ListAttackPaths` call, and that the system should return the next page of data. + * * pageToken: 'placeholder-value', - * // Required. Name of parent to list attack paths. Valid formats: `organizations/{organization\}`, `organizations/{organization\}/simulations/{simulation\}` `organizations/{organization\}/simulations/{simulation\}/attackExposureResults/{attack_exposure_result_v2\}` `organizations/{organization\}/simulations/{simulation\}/valuedResources/{valued_resource\}` + * * parent: 'organizations/my-organization', * }); * console.log(res.data); @@ -17434,19 +11894,19 @@ export namespace securitycenter_v1 { export interface Params$Resource$Organizations$Attackpaths$List extends StandardParameters { /** - * The filter expression that filters the attack path in the response. Supported fields: * `valued_resources` supports = + * */ filter?: string; /** - * The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. + * */ pageSize?: number; /** - * The value returned by the last `ListAttackPathsResponse`; indicates that this is a continuation of a prior `ListAttackPaths` call, and that the system should return the next page of data. + * */ pageToken?: string; /** - * Required. Name of parent to list attack paths. Valid formats: `organizations/{organization\}`, `organizations/{organization\}/simulations/{simulation\}` `organizations/{organization\}/simulations/{simulation\}/attackExposureResults/{attack_exposure_result_v2\}` `organizations/{organization\}/simulations/{simulation\}/valuedResources/{valued_resource\}` + * */ parent?: string; } @@ -17458,7 +11918,6 @@ export namespace securitycenter_v1 { } /** - * Creates a BigQuery export. * @example * ```js * // Before running the sample: @@ -17488,9 +11947,8 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.organizations.bigQueryExports.create({ - * // Required. Unique identifier provided by the client within the parent scope. It must consist of only lowercase letters, numbers, and hyphens, must start with a letter, must end with either a letter or a number, and must be 63 characters or less. * bigQueryExportId: 'placeholder-value', - * // Required. The name of the parent resource of the new BigQuery export. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`. + * * parent: 'organizations/my-organization', * * // Request body metadata @@ -17630,7 +12088,6 @@ export namespace securitycenter_v1 { } /** - * Deletes an existing BigQuery export. * @example * ```js * // Before running the sample: @@ -17660,7 +12117,6 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.organizations.bigQueryExports.delete({ - * // Required. The name of the BigQuery export to delete. Its format is `organizations/{organization\}/bigQueryExports/{export_id\}`, `folders/{folder\}/bigQueryExports/{export_id\}`, or `projects/{project\}/bigQueryExports/{export_id\}` * name: 'organizations/my-organization/bigQueryExports/my-bigQueryExport', * }); * console.log(res.data); @@ -17763,7 +12219,6 @@ export namespace securitycenter_v1 { } /** - * Gets a BigQuery export. * @example * ```js * // Before running the sample: @@ -17793,7 +12248,6 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.organizations.bigQueryExports.get({ - * // Required. Name of the BigQuery export to retrieve. Its format is `organizations/{organization\}/bigQueryExports/{export_id\}`, `folders/{folder\}/bigQueryExports/{export_id\}`, or `projects/{project\}/bigQueryExports/{export_id\}` * name: 'organizations/my-organization/bigQueryExports/my-bigQueryExport', * }); * console.log(res.data); @@ -17915,7 +12369,6 @@ export namespace securitycenter_v1 { } /** - * Lists BigQuery exports. Note that when requesting BigQuery exports at a given level all exports under that level are also returned e.g. if requesting BigQuery exports under a folder, then all BigQuery exports immediately under the folder plus the ones created under the projects within the folder are returned. * @example * ```js * // Before running the sample: @@ -17945,11 +12398,10 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.organizations.bigQueryExports.list({ - * // The maximum number of configs to return. The service may return fewer than this value. If unspecified, at most 10 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. * pageSize: 'placeholder-value', - * // A page token, received from a previous `ListBigQueryExports` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListBigQueryExports` must match the call that provided the page token. + * * pageToken: 'placeholder-value', - * // Required. The parent, which owns the collection of BigQuery exports. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, `projects/[project_id]`. + * * parent: 'organizations/my-organization', * }); * console.log(res.data); @@ -18062,7 +12514,6 @@ export namespace securitycenter_v1 { } /** - * Updates a BigQuery export. * @example * ```js * // Before running the sample: @@ -18092,9 +12543,8 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.organizations.bigQueryExports.patch({ - * // The relative resource name of this export. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name. Example format: "organizations/{organization_id\}/bigQueryExports/{export_id\}" Example format: "folders/{folder_id\}/bigQueryExports/{export_id\}" Example format: "projects/{project_id\}/bigQueryExports/{export_id\}" This field is provided in responses, and is ignored when provided in create requests. * name: 'organizations/my-organization/bigQueryExports/my-bigQueryExport', - * // The list of fields to be updated. If empty all mutable fields will be updated. + * * updateMask: 'placeholder-value', * * // Request body metadata @@ -18233,11 +12683,11 @@ export namespace securitycenter_v1 { export interface Params$Resource$Organizations$Bigqueryexports$Create extends StandardParameters { /** - * Required. Unique identifier provided by the client within the parent scope. It must consist of only lowercase letters, numbers, and hyphens, must start with a letter, must end with either a letter or a number, and must be 63 characters or less. + * */ bigQueryExportId?: string; /** - * Required. The name of the parent resource of the new BigQuery export. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`. + * */ parent?: string; @@ -18248,37 +12698,37 @@ export namespace securitycenter_v1 { } export interface Params$Resource$Organizations$Bigqueryexports$Delete extends StandardParameters { /** - * Required. The name of the BigQuery export to delete. Its format is `organizations/{organization\}/bigQueryExports/{export_id\}`, `folders/{folder\}/bigQueryExports/{export_id\}`, or `projects/{project\}/bigQueryExports/{export_id\}` + * */ name?: string; } export interface Params$Resource$Organizations$Bigqueryexports$Get extends StandardParameters { /** - * Required. Name of the BigQuery export to retrieve. Its format is `organizations/{organization\}/bigQueryExports/{export_id\}`, `folders/{folder\}/bigQueryExports/{export_id\}`, or `projects/{project\}/bigQueryExports/{export_id\}` + * */ name?: string; } export interface Params$Resource$Organizations$Bigqueryexports$List extends StandardParameters { /** - * The maximum number of configs to return. The service may return fewer than this value. If unspecified, at most 10 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. + * */ pageSize?: number; /** - * A page token, received from a previous `ListBigQueryExports` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListBigQueryExports` must match the call that provided the page token. + * */ pageToken?: string; /** - * Required. The parent, which owns the collection of BigQuery exports. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, `projects/[project_id]`. + * */ parent?: string; } export interface Params$Resource$Organizations$Bigqueryexports$Patch extends StandardParameters { /** - * The relative resource name of this export. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name. Example format: "organizations/{organization_id\}/bigQueryExports/{export_id\}" Example format: "folders/{folder_id\}/bigQueryExports/{export_id\}" Example format: "projects/{project_id\}/bigQueryExports/{export_id\}" This field is provided in responses, and is ignored when provided in create requests. + * */ name?: string; /** - * The list of fields to be updated. If empty all mutable fields will be updated. + * */ updateMask?: string; @@ -18305,7 +12755,6 @@ export namespace securitycenter_v1 { } /** - * Validates the given Event Threat Detection custom module. * @example * ```js * // Before running the sample: @@ -18337,7 +12786,6 @@ export namespace securitycenter_v1 { * const res = * await securitycenter.organizations.eventThreatDetectionSettings.validateCustomModule( * { - * // Required. Resource name of the parent to validate the Custom Module under. Its format is: * `organizations/{organization\}/eventThreatDetectionSettings`. * `folders/{folder\}/eventThreatDetectionSettings`. * `projects/{project\}/eventThreatDetectionSettings`. * parent: 'organizations/my-organization/eventThreatDetectionSettings', * * // Request body metadata @@ -18468,7 +12916,7 @@ export namespace securitycenter_v1 { export interface Params$Resource$Organizations$Eventthreatdetectionsettings$Validatecustommodule extends StandardParameters { /** - * Required. Resource name of the parent to validate the Custom Module under. Its format is: * `organizations/{organization\}/eventThreatDetectionSettings`. * `folders/{folder\}/eventThreatDetectionSettings`. * `projects/{project\}/eventThreatDetectionSettings`. + * */ parent?: string; @@ -18485,7 +12933,6 @@ export namespace securitycenter_v1 { } /** - * Creates a resident Event Threat Detection custom module at the scope of the given Resource Manager parent, and also creates inherited custom modules for all descendants of the given parent. These modules are enabled by default. * @example * ```js * // Before running the sample: @@ -18517,7 +12964,6 @@ export namespace securitycenter_v1 { * const res = * await securitycenter.organizations.eventThreatDetectionSettings.customModules.create( * { - * // Required. The new custom module's parent. Its format is: * `organizations/{organization\}/eventThreatDetectionSettings`. * `folders/{folder\}/eventThreatDetectionSettings`. * `projects/{project\}/eventThreatDetectionSettings`. * parent: 'organizations/my-organization/eventThreatDetectionSettings', * * // Request body metadata @@ -18663,7 +13109,6 @@ export namespace securitycenter_v1 { } /** - * Deletes the specified Event Threat Detection custom module and all of its descendants in the Resource Manager hierarchy. This method is only supported for resident custom modules. * @example * ```js * // Before running the sample: @@ -18695,7 +13140,6 @@ export namespace securitycenter_v1 { * const res = * await securitycenter.organizations.eventThreatDetectionSettings.customModules.delete( * { - * // Required. Name of the custom module to delete. Its format is: * `organizations/{organization\}/eventThreatDetectionSettings/customModules/{module\}`. * `folders/{folder\}/eventThreatDetectionSettings/customModules/{module\}`. * `projects/{project\}/eventThreatDetectionSettings/customModules/{module\}`. * name: 'organizations/my-organization/eventThreatDetectionSettings/customModules/my-customModule', * }, * ); @@ -18800,7 +13244,6 @@ export namespace securitycenter_v1 { } /** - * Gets an Event Threat Detection custom module. * @example * ```js * // Before running the sample: @@ -18832,7 +13275,6 @@ export namespace securitycenter_v1 { * const res = * await securitycenter.organizations.eventThreatDetectionSettings.customModules.get( * { - * // Required. Name of the custom module to get. Its format is: * `organizations/{organization\}/eventThreatDetectionSettings/customModules/{module\}`. * `folders/{folder\}/eventThreatDetectionSettings/customModules/{module\}`. * `projects/{project\}/eventThreatDetectionSettings/customModules/{module\}`. * name: 'organizations/my-organization/eventThreatDetectionSettings/customModules/my-customModule', * }, * ); @@ -18958,7 +13400,6 @@ export namespace securitycenter_v1 { } /** - * Lists all Event Threat Detection custom modules for the given Resource Manager parent. This includes resident modules defined at the scope of the parent along with modules inherited from ancestors. * @example * ```js * // Before running the sample: @@ -18990,11 +13431,10 @@ export namespace securitycenter_v1 { * const res = * await securitycenter.organizations.eventThreatDetectionSettings.customModules.list( * { - * // The maximum number of modules to return. The service may return fewer than this value. If unspecified, at most 10 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. * pageSize: 'placeholder-value', - * // A page token, received from a previous `ListEventThreatDetectionCustomModules` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListEventThreatDetectionCustomModules` must match the call that provided the page token. + * * pageToken: 'placeholder-value', - * // Required. Name of the parent to list custom modules under. Its format is: * `organizations/{organization\}/eventThreatDetectionSettings`. * `folders/{folder\}/eventThreatDetectionSettings`. * `projects/{project\}/eventThreatDetectionSettings`. + * * parent: 'organizations/my-organization/eventThreatDetectionSettings', * }, * ); @@ -19115,7 +13555,6 @@ export namespace securitycenter_v1 { } /** - * Lists all resident Event Threat Detection custom modules under the given Resource Manager parent and its descendants. * @example * ```js * // Before running the sample: @@ -19147,11 +13586,10 @@ export namespace securitycenter_v1 { * const res = * await securitycenter.organizations.eventThreatDetectionSettings.customModules.listDescendant( * { - * // The maximum number of modules to return. The service may return fewer than this value. If unspecified, at most 10 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. * pageSize: 'placeholder-value', - * // A page token, received from a previous `ListDescendantEventThreatDetectionCustomModules` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListDescendantEventThreatDetectionCustomModules` must match the call that provided the page token. + * * pageToken: 'placeholder-value', - * // Required. Name of the parent to list custom modules under. Its format is: * `organizations/{organization\}/eventThreatDetectionSettings`. * `folders/{folder\}/eventThreatDetectionSettings`. * `projects/{project\}/eventThreatDetectionSettings`. + * * parent: 'organizations/my-organization/eventThreatDetectionSettings', * }, * ); @@ -19271,7 +13709,6 @@ export namespace securitycenter_v1 { } /** - * Updates the Event Threat Detection custom module with the given name based on the given update mask. Updating the enablement state is supported for both resident and inherited modules (though resident modules cannot have an enablement state of "inherited"). Updating the display name or configuration of a module is supported for resident modules only. The type of a module cannot be changed. * @example * ```js * // Before running the sample: @@ -19303,9 +13740,8 @@ export namespace securitycenter_v1 { * const res = * await securitycenter.organizations.eventThreatDetectionSettings.customModules.patch( * { - * // Immutable. The resource name of the Event Threat Detection custom module. Its format is: * `organizations/{organization\}/eventThreatDetectionSettings/customModules/{module\}`. * `folders/{folder\}/eventThreatDetectionSettings/customModules/{module\}`. * `projects/{project\}/eventThreatDetectionSettings/customModules/{module\}`. * name: 'organizations/my-organization/eventThreatDetectionSettings/customModules/my-customModule', - * // The list of fields to be updated. If empty all mutable fields will be updated. + * * updateMask: 'placeholder-value', * * // Request body metadata @@ -19450,7 +13886,7 @@ export namespace securitycenter_v1 { export interface Params$Resource$Organizations$Eventthreatdetectionsettings$Custommodules$Create extends StandardParameters { /** - * Required. The new custom module's parent. Its format is: * `organizations/{organization\}/eventThreatDetectionSettings`. * `folders/{folder\}/eventThreatDetectionSettings`. * `projects/{project\}/eventThreatDetectionSettings`. + * */ parent?: string; @@ -19461,51 +13897,51 @@ export namespace securitycenter_v1 { } export interface Params$Resource$Organizations$Eventthreatdetectionsettings$Custommodules$Delete extends StandardParameters { /** - * Required. Name of the custom module to delete. Its format is: * `organizations/{organization\}/eventThreatDetectionSettings/customModules/{module\}`. * `folders/{folder\}/eventThreatDetectionSettings/customModules/{module\}`. * `projects/{project\}/eventThreatDetectionSettings/customModules/{module\}`. + * */ name?: string; } export interface Params$Resource$Organizations$Eventthreatdetectionsettings$Custommodules$Get extends StandardParameters { /** - * Required. Name of the custom module to get. Its format is: * `organizations/{organization\}/eventThreatDetectionSettings/customModules/{module\}`. * `folders/{folder\}/eventThreatDetectionSettings/customModules/{module\}`. * `projects/{project\}/eventThreatDetectionSettings/customModules/{module\}`. + * */ name?: string; } export interface Params$Resource$Organizations$Eventthreatdetectionsettings$Custommodules$List extends StandardParameters { /** - * The maximum number of modules to return. The service may return fewer than this value. If unspecified, at most 10 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. + * */ pageSize?: number; /** - * A page token, received from a previous `ListEventThreatDetectionCustomModules` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListEventThreatDetectionCustomModules` must match the call that provided the page token. + * */ pageToken?: string; /** - * Required. Name of the parent to list custom modules under. Its format is: * `organizations/{organization\}/eventThreatDetectionSettings`. * `folders/{folder\}/eventThreatDetectionSettings`. * `projects/{project\}/eventThreatDetectionSettings`. + * */ parent?: string; } export interface Params$Resource$Organizations$Eventthreatdetectionsettings$Custommodules$Listdescendant extends StandardParameters { /** - * The maximum number of modules to return. The service may return fewer than this value. If unspecified, at most 10 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. + * */ pageSize?: number; /** - * A page token, received from a previous `ListDescendantEventThreatDetectionCustomModules` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListDescendantEventThreatDetectionCustomModules` must match the call that provided the page token. + * */ pageToken?: string; /** - * Required. Name of the parent to list custom modules under. Its format is: * `organizations/{organization\}/eventThreatDetectionSettings`. * `folders/{folder\}/eventThreatDetectionSettings`. * `projects/{project\}/eventThreatDetectionSettings`. + * */ parent?: string; } export interface Params$Resource$Organizations$Eventthreatdetectionsettings$Custommodules$Patch extends StandardParameters { /** - * Immutable. The resource name of the Event Threat Detection custom module. Its format is: * `organizations/{organization\}/eventThreatDetectionSettings/customModules/{module\}`. * `folders/{folder\}/eventThreatDetectionSettings/customModules/{module\}`. * `projects/{project\}/eventThreatDetectionSettings/customModules/{module\}`. + * */ name?: string; /** - * The list of fields to be updated. If empty all mutable fields will be updated. + * */ updateMask?: string; @@ -19522,7 +13958,6 @@ export namespace securitycenter_v1 { } /** - * Gets an effective Event Threat Detection custom module at the given level. * @example * ```js * // Before running the sample: @@ -19554,7 +13989,6 @@ export namespace securitycenter_v1 { * const res = * await securitycenter.organizations.eventThreatDetectionSettings.effectiveCustomModules.get( * { - * // Required. The resource name of the effective Event Threat Detection custom module. Its format is: * `organizations/{organization\}/eventThreatDetectionSettings/effectiveCustomModules/{module\}`. * `folders/{folder\}/eventThreatDetectionSettings/effectiveCustomModules/{module\}`. * `projects/{project\}/eventThreatDetectionSettings/effectiveCustomModules/{module\}`. * name: 'organizations/my-organization/eventThreatDetectionSettings/effectiveCustomModules/my-effectiveCustomModule', * }, * ); @@ -19677,7 +14111,6 @@ export namespace securitycenter_v1 { } /** - * Lists all effective Event Threat Detection custom modules for the given parent. This includes resident modules defined at the scope of the parent along with modules inherited from its ancestors. * @example * ```js * // Before running the sample: @@ -19709,11 +14142,10 @@ export namespace securitycenter_v1 { * const res = * await securitycenter.organizations.eventThreatDetectionSettings.effectiveCustomModules.list( * { - * // The maximum number of modules to return. The service may return fewer than this value. If unspecified, at most 10 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. * pageSize: 'placeholder-value', - * // A page token, received from a previous `ListEffectiveEventThreatDetectionCustomModules` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListEffectiveEventThreatDetectionCustomModules` must match the call that provided the page token. + * * pageToken: 'placeholder-value', - * // Required. Name of the parent to list custom modules for. Its format is: * `organizations/{organization\}/eventThreatDetectionSettings`. * `folders/{folder\}/eventThreatDetectionSettings`. * `projects/{project\}/eventThreatDetectionSettings`. + * * parent: 'organizations/my-organization/eventThreatDetectionSettings', * }, * ); @@ -19836,21 +14268,21 @@ export namespace securitycenter_v1 { export interface Params$Resource$Organizations$Eventthreatdetectionsettings$Effectivecustommodules$Get extends StandardParameters { /** - * Required. The resource name of the effective Event Threat Detection custom module. Its format is: * `organizations/{organization\}/eventThreatDetectionSettings/effectiveCustomModules/{module\}`. * `folders/{folder\}/eventThreatDetectionSettings/effectiveCustomModules/{module\}`. * `projects/{project\}/eventThreatDetectionSettings/effectiveCustomModules/{module\}`. + * */ name?: string; } export interface Params$Resource$Organizations$Eventthreatdetectionsettings$Effectivecustommodules$List extends StandardParameters { /** - * The maximum number of modules to return. The service may return fewer than this value. If unspecified, at most 10 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. + * */ pageSize?: number; /** - * A page token, received from a previous `ListEffectiveEventThreatDetectionCustomModules` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListEffectiveEventThreatDetectionCustomModules` must match the call that provided the page token. + * */ pageToken?: string; /** - * Required. Name of the parent to list custom modules for. Its format is: * `organizations/{organization\}/eventThreatDetectionSettings`. * `folders/{folder\}/eventThreatDetectionSettings`. * `projects/{project\}/eventThreatDetectionSettings`. + * */ parent?: string; } @@ -19862,7 +14294,6 @@ export namespace securitycenter_v1 { } /** - * Kicks off an LRO to bulk mute findings for a parent based on a filter. The parent can be either an organization, folder or project. The findings matched by the filter will be muted after the LRO is done. * @example * ```js * // Before running the sample: @@ -19892,7 +14323,6 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.organizations.findings.bulkMute({ - * // Required. The parent, at which bulk action needs to be applied. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, `projects/[project_id]`. * parent: 'organizations/my-organization', * * // Request body metadata @@ -20016,7 +14446,7 @@ export namespace securitycenter_v1 { export interface Params$Resource$Organizations$Findings$Bulkmute extends StandardParameters { /** - * Required. The parent, at which bulk action needs to be applied. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, `projects/[project_id]`. + * */ parent?: string; @@ -20044,7 +14474,6 @@ export namespace securitycenter_v1 { } /** - * Deletes an existing mute config. * @example * ```js * // Before running the sample: @@ -20074,7 +14503,6 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.organizations.locations.muteConfigs.delete({ - * // Required. Name of the mute config to delete. Its format is `organizations/{organization\}/muteConfigs/{config_id\}`, `folders/{folder\}/muteConfigs/{config_id\}`, `projects/{project\}/muteConfigs/{config_id\}`, `organizations/{organization\}/locations/global/muteConfigs/{config_id\}`, `folders/{folder\}/locations/global/muteConfigs/{config_id\}`, or `projects/{project\}/locations/global/muteConfigs/{config_id\}`. * name: 'organizations/my-organization/locations/my-location/muteConfigs/my-muteConfig', * }); * console.log(res.data); @@ -20178,7 +14606,6 @@ export namespace securitycenter_v1 { } /** - * Gets a mute config. * @example * ```js * // Before running the sample: @@ -20208,7 +14635,6 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.organizations.locations.muteConfigs.get({ - * // Required. Name of the mute config to retrieve. Its format is `organizations/{organization\}/muteConfigs/{config_id\}`, `folders/{folder\}/muteConfigs/{config_id\}`, `projects/{project\}/muteConfigs/{config_id\}`, `organizations/{organization\}/locations/global/muteConfigs/{config_id\}`, `folders/{folder\}/locations/global/muteConfigs/{config_id\}`, or `projects/{project\}/locations/global/muteConfigs/{config_id\}`. * name: 'organizations/my-organization/locations/my-location/muteConfigs/my-muteConfig', * }); * console.log(res.data); @@ -20331,7 +14757,6 @@ export namespace securitycenter_v1 { } /** - * Updates a mute config. * @example * ```js * // Before running the sample: @@ -20361,9 +14786,8 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.organizations.locations.muteConfigs.patch({ - * // This field will be ignored if provided on config creation. Format `organizations/{organization\}/muteConfigs/{mute_config\}` `folders/{folder\}/muteConfigs/{mute_config\}` `projects/{project\}/muteConfigs/{mute_config\}` `organizations/{organization\}/locations/global/muteConfigs/{mute_config\}` `folders/{folder\}/locations/global/muteConfigs/{mute_config\}` `projects/{project\}/locations/global/muteConfigs/{mute_config\}` * name: 'organizations/my-organization/locations/my-location/muteConfigs/my-muteConfig', - * // The list of fields to be updated. If empty all mutable fields will be updated. + * * updateMask: 'placeholder-value', * * // Request body metadata @@ -20505,23 +14929,23 @@ export namespace securitycenter_v1 { export interface Params$Resource$Organizations$Locations$Muteconfigs$Delete extends StandardParameters { /** - * Required. Name of the mute config to delete. Its format is `organizations/{organization\}/muteConfigs/{config_id\}`, `folders/{folder\}/muteConfigs/{config_id\}`, `projects/{project\}/muteConfigs/{config_id\}`, `organizations/{organization\}/locations/global/muteConfigs/{config_id\}`, `folders/{folder\}/locations/global/muteConfigs/{config_id\}`, or `projects/{project\}/locations/global/muteConfigs/{config_id\}`. + * */ name?: string; } export interface Params$Resource$Organizations$Locations$Muteconfigs$Get extends StandardParameters { /** - * Required. Name of the mute config to retrieve. Its format is `organizations/{organization\}/muteConfigs/{config_id\}`, `folders/{folder\}/muteConfigs/{config_id\}`, `projects/{project\}/muteConfigs/{config_id\}`, `organizations/{organization\}/locations/global/muteConfigs/{config_id\}`, `folders/{folder\}/locations/global/muteConfigs/{config_id\}`, or `projects/{project\}/locations/global/muteConfigs/{config_id\}`. + * */ name?: string; } export interface Params$Resource$Organizations$Locations$Muteconfigs$Patch extends StandardParameters { /** - * This field will be ignored if provided on config creation. Format `organizations/{organization\}/muteConfigs/{mute_config\}` `folders/{folder\}/muteConfigs/{mute_config\}` `projects/{project\}/muteConfigs/{mute_config\}` `organizations/{organization\}/locations/global/muteConfigs/{mute_config\}` `folders/{folder\}/locations/global/muteConfigs/{mute_config\}` `projects/{project\}/locations/global/muteConfigs/{mute_config\}` + * */ name?: string; /** - * The list of fields to be updated. If empty all mutable fields will be updated. + * */ updateMask?: string; @@ -20538,7 +14962,6 @@ export namespace securitycenter_v1 { } /** - * Creates a mute config. * @example * ```js * // Before running the sample: @@ -20568,9 +14991,8 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.organizations.muteConfigs.create({ - * // Required. Unique identifier provided by the client within the parent scope. It must consist of only lowercase letters, numbers, and hyphens, must start with a letter, must end with either a letter or a number, and must be 63 characters or less. * muteConfigId: 'placeholder-value', - * // Required. Resource name of the new mute configs's parent. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`. + * * parent: 'organizations/my-organization', * * // Request body metadata @@ -20712,7 +15134,6 @@ export namespace securitycenter_v1 { } /** - * Deletes an existing mute config. * @example * ```js * // Before running the sample: @@ -20742,7 +15163,6 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.organizations.muteConfigs.delete({ - * // Required. Name of the mute config to delete. Its format is `organizations/{organization\}/muteConfigs/{config_id\}`, `folders/{folder\}/muteConfigs/{config_id\}`, `projects/{project\}/muteConfigs/{config_id\}`, `organizations/{organization\}/locations/global/muteConfigs/{config_id\}`, `folders/{folder\}/locations/global/muteConfigs/{config_id\}`, or `projects/{project\}/locations/global/muteConfigs/{config_id\}`. * name: 'organizations/my-organization/muteConfigs/my-muteConfig', * }); * console.log(res.data); @@ -20845,7 +15265,6 @@ export namespace securitycenter_v1 { } /** - * Gets a mute config. * @example * ```js * // Before running the sample: @@ -20875,7 +15294,6 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.organizations.muteConfigs.get({ - * // Required. Name of the mute config to retrieve. Its format is `organizations/{organization\}/muteConfigs/{config_id\}`, `folders/{folder\}/muteConfigs/{config_id\}`, `projects/{project\}/muteConfigs/{config_id\}`, `organizations/{organization\}/locations/global/muteConfigs/{config_id\}`, `folders/{folder\}/locations/global/muteConfigs/{config_id\}`, or `projects/{project\}/locations/global/muteConfigs/{config_id\}`. * name: 'organizations/my-organization/muteConfigs/my-muteConfig', * }); * console.log(res.data); @@ -20998,7 +15416,6 @@ export namespace securitycenter_v1 { } /** - * Lists mute configs. * @example * ```js * // Before running the sample: @@ -21028,11 +15445,10 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.organizations.muteConfigs.list({ - * // The maximum number of configs to return. The service may return fewer than this value. If unspecified, at most 10 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. * pageSize: 'placeholder-value', - * // A page token, received from a previous `ListMuteConfigs` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListMuteConfigs` must match the call that provided the page token. + * * pageToken: 'placeholder-value', - * // Required. The parent, which owns the collection of mute configs. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, `projects/[project_id]`. + * * parent: 'organizations/my-organization', * }); * console.log(res.data); @@ -21143,7 +15559,6 @@ export namespace securitycenter_v1 { } /** - * Updates a mute config. * @example * ```js * // Before running the sample: @@ -21173,9 +15588,8 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.organizations.muteConfigs.patch({ - * // This field will be ignored if provided on config creation. Format `organizations/{organization\}/muteConfigs/{mute_config\}` `folders/{folder\}/muteConfigs/{mute_config\}` `projects/{project\}/muteConfigs/{mute_config\}` `organizations/{organization\}/locations/global/muteConfigs/{mute_config\}` `folders/{folder\}/locations/global/muteConfigs/{mute_config\}` `projects/{project\}/locations/global/muteConfigs/{mute_config\}` * name: 'organizations/my-organization/muteConfigs/my-muteConfig', - * // The list of fields to be updated. If empty all mutable fields will be updated. + * * updateMask: 'placeholder-value', * * // Request body metadata @@ -21316,11 +15730,11 @@ export namespace securitycenter_v1 { export interface Params$Resource$Organizations$Muteconfigs$Create extends StandardParameters { /** - * Required. Unique identifier provided by the client within the parent scope. It must consist of only lowercase letters, numbers, and hyphens, must start with a letter, must end with either a letter or a number, and must be 63 characters or less. + * */ muteConfigId?: string; /** - * Required. Resource name of the new mute configs's parent. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`. + * */ parent?: string; @@ -21331,37 +15745,37 @@ export namespace securitycenter_v1 { } export interface Params$Resource$Organizations$Muteconfigs$Delete extends StandardParameters { /** - * Required. Name of the mute config to delete. Its format is `organizations/{organization\}/muteConfigs/{config_id\}`, `folders/{folder\}/muteConfigs/{config_id\}`, `projects/{project\}/muteConfigs/{config_id\}`, `organizations/{organization\}/locations/global/muteConfigs/{config_id\}`, `folders/{folder\}/locations/global/muteConfigs/{config_id\}`, or `projects/{project\}/locations/global/muteConfigs/{config_id\}`. + * */ name?: string; } export interface Params$Resource$Organizations$Muteconfigs$Get extends StandardParameters { /** - * Required. Name of the mute config to retrieve. Its format is `organizations/{organization\}/muteConfigs/{config_id\}`, `folders/{folder\}/muteConfigs/{config_id\}`, `projects/{project\}/muteConfigs/{config_id\}`, `organizations/{organization\}/locations/global/muteConfigs/{config_id\}`, `folders/{folder\}/locations/global/muteConfigs/{config_id\}`, or `projects/{project\}/locations/global/muteConfigs/{config_id\}`. + * */ name?: string; } export interface Params$Resource$Organizations$Muteconfigs$List extends StandardParameters { /** - * The maximum number of configs to return. The service may return fewer than this value. If unspecified, at most 10 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. + * */ pageSize?: number; /** - * A page token, received from a previous `ListMuteConfigs` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListMuteConfigs` must match the call that provided the page token. + * */ pageToken?: string; /** - * Required. The parent, which owns the collection of mute configs. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, `projects/[project_id]`. + * */ parent?: string; } export interface Params$Resource$Organizations$Muteconfigs$Patch extends StandardParameters { /** - * This field will be ignored if provided on config creation. Format `organizations/{organization\}/muteConfigs/{mute_config\}` `folders/{folder\}/muteConfigs/{mute_config\}` `projects/{project\}/muteConfigs/{mute_config\}` `organizations/{organization\}/locations/global/muteConfigs/{mute_config\}` `folders/{folder\}/locations/global/muteConfigs/{mute_config\}` `projects/{project\}/locations/global/muteConfigs/{mute_config\}` + * */ name?: string; /** - * The list of fields to be updated. If empty all mutable fields will be updated. + * */ updateMask?: string; @@ -21378,7 +15792,6 @@ export namespace securitycenter_v1 { } /** - * Creates a notification config. * @example * ```js * // Before running the sample: @@ -21408,9 +15821,8 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.organizations.notificationConfigs.create({ - * // Required. Unique identifier provided by the client within the parent scope. It must be between 1 and 128 characters and contain alphanumeric characters, underscores, or hyphens only. * configId: 'placeholder-value', - * // Required. Resource name of the new notification config's parent. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`. + * * parent: 'organizations/my-organization', * * // Request body metadata @@ -21534,7 +15946,6 @@ export namespace securitycenter_v1 { } /** - * Deletes a notification config. * @example * ```js * // Before running the sample: @@ -21564,7 +15975,6 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.organizations.notificationConfigs.delete({ - * // Required. Name of the notification config to delete. Its format is `organizations/[organization_id]/notificationConfigs/[config_id]`, `folders/[folder_id]/notificationConfigs/[config_id]`, or `projects/[project_id]/notificationConfigs/[config_id]`. * name: 'organizations/my-organization/notificationConfigs/my-notificationConfig', * }); * console.log(res.data); @@ -21667,7 +16077,6 @@ export namespace securitycenter_v1 { } /** - * Gets a notification config. * @example * ```js * // Before running the sample: @@ -21697,7 +16106,6 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.organizations.notificationConfigs.get({ - * // Required. Name of the notification config to get. Its format is `organizations/[organization_id]/notificationConfigs/[config_id]`, `folders/[folder_id]/notificationConfigs/[config_id]`, or `projects/[project_id]/notificationConfigs/[config_id]`. * name: 'organizations/my-organization/notificationConfigs/my-notificationConfig', * }); * console.log(res.data); @@ -21806,7 +16214,6 @@ export namespace securitycenter_v1 { } /** - * Lists notification configs. * @example * ```js * // Before running the sample: @@ -21836,11 +16243,10 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.organizations.notificationConfigs.list({ - * // The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. * pageSize: 'placeholder-value', - * // The value returned by the last `ListNotificationConfigsResponse`; indicates that this is a continuation of a prior `ListNotificationConfigs` call, and that the system should return the next page of data. + * * pageToken: 'placeholder-value', - * // Required. The name of the parent in which to list the notification configurations. Its format is "organizations/[organization_id]", "folders/[folder_id]", or "projects/[project_id]". + * * parent: 'organizations/my-organization', * }); * console.log(res.data); @@ -21955,7 +16361,6 @@ export namespace securitycenter_v1 { } /** - * Updates a notification config. The following update fields are allowed: description, pubsub_topic, streaming_config.filter * @example * ```js * // Before running the sample: @@ -21985,9 +16390,8 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.organizations.notificationConfigs.patch({ - * // The relative resource name of this notification config. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id\}/notificationConfigs/notify_public_bucket", "folders/{folder_id\}/notificationConfigs/notify_public_bucket", or "projects/{project_id\}/notificationConfigs/notify_public_bucket". * name: 'organizations/my-organization/notificationConfigs/my-notificationConfig', - * // The FieldMask to use when updating the notification config. If empty all mutable fields will be updated. + * * updateMask: 'placeholder-value', * * // Request body metadata @@ -22110,11 +16514,11 @@ export namespace securitycenter_v1 { export interface Params$Resource$Organizations$Notificationconfigs$Create extends StandardParameters { /** - * Required. Unique identifier provided by the client within the parent scope. It must be between 1 and 128 characters and contain alphanumeric characters, underscores, or hyphens only. + * */ configId?: string; /** - * Required. Resource name of the new notification config's parent. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`. + * */ parent?: string; @@ -22125,37 +16529,37 @@ export namespace securitycenter_v1 { } export interface Params$Resource$Organizations$Notificationconfigs$Delete extends StandardParameters { /** - * Required. Name of the notification config to delete. Its format is `organizations/[organization_id]/notificationConfigs/[config_id]`, `folders/[folder_id]/notificationConfigs/[config_id]`, or `projects/[project_id]/notificationConfigs/[config_id]`. + * */ name?: string; } export interface Params$Resource$Organizations$Notificationconfigs$Get extends StandardParameters { /** - * Required. Name of the notification config to get. Its format is `organizations/[organization_id]/notificationConfigs/[config_id]`, `folders/[folder_id]/notificationConfigs/[config_id]`, or `projects/[project_id]/notificationConfigs/[config_id]`. + * */ name?: string; } export interface Params$Resource$Organizations$Notificationconfigs$List extends StandardParameters { /** - * The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. + * */ pageSize?: number; /** - * The value returned by the last `ListNotificationConfigsResponse`; indicates that this is a continuation of a prior `ListNotificationConfigs` call, and that the system should return the next page of data. + * */ pageToken?: string; /** - * Required. The name of the parent in which to list the notification configurations. Its format is "organizations/[organization_id]", "folders/[folder_id]", or "projects/[project_id]". + * */ parent?: string; } export interface Params$Resource$Organizations$Notificationconfigs$Patch extends StandardParameters { /** - * The relative resource name of this notification config. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id\}/notificationConfigs/notify_public_bucket", "folders/{folder_id\}/notificationConfigs/notify_public_bucket", or "projects/{project_id\}/notificationConfigs/notify_public_bucket". + * */ name?: string; /** - * The FieldMask to use when updating the notification config. If empty all mutable fields will be updated. + * */ updateMask?: string; @@ -22172,7 +16576,6 @@ export namespace securitycenter_v1 { } /** - * 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`. * @example * ```js * // Before running the sample: @@ -22202,7 +16605,6 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.organizations.operations.cancel({ - * // The name of the operation resource to be cancelled. * name: 'organizations/my-organization/operations/my-operation', * }); * console.log(res.data); @@ -22305,7 +16707,6 @@ export namespace securitycenter_v1 { } /** - * 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`. * @example * ```js * // Before running the sample: @@ -22335,7 +16736,6 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.organizations.operations.delete({ - * // The name of the operation resource to be deleted. * name: 'organizations/my-organization/operations/my-operation', * }); * console.log(res.data); @@ -22438,7 +16838,6 @@ export namespace securitycenter_v1 { } /** - * 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. * @example * ```js * // Before running the sample: @@ -22468,7 +16867,6 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.organizations.operations.get({ - * // The name of the operation resource. * name: 'organizations/my-organization/operations/my-operation', * }); * console.log(res.data); @@ -22577,7 +16975,6 @@ export namespace securitycenter_v1 { } /** - * Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. * @example * ```js * // Before running the sample: @@ -22607,15 +17004,14 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.organizations.operations.list({ - * // The standard list filter. * filter: 'placeholder-value', - * // The name of the operation's parent resource. + * * name: 'organizations/my-organization/operations', - * // The standard list page size. + * * pageSize: 'placeholder-value', - * // The standard list page token. + * * pageToken: 'placeholder-value', - * // When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `"projects/example/locations/-"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation. + * * returnPartialSuccess: 'placeholder-value', * }); * console.log(res.data); @@ -22726,41 +17122,41 @@ export namespace securitycenter_v1 { export interface Params$Resource$Organizations$Operations$Cancel extends StandardParameters { /** - * The name of the operation resource to be cancelled. + * */ name?: string; } export interface Params$Resource$Organizations$Operations$Delete extends StandardParameters { /** - * The name of the operation resource to be deleted. + * */ name?: string; } export interface Params$Resource$Organizations$Operations$Get extends StandardParameters { /** - * The name of the operation resource. + * */ name?: string; } export interface Params$Resource$Organizations$Operations$List extends StandardParameters { /** - * The standard list filter. + * */ filter?: string; /** - * The name of the operation's parent resource. + * */ name?: string; /** - * The standard list page size. + * */ pageSize?: number; /** - * The standard list page token. + * */ pageToken?: string; /** - * When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `"projects/example/locations/-"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation. + * */ returnPartialSuccess?: boolean; } @@ -22772,7 +17168,6 @@ export namespace securitycenter_v1 { } /** - * Creates a ResourceValueConfig for an organization. Maps user's tags to difference resource values for use by the attack path simulation. * @example * ```js * // Before running the sample: @@ -22803,7 +17198,6 @@ export namespace securitycenter_v1 { * // Do the magic * const res = * await securitycenter.organizations.resourceValueConfigs.batchCreate({ - * // Required. Resource name of the new ResourceValueConfig's parent. The parent field in the CreateResourceValueConfigRequest messages must either be empty or match this field. * parent: 'organizations/my-organization', * * // Request body metadata @@ -22929,7 +17323,6 @@ export namespace securitycenter_v1 { } /** - * Deletes a ResourceValueConfig. * @example * ```js * // Before running the sample: @@ -22959,7 +17352,6 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.organizations.resourceValueConfigs.delete({ - * // Required. Name of the ResourceValueConfig to delete * name: 'organizations/my-organization/resourceValueConfigs/my-resourceValueConfig', * }); * console.log(res.data); @@ -23063,7 +17455,6 @@ export namespace securitycenter_v1 { } /** - * Gets a ResourceValueConfig. * @example * ```js * // Before running the sample: @@ -23093,7 +17484,6 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.organizations.resourceValueConfigs.get({ - * // Required. Name of the resource value config to retrieve. Its format is `organizations/{organization\}/resourceValueConfigs/{config_id\}`. * name: 'organizations/my-organization/resourceValueConfigs/my-resourceValueConfig', * }); * console.log(res.data); @@ -23218,7 +17608,6 @@ export namespace securitycenter_v1 { } /** - * Lists all ResourceValueConfigs. * @example * ```js * // Before running the sample: @@ -23248,11 +17637,10 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.organizations.resourceValueConfigs.list({ - * // The number of results to return. The service may return fewer than this value. If unspecified, at most 10 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. * pageSize: 'placeholder-value', - * // A page token, received from a previous `ListResourceValueConfigs` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListResourceValueConfigs` must match the call that provided the page token. page_size can be specified, and the new page_size will be used. + * * pageToken: 'placeholder-value', - * // Required. The parent, which owns the collection of resource value configs. Its format is `organizations/[organization_id]` + * * parent: 'organizations/my-organization', * }); * console.log(res.data); @@ -23371,7 +17759,6 @@ export namespace securitycenter_v1 { } /** - * Updates an existing ResourceValueConfigs with new rules. * @example * ```js * // Before running the sample: @@ -23401,9 +17788,8 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.organizations.resourceValueConfigs.patch({ - * // Name for the resource value configuration * name: 'organizations/my-organization/resourceValueConfigs/my-resourceValueConfig', - * // The list of fields to be updated. If empty all mutable fields will be updated. + * * updateMask: 'placeholder-value', * * // Request body metadata @@ -23548,7 +17934,7 @@ export namespace securitycenter_v1 { export interface Params$Resource$Organizations$Resourcevalueconfigs$Batchcreate extends StandardParameters { /** - * Required. Resource name of the new ResourceValueConfig's parent. The parent field in the CreateResourceValueConfigRequest messages must either be empty or match this field. + * */ parent?: string; @@ -23559,37 +17945,37 @@ export namespace securitycenter_v1 { } export interface Params$Resource$Organizations$Resourcevalueconfigs$Delete extends StandardParameters { /** - * Required. Name of the ResourceValueConfig to delete + * */ name?: string; } export interface Params$Resource$Organizations$Resourcevalueconfigs$Get extends StandardParameters { /** - * Required. Name of the resource value config to retrieve. Its format is `organizations/{organization\}/resourceValueConfigs/{config_id\}`. + * */ name?: string; } export interface Params$Resource$Organizations$Resourcevalueconfigs$List extends StandardParameters { /** - * The number of results to return. The service may return fewer than this value. If unspecified, at most 10 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. + * */ pageSize?: number; /** - * A page token, received from a previous `ListResourceValueConfigs` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListResourceValueConfigs` must match the call that provided the page token. page_size can be specified, and the new page_size will be used. + * */ pageToken?: string; /** - * Required. The parent, which owns the collection of resource value configs. Its format is `organizations/[organization_id]` + * */ parent?: string; } export interface Params$Resource$Organizations$Resourcevalueconfigs$Patch extends StandardParameters { /** - * Name for the resource value configuration + * */ name?: string; /** - * The list of fields to be updated. If empty all mutable fields will be updated. + * */ updateMask?: string; @@ -23623,7 +18009,6 @@ export namespace securitycenter_v1 { } /** - * Creates a resident SecurityHealthAnalyticsCustomModule at the scope of the given CRM parent, and also creates inherited SecurityHealthAnalyticsCustomModules for all CRM descendants of the given parent. These modules are enabled by default. * @example * ```js * // Before running the sample: @@ -23655,7 +18040,6 @@ export namespace securitycenter_v1 { * const res = * await securitycenter.organizations.securityHealthAnalyticsSettings.customModules.create( * { - * // Required. Resource name of the new custom module's parent. Its format is `organizations/{organization\}/securityHealthAnalyticsSettings`, `folders/{folder\}/securityHealthAnalyticsSettings`, or `projects/{project\}/securityHealthAnalyticsSettings` * parent: 'organizations/my-organization/securityHealthAnalyticsSettings', * * // Request body metadata @@ -23797,7 +18181,6 @@ export namespace securitycenter_v1 { } /** - * Deletes the specified SecurityHealthAnalyticsCustomModule and all of its descendants in the CRM hierarchy. This method is only supported for resident custom modules. * @example * ```js * // Before running the sample: @@ -23829,7 +18212,6 @@ export namespace securitycenter_v1 { * const res = * await securitycenter.organizations.securityHealthAnalyticsSettings.customModules.delete( * { - * // Required. Name of the custom module to delete. Its format is `organizations/{organization\}/securityHealthAnalyticsSettings/customModules/{customModule\}`, `folders/{folder\}/securityHealthAnalyticsSettings/customModules/{customModule\}`, or `projects/{project\}/securityHealthAnalyticsSettings/customModules/{customModule\}` * name: 'organizations/my-organization/securityHealthAnalyticsSettings/customModules/my-customModule', * }, * ); @@ -23934,7 +18316,6 @@ export namespace securitycenter_v1 { } /** - * Retrieves a SecurityHealthAnalyticsCustomModule. * @example * ```js * // Before running the sample: @@ -23966,7 +18347,6 @@ export namespace securitycenter_v1 { * const res = * await securitycenter.organizations.securityHealthAnalyticsSettings.customModules.get( * { - * // Required. Name of the custom module to get. Its format is `organizations/{organization\}/securityHealthAnalyticsSettings/customModules/{customModule\}`, `folders/{folder\}/securityHealthAnalyticsSettings/customModules/{customModule\}`, or `projects/{project\}/securityHealthAnalyticsSettings/customModules/{customModule\}` * name: 'organizations/my-organization/securityHealthAnalyticsSettings/customModules/my-customModule', * }, * ); @@ -24090,7 +18470,6 @@ export namespace securitycenter_v1 { } /** - * Returns a list of all SecurityHealthAnalyticsCustomModules for the given parent. This includes resident modules defined at the scope of the parent, and inherited modules, inherited from CRM ancestors. * @example * ```js * // Before running the sample: @@ -24122,11 +18501,10 @@ export namespace securitycenter_v1 { * const res = * await securitycenter.organizations.securityHealthAnalyticsSettings.customModules.list( * { - * // The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. * pageSize: 'placeholder-value', - * // The value returned by the last call indicating a continuation + * * pageToken: 'placeholder-value', - * // Required. Name of parent to list custom modules. Its format is `organizations/{organization\}/securityHealthAnalyticsSettings`, `folders/{folder\}/securityHealthAnalyticsSettings`, or `projects/{project\}/securityHealthAnalyticsSettings` + * * parent: 'organizations/my-organization/securityHealthAnalyticsSettings', * }, * ); @@ -24247,7 +18625,6 @@ export namespace securitycenter_v1 { } /** - * Returns a list of all resident SecurityHealthAnalyticsCustomModules under the given CRM parent and all of the parent’s CRM descendants. * @example * ```js * // Before running the sample: @@ -24279,11 +18656,10 @@ export namespace securitycenter_v1 { * const res = * await securitycenter.organizations.securityHealthAnalyticsSettings.customModules.listDescendant( * { - * // The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. * pageSize: 'placeholder-value', - * // The value returned by the last call indicating a continuation + * * pageToken: 'placeholder-value', - * // Required. Name of parent to list descendant custom modules. Its format is `organizations/{organization\}/securityHealthAnalyticsSettings`, `folders/{folder\}/securityHealthAnalyticsSettings`, or `projects/{project\}/securityHealthAnalyticsSettings` + * * parent: 'organizations/my-organization/securityHealthAnalyticsSettings', * }, * ); @@ -24403,7 +18779,6 @@ export namespace securitycenter_v1 { } /** - * Updates the SecurityHealthAnalyticsCustomModule under the given name based on the given update mask. Updating the enablement state is supported on both resident and inherited modules (though resident modules cannot have an enablement state of "inherited"). Updating the display name and custom config of a module is supported on resident modules only. * @example * ```js * // Before running the sample: @@ -24435,9 +18810,8 @@ export namespace securitycenter_v1 { * const res = * await securitycenter.organizations.securityHealthAnalyticsSettings.customModules.patch( * { - * // Immutable. The resource name of the custom module. Its format is "organizations/{organization\}/securityHealthAnalyticsSettings/customModules/{customModule\}", or "folders/{folder\}/securityHealthAnalyticsSettings/customModules/{customModule\}", or "projects/{project\}/securityHealthAnalyticsSettings/customModules/{customModule\}" The id {customModule\} is server-generated and is not user settable. It will be a numeric id containing 1-20 digits. * name: 'organizations/my-organization/securityHealthAnalyticsSettings/customModules/my-customModule', - * // The list of fields to be updated. The only fields that can be updated are `enablement_state` and `custom_config`. If empty or set to the wildcard value `*`, both `enablement_state` and `custom_config` are updated. + * * updateMask: 'placeholder-value', * * // Request body metadata @@ -24576,7 +18950,6 @@ export namespace securitycenter_v1 { } /** - * Simulates a given SecurityHealthAnalyticsCustomModule and Resource. * @example * ```js * // Before running the sample: @@ -24608,7 +18981,6 @@ export namespace securitycenter_v1 { * const res = * await securitycenter.organizations.securityHealthAnalyticsSettings.customModules.simulate( * { - * // Required. The relative resource name of the organization, project, or folder. For more information about relative resource names, see [Relative Resource Name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) Example: `organizations/{organization_id\}` * parent: 'organizations/my-organization/securityHealthAnalyticsSettings', * * // Request body metadata @@ -24739,7 +19111,7 @@ export namespace securitycenter_v1 { export interface Params$Resource$Organizations$Securityhealthanalyticssettings$Custommodules$Create extends StandardParameters { /** - * Required. Resource name of the new custom module's parent. Its format is `organizations/{organization\}/securityHealthAnalyticsSettings`, `folders/{folder\}/securityHealthAnalyticsSettings`, or `projects/{project\}/securityHealthAnalyticsSettings` + * */ parent?: string; @@ -24750,51 +19122,51 @@ export namespace securitycenter_v1 { } export interface Params$Resource$Organizations$Securityhealthanalyticssettings$Custommodules$Delete extends StandardParameters { /** - * Required. Name of the custom module to delete. Its format is `organizations/{organization\}/securityHealthAnalyticsSettings/customModules/{customModule\}`, `folders/{folder\}/securityHealthAnalyticsSettings/customModules/{customModule\}`, or `projects/{project\}/securityHealthAnalyticsSettings/customModules/{customModule\}` + * */ name?: string; } export interface Params$Resource$Organizations$Securityhealthanalyticssettings$Custommodules$Get extends StandardParameters { /** - * Required. Name of the custom module to get. Its format is `organizations/{organization\}/securityHealthAnalyticsSettings/customModules/{customModule\}`, `folders/{folder\}/securityHealthAnalyticsSettings/customModules/{customModule\}`, or `projects/{project\}/securityHealthAnalyticsSettings/customModules/{customModule\}` + * */ name?: string; } export interface Params$Resource$Organizations$Securityhealthanalyticssettings$Custommodules$List extends StandardParameters { /** - * The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. + * */ pageSize?: number; /** - * The value returned by the last call indicating a continuation + * */ pageToken?: string; /** - * Required. Name of parent to list custom modules. Its format is `organizations/{organization\}/securityHealthAnalyticsSettings`, `folders/{folder\}/securityHealthAnalyticsSettings`, or `projects/{project\}/securityHealthAnalyticsSettings` + * */ parent?: string; } export interface Params$Resource$Organizations$Securityhealthanalyticssettings$Custommodules$Listdescendant extends StandardParameters { /** - * The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. + * */ pageSize?: number; /** - * The value returned by the last call indicating a continuation + * */ pageToken?: string; /** - * Required. Name of parent to list descendant custom modules. Its format is `organizations/{organization\}/securityHealthAnalyticsSettings`, `folders/{folder\}/securityHealthAnalyticsSettings`, or `projects/{project\}/securityHealthAnalyticsSettings` + * */ parent?: string; } export interface Params$Resource$Organizations$Securityhealthanalyticssettings$Custommodules$Patch extends StandardParameters { /** - * Immutable. The resource name of the custom module. Its format is "organizations/{organization\}/securityHealthAnalyticsSettings/customModules/{customModule\}", or "folders/{folder\}/securityHealthAnalyticsSettings/customModules/{customModule\}", or "projects/{project\}/securityHealthAnalyticsSettings/customModules/{customModule\}" The id {customModule\} is server-generated and is not user settable. It will be a numeric id containing 1-20 digits. + * */ name?: string; /** - * The list of fields to be updated. The only fields that can be updated are `enablement_state` and `custom_config`. If empty or set to the wildcard value `*`, both `enablement_state` and `custom_config` are updated. + * */ updateMask?: string; @@ -24805,7 +19177,7 @@ export namespace securitycenter_v1 { } export interface Params$Resource$Organizations$Securityhealthanalyticssettings$Custommodules$Simulate extends StandardParameters { /** - * Required. The relative resource name of the organization, project, or folder. For more information about relative resource names, see [Relative Resource Name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) Example: `organizations/{organization_id\}` + * */ parent?: string; @@ -24822,7 +19194,6 @@ export namespace securitycenter_v1 { } /** - * Retrieves an EffectiveSecurityHealthAnalyticsCustomModule. * @example * ```js * // Before running the sample: @@ -24854,7 +19225,6 @@ export namespace securitycenter_v1 { * const res = * await securitycenter.organizations.securityHealthAnalyticsSettings.effectiveCustomModules.get( * { - * // Required. Name of the effective custom module to get. Its format is `organizations/{organization\}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule\}`, `folders/{folder\}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule\}`, or `projects/{project\}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule\}` * name: 'organizations/my-organization/securityHealthAnalyticsSettings/effectiveCustomModules/my-effectiveCustomModule', * }, * ); @@ -24975,7 +19345,6 @@ export namespace securitycenter_v1 { } /** - * Returns a list of all EffectiveSecurityHealthAnalyticsCustomModules for the given parent. This includes resident modules defined at the scope of the parent, and inherited modules, inherited from CRM ancestors. * @example * ```js * // Before running the sample: @@ -25007,11 +19376,10 @@ export namespace securitycenter_v1 { * const res = * await securitycenter.organizations.securityHealthAnalyticsSettings.effectiveCustomModules.list( * { - * // The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. * pageSize: 'placeholder-value', - * // The value returned by the last call indicating a continuation + * * pageToken: 'placeholder-value', - * // Required. Name of parent to list effective custom modules. Its format is `organizations/{organization\}/securityHealthAnalyticsSettings`, `folders/{folder\}/securityHealthAnalyticsSettings`, or `projects/{project\}/securityHealthAnalyticsSettings` + * * parent: 'organizations/my-organization/securityHealthAnalyticsSettings', * }, * ); @@ -25134,21 +19502,21 @@ export namespace securitycenter_v1 { export interface Params$Resource$Organizations$Securityhealthanalyticssettings$Effectivecustommodules$Get extends StandardParameters { /** - * Required. Name of the effective custom module to get. Its format is `organizations/{organization\}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule\}`, `folders/{folder\}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule\}`, or `projects/{project\}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule\}` + * */ name?: string; } export interface Params$Resource$Organizations$Securityhealthanalyticssettings$Effectivecustommodules$List extends StandardParameters { /** - * The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. + * */ pageSize?: number; /** - * The value returned by the last call indicating a continuation + * */ pageToken?: string; /** - * Required. Name of parent to list effective custom modules. Its format is `organizations/{organization\}/securityHealthAnalyticsSettings`, `folders/{folder\}/securityHealthAnalyticsSettings`, or `projects/{project\}/securityHealthAnalyticsSettings` + * */ parent?: string; } @@ -25172,7 +19540,6 @@ export namespace securitycenter_v1 { } /** - * Get the simulation by name or the latest simulation for the given organization. * @example * ```js * // Before running the sample: @@ -25202,7 +19569,6 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.organizations.simulations.get({ - * // Required. The organization name or simulation name of this simulation Valid format: `organizations/{organization\}/simulations/latest` `organizations/{organization\}/simulations/{simulation\}` * name: 'organizations/my-organization/simulations/my-simulation', * }); * console.log(res.data); @@ -25312,7 +19678,7 @@ export namespace securitycenter_v1 { export interface Params$Resource$Organizations$Simulations$Get extends StandardParameters { /** - * Required. The organization name or simulation name of this simulation Valid format: `organizations/{organization\}/simulations/latest` `organizations/{organization\}/simulations/{simulation\}` + * */ name?: string; } @@ -25341,7 +19707,6 @@ export namespace securitycenter_v1 { } /** - * Lists the attack paths for a set of simulation results or valued resources and filter. * @example * ```js * // Before running the sample: @@ -25373,13 +19738,12 @@ export namespace securitycenter_v1 { * const res = * await securitycenter.organizations.simulations.attackExposureResults.attackPaths.list( * { - * // The filter expression that filters the attack path in the response. Supported fields: * `valued_resources` supports = * filter: 'placeholder-value', - * // The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. + * * pageSize: 'placeholder-value', - * // The value returned by the last `ListAttackPathsResponse`; indicates that this is a continuation of a prior `ListAttackPaths` call, and that the system should return the next page of data. + * * pageToken: 'placeholder-value', - * // Required. Name of parent to list attack paths. Valid formats: `organizations/{organization\}`, `organizations/{organization\}/simulations/{simulation\}` `organizations/{organization\}/simulations/{simulation\}/attackExposureResults/{attack_exposure_result_v2\}` `organizations/{organization\}/simulations/{simulation\}/valuedResources/{valued_resource\}` + * * parent: * 'organizations/my-organization/simulations/my-simulation/attackExposureResults/my-attackExposureResult', * }, @@ -25495,19 +19859,19 @@ export namespace securitycenter_v1 { export interface Params$Resource$Organizations$Simulations$Attackexposureresults$Attackpaths$List extends StandardParameters { /** - * The filter expression that filters the attack path in the response. Supported fields: * `valued_resources` supports = + * */ filter?: string; /** - * The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. + * */ pageSize?: number; /** - * The value returned by the last `ListAttackPathsResponse`; indicates that this is a continuation of a prior `ListAttackPaths` call, and that the system should return the next page of data. + * */ pageToken?: string; /** - * Required. Name of parent to list attack paths. Valid formats: `organizations/{organization\}`, `organizations/{organization\}/simulations/{simulation\}` `organizations/{organization\}/simulations/{simulation\}/attackExposureResults/{attack_exposure_result_v2\}` `organizations/{organization\}/simulations/{simulation\}/valuedResources/{valued_resource\}` + * */ parent?: string; } @@ -25519,7 +19883,6 @@ export namespace securitycenter_v1 { } /** - * Lists the valued resources for a set of simulation results and filter. * @example * ```js * // Before running the sample: @@ -25551,15 +19914,14 @@ export namespace securitycenter_v1 { * const res = * await securitycenter.organizations.simulations.attackExposureResults.valuedResources.list( * { - * // The filter expression that filters the valued resources in the response. Supported fields: * `resource_value` supports = * `resource_type` supports = * filter: 'placeholder-value', - * // Optional. The fields by which to order the valued resources response. Supported fields: * `exposed_score` * `resource_value` * `resource_type` * `resource` * `display_name` Values should be a comma separated list of fields. For example: `exposed_score,resource_value`. The default sorting order is descending. To specify ascending or descending order for a field, append a ` ASC` or a ` DESC` suffix, respectively; for example: `exposed_score DESC`. + * * orderBy: 'placeholder-value', - * // The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. + * * pageSize: 'placeholder-value', - * // The value returned by the last `ListValuedResourcesResponse`; indicates that this is a continuation of a prior `ListValuedResources` call, and that the system should return the next page of data. + * * pageToken: 'placeholder-value', - * // Required. Name of parent to list valued resources. Valid formats: `organizations/{organization\}`, `organizations/{organization\}/simulations/{simulation\}` `organizations/{organization\}/simulations/{simulation\}/attackExposureResults/{attack_exposure_result_v2\}` + * * parent: * 'organizations/my-organization/simulations/my-simulation/attackExposureResults/my-attackExposureResult', * }, @@ -25678,23 +20040,23 @@ export namespace securitycenter_v1 { export interface Params$Resource$Organizations$Simulations$Attackexposureresults$Valuedresources$List extends StandardParameters { /** - * The filter expression that filters the valued resources in the response. Supported fields: * `resource_value` supports = * `resource_type` supports = + * */ filter?: string; /** - * Optional. The fields by which to order the valued resources response. Supported fields: * `exposed_score` * `resource_value` * `resource_type` * `resource` * `display_name` Values should be a comma separated list of fields. For example: `exposed_score,resource_value`. The default sorting order is descending. To specify ascending or descending order for a field, append a ` ASC` or a ` DESC` suffix, respectively; for example: `exposed_score DESC`. + * */ orderBy?: string; /** - * The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. + * */ pageSize?: number; /** - * The value returned by the last `ListValuedResourcesResponse`; indicates that this is a continuation of a prior `ListValuedResources` call, and that the system should return the next page of data. + * */ pageToken?: string; /** - * Required. Name of parent to list valued resources. Valid formats: `organizations/{organization\}`, `organizations/{organization\}/simulations/{simulation\}` `organizations/{organization\}/simulations/{simulation\}/attackExposureResults/{attack_exposure_result_v2\}` + * */ parent?: string; } @@ -25706,7 +20068,6 @@ export namespace securitycenter_v1 { } /** - * Lists the attack paths for a set of simulation results or valued resources and filter. * @example * ```js * // Before running the sample: @@ -25736,13 +20097,12 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.organizations.simulations.attackPaths.list({ - * // The filter expression that filters the attack path in the response. Supported fields: * `valued_resources` supports = * filter: 'placeholder-value', - * // The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. + * * pageSize: 'placeholder-value', - * // The value returned by the last `ListAttackPathsResponse`; indicates that this is a continuation of a prior `ListAttackPaths` call, and that the system should return the next page of data. + * * pageToken: 'placeholder-value', - * // Required. Name of parent to list attack paths. Valid formats: `organizations/{organization\}`, `organizations/{organization\}/simulations/{simulation\}` `organizations/{organization\}/simulations/{simulation\}/attackExposureResults/{attack_exposure_result_v2\}` `organizations/{organization\}/simulations/{simulation\}/valuedResources/{valued_resource\}` + * * parent: 'organizations/my-organization/simulations/my-simulation', * }); * console.log(res.data); @@ -25856,19 +20216,19 @@ export namespace securitycenter_v1 { export interface Params$Resource$Organizations$Simulations$Attackpaths$List extends StandardParameters { /** - * The filter expression that filters the attack path in the response. Supported fields: * `valued_resources` supports = + * */ filter?: string; /** - * The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. + * */ pageSize?: number; /** - * The value returned by the last `ListAttackPathsResponse`; indicates that this is a continuation of a prior `ListAttackPaths` call, and that the system should return the next page of data. + * */ pageToken?: string; /** - * Required. Name of parent to list attack paths. Valid formats: `organizations/{organization\}`, `organizations/{organization\}/simulations/{simulation\}` `organizations/{organization\}/simulations/{simulation\}/attackExposureResults/{attack_exposure_result_v2\}` `organizations/{organization\}/simulations/{simulation\}/valuedResources/{valued_resource\}` + * */ parent?: string; } @@ -25885,7 +20245,6 @@ export namespace securitycenter_v1 { } /** - * Get the valued resource by name * @example * ```js * // Before running the sample: @@ -25916,7 +20275,6 @@ export namespace securitycenter_v1 { * // Do the magic * const res = * await securitycenter.organizations.simulations.valuedResources.get({ - * // Required. The name of this valued resource Valid format: `organizations/{organization\}/simulations/{simulation\}/valuedResources/{valued_resource\}` * name: 'organizations/my-organization/simulations/my-simulation/valuedResources/my-valuedResource', * }); * console.log(res.data); @@ -26028,7 +20386,6 @@ export namespace securitycenter_v1 { } /** - * Lists the valued resources for a set of simulation results and filter. * @example * ```js * // Before running the sample: @@ -26059,15 +20416,14 @@ export namespace securitycenter_v1 { * // Do the magic * const res = * await securitycenter.organizations.simulations.valuedResources.list({ - * // The filter expression that filters the valued resources in the response. Supported fields: * `resource_value` supports = * `resource_type` supports = * filter: 'placeholder-value', - * // Optional. The fields by which to order the valued resources response. Supported fields: * `exposed_score` * `resource_value` * `resource_type` * `resource` * `display_name` Values should be a comma separated list of fields. For example: `exposed_score,resource_value`. The default sorting order is descending. To specify ascending or descending order for a field, append a ` ASC` or a ` DESC` suffix, respectively; for example: `exposed_score DESC`. + * * orderBy: 'placeholder-value', - * // The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. + * * pageSize: 'placeholder-value', - * // The value returned by the last `ListValuedResourcesResponse`; indicates that this is a continuation of a prior `ListValuedResources` call, and that the system should return the next page of data. + * * pageToken: 'placeholder-value', - * // Required. Name of parent to list valued resources. Valid formats: `organizations/{organization\}`, `organizations/{organization\}/simulations/{simulation\}` `organizations/{organization\}/simulations/{simulation\}/attackExposureResults/{attack_exposure_result_v2\}` + * * parent: 'organizations/my-organization/simulations/my-simulation', * }); * console.log(res.data); @@ -26184,29 +20540,29 @@ export namespace securitycenter_v1 { export interface Params$Resource$Organizations$Simulations$Valuedresources$Get extends StandardParameters { /** - * Required. The name of this valued resource Valid format: `organizations/{organization\}/simulations/{simulation\}/valuedResources/{valued_resource\}` + * */ name?: string; } export interface Params$Resource$Organizations$Simulations$Valuedresources$List extends StandardParameters { /** - * The filter expression that filters the valued resources in the response. Supported fields: * `resource_value` supports = * `resource_type` supports = + * */ filter?: string; /** - * Optional. The fields by which to order the valued resources response. Supported fields: * `exposed_score` * `resource_value` * `resource_type` * `resource` * `display_name` Values should be a comma separated list of fields. For example: `exposed_score,resource_value`. The default sorting order is descending. To specify ascending or descending order for a field, append a ` ASC` or a ` DESC` suffix, respectively; for example: `exposed_score DESC`. + * */ orderBy?: string; /** - * The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. + * */ pageSize?: number; /** - * The value returned by the last `ListValuedResourcesResponse`; indicates that this is a continuation of a prior `ListValuedResources` call, and that the system should return the next page of data. + * */ pageToken?: string; /** - * Required. Name of parent to list valued resources. Valid formats: `organizations/{organization\}`, `organizations/{organization\}/simulations/{simulation\}` `organizations/{organization\}/simulations/{simulation\}/attackExposureResults/{attack_exposure_result_v2\}` + * */ parent?: string; } @@ -26218,7 +20574,6 @@ export namespace securitycenter_v1 { } /** - * Lists the attack paths for a set of simulation results or valued resources and filter. * @example * ```js * // Before running the sample: @@ -26250,13 +20605,12 @@ export namespace securitycenter_v1 { * const res = * await securitycenter.organizations.simulations.valuedResources.attackPaths.list( * { - * // The filter expression that filters the attack path in the response. Supported fields: * `valued_resources` supports = * filter: 'placeholder-value', - * // The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. + * * pageSize: 'placeholder-value', - * // The value returned by the last `ListAttackPathsResponse`; indicates that this is a continuation of a prior `ListAttackPaths` call, and that the system should return the next page of data. + * * pageToken: 'placeholder-value', - * // Required. Name of parent to list attack paths. Valid formats: `organizations/{organization\}`, `organizations/{organization\}/simulations/{simulation\}` `organizations/{organization\}/simulations/{simulation\}/attackExposureResults/{attack_exposure_result_v2\}` `organizations/{organization\}/simulations/{simulation\}/valuedResources/{valued_resource\}` + * * parent: * 'organizations/my-organization/simulations/my-simulation/valuedResources/my-valuedResource', * }, @@ -26372,19 +20726,19 @@ export namespace securitycenter_v1 { export interface Params$Resource$Organizations$Simulations$Valuedresources$Attackpaths$List extends StandardParameters { /** - * The filter expression that filters the attack path in the response. Supported fields: * `valued_resources` supports = + * */ filter?: string; /** - * The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. + * */ pageSize?: number; /** - * The value returned by the last `ListAttackPathsResponse`; indicates that this is a continuation of a prior `ListAttackPaths` call, and that the system should return the next page of data. + * */ pageToken?: string; /** - * Required. Name of parent to list attack paths. Valid formats: `organizations/{organization\}`, `organizations/{organization\}/simulations/{simulation\}` `organizations/{organization\}/simulations/{simulation\}/attackExposureResults/{attack_exposure_result_v2\}` `organizations/{organization\}/simulations/{simulation\}/valuedResources/{valued_resource\}` + * */ parent?: string; } @@ -26398,7 +20752,6 @@ export namespace securitycenter_v1 { } /** - * Creates a source. * @example * ```js * // Before running the sample: @@ -26428,7 +20781,6 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.organizations.sources.create({ - * // Required. Resource name of the new source's parent. Its format should be `organizations/[organization_id]`. * parent: 'organizations/my-organization', * * // Request body metadata @@ -26550,7 +20902,6 @@ export namespace securitycenter_v1 { } /** - * Gets a source. * @example * ```js * // Before running the sample: @@ -26580,7 +20931,6 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.organizations.sources.get({ - * // Required. Relative resource name of the source. Its format is `organizations/[organization_id]/source/[source_id]`. * name: 'organizations/my-organization/sources/my-source', * }); * console.log(res.data); @@ -26688,7 +21038,6 @@ export namespace securitycenter_v1 { } /** - * Gets the access control policy on the specified Source. * @example * ```js * // Before running the sample: @@ -26718,7 +21067,6 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.organizations.sources.getIamPolicy({ - * // 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. * resource: 'organizations/my-organization/sources/my-source', * * // Request body metadata @@ -26837,7 +21185,6 @@ export namespace securitycenter_v1 { } /** - * Lists all sources belonging to an organization. * @example * ```js * // Before running the sample: @@ -26867,11 +21214,10 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.organizations.sources.list({ - * // The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. * pageSize: 'placeholder-value', - * // The value returned by the last `ListSourcesResponse`; indicates that this is a continuation of a prior `ListSources` call, and that the system should return the next page of data. + * * pageToken: 'placeholder-value', - * // Required. Resource name of the parent of sources to list. Its format should be `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`. + * * parent: 'organizations/my-organization', * }); * console.log(res.data); @@ -26980,7 +21326,6 @@ export namespace securitycenter_v1 { } /** - * Updates a source. * @example * ```js * // Before running the sample: @@ -27010,9 +21355,8 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.organizations.sources.patch({ - * // The relative resource name of this source. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id\}/sources/{source_id\}" * name: 'organizations/my-organization/sources/my-source', - * // The FieldMask to use when updating the source resource. If empty all mutable fields will be updated. + * * updateMask: 'placeholder-value', * * // Request body metadata @@ -27131,7 +21475,6 @@ export namespace securitycenter_v1 { } /** - * Sets the access control policy on the specified Source. * @example * ```js * // Before running the sample: @@ -27161,7 +21504,6 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.organizations.sources.setIamPolicy({ - * // 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. * resource: 'organizations/my-organization/sources/my-source', * * // Request body metadata @@ -27281,7 +21623,6 @@ export namespace securitycenter_v1 { } /** - * Returns the permissions that a caller has on the specified source. * @example * ```js * // Before running the sample: @@ -27311,7 +21652,6 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.organizations.sources.testIamPermissions({ - * // 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. * resource: 'organizations/my-organization/sources/my-source', * * // Request body metadata @@ -27433,7 +21773,7 @@ export namespace securitycenter_v1 { export interface Params$Resource$Organizations$Sources$Create extends StandardParameters { /** - * Required. Resource name of the new source's parent. Its format should be `organizations/[organization_id]`. + * */ parent?: string; @@ -27444,13 +21784,13 @@ export namespace securitycenter_v1 { } export interface Params$Resource$Organizations$Sources$Get extends StandardParameters { /** - * Required. Relative resource name of the source. Its format is `organizations/[organization_id]/source/[source_id]`. + * */ name?: string; } export interface Params$Resource$Organizations$Sources$Getiampolicy extends StandardParameters { /** - * 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. + * */ resource?: string; @@ -27461,25 +21801,25 @@ export namespace securitycenter_v1 { } export interface Params$Resource$Organizations$Sources$List extends StandardParameters { /** - * The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. + * */ pageSize?: number; /** - * The value returned by the last `ListSourcesResponse`; indicates that this is a continuation of a prior `ListSources` call, and that the system should return the next page of data. + * */ pageToken?: string; /** - * Required. Resource name of the parent of sources to list. Its format should be `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`. + * */ parent?: string; } export interface Params$Resource$Organizations$Sources$Patch extends StandardParameters { /** - * The relative resource name of this source. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id\}/sources/{source_id\}" + * */ name?: string; /** - * The FieldMask to use when updating the source resource. If empty all mutable fields will be updated. + * */ updateMask?: string; @@ -27490,7 +21830,7 @@ export namespace securitycenter_v1 { } export interface Params$Resource$Organizations$Sources$Setiampolicy extends StandardParameters { /** - * 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. + * */ resource?: string; @@ -27501,7 +21841,7 @@ export namespace securitycenter_v1 { } export interface Params$Resource$Organizations$Sources$Testiampermissions extends StandardParameters { /** - * 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. + * */ resource?: string; @@ -27523,7 +21863,6 @@ export namespace securitycenter_v1 { } /** - * Creates a finding. The corresponding source must exist for finding creation to succeed. * @example * ```js * // Before running the sample: @@ -27553,9 +21892,8 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.organizations.sources.findings.create({ - * // Required. Unique identifier provided by the client within the parent scope. It must be alphanumeric and less than or equal to 32 characters and greater than 0 characters in length. * findingId: 'placeholder-value', - * // Required. Resource name of the new finding's parent. Its format should be `organizations/[organization_id]/sources/[source_id]`. + * * parent: 'organizations/my-organization/sources/my-source', * * // Request body metadata @@ -27805,7 +22143,6 @@ export namespace securitycenter_v1 { } /** - * Filters an organization or source's findings and groups them by their specified properties. To group across all sources provide a `-` as the source id. Example: /v1/organizations/{organization_id\}/sources/-/findings, /v1/folders/{folder_id\}/sources/-/findings, /v1/projects/{project_id\}/sources/-/findings * @example * ```js * // Before running the sample: @@ -27835,7 +22172,6 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.organizations.sources.findings.group({ - * // Required. Name of the source to groupBy. Its format is `organizations/[organization_id]/sources/[source_id]`, `folders/[folder_id]/sources/[source_id]`, or `projects/[project_id]/sources/[source_id]`. To groupBy across all sources provide a source_id of `-`. For example: `organizations/{organization_id\}/sources/-, folders/{folder_id\}/sources/-`, or `projects/{project_id\}/sources/-` * parent: 'organizations/my-organization/sources/my-source', * * // Request body metadata @@ -27961,7 +22297,6 @@ export namespace securitycenter_v1 { } /** - * Lists an organization or source's findings. To list across all sources provide a `-` as the source id. Example: /v1/organizations/{organization_id\}/sources/-/findings * @example * ```js * // Before running the sample: @@ -27991,21 +22326,20 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.organizations.sources.findings.list({ - * // When compare_duration is set, the ListFindingsResult's "state_change" attribute is updated to indicate whether the finding had its state changed, the finding's state remained unchanged, or if the finding was added in any state during the compare_duration period of time that precedes the read_time. This is the time between (read_time - compare_duration) and read_time. The state_change value is derived based on the presence and state of the finding at the two points in time. Intermediate state changes between the two times don't affect the result. For example, the results aren't affected if the finding is made inactive and then active again. Possible "state_change" values when compare_duration is specified: * "CHANGED": indicates that the finding was present and matched the given filter at the start of compare_duration, but changed its state at read_time. * "UNCHANGED": indicates that the finding was present and matched the given filter at the start of compare_duration and did not change state at read_time. * "ADDED": indicates that the finding did not match the given filter or was not present at the start of compare_duration, but was present at read_time. * "REMOVED": indicates that the finding was present and matched the filter at the start of compare_duration, but did not match the filter at read_time. If compare_duration is not specified, then the only possible state_change is "UNUSED", which will be the state_change set for all findings present at read_time. * compareDuration: 'placeholder-value', - * // A field mask to specify the Finding fields to be listed in the response. An empty field mask will list all fields. + * * fieldMask: 'placeholder-value', - * // Expression that defines the filter to apply across findings. The expression is a list of one or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. Examples include: * name * source_properties.a_property * security_marks.marks.marka The supported operators are: * `=` for all value types. * `\>`, `<`, `\>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. The following field and operator combinations are supported: * name: `=` * parent: `=`, `:` * resource_name: `=`, `:` * state: `=`, `:` * category: `=`, `:` * external_uri: `=`, `:` * event_time: `=`, `\>`, `<`, `\>=`, `<=` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `event_time = "2019-06-10T16:07:18-07:00"` `event_time = 1560208038000` * severity: `=`, `:` * workflow_state: `=`, `:` * security_marks.marks: `=`, `:` * source_properties: `=`, `:`, `\>`, `<`, `\>=`, `<=` For example, `source_properties.size = 100` is a valid filter string. Use a partial match on the empty string to filter based on a property existing: `source_properties.my_property : ""` Use a negated partial match on the empty string to filter based on a property not existing: `-source_properties.my_property : ""` * resource: * resource.name: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.type: `=`, `:` * resource.folders.resource_folder: `=`, `:` * resource.display_name: `=`, `:` + * * filter: 'placeholder-value', - * // Expression that defines what fields and order to use for sorting. The string value should follow SQL syntax: comma separated list of fields. For example: "name,resource_properties.a_property". The default sorting order is ascending. To specify descending order for a field, a suffix " desc" should be appended to the field name. For example: "name desc,source_properties.a_property". Redundant space characters in the syntax are insignificant. "name desc,source_properties.a_property" and " name desc , source_properties.a_property " are equivalent. The following fields are supported: name parent state category resource_name event_time source_properties security_marks.marks + * * orderBy: 'placeholder-value', - * // The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. + * * pageSize: 'placeholder-value', - * // The value returned by the last `ListFindingsResponse`; indicates that this is a continuation of a prior `ListFindings` call, and that the system should return the next page of data. + * * pageToken: 'placeholder-value', - * // Required. Name of the source the findings belong to. Its format is `organizations/[organization_id]/sources/[source_id]`, `folders/[folder_id]/sources/[source_id]`, or `projects/[project_id]/sources/[source_id]`. To list across all sources provide a source_id of `-`. For example: `organizations/{organization_id\}/sources/-`, `folders/{folder_id\}/sources/-` or `projects/{projects_id\}/sources/-` + * * parent: 'organizations/my-organization/sources/my-source', - * // Time used as a reference point when filtering findings. The filter is limited to findings existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW. + * * readTime: 'placeholder-value', * }); * console.log(res.data); @@ -28118,7 +22452,6 @@ export namespace securitycenter_v1 { } /** - * Creates or updates a finding. The corresponding source must exist for a finding creation to succeed. * @example * ```js * // Before running the sample: @@ -28148,9 +22481,8 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.organizations.sources.findings.patch({ - * // The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: "organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}", "folders/{folder_id\}/sources/{source_id\}/findings/{finding_id\}", "projects/{project_id\}/sources/{source_id\}/findings/{finding_id\}". * name: 'organizations/my-organization/sources/my-source/findings/my-finding', - * // The FieldMask to use when updating the finding resource. This field should not be specified when creating a finding. When updating a finding, an empty mask is treated as updating all mutable fields and replacing source_properties. Individual source_properties can be added/updated by using "source_properties." in the field mask. + * * updateMask: 'placeholder-value', * * // Request body metadata @@ -28397,7 +22729,6 @@ export namespace securitycenter_v1 { } /** - * Updates the mute state of a finding. * @example * ```js * // Before running the sample: @@ -28427,7 +22758,6 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.organizations.sources.findings.setMute({ - * // Required. The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: `organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}`, `folders/{folder_id\}/sources/{source_id\}/findings/{finding_id\}`, `projects/{project_id\}/sources/{source_id\}/findings/{finding_id\}`. * name: 'organizations/my-organization/sources/my-source/findings/my-finding', * * // Request body metadata @@ -28610,7 +22940,6 @@ export namespace securitycenter_v1 { } /** - * Updates the state of a finding. * @example * ```js * // Before running the sample: @@ -28640,7 +22969,6 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.organizations.sources.findings.setState({ - * // Required. The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: `organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}`, `folders/{folder_id\}/sources/{source_id\}/findings/{finding_id\}`, `projects/{project_id\}/sources/{source_id\}/findings/{finding_id\}`. * name: 'organizations/my-organization/sources/my-source/findings/my-finding', * * // Request body metadata @@ -28824,7 +23152,6 @@ export namespace securitycenter_v1 { } /** - * Updates security marks. * @example * ```js * // Before running the sample: @@ -28855,11 +23182,10 @@ export namespace securitycenter_v1 { * // Do the magic * const res = * await securitycenter.organizations.sources.findings.updateSecurityMarks({ - * // The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id\}/assets/{asset_id\}/securityMarks" "organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}/securityMarks". * name: 'organizations/my-organization/sources/my-source/findings/my-finding/securityMarks', - * // The time at which the updated SecurityMarks take effect. If not set uses current server time. Updates will be applied to the SecurityMarks that are active immediately preceding this time. Must be earlier or equal to the server time. + * * startTime: 'placeholder-value', - * // The FieldMask to use when updating the security marks resource. The field mask must not contain duplicate fields. If empty or set to "marks", all marks will be replaced. Individual marks can be updated using "marks.". + * * updateMask: 'placeholder-value', * * // Request body metadata @@ -28981,11 +23307,11 @@ export namespace securitycenter_v1 { export interface Params$Resource$Organizations$Sources$Findings$Create extends StandardParameters { /** - * Required. Unique identifier provided by the client within the parent scope. It must be alphanumeric and less than or equal to 32 characters and greater than 0 characters in length. + * */ findingId?: string; /** - * Required. Resource name of the new finding's parent. Its format should be `organizations/[organization_id]/sources/[source_id]`. + * */ parent?: string; @@ -28996,7 +23322,7 @@ export namespace securitycenter_v1 { } export interface Params$Resource$Organizations$Sources$Findings$Group extends StandardParameters { /** - * Required. Name of the source to groupBy. Its format is `organizations/[organization_id]/sources/[source_id]`, `folders/[folder_id]/sources/[source_id]`, or `projects/[project_id]/sources/[source_id]`. To groupBy across all sources provide a source_id of `-`. For example: `organizations/{organization_id\}/sources/-, folders/{folder_id\}/sources/-`, or `projects/{project_id\}/sources/-` + * */ parent?: string; @@ -29007,45 +23333,45 @@ export namespace securitycenter_v1 { } export interface Params$Resource$Organizations$Sources$Findings$List extends StandardParameters { /** - * When compare_duration is set, the ListFindingsResult's "state_change" attribute is updated to indicate whether the finding had its state changed, the finding's state remained unchanged, or if the finding was added in any state during the compare_duration period of time that precedes the read_time. This is the time between (read_time - compare_duration) and read_time. The state_change value is derived based on the presence and state of the finding at the two points in time. Intermediate state changes between the two times don't affect the result. For example, the results aren't affected if the finding is made inactive and then active again. Possible "state_change" values when compare_duration is specified: * "CHANGED": indicates that the finding was present and matched the given filter at the start of compare_duration, but changed its state at read_time. * "UNCHANGED": indicates that the finding was present and matched the given filter at the start of compare_duration and did not change state at read_time. * "ADDED": indicates that the finding did not match the given filter or was not present at the start of compare_duration, but was present at read_time. * "REMOVED": indicates that the finding was present and matched the filter at the start of compare_duration, but did not match the filter at read_time. If compare_duration is not specified, then the only possible state_change is "UNUSED", which will be the state_change set for all findings present at read_time. + * */ compareDuration?: string; /** - * A field mask to specify the Finding fields to be listed in the response. An empty field mask will list all fields. + * */ fieldMask?: string; /** - * Expression that defines the filter to apply across findings. The expression is a list of one or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. Examples include: * name * source_properties.a_property * security_marks.marks.marka The supported operators are: * `=` for all value types. * `\>`, `<`, `\>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. The following field and operator combinations are supported: * name: `=` * parent: `=`, `:` * resource_name: `=`, `:` * state: `=`, `:` * category: `=`, `:` * external_uri: `=`, `:` * event_time: `=`, `\>`, `<`, `\>=`, `<=` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `event_time = "2019-06-10T16:07:18-07:00"` `event_time = 1560208038000` * severity: `=`, `:` * workflow_state: `=`, `:` * security_marks.marks: `=`, `:` * source_properties: `=`, `:`, `\>`, `<`, `\>=`, `<=` For example, `source_properties.size = 100` is a valid filter string. Use a partial match on the empty string to filter based on a property existing: `source_properties.my_property : ""` Use a negated partial match on the empty string to filter based on a property not existing: `-source_properties.my_property : ""` * resource: * resource.name: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.type: `=`, `:` * resource.folders.resource_folder: `=`, `:` * resource.display_name: `=`, `:` + * */ filter?: string; /** - * Expression that defines what fields and order to use for sorting. The string value should follow SQL syntax: comma separated list of fields. For example: "name,resource_properties.a_property". The default sorting order is ascending. To specify descending order for a field, a suffix " desc" should be appended to the field name. For example: "name desc,source_properties.a_property". Redundant space characters in the syntax are insignificant. "name desc,source_properties.a_property" and " name desc , source_properties.a_property " are equivalent. The following fields are supported: name parent state category resource_name event_time source_properties security_marks.marks + * */ orderBy?: string; /** - * The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. + * */ pageSize?: number; /** - * The value returned by the last `ListFindingsResponse`; indicates that this is a continuation of a prior `ListFindings` call, and that the system should return the next page of data. + * */ pageToken?: string; /** - * Required. Name of the source the findings belong to. Its format is `organizations/[organization_id]/sources/[source_id]`, `folders/[folder_id]/sources/[source_id]`, or `projects/[project_id]/sources/[source_id]`. To list across all sources provide a source_id of `-`. For example: `organizations/{organization_id\}/sources/-`, `folders/{folder_id\}/sources/-` or `projects/{projects_id\}/sources/-` + * */ parent?: string; /** - * Time used as a reference point when filtering findings. The filter is limited to findings existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW. + * */ readTime?: string; } export interface Params$Resource$Organizations$Sources$Findings$Patch extends StandardParameters { /** - * The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: "organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}", "folders/{folder_id\}/sources/{source_id\}/findings/{finding_id\}", "projects/{project_id\}/sources/{source_id\}/findings/{finding_id\}". + * */ name?: string; /** - * The FieldMask to use when updating the finding resource. This field should not be specified when creating a finding. When updating a finding, an empty mask is treated as updating all mutable fields and replacing source_properties. Individual source_properties can be added/updated by using "source_properties." in the field mask. + * */ updateMask?: string; @@ -29056,7 +23382,7 @@ export namespace securitycenter_v1 { } export interface Params$Resource$Organizations$Sources$Findings$Setmute extends StandardParameters { /** - * Required. The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: `organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}`, `folders/{folder_id\}/sources/{source_id\}/findings/{finding_id\}`, `projects/{project_id\}/sources/{source_id\}/findings/{finding_id\}`. + * */ name?: string; @@ -29067,7 +23393,7 @@ export namespace securitycenter_v1 { } export interface Params$Resource$Organizations$Sources$Findings$Setstate extends StandardParameters { /** - * Required. The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: `organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}`, `folders/{folder_id\}/sources/{source_id\}/findings/{finding_id\}`, `projects/{project_id\}/sources/{source_id\}/findings/{finding_id\}`. + * */ name?: string; @@ -29078,15 +23404,15 @@ export namespace securitycenter_v1 { } export interface Params$Resource$Organizations$Sources$Findings$Updatesecuritymarks extends StandardParameters { /** - * The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id\}/assets/{asset_id\}/securityMarks" "organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}/securityMarks". + * */ name?: string; /** - * The time at which the updated SecurityMarks take effect. If not set uses current server time. Updates will be applied to the SecurityMarks that are active immediately preceding this time. Must be earlier or equal to the server time. + * */ startTime?: string; /** - * The FieldMask to use when updating the security marks resource. The field mask must not contain duplicate fields. If empty or set to "marks", all marks will be replaced. Individual marks can be updated using "marks.". + * */ updateMask?: string; @@ -29103,7 +23429,6 @@ export namespace securitycenter_v1 { } /** - * Updates external system. This is for a given finding. * @example * ```js * // Before running the sample: @@ -29134,9 +23459,8 @@ export namespace securitycenter_v1 { * // Do the magic * const res = * await securitycenter.organizations.sources.findings.externalSystems.patch({ - * // Full resource name of the external system, for example: "organizations/1234/sources/5678/findings/123456/externalSystems/jira", "folders/1234/sources/5678/findings/123456/externalSystems/jira", "projects/1234/sources/5678/findings/123456/externalSystems/jira" * name: 'organizations/my-organization/sources/my-source/findings/my-finding/externalSystems/my-externalSystem', - * // The FieldMask to use when updating the external system resource. If empty all mutable fields will be updated. + * * updateMask: 'placeholder-value', * * // Request body metadata @@ -29282,11 +23606,11 @@ export namespace securitycenter_v1 { export interface Params$Resource$Organizations$Sources$Findings$Externalsystems$Patch extends StandardParameters { /** - * Full resource name of the external system, for example: "organizations/1234/sources/5678/findings/123456/externalSystems/jira", "folders/1234/sources/5678/findings/123456/externalSystems/jira", "projects/1234/sources/5678/findings/123456/externalSystems/jira" + * */ name?: string; /** - * The FieldMask to use when updating the external system resource. If empty all mutable fields will be updated. + * */ updateMask?: string; @@ -29303,7 +23627,6 @@ export namespace securitycenter_v1 { } /** - * Lists the valued resources for a set of simulation results and filter. * @example * ```js * // Before running the sample: @@ -29333,15 +23656,14 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.organizations.valuedResources.list({ - * // The filter expression that filters the valued resources in the response. Supported fields: * `resource_value` supports = * `resource_type` supports = * filter: 'placeholder-value', - * // Optional. The fields by which to order the valued resources response. Supported fields: * `exposed_score` * `resource_value` * `resource_type` * `resource` * `display_name` Values should be a comma separated list of fields. For example: `exposed_score,resource_value`. The default sorting order is descending. To specify ascending or descending order for a field, append a ` ASC` or a ` DESC` suffix, respectively; for example: `exposed_score DESC`. + * * orderBy: 'placeholder-value', - * // The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. + * * pageSize: 'placeholder-value', - * // The value returned by the last `ListValuedResourcesResponse`; indicates that this is a continuation of a prior `ListValuedResources` call, and that the system should return the next page of data. + * * pageToken: 'placeholder-value', - * // Required. Name of parent to list valued resources. Valid formats: `organizations/{organization\}`, `organizations/{organization\}/simulations/{simulation\}` `organizations/{organization\}/simulations/{simulation\}/attackExposureResults/{attack_exposure_result_v2\}` + * * parent: 'organizations/my-organization', * }); * console.log(res.data); @@ -29457,23 +23779,23 @@ export namespace securitycenter_v1 { export interface Params$Resource$Organizations$Valuedresources$List extends StandardParameters { /** - * The filter expression that filters the valued resources in the response. Supported fields: * `resource_value` supports = * `resource_type` supports = + * */ filter?: string; /** - * Optional. The fields by which to order the valued resources response. Supported fields: * `exposed_score` * `resource_value` * `resource_type` * `resource` * `display_name` Values should be a comma separated list of fields. For example: `exposed_score,resource_value`. The default sorting order is descending. To specify ascending or descending order for a field, append a ` ASC` or a ` DESC` suffix, respectively; for example: `exposed_score DESC`. + * */ orderBy?: string; /** - * The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. + * */ pageSize?: number; /** - * The value returned by the last `ListValuedResourcesResponse`; indicates that this is a continuation of a prior `ListValuedResources` call, and that the system should return the next page of data. + * */ pageToken?: string; /** - * Required. Name of parent to list valued resources. Valid formats: `organizations/{organization\}`, `organizations/{organization\}/simulations/{simulation\}` `organizations/{organization\}/simulations/{simulation\}/attackExposureResults/{attack_exposure_result_v2\}` + * */ parent?: string; } @@ -29516,7 +23838,6 @@ export namespace securitycenter_v1 { } /** - * Filters an organization's assets and groups them by their specified properties. * @example * ```js * // Before running the sample: @@ -29546,7 +23867,6 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.projects.assets.group({ - * // Required. The name of the parent to group the assets by. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`. * parent: 'projects/my-project', * * // Request body metadata @@ -29670,7 +23990,6 @@ export namespace securitycenter_v1 { } /** - * Lists an organization's assets. * @example * ```js * // Before running the sample: @@ -29700,21 +24019,20 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.projects.assets.list({ - * // When compare_duration is set, the ListAssetsResult's "state_change" attribute is updated to indicate whether the asset was added, removed, or remained present during the compare_duration period of time that precedes the read_time. This is the time between (read_time - compare_duration) and read_time. The state_change value is derived based on the presence of the asset at the two points in time. Intermediate state changes between the two times don't affect the result. For example, the results aren't affected if the asset is removed and re-created again. Possible "state_change" values when compare_duration is specified: * "ADDED": indicates that the asset was not present at the start of compare_duration, but present at read_time. * "REMOVED": indicates that the asset was present at the start of compare_duration, but not present at read_time. * "ACTIVE": indicates that the asset was present at both the start and the end of the time period defined by compare_duration and read_time. If compare_duration is not specified, then the only possible state_change is "UNUSED", which will be the state_change set for all assets present at read_time. * compareDuration: 'placeholder-value', - * // A field mask to specify the ListAssetsResult fields to be listed in the response. An empty field mask will list all fields. + * * fieldMask: 'placeholder-value', - * // Expression that defines the filter to apply across assets. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the Asset resource. Examples include: * name * security_center_properties.resource_name * resource_properties.a_property * security_marks.marks.marka The supported operators are: * `=` for all value types. * `\>`, `<`, `\>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. The following are the allowed field and operator combinations: * name: `=` * update_time: `=`, `\>`, `<`, `\>=`, `<=` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `update_time = "2019-06-10T16:07:18-07:00"` `update_time = 1560208038000` * create_time: `=`, `\>`, `<`, `\>=`, `<=` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `create_time = "2019-06-10T16:07:18-07:00"` `create_time = 1560208038000` * iam_policy.policy_blob: `=`, `:` * resource_properties: `=`, `:`, `\>`, `<`, `\>=`, `<=` * security_marks.marks: `=`, `:` * security_center_properties.resource_name: `=`, `:` * security_center_properties.resource_display_name: `=`, `:` * security_center_properties.resource_type: `=`, `:` * security_center_properties.resource_parent: `=`, `:` * security_center_properties.resource_parent_display_name: `=`, `:` * security_center_properties.resource_project: `=`, `:` * security_center_properties.resource_project_display_name: `=`, `:` * security_center_properties.resource_owners: `=`, `:` For example, `resource_properties.size = 100` is a valid filter string. Use a partial match on the empty string to filter based on a property existing: `resource_properties.my_property : ""` Use a negated partial match on the empty string to filter based on a property not existing: `-resource_properties.my_property : ""` + * * filter: 'placeholder-value', - * // Expression that defines what fields and order to use for sorting. The string value should follow SQL syntax: comma separated list of fields. For example: "name,resource_properties.a_property". The default sorting order is ascending. To specify descending order for a field, a suffix " desc" should be appended to the field name. For example: "name desc,resource_properties.a_property". Redundant space characters in the syntax are insignificant. "name desc,resource_properties.a_property" and " name desc , resource_properties.a_property " are equivalent. The following fields are supported: name update_time resource_properties security_marks.marks security_center_properties.resource_name security_center_properties.resource_display_name security_center_properties.resource_parent security_center_properties.resource_parent_display_name security_center_properties.resource_project security_center_properties.resource_project_display_name security_center_properties.resource_type + * * orderBy: 'placeholder-value', - * // The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. + * * pageSize: 'placeholder-value', - * // The value returned by the last `ListAssetsResponse`; indicates that this is a continuation of a prior `ListAssets` call, and that the system should return the next page of data. + * * pageToken: 'placeholder-value', - * // Required. The name of the parent resource that contains the assets. The value that you can specify on parent depends on the method in which you specify parent. You can specify one of the following values: `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`. + * * parent: 'projects/my-project', - * // Time used as a reference point when filtering assets. The filter is limited to assets existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW. + * * readTime: 'placeholder-value', * }); * console.log(res.data); @@ -29825,7 +24143,6 @@ export namespace securitycenter_v1 { } /** - * Updates security marks. * @example * ```js * // Before running the sample: @@ -29855,11 +24172,10 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.projects.assets.updateSecurityMarks({ - * // The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id\}/assets/{asset_id\}/securityMarks" "organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}/securityMarks". * name: 'projects/my-project/assets/my-asset/securityMarks', - * // The time at which the updated SecurityMarks take effect. If not set uses current server time. Updates will be applied to the SecurityMarks that are active immediately preceding this time. Must be earlier or equal to the server time. + * * startTime: 'placeholder-value', - * // The FieldMask to use when updating the security marks resource. The field mask must not contain duplicate fields. If empty or set to "marks", all marks will be replaced. Individual marks can be updated using "marks.". + * * updateMask: 'placeholder-value', * * // Request body metadata @@ -29980,7 +24296,7 @@ export namespace securitycenter_v1 { export interface Params$Resource$Projects$Assets$Group extends StandardParameters { /** - * Required. The name of the parent to group the assets by. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`. + * */ parent?: string; @@ -29991,49 +24307,49 @@ export namespace securitycenter_v1 { } export interface Params$Resource$Projects$Assets$List extends StandardParameters { /** - * When compare_duration is set, the ListAssetsResult's "state_change" attribute is updated to indicate whether the asset was added, removed, or remained present during the compare_duration period of time that precedes the read_time. This is the time between (read_time - compare_duration) and read_time. The state_change value is derived based on the presence of the asset at the two points in time. Intermediate state changes between the two times don't affect the result. For example, the results aren't affected if the asset is removed and re-created again. Possible "state_change" values when compare_duration is specified: * "ADDED": indicates that the asset was not present at the start of compare_duration, but present at read_time. * "REMOVED": indicates that the asset was present at the start of compare_duration, but not present at read_time. * "ACTIVE": indicates that the asset was present at both the start and the end of the time period defined by compare_duration and read_time. If compare_duration is not specified, then the only possible state_change is "UNUSED", which will be the state_change set for all assets present at read_time. + * */ compareDuration?: string; /** - * A field mask to specify the ListAssetsResult fields to be listed in the response. An empty field mask will list all fields. + * */ fieldMask?: string; /** - * Expression that defines the filter to apply across assets. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the Asset resource. Examples include: * name * security_center_properties.resource_name * resource_properties.a_property * security_marks.marks.marka The supported operators are: * `=` for all value types. * `\>`, `<`, `\>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. The following are the allowed field and operator combinations: * name: `=` * update_time: `=`, `\>`, `<`, `\>=`, `<=` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `update_time = "2019-06-10T16:07:18-07:00"` `update_time = 1560208038000` * create_time: `=`, `\>`, `<`, `\>=`, `<=` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `create_time = "2019-06-10T16:07:18-07:00"` `create_time = 1560208038000` * iam_policy.policy_blob: `=`, `:` * resource_properties: `=`, `:`, `\>`, `<`, `\>=`, `<=` * security_marks.marks: `=`, `:` * security_center_properties.resource_name: `=`, `:` * security_center_properties.resource_display_name: `=`, `:` * security_center_properties.resource_type: `=`, `:` * security_center_properties.resource_parent: `=`, `:` * security_center_properties.resource_parent_display_name: `=`, `:` * security_center_properties.resource_project: `=`, `:` * security_center_properties.resource_project_display_name: `=`, `:` * security_center_properties.resource_owners: `=`, `:` For example, `resource_properties.size = 100` is a valid filter string. Use a partial match on the empty string to filter based on a property existing: `resource_properties.my_property : ""` Use a negated partial match on the empty string to filter based on a property not existing: `-resource_properties.my_property : ""` + * */ filter?: string; /** - * Expression that defines what fields and order to use for sorting. The string value should follow SQL syntax: comma separated list of fields. For example: "name,resource_properties.a_property". The default sorting order is ascending. To specify descending order for a field, a suffix " desc" should be appended to the field name. For example: "name desc,resource_properties.a_property". Redundant space characters in the syntax are insignificant. "name desc,resource_properties.a_property" and " name desc , resource_properties.a_property " are equivalent. The following fields are supported: name update_time resource_properties security_marks.marks security_center_properties.resource_name security_center_properties.resource_display_name security_center_properties.resource_parent security_center_properties.resource_parent_display_name security_center_properties.resource_project security_center_properties.resource_project_display_name security_center_properties.resource_type + * */ orderBy?: string; /** - * The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. + * */ pageSize?: number; /** - * The value returned by the last `ListAssetsResponse`; indicates that this is a continuation of a prior `ListAssets` call, and that the system should return the next page of data. + * */ pageToken?: string; /** - * Required. The name of the parent resource that contains the assets. The value that you can specify on parent depends on the method in which you specify parent. You can specify one of the following values: `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`. + * */ parent?: string; /** - * Time used as a reference point when filtering assets. The filter is limited to assets existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW. + * */ readTime?: string; } export interface Params$Resource$Projects$Assets$Updatesecuritymarks extends StandardParameters { /** - * The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id\}/assets/{asset_id\}/securityMarks" "organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}/securityMarks". + * */ name?: string; /** - * The time at which the updated SecurityMarks take effect. If not set uses current server time. Updates will be applied to the SecurityMarks that are active immediately preceding this time. Must be earlier or equal to the server time. + * */ startTime?: string; /** - * The FieldMask to use when updating the security marks resource. The field mask must not contain duplicate fields. If empty or set to "marks", all marks will be replaced. Individual marks can be updated using "marks.". + * */ updateMask?: string; @@ -30050,7 +24366,6 @@ export namespace securitycenter_v1 { } /** - * Creates a BigQuery export. * @example * ```js * // Before running the sample: @@ -30080,9 +24395,8 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.projects.bigQueryExports.create({ - * // Required. Unique identifier provided by the client within the parent scope. It must consist of only lowercase letters, numbers, and hyphens, must start with a letter, must end with either a letter or a number, and must be 63 characters or less. * bigQueryExportId: 'placeholder-value', - * // Required. The name of the parent resource of the new BigQuery export. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`. + * * parent: 'projects/my-project', * * // Request body metadata @@ -30222,7 +24536,6 @@ export namespace securitycenter_v1 { } /** - * Deletes an existing BigQuery export. * @example * ```js * // Before running the sample: @@ -30252,7 +24565,6 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.projects.bigQueryExports.delete({ - * // Required. The name of the BigQuery export to delete. Its format is `organizations/{organization\}/bigQueryExports/{export_id\}`, `folders/{folder\}/bigQueryExports/{export_id\}`, or `projects/{project\}/bigQueryExports/{export_id\}` * name: 'projects/my-project/bigQueryExports/my-bigQueryExport', * }); * console.log(res.data); @@ -30355,7 +24667,6 @@ export namespace securitycenter_v1 { } /** - * Gets a BigQuery export. * @example * ```js * // Before running the sample: @@ -30385,7 +24696,6 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.projects.bigQueryExports.get({ - * // Required. Name of the BigQuery export to retrieve. Its format is `organizations/{organization\}/bigQueryExports/{export_id\}`, `folders/{folder\}/bigQueryExports/{export_id\}`, or `projects/{project\}/bigQueryExports/{export_id\}` * name: 'projects/my-project/bigQueryExports/my-bigQueryExport', * }); * console.log(res.data); @@ -30507,7 +24817,6 @@ export namespace securitycenter_v1 { } /** - * Lists BigQuery exports. Note that when requesting BigQuery exports at a given level all exports under that level are also returned e.g. if requesting BigQuery exports under a folder, then all BigQuery exports immediately under the folder plus the ones created under the projects within the folder are returned. * @example * ```js * // Before running the sample: @@ -30537,11 +24846,10 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.projects.bigQueryExports.list({ - * // The maximum number of configs to return. The service may return fewer than this value. If unspecified, at most 10 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. * pageSize: 'placeholder-value', - * // A page token, received from a previous `ListBigQueryExports` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListBigQueryExports` must match the call that provided the page token. + * * pageToken: 'placeholder-value', - * // Required. The parent, which owns the collection of BigQuery exports. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, `projects/[project_id]`. + * * parent: 'projects/my-project', * }); * console.log(res.data); @@ -30654,7 +24962,6 @@ export namespace securitycenter_v1 { } /** - * Updates a BigQuery export. * @example * ```js * // Before running the sample: @@ -30684,9 +24991,8 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.projects.bigQueryExports.patch({ - * // The relative resource name of this export. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name. Example format: "organizations/{organization_id\}/bigQueryExports/{export_id\}" Example format: "folders/{folder_id\}/bigQueryExports/{export_id\}" Example format: "projects/{project_id\}/bigQueryExports/{export_id\}" This field is provided in responses, and is ignored when provided in create requests. * name: 'projects/my-project/bigQueryExports/my-bigQueryExport', - * // The list of fields to be updated. If empty all mutable fields will be updated. + * * updateMask: 'placeholder-value', * * // Request body metadata @@ -30825,11 +25131,11 @@ export namespace securitycenter_v1 { export interface Params$Resource$Projects$Bigqueryexports$Create extends StandardParameters { /** - * Required. Unique identifier provided by the client within the parent scope. It must consist of only lowercase letters, numbers, and hyphens, must start with a letter, must end with either a letter or a number, and must be 63 characters or less. + * */ bigQueryExportId?: string; /** - * Required. The name of the parent resource of the new BigQuery export. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`. + * */ parent?: string; @@ -30840,37 +25146,37 @@ export namespace securitycenter_v1 { } export interface Params$Resource$Projects$Bigqueryexports$Delete extends StandardParameters { /** - * Required. The name of the BigQuery export to delete. Its format is `organizations/{organization\}/bigQueryExports/{export_id\}`, `folders/{folder\}/bigQueryExports/{export_id\}`, or `projects/{project\}/bigQueryExports/{export_id\}` + * */ name?: string; } export interface Params$Resource$Projects$Bigqueryexports$Get extends StandardParameters { /** - * Required. Name of the BigQuery export to retrieve. Its format is `organizations/{organization\}/bigQueryExports/{export_id\}`, `folders/{folder\}/bigQueryExports/{export_id\}`, or `projects/{project\}/bigQueryExports/{export_id\}` + * */ name?: string; } export interface Params$Resource$Projects$Bigqueryexports$List extends StandardParameters { /** - * The maximum number of configs to return. The service may return fewer than this value. If unspecified, at most 10 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. + * */ pageSize?: number; /** - * A page token, received from a previous `ListBigQueryExports` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListBigQueryExports` must match the call that provided the page token. + * */ pageToken?: string; /** - * Required. The parent, which owns the collection of BigQuery exports. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, `projects/[project_id]`. + * */ parent?: string; } export interface Params$Resource$Projects$Bigqueryexports$Patch extends StandardParameters { /** - * The relative resource name of this export. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name. Example format: "organizations/{organization_id\}/bigQueryExports/{export_id\}" Example format: "folders/{folder_id\}/bigQueryExports/{export_id\}" Example format: "projects/{project_id\}/bigQueryExports/{export_id\}" This field is provided in responses, and is ignored when provided in create requests. + * */ name?: string; /** - * The list of fields to be updated. If empty all mutable fields will be updated. + * */ updateMask?: string; @@ -30897,7 +25203,6 @@ export namespace securitycenter_v1 { } /** - * Validates the given Event Threat Detection custom module. * @example * ```js * // Before running the sample: @@ -30929,7 +25234,6 @@ export namespace securitycenter_v1 { * const res = * await securitycenter.projects.eventThreatDetectionSettings.validateCustomModule( * { - * // Required. Resource name of the parent to validate the Custom Module under. Its format is: * `organizations/{organization\}/eventThreatDetectionSettings`. * `folders/{folder\}/eventThreatDetectionSettings`. * `projects/{project\}/eventThreatDetectionSettings`. * parent: 'projects/my-project/eventThreatDetectionSettings', * * // Request body metadata @@ -31060,7 +25364,7 @@ export namespace securitycenter_v1 { export interface Params$Resource$Projects$Eventthreatdetectionsettings$Validatecustommodule extends StandardParameters { /** - * Required. Resource name of the parent to validate the Custom Module under. Its format is: * `organizations/{organization\}/eventThreatDetectionSettings`. * `folders/{folder\}/eventThreatDetectionSettings`. * `projects/{project\}/eventThreatDetectionSettings`. + * */ parent?: string; @@ -31077,7 +25381,6 @@ export namespace securitycenter_v1 { } /** - * Creates a resident Event Threat Detection custom module at the scope of the given Resource Manager parent, and also creates inherited custom modules for all descendants of the given parent. These modules are enabled by default. * @example * ```js * // Before running the sample: @@ -31109,7 +25412,6 @@ export namespace securitycenter_v1 { * const res = * await securitycenter.projects.eventThreatDetectionSettings.customModules.create( * { - * // Required. The new custom module's parent. Its format is: * `organizations/{organization\}/eventThreatDetectionSettings`. * `folders/{folder\}/eventThreatDetectionSettings`. * `projects/{project\}/eventThreatDetectionSettings`. * parent: 'projects/my-project/eventThreatDetectionSettings', * * // Request body metadata @@ -31255,7 +25557,6 @@ export namespace securitycenter_v1 { } /** - * Deletes the specified Event Threat Detection custom module and all of its descendants in the Resource Manager hierarchy. This method is only supported for resident custom modules. * @example * ```js * // Before running the sample: @@ -31287,7 +25588,6 @@ export namespace securitycenter_v1 { * const res = * await securitycenter.projects.eventThreatDetectionSettings.customModules.delete( * { - * // Required. Name of the custom module to delete. Its format is: * `organizations/{organization\}/eventThreatDetectionSettings/customModules/{module\}`. * `folders/{folder\}/eventThreatDetectionSettings/customModules/{module\}`. * `projects/{project\}/eventThreatDetectionSettings/customModules/{module\}`. * name: 'projects/my-project/eventThreatDetectionSettings/customModules/my-customModule', * }, * ); @@ -31392,7 +25692,6 @@ export namespace securitycenter_v1 { } /** - * Gets an Event Threat Detection custom module. * @example * ```js * // Before running the sample: @@ -31424,7 +25723,6 @@ export namespace securitycenter_v1 { * const res = * await securitycenter.projects.eventThreatDetectionSettings.customModules.get( * { - * // Required. Name of the custom module to get. Its format is: * `organizations/{organization\}/eventThreatDetectionSettings/customModules/{module\}`. * `folders/{folder\}/eventThreatDetectionSettings/customModules/{module\}`. * `projects/{project\}/eventThreatDetectionSettings/customModules/{module\}`. * name: 'projects/my-project/eventThreatDetectionSettings/customModules/my-customModule', * }, * ); @@ -31550,7 +25848,6 @@ export namespace securitycenter_v1 { } /** - * Lists all Event Threat Detection custom modules for the given Resource Manager parent. This includes resident modules defined at the scope of the parent along with modules inherited from ancestors. * @example * ```js * // Before running the sample: @@ -31582,11 +25879,10 @@ export namespace securitycenter_v1 { * const res = * await securitycenter.projects.eventThreatDetectionSettings.customModules.list( * { - * // The maximum number of modules to return. The service may return fewer than this value. If unspecified, at most 10 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. * pageSize: 'placeholder-value', - * // A page token, received from a previous `ListEventThreatDetectionCustomModules` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListEventThreatDetectionCustomModules` must match the call that provided the page token. + * * pageToken: 'placeholder-value', - * // Required. Name of the parent to list custom modules under. Its format is: * `organizations/{organization\}/eventThreatDetectionSettings`. * `folders/{folder\}/eventThreatDetectionSettings`. * `projects/{project\}/eventThreatDetectionSettings`. + * * parent: 'projects/my-project/eventThreatDetectionSettings', * }, * ); @@ -31707,7 +26003,6 @@ export namespace securitycenter_v1 { } /** - * Lists all resident Event Threat Detection custom modules under the given Resource Manager parent and its descendants. * @example * ```js * // Before running the sample: @@ -31739,11 +26034,10 @@ export namespace securitycenter_v1 { * const res = * await securitycenter.projects.eventThreatDetectionSettings.customModules.listDescendant( * { - * // The maximum number of modules to return. The service may return fewer than this value. If unspecified, at most 10 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. * pageSize: 'placeholder-value', - * // A page token, received from a previous `ListDescendantEventThreatDetectionCustomModules` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListDescendantEventThreatDetectionCustomModules` must match the call that provided the page token. + * * pageToken: 'placeholder-value', - * // Required. Name of the parent to list custom modules under. Its format is: * `organizations/{organization\}/eventThreatDetectionSettings`. * `folders/{folder\}/eventThreatDetectionSettings`. * `projects/{project\}/eventThreatDetectionSettings`. + * * parent: 'projects/my-project/eventThreatDetectionSettings', * }, * ); @@ -31863,7 +26157,6 @@ export namespace securitycenter_v1 { } /** - * Updates the Event Threat Detection custom module with the given name based on the given update mask. Updating the enablement state is supported for both resident and inherited modules (though resident modules cannot have an enablement state of "inherited"). Updating the display name or configuration of a module is supported for resident modules only. The type of a module cannot be changed. * @example * ```js * // Before running the sample: @@ -31895,9 +26188,8 @@ export namespace securitycenter_v1 { * const res = * await securitycenter.projects.eventThreatDetectionSettings.customModules.patch( * { - * // Immutable. The resource name of the Event Threat Detection custom module. Its format is: * `organizations/{organization\}/eventThreatDetectionSettings/customModules/{module\}`. * `folders/{folder\}/eventThreatDetectionSettings/customModules/{module\}`. * `projects/{project\}/eventThreatDetectionSettings/customModules/{module\}`. * name: 'projects/my-project/eventThreatDetectionSettings/customModules/my-customModule', - * // The list of fields to be updated. If empty all mutable fields will be updated. + * * updateMask: 'placeholder-value', * * // Request body metadata @@ -32042,7 +26334,7 @@ export namespace securitycenter_v1 { export interface Params$Resource$Projects$Eventthreatdetectionsettings$Custommodules$Create extends StandardParameters { /** - * Required. The new custom module's parent. Its format is: * `organizations/{organization\}/eventThreatDetectionSettings`. * `folders/{folder\}/eventThreatDetectionSettings`. * `projects/{project\}/eventThreatDetectionSettings`. + * */ parent?: string; @@ -32053,51 +26345,51 @@ export namespace securitycenter_v1 { } export interface Params$Resource$Projects$Eventthreatdetectionsettings$Custommodules$Delete extends StandardParameters { /** - * Required. Name of the custom module to delete. Its format is: * `organizations/{organization\}/eventThreatDetectionSettings/customModules/{module\}`. * `folders/{folder\}/eventThreatDetectionSettings/customModules/{module\}`. * `projects/{project\}/eventThreatDetectionSettings/customModules/{module\}`. + * */ name?: string; } export interface Params$Resource$Projects$Eventthreatdetectionsettings$Custommodules$Get extends StandardParameters { /** - * Required. Name of the custom module to get. Its format is: * `organizations/{organization\}/eventThreatDetectionSettings/customModules/{module\}`. * `folders/{folder\}/eventThreatDetectionSettings/customModules/{module\}`. * `projects/{project\}/eventThreatDetectionSettings/customModules/{module\}`. + * */ name?: string; } export interface Params$Resource$Projects$Eventthreatdetectionsettings$Custommodules$List extends StandardParameters { /** - * The maximum number of modules to return. The service may return fewer than this value. If unspecified, at most 10 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. + * */ pageSize?: number; /** - * A page token, received from a previous `ListEventThreatDetectionCustomModules` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListEventThreatDetectionCustomModules` must match the call that provided the page token. + * */ pageToken?: string; /** - * Required. Name of the parent to list custom modules under. Its format is: * `organizations/{organization\}/eventThreatDetectionSettings`. * `folders/{folder\}/eventThreatDetectionSettings`. * `projects/{project\}/eventThreatDetectionSettings`. + * */ parent?: string; } export interface Params$Resource$Projects$Eventthreatdetectionsettings$Custommodules$Listdescendant extends StandardParameters { /** - * The maximum number of modules to return. The service may return fewer than this value. If unspecified, at most 10 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. + * */ pageSize?: number; /** - * A page token, received from a previous `ListDescendantEventThreatDetectionCustomModules` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListDescendantEventThreatDetectionCustomModules` must match the call that provided the page token. + * */ pageToken?: string; /** - * Required. Name of the parent to list custom modules under. Its format is: * `organizations/{organization\}/eventThreatDetectionSettings`. * `folders/{folder\}/eventThreatDetectionSettings`. * `projects/{project\}/eventThreatDetectionSettings`. + * */ parent?: string; } export interface Params$Resource$Projects$Eventthreatdetectionsettings$Custommodules$Patch extends StandardParameters { /** - * Immutable. The resource name of the Event Threat Detection custom module. Its format is: * `organizations/{organization\}/eventThreatDetectionSettings/customModules/{module\}`. * `folders/{folder\}/eventThreatDetectionSettings/customModules/{module\}`. * `projects/{project\}/eventThreatDetectionSettings/customModules/{module\}`. + * */ name?: string; /** - * The list of fields to be updated. If empty all mutable fields will be updated. + * */ updateMask?: string; @@ -32114,7 +26406,6 @@ export namespace securitycenter_v1 { } /** - * Gets an effective Event Threat Detection custom module at the given level. * @example * ```js * // Before running the sample: @@ -32146,7 +26437,6 @@ export namespace securitycenter_v1 { * const res = * await securitycenter.projects.eventThreatDetectionSettings.effectiveCustomModules.get( * { - * // Required. The resource name of the effective Event Threat Detection custom module. Its format is: * `organizations/{organization\}/eventThreatDetectionSettings/effectiveCustomModules/{module\}`. * `folders/{folder\}/eventThreatDetectionSettings/effectiveCustomModules/{module\}`. * `projects/{project\}/eventThreatDetectionSettings/effectiveCustomModules/{module\}`. * name: 'projects/my-project/eventThreatDetectionSettings/effectiveCustomModules/my-effectiveCustomModule', * }, * ); @@ -32269,7 +26559,6 @@ export namespace securitycenter_v1 { } /** - * Lists all effective Event Threat Detection custom modules for the given parent. This includes resident modules defined at the scope of the parent along with modules inherited from its ancestors. * @example * ```js * // Before running the sample: @@ -32301,11 +26590,10 @@ export namespace securitycenter_v1 { * const res = * await securitycenter.projects.eventThreatDetectionSettings.effectiveCustomModules.list( * { - * // The maximum number of modules to return. The service may return fewer than this value. If unspecified, at most 10 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. * pageSize: 'placeholder-value', - * // A page token, received from a previous `ListEffectiveEventThreatDetectionCustomModules` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListEffectiveEventThreatDetectionCustomModules` must match the call that provided the page token. + * * pageToken: 'placeholder-value', - * // Required. Name of the parent to list custom modules for. Its format is: * `organizations/{organization\}/eventThreatDetectionSettings`. * `folders/{folder\}/eventThreatDetectionSettings`. * `projects/{project\}/eventThreatDetectionSettings`. + * * parent: 'projects/my-project/eventThreatDetectionSettings', * }, * ); @@ -32428,21 +26716,21 @@ export namespace securitycenter_v1 { export interface Params$Resource$Projects$Eventthreatdetectionsettings$Effectivecustommodules$Get extends StandardParameters { /** - * Required. The resource name of the effective Event Threat Detection custom module. Its format is: * `organizations/{organization\}/eventThreatDetectionSettings/effectiveCustomModules/{module\}`. * `folders/{folder\}/eventThreatDetectionSettings/effectiveCustomModules/{module\}`. * `projects/{project\}/eventThreatDetectionSettings/effectiveCustomModules/{module\}`. + * */ name?: string; } export interface Params$Resource$Projects$Eventthreatdetectionsettings$Effectivecustommodules$List extends StandardParameters { /** - * The maximum number of modules to return. The service may return fewer than this value. If unspecified, at most 10 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. + * */ pageSize?: number; /** - * A page token, received from a previous `ListEffectiveEventThreatDetectionCustomModules` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListEffectiveEventThreatDetectionCustomModules` must match the call that provided the page token. + * */ pageToken?: string; /** - * Required. Name of the parent to list custom modules for. Its format is: * `organizations/{organization\}/eventThreatDetectionSettings`. * `folders/{folder\}/eventThreatDetectionSettings`. * `projects/{project\}/eventThreatDetectionSettings`. + * */ parent?: string; } @@ -32454,7 +26742,6 @@ export namespace securitycenter_v1 { } /** - * Kicks off an LRO to bulk mute findings for a parent based on a filter. The parent can be either an organization, folder or project. The findings matched by the filter will be muted after the LRO is done. * @example * ```js * // Before running the sample: @@ -32484,7 +26771,6 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.projects.findings.bulkMute({ - * // Required. The parent, at which bulk action needs to be applied. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, `projects/[project_id]`. * parent: 'projects/my-project', * * // Request body metadata @@ -32608,7 +26894,7 @@ export namespace securitycenter_v1 { export interface Params$Resource$Projects$Findings$Bulkmute extends StandardParameters { /** - * Required. The parent, at which bulk action needs to be applied. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, `projects/[project_id]`. + * */ parent?: string; @@ -32636,7 +26922,6 @@ export namespace securitycenter_v1 { } /** - * Deletes an existing mute config. * @example * ```js * // Before running the sample: @@ -32666,7 +26951,6 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.projects.locations.muteConfigs.delete({ - * // Required. Name of the mute config to delete. Its format is `organizations/{organization\}/muteConfigs/{config_id\}`, `folders/{folder\}/muteConfigs/{config_id\}`, `projects/{project\}/muteConfigs/{config_id\}`, `organizations/{organization\}/locations/global/muteConfigs/{config_id\}`, `folders/{folder\}/locations/global/muteConfigs/{config_id\}`, or `projects/{project\}/locations/global/muteConfigs/{config_id\}`. * name: 'projects/my-project/locations/my-location/muteConfigs/my-muteConfig', * }); * console.log(res.data); @@ -32769,7 +27053,6 @@ export namespace securitycenter_v1 { } /** - * Gets a mute config. * @example * ```js * // Before running the sample: @@ -32799,7 +27082,6 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.projects.locations.muteConfigs.get({ - * // Required. Name of the mute config to retrieve. Its format is `organizations/{organization\}/muteConfigs/{config_id\}`, `folders/{folder\}/muteConfigs/{config_id\}`, `projects/{project\}/muteConfigs/{config_id\}`, `organizations/{organization\}/locations/global/muteConfigs/{config_id\}`, `folders/{folder\}/locations/global/muteConfigs/{config_id\}`, or `projects/{project\}/locations/global/muteConfigs/{config_id\}`. * name: 'projects/my-project/locations/my-location/muteConfigs/my-muteConfig', * }); * console.log(res.data); @@ -32922,7 +27204,6 @@ export namespace securitycenter_v1 { } /** - * Updates a mute config. * @example * ```js * // Before running the sample: @@ -32952,9 +27233,8 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.projects.locations.muteConfigs.patch({ - * // This field will be ignored if provided on config creation. Format `organizations/{organization\}/muteConfigs/{mute_config\}` `folders/{folder\}/muteConfigs/{mute_config\}` `projects/{project\}/muteConfigs/{mute_config\}` `organizations/{organization\}/locations/global/muteConfigs/{mute_config\}` `folders/{folder\}/locations/global/muteConfigs/{mute_config\}` `projects/{project\}/locations/global/muteConfigs/{mute_config\}` * name: 'projects/my-project/locations/my-location/muteConfigs/my-muteConfig', - * // The list of fields to be updated. If empty all mutable fields will be updated. + * * updateMask: 'placeholder-value', * * // Request body metadata @@ -33095,23 +27375,23 @@ export namespace securitycenter_v1 { export interface Params$Resource$Projects$Locations$Muteconfigs$Delete extends StandardParameters { /** - * Required. Name of the mute config to delete. Its format is `organizations/{organization\}/muteConfigs/{config_id\}`, `folders/{folder\}/muteConfigs/{config_id\}`, `projects/{project\}/muteConfigs/{config_id\}`, `organizations/{organization\}/locations/global/muteConfigs/{config_id\}`, `folders/{folder\}/locations/global/muteConfigs/{config_id\}`, or `projects/{project\}/locations/global/muteConfigs/{config_id\}`. + * */ name?: string; } export interface Params$Resource$Projects$Locations$Muteconfigs$Get extends StandardParameters { /** - * Required. Name of the mute config to retrieve. Its format is `organizations/{organization\}/muteConfigs/{config_id\}`, `folders/{folder\}/muteConfigs/{config_id\}`, `projects/{project\}/muteConfigs/{config_id\}`, `organizations/{organization\}/locations/global/muteConfigs/{config_id\}`, `folders/{folder\}/locations/global/muteConfigs/{config_id\}`, or `projects/{project\}/locations/global/muteConfigs/{config_id\}`. + * */ name?: string; } export interface Params$Resource$Projects$Locations$Muteconfigs$Patch extends StandardParameters { /** - * This field will be ignored if provided on config creation. Format `organizations/{organization\}/muteConfigs/{mute_config\}` `folders/{folder\}/muteConfigs/{mute_config\}` `projects/{project\}/muteConfigs/{mute_config\}` `organizations/{organization\}/locations/global/muteConfigs/{mute_config\}` `folders/{folder\}/locations/global/muteConfigs/{mute_config\}` `projects/{project\}/locations/global/muteConfigs/{mute_config\}` + * */ name?: string; /** - * The list of fields to be updated. If empty all mutable fields will be updated. + * */ updateMask?: string; @@ -33128,7 +27408,6 @@ export namespace securitycenter_v1 { } /** - * Creates a mute config. * @example * ```js * // Before running the sample: @@ -33158,9 +27437,8 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.projects.muteConfigs.create({ - * // Required. Unique identifier provided by the client within the parent scope. It must consist of only lowercase letters, numbers, and hyphens, must start with a letter, must end with either a letter or a number, and must be 63 characters or less. * muteConfigId: 'placeholder-value', - * // Required. Resource name of the new mute configs's parent. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`. + * * parent: 'projects/my-project', * * // Request body metadata @@ -33302,7 +27580,6 @@ export namespace securitycenter_v1 { } /** - * Deletes an existing mute config. * @example * ```js * // Before running the sample: @@ -33332,7 +27609,6 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.projects.muteConfigs.delete({ - * // Required. Name of the mute config to delete. Its format is `organizations/{organization\}/muteConfigs/{config_id\}`, `folders/{folder\}/muteConfigs/{config_id\}`, `projects/{project\}/muteConfigs/{config_id\}`, `organizations/{organization\}/locations/global/muteConfigs/{config_id\}`, `folders/{folder\}/locations/global/muteConfigs/{config_id\}`, or `projects/{project\}/locations/global/muteConfigs/{config_id\}`. * name: 'projects/my-project/muteConfigs/my-muteConfig', * }); * console.log(res.data); @@ -33435,7 +27711,6 @@ export namespace securitycenter_v1 { } /** - * Gets a mute config. * @example * ```js * // Before running the sample: @@ -33465,7 +27740,6 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.projects.muteConfigs.get({ - * // Required. Name of the mute config to retrieve. Its format is `organizations/{organization\}/muteConfigs/{config_id\}`, `folders/{folder\}/muteConfigs/{config_id\}`, `projects/{project\}/muteConfigs/{config_id\}`, `organizations/{organization\}/locations/global/muteConfigs/{config_id\}`, `folders/{folder\}/locations/global/muteConfigs/{config_id\}`, or `projects/{project\}/locations/global/muteConfigs/{config_id\}`. * name: 'projects/my-project/muteConfigs/my-muteConfig', * }); * console.log(res.data); @@ -33588,7 +27862,6 @@ export namespace securitycenter_v1 { } /** - * Lists mute configs. * @example * ```js * // Before running the sample: @@ -33618,11 +27891,10 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.projects.muteConfigs.list({ - * // The maximum number of configs to return. The service may return fewer than this value. If unspecified, at most 10 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. * pageSize: 'placeholder-value', - * // A page token, received from a previous `ListMuteConfigs` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListMuteConfigs` must match the call that provided the page token. + * * pageToken: 'placeholder-value', - * // Required. The parent, which owns the collection of mute configs. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, `projects/[project_id]`. + * * parent: 'projects/my-project', * }); * console.log(res.data); @@ -33733,7 +28005,6 @@ export namespace securitycenter_v1 { } /** - * Updates a mute config. * @example * ```js * // Before running the sample: @@ -33763,9 +28034,8 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.projects.muteConfigs.patch({ - * // This field will be ignored if provided on config creation. Format `organizations/{organization\}/muteConfigs/{mute_config\}` `folders/{folder\}/muteConfigs/{mute_config\}` `projects/{project\}/muteConfigs/{mute_config\}` `organizations/{organization\}/locations/global/muteConfigs/{mute_config\}` `folders/{folder\}/locations/global/muteConfigs/{mute_config\}` `projects/{project\}/locations/global/muteConfigs/{mute_config\}` * name: 'projects/my-project/muteConfigs/my-muteConfig', - * // The list of fields to be updated. If empty all mutable fields will be updated. + * * updateMask: 'placeholder-value', * * // Request body metadata @@ -33906,11 +28176,11 @@ export namespace securitycenter_v1 { export interface Params$Resource$Projects$Muteconfigs$Create extends StandardParameters { /** - * Required. Unique identifier provided by the client within the parent scope. It must consist of only lowercase letters, numbers, and hyphens, must start with a letter, must end with either a letter or a number, and must be 63 characters or less. + * */ muteConfigId?: string; /** - * Required. Resource name of the new mute configs's parent. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`. + * */ parent?: string; @@ -33921,37 +28191,37 @@ export namespace securitycenter_v1 { } export interface Params$Resource$Projects$Muteconfigs$Delete extends StandardParameters { /** - * Required. Name of the mute config to delete. Its format is `organizations/{organization\}/muteConfigs/{config_id\}`, `folders/{folder\}/muteConfigs/{config_id\}`, `projects/{project\}/muteConfigs/{config_id\}`, `organizations/{organization\}/locations/global/muteConfigs/{config_id\}`, `folders/{folder\}/locations/global/muteConfigs/{config_id\}`, or `projects/{project\}/locations/global/muteConfigs/{config_id\}`. + * */ name?: string; } export interface Params$Resource$Projects$Muteconfigs$Get extends StandardParameters { /** - * Required. Name of the mute config to retrieve. Its format is `organizations/{organization\}/muteConfigs/{config_id\}`, `folders/{folder\}/muteConfigs/{config_id\}`, `projects/{project\}/muteConfigs/{config_id\}`, `organizations/{organization\}/locations/global/muteConfigs/{config_id\}`, `folders/{folder\}/locations/global/muteConfigs/{config_id\}`, or `projects/{project\}/locations/global/muteConfigs/{config_id\}`. + * */ name?: string; } export interface Params$Resource$Projects$Muteconfigs$List extends StandardParameters { /** - * The maximum number of configs to return. The service may return fewer than this value. If unspecified, at most 10 configs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. + * */ pageSize?: number; /** - * A page token, received from a previous `ListMuteConfigs` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListMuteConfigs` must match the call that provided the page token. + * */ pageToken?: string; /** - * Required. The parent, which owns the collection of mute configs. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, `projects/[project_id]`. + * */ parent?: string; } export interface Params$Resource$Projects$Muteconfigs$Patch extends StandardParameters { /** - * This field will be ignored if provided on config creation. Format `organizations/{organization\}/muteConfigs/{mute_config\}` `folders/{folder\}/muteConfigs/{mute_config\}` `projects/{project\}/muteConfigs/{mute_config\}` `organizations/{organization\}/locations/global/muteConfigs/{mute_config\}` `folders/{folder\}/locations/global/muteConfigs/{mute_config\}` `projects/{project\}/locations/global/muteConfigs/{mute_config\}` + * */ name?: string; /** - * The list of fields to be updated. If empty all mutable fields will be updated. + * */ updateMask?: string; @@ -33968,7 +28238,6 @@ export namespace securitycenter_v1 { } /** - * Creates a notification config. * @example * ```js * // Before running the sample: @@ -33998,9 +28267,8 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.projects.notificationConfigs.create({ - * // Required. Unique identifier provided by the client within the parent scope. It must be between 1 and 128 characters and contain alphanumeric characters, underscores, or hyphens only. * configId: 'placeholder-value', - * // Required. Resource name of the new notification config's parent. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`. + * * parent: 'projects/my-project', * * // Request body metadata @@ -34124,7 +28392,6 @@ export namespace securitycenter_v1 { } /** - * Deletes a notification config. * @example * ```js * // Before running the sample: @@ -34154,7 +28421,6 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.projects.notificationConfigs.delete({ - * // Required. Name of the notification config to delete. Its format is `organizations/[organization_id]/notificationConfigs/[config_id]`, `folders/[folder_id]/notificationConfigs/[config_id]`, or `projects/[project_id]/notificationConfigs/[config_id]`. * name: 'projects/my-project/notificationConfigs/my-notificationConfig', * }); * console.log(res.data); @@ -34257,7 +28523,6 @@ export namespace securitycenter_v1 { } /** - * Gets a notification config. * @example * ```js * // Before running the sample: @@ -34287,7 +28552,6 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.projects.notificationConfigs.get({ - * // Required. Name of the notification config to get. Its format is `organizations/[organization_id]/notificationConfigs/[config_id]`, `folders/[folder_id]/notificationConfigs/[config_id]`, or `projects/[project_id]/notificationConfigs/[config_id]`. * name: 'projects/my-project/notificationConfigs/my-notificationConfig', * }); * console.log(res.data); @@ -34396,7 +28660,6 @@ export namespace securitycenter_v1 { } /** - * Lists notification configs. * @example * ```js * // Before running the sample: @@ -34426,11 +28689,10 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.projects.notificationConfigs.list({ - * // The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. * pageSize: 'placeholder-value', - * // The value returned by the last `ListNotificationConfigsResponse`; indicates that this is a continuation of a prior `ListNotificationConfigs` call, and that the system should return the next page of data. + * * pageToken: 'placeholder-value', - * // Required. The name of the parent in which to list the notification configurations. Its format is "organizations/[organization_id]", "folders/[folder_id]", or "projects/[project_id]". + * * parent: 'projects/my-project', * }); * console.log(res.data); @@ -34545,7 +28807,6 @@ export namespace securitycenter_v1 { } /** - * Updates a notification config. The following update fields are allowed: description, pubsub_topic, streaming_config.filter * @example * ```js * // Before running the sample: @@ -34575,9 +28836,8 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.projects.notificationConfigs.patch({ - * // The relative resource name of this notification config. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id\}/notificationConfigs/notify_public_bucket", "folders/{folder_id\}/notificationConfigs/notify_public_bucket", or "projects/{project_id\}/notificationConfigs/notify_public_bucket". * name: 'projects/my-project/notificationConfigs/my-notificationConfig', - * // The FieldMask to use when updating the notification config. If empty all mutable fields will be updated. + * * updateMask: 'placeholder-value', * * // Request body metadata @@ -34700,11 +28960,11 @@ export namespace securitycenter_v1 { export interface Params$Resource$Projects$Notificationconfigs$Create extends StandardParameters { /** - * Required. Unique identifier provided by the client within the parent scope. It must be between 1 and 128 characters and contain alphanumeric characters, underscores, or hyphens only. + * */ configId?: string; /** - * Required. Resource name of the new notification config's parent. Its format is `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`. + * */ parent?: string; @@ -34715,37 +28975,37 @@ export namespace securitycenter_v1 { } export interface Params$Resource$Projects$Notificationconfigs$Delete extends StandardParameters { /** - * Required. Name of the notification config to delete. Its format is `organizations/[organization_id]/notificationConfigs/[config_id]`, `folders/[folder_id]/notificationConfigs/[config_id]`, or `projects/[project_id]/notificationConfigs/[config_id]`. + * */ name?: string; } export interface Params$Resource$Projects$Notificationconfigs$Get extends StandardParameters { /** - * Required. Name of the notification config to get. Its format is `organizations/[organization_id]/notificationConfigs/[config_id]`, `folders/[folder_id]/notificationConfigs/[config_id]`, or `projects/[project_id]/notificationConfigs/[config_id]`. + * */ name?: string; } export interface Params$Resource$Projects$Notificationconfigs$List extends StandardParameters { /** - * The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. + * */ pageSize?: number; /** - * The value returned by the last `ListNotificationConfigsResponse`; indicates that this is a continuation of a prior `ListNotificationConfigs` call, and that the system should return the next page of data. + * */ pageToken?: string; /** - * Required. The name of the parent in which to list the notification configurations. Its format is "organizations/[organization_id]", "folders/[folder_id]", or "projects/[project_id]". + * */ parent?: string; } export interface Params$Resource$Projects$Notificationconfigs$Patch extends StandardParameters { /** - * The relative resource name of this notification config. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id\}/notificationConfigs/notify_public_bucket", "folders/{folder_id\}/notificationConfigs/notify_public_bucket", or "projects/{project_id\}/notificationConfigs/notify_public_bucket". + * */ name?: string; /** - * The FieldMask to use when updating the notification config. If empty all mutable fields will be updated. + * */ updateMask?: string; @@ -34779,7 +29039,6 @@ export namespace securitycenter_v1 { } /** - * Creates a resident SecurityHealthAnalyticsCustomModule at the scope of the given CRM parent, and also creates inherited SecurityHealthAnalyticsCustomModules for all CRM descendants of the given parent. These modules are enabled by default. * @example * ```js * // Before running the sample: @@ -34811,7 +29070,6 @@ export namespace securitycenter_v1 { * const res = * await securitycenter.projects.securityHealthAnalyticsSettings.customModules.create( * { - * // Required. Resource name of the new custom module's parent. Its format is `organizations/{organization\}/securityHealthAnalyticsSettings`, `folders/{folder\}/securityHealthAnalyticsSettings`, or `projects/{project\}/securityHealthAnalyticsSettings` * parent: 'projects/my-project/securityHealthAnalyticsSettings', * * // Request body metadata @@ -34953,7 +29211,6 @@ export namespace securitycenter_v1 { } /** - * Deletes the specified SecurityHealthAnalyticsCustomModule and all of its descendants in the CRM hierarchy. This method is only supported for resident custom modules. * @example * ```js * // Before running the sample: @@ -34985,7 +29242,6 @@ export namespace securitycenter_v1 { * const res = * await securitycenter.projects.securityHealthAnalyticsSettings.customModules.delete( * { - * // Required. Name of the custom module to delete. Its format is `organizations/{organization\}/securityHealthAnalyticsSettings/customModules/{customModule\}`, `folders/{folder\}/securityHealthAnalyticsSettings/customModules/{customModule\}`, or `projects/{project\}/securityHealthAnalyticsSettings/customModules/{customModule\}` * name: 'projects/my-project/securityHealthAnalyticsSettings/customModules/my-customModule', * }, * ); @@ -35090,7 +29346,6 @@ export namespace securitycenter_v1 { } /** - * Retrieves a SecurityHealthAnalyticsCustomModule. * @example * ```js * // Before running the sample: @@ -35122,7 +29377,6 @@ export namespace securitycenter_v1 { * const res = * await securitycenter.projects.securityHealthAnalyticsSettings.customModules.get( * { - * // Required. Name of the custom module to get. Its format is `organizations/{organization\}/securityHealthAnalyticsSettings/customModules/{customModule\}`, `folders/{folder\}/securityHealthAnalyticsSettings/customModules/{customModule\}`, or `projects/{project\}/securityHealthAnalyticsSettings/customModules/{customModule\}` * name: 'projects/my-project/securityHealthAnalyticsSettings/customModules/my-customModule', * }, * ); @@ -35246,7 +29500,6 @@ export namespace securitycenter_v1 { } /** - * Returns a list of all SecurityHealthAnalyticsCustomModules for the given parent. This includes resident modules defined at the scope of the parent, and inherited modules, inherited from CRM ancestors. * @example * ```js * // Before running the sample: @@ -35278,11 +29531,10 @@ export namespace securitycenter_v1 { * const res = * await securitycenter.projects.securityHealthAnalyticsSettings.customModules.list( * { - * // The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. * pageSize: 'placeholder-value', - * // The value returned by the last call indicating a continuation + * * pageToken: 'placeholder-value', - * // Required. Name of parent to list custom modules. Its format is `organizations/{organization\}/securityHealthAnalyticsSettings`, `folders/{folder\}/securityHealthAnalyticsSettings`, or `projects/{project\}/securityHealthAnalyticsSettings` + * * parent: 'projects/my-project/securityHealthAnalyticsSettings', * }, * ); @@ -35403,7 +29655,6 @@ export namespace securitycenter_v1 { } /** - * Returns a list of all resident SecurityHealthAnalyticsCustomModules under the given CRM parent and all of the parent’s CRM descendants. * @example * ```js * // Before running the sample: @@ -35435,11 +29686,10 @@ export namespace securitycenter_v1 { * const res = * await securitycenter.projects.securityHealthAnalyticsSettings.customModules.listDescendant( * { - * // The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. * pageSize: 'placeholder-value', - * // The value returned by the last call indicating a continuation + * * pageToken: 'placeholder-value', - * // Required. Name of parent to list descendant custom modules. Its format is `organizations/{organization\}/securityHealthAnalyticsSettings`, `folders/{folder\}/securityHealthAnalyticsSettings`, or `projects/{project\}/securityHealthAnalyticsSettings` + * * parent: 'projects/my-project/securityHealthAnalyticsSettings', * }, * ); @@ -35559,7 +29809,6 @@ export namespace securitycenter_v1 { } /** - * Updates the SecurityHealthAnalyticsCustomModule under the given name based on the given update mask. Updating the enablement state is supported on both resident and inherited modules (though resident modules cannot have an enablement state of "inherited"). Updating the display name and custom config of a module is supported on resident modules only. * @example * ```js * // Before running the sample: @@ -35591,9 +29840,8 @@ export namespace securitycenter_v1 { * const res = * await securitycenter.projects.securityHealthAnalyticsSettings.customModules.patch( * { - * // Immutable. The resource name of the custom module. Its format is "organizations/{organization\}/securityHealthAnalyticsSettings/customModules/{customModule\}", or "folders/{folder\}/securityHealthAnalyticsSettings/customModules/{customModule\}", or "projects/{project\}/securityHealthAnalyticsSettings/customModules/{customModule\}" The id {customModule\} is server-generated and is not user settable. It will be a numeric id containing 1-20 digits. * name: 'projects/my-project/securityHealthAnalyticsSettings/customModules/my-customModule', - * // The list of fields to be updated. The only fields that can be updated are `enablement_state` and `custom_config`. If empty or set to the wildcard value `*`, both `enablement_state` and `custom_config` are updated. + * * updateMask: 'placeholder-value', * * // Request body metadata @@ -35732,7 +29980,6 @@ export namespace securitycenter_v1 { } /** - * Simulates a given SecurityHealthAnalyticsCustomModule and Resource. * @example * ```js * // Before running the sample: @@ -35764,7 +30011,6 @@ export namespace securitycenter_v1 { * const res = * await securitycenter.projects.securityHealthAnalyticsSettings.customModules.simulate( * { - * // Required. The relative resource name of the organization, project, or folder. For more information about relative resource names, see [Relative Resource Name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) Example: `organizations/{organization_id\}` * parent: 'projects/my-project/securityHealthAnalyticsSettings', * * // Request body metadata @@ -35895,7 +30141,7 @@ export namespace securitycenter_v1 { export interface Params$Resource$Projects$Securityhealthanalyticssettings$Custommodules$Create extends StandardParameters { /** - * Required. Resource name of the new custom module's parent. Its format is `organizations/{organization\}/securityHealthAnalyticsSettings`, `folders/{folder\}/securityHealthAnalyticsSettings`, or `projects/{project\}/securityHealthAnalyticsSettings` + * */ parent?: string; @@ -35906,51 +30152,51 @@ export namespace securitycenter_v1 { } export interface Params$Resource$Projects$Securityhealthanalyticssettings$Custommodules$Delete extends StandardParameters { /** - * Required. Name of the custom module to delete. Its format is `organizations/{organization\}/securityHealthAnalyticsSettings/customModules/{customModule\}`, `folders/{folder\}/securityHealthAnalyticsSettings/customModules/{customModule\}`, or `projects/{project\}/securityHealthAnalyticsSettings/customModules/{customModule\}` + * */ name?: string; } export interface Params$Resource$Projects$Securityhealthanalyticssettings$Custommodules$Get extends StandardParameters { /** - * Required. Name of the custom module to get. Its format is `organizations/{organization\}/securityHealthAnalyticsSettings/customModules/{customModule\}`, `folders/{folder\}/securityHealthAnalyticsSettings/customModules/{customModule\}`, or `projects/{project\}/securityHealthAnalyticsSettings/customModules/{customModule\}` + * */ name?: string; } export interface Params$Resource$Projects$Securityhealthanalyticssettings$Custommodules$List extends StandardParameters { /** - * The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. + * */ pageSize?: number; /** - * The value returned by the last call indicating a continuation + * */ pageToken?: string; /** - * Required. Name of parent to list custom modules. Its format is `organizations/{organization\}/securityHealthAnalyticsSettings`, `folders/{folder\}/securityHealthAnalyticsSettings`, or `projects/{project\}/securityHealthAnalyticsSettings` + * */ parent?: string; } export interface Params$Resource$Projects$Securityhealthanalyticssettings$Custommodules$Listdescendant extends StandardParameters { /** - * The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. + * */ pageSize?: number; /** - * The value returned by the last call indicating a continuation + * */ pageToken?: string; /** - * Required. Name of parent to list descendant custom modules. Its format is `organizations/{organization\}/securityHealthAnalyticsSettings`, `folders/{folder\}/securityHealthAnalyticsSettings`, or `projects/{project\}/securityHealthAnalyticsSettings` + * */ parent?: string; } export interface Params$Resource$Projects$Securityhealthanalyticssettings$Custommodules$Patch extends StandardParameters { /** - * Immutable. The resource name of the custom module. Its format is "organizations/{organization\}/securityHealthAnalyticsSettings/customModules/{customModule\}", or "folders/{folder\}/securityHealthAnalyticsSettings/customModules/{customModule\}", or "projects/{project\}/securityHealthAnalyticsSettings/customModules/{customModule\}" The id {customModule\} is server-generated and is not user settable. It will be a numeric id containing 1-20 digits. + * */ name?: string; /** - * The list of fields to be updated. The only fields that can be updated are `enablement_state` and `custom_config`. If empty or set to the wildcard value `*`, both `enablement_state` and `custom_config` are updated. + * */ updateMask?: string; @@ -35961,7 +30207,7 @@ export namespace securitycenter_v1 { } export interface Params$Resource$Projects$Securityhealthanalyticssettings$Custommodules$Simulate extends StandardParameters { /** - * Required. The relative resource name of the organization, project, or folder. For more information about relative resource names, see [Relative Resource Name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) Example: `organizations/{organization_id\}` + * */ parent?: string; @@ -35978,7 +30224,6 @@ export namespace securitycenter_v1 { } /** - * Retrieves an EffectiveSecurityHealthAnalyticsCustomModule. * @example * ```js * // Before running the sample: @@ -36010,7 +30255,6 @@ export namespace securitycenter_v1 { * const res = * await securitycenter.projects.securityHealthAnalyticsSettings.effectiveCustomModules.get( * { - * // Required. Name of the effective custom module to get. Its format is `organizations/{organization\}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule\}`, `folders/{folder\}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule\}`, or `projects/{project\}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule\}` * name: 'projects/my-project/securityHealthAnalyticsSettings/effectiveCustomModules/my-effectiveCustomModule', * }, * ); @@ -36131,7 +30375,6 @@ export namespace securitycenter_v1 { } /** - * Returns a list of all EffectiveSecurityHealthAnalyticsCustomModules for the given parent. This includes resident modules defined at the scope of the parent, and inherited modules, inherited from CRM ancestors. * @example * ```js * // Before running the sample: @@ -36163,11 +30406,10 @@ export namespace securitycenter_v1 { * const res = * await securitycenter.projects.securityHealthAnalyticsSettings.effectiveCustomModules.list( * { - * // The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. * pageSize: 'placeholder-value', - * // The value returned by the last call indicating a continuation + * * pageToken: 'placeholder-value', - * // Required. Name of parent to list effective custom modules. Its format is `organizations/{organization\}/securityHealthAnalyticsSettings`, `folders/{folder\}/securityHealthAnalyticsSettings`, or `projects/{project\}/securityHealthAnalyticsSettings` + * * parent: 'projects/my-project/securityHealthAnalyticsSettings', * }, * ); @@ -36290,21 +30532,21 @@ export namespace securitycenter_v1 { export interface Params$Resource$Projects$Securityhealthanalyticssettings$Effectivecustommodules$Get extends StandardParameters { /** - * Required. Name of the effective custom module to get. Its format is `organizations/{organization\}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule\}`, `folders/{folder\}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule\}`, or `projects/{project\}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule\}` + * */ name?: string; } export interface Params$Resource$Projects$Securityhealthanalyticssettings$Effectivecustommodules$List extends StandardParameters { /** - * The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. + * */ pageSize?: number; /** - * The value returned by the last call indicating a continuation + * */ pageToken?: string; /** - * Required. Name of parent to list effective custom modules. Its format is `organizations/{organization\}/securityHealthAnalyticsSettings`, `folders/{folder\}/securityHealthAnalyticsSettings`, or `projects/{project\}/securityHealthAnalyticsSettings` + * */ parent?: string; } @@ -36318,7 +30560,6 @@ export namespace securitycenter_v1 { } /** - * Lists all sources belonging to an organization. * @example * ```js * // Before running the sample: @@ -36348,11 +30589,10 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.projects.sources.list({ - * // The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. * pageSize: 'placeholder-value', - * // The value returned by the last `ListSourcesResponse`; indicates that this is a continuation of a prior `ListSources` call, and that the system should return the next page of data. + * * pageToken: 'placeholder-value', - * // Required. Resource name of the parent of sources to list. Its format should be `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`. + * * parent: 'projects/my-project', * }); * console.log(res.data); @@ -36463,15 +30703,15 @@ export namespace securitycenter_v1 { export interface Params$Resource$Projects$Sources$List extends StandardParameters { /** - * The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. + * */ pageSize?: number; /** - * The value returned by the last `ListSourcesResponse`; indicates that this is a continuation of a prior `ListSources` call, and that the system should return the next page of data. + * */ pageToken?: string; /** - * Required. Resource name of the parent of sources to list. Its format should be `organizations/[organization_id]`, `folders/[folder_id]`, or `projects/[project_id]`. + * */ parent?: string; } @@ -36486,7 +30726,6 @@ export namespace securitycenter_v1 { } /** - * Filters an organization or source's findings and groups them by their specified properties. To group across all sources provide a `-` as the source id. Example: /v1/organizations/{organization_id\}/sources/-/findings, /v1/folders/{folder_id\}/sources/-/findings, /v1/projects/{project_id\}/sources/-/findings * @example * ```js * // Before running the sample: @@ -36516,7 +30755,6 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.projects.sources.findings.group({ - * // Required. Name of the source to groupBy. Its format is `organizations/[organization_id]/sources/[source_id]`, `folders/[folder_id]/sources/[source_id]`, or `projects/[project_id]/sources/[source_id]`. To groupBy across all sources provide a source_id of `-`. For example: `organizations/{organization_id\}/sources/-, folders/{folder_id\}/sources/-`, or `projects/{project_id\}/sources/-` * parent: 'projects/my-project/sources/my-source', * * // Request body metadata @@ -36642,7 +30880,6 @@ export namespace securitycenter_v1 { } /** - * Lists an organization or source's findings. To list across all sources provide a `-` as the source id. Example: /v1/organizations/{organization_id\}/sources/-/findings * @example * ```js * // Before running the sample: @@ -36672,21 +30909,20 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.projects.sources.findings.list({ - * // When compare_duration is set, the ListFindingsResult's "state_change" attribute is updated to indicate whether the finding had its state changed, the finding's state remained unchanged, or if the finding was added in any state during the compare_duration period of time that precedes the read_time. This is the time between (read_time - compare_duration) and read_time. The state_change value is derived based on the presence and state of the finding at the two points in time. Intermediate state changes between the two times don't affect the result. For example, the results aren't affected if the finding is made inactive and then active again. Possible "state_change" values when compare_duration is specified: * "CHANGED": indicates that the finding was present and matched the given filter at the start of compare_duration, but changed its state at read_time. * "UNCHANGED": indicates that the finding was present and matched the given filter at the start of compare_duration and did not change state at read_time. * "ADDED": indicates that the finding did not match the given filter or was not present at the start of compare_duration, but was present at read_time. * "REMOVED": indicates that the finding was present and matched the filter at the start of compare_duration, but did not match the filter at read_time. If compare_duration is not specified, then the only possible state_change is "UNUSED", which will be the state_change set for all findings present at read_time. * compareDuration: 'placeholder-value', - * // A field mask to specify the Finding fields to be listed in the response. An empty field mask will list all fields. + * * fieldMask: 'placeholder-value', - * // Expression that defines the filter to apply across findings. The expression is a list of one or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. Examples include: * name * source_properties.a_property * security_marks.marks.marka The supported operators are: * `=` for all value types. * `\>`, `<`, `\>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. The following field and operator combinations are supported: * name: `=` * parent: `=`, `:` * resource_name: `=`, `:` * state: `=`, `:` * category: `=`, `:` * external_uri: `=`, `:` * event_time: `=`, `\>`, `<`, `\>=`, `<=` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `event_time = "2019-06-10T16:07:18-07:00"` `event_time = 1560208038000` * severity: `=`, `:` * workflow_state: `=`, `:` * security_marks.marks: `=`, `:` * source_properties: `=`, `:`, `\>`, `<`, `\>=`, `<=` For example, `source_properties.size = 100` is a valid filter string. Use a partial match on the empty string to filter based on a property existing: `source_properties.my_property : ""` Use a negated partial match on the empty string to filter based on a property not existing: `-source_properties.my_property : ""` * resource: * resource.name: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.type: `=`, `:` * resource.folders.resource_folder: `=`, `:` * resource.display_name: `=`, `:` + * * filter: 'placeholder-value', - * // Expression that defines what fields and order to use for sorting. The string value should follow SQL syntax: comma separated list of fields. For example: "name,resource_properties.a_property". The default sorting order is ascending. To specify descending order for a field, a suffix " desc" should be appended to the field name. For example: "name desc,source_properties.a_property". Redundant space characters in the syntax are insignificant. "name desc,source_properties.a_property" and " name desc , source_properties.a_property " are equivalent. The following fields are supported: name parent state category resource_name event_time source_properties security_marks.marks + * * orderBy: 'placeholder-value', - * // The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. + * * pageSize: 'placeholder-value', - * // The value returned by the last `ListFindingsResponse`; indicates that this is a continuation of a prior `ListFindings` call, and that the system should return the next page of data. + * * pageToken: 'placeholder-value', - * // Required. Name of the source the findings belong to. Its format is `organizations/[organization_id]/sources/[source_id]`, `folders/[folder_id]/sources/[source_id]`, or `projects/[project_id]/sources/[source_id]`. To list across all sources provide a source_id of `-`. For example: `organizations/{organization_id\}/sources/-`, `folders/{folder_id\}/sources/-` or `projects/{projects_id\}/sources/-` + * * parent: 'projects/my-project/sources/my-source', - * // Time used as a reference point when filtering findings. The filter is limited to findings existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW. + * * readTime: 'placeholder-value', * }); * console.log(res.data); @@ -36799,7 +31035,6 @@ export namespace securitycenter_v1 { } /** - * Creates or updates a finding. The corresponding source must exist for a finding creation to succeed. * @example * ```js * // Before running the sample: @@ -36829,9 +31064,8 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.projects.sources.findings.patch({ - * // The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: "organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}", "folders/{folder_id\}/sources/{source_id\}/findings/{finding_id\}", "projects/{project_id\}/sources/{source_id\}/findings/{finding_id\}". * name: 'projects/my-project/sources/my-source/findings/my-finding', - * // The FieldMask to use when updating the finding resource. This field should not be specified when creating a finding. When updating a finding, an empty mask is treated as updating all mutable fields and replacing source_properties. Individual source_properties can be added/updated by using "source_properties." in the field mask. + * * updateMask: 'placeholder-value', * * // Request body metadata @@ -37078,7 +31312,6 @@ export namespace securitycenter_v1 { } /** - * Updates the mute state of a finding. * @example * ```js * // Before running the sample: @@ -37108,7 +31341,6 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.projects.sources.findings.setMute({ - * // Required. The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: `organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}`, `folders/{folder_id\}/sources/{source_id\}/findings/{finding_id\}`, `projects/{project_id\}/sources/{source_id\}/findings/{finding_id\}`. * name: 'projects/my-project/sources/my-source/findings/my-finding', * * // Request body metadata @@ -37291,7 +31523,6 @@ export namespace securitycenter_v1 { } /** - * Updates the state of a finding. * @example * ```js * // Before running the sample: @@ -37321,7 +31552,6 @@ export namespace securitycenter_v1 { * * // Do the magic * const res = await securitycenter.projects.sources.findings.setState({ - * // Required. The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: `organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}`, `folders/{folder_id\}/sources/{source_id\}/findings/{finding_id\}`, `projects/{project_id\}/sources/{source_id\}/findings/{finding_id\}`. * name: 'projects/my-project/sources/my-source/findings/my-finding', * * // Request body metadata @@ -37505,7 +31735,6 @@ export namespace securitycenter_v1 { } /** - * Updates security marks. * @example * ```js * // Before running the sample: @@ -37536,11 +31765,10 @@ export namespace securitycenter_v1 { * // Do the magic * const res = * await securitycenter.projects.sources.findings.updateSecurityMarks({ - * // The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id\}/assets/{asset_id\}/securityMarks" "organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}/securityMarks". * name: 'projects/my-project/sources/my-source/findings/my-finding/securityMarks', - * // The time at which the updated SecurityMarks take effect. If not set uses current server time. Updates will be applied to the SecurityMarks that are active immediately preceding this time. Must be earlier or equal to the server time. + * * startTime: 'placeholder-value', - * // The FieldMask to use when updating the security marks resource. The field mask must not contain duplicate fields. If empty or set to "marks", all marks will be replaced. Individual marks can be updated using "marks.". + * * updateMask: 'placeholder-value', * * // Request body metadata @@ -37662,7 +31890,7 @@ export namespace securitycenter_v1 { export interface Params$Resource$Projects$Sources$Findings$Group extends StandardParameters { /** - * Required. Name of the source to groupBy. Its format is `organizations/[organization_id]/sources/[source_id]`, `folders/[folder_id]/sources/[source_id]`, or `projects/[project_id]/sources/[source_id]`. To groupBy across all sources provide a source_id of `-`. For example: `organizations/{organization_id\}/sources/-, folders/{folder_id\}/sources/-`, or `projects/{project_id\}/sources/-` + * */ parent?: string; @@ -37673,45 +31901,45 @@ export namespace securitycenter_v1 { } export interface Params$Resource$Projects$Sources$Findings$List extends StandardParameters { /** - * When compare_duration is set, the ListFindingsResult's "state_change" attribute is updated to indicate whether the finding had its state changed, the finding's state remained unchanged, or if the finding was added in any state during the compare_duration period of time that precedes the read_time. This is the time between (read_time - compare_duration) and read_time. The state_change value is derived based on the presence and state of the finding at the two points in time. Intermediate state changes between the two times don't affect the result. For example, the results aren't affected if the finding is made inactive and then active again. Possible "state_change" values when compare_duration is specified: * "CHANGED": indicates that the finding was present and matched the given filter at the start of compare_duration, but changed its state at read_time. * "UNCHANGED": indicates that the finding was present and matched the given filter at the start of compare_duration and did not change state at read_time. * "ADDED": indicates that the finding did not match the given filter or was not present at the start of compare_duration, but was present at read_time. * "REMOVED": indicates that the finding was present and matched the filter at the start of compare_duration, but did not match the filter at read_time. If compare_duration is not specified, then the only possible state_change is "UNUSED", which will be the state_change set for all findings present at read_time. + * */ compareDuration?: string; /** - * A field mask to specify the Finding fields to be listed in the response. An empty field mask will list all fields. + * */ fieldMask?: string; /** - * Expression that defines the filter to apply across findings. The expression is a list of one or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. Examples include: * name * source_properties.a_property * security_marks.marks.marka The supported operators are: * `=` for all value types. * `\>`, `<`, `\>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. The following field and operator combinations are supported: * name: `=` * parent: `=`, `:` * resource_name: `=`, `:` * state: `=`, `:` * category: `=`, `:` * external_uri: `=`, `:` * event_time: `=`, `\>`, `<`, `\>=`, `<=` Usage: This should be milliseconds since epoch or an RFC3339 string. Examples: `event_time = "2019-06-10T16:07:18-07:00"` `event_time = 1560208038000` * severity: `=`, `:` * workflow_state: `=`, `:` * security_marks.marks: `=`, `:` * source_properties: `=`, `:`, `\>`, `<`, `\>=`, `<=` For example, `source_properties.size = 100` is a valid filter string. Use a partial match on the empty string to filter based on a property existing: `source_properties.my_property : ""` Use a negated partial match on the empty string to filter based on a property not existing: `-source_properties.my_property : ""` * resource: * resource.name: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.type: `=`, `:` * resource.folders.resource_folder: `=`, `:` * resource.display_name: `=`, `:` + * */ filter?: string; /** - * Expression that defines what fields and order to use for sorting. The string value should follow SQL syntax: comma separated list of fields. For example: "name,resource_properties.a_property". The default sorting order is ascending. To specify descending order for a field, a suffix " desc" should be appended to the field name. For example: "name desc,source_properties.a_property". Redundant space characters in the syntax are insignificant. "name desc,source_properties.a_property" and " name desc , source_properties.a_property " are equivalent. The following fields are supported: name parent state category resource_name event_time source_properties security_marks.marks + * */ orderBy?: string; /** - * The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. + * */ pageSize?: number; /** - * The value returned by the last `ListFindingsResponse`; indicates that this is a continuation of a prior `ListFindings` call, and that the system should return the next page of data. + * */ pageToken?: string; /** - * Required. Name of the source the findings belong to. Its format is `organizations/[organization_id]/sources/[source_id]`, `folders/[folder_id]/sources/[source_id]`, or `projects/[project_id]/sources/[source_id]`. To list across all sources provide a source_id of `-`. For example: `organizations/{organization_id\}/sources/-`, `folders/{folder_id\}/sources/-` or `projects/{projects_id\}/sources/-` + * */ parent?: string; /** - * Time used as a reference point when filtering findings. The filter is limited to findings existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW. + * */ readTime?: string; } export interface Params$Resource$Projects$Sources$Findings$Patch extends StandardParameters { /** - * The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: "organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}", "folders/{folder_id\}/sources/{source_id\}/findings/{finding_id\}", "projects/{project_id\}/sources/{source_id\}/findings/{finding_id\}". + * */ name?: string; /** - * The FieldMask to use when updating the finding resource. This field should not be specified when creating a finding. When updating a finding, an empty mask is treated as updating all mutable fields and replacing source_properties. Individual source_properties can be added/updated by using "source_properties." in the field mask. + * */ updateMask?: string; @@ -37722,7 +31950,7 @@ export namespace securitycenter_v1 { } export interface Params$Resource$Projects$Sources$Findings$Setmute extends StandardParameters { /** - * Required. The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: `organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}`, `folders/{folder_id\}/sources/{source_id\}/findings/{finding_id\}`, `projects/{project_id\}/sources/{source_id\}/findings/{finding_id\}`. + * */ name?: string; @@ -37733,7 +31961,7 @@ export namespace securitycenter_v1 { } export interface Params$Resource$Projects$Sources$Findings$Setstate extends StandardParameters { /** - * Required. The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: `organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}`, `folders/{folder_id\}/sources/{source_id\}/findings/{finding_id\}`, `projects/{project_id\}/sources/{source_id\}/findings/{finding_id\}`. + * */ name?: string; @@ -37744,15 +31972,15 @@ export namespace securitycenter_v1 { } export interface Params$Resource$Projects$Sources$Findings$Updatesecuritymarks extends StandardParameters { /** - * The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id\}/assets/{asset_id\}/securityMarks" "organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}/securityMarks". + * */ name?: string; /** - * The time at which the updated SecurityMarks take effect. If not set uses current server time. Updates will be applied to the SecurityMarks that are active immediately preceding this time. Must be earlier or equal to the server time. + * */ startTime?: string; /** - * The FieldMask to use when updating the security marks resource. The field mask must not contain duplicate fields. If empty or set to "marks", all marks will be replaced. Individual marks can be updated using "marks.". + * */ updateMask?: string; @@ -37769,7 +31997,6 @@ export namespace securitycenter_v1 { } /** - * Updates external system. This is for a given finding. * @example * ```js * // Before running the sample: @@ -37800,9 +32027,8 @@ export namespace securitycenter_v1 { * // Do the magic * const res = * await securitycenter.projects.sources.findings.externalSystems.patch({ - * // Full resource name of the external system, for example: "organizations/1234/sources/5678/findings/123456/externalSystems/jira", "folders/1234/sources/5678/findings/123456/externalSystems/jira", "projects/1234/sources/5678/findings/123456/externalSystems/jira" * name: 'projects/my-project/sources/my-source/findings/my-finding/externalSystems/my-externalSystem', - * // The FieldMask to use when updating the external system resource. If empty all mutable fields will be updated. + * * updateMask: 'placeholder-value', * * // Request body metadata @@ -37948,11 +32174,11 @@ export namespace securitycenter_v1 { export interface Params$Resource$Projects$Sources$Findings$Externalsystems$Patch extends StandardParameters { /** - * Full resource name of the external system, for example: "organizations/1234/sources/5678/findings/123456/externalSystems/jira", "folders/1234/sources/5678/findings/123456/externalSystems/jira", "projects/1234/sources/5678/findings/123456/externalSystems/jira" + * */ name?: string; /** - * The FieldMask to use when updating the external system resource. If empty all mutable fields will be updated. + * */ updateMask?: string; diff --git a/src/apis/securitycenter/v1beta1.ts b/src/apis/securitycenter/v1beta1.ts index f35e1458d80..68bb36330e4 100644 --- a/src/apis/securitycenter/v1beta1.ts +++ b/src/apis/securitycenter/v1beta1.ts @@ -124,6908 +124,1979 @@ export namespace securitycenter_v1beta1 { } } - /** - * Represents an access event. - */ export interface Schema$Access { - /** - * Caller's IP address, such as "1.1.1.1". - */ callerIp?: string | null; - /** - * The caller IP's geolocation, which identifies where the call came from. - */ callerIpGeo?: Schema$Geolocation; - /** - * The method that the service account called, e.g. "SetIamPolicy". - */ methodName?: string | null; - /** - * Associated email, such as "foo@google.com". The email address of the authenticated user or a service account acting on behalf of a third party principal making the request. For third party identity callers, the `principal_subject` field is populated instead of this field. For privacy reasons, the principal email address is sometimes redacted. For more information, see [Caller identities in audit logs](https://cloud.google.com/logging/docs/audit#user-id). - */ principalEmail?: string | null; - /** - * A string that represents the principal_subject that is associated with the identity. Unlike `principal_email`, `principal_subject` supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format is `principal://iam.googleapis.com/{identity pool name\}/subject/{subject\}`. Some GKE identities, such as GKE_WORKLOAD, FREEFORM, and GKE_HUB_WORKLOAD, still use the legacy format `serviceAccount:{identity pool name\}[{subject\}]`. - */ principalSubject?: string | null; - /** - * The identity delegation history of an authenticated service account that made the request. The `serviceAccountDelegationInfo[]` object contains information about the real authorities that try to access Google Cloud resources by delegating on a service account. When multiple authorities are present, they are guaranteed to be sorted based on the original ordering of the identity delegation events. - */ serviceAccountDelegationInfo?: Schema$ServiceAccountDelegationInfo[]; - /** - * The name of the service account key that was used to create or exchange credentials when authenticating the service account that made the request. This is a scheme-less URI full resource name. For example: "//iam.googleapis.com/projects/{PROJECT_ID\}/serviceAccounts/{ACCOUNT\}/keys/{key\}". - */ serviceAccountKeyName?: string | null; - /** - * This is the API service that the service account made a call to, e.g. "iam.googleapis.com" - */ serviceName?: string | null; - /** - * The caller's user agent string associated with the finding. - */ userAgent?: string | null; - /** - * Type of user agent associated with the finding. For example, an operating system shell or an embedded or standalone application. - */ userAgentFamily?: string | null; - /** - * A string that represents a username. The username provided depends on the type of the finding and is likely not an IAM principal. For example, this can be a system username if the finding is related to a virtual machine, or it can be an application login username. - */ userName?: string | null; } - /** - * Conveys information about a Kubernetes access review (such as one returned by a [`kubectl auth can-i`](https://kubernetes.io/docs/reference/access-authn-authz/authorization/#checking-api-access) command) that was involved in a finding. - */ export interface Schema$AccessReview { - /** - * The API group of the resource. "*" means all. - */ group?: string | null; - /** - * The name of the resource being requested. Empty means all. - */ name?: string | null; - /** - * Namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces. Both are represented by "" (empty). - */ ns?: string | null; - /** - * The optional resource type requested. "*" means all. - */ resource?: string | null; - /** - * The optional subresource type. - */ subresource?: string | null; - /** - * A Kubernetes resource API verb, like get, list, watch, create, update, delete, proxy. "*" means all. - */ verb?: string | null; - /** - * The API version of the resource. "*" means all. - */ version?: string | null; } - /** - * Information about [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-protection). - */ export interface Schema$AdaptiveProtection { - /** - * A score of 0 means that there is low confidence that the detected event is an actual attack. A score of 1 means that there is high confidence that the detected event is an attack. See the [Adaptive Protection documentation](https://cloud.google.com/armor/docs/adaptive-protection-overview#configure-alert-tuning) for further explanation. - */ confidence?: number | null; } - /** - * Represents an ADC application associated with the finding. - */ export interface Schema$AdcApplication { - /** - * Consumer provided attributes for the AppHub application. - */ attributes?: Schema$GoogleCloudSecuritycenterV1ResourceApplicationAttributes; - /** - * The resource name of an ADC Application. Format: projects/{project\}/locations/{location\}/spaces/{space\}/applications/{application\} - */ name?: string | null; } - /** - * Represents an ADC template associated with the finding. - */ export interface Schema$AdcApplicationTemplateRevision { - /** - * The resource name of an ADC Application Template Revision. Format: projects/{project\}/locations/{location\}/spaces/{space\}/applicationTemplates/{application_template\}/revisions/{revision\} - */ name?: string | null; } - /** - * Represents an ADC shared template associated with the finding. - */ export interface Schema$AdcSharedTemplateRevision { - /** - * The resource name of an ADC Shared Template Revision. Format: projects/{project\}/locations/{location\}/spaces/{space\}/applicationTemplates/{application_template\}/revisions/{revision\} - */ name?: string | null; } - /** - * Details about resources affected by this finding. - */ export interface Schema$AffectedResources { - /** - * The count of resources affected by the finding. - */ count?: string | null; } - /** - * Details about a data access attempt made by an agent principal not authorized under applicable data security policy. - */ export interface Schema$AgentDataAccessEvent { - /** - * Unique identifier for data access event. - */ eventId?: string | null; - /** - * Timestamp of data access event. - */ eventTime?: string | null; - /** - * The operation performed by the principal to access the data. - */ operation?: string | null; - /** - * The agent principal that accessed the data. - */ principalSubject?: string | null; } - /** - * Contains information about the AI model associated with the finding. - */ export interface Schema$AiModel { - /** - * The platform on which the model is deployed. - */ deploymentPlatform?: string | null; - /** - * The user defined display name of model. Ex. baseline-classification-model - */ displayName?: string | null; - /** - * The domain of the model, for example, “image-classification”. - */ domain?: string | null; - /** - * The name of the model library, for example, “transformers”. - */ library?: string | null; - /** - * The region in which the model is used, for example, “us-central1”. - */ location?: string | null; - /** - * The name of the AI model, for example, "gemini:1.0.0". - */ name?: string | null; - /** - * The publisher of the model, for example, “google” or “nvidia”. - */ publisher?: string | null; - /** - * The purpose of the model, for example, "Inteference" or "Training". - */ usageCategory?: string | null; } - /** - * Allowed IP rule. - */ export interface Schema$Allowed { - /** - * Optional. Optional list of allowed IP rules. - */ ipRules?: Schema$IpRule[]; } - /** - * Represents an application associated with a finding. - */ export interface Schema$Application { - /** - * The base URI that identifies the network location of the application in which the vulnerability was detected. For example, `http://example.com`. - */ baseUri?: string | null; - /** - * The full URI with payload that can be used to reproduce the vulnerability. For example, `http://example.com?p=aMmYgI6H`. - */ fullUri?: string | null; } - /** - * Represents the result of evaluating artifact guard policies. - */ export interface Schema$ArtifactGuardPolicies { - /** - * A list of failing policies. - */ failingPolicies?: Schema$ArtifactGuardPolicy[]; - /** - * The ID of the resource that has policies configured for it. - */ resourceId?: string | null; } - /** - * Represents an artifact guard policy. - */ export interface Schema$ArtifactGuardPolicy { - /** - * The reason for the policy failure, for example, "severity=HIGH AND max_vuln_count=2". - */ failureReason?: string | null; - /** - * The ID of the failing policy, for example, "organizations/3392779/locations/global/policies/prod-policy". - */ policyId?: string | null; - /** - * The type of the policy evaluation. - */ type?: string | null; } - /** - * Security Command Center representation of a Google Cloud resource. The Asset is a Security Command Center resource that captures information about a single Google Cloud resource. All modifications to an Asset are only within the context of Security Command Center and don't affect the referenced Google Cloud resource. - */ export interface Schema$Asset { - /** - * The time at which the asset was created in Security Command Center. - */ createTime?: string | null; - /** - * The relative resource name of this asset. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id\}/assets/{asset_id\}". - */ name?: string | null; - /** - * Resource managed properties. These properties are managed and defined by the Google Cloud resource and cannot be modified by the user. - */ resourceProperties?: {[key: string]: any} | null; - /** - * Security Command Center managed properties. These properties are managed by Security Command Center and cannot be modified by the user. - */ securityCenterProperties?: Schema$SecurityCenterProperties; - /** - * User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the asset. - */ securityMarks?: Schema$GoogleCloudSecuritycenterV1beta1SecurityMarks; - /** - * The time at which the asset was last updated, added, or deleted in Security Command Center. - */ updateTime?: string | null; } - /** - * The configuration used for Asset Discovery runs. - */ export interface Schema$AssetDiscoveryConfig { - /** - * The mode to use for filtering asset discovery. - */ inclusionMode?: string | null; - /** - * The project ids to use for filtering asset discovery. - */ projectIds?: string[] | null; } - /** - * Information about DDoS attack volume and classification. - */ export interface Schema$Attack { - /** - * Type of attack, for example, 'SYN-flood', 'NTP-udp', or 'CHARGEN-udp'. - */ classification?: string | null; - /** - * Total BPS (bytes per second) volume of attack. Deprecated - refer to volume_bps_long instead. - */ volumeBps?: number | null; - /** - * Total BPS (bytes per second) volume of attack. - */ volumeBpsLong?: string | null; - /** - * Total PPS (packets per second) volume of attack. Deprecated - refer to volume_pps_long instead. - */ volumePps?: number | null; - /** - * Total PPS (packets per second) volume of attack. - */ volumePpsLong?: string | null; } - /** - * An attack exposure contains the results of an attack path simulation run. - */ export interface Schema$AttackExposure { - /** - * The resource name of the attack path simulation result that contains the details regarding this attack exposure score. Example: `organizations/123/simulations/456/attackExposureResults/789` - */ attackExposureResult?: string | null; - /** - * The number of high value resources that are exposed as a result of this finding. - */ exposedHighValueResourcesCount?: number | null; - /** - * The number of high value resources that are exposed as a result of this finding. - */ exposedLowValueResourcesCount?: number | null; - /** - * The number of medium value resources that are exposed as a result of this finding. - */ exposedMediumValueResourcesCount?: number | null; - /** - * The most recent time the attack exposure was updated on this finding. - */ latestCalculationTime?: string | null; - /** - * A number between 0 (inclusive) and infinity that represents how important this finding is to remediate. The higher the score, the more important it is to remediate. - */ score?: number | null; - /** - * What state this AttackExposure is in. This captures whether or not an attack exposure has been calculated or not. - */ state?: string | null; } - /** - * 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. - */ export interface Schema$AuditConfig { - /** - * The configuration for logging of each type of permission. - */ auditLogConfigs?: Schema$AuditLogConfig[]; - /** - * 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. - */ service?: string | null; } - /** - * 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. - */ export interface Schema$AuditLogConfig { - /** - * Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. - */ exemptedMembers?: string[] | null; - /** - * The log type that this config enables. - */ logType?: string | null; } - /** - * An AWS account that is a member of an organization. - */ export interface Schema$AwsAccount { - /** - * The unique identifier (ID) of the account, containing exactly 12 digits. - */ id?: string | null; - /** - * The friendly name of this account. - */ name?: string | null; } - /** - * AWS metadata associated with the resource, only applicable if the finding's cloud provider is Amazon Web Services. - */ export interface Schema$AwsMetadata { - /** - * The AWS account associated with the resource. - */ account?: Schema$AwsAccount; - /** - * The AWS organization associated with the resource. - */ organization?: Schema$AwsOrganization; - /** - * A list of AWS organizational units associated with the resource, ordered from lowest level (closest to the account) to highest level. - */ organizationalUnits?: Schema$AwsOrganizationalUnit[]; } - /** - * An organization is a collection of accounts that are centrally managed together using consolidated billing, organized hierarchically with organizational units (OUs), and controlled with policies. - */ export interface Schema$AwsOrganization { - /** - * The unique identifier (ID) for the organization. The regex pattern for an organization ID string requires "o-" followed by from 10 to 32 lowercase letters or digits. - */ id?: string | null; } - /** - * An Organizational Unit (OU) is a container of AWS accounts within a root of an organization. Policies that are attached to an OU apply to all accounts contained in that OU and in any child OUs. - */ export interface Schema$AwsOrganizationalUnit { - /** - * The unique identifier (ID) associated with this OU. The regex pattern for an organizational unit ID string requires "ou-" followed by from 4 to 32 lowercase letters or digits (the ID of the root that contains the OU). This string is followed by a second "-" dash and from 8 to 32 additional lowercase letters or digits. For example, "ou-ab12-cd34ef56". - */ id?: string | null; - /** - * The friendly name of the OU. - */ name?: string | null; } - /** - * Represents an Azure management group. - */ export interface Schema$AzureManagementGroup { - /** - * The display name of the Azure management group. - */ displayName?: string | null; - /** - * The UUID of the Azure management group, for example, `20000000-0001-0000-0000-000000000000`. - */ id?: string | null; } - /** - * Azure metadata associated with the resource, only applicable if the finding's cloud provider is Microsoft Azure. - */ export interface Schema$AzureMetadata { - /** - * A list of Azure management groups associated with the resource, ordered from lowest level (closest to the subscription) to highest level. - */ managementGroups?: Schema$AzureManagementGroup[]; - /** - * The Azure resource group associated with the resource. - */ resourceGroup?: Schema$AzureResourceGroup; - /** - * The Azure subscription associated with the resource. - */ subscription?: Schema$AzureSubscription; - /** - * The Azure Entra tenant associated with the resource. - */ tenant?: Schema$AzureTenant; } - /** - * Represents an Azure resource group. - */ export interface Schema$AzureResourceGroup { - /** - * The ID of the Azure resource group. - */ id?: string | null; - /** - * The name of the Azure resource group. This is not a UUID. - */ name?: string | null; } - /** - * Represents an Azure subscription. - */ export interface Schema$AzureSubscription { - /** - * The display name of the Azure subscription. - */ displayName?: string | null; - /** - * The UUID of the Azure subscription, for example, `291bba3f-e0a5-47bc-a099-3bdcb2a50a05`. - */ id?: string | null; } - /** - * Represents a Microsoft Entra tenant. - */ export interface Schema$AzureTenant { - /** - * The display name of the Azure tenant. - */ displayName?: string | null; - /** - * The ID of the Microsoft Entra tenant, for example, "a11aaa11-aa11-1aa1-11aa-1aaa11a". - */ id?: string | null; } - /** - * Information related to Google Cloud Backup and DR Service findings. - */ export interface Schema$BackupDisasterRecovery { - /** - * The name of the Backup and DR appliance that captures, moves, and manages the lifecycle of backup data. For example, `backup-server-57137`. - */ appliance?: string | null; - /** - * The names of Backup and DR applications. An application is a VM, database, or file system on a managed host monitored by a backup and recovery appliance. For example, `centos7-01-vol00`, `centos7-01-vol01`, `centos7-01-vol02`. - */ applications?: string[] | null; - /** - * The timestamp at which the Backup and DR backup was created. - */ backupCreateTime?: string | null; - /** - * The name of a Backup and DR template which comprises one or more backup policies. See the [Backup and DR documentation](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#temp) for more information. For example, `snap-ov`. - */ backupTemplate?: string | null; - /** - * The backup type of the Backup and DR image. For example, `Snapshot`, `Remote Snapshot`, `OnVault`. - */ backupType?: string | null; - /** - * The name of a Backup and DR host, which is managed by the backup and recovery appliance and known to the management console. The host can be of type Generic (for example, Compute Engine, SQL Server, Oracle DB, SMB file system, etc.), vCenter, or an ESX server. See the [Backup and DR documentation on hosts](https://cloud.google.com/backup-disaster-recovery/docs/configuration/manage-hosts-and-their-applications) for more information. For example, `centos7-01`. - */ host?: string | null; - /** - * The names of Backup and DR policies that are associated with a template and that define when to run a backup, how frequently to run a backup, and how long to retain the backup image. For example, `onvaults`. - */ policies?: string[] | null; - /** - * The names of Backup and DR advanced policy options of a policy applying to an application. See the [Backup and DR documentation on policy options](https://cloud.google.com/backup-disaster-recovery/docs/create-plan/policy-settings). For example, `skipofflineappsincongrp, nounmap`. - */ policyOptions?: string[] | null; - /** - * The name of the Backup and DR resource profile that specifies the storage media for backups of application and VM data. See the [Backup and DR documentation on profiles](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#profile). For example, `GCP`. - */ profile?: string | null; - /** - * The name of the Backup and DR storage pool that the backup and recovery appliance is storing data in. The storage pool could be of type Cloud, Primary, Snapshot, or OnVault. See the [Backup and DR documentation on storage pools](https://cloud.google.com/backup-disaster-recovery/docs/concepts/storage-pools). For example, `DiskPoolOne`. - */ storagePool?: string | null; } - /** - * The destination BigQuery dataset to export findings to. - */ export interface Schema$BigQueryDestination { - /** - * Required. The relative resource name of the destination dataset, in the form projects/{projectId\}/datasets/{datasetId\}. - */ dataset?: string | null; } - /** - * Associates `members`, or principals, with a `role`. - */ export interface Schema$Binding { - /** - * 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). - */ condition?: Schema$Expr; - /** - * 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\}/x`: 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\}/x`: 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`. - */ members?: string[] | null; - /** - * 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). - */ role?: string | null; } - /** - * The request message for Operations.CancelOperation. - */ export interface Schema$CancelOperationRequest {} - /** - * Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations). - */ export interface Schema$Chokepoint { - /** - * List of resource names of findings associated with this chokepoint. For example, organizations/123/sources/456/findings/789. This list will have at most 100 findings. - */ relatedFindings?: string[] | null; } - /** - * Fields related to Google Cloud Armor findings. - */ export interface Schema$CloudArmor { - /** - * Information about potential Layer 7 DDoS attacks identified by [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/adaptive-protection-overview). - */ adaptiveProtection?: Schema$AdaptiveProtection; - /** - * Information about DDoS attack volume and classification. - */ attack?: Schema$Attack; - /** - * Duration of attack from the start until the current moment (updated every 5 minutes). - */ duration?: string | null; - /** - * Information about incoming requests evaluated by [Google Cloud Armor security policies](https://cloud.google.com/armor/docs/security-policy-overview). - */ requests?: Schema$Requests; - /** - * Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding. - */ securityPolicy?: Schema$SecurityPolicy; - /** - * Distinguish between volumetric & protocol DDoS attack and application layer attacks. For example, "L3_4" for Layer 3 and Layer 4 DDoS attacks, or "L_7" for Layer 7 DDoS attacks. - */ threatVector?: string | null; } - /** - * CloudControl associated with the finding. - */ export interface Schema$CloudControl { - /** - * Name of the CloudControl associated with the finding. - */ cloudControlName?: string | null; - /** - * Policy type of the CloudControl - */ policyType?: string | null; - /** - * Type of cloud control. - */ type?: string | null; - /** - * Version of the Cloud Control - */ version?: number | null; } - /** - * The [data profile](https://cloud.google.com/dlp/docs/data-profiles) associated with the finding. - */ export interface Schema$CloudDlpDataProfile { - /** - * Name of the data profile, for example, `projects/123/locations/europe/tableProfiles/8383929`. - */ dataProfile?: string | null; - /** - * Type of information detected by SDP. Info type includes name, version and sensitivity of the detected information type. - */ infoTypes?: Schema$InfoType[]; - /** - * The resource hierarchy level at which the data profile was generated. - */ parentType?: string | null; } - /** - * Details about the Cloud Data Loss Prevention (Cloud DLP) [inspection job](https://cloud.google.com/dlp/docs/concepts-job-triggers) that produced the finding. - */ export interface Schema$CloudDlpInspection { - /** - * Whether Cloud DLP scanned the complete resource or a sampled subset. - */ fullScan?: boolean | null; - /** - * The type of information (or *[infoType](https://cloud.google.com/dlp/docs/infotypes-reference)*) found, for example, `EMAIL_ADDRESS` or `STREET_ADDRESS`. - */ infoType?: string | null; - /** - * The number of times Cloud DLP found this infoType within this job and resource. - */ infoTypeCount?: string | null; - /** - * Name of the inspection job, for example, `projects/123/locations/europe/dlpJobs/i-8383929`. - */ inspectJob?: string | null; } - /** - * Metadata taken from a [Cloud Logging LogEntry](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) - */ export interface Schema$CloudLoggingEntry { - /** - * A unique identifier for the log entry. - */ insertId?: string | null; - /** - * The type of the log (part of `log_name`. `log_name` is the resource name of the log to which this log entry belongs). For example: `cloudresourcemanager.googleapis.com/activity`. Note that this field is not URL-encoded, unlike the `LOG_ID` field in `LogEntry`. - */ logId?: string | null; - /** - * The organization, folder, or project of the monitored resource that produced this log entry. - */ resourceContainer?: string | null; - /** - * The time the event described by the log entry occurred. - */ timestamp?: string | null; } - /** - * Contains compliance information about a security standard indicating unmet recommendations. - */ export interface Schema$Compliance { - /** - * Policies within the standard or benchmark, for example, A.12.4.1 - */ ids?: string[] | null; - /** - * Industry-wide compliance standards or benchmarks, such as CIS, PCI, and OWASP. - */ standard?: string | null; - /** - * Version of the standard or benchmark, for example, 1.1 - */ version?: string | null; } - /** - * Compliance Details associated with the finding. - */ export interface Schema$ComplianceDetails { - /** - * CloudControl associated with the finding - */ cloudControl?: Schema$CloudControl; - /** - * Cloud Control Deployments associated with the finding. For example, organizations/123/locations/global/cloudControlDeployments/deploymentIdentifier - */ cloudControlDeploymentNames?: string[] | null; - /** - * Details of Frameworks associated with the finding - */ frameworks?: Schema$Framework[]; } - /** - * Contains information about the IP connection associated with the finding. - */ export interface Schema$Connection { - /** - * Destination IP address. Not present for sockets that are listening and not connected. - */ destinationIp?: string | null; - /** - * Destination port. Not present for sockets that are listening and not connected. - */ destinationPort?: number | null; - /** - * IANA Internet Protocol Number such as TCP(6) and UDP(17). - */ protocol?: string | null; - /** - * Source IP address. - */ sourceIp?: string | null; - /** - * Source port. - */ sourcePort?: number | null; } - /** - * The email address of a contact. - */ export interface Schema$Contact { - /** - * An email address. For example, "`person123@company.com`". - */ email?: string | null; } - /** - * Details about specific contacts - */ export interface Schema$ContactDetails { - /** - * A list of contacts - */ contacts?: Schema$Contact[]; } - /** - * Container associated with the finding. - */ export interface Schema$Container { - /** - * The time that the container was created. - */ createTime?: string | null; - /** - * Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest. - */ imageId?: string | null; - /** - * Container labels, as provided by the container runtime. - */ labels?: Schema$Label[]; - /** - * Name of the container. - */ name?: string | null; - /** - * Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags. - */ uri?: string | null; } - /** - * Compliance control associated with the finding. - */ export interface Schema$Control { - /** - * Name of the Control - */ controlName?: string | null; - /** - * Display name of the control. For example, AU-02. - */ displayName?: string | null; } - /** - * CVE stands for Common Vulnerabilities and Exposures. Information from the [CVE record](https://www.cve.org/ResourcesSupport/Glossary) that describes this vulnerability. - */ export interface Schema$Cve { - /** - * Describe Common Vulnerability Scoring System specified at https://www.first.org/cvss/v3.1/specification-document - */ cvssv3?: Schema$Cvssv3; - /** - * The exploitation activity of the vulnerability in the wild. - */ exploitationActivity?: string | null; - /** - * Date the first publicly available exploit or PoC was released. - */ exploitReleaseDate?: string | null; - /** - * Date of the earliest known exploitation. - */ firstExploitationDate?: string | null; - /** - * The unique identifier for the vulnerability. e.g. CVE-2021-34527 - */ id?: string | null; - /** - * The potential impact of the vulnerability if it was to be exploited. - */ impact?: string | null; - /** - * Whether or not the vulnerability has been observed in the wild. - */ observedInTheWild?: boolean | null; - /** - * Additional information about the CVE. e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527 - */ references?: Schema$Reference[]; - /** - * Whether upstream fix is available for the CVE. - */ upstreamFixAvailable?: boolean | null; - /** - * Whether or not the vulnerability was zero day when the finding was published. - */ zeroDay?: boolean | null; } - /** - * Common Vulnerability Scoring System version 3. - */ export interface Schema$Cvssv3 { - /** - * This metric describes the conditions beyond the attacker's control that must exist in order to exploit the vulnerability. - */ attackComplexity?: string | null; - /** - * Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. This metric reflects the context by which vulnerability exploitation is possible. - */ attackVector?: string | null; - /** - * This metric measures the impact to the availability of the impacted component resulting from a successfully exploited vulnerability. - */ availabilityImpact?: string | null; - /** - * The base score is a function of the base metric scores. - */ baseScore?: number | null; - /** - * This metric measures the impact to the confidentiality of the information resources managed by a software component due to a successfully exploited vulnerability. - */ confidentialityImpact?: string | null; - /** - * This metric measures the impact to integrity of a successfully exploited vulnerability. - */ integrityImpact?: string | null; - /** - * This metric describes the level of privileges an attacker must possess before successfully exploiting the vulnerability. - */ privilegesRequired?: string | null; - /** - * The Scope metric captures whether a vulnerability in one vulnerable component impacts resources in components beyond its security scope. - */ scope?: string | null; - /** - * This metric captures the requirement for a human user, other than the attacker, to participate in the successful compromise of the vulnerable component. - */ userInteraction?: string | null; } - /** - * CWE stands for Common Weakness Enumeration. Information about this weakness, as described by [CWE](https://cwe.mitre.org/). - */ export interface Schema$Cwe { - /** - * The CWE identifier, e.g. CWE-94 - */ id?: string | null; - /** - * Any reference to the details on the CWE, for example, https://cwe.mitre.org/data/definitions/94.html - */ references?: Schema$Reference[]; } - /** - * Details about a data access attempt made by a principal not authorized under applicable data security policy. - */ export interface Schema$DataAccessEvent { - /** - * Unique identifier for data access event. - */ eventId?: string | null; - /** - * Timestamp of data access event. - */ eventTime?: string | null; - /** - * The operation performed by the principal to access the data. - */ operation?: string | null; - /** - * The email address of the principal that accessed the data. The principal could be a user account, service account, Google group, or other. - */ principalEmail?: string | null; } - /** - * Represents database access information, such as queries. A database may be a sub-resource of an instance (as in the case of Cloud SQL instances or Cloud Spanner instances), or the database instance itself. Some database resources might not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types, such as Cloud SQL databases, are not yet supported by Cloud Asset Inventory. In these cases only the display name is provided. - */ export interface Schema$Database { - /** - * The human-readable name of the database that the user connected to. - */ displayName?: string | null; - /** - * The target usernames, roles, or groups of an SQL privilege grant, which is not an IAM policy change. - */ grantees?: string[] | null; - /** - * Some database resources may not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types are not yet supported by Cloud Asset Inventory (e.g. Cloud SQL databases). In these cases only the display name will be provided. The [full resource name](https://google.aip.dev/122#full-resource-names) of the database that the user connected to, if it is supported by Cloud Asset Inventory. - */ name?: string | null; - /** - * The SQL statement that is associated with the database access. - */ query?: string | null; - /** - * The username used to connect to the database. The username might not be an IAM principal and does not have a set format. - */ userName?: string | null; - /** - * The version of the database, for example, POSTGRES_14. See [the complete list](https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1/SqlDatabaseVersion). - */ version?: string | null; } - /** - * Details about a data flow event, in which either the data is moved to or is accessed from a non-compliant geo-location, as defined in the applicable data security policy. - */ export interface Schema$DataFlowEvent { - /** - * Unique identifier for data flow event. - */ eventId?: string | null; - /** - * Timestamp of data flow event. - */ eventTime?: string | null; - /** - * The operation performed by the principal for the data flow event. - */ operation?: string | null; - /** - * The email address of the principal that initiated the data flow event. The principal could be a user account, service account, Google group, or other. - */ principalEmail?: string | null; - /** - * Non-compliant location of the principal or the data destination. - */ violatedLocation?: string | null; } - /** - * Details about data retention deletion violations, in which the data is non-compliant based on their retention or deletion time, as defined in the applicable data security policy. The Data Retention Deletion (DRD) control is a control of the DSPM (Data Security Posture Management) suite that enables organizations to manage data retention and deletion policies in compliance with regulations, such as GDPR and CRPA. DRD supports two primary policy types: maximum storage length (max TTL) and minimum storage length (min TTL). Both are aimed at helping organizations meet regulatory and data management commitments. - */ export interface Schema$DataRetentionDeletionEvent { - /** - * Number of objects that violated the policy for this resource. If the number is less than 1,000, then the value of this field is the exact number. If the number of objects that violated the policy is greater than or equal to 1,000, then the value of this field is 1000. - */ dataObjectCount?: string | null; - /** - * Timestamp indicating when the event was detected. - */ eventDetectionTime?: string | null; - /** - * Type of the DRD event. - */ eventType?: string | null; - /** - * Maximum duration of retention allowed from the DRD control. This comes from the DRD control where users set a max TTL for their data. For example, suppose that a user sets the max TTL for a Cloud Storage bucket to 90 days. However, an object in that bucket is 100 days old. In this case, a DataRetentionDeletionEvent will be generated for that Cloud Storage bucket, and the max_retention_allowed is 90 days. - */ maxRetentionAllowed?: string | null; - /** - * Min duration of retention allowed from the DSPM retention control. This field is only populated when event type is set to EVENT_TYPE_MIN_TTL_FROM_CREATION. - */ minRetentionAllowed?: string | null; } - /** - * Vertex AI dataset associated with the finding. - */ export interface Schema$Dataset { - /** - * The user defined display name of dataset, e.g. plants-dataset - */ displayName?: string | null; - /** - * Resource name of the dataset, e.g. projects/{project\}/locations/{location\}/datasets/2094040236064505856 - */ name?: string | null; - /** - * Data source, such as BigQuery source URI, e.g. bq://scc-nexus-test.AIPPtest.gsod - */ source?: string | null; } - /** - * Denied IP rule. - */ export interface Schema$Denied { - /** - * Optional. Optional list of denied IP rules. - */ ipRules?: Schema$IpRule[]; } - /** - * Memory hash detection contributing to the binary family match. - */ export interface Schema$Detection { - /** - * The name of the binary associated with the memory hash signature detection. - */ binary?: string | null; - /** - * The percentage of memory page hashes in the signature that were matched. - */ percentPagesMatched?: number | null; } - /** - * Represents discovered, customer managed workload that is not registered with the respective GCP service. - */ export interface Schema$DiscoveredWorkload { - /** - * The confidence in detection of this workload. - */ confidence?: string | null; - /** - * A boolean flag set to true if associated hardware strongly predicts the workload type. - */ detectedRelevantHardware?: boolean | null; - /** - * A boolean flag set to true if associated keywords strongly predict the workload type. - */ detectedRelevantKeywords?: boolean | null; - /** - * A boolean flag set to true if installed packages strongly predict the workload type. - */ detectedRelevantPackages?: boolean | null; - /** - * The type of workload. - */ workloadType?: string | null; } - /** - * Contains information about the disk associated with the finding. - */ export interface Schema$Disk { - /** - * The name of the disk, for example, "https://www.googleapis.com/compute/v1/projects/{project-id\}/zones/{zone-id\}/disks/{disk-id\}". - */ name?: string | null; } - /** - * Path of the file in terms of underlying disk/partition identifiers. - */ export interface Schema$DiskPath { - /** - * UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - */ partitionUuid?: string | null; - /** - * Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh - */ relativePath?: string | null; } - /** - * The record of a dynamic mute rule that matches the finding. - */ export interface Schema$DynamicMuteRecord { - /** - * When the dynamic mute rule first matched the finding. - */ matchTime?: string | null; - /** - * The relative resource name of the mute rule, represented by a mute config, that created this record, for example `organizations/123/muteConfigs/mymuteconfig` or `organizations/123/locations/global/muteConfigs/mymuteconfig`. - */ muteConfig?: string | null; } - /** - * 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); \} - */ export interface Schema$Empty {} - /** - * A name-value pair representing an environment variable used in an operating system process. - */ export interface Schema$EnvironmentVariable { - /** - * Environment variable name as a JSON encoded string. - */ name?: string | null; - /** - * Environment variable value as a JSON encoded string. - */ val?: string | null; } - /** - * Resource where data was exfiltrated from or exfiltrated to. - */ export interface Schema$ExfilResource { - /** - * Subcomponents of the asset that was exfiltrated, like URIs used during exfiltration, table names, databases, and filenames. For example, multiple tables might have been exfiltrated from the same Cloud SQL instance, or multiple files might have been exfiltrated from the same Cloud Storage bucket. - */ components?: string[] | null; - /** - * The resource's [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name). - */ name?: string | null; } - /** - * Exfiltration represents a data exfiltration attempt from one or more sources to one or more targets. The `sources` attribute lists the sources of the exfiltrated data. The `targets` attribute lists the destinations the data was copied to. - */ export interface Schema$Exfiltration { - /** - * If there are multiple sources, then the data is considered "joined" between them. For instance, BigQuery can join multiple tables, and each table would be considered a source. - */ sources?: Schema$ExfilResource[]; - /** - * If there are multiple targets, each target would get a complete copy of the "joined" source data. - */ targets?: Schema$ExfilResource[]; - /** - * Total exfiltrated bytes processed for the entire job. - */ totalExfiltratedBytes?: string | null; } - /** - * The LRO metadata for a ExportFindings request. - */ export interface Schema$ExportFindingsMetadata { - /** - * Required. The destination BigQuery dataset to export findings to. - */ bigQueryDestination?: Schema$BigQueryDestination; - /** - * Optional. Timestamp at which export was started - */ exportStartTime?: string | null; } - /** - * The response to a ExportFindings request. Contains the LRO information. - */ export interface Schema$ExportFindingsResponse {} - /** - * 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. - */ export interface Schema$Expr { - /** - * Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. - */ description?: string | null; - /** - * Textual representation of an expression in Common Expression Language syntax. - */ expression?: string | null; - /** - * Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. - */ location?: string | null; - /** - * 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. - */ title?: string | null; } - /** - * Details about the externally exposed resource associated with the finding. - */ export interface Schema$ExternalExposure { - /** - * The full resource name of the load balancer backend bucket, for example, "//compute.googleapis.com/projects/{project-id\}/global/backendBuckets/{name\}" - */ backendBucket?: string | null; - /** - * The full resource name of load balancer backend service, for example, "//compute.googleapis.com/projects/{project-id\}/global/backendServices/{name\}". - */ backendService?: string | null; - /** - * The name and version of the exposed web application, for example, "Jenkins 2.184". - */ exposedApplication?: string | null; - /** - * The resource which is running the exposed service, for example, "//compute.googleapis.com/projects/{project-id\}/zones/{zone\}/instances/{instance\}.” - */ exposedEndpoint?: string | null; - /** - * The name and version of the service, for example, "Jupyter Notebook 6.14.0". - */ exposedService?: string | null; - /** - * The full resource name of the forwarding rule, for example, "//compute.googleapis.com/projects/{project-id\}/global/forwardingRules/{forwarding-rule-name\}". - */ forwardingRule?: string | null; - /** - * Hostname of the exposed application, for example, "https://test-app.a.run.app/" - */ hostnameUri?: string | null; - /** - * The http response returned by the web application. - */ httpResponse?: Schema$HttpResponse[]; - /** - * The full resource name of the instance group, for example, "//compute.googleapis.com/projects/{project-id\}/global/instanceGroups/{name\}". - */ instanceGroup?: string | null; - /** - * The full resource name of load balancer backend service in the internal project having resource exposed via PSC, for example, "//compute.googleapis.com/projects/{project-id\}/global/backendServices/{name\}". - */ internalBackendService?: string | null; - /** - * The full resource name of the load balancer firewall policy, for example, "//compute.googleapis.com/projects/{project-id\}/global/firewallPolicies/{policy-name\}". - */ loadBalancerFirewallPolicy?: string | null; - /** - * The full resource name of the network endpoint group, for example, "//compute.googleapis.com/projects/{project-id\}/global/networkEndpointGroups/{name\}". - */ networkEndpointGroup?: string | null; - /** - * The full resource name of the network ingress firewall policy, for example, "//compute.googleapis.com/projects/{project-id\}/global/firewallPolicies/{name\}". - */ networkIngressFirewallPolicy?: string | null; - /** - * Private IP address of the exposed endpoint. - */ privateIpAddress?: string | null; - /** - * Port number associated with private IP address. - */ privatePort?: string | null; - /** - * The full resource name of the PSC (Private Service Connect) network attachment that network interface controller is attached to, for example, "//compute.googleapis.com/projects/{project-id\}/regions/{region\}/networkAttachments/{name\}" - */ pscNetworkAttachment?: string | null; - /** - * The full resource name of the PSC (Private Service Connect) service attachment that the load balancer network endpoint group targets, for example, "//compute.googleapis.com/projects/{project-id\}/regions/{region\}/serviceAttachments/{name\}" - */ pscServiceAttachment?: string | null; - /** - * Public IP address of the exposed endpoint. - */ publicIpAddress?: string | null; - /** - * Public port number of the exposed endpoint. - */ publicPort?: string | null; - /** - * The full resource name of the firewall policy of the exposed service, for example, "//compute.googleapis.com/projects/{project-id\}/global/firewallPolicies/{policy-name\}". - */ serviceFirewallPolicy?: string | null; } - /** - * File information about the related binary/library used by an executable, or the script used by a script interpreter - */ export interface Schema$File { - /** - * Prefix of the file contents as a JSON-encoded string. - */ contents?: string | null; - /** - * Path of the file in terms of underlying disk/partition identifiers. - */ diskPath?: Schema$DiskPath; - /** - * The load state of the file. - */ fileLoadState?: string | null; - /** - * The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - */ hashedSize?: string | null; - /** - * Operation(s) performed on a file. - */ operations?: Schema$FileOperation[]; - /** - * True when the hash covers only a prefix of the file. - */ partiallyHashed?: boolean | null; - /** - * Absolute path of the file as a JSON encoded string. - */ path?: string | null; - /** - * SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - */ sha256?: string | null; - /** - * Size of the file in bytes. - */ size?: string | null; } - /** - * Operation(s) performed on a file. - */ export interface Schema$FileOperation { - /** - * The type of the operation - */ type?: string | null; } - /** - * Security Command Center finding. A finding is a record of assessment data like security, risk, health, or privacy, that is ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, a cross-site scripting (XSS) vulnerability in an App Engine application is a finding. - */ export interface Schema$Finding { - /** - * Access details associated with the finding, such as more information on the caller, which method was accessed, and from where. - */ access?: Schema$Access; - /** - * AffectedResources associated with the finding. - */ affectedResources?: Schema$AffectedResources; - /** - * Agent data access events associated with the finding. - */ agentDataAccessEvents?: Schema$AgentDataAccessEvent[]; - /** - * The AI model associated with the finding. - */ aiModel?: Schema$AiModel; - /** - * Represents an application associated with the finding. - */ application?: Schema$Application; - /** - * ArtifactGuardPolicies associated with the finding. - */ artifactGuardPolicies?: Schema$ArtifactGuardPolicies; - /** - * The results of an attack path simulation relevant to this finding. - */ attackExposure?: Schema$AttackExposure; - /** - * Fields related to Backup and DR findings. - */ backupDisasterRecovery?: Schema$BackupDisasterRecovery; - /** - * The canonical name of the finding. It's either "organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}", "folders/{folder_id\}/sources/{source_id\}/findings/{finding_id\}" or "projects/{project_number\}/sources/{source_id\}/findings/{finding_id\}", depending on the closest CRM ancestor of the resource associated with the finding. - */ canonicalName?: string | null; - /** - * The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: "XSS_FLASH_INJECTION" - */ category?: string | null; - /** - * Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations). This field cannot be updated. Its value is ignored in all update requests. - */ chokepoint?: Schema$Chokepoint; - /** - * Fields related to Cloud Armor findings. - */ cloudArmor?: Schema$CloudArmor; - /** - * Cloud DLP data profile that is associated with the finding. - */ cloudDlpDataProfile?: Schema$CloudDlpDataProfile; - /** - * Cloud Data Loss Prevention (Cloud DLP) inspection results that are associated with the finding. - */ cloudDlpInspection?: Schema$CloudDlpInspection; - /** - * Details about the compliance implications of the finding. - */ complianceDetails?: Schema$ComplianceDetails; - /** - * Contains compliance information for security standards associated to the finding. - */ compliances?: Schema$Compliance[]; - /** - * Contains information about the IP connection associated with the finding. - */ connections?: Schema$Connection[]; - /** - * Output only. Map containing the points of contact for the given finding. The key represents the type of contact, while the value contains a list of all the contacts that pertain. Please refer to: https://cloud.google.com/resource-manager/docs/managing-notification-contacts#notification-categories { "security": { "contacts": [ { "email": "person1@company.com" \}, { "email": "person2@company.com" \} ] \} \} - */ contacts?: {[key: string]: Schema$ContactDetails} | null; - /** - * Containers associated with the finding. This field provides information for both Kubernetes and non-Kubernetes containers. - */ containers?: Schema$Container[]; - /** - * The time at which the finding was created in Security Command Center. - */ createTime?: string | null; - /** - * Data access events associated with the finding. - */ dataAccessEvents?: Schema$DataAccessEvent[]; - /** - * Database associated with the finding. - */ database?: Schema$Database; - /** - * Data flow events associated with the finding. - */ dataFlowEvents?: Schema$DataFlowEvent[]; - /** - * Data retention deletion events associated with the finding. - */ dataRetentionDeletionEvents?: Schema$DataRetentionDeletionEvent[]; - /** - * Contains more details about the finding. - */ description?: string | null; - /** - * DiscoveredWorkload associated with the finding. - */ discoveredWorkload?: Schema$DiscoveredWorkload; - /** - * Disk associated with the finding. - */ disk?: Schema$Disk; - /** - * The time the finding was first detected. If an existing finding is updated, then this is the time the update occurred. For example, if the finding represents an open firewall, this property captures the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding is later resolved, then this time reflects when the finding was resolved. This must not be set to a value greater than the current timestamp. - */ eventTime?: string | null; - /** - * Represents exfiltrations associated with the finding. - */ exfiltration?: Schema$Exfiltration; - /** - * External exposure associated with the finding. - */ externalExposure?: Schema$ExternalExposure; - /** - * Output only. Third party SIEM/SOAR fields within SCC, contains external system information and external system finding fields. - */ externalSystems?: { [key: string]: Schema$GoogleCloudSecuritycenterV1ExternalSystem; } | null; - /** - * The URI that, if available, points to a web page outside of Security Command Center where additional information about the finding can be found. This field is guaranteed to be either empty or a well formed URL. - */ externalUri?: string | null; - /** - * File associated with the finding. - */ files?: Schema$File[]; - /** - * The class of the finding. - */ findingClass?: string | null; - /** - * Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way. This field cannot be updated. Its value is ignored in all update requests. - */ groupMemberships?: Schema$GroupMembership[]; - /** - * Represents IAM bindings associated with the finding. - */ iamBindings?: Schema$IamBinding[]; - /** - * Represents what's commonly known as an *indicator of compromise* (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise). - */ indicator?: Schema$Indicator; - /** - * IP rules associated with the finding. - */ ipRules?: Schema$IpRules; - /** - * Job associated with the finding. - */ job?: Schema$Job; - /** - * Signature of the kernel rootkit. - */ kernelRootkit?: Schema$KernelRootkit; - /** - * Kubernetes resources associated with the finding. - */ kubernetes?: Schema$Kubernetes; - /** - * The load balancers associated with the finding. - */ loadBalancers?: Schema$LoadBalancer[]; - /** - * Log entries that are relevant to the finding. - */ logEntries?: Schema$LogEntry[]; - /** - * MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org - */ mitreAttack?: Schema$MitreAttack; - /** - * Unique identifier of the module which generated the finding. Example: folders/598186756061/securityHealthAnalyticsSettings/customModules/56799441161885 - */ moduleName?: string | null; - /** - * Indicates the mute state of a finding (either muted, unmuted or undefined). Unlike other attributes of a finding, a finding provider shouldn't set the value of mute. - */ mute?: string | null; - /** - * Output only. The mute information regarding this finding. - */ muteInfo?: Schema$MuteInfo; - /** - * Records additional information about the mute operation, for example, the [mute configuration](/security-command-center/docs/how-to-mute-findings) that muted the finding and the user who muted the finding. - */ muteInitiator?: string | null; - /** - * Output only. The most recent time this finding was muted or unmuted. - */ muteUpdateTime?: string | null; - /** - * The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: "organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}", "folders/{folder_id\}/sources/{source_id\}/findings/{finding_id\}", "projects/{project_id\}/sources/{source_id\}/findings/{finding_id\}". - */ name?: string | null; - /** - * Represents the VPC networks that the resource is attached to. - */ networks?: Schema$Network[]; - /** - * Steps to address the finding. - */ nextSteps?: string | null; - /** - * Notebook associated with the finding. - */ notebook?: Schema$Notebook; - /** - * Contains information about the org policies associated with the finding. - */ orgPolicies?: Schema$OrgPolicy[]; - /** - * The relative resource name of the source the finding belongs to. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name This field is immutable after creation time. For example: "organizations/{organization_id\}/sources/{source_id\}" - */ parent?: string | null; - /** - * Output only. The human readable display name of the finding source such as "Event Threat Detection" or "Security Health Analytics". - */ parentDisplayName?: string | null; - /** - * PolicyViolationSummary associated with the finding. - */ policyViolationSummary?: Schema$PolicyViolationSummary; - /** - * Represents operating system processes associated with the Finding. - */ processes?: Schema$Process[]; - /** - * For findings on Google Cloud resources, the full resource name of the Google Cloud resource this finding is for. See: https://cloud.google.com/apis/design/resource_names#full_resource_name When the finding is for a non-Google Cloud resource, the resourceName can be a customer or partner defined string. This field is immutable after creation time. - */ resourceName?: string | null; - /** - * Secret associated with the finding. - */ secret?: Schema$Secret; - /** - * Output only. User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the finding. - */ securityMarks?: Schema$SecurityMarks; - /** - * The security posture associated with the finding. - */ securityPosture?: Schema$SecurityPosture; - /** - * The severity of the finding. This field is managed by the source that writes the finding. - */ severity?: string | null; - /** - * Source specific properties. These properties are managed by the source that writes the finding. The key names in the source_properties map must be between 1 and 255 characters, and must start with a letter and contain alphanumeric characters or underscores only. - */ sourceProperties?: {[key: string]: any} | null; - /** - * The state of the finding. - */ state?: string | null; - /** - * Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. This field cannot be updated. Its value is ignored in all update requests. - */ toxicCombination?: Schema$ToxicCombination; - /** - * VertexAi associated with the finding. - */ vertexAi?: Schema$VertexAi; - /** - * Represents vulnerability-specific fields like CVE and CVSS scores. CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/) - */ vulnerability?: Schema$Vulnerability; } - /** - * Message that contains the resource name and display name of a folder resource. - */ export interface Schema$Folder { - /** - * Full resource name of this folder. See: https://cloud.google.com/apis/design/resource_names#full_resource_name - */ resourceFolder?: string | null; - /** - * The user defined display name for this folder. - */ resourceFolderDisplayName?: string | null; } - /** - * Compliance framework associated with the finding. - */ export interface Schema$Framework { - /** - * Category of the framework associated with the finding. E.g. Security Benchmark, or Assured Workloads - */ category?: string[] | null; - /** - * The controls associated with the framework. - */ controls?: Schema$Control[]; - /** - * Display name of the framework. For a standard framework, this will look like e.g. PCI DSS 3.2.1, whereas for a custom framework it can be a user defined string like MyFramework - */ displayName?: string | null; - /** - * Name of the framework associated with the finding - */ name?: string | null; - /** - * Type of the framework associated with the finding, to specify whether the framework is built-in (pre-defined and immutable) or a custom framework defined by the customer (equivalent to security posture) - */ type?: string | null; } - /** - * Google Cloud metadata associated with the resource. Only applicable if the finding's cloud provider is Google Cloud. - */ export interface Schema$GcpMetadata { - /** - * Output only. Contains a Folder message for each folder in the assets ancestry. The first folder is the deepest nested folder, and the last folder is the folder directly under the Organization. - */ folders?: Schema$GoogleCloudSecuritycenterV2Folder[]; - /** - * The name of the organization that the resource belongs to. - */ organization?: string | null; - /** - * The full resource name of resource's parent. - */ parent?: string | null; - /** - * The human readable name of resource's parent. - */ parentDisplayName?: string | null; - /** - * The full resource name of project that the resource belongs to. - */ project?: string | null; - /** - * The project ID that the resource belongs to. - */ projectDisplayName?: string | null; } - /** - * Represents a geographical location for a given access. - */ export interface Schema$Geolocation { - /** - * A CLDR. - */ regionCode?: string | null; } - /** - * Request message for `GetIamPolicy` method. - */ export interface Schema$GetIamPolicyRequest { - /** - * OPTIONAL: A `GetPolicyOptions` object for specifying options to `GetIamPolicy`. - */ options?: Schema$GetPolicyOptions; } - /** - * Encapsulates settings provided to GetIamPolicy. - */ export interface Schema$GetPolicyOptions { - /** - * 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). - */ requestedPolicyVersion?: number | null; } - /** - * Security Command Center finding. A finding is a record of assessment data (security, risk, health or privacy) ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, an XSS vulnerability in an App Engine application is a finding. - */ export interface Schema$GoogleCloudSecuritycenterV1beta1Finding { - /** - * The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: "XSS_FLASH_INJECTION" - */ category?: string | null; - /** - * The time at which the finding was created in Security Command Center. - */ createTime?: string | null; - /** - * The time at which the event took place, or when an update to the finding occurred. For example, if the finding represents an open firewall it would capture the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding were to be resolved afterward, this time would reflect when the finding was resolved. - */ eventTime?: string | null; - /** - * The URI that, if available, points to a web page outside of Security Command Center where additional information about the finding can be found. This field is guaranteed to be either empty or a well formed URL. - */ externalUri?: string | null; - /** - * The relative resource name of this finding. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}" - */ - name?: string | null; - /** - * Immutable. The relative resource name of the source the finding belongs to. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name This field is immutable after creation time. For example: "organizations/{organization_id\}/sources/{source_id\}" - */ + name?: string | null; parent?: string | null; - /** - * For findings on Google Cloud resources, the full resource name of the Google Cloud resource this finding is for. See: https://cloud.google.com/apis/design/resource_names#full_resource_name When the finding is for a non-Google Cloud resource, the resourceName can be a customer or partner defined string. This field is immutable after creation time. - */ resourceName?: string | null; - /** - * Output only. User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the finding. - */ securityMarks?: Schema$GoogleCloudSecuritycenterV1beta1SecurityMarks; - /** - * Source specific properties. These properties are managed by the source that writes the finding. The key names in the source_properties map must be between 1 and 255 characters, and must start with a letter and contain alphanumeric characters or underscores only. - */ sourceProperties?: {[key: string]: any} | null; - /** - * The state of the finding. - */ state?: string | null; } - /** - * Response of asset discovery run - */ export interface Schema$GoogleCloudSecuritycenterV1beta1RunAssetDiscoveryResponse { - /** - * The duration between asset discovery run start and end - */ duration?: string | null; - /** - * The state of an asset discovery run. - */ state?: string | null; } - /** - * User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization. - */ export interface Schema$GoogleCloudSecuritycenterV1beta1SecurityMarks { - /** - * Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive) - */ marks?: {[key: string]: string} | null; - /** - * The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id\}/assets/{asset_id\}/securityMarks" "organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}/securityMarks". - */ name?: string | null; } - /** - * Configures how to deliver Findings to BigQuery Instance. - */ export interface Schema$GoogleCloudSecuritycenterV1BigQueryExport { - /** - * Output only. The time at which the BigQuery export was created. This field is set by the server and will be ignored if provided on export on creation. - */ createTime?: string | null; - /** - * The dataset to write findings' updates to. Its format is "projects/[project_id]/datasets/[bigquery_dataset_id]". BigQuery Dataset unique ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). - */ dataset?: string | null; - /** - * The description of the export (max of 1024 characters). - */ description?: string | null; - /** - * Expression that defines the filter to apply across create/update events of findings. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are: * `=` for all value types. * `\>`, `<`, `\>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. - */ filter?: string | null; - /** - * Output only. Email address of the user who last edited the BigQuery export. This field is set by the server and will be ignored if provided on export creation or update. - */ mostRecentEditor?: string | null; - /** - * The relative resource name of this export. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name. Example format: "organizations/{organization_id\}/bigQueryExports/{export_id\}" Example format: "folders/{folder_id\}/bigQueryExports/{export_id\}" Example format: "projects/{project_id\}/bigQueryExports/{export_id\}" This field is provided in responses, and is ignored when provided in create requests. - */ name?: string | null; - /** - * Output only. The service account that needs permission to create table and upload data to the BigQuery dataset. - */ principal?: string | null; - /** - * Output only. The most recent time at which the BigQuery export was updated. This field is set by the server and will be ignored if provided on export creation or update. - */ updateTime?: string | null; } - /** - * Represents a Kubernetes RoleBinding or ClusterRoleBinding. - */ export interface Schema$GoogleCloudSecuritycenterV1Binding { - /** - * Name for the binding. - */ name?: string | null; - /** - * Namespace for the binding. - */ ns?: string | null; - /** - * The Role or ClusterRole referenced by the binding. - */ role?: Schema$Role; - /** - * Represents one or more subjects that are bound to the role. Not always available for PATCH requests. - */ subjects?: Schema$Subject[]; } - /** - * The response to a BulkMute request. Contains the LRO information. - */ export interface Schema$GoogleCloudSecuritycenterV1BulkMuteFindingsResponse {} - /** - * Defines the properties in a custom module configuration for Security Health Analytics. Use the custom module configuration to create custom detectors that generate custom findings for resources that you specify. - */ export interface Schema$GoogleCloudSecuritycenterV1CustomConfig { - /** - * Custom output properties. - */ customOutput?: Schema$GoogleCloudSecuritycenterV1CustomOutputSpec; - /** - * Text that describes the vulnerability or misconfiguration that the custom module detects. This explanation is returned with each finding instance to help investigators understand the detected issue. The text must be enclosed in quotation marks. - */ description?: string | null; - /** - * The CEL expression to evaluate to produce findings. When the expression evaluates to true against a resource, a finding is generated. - */ predicate?: Schema$Expr; - /** - * An explanation of the recommended steps that security teams can take to resolve the detected issue. This explanation is returned with each finding generated by this module in the `nextSteps` property of the finding JSON. - */ recommendation?: string | null; - /** - * The resource types that the custom module operates on. Each custom module can specify up to 5 resource types. - */ resourceSelector?: Schema$GoogleCloudSecuritycenterV1ResourceSelector; - /** - * The severity to assign to findings generated by the module. - */ severity?: string | null; } - /** - * A set of optional name-value pairs that define custom source properties to return with each finding that is generated by the custom module. The custom source properties that are defined here are included in the finding JSON under `sourceProperties`. - */ export interface Schema$GoogleCloudSecuritycenterV1CustomOutputSpec { - /** - * A list of custom output properties to add to the finding. - */ properties?: Schema$GoogleCloudSecuritycenterV1Property[]; } - /** - * An EffectiveSecurityHealthAnalyticsCustomModule is the representation of a Security Health Analytics custom module at a specified level of the resource hierarchy: organization, folder, or project. If a custom module is inherited from a parent organization or folder, the value of the `enablementState` property in EffectiveSecurityHealthAnalyticsCustomModule is set to the value that is effective in the parent, instead of `INHERITED`. For example, if the module is enabled in a parent organization or folder, the effective enablement_state for the module in all child folders or projects is also `enabled`. EffectiveSecurityHealthAnalyticsCustomModule is read-only. - */ export interface Schema$GoogleCloudSecuritycenterV1EffectiveSecurityHealthAnalyticsCustomModule { - /** - * The cloud provider of the custom module. - */ cloudProvider?: string | null; - /** - * Output only. The user-specified configuration for the module. - */ customConfig?: Schema$GoogleCloudSecuritycenterV1CustomConfig; - /** - * Output only. The display name for the custom module. The name must be between 1 and 128 characters, start with a lowercase letter, and contain alphanumeric characters or underscores only. - */ displayName?: string | null; - /** - * Output only. The effective state of enablement for the module at the given level of the hierarchy. - */ enablementState?: string | null; - /** - * Output only. The resource name of the custom module. Its format is "organizations/{organization\}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule\}", or "folders/{folder\}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule\}", or "projects/{project\}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule\}" - */ name?: string | null; } - /** - * Representation of third party SIEM/SOAR fields within SCC. - */ export interface Schema$GoogleCloudSecuritycenterV1ExternalSystem { - /** - * References primary/secondary etc assignees in the external system. - */ assignees?: string[] | null; - /** - * The time when the case was closed, as reported by the external system. - */ caseCloseTime?: string | null; - /** - * The time when the case was created, as reported by the external system. - */ caseCreateTime?: string | null; - /** - * The priority of the finding's corresponding case in the external system. - */ casePriority?: string | null; - /** - * The SLA of the finding's corresponding case in the external system. - */ caseSla?: string | null; - /** - * The link to the finding's corresponding case in the external system. - */ caseUri?: string | null; - /** - * The time when the case was last updated, as reported by the external system. - */ externalSystemUpdateTime?: string | null; - /** - * The identifier that's used to track the finding's corresponding case in the external system. - */ externalUid?: string | null; - /** - * Full resource name of the external system, for example: "organizations/1234/sources/5678/findings/123456/externalSystems/jira", "folders/1234/sources/5678/findings/123456/externalSystems/jira", "projects/1234/sources/5678/findings/123456/externalSystems/jira" - */ name?: string | null; - /** - * The most recent status of the finding's corresponding case, as reported by the external system. - */ status?: string | null; - /** - * Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding. - */ ticketInfo?: Schema$TicketInfo; } - /** - * A mute config is a Cloud SCC resource that contains the configuration to mute create/update events of findings. - */ export interface Schema$GoogleCloudSecuritycenterV1MuteConfig { - /** - * Output only. The time at which the mute config was created. This field is set by the server and will be ignored if provided on config creation. - */ createTime?: string | null; - /** - * A description of the mute config. - */ description?: string | null; - /** - * The human readable name to be displayed for the mute config. - */ displayName?: string | null; - /** - * Optional. The expiry of the mute config. Only applicable for dynamic configs. If the expiry is set, when the config expires, it is removed from all findings. - */ expiryTime?: string | null; - /** - * Required. An expression that defines the filter to apply across create/update events of findings. While creating a filter string, be mindful of the scope in which the mute configuration is being created. E.g., If a filter contains project = X but is created under the project = Y scope, it might not match any findings. The following field and operator combinations are supported: * severity: `=`, `:` * category: `=`, `:` * resource.name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.folders.resource_folder: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.type: `=`, `:` * finding_class: `=`, `:` * indicator.ip_addresses: `=`, `:` * indicator.domains: `=`, `:` - */ filter?: string | null; - /** - * Output only. Email address of the user who last edited the mute config. This field is set by the server and will be ignored if provided on config creation or update. - */ mostRecentEditor?: string | null; - /** - * This field will be ignored if provided on config creation. Format `organizations/{organization\}/muteConfigs/{mute_config\}` `folders/{folder\}/muteConfigs/{mute_config\}` `projects/{project\}/muteConfigs/{mute_config\}` `organizations/{organization\}/locations/global/muteConfigs/{mute_config\}` `folders/{folder\}/locations/global/muteConfigs/{mute_config\}` `projects/{project\}/locations/global/muteConfigs/{mute_config\}` - */ name?: string | null; - /** - * Optional. The type of the mute config, which determines what type of mute state the config affects. The static mute state takes precedence over the dynamic mute state. Immutable after creation. STATIC by default if not set during creation. - */ type?: string | null; - /** - * Output only. The most recent time at which the mute config was updated. This field is set by the server and will be ignored if provided on config creation or update. - */ updateTime?: string | null; } - /** - * Cloud SCC's Notification - */ export interface Schema$GoogleCloudSecuritycenterV1NotificationMessage { - /** - * If it's a Finding based notification config, this field will be populated. - */ finding?: Schema$Finding; - /** - * Name of the notification config that generated current notification. - */ notificationConfigName?: string | null; - /** - * The Cloud resource tied to this notification's Finding. - */ resource?: Schema$GoogleCloudSecuritycenterV1Resource; } - /** - * Security Command Center finding. A finding is a record of assessment data (security, risk, health or privacy) ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, an XSS vulnerability in an App Engine application is a finding. - */ export interface Schema$GoogleCloudSecuritycenterV1p1beta1Finding { - /** - * The canonical name of the finding. It's either "organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}", "folders/{folder_id\}/sources/{source_id\}/findings/{finding_id\}" or "projects/{project_number\}/sources/{source_id\}/findings/{finding_id\}", depending on the closest CRM ancestor of the resource associated with the finding. - */ canonicalName?: string | null; - /** - * The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: "XSS_FLASH_INJECTION" - */ category?: string | null; - /** - * The time at which the finding was created in Security Command Center. - */ createTime?: string | null; - /** - * The time at which the event took place, or when an update to the finding occurred. For example, if the finding represents an open firewall it would capture the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding were to be resolved afterward, this time would reflect when the finding was resolved. Must not be set to a value greater than the current timestamp. - */ eventTime?: string | null; - /** - * The URI that, if available, points to a web page outside of Security Command Center where additional information about the finding can be found. This field is guaranteed to be either empty or a well formed URL. - */ externalUri?: string | null; - /** - * The relative resource name of this finding. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}" - */ name?: string | null; - /** - * The relative resource name of the source the finding belongs to. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name This field is immutable after creation time. For example: "organizations/{organization_id\}/sources/{source_id\}" - */ parent?: string | null; - /** - * For findings on Google Cloud resources, the full resource name of the Google Cloud resource this finding is for. See: https://cloud.google.com/apis/design/resource_names#full_resource_name When the finding is for a non-Google Cloud resource, the resourceName can be a customer or partner defined string. This field is immutable after creation time. - */ resourceName?: string | null; - /** - * Output only. User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the finding. - */ securityMarks?: Schema$GoogleCloudSecuritycenterV1p1beta1SecurityMarks; - /** - * The severity of the finding. This field is managed by the source that writes the finding. - */ severity?: string | null; - /** - * Source specific properties. These properties are managed by the source that writes the finding. The key names in the source_properties map must be between 1 and 255 characters, and must start with a letter and contain alphanumeric characters or underscores only. - */ sourceProperties?: {[key: string]: any} | null; - /** - * The state of the finding. - */ state?: string | null; } - /** - * Message that contains the resource name and display name of a folder resource. - */ export interface Schema$GoogleCloudSecuritycenterV1p1beta1Folder { - /** - * Full resource name of this folder. See: https://cloud.google.com/apis/design/resource_names#full_resource_name - */ resourceFolder?: string | null; - /** - * The user defined display name for this folder. - */ resourceFolderDisplayName?: string | null; } - /** - * Security Command Center's Notification - */ export interface Schema$GoogleCloudSecuritycenterV1p1beta1NotificationMessage { - /** - * If it's a Finding based notification config, this field will be populated. - */ finding?: Schema$GoogleCloudSecuritycenterV1p1beta1Finding; - /** - * Name of the notification config that generated current notification. - */ notificationConfigName?: string | null; - /** - * The Cloud resource tied to the notification. - */ resource?: Schema$GoogleCloudSecuritycenterV1p1beta1Resource; } - /** - * Information related to the Google Cloud resource. - */ export interface Schema$GoogleCloudSecuritycenterV1p1beta1Resource { - /** - * Output only. Contains a Folder message for each folder in the assets ancestry. The first folder is the deepest nested folder, and the last folder is the folder directly under the Organization. - */ folders?: Schema$GoogleCloudSecuritycenterV1p1beta1Folder[]; - /** - * The full resource name of the resource. See: https://cloud.google.com/apis/design/resource_names#full_resource_name - */ name?: string | null; - /** - * The full resource name of resource's parent. - */ parent?: string | null; - /** - * The human readable name of resource's parent. - */ parentDisplayName?: string | null; - /** - * The full resource name of project that the resource belongs to. - */ project?: string | null; - /** - * The project id that the resource belongs to. - */ projectDisplayName?: string | null; } - /** - * Response of asset discovery run - */ export interface Schema$GoogleCloudSecuritycenterV1p1beta1RunAssetDiscoveryResponse { - /** - * The duration between asset discovery run start and end - */ duration?: string | null; - /** - * The state of an asset discovery run. - */ state?: string | null; } - /** - * User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization. - */ export interface Schema$GoogleCloudSecuritycenterV1p1beta1SecurityMarks { - /** - * The canonical name of the marks. Examples: "organizations/{organization_id\}/assets/{asset_id\}/securityMarks" "folders/{folder_id\}/assets/{asset_id\}/securityMarks" "projects/{project_number\}/assets/{asset_id\}/securityMarks" "organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}/securityMarks" "folders/{folder_id\}/sources/{source_id\}/findings/{finding_id\}/securityMarks" "projects/{project_number\}/sources/{source_id\}/findings/{finding_id\}/securityMarks" - */ canonicalName?: string | null; - /** - * Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive) - */ marks?: {[key: string]: string} | null; - /** - * The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id\}/assets/{asset_id\}/securityMarks" "organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}/securityMarks". - */ name?: string | null; } - /** - * An individual name-value pair that defines a custom source property. - */ export interface Schema$GoogleCloudSecuritycenterV1Property { - /** - * Name of the property for the custom output. - */ name?: string | null; - /** - * The CEL expression for the custom output. A resource property can be specified to return the value of the property or a text string enclosed in quotation marks. - */ valueExpression?: Schema$Expr; } - /** - * Information related to the Google Cloud resource. - */ export interface Schema$GoogleCloudSecuritycenterV1Resource { - /** - * The ADC application associated with the finding. - */ adcApplication?: Schema$AdcApplication; - /** - * The ADC template associated with the finding. - */ adcApplicationTemplate?: Schema$AdcApplicationTemplateRevision; - /** - * The ADC shared template associated with the finding. - */ adcSharedTemplate?: Schema$AdcSharedTemplateRevision; - /** - * The App Hub application this resource belongs to. - */ application?: Schema$GoogleCloudSecuritycenterV1ResourceApplication; - /** - * The AWS metadata associated with the finding. - */ awsMetadata?: Schema$AwsMetadata; - /** - * The Azure metadata associated with the finding. - */ azureMetadata?: Schema$AzureMetadata; - /** - * Indicates which cloud provider the resource resides in. - */ cloudProvider?: string | null; - /** - * The human readable name of the resource. - */ displayName?: string | null; - /** - * Output only. Contains a Folder message for each folder in the assets ancestry. The first folder is the deepest nested folder, and the last folder is the folder directly under the Organization. - */ folders?: Schema$Folder[]; - /** - * The region or location of the service (if applicable). - */ location?: string | null; - /** - * The full resource name of the resource. See: https://cloud.google.com/apis/design/resource_names#full_resource_name - */ name?: string | null; - /** - * Indicates which organization or tenant in the cloud provider the finding applies to. - */ organization?: string | null; - /** - * The full resource name of resource's parent. - */ parent?: string | null; - /** - * The human readable name of resource's parent. - */ parentDisplayName?: string | null; - /** - * The full resource name of project that the resource belongs to. - */ project?: string | null; - /** - * The project ID that the resource belongs to. - */ projectDisplayName?: string | null; - /** - * Provides the path to the resource within the resource hierarchy. - */ resourcePath?: Schema$ResourcePath; - /** - * A string representation of the resource path. For Google Cloud, it has the format of `organizations/{organization_id\}/folders/{folder_id\}/folders/{folder_id\}/projects/{project_id\}` where there can be any number of folders. For AWS, it has the format of `org/{organization_id\}/ou/{organizational_unit_id\}/ou/{organizational_unit_id\}/account/{account_id\}` where there can be any number of organizational units. For Azure, it has the format of `mg/{management_group_id\}/mg/{management_group_id\}/subscription/{subscription_id\}/rg/{resource_group_name\}` where there can be any number of management groups. - */ resourcePathString?: string | null; - /** - * The parent service or product from which the resource is provided, for example, GKE or SNS. - */ service?: string | null; - /** - * The full resource type of the resource. - */ type?: string | null; } - /** - * The App Hub Application associated with the finding's resource. - */ export interface Schema$GoogleCloudSecuritycenterV1ResourceApplication { - /** - * Consumer provided attributes for the application - */ - attributes?: Schema$GoogleCloudSecuritycenterV1ResourceApplicationAttributes; - /** - * The resource name of an Application. Format: `projects/{host-project-id\}/locations/{location\}/applications/{application-id\}` - */ + attributes?: Schema$GoogleCloudSecuritycenterV1ResourceApplicationAttributes; name?: string | null; } - /** - * Consumer provided attributes for the application - */ export interface Schema$GoogleCloudSecuritycenterV1ResourceApplicationAttributes { - /** - * Business team that ensures user needs are met and value is delivered - */ businessOwners?: Schema$GoogleCloudSecuritycenterV1ResourceApplicationAttributesContactInfo[]; - /** - * User-defined criticality information. - */ criticality?: Schema$GoogleCloudSecuritycenterV1ResourceApplicationAttributesCriticality; - /** - * Developer team that owns development and coding. - */ developerOwners?: Schema$GoogleCloudSecuritycenterV1ResourceApplicationAttributesContactInfo[]; - /** - * User-defined environment information. - */ environment?: Schema$GoogleCloudSecuritycenterV1ResourceApplicationAttributesEnvironment; - /** - * Operator team that ensures runtime and operations. - */ operatorOwners?: Schema$GoogleCloudSecuritycenterV1ResourceApplicationAttributesContactInfo[]; } - /** - * Contact information of stakeholders. - */ export interface Schema$GoogleCloudSecuritycenterV1ResourceApplicationAttributesContactInfo { - /** - * Email address of the contacts. - */ email?: string | null; } - /** - * Criticality of the Application, Service, or Workload - */ export interface Schema$GoogleCloudSecuritycenterV1ResourceApplicationAttributesCriticality { - /** - * Criticality Type. - */ type?: string | null; } - /** - * Environment of the Application, Service, or Workload - */ export interface Schema$GoogleCloudSecuritycenterV1ResourceApplicationAttributesEnvironment { - /** - * Environment Type. - */ type?: string | null; } - /** - * Resource for selecting resource type. - */ export interface Schema$GoogleCloudSecuritycenterV1ResourceSelector { - /** - * The resource types to run the detector on. - */ resourceTypes?: string[] | null; } - /** - * A resource value configuration (RVC) is a mapping configuration of user's resources to resource values. Used in Attack path simulations. - */ export interface Schema$GoogleCloudSecuritycenterV1ResourceValueConfig { - /** - * Cloud provider this configuration applies to - */ cloudProvider?: string | null; - /** - * Output only. Timestamp this resource value configuration was created. - */ createTime?: string | null; - /** - * Description of the resource value configuration. - */ description?: string | null; - /** - * Name for the resource value configuration - */ name?: string | null; - /** - * List of resource labels to search for, evaluated with `AND`. For example, `"resource_labels_selector": {"key": "value", "env": "prod"\}` will match resources with labels "key": "value" `AND` "env": "prod" https://cloud.google.com/resource-manager/docs/creating-managing-labels - */ resourceLabelsSelector?: {[key: string]: string} | null; - /** - * Apply resource_value only to resources that match resource_type. resource_type will be checked with `AND` of other resources. For example, "storage.googleapis.com/Bucket" with resource_value "HIGH" will apply "HIGH" value only to "storage.googleapis.com/Bucket" resources. - */ resourceType?: string | null; - /** - * Required. Resource value level this expression represents - */ resourceValue?: string | null; - /** - * Project or folder to scope this configuration to. For example, "project/456" would apply this configuration only to resources in "project/456" scope will be checked with `AND` of other resources. - */ scope?: string | null; - /** - * A mapping of the sensitivity on Sensitive Data Protection finding to resource values. This mapping can only be used in combination with a resource_type that is related to BigQuery, e.g. "bigquery.googleapis.com/Dataset". - */ sensitiveDataProtectionMapping?: Schema$GoogleCloudSecuritycenterV1SensitiveDataProtectionMapping; - /** - * Required. Tag values combined with `AND` to check against. For Google Cloud resources, they are tag value IDs in the form of "tagValues/123". Example: `[ "tagValues/123", "tagValues/456", "tagValues/789" ]` https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing - */ tagValues?: string[] | null; - /** - * Output only. Timestamp this resource value configuration was last updated. - */ updateTime?: string | null; } - /** - * Response of asset discovery run - */ export interface Schema$GoogleCloudSecuritycenterV1RunAssetDiscoveryResponse { - /** - * The duration between asset discovery run start and end - */ duration?: string | null; - /** - * The state of an asset discovery run. - */ state?: string | null; } - /** - * Represents an instance of a Security Health Analytics custom module, including its full module name, display name, enablement state, and last updated time. You can create a custom module at the organization, folder, or project level. Custom modules that you create at the organization or folder level are inherited by the child folders and projects. - */ export interface Schema$GoogleCloudSecuritycenterV1SecurityHealthAnalyticsCustomModule { - /** - * Output only. If empty, indicates that the custom module was created in the organization, folder, or project in which you are viewing the custom module. Otherwise, `ancestor_module` specifies the organization or folder from which the custom module is inherited. - */ ancestorModule?: string | null; - /** - * The cloud provider of the custom module. - */ cloudProvider?: string | null; - /** - * The user specified custom configuration for the module. - */ customConfig?: Schema$GoogleCloudSecuritycenterV1CustomConfig; - /** - * The display name of the Security Health Analytics custom module. This display name becomes the finding category for all findings that are returned by this custom module. The display name must be between 1 and 128 characters, start with a lowercase letter, and contain alphanumeric characters or underscores only. - */ displayName?: string | null; - /** - * The enablement state of the custom module. - */ enablementState?: string | null; - /** - * Output only. The editor that last updated the custom module. - */ lastEditor?: string | null; - /** - * Immutable. The resource name of the custom module. Its format is "organizations/{organization\}/securityHealthAnalyticsSettings/customModules/{customModule\}", or "folders/{folder\}/securityHealthAnalyticsSettings/customModules/{customModule\}", or "projects/{project\}/securityHealthAnalyticsSettings/customModules/{customModule\}" The id {customModule\} is server-generated and is not user settable. It will be a numeric id containing 1-20 digits. - */ name?: string | null; - /** - * Output only. The time at which the custom module was last updated. - */ updateTime?: string | null; } - /** - * Resource value mapping for Sensitive Data Protection findings. If any of these mappings have a resource value that is not unspecified, the resource_value field will be ignored when reading this configuration. - */ export interface Schema$GoogleCloudSecuritycenterV1SensitiveDataProtectionMapping { - /** - * Resource value mapping for high-sensitivity Sensitive Data Protection findings - */ highSensitivityMapping?: string | null; - /** - * Resource value mapping for medium-sensitivity Sensitive Data Protection findings - */ mediumSensitivityMapping?: string | null; } - /** - * Represents an access event. - */ export interface Schema$GoogleCloudSecuritycenterV2Access { - /** - * Caller's IP address, such as "1.1.1.1". - */ callerIp?: string | null; - /** - * The caller IP's geolocation, which identifies where the call came from. - */ callerIpGeo?: Schema$GoogleCloudSecuritycenterV2Geolocation; - /** - * The method that the service account called, e.g. "SetIamPolicy". - */ methodName?: string | null; - /** - * Associated email, such as "foo@google.com". The email address of the authenticated user or a service account acting on behalf of a third party principal making the request. For third party identity callers, the `principal_subject` field is populated instead of this field. For privacy reasons, the principal email address is sometimes redacted. For more information, see [Caller identities in audit logs](https://cloud.google.com/logging/docs/audit#user-id). - */ principalEmail?: string | null; - /** - * A string that represents the principal_subject that is associated with the identity. Unlike `principal_email`, `principal_subject` supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format is `principal://iam.googleapis.com/{identity pool name\}/subject/{subject\}`. Some GKE identities, such as GKE_WORKLOAD, FREEFORM, and GKE_HUB_WORKLOAD, still use the legacy format `serviceAccount:{identity pool name\}[{subject\}]`. - */ principalSubject?: string | null; - /** - * The identity delegation history of an authenticated service account that made the request. The `serviceAccountDelegationInfo[]` object contains information about the real authorities that try to access Google Cloud resources by delegating on a service account. When multiple authorities are present, they are guaranteed to be sorted based on the original ordering of the identity delegation events. - */ serviceAccountDelegationInfo?: Schema$GoogleCloudSecuritycenterV2ServiceAccountDelegationInfo[]; - /** - * The name of the service account key that was used to create or exchange credentials when authenticating the service account that made the request. This is a scheme-less URI full resource name. For example: "//iam.googleapis.com/projects/{PROJECT_ID\}/serviceAccounts/{ACCOUNT\}/keys/{key\}". - */ serviceAccountKeyName?: string | null; - /** - * This is the API service that the service account made a call to, e.g. "iam.googleapis.com" - */ serviceName?: string | null; - /** - * The caller's user agent string associated with the finding. - */ userAgent?: string | null; - /** - * Type of user agent associated with the finding. For example, an operating system shell or an embedded or standalone application. - */ userAgentFamily?: string | null; - /** - * A string that represents a username. The username provided depends on the type of the finding and is likely not an IAM principal. For example, this can be a system username if the finding is related to a virtual machine, or it can be an application login username. - */ userName?: string | null; } - /** - * Conveys information about a Kubernetes access review (such as one returned by a [`kubectl auth can-i`](https://kubernetes.io/docs/reference/access-authn-authz/authorization/#checking-api-access) command) that was involved in a finding. - */ export interface Schema$GoogleCloudSecuritycenterV2AccessReview { - /** - * The API group of the resource. "*" means all. - */ group?: string | null; - /** - * The name of the resource being requested. Empty means all. - */ name?: string | null; - /** - * Namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces. Both are represented by "" (empty). - */ ns?: string | null; - /** - * The optional resource type requested. "*" means all. - */ resource?: string | null; - /** - * The optional subresource type. - */ subresource?: string | null; - /** - * A Kubernetes resource API verb, like get, list, watch, create, update, delete, proxy. "*" means all. - */ verb?: string | null; - /** - * The API version of the resource. "*" means all. - */ version?: string | null; } - /** - * Information about [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-protection). - */ export interface Schema$GoogleCloudSecuritycenterV2AdaptiveProtection { - /** - * A score of 0 means that there is low confidence that the detected event is an actual attack. A score of 1 means that there is high confidence that the detected event is an attack. See the [Adaptive Protection documentation](https://cloud.google.com/armor/docs/adaptive-protection-overview#configure-alert-tuning) for further explanation. - */ confidence?: number | null; } - /** - * Represents an ADC application associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2AdcApplication { - /** - * Consumer provided attributes for the AppHub application. - */ attributes?: Schema$GoogleCloudSecuritycenterV2ResourceApplicationAttributes; - /** - * The resource name of an ADC Application. Format: projects/{project\}/locations/{location\}/spaces/{space\}/applications/{application\} - */ name?: string | null; } - /** - * Represents an ADC template associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2AdcApplicationTemplateRevision { - /** - * The resource name of an ADC Application Template Revision. Format: projects/{project\}/locations/{location\}/spaces/{space\}/applicationTemplates/{application_template\}/revisions/{revision\} - */ name?: string | null; } - /** - * Represents an ADC shared template associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2AdcSharedTemplateRevision { - /** - * The resource name of an ADC Shared Template Revision. Format: projects/{project\}/locations/{location\}/spaces/{space\}/applicationTemplates/{application_template\}/revisions/{revision\} - */ name?: string | null; } - /** - * Details about resources affected by this finding. - */ export interface Schema$GoogleCloudSecuritycenterV2AffectedResources { - /** - * The count of resources affected by the finding. - */ count?: string | null; } - /** - * Details about a data access attempt made by an agent principal not authorized under applicable data security policy. - */ export interface Schema$GoogleCloudSecuritycenterV2AgentDataAccessEvent { - /** - * Unique identifier for data access event. - */ eventId?: string | null; - /** - * Timestamp of data access event. - */ eventTime?: string | null; - /** - * The operation performed by the principal to access the data. - */ operation?: string | null; - /** - * The agent principal that accessed the data. - */ principalSubject?: string | null; } - /** - * Contains information about the AI model associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2AiModel { - /** - * The platform on which the model is deployed. - */ deploymentPlatform?: string | null; - /** - * The user defined display name of model. Ex. baseline-classification-model - */ displayName?: string | null; - /** - * The domain of the model, for example, “image-classification”. - */ domain?: string | null; - /** - * The name of the model library, for example, “transformers”. - */ library?: string | null; - /** - * The region in which the model is used, for example, “us-central1”. - */ location?: string | null; - /** - * The name of the AI model, for example, "gemini:1.0.0". - */ name?: string | null; - /** - * The publisher of the model, for example, “google” or “nvidia”. - */ publisher?: string | null; - /** - * The purpose of the model, for example, "Inteference" or "Training". - */ usageCategory?: string | null; } - /** - * Allowed IP rule. - */ export interface Schema$GoogleCloudSecuritycenterV2Allowed { - /** - * Optional. Optional list of allowed IP rules. - */ ipRules?: Schema$GoogleCloudSecuritycenterV2IpRule[]; } - /** - * Represents an application associated with a finding. - */ export interface Schema$GoogleCloudSecuritycenterV2Application { - /** - * The base URI that identifies the network location of the application in which the vulnerability was detected. For example, `http://example.com`. - */ baseUri?: string | null; - /** - * The full URI with payload that could be used to reproduce the vulnerability. For example, `http://example.com?p=aMmYgI6H`. - */ fullUri?: string | null; } - /** - * Represents the result of evaluating artifact guard policies. - */ export interface Schema$GoogleCloudSecuritycenterV2ArtifactGuardPolicies { - /** - * A list of failing policies. - */ failingPolicies?: Schema$GoogleCloudSecuritycenterV2ArtifactGuardPolicy[]; - /** - * The ID of the resource that has policies configured for it. - */ resourceId?: string | null; } - /** - * Represents an artifact guard policy. - */ export interface Schema$GoogleCloudSecuritycenterV2ArtifactGuardPolicy { - /** - * The reason for the policy failure, for example, "severity=HIGH AND max_vuln_count=2". - */ failureReason?: string | null; - /** - * The ID of the failing policy, for example, "organizations/3392779/locations/global/policies/prod-policy". - */ policyId?: string | null; - /** - * The type of the policy evaluation. - */ type?: string | null; } - /** - * Information about DDoS attack volume and classification. - */ export interface Schema$GoogleCloudSecuritycenterV2Attack { - /** - * Type of attack, for example, 'SYN-flood', 'NTP-udp', or 'CHARGEN-udp'. - */ classification?: string | null; - /** - * Total BPS (bytes per second) volume of attack. Deprecated - refer to volume_bps_long instead. - */ volumeBps?: number | null; - /** - * Total BPS (bytes per second) volume of attack. - */ volumeBpsLong?: string | null; - /** - * Total PPS (packets per second) volume of attack. Deprecated - refer to volume_pps_long instead. - */ volumePps?: number | null; - /** - * Total PPS (packets per second) volume of attack. - */ volumePpsLong?: string | null; } - /** - * An attack exposure contains the results of an attack path simulation run. - */ export interface Schema$GoogleCloudSecuritycenterV2AttackExposure { - /** - * The resource name of the attack path simulation result that contains the details regarding this attack exposure score. Example: `organizations/123/simulations/456/attackExposureResults/789` - */ attackExposureResult?: string | null; - /** - * The number of high value resources that are exposed as a result of this finding. - */ exposedHighValueResourcesCount?: number | null; - /** - * The number of high value resources that are exposed as a result of this finding. - */ exposedLowValueResourcesCount?: number | null; - /** - * The number of medium value resources that are exposed as a result of this finding. - */ exposedMediumValueResourcesCount?: number | null; - /** - * The most recent time the attack exposure was updated on this finding. - */ latestCalculationTime?: string | null; - /** - * A number between 0 (inclusive) and infinity that represents how important this finding is to remediate. The higher the score, the more important it is to remediate. - */ score?: number | null; - /** - * Output only. What state this AttackExposure is in. This captures whether or not an attack exposure has been calculated or not. - */ state?: string | null; } - /** - * An AWS account that is a member of an organization. - */ export interface Schema$GoogleCloudSecuritycenterV2AwsAccount { - /** - * The unique identifier (ID) of the account, containing exactly 12 digits. - */ id?: string | null; - /** - * The friendly name of this account. - */ name?: string | null; } - /** - * AWS metadata associated with the resource, only applicable if the finding's cloud provider is Amazon Web Services. - */ export interface Schema$GoogleCloudSecuritycenterV2AwsMetadata { - /** - * The AWS account associated with the resource. - */ account?: Schema$GoogleCloudSecuritycenterV2AwsAccount; - /** - * The AWS organization associated with the resource. - */ organization?: Schema$GoogleCloudSecuritycenterV2AwsOrganization; - /** - * A list of AWS organizational units associated with the resource, ordered from lowest level (closest to the account) to highest level. - */ organizationalUnits?: Schema$GoogleCloudSecuritycenterV2AwsOrganizationalUnit[]; } - /** - * An organization is a collection of accounts that are centrally managed together using consolidated billing, organized hierarchically with organizational units (OUs), and controlled with policies. - */ export interface Schema$GoogleCloudSecuritycenterV2AwsOrganization { - /** - * The unique identifier (ID) for the organization. The regex pattern for an organization ID string requires "o-" followed by from 10 to 32 lowercase letters or digits. - */ id?: string | null; } - /** - * An Organizational Unit (OU) is a container of AWS accounts within a root of an organization. Policies that are attached to an OU apply to all accounts contained in that OU and in any child OUs. - */ export interface Schema$GoogleCloudSecuritycenterV2AwsOrganizationalUnit { - /** - * The unique identifier (ID) associated with this OU. The regex pattern for an organizational unit ID string requires "ou-" followed by from 4 to 32 lowercase letters or digits (the ID of the root that contains the OU). This string is followed by a second "-" dash and from 8 to 32 additional lowercase letters or digits. For example, "ou-ab12-cd34ef56". - */ id?: string | null; - /** - * The friendly name of the OU. - */ name?: string | null; } - /** - * Represents an Azure management group. - */ export interface Schema$GoogleCloudSecuritycenterV2AzureManagementGroup { - /** - * The display name of the Azure management group. - */ - displayName?: string | null; - /** - * The UUID of the Azure management group, for example, `20000000-0001-0000-0000-000000000000`. - */ + displayName?: string | null; id?: string | null; } - /** - * Azure metadata associated with the resource, only applicable if the finding's cloud provider is Microsoft Azure. - */ export interface Schema$GoogleCloudSecuritycenterV2AzureMetadata { - /** - * A list of Azure management groups associated with the resource, ordered from lowest level (closest to the subscription) to highest level. - */ managementGroups?: Schema$GoogleCloudSecuritycenterV2AzureManagementGroup[]; - /** - * The Azure resource group associated with the resource. - */ resourceGroup?: Schema$GoogleCloudSecuritycenterV2AzureResourceGroup; - /** - * The Azure subscription associated with the resource. - */ subscription?: Schema$GoogleCloudSecuritycenterV2AzureSubscription; - /** - * The Azure Entra tenant associated with the resource. - */ tenant?: Schema$GoogleCloudSecuritycenterV2AzureTenant; } - /** - * Represents an Azure resource group. - */ export interface Schema$GoogleCloudSecuritycenterV2AzureResourceGroup { - /** - * The ID of the Azure resource group. - */ id?: string | null; - /** - * The name of the Azure resource group. This is not a UUID. - */ name?: string | null; } - /** - * Represents an Azure subscription. - */ export interface Schema$GoogleCloudSecuritycenterV2AzureSubscription { - /** - * The display name of the Azure subscription. - */ displayName?: string | null; - /** - * The UUID of the Azure subscription, for example, `291bba3f-e0a5-47bc-a099-3bdcb2a50a05`. - */ id?: string | null; } - /** - * Represents a Microsoft Entra tenant. - */ export interface Schema$GoogleCloudSecuritycenterV2AzureTenant { - /** - * The display name of the Azure tenant. - */ displayName?: string | null; - /** - * The ID of the Microsoft Entra tenant, for example, "a11aaa11-aa11-1aa1-11aa-1aaa11a". - */ id?: string | null; } - /** - * Information related to Google Cloud Backup and DR Service findings. - */ export interface Schema$GoogleCloudSecuritycenterV2BackupDisasterRecovery { - /** - * The name of the Backup and DR appliance that captures, moves, and manages the lifecycle of backup data. For example, `backup-server-57137`. - */ appliance?: string | null; - /** - * The names of Backup and DR applications. An application is a VM, database, or file system on a managed host monitored by a backup and recovery appliance. For example, `centos7-01-vol00`, `centos7-01-vol01`, `centos7-01-vol02`. - */ applications?: string[] | null; - /** - * The timestamp at which the Backup and DR backup was created. - */ backupCreateTime?: string | null; - /** - * The name of a Backup and DR template which comprises one or more backup policies. See the [Backup and DR documentation](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#temp) for more information. For example, `snap-ov`. - */ backupTemplate?: string | null; - /** - * The backup type of the Backup and DR image. For example, `Snapshot`, `Remote Snapshot`, `OnVault`. - */ backupType?: string | null; - /** - * The name of a Backup and DR host, which is managed by the backup and recovery appliance and known to the management console. The host can be of type Generic (for example, Compute Engine, SQL Server, Oracle DB, SMB file system, etc.), vCenter, or an ESX server. See the [Backup and DR documentation on hosts](https://cloud.google.com/backup-disaster-recovery/docs/configuration/manage-hosts-and-their-applications) for more information. For example, `centos7-01`. - */ host?: string | null; - /** - * The names of Backup and DR policies that are associated with a template and that define when to run a backup, how frequently to run a backup, and how long to retain the backup image. For example, `onvaults`. - */ policies?: string[] | null; - /** - * The names of Backup and DR advanced policy options of a policy applying to an application. See the [Backup and DR documentation on policy options](https://cloud.google.com/backup-disaster-recovery/docs/create-plan/policy-settings). For example, `skipofflineappsincongrp, nounmap`. - */ policyOptions?: string[] | null; - /** - * The name of the Backup and DR resource profile that specifies the storage media for backups of application and VM data. See the [Backup and DR documentation on profiles](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#profile). For example, `GCP`. - */ profile?: string | null; - /** - * The name of the Backup and DR storage pool that the backup and recovery appliance is storing data in. The storage pool could be of type Cloud, Primary, Snapshot, or OnVault. See the [Backup and DR documentation on storage pools](https://cloud.google.com/backup-disaster-recovery/docs/concepts/storage-pools). For example, `DiskPoolOne`. - */ storagePool?: string | null; } - /** - * Configures how to deliver Findings to BigQuery Instance. - */ export interface Schema$GoogleCloudSecuritycenterV2BigQueryExport { - /** - * Output only. The time at which the BigQuery export was created. This field is set by the server and will be ignored if provided on export on creation. - */ createTime?: string | null; - /** - * Output only. The resource name of the Cloud KMS `CryptoKey` used to protect this configuration's data, if configured during Security Command Center activation. - */ cryptoKeyName?: string | null; - /** - * The dataset to write findings' updates to. Its format is "projects/[project_id]/datasets/[bigquery_dataset_id]". BigQuery dataset unique ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). - */ dataset?: string | null; - /** - * The description of the export (max of 1024 characters). - */ description?: string | null; - /** - * Expression that defines the filter to apply across create/update events of findings. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are: * `=` for all value types. * `\>`, `<`, `\>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. - */ filter?: string | null; - /** - * Output only. Email address of the user who last edited the BigQuery export. This field is set by the server and will be ignored if provided on export creation or update. - */ mostRecentEditor?: string | null; - /** - * Identifier. The relative resource name of this export. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name. The following list shows some examples: + `organizations/{organization_id\}/locations/{location_id\}/bigQueryExports/{export_id\}` + `folders/{folder_id\}/locations/{location_id\}/bigQueryExports/{export_id\}` + `projects/{project_id\}/locations/{location_id\}/bigQueryExports/{export_id\}` This field is provided in responses, and is ignored when provided in create requests. - */ name?: string | null; - /** - * Output only. The service account that needs permission to create table and upload data to the BigQuery dataset. - */ principal?: string | null; - /** - * Output only. The most recent time at which the BigQuery export was updated. This field is set by the server and will be ignored if provided on export creation or update. - */ updateTime?: string | null; } - /** - * Represents a Kubernetes RoleBinding or ClusterRoleBinding. - */ export interface Schema$GoogleCloudSecuritycenterV2Binding { - /** - * Name for the binding. - */ name?: string | null; - /** - * Namespace for the binding. - */ ns?: string | null; - /** - * The Role or ClusterRole referenced by the binding. - */ role?: Schema$GoogleCloudSecuritycenterV2Role; - /** - * Represents one or more subjects that are bound to the role. Not always available for PATCH requests. - */ subjects?: Schema$GoogleCloudSecuritycenterV2Subject[]; } - /** - * The response to a BulkMute request. Contains the LRO information. - */ export interface Schema$GoogleCloudSecuritycenterV2BulkMuteFindingsResponse {} - /** - * Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations). - */ export interface Schema$GoogleCloudSecuritycenterV2Chokepoint { - /** - * List of resource names of findings associated with this chokepoint. For example, organizations/123/sources/456/findings/789. This list will have at most 100 findings. - */ relatedFindings?: string[] | null; } - /** - * Fields related to Google Cloud Armor findings. - */ export interface Schema$GoogleCloudSecuritycenterV2CloudArmor { - /** - * Information about potential Layer 7 DDoS attacks identified by [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/adaptive-protection-overview). - */ adaptiveProtection?: Schema$GoogleCloudSecuritycenterV2AdaptiveProtection; - /** - * Information about DDoS attack volume and classification. - */ attack?: Schema$GoogleCloudSecuritycenterV2Attack; - /** - * Duration of attack from the start until the current moment (updated every 5 minutes). - */ duration?: string | null; - /** - * Information about incoming requests evaluated by [Google Cloud Armor security policies](https://cloud.google.com/armor/docs/security-policy-overview). - */ requests?: Schema$GoogleCloudSecuritycenterV2Requests; - /** - * Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding. - */ securityPolicy?: Schema$GoogleCloudSecuritycenterV2SecurityPolicy; - /** - * Distinguish between volumetric & protocol DDoS attack and application layer attacks. For example, "L3_4" for Layer 3 and Layer 4 DDoS attacks, or "L_7" for Layer 7 DDoS attacks. - */ threatVector?: string | null; } - /** - * CloudControl associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2CloudControl { - /** - * Name of the CloudControl associated with the finding. - */ cloudControlName?: string | null; - /** - * Policy type of the CloudControl - */ policyType?: string | null; - /** - * Type of cloud control. - */ type?: string | null; - /** - * Version of the Cloud Control - */ version?: number | null; } - /** - * The [data profile](https://cloud.google.com/dlp/docs/data-profiles) associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2CloudDlpDataProfile { - /** - * Name of the data profile, for example, `projects/123/locations/europe/tableProfiles/8383929`. - */ dataProfile?: string | null; - /** - * Type of information detected by SDP. Info type includes name, version and sensitivity of the detected information type. - */ infoTypes?: Schema$GoogleCloudSecuritycenterV2InfoType[]; - /** - * The resource hierarchy level at which the data profile was generated. - */ parentType?: string | null; } - /** - * Details about the Cloud Data Loss Prevention (Cloud DLP) [inspection job](https://cloud.google.com/dlp/docs/concepts-job-triggers) that produced the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2CloudDlpInspection { - /** - * Whether Cloud DLP scanned the complete resource or a sampled subset. - */ fullScan?: boolean | null; - /** - * The type of information (or *[infoType](https://cloud.google.com/dlp/docs/infotypes-reference)*) found, for example, `EMAIL_ADDRESS` or `STREET_ADDRESS`. - */ infoType?: string | null; - /** - * The number of times Cloud DLP found this infoType within this job and resource. - */ infoTypeCount?: string | null; - /** - * Name of the inspection job, for example, `projects/123/locations/europe/dlpJobs/i-8383929`. - */ inspectJob?: string | null; } - /** - * Metadata taken from a [Cloud Logging LogEntry](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) - */ export interface Schema$GoogleCloudSecuritycenterV2CloudLoggingEntry { - /** - * A unique identifier for the log entry. - */ insertId?: string | null; - /** - * The type of the log (part of `log_name`. `log_name` is the resource name of the log to which this log entry belongs). For example: `cloudresourcemanager.googleapis.com/activity` Note that this field is not URL-encoded, unlike in `LogEntry`. - */ logId?: string | null; - /** - * The organization, folder, or project of the monitored resource that produced this log entry. - */ resourceContainer?: string | null; - /** - * The time the event described by the log entry occurred. - */ timestamp?: string | null; } - /** - * Contains compliance information about a security standard indicating unmet recommendations. - */ export interface Schema$GoogleCloudSecuritycenterV2Compliance { - /** - * Policies within the standard or benchmark, for example, A.12.4.1 - */ ids?: string[] | null; - /** - * Industry-wide compliance standards or benchmarks, such as CIS, PCI, and OWASP. - */ standard?: string | null; - /** - * Version of the standard or benchmark, for example, 1.1 - */ version?: string | null; } - /** - * Compliance Details associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2ComplianceDetails { - /** - * CloudControl associated with the finding - */ cloudControl?: Schema$GoogleCloudSecuritycenterV2CloudControl; - /** - * Cloud Control Deployments associated with the finding. For example, organizations/123/locations/global/cloudControlDeployments/deploymentIdentifier - */ cloudControlDeploymentNames?: string[] | null; - /** - * Details of Frameworks associated with the finding - */ frameworks?: Schema$GoogleCloudSecuritycenterV2Framework[]; } - /** - * Contains information about the IP connection associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2Connection { - /** - * Destination IP address. Not present for sockets that are listening and not connected. - */ destinationIp?: string | null; - /** - * Destination port. Not present for sockets that are listening and not connected. - */ destinationPort?: number | null; - /** - * IANA Internet Protocol Number such as TCP(6) and UDP(17). - */ protocol?: string | null; - /** - * Source IP address. - */ sourceIp?: string | null; - /** - * Source port. - */ sourcePort?: number | null; } - /** - * The email address of a contact. - */ export interface Schema$GoogleCloudSecuritycenterV2Contact { - /** - * An email address. For example, "`person123@company.com`". - */ email?: string | null; } - /** - * Details about specific contacts - */ export interface Schema$GoogleCloudSecuritycenterV2ContactDetails { - /** - * A list of contacts - */ contacts?: Schema$GoogleCloudSecuritycenterV2Contact[]; } - /** - * Container associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2Container { - /** - * The time that the container was created. - */ createTime?: string | null; - /** - * Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest. - */ imageId?: string | null; - /** - * Container labels, as provided by the container runtime. - */ labels?: Schema$GoogleCloudSecuritycenterV2Label[]; - /** - * Name of the container. - */ name?: string | null; - /** - * Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags. - */ uri?: string | null; } - /** - * Compliance control associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2Control { - /** - * Name of the Control - */ controlName?: string | null; - /** - * Display name of the control. For example, AU-02. - */ displayName?: string | null; } - /** - * CVE stands for Common Vulnerabilities and Exposures. Information from the [CVE record](https://www.cve.org/ResourcesSupport/Glossary) that describes this vulnerability. - */ export interface Schema$GoogleCloudSecuritycenterV2Cve { - /** - * Describe Common Vulnerability Scoring System specified at https://www.first.org/cvss/v3.1/specification-document - */ cvssv3?: Schema$GoogleCloudSecuritycenterV2Cvssv3; - /** - * The exploitation activity of the vulnerability in the wild. - */ exploitationActivity?: string | null; - /** - * Date the first publicly available exploit or PoC was released. - */ exploitReleaseDate?: string | null; - /** - * Date of the earliest known exploitation. - */ firstExploitationDate?: string | null; - /** - * The unique identifier for the vulnerability. e.g. CVE-2021-34527 - */ id?: string | null; - /** - * The potential impact of the vulnerability if it was to be exploited. - */ impact?: string | null; - /** - * Whether or not the vulnerability has been observed in the wild. - */ observedInTheWild?: boolean | null; - /** - * Additional information about the CVE. e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527 - */ references?: Schema$GoogleCloudSecuritycenterV2Reference[]; - /** - * Whether upstream fix is available for the CVE. - */ upstreamFixAvailable?: boolean | null; - /** - * Whether or not the vulnerability was zero day when the finding was published. - */ zeroDay?: boolean | null; } - /** - * Common Vulnerability Scoring System version 3. - */ export interface Schema$GoogleCloudSecuritycenterV2Cvssv3 { - /** - * This metric describes the conditions beyond the attacker's control that must exist in order to exploit the vulnerability. - */ attackComplexity?: string | null; - /** - * Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. This metric reflects the context by which vulnerability exploitation is possible. - */ attackVector?: string | null; - /** - * This metric measures the impact to the availability of the impacted component resulting from a successfully exploited vulnerability. - */ availabilityImpact?: string | null; - /** - * The base score is a function of the base metric scores. - */ baseScore?: number | null; - /** - * This metric measures the impact to the confidentiality of the information resources managed by a software component due to a successfully exploited vulnerability. - */ confidentialityImpact?: string | null; - /** - * This metric measures the impact to integrity of a successfully exploited vulnerability. - */ integrityImpact?: string | null; - /** - * This metric describes the level of privileges an attacker must possess before successfully exploiting the vulnerability. - */ privilegesRequired?: string | null; - /** - * The Scope metric captures whether a vulnerability in one vulnerable component impacts resources in components beyond its security scope. - */ scope?: string | null; - /** - * This metric captures the requirement for a human user, other than the attacker, to participate in the successful compromise of the vulnerable component. - */ userInteraction?: string | null; } - /** - * CWE stands for Common Weakness Enumeration. Information about this weakness, as described by [CWE](https://cwe.mitre.org/). - */ export interface Schema$GoogleCloudSecuritycenterV2Cwe { - /** - * The CWE identifier, e.g. CWE-94 - */ id?: string | null; - /** - * Any reference to the details on the CWE, for example, https://cwe.mitre.org/data/definitions/94.html - */ references?: Schema$GoogleCloudSecuritycenterV2Reference[]; } - /** - * Details about a data access attempt made by a principal not authorized under applicable data security policy. - */ export interface Schema$GoogleCloudSecuritycenterV2DataAccessEvent { - /** - * Unique identifier for data access event. - */ eventId?: string | null; - /** - * Timestamp of data access event. - */ eventTime?: string | null; - /** - * The operation performed by the principal to access the data. - */ operation?: string | null; - /** - * The email address of the principal that accessed the data. The principal could be a user account, service account, Google group, or other. - */ principalEmail?: string | null; } - /** - * Represents database access information, such as queries. A database may be a sub-resource of an instance (as in the case of Cloud SQL instances or Cloud Spanner instances), or the database instance itself. Some database resources might not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types, such as Cloud SQL databases, are not yet supported by Cloud Asset Inventory. In these cases only the display name is provided. - */ - export interface Schema$GoogleCloudSecuritycenterV2Database { - /** - * The human-readable name of the database that the user connected to. - */ + export interface Schema$GoogleCloudSecuritycenterV2Database { displayName?: string | null; - /** - * The target usernames, roles, or groups of an SQL privilege grant, which is not an IAM policy change. - */ grantees?: string[] | null; - /** - * Some database resources may not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types are not yet supported by Cloud Asset Inventory (e.g. Cloud SQL databases). In these cases only the display name will be provided. The [full resource name](https://google.aip.dev/122#full-resource-names) of the database that the user connected to, if it is supported by Cloud Asset Inventory. - */ name?: string | null; - /** - * The SQL statement that is associated with the database access. - */ query?: string | null; - /** - * The username used to connect to the database. The username might not be an IAM principal and does not have a set format. - */ userName?: string | null; - /** - * The version of the database, for example, POSTGRES_14. See [the complete list](https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1/SqlDatabaseVersion). - */ version?: string | null; } - /** - * Details about a data flow event, in which either the data is moved to or is accessed from a non-compliant geo-location, as defined in the applicable data security policy. - */ export interface Schema$GoogleCloudSecuritycenterV2DataFlowEvent { - /** - * Unique identifier for data flow event. - */ eventId?: string | null; - /** - * Timestamp of data flow event. - */ eventTime?: string | null; - /** - * The operation performed by the principal for the data flow event. - */ operation?: string | null; - /** - * The email address of the principal that initiated the data flow event. The principal could be a user account, service account, Google group, or other. - */ principalEmail?: string | null; - /** - * Non-compliant location of the principal or the data destination. - */ violatedLocation?: string | null; } - /** - * Details about data retention deletion violations, in which the data is non-compliant based on their retention or deletion time, as defined in the applicable data security policy. The Data Retention Deletion (DRD) control is a control of the DSPM (Data Security Posture Management) suite that enables organizations to manage data retention and deletion policies in compliance with regulations, such as GDPR and CRPA. DRD supports two primary policy types: maximum storage length (max TTL) and minimum storage length (min TTL). Both are aimed at helping organizations meet regulatory and data management commitments. - */ export interface Schema$GoogleCloudSecuritycenterV2DataRetentionDeletionEvent { - /** - * Number of objects that violated the policy for this resource. If the number is less than 1,000, then the value of this field is the exact number. If the number of objects that violated the policy is greater than or equal to 1,000, then the value of this field is 1000. - */ dataObjectCount?: string | null; - /** - * Timestamp indicating when the event was detected. - */ eventDetectionTime?: string | null; - /** - * Type of the DRD event. - */ eventType?: string | null; - /** - * Maximum duration of retention allowed from the DRD control. This comes from the DRD control where users set a max TTL for their data. For example, suppose that a user sets the max TTL for a Cloud Storage bucket to 90 days. However, an object in that bucket is 100 days old. In this case, a DataRetentionDeletionEvent will be generated for that Cloud Storage bucket, and the max_retention_allowed is 90 days. - */ maxRetentionAllowed?: string | null; - /** - * Min duration of retention allowed from the DSPM retention control. This field is only populated when event type is set to EVENT_TYPE_MIN_TTL_FROM_CREATION. - */ minRetentionAllowed?: string | null; } - /** - * Vertex AI dataset associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2Dataset { - /** - * The user defined display name of dataset, e.g. plants-dataset - */ displayName?: string | null; - /** - * Resource name of the dataset, e.g. projects/{project\}/locations/{location\}/datasets/2094040236064505856 - */ name?: string | null; - /** - * Data source, such as a BigQuery source URI, e.g. bq://scc-nexus-test.AIPPtest.gsod - */ source?: string | null; } - /** - * Denied IP rule. - */ export interface Schema$GoogleCloudSecuritycenterV2Denied { - /** - * Optional. Optional list of denied IP rules. - */ ipRules?: Schema$GoogleCloudSecuritycenterV2IpRule[]; } - /** - * Memory hash detection contributing to the binary family match. - */ export interface Schema$GoogleCloudSecuritycenterV2Detection { - /** - * The name of the binary associated with the memory hash signature detection. - */ binary?: string | null; - /** - * The percentage of memory page hashes in the signature that were matched. - */ percentPagesMatched?: number | null; } - /** - * Represents discovered, customer managed workload that is not registered with the respective GCP service. - */ export interface Schema$GoogleCloudSecuritycenterV2DiscoveredWorkload { - /** - * The confidence in detection of this workload. - */ confidence?: string | null; - /** - * A boolean flag set to true if associated hardware strongly predicts the workload type. - */ detectedRelevantHardware?: boolean | null; - /** - * A boolean flag set to true if associated keywords strongly predict the workload type. - */ detectedRelevantKeywords?: boolean | null; - /** - * A boolean flag set to true if installed packages strongly predict the workload type. - */ detectedRelevantPackages?: boolean | null; - /** - * The type of workload. - */ workloadType?: string | null; } - /** - * Contains information about the disk associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2Disk { - /** - * The name of the disk, for example, "https://www.googleapis.com/compute/v1/projects/{project-id\}/zones/{zone-id\}/disks/{disk-id\}". - */ name?: string | null; } - /** - * Path of the file in terms of underlying disk/partition identifiers. - */ export interface Schema$GoogleCloudSecuritycenterV2DiskPath { - /** - * UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - */ partitionUuid?: string | null; - /** - * Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh - */ relativePath?: string | null; } - /** - * The record of a dynamic mute rule that matches the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2DynamicMuteRecord { - /** - * When the dynamic mute rule first matched the finding. - */ matchTime?: string | null; - /** - * The relative resource name of the mute rule, represented by a mute config, that created this record, for example `organizations/123/muteConfigs/mymuteconfig` or `organizations/123/locations/global/muteConfigs/mymuteconfig`. - */ muteConfig?: string | null; } - /** - * A name-value pair representing an environment variable used in an operating system process. - */ export interface Schema$GoogleCloudSecuritycenterV2EnvironmentVariable { - /** - * Environment variable name as a JSON encoded string. - */ name?: string | null; - /** - * Environment variable value as a JSON encoded string. - */ val?: string | null; } - /** - * Resource where data was exfiltrated from or exfiltrated to. - */ export interface Schema$GoogleCloudSecuritycenterV2ExfilResource { - /** - * Subcomponents of the asset that was exfiltrated, like URIs used during exfiltration, table names, databases, and filenames. For example, multiple tables might have been exfiltrated from the same Cloud SQL instance, or multiple files might have been exfiltrated from the same Cloud Storage bucket. - */ components?: string[] | null; - /** - * The resource's [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name). - */ name?: string | null; } - /** - * Exfiltration represents a data exfiltration attempt from one or more sources to one or more targets. The `sources` attribute lists the sources of the exfiltrated data. The `targets` attribute lists the destinations the data was copied to. - */ export interface Schema$GoogleCloudSecuritycenterV2Exfiltration { - /** - * If there are multiple sources, then the data is considered "joined" between them. For instance, BigQuery can join multiple tables, and each table would be considered a source. - */ sources?: Schema$GoogleCloudSecuritycenterV2ExfilResource[]; - /** - * If there are multiple targets, each target would get a complete copy of the "joined" source data. - */ targets?: Schema$GoogleCloudSecuritycenterV2ExfilResource[]; - /** - * Total exfiltrated bytes processed for the entire job. - */ totalExfiltratedBytes?: string | null; } - /** - * Details about the externally exposed resource associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2ExternalExposure { - /** - * The full resource name of the load balancer backend bucket, for example, "//compute.googleapis.com/projects/{project-id\}/global/backendBuckets/{name\}" - */ backendBucket?: string | null; - /** - * The full resource name of load balancer backend service, for example, "//compute.googleapis.com/projects/{project-id\}/global/backendServices/{name\}". - */ backendService?: string | null; - /** - * The name and version of the exposed web application, for example, "Jenkins 2.184". - */ exposedApplication?: string | null; - /** - * The resource which is running the exposed service, for example, "//compute.googleapis.com/projects/{project-id\}/zones/{zone\}/instances/{instance\}.” - */ exposedEndpoint?: string | null; - /** - * The name and version of the service, for example, "Jupyter Notebook 6.14.0". - */ exposedService?: string | null; - /** - * The full resource name of the forwarding rule, for example, "//compute.googleapis.com/projects/{project-id\}/global/forwardingRules/{forwarding-rule-name\}". - */ forwardingRule?: string | null; - /** - * Hostname of the exposed application, for example, "https://test-app.a.run.app/" - */ hostnameUri?: string | null; - /** - * The http response returned by the web application. - */ httpResponse?: Schema$GoogleCloudSecuritycenterV2HttpResponse[]; - /** - * The full resource name of the instance group, for example, "//compute.googleapis.com/projects/{project-id\}/global/instanceGroups/{name\}". - */ instanceGroup?: string | null; - /** - * The full resource name of load balancer backend service in the internal project having resource exposed via PSC, for example, "//compute.googleapis.com/projects/{project-id\}/global/backendServices/{name\}". - */ internalBackendService?: string | null; - /** - * The full resource name of the load balancer firewall policy, for example, "//compute.googleapis.com/projects/{project-id\}/global/firewallPolicies/{policy-name\}". - */ loadBalancerFirewallPolicy?: string | null; - /** - * The full resource name of the network endpoint group, for example, "//compute.googleapis.com/projects/{project-id\}/global/networkEndpointGroups/{name\}". - */ networkEndpointGroup?: string | null; - /** - * The full resource name of the network ingress firewall policy, for example, "//compute.googleapis.com/projects/{project-id\}/global/firewallPolicies/{name\}". - */ networkIngressFirewallPolicy?: string | null; - /** - * Private IP address of the exposed endpoint. - */ privateIpAddress?: string | null; - /** - * Port number associated with private IP address. - */ privatePort?: string | null; - /** - * The full resource name of the PSC (Private Service Connect) network attachment that network interface controller is attached to, for example, "//compute.googleapis.com/projects/{project-id\}/regions/{region\}/networkAttachments/{name\}" - */ pscNetworkAttachment?: string | null; - /** - * The full resource name of the PSC (Private Service Connect) service attachment that the load balancer network endpoint group targets, for example, "//compute.googleapis.com/projects/{project-id\}/regions/{region\}/serviceAttachments/{name\}" - */ pscServiceAttachment?: string | null; - /** - * Public IP address of the exposed endpoint. - */ publicIpAddress?: string | null; - /** - * Public port number of the exposed endpoint. - */ publicPort?: string | null; - /** - * The full resource name of the firewall policy of the exposed service, for example, "//compute.googleapis.com/projects/{project-id\}/global/firewallPolicies/{policy-name\}". - */ serviceFirewallPolicy?: string | null; } - /** - * Representation of third party SIEM/SOAR fields within SCC. - */ export interface Schema$GoogleCloudSecuritycenterV2ExternalSystem { - /** - * References primary/secondary etc assignees in the external system. - */ assignees?: string[] | null; - /** - * The time when the case was closed, as reported by the external system. - */ caseCloseTime?: string | null; - /** - * The time when the case was created, as reported by the external system. - */ caseCreateTime?: string | null; - /** - * The priority of the finding's corresponding case in the external system. - */ casePriority?: string | null; - /** - * The SLA of the finding's corresponding case in the external system. - */ caseSla?: string | null; - /** - * The link to the finding's corresponding case in the external system. - */ caseUri?: string | null; - /** - * The time when the case was last updated, as reported by the external system. - */ externalSystemUpdateTime?: string | null; - /** - * The identifier that's used to track the finding's corresponding case in the external system. - */ externalUid?: string | null; - /** - * Full resource name of the external system. The following list shows some examples: + `organizations/1234/sources/5678/findings/123456/externalSystems/jira` + `organizations/1234/sources/5678/locations/us/findings/123456/externalSystems/jira` + `folders/1234/sources/5678/findings/123456/externalSystems/jira` + `folders/1234/sources/5678/locations/us/findings/123456/externalSystems/jira` + `projects/1234/sources/5678/findings/123456/externalSystems/jira` + `projects/1234/sources/5678/locations/us/findings/123456/externalSystems/jira` - */ name?: string | null; - /** - * The most recent status of the finding's corresponding case, as reported by the external system. - */ status?: string | null; - /** - * Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding. - */ ticketInfo?: Schema$GoogleCloudSecuritycenterV2TicketInfo; } - /** - * File information about the related binary/library used by an executable, or the script used by a script interpreter - */ export interface Schema$GoogleCloudSecuritycenterV2File { - /** - * Prefix of the file contents as a JSON-encoded string. - */ contents?: string | null; - /** - * Path of the file in terms of underlying disk/partition identifiers. - */ diskPath?: Schema$GoogleCloudSecuritycenterV2DiskPath; - /** - * The load state of the file. - */ fileLoadState?: string | null; - /** - * The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - */ hashedSize?: string | null; - /** - * Operation(s) performed on a file. - */ operations?: Schema$GoogleCloudSecuritycenterV2FileOperation[]; - /** - * True when the hash covers only a prefix of the file. - */ partiallyHashed?: boolean | null; - /** - * Absolute path of the file as a JSON encoded string. - */ path?: string | null; - /** - * SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - */ sha256?: string | null; - /** - * Size of the file in bytes. - */ size?: string | null; } - /** - * Operation(s) performed on a file. - */ export interface Schema$GoogleCloudSecuritycenterV2FileOperation { - /** - * The type of the operation - */ type?: string | null; } - /** - * Security Command Center finding. A finding is a record of assessment data like security, risk, health, or privacy, that is ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, a cross-site scripting (XSS) vulnerability in an App Engine application is a finding. - */ export interface Schema$GoogleCloudSecuritycenterV2Finding { - /** - * Access details associated with the finding, such as more information on the caller, which method was accessed, and from where. - */ access?: Schema$GoogleCloudSecuritycenterV2Access; - /** - * AffectedResources associated with the finding. - */ affectedResources?: Schema$GoogleCloudSecuritycenterV2AffectedResources; - /** - * Agent data access events associated with the finding. - */ agentDataAccessEvents?: Schema$GoogleCloudSecuritycenterV2AgentDataAccessEvent[]; - /** - * The AI model associated with the finding. - */ aiModel?: Schema$GoogleCloudSecuritycenterV2AiModel; - /** - * Represents an application associated with the finding. - */ application?: Schema$GoogleCloudSecuritycenterV2Application; - /** - * ArtifactGuardPolicies associated with the finding. - */ artifactGuardPolicies?: Schema$GoogleCloudSecuritycenterV2ArtifactGuardPolicies; - /** - * The results of an attack path simulation relevant to this finding. - */ attackExposure?: Schema$GoogleCloudSecuritycenterV2AttackExposure; - /** - * Fields related to Backup and DR findings. - */ backupDisasterRecovery?: Schema$GoogleCloudSecuritycenterV2BackupDisasterRecovery; - /** - * Output only. The canonical name of the finding. The following list shows some examples: + `organizations/{organization_id\}/sources/{source_id\}/locations/{location_id\}/findings/{finding_id\}` + `folders/{folder_id\}/sources/{source_id\}/locations/{location_id\}/findings/{finding_id\}` + `projects/{project_id\}/sources/{source_id\}/locations/{location_id\}/findings/{finding_id\}` The prefix is the closest CRM ancestor of the resource associated with the finding. - */ canonicalName?: string | null; - /** - * Immutable. The additional taxonomy group within findings from a given source. Example: "XSS_FLASH_INJECTION" - */ category?: string | null; - /** - * Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations). This field cannot be updated. Its value is ignored in all update requests. - */ chokepoint?: Schema$GoogleCloudSecuritycenterV2Chokepoint; - /** - * Fields related to Cloud Armor findings. - */ cloudArmor?: Schema$GoogleCloudSecuritycenterV2CloudArmor; - /** - * Cloud DLP data profile that is associated with the finding. - */ cloudDlpDataProfile?: Schema$GoogleCloudSecuritycenterV2CloudDlpDataProfile; - /** - * Cloud Data Loss Prevention (Cloud DLP) inspection results that are associated with the finding. - */ cloudDlpInspection?: Schema$GoogleCloudSecuritycenterV2CloudDlpInspection; - /** - * Details about the compliance implications of the finding. - */ complianceDetails?: Schema$GoogleCloudSecuritycenterV2ComplianceDetails; - /** - * Contains compliance information for security standards associated to the finding. - */ compliances?: Schema$GoogleCloudSecuritycenterV2Compliance[]; - /** - * Contains information about the IP connection associated with the finding. - */ connections?: Schema$GoogleCloudSecuritycenterV2Connection[]; - /** - * Output only. Map containing the points of contact for the given finding. The key represents the type of contact, while the value contains a list of all the contacts that pertain. Please refer to: https://cloud.google.com/resource-manager/docs/managing-notification-contacts#notification-categories { "security": { "contacts": [ { "email": "person1@company.com" \}, { "email": "person2@company.com" \} ] \} \} - */ contacts?: { [key: string]: Schema$GoogleCloudSecuritycenterV2ContactDetails; } | null; - /** - * Containers associated with the finding. This field provides information for both Kubernetes and non-Kubernetes containers. - */ containers?: Schema$GoogleCloudSecuritycenterV2Container[]; - /** - * Output only. The time at which the finding was created in Security Command Center. - */ createTime?: string | null; - /** - * Output only. The name of the Cloud KMS key used to encrypt this finding, if any. - */ cryptoKeyName?: string | null; - /** - * Data access events associated with the finding. - */ dataAccessEvents?: Schema$GoogleCloudSecuritycenterV2DataAccessEvent[]; - /** - * Database associated with the finding. - */ database?: Schema$GoogleCloudSecuritycenterV2Database; - /** - * Data flow events associated with the finding. - */ dataFlowEvents?: Schema$GoogleCloudSecuritycenterV2DataFlowEvent[]; - /** - * Data retention deletion events associated with the finding. - */ dataRetentionDeletionEvents?: Schema$GoogleCloudSecuritycenterV2DataRetentionDeletionEvent[]; - /** - * Contains more details about the finding. - */ description?: string | null; - /** - * DiscoveredWorkload associated with the finding. - */ discoveredWorkload?: Schema$GoogleCloudSecuritycenterV2DiscoveredWorkload; - /** - * Disk associated with the finding. - */ disk?: Schema$GoogleCloudSecuritycenterV2Disk; - /** - * The time the finding was first detected. If an existing finding is updated, then this is the time the update occurred. For example, if the finding represents an open firewall, this property captures the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding is later resolved, then this time reflects when the finding was resolved. This must not be set to a value greater than the current timestamp. - */ eventTime?: string | null; - /** - * Represents exfiltrations associated with the finding. - */ - exfiltration?: Schema$GoogleCloudSecuritycenterV2Exfiltration; - /** - * External exposure associated with the finding. - */ + exfiltration?: Schema$GoogleCloudSecuritycenterV2Exfiltration; externalExposure?: Schema$GoogleCloudSecuritycenterV2ExternalExposure; - /** - * Output only. Third party SIEM/SOAR fields within SCC, contains external system information and external system finding fields. - */ externalSystems?: { [key: string]: Schema$GoogleCloudSecuritycenterV2ExternalSystem; } | null; - /** - * The URI that, if available, points to a web page outside of Security Command Center where additional information about the finding can be found. This field is guaranteed to be either empty or a well formed URL. - */ externalUri?: string | null; - /** - * File associated with the finding. - */ files?: Schema$GoogleCloudSecuritycenterV2File[]; - /** - * The class of the finding. - */ findingClass?: string | null; - /** - * Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way. This field cannot be updated. Its value is ignored in all update requests. - */ groupMemberships?: Schema$GoogleCloudSecuritycenterV2GroupMembership[]; - /** - * Represents IAM bindings associated with the finding. - */ iamBindings?: Schema$GoogleCloudSecuritycenterV2IamBinding[]; - /** - * Represents what's commonly known as an *indicator of compromise* (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise). - */ indicator?: Schema$GoogleCloudSecuritycenterV2Indicator; - /** - * IP rules associated with the finding. - */ ipRules?: Schema$GoogleCloudSecuritycenterV2IpRules; - /** - * Job associated with the finding. - */ job?: Schema$GoogleCloudSecuritycenterV2Job; - /** - * Signature of the kernel rootkit. - */ kernelRootkit?: Schema$GoogleCloudSecuritycenterV2KernelRootkit; - /** - * Kubernetes resources associated with the finding. - */ kubernetes?: Schema$GoogleCloudSecuritycenterV2Kubernetes; - /** - * The load balancers associated with the finding. - */ loadBalancers?: Schema$GoogleCloudSecuritycenterV2LoadBalancer[]; - /** - * Log entries that are relevant to the finding. - */ logEntries?: Schema$GoogleCloudSecuritycenterV2LogEntry[]; - /** - * MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org - */ mitreAttack?: Schema$GoogleCloudSecuritycenterV2MitreAttack; - /** - * Unique identifier of the module which generated the finding. Example: folders/598186756061/securityHealthAnalyticsSettings/customModules/56799441161885 - */ moduleName?: string | null; - /** - * Indicates the mute state of a finding (either muted, unmuted or undefined). Unlike other attributes of a finding, a finding provider shouldn't set the value of mute. - */ mute?: string | null; - /** - * Output only. The mute information regarding this finding. - */ muteInfo?: Schema$GoogleCloudSecuritycenterV2MuteInfo; - /** - * Records additional information about the mute operation, for example, the [mute configuration](https://cloud.google.com/security-command-center/docs/how-to-mute-findings) that muted the finding and the user who muted the finding. - */ muteInitiator?: string | null; - /** - * Output only. The most recent time this finding was muted or unmuted. - */ muteUpdateTime?: string | null; - /** - * Identifier. The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. The following list shows some examples: + `organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}` + `organizations/{organization_id\}/sources/{source_id\}/locations/{location_id\}/findings/{finding_id\}` + `folders/{folder_id\}/sources/{source_id\}/findings/{finding_id\}` + `folders/{folder_id\}/sources/{source_id\}/locations/{location_id\}/findings/{finding_id\}` + `projects/{project_id\}/sources/{source_id\}/findings/{finding_id\}` + `projects/{project_id\}/sources/{source_id\}/locations/{location_id\}/findings/{finding_id\}` - */ name?: string | null; - /** - * Represents the VPC networks that the resource is attached to. - */ networks?: Schema$GoogleCloudSecuritycenterV2Network[]; - /** - * Steps to address the finding. - */ nextSteps?: string | null; - /** - * Notebook associated with the finding. - */ notebook?: Schema$GoogleCloudSecuritycenterV2Notebook; - /** - * Contains information about the org policies associated with the finding. - */ orgPolicies?: Schema$GoogleCloudSecuritycenterV2OrgPolicy[]; - /** - * The relative resource name of the source and location the finding belongs to. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name This field is immutable after creation time. The following list shows some examples: + `organizations/{organization_id\}/sources/{source_id\}` + `folders/{folders_id\}/sources/{source_id\}` + `projects/{projects_id\}/sources/{source_id\}` + `organizations/{organization_id\}/sources/{source_id\}/locations/{location_id\}` + `folders/{folders_id\}/sources/{source_id\}/locations/{location_id\}` + `projects/{projects_id\}/sources/{source_id\}/locations/{location_id\}` - */ parent?: string | null; - /** - * Output only. The human readable display name of the finding source such as "Event Threat Detection" or "Security Health Analytics". - */ parentDisplayName?: string | null; - /** - * PolicyViolationSummary associated with the finding. - */ policyViolationSummary?: Schema$GoogleCloudSecuritycenterV2PolicyViolationSummary; - /** - * Represents operating system processes associated with the Finding. - */ processes?: Schema$GoogleCloudSecuritycenterV2Process[]; - /** - * Immutable. For findings on Google Cloud resources, the full resource name of the Google Cloud resource this finding is for. See: https://cloud.google.com/apis/design/resource_names#full_resource_name When the finding is for a non-Google Cloud resource, the resourceName can be a customer or partner defined string. - */ resourceName?: string | null; - /** - * Secret associated with the finding. - */ secret?: Schema$GoogleCloudSecuritycenterV2Secret; - /** - * Output only. User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the finding. - */ securityMarks?: Schema$GoogleCloudSecuritycenterV2SecurityMarks; - /** - * The security posture associated with the finding. - */ securityPosture?: Schema$GoogleCloudSecuritycenterV2SecurityPosture; - /** - * The severity of the finding. This field is managed by the source that writes the finding. - */ severity?: string | null; - /** - * Source specific properties. These properties are managed by the source that writes the finding. The key names in the source_properties map must be between 1 and 255 characters, and must start with a letter and contain alphanumeric characters or underscores only. - */ sourceProperties?: {[key: string]: any} | null; - /** - * Output only. The state of the finding. - */ state?: string | null; - /** - * Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. This field cannot be updated. Its value is ignored in all update requests. - */ toxicCombination?: Schema$GoogleCloudSecuritycenterV2ToxicCombination; - /** - * VertexAi associated with the finding. - */ vertexAi?: Schema$GoogleCloudSecuritycenterV2VertexAi; - /** - * Represents vulnerability-specific fields like CVE and CVSS scores. CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/) - */ vulnerability?: Schema$GoogleCloudSecuritycenterV2Vulnerability; } - /** - * Message that contains the resource name and display name of a folder resource. - */ export interface Schema$GoogleCloudSecuritycenterV2Folder { - /** - * Full resource name of this folder. See: https://cloud.google.com/apis/design/resource_names#full_resource_name - */ resourceFolder?: string | null; - /** - * The user defined display name for this folder. - */ resourceFolderDisplayName?: string | null; } - /** - * Compliance framework associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2Framework { - /** - * Category of the framework associated with the finding. E.g. Security Benchmark, or Assured Workloads - */ category?: string[] | null; - /** - * The controls associated with the framework. - */ controls?: Schema$GoogleCloudSecuritycenterV2Control[]; - /** - * Display name of the framework. For a standard framework, this will look like e.g. PCI DSS 3.2.1, whereas for a custom framework it can be a user defined string like MyFramework - */ displayName?: string | null; - /** - * Name of the framework associated with the finding - */ name?: string | null; - /** - * Type of the framework associated with the finding, to specify whether the framework is built-in (pre-defined and immutable) or a custom framework defined by the customer (equivalent to security posture) - */ type?: string | null; } - /** - * Represents a geographical location for a given access. - */ export interface Schema$GoogleCloudSecuritycenterV2Geolocation { - /** - * A CLDR. - */ regionCode?: string | null; } - /** - * Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way. - */ export interface Schema$GoogleCloudSecuritycenterV2GroupMembership { - /** - * ID of the group. - */ groupId?: string | null; - /** - * Type of group. - */ groupType?: string | null; } - /** - * The http response returned by the web application. - */ export interface Schema$GoogleCloudSecuritycenterV2HttpResponse { - /** - * The http path for which response code was returned by web application, for example, "https://test-app.a.run.app/test". - */ path?: string | null; - /** - * The http response code returned by the web application, for example, 200. - */ statusCode?: string | null; } - /** - * Represents a particular IAM binding, which captures a member's role addition, removal, or state. - */ export interface Schema$GoogleCloudSecuritycenterV2IamBinding { - /** - * The action that was performed on a Binding. - */ action?: string | null; - /** - * A single identity requesting access for a Cloud Platform resource, for example, "foo@google.com". - */ member?: string | null; - /** - * Role that is assigned to "members". For example, "roles/viewer", "roles/editor", or "roles/owner". - */ role?: string | null; } - /** - * Represents what's commonly known as an _indicator of compromise_ (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise). - */ export interface Schema$GoogleCloudSecuritycenterV2Indicator { - /** - * List of domains associated to the Finding. - */ domains?: string[] | null; - /** - * The list of IP addresses that are associated with the finding. - */ ipAddresses?: string[] | null; - /** - * The list of matched signatures indicating that the given process is present in the environment. - */ signatures?: Schema$GoogleCloudSecuritycenterV2ProcessSignature[]; - /** - * The list of URIs associated to the Findings. - */ uris?: string[] | null; } - /** - * Type of information detected by the API. - */ export interface Schema$GoogleCloudSecuritycenterV2InfoType { - /** - * Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64\}`. - */ name?: string | null; - /** - * Optional custom sensitivity for this InfoType. This only applies to data profiling. - */ sensitivityScore?: Schema$GoogleCloudSecuritycenterV2SensitivityScore; - /** - * Optional version name for this InfoType. - */ version?: string | null; } - /** - * IP rule information. - */ export interface Schema$GoogleCloudSecuritycenterV2IpRule { - /** - * Optional. An optional list of ports to which this rule applies. This field is only applicable for the UDP or (S)TCP protocols. Each entry must be either an integer or a range including a min and max port number. - */ portRanges?: Schema$GoogleCloudSecuritycenterV2PortRange[]; - /** - * The IP protocol this rule applies to. This value can either be one of the following well known protocol strings (TCP, UDP, ICMP, ESP, AH, IPIP, SCTP) or a string representation of the integer value. - */ protocol?: string | null; } - /** - * IP rules associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2IpRules { - /** - * Tuple with allowed rules. - */ allowed?: Schema$GoogleCloudSecuritycenterV2Allowed; - /** - * Tuple with denied rules. - */ denied?: Schema$GoogleCloudSecuritycenterV2Denied; - /** - * If destination IP ranges are specified, the firewall rule applies only to traffic that has a destination IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4. - */ destinationIpRanges?: string[] | null; - /** - * The direction that the rule is applicable to, one of ingress or egress. - */ direction?: string | null; - /** - * Name of the network protocol service, such as FTP, that is exposed by the open port. Follows the naming convention available at: https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml. - */ exposedServices?: string[] | null; - /** - * If source IP 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. Only supports IPv4. - */ sourceIpRanges?: string[] | null; } - /** - * Security Command Center Issue. - */ export interface Schema$GoogleCloudSecuritycenterV2Issue { - /** - * Output only. The time the issue was created. - */ createTime?: string | null; - /** - * The description of the issue in Markdown format. - */ description?: string | null; - /** - * The finding category or rule name that generated the issue. - */ detection?: string | null; - /** - * The domains of the issue. - */ domains?: Schema$GoogleCloudSecuritycenterV2IssueDomain[]; - /** - * The exposure score of the issue. - */ exposureScore?: number | null; - /** - * The type of the issue. - */ issueType?: string | null; - /** - * The time the issue was last observed. - */ lastObservationTime?: string | null; - /** - * The mute information of the issue. - */ mute?: Schema$GoogleCloudSecuritycenterV2IssueMute; - /** - * Identifier. The name of the issue. Format: organizations/{organization\}/locations/{location\}/issues/{issue\} - */ name?: string | null; - /** - * The primary resource associated with the issue. - */ primaryResource?: Schema$GoogleCloudSecuritycenterV2IssueResource; - /** - * The findings related to the issue. - */ relatedFindings?: Schema$GoogleCloudSecuritycenterV2IssueFinding[]; - /** - * Approaches to remediate the issue in Markdown format. - */ remediations?: string[] | null; - /** - * Additional resources associated with the issue. - */ secondaryResources?: Schema$GoogleCloudSecuritycenterV2IssueResource[]; - /** - * The security context of the issue. - */ securityContexts?: Schema$GoogleCloudSecuritycenterV2IssueSecurityContext[]; - /** - * The severity of the issue. - */ severity?: string | null; - /** - * Output only. The state of the issue. - */ state?: string | null; - /** - * Output only. The time the issue was last updated. - */ updateTime?: string | null; } - /** - * The domains of an issue. - */ export interface Schema$GoogleCloudSecuritycenterV2IssueDomain { - /** - * The domain category of the issue. - */ domainCategory?: string | null; } - /** - * Finding related to an issue. - */ export interface Schema$GoogleCloudSecuritycenterV2IssueFinding { - /** - * The CVE of the finding. - */ cve?: Schema$GoogleCloudSecuritycenterV2IssueFindingCve; - /** - * The name of the finding. - */ name?: string | null; - /** - * The security bulletin of the finding. - */ securityBulletin?: Schema$GoogleCloudSecuritycenterV2IssueFindingSecurityBulletin; } - /** - * The CVE of the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2IssueFindingCve { - /** - * The CVE name. - */ name?: string | null; } - /** - * The security bulletin of the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2IssueFindingSecurityBulletin { - /** - * The security bulletin name. - */ name?: string | null; } - /** - * The mute information of the issue. - */ export interface Schema$GoogleCloudSecuritycenterV2IssueMute { - /** - * The email address of the user who last changed the mute state of the issue. - */ muteInitiator?: string | null; - /** - * The user-provided reason for muting the issue. - */ muteReason?: string | null; - /** - * Output only. The mute state of the issue. - */ muteState?: string | null; - /** - * The time the issue was muted. - */ muteUpdateTime?: string | null; } - /** - * A resource associated with the an issue. - */ export interface Schema$GoogleCloudSecuritycenterV2IssueResource { - /** - * The ADC application associated with the finding. - */ adcApplication?: Schema$GoogleCloudSecuritycenterV2IssueResourceAdcApplication; - /** - * The ADC template associated with the finding. - */ adcApplicationTemplate?: Schema$GoogleCloudSecuritycenterV2IssueResourceAdcApplicationTemplateRevision; - /** - * The ADC shared template associated with the finding. - */ adcSharedTemplate?: Schema$GoogleCloudSecuritycenterV2IssueResourceAdcSharedTemplateRevision; - /** - * The AppHub application associated with the resource, if any. Only populated for the primary resource. - */ application?: Schema$GoogleCloudSecuritycenterV2IssueResourceApplication; - /** - * The AWS metadata of the resource associated with the issue. Only populated for AWS resources. - */ awsMetadata?: Schema$GoogleCloudSecuritycenterV2IssueResourceAwsMetadata; - /** - * The Azure metadata of the resource associated with the issue. Only populated for Azure resources. - */ azureMetadata?: Schema$GoogleCloudSecuritycenterV2IssueResourceAzureMetadata; - /** - * The cloud provider of the resource associated with the issue. - */ cloudProvider?: string | null; - /** - * The resource-type specific display name of the resource associated with the issue. - */ displayName?: string | null; - /** - * The Google Cloud metadata of the resource associated with the issue. Only populated for Google Cloud resources. - */ googleCloudMetadata?: Schema$GoogleCloudSecuritycenterV2IssueResourceGoogleCloudMetadata; - /** - * The full resource name of the resource associated with the issue. - */ name?: string | null; - /** - * The type of the resource associated with the issue. - */ type?: string | null; } - /** - * Represents an ADC application associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2IssueResourceAdcApplication { - /** - * Consumer provided attributes for the AppHub application. - */ attributes?: Schema$GoogleCloudSecuritycenterV2IssueResourceApplicationAttributes; - /** - * The resource name of an ADC Application. Format: projects/{project\}/locations/{location\}/spaces/{space\}/applications/{application\} - */ name?: string | null; - } - /** - * Represents an ADC template associated with the finding. - */ + } export interface Schema$GoogleCloudSecuritycenterV2IssueResourceAdcApplicationTemplateRevision { - /** - * The resource name of an ADC Application Template Revision. Format: projects/{project\}/locations/{location\}/spaces/{space\}/applicationTemplates/{application_template\}/revisions/{revision\} - */ name?: string | null; } - /** - * Represents an ADC shared template associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2IssueResourceAdcSharedTemplateRevision { - /** - * The resource name of an ADC Shared Template Revision. Format: projects/{project\}/locations/{location\}/spaces/{space\}/applicationTemplates/{application_template\}/revisions/{revision\} - */ name?: string | null; } - /** - * The AppHub application associated with the resource, if any. - */ export interface Schema$GoogleCloudSecuritycenterV2IssueResourceApplication { - /** - * Consumer provided attributes for the application - */ attributes?: Schema$GoogleCloudSecuritycenterV2IssueResourceApplicationAttributes; - /** - * The resource name of an Application. Format: `projects/{host-project-id\}/locations/{location\}/applications/{application-id\}` - */ name?: string | null; } - /** - * Consumer provided attributes for the application - */ export interface Schema$GoogleCloudSecuritycenterV2IssueResourceApplicationAttributes { - /** - * Business team that ensures user needs are met and value is delivered - */ businessOwners?: Schema$GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesContactInfo[]; - /** - * User-defined criticality information. - */ criticality?: Schema$GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesCriticality; - /** - * Developer team that owns development and coding. - */ developerOwners?: Schema$GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesContactInfo[]; - /** - * User-defined environment information. - */ environment?: Schema$GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesEnvironment; - /** - * Operator team that ensures runtime and operations. - */ operatorOwners?: Schema$GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesContactInfo[]; } - /** - * Contact information of stakeholders. - */ export interface Schema$GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesContactInfo { - /** - * Email address of the contacts. - */ email?: string | null; } - /** - * Criticality of the Application, Service, or Workload - */ export interface Schema$GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesCriticality { - /** - * Criticality Type. - */ type?: string | null; } - /** - * Environment of the Application, Service, or Workload - */ export interface Schema$GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesEnvironment { - /** - * Environment Type. - */ type?: string | null; } - /** - * The AWS metadata of a resource associated with an issue. - */ export interface Schema$GoogleCloudSecuritycenterV2IssueResourceAwsMetadata { - /** - * The AWS account of the resource associated with the issue. - */ account?: Schema$GoogleCloudSecuritycenterV2IssueResourceAwsMetadataAwsAccount; } - /** - * The AWS account of the resource associated with the issue. - */ export interface Schema$GoogleCloudSecuritycenterV2IssueResourceAwsMetadataAwsAccount { - /** - * The AWS account ID of the resource associated with the issue. - */ id?: string | null; - /** - * The AWS account name of the resource associated with the issue. - */ name?: string | null; } - /** - * The Azure metadata of a resource associated with an issue. - */ export interface Schema$GoogleCloudSecuritycenterV2IssueResourceAzureMetadata { - /** - * The Azure subscription of the resource associated with the issue. - */ subscription?: Schema$GoogleCloudSecuritycenterV2IssueResourceAzureMetadataAzureSubscription; } - /** - * The Azure subscription of the resource associated with the issue. - */ export interface Schema$GoogleCloudSecuritycenterV2IssueResourceAzureMetadataAzureSubscription { - /** - * The Azure subscription display name of the resource associated with the issue. - */ displayName?: string | null; - /** - * The Azure subscription ID of the resource associated with the issue. - */ id?: string | null; } - /** - * Google Cloud metadata of a resource associated with an issue. - */ export interface Schema$GoogleCloudSecuritycenterV2IssueResourceGoogleCloudMetadata { - /** - * The project ID that the resource associated with the issue belongs to. - */ projectId?: string | null; } - /** - * Security context associated with an issue. - */ export interface Schema$GoogleCloudSecuritycenterV2IssueSecurityContext { - /** - * The aggregated count of the security context. - */ aggregatedCount?: Schema$GoogleCloudSecuritycenterV2IssueSecurityContextAggregatedCount; - /** - * The context of the security context. - */ context?: Schema$GoogleCloudSecuritycenterV2IssueSecurityContextContext; } - /** - * Aggregated count of a security context. - */ export interface Schema$GoogleCloudSecuritycenterV2IssueSecurityContextAggregatedCount { - /** - * Aggregation key. - */ key?: string | null; - /** - * Aggregation value. - */ value?: number | null; } - /** - * Context of a security context. - */ export interface Schema$GoogleCloudSecuritycenterV2IssueSecurityContextContext { - /** - * Context type. - */ type?: string | null; - /** - * Context values. - */ values?: string[] | null; } - /** - * Describes a job - */ export interface Schema$GoogleCloudSecuritycenterV2Job { - /** - * Optional. If the job did not complete successfully, this field describes why. - */ errorCode?: number | null; - /** - * Optional. Gives the location where the job ran, such as `US` or `europe-west1` - */ location?: string | null; - /** - * The fully-qualified name for a job. e.g. `projects//jobs/` - */ name?: string | null; - /** - * Output only. State of the job, such as `RUNNING` or `PENDING`. - */ state?: string | null; } - /** - * Kernel mode rootkit signatures. - */ export interface Schema$GoogleCloudSecuritycenterV2KernelRootkit { - /** - * Rootkit name, when available. - */ name?: string | null; - /** - * True if unexpected modifications of kernel code memory are present. - */ unexpectedCodeModification?: boolean | null; - /** - * True if `ftrace` points are present with callbacks pointing to regions that are not in the expected kernel or module code range. - */ unexpectedFtraceHandler?: boolean | null; - /** - * True if interrupt handlers that are are not in the expected kernel or module code regions are present. - */ unexpectedInterruptHandler?: boolean | null; - /** - * True if kernel code pages that are not in the expected kernel or module code regions are present. - */ unexpectedKernelCodePages?: boolean | null; - /** - * True if `kprobe` points are present with callbacks pointing to regions that are not in the expected kernel or module code range. - */ unexpectedKprobeHandler?: boolean | null; - /** - * True if unexpected processes in the scheduler run queue are present. Such processes are in the run queue, but not in the process task list. - */ unexpectedProcessesInRunqueue?: boolean | null; - /** - * True if unexpected modifications of kernel read-only data memory are present. - */ unexpectedReadOnlyDataModification?: boolean | null; - /** - * True if system call handlers that are are not in the expected kernel or module code regions are present. - */ unexpectedSystemCallHandler?: boolean | null; } - /** - * Kubernetes-related attributes. - */ export interface Schema$GoogleCloudSecuritycenterV2Kubernetes { - /** - * Provides information on any Kubernetes access reviews (privilege checks) relevant to the finding. - */ accessReviews?: Schema$GoogleCloudSecuritycenterV2AccessReview[]; - /** - * Provides Kubernetes role binding information for findings that involve [RoleBindings or ClusterRoleBindings](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control). - */ bindings?: Schema$GoogleCloudSecuritycenterV2Binding[]; - /** - * GKE [node pools](https://cloud.google.com/kubernetes-engine/docs/concepts/node-pools) associated with the finding. This field contains node pool information for each node, when it is available. - */ nodePools?: Schema$GoogleCloudSecuritycenterV2NodePool[]; - /** - * Provides Kubernetes [node](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture#nodes) information. - */ nodes?: Schema$GoogleCloudSecuritycenterV2Node[]; - /** - * Kubernetes objects related to the finding. - */ objects?: Schema$GoogleCloudSecuritycenterV2Object[]; - /** - * Kubernetes [Pods](https://cloud.google.com/kubernetes-engine/docs/concepts/pod) associated with the finding. This field contains Pod records for each container that is owned by a Pod. - */ pods?: Schema$GoogleCloudSecuritycenterV2Pod[]; - /** - * Provides Kubernetes role information for findings that involve [Roles or ClusterRoles](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control). - */ roles?: Schema$GoogleCloudSecuritycenterV2Role[]; } - /** - * Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - */ export interface Schema$GoogleCloudSecuritycenterV2Label { - /** - * Name of the label. - */ name?: string | null; - /** - * Value that corresponds to the label's name. - */ value?: string | null; } - /** - * Contains information related to the load balancer associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2LoadBalancer { - /** - * The name of the load balancer associated with the finding. - */ name?: string | null; } - /** - * An individual entry in a log. - */ export interface Schema$GoogleCloudSecuritycenterV2LogEntry { - /** - * An individual entry in a log stored in Cloud Logging. - */ cloudLoggingEntry?: Schema$GoogleCloudSecuritycenterV2CloudLoggingEntry; } - /** - * A signature corresponding to memory page hashes. - */ export interface Schema$GoogleCloudSecuritycenterV2MemoryHashSignature { - /** - * The binary family. - */ binaryFamily?: string | null; - /** - * The list of memory hash detections contributing to the binary family match. - */ detections?: Schema$GoogleCloudSecuritycenterV2Detection[]; } - /** - * MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org - */ export interface Schema$GoogleCloudSecuritycenterV2MitreAttack { - /** - * Additional MITRE ATT&CK tactics related to this finding, if any. - */ additionalTactics?: string[] | null; - /** - * Additional MITRE ATT&CK techniques related to this finding, if any, along with any of their respective parent techniques. - */ additionalTechniques?: string[] | null; - /** - * The MITRE ATT&CK tactic most closely represented by this finding, if any. - */ primaryTactic?: string | null; - /** - * The MITRE ATT&CK technique most closely represented by this finding, if any. primary_techniques is a repeated field because there are multiple levels of MITRE ATT&CK techniques. If the technique most closely represented by this finding is a sub-technique (e.g. `SCANNING_IP_BLOCKS`), both the sub-technique and its parent technique(s) will be listed (e.g. `SCANNING_IP_BLOCKS`, `ACTIVE_SCANNING`). - */ primaryTechniques?: string[] | null; - /** - * The MITRE ATT&CK version referenced by the above fields. E.g. "8". - */ version?: string | null; } - /** - * A mute config is a Cloud SCC resource that contains the configuration to mute create/update events of findings. - */ export interface Schema$GoogleCloudSecuritycenterV2MuteConfig { - /** - * Output only. The time at which the mute config was created. This field is set by the server and will be ignored if provided on config creation. - */ createTime?: string | null; - /** - * Output only. The resource name of the Cloud KMS `CryptoKey` used to encrypt this configuration data, if CMEK was enabled during Security Command Center activation. - */ cryptoKeyName?: string | null; - /** - * A description of the mute config. - */ description?: string | null; - /** - * Optional. The expiry of the mute config. Only applicable for dynamic configs. If the expiry is set, when the config expires, it is removed from all findings. - */ expiryTime?: string | null; - /** - * Required. An expression that defines the filter to apply across create/update events of findings. While creating a filter string, be mindful of the scope in which the mute configuration is being created. E.g., If a filter contains project = X but is created under the project = Y scope, it might not match any findings. The following field and operator combinations are supported: * severity: `=`, `:` * category: `=`, `:` * resource.name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.folders.resource_folder: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.type: `=`, `:` * finding_class: `=`, `:` * indicator.ip_addresses: `=`, `:` * indicator.domains: `=`, `:` - */ filter?: string | null; - /** - * Output only. Email address of the user who last edited the mute config. This field is set by the server and will be ignored if provided on config creation or update. - */ mostRecentEditor?: string | null; - /** - * Identifier. This field will be ignored if provided on config creation. The following list shows some examples of the format: + `organizations/{organization\}/muteConfigs/{mute_config\}` + `organizations/{organization\}locations/{location\}//muteConfigs/{mute_config\}` + `folders/{folder\}/muteConfigs/{mute_config\}` + `folders/{folder\}/locations/{location\}/muteConfigs/{mute_config\}` + `projects/{project\}/muteConfigs/{mute_config\}` + `projects/{project\}/locations/{location\}/muteConfigs/{mute_config\}` - */ name?: string | null; - /** - * Required. The type of the mute config, which determines what type of mute state the config affects. Immutable after creation. - */ type?: string | null; - /** - * Output only. The most recent time at which the mute config was updated. This field is set by the server and will be ignored if provided on config creation or update. - */ updateTime?: string | null; } - /** - * Mute information about the finding, including whether the finding has a static mute or any matching dynamic mute rules. - */ export interface Schema$GoogleCloudSecuritycenterV2MuteInfo { - /** - * The list of dynamic mute rules that currently match the finding. - */ dynamicMuteRecords?: Schema$GoogleCloudSecuritycenterV2DynamicMuteRecord[]; - /** - * If set, the static mute applied to this finding. Static mutes override dynamic mutes. If unset, there is no static mute. - */ staticMute?: Schema$GoogleCloudSecuritycenterV2StaticMute; } - /** - * Contains information about a VPC network associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2Network { - /** - * The name of the VPC network resource, for example, `//compute.googleapis.com/projects/my-project/global/networks/my-network`. - */ name?: string | null; } - /** - * Kubernetes nodes associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2Node { - /** - * [Full resource name](https://google.aip.dev/122#full-resource-names) of the Compute Engine VM running the cluster node. - */ name?: string | null; } - /** - * Provides GKE node pool information. - */ export interface Schema$GoogleCloudSecuritycenterV2NodePool { - /** - * Kubernetes node pool name. - */ name?: string | null; - /** - * Nodes associated with the finding. - */ nodes?: Schema$GoogleCloudSecuritycenterV2Node[]; } - /** - * Represents a Jupyter notebook IPYNB file, such as a [Colab Enterprise notebook](https://cloud.google.com/colab/docs/introduction) file, that is associated with a finding. - */ export interface Schema$GoogleCloudSecuritycenterV2Notebook { - /** - * The user ID of the latest author to modify the notebook. - */ lastAuthor?: string | null; - /** - * The name of the notebook. - */ name?: string | null; - /** - * The most recent time the notebook was updated. - */ notebookUpdateTime?: string | null; - /** - * The source notebook service, for example, "Colab Enterprise". - */ service?: string | null; } - /** - * Cloud SCC's Notification - */ export interface Schema$GoogleCloudSecuritycenterV2NotificationMessage { - /** - * If it's a Finding based notification config, this field will be populated. - */ finding?: Schema$GoogleCloudSecuritycenterV2Finding; - /** - * Name of the notification config that generated current notification. - */ notificationConfigName?: string | null; - /** - * The Cloud resource tied to this notification's Finding. - */ resource?: Schema$GoogleCloudSecuritycenterV2Resource; } - /** - * Kubernetes object related to the finding, uniquely identified by GKNN. Used if the object Kind is not one of Pod, Node, NodePool, Binding, or AccessReview. - */ export interface Schema$GoogleCloudSecuritycenterV2Object { - /** - * Pod containers associated with this finding, if any. - */ containers?: Schema$GoogleCloudSecuritycenterV2Container[]; - /** - * Kubernetes object group, such as "policy.k8s.io/v1". - */ group?: string | null; - /** - * Kubernetes object kind, such as "Namespace". - */ kind?: string | null; - /** - * Kubernetes object name. For details see https://kubernetes.io/docs/concepts/overview/working-with-objects/names/. - */ name?: string | null; - /** - * Kubernetes object namespace. Must be a valid DNS label. Named "ns" to avoid collision with C++ namespace keyword. For details see https://kubernetes.io/docs/tasks/administer-cluster/namespaces/. - */ ns?: string | null; } - /** - * Contains information about the org policies associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2OrgPolicy { - /** - * Identifier. The resource name of the org policy. Example: "organizations/{organization_id\}/policies/{constraint_name\}" - */ name?: string | null; } - /** - * Package is a generic definition of a package. - */ export interface Schema$GoogleCloudSecuritycenterV2Package { - /** - * The CPE URI where the vulnerability was detected. - */ cpeUri?: string | null; - /** - * The name of the package where the vulnerability was detected. - */ packageName?: string | null; - /** - * Type of package, for example, os, maven, or go. - */ packageType?: string | null; - /** - * The version of the package. - */ packageVersion?: string | null; } - /** - * Vertex AI training pipeline associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2Pipeline { - /** - * The user-defined display name of pipeline, e.g. plants-classification - */ displayName?: string | null; - /** - * Resource name of the pipeline, e.g. projects/{project\}/locations/{location\}/trainingPipelines/5253428229225578496 - */ name?: string | null; } - /** - * A Kubernetes Pod. - */ export interface Schema$GoogleCloudSecuritycenterV2Pod { - /** - * Pod containers associated with this finding, if any. - */ containers?: Schema$GoogleCloudSecuritycenterV2Container[]; - /** - * Pod labels. For Kubernetes containers, these are applied to the container. - */ - labels?: Schema$GoogleCloudSecuritycenterV2Label[]; - /** - * Kubernetes Pod name. - */ + labels?: Schema$GoogleCloudSecuritycenterV2Label[]; name?: string | null; - /** - * Kubernetes Pod namespace. - */ ns?: string | null; } - /** - * The policy field that violates the deployed posture and its expected and detected values. - */ export interface Schema$GoogleCloudSecuritycenterV2PolicyDriftDetails { - /** - * The detected value that violates the deployed posture, for example, `false` or `allowed_values={"projects/22831892"\}`. - */ detectedValue?: string | null; - /** - * The value of this field that was configured in a posture, for example, `true` or `allowed_values={"projects/29831892"\}`. - */ expectedValue?: string | null; - /** - * The name of the updated field, for example constraint.implementation.policy_rules[0].enforce - */ field?: string | null; } - /** - * Metadata summarizing policy violations of child resources of the affected resource. `finding_category` and `resource` determine the exact semantics of the counts. For example, when category=DATA_SECURITY_POSTURE_OBJECT_PUBLIC_ACCESS_VIOLATION and resource='storage.googleapis.com/buckets/my-bucket-name' then this counts the number of Cloud Storage objects in my-bucket-name which violate a Public Access control. - */ export interface Schema$GoogleCloudSecuritycenterV2PolicyViolationSummary { - /** - * Total number of child resources that conform to the policy. - */ conformantResourcesCount?: string | null; - /** - * Number of child resources for which errors during evaluation occurred. The evaluation result for these child resources is effectively "unknown". - */ evaluationErrorsCount?: string | null; - /** - * Total count of child resources which were not in scope for evaluation. - */ outOfScopeResourcesCount?: string | null; - /** - * Count of child resources in violation of the policy. - */ policyViolationsCount?: string | null; } - /** - * A port range which is inclusive of the min and max values. Values are between 0 and 2^16-1. The max can be equal / must be not smaller than the min value. If min and max are equal this indicates that it is a single port. - */ export interface Schema$GoogleCloudSecuritycenterV2PortRange { - /** - * Maximum port value. - */ max?: string | null; - /** - * Minimum port value. - */ min?: string | null; } - /** - * Represents an operating system process. - */ export interface Schema$GoogleCloudSecuritycenterV2Process { - /** - * Process arguments as JSON encoded strings. - */ args?: string[] | null; - /** - * True if `args` is incomplete. - */ argumentsTruncated?: boolean | null; - /** - * File information for the process executable. - */ binary?: Schema$GoogleCloudSecuritycenterV2File; - /** - * Process environment variables. - */ envVariables?: Schema$GoogleCloudSecuritycenterV2EnvironmentVariable[]; - /** - * True if `env_variables` is incomplete. - */ envVariablesTruncated?: boolean | null; - /** - * File information for libraries loaded by the process. - */ libraries?: Schema$GoogleCloudSecuritycenterV2File[]; - /** - * The process name, as displayed in utilities like `top` and `ps`. This name can be accessed through `/proc/[pid]/comm` and changed with `prctl(PR_SET_NAME)`. - */ name?: string | null; - /** - * The parent process ID. - */ parentPid?: string | null; - /** - * The process ID. - */ pid?: string | null; - /** - * When the process represents the invocation of a script, `binary` provides information about the interpreter, while `script` provides information about the script file provided to the interpreter. - */ script?: Schema$GoogleCloudSecuritycenterV2File; - /** - * The ID of the user that executed the process. E.g. If this is the root user this will always be 0. - */ userId?: string | null; } - /** - * Indicates what signature matched this process. - */ export interface Schema$GoogleCloudSecuritycenterV2ProcessSignature { - /** - * Signature indicating that a binary family was matched. - */ memoryHashSignature?: Schema$GoogleCloudSecuritycenterV2MemoryHashSignature; - /** - * Describes the type of resource associated with the signature. - */ signatureType?: string | null; - /** - * Signature indicating that a YARA rule was matched. - */ yaraRuleSignature?: Schema$GoogleCloudSecuritycenterV2YaraRuleSignature; } - /** - * Additional Links - */ export interface Schema$GoogleCloudSecuritycenterV2Reference { - /** - * Source of the reference e.g. NVD - */ source?: string | null; - /** - * Uri for the mentioned source e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527. - */ uri?: string | null; } - /** - * Information about the requests relevant to the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2Requests { - /** - * Allowed RPS (requests per second) over the long term. - */ longTermAllowed?: number | null; - /** - * Denied RPS (requests per second) over the long term. - */ longTermDenied?: number | null; - /** - * For 'Increasing deny ratio', the ratio is the denied traffic divided by the allowed traffic. For 'Allowed traffic spike', the ratio is the allowed traffic in the short term divided by allowed traffic in the long term. - */ ratio?: number | null; - /** - * Allowed RPS (requests per second) in the short term. - */ shortTermAllowed?: number | null; } - /** - * Information related to the Google Cloud resource. - */ export interface Schema$GoogleCloudSecuritycenterV2Resource { - /** - * The ADC application associated with the finding. - */ adcApplication?: Schema$GoogleCloudSecuritycenterV2AdcApplication; - /** - * The ADC template associated with the finding. - */ adcApplicationTemplate?: Schema$GoogleCloudSecuritycenterV2AdcApplicationTemplateRevision; - /** - * The ADC shared template associated with the finding. - */ adcSharedTemplate?: Schema$GoogleCloudSecuritycenterV2AdcSharedTemplateRevision; - /** - * The App Hub application this resource belongs to. - */ application?: Schema$GoogleCloudSecuritycenterV2ResourceApplication; - /** - * The AWS metadata associated with the finding. - */ awsMetadata?: Schema$GoogleCloudSecuritycenterV2AwsMetadata; - /** - * The Azure metadata associated with the finding. - */ azureMetadata?: Schema$GoogleCloudSecuritycenterV2AzureMetadata; - /** - * Indicates which cloud provider the finding is from. - */ cloudProvider?: string | null; - /** - * The human readable name of the resource. - */ displayName?: string | null; - /** - * The Google Cloud metadata associated with the finding. - */ gcpMetadata?: Schema$GcpMetadata; - /** - * The region or location of the service (if applicable). - */ location?: string | null; - /** - * The full resource name of the resource. See: https://cloud.google.com/apis/design/resource_names#full_resource_name - */ name?: string | null; - /** - * Provides the path to the resource within the resource hierarchy. - */ resourcePath?: Schema$GoogleCloudSecuritycenterV2ResourcePath; - /** - * A string representation of the resource path. For Google Cloud, it has the format of `organizations/{organization_id\}/folders/{folder_id\}/folders/{folder_id\}/projects/{project_id\}` where there can be any number of folders. For AWS, it has the format of `org/{organization_id\}/ou/{organizational_unit_id\}/ou/{organizational_unit_id\}/account/{account_id\}` where there can be any number of organizational units. For Azure, it has the format of `mg/{management_group_id\}/mg/{management_group_id\}/subscription/{subscription_id\}/rg/{resource_group_name\}` where there can be any number of management groups. - */ resourcePathString?: string | null; - /** - * The service or resource provider associated with the resource. - */ service?: string | null; - /** - * The full resource type of the resource. - */ type?: string | null; } - /** - * The App Hub Application associated with the finding's resource. - */ export interface Schema$GoogleCloudSecuritycenterV2ResourceApplication { - /** - * Consumer provided attributes for the application - */ attributes?: Schema$GoogleCloudSecuritycenterV2ResourceApplicationAttributes; - /** - * The resource name of an Application. Format: `projects/{host-project-id\}/locations/{location\}/applications/{application-id\}` - */ name?: string | null; } - /** - * Consumer provided attributes for the application - */ export interface Schema$GoogleCloudSecuritycenterV2ResourceApplicationAttributes { - /** - * Business team that ensures user needs are met and value is delivered - */ businessOwners?: Schema$GoogleCloudSecuritycenterV2ResourceApplicationAttributesContactInfo[]; - /** - * User-defined criticality information. - */ criticality?: Schema$GoogleCloudSecuritycenterV2ResourceApplicationAttributesCriticality; - /** - * Developer team that owns development and coding. - */ developerOwners?: Schema$GoogleCloudSecuritycenterV2ResourceApplicationAttributesContactInfo[]; - /** - * User-defined environment information. - */ environment?: Schema$GoogleCloudSecuritycenterV2ResourceApplicationAttributesEnvironment; - /** - * Operator team that ensures runtime and operations. - */ operatorOwners?: Schema$GoogleCloudSecuritycenterV2ResourceApplicationAttributesContactInfo[]; } - /** - * Contact information of stakeholders. - */ export interface Schema$GoogleCloudSecuritycenterV2ResourceApplicationAttributesContactInfo { - /** - * Email address of the contacts. - */ email?: string | null; } - /** - * Criticality of the Application, Service, or Workload - */ export interface Schema$GoogleCloudSecuritycenterV2ResourceApplicationAttributesCriticality { - /** - * Criticality Type. - */ type?: string | null; } - /** - * Environment of the Application, Service, or Workload - */ export interface Schema$GoogleCloudSecuritycenterV2ResourceApplicationAttributesEnvironment { - /** - * Environment Type. - */ type?: string | null; } - /** - * Represents the path of resources leading up to the resource this finding is about. - */ export interface Schema$GoogleCloudSecuritycenterV2ResourcePath { - /** - * The list of nodes that make the up resource path, ordered from lowest level to highest level. - */ nodes?: Schema$GoogleCloudSecuritycenterV2ResourcePathNode[]; } - /** - * A node within the resource path. Each node represents a resource within the resource hierarchy. - */ export interface Schema$GoogleCloudSecuritycenterV2ResourcePathNode { - /** - * The display name of the resource this node represents. - */ displayName?: string | null; - /** - * The ID of the resource this node represents. - */ id?: string | null; - /** - * The type of resource this node represents. - */ nodeType?: string | null; } - /** - * A resource value configuration (RVC) is a mapping configuration of user's resources to resource values. Used in Attack path simulations. - */ export interface Schema$GoogleCloudSecuritycenterV2ResourceValueConfig { - /** - * Cloud provider this configuration applies to - */ cloudProvider?: string | null; - /** - * Output only. Timestamp this resource value configuration was created. - */ createTime?: string | null; - /** - * Description of the resource value configuration. - */ description?: string | null; - /** - * Identifier. Name for the resource value configuration - */ name?: string | null; - /** - * List of resource labels to search for, evaluated with `AND`. For example, "resource_labels_selector": {"key": "value", "env": "prod"\} will match resources with labels "key": "value" `AND` "env": "prod" https://cloud.google.com/resource-manager/docs/creating-managing-labels - */ resourceLabelsSelector?: {[key: string]: string} | null; - /** - * Apply resource_value only to resources that match resource_type. resource_type will be checked with `AND` of other resources. For example, "storage.googleapis.com/Bucket" with resource_value "HIGH" will apply "HIGH" value only to "storage.googleapis.com/Bucket" resources. - */ resourceType?: string | null; - /** - * Resource value level this expression represents Only required when there is no Sensitive Data Protection mapping in the request - */ resourceValue?: string | null; - /** - * Project or folder to scope this configuration to. For example, "project/456" would apply this configuration only to resources in "project/456" scope and will be checked with `AND` of other resources. - */ scope?: string | null; - /** - * A mapping of the sensitivity on Sensitive Data Protection finding to resource values. This mapping can only be used in combination with a resource_type that is related to BigQuery, e.g. "bigquery.googleapis.com/Dataset". - */ sensitiveDataProtectionMapping?: Schema$GoogleCloudSecuritycenterV2SensitiveDataProtectionMapping; - /** - * Tag values combined with `AND` to check against. For Google Cloud resources, they are tag value IDs in the form of "tagValues/123". Example: `[ "tagValues/123", "tagValues/456", "tagValues/789" ]` https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing - */ tagValues?: string[] | null; - /** - * Output only. Timestamp this resource value configuration was last updated. - */ updateTime?: string | null; } - /** - * Kubernetes Role or ClusterRole. - */ export interface Schema$GoogleCloudSecuritycenterV2Role { - /** - * Role type. - */ kind?: string | null; - /** - * Role name. - */ name?: string | null; - /** - * Role namespace. - */ ns?: string | null; } - /** - * Details about a secret or credential associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2Secret { - /** - * The environment variable containing the secret. - */ environmentVariable?: Schema$GoogleCloudSecuritycenterV2SecretEnvironmentVariable; - /** - * The file containing the secret. - */ filePath?: Schema$GoogleCloudSecuritycenterV2SecretFilePath; - /** - * The status of the secret. - */ status?: Schema$GoogleCloudSecuritycenterV2SecretStatus; - /** - * The type of secret, for example, GCP_API_KEY. - */ type?: string | null; } - /** - * Environment variable containing the secret. - */ export interface Schema$GoogleCloudSecuritycenterV2SecretEnvironmentVariable { - /** - * Environment variable name as a JSON encoded string. Note that value is not included since the value contains the secret data, which is sensitive core content. - */ key?: string | null; } - /** - * File path containing the secret. - */ export interface Schema$GoogleCloudSecuritycenterV2SecretFilePath { - /** - * Path to the file. - */ path?: string | null; } - /** - * The status of the secret. - */ export interface Schema$GoogleCloudSecuritycenterV2SecretStatus { - /** - * Time that the secret was found. - */ lastUpdatedTime?: string | null; - /** - * The validity of the secret. - */ validity?: string | null; } - /** - * SecurityBulletin are notifications of vulnerabilities of Google products. - */ export interface Schema$GoogleCloudSecuritycenterV2SecurityBulletin { - /** - * ID of the bulletin corresponding to the vulnerability. - */ bulletinId?: string | null; - /** - * Submission time of this Security Bulletin. - */ submissionTime?: string | null; - /** - * This represents a version that the cluster receiving this notification should be upgraded to, based on its current version. For example, 1.15.0 - */ suggestedUpgradeVersion?: string | null; } - /** - * User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization. - */ export interface Schema$GoogleCloudSecuritycenterV2SecurityMarks { - /** - * The canonical name of the marks. The following list shows some examples: + `organizations/{organization_id\}/assets/{asset_id\}/securityMarks` + `organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}/securityMarks` + `organizations/{organization_id\}/sources/{source_id\}/locations/{location\}/findings/{finding_id\}/securityMarks` + `folders/{folder_id\}/assets/{asset_id\}/securityMarks` + `folders/{folder_id\}/sources/{source_id\}/findings/{finding_id\}/securityMarks` + `folders/{folder_id\}/sources/{source_id\}/locations/{location\}/findings/{finding_id\}/securityMarks` + `projects/{project_number\}/assets/{asset_id\}/securityMarks` + `projects/{project_number\}/sources/{source_id\}/findings/{finding_id\}/securityMarks` + `projects/{project_number\}/sources/{source_id\}/locations/{location\}/findings/{finding_id\}/securityMarks` - */ canonicalName?: string | null; - /** - * Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive) - */ marks?: {[key: string]: string} | null; - /** - * The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name The following list shows some examples: + `organizations/{organization_id\}/assets/{asset_id\}/securityMarks` + `organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}/securityMarks` + `organizations/{organization_id\}/sources/{source_id\}/locations/{location\}/findings/{finding_id\}/securityMarks` - */ name?: string | null; } - /** - * Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2SecurityPolicy { - /** - * The name of the Google Cloud Armor security policy, for example, "my-security-policy". - */ name?: string | null; - /** - * Whether or not the associated rule or policy is in preview mode. - */ preview?: boolean | null; - /** - * The type of Google Cloud Armor security policy for example, 'backend security policy', 'edge security policy', 'network edge security policy', or 'always-on DDoS protection'. - */ type?: string | null; } - /** - * Represents a posture that is deployed on Google Cloud by the Security Command Center Posture Management service. A posture contains one or more policy sets. A policy set is a group of policies that enforce a set of security rules on Google Cloud. - */ export interface Schema$GoogleCloudSecuritycenterV2SecurityPosture { - /** - * The name of the updated policy, for example, `projects/{project_id\}/policies/{constraint_name\}`. - */ changedPolicy?: string | null; - /** - * Name of the posture, for example, `CIS-Posture`. - */ name?: string | null; - /** - * The ID of the updated policy, for example, `compute-policy-1`. - */ policy?: string | null; - /** - * The details about a change in an updated policy that violates the deployed posture. - */ policyDriftDetails?: Schema$GoogleCloudSecuritycenterV2PolicyDriftDetails[]; - /** - * The name of the updated policy set, for example, `cis-policyset`. - */ policySet?: string | null; - /** - * The name of the posture deployment, for example, `organizations/{org_id\}/posturedeployments/{posture_deployment_id\}`. - */ postureDeployment?: string | null; - /** - * The project, folder, or organization on which the posture is deployed, for example, `projects/{project_number\}`. - */ postureDeploymentResource?: string | null; - /** - * The version of the posture, for example, `c7cfa2a8`. - */ revisionId?: string | null; } - /** - * Resource value mapping for Sensitive Data Protection findings If any of these mappings have a resource value that is not unspecified, the resource_value field will be ignored when reading this configuration. - */ export interface Schema$GoogleCloudSecuritycenterV2SensitiveDataProtectionMapping { - /** - * Resource value mapping for high-sensitivity Sensitive Data Protection findings - */ highSensitivityMapping?: string | null; - /** - * Resource value mapping for medium-sensitivity Sensitive Data Protection findings - */ mediumSensitivityMapping?: string | null; - } - /** - * Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. - */ + } export interface Schema$GoogleCloudSecuritycenterV2SensitivityScore { - /** - * The sensitivity score applied to the resource. - */ score?: string | null; } - /** - * Identity delegation history of an authenticated service account. - */ export interface Schema$GoogleCloudSecuritycenterV2ServiceAccountDelegationInfo { - /** - * The email address of a Google account. - */ principalEmail?: string | null; - /** - * A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name\}/subjects/{subject\}` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name\}[{subject\}]` - */ principalSubject?: string | null; } - /** - * Information about the static mute state. A static mute state overrides any dynamic mute rules that apply to this finding. The static mute state can be set by a static mute rule or by muting the finding directly. - */ export interface Schema$GoogleCloudSecuritycenterV2StaticMute { - /** - * When the static mute was applied. - */ applyTime?: string | null; - /** - * The static mute state. If the value is `MUTED` or `UNMUTED`, then the finding's overall mute state will have the same value. - */ state?: string | null; } - /** - * Represents a Kubernetes subject. - */ export interface Schema$GoogleCloudSecuritycenterV2Subject { - /** - * Authentication type for the subject. - */ kind?: string | null; - /** - * Name for the subject. - */ name?: string | null; - /** - * Namespace for the subject. - */ ns?: string | null; } - /** - * Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding. - */ export interface Schema$GoogleCloudSecuritycenterV2TicketInfo { - /** - * The assignee of the ticket in the ticket system. - */ assignee?: string | null; - /** - * The description of the ticket in the ticket system. - */ description?: string | null; - /** - * The identifier of the ticket in the ticket system. - */ id?: string | null; - /** - * The latest status of the ticket, as reported by the ticket system. - */ status?: string | null; - /** - * The time when the ticket was last updated, as reported by the ticket system. - */ updateTime?: string | null; - /** - * The link to the ticket in the ticket system. - */ uri?: string | null; } - /** - * Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. - */ export interface Schema$GoogleCloudSecuritycenterV2ToxicCombination { - /** - * The [Attack exposure score](https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_exposure_scores) of this toxic combination. The score is a measure of how much this toxic combination exposes one or more high-value resources to potential attack. - */ attackExposureScore?: number | null; - /** - * List of resource names of findings associated with this toxic combination. For example, `organizations/123/sources/456/findings/789`. - */ relatedFindings?: string[] | null; } - /** - * Vertex AI-related information associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2VertexAi { - /** - * Datasets associated with the finding. - */ datasets?: Schema$GoogleCloudSecuritycenterV2Dataset[]; - /** - * Pipelines associated with the finding. - */ pipelines?: Schema$GoogleCloudSecuritycenterV2Pipeline[]; } - /** - * Refers to common vulnerability fields e.g. cve, cvss, cwe etc. - */ export interface Schema$GoogleCloudSecuritycenterV2Vulnerability { - /** - * CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/) - */ cve?: Schema$GoogleCloudSecuritycenterV2Cve; - /** - * Represents one or more Common Weakness Enumeration (CWE) information on this vulnerability. - */ cwes?: Schema$GoogleCloudSecuritycenterV2Cwe[]; - /** - * The fixed package is relevant to the finding. - */ fixedPackage?: Schema$GoogleCloudSecuritycenterV2Package; - /** - * The offending package is relevant to the finding. - */ offendingPackage?: Schema$GoogleCloudSecuritycenterV2Package; - /** - * Provider provided risk_score based on multiple factors. The higher the risk score, the more risky the vulnerability is. - */ providerRiskScore?: string | null; - /** - * Represents whether the vulnerability is reachable (detected via static analysis) - */ reachable?: boolean | null; - /** - * The security bulletin is relevant to this finding. - */ securityBulletin?: Schema$GoogleCloudSecuritycenterV2SecurityBulletin; } - /** - * A signature corresponding to a YARA rule. - */ export interface Schema$GoogleCloudSecuritycenterV2YaraRuleSignature { - /** - * The name of the YARA rule. - */ yaraRule?: string | null; } - /** - * Request message for grouping by assets. - */ export interface Schema$GroupAssetsRequest { - /** - * When compare_duration is set, the Asset's "state" property is updated to indicate whether the asset was added, removed, or remained present during the compare_duration period of time that precedes the read_time. This is the time between (read_time - compare_duration) and read_time. The state value is derived based on the presence of the asset at the two points in time. Intermediate state changes between the two times don't affect the result. For example, the results aren't affected if the asset is removed and re-created again. Possible "state" values when compare_duration is specified: * "ADDED": indicates that the asset was not present before compare_duration, but present at reference_time. * "REMOVED": indicates that the asset was present at the start of compare_duration, but not present at reference_time. * "ACTIVE": indicates that the asset was present at both the start and the end of the time period defined by compare_duration and reference_time. This field is ignored if `state` is not a field in `group_by`. - */ compareDuration?: string | null; - /** - * Expression that defines the filter to apply across assets. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are not supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the Asset resource. Examples include: * name * security_center_properties.resource_name * resource_properties.a_property * security_marks.marks.marka The supported operators are: * `=` for all value types. * `\>`, `<`, `\>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. For example, `resource_properties.size = 100` is a valid filter string. - */ filter?: string | null; - /** - * Required. Expression that defines what assets fields to use for grouping. The string value should follow SQL syntax: comma separated list of fields. For example: "security_center_properties.resource_project,security_center_properties.project". The following fields are supported when compare_duration is not set: * security_center_properties.resource_project * security_center_properties.resource_type * security_center_properties.resource_parent The following fields are supported when compare_duration is set: * security_center_properties.resource_type - */ groupBy?: string | null; - /** - * The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. - */ pageSize?: number | null; - /** - * The value returned by the last `GroupAssetsResponse`; indicates that this is a continuation of a prior `GroupAssets` call, and that the system should return the next page of data. - */ pageToken?: string | null; - /** - * Time used as a reference point when filtering assets. The filter is limited to assets existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW. - */ readTime?: string | null; } - /** - * Response message for grouping by assets. - */ export interface Schema$GroupAssetsResponse { - /** - * Group results. There exists an element for each existing unique combination of property/values. The element contains a count for the number of times those specific property/values appear. - */ groupByResults?: Schema$GroupResult[]; - /** - * Token to retrieve the next page of results, or empty if there are no more results. - */ nextPageToken?: string | null; - /** - * Time used for executing the groupBy request. - */ readTime?: string | null; } - /** - * Request message for grouping by findings. - */ export interface Schema$GroupFindingsRequest { - /** - * Expression that defines the filter to apply across findings. The expression is a list of one or more restrictions combined via logical operators `AND` and `OR`. Parentheses are not supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. Examples include: * name * source_properties.a_property * security_marks.marks.marka The supported operators are: * `=` for all value types. * `\>`, `<`, `\>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. For example, `source_properties.size = 100` is a valid filter string. - */ filter?: string | null; - /** - * Required. Expression that defines what assets fields to use for grouping (including `state`). The string value should follow SQL syntax: comma separated list of fields. For example: "parent,resource_name". The following fields are supported: * resource_name * category * state * parent - */ groupBy?: string | null; - /** - * The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. - */ pageSize?: number | null; - /** - * The value returned by the last `GroupFindingsResponse`; indicates that this is a continuation of a prior `GroupFindings` call, and that the system should return the next page of data. - */ pageToken?: string | null; - /** - * Time used as a reference point when filtering findings. The filter is limited to findings existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW. - */ readTime?: string | null; } - /** - * Response message for group by findings. - */ export interface Schema$GroupFindingsResponse { - /** - * Group results. There exists an element for each existing unique combination of property/values. The element contains a count for the number of times those specific property/values appear. - */ groupByResults?: Schema$GroupResult[]; - /** - * Token to retrieve the next page of results, or empty if there are no more results. - */ nextPageToken?: string | null; - /** - * Time used for executing the groupBy request. - */ readTime?: string | null; } - /** - * Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way. - */ export interface Schema$GroupMembership { - /** - * ID of the group. - */ groupId?: string | null; - /** - * Type of group. - */ groupType?: string | null; } - /** - * Result containing the properties and count of a groupBy request. - */ export interface Schema$GroupResult { - /** - * Total count of resources for the given properties. - */ count?: string | null; - /** - * Properties matching the groupBy fields in the request. - */ properties?: {[key: string]: any} | null; } - /** - * The http response returned by the web application. - */ export interface Schema$HttpResponse { - /** - * The http path for which response code was returned by web application, for example, "https://test-app.a.run.app/test". - */ path?: string | null; - /** - * The http response code returned by the web application, for example, 200. - */ statusCode?: string | null; } - /** - * Represents a particular IAM binding, which captures a member's role addition, removal, or state. - */ export interface Schema$IamBinding { - /** - * The action that was performed on a Binding. - */ action?: string | null; - /** - * A single identity requesting access for a Cloud Platform resource, for example, "foo@google.com". - */ member?: string | null; - /** - * Role that is assigned to "members". For example, "roles/viewer", "roles/editor", or "roles/owner". - */ role?: string | null; } - /** - * Represents what's commonly known as an _indicator of compromise_ (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise). - */ export interface Schema$Indicator { - /** - * List of domains associated to the Finding. - */ domains?: string[] | null; - /** - * The list of IP addresses that are associated with the finding. - */ ipAddresses?: string[] | null; - /** - * The list of matched signatures indicating that the given process is present in the environment. - */ signatures?: Schema$ProcessSignature[]; - /** - * The list of URIs associated to the Findings. - */ uris?: string[] | null; } - /** - * Type of information detected by the API. - */ export interface Schema$InfoType { - /** - * Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64\}`. - */ name?: string | null; - /** - * Optional custom sensitivity for this InfoType. This only applies to data profiling. - */ sensitivityScore?: Schema$SensitivityScore; - /** - * Optional version name for this InfoType. - */ version?: string | null; } - /** - * IP rule information. - */ export interface Schema$IpRule { - /** - * Optional. An optional list of ports to which this rule applies. This field is only applicable for the UDP or (S)TCP protocols. Each entry must be either an integer or a range including a min and max port number. - */ portRanges?: Schema$PortRange[]; - /** - * The IP protocol this rule applies to. This value can either be one of the following well known protocol strings (TCP, UDP, ICMP, ESP, AH, IPIP, SCTP) or a string representation of the integer value. - */ protocol?: string | null; } - /** - * IP rules associated with the finding. - */ export interface Schema$IpRules { - /** - * Tuple with allowed rules. - */ allowed?: Schema$Allowed; - /** - * Tuple with denied rules. - */ denied?: Schema$Denied; - /** - * If destination IP ranges are specified, the firewall rule applies only to traffic that has a destination IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4. - */ destinationIpRanges?: string[] | null; - /** - * The direction that the rule is applicable to, one of ingress or egress. - */ direction?: string | null; - /** - * Name of the network protocol service, such as FTP, that is exposed by the open port. Follows the naming convention available at: https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml. - */ exposedServices?: string[] | null; - /** - * If source IP 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. Only supports IPv4. - */ sourceIpRanges?: string[] | null; } - /** - * Describes a job - */ export interface Schema$Job { - /** - * Optional. If the job did not complete successfully, this field describes why. - */ errorCode?: number | null; - /** - * Optional. Gives the location where the job ran, such as `US` or `europe-west1` - */ location?: string | null; - /** - * The fully-qualified name for a job. e.g. `projects//jobs/` - */ name?: string | null; - /** - * Output only. State of the job, such as `RUNNING` or `PENDING`. - */ state?: string | null; } - /** - * Kernel mode rootkit signatures. - */ export interface Schema$KernelRootkit { - /** - * Rootkit name, when available. - */ name?: string | null; - /** - * True if unexpected modifications of kernel code memory are present. - */ unexpectedCodeModification?: boolean | null; - /** - * True if `ftrace` points are present with callbacks pointing to regions that are not in the expected kernel or module code range. - */ unexpectedFtraceHandler?: boolean | null; - /** - * True if interrupt handlers that are are not in the expected kernel or module code regions are present. - */ unexpectedInterruptHandler?: boolean | null; - /** - * True if kernel code pages that are not in the expected kernel or module code regions are present. - */ unexpectedKernelCodePages?: boolean | null; - /** - * True if `kprobe` points are present with callbacks pointing to regions that are not in the expected kernel or module code range. - */ unexpectedKprobeHandler?: boolean | null; - /** - * True if unexpected processes in the scheduler run queue are present. Such processes are in the run queue, but not in the process task list. - */ unexpectedProcessesInRunqueue?: boolean | null; - /** - * True if unexpected modifications of kernel read-only data memory are present. - */ unexpectedReadOnlyDataModification?: boolean | null; - /** - * True if system call handlers that are are not in the expected kernel or module code regions are present. - */ unexpectedSystemCallHandler?: boolean | null; } - /** - * Kubernetes-related attributes. - */ export interface Schema$Kubernetes { - /** - * Provides information on any Kubernetes access reviews (privilege checks) relevant to the finding. - */ accessReviews?: Schema$AccessReview[]; - /** - * Provides Kubernetes role binding information for findings that involve [RoleBindings or ClusterRoleBindings](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control). - */ bindings?: Schema$GoogleCloudSecuritycenterV1Binding[]; - /** - * GKE [node pools](https://cloud.google.com/kubernetes-engine/docs/concepts/node-pools) associated with the finding. This field contains node pool information for each node, when it is available. - */ nodePools?: Schema$NodePool[]; - /** - * Provides Kubernetes [node](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture#nodes) information. - */ nodes?: Schema$Node[]; - /** - * Kubernetes objects related to the finding. - */ objects?: Schema$Object[]; - /** - * Kubernetes [Pods](https://cloud.google.com/kubernetes-engine/docs/concepts/pod) associated with the finding. This field contains Pod records for each container that is owned by a Pod. - */ pods?: Schema$Pod[]; - /** - * Provides Kubernetes role information for findings that involve [Roles or ClusterRoles](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control). - */ roles?: Schema$Role[]; } - /** - * Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - */ export interface Schema$Label { - /** - * Name of the label. - */ name?: string | null; - /** - * Value that corresponds to the label's name. - */ value?: string | null; } - /** - * Response message for listing assets. - */ export interface Schema$ListAssetsResponse { - /** - * Assets matching the list request. - */ listAssetsResults?: Schema$ListAssetsResult[]; - /** - * Token to retrieve the next page of results, or empty if there are no more results. - */ nextPageToken?: string | null; - /** - * Time used for executing the list request. - */ readTime?: string | null; - /** - * The total number of assets matching the query. - */ totalSize?: number | null; } - /** - * Result containing the Asset and its State. - */ export interface Schema$ListAssetsResult { - /** - * Asset matching the search request. - */ asset?: Schema$Asset; - /** - * State of the asset. - */ state?: string | null; } - /** - * Response message for listing findings. - */ export interface Schema$ListFindingsResponse { - /** - * Findings matching the list request. - */ findings?: Schema$GoogleCloudSecuritycenterV1beta1Finding[]; - /** - * Token to retrieve the next page of results, or empty if there are no more results. - */ nextPageToken?: string | null; - /** - * Time used for executing the list request. - */ readTime?: string | null; - /** - * The total number of findings matching the query. - */ totalSize?: number | null; - } - /** - * The response message for Operations.ListOperations. - */ + } export interface Schema$ListOperationsResponse { - /** - * The standard List next-page token. - */ nextPageToken?: string | null; - /** - * A list of operations that matches the specified filter in the request. - */ operations?: Schema$Operation[]; - /** - * Unordered list. Unreachable resources. Populated when the request sets `ListOperationsRequest.return_partial_success` and reads across collections. For example, when attempting to list all resources across all supported locations. - */ unreachable?: string[] | null; } - /** - * Response message for listing sources. - */ export interface Schema$ListSourcesResponse { - /** - * Token to retrieve the next page of results, or empty if there are no more results. - */ nextPageToken?: string | null; - /** - * Sources belonging to the requested parent. - */ sources?: Schema$Source[]; } - /** - * Contains information related to the load balancer associated with the finding. - */ export interface Schema$LoadBalancer { - /** - * The name of the load balancer associated with the finding. - */ name?: string | null; } - /** - * An individual entry in a log. - */ export interface Schema$LogEntry { - /** - * An individual entry in a log stored in Cloud Logging. - */ cloudLoggingEntry?: Schema$CloudLoggingEntry; } - /** - * A signature corresponding to memory page hashes. - */ export interface Schema$MemoryHashSignature { - /** - * The binary family. - */ binaryFamily?: string | null; - /** - * The list of memory hash detections contributing to the binary family match. - */ detections?: Schema$Detection[]; } - /** - * MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org - */ export interface Schema$MitreAttack { - /** - * Additional MITRE ATT&CK tactics related to this finding, if any. - */ additionalTactics?: string[] | null; - /** - * Additional MITRE ATT&CK techniques related to this finding, if any, along with any of their respective parent techniques. - */ additionalTechniques?: string[] | null; - /** - * The MITRE ATT&CK tactic most closely represented by this finding, if any. - */ primaryTactic?: string | null; - /** - * The MITRE ATT&CK technique most closely represented by this finding, if any. primary_techniques is a repeated field because there are multiple levels of MITRE ATT&CK techniques. If the technique most closely represented by this finding is a sub-technique (e.g. `SCANNING_IP_BLOCKS`), both the sub-technique and its parent technique(s) will be listed (e.g. `SCANNING_IP_BLOCKS`, `ACTIVE_SCANNING`). - */ primaryTechniques?: string[] | null; - /** - * The MITRE ATT&CK version referenced by the above fields. E.g. "8". - */ version?: string | null; } - /** - * Mute information about the finding, including whether the finding has a static mute or any matching dynamic mute rules. - */ export interface Schema$MuteInfo { - /** - * The list of dynamic mute rules that currently match the finding. - */ dynamicMuteRecords?: Schema$DynamicMuteRecord[]; - /** - * If set, the static mute applied to this finding. Static mutes override dynamic mutes. If unset, there is no static mute. - */ staticMute?: Schema$StaticMute; } - /** - * Contains information about a VPC network associated with the finding. - */ export interface Schema$Network { - /** - * The name of the VPC network resource, for example, `//compute.googleapis.com/projects/my-project/global/networks/my-network`. - */ name?: string | null; } - /** - * Kubernetes nodes associated with the finding. - */ export interface Schema$Node { - /** - * [Full resource name](https://google.aip.dev/122#full-resource-names) of the Compute Engine VM running the cluster node. - */ name?: string | null; } - /** - * Provides GKE node pool information. - */ export interface Schema$NodePool { - /** - * Kubernetes node pool name. - */ name?: string | null; - /** - * Nodes associated with the finding. - */ nodes?: Schema$Node[]; } - /** - * Represents a Jupyter notebook IPYNB file, such as a [Colab Enterprise notebook](https://cloud.google.com/colab/docs/introduction) file, that is associated with a finding. - */ export interface Schema$Notebook { - /** - * The user ID of the latest author to modify the notebook. - */ lastAuthor?: string | null; - /** - * The name of the notebook. - */ name?: string | null; - /** - * The most recent time the notebook was updated. - */ notebookUpdateTime?: string | null; - /** - * The source notebook service, for example, "Colab Enterprise". - */ service?: string | null; } - /** - * Kubernetes object related to the finding, uniquely identified by GKNN. Used if the object Kind is not one of Pod, Node, NodePool, Binding, or AccessReview. - */ export interface Schema$Object { - /** - * Pod containers associated with this finding, if any. - */ containers?: Schema$Container[]; - /** - * Kubernetes object group, such as "policy.k8s.io/v1". - */ group?: string | null; - /** - * Kubernetes object kind, such as "Namespace". - */ kind?: string | null; - /** - * Kubernetes object name. For details see https://kubernetes.io/docs/concepts/overview/working-with-objects/names/. - */ name?: string | null; - /** - * Kubernetes object namespace. Must be a valid DNS label. Named "ns" to avoid collision with C++ namespace keyword. For details see https://kubernetes.io/docs/tasks/administer-cluster/namespaces/. - */ ns?: string | null; } - /** - * This resource represents a long-running operation that is the result of a network API call. - */ export interface Schema$Operation { - /** - * 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. - */ done?: boolean | null; - /** - * The error result of the operation in case of failure or cancellation. - */ error?: Schema$Status; - /** - * 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. - */ metadata?: {[key: string]: any} | null; - /** - * 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\}`. - */ name?: string | null; - /** - * 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`. - */ response?: {[key: string]: any} | null; } - /** - * User specified settings that are attached to the Security Command Center organization. - */ export interface Schema$OrganizationSettings { - /** - * The configuration used for Asset Discovery runs. - */ assetDiscoveryConfig?: Schema$AssetDiscoveryConfig; - /** - * A flag that indicates if Asset Discovery should be enabled. If the flag is set to `true`, then discovery of assets will occur. If it is set to `false`, all historical assets will remain, but discovery of future assets will not occur. - */ enableAssetDiscovery?: boolean | null; - /** - * The relative resource name of the settings. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id\}/organizationSettings". - */ name?: string | null; } - /** - * Contains information about the org policies associated with the finding. - */ export interface Schema$OrgPolicy { - /** - * The resource name of the org policy. Example: "organizations/{organization_id\}/policies/{constraint_name\}" - */ name?: string | null; } - /** - * Package is a generic definition of a package. - */ export interface Schema$Package { - /** - * The CPE URI where the vulnerability was detected. - */ cpeUri?: string | null; - /** - * The name of the package where the vulnerability was detected. - */ packageName?: string | null; - /** - * Type of package, for example, os, maven, or go. - */ packageType?: string | null; - /** - * The version of the package. - */ packageVersion?: string | null; } - /** - * Vertex AI training pipeline associated with the finding. - */ export interface Schema$Pipeline { - /** - * The user defined display name of pipeline, e.g. plants-classification - */ displayName?: string | null; - /** - * Resource name of the pipeline, e.g. projects/{project\}/locations/{location\}/trainingPipelines/5253428229225578496 - */ name?: string | null; } - /** - * A Kubernetes Pod. - */ export interface Schema$Pod { - /** - * Pod containers associated with this finding, if any. - */ containers?: Schema$Container[]; - /** - * Pod labels. For Kubernetes containers, these are applied to the container. - */ labels?: Schema$Label[]; - /** - * Kubernetes Pod name. - */ name?: string | null; - /** - * Kubernetes Pod namespace. - */ ns?: string | null; } - /** - * 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/). - */ export interface Schema$Policy { - /** - * Specifies cloud audit logging configuration for this policy. - */ auditConfigs?: Schema$AuditConfig[]; - /** - * 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`. - */ bindings?: Schema$Binding[]; - /** - * `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. - */ etag?: string | null; - /** - * 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). - */ version?: number | null; } - /** - * The policy field that violates the deployed posture and its expected and detected values. - */ export interface Schema$PolicyDriftDetails { - /** - * The detected value that violates the deployed posture, for example, `false` or `allowed_values={"projects/22831892"\}`. - */ detectedValue?: string | null; - /** - * The value of this field that was configured in a posture, for example, `true` or `allowed_values={"projects/29831892"\}`. - */ expectedValue?: string | null; - /** - * The name of the updated field, for example constraint.implementation.policy_rules[0].enforce - */ field?: string | null; } - /** - * Metadata summarizing policy violations of child resources of the affected resource. `finding_category` and `resource` determine the exact semantics of the counts. For example, when category=DATA_SECURITY_POSTURE_OBJECT_PUBLIC_ACCESS_VIOLATION and resource='storage.googleapis.com/buckets/my-bucket-name' then this counts the number of Cloud Storage objects in my-bucket-name which violate a Public Access control. - */ export interface Schema$PolicyViolationSummary { - /** - * Total number of child resources that conform to the policy. - */ conformantResourcesCount?: string | null; - /** - * Number of child resources for which errors during evaluation occurred. The evaluation result for these child resources is effectively "unknown". - */ evaluationErrorsCount?: string | null; - /** - * Total count of child resources which were not in scope for evaluation. - */ outOfScopeResourcesCount?: string | null; - /** - * Count of child resources in violation of the policy. - */ policyViolationsCount?: string | null; } - /** - * A port range which is inclusive of the min and max values. Values are between 0 and 2^16-1. The max can be equal / must be not smaller than the min value. If min and max are equal this indicates that it is a single port. - */ export interface Schema$PortRange { - /** - * Maximum port value. - */ max?: string | null; - /** - * Minimum port value. - */ min?: string | null; } - /** - * Represents an operating system process. - */ export interface Schema$Process { - /** - * Process arguments as JSON encoded strings. - */ args?: string[] | null; - /** - * True if `args` is incomplete. - */ argumentsTruncated?: boolean | null; - /** - * File information for the process executable. - */ binary?: Schema$File; - /** - * Process environment variables. - */ envVariables?: Schema$EnvironmentVariable[]; - /** - * True if `env_variables` is incomplete. - */ envVariablesTruncated?: boolean | null; - /** - * File information for libraries loaded by the process. - */ libraries?: Schema$File[]; - /** - * The process name, as displayed in utilities like `top` and `ps`. This name can be accessed through `/proc/[pid]/comm` and changed with `prctl(PR_SET_NAME)`. - */ name?: string | null; - /** - * The parent process ID. - */ parentPid?: string | null; - /** - * The process ID. - */ pid?: string | null; - /** - * When the process represents the invocation of a script, `binary` provides information about the interpreter, while `script` provides information about the script file provided to the interpreter. - */ script?: Schema$File; - /** - * The ID of the user that executed the process. E.g. If this is the root user this will always be 0. - */ userId?: string | null; } - /** - * Indicates what signature matched this process. - */ export interface Schema$ProcessSignature { - /** - * Signature indicating that a binary family was matched. - */ memoryHashSignature?: Schema$MemoryHashSignature; - /** - * Describes the type of resource associated with the signature. - */ signatureType?: string | null; - /** - * Signature indicating that a YARA rule was matched. - */ yaraRuleSignature?: Schema$YaraRuleSignature; } - /** - * Additional Links - */ export interface Schema$Reference { - /** - * Source of the reference e.g. NVD - */ source?: string | null; - /** - * Uri for the mentioned source e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527. - */ uri?: string | null; } - /** - * Information about the requests relevant to the finding. - */ export interface Schema$Requests { - /** - * Allowed RPS (requests per second) over the long term. - */ longTermAllowed?: number | null; - /** - * Denied RPS (requests per second) over the long term. - */ longTermDenied?: number | null; - /** - * For 'Increasing deny ratio', the ratio is the denied traffic divided by the allowed traffic. For 'Allowed traffic spike', the ratio is the allowed traffic in the short term divided by allowed traffic in the long term. - */ ratio?: number | null; - /** - * Allowed RPS (requests per second) in the short term. - */ shortTermAllowed?: number | null; } - /** - * Represents the path of resources leading up to the resource this finding is about. - */ export interface Schema$ResourcePath { - /** - * The list of nodes that make the up resource path, ordered from lowest level to highest level. - */ nodes?: Schema$ResourcePathNode[]; } - /** - * A node within the resource path. Each node represents a resource within the resource hierarchy. - */ export interface Schema$ResourcePathNode { - /** - * The display name of the resource this node represents. - */ displayName?: string | null; - /** - * The ID of the resource this node represents. - */ id?: string | null; - /** - * The type of resource this node represents. - */ nodeType?: string | null; } - /** - * Kubernetes Role or ClusterRole. - */ export interface Schema$Role { - /** - * Role type. - */ kind?: string | null; - /** - * Role name. - */ name?: string | null; - /** - * Role namespace. - */ ns?: string | null; } - /** - * Request message for running asset discovery for an organization. - */ export interface Schema$RunAssetDiscoveryRequest {} - /** - * Details about a secret or credential associated with the finding. - */ export interface Schema$Secret { - /** - * The environment variable containing the secret. - */ environmentVariable?: Schema$SecretEnvironmentVariable; - /** - * The file containing the secret. - */ filePath?: Schema$SecretFilePath; - /** - * The status of the secret. - */ status?: Schema$SecretStatus; - /** - * The type of secret, for example, GCP_API_KEY. - */ type?: string | null; } - /** - * Environment variable containing the secret. - */ export interface Schema$SecretEnvironmentVariable { - /** - * Environment variable name as a JSON encoded string. Note that value is not included since the value contains the secret data, which is sensitive core content. - */ key?: string | null; } - /** - * File path containing the secret. - */ export interface Schema$SecretFilePath { - /** - * Path to the file. - */ path?: string | null; - } - /** - * The status of the secret. - */ + } export interface Schema$SecretStatus { - /** - * Time that the secret was found. - */ lastUpdatedTime?: string | null; - /** - * The validity of the secret. - */ validity?: string | null; } - /** - * SecurityBulletin are notifications of vulnerabilities of Google products. - */ export interface Schema$SecurityBulletin { - /** - * ID of the bulletin corresponding to the vulnerability. - */ bulletinId?: string | null; - /** - * Submission time of this Security Bulletin. - */ submissionTime?: string | null; - /** - * This represents a version that the cluster receiving this notification should be upgraded to, based on its current version. For example, 1.15.0 - */ suggestedUpgradeVersion?: string | null; } - /** - * Security Command Center managed properties. These properties are managed by Security Command Center and cannot be modified by the user. - */ export interface Schema$SecurityCenterProperties { - /** - * Immutable. The full resource name of the Google Cloud resource this asset represents. This field is immutable after create time. See: https://cloud.google.com/apis/design/resource_names#full_resource_name - */ resourceName?: string | null; - /** - * Owners of the Google Cloud resource. - */ resourceOwners?: string[] | null; - /** - * The full resource name of the immediate parent of the resource. See: https://cloud.google.com/apis/design/resource_names#full_resource_name - */ resourceParent?: string | null; - /** - * The full resource name of the project the resource belongs to. See: https://cloud.google.com/apis/design/resource_names#full_resource_name - */ resourceProject?: string | null; - /** - * The type of the Google Cloud resource. Examples include: APPLICATION, PROJECT, and ORGANIZATION. This is a case insensitive field defined by Security Command Center and/or the producer of the resource and is immutable after create time. - */ resourceType?: string | null; } - /** - * User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization. - */ export interface Schema$SecurityMarks { - /** - * The canonical name of the marks. Examples: "organizations/{organization_id\}/assets/{asset_id\}/securityMarks" "folders/{folder_id\}/assets/{asset_id\}/securityMarks" "projects/{project_number\}/assets/{asset_id\}/securityMarks" "organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}/securityMarks" "folders/{folder_id\}/sources/{source_id\}/findings/{finding_id\}/securityMarks" "projects/{project_number\}/sources/{source_id\}/findings/{finding_id\}/securityMarks" - */ canonicalName?: string | null; - /** - * Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive) - */ marks?: {[key: string]: string} | null; - /** - * The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id\}/assets/{asset_id\}/securityMarks" "organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}/securityMarks". - */ name?: string | null; } - /** - * Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding. - */ export interface Schema$SecurityPolicy { - /** - * The name of the Google Cloud Armor security policy, for example, "my-security-policy". - */ name?: string | null; - /** - * Whether or not the associated rule or policy is in preview mode. - */ preview?: boolean | null; - /** - * The type of Google Cloud Armor security policy for example, 'backend security policy', 'edge security policy', 'network edge security policy', or 'always-on DDoS protection'. - */ type?: string | null; } - /** - * Represents a posture that is deployed on Google Cloud by the Security Command Center Posture Management service. A posture contains one or more policy sets. A policy set is a group of policies that enforce a set of security rules on Google Cloud. - */ export interface Schema$SecurityPosture { - /** - * The name of the updated policy, for example, `projects/{project_id\}/policies/{constraint_name\}`. - */ changedPolicy?: string | null; - /** - * Name of the posture, for example, `CIS-Posture`. - */ name?: string | null; - /** - * The ID of the updated policy, for example, `compute-policy-1`. - */ policy?: string | null; - /** - * The details about a change in an updated policy that violates the deployed posture. - */ policyDriftDetails?: Schema$PolicyDriftDetails[]; - /** - * The name of the updated policyset, for example, `cis-policyset`. - */ policySet?: string | null; - /** - * The name of the posture deployment, for example, `organizations/{org_id\}/posturedeployments/{posture_deployment_id\}`. - */ postureDeployment?: string | null; - /** - * The project, folder, or organization on which the posture is deployed, for example, `projects/{project_number\}`. - */ postureDeploymentResource?: string | null; - /** - * The version of the posture, for example, `c7cfa2a8`. - */ revisionId?: string | null; } - /** - * Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. - */ export interface Schema$SensitivityScore { - /** - * The sensitivity score applied to the resource. - */ score?: string | null; } - /** - * Identity delegation history of an authenticated service account. - */ export interface Schema$ServiceAccountDelegationInfo { - /** - * The email address of a Google account. - */ principalEmail?: string | null; - /** - * A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name\}/subjects/{subject\}` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name\}[{subject\}]` - */ principalSubject?: string | null; } - /** - * Request message for updating a finding's state. - */ export interface Schema$SetFindingStateRequest { - /** - * Optional. The time at which the updated state takes effect. If not set uses the current time. - */ startTime?: string | null; - /** - * Required. The desired State of the finding. - */ state?: string | null; } - /** - * Request message for `SetIamPolicy` method. - */ export interface Schema$SetIamPolicyRequest { - /** - * 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. - */ policy?: Schema$Policy; - /** - * 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"` - */ updateMask?: string | null; } - /** - * Security Command Center finding source. A finding source is an entity or a mechanism that can produce a finding. A source is like a container of findings that come from the same scanner, logger, monitor, etc. - */ export interface Schema$Source { - /** - * The description of the source (max of 1024 characters). Example: "Web Security Scanner is a web security scanner for common vulnerabilities in App Engine applications. It can automatically scan and detect four common vulnerabilities, including cross-site-scripting (XSS), Flash injection, mixed content (HTTP in HTTPS), and outdated/insecure libraries." - */ description?: string | null; - /** - * The source's display name. A source's display name must be unique amongst its siblings, for example, two sources with the same parent can't share the same display name. The display name must have a length between 1 and 64 characters (inclusive). - */ displayName?: string | null; - /** - * The relative resource name of this source. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id\}/sources/{source_id\}" - */ name?: string | null; } - /** - * Information about the static mute state. A static mute state overrides any dynamic mute rules that apply to this finding. The static mute state can be set by a static mute rule or by muting the finding directly. - */ export interface Schema$StaticMute { - /** - * When the static mute was applied. - */ applyTime?: string | null; - /** - * The static mute state. If the value is `MUTED` or `UNMUTED`, then the finding's overall mute state will have the same value. - */ state?: string | null; } - /** - * 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). - */ export interface Schema$Status { - /** - * The status code, which should be an enum value of google.rpc.Code. - */ code?: number | null; - /** - * A list of messages that carry the error details. There is a common set of message types for APIs to use. - */ details?: Array<{[key: string]: any}> | null; - /** - * 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. - */ message?: string | null; } - /** - * Represents a Kubernetes subject. - */ export interface Schema$Subject { - /** - * Authentication type for the subject. - */ kind?: string | null; - /** - * Name for the subject. - */ name?: string | null; - /** - * Namespace for the subject. - */ ns?: string | null; } - /** - * Request message for `TestIamPermissions` method. - */ export interface Schema$TestIamPermissionsRequest { - /** - * 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). - */ permissions?: string[] | null; } - /** - * Response message for `TestIamPermissions` method. - */ export interface Schema$TestIamPermissionsResponse { - /** - * A subset of `TestPermissionsRequest.permissions` that the caller is allowed. - */ permissions?: string[] | null; } - /** - * Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding. - */ export interface Schema$TicketInfo { - /** - * The assignee of the ticket in the ticket system. - */ assignee?: string | null; - /** - * The description of the ticket in the ticket system. - */ description?: string | null; - /** - * The identifier of the ticket in the ticket system. - */ id?: string | null; - /** - * The latest status of the ticket, as reported by the ticket system. - */ status?: string | null; - /** - * The time when the ticket was last updated, as reported by the ticket system. - */ updateTime?: string | null; - /** - * The link to the ticket in the ticket system. - */ uri?: string | null; } - /** - * Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. - */ export interface Schema$ToxicCombination { - /** - * The [Attack exposure score](https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_exposure_scores) of this toxic combination. The score is a measure of how much this toxic combination exposes one or more high-value resources to potential attack. - */ attackExposureScore?: number | null; - /** - * List of resource names of findings associated with this toxic combination. For example, `organizations/123/sources/456/findings/789`. - */ relatedFindings?: string[] | null; } - /** - * Vertex AI-related information associated with the finding. - */ export interface Schema$VertexAi { - /** - * Datasets associated with the finding. - */ datasets?: Schema$Dataset[]; - /** - * Pipelines associated with the finding. - */ pipelines?: Schema$Pipeline[]; } - /** - * Refers to common vulnerability fields e.g. cve, cvss, cwe etc. - */ export interface Schema$Vulnerability { - /** - * CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/) - */ cve?: Schema$Cve; - /** - * Represents one or more Common Weakness Enumeration (CWE) information on this vulnerability. - */ cwes?: Schema$Cwe[]; - /** - * The fixed package is relevant to the finding. - */ fixedPackage?: Schema$Package; - /** - * The offending package is relevant to the finding. - */ offendingPackage?: Schema$Package; - /** - * Provider provided risk_score based on multiple factors. The higher the risk score, the more risky the vulnerability is. - */ providerRiskScore?: string | null; - /** - * Represents whether the vulnerability is reachable (detected via static analysis) - */ reachable?: boolean | null; - /** - * The security bulletin is relevant to this finding. - */ securityBulletin?: Schema$SecurityBulletin; } - /** - * Vulnerability count by severity. - */ export interface Schema$VulnerabilityCountBySeverity { - /** - * Key is the Severity enum. - */ severityToFindingCount?: {[key: string]: string} | null; } - /** - * Result containing the properties and count of a VulnerabilitySnapshot request. - */ export interface Schema$VulnerabilitySnapshot { - /** - * The cloud provider for the vulnerability snapshot. - */ cloudProvider?: string | null; - /** - * The vulnerability count by severity. - */ findingCount?: Schema$VulnerabilityCountBySeverity; - /** - * Identifier. The vulnerability snapshot name. Format: //locations//vulnerabilitySnapshots/ - */ name?: string | null; - /** - * The time that the snapshot was taken. - */ snapshotTime?: string | null; } - /** - * A signature corresponding to a YARA rule. - */ export interface Schema$YaraRuleSignature { - /** - * The name of the YARA rule. - */ yaraRule?: string | null; } @@ -7042,7 +2113,6 @@ export namespace securitycenter_v1beta1 { } /** - * Gets the settings for an organization. * @example * ```js * // Before running the sample: @@ -7072,7 +2142,6 @@ export namespace securitycenter_v1beta1 { * * // Do the magic * const res = await securitycenter.organizations.getOrganizationSettings({ - * // Required. Name of the organization to get organization settings for. Its format is "organizations/[organization_id]/organizationSettings". * name: 'organizations/my-organization/organizationSettings', * }); * console.log(res.data); @@ -7183,7 +2252,6 @@ export namespace securitycenter_v1beta1 { } /** - * Updates an organization's settings. * @example * ```js * // Before running the sample: @@ -7213,9 +2281,8 @@ export namespace securitycenter_v1beta1 { * * // Do the magic * const res = await securitycenter.organizations.updateOrganizationSettings({ - * // The relative resource name of the settings. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id\}/organizationSettings". * name: 'organizations/my-organization/organizationSettings', - * // The FieldMask to use when updating the settings resource. + * * updateMask: 'placeholder-value', * * // Request body metadata @@ -7338,17 +2405,17 @@ export namespace securitycenter_v1beta1 { export interface Params$Resource$Organizations$Getorganizationsettings extends StandardParameters { /** - * Required. Name of the organization to get organization settings for. Its format is "organizations/[organization_id]/organizationSettings". + * */ name?: string; } export interface Params$Resource$Organizations$Updateorganizationsettings extends StandardParameters { /** - * The relative resource name of the settings. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id\}/organizationSettings". + * */ name?: string; /** - * The FieldMask to use when updating the settings resource. + * */ updateMask?: string; @@ -7365,7 +2432,6 @@ export namespace securitycenter_v1beta1 { } /** - * Filters an organization's assets and groups them by their specified properties. * @example * ```js * // Before running the sample: @@ -7395,7 +2461,6 @@ export namespace securitycenter_v1beta1 { * * // Do the magic * const res = await securitycenter.organizations.assets.group({ - * // Required. Name of the organization to groupBy. Its format is "organizations/[organization_id]". * parent: 'organizations/my-organization', * * // Request body metadata @@ -7518,7 +2583,6 @@ export namespace securitycenter_v1beta1 { } /** - * Lists an organization's assets. * @example * ```js * // Before running the sample: @@ -7548,21 +2612,20 @@ export namespace securitycenter_v1beta1 { * * // Do the magic * const res = await securitycenter.organizations.assets.list({ - * // When compare_duration is set, the ListAssetResult's "state" attribute is updated to indicate whether the asset was added, removed, or remained present during the compare_duration period of time that precedes the read_time. This is the time between (read_time - compare_duration) and read_time. The state value is derived based on the presence of the asset at the two points in time. Intermediate state changes between the two times don't affect the result. For example, the results aren't affected if the asset is removed and re-created again. Possible "state" values when compare_duration is specified: * "ADDED": indicates that the asset was not present before compare_duration, but present at read_time. * "REMOVED": indicates that the asset was present at the start of compare_duration, but not present at read_time. * "ACTIVE": indicates that the asset was present at both the start and the end of the time period defined by compare_duration and read_time. If compare_duration is not specified, then the only possible state is "UNUSED", which indicates that the asset is present at read_time. * compareDuration: 'placeholder-value', - * // Optional. A field mask to specify the ListAssetsResult fields to be listed in the response. An empty field mask will list all fields. + * * fieldMask: 'placeholder-value', - * // Expression that defines the filter to apply across assets. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are not supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the Asset resource. Examples include: * name * security_center_properties.resource_name * resource_properties.a_property * security_marks.marks.marka The supported operators are: * `=` for all value types. * `\>`, `<`, `\>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. For example, `resource_properties.size = 100` is a valid filter string. + * * filter: 'placeholder-value', - * // Expression that defines what fields and order to use for sorting. The string value should follow SQL syntax: comma separated list of fields. For example: "name,resource_properties.a_property". The default sorting order is ascending. To specify descending order for a field, a suffix " desc" should be appended to the field name. For example: "name desc,resource_properties.a_property". Redundant space characters in the syntax are insignificant. "name desc,resource_properties.a_property" and " name desc , resource_properties.a_property " are equivalent. + * * orderBy: 'placeholder-value', - * // The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. + * * pageSize: 'placeholder-value', - * // The value returned by the last `ListAssetsResponse`; indicates that this is a continuation of a prior `ListAssets` call, and that the system should return the next page of data. + * * pageToken: 'placeholder-value', - * // Required. Name of the organization assets should belong to. Its format is "organizations/[organization_id]". + * * parent: 'organizations/my-organization', - * // Time used as a reference point when filtering assets. The filter is limited to assets existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW. + * * readTime: 'placeholder-value', * }); * console.log(res.data); @@ -7673,7 +2736,6 @@ export namespace securitycenter_v1beta1 { } /** - * Runs asset discovery. The discovery is tracked with a long-running operation. This API can only be called with limited frequency for an organization. If it is called too frequently the caller will receive a TOO_MANY_REQUESTS error. * @example * ```js * // Before running the sample: @@ -7703,7 +2765,6 @@ export namespace securitycenter_v1beta1 { * * // Do the magic * const res = await securitycenter.organizations.assets.runDiscovery({ - * // Required. Name of the organization to run asset discovery for. Its format is "organizations/[organization_id]". * parent: 'organizations/my-organization', * * // Request body metadata @@ -7821,7 +2882,6 @@ export namespace securitycenter_v1beta1 { } /** - * Updates security marks. * @example * ```js * // Before running the sample: @@ -7851,11 +2911,10 @@ export namespace securitycenter_v1beta1 { * * // Do the magic * const res = await securitycenter.organizations.assets.updateSecurityMarks({ - * // The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id\}/assets/{asset_id\}/securityMarks" "organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}/securityMarks". * name: 'organizations/my-organization/assets/my-asset/securityMarks', - * // The time at which the updated SecurityMarks take effect. + * * startTime: 'placeholder-value', - * // The FieldMask to use when updating the security marks resource. + * * updateMask: 'placeholder-value', * * // Request body metadata @@ -7982,7 +3041,7 @@ export namespace securitycenter_v1beta1 { export interface Params$Resource$Organizations$Assets$Group extends StandardParameters { /** - * Required. Name of the organization to groupBy. Its format is "organizations/[organization_id]". + * */ parent?: string; @@ -7993,41 +3052,41 @@ export namespace securitycenter_v1beta1 { } export interface Params$Resource$Organizations$Assets$List extends StandardParameters { /** - * When compare_duration is set, the ListAssetResult's "state" attribute is updated to indicate whether the asset was added, removed, or remained present during the compare_duration period of time that precedes the read_time. This is the time between (read_time - compare_duration) and read_time. The state value is derived based on the presence of the asset at the two points in time. Intermediate state changes between the two times don't affect the result. For example, the results aren't affected if the asset is removed and re-created again. Possible "state" values when compare_duration is specified: * "ADDED": indicates that the asset was not present before compare_duration, but present at read_time. * "REMOVED": indicates that the asset was present at the start of compare_duration, but not present at read_time. * "ACTIVE": indicates that the asset was present at both the start and the end of the time period defined by compare_duration and read_time. If compare_duration is not specified, then the only possible state is "UNUSED", which indicates that the asset is present at read_time. + * */ compareDuration?: string; /** - * Optional. A field mask to specify the ListAssetsResult fields to be listed in the response. An empty field mask will list all fields. + * */ fieldMask?: string; /** - * Expression that defines the filter to apply across assets. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are not supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the Asset resource. Examples include: * name * security_center_properties.resource_name * resource_properties.a_property * security_marks.marks.marka The supported operators are: * `=` for all value types. * `\>`, `<`, `\>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. For example, `resource_properties.size = 100` is a valid filter string. + * */ filter?: string; /** - * Expression that defines what fields and order to use for sorting. The string value should follow SQL syntax: comma separated list of fields. For example: "name,resource_properties.a_property". The default sorting order is ascending. To specify descending order for a field, a suffix " desc" should be appended to the field name. For example: "name desc,resource_properties.a_property". Redundant space characters in the syntax are insignificant. "name desc,resource_properties.a_property" and " name desc , resource_properties.a_property " are equivalent. + * */ orderBy?: string; /** - * The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. + * */ pageSize?: number; /** - * The value returned by the last `ListAssetsResponse`; indicates that this is a continuation of a prior `ListAssets` call, and that the system should return the next page of data. + * */ pageToken?: string; /** - * Required. Name of the organization assets should belong to. Its format is "organizations/[organization_id]". + * */ parent?: string; /** - * Time used as a reference point when filtering assets. The filter is limited to assets existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW. + * */ readTime?: string; } export interface Params$Resource$Organizations$Assets$Rundiscovery extends StandardParameters { /** - * Required. Name of the organization to run asset discovery for. Its format is "organizations/[organization_id]". + * */ parent?: string; @@ -8038,15 +3097,15 @@ export namespace securitycenter_v1beta1 { } export interface Params$Resource$Organizations$Assets$Updatesecuritymarks extends StandardParameters { /** - * The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id\}/assets/{asset_id\}/securityMarks" "organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}/securityMarks". + * */ name?: string; /** - * The time at which the updated SecurityMarks take effect. + * */ startTime?: string; /** - * The FieldMask to use when updating the security marks resource. + * */ updateMask?: string; @@ -8063,7 +3122,6 @@ export namespace securitycenter_v1beta1 { } /** - * 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`. * @example * ```js * // Before running the sample: @@ -8093,7 +3151,6 @@ export namespace securitycenter_v1beta1 { * * // Do the magic * const res = await securitycenter.organizations.operations.cancel({ - * // The name of the operation resource to be cancelled. * name: 'organizations/my-organization/operations/my-operation', * * // Request body metadata @@ -8205,7 +3262,6 @@ export namespace securitycenter_v1beta1 { } /** - * 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`. * @example * ```js * // Before running the sample: @@ -8235,7 +3291,6 @@ export namespace securitycenter_v1beta1 { * * // Do the magic * const res = await securitycenter.organizations.operations.delete({ - * // The name of the operation resource to be deleted. * name: 'organizations/my-organization/operations/my-operation', * }); * console.log(res.data); @@ -8338,7 +3393,6 @@ export namespace securitycenter_v1beta1 { } /** - * 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. * @example * ```js * // Before running the sample: @@ -8368,7 +3422,6 @@ export namespace securitycenter_v1beta1 { * * // Do the magic * const res = await securitycenter.organizations.operations.get({ - * // The name of the operation resource. * name: 'organizations/my-organization/operations/my-operation', * }); * console.log(res.data); @@ -8477,7 +3530,6 @@ export namespace securitycenter_v1beta1 { } /** - * Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. * @example * ```js * // Before running the sample: @@ -8507,15 +3559,14 @@ export namespace securitycenter_v1beta1 { * * // Do the magic * const res = await securitycenter.organizations.operations.list({ - * // The standard list filter. * filter: 'placeholder-value', - * // The name of the operation's parent resource. + * * name: 'organizations/my-organization/operations', - * // The standard list page size. + * * pageSize: 'placeholder-value', - * // The standard list page token. + * * pageToken: 'placeholder-value', - * // When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `"projects/example/locations/-"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation. + * * returnPartialSuccess: 'placeholder-value', * }); * console.log(res.data); @@ -8626,7 +3677,7 @@ export namespace securitycenter_v1beta1 { export interface Params$Resource$Organizations$Operations$Cancel extends StandardParameters { /** - * The name of the operation resource to be cancelled. + * */ name?: string; @@ -8637,35 +3688,35 @@ export namespace securitycenter_v1beta1 { } export interface Params$Resource$Organizations$Operations$Delete extends StandardParameters { /** - * The name of the operation resource to be deleted. + * */ name?: string; } export interface Params$Resource$Organizations$Operations$Get extends StandardParameters { /** - * The name of the operation resource. + * */ name?: string; } export interface Params$Resource$Organizations$Operations$List extends StandardParameters { /** - * The standard list filter. + * */ filter?: string; /** - * The name of the operation's parent resource. + * */ name?: string; /** - * The standard list page size. + * */ pageSize?: number; /** - * The standard list page token. + * */ pageToken?: string; /** - * When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `"projects/example/locations/-"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation. + * */ returnPartialSuccess?: boolean; } @@ -8679,7 +3730,6 @@ export namespace securitycenter_v1beta1 { } /** - * Creates a source. * @example * ```js * // Before running the sample: @@ -8709,7 +3759,6 @@ export namespace securitycenter_v1beta1 { * * // Do the magic * const res = await securitycenter.organizations.sources.create({ - * // Required. Resource name of the new source's parent. Its format should be "organizations/[organization_id]". * parent: 'organizations/my-organization', * * // Request body metadata @@ -8829,7 +3878,6 @@ export namespace securitycenter_v1beta1 { } /** - * Gets a source. * @example * ```js * // Before running the sample: @@ -8859,7 +3907,6 @@ export namespace securitycenter_v1beta1 { * * // Do the magic * const res = await securitycenter.organizations.sources.get({ - * // Required. Relative resource name of the source. Its format is "organizations/[organization_id]/source/[source_id]". * name: 'organizations/my-organization/sources/my-source', * }); * console.log(res.data); @@ -8966,7 +4013,6 @@ export namespace securitycenter_v1beta1 { } /** - * Gets the access control policy on the specified Source. * @example * ```js * // Before running the sample: @@ -8996,7 +4042,6 @@ export namespace securitycenter_v1beta1 { * * // Do the magic * const res = await securitycenter.organizations.sources.getIamPolicy({ - * // 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. * resource: 'organizations/my-organization/sources/my-source', * * // Request body metadata @@ -9115,7 +4160,6 @@ export namespace securitycenter_v1beta1 { } /** - * Lists all sources belonging to an organization. * @example * ```js * // Before running the sample: @@ -9145,11 +4189,10 @@ export namespace securitycenter_v1beta1 { * * // Do the magic * const res = await securitycenter.organizations.sources.list({ - * // The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. * pageSize: 'placeholder-value', - * // The value returned by the last `ListSourcesResponse`; indicates that this is a continuation of a prior `ListSources` call, and that the system should return the next page of data. + * * pageToken: 'placeholder-value', - * // Required. Resource name of the parent of sources to list. Its format should be "organizations/[organization_id]". + * * parent: 'organizations/my-organization', * }); * console.log(res.data); @@ -9258,7 +4301,6 @@ export namespace securitycenter_v1beta1 { } /** - * Updates a source. * @example * ```js * // Before running the sample: @@ -9288,9 +4330,8 @@ export namespace securitycenter_v1beta1 { * * // Do the magic * const res = await securitycenter.organizations.sources.patch({ - * // The relative resource name of this source. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id\}/sources/{source_id\}" * name: 'organizations/my-organization/sources/my-source', - * // The FieldMask to use when updating the source resource. + * * updateMask: 'placeholder-value', * * // Request body metadata @@ -9407,7 +4448,6 @@ export namespace securitycenter_v1beta1 { } /** - * Sets the access control policy on the specified Source. * @example * ```js * // Before running the sample: @@ -9437,7 +4477,6 @@ export namespace securitycenter_v1beta1 { * * // Do the magic * const res = await securitycenter.organizations.sources.setIamPolicy({ - * // 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. * resource: 'organizations/my-organization/sources/my-source', * * // Request body metadata @@ -9557,7 +4596,6 @@ export namespace securitycenter_v1beta1 { } /** - * Returns the permissions that a caller has on the specified source. * @example * ```js * // Before running the sample: @@ -9587,7 +4625,6 @@ export namespace securitycenter_v1beta1 { * * // Do the magic * const res = await securitycenter.organizations.sources.testIamPermissions({ - * // 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. * resource: 'organizations/my-organization/sources/my-source', * * // Request body metadata @@ -9709,7 +4746,7 @@ export namespace securitycenter_v1beta1 { export interface Params$Resource$Organizations$Sources$Create extends StandardParameters { /** - * Required. Resource name of the new source's parent. Its format should be "organizations/[organization_id]". + * */ parent?: string; @@ -9720,13 +4757,13 @@ export namespace securitycenter_v1beta1 { } export interface Params$Resource$Organizations$Sources$Get extends StandardParameters { /** - * Required. Relative resource name of the source. Its format is "organizations/[organization_id]/source/[source_id]". + * */ name?: string; } export interface Params$Resource$Organizations$Sources$Getiampolicy extends StandardParameters { /** - * 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. + * */ resource?: string; @@ -9737,25 +4774,25 @@ export namespace securitycenter_v1beta1 { } export interface Params$Resource$Organizations$Sources$List extends StandardParameters { /** - * The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. + * */ pageSize?: number; /** - * The value returned by the last `ListSourcesResponse`; indicates that this is a continuation of a prior `ListSources` call, and that the system should return the next page of data. + * */ pageToken?: string; /** - * Required. Resource name of the parent of sources to list. Its format should be "organizations/[organization_id]". + * */ parent?: string; } export interface Params$Resource$Organizations$Sources$Patch extends StandardParameters { /** - * The relative resource name of this source. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id\}/sources/{source_id\}" + * */ name?: string; /** - * The FieldMask to use when updating the source resource. + * */ updateMask?: string; @@ -9766,7 +4803,7 @@ export namespace securitycenter_v1beta1 { } export interface Params$Resource$Organizations$Sources$Setiampolicy extends StandardParameters { /** - * 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. + * */ resource?: string; @@ -9777,7 +4814,7 @@ export namespace securitycenter_v1beta1 { } export interface Params$Resource$Organizations$Sources$Testiampermissions extends StandardParameters { /** - * 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. + * */ resource?: string; @@ -9794,7 +4831,6 @@ export namespace securitycenter_v1beta1 { } /** - * Creates a finding. The corresponding source must exist for finding creation to succeed. * @example * ```js * // Before running the sample: @@ -9824,9 +4860,8 @@ export namespace securitycenter_v1beta1 { * * // Do the magic * const res = await securitycenter.organizations.sources.findings.create({ - * // Required. Unique identifier provided by the client within the parent scope. It must be alphanumeric and less than or equal to 32 characters and greater than 0 characters in length. * findingId: 'placeholder-value', - * // Required. Resource name of the new finding's parent. Its format should be "organizations/[organization_id]/sources/[source_id]". + * * parent: 'organizations/my-organization/sources/my-source', * * // Request body metadata @@ -9970,7 +5005,6 @@ export namespace securitycenter_v1beta1 { } /** - * Filters an organization or source's findings and groups them by their specified properties. To group across all sources provide a `-` as the source id. Example: /v1beta1/organizations/{organization_id\}/sources/-/findings * @example * ```js * // Before running the sample: @@ -10000,7 +5034,6 @@ export namespace securitycenter_v1beta1 { * * // Do the magic * const res = await securitycenter.organizations.sources.findings.group({ - * // Required. Name of the source to groupBy. Its format is "organizations/[organization_id]/sources/[source_id]". To groupBy across all sources provide a source_id of `-`. For example: organizations/{organization_id\}/sources/- * parent: 'organizations/my-organization/sources/my-source', * * // Request body metadata @@ -10124,7 +5157,6 @@ export namespace securitycenter_v1beta1 { } /** - * Lists an organization or source's findings. To list across all sources provide a `-` as the source id. Example: /v1beta1/organizations/{organization_id\}/sources/-/findings * @example * ```js * // Before running the sample: @@ -10154,19 +5186,18 @@ export namespace securitycenter_v1beta1 { * * // Do the magic * const res = await securitycenter.organizations.sources.findings.list({ - * // Optional. A field mask to specify the Finding fields to be listed in the response. An empty field mask will list all fields. * fieldMask: 'placeholder-value', - * // Expression that defines the filter to apply across findings. The expression is a list of one or more restrictions combined via logical operators `AND` and `OR`. Parentheses are not supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. Examples include: * name * source_properties.a_property * security_marks.marks.marka The supported operators are: * `=` for all value types. * `\>`, `<`, `\>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. For example, `source_properties.size = 100` is a valid filter string. + * * filter: 'placeholder-value', - * // Expression that defines what fields and order to use for sorting. The string value should follow SQL syntax: comma separated list of fields. For example: "name,resource_properties.a_property". The default sorting order is ascending. To specify descending order for a field, a suffix " desc" should be appended to the field name. For example: "name desc,source_properties.a_property". Redundant space characters in the syntax are insignificant. "name desc,source_properties.a_property" and " name desc , source_properties.a_property " are equivalent. + * * orderBy: 'placeholder-value', - * // The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. + * * pageSize: 'placeholder-value', - * // The value returned by the last `ListFindingsResponse`; indicates that this is a continuation of a prior `ListFindings` call, and that the system should return the next page of data. + * * pageToken: 'placeholder-value', - * // Required. Name of the source the findings belong to. Its format is "organizations/[organization_id]/sources/[source_id]". To list across all sources provide a source_id of `-`. For example: organizations/{organization_id\}/sources/- + * * parent: 'organizations/my-organization/sources/my-source', - * // Time used as a reference point when filtering findings. The filter is limited to findings existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW. + * * readTime: 'placeholder-value', * }); * console.log(res.data); @@ -10279,7 +5310,6 @@ export namespace securitycenter_v1beta1 { } /** - * Creates or updates a finding. The corresponding source must exist for a finding creation to succeed. * @example * ```js * // Before running the sample: @@ -10309,9 +5339,8 @@ export namespace securitycenter_v1beta1 { * * // Do the magic * const res = await securitycenter.organizations.sources.findings.patch({ - * // The relative resource name of this finding. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}" * name: 'organizations/my-organization/sources/my-source/findings/my-finding', - * // The FieldMask to use when updating the finding resource. This field should not be specified when creating a finding. + * * updateMask: 'placeholder-value', * * // Request body metadata @@ -10452,7 +5481,6 @@ export namespace securitycenter_v1beta1 { } /** - * Updates the state of a finding. * @example * ```js * // Before running the sample: @@ -10482,7 +5510,6 @@ export namespace securitycenter_v1beta1 { * * // Do the magic * const res = await securitycenter.organizations.sources.findings.setState({ - * // Required. The relative resource name of the finding. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id\}/sources/{source_id\}/finding/{finding_id\}". * name: 'organizations/my-organization/sources/my-source/findings/my-finding', * * // Request body metadata @@ -10618,7 +5645,6 @@ export namespace securitycenter_v1beta1 { } /** - * Updates security marks. * @example * ```js * // Before running the sample: @@ -10649,11 +5675,10 @@ export namespace securitycenter_v1beta1 { * // Do the magic * const res = * await securitycenter.organizations.sources.findings.updateSecurityMarks({ - * // The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id\}/assets/{asset_id\}/securityMarks" "organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}/securityMarks". * name: 'organizations/my-organization/sources/my-source/findings/my-finding/securityMarks', - * // The time at which the updated SecurityMarks take effect. + * * startTime: 'placeholder-value', - * // The FieldMask to use when updating the security marks resource. + * * updateMask: 'placeholder-value', * * // Request body metadata @@ -10781,11 +5806,11 @@ export namespace securitycenter_v1beta1 { export interface Params$Resource$Organizations$Sources$Findings$Create extends StandardParameters { /** - * Required. Unique identifier provided by the client within the parent scope. It must be alphanumeric and less than or equal to 32 characters and greater than 0 characters in length. + * */ findingId?: string; /** - * Required. Resource name of the new finding's parent. Its format should be "organizations/[organization_id]/sources/[source_id]". + * */ parent?: string; @@ -10796,7 +5821,7 @@ export namespace securitycenter_v1beta1 { } export interface Params$Resource$Organizations$Sources$Findings$Group extends StandardParameters { /** - * Required. Name of the source to groupBy. Its format is "organizations/[organization_id]/sources/[source_id]". To groupBy across all sources provide a source_id of `-`. For example: organizations/{organization_id\}/sources/- + * */ parent?: string; @@ -10807,41 +5832,41 @@ export namespace securitycenter_v1beta1 { } export interface Params$Resource$Organizations$Sources$Findings$List extends StandardParameters { /** - * Optional. A field mask to specify the Finding fields to be listed in the response. An empty field mask will list all fields. + * */ fieldMask?: string; /** - * Expression that defines the filter to apply across findings. The expression is a list of one or more restrictions combined via logical operators `AND` and `OR`. Parentheses are not supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. Examples include: * name * source_properties.a_property * security_marks.marks.marka The supported operators are: * `=` for all value types. * `\>`, `<`, `\>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. For example, `source_properties.size = 100` is a valid filter string. + * */ filter?: string; /** - * Expression that defines what fields and order to use for sorting. The string value should follow SQL syntax: comma separated list of fields. For example: "name,resource_properties.a_property". The default sorting order is ascending. To specify descending order for a field, a suffix " desc" should be appended to the field name. For example: "name desc,source_properties.a_property". Redundant space characters in the syntax are insignificant. "name desc,source_properties.a_property" and " name desc , source_properties.a_property " are equivalent. + * */ orderBy?: string; /** - * The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. + * */ pageSize?: number; /** - * The value returned by the last `ListFindingsResponse`; indicates that this is a continuation of a prior `ListFindings` call, and that the system should return the next page of data. + * */ pageToken?: string; /** - * Required. Name of the source the findings belong to. Its format is "organizations/[organization_id]/sources/[source_id]". To list across all sources provide a source_id of `-`. For example: organizations/{organization_id\}/sources/- + * */ parent?: string; /** - * Time used as a reference point when filtering findings. The filter is limited to findings existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW. + * */ readTime?: string; } export interface Params$Resource$Organizations$Sources$Findings$Patch extends StandardParameters { /** - * The relative resource name of this finding. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}" + * */ name?: string; /** - * The FieldMask to use when updating the finding resource. This field should not be specified when creating a finding. + * */ updateMask?: string; @@ -10852,7 +5877,7 @@ export namespace securitycenter_v1beta1 { } export interface Params$Resource$Organizations$Sources$Findings$Setstate extends StandardParameters { /** - * Required. The relative resource name of the finding. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id\}/sources/{source_id\}/finding/{finding_id\}". + * */ name?: string; @@ -10863,15 +5888,15 @@ export namespace securitycenter_v1beta1 { } export interface Params$Resource$Organizations$Sources$Findings$Updatesecuritymarks extends StandardParameters { /** - * The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id\}/assets/{asset_id\}/securityMarks" "organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}/securityMarks". + * */ name?: string; /** - * The time at which the updated SecurityMarks take effect. + * */ startTime?: string; /** - * The FieldMask to use when updating the security marks resource. + * */ updateMask?: string; diff --git a/src/apis/securitycenter/v1beta2.ts b/src/apis/securitycenter/v1beta2.ts index 64443ebea58..e4b87c80799 100644 --- a/src/apis/securitycenter/v1beta2.ts +++ b/src/apis/securitycenter/v1beta2.ts @@ -128,6593 +128,1886 @@ export namespace securitycenter_v1beta2 { } } - /** - * Represents an access event. - */ export interface Schema$Access { - /** - * Caller's IP address, such as "1.1.1.1". - */ callerIp?: string | null; - /** - * The caller IP's geolocation, which identifies where the call came from. - */ callerIpGeo?: Schema$Geolocation; - /** - * The method that the service account called, e.g. "SetIamPolicy". - */ methodName?: string | null; - /** - * Associated email, such as "foo@google.com". The email address of the authenticated user or a service account acting on behalf of a third party principal making the request. For third party identity callers, the `principal_subject` field is populated instead of this field. For privacy reasons, the principal email address is sometimes redacted. For more information, see [Caller identities in audit logs](https://cloud.google.com/logging/docs/audit#user-id). - */ principalEmail?: string | null; - /** - * A string that represents the principal_subject that is associated with the identity. Unlike `principal_email`, `principal_subject` supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format is `principal://iam.googleapis.com/{identity pool name\}/subject/{subject\}`. Some GKE identities, such as GKE_WORKLOAD, FREEFORM, and GKE_HUB_WORKLOAD, still use the legacy format `serviceAccount:{identity pool name\}[{subject\}]`. - */ principalSubject?: string | null; - /** - * The identity delegation history of an authenticated service account that made the request. The `serviceAccountDelegationInfo[]` object contains information about the real authorities that try to access Google Cloud resources by delegating on a service account. When multiple authorities are present, they are guaranteed to be sorted based on the original ordering of the identity delegation events. - */ serviceAccountDelegationInfo?: Schema$ServiceAccountDelegationInfo[]; - /** - * The name of the service account key that was used to create or exchange credentials when authenticating the service account that made the request. This is a scheme-less URI full resource name. For example: "//iam.googleapis.com/projects/{PROJECT_ID\}/serviceAccounts/{ACCOUNT\}/keys/{key\}". - */ serviceAccountKeyName?: string | null; - /** - * This is the API service that the service account made a call to, e.g. "iam.googleapis.com" - */ serviceName?: string | null; - /** - * The caller's user agent string associated with the finding. - */ userAgent?: string | null; - /** - * Type of user agent associated with the finding. For example, an operating system shell or an embedded or standalone application. - */ userAgentFamily?: string | null; - /** - * A string that represents a username. The username provided depends on the type of the finding and is likely not an IAM principal. For example, this can be a system username if the finding is related to a virtual machine, or it can be an application login username. - */ userName?: string | null; } - /** - * Conveys information about a Kubernetes access review (such as one returned by a [`kubectl auth can-i`](https://kubernetes.io/docs/reference/access-authn-authz/authorization/#checking-api-access) command) that was involved in a finding. - */ export interface Schema$AccessReview { - /** - * The API group of the resource. "*" means all. - */ group?: string | null; - /** - * The name of the resource being requested. Empty means all. - */ name?: string | null; - /** - * Namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces. Both are represented by "" (empty). - */ ns?: string | null; - /** - * The optional resource type requested. "*" means all. - */ resource?: string | null; - /** - * The optional subresource type. - */ subresource?: string | null; - /** - * A Kubernetes resource API verb, like get, list, watch, create, update, delete, proxy. "*" means all. - */ verb?: string | null; - /** - * The API version of the resource. "*" means all. - */ version?: string | null; } - /** - * Information about [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-protection). - */ export interface Schema$AdaptiveProtection { - /** - * A score of 0 means that there is low confidence that the detected event is an actual attack. A score of 1 means that there is high confidence that the detected event is an attack. See the [Adaptive Protection documentation](https://cloud.google.com/armor/docs/adaptive-protection-overview#configure-alert-tuning) for further explanation. - */ confidence?: number | null; } - /** - * Represents an ADC application associated with the finding. - */ export interface Schema$AdcApplication { - /** - * Consumer provided attributes for the AppHub application. - */ attributes?: Schema$GoogleCloudSecuritycenterV1ResourceApplicationAttributes; - /** - * The resource name of an ADC Application. Format: projects/{project\}/locations/{location\}/spaces/{space\}/applications/{application\} - */ name?: string | null; } - /** - * Represents an ADC template associated with the finding. - */ export interface Schema$AdcApplicationTemplateRevision { - /** - * The resource name of an ADC Application Template Revision. Format: projects/{project\}/locations/{location\}/spaces/{space\}/applicationTemplates/{application_template\}/revisions/{revision\} - */ name?: string | null; } - /** - * Represents an ADC shared template associated with the finding. - */ export interface Schema$AdcSharedTemplateRevision { - /** - * The resource name of an ADC Shared Template Revision. Format: projects/{project\}/locations/{location\}/spaces/{space\}/applicationTemplates/{application_template\}/revisions/{revision\} - */ name?: string | null; } - /** - * Details about resources affected by this finding. - */ export interface Schema$AffectedResources { - /** - * The count of resources affected by the finding. - */ count?: string | null; } - /** - * Details about a data access attempt made by an agent principal not authorized under applicable data security policy. - */ export interface Schema$AgentDataAccessEvent { - /** - * Unique identifier for data access event. - */ eventId?: string | null; - /** - * Timestamp of data access event. - */ eventTime?: string | null; - /** - * The operation performed by the principal to access the data. - */ operation?: string | null; - /** - * The agent principal that accessed the data. - */ principalSubject?: string | null; } - /** - * Contains information about the AI model associated with the finding. - */ export interface Schema$AiModel { - /** - * The platform on which the model is deployed. - */ deploymentPlatform?: string | null; - /** - * The user defined display name of model. Ex. baseline-classification-model - */ displayName?: string | null; - /** - * The domain of the model, for example, “image-classification”. - */ domain?: string | null; - /** - * The name of the model library, for example, “transformers”. - */ library?: string | null; - /** - * The region in which the model is used, for example, “us-central1”. - */ location?: string | null; - /** - * The name of the AI model, for example, "gemini:1.0.0". - */ name?: string | null; - /** - * The publisher of the model, for example, “google” or “nvidia”. - */ publisher?: string | null; - /** - * The purpose of the model, for example, "Inteference" or "Training". - */ usageCategory?: string | null; } - /** - * Allowed IP rule. - */ export interface Schema$Allowed { - /** - * Optional. Optional list of allowed IP rules. - */ ipRules?: Schema$IpRule[]; } - /** - * Represents an application associated with a finding. - */ export interface Schema$Application { - /** - * The base URI that identifies the network location of the application in which the vulnerability was detected. For example, `http://example.com`. - */ baseUri?: string | null; - /** - * The full URI with payload that can be used to reproduce the vulnerability. For example, `http://example.com?p=aMmYgI6H`. - */ fullUri?: string | null; } - /** - * Represents the result of evaluating artifact guard policies. - */ export interface Schema$ArtifactGuardPolicies { - /** - * A list of failing policies. - */ failingPolicies?: Schema$ArtifactGuardPolicy[]; - /** - * The ID of the resource that has policies configured for it. - */ resourceId?: string | null; } - /** - * Represents an artifact guard policy. - */ export interface Schema$ArtifactGuardPolicy { - /** - * The reason for the policy failure, for example, "severity=HIGH AND max_vuln_count=2". - */ failureReason?: string | null; - /** - * The ID of the failing policy, for example, "organizations/3392779/locations/global/policies/prod-policy". - */ policyId?: string | null; - /** - * The type of the policy evaluation. - */ type?: string | null; } - /** - * Information about DDoS attack volume and classification. - */ export interface Schema$Attack { - /** - * Type of attack, for example, 'SYN-flood', 'NTP-udp', or 'CHARGEN-udp'. - */ classification?: string | null; - /** - * Total BPS (bytes per second) volume of attack. Deprecated - refer to volume_bps_long instead. - */ volumeBps?: number | null; - /** - * Total BPS (bytes per second) volume of attack. - */ volumeBpsLong?: string | null; - /** - * Total PPS (packets per second) volume of attack. Deprecated - refer to volume_pps_long instead. - */ volumePps?: number | null; - /** - * Total PPS (packets per second) volume of attack. - */ volumePpsLong?: string | null; } - /** - * An attack exposure contains the results of an attack path simulation run. - */ export interface Schema$AttackExposure { - /** - * The resource name of the attack path simulation result that contains the details regarding this attack exposure score. Example: `organizations/123/simulations/456/attackExposureResults/789` - */ attackExposureResult?: string | null; - /** - * The number of high value resources that are exposed as a result of this finding. - */ exposedHighValueResourcesCount?: number | null; - /** - * The number of high value resources that are exposed as a result of this finding. - */ exposedLowValueResourcesCount?: number | null; - /** - * The number of medium value resources that are exposed as a result of this finding. - */ exposedMediumValueResourcesCount?: number | null; - /** - * The most recent time the attack exposure was updated on this finding. - */ latestCalculationTime?: string | null; - /** - * A number between 0 (inclusive) and infinity that represents how important this finding is to remediate. The higher the score, the more important it is to remediate. - */ score?: number | null; - /** - * What state this AttackExposure is in. This captures whether or not an attack exposure has been calculated or not. - */ state?: string | null; } - /** - * An AWS account that is a member of an organization. - */ export interface Schema$AwsAccount { - /** - * The unique identifier (ID) of the account, containing exactly 12 digits. - */ id?: string | null; - /** - * The friendly name of this account. - */ name?: string | null; } - /** - * AWS metadata associated with the resource, only applicable if the finding's cloud provider is Amazon Web Services. - */ export interface Schema$AwsMetadata { - /** - * The AWS account associated with the resource. - */ account?: Schema$AwsAccount; - /** - * The AWS organization associated with the resource. - */ organization?: Schema$AwsOrganization; - /** - * A list of AWS organizational units associated with the resource, ordered from lowest level (closest to the account) to highest level. - */ organizationalUnits?: Schema$AwsOrganizationalUnit[]; } - /** - * An organization is a collection of accounts that are centrally managed together using consolidated billing, organized hierarchically with organizational units (OUs), and controlled with policies. - */ export interface Schema$AwsOrganization { - /** - * The unique identifier (ID) for the organization. The regex pattern for an organization ID string requires "o-" followed by from 10 to 32 lowercase letters or digits. - */ id?: string | null; } - /** - * An Organizational Unit (OU) is a container of AWS accounts within a root of an organization. Policies that are attached to an OU apply to all accounts contained in that OU and in any child OUs. - */ export interface Schema$AwsOrganizationalUnit { - /** - * The unique identifier (ID) associated with this OU. The regex pattern for an organizational unit ID string requires "ou-" followed by from 4 to 32 lowercase letters or digits (the ID of the root that contains the OU). This string is followed by a second "-" dash and from 8 to 32 additional lowercase letters or digits. For example, "ou-ab12-cd34ef56". - */ id?: string | null; - /** - * The friendly name of the OU. - */ name?: string | null; } - /** - * Represents an Azure management group. - */ export interface Schema$AzureManagementGroup { - /** - * The display name of the Azure management group. - */ displayName?: string | null; - /** - * The UUID of the Azure management group, for example, `20000000-0001-0000-0000-000000000000`. - */ id?: string | null; } - /** - * Azure metadata associated with the resource, only applicable if the finding's cloud provider is Microsoft Azure. - */ export interface Schema$AzureMetadata { - /** - * A list of Azure management groups associated with the resource, ordered from lowest level (closest to the subscription) to highest level. - */ managementGroups?: Schema$AzureManagementGroup[]; - /** - * The Azure resource group associated with the resource. - */ resourceGroup?: Schema$AzureResourceGroup; - /** - * The Azure subscription associated with the resource. - */ subscription?: Schema$AzureSubscription; - /** - * The Azure Entra tenant associated with the resource. - */ tenant?: Schema$AzureTenant; } - /** - * Represents an Azure resource group. - */ export interface Schema$AzureResourceGroup { - /** - * The ID of the Azure resource group. - */ id?: string | null; - /** - * The name of the Azure resource group. This is not a UUID. - */ name?: string | null; } - /** - * Represents an Azure subscription. - */ export interface Schema$AzureSubscription { - /** - * The display name of the Azure subscription. - */ displayName?: string | null; - /** - * The UUID of the Azure subscription, for example, `291bba3f-e0a5-47bc-a099-3bdcb2a50a05`. - */ id?: string | null; } - /** - * Represents a Microsoft Entra tenant. - */ export interface Schema$AzureTenant { - /** - * The display name of the Azure tenant. - */ displayName?: string | null; - /** - * The ID of the Microsoft Entra tenant, for example, "a11aaa11-aa11-1aa1-11aa-1aaa11a". - */ id?: string | null; } - /** - * Information related to Google Cloud Backup and DR Service findings. - */ export interface Schema$BackupDisasterRecovery { - /** - * The name of the Backup and DR appliance that captures, moves, and manages the lifecycle of backup data. For example, `backup-server-57137`. - */ appliance?: string | null; - /** - * The names of Backup and DR applications. An application is a VM, database, or file system on a managed host monitored by a backup and recovery appliance. For example, `centos7-01-vol00`, `centos7-01-vol01`, `centos7-01-vol02`. - */ applications?: string[] | null; - /** - * The timestamp at which the Backup and DR backup was created. - */ backupCreateTime?: string | null; - /** - * The name of a Backup and DR template which comprises one or more backup policies. See the [Backup and DR documentation](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#temp) for more information. For example, `snap-ov`. - */ backupTemplate?: string | null; - /** - * The backup type of the Backup and DR image. For example, `Snapshot`, `Remote Snapshot`, `OnVault`. - */ backupType?: string | null; - /** - * The name of a Backup and DR host, which is managed by the backup and recovery appliance and known to the management console. The host can be of type Generic (for example, Compute Engine, SQL Server, Oracle DB, SMB file system, etc.), vCenter, or an ESX server. See the [Backup and DR documentation on hosts](https://cloud.google.com/backup-disaster-recovery/docs/configuration/manage-hosts-and-their-applications) for more information. For example, `centos7-01`. - */ host?: string | null; - /** - * The names of Backup and DR policies that are associated with a template and that define when to run a backup, how frequently to run a backup, and how long to retain the backup image. For example, `onvaults`. - */ policies?: string[] | null; - /** - * The names of Backup and DR advanced policy options of a policy applying to an application. See the [Backup and DR documentation on policy options](https://cloud.google.com/backup-disaster-recovery/docs/create-plan/policy-settings). For example, `skipofflineappsincongrp, nounmap`. - */ policyOptions?: string[] | null; - /** - * The name of the Backup and DR resource profile that specifies the storage media for backups of application and VM data. See the [Backup and DR documentation on profiles](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#profile). For example, `GCP`. - */ profile?: string | null; - /** - * The name of the Backup and DR storage pool that the backup and recovery appliance is storing data in. The storage pool could be of type Cloud, Primary, Snapshot, or OnVault. See the [Backup and DR documentation on storage pools](https://cloud.google.com/backup-disaster-recovery/docs/concepts/storage-pools). For example, `DiskPoolOne`. - */ storagePool?: string | null; } - /** - * The destination BigQuery dataset to export findings to. - */ export interface Schema$BigQueryDestination { - /** - * Required. The relative resource name of the destination dataset, in the form projects/{projectId\}/datasets/{datasetId\}. - */ dataset?: string | null; } - /** - * Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations). - */ export interface Schema$Chokepoint { - /** - * List of resource names of findings associated with this chokepoint. For example, organizations/123/sources/456/findings/789. This list will have at most 100 findings. - */ relatedFindings?: string[] | null; } - /** - * Fields related to Google Cloud Armor findings. - */ export interface Schema$CloudArmor { - /** - * Information about potential Layer 7 DDoS attacks identified by [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/adaptive-protection-overview). - */ adaptiveProtection?: Schema$AdaptiveProtection; - /** - * Information about DDoS attack volume and classification. - */ attack?: Schema$Attack; - /** - * Duration of attack from the start until the current moment (updated every 5 minutes). - */ duration?: string | null; - /** - * Information about incoming requests evaluated by [Google Cloud Armor security policies](https://cloud.google.com/armor/docs/security-policy-overview). - */ requests?: Schema$Requests; - /** - * Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding. - */ securityPolicy?: Schema$SecurityPolicy; - /** - * Distinguish between volumetric & protocol DDoS attack and application layer attacks. For example, "L3_4" for Layer 3 and Layer 4 DDoS attacks, or "L_7" for Layer 7 DDoS attacks. - */ threatVector?: string | null; } - /** - * CloudControl associated with the finding. - */ export interface Schema$CloudControl { - /** - * Name of the CloudControl associated with the finding. - */ cloudControlName?: string | null; - /** - * Policy type of the CloudControl - */ policyType?: string | null; - /** - * Type of cloud control. - */ type?: string | null; - /** - * Version of the Cloud Control - */ version?: number | null; } - /** - * The [data profile](https://cloud.google.com/dlp/docs/data-profiles) associated with the finding. - */ export interface Schema$CloudDlpDataProfile { - /** - * Name of the data profile, for example, `projects/123/locations/europe/tableProfiles/8383929`. - */ dataProfile?: string | null; - /** - * Type of information detected by SDP. Info type includes name, version and sensitivity of the detected information type. - */ infoTypes?: Schema$InfoType[]; - /** - * The resource hierarchy level at which the data profile was generated. - */ parentType?: string | null; } - /** - * Details about the Cloud Data Loss Prevention (Cloud DLP) [inspection job](https://cloud.google.com/dlp/docs/concepts-job-triggers) that produced the finding. - */ export interface Schema$CloudDlpInspection { - /** - * Whether Cloud DLP scanned the complete resource or a sampled subset. - */ fullScan?: boolean | null; - /** - * The type of information (or *[infoType](https://cloud.google.com/dlp/docs/infotypes-reference)*) found, for example, `EMAIL_ADDRESS` or `STREET_ADDRESS`. - */ infoType?: string | null; - /** - * The number of times Cloud DLP found this infoType within this job and resource. - */ infoTypeCount?: string | null; - /** - * Name of the inspection job, for example, `projects/123/locations/europe/dlpJobs/i-8383929`. - */ inspectJob?: string | null; } - /** - * Metadata taken from a [Cloud Logging LogEntry](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) - */ export interface Schema$CloudLoggingEntry { - /** - * A unique identifier for the log entry. - */ insertId?: string | null; - /** - * The type of the log (part of `log_name`. `log_name` is the resource name of the log to which this log entry belongs). For example: `cloudresourcemanager.googleapis.com/activity`. Note that this field is not URL-encoded, unlike the `LOG_ID` field in `LogEntry`. - */ logId?: string | null; - /** - * The organization, folder, or project of the monitored resource that produced this log entry. - */ resourceContainer?: string | null; - /** - * The time the event described by the log entry occurred. - */ timestamp?: string | null; } - /** - * Contains compliance information about a security standard indicating unmet recommendations. - */ export interface Schema$Compliance { - /** - * Policies within the standard or benchmark, for example, A.12.4.1 - */ ids?: string[] | null; - /** - * Industry-wide compliance standards or benchmarks, such as CIS, PCI, and OWASP. - */ standard?: string | null; - /** - * Version of the standard or benchmark, for example, 1.1 - */ version?: string | null; } - /** - * Compliance Details associated with the finding. - */ export interface Schema$ComplianceDetails { - /** - * CloudControl associated with the finding - */ cloudControl?: Schema$CloudControl; - /** - * Cloud Control Deployments associated with the finding. For example, organizations/123/locations/global/cloudControlDeployments/deploymentIdentifier - */ cloudControlDeploymentNames?: string[] | null; - /** - * Details of Frameworks associated with the finding - */ frameworks?: Schema$Framework[]; } - /** - * Configuration of a module. - */ export interface Schema$Config { - /** - * The state of enablement for the module at its level of the resource hierarchy. - */ moduleEnablementState?: string | null; - /** - * The configuration value for the module. The absence of this field implies its inheritance from the parent. - */ value?: {[key: string]: any} | null; } - /** - * Contains information about the IP connection associated with the finding. - */ export interface Schema$Connection { - /** - * Destination IP address. Not present for sockets that are listening and not connected. - */ destinationIp?: string | null; - /** - * Destination port. Not present for sockets that are listening and not connected. - */ destinationPort?: number | null; - /** - * IANA Internet Protocol Number such as TCP(6) and UDP(17). - */ protocol?: string | null; - /** - * Source IP address. - */ sourceIp?: string | null; - /** - * Source port. - */ sourcePort?: number | null; } - /** - * The email address of a contact. - */ export interface Schema$Contact { - /** - * An email address. For example, "`person123@company.com`". - */ email?: string | null; } - /** - * Details about specific contacts - */ export interface Schema$ContactDetails { - /** - * A list of contacts - */ contacts?: Schema$Contact[]; } - /** - * Container associated with the finding. - */ export interface Schema$Container { - /** - * The time that the container was created. - */ createTime?: string | null; - /** - * Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest. - */ imageId?: string | null; - /** - * Container labels, as provided by the container runtime. - */ labels?: Schema$Label[]; - /** - * Name of the container. - */ name?: string | null; - /** - * Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags. - */ uri?: string | null; } - /** - * Resource capturing the settings for the Container Threat Detection service. - */ export interface Schema$ContainerThreatDetectionSettings { - /** - * The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration. - */ modules?: {[key: string]: Schema$Config} | null; - /** - * Identifier. The resource name of the ContainerThreatDetectionSettings. Formats: * organizations/{organization\}/containerThreatDetectionSettings * folders/{folder\}/containerThreatDetectionSettings * projects/{project\}/containerThreatDetectionSettings * projects/{project\}/locations/{location\}/clusters/{cluster\}/containerThreatDetectionSettings - */ name?: string | null; - /** - * Output only. The service account used by Container Threat Detection for scanning. Service accounts are scoped at the project level meaning this field will be empty at any level above a project. - */ serviceAccount?: string | null; - /** - * The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED. - */ serviceEnablementState?: string | null; - /** - * Output only. The time the settings were last updated. - */ updateTime?: string | null; } - /** - * Compliance control associated with the finding. - */ export interface Schema$Control { - /** - * Name of the Control - */ controlName?: string | null; - /** - * Display name of the control. For example, AU-02. - */ displayName?: string | null; } - /** - * CVE stands for Common Vulnerabilities and Exposures. Information from the [CVE record](https://www.cve.org/ResourcesSupport/Glossary) that describes this vulnerability. - */ export interface Schema$Cve { - /** - * Describe Common Vulnerability Scoring System specified at https://www.first.org/cvss/v3.1/specification-document - */ cvssv3?: Schema$Cvssv3; - /** - * The exploitation activity of the vulnerability in the wild. - */ exploitationActivity?: string | null; - /** - * Date the first publicly available exploit or PoC was released. - */ exploitReleaseDate?: string | null; - /** - * Date of the earliest known exploitation. - */ firstExploitationDate?: string | null; - /** - * The unique identifier for the vulnerability. e.g. CVE-2021-34527 - */ id?: string | null; - /** - * The potential impact of the vulnerability if it was to be exploited. - */ impact?: string | null; - /** - * Whether or not the vulnerability has been observed in the wild. - */ observedInTheWild?: boolean | null; - /** - * Additional information about the CVE. e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527 - */ references?: Schema$Reference[]; - /** - * Whether upstream fix is available for the CVE. - */ upstreamFixAvailable?: boolean | null; - /** - * Whether or not the vulnerability was zero day when the finding was published. - */ zeroDay?: boolean | null; } - /** - * Common Vulnerability Scoring System version 3. - */ export interface Schema$Cvssv3 { - /** - * This metric describes the conditions beyond the attacker's control that must exist in order to exploit the vulnerability. - */ attackComplexity?: string | null; - /** - * Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. This metric reflects the context by which vulnerability exploitation is possible. - */ attackVector?: string | null; - /** - * This metric measures the impact to the availability of the impacted component resulting from a successfully exploited vulnerability. - */ availabilityImpact?: string | null; - /** - * The base score is a function of the base metric scores. - */ baseScore?: number | null; - /** - * This metric measures the impact to the confidentiality of the information resources managed by a software component due to a successfully exploited vulnerability. - */ confidentialityImpact?: string | null; - /** - * This metric measures the impact to integrity of a successfully exploited vulnerability. - */ integrityImpact?: string | null; - /** - * This metric describes the level of privileges an attacker must possess before successfully exploiting the vulnerability. - */ privilegesRequired?: string | null; - /** - * The Scope metric captures whether a vulnerability in one vulnerable component impacts resources in components beyond its security scope. - */ scope?: string | null; - /** - * This metric captures the requirement for a human user, other than the attacker, to participate in the successful compromise of the vulnerable component. - */ userInteraction?: string | null; } - /** - * CWE stands for Common Weakness Enumeration. Information about this weakness, as described by [CWE](https://cwe.mitre.org/). - */ export interface Schema$Cwe { - /** - * The CWE identifier, e.g. CWE-94 - */ id?: string | null; - /** - * Any reference to the details on the CWE, for example, https://cwe.mitre.org/data/definitions/94.html - */ references?: Schema$Reference[]; } - /** - * Details about a data access attempt made by a principal not authorized under applicable data security policy. - */ export interface Schema$DataAccessEvent { - /** - * Unique identifier for data access event. - */ eventId?: string | null; - /** - * Timestamp of data access event. - */ eventTime?: string | null; - /** - * The operation performed by the principal to access the data. - */ operation?: string | null; - /** - * The email address of the principal that accessed the data. The principal could be a user account, service account, Google group, or other. - */ principalEmail?: string | null; } - /** - * Represents database access information, such as queries. A database may be a sub-resource of an instance (as in the case of Cloud SQL instances or Cloud Spanner instances), or the database instance itself. Some database resources might not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types, such as Cloud SQL databases, are not yet supported by Cloud Asset Inventory. In these cases only the display name is provided. - */ export interface Schema$Database { - /** - * The human-readable name of the database that the user connected to. - */ displayName?: string | null; - /** - * The target usernames, roles, or groups of an SQL privilege grant, which is not an IAM policy change. - */ grantees?: string[] | null; - /** - * Some database resources may not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types are not yet supported by Cloud Asset Inventory (e.g. Cloud SQL databases). In these cases only the display name will be provided. The [full resource name](https://google.aip.dev/122#full-resource-names) of the database that the user connected to, if it is supported by Cloud Asset Inventory. - */ name?: string | null; - /** - * The SQL statement that is associated with the database access. - */ query?: string | null; - /** - * The username used to connect to the database. The username might not be an IAM principal and does not have a set format. - */ userName?: string | null; - /** - * The version of the database, for example, POSTGRES_14. See [the complete list](https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1/SqlDatabaseVersion). - */ version?: string | null; } - /** - * Details about a data flow event, in which either the data is moved to or is accessed from a non-compliant geo-location, as defined in the applicable data security policy. - */ export interface Schema$DataFlowEvent { - /** - * Unique identifier for data flow event. - */ eventId?: string | null; - /** - * Timestamp of data flow event. - */ eventTime?: string | null; - /** - * The operation performed by the principal for the data flow event. - */ operation?: string | null; - /** - * The email address of the principal that initiated the data flow event. The principal could be a user account, service account, Google group, or other. - */ principalEmail?: string | null; - /** - * Non-compliant location of the principal or the data destination. - */ violatedLocation?: string | null; } - /** - * Details about data retention deletion violations, in which the data is non-compliant based on their retention or deletion time, as defined in the applicable data security policy. The Data Retention Deletion (DRD) control is a control of the DSPM (Data Security Posture Management) suite that enables organizations to manage data retention and deletion policies in compliance with regulations, such as GDPR and CRPA. DRD supports two primary policy types: maximum storage length (max TTL) and minimum storage length (min TTL). Both are aimed at helping organizations meet regulatory and data management commitments. - */ export interface Schema$DataRetentionDeletionEvent { - /** - * Number of objects that violated the policy for this resource. If the number is less than 1,000, then the value of this field is the exact number. If the number of objects that violated the policy is greater than or equal to 1,000, then the value of this field is 1000. - */ dataObjectCount?: string | null; - /** - * Timestamp indicating when the event was detected. - */ eventDetectionTime?: string | null; - /** - * Type of the DRD event. - */ eventType?: string | null; - /** - * Maximum duration of retention allowed from the DRD control. This comes from the DRD control where users set a max TTL for their data. For example, suppose that a user sets the max TTL for a Cloud Storage bucket to 90 days. However, an object in that bucket is 100 days old. In this case, a DataRetentionDeletionEvent will be generated for that Cloud Storage bucket, and the max_retention_allowed is 90 days. - */ maxRetentionAllowed?: string | null; - /** - * Min duration of retention allowed from the DSPM retention control. This field is only populated when event type is set to EVENT_TYPE_MIN_TTL_FROM_CREATION. - */ minRetentionAllowed?: string | null; } - /** - * Vertex AI dataset associated with the finding. - */ export interface Schema$Dataset { - /** - * The user defined display name of dataset, e.g. plants-dataset - */ displayName?: string | null; - /** - * Resource name of the dataset, e.g. projects/{project\}/locations/{location\}/datasets/2094040236064505856 - */ name?: string | null; - /** - * Data source, such as BigQuery source URI, e.g. bq://scc-nexus-test.AIPPtest.gsod - */ source?: string | null; } - /** - * Denied IP rule. - */ export interface Schema$Denied { - /** - * Optional. Optional list of denied IP rules. - */ ipRules?: Schema$IpRule[]; } - /** - * Details of a subscription. - */ export interface Schema$Details { - /** - * The time the subscription has or will end. - */ endTime?: string | null; - /** - * The time the subscription has or will start. - */ startTime?: string | null; - /** - * The type of subscription - */ type?: string | null; } - /** - * Memory hash detection contributing to the binary family match. - */ export interface Schema$Detection { - /** - * The name of the binary associated with the memory hash signature detection. - */ binary?: string | null; - /** - * The percentage of memory page hashes in the signature that were matched. - */ percentPagesMatched?: number | null; } - /** - * Represents discovered, customer managed workload that is not registered with the respective GCP service. - */ export interface Schema$DiscoveredWorkload { - /** - * The confidence in detection of this workload. - */ confidence?: string | null; - /** - * A boolean flag set to true if associated hardware strongly predicts the workload type. - */ detectedRelevantHardware?: boolean | null; - /** - * A boolean flag set to true if associated keywords strongly predict the workload type. - */ detectedRelevantKeywords?: boolean | null; - /** - * A boolean flag set to true if installed packages strongly predict the workload type. - */ detectedRelevantPackages?: boolean | null; - /** - * The type of workload. - */ workloadType?: string | null; } - /** - * Contains information about the disk associated with the finding. - */ export interface Schema$Disk { - /** - * The name of the disk, for example, "https://www.googleapis.com/compute/v1/projects/{project-id\}/zones/{zone-id\}/disks/{disk-id\}". - */ name?: string | null; } - /** - * Path of the file in terms of underlying disk/partition identifiers. - */ export interface Schema$DiskPath { - /** - * UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - */ partitionUuid?: string | null; - /** - * Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh - */ relativePath?: string | null; } - /** - * The record of a dynamic mute rule that matches the finding. - */ export interface Schema$DynamicMuteRecord { - /** - * When the dynamic mute rule first matched the finding. - */ matchTime?: string | null; - /** - * The relative resource name of the mute rule, represented by a mute config, that created this record, for example `organizations/123/muteConfigs/mymuteconfig` or `organizations/123/locations/global/muteConfigs/mymuteconfig`. - */ muteConfig?: string | null; } - /** - * A name-value pair representing an environment variable used in an operating system process. - */ export interface Schema$EnvironmentVariable { - /** - * Environment variable name as a JSON encoded string. - */ name?: string | null; - /** - * Environment variable value as a JSON encoded string. - */ val?: string | null; } - /** - * Resource capturing the settings for the Event Threat Detection service. - */ export interface Schema$EventThreatDetectionSettings { - /** - * The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration. - */ modules?: {[key: string]: Schema$Config} | null; - /** - * Identifier. The resource name of the EventThreatDetectionSettings. Formats: * organizations/{organization\}/eventThreatDetectionSettings * folders/{folder\}/eventThreatDetectionSettings * projects/{project\}/eventThreatDetectionSettings - */ name?: string | null; - /** - * The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED. - */ serviceEnablementState?: string | null; - /** - * Output only. The time the settings were last updated. - */ updateTime?: string | null; } - /** - * Resource where data was exfiltrated from or exfiltrated to. - */ export interface Schema$ExfilResource { - /** - * Subcomponents of the asset that was exfiltrated, like URIs used during exfiltration, table names, databases, and filenames. For example, multiple tables might have been exfiltrated from the same Cloud SQL instance, or multiple files might have been exfiltrated from the same Cloud Storage bucket. - */ components?: string[] | null; - /** - * The resource's [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name). - */ name?: string | null; } - /** - * Exfiltration represents a data exfiltration attempt from one or more sources to one or more targets. The `sources` attribute lists the sources of the exfiltrated data. The `targets` attribute lists the destinations the data was copied to. - */ export interface Schema$Exfiltration { - /** - * If there are multiple sources, then the data is considered "joined" between them. For instance, BigQuery can join multiple tables, and each table would be considered a source. - */ sources?: Schema$ExfilResource[]; - /** - * If there are multiple targets, each target would get a complete copy of the "joined" source data. - */ targets?: Schema$ExfilResource[]; - /** - * Total exfiltrated bytes processed for the entire job. - */ totalExfiltratedBytes?: string | null; } - /** - * The LRO metadata for a ExportFindings request. - */ export interface Schema$ExportFindingsMetadata { - /** - * Required. The destination BigQuery dataset to export findings to. - */ bigQueryDestination?: Schema$BigQueryDestination; - /** - * Optional. Timestamp at which export was started - */ exportStartTime?: string | null; } - /** - * The response to a ExportFindings request. Contains the LRO information. - */ export interface Schema$ExportFindingsResponse {} - /** - * 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. - */ export interface Schema$Expr { - /** - * Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. - */ description?: string | null; - /** - * Textual representation of an expression in Common Expression Language syntax. - */ expression?: string | null; - /** - * Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. - */ location?: string | null; - /** - * 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. - */ title?: string | null; } - /** - * Details about the externally exposed resource associated with the finding. - */ export interface Schema$ExternalExposure { - /** - * The full resource name of the load balancer backend bucket, for example, "//compute.googleapis.com/projects/{project-id\}/global/backendBuckets/{name\}" - */ backendBucket?: string | null; - /** - * The full resource name of load balancer backend service, for example, "//compute.googleapis.com/projects/{project-id\}/global/backendServices/{name\}". - */ backendService?: string | null; - /** - * The name and version of the exposed web application, for example, "Jenkins 2.184". - */ exposedApplication?: string | null; - /** - * The resource which is running the exposed service, for example, "//compute.googleapis.com/projects/{project-id\}/zones/{zone\}/instances/{instance\}.” - */ exposedEndpoint?: string | null; - /** - * The name and version of the service, for example, "Jupyter Notebook 6.14.0". - */ exposedService?: string | null; - /** - * The full resource name of the forwarding rule, for example, "//compute.googleapis.com/projects/{project-id\}/global/forwardingRules/{forwarding-rule-name\}". - */ forwardingRule?: string | null; - /** - * Hostname of the exposed application, for example, "https://test-app.a.run.app/" - */ hostnameUri?: string | null; - /** - * The http response returned by the web application. - */ httpResponse?: Schema$HttpResponse[]; - /** - * The full resource name of the instance group, for example, "//compute.googleapis.com/projects/{project-id\}/global/instanceGroups/{name\}". - */ instanceGroup?: string | null; - /** - * The full resource name of load balancer backend service in the internal project having resource exposed via PSC, for example, "//compute.googleapis.com/projects/{project-id\}/global/backendServices/{name\}". - */ internalBackendService?: string | null; - /** - * The full resource name of the load balancer firewall policy, for example, "//compute.googleapis.com/projects/{project-id\}/global/firewallPolicies/{policy-name\}". - */ loadBalancerFirewallPolicy?: string | null; - /** - * The full resource name of the network endpoint group, for example, "//compute.googleapis.com/projects/{project-id\}/global/networkEndpointGroups/{name\}". - */ networkEndpointGroup?: string | null; - /** - * The full resource name of the network ingress firewall policy, for example, "//compute.googleapis.com/projects/{project-id\}/global/firewallPolicies/{name\}". - */ networkIngressFirewallPolicy?: string | null; - /** - * Private IP address of the exposed endpoint. - */ privateIpAddress?: string | null; - /** - * Port number associated with private IP address. - */ privatePort?: string | null; - /** - * The full resource name of the PSC (Private Service Connect) network attachment that network interface controller is attached to, for example, "//compute.googleapis.com/projects/{project-id\}/regions/{region\}/networkAttachments/{name\}" - */ pscNetworkAttachment?: string | null; - /** - * The full resource name of the PSC (Private Service Connect) service attachment that the load balancer network endpoint group targets, for example, "//compute.googleapis.com/projects/{project-id\}/regions/{region\}/serviceAttachments/{name\}" - */ pscServiceAttachment?: string | null; - /** - * Public IP address of the exposed endpoint. - */ publicIpAddress?: string | null; - /** - * Public port number of the exposed endpoint. - */ publicPort?: string | null; - /** - * The full resource name of the firewall policy of the exposed service, for example, "//compute.googleapis.com/projects/{project-id\}/global/firewallPolicies/{policy-name\}". - */ serviceFirewallPolicy?: string | null; } - /** - * File information about the related binary/library used by an executable, or the script used by a script interpreter - */ export interface Schema$File { - /** - * Prefix of the file contents as a JSON-encoded string. - */ contents?: string | null; - /** - * Path of the file in terms of underlying disk/partition identifiers. - */ diskPath?: Schema$DiskPath; - /** - * The load state of the file. - */ fileLoadState?: string | null; - /** - * The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - */ hashedSize?: string | null; - /** - * Operation(s) performed on a file. - */ operations?: Schema$FileOperation[]; - /** - * True when the hash covers only a prefix of the file. - */ partiallyHashed?: boolean | null; - /** - * Absolute path of the file as a JSON encoded string. - */ path?: string | null; - /** - * SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - */ sha256?: string | null; - /** - * Size of the file in bytes. - */ size?: string | null; } - /** - * Operation(s) performed on a file. - */ export interface Schema$FileOperation { - /** - * The type of the operation - */ type?: string | null; } - /** - * Security Command Center finding. A finding is a record of assessment data like security, risk, health, or privacy, that is ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, a cross-site scripting (XSS) vulnerability in an App Engine application is a finding. - */ export interface Schema$Finding { - /** - * Access details associated with the finding, such as more information on the caller, which method was accessed, and from where. - */ access?: Schema$Access; - /** - * AffectedResources associated with the finding. - */ affectedResources?: Schema$AffectedResources; - /** - * Agent data access events associated with the finding. - */ agentDataAccessEvents?: Schema$AgentDataAccessEvent[]; - /** - * The AI model associated with the finding. - */ aiModel?: Schema$AiModel; - /** - * Represents an application associated with the finding. - */ application?: Schema$Application; - /** - * ArtifactGuardPolicies associated with the finding. - */ artifactGuardPolicies?: Schema$ArtifactGuardPolicies; - /** - * The results of an attack path simulation relevant to this finding. - */ attackExposure?: Schema$AttackExposure; - /** - * Fields related to Backup and DR findings. - */ backupDisasterRecovery?: Schema$BackupDisasterRecovery; - /** - * The canonical name of the finding. It's either "organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}", "folders/{folder_id\}/sources/{source_id\}/findings/{finding_id\}" or "projects/{project_number\}/sources/{source_id\}/findings/{finding_id\}", depending on the closest CRM ancestor of the resource associated with the finding. - */ canonicalName?: string | null; - /** - * The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: "XSS_FLASH_INJECTION" - */ category?: string | null; - /** - * Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations). This field cannot be updated. Its value is ignored in all update requests. - */ chokepoint?: Schema$Chokepoint; - /** - * Fields related to Cloud Armor findings. - */ cloudArmor?: Schema$CloudArmor; - /** - * Cloud DLP data profile that is associated with the finding. - */ cloudDlpDataProfile?: Schema$CloudDlpDataProfile; - /** - * Cloud Data Loss Prevention (Cloud DLP) inspection results that are associated with the finding. - */ cloudDlpInspection?: Schema$CloudDlpInspection; - /** - * Details about the compliance implications of the finding. - */ complianceDetails?: Schema$ComplianceDetails; - /** - * Contains compliance information for security standards associated to the finding. - */ compliances?: Schema$Compliance[]; - /** - * Contains information about the IP connection associated with the finding. - */ connections?: Schema$Connection[]; - /** - * Output only. Map containing the points of contact for the given finding. The key represents the type of contact, while the value contains a list of all the contacts that pertain. Please refer to: https://cloud.google.com/resource-manager/docs/managing-notification-contacts#notification-categories { "security": { "contacts": [ { "email": "person1@company.com" \}, { "email": "person2@company.com" \} ] \} \} - */ contacts?: {[key: string]: Schema$ContactDetails} | null; - /** - * Containers associated with the finding. This field provides information for both Kubernetes and non-Kubernetes containers. - */ containers?: Schema$Container[]; - /** - * The time at which the finding was created in Security Command Center. - */ createTime?: string | null; - /** - * Data access events associated with the finding. - */ dataAccessEvents?: Schema$DataAccessEvent[]; - /** - * Database associated with the finding. - */ database?: Schema$Database; - /** - * Data flow events associated with the finding. - */ dataFlowEvents?: Schema$DataFlowEvent[]; - /** - * Data retention deletion events associated with the finding. - */ dataRetentionDeletionEvents?: Schema$DataRetentionDeletionEvent[]; - /** - * Contains more details about the finding. - */ description?: string | null; - /** - * DiscoveredWorkload associated with the finding. - */ discoveredWorkload?: Schema$DiscoveredWorkload; - /** - * Disk associated with the finding. - */ disk?: Schema$Disk; - /** - * The time the finding was first detected. If an existing finding is updated, then this is the time the update occurred. For example, if the finding represents an open firewall, this property captures the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding is later resolved, then this time reflects when the finding was resolved. This must not be set to a value greater than the current timestamp. - */ eventTime?: string | null; - /** - * Represents exfiltrations associated with the finding. - */ exfiltration?: Schema$Exfiltration; - /** - * External exposure associated with the finding. - */ externalExposure?: Schema$ExternalExposure; - /** - * Output only. Third party SIEM/SOAR fields within SCC, contains external system information and external system finding fields. - */ externalSystems?: { [key: string]: Schema$GoogleCloudSecuritycenterV1ExternalSystem; } | null; - /** - * The URI that, if available, points to a web page outside of Security Command Center where additional information about the finding can be found. This field is guaranteed to be either empty or a well formed URL. - */ externalUri?: string | null; - /** - * File associated with the finding. - */ files?: Schema$File[]; - /** - * The class of the finding. - */ findingClass?: string | null; - /** - * Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way. This field cannot be updated. Its value is ignored in all update requests. - */ groupMemberships?: Schema$GroupMembership[]; - /** - * Represents IAM bindings associated with the finding. - */ iamBindings?: Schema$IamBinding[]; - /** - * Represents what's commonly known as an *indicator of compromise* (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise). - */ indicator?: Schema$Indicator; - /** - * IP rules associated with the finding. - */ ipRules?: Schema$IpRules; - /** - * Job associated with the finding. - */ job?: Schema$Job; - /** - * Signature of the kernel rootkit. - */ kernelRootkit?: Schema$KernelRootkit; - /** - * Kubernetes resources associated with the finding. - */ kubernetes?: Schema$Kubernetes; - /** - * The load balancers associated with the finding. - */ loadBalancers?: Schema$LoadBalancer[]; - /** - * Log entries that are relevant to the finding. - */ logEntries?: Schema$LogEntry[]; - /** - * MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org - */ mitreAttack?: Schema$MitreAttack; - /** - * Unique identifier of the module which generated the finding. Example: folders/598186756061/securityHealthAnalyticsSettings/customModules/56799441161885 - */ moduleName?: string | null; - /** - * Indicates the mute state of a finding (either muted, unmuted or undefined). Unlike other attributes of a finding, a finding provider shouldn't set the value of mute. - */ mute?: string | null; - /** - * Output only. The mute information regarding this finding. - */ muteInfo?: Schema$MuteInfo; - /** - * Records additional information about the mute operation, for example, the [mute configuration](/security-command-center/docs/how-to-mute-findings) that muted the finding and the user who muted the finding. - */ muteInitiator?: string | null; - /** - * Output only. The most recent time this finding was muted or unmuted. - */ muteUpdateTime?: string | null; - /** - * The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. Example: "organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}", "folders/{folder_id\}/sources/{source_id\}/findings/{finding_id\}", "projects/{project_id\}/sources/{source_id\}/findings/{finding_id\}". - */ name?: string | null; - /** - * Represents the VPC networks that the resource is attached to. - */ networks?: Schema$Network[]; - /** - * Steps to address the finding. - */ nextSteps?: string | null; - /** - * Notebook associated with the finding. - */ notebook?: Schema$Notebook; - /** - * Contains information about the org policies associated with the finding. - */ orgPolicies?: Schema$OrgPolicy[]; - /** - * The relative resource name of the source the finding belongs to. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name This field is immutable after creation time. For example: "organizations/{organization_id\}/sources/{source_id\}" - */ parent?: string | null; - /** - * Output only. The human readable display name of the finding source such as "Event Threat Detection" or "Security Health Analytics". - */ parentDisplayName?: string | null; - /** - * PolicyViolationSummary associated with the finding. - */ policyViolationSummary?: Schema$PolicyViolationSummary; - /** - * Represents operating system processes associated with the Finding. - */ processes?: Schema$Process[]; - /** - * For findings on Google Cloud resources, the full resource name of the Google Cloud resource this finding is for. See: https://cloud.google.com/apis/design/resource_names#full_resource_name When the finding is for a non-Google Cloud resource, the resourceName can be a customer or partner defined string. This field is immutable after creation time. - */ resourceName?: string | null; - /** - * Secret associated with the finding. - */ secret?: Schema$Secret; - /** - * Output only. User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the finding. - */ securityMarks?: Schema$SecurityMarks; - /** - * The security posture associated with the finding. - */ securityPosture?: Schema$SecurityPosture; - /** - * The severity of the finding. This field is managed by the source that writes the finding. - */ severity?: string | null; - /** - * Source specific properties. These properties are managed by the source that writes the finding. The key names in the source_properties map must be between 1 and 255 characters, and must start with a letter and contain alphanumeric characters or underscores only. - */ sourceProperties?: {[key: string]: any} | null; - /** - * The state of the finding. - */ state?: string | null; - /** - * Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. This field cannot be updated. Its value is ignored in all update requests. - */ toxicCombination?: Schema$ToxicCombination; - /** - * VertexAi associated with the finding. - */ vertexAi?: Schema$VertexAi; - /** - * Represents vulnerability-specific fields like CVE and CVSS scores. CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/) - */ vulnerability?: Schema$Vulnerability; } - /** - * Message that contains the resource name and display name of a folder resource. - */ export interface Schema$Folder { - /** - * Full resource name of this folder. See: https://cloud.google.com/apis/design/resource_names#full_resource_name - */ resourceFolder?: string | null; - /** - * The user defined display name for this folder. - */ resourceFolderDisplayName?: string | null; } - /** - * Compliance framework associated with the finding. - */ export interface Schema$Framework { - /** - * Category of the framework associated with the finding. E.g. Security Benchmark, or Assured Workloads - */ category?: string[] | null; - /** - * The controls associated with the framework. - */ controls?: Schema$Control[]; - /** - * Display name of the framework. For a standard framework, this will look like e.g. PCI DSS 3.2.1, whereas for a custom framework it can be a user defined string like MyFramework - */ displayName?: string | null; - /** - * Name of the framework associated with the finding - */ name?: string | null; - /** - * Type of the framework associated with the finding, to specify whether the framework is built-in (pre-defined and immutable) or a custom framework defined by the customer (equivalent to security posture) - */ type?: string | null; } - /** - * Google Cloud metadata associated with the resource. Only applicable if the finding's cloud provider is Google Cloud. - */ export interface Schema$GcpMetadata { - /** - * Output only. Contains a Folder message for each folder in the assets ancestry. The first folder is the deepest nested folder, and the last folder is the folder directly under the Organization. - */ folders?: Schema$GoogleCloudSecuritycenterV2Folder[]; - /** - * The name of the organization that the resource belongs to. - */ organization?: string | null; - /** - * The full resource name of resource's parent. - */ parent?: string | null; - /** - * The human readable name of resource's parent. - */ parentDisplayName?: string | null; - /** - * The full resource name of project that the resource belongs to. - */ project?: string | null; - /** - * The project ID that the resource belongs to. - */ projectDisplayName?: string | null; } - /** - * Represents a geographical location for a given access. - */ export interface Schema$Geolocation { - /** - * A CLDR. - */ regionCode?: string | null; } - /** - * Response of asset discovery run - */ export interface Schema$GoogleCloudSecuritycenterV1beta1RunAssetDiscoveryResponse { - /** - * The duration between asset discovery run start and end - */ duration?: string | null; - /** - * The state of an asset discovery run. - */ state?: string | null; } - /** - * Configures how to deliver Findings to BigQuery Instance. - */ export interface Schema$GoogleCloudSecuritycenterV1BigQueryExport { - /** - * Output only. The time at which the BigQuery export was created. This field is set by the server and will be ignored if provided on export on creation. - */ createTime?: string | null; - /** - * The dataset to write findings' updates to. Its format is "projects/[project_id]/datasets/[bigquery_dataset_id]". BigQuery Dataset unique ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). - */ dataset?: string | null; - /** - * The description of the export (max of 1024 characters). - */ description?: string | null; - /** - * Expression that defines the filter to apply across create/update events of findings. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are: * `=` for all value types. * `\>`, `<`, `\>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. - */ filter?: string | null; - /** - * Output only. Email address of the user who last edited the BigQuery export. This field is set by the server and will be ignored if provided on export creation or update. - */ mostRecentEditor?: string | null; - /** - * The relative resource name of this export. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name. Example format: "organizations/{organization_id\}/bigQueryExports/{export_id\}" Example format: "folders/{folder_id\}/bigQueryExports/{export_id\}" Example format: "projects/{project_id\}/bigQueryExports/{export_id\}" This field is provided in responses, and is ignored when provided in create requests. - */ name?: string | null; - /** - * Output only. The service account that needs permission to create table and upload data to the BigQuery dataset. - */ principal?: string | null; - /** - * Output only. The most recent time at which the BigQuery export was updated. This field is set by the server and will be ignored if provided on export creation or update. - */ updateTime?: string | null; } - /** - * Represents a Kubernetes RoleBinding or ClusterRoleBinding. - */ export interface Schema$GoogleCloudSecuritycenterV1Binding { - /** - * Name for the binding. - */ name?: string | null; - /** - * Namespace for the binding. - */ ns?: string | null; - /** - * The Role or ClusterRole referenced by the binding. - */ role?: Schema$Role; - /** - * Represents one or more subjects that are bound to the role. Not always available for PATCH requests. - */ subjects?: Schema$Subject[]; } - /** - * The response to a BulkMute request. Contains the LRO information. - */ export interface Schema$GoogleCloudSecuritycenterV1BulkMuteFindingsResponse {} - /** - * Defines the properties in a custom module configuration for Security Health Analytics. Use the custom module configuration to create custom detectors that generate custom findings for resources that you specify. - */ export interface Schema$GoogleCloudSecuritycenterV1CustomConfig { - /** - * Custom output properties. - */ customOutput?: Schema$GoogleCloudSecuritycenterV1CustomOutputSpec; - /** - * Text that describes the vulnerability or misconfiguration that the custom module detects. This explanation is returned with each finding instance to help investigators understand the detected issue. The text must be enclosed in quotation marks. - */ description?: string | null; - /** - * The CEL expression to evaluate to produce findings. When the expression evaluates to true against a resource, a finding is generated. - */ predicate?: Schema$Expr; - /** - * An explanation of the recommended steps that security teams can take to resolve the detected issue. This explanation is returned with each finding generated by this module in the `nextSteps` property of the finding JSON. - */ recommendation?: string | null; - /** - * The resource types that the custom module operates on. Each custom module can specify up to 5 resource types. - */ resourceSelector?: Schema$GoogleCloudSecuritycenterV1ResourceSelector; - /** - * The severity to assign to findings generated by the module. - */ severity?: string | null; } - /** - * A set of optional name-value pairs that define custom source properties to return with each finding that is generated by the custom module. The custom source properties that are defined here are included in the finding JSON under `sourceProperties`. - */ export interface Schema$GoogleCloudSecuritycenterV1CustomOutputSpec { - /** - * A list of custom output properties to add to the finding. - */ properties?: Schema$GoogleCloudSecuritycenterV1Property[]; } - /** - * An EffectiveSecurityHealthAnalyticsCustomModule is the representation of a Security Health Analytics custom module at a specified level of the resource hierarchy: organization, folder, or project. If a custom module is inherited from a parent organization or folder, the value of the `enablementState` property in EffectiveSecurityHealthAnalyticsCustomModule is set to the value that is effective in the parent, instead of `INHERITED`. For example, if the module is enabled in a parent organization or folder, the effective enablement_state for the module in all child folders or projects is also `enabled`. EffectiveSecurityHealthAnalyticsCustomModule is read-only. - */ export interface Schema$GoogleCloudSecuritycenterV1EffectiveSecurityHealthAnalyticsCustomModule { - /** - * The cloud provider of the custom module. - */ cloudProvider?: string | null; - /** - * Output only. The user-specified configuration for the module. - */ customConfig?: Schema$GoogleCloudSecuritycenterV1CustomConfig; - /** - * Output only. The display name for the custom module. The name must be between 1 and 128 characters, start with a lowercase letter, and contain alphanumeric characters or underscores only. - */ displayName?: string | null; - /** - * Output only. The effective state of enablement for the module at the given level of the hierarchy. - */ enablementState?: string | null; - /** - * Output only. The resource name of the custom module. Its format is "organizations/{organization\}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule\}", or "folders/{folder\}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule\}", or "projects/{project\}/securityHealthAnalyticsSettings/effectiveCustomModules/{customModule\}" - */ name?: string | null; } - /** - * Representation of third party SIEM/SOAR fields within SCC. - */ export interface Schema$GoogleCloudSecuritycenterV1ExternalSystem { - /** - * References primary/secondary etc assignees in the external system. - */ assignees?: string[] | null; - /** - * The time when the case was closed, as reported by the external system. - */ caseCloseTime?: string | null; - /** - * The time when the case was created, as reported by the external system. - */ caseCreateTime?: string | null; - /** - * The priority of the finding's corresponding case in the external system. - */ casePriority?: string | null; - /** - * The SLA of the finding's corresponding case in the external system. - */ caseSla?: string | null; - /** - * The link to the finding's corresponding case in the external system. - */ caseUri?: string | null; - /** - * The time when the case was last updated, as reported by the external system. - */ externalSystemUpdateTime?: string | null; - /** - * The identifier that's used to track the finding's corresponding case in the external system. - */ externalUid?: string | null; - /** - * Full resource name of the external system, for example: "organizations/1234/sources/5678/findings/123456/externalSystems/jira", "folders/1234/sources/5678/findings/123456/externalSystems/jira", "projects/1234/sources/5678/findings/123456/externalSystems/jira" - */ name?: string | null; - /** - * The most recent status of the finding's corresponding case, as reported by the external system. - */ status?: string | null; - /** - * Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding. - */ ticketInfo?: Schema$TicketInfo; } - /** - * A mute config is a Cloud SCC resource that contains the configuration to mute create/update events of findings. - */ export interface Schema$GoogleCloudSecuritycenterV1MuteConfig { - /** - * Output only. The time at which the mute config was created. This field is set by the server and will be ignored if provided on config creation. - */ createTime?: string | null; - /** - * A description of the mute config. - */ description?: string | null; - /** - * The human readable name to be displayed for the mute config. - */ displayName?: string | null; - /** - * Optional. The expiry of the mute config. Only applicable for dynamic configs. If the expiry is set, when the config expires, it is removed from all findings. - */ expiryTime?: string | null; - /** - * Required. An expression that defines the filter to apply across create/update events of findings. While creating a filter string, be mindful of the scope in which the mute configuration is being created. E.g., If a filter contains project = X but is created under the project = Y scope, it might not match any findings. The following field and operator combinations are supported: * severity: `=`, `:` * category: `=`, `:` * resource.name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.folders.resource_folder: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.type: `=`, `:` * finding_class: `=`, `:` * indicator.ip_addresses: `=`, `:` * indicator.domains: `=`, `:` - */ filter?: string | null; - /** - * Output only. Email address of the user who last edited the mute config. This field is set by the server and will be ignored if provided on config creation or update. - */ mostRecentEditor?: string | null; - /** - * This field will be ignored if provided on config creation. Format `organizations/{organization\}/muteConfigs/{mute_config\}` `folders/{folder\}/muteConfigs/{mute_config\}` `projects/{project\}/muteConfigs/{mute_config\}` `organizations/{organization\}/locations/global/muteConfigs/{mute_config\}` `folders/{folder\}/locations/global/muteConfigs/{mute_config\}` `projects/{project\}/locations/global/muteConfigs/{mute_config\}` - */ name?: string | null; - /** - * Optional. The type of the mute config, which determines what type of mute state the config affects. The static mute state takes precedence over the dynamic mute state. Immutable after creation. STATIC by default if not set during creation. - */ type?: string | null; - /** - * Output only. The most recent time at which the mute config was updated. This field is set by the server and will be ignored if provided on config creation or update. - */ updateTime?: string | null; } - /** - * Cloud SCC's Notification - */ export interface Schema$GoogleCloudSecuritycenterV1NotificationMessage { - /** - * If it's a Finding based notification config, this field will be populated. - */ finding?: Schema$Finding; - /** - * Name of the notification config that generated current notification. - */ notificationConfigName?: string | null; - /** - * The Cloud resource tied to this notification's Finding. - */ resource?: Schema$GoogleCloudSecuritycenterV1Resource; } - /** - * Security Command Center finding. A finding is a record of assessment data (security, risk, health or privacy) ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, an XSS vulnerability in an App Engine application is a finding. - */ export interface Schema$GoogleCloudSecuritycenterV1p1beta1Finding { - /** - * The canonical name of the finding. It's either "organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}", "folders/{folder_id\}/sources/{source_id\}/findings/{finding_id\}" or "projects/{project_number\}/sources/{source_id\}/findings/{finding_id\}", depending on the closest CRM ancestor of the resource associated with the finding. - */ canonicalName?: string | null; - /** - * The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: "XSS_FLASH_INJECTION" - */ category?: string | null; - /** - * The time at which the finding was created in Security Command Center. - */ createTime?: string | null; - /** - * The time at which the event took place, or when an update to the finding occurred. For example, if the finding represents an open firewall it would capture the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding were to be resolved afterward, this time would reflect when the finding was resolved. Must not be set to a value greater than the current timestamp. - */ eventTime?: string | null; - /** - * The URI that, if available, points to a web page outside of Security Command Center where additional information about the finding can be found. This field is guaranteed to be either empty or a well formed URL. - */ externalUri?: string | null; - /** - * The relative resource name of this finding. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Example: "organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}" - */ name?: string | null; - /** - * The relative resource name of the source the finding belongs to. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name This field is immutable after creation time. For example: "organizations/{organization_id\}/sources/{source_id\}" - */ parent?: string | null; - /** - * For findings on Google Cloud resources, the full resource name of the Google Cloud resource this finding is for. See: https://cloud.google.com/apis/design/resource_names#full_resource_name When the finding is for a non-Google Cloud resource, the resourceName can be a customer or partner defined string. This field is immutable after creation time. - */ resourceName?: string | null; - /** - * Output only. User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the finding. - */ securityMarks?: Schema$GoogleCloudSecuritycenterV1p1beta1SecurityMarks; - /** - * The severity of the finding. This field is managed by the source that writes the finding. - */ severity?: string | null; - /** - * Source specific properties. These properties are managed by the source that writes the finding. The key names in the source_properties map must be between 1 and 255 characters, and must start with a letter and contain alphanumeric characters or underscores only. - */ sourceProperties?: {[key: string]: any} | null; - /** - * The state of the finding. - */ state?: string | null; } - /** - * Message that contains the resource name and display name of a folder resource. - */ export interface Schema$GoogleCloudSecuritycenterV1p1beta1Folder { - /** - * Full resource name of this folder. See: https://cloud.google.com/apis/design/resource_names#full_resource_name - */ resourceFolder?: string | null; - /** - * The user defined display name for this folder. - */ resourceFolderDisplayName?: string | null; } - /** - * Security Command Center's Notification - */ export interface Schema$GoogleCloudSecuritycenterV1p1beta1NotificationMessage { - /** - * If it's a Finding based notification config, this field will be populated. - */ finding?: Schema$GoogleCloudSecuritycenterV1p1beta1Finding; - /** - * Name of the notification config that generated current notification. - */ notificationConfigName?: string | null; - /** - * The Cloud resource tied to the notification. - */ resource?: Schema$GoogleCloudSecuritycenterV1p1beta1Resource; } - /** - * Information related to the Google Cloud resource. - */ export interface Schema$GoogleCloudSecuritycenterV1p1beta1Resource { - /** - * Output only. Contains a Folder message for each folder in the assets ancestry. The first folder is the deepest nested folder, and the last folder is the folder directly under the Organization. - */ folders?: Schema$GoogleCloudSecuritycenterV1p1beta1Folder[]; - /** - * The full resource name of the resource. See: https://cloud.google.com/apis/design/resource_names#full_resource_name - */ name?: string | null; - /** - * The full resource name of resource's parent. - */ parent?: string | null; - /** - * The human readable name of resource's parent. - */ parentDisplayName?: string | null; - /** - * The full resource name of project that the resource belongs to. - */ project?: string | null; - /** - * The project id that the resource belongs to. - */ projectDisplayName?: string | null; } - /** - * Response of asset discovery run - */ export interface Schema$GoogleCloudSecuritycenterV1p1beta1RunAssetDiscoveryResponse { - /** - * The duration between asset discovery run start and end - */ duration?: string | null; - /** - * The state of an asset discovery run. - */ state?: string | null; } - /** - * User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization. - */ export interface Schema$GoogleCloudSecuritycenterV1p1beta1SecurityMarks { - /** - * The canonical name of the marks. Examples: "organizations/{organization_id\}/assets/{asset_id\}/securityMarks" "folders/{folder_id\}/assets/{asset_id\}/securityMarks" "projects/{project_number\}/assets/{asset_id\}/securityMarks" "organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}/securityMarks" "folders/{folder_id\}/sources/{source_id\}/findings/{finding_id\}/securityMarks" "projects/{project_number\}/sources/{source_id\}/findings/{finding_id\}/securityMarks" - */ canonicalName?: string | null; - /** - * Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive) - */ marks?: {[key: string]: string} | null; - /** - * The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id\}/assets/{asset_id\}/securityMarks" "organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}/securityMarks". - */ name?: string | null; } - /** - * An individual name-value pair that defines a custom source property. - */ - export interface Schema$GoogleCloudSecuritycenterV1Property { - /** - * Name of the property for the custom output. - */ + export interface Schema$GoogleCloudSecuritycenterV1Property { name?: string | null; - /** - * The CEL expression for the custom output. A resource property can be specified to return the value of the property or a text string enclosed in quotation marks. - */ valueExpression?: Schema$Expr; } - /** - * Information related to the Google Cloud resource. - */ export interface Schema$GoogleCloudSecuritycenterV1Resource { - /** - * The ADC application associated with the finding. - */ adcApplication?: Schema$AdcApplication; - /** - * The ADC template associated with the finding. - */ adcApplicationTemplate?: Schema$AdcApplicationTemplateRevision; - /** - * The ADC shared template associated with the finding. - */ adcSharedTemplate?: Schema$AdcSharedTemplateRevision; - /** - * The App Hub application this resource belongs to. - */ application?: Schema$GoogleCloudSecuritycenterV1ResourceApplication; - /** - * The AWS metadata associated with the finding. - */ awsMetadata?: Schema$AwsMetadata; - /** - * The Azure metadata associated with the finding. - */ azureMetadata?: Schema$AzureMetadata; - /** - * Indicates which cloud provider the resource resides in. - */ cloudProvider?: string | null; - /** - * The human readable name of the resource. - */ displayName?: string | null; - /** - * Output only. Contains a Folder message for each folder in the assets ancestry. The first folder is the deepest nested folder, and the last folder is the folder directly under the Organization. - */ folders?: Schema$Folder[]; - /** - * The region or location of the service (if applicable). - */ location?: string | null; - /** - * The full resource name of the resource. See: https://cloud.google.com/apis/design/resource_names#full_resource_name - */ name?: string | null; - /** - * Indicates which organization or tenant in the cloud provider the finding applies to. - */ organization?: string | null; - /** - * The full resource name of resource's parent. - */ parent?: string | null; - /** - * The human readable name of resource's parent. - */ parentDisplayName?: string | null; - /** - * The full resource name of project that the resource belongs to. - */ project?: string | null; - /** - * The project ID that the resource belongs to. - */ projectDisplayName?: string | null; - /** - * Provides the path to the resource within the resource hierarchy. - */ resourcePath?: Schema$ResourcePath; - /** - * A string representation of the resource path. For Google Cloud, it has the format of `organizations/{organization_id\}/folders/{folder_id\}/folders/{folder_id\}/projects/{project_id\}` where there can be any number of folders. For AWS, it has the format of `org/{organization_id\}/ou/{organizational_unit_id\}/ou/{organizational_unit_id\}/account/{account_id\}` where there can be any number of organizational units. For Azure, it has the format of `mg/{management_group_id\}/mg/{management_group_id\}/subscription/{subscription_id\}/rg/{resource_group_name\}` where there can be any number of management groups. - */ resourcePathString?: string | null; - /** - * The parent service or product from which the resource is provided, for example, GKE or SNS. - */ service?: string | null; - /** - * The full resource type of the resource. - */ type?: string | null; } - /** - * The App Hub Application associated with the finding's resource. - */ export interface Schema$GoogleCloudSecuritycenterV1ResourceApplication { - /** - * Consumer provided attributes for the application - */ attributes?: Schema$GoogleCloudSecuritycenterV1ResourceApplicationAttributes; - /** - * The resource name of an Application. Format: `projects/{host-project-id\}/locations/{location\}/applications/{application-id\}` - */ name?: string | null; } - /** - * Consumer provided attributes for the application - */ export interface Schema$GoogleCloudSecuritycenterV1ResourceApplicationAttributes { - /** - * Business team that ensures user needs are met and value is delivered - */ businessOwners?: Schema$GoogleCloudSecuritycenterV1ResourceApplicationAttributesContactInfo[]; - /** - * User-defined criticality information. - */ criticality?: Schema$GoogleCloudSecuritycenterV1ResourceApplicationAttributesCriticality; - /** - * Developer team that owns development and coding. - */ developerOwners?: Schema$GoogleCloudSecuritycenterV1ResourceApplicationAttributesContactInfo[]; - /** - * User-defined environment information. - */ environment?: Schema$GoogleCloudSecuritycenterV1ResourceApplicationAttributesEnvironment; - /** - * Operator team that ensures runtime and operations. - */ operatorOwners?: Schema$GoogleCloudSecuritycenterV1ResourceApplicationAttributesContactInfo[]; } - /** - * Contact information of stakeholders. - */ export interface Schema$GoogleCloudSecuritycenterV1ResourceApplicationAttributesContactInfo { - /** - * Email address of the contacts. - */ email?: string | null; } - /** - * Criticality of the Application, Service, or Workload - */ export interface Schema$GoogleCloudSecuritycenterV1ResourceApplicationAttributesCriticality { - /** - * Criticality Type. - */ type?: string | null; } - /** - * Environment of the Application, Service, or Workload - */ export interface Schema$GoogleCloudSecuritycenterV1ResourceApplicationAttributesEnvironment { - /** - * Environment Type. - */ type?: string | null; } - /** - * Resource for selecting resource type. - */ export interface Schema$GoogleCloudSecuritycenterV1ResourceSelector { - /** - * The resource types to run the detector on. - */ resourceTypes?: string[] | null; } - /** - * A resource value configuration (RVC) is a mapping configuration of user's resources to resource values. Used in Attack path simulations. - */ export interface Schema$GoogleCloudSecuritycenterV1ResourceValueConfig { - /** - * Cloud provider this configuration applies to - */ cloudProvider?: string | null; - /** - * Output only. Timestamp this resource value configuration was created. - */ createTime?: string | null; - /** - * Description of the resource value configuration. - */ description?: string | null; - /** - * Name for the resource value configuration - */ name?: string | null; - /** - * List of resource labels to search for, evaluated with `AND`. For example, `"resource_labels_selector": {"key": "value", "env": "prod"\}` will match resources with labels "key": "value" `AND` "env": "prod" https://cloud.google.com/resource-manager/docs/creating-managing-labels - */ resourceLabelsSelector?: {[key: string]: string} | null; - /** - * Apply resource_value only to resources that match resource_type. resource_type will be checked with `AND` of other resources. For example, "storage.googleapis.com/Bucket" with resource_value "HIGH" will apply "HIGH" value only to "storage.googleapis.com/Bucket" resources. - */ resourceType?: string | null; - /** - * Required. Resource value level this expression represents - */ resourceValue?: string | null; - /** - * Project or folder to scope this configuration to. For example, "project/456" would apply this configuration only to resources in "project/456" scope will be checked with `AND` of other resources. - */ scope?: string | null; - /** - * A mapping of the sensitivity on Sensitive Data Protection finding to resource values. This mapping can only be used in combination with a resource_type that is related to BigQuery, e.g. "bigquery.googleapis.com/Dataset". - */ sensitiveDataProtectionMapping?: Schema$GoogleCloudSecuritycenterV1SensitiveDataProtectionMapping; - /** - * Required. Tag values combined with `AND` to check against. For Google Cloud resources, they are tag value IDs in the form of "tagValues/123". Example: `[ "tagValues/123", "tagValues/456", "tagValues/789" ]` https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing - */ tagValues?: string[] | null; - /** - * Output only. Timestamp this resource value configuration was last updated. - */ updateTime?: string | null; } - /** - * Response of asset discovery run - */ export interface Schema$GoogleCloudSecuritycenterV1RunAssetDiscoveryResponse { - /** - * The duration between asset discovery run start and end - */ duration?: string | null; - /** - * The state of an asset discovery run. - */ state?: string | null; } - /** - * Represents an instance of a Security Health Analytics custom module, including its full module name, display name, enablement state, and last updated time. You can create a custom module at the organization, folder, or project level. Custom modules that you create at the organization or folder level are inherited by the child folders and projects. - */ export interface Schema$GoogleCloudSecuritycenterV1SecurityHealthAnalyticsCustomModule { - /** - * Output only. If empty, indicates that the custom module was created in the organization, folder, or project in which you are viewing the custom module. Otherwise, `ancestor_module` specifies the organization or folder from which the custom module is inherited. - */ ancestorModule?: string | null; - /** - * The cloud provider of the custom module. - */ cloudProvider?: string | null; - /** - * The user specified custom configuration for the module. - */ customConfig?: Schema$GoogleCloudSecuritycenterV1CustomConfig; - /** - * The display name of the Security Health Analytics custom module. This display name becomes the finding category for all findings that are returned by this custom module. The display name must be between 1 and 128 characters, start with a lowercase letter, and contain alphanumeric characters or underscores only. - */ displayName?: string | null; - /** - * The enablement state of the custom module. - */ enablementState?: string | null; - /** - * Output only. The editor that last updated the custom module. - */ lastEditor?: string | null; - /** - * Immutable. The resource name of the custom module. Its format is "organizations/{organization\}/securityHealthAnalyticsSettings/customModules/{customModule\}", or "folders/{folder\}/securityHealthAnalyticsSettings/customModules/{customModule\}", or "projects/{project\}/securityHealthAnalyticsSettings/customModules/{customModule\}" The id {customModule\} is server-generated and is not user settable. It will be a numeric id containing 1-20 digits. - */ name?: string | null; - /** - * Output only. The time at which the custom module was last updated. - */ updateTime?: string | null; } - /** - * Resource value mapping for Sensitive Data Protection findings. If any of these mappings have a resource value that is not unspecified, the resource_value field will be ignored when reading this configuration. - */ export interface Schema$GoogleCloudSecuritycenterV1SensitiveDataProtectionMapping { - /** - * Resource value mapping for high-sensitivity Sensitive Data Protection findings - */ highSensitivityMapping?: string | null; - /** - * Resource value mapping for medium-sensitivity Sensitive Data Protection findings - */ mediumSensitivityMapping?: string | null; } - /** - * Represents an access event. - */ export interface Schema$GoogleCloudSecuritycenterV2Access { - /** - * Caller's IP address, such as "1.1.1.1". - */ callerIp?: string | null; - /** - * The caller IP's geolocation, which identifies where the call came from. - */ callerIpGeo?: Schema$GoogleCloudSecuritycenterV2Geolocation; - /** - * The method that the service account called, e.g. "SetIamPolicy". - */ methodName?: string | null; - /** - * Associated email, such as "foo@google.com". The email address of the authenticated user or a service account acting on behalf of a third party principal making the request. For third party identity callers, the `principal_subject` field is populated instead of this field. For privacy reasons, the principal email address is sometimes redacted. For more information, see [Caller identities in audit logs](https://cloud.google.com/logging/docs/audit#user-id). - */ principalEmail?: string | null; - /** - * A string that represents the principal_subject that is associated with the identity. Unlike `principal_email`, `principal_subject` supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format is `principal://iam.googleapis.com/{identity pool name\}/subject/{subject\}`. Some GKE identities, such as GKE_WORKLOAD, FREEFORM, and GKE_HUB_WORKLOAD, still use the legacy format `serviceAccount:{identity pool name\}[{subject\}]`. - */ principalSubject?: string | null; - /** - * The identity delegation history of an authenticated service account that made the request. The `serviceAccountDelegationInfo[]` object contains information about the real authorities that try to access Google Cloud resources by delegating on a service account. When multiple authorities are present, they are guaranteed to be sorted based on the original ordering of the identity delegation events. - */ serviceAccountDelegationInfo?: Schema$GoogleCloudSecuritycenterV2ServiceAccountDelegationInfo[]; - /** - * The name of the service account key that was used to create or exchange credentials when authenticating the service account that made the request. This is a scheme-less URI full resource name. For example: "//iam.googleapis.com/projects/{PROJECT_ID\}/serviceAccounts/{ACCOUNT\}/keys/{key\}". - */ serviceAccountKeyName?: string | null; - /** - * This is the API service that the service account made a call to, e.g. "iam.googleapis.com" - */ serviceName?: string | null; - /** - * The caller's user agent string associated with the finding. - */ userAgent?: string | null; - /** - * Type of user agent associated with the finding. For example, an operating system shell or an embedded or standalone application. - */ userAgentFamily?: string | null; - /** - * A string that represents a username. The username provided depends on the type of the finding and is likely not an IAM principal. For example, this can be a system username if the finding is related to a virtual machine, or it can be an application login username. - */ userName?: string | null; } - /** - * Conveys information about a Kubernetes access review (such as one returned by a [`kubectl auth can-i`](https://kubernetes.io/docs/reference/access-authn-authz/authorization/#checking-api-access) command) that was involved in a finding. - */ export interface Schema$GoogleCloudSecuritycenterV2AccessReview { - /** - * The API group of the resource. "*" means all. - */ group?: string | null; - /** - * The name of the resource being requested. Empty means all. - */ name?: string | null; - /** - * Namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces. Both are represented by "" (empty). - */ ns?: string | null; - /** - * The optional resource type requested. "*" means all. - */ resource?: string | null; - /** - * The optional subresource type. - */ subresource?: string | null; - /** - * A Kubernetes resource API verb, like get, list, watch, create, update, delete, proxy. "*" means all. - */ verb?: string | null; - /** - * The API version of the resource. "*" means all. - */ version?: string | null; } - /** - * Information about [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-protection). - */ export interface Schema$GoogleCloudSecuritycenterV2AdaptiveProtection { - /** - * A score of 0 means that there is low confidence that the detected event is an actual attack. A score of 1 means that there is high confidence that the detected event is an attack. See the [Adaptive Protection documentation](https://cloud.google.com/armor/docs/adaptive-protection-overview#configure-alert-tuning) for further explanation. - */ confidence?: number | null; } - /** - * Represents an ADC application associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2AdcApplication { - /** - * Consumer provided attributes for the AppHub application. - */ attributes?: Schema$GoogleCloudSecuritycenterV2ResourceApplicationAttributes; - /** - * The resource name of an ADC Application. Format: projects/{project\}/locations/{location\}/spaces/{space\}/applications/{application\} - */ name?: string | null; } - /** - * Represents an ADC template associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2AdcApplicationTemplateRevision { - /** - * The resource name of an ADC Application Template Revision. Format: projects/{project\}/locations/{location\}/spaces/{space\}/applicationTemplates/{application_template\}/revisions/{revision\} - */ name?: string | null; } - /** - * Represents an ADC shared template associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2AdcSharedTemplateRevision { - /** - * The resource name of an ADC Shared Template Revision. Format: projects/{project\}/locations/{location\}/spaces/{space\}/applicationTemplates/{application_template\}/revisions/{revision\} - */ name?: string | null; } - /** - * Details about resources affected by this finding. - */ export interface Schema$GoogleCloudSecuritycenterV2AffectedResources { - /** - * The count of resources affected by the finding. - */ count?: string | null; } - /** - * Details about a data access attempt made by an agent principal not authorized under applicable data security policy. - */ export interface Schema$GoogleCloudSecuritycenterV2AgentDataAccessEvent { - /** - * Unique identifier for data access event. - */ eventId?: string | null; - /** - * Timestamp of data access event. - */ eventTime?: string | null; - /** - * The operation performed by the principal to access the data. - */ operation?: string | null; - /** - * The agent principal that accessed the data. - */ principalSubject?: string | null; } - /** - * Contains information about the AI model associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2AiModel { - /** - * The platform on which the model is deployed. - */ deploymentPlatform?: string | null; - /** - * The user defined display name of model. Ex. baseline-classification-model - */ displayName?: string | null; - /** - * The domain of the model, for example, “image-classification”. - */ domain?: string | null; - /** - * The name of the model library, for example, “transformers”. - */ library?: string | null; - /** - * The region in which the model is used, for example, “us-central1”. - */ location?: string | null; - /** - * The name of the AI model, for example, "gemini:1.0.0". - */ name?: string | null; - /** - * The publisher of the model, for example, “google” or “nvidia”. - */ publisher?: string | null; - /** - * The purpose of the model, for example, "Inteference" or "Training". - */ usageCategory?: string | null; } - /** - * Allowed IP rule. - */ export interface Schema$GoogleCloudSecuritycenterV2Allowed { - /** - * Optional. Optional list of allowed IP rules. - */ ipRules?: Schema$GoogleCloudSecuritycenterV2IpRule[]; } - /** - * Represents an application associated with a finding. - */ export interface Schema$GoogleCloudSecuritycenterV2Application { - /** - * The base URI that identifies the network location of the application in which the vulnerability was detected. For example, `http://example.com`. - */ baseUri?: string | null; - /** - * The full URI with payload that could be used to reproduce the vulnerability. For example, `http://example.com?p=aMmYgI6H`. - */ fullUri?: string | null; } - /** - * Represents the result of evaluating artifact guard policies. - */ export interface Schema$GoogleCloudSecuritycenterV2ArtifactGuardPolicies { - /** - * A list of failing policies. - */ failingPolicies?: Schema$GoogleCloudSecuritycenterV2ArtifactGuardPolicy[]; - /** - * The ID of the resource that has policies configured for it. - */ resourceId?: string | null; } - /** - * Represents an artifact guard policy. - */ export interface Schema$GoogleCloudSecuritycenterV2ArtifactGuardPolicy { - /** - * The reason for the policy failure, for example, "severity=HIGH AND max_vuln_count=2". - */ failureReason?: string | null; - /** - * The ID of the failing policy, for example, "organizations/3392779/locations/global/policies/prod-policy". - */ policyId?: string | null; - /** - * The type of the policy evaluation. - */ type?: string | null; } - /** - * Information about DDoS attack volume and classification. - */ export interface Schema$GoogleCloudSecuritycenterV2Attack { - /** - * Type of attack, for example, 'SYN-flood', 'NTP-udp', or 'CHARGEN-udp'. - */ classification?: string | null; - /** - * Total BPS (bytes per second) volume of attack. Deprecated - refer to volume_bps_long instead. - */ - volumeBps?: number | null; - /** - * Total BPS (bytes per second) volume of attack. - */ + volumeBps?: number | null; volumeBpsLong?: string | null; - /** - * Total PPS (packets per second) volume of attack. Deprecated - refer to volume_pps_long instead. - */ volumePps?: number | null; - /** - * Total PPS (packets per second) volume of attack. - */ volumePpsLong?: string | null; } - /** - * An attack exposure contains the results of an attack path simulation run. - */ export interface Schema$GoogleCloudSecuritycenterV2AttackExposure { - /** - * The resource name of the attack path simulation result that contains the details regarding this attack exposure score. Example: `organizations/123/simulations/456/attackExposureResults/789` - */ attackExposureResult?: string | null; - /** - * The number of high value resources that are exposed as a result of this finding. - */ exposedHighValueResourcesCount?: number | null; - /** - * The number of high value resources that are exposed as a result of this finding. - */ exposedLowValueResourcesCount?: number | null; - /** - * The number of medium value resources that are exposed as a result of this finding. - */ exposedMediumValueResourcesCount?: number | null; - /** - * The most recent time the attack exposure was updated on this finding. - */ latestCalculationTime?: string | null; - /** - * A number between 0 (inclusive) and infinity that represents how important this finding is to remediate. The higher the score, the more important it is to remediate. - */ score?: number | null; - /** - * Output only. What state this AttackExposure is in. This captures whether or not an attack exposure has been calculated or not. - */ state?: string | null; } - /** - * An AWS account that is a member of an organization. - */ export interface Schema$GoogleCloudSecuritycenterV2AwsAccount { - /** - * The unique identifier (ID) of the account, containing exactly 12 digits. - */ id?: string | null; - /** - * The friendly name of this account. - */ name?: string | null; } - /** - * AWS metadata associated with the resource, only applicable if the finding's cloud provider is Amazon Web Services. - */ export interface Schema$GoogleCloudSecuritycenterV2AwsMetadata { - /** - * The AWS account associated with the resource. - */ account?: Schema$GoogleCloudSecuritycenterV2AwsAccount; - /** - * The AWS organization associated with the resource. - */ organization?: Schema$GoogleCloudSecuritycenterV2AwsOrganization; - /** - * A list of AWS organizational units associated with the resource, ordered from lowest level (closest to the account) to highest level. - */ organizationalUnits?: Schema$GoogleCloudSecuritycenterV2AwsOrganizationalUnit[]; } - /** - * An organization is a collection of accounts that are centrally managed together using consolidated billing, organized hierarchically with organizational units (OUs), and controlled with policies. - */ export interface Schema$GoogleCloudSecuritycenterV2AwsOrganization { - /** - * The unique identifier (ID) for the organization. The regex pattern for an organization ID string requires "o-" followed by from 10 to 32 lowercase letters or digits. - */ id?: string | null; } - /** - * An Organizational Unit (OU) is a container of AWS accounts within a root of an organization. Policies that are attached to an OU apply to all accounts contained in that OU and in any child OUs. - */ export interface Schema$GoogleCloudSecuritycenterV2AwsOrganizationalUnit { - /** - * The unique identifier (ID) associated with this OU. The regex pattern for an organizational unit ID string requires "ou-" followed by from 4 to 32 lowercase letters or digits (the ID of the root that contains the OU). This string is followed by a second "-" dash and from 8 to 32 additional lowercase letters or digits. For example, "ou-ab12-cd34ef56". - */ id?: string | null; - /** - * The friendly name of the OU. - */ name?: string | null; } - /** - * Represents an Azure management group. - */ export interface Schema$GoogleCloudSecuritycenterV2AzureManagementGroup { - /** - * The display name of the Azure management group. - */ displayName?: string | null; - /** - * The UUID of the Azure management group, for example, `20000000-0001-0000-0000-000000000000`. - */ id?: string | null; } - /** - * Azure metadata associated with the resource, only applicable if the finding's cloud provider is Microsoft Azure. - */ export interface Schema$GoogleCloudSecuritycenterV2AzureMetadata { - /** - * A list of Azure management groups associated with the resource, ordered from lowest level (closest to the subscription) to highest level. - */ managementGroups?: Schema$GoogleCloudSecuritycenterV2AzureManagementGroup[]; - /** - * The Azure resource group associated with the resource. - */ resourceGroup?: Schema$GoogleCloudSecuritycenterV2AzureResourceGroup; - /** - * The Azure subscription associated with the resource. - */ subscription?: Schema$GoogleCloudSecuritycenterV2AzureSubscription; - /** - * The Azure Entra tenant associated with the resource. - */ tenant?: Schema$GoogleCloudSecuritycenterV2AzureTenant; } - /** - * Represents an Azure resource group. - */ export interface Schema$GoogleCloudSecuritycenterV2AzureResourceGroup { - /** - * The ID of the Azure resource group. - */ id?: string | null; - /** - * The name of the Azure resource group. This is not a UUID. - */ name?: string | null; } - /** - * Represents an Azure subscription. - */ export interface Schema$GoogleCloudSecuritycenterV2AzureSubscription { - /** - * The display name of the Azure subscription. - */ displayName?: string | null; - /** - * The UUID of the Azure subscription, for example, `291bba3f-e0a5-47bc-a099-3bdcb2a50a05`. - */ id?: string | null; } - /** - * Represents a Microsoft Entra tenant. - */ export interface Schema$GoogleCloudSecuritycenterV2AzureTenant { - /** - * The display name of the Azure tenant. - */ displayName?: string | null; - /** - * The ID of the Microsoft Entra tenant, for example, "a11aaa11-aa11-1aa1-11aa-1aaa11a". - */ id?: string | null; } - /** - * Information related to Google Cloud Backup and DR Service findings. - */ export interface Schema$GoogleCloudSecuritycenterV2BackupDisasterRecovery { - /** - * The name of the Backup and DR appliance that captures, moves, and manages the lifecycle of backup data. For example, `backup-server-57137`. - */ appliance?: string | null; - /** - * The names of Backup and DR applications. An application is a VM, database, or file system on a managed host monitored by a backup and recovery appliance. For example, `centos7-01-vol00`, `centos7-01-vol01`, `centos7-01-vol02`. - */ applications?: string[] | null; - /** - * The timestamp at which the Backup and DR backup was created. - */ backupCreateTime?: string | null; - /** - * The name of a Backup and DR template which comprises one or more backup policies. See the [Backup and DR documentation](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#temp) for more information. For example, `snap-ov`. - */ backupTemplate?: string | null; - /** - * The backup type of the Backup and DR image. For example, `Snapshot`, `Remote Snapshot`, `OnVault`. - */ backupType?: string | null; - /** - * The name of a Backup and DR host, which is managed by the backup and recovery appliance and known to the management console. The host can be of type Generic (for example, Compute Engine, SQL Server, Oracle DB, SMB file system, etc.), vCenter, or an ESX server. See the [Backup and DR documentation on hosts](https://cloud.google.com/backup-disaster-recovery/docs/configuration/manage-hosts-and-their-applications) for more information. For example, `centos7-01`. - */ host?: string | null; - /** - * The names of Backup and DR policies that are associated with a template and that define when to run a backup, how frequently to run a backup, and how long to retain the backup image. For example, `onvaults`. - */ policies?: string[] | null; - /** - * The names of Backup and DR advanced policy options of a policy applying to an application. See the [Backup and DR documentation on policy options](https://cloud.google.com/backup-disaster-recovery/docs/create-plan/policy-settings). For example, `skipofflineappsincongrp, nounmap`. - */ policyOptions?: string[] | null; - /** - * The name of the Backup and DR resource profile that specifies the storage media for backups of application and VM data. See the [Backup and DR documentation on profiles](https://cloud.google.com/backup-disaster-recovery/docs/concepts/backup-plan#profile). For example, `GCP`. - */ profile?: string | null; - /** - * The name of the Backup and DR storage pool that the backup and recovery appliance is storing data in. The storage pool could be of type Cloud, Primary, Snapshot, or OnVault. See the [Backup and DR documentation on storage pools](https://cloud.google.com/backup-disaster-recovery/docs/concepts/storage-pools). For example, `DiskPoolOne`. - */ storagePool?: string | null; } - /** - * Configures how to deliver Findings to BigQuery Instance. - */ export interface Schema$GoogleCloudSecuritycenterV2BigQueryExport { - /** - * Output only. The time at which the BigQuery export was created. This field is set by the server and will be ignored if provided on export on creation. - */ createTime?: string | null; - /** - * Output only. The resource name of the Cloud KMS `CryptoKey` used to protect this configuration's data, if configured during Security Command Center activation. - */ cryptoKeyName?: string | null; - /** - * The dataset to write findings' updates to. Its format is "projects/[project_id]/datasets/[bigquery_dataset_id]". BigQuery dataset unique ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). - */ dataset?: string | null; - /** - * The description of the export (max of 1024 characters). - */ description?: string | null; - /** - * Expression that defines the filter to apply across create/update events of findings. The expression is a list of zero or more restrictions combined via logical operators `AND` and `OR`. Parentheses are supported, and `OR` has higher precedence than `AND`. Restrictions have the form ` ` and may have a `-` character in front of them to indicate negation. The fields map to those defined in the corresponding resource. The supported operators are: * `=` for all value types. * `\>`, `<`, `\>=`, `<=` for integer values. * `:`, meaning substring matching, for strings. The supported value types are: * string literals in quotes. * integer literals without quotes. * boolean literals `true` and `false` without quotes. - */ filter?: string | null; - /** - * Output only. Email address of the user who last edited the BigQuery export. This field is set by the server and will be ignored if provided on export creation or update. - */ mostRecentEditor?: string | null; - /** - * Identifier. The relative resource name of this export. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name. The following list shows some examples: + `organizations/{organization_id\}/locations/{location_id\}/bigQueryExports/{export_id\}` + `folders/{folder_id\}/locations/{location_id\}/bigQueryExports/{export_id\}` + `projects/{project_id\}/locations/{location_id\}/bigQueryExports/{export_id\}` This field is provided in responses, and is ignored when provided in create requests. - */ name?: string | null; - /** - * Output only. The service account that needs permission to create table and upload data to the BigQuery dataset. - */ principal?: string | null; - /** - * Output only. The most recent time at which the BigQuery export was updated. This field is set by the server and will be ignored if provided on export creation or update. - */ updateTime?: string | null; } - /** - * Represents a Kubernetes RoleBinding or ClusterRoleBinding. - */ export interface Schema$GoogleCloudSecuritycenterV2Binding { - /** - * Name for the binding. - */ name?: string | null; - /** - * Namespace for the binding. - */ ns?: string | null; - /** - * The Role or ClusterRole referenced by the binding. - */ role?: Schema$GoogleCloudSecuritycenterV2Role; - /** - * Represents one or more subjects that are bound to the role. Not always available for PATCH requests. - */ subjects?: Schema$GoogleCloudSecuritycenterV2Subject[]; } - /** - * The response to a BulkMute request. Contains the LRO information. - */ export interface Schema$GoogleCloudSecuritycenterV2BulkMuteFindingsResponse {} - /** - * Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations). - */ export interface Schema$GoogleCloudSecuritycenterV2Chokepoint { - /** - * List of resource names of findings associated with this chokepoint. For example, organizations/123/sources/456/findings/789. This list will have at most 100 findings. - */ relatedFindings?: string[] | null; } - /** - * Fields related to Google Cloud Armor findings. - */ export interface Schema$GoogleCloudSecuritycenterV2CloudArmor { - /** - * Information about potential Layer 7 DDoS attacks identified by [Google Cloud Armor Adaptive Protection](https://cloud.google.com/armor/docs/adaptive-protection-overview). - */ adaptiveProtection?: Schema$GoogleCloudSecuritycenterV2AdaptiveProtection; - /** - * Information about DDoS attack volume and classification. - */ attack?: Schema$GoogleCloudSecuritycenterV2Attack; - /** - * Duration of attack from the start until the current moment (updated every 5 minutes). - */ duration?: string | null; - /** - * Information about incoming requests evaluated by [Google Cloud Armor security policies](https://cloud.google.com/armor/docs/security-policy-overview). - */ requests?: Schema$GoogleCloudSecuritycenterV2Requests; - /** - * Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding. - */ securityPolicy?: Schema$GoogleCloudSecuritycenterV2SecurityPolicy; - /** - * Distinguish between volumetric & protocol DDoS attack and application layer attacks. For example, "L3_4" for Layer 3 and Layer 4 DDoS attacks, or "L_7" for Layer 7 DDoS attacks. - */ threatVector?: string | null; } - /** - * CloudControl associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2CloudControl { - /** - * Name of the CloudControl associated with the finding. - */ cloudControlName?: string | null; - /** - * Policy type of the CloudControl - */ policyType?: string | null; - /** - * Type of cloud control. - */ type?: string | null; - /** - * Version of the Cloud Control - */ version?: number | null; } - /** - * The [data profile](https://cloud.google.com/dlp/docs/data-profiles) associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2CloudDlpDataProfile { - /** - * Name of the data profile, for example, `projects/123/locations/europe/tableProfiles/8383929`. - */ dataProfile?: string | null; - /** - * Type of information detected by SDP. Info type includes name, version and sensitivity of the detected information type. - */ infoTypes?: Schema$GoogleCloudSecuritycenterV2InfoType[]; - /** - * The resource hierarchy level at which the data profile was generated. - */ parentType?: string | null; } - /** - * Details about the Cloud Data Loss Prevention (Cloud DLP) [inspection job](https://cloud.google.com/dlp/docs/concepts-job-triggers) that produced the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2CloudDlpInspection { - /** - * Whether Cloud DLP scanned the complete resource or a sampled subset. - */ fullScan?: boolean | null; - /** - * The type of information (or *[infoType](https://cloud.google.com/dlp/docs/infotypes-reference)*) found, for example, `EMAIL_ADDRESS` or `STREET_ADDRESS`. - */ infoType?: string | null; - /** - * The number of times Cloud DLP found this infoType within this job and resource. - */ infoTypeCount?: string | null; - /** - * Name of the inspection job, for example, `projects/123/locations/europe/dlpJobs/i-8383929`. - */ inspectJob?: string | null; } - /** - * Metadata taken from a [Cloud Logging LogEntry](https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry) - */ export interface Schema$GoogleCloudSecuritycenterV2CloudLoggingEntry { - /** - * A unique identifier for the log entry. - */ insertId?: string | null; - /** - * The type of the log (part of `log_name`. `log_name` is the resource name of the log to which this log entry belongs). For example: `cloudresourcemanager.googleapis.com/activity` Note that this field is not URL-encoded, unlike in `LogEntry`. - */ logId?: string | null; - /** - * The organization, folder, or project of the monitored resource that produced this log entry. - */ resourceContainer?: string | null; - /** - * The time the event described by the log entry occurred. - */ timestamp?: string | null; } - /** - * Contains compliance information about a security standard indicating unmet recommendations. - */ export interface Schema$GoogleCloudSecuritycenterV2Compliance { - /** - * Policies within the standard or benchmark, for example, A.12.4.1 - */ ids?: string[] | null; - /** - * Industry-wide compliance standards or benchmarks, such as CIS, PCI, and OWASP. - */ standard?: string | null; - /** - * Version of the standard or benchmark, for example, 1.1 - */ version?: string | null; } - /** - * Compliance Details associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2ComplianceDetails { - /** - * CloudControl associated with the finding - */ cloudControl?: Schema$GoogleCloudSecuritycenterV2CloudControl; - /** - * Cloud Control Deployments associated with the finding. For example, organizations/123/locations/global/cloudControlDeployments/deploymentIdentifier - */ cloudControlDeploymentNames?: string[] | null; - /** - * Details of Frameworks associated with the finding - */ frameworks?: Schema$GoogleCloudSecuritycenterV2Framework[]; } - /** - * Contains information about the IP connection associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2Connection { - /** - * Destination IP address. Not present for sockets that are listening and not connected. - */ destinationIp?: string | null; - /** - * Destination port. Not present for sockets that are listening and not connected. - */ destinationPort?: number | null; - /** - * IANA Internet Protocol Number such as TCP(6) and UDP(17). - */ protocol?: string | null; - /** - * Source IP address. - */ sourceIp?: string | null; - /** - * Source port. - */ sourcePort?: number | null; } - /** - * The email address of a contact. - */ export interface Schema$GoogleCloudSecuritycenterV2Contact { - /** - * An email address. For example, "`person123@company.com`". - */ email?: string | null; } - /** - * Details about specific contacts - */ export interface Schema$GoogleCloudSecuritycenterV2ContactDetails { - /** - * A list of contacts - */ contacts?: Schema$GoogleCloudSecuritycenterV2Contact[]; } - /** - * Container associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2Container { - /** - * The time that the container was created. - */ createTime?: string | null; - /** - * Optional container image ID, if provided by the container runtime. Uniquely identifies the container image launched using a container image digest. - */ imageId?: string | null; - /** - * Container labels, as provided by the container runtime. - */ labels?: Schema$GoogleCloudSecuritycenterV2Label[]; - /** - * Name of the container. - */ name?: string | null; - /** - * Container image URI provided when configuring a pod or container. This string can identify a container image version using mutable tags. - */ uri?: string | null; } - /** - * Compliance control associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2Control { - /** - * Name of the Control - */ controlName?: string | null; - /** - * Display name of the control. For example, AU-02. - */ displayName?: string | null; } - /** - * CVE stands for Common Vulnerabilities and Exposures. Information from the [CVE record](https://www.cve.org/ResourcesSupport/Glossary) that describes this vulnerability. - */ export interface Schema$GoogleCloudSecuritycenterV2Cve { - /** - * Describe Common Vulnerability Scoring System specified at https://www.first.org/cvss/v3.1/specification-document - */ cvssv3?: Schema$GoogleCloudSecuritycenterV2Cvssv3; - /** - * The exploitation activity of the vulnerability in the wild. - */ exploitationActivity?: string | null; - /** - * Date the first publicly available exploit or PoC was released. - */ exploitReleaseDate?: string | null; - /** - * Date of the earliest known exploitation. - */ - firstExploitationDate?: string | null; - /** - * The unique identifier for the vulnerability. e.g. CVE-2021-34527 - */ + firstExploitationDate?: string | null; id?: string | null; - /** - * The potential impact of the vulnerability if it was to be exploited. - */ impact?: string | null; - /** - * Whether or not the vulnerability has been observed in the wild. - */ observedInTheWild?: boolean | null; - /** - * Additional information about the CVE. e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527 - */ references?: Schema$GoogleCloudSecuritycenterV2Reference[]; - /** - * Whether upstream fix is available for the CVE. - */ upstreamFixAvailable?: boolean | null; - /** - * Whether or not the vulnerability was zero day when the finding was published. - */ zeroDay?: boolean | null; } - /** - * Common Vulnerability Scoring System version 3. - */ export interface Schema$GoogleCloudSecuritycenterV2Cvssv3 { - /** - * This metric describes the conditions beyond the attacker's control that must exist in order to exploit the vulnerability. - */ attackComplexity?: string | null; - /** - * Base Metrics Represents the intrinsic characteristics of a vulnerability that are constant over time and across user environments. This metric reflects the context by which vulnerability exploitation is possible. - */ attackVector?: string | null; - /** - * This metric measures the impact to the availability of the impacted component resulting from a successfully exploited vulnerability. - */ availabilityImpact?: string | null; - /** - * The base score is a function of the base metric scores. - */ baseScore?: number | null; - /** - * This metric measures the impact to the confidentiality of the information resources managed by a software component due to a successfully exploited vulnerability. - */ confidentialityImpact?: string | null; - /** - * This metric measures the impact to integrity of a successfully exploited vulnerability. - */ integrityImpact?: string | null; - /** - * This metric describes the level of privileges an attacker must possess before successfully exploiting the vulnerability. - */ privilegesRequired?: string | null; - /** - * The Scope metric captures whether a vulnerability in one vulnerable component impacts resources in components beyond its security scope. - */ scope?: string | null; - /** - * This metric captures the requirement for a human user, other than the attacker, to participate in the successful compromise of the vulnerable component. - */ userInteraction?: string | null; } - /** - * CWE stands for Common Weakness Enumeration. Information about this weakness, as described by [CWE](https://cwe.mitre.org/). - */ export interface Schema$GoogleCloudSecuritycenterV2Cwe { - /** - * The CWE identifier, e.g. CWE-94 - */ id?: string | null; - /** - * Any reference to the details on the CWE, for example, https://cwe.mitre.org/data/definitions/94.html - */ references?: Schema$GoogleCloudSecuritycenterV2Reference[]; } - /** - * Details about a data access attempt made by a principal not authorized under applicable data security policy. - */ export interface Schema$GoogleCloudSecuritycenterV2DataAccessEvent { - /** - * Unique identifier for data access event. - */ eventId?: string | null; - /** - * Timestamp of data access event. - */ eventTime?: string | null; - /** - * The operation performed by the principal to access the data. - */ operation?: string | null; - /** - * The email address of the principal that accessed the data. The principal could be a user account, service account, Google group, or other. - */ principalEmail?: string | null; } - /** - * Represents database access information, such as queries. A database may be a sub-resource of an instance (as in the case of Cloud SQL instances or Cloud Spanner instances), or the database instance itself. Some database resources might not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types, such as Cloud SQL databases, are not yet supported by Cloud Asset Inventory. In these cases only the display name is provided. - */ export interface Schema$GoogleCloudSecuritycenterV2Database { - /** - * The human-readable name of the database that the user connected to. - */ displayName?: string | null; - /** - * The target usernames, roles, or groups of an SQL privilege grant, which is not an IAM policy change. - */ grantees?: string[] | null; - /** - * Some database resources may not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types are not yet supported by Cloud Asset Inventory (e.g. Cloud SQL databases). In these cases only the display name will be provided. The [full resource name](https://google.aip.dev/122#full-resource-names) of the database that the user connected to, if it is supported by Cloud Asset Inventory. - */ name?: string | null; - /** - * The SQL statement that is associated with the database access. - */ query?: string | null; - /** - * The username used to connect to the database. The username might not be an IAM principal and does not have a set format. - */ userName?: string | null; - /** - * The version of the database, for example, POSTGRES_14. See [the complete list](https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1/SqlDatabaseVersion). - */ version?: string | null; } - /** - * Details about a data flow event, in which either the data is moved to or is accessed from a non-compliant geo-location, as defined in the applicable data security policy. - */ export interface Schema$GoogleCloudSecuritycenterV2DataFlowEvent { - /** - * Unique identifier for data flow event. - */ eventId?: string | null; - /** - * Timestamp of data flow event. - */ eventTime?: string | null; - /** - * The operation performed by the principal for the data flow event. - */ operation?: string | null; - /** - * The email address of the principal that initiated the data flow event. The principal could be a user account, service account, Google group, or other. - */ principalEmail?: string | null; - /** - * Non-compliant location of the principal or the data destination. - */ violatedLocation?: string | null; } - /** - * Details about data retention deletion violations, in which the data is non-compliant based on their retention or deletion time, as defined in the applicable data security policy. The Data Retention Deletion (DRD) control is a control of the DSPM (Data Security Posture Management) suite that enables organizations to manage data retention and deletion policies in compliance with regulations, such as GDPR and CRPA. DRD supports two primary policy types: maximum storage length (max TTL) and minimum storage length (min TTL). Both are aimed at helping organizations meet regulatory and data management commitments. - */ export interface Schema$GoogleCloudSecuritycenterV2DataRetentionDeletionEvent { - /** - * Number of objects that violated the policy for this resource. If the number is less than 1,000, then the value of this field is the exact number. If the number of objects that violated the policy is greater than or equal to 1,000, then the value of this field is 1000. - */ dataObjectCount?: string | null; - /** - * Timestamp indicating when the event was detected. - */ eventDetectionTime?: string | null; - /** - * Type of the DRD event. - */ eventType?: string | null; - /** - * Maximum duration of retention allowed from the DRD control. This comes from the DRD control where users set a max TTL for their data. For example, suppose that a user sets the max TTL for a Cloud Storage bucket to 90 days. However, an object in that bucket is 100 days old. In this case, a DataRetentionDeletionEvent will be generated for that Cloud Storage bucket, and the max_retention_allowed is 90 days. - */ maxRetentionAllowed?: string | null; - /** - * Min duration of retention allowed from the DSPM retention control. This field is only populated when event type is set to EVENT_TYPE_MIN_TTL_FROM_CREATION. - */ minRetentionAllowed?: string | null; } - /** - * Vertex AI dataset associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2Dataset { - /** - * The user defined display name of dataset, e.g. plants-dataset - */ displayName?: string | null; - /** - * Resource name of the dataset, e.g. projects/{project\}/locations/{location\}/datasets/2094040236064505856 - */ name?: string | null; - /** - * Data source, such as a BigQuery source URI, e.g. bq://scc-nexus-test.AIPPtest.gsod - */ source?: string | null; } - /** - * Denied IP rule. - */ export interface Schema$GoogleCloudSecuritycenterV2Denied { - /** - * Optional. Optional list of denied IP rules. - */ ipRules?: Schema$GoogleCloudSecuritycenterV2IpRule[]; } - /** - * Memory hash detection contributing to the binary family match. - */ export interface Schema$GoogleCloudSecuritycenterV2Detection { - /** - * The name of the binary associated with the memory hash signature detection. - */ binary?: string | null; - /** - * The percentage of memory page hashes in the signature that were matched. - */ percentPagesMatched?: number | null; } - /** - * Represents discovered, customer managed workload that is not registered with the respective GCP service. - */ export interface Schema$GoogleCloudSecuritycenterV2DiscoveredWorkload { - /** - * The confidence in detection of this workload. - */ confidence?: string | null; - /** - * A boolean flag set to true if associated hardware strongly predicts the workload type. - */ detectedRelevantHardware?: boolean | null; - /** - * A boolean flag set to true if associated keywords strongly predict the workload type. - */ detectedRelevantKeywords?: boolean | null; - /** - * A boolean flag set to true if installed packages strongly predict the workload type. - */ detectedRelevantPackages?: boolean | null; - /** - * The type of workload. - */ workloadType?: string | null; } - /** - * Contains information about the disk associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2Disk { - /** - * The name of the disk, for example, "https://www.googleapis.com/compute/v1/projects/{project-id\}/zones/{zone-id\}/disks/{disk-id\}". - */ name?: string | null; } - /** - * Path of the file in terms of underlying disk/partition identifiers. - */ export interface Schema$GoogleCloudSecuritycenterV2DiskPath { - /** - * UUID of the partition (format https://wiki.archlinux.org/title/persistent_block_device_naming#by-uuid) - */ partitionUuid?: string | null; - /** - * Relative path of the file in the partition as a JSON encoded string. Example: /home/user1/executable_file.sh - */ relativePath?: string | null; } - /** - * The record of a dynamic mute rule that matches the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2DynamicMuteRecord { - /** - * When the dynamic mute rule first matched the finding. - */ matchTime?: string | null; - /** - * The relative resource name of the mute rule, represented by a mute config, that created this record, for example `organizations/123/muteConfigs/mymuteconfig` or `organizations/123/locations/global/muteConfigs/mymuteconfig`. - */ muteConfig?: string | null; } - /** - * A name-value pair representing an environment variable used in an operating system process. - */ export interface Schema$GoogleCloudSecuritycenterV2EnvironmentVariable { - /** - * Environment variable name as a JSON encoded string. - */ name?: string | null; - /** - * Environment variable value as a JSON encoded string. - */ val?: string | null; } - /** - * Resource where data was exfiltrated from or exfiltrated to. - */ export interface Schema$GoogleCloudSecuritycenterV2ExfilResource { - /** - * Subcomponents of the asset that was exfiltrated, like URIs used during exfiltration, table names, databases, and filenames. For example, multiple tables might have been exfiltrated from the same Cloud SQL instance, or multiple files might have been exfiltrated from the same Cloud Storage bucket. - */ components?: string[] | null; - /** - * The resource's [full resource name](https://cloud.google.com/apis/design/resource_names#full_resource_name). - */ name?: string | null; } - /** - * Exfiltration represents a data exfiltration attempt from one or more sources to one or more targets. The `sources` attribute lists the sources of the exfiltrated data. The `targets` attribute lists the destinations the data was copied to. - */ export interface Schema$GoogleCloudSecuritycenterV2Exfiltration { - /** - * If there are multiple sources, then the data is considered "joined" between them. For instance, BigQuery can join multiple tables, and each table would be considered a source. - */ sources?: Schema$GoogleCloudSecuritycenterV2ExfilResource[]; - /** - * If there are multiple targets, each target would get a complete copy of the "joined" source data. - */ targets?: Schema$GoogleCloudSecuritycenterV2ExfilResource[]; - /** - * Total exfiltrated bytes processed for the entire job. - */ totalExfiltratedBytes?: string | null; } - /** - * Details about the externally exposed resource associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2ExternalExposure { - /** - * The full resource name of the load balancer backend bucket, for example, "//compute.googleapis.com/projects/{project-id\}/global/backendBuckets/{name\}" - */ backendBucket?: string | null; - /** - * The full resource name of load balancer backend service, for example, "//compute.googleapis.com/projects/{project-id\}/global/backendServices/{name\}". - */ backendService?: string | null; - /** - * The name and version of the exposed web application, for example, "Jenkins 2.184". - */ exposedApplication?: string | null; - /** - * The resource which is running the exposed service, for example, "//compute.googleapis.com/projects/{project-id\}/zones/{zone\}/instances/{instance\}.” - */ exposedEndpoint?: string | null; - /** - * The name and version of the service, for example, "Jupyter Notebook 6.14.0". - */ exposedService?: string | null; - /** - * The full resource name of the forwarding rule, for example, "//compute.googleapis.com/projects/{project-id\}/global/forwardingRules/{forwarding-rule-name\}". - */ forwardingRule?: string | null; - /** - * Hostname of the exposed application, for example, "https://test-app.a.run.app/" - */ hostnameUri?: string | null; - /** - * The http response returned by the web application. - */ httpResponse?: Schema$GoogleCloudSecuritycenterV2HttpResponse[]; - /** - * The full resource name of the instance group, for example, "//compute.googleapis.com/projects/{project-id\}/global/instanceGroups/{name\}". - */ instanceGroup?: string | null; - /** - * The full resource name of load balancer backend service in the internal project having resource exposed via PSC, for example, "//compute.googleapis.com/projects/{project-id\}/global/backendServices/{name\}". - */ internalBackendService?: string | null; - /** - * The full resource name of the load balancer firewall policy, for example, "//compute.googleapis.com/projects/{project-id\}/global/firewallPolicies/{policy-name\}". - */ loadBalancerFirewallPolicy?: string | null; - /** - * The full resource name of the network endpoint group, for example, "//compute.googleapis.com/projects/{project-id\}/global/networkEndpointGroups/{name\}". - */ networkEndpointGroup?: string | null; - /** - * The full resource name of the network ingress firewall policy, for example, "//compute.googleapis.com/projects/{project-id\}/global/firewallPolicies/{name\}". - */ networkIngressFirewallPolicy?: string | null; - /** - * Private IP address of the exposed endpoint. - */ privateIpAddress?: string | null; - /** - * Port number associated with private IP address. - */ privatePort?: string | null; - /** - * The full resource name of the PSC (Private Service Connect) network attachment that network interface controller is attached to, for example, "//compute.googleapis.com/projects/{project-id\}/regions/{region\}/networkAttachments/{name\}" - */ pscNetworkAttachment?: string | null; - /** - * The full resource name of the PSC (Private Service Connect) service attachment that the load balancer network endpoint group targets, for example, "//compute.googleapis.com/projects/{project-id\}/regions/{region\}/serviceAttachments/{name\}" - */ pscServiceAttachment?: string | null; - /** - * Public IP address of the exposed endpoint. - */ publicIpAddress?: string | null; - /** - * Public port number of the exposed endpoint. - */ publicPort?: string | null; - /** - * The full resource name of the firewall policy of the exposed service, for example, "//compute.googleapis.com/projects/{project-id\}/global/firewallPolicies/{policy-name\}". - */ serviceFirewallPolicy?: string | null; } - /** - * Representation of third party SIEM/SOAR fields within SCC. - */ export interface Schema$GoogleCloudSecuritycenterV2ExternalSystem { - /** - * References primary/secondary etc assignees in the external system. - */ assignees?: string[] | null; - /** - * The time when the case was closed, as reported by the external system. - */ caseCloseTime?: string | null; - /** - * The time when the case was created, as reported by the external system. - */ caseCreateTime?: string | null; - /** - * The priority of the finding's corresponding case in the external system. - */ casePriority?: string | null; - /** - * The SLA of the finding's corresponding case in the external system. - */ caseSla?: string | null; - /** - * The link to the finding's corresponding case in the external system. - */ caseUri?: string | null; - /** - * The time when the case was last updated, as reported by the external system. - */ externalSystemUpdateTime?: string | null; - /** - * The identifier that's used to track the finding's corresponding case in the external system. - */ externalUid?: string | null; - /** - * Full resource name of the external system. The following list shows some examples: + `organizations/1234/sources/5678/findings/123456/externalSystems/jira` + `organizations/1234/sources/5678/locations/us/findings/123456/externalSystems/jira` + `folders/1234/sources/5678/findings/123456/externalSystems/jira` + `folders/1234/sources/5678/locations/us/findings/123456/externalSystems/jira` + `projects/1234/sources/5678/findings/123456/externalSystems/jira` + `projects/1234/sources/5678/locations/us/findings/123456/externalSystems/jira` - */ name?: string | null; - /** - * The most recent status of the finding's corresponding case, as reported by the external system. - */ status?: string | null; - /** - * Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding. - */ ticketInfo?: Schema$GoogleCloudSecuritycenterV2TicketInfo; } - /** - * File information about the related binary/library used by an executable, or the script used by a script interpreter - */ export interface Schema$GoogleCloudSecuritycenterV2File { - /** - * Prefix of the file contents as a JSON-encoded string. - */ contents?: string | null; - /** - * Path of the file in terms of underlying disk/partition identifiers. - */ diskPath?: Schema$GoogleCloudSecuritycenterV2DiskPath; - /** - * The load state of the file. - */ fileLoadState?: string | null; - /** - * The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file. - */ hashedSize?: string | null; - /** - * Operation(s) performed on a file. - */ operations?: Schema$GoogleCloudSecuritycenterV2FileOperation[]; - /** - * True when the hash covers only a prefix of the file. - */ partiallyHashed?: boolean | null; - /** - * Absolute path of the file as a JSON encoded string. - */ path?: string | null; - /** - * SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, sha256 represents the SHA256 hash of the entire file. - */ sha256?: string | null; - /** - * Size of the file in bytes. - */ size?: string | null; } - /** - * Operation(s) performed on a file. - */ export interface Schema$GoogleCloudSecuritycenterV2FileOperation { - /** - * The type of the operation - */ type?: string | null; } - /** - * Security Command Center finding. A finding is a record of assessment data like security, risk, health, or privacy, that is ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, a cross-site scripting (XSS) vulnerability in an App Engine application is a finding. - */ export interface Schema$GoogleCloudSecuritycenterV2Finding { - /** - * Access details associated with the finding, such as more information on the caller, which method was accessed, and from where. - */ access?: Schema$GoogleCloudSecuritycenterV2Access; - /** - * AffectedResources associated with the finding. - */ affectedResources?: Schema$GoogleCloudSecuritycenterV2AffectedResources; - /** - * Agent data access events associated with the finding. - */ agentDataAccessEvents?: Schema$GoogleCloudSecuritycenterV2AgentDataAccessEvent[]; - /** - * The AI model associated with the finding. - */ aiModel?: Schema$GoogleCloudSecuritycenterV2AiModel; - /** - * Represents an application associated with the finding. - */ - application?: Schema$GoogleCloudSecuritycenterV2Application; - /** - * ArtifactGuardPolicies associated with the finding. - */ + application?: Schema$GoogleCloudSecuritycenterV2Application; artifactGuardPolicies?: Schema$GoogleCloudSecuritycenterV2ArtifactGuardPolicies; - /** - * The results of an attack path simulation relevant to this finding. - */ attackExposure?: Schema$GoogleCloudSecuritycenterV2AttackExposure; - /** - * Fields related to Backup and DR findings. - */ backupDisasterRecovery?: Schema$GoogleCloudSecuritycenterV2BackupDisasterRecovery; - /** - * Output only. The canonical name of the finding. The following list shows some examples: + `organizations/{organization_id\}/sources/{source_id\}/locations/{location_id\}/findings/{finding_id\}` + `folders/{folder_id\}/sources/{source_id\}/locations/{location_id\}/findings/{finding_id\}` + `projects/{project_id\}/sources/{source_id\}/locations/{location_id\}/findings/{finding_id\}` The prefix is the closest CRM ancestor of the resource associated with the finding. - */ canonicalName?: string | null; - /** - * Immutable. The additional taxonomy group within findings from a given source. Example: "XSS_FLASH_INJECTION" - */ category?: string | null; - /** - * Contains details about a chokepoint, which is a resource or resource group where high-risk attack paths converge, based on [attack path simulations] (https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_path_simulations). This field cannot be updated. Its value is ignored in all update requests. - */ chokepoint?: Schema$GoogleCloudSecuritycenterV2Chokepoint; - /** - * Fields related to Cloud Armor findings. - */ cloudArmor?: Schema$GoogleCloudSecuritycenterV2CloudArmor; - /** - * Cloud DLP data profile that is associated with the finding. - */ cloudDlpDataProfile?: Schema$GoogleCloudSecuritycenterV2CloudDlpDataProfile; - /** - * Cloud Data Loss Prevention (Cloud DLP) inspection results that are associated with the finding. - */ cloudDlpInspection?: Schema$GoogleCloudSecuritycenterV2CloudDlpInspection; - /** - * Details about the compliance implications of the finding. - */ complianceDetails?: Schema$GoogleCloudSecuritycenterV2ComplianceDetails; - /** - * Contains compliance information for security standards associated to the finding. - */ compliances?: Schema$GoogleCloudSecuritycenterV2Compliance[]; - /** - * Contains information about the IP connection associated with the finding. - */ connections?: Schema$GoogleCloudSecuritycenterV2Connection[]; - /** - * Output only. Map containing the points of contact for the given finding. The key represents the type of contact, while the value contains a list of all the contacts that pertain. Please refer to: https://cloud.google.com/resource-manager/docs/managing-notification-contacts#notification-categories { "security": { "contacts": [ { "email": "person1@company.com" \}, { "email": "person2@company.com" \} ] \} \} - */ contacts?: { [key: string]: Schema$GoogleCloudSecuritycenterV2ContactDetails; } | null; - /** - * Containers associated with the finding. This field provides information for both Kubernetes and non-Kubernetes containers. - */ containers?: Schema$GoogleCloudSecuritycenterV2Container[]; - /** - * Output only. The time at which the finding was created in Security Command Center. - */ createTime?: string | null; - /** - * Output only. The name of the Cloud KMS key used to encrypt this finding, if any. - */ cryptoKeyName?: string | null; - /** - * Data access events associated with the finding. - */ dataAccessEvents?: Schema$GoogleCloudSecuritycenterV2DataAccessEvent[]; - /** - * Database associated with the finding. - */ database?: Schema$GoogleCloudSecuritycenterV2Database; - /** - * Data flow events associated with the finding. - */ dataFlowEvents?: Schema$GoogleCloudSecuritycenterV2DataFlowEvent[]; - /** - * Data retention deletion events associated with the finding. - */ dataRetentionDeletionEvents?: Schema$GoogleCloudSecuritycenterV2DataRetentionDeletionEvent[]; - /** - * Contains more details about the finding. - */ description?: string | null; - /** - * DiscoveredWorkload associated with the finding. - */ discoveredWorkload?: Schema$GoogleCloudSecuritycenterV2DiscoveredWorkload; - /** - * Disk associated with the finding. - */ disk?: Schema$GoogleCloudSecuritycenterV2Disk; - /** - * The time the finding was first detected. If an existing finding is updated, then this is the time the update occurred. For example, if the finding represents an open firewall, this property captures the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding is later resolved, then this time reflects when the finding was resolved. This must not be set to a value greater than the current timestamp. - */ eventTime?: string | null; - /** - * Represents exfiltrations associated with the finding. - */ exfiltration?: Schema$GoogleCloudSecuritycenterV2Exfiltration; - /** - * External exposure associated with the finding. - */ externalExposure?: Schema$GoogleCloudSecuritycenterV2ExternalExposure; - /** - * Output only. Third party SIEM/SOAR fields within SCC, contains external system information and external system finding fields. - */ externalSystems?: { [key: string]: Schema$GoogleCloudSecuritycenterV2ExternalSystem; } | null; - /** - * The URI that, if available, points to a web page outside of Security Command Center where additional information about the finding can be found. This field is guaranteed to be either empty or a well formed URL. - */ externalUri?: string | null; - /** - * File associated with the finding. - */ files?: Schema$GoogleCloudSecuritycenterV2File[]; - /** - * The class of the finding. - */ findingClass?: string | null; - /** - * Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way. This field cannot be updated. Its value is ignored in all update requests. - */ groupMemberships?: Schema$GoogleCloudSecuritycenterV2GroupMembership[]; - /** - * Represents IAM bindings associated with the finding. - */ iamBindings?: Schema$GoogleCloudSecuritycenterV2IamBinding[]; - /** - * Represents what's commonly known as an *indicator of compromise* (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise). - */ indicator?: Schema$GoogleCloudSecuritycenterV2Indicator; - /** - * IP rules associated with the finding. - */ ipRules?: Schema$GoogleCloudSecuritycenterV2IpRules; - /** - * Job associated with the finding. - */ job?: Schema$GoogleCloudSecuritycenterV2Job; - /** - * Signature of the kernel rootkit. - */ kernelRootkit?: Schema$GoogleCloudSecuritycenterV2KernelRootkit; - /** - * Kubernetes resources associated with the finding. - */ kubernetes?: Schema$GoogleCloudSecuritycenterV2Kubernetes; - /** - * The load balancers associated with the finding. - */ loadBalancers?: Schema$GoogleCloudSecuritycenterV2LoadBalancer[]; - /** - * Log entries that are relevant to the finding. - */ logEntries?: Schema$GoogleCloudSecuritycenterV2LogEntry[]; - /** - * MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org - */ mitreAttack?: Schema$GoogleCloudSecuritycenterV2MitreAttack; - /** - * Unique identifier of the module which generated the finding. Example: folders/598186756061/securityHealthAnalyticsSettings/customModules/56799441161885 - */ moduleName?: string | null; - /** - * Indicates the mute state of a finding (either muted, unmuted or undefined). Unlike other attributes of a finding, a finding provider shouldn't set the value of mute. - */ mute?: string | null; - /** - * Output only. The mute information regarding this finding. - */ muteInfo?: Schema$GoogleCloudSecuritycenterV2MuteInfo; - /** - * Records additional information about the mute operation, for example, the [mute configuration](https://cloud.google.com/security-command-center/docs/how-to-mute-findings) that muted the finding and the user who muted the finding. - */ muteInitiator?: string | null; - /** - * Output only. The most recent time this finding was muted or unmuted. - */ muteUpdateTime?: string | null; - /** - * Identifier. The [relative resource name](https://cloud.google.com/apis/design/resource_names#relative_resource_name) of the finding. The following list shows some examples: + `organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}` + `organizations/{organization_id\}/sources/{source_id\}/locations/{location_id\}/findings/{finding_id\}` + `folders/{folder_id\}/sources/{source_id\}/findings/{finding_id\}` + `folders/{folder_id\}/sources/{source_id\}/locations/{location_id\}/findings/{finding_id\}` + `projects/{project_id\}/sources/{source_id\}/findings/{finding_id\}` + `projects/{project_id\}/sources/{source_id\}/locations/{location_id\}/findings/{finding_id\}` - */ name?: string | null; - /** - * Represents the VPC networks that the resource is attached to. - */ networks?: Schema$GoogleCloudSecuritycenterV2Network[]; - /** - * Steps to address the finding. - */ nextSteps?: string | null; - /** - * Notebook associated with the finding. - */ notebook?: Schema$GoogleCloudSecuritycenterV2Notebook; - /** - * Contains information about the org policies associated with the finding. - */ orgPolicies?: Schema$GoogleCloudSecuritycenterV2OrgPolicy[]; - /** - * The relative resource name of the source and location the finding belongs to. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name This field is immutable after creation time. The following list shows some examples: + `organizations/{organization_id\}/sources/{source_id\}` + `folders/{folders_id\}/sources/{source_id\}` + `projects/{projects_id\}/sources/{source_id\}` + `organizations/{organization_id\}/sources/{source_id\}/locations/{location_id\}` + `folders/{folders_id\}/sources/{source_id\}/locations/{location_id\}` + `projects/{projects_id\}/sources/{source_id\}/locations/{location_id\}` - */ parent?: string | null; - /** - * Output only. The human readable display name of the finding source such as "Event Threat Detection" or "Security Health Analytics". - */ parentDisplayName?: string | null; - /** - * PolicyViolationSummary associated with the finding. - */ policyViolationSummary?: Schema$GoogleCloudSecuritycenterV2PolicyViolationSummary; - /** - * Represents operating system processes associated with the Finding. - */ processes?: Schema$GoogleCloudSecuritycenterV2Process[]; - /** - * Immutable. For findings on Google Cloud resources, the full resource name of the Google Cloud resource this finding is for. See: https://cloud.google.com/apis/design/resource_names#full_resource_name When the finding is for a non-Google Cloud resource, the resourceName can be a customer or partner defined string. - */ resourceName?: string | null; - /** - * Secret associated with the finding. - */ secret?: Schema$GoogleCloudSecuritycenterV2Secret; - /** - * Output only. User specified security marks. These marks are entirely managed by the user and come from the SecurityMarks resource that belongs to the finding. - */ securityMarks?: Schema$GoogleCloudSecuritycenterV2SecurityMarks; - /** - * The security posture associated with the finding. - */ securityPosture?: Schema$GoogleCloudSecuritycenterV2SecurityPosture; - /** - * The severity of the finding. This field is managed by the source that writes the finding. - */ severity?: string | null; - /** - * Source specific properties. These properties are managed by the source that writes the finding. The key names in the source_properties map must be between 1 and 255 characters, and must start with a letter and contain alphanumeric characters or underscores only. - */ sourceProperties?: {[key: string]: any} | null; - /** - * Output only. The state of the finding. - */ state?: string | null; - /** - * Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. This field cannot be updated. Its value is ignored in all update requests. - */ toxicCombination?: Schema$GoogleCloudSecuritycenterV2ToxicCombination; - /** - * VertexAi associated with the finding. - */ vertexAi?: Schema$GoogleCloudSecuritycenterV2VertexAi; - /** - * Represents vulnerability-specific fields like CVE and CVSS scores. CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/) - */ vulnerability?: Schema$GoogleCloudSecuritycenterV2Vulnerability; } - /** - * Message that contains the resource name and display name of a folder resource. - */ export interface Schema$GoogleCloudSecuritycenterV2Folder { - /** - * Full resource name of this folder. See: https://cloud.google.com/apis/design/resource_names#full_resource_name - */ resourceFolder?: string | null; - /** - * The user defined display name for this folder. - */ resourceFolderDisplayName?: string | null; } - /** - * Compliance framework associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2Framework { - /** - * Category of the framework associated with the finding. E.g. Security Benchmark, or Assured Workloads - */ category?: string[] | null; - /** - * The controls associated with the framework. - */ controls?: Schema$GoogleCloudSecuritycenterV2Control[]; - /** - * Display name of the framework. For a standard framework, this will look like e.g. PCI DSS 3.2.1, whereas for a custom framework it can be a user defined string like MyFramework - */ displayName?: string | null; - /** - * Name of the framework associated with the finding - */ name?: string | null; - /** - * Type of the framework associated with the finding, to specify whether the framework is built-in (pre-defined and immutable) or a custom framework defined by the customer (equivalent to security posture) - */ type?: string | null; } - /** - * Represents a geographical location for a given access. - */ export interface Schema$GoogleCloudSecuritycenterV2Geolocation { - /** - * A CLDR. - */ regionCode?: string | null; } - /** - * Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way. - */ export interface Schema$GoogleCloudSecuritycenterV2GroupMembership { - /** - * ID of the group. - */ groupId?: string | null; - /** - * Type of group. - */ groupType?: string | null; } - /** - * The http response returned by the web application. - */ export interface Schema$GoogleCloudSecuritycenterV2HttpResponse { - /** - * The http path for which response code was returned by web application, for example, "https://test-app.a.run.app/test". - */ path?: string | null; - /** - * The http response code returned by the web application, for example, 200. - */ statusCode?: string | null; } - /** - * Represents a particular IAM binding, which captures a member's role addition, removal, or state. - */ export interface Schema$GoogleCloudSecuritycenterV2IamBinding { - /** - * The action that was performed on a Binding. - */ action?: string | null; - /** - * A single identity requesting access for a Cloud Platform resource, for example, "foo@google.com". - */ member?: string | null; - /** - * Role that is assigned to "members". For example, "roles/viewer", "roles/editor", or "roles/owner". - */ role?: string | null; } - /** - * Represents what's commonly known as an _indicator of compromise_ (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise). - */ export interface Schema$GoogleCloudSecuritycenterV2Indicator { - /** - * List of domains associated to the Finding. - */ domains?: string[] | null; - /** - * The list of IP addresses that are associated with the finding. - */ ipAddresses?: string[] | null; - /** - * The list of matched signatures indicating that the given process is present in the environment. - */ signatures?: Schema$GoogleCloudSecuritycenterV2ProcessSignature[]; - /** - * The list of URIs associated to the Findings. - */ uris?: string[] | null; } - /** - * Type of information detected by the API. - */ export interface Schema$GoogleCloudSecuritycenterV2InfoType { - /** - * Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64\}`. - */ name?: string | null; - /** - * Optional custom sensitivity for this InfoType. This only applies to data profiling. - */ sensitivityScore?: Schema$GoogleCloudSecuritycenterV2SensitivityScore; - /** - * Optional version name for this InfoType. - */ version?: string | null; } - /** - * IP rule information. - */ export interface Schema$GoogleCloudSecuritycenterV2IpRule { - /** - * Optional. An optional list of ports to which this rule applies. This field is only applicable for the UDP or (S)TCP protocols. Each entry must be either an integer or a range including a min and max port number. - */ portRanges?: Schema$GoogleCloudSecuritycenterV2PortRange[]; - /** - * The IP protocol this rule applies to. This value can either be one of the following well known protocol strings (TCP, UDP, ICMP, ESP, AH, IPIP, SCTP) or a string representation of the integer value. - */ protocol?: string | null; } - /** - * IP rules associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2IpRules { - /** - * Tuple with allowed rules. - */ allowed?: Schema$GoogleCloudSecuritycenterV2Allowed; - /** - * Tuple with denied rules. - */ denied?: Schema$GoogleCloudSecuritycenterV2Denied; - /** - * If destination IP ranges are specified, the firewall rule applies only to traffic that has a destination IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4. - */ destinationIpRanges?: string[] | null; - /** - * The direction that the rule is applicable to, one of ingress or egress. - */ direction?: string | null; - /** - * Name of the network protocol service, such as FTP, that is exposed by the open port. Follows the naming convention available at: https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml. - */ exposedServices?: string[] | null; - /** - * If source IP 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. Only supports IPv4. - */ sourceIpRanges?: string[] | null; } - /** - * Security Command Center Issue. - */ export interface Schema$GoogleCloudSecuritycenterV2Issue { - /** - * Output only. The time the issue was created. - */ createTime?: string | null; - /** - * The description of the issue in Markdown format. - */ description?: string | null; - /** - * The finding category or rule name that generated the issue. - */ detection?: string | null; - /** - * The domains of the issue. - */ domains?: Schema$GoogleCloudSecuritycenterV2IssueDomain[]; - /** - * The exposure score of the issue. - */ exposureScore?: number | null; - /** - * The type of the issue. - */ issueType?: string | null; - /** - * The time the issue was last observed. - */ lastObservationTime?: string | null; - /** - * The mute information of the issue. - */ mute?: Schema$GoogleCloudSecuritycenterV2IssueMute; - /** - * Identifier. The name of the issue. Format: organizations/{organization\}/locations/{location\}/issues/{issue\} - */ name?: string | null; - /** - * The primary resource associated with the issue. - */ primaryResource?: Schema$GoogleCloudSecuritycenterV2IssueResource; - /** - * The findings related to the issue. - */ relatedFindings?: Schema$GoogleCloudSecuritycenterV2IssueFinding[]; - /** - * Approaches to remediate the issue in Markdown format. - */ remediations?: string[] | null; - /** - * Additional resources associated with the issue. - */ secondaryResources?: Schema$GoogleCloudSecuritycenterV2IssueResource[]; - /** - * The security context of the issue. - */ securityContexts?: Schema$GoogleCloudSecuritycenterV2IssueSecurityContext[]; - /** - * The severity of the issue. - */ severity?: string | null; - /** - * Output only. The state of the issue. - */ state?: string | null; - /** - * Output only. The time the issue was last updated. - */ updateTime?: string | null; } - /** - * The domains of an issue. - */ export interface Schema$GoogleCloudSecuritycenterV2IssueDomain { - /** - * The domain category of the issue. - */ domainCategory?: string | null; } - /** - * Finding related to an issue. - */ export interface Schema$GoogleCloudSecuritycenterV2IssueFinding { - /** - * The CVE of the finding. - */ cve?: Schema$GoogleCloudSecuritycenterV2IssueFindingCve; - /** - * The name of the finding. - */ - name?: string | null; - /** - * The security bulletin of the finding. - */ + name?: string | null; securityBulletin?: Schema$GoogleCloudSecuritycenterV2IssueFindingSecurityBulletin; } - /** - * The CVE of the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2IssueFindingCve { - /** - * The CVE name. - */ name?: string | null; } - /** - * The security bulletin of the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2IssueFindingSecurityBulletin { - /** - * The security bulletin name. - */ name?: string | null; } - /** - * The mute information of the issue. - */ export interface Schema$GoogleCloudSecuritycenterV2IssueMute { - /** - * The email address of the user who last changed the mute state of the issue. - */ muteInitiator?: string | null; - /** - * The user-provided reason for muting the issue. - */ muteReason?: string | null; - /** - * Output only. The mute state of the issue. - */ muteState?: string | null; - /** - * The time the issue was muted. - */ muteUpdateTime?: string | null; } - /** - * A resource associated with the an issue. - */ export interface Schema$GoogleCloudSecuritycenterV2IssueResource { - /** - * The ADC application associated with the finding. - */ adcApplication?: Schema$GoogleCloudSecuritycenterV2IssueResourceAdcApplication; - /** - * The ADC template associated with the finding. - */ adcApplicationTemplate?: Schema$GoogleCloudSecuritycenterV2IssueResourceAdcApplicationTemplateRevision; - /** - * The ADC shared template associated with the finding. - */ adcSharedTemplate?: Schema$GoogleCloudSecuritycenterV2IssueResourceAdcSharedTemplateRevision; - /** - * The AppHub application associated with the resource, if any. Only populated for the primary resource. - */ application?: Schema$GoogleCloudSecuritycenterV2IssueResourceApplication; - /** - * The AWS metadata of the resource associated with the issue. Only populated for AWS resources. - */ awsMetadata?: Schema$GoogleCloudSecuritycenterV2IssueResourceAwsMetadata; - /** - * The Azure metadata of the resource associated with the issue. Only populated for Azure resources. - */ azureMetadata?: Schema$GoogleCloudSecuritycenterV2IssueResourceAzureMetadata; - /** - * The cloud provider of the resource associated with the issue. - */ cloudProvider?: string | null; - /** - * The resource-type specific display name of the resource associated with the issue. - */ displayName?: string | null; - /** - * The Google Cloud metadata of the resource associated with the issue. Only populated for Google Cloud resources. - */ googleCloudMetadata?: Schema$GoogleCloudSecuritycenterV2IssueResourceGoogleCloudMetadata; - /** - * The full resource name of the resource associated with the issue. - */ name?: string | null; - /** - * The type of the resource associated with the issue. - */ type?: string | null; } - /** - * Represents an ADC application associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2IssueResourceAdcApplication { - /** - * Consumer provided attributes for the AppHub application. - */ attributes?: Schema$GoogleCloudSecuritycenterV2IssueResourceApplicationAttributes; - /** - * The resource name of an ADC Application. Format: projects/{project\}/locations/{location\}/spaces/{space\}/applications/{application\} - */ name?: string | null; } - /** - * Represents an ADC template associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2IssueResourceAdcApplicationTemplateRevision { - /** - * The resource name of an ADC Application Template Revision. Format: projects/{project\}/locations/{location\}/spaces/{space\}/applicationTemplates/{application_template\}/revisions/{revision\} - */ name?: string | null; } - /** - * Represents an ADC shared template associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2IssueResourceAdcSharedTemplateRevision { - /** - * The resource name of an ADC Shared Template Revision. Format: projects/{project\}/locations/{location\}/spaces/{space\}/applicationTemplates/{application_template\}/revisions/{revision\} - */ name?: string | null; } - /** - * The AppHub application associated with the resource, if any. - */ export interface Schema$GoogleCloudSecuritycenterV2IssueResourceApplication { - /** - * Consumer provided attributes for the application - */ attributes?: Schema$GoogleCloudSecuritycenterV2IssueResourceApplicationAttributes; - /** - * The resource name of an Application. Format: `projects/{host-project-id\}/locations/{location\}/applications/{application-id\}` - */ name?: string | null; } - /** - * Consumer provided attributes for the application - */ export interface Schema$GoogleCloudSecuritycenterV2IssueResourceApplicationAttributes { - /** - * Business team that ensures user needs are met and value is delivered - */ businessOwners?: Schema$GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesContactInfo[]; - /** - * User-defined criticality information. - */ criticality?: Schema$GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesCriticality; - /** - * Developer team that owns development and coding. - */ developerOwners?: Schema$GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesContactInfo[]; - /** - * User-defined environment information. - */ environment?: Schema$GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesEnvironment; - /** - * Operator team that ensures runtime and operations. - */ operatorOwners?: Schema$GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesContactInfo[]; } - /** - * Contact information of stakeholders. - */ export interface Schema$GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesContactInfo { - /** - * Email address of the contacts. - */ email?: string | null; } - /** - * Criticality of the Application, Service, or Workload - */ export interface Schema$GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesCriticality { - /** - * Criticality Type. - */ type?: string | null; } - /** - * Environment of the Application, Service, or Workload - */ export interface Schema$GoogleCloudSecuritycenterV2IssueResourceApplicationAttributesEnvironment { - /** - * Environment Type. - */ type?: string | null; } - /** - * The AWS metadata of a resource associated with an issue. - */ export interface Schema$GoogleCloudSecuritycenterV2IssueResourceAwsMetadata { - /** - * The AWS account of the resource associated with the issue. - */ account?: Schema$GoogleCloudSecuritycenterV2IssueResourceAwsMetadataAwsAccount; } - /** - * The AWS account of the resource associated with the issue. - */ export interface Schema$GoogleCloudSecuritycenterV2IssueResourceAwsMetadataAwsAccount { - /** - * The AWS account ID of the resource associated with the issue. - */ id?: string | null; - /** - * The AWS account name of the resource associated with the issue. - */ name?: string | null; } - /** - * The Azure metadata of a resource associated with an issue. - */ export interface Schema$GoogleCloudSecuritycenterV2IssueResourceAzureMetadata { - /** - * The Azure subscription of the resource associated with the issue. - */ subscription?: Schema$GoogleCloudSecuritycenterV2IssueResourceAzureMetadataAzureSubscription; } - /** - * The Azure subscription of the resource associated with the issue. - */ export interface Schema$GoogleCloudSecuritycenterV2IssueResourceAzureMetadataAzureSubscription { - /** - * The Azure subscription display name of the resource associated with the issue. - */ displayName?: string | null; - /** - * The Azure subscription ID of the resource associated with the issue. - */ id?: string | null; } - /** - * Google Cloud metadata of a resource associated with an issue. - */ export interface Schema$GoogleCloudSecuritycenterV2IssueResourceGoogleCloudMetadata { - /** - * The project ID that the resource associated with the issue belongs to. - */ projectId?: string | null; } - /** - * Security context associated with an issue. - */ export interface Schema$GoogleCloudSecuritycenterV2IssueSecurityContext { - /** - * The aggregated count of the security context. - */ aggregatedCount?: Schema$GoogleCloudSecuritycenterV2IssueSecurityContextAggregatedCount; - /** - * The context of the security context. - */ context?: Schema$GoogleCloudSecuritycenterV2IssueSecurityContextContext; } - /** - * Aggregated count of a security context. - */ export interface Schema$GoogleCloudSecuritycenterV2IssueSecurityContextAggregatedCount { - /** - * Aggregation key. - */ key?: string | null; - /** - * Aggregation value. - */ value?: number | null; } - /** - * Context of a security context. - */ export interface Schema$GoogleCloudSecuritycenterV2IssueSecurityContextContext { - /** - * Context type. - */ type?: string | null; - /** - * Context values. - */ values?: string[] | null; } - /** - * Describes a job - */ export interface Schema$GoogleCloudSecuritycenterV2Job { - /** - * Optional. If the job did not complete successfully, this field describes why. - */ errorCode?: number | null; - /** - * Optional. Gives the location where the job ran, such as `US` or `europe-west1` - */ location?: string | null; - /** - * The fully-qualified name for a job. e.g. `projects//jobs/` - */ name?: string | null; - /** - * Output only. State of the job, such as `RUNNING` or `PENDING`. - */ state?: string | null; } - /** - * Kernel mode rootkit signatures. - */ export interface Schema$GoogleCloudSecuritycenterV2KernelRootkit { - /** - * Rootkit name, when available. - */ name?: string | null; - /** - * True if unexpected modifications of kernel code memory are present. - */ unexpectedCodeModification?: boolean | null; - /** - * True if `ftrace` points are present with callbacks pointing to regions that are not in the expected kernel or module code range. - */ unexpectedFtraceHandler?: boolean | null; - /** - * True if interrupt handlers that are are not in the expected kernel or module code regions are present. - */ unexpectedInterruptHandler?: boolean | null; - /** - * True if kernel code pages that are not in the expected kernel or module code regions are present. - */ unexpectedKernelCodePages?: boolean | null; - /** - * True if `kprobe` points are present with callbacks pointing to regions that are not in the expected kernel or module code range. - */ unexpectedKprobeHandler?: boolean | null; - /** - * True if unexpected processes in the scheduler run queue are present. Such processes are in the run queue, but not in the process task list. - */ unexpectedProcessesInRunqueue?: boolean | null; - /** - * True if unexpected modifications of kernel read-only data memory are present. - */ unexpectedReadOnlyDataModification?: boolean | null; - /** - * True if system call handlers that are are not in the expected kernel or module code regions are present. - */ unexpectedSystemCallHandler?: boolean | null; } - /** - * Kubernetes-related attributes. - */ export interface Schema$GoogleCloudSecuritycenterV2Kubernetes { - /** - * Provides information on any Kubernetes access reviews (privilege checks) relevant to the finding. - */ accessReviews?: Schema$GoogleCloudSecuritycenterV2AccessReview[]; - /** - * Provides Kubernetes role binding information for findings that involve [RoleBindings or ClusterRoleBindings](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control). - */ bindings?: Schema$GoogleCloudSecuritycenterV2Binding[]; - /** - * GKE [node pools](https://cloud.google.com/kubernetes-engine/docs/concepts/node-pools) associated with the finding. This field contains node pool information for each node, when it is available. - */ nodePools?: Schema$GoogleCloudSecuritycenterV2NodePool[]; - /** - * Provides Kubernetes [node](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture#nodes) information. - */ nodes?: Schema$GoogleCloudSecuritycenterV2Node[]; - /** - * Kubernetes objects related to the finding. - */ objects?: Schema$GoogleCloudSecuritycenterV2Object[]; - /** - * Kubernetes [Pods](https://cloud.google.com/kubernetes-engine/docs/concepts/pod) associated with the finding. This field contains Pod records for each container that is owned by a Pod. - */ pods?: Schema$GoogleCloudSecuritycenterV2Pod[]; - /** - * Provides Kubernetes role information for findings that involve [Roles or ClusterRoles](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control). - */ roles?: Schema$GoogleCloudSecuritycenterV2Role[]; } - /** - * Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - */ export interface Schema$GoogleCloudSecuritycenterV2Label { - /** - * Name of the label. - */ name?: string | null; - /** - * Value that corresponds to the label's name. - */ value?: string | null; } - /** - * Contains information related to the load balancer associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2LoadBalancer { - /** - * The name of the load balancer associated with the finding. - */ name?: string | null; } - /** - * An individual entry in a log. - */ export interface Schema$GoogleCloudSecuritycenterV2LogEntry { - /** - * An individual entry in a log stored in Cloud Logging. - */ cloudLoggingEntry?: Schema$GoogleCloudSecuritycenterV2CloudLoggingEntry; } - /** - * A signature corresponding to memory page hashes. - */ export interface Schema$GoogleCloudSecuritycenterV2MemoryHashSignature { - /** - * The binary family. - */ binaryFamily?: string | null; - /** - * The list of memory hash detections contributing to the binary family match. - */ detections?: Schema$GoogleCloudSecuritycenterV2Detection[]; } - /** - * MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org - */ export interface Schema$GoogleCloudSecuritycenterV2MitreAttack { - /** - * Additional MITRE ATT&CK tactics related to this finding, if any. - */ additionalTactics?: string[] | null; - /** - * Additional MITRE ATT&CK techniques related to this finding, if any, along with any of their respective parent techniques. - */ additionalTechniques?: string[] | null; - /** - * The MITRE ATT&CK tactic most closely represented by this finding, if any. - */ primaryTactic?: string | null; - /** - * The MITRE ATT&CK technique most closely represented by this finding, if any. primary_techniques is a repeated field because there are multiple levels of MITRE ATT&CK techniques. If the technique most closely represented by this finding is a sub-technique (e.g. `SCANNING_IP_BLOCKS`), both the sub-technique and its parent technique(s) will be listed (e.g. `SCANNING_IP_BLOCKS`, `ACTIVE_SCANNING`). - */ primaryTechniques?: string[] | null; - /** - * The MITRE ATT&CK version referenced by the above fields. E.g. "8". - */ version?: string | null; } - /** - * A mute config is a Cloud SCC resource that contains the configuration to mute create/update events of findings. - */ export interface Schema$GoogleCloudSecuritycenterV2MuteConfig { - /** - * Output only. The time at which the mute config was created. This field is set by the server and will be ignored if provided on config creation. - */ createTime?: string | null; - /** - * Output only. The resource name of the Cloud KMS `CryptoKey` used to encrypt this configuration data, if CMEK was enabled during Security Command Center activation. - */ cryptoKeyName?: string | null; - /** - * A description of the mute config. - */ description?: string | null; - /** - * Optional. The expiry of the mute config. Only applicable for dynamic configs. If the expiry is set, when the config expires, it is removed from all findings. - */ expiryTime?: string | null; - /** - * Required. An expression that defines the filter to apply across create/update events of findings. While creating a filter string, be mindful of the scope in which the mute configuration is being created. E.g., If a filter contains project = X but is created under the project = Y scope, it might not match any findings. The following field and operator combinations are supported: * severity: `=`, `:` * category: `=`, `:` * resource.name: `=`, `:` * resource.project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.folders.resource_folder: `=`, `:` * resource.parent_name: `=`, `:` * resource.parent_display_name: `=`, `:` * resource.type: `=`, `:` * finding_class: `=`, `:` * indicator.ip_addresses: `=`, `:` * indicator.domains: `=`, `:` - */ filter?: string | null; - /** - * Output only. Email address of the user who last edited the mute config. This field is set by the server and will be ignored if provided on config creation or update. - */ mostRecentEditor?: string | null; - /** - * Identifier. This field will be ignored if provided on config creation. The following list shows some examples of the format: + `organizations/{organization\}/muteConfigs/{mute_config\}` + `organizations/{organization\}locations/{location\}//muteConfigs/{mute_config\}` + `folders/{folder\}/muteConfigs/{mute_config\}` + `folders/{folder\}/locations/{location\}/muteConfigs/{mute_config\}` + `projects/{project\}/muteConfigs/{mute_config\}` + `projects/{project\}/locations/{location\}/muteConfigs/{mute_config\}` - */ name?: string | null; - /** - * Required. The type of the mute config, which determines what type of mute state the config affects. Immutable after creation. - */ type?: string | null; - /** - * Output only. The most recent time at which the mute config was updated. This field is set by the server and will be ignored if provided on config creation or update. - */ updateTime?: string | null; } - /** - * Mute information about the finding, including whether the finding has a static mute or any matching dynamic mute rules. - */ export interface Schema$GoogleCloudSecuritycenterV2MuteInfo { - /** - * The list of dynamic mute rules that currently match the finding. - */ dynamicMuteRecords?: Schema$GoogleCloudSecuritycenterV2DynamicMuteRecord[]; - /** - * If set, the static mute applied to this finding. Static mutes override dynamic mutes. If unset, there is no static mute. - */ staticMute?: Schema$GoogleCloudSecuritycenterV2StaticMute; } - /** - * Contains information about a VPC network associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2Network { - /** - * The name of the VPC network resource, for example, `//compute.googleapis.com/projects/my-project/global/networks/my-network`. - */ name?: string | null; } - /** - * Kubernetes nodes associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2Node { - /** - * [Full resource name](https://google.aip.dev/122#full-resource-names) of the Compute Engine VM running the cluster node. - */ name?: string | null; } - /** - * Provides GKE node pool information. - */ export interface Schema$GoogleCloudSecuritycenterV2NodePool { - /** - * Kubernetes node pool name. - */ name?: string | null; - /** - * Nodes associated with the finding. - */ nodes?: Schema$GoogleCloudSecuritycenterV2Node[]; } - /** - * Represents a Jupyter notebook IPYNB file, such as a [Colab Enterprise notebook](https://cloud.google.com/colab/docs/introduction) file, that is associated with a finding. - */ export interface Schema$GoogleCloudSecuritycenterV2Notebook { - /** - * The user ID of the latest author to modify the notebook. - */ lastAuthor?: string | null; - /** - * The name of the notebook. - */ - name?: string | null; - /** - * The most recent time the notebook was updated. - */ + name?: string | null; notebookUpdateTime?: string | null; - /** - * The source notebook service, for example, "Colab Enterprise". - */ service?: string | null; } - /** - * Cloud SCC's Notification - */ export interface Schema$GoogleCloudSecuritycenterV2NotificationMessage { - /** - * If it's a Finding based notification config, this field will be populated. - */ finding?: Schema$GoogleCloudSecuritycenterV2Finding; - /** - * Name of the notification config that generated current notification. - */ notificationConfigName?: string | null; - /** - * The Cloud resource tied to this notification's Finding. - */ resource?: Schema$GoogleCloudSecuritycenterV2Resource; } - /** - * Kubernetes object related to the finding, uniquely identified by GKNN. Used if the object Kind is not one of Pod, Node, NodePool, Binding, or AccessReview. - */ export interface Schema$GoogleCloudSecuritycenterV2Object { - /** - * Pod containers associated with this finding, if any. - */ containers?: Schema$GoogleCloudSecuritycenterV2Container[]; - /** - * Kubernetes object group, such as "policy.k8s.io/v1". - */ group?: string | null; - /** - * Kubernetes object kind, such as "Namespace". - */ kind?: string | null; - /** - * Kubernetes object name. For details see https://kubernetes.io/docs/concepts/overview/working-with-objects/names/. - */ name?: string | null; - /** - * Kubernetes object namespace. Must be a valid DNS label. Named "ns" to avoid collision with C++ namespace keyword. For details see https://kubernetes.io/docs/tasks/administer-cluster/namespaces/. - */ ns?: string | null; } - /** - * Contains information about the org policies associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2OrgPolicy { - /** - * Identifier. The resource name of the org policy. Example: "organizations/{organization_id\}/policies/{constraint_name\}" - */ name?: string | null; } - /** - * Package is a generic definition of a package. - */ export interface Schema$GoogleCloudSecuritycenterV2Package { - /** - * The CPE URI where the vulnerability was detected. - */ cpeUri?: string | null; - /** - * The name of the package where the vulnerability was detected. - */ packageName?: string | null; - /** - * Type of package, for example, os, maven, or go. - */ packageType?: string | null; - /** - * The version of the package. - */ packageVersion?: string | null; } - /** - * Vertex AI training pipeline associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2Pipeline { - /** - * The user-defined display name of pipeline, e.g. plants-classification - */ displayName?: string | null; - /** - * Resource name of the pipeline, e.g. projects/{project\}/locations/{location\}/trainingPipelines/5253428229225578496 - */ name?: string | null; } - /** - * A Kubernetes Pod. - */ export interface Schema$GoogleCloudSecuritycenterV2Pod { - /** - * Pod containers associated with this finding, if any. - */ containers?: Schema$GoogleCloudSecuritycenterV2Container[]; - /** - * Pod labels. For Kubernetes containers, these are applied to the container. - */ labels?: Schema$GoogleCloudSecuritycenterV2Label[]; - /** - * Kubernetes Pod name. - */ name?: string | null; - /** - * Kubernetes Pod namespace. - */ ns?: string | null; } - /** - * The policy field that violates the deployed posture and its expected and detected values. - */ export interface Schema$GoogleCloudSecuritycenterV2PolicyDriftDetails { - /** - * The detected value that violates the deployed posture, for example, `false` or `allowed_values={"projects/22831892"\}`. - */ detectedValue?: string | null; - /** - * The value of this field that was configured in a posture, for example, `true` or `allowed_values={"projects/29831892"\}`. - */ expectedValue?: string | null; - /** - * The name of the updated field, for example constraint.implementation.policy_rules[0].enforce - */ field?: string | null; } - /** - * Metadata summarizing policy violations of child resources of the affected resource. `finding_category` and `resource` determine the exact semantics of the counts. For example, when category=DATA_SECURITY_POSTURE_OBJECT_PUBLIC_ACCESS_VIOLATION and resource='storage.googleapis.com/buckets/my-bucket-name' then this counts the number of Cloud Storage objects in my-bucket-name which violate a Public Access control. - */ export interface Schema$GoogleCloudSecuritycenterV2PolicyViolationSummary { - /** - * Total number of child resources that conform to the policy. - */ conformantResourcesCount?: string | null; - /** - * Number of child resources for which errors during evaluation occurred. The evaluation result for these child resources is effectively "unknown". - */ evaluationErrorsCount?: string | null; - /** - * Total count of child resources which were not in scope for evaluation. - */ outOfScopeResourcesCount?: string | null; - /** - * Count of child resources in violation of the policy. - */ policyViolationsCount?: string | null; } - /** - * A port range which is inclusive of the min and max values. Values are between 0 and 2^16-1. The max can be equal / must be not smaller than the min value. If min and max are equal this indicates that it is a single port. - */ export interface Schema$GoogleCloudSecuritycenterV2PortRange { - /** - * Maximum port value. - */ max?: string | null; - /** - * Minimum port value. - */ min?: string | null; } - /** - * Represents an operating system process. - */ export interface Schema$GoogleCloudSecuritycenterV2Process { - /** - * Process arguments as JSON encoded strings. - */ args?: string[] | null; - /** - * True if `args` is incomplete. - */ argumentsTruncated?: boolean | null; - /** - * File information for the process executable. - */ binary?: Schema$GoogleCloudSecuritycenterV2File; - /** - * Process environment variables. - */ envVariables?: Schema$GoogleCloudSecuritycenterV2EnvironmentVariable[]; - /** - * True if `env_variables` is incomplete. - */ envVariablesTruncated?: boolean | null; - /** - * File information for libraries loaded by the process. - */ libraries?: Schema$GoogleCloudSecuritycenterV2File[]; - /** - * The process name, as displayed in utilities like `top` and `ps`. This name can be accessed through `/proc/[pid]/comm` and changed with `prctl(PR_SET_NAME)`. - */ name?: string | null; - /** - * The parent process ID. - */ parentPid?: string | null; - /** - * The process ID. - */ pid?: string | null; - /** - * When the process represents the invocation of a script, `binary` provides information about the interpreter, while `script` provides information about the script file provided to the interpreter. - */ script?: Schema$GoogleCloudSecuritycenterV2File; - /** - * The ID of the user that executed the process. E.g. If this is the root user this will always be 0. - */ userId?: string | null; } - /** - * Indicates what signature matched this process. - */ export interface Schema$GoogleCloudSecuritycenterV2ProcessSignature { - /** - * Signature indicating that a binary family was matched. - */ memoryHashSignature?: Schema$GoogleCloudSecuritycenterV2MemoryHashSignature; - /** - * Describes the type of resource associated with the signature. - */ signatureType?: string | null; - /** - * Signature indicating that a YARA rule was matched. - */ yaraRuleSignature?: Schema$GoogleCloudSecuritycenterV2YaraRuleSignature; } - /** - * Additional Links - */ export interface Schema$GoogleCloudSecuritycenterV2Reference { - /** - * Source of the reference e.g. NVD - */ source?: string | null; - /** - * Uri for the mentioned source e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527. - */ uri?: string | null; } - /** - * Information about the requests relevant to the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2Requests { - /** - * Allowed RPS (requests per second) over the long term. - */ longTermAllowed?: number | null; - /** - * Denied RPS (requests per second) over the long term. - */ longTermDenied?: number | null; - /** - * For 'Increasing deny ratio', the ratio is the denied traffic divided by the allowed traffic. For 'Allowed traffic spike', the ratio is the allowed traffic in the short term divided by allowed traffic in the long term. - */ ratio?: number | null; - /** - * Allowed RPS (requests per second) in the short term. - */ shortTermAllowed?: number | null; } - /** - * Information related to the Google Cloud resource. - */ export interface Schema$GoogleCloudSecuritycenterV2Resource { - /** - * The ADC application associated with the finding. - */ adcApplication?: Schema$GoogleCloudSecuritycenterV2AdcApplication; - /** - * The ADC template associated with the finding. - */ adcApplicationTemplate?: Schema$GoogleCloudSecuritycenterV2AdcApplicationTemplateRevision; - /** - * The ADC shared template associated with the finding. - */ adcSharedTemplate?: Schema$GoogleCloudSecuritycenterV2AdcSharedTemplateRevision; - /** - * The App Hub application this resource belongs to. - */ application?: Schema$GoogleCloudSecuritycenterV2ResourceApplication; - /** - * The AWS metadata associated with the finding. - */ awsMetadata?: Schema$GoogleCloudSecuritycenterV2AwsMetadata; - /** - * The Azure metadata associated with the finding. - */ azureMetadata?: Schema$GoogleCloudSecuritycenterV2AzureMetadata; - /** - * Indicates which cloud provider the finding is from. - */ cloudProvider?: string | null; - /** - * The human readable name of the resource. - */ displayName?: string | null; - /** - * The Google Cloud metadata associated with the finding. - */ gcpMetadata?: Schema$GcpMetadata; - /** - * The region or location of the service (if applicable). - */ location?: string | null; - /** - * The full resource name of the resource. See: https://cloud.google.com/apis/design/resource_names#full_resource_name - */ name?: string | null; - /** - * Provides the path to the resource within the resource hierarchy. - */ resourcePath?: Schema$GoogleCloudSecuritycenterV2ResourcePath; - /** - * A string representation of the resource path. For Google Cloud, it has the format of `organizations/{organization_id\}/folders/{folder_id\}/folders/{folder_id\}/projects/{project_id\}` where there can be any number of folders. For AWS, it has the format of `org/{organization_id\}/ou/{organizational_unit_id\}/ou/{organizational_unit_id\}/account/{account_id\}` where there can be any number of organizational units. For Azure, it has the format of `mg/{management_group_id\}/mg/{management_group_id\}/subscription/{subscription_id\}/rg/{resource_group_name\}` where there can be any number of management groups. - */ resourcePathString?: string | null; - /** - * The service or resource provider associated with the resource. - */ service?: string | null; - /** - * The full resource type of the resource. - */ type?: string | null; } - /** - * The App Hub Application associated with the finding's resource. - */ export interface Schema$GoogleCloudSecuritycenterV2ResourceApplication { - /** - * Consumer provided attributes for the application - */ attributes?: Schema$GoogleCloudSecuritycenterV2ResourceApplicationAttributes; - /** - * The resource name of an Application. Format: `projects/{host-project-id\}/locations/{location\}/applications/{application-id\}` - */ name?: string | null; } - /** - * Consumer provided attributes for the application - */ export interface Schema$GoogleCloudSecuritycenterV2ResourceApplicationAttributes { - /** - * Business team that ensures user needs are met and value is delivered - */ businessOwners?: Schema$GoogleCloudSecuritycenterV2ResourceApplicationAttributesContactInfo[]; - /** - * User-defined criticality information. - */ criticality?: Schema$GoogleCloudSecuritycenterV2ResourceApplicationAttributesCriticality; - /** - * Developer team that owns development and coding. - */ developerOwners?: Schema$GoogleCloudSecuritycenterV2ResourceApplicationAttributesContactInfo[]; - /** - * User-defined environment information. - */ environment?: Schema$GoogleCloudSecuritycenterV2ResourceApplicationAttributesEnvironment; - /** - * Operator team that ensures runtime and operations. - */ operatorOwners?: Schema$GoogleCloudSecuritycenterV2ResourceApplicationAttributesContactInfo[]; } - /** - * Contact information of stakeholders. - */ export interface Schema$GoogleCloudSecuritycenterV2ResourceApplicationAttributesContactInfo { - /** - * Email address of the contacts. - */ email?: string | null; } - /** - * Criticality of the Application, Service, or Workload - */ export interface Schema$GoogleCloudSecuritycenterV2ResourceApplicationAttributesCriticality { - /** - * Criticality Type. - */ type?: string | null; } - /** - * Environment of the Application, Service, or Workload - */ export interface Schema$GoogleCloudSecuritycenterV2ResourceApplicationAttributesEnvironment { - /** - * Environment Type. - */ type?: string | null; } - /** - * Represents the path of resources leading up to the resource this finding is about. - */ export interface Schema$GoogleCloudSecuritycenterV2ResourcePath { - /** - * The list of nodes that make the up resource path, ordered from lowest level to highest level. - */ nodes?: Schema$GoogleCloudSecuritycenterV2ResourcePathNode[]; } - /** - * A node within the resource path. Each node represents a resource within the resource hierarchy. - */ export interface Schema$GoogleCloudSecuritycenterV2ResourcePathNode { - /** - * The display name of the resource this node represents. - */ displayName?: string | null; - /** - * The ID of the resource this node represents. - */ id?: string | null; - /** - * The type of resource this node represents. - */ nodeType?: string | null; } - /** - * A resource value configuration (RVC) is a mapping configuration of user's resources to resource values. Used in Attack path simulations. - */ export interface Schema$GoogleCloudSecuritycenterV2ResourceValueConfig { - /** - * Cloud provider this configuration applies to - */ cloudProvider?: string | null; - /** - * Output only. Timestamp this resource value configuration was created. - */ createTime?: string | null; - /** - * Description of the resource value configuration. - */ description?: string | null; - /** - * Identifier. Name for the resource value configuration - */ name?: string | null; - /** - * List of resource labels to search for, evaluated with `AND`. For example, "resource_labels_selector": {"key": "value", "env": "prod"\} will match resources with labels "key": "value" `AND` "env": "prod" https://cloud.google.com/resource-manager/docs/creating-managing-labels - */ resourceLabelsSelector?: {[key: string]: string} | null; - /** - * Apply resource_value only to resources that match resource_type. resource_type will be checked with `AND` of other resources. For example, "storage.googleapis.com/Bucket" with resource_value "HIGH" will apply "HIGH" value only to "storage.googleapis.com/Bucket" resources. - */ resourceType?: string | null; - /** - * Resource value level this expression represents Only required when there is no Sensitive Data Protection mapping in the request - */ resourceValue?: string | null; - /** - * Project or folder to scope this configuration to. For example, "project/456" would apply this configuration only to resources in "project/456" scope and will be checked with `AND` of other resources. - */ scope?: string | null; - /** - * A mapping of the sensitivity on Sensitive Data Protection finding to resource values. This mapping can only be used in combination with a resource_type that is related to BigQuery, e.g. "bigquery.googleapis.com/Dataset". - */ sensitiveDataProtectionMapping?: Schema$GoogleCloudSecuritycenterV2SensitiveDataProtectionMapping; - /** - * Tag values combined with `AND` to check against. For Google Cloud resources, they are tag value IDs in the form of "tagValues/123". Example: `[ "tagValues/123", "tagValues/456", "tagValues/789" ]` https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing - */ tagValues?: string[] | null; - /** - * Output only. Timestamp this resource value configuration was last updated. - */ updateTime?: string | null; } - /** - * Kubernetes Role or ClusterRole. - */ export interface Schema$GoogleCloudSecuritycenterV2Role { - /** - * Role type. - */ kind?: string | null; - /** - * Role name. - */ name?: string | null; - /** - * Role namespace. - */ ns?: string | null; } - /** - * Details about a secret or credential associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2Secret { - /** - * The environment variable containing the secret. - */ environmentVariable?: Schema$GoogleCloudSecuritycenterV2SecretEnvironmentVariable; - /** - * The file containing the secret. - */ filePath?: Schema$GoogleCloudSecuritycenterV2SecretFilePath; - /** - * The status of the secret. - */ status?: Schema$GoogleCloudSecuritycenterV2SecretStatus; - /** - * The type of secret, for example, GCP_API_KEY. - */ type?: string | null; } - /** - * Environment variable containing the secret. - */ export interface Schema$GoogleCloudSecuritycenterV2SecretEnvironmentVariable { - /** - * Environment variable name as a JSON encoded string. Note that value is not included since the value contains the secret data, which is sensitive core content. - */ key?: string | null; } - /** - * File path containing the secret. - */ export interface Schema$GoogleCloudSecuritycenterV2SecretFilePath { - /** - * Path to the file. - */ path?: string | null; } - /** - * The status of the secret. - */ export interface Schema$GoogleCloudSecuritycenterV2SecretStatus { - /** - * Time that the secret was found. - */ - lastUpdatedTime?: string | null; - /** - * The validity of the secret. - */ + lastUpdatedTime?: string | null; validity?: string | null; } - /** - * SecurityBulletin are notifications of vulnerabilities of Google products. - */ export interface Schema$GoogleCloudSecuritycenterV2SecurityBulletin { - /** - * ID of the bulletin corresponding to the vulnerability. - */ bulletinId?: string | null; - /** - * Submission time of this Security Bulletin. - */ submissionTime?: string | null; - /** - * This represents a version that the cluster receiving this notification should be upgraded to, based on its current version. For example, 1.15.0 - */ suggestedUpgradeVersion?: string | null; } - /** - * User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization. - */ export interface Schema$GoogleCloudSecuritycenterV2SecurityMarks { - /** - * The canonical name of the marks. The following list shows some examples: + `organizations/{organization_id\}/assets/{asset_id\}/securityMarks` + `organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}/securityMarks` + `organizations/{organization_id\}/sources/{source_id\}/locations/{location\}/findings/{finding_id\}/securityMarks` + `folders/{folder_id\}/assets/{asset_id\}/securityMarks` + `folders/{folder_id\}/sources/{source_id\}/findings/{finding_id\}/securityMarks` + `folders/{folder_id\}/sources/{source_id\}/locations/{location\}/findings/{finding_id\}/securityMarks` + `projects/{project_number\}/assets/{asset_id\}/securityMarks` + `projects/{project_number\}/sources/{source_id\}/findings/{finding_id\}/securityMarks` + `projects/{project_number\}/sources/{source_id\}/locations/{location\}/findings/{finding_id\}/securityMarks` - */ canonicalName?: string | null; - /** - * Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive) - */ marks?: {[key: string]: string} | null; - /** - * The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name The following list shows some examples: + `organizations/{organization_id\}/assets/{asset_id\}/securityMarks` + `organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}/securityMarks` + `organizations/{organization_id\}/sources/{source_id\}/locations/{location\}/findings/{finding_id\}/securityMarks` - */ name?: string | null; } - /** - * Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2SecurityPolicy { - /** - * The name of the Google Cloud Armor security policy, for example, "my-security-policy". - */ name?: string | null; - /** - * Whether or not the associated rule or policy is in preview mode. - */ preview?: boolean | null; - /** - * The type of Google Cloud Armor security policy for example, 'backend security policy', 'edge security policy', 'network edge security policy', or 'always-on DDoS protection'. - */ type?: string | null; } - /** - * Represents a posture that is deployed on Google Cloud by the Security Command Center Posture Management service. A posture contains one or more policy sets. A policy set is a group of policies that enforce a set of security rules on Google Cloud. - */ export interface Schema$GoogleCloudSecuritycenterV2SecurityPosture { - /** - * The name of the updated policy, for example, `projects/{project_id\}/policies/{constraint_name\}`. - */ changedPolicy?: string | null; - /** - * Name of the posture, for example, `CIS-Posture`. - */ name?: string | null; - /** - * The ID of the updated policy, for example, `compute-policy-1`. - */ policy?: string | null; - /** - * The details about a change in an updated policy that violates the deployed posture. - */ policyDriftDetails?: Schema$GoogleCloudSecuritycenterV2PolicyDriftDetails[]; - /** - * The name of the updated policy set, for example, `cis-policyset`. - */ policySet?: string | null; - /** - * The name of the posture deployment, for example, `organizations/{org_id\}/posturedeployments/{posture_deployment_id\}`. - */ postureDeployment?: string | null; - /** - * The project, folder, or organization on which the posture is deployed, for example, `projects/{project_number\}`. - */ postureDeploymentResource?: string | null; - /** - * The version of the posture, for example, `c7cfa2a8`. - */ revisionId?: string | null; } - /** - * Resource value mapping for Sensitive Data Protection findings If any of these mappings have a resource value that is not unspecified, the resource_value field will be ignored when reading this configuration. - */ export interface Schema$GoogleCloudSecuritycenterV2SensitiveDataProtectionMapping { - /** - * Resource value mapping for high-sensitivity Sensitive Data Protection findings - */ highSensitivityMapping?: string | null; - /** - * Resource value mapping for medium-sensitivity Sensitive Data Protection findings - */ mediumSensitivityMapping?: string | null; } - /** - * Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. - */ export interface Schema$GoogleCloudSecuritycenterV2SensitivityScore { - /** - * The sensitivity score applied to the resource. - */ score?: string | null; } - /** - * Identity delegation history of an authenticated service account. - */ export interface Schema$GoogleCloudSecuritycenterV2ServiceAccountDelegationInfo { - /** - * The email address of a Google account. - */ principalEmail?: string | null; - /** - * A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name\}/subjects/{subject\}` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name\}[{subject\}]` - */ principalSubject?: string | null; } - /** - * Information about the static mute state. A static mute state overrides any dynamic mute rules that apply to this finding. The static mute state can be set by a static mute rule or by muting the finding directly. - */ export interface Schema$GoogleCloudSecuritycenterV2StaticMute { - /** - * When the static mute was applied. - */ applyTime?: string | null; - /** - * The static mute state. If the value is `MUTED` or `UNMUTED`, then the finding's overall mute state will have the same value. - */ state?: string | null; } - /** - * Represents a Kubernetes subject. - */ export interface Schema$GoogleCloudSecuritycenterV2Subject { - /** - * Authentication type for the subject. - */ kind?: string | null; - /** - * Name for the subject. - */ name?: string | null; - /** - * Namespace for the subject. - */ ns?: string | null; } - /** - * Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding. - */ export interface Schema$GoogleCloudSecuritycenterV2TicketInfo { - /** - * The assignee of the ticket in the ticket system. - */ assignee?: string | null; - /** - * The description of the ticket in the ticket system. - */ description?: string | null; - /** - * The identifier of the ticket in the ticket system. - */ id?: string | null; - /** - * The latest status of the ticket, as reported by the ticket system. - */ status?: string | null; - /** - * The time when the ticket was last updated, as reported by the ticket system. - */ updateTime?: string | null; - /** - * The link to the ticket in the ticket system. - */ uri?: string | null; } - /** - * Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. - */ export interface Schema$GoogleCloudSecuritycenterV2ToxicCombination { - /** - * The [Attack exposure score](https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_exposure_scores) of this toxic combination. The score is a measure of how much this toxic combination exposes one or more high-value resources to potential attack. - */ attackExposureScore?: number | null; - /** - * List of resource names of findings associated with this toxic combination. For example, `organizations/123/sources/456/findings/789`. - */ relatedFindings?: string[] | null; } - /** - * Vertex AI-related information associated with the finding. - */ export interface Schema$GoogleCloudSecuritycenterV2VertexAi { - /** - * Datasets associated with the finding. - */ datasets?: Schema$GoogleCloudSecuritycenterV2Dataset[]; - /** - * Pipelines associated with the finding. - */ pipelines?: Schema$GoogleCloudSecuritycenterV2Pipeline[]; } - /** - * Refers to common vulnerability fields e.g. cve, cvss, cwe etc. - */ export interface Schema$GoogleCloudSecuritycenterV2Vulnerability { - /** - * CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/) - */ cve?: Schema$GoogleCloudSecuritycenterV2Cve; - /** - * Represents one or more Common Weakness Enumeration (CWE) information on this vulnerability. - */ cwes?: Schema$GoogleCloudSecuritycenterV2Cwe[]; - /** - * The fixed package is relevant to the finding. - */ fixedPackage?: Schema$GoogleCloudSecuritycenterV2Package; - /** - * The offending package is relevant to the finding. - */ offendingPackage?: Schema$GoogleCloudSecuritycenterV2Package; - /** - * Provider provided risk_score based on multiple factors. The higher the risk score, the more risky the vulnerability is. - */ providerRiskScore?: string | null; - /** - * Represents whether the vulnerability is reachable (detected via static analysis) - */ reachable?: boolean | null; - /** - * The security bulletin is relevant to this finding. - */ securityBulletin?: Schema$GoogleCloudSecuritycenterV2SecurityBulletin; } - /** - * A signature corresponding to a YARA rule. - */ export interface Schema$GoogleCloudSecuritycenterV2YaraRuleSignature { - /** - * The name of the YARA rule. - */ yaraRule?: string | null; } - /** - * Contains details about groups of which this finding is a member. A group is a collection of findings that are related in some way. - */ export interface Schema$GroupMembership { - /** - * ID of the group. - */ groupId?: string | null; - /** - * Type of group. - */ groupType?: string | null; } - /** - * The http response returned by the web application. - */ export interface Schema$HttpResponse { - /** - * The http path for which response code was returned by web application, for example, "https://test-app.a.run.app/test". - */ path?: string | null; - /** - * The http response code returned by the web application, for example, 200. - */ statusCode?: string | null; } - /** - * Represents a particular IAM binding, which captures a member's role addition, removal, or state. - */ export interface Schema$IamBinding { - /** - * The action that was performed on a Binding. - */ action?: string | null; - /** - * A single identity requesting access for a Cloud Platform resource, for example, "foo@google.com". - */ member?: string | null; - /** - * Role that is assigned to "members". For example, "roles/viewer", "roles/editor", or "roles/owner". - */ role?: string | null; } - /** - * Represents what's commonly known as an _indicator of compromise_ (IoC) in computer forensics. This is an artifact observed on a network or in an operating system that, with high confidence, indicates a computer intrusion. For more information, see [Indicator of compromise](https://en.wikipedia.org/wiki/Indicator_of_compromise). - */ export interface Schema$Indicator { - /** - * List of domains associated to the Finding. - */ domains?: string[] | null; - /** - * The list of IP addresses that are associated with the finding. - */ ipAddresses?: string[] | null; - /** - * The list of matched signatures indicating that the given process is present in the environment. - */ signatures?: Schema$ProcessSignature[]; - /** - * The list of URIs associated to the Findings. - */ uris?: string[] | null; } - /** - * Type of information detected by the API. - */ export interface Schema$InfoType { - /** - * Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64\}`. - */ name?: string | null; - /** - * Optional custom sensitivity for this InfoType. This only applies to data profiling. - */ sensitivityScore?: Schema$SensitivityScore; - /** - * Optional version name for this InfoType. - */ version?: string | null; } - /** - * IP rule information. - */ export interface Schema$IpRule { - /** - * Optional. An optional list of ports to which this rule applies. This field is only applicable for the UDP or (S)TCP protocols. Each entry must be either an integer or a range including a min and max port number. - */ portRanges?: Schema$PortRange[]; - /** - * The IP protocol this rule applies to. This value can either be one of the following well known protocol strings (TCP, UDP, ICMP, ESP, AH, IPIP, SCTP) or a string representation of the integer value. - */ protocol?: string | null; } - /** - * IP rules associated with the finding. - */ export interface Schema$IpRules { - /** - * Tuple with allowed rules. - */ allowed?: Schema$Allowed; - /** - * Tuple with denied rules. - */ denied?: Schema$Denied; - /** - * If destination IP ranges are specified, the firewall rule applies only to traffic that has a destination IP address in these ranges. These ranges must be expressed in CIDR format. Only supports IPv4. - */ destinationIpRanges?: string[] | null; - /** - * The direction that the rule is applicable to, one of ingress or egress. - */ direction?: string | null; - /** - * Name of the network protocol service, such as FTP, that is exposed by the open port. Follows the naming convention available at: https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml. - */ exposedServices?: string[] | null; - /** - * If source IP 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. Only supports IPv4. - */ sourceIpRanges?: string[] | null; } - /** - * Describes a job - */ export interface Schema$Job { - /** - * Optional. If the job did not complete successfully, this field describes why. - */ errorCode?: number | null; - /** - * Optional. Gives the location where the job ran, such as `US` or `europe-west1` - */ location?: string | null; - /** - * The fully-qualified name for a job. e.g. `projects//jobs/` - */ name?: string | null; - /** - * Output only. State of the job, such as `RUNNING` or `PENDING`. - */ state?: string | null; } - /** - * Kernel mode rootkit signatures. - */ export interface Schema$KernelRootkit { - /** - * Rootkit name, when available. - */ name?: string | null; - /** - * True if unexpected modifications of kernel code memory are present. - */ unexpectedCodeModification?: boolean | null; - /** - * True if `ftrace` points are present with callbacks pointing to regions that are not in the expected kernel or module code range. - */ unexpectedFtraceHandler?: boolean | null; - /** - * True if interrupt handlers that are are not in the expected kernel or module code regions are present. - */ unexpectedInterruptHandler?: boolean | null; - /** - * True if kernel code pages that are not in the expected kernel or module code regions are present. - */ unexpectedKernelCodePages?: boolean | null; - /** - * True if `kprobe` points are present with callbacks pointing to regions that are not in the expected kernel or module code range. - */ unexpectedKprobeHandler?: boolean | null; - /** - * True if unexpected processes in the scheduler run queue are present. Such processes are in the run queue, but not in the process task list. - */ unexpectedProcessesInRunqueue?: boolean | null; - /** - * True if unexpected modifications of kernel read-only data memory are present. - */ unexpectedReadOnlyDataModification?: boolean | null; - /** - * True if system call handlers that are are not in the expected kernel or module code regions are present. - */ unexpectedSystemCallHandler?: boolean | null; } - /** - * Kubernetes-related attributes. - */ export interface Schema$Kubernetes { - /** - * Provides information on any Kubernetes access reviews (privilege checks) relevant to the finding. - */ accessReviews?: Schema$AccessReview[]; - /** - * Provides Kubernetes role binding information for findings that involve [RoleBindings or ClusterRoleBindings](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control). - */ bindings?: Schema$GoogleCloudSecuritycenterV1Binding[]; - /** - * GKE [node pools](https://cloud.google.com/kubernetes-engine/docs/concepts/node-pools) associated with the finding. This field contains node pool information for each node, when it is available. - */ nodePools?: Schema$NodePool[]; - /** - * Provides Kubernetes [node](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture#nodes) information. - */ nodes?: Schema$Node[]; - /** - * Kubernetes objects related to the finding. - */ objects?: Schema$Object[]; - /** - * Kubernetes [Pods](https://cloud.google.com/kubernetes-engine/docs/concepts/pod) associated with the finding. This field contains Pod records for each container that is owned by a Pod. - */ pods?: Schema$Pod[]; - /** - * Provides Kubernetes role information for findings that involve [Roles or ClusterRoles](https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control). - */ roles?: Schema$Role[]; } - /** - * Represents a generic name-value label. A label has separate name and value fields to support filtering with the `contains()` function. For more information, see [Filtering on array-type fields](https://cloud.google.com/security-command-center/docs/how-to-api-list-findings#array-contains-filtering). - */ export interface Schema$Label { - /** - * Name of the label. - */ name?: string | null; - /** - * Value that corresponds to the label's name. - */ value?: string | null; } - /** - * Contains information related to the load balancer associated with the finding. - */ export interface Schema$LoadBalancer { - /** - * The name of the load balancer associated with the finding. - */ name?: string | null; } - /** - * An individual entry in a log. - */ export interface Schema$LogEntry { - /** - * An individual entry in a log stored in Cloud Logging. - */ cloudLoggingEntry?: Schema$CloudLoggingEntry; } - /** - * A signature corresponding to memory page hashes. - */ export interface Schema$MemoryHashSignature { - /** - * The binary family. - */ binaryFamily?: string | null; - /** - * The list of memory hash detections contributing to the binary family match. - */ detections?: Schema$Detection[]; } - /** - * MITRE ATT&CK tactics and techniques related to this finding. See: https://attack.mitre.org - */ export interface Schema$MitreAttack { - /** - * Additional MITRE ATT&CK tactics related to this finding, if any. - */ additionalTactics?: string[] | null; - /** - * Additional MITRE ATT&CK techniques related to this finding, if any, along with any of their respective parent techniques. - */ additionalTechniques?: string[] | null; - /** - * The MITRE ATT&CK tactic most closely represented by this finding, if any. - */ primaryTactic?: string | null; - /** - * The MITRE ATT&CK technique most closely represented by this finding, if any. primary_techniques is a repeated field because there are multiple levels of MITRE ATT&CK techniques. If the technique most closely represented by this finding is a sub-technique (e.g. `SCANNING_IP_BLOCKS`), both the sub-technique and its parent technique(s) will be listed (e.g. `SCANNING_IP_BLOCKS`, `ACTIVE_SCANNING`). - */ - primaryTechniques?: string[] | null; - /** - * The MITRE ATT&CK version referenced by the above fields. E.g. "8". - */ + primaryTechniques?: string[] | null; version?: string | null; } - /** - * Mute information about the finding, including whether the finding has a static mute or any matching dynamic mute rules. - */ export interface Schema$MuteInfo { - /** - * The list of dynamic mute rules that currently match the finding. - */ dynamicMuteRecords?: Schema$DynamicMuteRecord[]; - /** - * If set, the static mute applied to this finding. Static mutes override dynamic mutes. If unset, there is no static mute. - */ staticMute?: Schema$StaticMute; } - /** - * Contains information about a VPC network associated with the finding. - */ export interface Schema$Network { - /** - * The name of the VPC network resource, for example, `//compute.googleapis.com/projects/my-project/global/networks/my-network`. - */ name?: string | null; } - /** - * Kubernetes nodes associated with the finding. - */ export interface Schema$Node { - /** - * [Full resource name](https://google.aip.dev/122#full-resource-names) of the Compute Engine VM running the cluster node. - */ name?: string | null; } - /** - * Provides GKE node pool information. - */ export interface Schema$NodePool { - /** - * Kubernetes node pool name. - */ name?: string | null; - /** - * Nodes associated with the finding. - */ nodes?: Schema$Node[]; } - /** - * Represents a Jupyter notebook IPYNB file, such as a [Colab Enterprise notebook](https://cloud.google.com/colab/docs/introduction) file, that is associated with a finding. - */ export interface Schema$Notebook { - /** - * The user ID of the latest author to modify the notebook. - */ lastAuthor?: string | null; - /** - * The name of the notebook. - */ name?: string | null; - /** - * The most recent time the notebook was updated. - */ notebookUpdateTime?: string | null; - /** - * The source notebook service, for example, "Colab Enterprise". - */ service?: string | null; } - /** - * Kubernetes object related to the finding, uniquely identified by GKNN. Used if the object Kind is not one of Pod, Node, NodePool, Binding, or AccessReview. - */ export interface Schema$Object { - /** - * Pod containers associated with this finding, if any. - */ containers?: Schema$Container[]; - /** - * Kubernetes object group, such as "policy.k8s.io/v1". - */ group?: string | null; - /** - * Kubernetes object kind, such as "Namespace". - */ kind?: string | null; - /** - * Kubernetes object name. For details see https://kubernetes.io/docs/concepts/overview/working-with-objects/names/. - */ name?: string | null; - /** - * Kubernetes object namespace. Must be a valid DNS label. Named "ns" to avoid collision with C++ namespace keyword. For details see https://kubernetes.io/docs/tasks/administer-cluster/namespaces/. - */ ns?: string | null; } - /** - * Contains information about the org policies associated with the finding. - */ export interface Schema$OrgPolicy { - /** - * The resource name of the org policy. Example: "organizations/{organization_id\}/policies/{constraint_name\}" - */ name?: string | null; } - /** - * Package is a generic definition of a package. - */ export interface Schema$Package { - /** - * The CPE URI where the vulnerability was detected. - */ cpeUri?: string | null; - /** - * The name of the package where the vulnerability was detected. - */ packageName?: string | null; - /** - * Type of package, for example, os, maven, or go. - */ packageType?: string | null; - /** - * The version of the package. - */ packageVersion?: string | null; } - /** - * Vertex AI training pipeline associated with the finding. - */ export interface Schema$Pipeline { - /** - * The user defined display name of pipeline, e.g. plants-classification - */ displayName?: string | null; - /** - * Resource name of the pipeline, e.g. projects/{project\}/locations/{location\}/trainingPipelines/5253428229225578496 - */ name?: string | null; } - /** - * A Kubernetes Pod. - */ export interface Schema$Pod { - /** - * Pod containers associated with this finding, if any. - */ containers?: Schema$Container[]; - /** - * Pod labels. For Kubernetes containers, these are applied to the container. - */ labels?: Schema$Label[]; - /** - * Kubernetes Pod name. - */ name?: string | null; - /** - * Kubernetes Pod namespace. - */ ns?: string | null; } - /** - * The policy field that violates the deployed posture and its expected and detected values. - */ export interface Schema$PolicyDriftDetails { - /** - * The detected value that violates the deployed posture, for example, `false` or `allowed_values={"projects/22831892"\}`. - */ detectedValue?: string | null; - /** - * The value of this field that was configured in a posture, for example, `true` or `allowed_values={"projects/29831892"\}`. - */ expectedValue?: string | null; - /** - * The name of the updated field, for example constraint.implementation.policy_rules[0].enforce - */ field?: string | null; } - /** - * Metadata summarizing policy violations of child resources of the affected resource. `finding_category` and `resource` determine the exact semantics of the counts. For example, when category=DATA_SECURITY_POSTURE_OBJECT_PUBLIC_ACCESS_VIOLATION and resource='storage.googleapis.com/buckets/my-bucket-name' then this counts the number of Cloud Storage objects in my-bucket-name which violate a Public Access control. - */ export interface Schema$PolicyViolationSummary { - /** - * Total number of child resources that conform to the policy. - */ conformantResourcesCount?: string | null; - /** - * Number of child resources for which errors during evaluation occurred. The evaluation result for these child resources is effectively "unknown". - */ evaluationErrorsCount?: string | null; - /** - * Total count of child resources which were not in scope for evaluation. - */ outOfScopeResourcesCount?: string | null; - /** - * Count of child resources in violation of the policy. - */ policyViolationsCount?: string | null; } - /** - * A port range which is inclusive of the min and max values. Values are between 0 and 2^16-1. The max can be equal / must be not smaller than the min value. If min and max are equal this indicates that it is a single port. - */ export interface Schema$PortRange { - /** - * Maximum port value. - */ max?: string | null; - /** - * Minimum port value. - */ min?: string | null; } - /** - * Represents an operating system process. - */ export interface Schema$Process { - /** - * Process arguments as JSON encoded strings. - */ args?: string[] | null; - /** - * True if `args` is incomplete. - */ argumentsTruncated?: boolean | null; - /** - * File information for the process executable. - */ binary?: Schema$File; - /** - * Process environment variables. - */ envVariables?: Schema$EnvironmentVariable[]; - /** - * True if `env_variables` is incomplete. - */ envVariablesTruncated?: boolean | null; - /** - * File information for libraries loaded by the process. - */ libraries?: Schema$File[]; - /** - * The process name, as displayed in utilities like `top` and `ps`. This name can be accessed through `/proc/[pid]/comm` and changed with `prctl(PR_SET_NAME)`. - */ name?: string | null; - /** - * The parent process ID. - */ parentPid?: string | null; - /** - * The process ID. - */ pid?: string | null; - /** - * When the process represents the invocation of a script, `binary` provides information about the interpreter, while `script` provides information about the script file provided to the interpreter. - */ script?: Schema$File; - /** - * The ID of the user that executed the process. E.g. If this is the root user this will always be 0. - */ userId?: string | null; } - /** - * Indicates what signature matched this process. - */ export interface Schema$ProcessSignature { - /** - * Signature indicating that a binary family was matched. - */ memoryHashSignature?: Schema$MemoryHashSignature; - /** - * Describes the type of resource associated with the signature. - */ signatureType?: string | null; - /** - * Signature indicating that a YARA rule was matched. - */ yaraRuleSignature?: Schema$YaraRuleSignature; } - /** - * Resource capturing the settings for the Rapid Vulnerability Detection service. - */ export interface Schema$RapidVulnerabilityDetectionSettings { - /** - * The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's. - */ modules?: {[key: string]: Schema$Config} | null; - /** - * The resource name of the RapidVulnerabilityDetectionSettings. Formats: * organizations/{organization\}/rapidVulnerabilityDetectionSettings * folders/{folder\}/rapidVulnerabilityDetectionSettings * projects/{project\}/rapidVulnerabilityDetectionSettings - */ name?: string | null; - /** - * The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED. - */ serviceEnablementState?: string | null; - /** - * Output only. The time the settings were last updated. - */ updateTime?: string | null; } - /** - * Additional Links - */ export interface Schema$Reference { - /** - * Source of the reference e.g. NVD - */ source?: string | null; - /** - * Uri for the mentioned source e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527. - */ uri?: string | null; } - /** - * Information about the requests relevant to the finding. - */ export interface Schema$Requests { - /** - * Allowed RPS (requests per second) over the long term. - */ longTermAllowed?: number | null; - /** - * Denied RPS (requests per second) over the long term. - */ longTermDenied?: number | null; - /** - * For 'Increasing deny ratio', the ratio is the denied traffic divided by the allowed traffic. For 'Allowed traffic spike', the ratio is the allowed traffic in the short term divided by allowed traffic in the long term. - */ ratio?: number | null; - /** - * Allowed RPS (requests per second) in the short term. - */ shortTermAllowed?: number | null; } - /** - * Represents the path of resources leading up to the resource this finding is about. - */ export interface Schema$ResourcePath { - /** - * The list of nodes that make the up resource path, ordered from lowest level to highest level. - */ nodes?: Schema$ResourcePathNode[]; } - /** - * A node within the resource path. Each node represents a resource within the resource hierarchy. - */ export interface Schema$ResourcePathNode { - /** - * The display name of the resource this node represents. - */ displayName?: string | null; - /** - * The ID of the resource this node represents. - */ id?: string | null; - /** - * The type of resource this node represents. - */ nodeType?: string | null; } - /** - * Kubernetes Role or ClusterRole. - */ export interface Schema$Role { - /** - * Role type. - */ kind?: string | null; - /** - * Role name. - */ name?: string | null; - /** - * Role namespace. - */ ns?: string | null; } - /** - * Details about a secret or credential associated with the finding. - */ export interface Schema$Secret { - /** - * The environment variable containing the secret. - */ environmentVariable?: Schema$SecretEnvironmentVariable; - /** - * The file containing the secret. - */ filePath?: Schema$SecretFilePath; - /** - * The status of the secret. - */ status?: Schema$SecretStatus; - /** - * The type of secret, for example, GCP_API_KEY. - */ type?: string | null; } - /** - * Environment variable containing the secret. - */ export interface Schema$SecretEnvironmentVariable { - /** - * Environment variable name as a JSON encoded string. Note that value is not included since the value contains the secret data, which is sensitive core content. - */ key?: string | null; } - /** - * File path containing the secret. - */ export interface Schema$SecretFilePath { - /** - * Path to the file. - */ path?: string | null; } - /** - * The status of the secret. - */ export interface Schema$SecretStatus { - /** - * Time that the secret was found. - */ lastUpdatedTime?: string | null; - /** - * The validity of the secret. - */ validity?: string | null; } - /** - * SecurityBulletin are notifications of vulnerabilities of Google products. - */ export interface Schema$SecurityBulletin { - /** - * ID of the bulletin corresponding to the vulnerability. - */ bulletinId?: string | null; - /** - * Submission time of this Security Bulletin. - */ submissionTime?: string | null; - /** - * This represents a version that the cluster receiving this notification should be upgraded to, based on its current version. For example, 1.15.0 - */ suggestedUpgradeVersion?: string | null; } - /** - * Resource capturing the settings for Security Center. - */ export interface Schema$SecurityCenterSettings { - /** - * The KMS key name used for CMEK encryption. Format: projects/{project\}/locations/{location\}/keyRings/{key_ring\}/cryptoKeys/{key_name\} - */ cryptoKeyName?: string | null; - /** - * The resource name of the project to send logs to. This project must be part of the organization this resource resides in. The format is `projects/{project_id\}`. An empty value disables logging. This value is only referenced by services that support log sink. Please refer to the documentation for an updated list of compatible services. This may only be specified for organization level onboarding. - */ logSinkProject?: string | null; - /** - * The resource name of the SecurityCenterSettings. Format: organizations/{organization\}/securityCenterSettings Format: folders/{folder\}/securityCenterSettings Format: projects/{project\}/securityCenterSettings - */ name?: string | null; - /** - * Output only. Timestamp of when the customer organization was onboarded to SCC. - */ onboardingTime?: string | null; - /** - * Output only. The organization level service account to be used for security center components. - */ orgServiceAccount?: string | null; } - /** - * Resource capturing the settings for the Security Health Analytics service. - */ export interface Schema$SecurityHealthAnalyticsSettings { - /** - * The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration. - */ modules?: {[key: string]: Schema$Config} | null; - /** - * Identifier. The resource name of the SecurityHealthAnalyticsSettings. Formats: * organizations/{organization\}/securityHealthAnalyticsSettings * folders/{folder\}/securityHealthAnalyticsSettings * projects/{project\}/securityHealthAnalyticsSettings - */ name?: string | null; - /** - * Output only. The service account used by Security Health Analytics detectors. - */ serviceAccount?: string | null; - /** - * The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED. - */ serviceEnablementState?: string | null; - /** - * Output only. The time the settings were last updated. - */ updateTime?: string | null; } - /** - * User specified security marks that are attached to the parent Security Command Center resource. Security marks are scoped within a Security Command Center organization -- they can be modified and viewed by all users who have proper permissions on the organization. - */ export interface Schema$SecurityMarks { - /** - * The canonical name of the marks. Examples: "organizations/{organization_id\}/assets/{asset_id\}/securityMarks" "folders/{folder_id\}/assets/{asset_id\}/securityMarks" "projects/{project_number\}/assets/{asset_id\}/securityMarks" "organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}/securityMarks" "folders/{folder_id\}/sources/{source_id\}/findings/{finding_id\}/securityMarks" "projects/{project_number\}/sources/{source_id\}/findings/{finding_id\}/securityMarks" - */ canonicalName?: string | null; - /** - * Mutable user specified security marks belonging to the parent resource. Constraints are as follows: * Keys and values are treated as case insensitive * Keys must be between 1 - 256 characters (inclusive) * Keys must be letters, numbers, underscores, or dashes * Values have leading and trailing whitespace trimmed, remaining characters must be between 1 - 4096 characters (inclusive) - */ marks?: {[key: string]: string} | null; - /** - * The relative resource name of the SecurityMarks. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name Examples: "organizations/{organization_id\}/assets/{asset_id\}/securityMarks" "organizations/{organization_id\}/sources/{source_id\}/findings/{finding_id\}/securityMarks". - */ name?: string | null; } - /** - * Information about the [Google Cloud Armor security policy](https://cloud.google.com/armor/docs/security-policy-overview) relevant to the finding. - */ export interface Schema$SecurityPolicy { - /** - * The name of the Google Cloud Armor security policy, for example, "my-security-policy". - */ name?: string | null; - /** - * Whether or not the associated rule or policy is in preview mode. - */ preview?: boolean | null; - /** - * The type of Google Cloud Armor security policy for example, 'backend security policy', 'edge security policy', 'network edge security policy', or 'always-on DDoS protection'. - */ type?: string | null; } - /** - * Represents a posture that is deployed on Google Cloud by the Security Command Center Posture Management service. A posture contains one or more policy sets. A policy set is a group of policies that enforce a set of security rules on Google Cloud. - */ export interface Schema$SecurityPosture { - /** - * The name of the updated policy, for example, `projects/{project_id\}/policies/{constraint_name\}`. - */ changedPolicy?: string | null; - /** - * Name of the posture, for example, `CIS-Posture`. - */ - name?: string | null; - /** - * The ID of the updated policy, for example, `compute-policy-1`. - */ + name?: string | null; policy?: string | null; - /** - * The details about a change in an updated policy that violates the deployed posture. - */ policyDriftDetails?: Schema$PolicyDriftDetails[]; - /** - * The name of the updated policyset, for example, `cis-policyset`. - */ policySet?: string | null; - /** - * The name of the posture deployment, for example, `organizations/{org_id\}/posturedeployments/{posture_deployment_id\}`. - */ postureDeployment?: string | null; - /** - * The project, folder, or organization on which the posture is deployed, for example, `projects/{project_number\}`. - */ postureDeploymentResource?: string | null; - /** - * The version of the posture, for example, `c7cfa2a8`. - */ revisionId?: string | null; } - /** - * Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. - */ export interface Schema$SensitivityScore { - /** - * The sensitivity score applied to the resource. - */ score?: string | null; } - /** - * Identity delegation history of an authenticated service account. - */ export interface Schema$ServiceAccountDelegationInfo { - /** - * The email address of a Google account. - */ principalEmail?: string | null; - /** - * A string representing the principal_subject associated with the identity. As compared to `principal_email`, supports principals that aren't associated with email addresses, such as third party principals. For most identities, the format will be `principal://iam.googleapis.com/{identity pool name\}/subjects/{subject\}` except for some GKE identities (GKE_WORKLOAD, FREEFORM, GKE_HUB_WORKLOAD) that are still in the legacy format `serviceAccount:{identity pool name\}[{subject\}]` - */ principalSubject?: string | null; } - /** - * Information about the static mute state. A static mute state overrides any dynamic mute rules that apply to this finding. The static mute state can be set by a static mute rule or by muting the finding directly. - */ export interface Schema$StaticMute { - /** - * When the static mute was applied. - */ applyTime?: string | null; - /** - * The static mute state. If the value is `MUTED` or `UNMUTED`, then the finding's overall mute state will have the same value. - */ state?: string | null; } - /** - * Represents a Kubernetes subject. - */ export interface Schema$Subject { - /** - * Authentication type for the subject. - */ kind?: string | null; - /** - * Name for the subject. - */ name?: string | null; - /** - * Namespace for the subject. - */ ns?: string | null; } - /** - * Resource capturing the state of an organization's subscription. - */ export interface Schema$Subscription { - /** - * The details of the most recent active subscription. If there has never been a subscription this will be empty. - */ details?: Schema$Details; - /** - * The resource name of the subscription. Format: organizations/{organization\}/subscription - */ name?: string | null; - /** - * The tier of SCC features this organization currently has access to. - */ tier?: string | null; } - /** - * Information about the ticket, if any, that is being used to track the resolution of the issue that is identified by this finding. - */ export interface Schema$TicketInfo { - /** - * The assignee of the ticket in the ticket system. - */ assignee?: string | null; - /** - * The description of the ticket in the ticket system. - */ description?: string | null; - /** - * The identifier of the ticket in the ticket system. - */ id?: string | null; - /** - * The latest status of the ticket, as reported by the ticket system. - */ status?: string | null; - /** - * The time when the ticket was last updated, as reported by the ticket system. - */ updateTime?: string | null; - /** - * The link to the ticket in the ticket system. - */ uri?: string | null; } - /** - * Contains details about a group of security issues that, when the issues occur together, represent a greater risk than when the issues occur independently. A group of such issues is referred to as a toxic combination. - */ export interface Schema$ToxicCombination { - /** - * The [Attack exposure score](https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_exposure_scores) of this toxic combination. The score is a measure of how much this toxic combination exposes one or more high-value resources to potential attack. - */ attackExposureScore?: number | null; - /** - * List of resource names of findings associated with this toxic combination. For example, `organizations/123/sources/456/findings/789`. - */ relatedFindings?: string[] | null; } - /** - * Vertex AI-related information associated with the finding. - */ export interface Schema$VertexAi { - /** - * Datasets associated with the finding. - */ datasets?: Schema$Dataset[]; - /** - * Pipelines associated with the finding. - */ pipelines?: Schema$Pipeline[]; } - /** - * Resource capturing the settings for the Virtual Machine Threat Detection service. - */ export interface Schema$VirtualMachineThreatDetectionSettings { - /** - * The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration. - */ modules?: {[key: string]: Schema$Config} | null; - /** - * Identifier. The resource name of the VirtualMachineThreatDetectionSettings. Formats: * organizations/{organization\}/virtualMachineThreatDetectionSettings * folders/{folder\}/virtualMachineThreatDetectionSettings * projects/{project\}/virtualMachineThreatDetectionSettings - */ name?: string | null; - /** - * Output only. The service account used by Virtual Machine Threat Detection detectors. - */ serviceAccount?: string | null; - /** - * The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED. - */ serviceEnablementState?: string | null; - /** - * Output only. The time the settings were last updated. - */ updateTime?: string | null; } - /** - * Refers to common vulnerability fields e.g. cve, cvss, cwe etc. - */ export interface Schema$Vulnerability { - /** - * CVE stands for Common Vulnerabilities and Exposures (https://cve.mitre.org/about/) - */ cve?: Schema$Cve; - /** - * Represents one or more Common Weakness Enumeration (CWE) information on this vulnerability. - */ cwes?: Schema$Cwe[]; - /** - * The fixed package is relevant to the finding. - */ fixedPackage?: Schema$Package; - /** - * The offending package is relevant to the finding. - */ offendingPackage?: Schema$Package; - /** - * Provider provided risk_score based on multiple factors. The higher the risk score, the more risky the vulnerability is. - */ providerRiskScore?: string | null; - /** - * Represents whether the vulnerability is reachable (detected via static analysis) - */ reachable?: boolean | null; - /** - * The security bulletin is relevant to this finding. - */ securityBulletin?: Schema$SecurityBulletin; } - /** - * Vulnerability count by severity. - */ export interface Schema$VulnerabilityCountBySeverity { - /** - * Key is the Severity enum. - */ severityToFindingCount?: {[key: string]: string} | null; } - /** - * Result containing the properties and count of a VulnerabilitySnapshot request. - */ export interface Schema$VulnerabilitySnapshot { - /** - * The cloud provider for the vulnerability snapshot. - */ cloudProvider?: string | null; - /** - * The vulnerability count by severity. - */ findingCount?: Schema$VulnerabilityCountBySeverity; - /** - * Identifier. The vulnerability snapshot name. Format: //locations//vulnerabilitySnapshots/ - */ name?: string | null; - /** - * The time that the snapshot was taken. - */ snapshotTime?: string | null; } - /** - * Resource capturing the settings for the Web Security Scanner service. - */ export interface Schema$WebSecurityScannerSettings { - /** - * The configurations including the state of enablement for the service's different modules. The absence of a module in the map implies its configuration is inherited from its parent's configuration. - */ modules?: {[key: string]: Schema$Config} | null; - /** - * Identifier. The resource name of the WebSecurityScannerSettings. Formats: * organizations/{organization\}/webSecurityScannerSettings * folders/{folder\}/webSecurityScannerSettings * projects/{project\}/webSecurityScannerSettings - */ name?: string | null; - /** - * The state of enablement for the service at its level of the resource hierarchy. A DISABLED state will override all module enablement_states to DISABLED. - */ serviceEnablementState?: string | null; - /** - * Output only. The time the settings were last updated. - */ updateTime?: string | null; } - /** - * A signature corresponding to a YARA rule. - */ export interface Schema$YaraRuleSignature { - /** - * The name of the YARA rule. - */ yaraRule?: string | null; } @@ -6745,7 +2038,6 @@ export namespace securitycenter_v1beta2 { } /** - * Get the ContainerThreatDetectionSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetContainerThreatDetectionSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateContainerThreatDetectionSettings for this purpose. * @example * ```js * // Before running the sample: @@ -6775,7 +2067,6 @@ export namespace securitycenter_v1beta2 { * * // Do the magic * const res = await securitycenter.folders.getContainerThreatDetectionSettings({ - * // Required. The name of the ContainerThreatDetectionSettings to retrieve. Formats: * organizations/{organization\}/containerThreatDetectionSettings * folders/{folder\}/containerThreatDetectionSettings * projects/{project\}/containerThreatDetectionSettings * projects/{project\}/locations/{location\}/clusters/{cluster\}/containerThreatDetectionSettings * name: 'folders/my-folder/containerThreatDetectionSettings', * }); * console.log(res.data); @@ -6895,7 +2186,6 @@ export namespace securitycenter_v1beta2 { } /** - * Get the EventThreatDetectionSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetEventThreatDetectionSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateEventThreatDetectionSettings for this purpose. * @example * ```js * // Before running the sample: @@ -6925,7 +2215,6 @@ export namespace securitycenter_v1beta2 { * * // Do the magic * const res = await securitycenter.folders.getEventThreatDetectionSettings({ - * // Required. The name of the EventThreatDetectionSettings to retrieve. Formats: * organizations/{organization\}/eventThreatDetectionSettings * folders/{folder\}/eventThreatDetectionSettings * projects/{project\}/eventThreatDetectionSettings * name: 'folders/my-folder/eventThreatDetectionSettings', * }); * console.log(res.data); @@ -7039,7 +2328,6 @@ export namespace securitycenter_v1beta2 { } /** - * Get the RapidVulnerabilityDetectionSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetRapidVulnerabilityDetectionSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateRapidVulnerabilityDetectionSettings for this purpose. * @example * ```js * // Before running the sample: @@ -7070,7 +2358,6 @@ export namespace securitycenter_v1beta2 { * // Do the magic * const res = * await securitycenter.folders.getRapidVulnerabilityDetectionSettings({ - * // Required. The name of the RapidVulnerabilityDetectionSettings to retrieve. Formats: * organizations/{organization\}/rapidVulnerabilityDetectionSettings * folders/{folder\}/rapidVulnerabilityDetectionSettings * projects/{project\}/rapidVulnerabilityDetectionSettings * name: 'folders/my-folder/rapidVulnerabilityDetectionSettings', * }); * console.log(res.data); @@ -7189,7 +2476,6 @@ export namespace securitycenter_v1beta2 { } /** - * Get the SecurityCenterSettings resource. * @example * ```js * // Before running the sample: @@ -7219,7 +2505,6 @@ export namespace securitycenter_v1beta2 { * * // Do the magic * const res = await securitycenter.folders.getSecurityCenterSettings({ - * // Required. The name of the SecurityCenterSettings to retrieve. Format: organizations/{organization\}/securityCenterSettings Format: folders/{folder\}/securityCenterSettings Format: projects/{project\}/securityCenterSettings * name: 'folders/my-folder/securityCenterSettings', * }); * console.log(res.data); @@ -7332,7 +2617,6 @@ export namespace securitycenter_v1beta2 { } /** - * Get the SecurityHealthAnalyticsSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetSecurityHealthAnalyticsSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateSecurityHealthAnalyticsSettings for this purpose. * @example * ```js * // Before running the sample: @@ -7362,7 +2646,6 @@ export namespace securitycenter_v1beta2 { * * // Do the magic * const res = await securitycenter.folders.getSecurityHealthAnalyticsSettings({ - * // Required. The name of the SecurityHealthAnalyticsSettings to retrieve. Formats: * organizations/{organization\}/securityHealthAnalyticsSettings * folders/{folder\}/securityHealthAnalyticsSettings * projects/{project\}/securityHealthAnalyticsSettings * name: 'folders/my-folder/securityHealthAnalyticsSettings', * }); * console.log(res.data); @@ -7478,7 +2761,6 @@ export namespace securitycenter_v1beta2 { } /** - * Get the VirtualMachineThreatDetectionSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetVirtualMachineThreatDetectionSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateVirtualMachineThreatDetectionSettings for this purpose. * @example * ```js * // Before running the sample: @@ -7509,7 +2791,6 @@ export namespace securitycenter_v1beta2 { * // Do the magic * const res = * await securitycenter.folders.getVirtualMachineThreatDetectionSettings({ - * // Required. The name of the VirtualMachineThreatDetectionSettings to retrieve. Formats: * organizations/{organization\}/virtualMachineThreatDetectionSettings * folders/{folder\}/virtualMachineThreatDetectionSettings * projects/{project\}/virtualMachineThreatDetectionSettings * name: 'folders/my-folder/virtualMachineThreatDetectionSettings', * }); * console.log(res.data); @@ -7629,7 +2910,6 @@ export namespace securitycenter_v1beta2 { } /** - * Get the WebSecurityScannerSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetWebSecurityScannerSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateWebSecurityScannerSettings for this purpose. * @example * ```js * // Before running the sample: @@ -7659,7 +2939,6 @@ export namespace securitycenter_v1beta2 { * * // Do the magic * const res = await securitycenter.folders.getWebSecurityScannerSettings({ - * // Required. The name of the WebSecurityScannerSettings to retrieve. Formats: * organizations/{organization\}/webSecurityScannerSettings * folders/{folder\}/webSecurityScannerSettings * projects/{project\}/webSecurityScannerSettings * name: 'folders/my-folder/webSecurityScannerSettings', * }); * console.log(res.data); @@ -7771,7 +3050,6 @@ export namespace securitycenter_v1beta2 { } /** - * Update the ContainerThreatDetectionSettings resource. * @example * ```js * // Before running the sample: @@ -7802,9 +3080,8 @@ export namespace securitycenter_v1beta2 { * // Do the magic * const res = * await securitycenter.folders.updateContainerThreatDetectionSettings({ - * // Identifier. The resource name of the ContainerThreatDetectionSettings. Formats: * organizations/{organization\}/containerThreatDetectionSettings * folders/{folder\}/containerThreatDetectionSettings * projects/{project\}/containerThreatDetectionSettings * projects/{project\}/locations/{location\}/clusters/{cluster\}/containerThreatDetectionSettings * name: 'folders/my-folder/containerThreatDetectionSettings', - * // The list of fields to be updated. + * * updateMask: 'placeholder-value', * * // Request body metadata @@ -7936,7 +3213,6 @@ export namespace securitycenter_v1beta2 { } /** - * Update the EventThreatDetectionSettings resource. * @example * ```js * // Before running the sample: @@ -7966,9 +3242,8 @@ export namespace securitycenter_v1beta2 { * * // Do the magic * const res = await securitycenter.folders.updateEventThreatDetectionSettings({ - * // Identifier. The resource name of the EventThreatDetectionSettings. Formats: * organizations/{organization\}/eventThreatDetectionSettings * folders/{folder\}/eventThreatDetectionSettings * projects/{project\}/eventThreatDetectionSettings * name: 'folders/my-folder/eventThreatDetectionSettings', - * // The list of fields to be updated. + * * updateMask: 'placeholder-value', * * // Request body metadata @@ -8094,7 +3369,6 @@ export namespace securitycenter_v1beta2 { } /** - * Update the RapidVulnerabilityDetectionSettings resource. * @example * ```js * // Before running the sample: @@ -8125,9 +3399,8 @@ export namespace securitycenter_v1beta2 { * // Do the magic * const res = * await securitycenter.folders.updateRapidVulnerabilityDetectionSettings({ - * // The resource name of the RapidVulnerabilityDetectionSettings. Formats: * organizations/{organization\}/rapidVulnerabilityDetectionSettings * folders/{folder\}/rapidVulnerabilityDetectionSettings * projects/{project\}/rapidVulnerabilityDetectionSettings * name: 'folders/my-folder/rapidVulnerabilityDetectionSettings', - * // The list of fields to be updated. + * * updateMask: 'placeholder-value', * * // Request body metadata @@ -8257,7 +3530,6 @@ export namespace securitycenter_v1beta2 { } /** - * Update the SecurityHealthAnalyticsSettings resource. * @example * ```js * // Before running the sample: @@ -8288,9 +3560,8 @@ export namespace securitycenter_v1beta2 { * // Do the magic * const res = * await securitycenter.folders.updateSecurityHealthAnalyticsSettings({ - * // Identifier. The resource name of the SecurityHealthAnalyticsSettings. Formats: * organizations/{organization\}/securityHealthAnalyticsSettings * folders/{folder\}/securityHealthAnalyticsSettings * projects/{project\}/securityHealthAnalyticsSettings * name: 'folders/my-folder/securityHealthAnalyticsSettings', - * // The list of fields to be updated. + * * updateMask: 'placeholder-value', * * // Request body metadata @@ -8418,7 +3689,6 @@ export namespace securitycenter_v1beta2 { } /** - * Update the VirtualMachineThreatDetectionSettings resource. * @example * ```js * // Before running the sample: @@ -8449,9 +3719,8 @@ export namespace securitycenter_v1beta2 { * // Do the magic * const res = * await securitycenter.folders.updateVirtualMachineThreatDetectionSettings({ - * // Identifier. The resource name of the VirtualMachineThreatDetectionSettings. Formats: * organizations/{organization\}/virtualMachineThreatDetectionSettings * folders/{folder\}/virtualMachineThreatDetectionSettings * projects/{project\}/virtualMachineThreatDetectionSettings * name: 'folders/my-folder/virtualMachineThreatDetectionSettings', - * // The list of fields to be updated. + * * updateMask: 'placeholder-value', * * // Request body metadata @@ -8583,7 +3852,6 @@ export namespace securitycenter_v1beta2 { } /** - * Update the WebSecurityScannerSettings resource. * @example * ```js * // Before running the sample: @@ -8613,9 +3881,8 @@ export namespace securitycenter_v1beta2 { * * // Do the magic * const res = await securitycenter.folders.updateWebSecurityScannerSettings({ - * // Identifier. The resource name of the WebSecurityScannerSettings. Formats: * organizations/{organization\}/webSecurityScannerSettings * folders/{folder\}/webSecurityScannerSettings * projects/{project\}/webSecurityScannerSettings * name: 'folders/my-folder/webSecurityScannerSettings', - * // The list of fields to be updated. + * * updateMask: 'placeholder-value', * * // Request body metadata @@ -8740,53 +4007,53 @@ export namespace securitycenter_v1beta2 { export interface Params$Resource$Folders$Getcontainerthreatdetectionsettings extends StandardParameters { /** - * Required. The name of the ContainerThreatDetectionSettings to retrieve. Formats: * organizations/{organization\}/containerThreatDetectionSettings * folders/{folder\}/containerThreatDetectionSettings * projects/{project\}/containerThreatDetectionSettings * projects/{project\}/locations/{location\}/clusters/{cluster\}/containerThreatDetectionSettings + * */ name?: string; } export interface Params$Resource$Folders$Geteventthreatdetectionsettings extends StandardParameters { /** - * Required. The name of the EventThreatDetectionSettings to retrieve. Formats: * organizations/{organization\}/eventThreatDetectionSettings * folders/{folder\}/eventThreatDetectionSettings * projects/{project\}/eventThreatDetectionSettings + * */ name?: string; } export interface Params$Resource$Folders$Getrapidvulnerabilitydetectionsettings extends StandardParameters { /** - * Required. The name of the RapidVulnerabilityDetectionSettings to retrieve. Formats: * organizations/{organization\}/rapidVulnerabilityDetectionSettings * folders/{folder\}/rapidVulnerabilityDetectionSettings * projects/{project\}/rapidVulnerabilityDetectionSettings + * */ name?: string; } export interface Params$Resource$Folders$Getsecuritycentersettings extends StandardParameters { /** - * Required. The name of the SecurityCenterSettings to retrieve. Format: organizations/{organization\}/securityCenterSettings Format: folders/{folder\}/securityCenterSettings Format: projects/{project\}/securityCenterSettings + * */ name?: string; } export interface Params$Resource$Folders$Getsecurityhealthanalyticssettings extends StandardParameters { /** - * Required. The name of the SecurityHealthAnalyticsSettings to retrieve. Formats: * organizations/{organization\}/securityHealthAnalyticsSettings * folders/{folder\}/securityHealthAnalyticsSettings * projects/{project\}/securityHealthAnalyticsSettings + * */ name?: string; } export interface Params$Resource$Folders$Getvirtualmachinethreatdetectionsettings extends StandardParameters { /** - * Required. The name of the VirtualMachineThreatDetectionSettings to retrieve. Formats: * organizations/{organization\}/virtualMachineThreatDetectionSettings * folders/{folder\}/virtualMachineThreatDetectionSettings * projects/{project\}/virtualMachineThreatDetectionSettings + * */ name?: string; } export interface Params$Resource$Folders$Getwebsecurityscannersettings extends StandardParameters { /** - * Required. The name of the WebSecurityScannerSettings to retrieve. Formats: * organizations/{organization\}/webSecurityScannerSettings * folders/{folder\}/webSecurityScannerSettings * projects/{project\}/webSecurityScannerSettings + * */ name?: string; } export interface Params$Resource$Folders$Updatecontainerthreatdetectionsettings extends StandardParameters { /** - * Identifier. The resource name of the ContainerThreatDetectionSettings. Formats: * organizations/{organization\}/containerThreatDetectionSettings * folders/{folder\}/containerThreatDetectionSettings * projects/{project\}/containerThreatDetectionSettings * projects/{project\}/locations/{location\}/clusters/{cluster\}/containerThreatDetectionSettings + * */ name?: string; /** - * The list of fields to be updated. + * */ updateMask?: string; @@ -8797,11 +4064,11 @@ export namespace securitycenter_v1beta2 { } export interface Params$Resource$Folders$Updateeventthreatdetectionsettings extends StandardParameters { /** - * Identifier. The resource name of the EventThreatDetectionSettings. Formats: * organizations/{organization\}/eventThreatDetectionSettings * folders/{folder\}/eventThreatDetectionSettings * projects/{project\}/eventThreatDetectionSettings + * */ name?: string; /** - * The list of fields to be updated. + * */ updateMask?: string; @@ -8812,11 +4079,11 @@ export namespace securitycenter_v1beta2 { } export interface Params$Resource$Folders$Updaterapidvulnerabilitydetectionsettings extends StandardParameters { /** - * The resource name of the RapidVulnerabilityDetectionSettings. Formats: * organizations/{organization\}/rapidVulnerabilityDetectionSettings * folders/{folder\}/rapidVulnerabilityDetectionSettings * projects/{project\}/rapidVulnerabilityDetectionSettings + * */ name?: string; /** - * The list of fields to be updated. + * */ updateMask?: string; @@ -8827,11 +4094,11 @@ export namespace securitycenter_v1beta2 { } export interface Params$Resource$Folders$Updatesecurityhealthanalyticssettings extends StandardParameters { /** - * Identifier. The resource name of the SecurityHealthAnalyticsSettings. Formats: * organizations/{organization\}/securityHealthAnalyticsSettings * folders/{folder\}/securityHealthAnalyticsSettings * projects/{project\}/securityHealthAnalyticsSettings + * */ name?: string; /** - * The list of fields to be updated. + * */ updateMask?: string; @@ -8842,11 +4109,11 @@ export namespace securitycenter_v1beta2 { } export interface Params$Resource$Folders$Updatevirtualmachinethreatdetectionsettings extends StandardParameters { /** - * Identifier. The resource name of the VirtualMachineThreatDetectionSettings. Formats: * organizations/{organization\}/virtualMachineThreatDetectionSettings * folders/{folder\}/virtualMachineThreatDetectionSettings * projects/{project\}/virtualMachineThreatDetectionSettings + * */ name?: string; /** - * The list of fields to be updated. + * */ updateMask?: string; @@ -8857,11 +4124,11 @@ export namespace securitycenter_v1beta2 { } export interface Params$Resource$Folders$Updatewebsecurityscannersettings extends StandardParameters { /** - * Identifier. The resource name of the WebSecurityScannerSettings. Formats: * organizations/{organization\}/webSecurityScannerSettings * folders/{folder\}/webSecurityScannerSettings * projects/{project\}/webSecurityScannerSettings + * */ name?: string; /** - * The list of fields to be updated. + * */ updateMask?: string; @@ -8878,7 +4145,6 @@ export namespace securitycenter_v1beta2 { } /** - * Calculates the effective ContainerThreatDetectionSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail. * @example * ```js * // Before running the sample: @@ -8909,9 +4175,8 @@ export namespace securitycenter_v1beta2 { * // Do the magic * const res = * await securitycenter.folders.containerThreatDetectionSettings.calculate({ - * // Required. The name of the ContainerThreatDetectionSettings to calculate. Formats: * organizations/{organization\}/containerThreatDetectionSettings * folders/{folder\}/containerThreatDetectionSettings * projects/{project\}/containerThreatDetectionSettings * projects/{project\}/locations/{location\}/clusters/{cluster\}/containerThreatDetectionSettings * name: 'folders/my-folder/containerThreatDetectionSettings', - * // Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown. + * * showEligibleModulesOnly: 'placeholder-value', * }); * console.log(res.data); @@ -9036,11 +4301,11 @@ export namespace securitycenter_v1beta2 { export interface Params$Resource$Folders$Containerthreatdetectionsettings$Calculate extends StandardParameters { /** - * Required. The name of the ContainerThreatDetectionSettings to calculate. Formats: * organizations/{organization\}/containerThreatDetectionSettings * folders/{folder\}/containerThreatDetectionSettings * projects/{project\}/containerThreatDetectionSettings * projects/{project\}/locations/{location\}/clusters/{cluster\}/containerThreatDetectionSettings + * */ name?: string; /** - * Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown. + * */ showEligibleModulesOnly?: boolean; } @@ -9052,7 +4317,6 @@ export namespace securitycenter_v1beta2 { } /** - * Calculates the effective EventThreatDetectionSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail. * @example * ```js * // Before running the sample: @@ -9083,9 +4347,8 @@ export namespace securitycenter_v1beta2 { * // Do the magic * const res = * await securitycenter.folders.eventThreatDetectionSettings.calculate({ - * // Required. The name of the EventThreatDetectionSettings to calculate. Formats: * organizations/{organization\}/eventThreatDetectionSettings * folders/{folder\}/eventThreatDetectionSettings * projects/{project\}/eventThreatDetectionSettings * name: 'folders/my-folder/eventThreatDetectionSettings', - * // Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown. + * * showEligibleModulesOnly: 'placeholder-value', * }); * console.log(res.data); @@ -9205,11 +4468,11 @@ export namespace securitycenter_v1beta2 { export interface Params$Resource$Folders$Eventthreatdetectionsettings$Calculate extends StandardParameters { /** - * Required. The name of the EventThreatDetectionSettings to calculate. Formats: * organizations/{organization\}/eventThreatDetectionSettings * folders/{folder\}/eventThreatDetectionSettings * projects/{project\}/eventThreatDetectionSettings + * */ name?: string; /** - * Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown. + * */ showEligibleModulesOnly?: boolean; } @@ -9221,7 +4484,6 @@ export namespace securitycenter_v1beta2 { } /** - * Calculates the effective RapidVulnerabilityDetectionSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail. * @example * ```js * // Before running the sample: @@ -9252,7 +4514,6 @@ export namespace securitycenter_v1beta2 { * // Do the magic * const res = * await securitycenter.folders.rapidVulnerabilityDetectionSettings.calculate({ - * // Required. The name of the RapidVulnerabilityDetectionSettings to calculate. Formats: * organizations/{organization\}/rapidVulnerabilityDetectionSettings * folders/{folder\}/rapidVulnerabilityDetectionSettings * projects/{project\}/rapidVulnerabilityDetectionSettings * name: 'folders/my-folder/rapidVulnerabilityDetectionSettings', * }); * console.log(res.data); @@ -9376,7 +4637,7 @@ export namespace securitycenter_v1beta2 { export interface Params$Resource$Folders$Rapidvulnerabilitydetectionsettings$Calculate extends StandardParameters { /** - * Required. The name of the RapidVulnerabilityDetectionSettings to calculate. Formats: * organizations/{organization\}/rapidVulnerabilityDetectionSettings * folders/{folder\}/rapidVulnerabilityDetectionSettings * projects/{project\}/rapidVulnerabilityDetectionSettings + * */ name?: string; } @@ -9388,7 +4649,6 @@ export namespace securitycenter_v1beta2 { } /** - * Calculates the effective SecurityHealthAnalyticsSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail. * @example * ```js * // Before running the sample: @@ -9419,9 +4679,8 @@ export namespace securitycenter_v1beta2 { * // Do the magic * const res = * await securitycenter.folders.securityHealthAnalyticsSettings.calculate({ - * // Required. The name of the SecurityHealthAnalyticsSettings to calculate. Formats: * organizations/{organization\}/securityHealthAnalyticsSettings * folders/{folder\}/securityHealthAnalyticsSettings * projects/{project\}/securityHealthAnalyticsSettings * name: 'folders/my-folder/securityHealthAnalyticsSettings', - * // Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown. + * * showEligibleModulesOnly: 'placeholder-value', * }); * console.log(res.data); @@ -9542,11 +4801,11 @@ export namespace securitycenter_v1beta2 { export interface Params$Resource$Folders$Securityhealthanalyticssettings$Calculate extends StandardParameters { /** - * Required. The name of the SecurityHealthAnalyticsSettings to calculate. Formats: * organizations/{organization\}/securityHealthAnalyticsSettings * folders/{folder\}/securityHealthAnalyticsSettings * projects/{project\}/securityHealthAnalyticsSettings + * */ name?: string; /** - * Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown. + * */ showEligibleModulesOnly?: boolean; } @@ -9558,7 +4817,6 @@ export namespace securitycenter_v1beta2 { } /** - * Calculates the effective VirtualMachineThreatDetectionSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail. * @example * ```js * // Before running the sample: @@ -9590,9 +4848,8 @@ export namespace securitycenter_v1beta2 { * const res = * await securitycenter.folders.virtualMachineThreatDetectionSettings.calculate( * { - * // Required. The name of the VirtualMachineThreatDetectionSettings to calculate. Formats: * organizations/{organization\}/virtualMachineThreatDetectionSettings * folders/{folder\}/virtualMachineThreatDetectionSettings * projects/{project\}/virtualMachineThreatDetectionSettings * name: 'folders/my-folder/virtualMachineThreatDetectionSettings', - * // Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown. + * * showEligibleModulesOnly: 'placeholder-value', * }, * ); @@ -9718,11 +4975,11 @@ export namespace securitycenter_v1beta2 { export interface Params$Resource$Folders$Virtualmachinethreatdetectionsettings$Calculate extends StandardParameters { /** - * Required. The name of the VirtualMachineThreatDetectionSettings to calculate. Formats: * organizations/{organization\}/virtualMachineThreatDetectionSettings * folders/{folder\}/virtualMachineThreatDetectionSettings * projects/{project\}/virtualMachineThreatDetectionSettings + * */ name?: string; /** - * Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown. + * */ showEligibleModulesOnly?: boolean; } @@ -9734,7 +4991,6 @@ export namespace securitycenter_v1beta2 { } /** - * Calculates the effective WebSecurityScannerSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail. * @example * ```js * // Before running the sample: @@ -9765,9 +5021,8 @@ export namespace securitycenter_v1beta2 { * // Do the magic * const res = await securitycenter.folders.webSecurityScannerSettings.calculate( * { - * // Required. The name of the WebSecurityScannerSettings to calculate. Formats: * organizations/{organization\}/webSecurityScannerSettings * folders/{folder\}/webSecurityScannerSettings * projects/{project\}/webSecurityScannerSettings * name: 'folders/my-folder/webSecurityScannerSettings', - * // Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown. + * * showEligibleModulesOnly: 'placeholder-value', * }, * ); @@ -9886,11 +5141,11 @@ export namespace securitycenter_v1beta2 { export interface Params$Resource$Folders$Websecurityscannersettings$Calculate extends StandardParameters { /** - * Required. The name of the WebSecurityScannerSettings to calculate. Formats: * organizations/{organization\}/webSecurityScannerSettings * folders/{folder\}/webSecurityScannerSettings * projects/{project\}/webSecurityScannerSettings + * */ name?: string; /** - * Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown. + * */ showEligibleModulesOnly?: boolean; } @@ -9928,7 +5183,6 @@ export namespace securitycenter_v1beta2 { } /** - * Get the ContainerThreatDetectionSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetContainerThreatDetectionSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateContainerThreatDetectionSettings for this purpose. * @example * ```js * // Before running the sample: @@ -9959,7 +5213,6 @@ export namespace securitycenter_v1beta2 { * // Do the magic * const res = * await securitycenter.organizations.getContainerThreatDetectionSettings({ - * // Required. The name of the ContainerThreatDetectionSettings to retrieve. Formats: * organizations/{organization\}/containerThreatDetectionSettings * folders/{folder\}/containerThreatDetectionSettings * projects/{project\}/containerThreatDetectionSettings * projects/{project\}/locations/{location\}/clusters/{cluster\}/containerThreatDetectionSettings * name: 'organizations/my-organization/containerThreatDetectionSettings', * }); * console.log(res.data); @@ -10079,7 +5332,6 @@ export namespace securitycenter_v1beta2 { } /** - * Get the EventThreatDetectionSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetEventThreatDetectionSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateEventThreatDetectionSettings for this purpose. * @example * ```js * // Before running the sample: @@ -10110,7 +5362,6 @@ export namespace securitycenter_v1beta2 { * // Do the magic * const res = * await securitycenter.organizations.getEventThreatDetectionSettings({ - * // Required. The name of the EventThreatDetectionSettings to retrieve. Formats: * organizations/{organization\}/eventThreatDetectionSettings * folders/{folder\}/eventThreatDetectionSettings * projects/{project\}/eventThreatDetectionSettings * name: 'organizations/my-organization/eventThreatDetectionSettings', * }); * console.log(res.data); @@ -10225,7 +5476,6 @@ export namespace securitycenter_v1beta2 { } /** - * Get the RapidVulnerabilityDetectionSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetRapidVulnerabilityDetectionSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateRapidVulnerabilityDetectionSettings for this purpose. * @example * ```js * // Before running the sample: @@ -10256,7 +5506,6 @@ export namespace securitycenter_v1beta2 { * // Do the magic * const res = * await securitycenter.organizations.getRapidVulnerabilityDetectionSettings({ - * // Required. The name of the RapidVulnerabilityDetectionSettings to retrieve. Formats: * organizations/{organization\}/rapidVulnerabilityDetectionSettings * folders/{folder\}/rapidVulnerabilityDetectionSettings * projects/{project\}/rapidVulnerabilityDetectionSettings * name: 'organizations/my-organization/rapidVulnerabilityDetectionSettings', * }); * console.log(res.data); @@ -10375,7 +5624,6 @@ export namespace securitycenter_v1beta2 { } /** - * Get the SecurityCenterSettings resource. * @example * ```js * // Before running the sample: @@ -10405,7 +5653,6 @@ export namespace securitycenter_v1beta2 { * * // Do the magic * const res = await securitycenter.organizations.getSecurityCenterSettings({ - * // Required. The name of the SecurityCenterSettings to retrieve. Format: organizations/{organization\}/securityCenterSettings Format: folders/{folder\}/securityCenterSettings Format: projects/{project\}/securityCenterSettings * name: 'organizations/my-organization/securityCenterSettings', * }); * console.log(res.data); @@ -10518,7 +5765,6 @@ export namespace securitycenter_v1beta2 { } /** - * Get the SecurityHealthAnalyticsSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetSecurityHealthAnalyticsSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateSecurityHealthAnalyticsSettings for this purpose. * @example * ```js * // Before running the sample: @@ -10549,7 +5795,6 @@ export namespace securitycenter_v1beta2 { * // Do the magic * const res = * await securitycenter.organizations.getSecurityHealthAnalyticsSettings({ - * // Required. The name of the SecurityHealthAnalyticsSettings to retrieve. Formats: * organizations/{organization\}/securityHealthAnalyticsSettings * folders/{folder\}/securityHealthAnalyticsSettings * projects/{project\}/securityHealthAnalyticsSettings * name: 'organizations/my-organization/securityHealthAnalyticsSettings', * }); * console.log(res.data); @@ -10665,7 +5910,6 @@ export namespace securitycenter_v1beta2 { } /** - * Get the Subscription resource. * @example * ```js * // Before running the sample: @@ -10695,7 +5939,6 @@ export namespace securitycenter_v1beta2 { * * // Do the magic * const res = await securitycenter.organizations.getSubscription({ - * // Required. The name of the subscription to retrieve. Format: organizations/{organization\}/subscription * name: 'organizations/my-organization/subscription', * }); * console.log(res.data); @@ -10802,7 +6045,6 @@ export namespace securitycenter_v1beta2 { } /** - * Get the VirtualMachineThreatDetectionSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetVirtualMachineThreatDetectionSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateVirtualMachineThreatDetectionSettings for this purpose. * @example * ```js * // Before running the sample: @@ -10834,7 +6076,6 @@ export namespace securitycenter_v1beta2 { * const res = * await securitycenter.organizations.getVirtualMachineThreatDetectionSettings( * { - * // Required. The name of the VirtualMachineThreatDetectionSettings to retrieve. Formats: * organizations/{organization\}/virtualMachineThreatDetectionSettings * folders/{folder\}/virtualMachineThreatDetectionSettings * projects/{project\}/virtualMachineThreatDetectionSettings * name: 'organizations/my-organization/virtualMachineThreatDetectionSettings', * }, * ); @@ -10955,7 +6196,6 @@ export namespace securitycenter_v1beta2 { } /** - * Get the WebSecurityScannerSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetWebSecurityScannerSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateWebSecurityScannerSettings for this purpose. * @example * ```js * // Before running the sample: @@ -10985,7 +6225,6 @@ export namespace securitycenter_v1beta2 { * * // Do the magic * const res = await securitycenter.organizations.getWebSecurityScannerSettings({ - * // Required. The name of the WebSecurityScannerSettings to retrieve. Formats: * organizations/{organization\}/webSecurityScannerSettings * folders/{folder\}/webSecurityScannerSettings * projects/{project\}/webSecurityScannerSettings * name: 'organizations/my-organization/webSecurityScannerSettings', * }); * console.log(res.data); @@ -11098,7 +6337,6 @@ export namespace securitycenter_v1beta2 { } /** - * Update the ContainerThreatDetectionSettings resource. * @example * ```js * // Before running the sample: @@ -11129,9 +6367,8 @@ export namespace securitycenter_v1beta2 { * // Do the magic * const res = * await securitycenter.organizations.updateContainerThreatDetectionSettings({ - * // Identifier. The resource name of the ContainerThreatDetectionSettings. Formats: * organizations/{organization\}/containerThreatDetectionSettings * folders/{folder\}/containerThreatDetectionSettings * projects/{project\}/containerThreatDetectionSettings * projects/{project\}/locations/{location\}/clusters/{cluster\}/containerThreatDetectionSettings * name: 'organizations/my-organization/containerThreatDetectionSettings', - * // The list of fields to be updated. + * * updateMask: 'placeholder-value', * * // Request body metadata @@ -11263,7 +6500,6 @@ export namespace securitycenter_v1beta2 { } /** - * Update the EventThreatDetectionSettings resource. * @example * ```js * // Before running the sample: @@ -11294,9 +6530,8 @@ export namespace securitycenter_v1beta2 { * // Do the magic * const res = * await securitycenter.organizations.updateEventThreatDetectionSettings({ - * // Identifier. The resource name of the EventThreatDetectionSettings. Formats: * organizations/{organization\}/eventThreatDetectionSettings * folders/{folder\}/eventThreatDetectionSettings * projects/{project\}/eventThreatDetectionSettings * name: 'organizations/my-organization/eventThreatDetectionSettings', - * // The list of fields to be updated. + * * updateMask: 'placeholder-value', * * // Request body metadata @@ -11422,7 +6657,6 @@ export namespace securitycenter_v1beta2 { } /** - * Update the RapidVulnerabilityDetectionSettings resource. * @example * ```js * // Before running the sample: @@ -11454,9 +6688,8 @@ export namespace securitycenter_v1beta2 { * const res = * await securitycenter.organizations.updateRapidVulnerabilityDetectionSettings( * { - * // The resource name of the RapidVulnerabilityDetectionSettings. Formats: * organizations/{organization\}/rapidVulnerabilityDetectionSettings * folders/{folder\}/rapidVulnerabilityDetectionSettings * projects/{project\}/rapidVulnerabilityDetectionSettings * name: 'organizations/my-organization/rapidVulnerabilityDetectionSettings', - * // The list of fields to be updated. + * * updateMask: 'placeholder-value', * * // Request body metadata @@ -11587,7 +6820,6 @@ export namespace securitycenter_v1beta2 { } /** - * Update the SecurityHealthAnalyticsSettings resource. * @example * ```js * // Before running the sample: @@ -11618,9 +6850,8 @@ export namespace securitycenter_v1beta2 { * // Do the magic * const res = * await securitycenter.organizations.updateSecurityHealthAnalyticsSettings({ - * // Identifier. The resource name of the SecurityHealthAnalyticsSettings. Formats: * organizations/{organization\}/securityHealthAnalyticsSettings * folders/{folder\}/securityHealthAnalyticsSettings * projects/{project\}/securityHealthAnalyticsSettings * name: 'organizations/my-organization/securityHealthAnalyticsSettings', - * // The list of fields to be updated. + * * updateMask: 'placeholder-value', * * // Request body metadata @@ -11748,7 +6979,6 @@ export namespace securitycenter_v1beta2 { } /** - * Update the VirtualMachineThreatDetectionSettings resource. * @example * ```js * // Before running the sample: @@ -11780,9 +7010,8 @@ export namespace securitycenter_v1beta2 { * const res = * await securitycenter.organizations.updateVirtualMachineThreatDetectionSettings( * { - * // Identifier. The resource name of the VirtualMachineThreatDetectionSettings. Formats: * organizations/{organization\}/virtualMachineThreatDetectionSettings * folders/{folder\}/virtualMachineThreatDetectionSettings * projects/{project\}/virtualMachineThreatDetectionSettings * name: 'organizations/my-organization/virtualMachineThreatDetectionSettings', - * // The list of fields to be updated. + * * updateMask: 'placeholder-value', * * // Request body metadata @@ -11915,7 +7144,6 @@ export namespace securitycenter_v1beta2 { } /** - * Update the WebSecurityScannerSettings resource. * @example * ```js * // Before running the sample: @@ -11946,9 +7174,8 @@ export namespace securitycenter_v1beta2 { * // Do the magic * const res = * await securitycenter.organizations.updateWebSecurityScannerSettings({ - * // Identifier. The resource name of the WebSecurityScannerSettings. Formats: * organizations/{organization\}/webSecurityScannerSettings * folders/{folder\}/webSecurityScannerSettings * projects/{project\}/webSecurityScannerSettings * name: 'organizations/my-organization/webSecurityScannerSettings', - * // The list of fields to be updated. + * * updateMask: 'placeholder-value', * * // Request body metadata @@ -12074,59 +7301,59 @@ export namespace securitycenter_v1beta2 { export interface Params$Resource$Organizations$Getcontainerthreatdetectionsettings extends StandardParameters { /** - * Required. The name of the ContainerThreatDetectionSettings to retrieve. Formats: * organizations/{organization\}/containerThreatDetectionSettings * folders/{folder\}/containerThreatDetectionSettings * projects/{project\}/containerThreatDetectionSettings * projects/{project\}/locations/{location\}/clusters/{cluster\}/containerThreatDetectionSettings + * */ name?: string; } export interface Params$Resource$Organizations$Geteventthreatdetectionsettings extends StandardParameters { /** - * Required. The name of the EventThreatDetectionSettings to retrieve. Formats: * organizations/{organization\}/eventThreatDetectionSettings * folders/{folder\}/eventThreatDetectionSettings * projects/{project\}/eventThreatDetectionSettings + * */ name?: string; } export interface Params$Resource$Organizations$Getrapidvulnerabilitydetectionsettings extends StandardParameters { /** - * Required. The name of the RapidVulnerabilityDetectionSettings to retrieve. Formats: * organizations/{organization\}/rapidVulnerabilityDetectionSettings * folders/{folder\}/rapidVulnerabilityDetectionSettings * projects/{project\}/rapidVulnerabilityDetectionSettings + * */ name?: string; } export interface Params$Resource$Organizations$Getsecuritycentersettings extends StandardParameters { /** - * Required. The name of the SecurityCenterSettings to retrieve. Format: organizations/{organization\}/securityCenterSettings Format: folders/{folder\}/securityCenterSettings Format: projects/{project\}/securityCenterSettings + * */ name?: string; } export interface Params$Resource$Organizations$Getsecurityhealthanalyticssettings extends StandardParameters { /** - * Required. The name of the SecurityHealthAnalyticsSettings to retrieve. Formats: * organizations/{organization\}/securityHealthAnalyticsSettings * folders/{folder\}/securityHealthAnalyticsSettings * projects/{project\}/securityHealthAnalyticsSettings + * */ name?: string; } export interface Params$Resource$Organizations$Getsubscription extends StandardParameters { /** - * Required. The name of the subscription to retrieve. Format: organizations/{organization\}/subscription + * */ name?: string; } export interface Params$Resource$Organizations$Getvirtualmachinethreatdetectionsettings extends StandardParameters { /** - * Required. The name of the VirtualMachineThreatDetectionSettings to retrieve. Formats: * organizations/{organization\}/virtualMachineThreatDetectionSettings * folders/{folder\}/virtualMachineThreatDetectionSettings * projects/{project\}/virtualMachineThreatDetectionSettings + * */ name?: string; } export interface Params$Resource$Organizations$Getwebsecurityscannersettings extends StandardParameters { /** - * Required. The name of the WebSecurityScannerSettings to retrieve. Formats: * organizations/{organization\}/webSecurityScannerSettings * folders/{folder\}/webSecurityScannerSettings * projects/{project\}/webSecurityScannerSettings + * */ name?: string; } export interface Params$Resource$Organizations$Updatecontainerthreatdetectionsettings extends StandardParameters { /** - * Identifier. The resource name of the ContainerThreatDetectionSettings. Formats: * organizations/{organization\}/containerThreatDetectionSettings * folders/{folder\}/containerThreatDetectionSettings * projects/{project\}/containerThreatDetectionSettings * projects/{project\}/locations/{location\}/clusters/{cluster\}/containerThreatDetectionSettings + * */ name?: string; /** - * The list of fields to be updated. + * */ updateMask?: string; @@ -12137,11 +7364,11 @@ export namespace securitycenter_v1beta2 { } export interface Params$Resource$Organizations$Updateeventthreatdetectionsettings extends StandardParameters { /** - * Identifier. The resource name of the EventThreatDetectionSettings. Formats: * organizations/{organization\}/eventThreatDetectionSettings * folders/{folder\}/eventThreatDetectionSettings * projects/{project\}/eventThreatDetectionSettings + * */ name?: string; /** - * The list of fields to be updated. + * */ updateMask?: string; @@ -12152,11 +7379,11 @@ export namespace securitycenter_v1beta2 { } export interface Params$Resource$Organizations$Updaterapidvulnerabilitydetectionsettings extends StandardParameters { /** - * The resource name of the RapidVulnerabilityDetectionSettings. Formats: * organizations/{organization\}/rapidVulnerabilityDetectionSettings * folders/{folder\}/rapidVulnerabilityDetectionSettings * projects/{project\}/rapidVulnerabilityDetectionSettings + * */ name?: string; /** - * The list of fields to be updated. + * */ updateMask?: string; @@ -12167,11 +7394,11 @@ export namespace securitycenter_v1beta2 { } export interface Params$Resource$Organizations$Updatesecurityhealthanalyticssettings extends StandardParameters { /** - * Identifier. The resource name of the SecurityHealthAnalyticsSettings. Formats: * organizations/{organization\}/securityHealthAnalyticsSettings * folders/{folder\}/securityHealthAnalyticsSettings * projects/{project\}/securityHealthAnalyticsSettings + * */ name?: string; /** - * The list of fields to be updated. + * */ updateMask?: string; @@ -12182,11 +7409,11 @@ export namespace securitycenter_v1beta2 { } export interface Params$Resource$Organizations$Updatevirtualmachinethreatdetectionsettings extends StandardParameters { /** - * Identifier. The resource name of the VirtualMachineThreatDetectionSettings. Formats: * organizations/{organization\}/virtualMachineThreatDetectionSettings * folders/{folder\}/virtualMachineThreatDetectionSettings * projects/{project\}/virtualMachineThreatDetectionSettings + * */ name?: string; /** - * The list of fields to be updated. + * */ updateMask?: string; @@ -12197,11 +7424,11 @@ export namespace securitycenter_v1beta2 { } export interface Params$Resource$Organizations$Updatewebsecurityscannersettings extends StandardParameters { /** - * Identifier. The resource name of the WebSecurityScannerSettings. Formats: * organizations/{organization\}/webSecurityScannerSettings * folders/{folder\}/webSecurityScannerSettings * projects/{project\}/webSecurityScannerSettings + * */ name?: string; /** - * The list of fields to be updated. + * */ updateMask?: string; @@ -12218,7 +7445,6 @@ export namespace securitycenter_v1beta2 { } /** - * Calculates the effective ContainerThreatDetectionSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail. * @example * ```js * // Before running the sample: @@ -12250,9 +7476,8 @@ export namespace securitycenter_v1beta2 { * const res = * await securitycenter.organizations.containerThreatDetectionSettings.calculate( * { - * // Required. The name of the ContainerThreatDetectionSettings to calculate. Formats: * organizations/{organization\}/containerThreatDetectionSettings * folders/{folder\}/containerThreatDetectionSettings * projects/{project\}/containerThreatDetectionSettings * projects/{project\}/locations/{location\}/clusters/{cluster\}/containerThreatDetectionSettings * name: 'organizations/my-organization/containerThreatDetectionSettings', - * // Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown. + * * showEligibleModulesOnly: 'placeholder-value', * }, * ); @@ -12378,11 +7603,11 @@ export namespace securitycenter_v1beta2 { export interface Params$Resource$Organizations$Containerthreatdetectionsettings$Calculate extends StandardParameters { /** - * Required. The name of the ContainerThreatDetectionSettings to calculate. Formats: * organizations/{organization\}/containerThreatDetectionSettings * folders/{folder\}/containerThreatDetectionSettings * projects/{project\}/containerThreatDetectionSettings * projects/{project\}/locations/{location\}/clusters/{cluster\}/containerThreatDetectionSettings + * */ name?: string; /** - * Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown. + * */ showEligibleModulesOnly?: boolean; } @@ -12394,7 +7619,6 @@ export namespace securitycenter_v1beta2 { } /** - * Calculates the effective EventThreatDetectionSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail. * @example * ```js * // Before running the sample: @@ -12425,9 +7649,8 @@ export namespace securitycenter_v1beta2 { * // Do the magic * const res = * await securitycenter.organizations.eventThreatDetectionSettings.calculate({ - * // Required. The name of the EventThreatDetectionSettings to calculate. Formats: * organizations/{organization\}/eventThreatDetectionSettings * folders/{folder\}/eventThreatDetectionSettings * projects/{project\}/eventThreatDetectionSettings * name: 'organizations/my-organization/eventThreatDetectionSettings', - * // Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown. + * * showEligibleModulesOnly: 'placeholder-value', * }); * console.log(res.data); @@ -12547,11 +7770,11 @@ export namespace securitycenter_v1beta2 { export interface Params$Resource$Organizations$Eventthreatdetectionsettings$Calculate extends StandardParameters { /** - * Required. The name of the EventThreatDetectionSettings to calculate. Formats: * organizations/{organization\}/eventThreatDetectionSettings * folders/{folder\}/eventThreatDetectionSettings * projects/{project\}/eventThreatDetectionSettings + * */ name?: string; /** - * Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown. + * */ showEligibleModulesOnly?: boolean; } @@ -12563,7 +7786,6 @@ export namespace securitycenter_v1beta2 { } /** - * Calculates the effective RapidVulnerabilityDetectionSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail. * @example * ```js * // Before running the sample: @@ -12595,7 +7817,6 @@ export namespace securitycenter_v1beta2 { * const res = * await securitycenter.organizations.rapidVulnerabilityDetectionSettings.calculate( * { - * // Required. The name of the RapidVulnerabilityDetectionSettings to calculate. Formats: * organizations/{organization\}/rapidVulnerabilityDetectionSettings * folders/{folder\}/rapidVulnerabilityDetectionSettings * projects/{project\}/rapidVulnerabilityDetectionSettings * name: 'organizations/my-organization/rapidVulnerabilityDetectionSettings', * }, * ); @@ -12720,7 +7941,7 @@ export namespace securitycenter_v1beta2 { export interface Params$Resource$Organizations$Rapidvulnerabilitydetectionsettings$Calculate extends StandardParameters { /** - * Required. The name of the RapidVulnerabilityDetectionSettings to calculate. Formats: * organizations/{organization\}/rapidVulnerabilityDetectionSettings * folders/{folder\}/rapidVulnerabilityDetectionSettings * projects/{project\}/rapidVulnerabilityDetectionSettings + * */ name?: string; } @@ -12732,7 +7953,6 @@ export namespace securitycenter_v1beta2 { } /** - * Calculates the effective SecurityHealthAnalyticsSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail. * @example * ```js * // Before running the sample: @@ -12764,9 +7984,8 @@ export namespace securitycenter_v1beta2 { * const res = * await securitycenter.organizations.securityHealthAnalyticsSettings.calculate( * { - * // Required. The name of the SecurityHealthAnalyticsSettings to calculate. Formats: * organizations/{organization\}/securityHealthAnalyticsSettings * folders/{folder\}/securityHealthAnalyticsSettings * projects/{project\}/securityHealthAnalyticsSettings * name: 'organizations/my-organization/securityHealthAnalyticsSettings', - * // Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown. + * * showEligibleModulesOnly: 'placeholder-value', * }, * ); @@ -12888,11 +8107,11 @@ export namespace securitycenter_v1beta2 { export interface Params$Resource$Organizations$Securityhealthanalyticssettings$Calculate extends StandardParameters { /** - * Required. The name of the SecurityHealthAnalyticsSettings to calculate. Formats: * organizations/{organization\}/securityHealthAnalyticsSettings * folders/{folder\}/securityHealthAnalyticsSettings * projects/{project\}/securityHealthAnalyticsSettings + * */ name?: string; /** - * Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown. + * */ showEligibleModulesOnly?: boolean; } @@ -12904,7 +8123,6 @@ export namespace securitycenter_v1beta2 { } /** - * Calculates the effective VirtualMachineThreatDetectionSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail. * @example * ```js * // Before running the sample: @@ -12936,9 +8154,8 @@ export namespace securitycenter_v1beta2 { * const res = * await securitycenter.organizations.virtualMachineThreatDetectionSettings.calculate( * { - * // Required. The name of the VirtualMachineThreatDetectionSettings to calculate. Formats: * organizations/{organization\}/virtualMachineThreatDetectionSettings * folders/{folder\}/virtualMachineThreatDetectionSettings * projects/{project\}/virtualMachineThreatDetectionSettings * name: 'organizations/my-organization/virtualMachineThreatDetectionSettings', - * // Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown. + * * showEligibleModulesOnly: 'placeholder-value', * }, * ); @@ -13064,11 +8281,11 @@ export namespace securitycenter_v1beta2 { export interface Params$Resource$Organizations$Virtualmachinethreatdetectionsettings$Calculate extends StandardParameters { /** - * Required. The name of the VirtualMachineThreatDetectionSettings to calculate. Formats: * organizations/{organization\}/virtualMachineThreatDetectionSettings * folders/{folder\}/virtualMachineThreatDetectionSettings * projects/{project\}/virtualMachineThreatDetectionSettings + * */ name?: string; /** - * Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown. + * */ showEligibleModulesOnly?: boolean; } @@ -13080,7 +8297,6 @@ export namespace securitycenter_v1beta2 { } /** - * Calculates the effective WebSecurityScannerSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail. * @example * ```js * // Before running the sample: @@ -13111,9 +8327,8 @@ export namespace securitycenter_v1beta2 { * // Do the magic * const res = * await securitycenter.organizations.webSecurityScannerSettings.calculate({ - * // Required. The name of the WebSecurityScannerSettings to calculate. Formats: * organizations/{organization\}/webSecurityScannerSettings * folders/{folder\}/webSecurityScannerSettings * projects/{project\}/webSecurityScannerSettings * name: 'organizations/my-organization/webSecurityScannerSettings', - * // Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown. + * * showEligibleModulesOnly: 'placeholder-value', * }); * console.log(res.data); @@ -13231,11 +8446,11 @@ export namespace securitycenter_v1beta2 { export interface Params$Resource$Organizations$Websecurityscannersettings$Calculate extends StandardParameters { /** - * Required. The name of the WebSecurityScannerSettings to calculate. Formats: * organizations/{organization\}/webSecurityScannerSettings * folders/{folder\}/webSecurityScannerSettings * projects/{project\}/webSecurityScannerSettings + * */ name?: string; /** - * Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown. + * */ showEligibleModulesOnly?: boolean; } @@ -13269,7 +8484,6 @@ export namespace securitycenter_v1beta2 { } /** - * Get the ContainerThreatDetectionSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetContainerThreatDetectionSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateContainerThreatDetectionSettings for this purpose. * @example * ```js * // Before running the sample: @@ -13300,7 +8514,6 @@ export namespace securitycenter_v1beta2 { * // Do the magic * const res = await securitycenter.projects.getContainerThreatDetectionSettings( * { - * // Required. The name of the ContainerThreatDetectionSettings to retrieve. Formats: * organizations/{organization\}/containerThreatDetectionSettings * folders/{folder\}/containerThreatDetectionSettings * projects/{project\}/containerThreatDetectionSettings * projects/{project\}/locations/{location\}/clusters/{cluster\}/containerThreatDetectionSettings * name: 'projects/my-project/containerThreatDetectionSettings', * }, * ); @@ -13421,7 +8634,6 @@ export namespace securitycenter_v1beta2 { } /** - * Get the EventThreatDetectionSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetEventThreatDetectionSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateEventThreatDetectionSettings for this purpose. * @example * ```js * // Before running the sample: @@ -13451,7 +8663,6 @@ export namespace securitycenter_v1beta2 { * * // Do the magic * const res = await securitycenter.projects.getEventThreatDetectionSettings({ - * // Required. The name of the EventThreatDetectionSettings to retrieve. Formats: * organizations/{organization\}/eventThreatDetectionSettings * folders/{folder\}/eventThreatDetectionSettings * projects/{project\}/eventThreatDetectionSettings * name: 'projects/my-project/eventThreatDetectionSettings', * }); * console.log(res.data); @@ -13565,7 +8776,6 @@ export namespace securitycenter_v1beta2 { } /** - * Get the RapidVulnerabilityDetectionSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetRapidVulnerabilityDetectionSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateRapidVulnerabilityDetectionSettings for this purpose. * @example * ```js * // Before running the sample: @@ -13596,7 +8806,6 @@ export namespace securitycenter_v1beta2 { * // Do the magic * const res = * await securitycenter.projects.getRapidVulnerabilityDetectionSettings({ - * // Required. The name of the RapidVulnerabilityDetectionSettings to retrieve. Formats: * organizations/{organization\}/rapidVulnerabilityDetectionSettings * folders/{folder\}/rapidVulnerabilityDetectionSettings * projects/{project\}/rapidVulnerabilityDetectionSettings * name: 'projects/my-project/rapidVulnerabilityDetectionSettings', * }); * console.log(res.data); @@ -13715,7 +8924,6 @@ export namespace securitycenter_v1beta2 { } /** - * Get the SecurityCenterSettings resource. * @example * ```js * // Before running the sample: @@ -13745,7 +8953,6 @@ export namespace securitycenter_v1beta2 { * * // Do the magic * const res = await securitycenter.projects.getSecurityCenterSettings({ - * // Required. The name of the SecurityCenterSettings to retrieve. Format: organizations/{organization\}/securityCenterSettings Format: folders/{folder\}/securityCenterSettings Format: projects/{project\}/securityCenterSettings * name: 'projects/my-project/securityCenterSettings', * }); * console.log(res.data); @@ -13858,7 +9065,6 @@ export namespace securitycenter_v1beta2 { } /** - * Get the SecurityHealthAnalyticsSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetSecurityHealthAnalyticsSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateSecurityHealthAnalyticsSettings for this purpose. * @example * ```js * // Before running the sample: @@ -13888,7 +9094,6 @@ export namespace securitycenter_v1beta2 { * * // Do the magic * const res = await securitycenter.projects.getSecurityHealthAnalyticsSettings({ - * // Required. The name of the SecurityHealthAnalyticsSettings to retrieve. Formats: * organizations/{organization\}/securityHealthAnalyticsSettings * folders/{folder\}/securityHealthAnalyticsSettings * projects/{project\}/securityHealthAnalyticsSettings * name: 'projects/my-project/securityHealthAnalyticsSettings', * }); * console.log(res.data); @@ -14004,7 +9209,6 @@ export namespace securitycenter_v1beta2 { } /** - * Get the VirtualMachineThreatDetectionSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetVirtualMachineThreatDetectionSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateVirtualMachineThreatDetectionSettings for this purpose. * @example * ```js * // Before running the sample: @@ -14035,7 +9239,6 @@ export namespace securitycenter_v1beta2 { * // Do the magic * const res = * await securitycenter.projects.getVirtualMachineThreatDetectionSettings({ - * // Required. The name of the VirtualMachineThreatDetectionSettings to retrieve. Formats: * organizations/{organization\}/virtualMachineThreatDetectionSettings * folders/{folder\}/virtualMachineThreatDetectionSettings * projects/{project\}/virtualMachineThreatDetectionSettings * name: 'projects/my-project/virtualMachineThreatDetectionSettings', * }); * console.log(res.data); @@ -14155,7 +9358,6 @@ export namespace securitycenter_v1beta2 { } /** - * Get the WebSecurityScannerSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetWebSecurityScannerSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateWebSecurityScannerSettings for this purpose. * @example * ```js * // Before running the sample: @@ -14185,7 +9387,6 @@ export namespace securitycenter_v1beta2 { * * // Do the magic * const res = await securitycenter.projects.getWebSecurityScannerSettings({ - * // Required. The name of the WebSecurityScannerSettings to retrieve. Formats: * organizations/{organization\}/webSecurityScannerSettings * folders/{folder\}/webSecurityScannerSettings * projects/{project\}/webSecurityScannerSettings * name: 'projects/my-project/webSecurityScannerSettings', * }); * console.log(res.data); @@ -14297,7 +9498,6 @@ export namespace securitycenter_v1beta2 { } /** - * Update the ContainerThreatDetectionSettings resource. * @example * ```js * // Before running the sample: @@ -14328,9 +9528,8 @@ export namespace securitycenter_v1beta2 { * // Do the magic * const res = * await securitycenter.projects.updateContainerThreatDetectionSettings({ - * // Identifier. The resource name of the ContainerThreatDetectionSettings. Formats: * organizations/{organization\}/containerThreatDetectionSettings * folders/{folder\}/containerThreatDetectionSettings * projects/{project\}/containerThreatDetectionSettings * projects/{project\}/locations/{location\}/clusters/{cluster\}/containerThreatDetectionSettings * name: 'projects/my-project/containerThreatDetectionSettings', - * // The list of fields to be updated. + * * updateMask: 'placeholder-value', * * // Request body metadata @@ -14462,7 +9661,6 @@ export namespace securitycenter_v1beta2 { } /** - * Update the EventThreatDetectionSettings resource. * @example * ```js * // Before running the sample: @@ -14492,9 +9690,8 @@ export namespace securitycenter_v1beta2 { * * // Do the magic * const res = await securitycenter.projects.updateEventThreatDetectionSettings({ - * // Identifier. The resource name of the EventThreatDetectionSettings. Formats: * organizations/{organization\}/eventThreatDetectionSettings * folders/{folder\}/eventThreatDetectionSettings * projects/{project\}/eventThreatDetectionSettings * name: 'projects/my-project/eventThreatDetectionSettings', - * // The list of fields to be updated. + * * updateMask: 'placeholder-value', * * // Request body metadata @@ -14620,7 +9817,6 @@ export namespace securitycenter_v1beta2 { } /** - * Update the RapidVulnerabilityDetectionSettings resource. * @example * ```js * // Before running the sample: @@ -14651,9 +9847,8 @@ export namespace securitycenter_v1beta2 { * // Do the magic * const res = * await securitycenter.projects.updateRapidVulnerabilityDetectionSettings({ - * // The resource name of the RapidVulnerabilityDetectionSettings. Formats: * organizations/{organization\}/rapidVulnerabilityDetectionSettings * folders/{folder\}/rapidVulnerabilityDetectionSettings * projects/{project\}/rapidVulnerabilityDetectionSettings * name: 'projects/my-project/rapidVulnerabilityDetectionSettings', - * // The list of fields to be updated. + * * updateMask: 'placeholder-value', * * // Request body metadata @@ -14783,7 +9978,6 @@ export namespace securitycenter_v1beta2 { } /** - * Update the SecurityHealthAnalyticsSettings resource. * @example * ```js * // Before running the sample: @@ -14814,9 +10008,8 @@ export namespace securitycenter_v1beta2 { * // Do the magic * const res = * await securitycenter.projects.updateSecurityHealthAnalyticsSettings({ - * // Identifier. The resource name of the SecurityHealthAnalyticsSettings. Formats: * organizations/{organization\}/securityHealthAnalyticsSettings * folders/{folder\}/securityHealthAnalyticsSettings * projects/{project\}/securityHealthAnalyticsSettings * name: 'projects/my-project/securityHealthAnalyticsSettings', - * // The list of fields to be updated. + * * updateMask: 'placeholder-value', * * // Request body metadata @@ -14944,7 +10137,6 @@ export namespace securitycenter_v1beta2 { } /** - * Update the VirtualMachineThreatDetectionSettings resource. * @example * ```js * // Before running the sample: @@ -14975,9 +10167,8 @@ export namespace securitycenter_v1beta2 { * // Do the magic * const res = * await securitycenter.projects.updateVirtualMachineThreatDetectionSettings({ - * // Identifier. The resource name of the VirtualMachineThreatDetectionSettings. Formats: * organizations/{organization\}/virtualMachineThreatDetectionSettings * folders/{folder\}/virtualMachineThreatDetectionSettings * projects/{project\}/virtualMachineThreatDetectionSettings * name: 'projects/my-project/virtualMachineThreatDetectionSettings', - * // The list of fields to be updated. + * * updateMask: 'placeholder-value', * * // Request body metadata @@ -15109,7 +10300,6 @@ export namespace securitycenter_v1beta2 { } /** - * Update the WebSecurityScannerSettings resource. * @example * ```js * // Before running the sample: @@ -15139,9 +10329,8 @@ export namespace securitycenter_v1beta2 { * * // Do the magic * const res = await securitycenter.projects.updateWebSecurityScannerSettings({ - * // Identifier. The resource name of the WebSecurityScannerSettings. Formats: * organizations/{organization\}/webSecurityScannerSettings * folders/{folder\}/webSecurityScannerSettings * projects/{project\}/webSecurityScannerSettings * name: 'projects/my-project/webSecurityScannerSettings', - * // The list of fields to be updated. + * * updateMask: 'placeholder-value', * * // Request body metadata @@ -15267,53 +10456,53 @@ export namespace securitycenter_v1beta2 { export interface Params$Resource$Projects$Getcontainerthreatdetectionsettings extends StandardParameters { /** - * Required. The name of the ContainerThreatDetectionSettings to retrieve. Formats: * organizations/{organization\}/containerThreatDetectionSettings * folders/{folder\}/containerThreatDetectionSettings * projects/{project\}/containerThreatDetectionSettings * projects/{project\}/locations/{location\}/clusters/{cluster\}/containerThreatDetectionSettings + * */ name?: string; } export interface Params$Resource$Projects$Geteventthreatdetectionsettings extends StandardParameters { /** - * Required. The name of the EventThreatDetectionSettings to retrieve. Formats: * organizations/{organization\}/eventThreatDetectionSettings * folders/{folder\}/eventThreatDetectionSettings * projects/{project\}/eventThreatDetectionSettings + * */ name?: string; } export interface Params$Resource$Projects$Getrapidvulnerabilitydetectionsettings extends StandardParameters { /** - * Required. The name of the RapidVulnerabilityDetectionSettings to retrieve. Formats: * organizations/{organization\}/rapidVulnerabilityDetectionSettings * folders/{folder\}/rapidVulnerabilityDetectionSettings * projects/{project\}/rapidVulnerabilityDetectionSettings + * */ name?: string; } export interface Params$Resource$Projects$Getsecuritycentersettings extends StandardParameters { /** - * Required. The name of the SecurityCenterSettings to retrieve. Format: organizations/{organization\}/securityCenterSettings Format: folders/{folder\}/securityCenterSettings Format: projects/{project\}/securityCenterSettings + * */ name?: string; } export interface Params$Resource$Projects$Getsecurityhealthanalyticssettings extends StandardParameters { /** - * Required. The name of the SecurityHealthAnalyticsSettings to retrieve. Formats: * organizations/{organization\}/securityHealthAnalyticsSettings * folders/{folder\}/securityHealthAnalyticsSettings * projects/{project\}/securityHealthAnalyticsSettings + * */ name?: string; } export interface Params$Resource$Projects$Getvirtualmachinethreatdetectionsettings extends StandardParameters { /** - * Required. The name of the VirtualMachineThreatDetectionSettings to retrieve. Formats: * organizations/{organization\}/virtualMachineThreatDetectionSettings * folders/{folder\}/virtualMachineThreatDetectionSettings * projects/{project\}/virtualMachineThreatDetectionSettings + * */ name?: string; } export interface Params$Resource$Projects$Getwebsecurityscannersettings extends StandardParameters { /** - * Required. The name of the WebSecurityScannerSettings to retrieve. Formats: * organizations/{organization\}/webSecurityScannerSettings * folders/{folder\}/webSecurityScannerSettings * projects/{project\}/webSecurityScannerSettings + * */ name?: string; } export interface Params$Resource$Projects$Updatecontainerthreatdetectionsettings extends StandardParameters { /** - * Identifier. The resource name of the ContainerThreatDetectionSettings. Formats: * organizations/{organization\}/containerThreatDetectionSettings * folders/{folder\}/containerThreatDetectionSettings * projects/{project\}/containerThreatDetectionSettings * projects/{project\}/locations/{location\}/clusters/{cluster\}/containerThreatDetectionSettings + * */ name?: string; /** - * The list of fields to be updated. + * */ updateMask?: string; @@ -15324,11 +10513,11 @@ export namespace securitycenter_v1beta2 { } export interface Params$Resource$Projects$Updateeventthreatdetectionsettings extends StandardParameters { /** - * Identifier. The resource name of the EventThreatDetectionSettings. Formats: * organizations/{organization\}/eventThreatDetectionSettings * folders/{folder\}/eventThreatDetectionSettings * projects/{project\}/eventThreatDetectionSettings + * */ name?: string; /** - * The list of fields to be updated. + * */ updateMask?: string; @@ -15339,11 +10528,11 @@ export namespace securitycenter_v1beta2 { } export interface Params$Resource$Projects$Updaterapidvulnerabilitydetectionsettings extends StandardParameters { /** - * The resource name of the RapidVulnerabilityDetectionSettings. Formats: * organizations/{organization\}/rapidVulnerabilityDetectionSettings * folders/{folder\}/rapidVulnerabilityDetectionSettings * projects/{project\}/rapidVulnerabilityDetectionSettings + * */ name?: string; /** - * The list of fields to be updated. + * */ updateMask?: string; @@ -15354,11 +10543,11 @@ export namespace securitycenter_v1beta2 { } export interface Params$Resource$Projects$Updatesecurityhealthanalyticssettings extends StandardParameters { /** - * Identifier. The resource name of the SecurityHealthAnalyticsSettings. Formats: * organizations/{organization\}/securityHealthAnalyticsSettings * folders/{folder\}/securityHealthAnalyticsSettings * projects/{project\}/securityHealthAnalyticsSettings + * */ name?: string; /** - * The list of fields to be updated. + * */ updateMask?: string; @@ -15369,11 +10558,11 @@ export namespace securitycenter_v1beta2 { } export interface Params$Resource$Projects$Updatevirtualmachinethreatdetectionsettings extends StandardParameters { /** - * Identifier. The resource name of the VirtualMachineThreatDetectionSettings. Formats: * organizations/{organization\}/virtualMachineThreatDetectionSettings * folders/{folder\}/virtualMachineThreatDetectionSettings * projects/{project\}/virtualMachineThreatDetectionSettings + * */ name?: string; /** - * The list of fields to be updated. + * */ updateMask?: string; @@ -15384,11 +10573,11 @@ export namespace securitycenter_v1beta2 { } export interface Params$Resource$Projects$Updatewebsecurityscannersettings extends StandardParameters { /** - * Identifier. The resource name of the WebSecurityScannerSettings. Formats: * organizations/{organization\}/webSecurityScannerSettings * folders/{folder\}/webSecurityScannerSettings * projects/{project\}/webSecurityScannerSettings + * */ name?: string; /** - * The list of fields to be updated. + * */ updateMask?: string; @@ -15405,7 +10594,6 @@ export namespace securitycenter_v1beta2 { } /** - * Calculates the effective ContainerThreatDetectionSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail. * @example * ```js * // Before running the sample: @@ -15436,9 +10624,8 @@ export namespace securitycenter_v1beta2 { * // Do the magic * const res = * await securitycenter.projects.containerThreatDetectionSettings.calculate({ - * // Required. The name of the ContainerThreatDetectionSettings to calculate. Formats: * organizations/{organization\}/containerThreatDetectionSettings * folders/{folder\}/containerThreatDetectionSettings * projects/{project\}/containerThreatDetectionSettings * projects/{project\}/locations/{location\}/clusters/{cluster\}/containerThreatDetectionSettings * name: 'projects/my-project/containerThreatDetectionSettings', - * // Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown. + * * showEligibleModulesOnly: 'placeholder-value', * }); * console.log(res.data); @@ -15563,11 +10750,11 @@ export namespace securitycenter_v1beta2 { export interface Params$Resource$Projects$Containerthreatdetectionsettings$Calculate extends StandardParameters { /** - * Required. The name of the ContainerThreatDetectionSettings to calculate. Formats: * organizations/{organization\}/containerThreatDetectionSettings * folders/{folder\}/containerThreatDetectionSettings * projects/{project\}/containerThreatDetectionSettings * projects/{project\}/locations/{location\}/clusters/{cluster\}/containerThreatDetectionSettings + * */ name?: string; /** - * Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown. + * */ showEligibleModulesOnly?: boolean; } @@ -15579,7 +10766,6 @@ export namespace securitycenter_v1beta2 { } /** - * Calculates the effective EventThreatDetectionSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail. * @example * ```js * // Before running the sample: @@ -15610,9 +10796,8 @@ export namespace securitycenter_v1beta2 { * // Do the magic * const res = * await securitycenter.projects.eventThreatDetectionSettings.calculate({ - * // Required. The name of the EventThreatDetectionSettings to calculate. Formats: * organizations/{organization\}/eventThreatDetectionSettings * folders/{folder\}/eventThreatDetectionSettings * projects/{project\}/eventThreatDetectionSettings * name: 'projects/my-project/eventThreatDetectionSettings', - * // Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown. + * * showEligibleModulesOnly: 'placeholder-value', * }); * console.log(res.data); @@ -15732,11 +10917,11 @@ export namespace securitycenter_v1beta2 { export interface Params$Resource$Projects$Eventthreatdetectionsettings$Calculate extends StandardParameters { /** - * Required. The name of the EventThreatDetectionSettings to calculate. Formats: * organizations/{organization\}/eventThreatDetectionSettings * folders/{folder\}/eventThreatDetectionSettings * projects/{project\}/eventThreatDetectionSettings + * */ name?: string; /** - * Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown. + * */ showEligibleModulesOnly?: boolean; } @@ -15762,7 +10947,6 @@ export namespace securitycenter_v1beta2 { } /** - * Get the ContainerThreatDetectionSettings resource. In the returned settings response, a missing field only indicates that it was not explicitly set, so no assumption should be made about these fields. In other words, GetContainerThreatDetectionSettings does not calculate the effective service settings for the resource, which accounts for inherited settings and defaults. Instead, use CalculateContainerThreatDetectionSettings for this purpose. * @example * ```js * // Before running the sample: @@ -15794,7 +10978,6 @@ export namespace securitycenter_v1beta2 { * const res = * await securitycenter.projects.locations.clusters.getContainerThreatDetectionSettings( * { - * // Required. The name of the ContainerThreatDetectionSettings to retrieve. Formats: * organizations/{organization\}/containerThreatDetectionSettings * folders/{folder\}/containerThreatDetectionSettings * projects/{project\}/containerThreatDetectionSettings * projects/{project\}/locations/{location\}/clusters/{cluster\}/containerThreatDetectionSettings * name: 'projects/my-project/locations/my-location/clusters/my-cluster/containerThreatDetectionSettings', * }, * ); @@ -15915,7 +11098,6 @@ export namespace securitycenter_v1beta2 { } /** - * Update the ContainerThreatDetectionSettings resource. * @example * ```js * // Before running the sample: @@ -15947,9 +11129,8 @@ export namespace securitycenter_v1beta2 { * const res = * await securitycenter.projects.locations.clusters.updateContainerThreatDetectionSettings( * { - * // Identifier. The resource name of the ContainerThreatDetectionSettings. Formats: * organizations/{organization\}/containerThreatDetectionSettings * folders/{folder\}/containerThreatDetectionSettings * projects/{project\}/containerThreatDetectionSettings * projects/{project\}/locations/{location\}/clusters/{cluster\}/containerThreatDetectionSettings * name: 'projects/my-project/locations/my-location/clusters/my-cluster/containerThreatDetectionSettings', - * // The list of fields to be updated. + * * updateMask: 'placeholder-value', * * // Request body metadata @@ -16084,17 +11265,17 @@ export namespace securitycenter_v1beta2 { export interface Params$Resource$Projects$Locations$Clusters$Getcontainerthreatdetectionsettings extends StandardParameters { /** - * Required. The name of the ContainerThreatDetectionSettings to retrieve. Formats: * organizations/{organization\}/containerThreatDetectionSettings * folders/{folder\}/containerThreatDetectionSettings * projects/{project\}/containerThreatDetectionSettings * projects/{project\}/locations/{location\}/clusters/{cluster\}/containerThreatDetectionSettings + * */ name?: string; } export interface Params$Resource$Projects$Locations$Clusters$Updatecontainerthreatdetectionsettings extends StandardParameters { /** - * Identifier. The resource name of the ContainerThreatDetectionSettings. Formats: * organizations/{organization\}/containerThreatDetectionSettings * folders/{folder\}/containerThreatDetectionSettings * projects/{project\}/containerThreatDetectionSettings * projects/{project\}/locations/{location\}/clusters/{cluster\}/containerThreatDetectionSettings + * */ name?: string; /** - * The list of fields to be updated. + * */ updateMask?: string; @@ -16111,7 +11292,6 @@ export namespace securitycenter_v1beta2 { } /** - * Calculates the effective ContainerThreatDetectionSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail. * @example * ```js * // Before running the sample: @@ -16143,9 +11323,8 @@ export namespace securitycenter_v1beta2 { * const res = * await securitycenter.projects.locations.clusters.containerThreatDetectionSettings.calculate( * { - * // Required. The name of the ContainerThreatDetectionSettings to calculate. Formats: * organizations/{organization\}/containerThreatDetectionSettings * folders/{folder\}/containerThreatDetectionSettings * projects/{project\}/containerThreatDetectionSettings * projects/{project\}/locations/{location\}/clusters/{cluster\}/containerThreatDetectionSettings * name: 'projects/my-project/locations/my-location/clusters/my-cluster/containerThreatDetectionSettings', - * // Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown. + * * showEligibleModulesOnly: 'placeholder-value', * }, * ); @@ -16271,11 +11450,11 @@ export namespace securitycenter_v1beta2 { export interface Params$Resource$Projects$Locations$Clusters$Containerthreatdetectionsettings$Calculate extends StandardParameters { /** - * Required. The name of the ContainerThreatDetectionSettings to calculate. Formats: * organizations/{organization\}/containerThreatDetectionSettings * folders/{folder\}/containerThreatDetectionSettings * projects/{project\}/containerThreatDetectionSettings * projects/{project\}/locations/{location\}/clusters/{cluster\}/containerThreatDetectionSettings + * */ name?: string; /** - * Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown. + * */ showEligibleModulesOnly?: boolean; } @@ -16287,7 +11466,6 @@ export namespace securitycenter_v1beta2 { } /** - * Calculates the effective RapidVulnerabilityDetectionSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail. * @example * ```js * // Before running the sample: @@ -16319,7 +11497,6 @@ export namespace securitycenter_v1beta2 { * const res = * await securitycenter.projects.rapidVulnerabilityDetectionSettings.calculate( * { - * // Required. The name of the RapidVulnerabilityDetectionSettings to calculate. Formats: * organizations/{organization\}/rapidVulnerabilityDetectionSettings * folders/{folder\}/rapidVulnerabilityDetectionSettings * projects/{project\}/rapidVulnerabilityDetectionSettings * name: 'projects/my-project/rapidVulnerabilityDetectionSettings', * }, * ); @@ -16444,7 +11621,7 @@ export namespace securitycenter_v1beta2 { export interface Params$Resource$Projects$Rapidvulnerabilitydetectionsettings$Calculate extends StandardParameters { /** - * Required. The name of the RapidVulnerabilityDetectionSettings to calculate. Formats: * organizations/{organization\}/rapidVulnerabilityDetectionSettings * folders/{folder\}/rapidVulnerabilityDetectionSettings * projects/{project\}/rapidVulnerabilityDetectionSettings + * */ name?: string; } @@ -16456,7 +11633,6 @@ export namespace securitycenter_v1beta2 { } /** - * Calculates the effective SecurityHealthAnalyticsSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail. * @example * ```js * // Before running the sample: @@ -16487,9 +11663,8 @@ export namespace securitycenter_v1beta2 { * // Do the magic * const res = * await securitycenter.projects.securityHealthAnalyticsSettings.calculate({ - * // Required. The name of the SecurityHealthAnalyticsSettings to calculate. Formats: * organizations/{organization\}/securityHealthAnalyticsSettings * folders/{folder\}/securityHealthAnalyticsSettings * projects/{project\}/securityHealthAnalyticsSettings * name: 'projects/my-project/securityHealthAnalyticsSettings', - * // Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown. + * * showEligibleModulesOnly: 'placeholder-value', * }); * console.log(res.data); @@ -16610,11 +11785,11 @@ export namespace securitycenter_v1beta2 { export interface Params$Resource$Projects$Securityhealthanalyticssettings$Calculate extends StandardParameters { /** - * Required. The name of the SecurityHealthAnalyticsSettings to calculate. Formats: * organizations/{organization\}/securityHealthAnalyticsSettings * folders/{folder\}/securityHealthAnalyticsSettings * projects/{project\}/securityHealthAnalyticsSettings + * */ name?: string; /** - * Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown. + * */ showEligibleModulesOnly?: boolean; } @@ -16626,7 +11801,6 @@ export namespace securitycenter_v1beta2 { } /** - * Calculates the effective VirtualMachineThreatDetectionSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail. * @example * ```js * // Before running the sample: @@ -16658,9 +11832,8 @@ export namespace securitycenter_v1beta2 { * const res = * await securitycenter.projects.virtualMachineThreatDetectionSettings.calculate( * { - * // Required. The name of the VirtualMachineThreatDetectionSettings to calculate. Formats: * organizations/{organization\}/virtualMachineThreatDetectionSettings * folders/{folder\}/virtualMachineThreatDetectionSettings * projects/{project\}/virtualMachineThreatDetectionSettings * name: 'projects/my-project/virtualMachineThreatDetectionSettings', - * // Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown. + * * showEligibleModulesOnly: 'placeholder-value', * }, * ); @@ -16786,11 +11959,11 @@ export namespace securitycenter_v1beta2 { export interface Params$Resource$Projects$Virtualmachinethreatdetectionsettings$Calculate extends StandardParameters { /** - * Required. The name of the VirtualMachineThreatDetectionSettings to calculate. Formats: * organizations/{organization\}/virtualMachineThreatDetectionSettings * folders/{folder\}/virtualMachineThreatDetectionSettings * projects/{project\}/virtualMachineThreatDetectionSettings + * */ name?: string; /** - * Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown. + * */ showEligibleModulesOnly?: boolean; } @@ -16802,7 +11975,6 @@ export namespace securitycenter_v1beta2 { } /** - * Calculates the effective WebSecurityScannerSettings based on its level in the resource hierarchy and its settings. Settings provided closer to the target resource take precedence over those further away (e.g. folder will override organization level settings). The default SCC setting for the detector service defaults can be overridden at organization, folder and project levels. No assumptions should be made about the SCC defaults as it is considered an internal implementation detail. * @example * ```js * // Before running the sample: @@ -16833,9 +12005,8 @@ export namespace securitycenter_v1beta2 { * // Do the magic * const res = * await securitycenter.projects.webSecurityScannerSettings.calculate({ - * // Required. The name of the WebSecurityScannerSettings to calculate. Formats: * organizations/{organization\}/webSecurityScannerSettings * folders/{folder\}/webSecurityScannerSettings * projects/{project\}/webSecurityScannerSettings * name: 'projects/my-project/webSecurityScannerSettings', - * // Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown. + * * showEligibleModulesOnly: 'placeholder-value', * }); * console.log(res.data); @@ -16953,11 +12124,11 @@ export namespace securitycenter_v1beta2 { export interface Params$Resource$Projects$Websecurityscannersettings$Calculate extends StandardParameters { /** - * Required. The name of the WebSecurityScannerSettings to calculate. Formats: * organizations/{organization\}/webSecurityScannerSettings * folders/{folder\}/webSecurityScannerSettings * projects/{project\}/webSecurityScannerSettings + * */ name?: string; /** - * Optional. When set, will only retrieve the modules that are in scope. By default, all modules will be shown. + * */ showEligibleModulesOnly?: boolean; } diff --git a/src/apis/servicecontrol/v1.ts b/src/apis/servicecontrol/v1.ts index 8dc7f92d04a..46cdf0fd95a 100644 --- a/src/apis/servicecontrol/v1.ts +++ b/src/apis/servicecontrol/v1.ts @@ -283,6 +283,10 @@ export namespace servicecontrol_v1 { * Structured claims presented with the credential. JWTs include `{key: value\}` pairs for standard and private claims. The following is a subset of the standard required and optional claims that would typically be presented for a Google-based JWT: {'iss': 'accounts.google.com', 'sub': '113289723416554971153', 'aud': ['123456789012', 'pubsub.googleapis.com'], 'azp': '123456789012.apps.googleusercontent.com', 'email': 'jsmith@example.com', 'iat': 1353601026, 'exp': 1353604926\} SAML assertions are similarly specified, but with an identity provider dependent structure. */ claims?: {[key: string]: any} | null; + /** + * Identifies the client credential id used for authentication. credential_id is in the format of AUTH_METHOD:IDENTIFIER, e.g. "serviceaccount:XXXXX, apikey:XXXXX" where the format of the IDENTIFIER can vary for different AUTH_METHODs. + */ + credentialId?: string | null; /** * Attributes of the OAuth token associated with the request. */ diff --git a/src/apis/servicecontrol/v2.ts b/src/apis/servicecontrol/v2.ts index fea6fa6db74..4f39ee9f1d3 100644 --- a/src/apis/servicecontrol/v2.ts +++ b/src/apis/servicecontrol/v2.ts @@ -267,6 +267,10 @@ export namespace servicecontrol_v2 { * Structured claims presented with the credential. JWTs include `{key: value\}` pairs for standard and private claims. The following is a subset of the standard required and optional claims that would typically be presented for a Google-based JWT: {'iss': 'accounts.google.com', 'sub': '113289723416554971153', 'aud': ['123456789012', 'pubsub.googleapis.com'], 'azp': '123456789012.apps.googleusercontent.com', 'email': 'jsmith@example.com', 'iat': 1353601026, 'exp': 1353604926\} SAML assertions are similarly specified, but with an identity provider dependent structure. */ claims?: {[key: string]: any} | null; + /** + * Identifies the client credential id used for authentication. credential_id is in the format of AUTH_METHOD:IDENTIFIER, e.g. "serviceaccount:XXXXX, apikey:XXXXX" where the format of the IDENTIFIER can vary for different AUTH_METHODs. + */ + credentialId?: string | null; /** * Attributes of the OAuth token associated with the request. */ diff --git a/src/apis/storage/v1.ts b/src/apis/storage/v1.ts index 9f564956a11..35d1d012a69 100644 --- a/src/apis/storage/v1.ts +++ b/src/apis/storage/v1.ts @@ -354,6 +354,8 @@ export namespace storage_v1 { matchesSuffix?: string[]; noncurrentTimeBefore?: string; numNewerVersions?: number; + sizeAboveBytes?: string; + sizeBelowBytes?: string; }; }>; } | null; diff --git a/src/apis/storagebatchoperations/v1.ts b/src/apis/storagebatchoperations/v1.ts index b26426f382b..19f509cf11f 100644 --- a/src/apis/storagebatchoperations/v1.ts +++ b/src/apis/storagebatchoperations/v1.ts @@ -124,6 +124,19 @@ export namespace storagebatchoperations_v1 { } } + /** + * Represents updates to existing access-control entries on an object. + */ + export interface Schema$AccessControlsUpdates { + /** + * Optional. Grants to add or update. If a grant for same entity exists, its role is updated. + */ + grants?: Schema$ObjectAccessControl[]; + /** + * Optional. Entities for which all grants should be removed. An entity can't be in both `grants` and `remove_entities`. + */ + removeEntities?: string[] | null; + } /** * Describes configuration of a single bucket and its objects to be transformed. */ @@ -146,7 +159,7 @@ export namespace storagebatchoperations_v1 { */ export interface Schema$BucketList { /** - * Required. List of buckets and their objects to be transformed. Currently, only one bucket configuration is supported. If multiple buckets are specified, an error will be returned. + * Required. List of buckets and their objects to be transformed. You can specify only one bucket per job. If multiple buckets are specified, an error occurs. */ buckets?: Schema$Bucket[]; } @@ -183,13 +196,17 @@ export namespace storagebatchoperations_v1 { */ manifest?: Schema$Manifest; /** - * Identifier. The resource name of the BucketOperation. This is defined by the service. Format: projects/{project\}/locations/global/jobs/{job_id\}/bucketOperations/{bucket_operation\}. + * Identifier. The resource name of the BucketOperation. This is defined by the service. Format: `projects/{project_id\}/locations/global/jobs/{job_id\}/bucketOperations/{bucket_operation\}`. */ name?: string | null; /** * Specifies objects matching a prefix set. */ prefixList?: Schema$PrefixList; + /** + * Specifies objects matching the object filters in a project source. + */ + projectSource?: Schema$ProjectSource; /** * Updates object metadata. Allows updating fixed-key and custom metadata and fixed-key metadata i.e. Cache-Control, Content-Disposition, Content-Encoding, Content-Language, Content-Type, Custom-Time. */ @@ -202,6 +219,10 @@ export namespace storagebatchoperations_v1 { * Rewrite the object and updates metadata like KMS key. */ rewriteObject?: Schema$RewriteObject; + /** + * Updates object ACLs. + */ + setObjectAcls?: Schema$SetObjectAcls; /** * Output only. The time that the BucketOperation was started. */ @@ -220,7 +241,7 @@ export namespace storagebatchoperations_v1 { */ export interface Schema$CancelJobRequest { /** - * Optional. An optional request ID to identify requests. Specify a unique request ID in case you need to retry your request. Requests with same `request_id` will be ignored for at least 60 minutes since the first request. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * Optional. An optional request ID to identify requests. Specify a unique request ID in case you need to retry your request. Requests with same `request_id` are ignored for at least 60 minutes since the first request. The request ID must be a valid UUID with the exception that zero UUID isn't supported (00000000-0000-0000-0000-000000000000). */ requestId?: string | null; } @@ -274,7 +295,7 @@ export namespace storagebatchoperations_v1 { */ export interface Schema$CustomContextUpdates { /** - * Optional. Custom contexts to clear by key. A key cannot be present in both `updates` and `keys_to_clear`. + * Optional. Custom contexts to clear by key. A key can't be present in both `updates` and `keys_to_clear`. */ keysToClear?: string[] | null; /** @@ -287,7 +308,7 @@ export namespace storagebatchoperations_v1 { */ export interface Schema$DeleteObject { /** - * Required. Controls deletion behavior when versioning is enabled for the object's bucket. If true both live and noncurrent objects will be permanently deleted. Otherwise live objects in versioned buckets will become noncurrent and objects that were already noncurrent will be skipped. This setting doesn't have any impact on the Soft Delete feature. All objects deleted by this service can be be restored for the duration of the Soft Delete retention duration if enabled. If enabled and the manifest doesn't specify an object's generation, a GetObjectMetadata call (a Class B operation) will be made to determine the live object generation. + * Required. Controls deletion behavior when versioning is enabled for the object's bucket. If true, both live and noncurrent objects will be permanently deleted. Otherwise live objects in versioned buckets will become noncurrent and objects that were already noncurrent will be skipped. This setting doesn't have any impact on the Soft Delete feature. All objects deleted by this service can be be restored for the duration of the Soft Delete retention duration if enabled. If enabled and the manifest doesn't specify an object's generation, a `GetObjectMetadata` call is made to determine the live object generation. */ permanentObjectDeletionEnabled?: boolean | null; } @@ -326,7 +347,28 @@ export namespace storagebatchoperations_v1 { errorLogEntries?: Schema$ErrorLogEntry[]; } /** - * The Storage Batch Operations Job 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. + */ + export interface Schema$Expr { + /** + * Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. + */ + description?: string | null; + /** + * Textual representation of an expression in Common Expression Language syntax. + */ + expression?: string | null; + /** + * Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. + */ + location?: string | null; + /** + * 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. + */ + title?: string | null; + } + /** + * The storage batch operations job description. */ export interface Schema$Job { /** @@ -350,11 +392,11 @@ export namespace storagebatchoperations_v1 { */ deleteObject?: Schema$DeleteObject; /** - * Optional. A description provided by the user for the job. Its max length is 1024 bytes when Unicode-encoded. + * Optional. A user-provided description for the job. Maximum length: 1024 bytes when unicode-encoded. */ description?: string | null; /** - * Optional. If true, the job will run in dry run mode, returning the total object count and, if the object configuration is a prefix list, the bytes found from source. No transformations will be performed. + * Optional. If true, the job runs in dry run mode, returning the total object count and, if the object configuration is a prefix list, the bytes found from source. No transformations are performed. */ dryRun?: boolean | null; /** @@ -362,7 +404,7 @@ export namespace storagebatchoperations_v1 { */ errorSummaries?: Schema$ErrorSummary[]; /** - * Output only. If true, this Job operates on multiple buckets. Multibucket jobs are subject to different quota limits than single-bucket jobs. + * Output only. If true, this job operates on multiple buckets. Multi-bucket jobs are subject to different quota limits than single-bucket jobs. */ isMultiBucketJob?: boolean | null; /** @@ -370,11 +412,15 @@ export namespace storagebatchoperations_v1 { */ loggingConfig?: Schema$LoggingConfig; /** - * Identifier. The resource name of the Job. job_id is unique within the project, that is either set by the customer or defined by the service. Format: projects/{project\}/locations/global/jobs/{job_id\} . For example: "projects/123456/locations/global/jobs/job01". + * Identifier. The resource name of the job. Format: `projects/{project_id\}/locations/global/jobs/{job_id\}`. For example: `projects/123456/locations/global/jobs/job01`. `job_id` is unique in a given project. */ name?: string | null; /** - * Updates object metadata. Allows updating fixed-key and custom metadata and fixed-key metadata i.e. Cache-Control, Content-Disposition, Content-Encoding, Content-Language, Content-Type, Custom-Time. + * Specifies a project source and filters to identify objects to be transformed. + */ + projectSource?: Schema$ProjectSource; + /** + * Updates object metadata. Allows updating fixed-key and custom metadata. For example, `Cache-Control`, `Content-Disposition`, `Content-Encoding`, `Content-Language`, `Content-Type`, `Custom-Time`, and `Retention configuration`. */ putMetadata?: Schema$PutMetadata; /** @@ -389,6 +435,10 @@ export namespace storagebatchoperations_v1 { * Output only. The time that the job was scheduled. */ scheduleTime?: string | null; + /** + * Updates object ACLs. + */ + setObjectAcls?: Schema$SetObjectAcls; /** * Output only. State of the job. */ @@ -505,16 +555,29 @@ export namespace storagebatchoperations_v1 { */ export interface Schema$Manifest { /** - * Required. `manifest_location` must contain the manifest source file that is a CSV file in a Google Cloud Storage bucket. Each row in the file must include the object details i.e. BucketId and Name. Generation may optionally be specified. When it is not specified the live object is acted upon. `manifest_location` should either be 1) An absolute path to the object in the format of `gs://bucket_name/path/file_name.csv`. 2) An absolute path with a single wildcard character in the file name, for example `gs://bucket_name/path/file_name*.csv`. If manifest location is specified with a wildcard, objects in all manifest files matching the pattern will be acted upon. + * Required. Specify the manifest file location. The format of manifest location can be an absolute path to the object in the format of `gs://bucket_name/path/object_name`. For example, `gs://bucket_name/path/object_name.csv`. Alternatively, you can specify an absolute path with a single wildcard character in the file name, for example `gs://bucket_name/path/file_name*.csv`. If the manifest location is specified with a wildcard, objects in all manifest files matching the pattern will be acted upon. The manifest is a CSV file, uploaded to Cloud Storage, that contains one object or a list of objects that you want to process. Each row in the manifest must include the `bucket` and `name` of the object. You can optionally specify the `generation` of the object. If you don't specify the `generation`, the current version of the object is used. You can optionally include a header row with the following format: `bucket,name,generation`. For example, bucket,name,generation bucket_1,object_1,generation_1 bucket_1,object_2,generation_2 bucket_1,object_3,generation_3 Note: The manifest file must specify only objects within the bucket provided to the job. Rows referencing objects in other buckets are ignored. */ manifestLocation?: string | null; } /** - * Describes the payload of a user defined object custom context. + * Represents an access control entry on an object. + */ + export interface Schema$ObjectAccessControl { + /** + * Required. The entity holding the permission, in one of the following forms: * `allUsers` * `allAuthenticatedUsers` + */ + entity?: string | null; + /** + * Required. The role to grant. Acceptable values are: * `READER` - gives read access to the object. * `OWNER` - gives owner access to the object. + */ + role?: string | null; + } + /** + * Describes the payload of a user-defined object custom context. */ export interface Schema$ObjectCustomContextPayload { /** - * The value of the object custom context. If set, `value` must NOT be an empty string since it is a required field in custom context. If unset, `value` will be ignored and no changes will be made to the `value` field of the custom context payload. + * The value of the object custom context. If set, `value` can't be an empty string because it is a required field in custom context. If unset, `value` is ignored and no changes are made to the `value` field of the custom context payload. */ value?: string | null; } @@ -523,11 +586,11 @@ export namespace storagebatchoperations_v1 { */ export interface Schema$ObjectRetention { /** - * Required. The time when the object will be retained until. UNSET will clear the retention. Must be specified in RFC 3339 format e.g. YYYY-MM-DD'T'HH:MM:SS.SS'Z' or YYYY-MM-DD'T'HH:MM:SS'Z'. + * Required. The object's retention expiration time, during which, the object is protected from being deleted or overwritten. The time must be specified in RFC 3339 format, for example `YYYY-MM-DD'T'HH:MM:SS'Z'` or `YYYY-MM-DD'T'HH:MM:SS.SS'Z'`. To clear an object's retention, both `retentionMode` and `retainUntilTime` must be left unset (omitted). Setting `retentionMode` to `RETENTION_MODE_UNSPECIFIED` is treated as a no-op. Unlike an unset field, it doesn't modify or clear the retention settings. */ retainUntilTime?: string | null; /** - * Required. The retention mode of the object. + * Required. The retention mode. */ retentionMode?: string | null; } @@ -577,7 +640,7 @@ export namespace storagebatchoperations_v1 { */ job?: Schema$Job; /** - * Output only. The unique operation resource name. Format: projects/{project\}/locations/global/operations/{operation\}. + * Output only. The unique operation resource name. Format: projects/{project_id\}/locations/global/operations/{operation\}. */ operation?: string | null; /** @@ -590,44 +653,77 @@ export namespace storagebatchoperations_v1 { */ export interface Schema$PrefixList { /** - * Optional. Include prefixes of the objects to be transformed. * Supports full object name * Supports prefix of the object name * Wildcards are not supported * Supports empty string for all objects in a bucket. + * Optional. Specify one or more object prefixes. For example: * To match one object, use a single prefix, `prefix1`. * To match multiple objects, use comma-separated prefixes, `prefix1, prefix2`. * To match all objects, use an empty prefix, `''` */ includedObjectPrefixes?: string[] | null; } + /** + * Describes the project source where the objects satisfying the filters will be transformed. + */ + export interface Schema$ProjectSource { + /** + * Optional. Filters expressed in Common Expression Language (CEL) to apply to buckets to identify buckets with objects to be transformed. + */ + bucketFilters?: Schema$Expr; + /** + * Optional. The unique identifier of a dry run job to use as the baseline for the current job. Specifying this ID ensures the job is executed against the same set of objects validated during the dry run. The value corresponds to the {job_id\} segment of the resource name: `projects/{project_id\}/locations/{location\}/jobs/{job_id\}`. + */ + dryRunJobId?: string | null; + /** + * Required. The resource identifier of the Storage Insights dataset configuration. Storage batch operations uses the latest snapshot from this dataset as the source to list and filter target objects. Format: `projects/{project_id\}/locations/{location\}/datasetConfigs/{dataset_config\}`. + */ + insightsDatasetConfig?: string | null; + /** + * Optional. Filters expressed in Common Expression Language (CEL) to apply to objects to identify objects to be transformed. + */ + objectFilters?: Schema$Expr; + /** + * Required. Project name of the objects to be transformed. e.g. projects/my-project or projects/123456. + */ + project?: string | null; + /** + * Output only. The snapshot time used by the job to read the Storage Insights dataset for bucket and object discovery. This field is populated by the service and reflects the exact timestamp of the dataset snapshot used. + */ + snapshotTime?: string | null; + /** + * Optional. Specifies the Cloud Storage locations to include in the job. If provided, only buckets and objects within these locations will be discovered from the Storage Insights dataset as configured in the `insights_dataset_config`. If omitted, the job will discover buckets and objects from all locations configured in the `insights_dataset_config`. + */ + targetLocations?: Schema$TargetLocations; + } /** * Describes options for object metadata update. */ export interface Schema$PutMetadata { /** - * Optional. Updates objects Cache-Control fixed metadata. Unset values will be ignored. Set empty values to clear the metadata. Additionally, the value for Custom-Time cannot decrease. Refer to documentation in https://cloud.google.com/storage/docs/metadata#caching_data. + * Optional. Updates the objects `Cache-Control` fixed metadata. Unset values in the request are ignored. To clear the metadata, set an empty value. Additionally, the value for `Custom-Time` can't decrease. For details, see [Cache-Control](https://cloud.google.com/storage/docs/metadata#caching_data). */ cacheControl?: string | null; /** - * Optional. Updates objects Content-Disposition fixed metadata. Unset values will be ignored. Set empty values to clear the metadata. Refer https://cloud.google.com/storage/docs/metadata#content-disposition for additional documentation. + * Optional. Updates objects `Content-Disposition` fixed metadata. Unset values in the request are ignored. To clear the metadata, set an empty value. For details, see [Content-Disposition](https://cloud.google.com/storage/docs/metadata#content-disposition). */ contentDisposition?: string | null; /** - * Optional. Updates objects Content-Encoding fixed metadata. Unset values will be ignored. Set empty values to clear the metadata. Refer to documentation in https://cloud.google.com/storage/docs/metadata#content-encoding. + * Optional. Updates the objects `Content-Encoding` fixed metadata. Unset values in the request are ignored. To clear the metadata, set an empty value. For details, see [Content-Encoding](https://cloud.google.com/storage/docs/metadata#content-encoding). */ contentEncoding?: string | null; /** - * Optional. Updates objects Content-Language fixed metadata. Refer to ISO 639-1 language codes for typical values of this metadata. Max length 100 characters. Unset values will be ignored. Set empty values to clear the metadata. Refer to documentation in https://cloud.google.com/storage/docs/metadata#content-language. + * Optional. Updates the objects `Content-Language` fixed metadata. Metadata values must use ISO 639-1 language codes. The maximum length for metadata values is 100 characters. Unset values in the request are ignored. To clear the metadata, set an empty value. For details, see [Content-Language](https://cloud.google.com/storage/docs/metadata#content-language). */ contentLanguage?: string | null; /** - * Optional. Updates objects Content-Type fixed metadata. Unset values will be ignored. Set empty values to clear the metadata. Refer to documentation in https://cloud.google.com/storage/docs/metadata#content-type + * Optional. Updates objects `Content-Type` fixed metadata. Unset values in the request are ignored. To clear the metadata, set an empty value. For details, see [Content-Type](https://cloud.google.com/storage/docs/metadata#content-type). */ contentType?: string | null; /** - * Optional. Updates objects custom metadata. Adds or sets individual custom metadata key value pairs on objects. Keys that are set with empty custom metadata values will have its value cleared. Existing custom metadata not specified with this flag is not changed. Refer to documentation in https://cloud.google.com/storage/docs/metadata#custom-metadata + * Optional. Updates the object's custom metadata. This operation adds or sets individual custom metadata key-value pairs. Keys specified with empty values have their values cleared. Existing custom metadata keys not included in the request remain unchanged. For details, see [Custom metadata](https://cloud.google.com/storage/docs/metadata#custom-metadata). */ customMetadata?: {[key: string]: string} | null; /** - * Optional. Updates objects Custom-Time fixed metadata. Unset values will be ignored. Set empty values to clear the metadata. Refer to documentation in https://cloud.google.com/storage/docs/metadata#custom-time. + * Optional. Updates the objects `Custom-Time` fixed metadata. Unset values in the request are ignored. To clear the metadata, set an empty value. The time must be specified in RFC 3339 format, for example `YYYY-MM-DD'T'HH:MM:SS'Z'` or `YYYY-MM-DD'T'HH:MM:SS.SS'Z'`. For details, see [Custom-Time](https://cloud.google.com/storage/docs/metadata#custom-time). */ customTime?: string | null; /** - * Optional. Updates objects retention lock configuration. Unset values will be ignored. Set empty values to clear the retention for the object with existing `Unlocked` retention mode. Object with existing `Locked` retention mode cannot be cleared or reduce retain_until_time. Refer to documentation in https://cloud.google.com/storage/docs/object-lock + * Optional. Updates an object's retention configuration. To clear an object's retention, both `retentionMode` and `retainUntilTime` must be left unset (omitted). Setting `retentionMode` to `RETENTION_MODE_UNSPECIFIED` is treated as a no-op. Unlike an unset field, it doesn't modify or clear the retention settings. An object with `LOCKED` retention mode can't have its retention cleared or its `retainUntilTime` reduced. For more information, see [Object retention](https://cloud.google.com/storage/docs/batch-operations/create-manage-batch-operation-jobs#retain-until-time). */ objectRetention?: Schema$ObjectRetention; } @@ -636,11 +732,11 @@ export namespace storagebatchoperations_v1 { */ export interface Schema$PutObjectHold { /** - * Required. Updates object event based holds state. When object event based hold is set, object cannot be deleted or replaced. Resets object's time in the bucket for the purposes of the retention period. + * Required. Updates object event based holds state. When object event based hold is set, object can't be deleted or replaced. Resets object's time in the bucket for the purposes of the retention period. */ eventBasedHold?: string | null; /** - * Required. Updates object temporary holds state. When object temporary hold is set, object cannot be deleted or replaced. + * Required. Updates object temporary holds state. When object temporary hold is set, object can't be deleted or replaced. */ temporaryHold?: string | null; } @@ -649,9 +745,22 @@ export namespace storagebatchoperations_v1 { */ export interface Schema$RewriteObject { /** - * Required. Resource name of the Cloud KMS key that will be used to encrypt the object. The Cloud KMS key must be located in same location as the object. Refer to https://cloud.google.com/storage/docs/encryption/using-customer-managed-keys#add-object-key for additional documentation. Format: projects/{project\}/locations/{location\}/keyRings/{keyring\}/cryptoKeys/{key\} For example: "projects/123456/locations/us-central1/keyRings/my-keyring/cryptoKeys/my-key". The object will be rewritten and set with the specified KMS key. + * Optional. Resource name of the Cloud KMS key that is used to encrypt the object. The Cloud KMS key must be located in same location as the object. For details, see https://cloud.google.com/storage/docs/encryption/using-customer-managed-keys#add-object-key Format: `projects/{project_id\}/locations/{location\}/keyRings/{keyring\}/cryptoKeys/{key\}` For example: `projects/123456/locations/us-central1/keyRings/my-keyring/cryptoKeys/my-key`. The object will be rewritten and set with the specified KMS key. */ kmsKey?: string | null; + /** + * Optional. Rewrites the object to the specified storage class. Setting this field will perform a full byte copy of the object if the storage class is different from the object's current storage class. If Autoclass is enabled on the bucket, storage class changes are ignored by Cloud Storage. + */ + storageClass?: string | null; + } + /** + * Describes options for setting object ACLs. + */ + export interface Schema$SetObjectAcls { + /** + * Required. Add, update, or remove grants from the object's existing ACLs. + */ + accessControlsUpdates?: Schema$AccessControlsUpdates; } /** * 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). @@ -670,12 +779,25 @@ export namespace storagebatchoperations_v1 { */ message?: string | null; } + /** + * Describes the Cloud Storage locations to include in a ProjectSource job. + */ + export interface Schema$TargetLocations { + /** + * Required. REQUIRED. A list of Cloud Storage locations (e.g., `us-central1`) to include in the job. If `snapshot_time` is omitted, the job automatically defaults to the most recent snapshot timestamp that is successfully populated in BOTH the `object_attributes_view` and `bucket_attributes_view` across ALL specified locations. For details on Storage Insights dataset snapshots and views, see: https://docs.cloud.google.com/storage/docs/insights/dataset-tables-and-schemas#schema + */ + locations?: string[] | null; + /** + * Optional. OPTIONAL. The exact Storage Insights snapshot timestamp to use for the job compatible with the RFC 3339 format (e.g., `2024-01-02T03:04:05Z`). If specified, this exact snapshot must exist in BOTH the `object_attributes_view` and `bucket_attributes_view` for every location listed in `locations`. If the snapshot is missing from either view in any of the locations, the job fails. + */ + snapshotTime?: string | null; + } /** * Describes options to update object custom contexts. */ export interface Schema$UpdateObjectCustomContext { /** - * If set, must be set to true and all existing object custom contexts will be deleted. + * If set, must be set to true and all existing object custom contexts are deleted. */ clearAll?: boolean | null; /** @@ -1063,7 +1185,7 @@ export namespace storagebatchoperations_v1 { * * // Do the magic * const res = await storagebatchoperations.projects.locations.jobs.cancel({ - * // Required. The `name` of the job to cancel. Format: projects/{project_id\}/locations/global/jobs/{job_id\}. + * // Required. The `name` of the job to cancel. Format: `projects/{project_id\}/locations/global/jobs/{job_id\}`. * name: 'projects/my-project/locations/my-location/jobs/my-job', * * // Request body metadata @@ -1204,11 +1326,11 @@ export namespace storagebatchoperations_v1 { * * // Do the magic * const res = await storagebatchoperations.projects.locations.jobs.create({ - * // Required. The optional `job_id` for this Job . If not specified, an id is generated. `job_id` should be no more than 128 characters and must include only characters available in DNS names, as defined by RFC-1123. + * // Required. A unique identifier for the job. `job_id` must be up to 128 characters and must include only characters available in DNS names, as defined by RFC-1123. * jobId: 'placeholder-value', - * // Required. Value for parent. + * // Required. The value for parent. * parent: 'projects/my-project/locations/my-location', - * // Optional. An optional request ID to identify requests. Specify a unique request ID in case you need to retry your request. Requests with same `request_id` will be ignored for at least 60 minutes since the first request. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * // Optional. An optional request ID to identify requests. Specify a unique request ID in case you need to retry your request. Requests with same `request_id` are ignored for at least 60 minutes since the first request. The request ID must be a valid UUID with the exception that zero UUID isn't supported (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', * * // Request body metadata @@ -1226,10 +1348,12 @@ export namespace storagebatchoperations_v1 { * // "isMultiBucketJob": false, * // "loggingConfig": {}, * // "name": "my_name", + * // "projectSource": {}, * // "putMetadata": {}, * // "putObjectHold": {}, * // "rewriteObject": {}, * // "scheduleTime": "my_scheduleTime", + * // "setObjectAcls": {}, * // "state": "my_state", * // "updateObjectCustomContext": {} * // } @@ -1371,11 +1495,11 @@ export namespace storagebatchoperations_v1 { * * // Do the magic * const res = await storagebatchoperations.projects.locations.jobs.delete({ - * // Optional. If set to true, any child bucket operations of the job will also be deleted. Highly recommended to be set to true by all clients. Users cannot mutate bucket operations directly, so only the jobs.delete permission is required to delete a job (and its child bucket operations). + * // Optional. If set to true, any child bucket operations of the job are deleted. We recommend setting this to `true`. You can't mutate bucket operations directly, so only the `jobs.delete` permission is required to delete a job (and its child bucket operations). * force: 'placeholder-value', - * // Required. The `name` of the job to delete. Format: projects/{project_id\}/locations/global/jobs/{job_id\} . + * // Required. The `name` of the job to delete. Format: `projects/{project_id\}/locations/global/jobs/{job_id\}`. * name: 'projects/my-project/locations/my-location/jobs/my-job', - * // Optional. An optional request ID to identify requests. Specify a unique request ID in case you need to retry your request. Requests with same `request_id` will be ignored for at least 60 minutes since the first request. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * // Optional. An optional request ID to identify requests. Specify a unique request ID in case you need to retry your request. Requests with same `request_id` are ignored for at least 60 minutes since the first request. The request ID must be a valid UUID with the exception that zero UUID isn't supported (00000000-0000-0000-0000-000000000000). * requestId: 'placeholder-value', * }); * console.log(res.data); @@ -1508,7 +1632,7 @@ export namespace storagebatchoperations_v1 { * * // Do the magic * const res = await storagebatchoperations.projects.locations.jobs.get({ - * // Required. `name` of the job to retrieve. Format: projects/{project_id\}/locations/global/jobs/{job_id\} . + * // Required. The `name` of the job to retrieve. Format: `projects/{project_id\}/locations/global/jobs/{job_id\}`. * name: 'projects/my-project/locations/my-location/jobs/my-job', * }); * console.log(res.data); @@ -1526,10 +1650,12 @@ export namespace storagebatchoperations_v1 { * // "isMultiBucketJob": false, * // "loggingConfig": {}, * // "name": "my_name", + * // "projectSource": {}, * // "putMetadata": {}, * // "putObjectHold": {}, * // "rewriteObject": {}, * // "scheduleTime": "my_scheduleTime", + * // "setObjectAcls": {}, * // "state": "my_state", * // "updateObjectCustomContext": {} * // } @@ -1661,9 +1787,9 @@ export namespace storagebatchoperations_v1 { * const res = await storagebatchoperations.projects.locations.jobs.list({ * // Optional. Filters results as defined by https://google.aip.dev/160. * filter: 'placeholder-value', - * // Optional. Field to sort by. Supported fields are name, create_time. + * // Optional. Field to sort by. Supported fields are `name` and `create_time`. * orderBy: 'placeholder-value', - * // Optional. The list page size. default page size is 100. + * // Optional. The list page size. The default page size is 100. * pageSize: 'placeholder-value', * // Optional. The list page token. * pageToken: 'placeholder-value', @@ -1776,7 +1902,7 @@ export namespace storagebatchoperations_v1 { export interface Params$Resource$Projects$Locations$Jobs$Cancel extends StandardParameters { /** - * Required. The `name` of the job to cancel. Format: projects/{project_id\}/locations/global/jobs/{job_id\}. + * Required. The `name` of the job to cancel. Format: `projects/{project_id\}/locations/global/jobs/{job_id\}`. */ name?: string; @@ -1787,15 +1913,15 @@ export namespace storagebatchoperations_v1 { } export interface Params$Resource$Projects$Locations$Jobs$Create extends StandardParameters { /** - * Required. The optional `job_id` for this Job . If not specified, an id is generated. `job_id` should be no more than 128 characters and must include only characters available in DNS names, as defined by RFC-1123. + * Required. A unique identifier for the job. `job_id` must be up to 128 characters and must include only characters available in DNS names, as defined by RFC-1123. */ jobId?: string; /** - * Required. Value for parent. + * Required. The value for parent. */ parent?: string; /** - * Optional. An optional request ID to identify requests. Specify a unique request ID in case you need to retry your request. Requests with same `request_id` will be ignored for at least 60 minutes since the first request. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * Optional. An optional request ID to identify requests. Specify a unique request ID in case you need to retry your request. Requests with same `request_id` are ignored for at least 60 minutes since the first request. The request ID must be a valid UUID with the exception that zero UUID isn't supported (00000000-0000-0000-0000-000000000000). */ requestId?: string; @@ -1806,21 +1932,21 @@ export namespace storagebatchoperations_v1 { } export interface Params$Resource$Projects$Locations$Jobs$Delete extends StandardParameters { /** - * Optional. If set to true, any child bucket operations of the job will also be deleted. Highly recommended to be set to true by all clients. Users cannot mutate bucket operations directly, so only the jobs.delete permission is required to delete a job (and its child bucket operations). + * Optional. If set to true, any child bucket operations of the job are deleted. We recommend setting this to `true`. You can't mutate bucket operations directly, so only the `jobs.delete` permission is required to delete a job (and its child bucket operations). */ force?: boolean; /** - * Required. The `name` of the job to delete. Format: projects/{project_id\}/locations/global/jobs/{job_id\} . + * Required. The `name` of the job to delete. Format: `projects/{project_id\}/locations/global/jobs/{job_id\}`. */ name?: string; /** - * Optional. An optional request ID to identify requests. Specify a unique request ID in case you need to retry your request. Requests with same `request_id` will be ignored for at least 60 minutes since the first request. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * Optional. An optional request ID to identify requests. Specify a unique request ID in case you need to retry your request. Requests with same `request_id` are ignored for at least 60 minutes since the first request. The request ID must be a valid UUID with the exception that zero UUID isn't supported (00000000-0000-0000-0000-000000000000). */ requestId?: string; } export interface Params$Resource$Projects$Locations$Jobs$Get extends StandardParameters { /** - * Required. `name` of the job to retrieve. Format: projects/{project_id\}/locations/global/jobs/{job_id\} . + * Required. The `name` of the job to retrieve. Format: `projects/{project_id\}/locations/global/jobs/{job_id\}`. */ name?: string; } @@ -1830,11 +1956,11 @@ export namespace storagebatchoperations_v1 { */ filter?: string; /** - * Optional. Field to sort by. Supported fields are name, create_time. + * Optional. Field to sort by. Supported fields are `name` and `create_time`. */ orderBy?: string; /** - * Optional. The list page size. default page size is 100. + * Optional. The list page size. The default page size is 100. */ pageSize?: number; /** @@ -1885,7 +2011,7 @@ export namespace storagebatchoperations_v1 { * // Do the magic * const res = * await storagebatchoperations.projects.locations.jobs.bucketOperations.get({ - * // Required. `name` of the bucket operation to retrieve. Format: projects/{project_id\}/locations/global/jobs/{job_id\}/bucketOperations/{bucket_operation_id\}. + * // Required. The `name` of the bucket operation to retrieve. Format: `projects/{project_id\}/locations/global/jobs/{job_id\}/bucketOperations/{bucket_operation_id\}`. * name: 'projects/my-project/locations/my-location/jobs/my-job/bucketOperations/my-bucketOperation', * }); * console.log(res.data); @@ -1901,9 +2027,11 @@ export namespace storagebatchoperations_v1 { * // "manifest": {}, * // "name": "my_name", * // "prefixList": {}, + * // "projectSource": {}, * // "putMetadata": {}, * // "putObjectHold": {}, * // "rewriteObject": {}, + * // "setObjectAcls": {}, * // "startTime": "my_startTime", * // "state": "my_state", * // "updateObjectCustomContext": {} @@ -2038,13 +2166,13 @@ export namespace storagebatchoperations_v1 { * await storagebatchoperations.projects.locations.jobs.bucketOperations.list({ * // Optional. Filters results as defined by https://google.aip.dev/160. * filter: 'placeholder-value', - * // Optional. Field to sort by. Supported fields are name, create_time. + * // Optional. Field to sort by. Supported fields are `name` and `create_time`. * orderBy: 'placeholder-value', * // Optional. The list page size. Default page size is 100. * pageSize: 'placeholder-value', * // Optional. The list page token. * pageToken: 'placeholder-value', - * // Required. Format: projects/{project_id\}/locations/global/jobs/{job_id\}. + * // Required. Format: `projects/{project_id\}/locations/global/jobs/{job_id\}`. * parent: 'projects/my-project/locations/my-location/jobs/my-job', * }); * console.log(res.data); @@ -2163,7 +2291,7 @@ export namespace storagebatchoperations_v1 { export interface Params$Resource$Projects$Locations$Jobs$Bucketoperations$Get extends StandardParameters { /** - * Required. `name` of the bucket operation to retrieve. Format: projects/{project_id\}/locations/global/jobs/{job_id\}/bucketOperations/{bucket_operation_id\}. + * Required. The `name` of the bucket operation to retrieve. Format: `projects/{project_id\}/locations/global/jobs/{job_id\}/bucketOperations/{bucket_operation_id\}`. */ name?: string; } @@ -2173,7 +2301,7 @@ export namespace storagebatchoperations_v1 { */ filter?: string; /** - * Optional. Field to sort by. Supported fields are name, create_time. + * Optional. Field to sort by. Supported fields are `name` and `create_time`. */ orderBy?: string; /** @@ -2185,7 +2313,7 @@ export namespace storagebatchoperations_v1 { */ pageToken?: string; /** - * Required. Format: projects/{project_id\}/locations/global/jobs/{job_id\}. + * Required. Format: `projects/{project_id\}/locations/global/jobs/{job_id\}`. */ parent?: string; } diff --git a/src/apis/threatintelligence/v1beta.ts b/src/apis/threatintelligence/v1beta.ts index f082d575141..6237e80ede3 100644 --- a/src/apis/threatintelligence/v1beta.ts +++ b/src/apis/threatintelligence/v1beta.ts @@ -325,6 +325,10 @@ export namespace threatintelligence_v1beta { * Output only. Human readable name for the configuration. */ displayName?: string | null; + /** + * If included when updating a configuration, this should be set to the current etag of the configuration. If the etags do not match, the update will be rejected and an ABORTED error will be returned. + */ + etag?: string | null; /** * Identifier. Server generated name for the configuration. format is projects/{project\}/configurations/{configuration\} */ @@ -3526,6 +3530,7 @@ export namespace threatintelligence_v1beta { * // "description": "my_description", * // "detail": {}, * // "displayName": "my_displayName", + * // "etag": "my_etag", * // "name": "my_name", * // "provider": "my_provider", * // "state": "my_state", @@ -3821,6 +3826,7 @@ export namespace threatintelligence_v1beta { * // "description": "my_description", * // "detail": {}, * // "displayName": "my_displayName", + * // "etag": "my_etag", * // "name": "my_name", * // "provider": "my_provider", * // "state": "my_state", diff --git a/src/apis/toolresults/v1beta3.ts b/src/apis/toolresults/v1beta3.ts index 28a92956ec6..3d1fd72e0a2 100644 --- a/src/apis/toolresults/v1beta3.ts +++ b/src/apis/toolresults/v1beta3.ts @@ -731,6 +731,10 @@ export namespace toolresults_v1beta3 { * Failed to find the launcher activity of an app. */ export interface Schema$LauncherActivityNotFound {} + /** + * Licensing protection termination (Pairip) was detected. + */ + export interface Schema$LicensingProtectionTermination {} /** * Response message for EnvironmentService.ListEnvironments. */ diff --git a/src/apis/travelimpactmodel/v1.ts b/src/apis/travelimpactmodel/v1.ts index a15ddb45113..3bff07d183b 100644 --- a/src/apis/travelimpactmodel/v1.ts +++ b/src/apis/travelimpactmodel/v1.ts @@ -416,7 +416,7 @@ export namespace travelimpactmodel_v1 { } /** - * Stateless method to retrieve emission estimates. Details on how emission estimates are computed are in [GitHub](https://github.com/google/travel-impact-model). The response will contain all entries that match the input flight legs, in the same order. If there are no estimates available for a certain flight leg, the response will return the flight leg object with empty emission fields. The request will still be considered successful. Reasons for missing emission estimates include: * The flight is unknown to the server. * The input flight leg is missing one or more identifiers. * The flight date is in the past. * The aircraft type is not supported by the model. * Missing seat configuration. The request can contain up to 1000 flight legs. If the request has more than 1000 direct flights, if will fail with an INVALID_ARGUMENT error. + * Retrieves emission estimates. Details on how emission estimates are computed are in [GitHub](https://github.com/google/travel-impact-model). The response will contain all entries that match the input flight legs, in the same order. If there are no estimates available for a certain flight leg, the response will return the flight leg object with empty emission fields. The request will still be considered successful. Reasons for missing emission estimates include: * The flight is unknown to the server. * The input flight leg is missing one or more identifiers. * The flight date is in the past. * The aircraft type is not supported by the model. * Missing seat configuration. The request can contain up to 1000 flight legs. If the request has more than 1000 direct flights, if will fail with an INVALID_ARGUMENT error. * @example * ```js * // Before running the sample: @@ -566,7 +566,7 @@ export namespace travelimpactmodel_v1 { } /** - * Stateless method to retrieve GHG emissions estimates for a set of flight segments for Scope 3 reporting. The response will contain all entries that match the input Scope3FlightSegment flight segments, in the same order provided. The estimates will be computed using the following cascading logic (using the first one that is available): 1. TIM-based emissions given origin, destination, carrier, flightNumber, departureDate, and cabinClass. 2. Typical flight emissions given origin, destination, year in departureDate, and cabinClass. 3. Distance-based emissions calculated using distanceKm, year in departureDate, and cabinClass. If there is a future flight requested in this calendar year, we do not support Tier 1 emissions and will fallback to Tier 2 or 3 emissions. If the requested future flight is in not in this calendar year, we will return an empty response. We recommend that for future flights, computeFlightEmissions API is used instead. If there are no estimates available for a certain flight with any of the three methods, the response will return a Scope3FlightEmissions object with empty emission fields. The request will still be considered successful. Generally, missing emissions estimates occur when the flight is unknown to the server (e.g. no specific flight exists, or typical flight emissions are not available for the requested pair). The request will fail with an `INVALID_ARGUMENT` error if: * The request contains more than 1,000 flight legs. * The input flight leg is missing one or more identifiers. For example, missing origin/destination without a valid distance for TIM_EMISSIONS or TYPICAL_FLIGHT_EMISSIONS type matching, or missing distance for a DISTANCE_BASED_EMISSIONS type matching (if you want to fallback to distance-based emissions or want a distance-based emissions estimate, you need to specify a distance). * The flight date is before 2019 (Scope 3 data is only available for 2019 and after). * The flight distance is 0 or lower. * Missing cabin class. Because the request is processed with fallback logic, it is possible that misconfigured requests return valid emissions estimates using fallback methods. For example, if a request has the wrong flight number but specifies the origin and destination, the request will still succeed, but the returned emissions will be based solely on the typical flight emissions. Similarly, if a request is missing the origin for a typical flight emissions request, but specifies a valid distance, the request could succeed based solely on the distance-based emissions. Consequently, one should check the source of the returned emissions (source) to confirm the results are as expected. + * Retrieves GHG emissions estimates for a set of flight segments for Scope 3 reporting. The response will contain all entries that match the input Scope3FlightSegment flight segments, in the same order provided. The estimates will be computed using the following cascading logic (using the first one that is available): 1. TIM-based emissions given origin, destination, carrier, flightNumber, departureDate, and cabinClass. 2. Typical flight emissions given origin, destination, year in departureDate, and cabinClass. 3. Distance-based emissions calculated using distanceKm, year in departureDate, and cabinClass. If there is a future flight requested in this calendar year, we do not support Tier 1 emissions and will fallback to Tier 2 or 3 emissions. If the requested future flight is in not in this calendar year, we will return an empty response. We recommend that for future flights, computeFlightEmissions API is used instead. If there are no estimates available for a certain flight with any of the three methods, the response will return a Scope3FlightEmissions object with empty emission fields. The request will still be considered successful. Generally, missing emissions estimates occur when the flight is unknown to the server (e.g. no specific flight exists, or typical flight emissions are not available for the requested pair). The request will fail with an `INVALID_ARGUMENT` error if: * The request contains more than 1,000 flight legs. * The input flight leg is missing one or more identifiers. For example, missing origin/destination without a valid distance for TIM_EMISSIONS or TYPICAL_FLIGHT_EMISSIONS type matching, or missing distance for a DISTANCE_BASED_EMISSIONS type matching (if you want to fallback to distance-based emissions or want a distance-based emissions estimate, you need to specify a distance). * The flight date is before 2019 (Scope 3 data is only available for 2019 and after). * The flight distance is 0 or lower. * Missing cabin class. Because the request is processed with fallback logic, it is possible that misconfigured requests return valid emissions estimates using fallback methods. For example, if a request has the wrong flight number but specifies the origin and destination, the request will still succeed, but the returned emissions will be based solely on the typical flight emissions. Similarly, if a request is missing the origin for a typical flight emissions request, but specifies a valid distance, the request could succeed based solely on the distance-based emissions. Consequently, one should check the source of the returned emissions (source) to confirm the results are as expected. * @example * ```js * // Before running the sample: diff --git a/src/apis/workstations/v1beta.ts b/src/apis/workstations/v1beta.ts index 8aaa3d6eb4c..73afc2d2252 100644 --- a/src/apis/workstations/v1beta.ts +++ b/src/apis/workstations/v1beta.ts @@ -1269,27 +1269,10 @@ export namespace workstations_v1beta { */ updateTime?: string | null; } - /** - * A Persistent Directory backed by a Compute Engine regional persistent disk within the workstation. - */ - export interface Schema$WorkstationGceRegionalPersistentDisk { - /** - * The name of the persistent directory. - */ - name?: string | null; - /** - * Required. The desired size of the persistent directory in GB. - */ - sizeGb?: number | null; - } /** * A directory to persist across workstation sessions. Updates to this field will only take effect on this workstation after it is restarted. */ export interface Schema$WorkstationPersistentDirectory { - /** - * A PersistentDirectory backed by a Compute Engine persistent disk. - */ - gcePd?: Schema$WorkstationGceRegionalPersistentDisk; /** * Optional. The mount path of the persistent directory. */ diff --git a/src/apis/youtube/v3.ts b/src/apis/youtube/v3.ts index 0b0d43206ad..d337608e3fb 100644 --- a/src/apis/youtube/v3.ts +++ b/src/apis/youtube/v3.ts @@ -19249,173 +19249,6 @@ export namespace youtube_v3 { this.context = context; this.liveChat = new Resource$Youtube$V3$Livechat(this.context); } - - /** - * Updates an existing resource. - * @example - * ```js - * // Before running the sample: - * // - Enable the API at: - * // https://console.developers.google.com/apis/api/youtube.googleapis.com - * // - Login into gcloud by running: - * // ```sh - * // $ gcloud auth application-default login - * // ``` - * // - Install the npm module by running: - * // ```sh - * // $ npm install googleapis - * // ``` - * - * const {google} = require('googleapis'); - * const youtube = google.youtube('v3'); - * - * async function main() { - * const auth = new google.auth.GoogleAuth({ - * // Scopes can be specified either as an array or as a single, space-delimited string. - * scopes: [], - * }); - * - * // Acquire an auth client, and bind it to all future calls - * const authClient = await auth.getClient(); - * google.options({auth: authClient}); - * - * // Do the magic - * const res = await youtube.youtube.v3.updateCommentThreads({ - * // The *part* parameter specifies a comma-separated list of commentThread resource properties that the API response will include. You must at least include the snippet part in the parameter value since that part contains all of the properties that the API request can update. - * part: 'placeholder-value', - * - * // Request body metadata - * requestBody: { - * // request body parameters - * // { - * // "etag": "my_etag", - * // "id": "my_id", - * // "kind": "my_kind", - * // "replies": {}, - * // "snippet": {} - * // } - * }, - * }); - * console.log(res.data); - * - * // Example response - * // { - * // "etag": "my_etag", - * // "id": "my_id", - * // "kind": "my_kind", - * // "replies": {}, - * // "snippet": {} - * // } - * } - * - * main().catch(e => { - * console.error(e); - * throw e; - * }); - * - * ``` - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - updateCommentThreads( - params: Params$Resource$Youtube$V3$Updatecommentthreads, - options: StreamMethodOptions - ): Promise>; - updateCommentThreads( - params?: Params$Resource$Youtube$V3$Updatecommentthreads, - options?: MethodOptions - ): Promise>; - updateCommentThreads( - params: Params$Resource$Youtube$V3$Updatecommentthreads, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - updateCommentThreads( - params: Params$Resource$Youtube$V3$Updatecommentthreads, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - updateCommentThreads( - params: Params$Resource$Youtube$V3$Updatecommentthreads, - callback: BodyResponseCallback - ): void; - updateCommentThreads( - callback: BodyResponseCallback - ): void; - updateCommentThreads( - paramsOrCallback?: - | Params$Resource$Youtube$V3$Updatecommentthreads - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | Promise> - | Promise> { - let params = (paramsOrCallback || - {}) as Params$Resource$Youtube$V3$Updatecommentthreads; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Youtube$V3$Updatecommentthreads; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://youtube.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/youtube/v3/commentThreads').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'PUT', - apiVersion: '', - }, - options - ), - params, - requiredParams: [], - pathParams: [], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Youtube$V3$Updatecommentthreads extends StandardParameters { - /** - * The *part* parameter specifies a comma-separated list of commentThread resource properties that the API response will include. You must at least include the snippet part in the parameter value since that part contains all of the properties that the API request can update. - */ - part?: string[]; - - /** - * Request body metadata - */ - requestBody?: Schema$CommentThread; } export class Resource$Youtube$V3$Livechat { diff --git a/src/index.ts b/src/index.ts index d87dcd0d818..d8d80a0bcf4 100644 --- a/src/index.ts +++ b/src/index.ts @@ -50,7 +50,6 @@ export {alertcenter_v1beta1} from './apis/alertcenter/v1beta1'; export {alloydb_v1} from './apis/alloydb/v1'; export {alloydb_v1alpha} from './apis/alloydb/v1alpha'; export {alloydb_v1beta} from './apis/alloydb/v1beta'; -export {analytics_v3} from './apis/analytics/v3'; export {analyticsadmin_v1alpha} from './apis/analyticsadmin/v1alpha'; export {analyticsadmin_v1beta} from './apis/analyticsadmin/v1beta'; export {analyticsdata_v1alpha} from './apis/analyticsdata/v1alpha'; @@ -506,6 +505,7 @@ export {safebrowsing_v5} from './apis/safebrowsing/v5'; export {sasportal_v1alpha1} from './apis/sasportal/v1alpha1'; export {script_v1} from './apis/script/v1'; export {searchads360_v0} from './apis/searchads360/v0'; +export {searchads360_v23} from './apis/searchads360/v23'; export {searchconsole_v1} from './apis/searchconsole/v1'; export {secretmanager_v1} from './apis/secretmanager/v1'; export {secretmanager_v1beta1} from './apis/secretmanager/v1beta1';